:root{--cream:#fffdf8;--ink:#3e2b1f;--orange:#e96d27;--sage:#78945b;--line:#eadfce;--shadow:0 12px 34px rgba(83,58,35,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}a{color:inherit;text-decoration:none}main{overflow:hidden}
.ui-icon{display:inline-grid;place-items:center;font-style:normal}.button .ui-icon,.contact-button .ui-icon{font-size:17px}.category-icon,.side-card>.ui-icon{font-size:27px}.arrow{font-size:18px}.mail{font-size:18px}
.site-header{height:98px;padding:0 clamp(24px,5vw,82px);display:flex;align-items:center;gap:38px;border-bottom:1px solid #efe8dc;background:rgba(255,254,251,.94);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand-icon{width:62px;height:62px;object-fit:cover;object-position:50% 39%;border-radius:16px}.brand strong{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(21px,2vw,31px);letter-spacing:.04em}.brand small{display:block;font-size:9px;letter-spacing:.22em;margin-top:2px;color:#806f61}.desktop-nav{display:flex;gap:32px;font-size:14px;font-weight:700}.desktop-nav a{padding:38px 0 10px;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--orange);transition:.25s}.desktop-nav a:hover:after,.desktop-nav a.active:after{right:0}.contact-button,.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700}.contact-button{background:var(--orange);color:white;border-radius:999px;padding:14px 20px}.mobile-menu{display:none}.mobile-menu summary{list-style:none;cursor:pointer}.mobile-menu nav{position:absolute;right:18px;top:78px;background:white;padding:12px;border-radius:16px;box-shadow:var(--shadow);display:grid;min-width:190px}.mobile-menu nav a{padding:12px}
.hero{min-height:510px;display:grid;grid-template-columns:40% 60%;align-items:center;max-width:1536px;margin:auto;padding-left:clamp(30px,6vw,100px);background:radial-gradient(circle at 18% 42%,#fff 0,#fffdf8 48%,transparent 70%)}.hero-copy{position:relative;z-index:2;padding:54px 0}.eyebrow{display:block;color:#849666;font-size:11px;font-weight:800;letter-spacing:.24em;margin-bottom:16px}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(40px,4.5vw,69px);line-height:1.32;letter-spacing:.05em;margin:0}.hero h1 em{font-style:normal;color:var(--orange)}.stitched-line{display:block;width:88%;height:8px;margin:22px 0;background:radial-gradient(circle,#e2a35e 2px,transparent 3px) 0 50%/16px 8px repeat-x}.lead{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;font-size:18px;line-height:1.95;margin:0 0 24px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.button{padding:15px 25px;border-radius:999px}.button.primary{background:var(--orange);color:white}.button.secondary{border:1.5px solid var(--sage);color:#53683f;background:#fff}.hero-art{align-self:stretch;display:flex;align-items:center}.hero-art img{width:100%;height:100%;max-height:590px;object-fit:cover;object-position:center;border-radius:0 0 0 46px;mix-blend-mode:multiply}
.services-title{text-align:center;margin:12px auto 18px}.services-title span{font-size:9px;letter-spacing:.22em;color:var(--sage);font-weight:800}.services-title h2{font-family:"Yu Mincho",serif;font-size:28px;margin:5px 0}.categories{position:relative;z-index:3;margin:0 auto;max-width:1356px;padding:0 32px 38px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.category-card{min-width:0;min-height:164px;padding:28px 25px;border:1px solid #e7dfd4;background:rgba(255,255,255,.95);box-shadow:0 8px 22px rgba(67,49,33,.07);border-radius:18px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-content:center;position:relative;transition:.25s}.category-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.category-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#f4eadc}.category-card strong,.category-card small{display:block}.category-card strong{font-size:20px;line-height:1.5}.category-card small{font-size:12px;color:#75695e;margin-top:7px;line-height:1.7}.card-arrow{position:absolute;right:16px;bottom:16px;color:var(--sage)}.green .category-icon{background:#e8f0dc}.blue .category-icon{background:#e0eef0}
.content-grid{max-width:1356px;margin:4px auto 32px;padding:0 32px;display:grid;grid-template-columns:1.7fr 1fr;gap:18px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 7px 24px rgba(79,57,37,.05)}.section-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:16px}.section-heading span{color:var(--sage);font-size:9px;letter-spacing:.22em;font-weight:800}.section-heading h2{font-family:"Yu Mincho",serif;font-size:23px;margin:2px 0 0}.section-heading a{font-size:12px;display:flex;align-items:center;gap:4px}.works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.work-card strong{display:block;font-size:12px;margin-top:8px}.work-placeholder{height:112px;border-radius:12px;display:grid;place-items:center;color:rgba(255,255,255,.9)}.news-panel ul{list-style:none;padding:0;margin:0}.news-panel li{border-bottom:1px solid #eee6da;padding:11px 0}.news-panel time{font-size:10px;color:#8f7c69}.news-panel li a{margin-top:5px;font-size:12px;display:flex;justify-content:space-between;gap:10px}.side-projects{max-width:1292px;margin:0 auto 32px;padding:25px 30px;border:1px solid var(--line);border-radius:20px;background:#fff}.side-heading{margin-bottom:14px}.side-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.side-card{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 18px;border-radius:14px;background:#f8f4eb;color:#637448}.side-card strong,.side-card small{display:block}.side-card strong{font-size:15px;color:var(--ink)}.side-card small{font-size:10px;color:#7f7267;margin-top:4px}.about{max-width:1292px;margin:0 auto 60px;padding:36px 44px;border-radius:24px;background:#f4ead9;display:flex;align-items:center;gap:30px;transition:.25s}.about:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.about-icon{width:112px;height:112px;object-fit:cover;object-position:50% 38%;border-radius:22px;flex:none}.about h2{font-family:"Yu Mincho",serif;margin:0 0 12px;font-size:28px}.about p{margin:0;line-height:2;color:#67594d;font-size:14px}.about-link{display:flex;align-items:center;gap:6px;margin-top:12px;color:#637448;font-size:12px;font-weight:700}footer{background:#70503a;color:#fff8ed;padding:38px clamp(25px,6vw,90px);display:grid;grid-template-columns:auto 1fr auto;gap:13px 30px;align-items:center}.footer-brand{font-family:"Yu Mincho",serif;font-size:23px;font-weight:800}footer p{font-size:12px;opacity:.8}footer a{border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:10px 17px;display:flex;gap:8px;align-items:center;font-size:12px}footer small{grid-column:1/-1;opacity:.6;font-size:10px}

.page-hero{max-width:1292px;margin:0 auto;padding:74px 70px;background:linear-gradient(110deg,#f4ead9,#fffdf8);border-radius:0 0 34px 34px;display:flex;justify-content:space-between;align-items:center}.page-hero h1{font-family:"Yu Mincho",serif;font-size:clamp(36px,5vw,58px);margin:0 0 22px}.page-hero p{font-family:"Yu Mincho",serif;font-size:18px;line-height:2}.page-hero img{width:250px;height:250px;object-fit:cover;object-position:50% 38%;border-radius:34px}.about-story{max-width:1120px;margin:76px auto;padding:0 30px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.about-story h2{font-family:"Yu Mincho",serif;font-size:34px;line-height:1.55;margin:0}.about-story p{font-size:15px;line-height:2.2;margin:0 0 18px;color:#67594d}.about-fields{max-width:1292px;margin:0 auto 64px;padding:0 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.about-fields article{padding:32px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 7px 24px rgba(79,57,37,.05)}.about-fields article>span{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#edf2e5;color:#637448}.about-fields h2{font-family:"Yu Mincho",serif;font-size:21px;margin:20px 0 12px}.about-fields p{font-size:13px;line-height:1.9;color:#716357;margin:0}.ragnarok-section{max-width:1100px;margin:0 auto 60px;padding:46px 52px;border-radius:24px;background:#293b4d;color:#edf4f7;display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center}.ragnarok-section .eyebrow{color:#9fc7d6}.ragnarok-section h2{font-size:30px;letter-spacing:.04em;margin:0 0 18px}.ragnarok-copy p{font-size:14px;line-height:2;color:#d4dfe4}.ragnarok-card{padding:28px;border:1px solid rgba(255,255,255,.22);border-radius:18px;display:grid;gap:15px}.ragnarok-card strong{font-family:"Yu Mincho",serif;font-size:20px;line-height:1.6}.ragnarok-card small{color:#9fc7d6;letter-spacing:.08em}.back-home{width:max-content;margin:0 auto 60px;display:flex;align-items:center;gap:8px;color:#637448;font-size:13px;font-weight:700}
@media(max-width:1050px){.desktop-nav,.contact-button{display:none}.mobile-menu{display:block}.hero{grid-template-columns:45% 55%;padding-left:35px}.content-grid{grid-template-columns:1fr}.hero h1{font-size:44px}.category-card strong{font-size:17px}.side-projects{margin-left:32px;margin-right:32px}}
@media(max-width:700px){.site-header{height:76px;padding:0 18px}.brand-icon{width:48px;height:48px;border-radius:12px}.brand strong{font-size:20px}.brand small{font-size:7px}.hero{display:flex;flex-direction:column;padding:0;min-height:auto}.hero-copy{width:100%;padding:42px 24px 18px}.hero h1{font-size:39px}.lead{font-size:15px}.hero-art{width:100%;padding:0 10px}.hero-art img{height:auto;border-radius:24px}.services-title{margin-top:28px}.services-title h2{font-size:23px}.categories{grid-template-columns:1fr;padding:0 14px 30px;gap:10px}.category-card{min-height:136px;padding:22px 20px}.category-card strong{font-size:18px}.content-grid{padding:0 14px;margin-bottom:28px}.works-grid{grid-template-columns:repeat(2,1fr)}.side-projects{margin:0 14px 28px;padding:20px 16px}.side-grid{grid-template-columns:1fr}.about{margin:0 14px 30px;padding:28px 22px;display:block}.about-icon{margin-bottom:20px}.about p br{display:none}.page-hero{margin:0 14px;padding:44px 24px;display:block}.page-hero h1{font-size:34px}.page-hero p{font-size:15px}.page-hero img{width:150px;height:150px;margin-top:24px}.about-story{margin:52px auto;display:block}.about-story h2{font-size:28px;margin-bottom:24px}.about-fields{grid-template-columns:1fr;padding:0 14px}.ragnarok-section{margin:0 14px 44px;padding:32px 24px;grid-template-columns:1fr}.ragnarok-section h2{font-size:23px;overflow-wrap:anywhere}footer{grid-template-columns:1fr;padding:30px 24px}footer small{grid-column:auto}}
