@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;700;800&family=Noto+Sans+JP:wght@400;500;700;800&display=swap');
:root{--navy:#123d59;--blue:#24516a;--sand:#decaa3;--paper:#f6f5ef;--mist:#e5ecef;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:102px}body{margin:0;background:var(--paper);color:var(--navy);font:400 15px/1.9 'Noto Sans JP',Meiryo,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:700;line-height:1.55}h2{font-size:clamp(28px,3vw,42px);letter-spacing:.025em}h3{font-size:23px}em{font-style:normal}img{display:block;width:100%;height:100%;object-fit:cover}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #3198bc;outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(1280px,calc(100% - 128px));margin:auto}.section-space{padding-top:110px;padding-bottom:110px}.eyebrow{font:700 11px/1.5 Inter,sans-serif;letter-spacing:.17em;margin-bottom:22px}.breadcrumb{font-size:11px;display:flex;gap:13px;opacity:.8;margin-bottom:32px}.breadcrumb a:hover{text-decoration:underline}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border-radius:40px;padding:18px 29px;font-weight:700;font-size:14px;border:1px solid transparent;transition:background .25s,translate .25s;min-height:62px}.pill span{font-size:20px}.pill:hover{translate:0 -3px}.pill.dark{background:var(--navy);color:white}.pill.dark:hover{background:#245b79}.pill.light{background:var(--paper);color:var(--navy)}.text-link{display:inline-block;font-weight:700;border-bottom:1px solid;padding-bottom:7px;margin-top:30px}.underline{background:linear-gradient(transparent 80%,var(--sand) 80%,var(--sand) 94%,transparent 94%)}
.company-header{position:sticky;top:0;z-index:50;height:82px;padding:0 4.45%;display:flex;align-items:center;justify-content:space-between;background:#f6f5eff5;box-shadow:0 3px 20px #0c304911;backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:18px;white-space:nowrap;line-height:1.4}.windmark{width:85px;height:40px}.brand strong{font-size:19px;letter-spacing:.13em}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:.19em;margin-top:4px}.nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:700}.nav .contact{padding:15px 24px;border:1px solid currentColor;border-radius:30px}.nav a:hover{text-decoration:underline;text-underline-offset:5px}.site-footer{background:var(--sand);padding:65px 0 28px;position:relative}.section-inner{width:min(1280px,calc(100% - 128px));margin:auto}.footer-top{display:flex;justify-content:space-between;gap:50px;align-items:flex-start}.site-footer .brand{margin-bottom:20px}.footer-tagline{font-size:13px;line-height:2}.footer-links{display:grid;grid-template-columns:repeat(2,auto);gap:17px 48px;font-size:13px}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:54px;padding-top:22px;border-top:1px solid #123d5940;font-size:10px}.back-top{display:flex;align-items:center;gap:18px;letter-spacing:.1em;font-family:Inter,sans-serif}.back-top span{display:grid;place-items:center;border:1px solid;border-radius:50%;width:40px;height:40px;font-size:18px}.motion-control{position:fixed;right:16px;bottom:14px;z-index:55;border:1px solid #d7e4ea;border-radius:24px;background:#fffffff2;color:var(--navy);padding:9px 14px;font-size:11px;box-shadow:0 4px 20px #123d5912}.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:white;padding:10px}.skip-link:focus{top:12px}
.cm-hero{position:relative;min-height:770px;display:flex;flex-direction:column;overflow:hidden;background:var(--sand)}.hero-photo{position:absolute;inset:0 0 74px 40%;overflow:hidden;border-bottom-left-radius:170px;background:#698c93}.hero-photo img{object-position:50% 50%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#123d5925,transparent 45%)}.hero-photo>span{position:absolute;right:28px;bottom:24px;z-index:1;font:700 10px Inter,sans-serif;letter-spacing:.17em;color:white}.cm-hero-copy{position:relative;z-index:2;padding:36px 0 90px;margin-left:max(64px,calc((100vw - 1280px)/2));width:43%}.cm-hero h1{font-size:clamp(48px,5vw,76px);letter-spacing:-.035em;line-height:1.35;margin:20px 0 24px}.cm-hero h1 em{color:var(--paper);background:var(--navy);padding:0 .13em .07em;box-decoration-break:clone}.hero-lead{font-size:16px;line-height:2;margin-bottom:30px}.hero-bottom{margin-top:auto;position:relative;display:flex;justify-content:space-between;align-items:center;padding:23px 4.45%;background:var(--paper);font-size:13px;font-weight:700}.hero-bottom a{font:700 10px Inter,sans-serif;letter-spacing:.12em}.hero-bottom a span{margin-left:22px;font-size:18px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:80px}.reading{font-size:16px;line-height:2.2}.reading p+p{margin-top:25px}.reading .large{font-size:23px;font-weight:700;line-height:1.9}.concepts{background:var(--navy);color:var(--paper);position:relative;overflow:hidden}.concepts .eyebrow{color:var(--sand)}.curve-line{position:absolute;width:1400px;height:560px;border:1px solid var(--sand);border-radius:50%;right:-750px;top:-320px;rotate:-20deg;opacity:.55;pointer-events:none}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:55px;margin-bottom:58px}.section-heading>p{color:#c7d9e2;font-size:15px;line-height:2}.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.concept-art{height:280px;margin-bottom:28px;position:relative;overflow:hidden;border-radius:10px 10px 64px 10px}.concept-grid h3{font-size:21px;margin:10px 0 16px}.concept-grid article>p{font-size:14px;line-height:2;color:#d4e2e8}.small-index{font:700 10px Inter,sans-serif;letter-spacing:.13em;color:var(--sand)}.story-art{background:#e4ecec;display:flex;align-items:center;justify-content:center;color:var(--navy)}.story-frame{border:2px solid var(--navy);padding:27px 26px;rotate:-6deg;font-size:25px;line-height:1.6;font-weight:700;box-shadow:10px 10px 0 #c2d4db;background:#f6f5ef}.story-art i{position:absolute;bottom:22px;right:22px;background:var(--sand);font-style:normal;font-size:12px;padding:4px 12px}.idea-art{background:var(--sand);display:flex;align-items:center;justify-content:center;gap:15px;color:var(--navy)}.idea-art>span{display:grid;place-items:center;font:800 115px Inter,sans-serif;width:130px;height:170px;background:var(--paper);border-radius:70px;rotate:14deg;box-shadow:7px 7px 0 #123d59}.idea-art i{font-size:18px;line-height:1.8;font-style:normal;font-weight:700;rotate:-5deg}.scene-art img{object-position:60% center}.caption{font-size:11px;color:#c2d3da;margin-top:24px}.production{background:#e5ecef;position:relative}.production-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.production-photo{height:550px;position:relative}.production-photo img{border-radius:120px 10px 90px 10px;object-position:48% center}.production-photo span{position:absolute;bottom:22px;left:36px;background:var(--navy);color:white;padding:10px 15px;font:700 10px Inter,sans-serif;letter-spacing:.14em}.production-copy>p:not(.eyebrow){margin-top:28px;line-height:2}.production-copy dl{margin:35px 0 0}.production-copy dl>div{border-top:1px solid #123d5930;padding:18px 0;display:grid;grid-template-columns:125px 1fr;gap:15px;font-size:13px}.production-copy dt{font-weight:700}.production-copy dd{margin:0}.flow{background:var(--paper)}.flow-grid{display:grid;grid-template-columns:.85fr 1.4fr;gap:100px}.flow-title>p:not(.eyebrow){margin-top:25px}.flow-list{margin:0;padding:0;list-style:none}.flow-list li{display:flex;gap:28px;padding:28px 0;border-top:1px solid #123d5930}.flow-list li:last-child{border-bottom:1px solid #123d5930}.flow-list li>span{width:48px;height:48px;border-radius:50%;background:var(--navy);color:white;display:grid;place-items:center;font:700 16px Inter,sans-serif;flex-shrink:0}.flow-list h3{font-size:21px;margin-bottom:10px}.flow-list p{font-size:14px;color:#526f80}.cm-faq{display:grid;grid-template-columns:.85fr 1.4fr;gap:100px;border-top:1px solid #123d5920}.faq-list details{border-bottom:1px solid #123d5930;padding:22px 0}.faq-list details:first-child{border-top:1px solid #123d5930}.faq-list summary{cursor:pointer;font-weight:700;list-style:none;display:flex;gap:24px;justify-content:space-between}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'＋'}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding:20px 24px 0 0;font-size:14px;color:#526f80}.page-cta{background:var(--navy);color:var(--paper);position:relative;overflow:hidden;padding:80px 0}.page-cta:after{content:'';position:absolute;pointer-events:none;width:800px;height:400px;border:1px solid var(--sand);border-radius:50%;right:-300px;top:-160px;rotate:20deg}.page-cta .wrap{position:relative;z-index:1}.page-cta .eyebrow{color:var(--sand)}.page-cta h2{font-size:35px}.page-cta .pill{margin-top:32px}
.contact-intro{padding-top:36px;padding-bottom:75px;position:relative;overflow:hidden}.contact-title{display:flex;justify-content:space-between;gap:70px;align-items:flex-end}.contact-title .eyebrow{font-size:13px;letter-spacing:.23em}.contact-title h1{font-size:clamp(45px,4.8vw,68px);letter-spacing:.02em}.contact-title>p{margin-bottom:15px;line-height:2.1;font-size:16px}.intro-line{position:absolute;width:600px;height:280px;border:1px solid #b6cbd4;border-radius:50%;right:-140px;top:-240px;rotate:20deg}.contact-body{background:#e5ecef;padding:75px 0 110px}.contact-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:85px;align-items:start}.contact-guide{position:sticky;top:125px}.contact-guide h2{font-size:29px;margin-bottom:27px}.contact-guide>p:not(.eyebrow){font-size:14px;line-height:2.1}.guide-note{margin-top:40px;border-left:3px solid #c4aa79;padding:0 0 0 20px}.guide-note>span{font-weight:700;font-size:14px}.guide-note p{font-size:13px;line-height:2;margin-top:8px}.form-surface{padding:48px;background:white;border-radius:10px 10px 55px 10px;box-shadow:0 10px 35px #123d5908}.form-preview{font-size:12px;color:#526f80;border-bottom:1px solid #d7e4ea;padding-bottom:22px;margin-bottom:30px}.field{margin:0 0 25px}.field>label,.topic-field legend{display:flex;align-items:center;gap:12px;font-weight:700;font-size:14px;margin-bottom:12px}.required,.optional{font-size:10px;padding:1px 7px;border-radius:3px;letter-spacing:.05em}.required{background:var(--navy);color:white}.optional{background:#edf2f4;color:#526f80}.field input,.field textarea{display:block;width:100%;border:1px solid #ccdce3;border-radius:5px;background:#fafbfc;color:var(--navy);padding:13px 15px;font-size:15px;line-height:1.6}.field textarea{resize:vertical;min-height:150px}.field input::placeholder,.field textarea::placeholder{color:#798c97;font-size:13px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.topic-field{padding:0;border:0;margin:0 0 30px;min-width:0}.topic-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.topic-options label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #ccdce3;border-radius:5px;cursor:pointer;font-size:13px;line-height:1.5;transition:background .2s}.topic-options label:has(input:checked){border-color:var(--blue);background:#edf4f7;font-weight:700}.topic-options input{accent-color:var(--navy);width:16px;height:16px;flex-shrink:0;margin:0}.submit{width:100%;margin-top:7px}.official-contact{border-top:1px solid #d7e4ea;margin-top:32px;padding-top:24px;font-size:12px}.official-contact a{font-size:13px;text-decoration:underline;text-underline-offset:5px;display:inline-block;margin-top:7px}#review-values{margin:30px 0}#review-values>div{padding:16px 0;border-bottom:1px solid #d7e4ea}#review-values dt{font-size:12px;font-weight:700;color:#526f80;margin-bottom:7px}#review-values dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-notice{background:#f6f5ef;padding:16px;font-size:13px;margin-bottom:24px}
body.motion-ready [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .85s var(--ease),transform 1s var(--ease)}body.motion-ready [data-reveal].seen{opacity:1;transform:none}body.motion-paused [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}body.motion-paused{scroll-behavior:auto}
@media(max-width:1050px){.wrap,.section-inner{width:calc(100% - 72px)}.nav{gap:18px;font-size:12px}.brand{gap:10px}.brand strong{font-size:16px}.windmark{width:65px}.cm-hero-copy{margin-left:36px}.cm-hero h1{font-size:59px}.hero-photo{left:37%}.production-grid,.flow-grid,.cm-faq{gap:45px}.contact-grid{grid-template-columns:240px minmax(0,1fr);gap:35px}.form-surface{padding:30px}.concept-grid{gap:20px}.concept-art{height:240px}.idea-art>span{width:96px;height:135px;font-size:88px}.idea-art i{font-size:14px}.story-frame{font-size:20px}}
@media(max-width:760px){html{scroll-padding-top:82px}.wrap,.section-inner{width:calc(100% - 40px)}.section-space{padding-top:65px;padding-bottom:65px}.company-header{height:70px;padding:0 20px}.brand{gap:8px}.windmark{width:52px;height:32px}.brand strong{font-size:13px}.brand small{font-size:6px}.nav a:not(.contact){display:none}.nav .contact{padding:9px 12px;font-size:11px}.cm-hero{min-height:0}.cm-hero-copy{padding:24px 0 45px;width:calc(100% - 40px);margin-left:20px}.cm-hero h1{font-size:48px;line-height:1.38;margin-top:15px}.cm-hero .eyebrow{font-size:10px}.hero-lead{font-size:14px}.hero-photo{position:relative;inset:auto;width:94%;height:320px;margin-left:6%;order:2;border-bottom-left-radius:90px}.cm-hero-copy{order:1}.hero-bottom{order:3;padding:21px 20px}.hero-bottom>span{font-size:11px}.hero-bottom a{font-size:8px}.breadcrumb{font-size:10px;margin-bottom:25px}.pill{padding:15px 22px;min-height:57px;font-size:13px;gap:24px}.approach,.production-grid,.flow-grid,.cm-faq{grid-template-columns:1fr;gap:35px}.reading{font-size:14px}.reading .large{font-size:20px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{font-size:13px;margin-top:23px}.concept-grid{grid-template-columns:1fr;gap:42px}.concept-art{height:290px}.concept-grid h3{font-size:22px}.concept-grid article>p{font-size:14px}.story-frame{font-size:26px}.idea-art>span{width:130px;height:170px;font-size:115px}.idea-art i{font-size:19px}.production-photo{height:370px}.production-photo img{border-radius:80px 8px 65px 8px}.production-copy>p:not(.eyebrow){font-size:14px}.production-copy dl>div{grid-template-columns:100px 1fr;gap:12px;font-size:12px}.flow-list li{gap:19px;padding:24px 0}.flow-list h3{font-size:19px}.flow-list p{font-size:13px}.flow-list li>span{width:40px;height:40px;font-size:13px}.faq-list summary{font-size:14px}.page-cta{padding:60px 0}.page-cta h2{font-size:25px}.page-cta .pill{width:100%;font-size:12px;gap:12px}.footer-top{display:block}.footer-links{margin-top:30px;gap:15px 20px;font-size:12px}.footer-bottom{margin-top:35px;font-size:9px}.footer-tagline{font-size:12px}.site-footer{padding:45px 0 60px}.contact-intro{padding-top:25px;padding-bottom:45px}.contact-title{display:block}.contact-title h1{font-size:43px}.contact-title>p{font-size:14px;margin-top:25px}.contact-body{padding:45px 0 65px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-guide{position:static}.contact-guide h2{font-size:25px}.contact-guide .guide-note{display:none}.contact-guide>p:not(.eyebrow){font-size:13px}.form-surface{padding:25px 20px;border-radius:8px 8px 35px 8px}.topic-options{grid-template-columns:1fr}.field-pair{grid-template-columns:1fr;gap:0}.field input,.field textarea{font-size:16px}.form-preview{font-size:11px}.motion-control{font-size:10px;padding:8px 11px}}
@media(max-width:760px){.contact-title h1{font-size:clamp(29px,9vw,40px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:not(.allow-motion) [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}
