:root{--text:#2b1f19;--bg:#fffaf4;--accent:#ff7f00;--accent-dark:#b85a00;--sand:#f2e5da;--line:#e8d6c4;--max:960px;--serif:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", "MS PMincho", serif;--sans:"Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--shadow:0 6px 20px #50280a1f}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);letter-spacing:.03em;flex-direction:column;min-height:100vh;margin:0;line-height:1.95;display:flex}main{flex:1}img{max-width:100%;height:auto;display:block}a{color:var(--accent-dark)}.inner{max-width:var(--max);margin:0 auto;padding:0 20px}.site-header{border-top:5px solid var(--accent);text-align:center;background:#fff}.site-header .inner{max-width:1200px;padding-top:22px;padding-bottom:0}.logo{display:inline-block}.logo img{width:340px;max-width:100%;height:auto}.site-header nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:16px;position:relative}.site-header nav:before{content:"";border-top:1px solid var(--line);position:absolute;top:3px;left:0;right:0}.site-header nav ul{flex-wrap:wrap;justify-content:center;margin:0;padding:0;list-style:none;display:flex}.site-header nav li+li:before{content:"◆";color:var(--accent);vertical-align:middle;font-size:.45rem}.site-header nav li{align-items:center;display:flex}.site-header nav a{color:var(--text);font-family:var(--serif);letter-spacing:.14em;padding:16px 30px;font-size:.98rem;font-weight:700;text-decoration:none;transition:color .2s;display:block;position:relative}.site-header nav a:after{content:"";background:var(--accent);width:0;height:2px;transition:width .25s;position:absolute;bottom:9px;left:50%;transform:translate(-50%)}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--accent-dark)}.site-header nav a:hover:after,.site-header nav a[aria-current=page]:after{width:28px}.page{max-width:var(--max);margin:0 auto;padding:64px 20px 88px}.page h1{font-family:var(--serif);text-align:center;letter-spacing:.12em;margin:0 0 44px;font-size:1.8rem;font-weight:700;line-height:1.5}.page h1:after{content:"";background:var(--accent);border-radius:2px;width:56px;height:3px;margin:16px auto 0;display:block}.prose h2{font-family:var(--serif);letter-spacing:.08em;border-bottom:1px solid var(--line);margin:2.4em 0 .7em;padding-bottom:8px;font-size:1.25rem;line-height:1.5;position:relative}.prose h2:before{content:"";background:var(--accent);width:48px;height:2px;position:absolute;bottom:-1px;left:0}.prose h2:first-child{margin-top:0}.prose h3{font-family:var(--serif);color:var(--accent-dark);margin:1.9em 0 .4em;font-size:1.05rem}.prose p{margin:0 0 1em}.prose ol{padding-left:1.6em}.prose .right{text-align:right}.prose.indent>p{padding-left:1.5em}.slider{background:#000;position:relative;overflow:hidden}.slides{aspect-ratio:16/8;width:100%;max-height:680px;position:relative}.slides:after{content:"";pointer-events:none;background:radial-gradient(#00000052,#0000001f 70%);position:absolute;inset:0}.hero-logo{z-index:1;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-logo img{width:min(420px,62vw);height:auto}.slide{opacity:0;transition:opacity 1.2s;position:absolute;inset:0}.slide.is-active{opacity:1}.slide img{object-fit:cover;width:100%;height:100%}.slider .nav{z-index:2;width:46px;height:46px;color:var(--text);cursor:pointer;background:#ffffffb3;border:0;border-radius:50%;font-size:28px;line-height:1;transition:background .2s;position:absolute;top:50%;transform:translateY(-50%)}.slider .nav:hover,.slider .nav:focus-visible{background:#fff}.slider .prev{left:18px}.slider .next{right:18px}.slider .dots{z-index:2;justify-content:center;gap:4px;display:flex;position:absolute;bottom:14px;left:0;right:0}.slider .dots button{cursor:pointer;background:0 0;border:0;width:28px;height:28px;padding:0;position:relative}.slider .dots button:after{content:"";background:#ffffffa6;border-radius:50%;transition:background .2s;position:absolute;inset:9px}.slider .dots button.is-active:after{background:var(--accent)}.catch{text-align:center;padding:80px 20px 40px}.catch h1{font-family:var(--serif);letter-spacing:.1em;border:0;margin:0 0 18px;padding:0;font-size:1.9rem;line-height:1.6}.catch h1:after{content:"";background:var(--accent);border-radius:2px;width:56px;height:3px;margin:20px auto 0;display:block}.catch p{font-family:var(--serif);color:var(--accent-dark);margin:24px 0 0;font-size:1.15rem;font-weight:700}.catch-image{max-width:1040px;margin:0 auto 72px;padding:0 20px}.catch-image img{width:100%;box-shadow:var(--shadow);border-radius:12px}.videos{background:var(--sand);padding:64px 20px 72px}.videos ul{grid-template-columns:repeat(2,1fr);gap:28px;max-width:1040px;margin:0 auto;padding:0;list-style:none;display:grid}.videos .frame{aspect-ratio:16/9;box-shadow:var(--shadow);background:#000;border-radius:12px;position:relative;overflow:hidden}.videos iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.profile{grid-template-columns:260px 1fr;align-items:start;gap:44px;display:grid}.profile img{width:100%;box-shadow:var(--shadow);border-radius:12px}.card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:32px 36px}.card p{margin:0 0 .7em}.card p:last-child{margin-bottom:0}.contact-image{margin-top:40px}.contact-image img{object-fit:cover;width:100%;max-height:360px;box-shadow:var(--shadow);border-radius:12px}.site-footer{color:#f5e9dc;border-top:5px solid var(--accent);text-align:center;background:#3a2a20}.site-footer .inner{flex-direction:column;align-items:center;gap:22px;padding-top:52px;padding-bottom:36px;display:flex}.footer-logo img{width:150px;height:auto}.site-footer address{flex-direction:column;gap:2px;font-size:.92rem;font-style:normal;display:flex}.site-footer address strong{font-family:var(--serif);letter-spacing:.12em;margin-bottom:4px;font-size:1.1rem}.site-footer a{color:#f5e9dc;text-decoration-color:#f5e9dc66}.site-footer a:hover{color:#ffb366}.footer-nav{border-top:1px solid #f5e9dc40;flex-wrap:wrap;justify-content:center;gap:6px 0;width:100%;max-width:720px;margin:8px 0 0;padding:18px 0 0;font-size:.88rem;list-style:none;display:flex}.footer-nav li+li:before{content:"｜";color:#f5e9dc66}.footer-nav a{padding:0 12px;text-decoration:none}.site-footer .copy{text-align:center;letter-spacing:.06em;color:#f5e9dcbf;background:#2e2119;margin:0;padding:16px 20px;font-size:.78rem}@media (prefers-reduced-motion:reduce){.slide{transition:none}}@media (width<=720px){.site-header .inner{padding-top:16px}.logo img{width:260px}.site-header nav{margin-top:12px}.site-header nav a{letter-spacing:.06em;padding:12px;font-size:.82rem}.site-header nav a:after{bottom:5px}.site-header nav li+li:before{font-size:.4rem}.site-footer .inner{padding-top:40px}.footer-nav a{padding:0 8px}.page{padding:40px 16px 64px}.page h1{margin-bottom:32px;font-size:1.45rem}.slides{aspect-ratio:4/3}.hero-logo img{width:60vw}.slider .nav{width:36px;height:36px;font-size:22px}.slider .prev{left:8px}.slider .next{right:8px}.catch{padding:52px 16px 28px}.catch h1{font-size:1.35rem}.catch p{font-size:1rem}.catch-image{margin-bottom:48px}.videos{padding:44px 16px 52px}.videos ul{grid-template-columns:1fr;gap:20px}.profile{grid-template-columns:1fr;gap:24px}.profile img{max-width:260px}.card{padding:22px 20px}}.contact-lead,.lead{margin:0 0 20px}.contact-form{margin-top:0}.company-card{margin-top:28px}.company-card p{margin:0}.field{margin-bottom:22px}.field label{margin-bottom:6px;font-weight:700;display:block}.field .req,.field .opt{color:var(--accent-dark);margin-left:6px;font-size:.8rem;font-weight:400}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;font:inherit;color:var(--text);background:#fff;border:1px solid #cbb8a6;border-radius:8px;padding:12px 14px;font-size:1rem}.contact-form textarea{resize:vertical;line-height:1.7}.contact-form input:focus-visible,.contact-form textarea:focus-visible,.contact-form .btn:focus-visible,.check input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.contact-form [aria-invalid=true]{border-color:#b00020}.field .err{color:#b00020;margin:6px 0 0;font-size:.9rem}.field .err[hidden],.notice[hidden],.done[hidden],.contact-form[hidden]{display:none}.field label.check{align-items:flex-start;gap:10px;font-weight:400;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent-dark);flex:none;margin-top:3px}.hp{display:none}.notice{background:var(--sand);border-left:4px solid var(--accent);border-radius:4px;margin:0 0 18px;padding:12px 14px}.btn{width:100%;max-width:320px;font:inherit;letter-spacing:.1em;color:var(--text);background:var(--accent);cursor:pointer;border:0;border-radius:999px;margin:0 auto;padding:14px 20px;font-size:1.05rem;font-weight:700;transition:background .2s;display:block}.btn:hover{background:#ff9533}.btn:disabled{opacity:.6;cursor:wait}.done{text-align:center;margin-top:28px;font-weight:700}.done:focus{outline:none}
