:root{--color-main:#163a66;--color-accent:#c99a3d;--color-bg:#f5f7f8;--color-text:#202a35;--color-muted:#6b7580;--heading-size:40px;--radius:12px;--section-space:100px;--container:1180px;--shadow:0 24px 65px rgba(20,42,67,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--color-text);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}p{margin:0 0 1.2em}h1,h2,h3{margin:0 0 .6em;line-height:1.35;letter-spacing:.025em}h2{font-size:clamp(30px,var(--heading-size),52px)}h3{font-size:21px}.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.narrow{max-width:850px}.skip-link{position:fixed;top:-100px;left:10px;z-index:9999;background:#fff;padding:10px}.skip-link:focus{top:10px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{z-index:200;width:100%;height:82px;background:rgba(255,255,255,.95);border-bottom:1px solid rgba(20,42,67,.09);backdrop-filter:blur(14px)}.has-sticky-header .site-header{position:sticky;top:0}.header-inner{width:min(calc(100% - 48px),1360px);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.site-brand{font-size:21px;font-weight:800;letter-spacing:.05em}.custom-logo{display:block;max-height:48px;width:auto}.primary-nav{display:flex;align-items:center;gap:32px}.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:30px}.primary-nav li a{font-size:14px;font-weight:700}.header-cta{display:inline-flex;align-items:center;min-height:46px;padding:8px 23px;color:#fff;background:var(--color-main);border-radius:3px;font-size:14px;font-weight:700}.menu-toggle{display:none}.button{display:inline-flex;justify-content:center;align-items:center;min-height:58px;padding:14px 32px;border:1px solid var(--color-main);border-radius:4px;color:#fff;background:var(--color-main);font-weight:800;transition:.25s}.button:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--color-main) 88%,#000)}.button-outline{color:var(--color-main);background:transparent}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--color-main);font-weight:800}.text-link span{font-size:20px}.hero{position:relative;overflow:hidden;background:var(--color-bg);isolation:isolate}.hero:before{content:"";position:absolute;inset:0 52% 0 0;background:linear-gradient(135deg,rgba(255,255,255,.85),transparent);z-index:-1}.hero-inner{min-height:680px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px;padding-block:70px}.eyebrow,.section-heading>p,.sub-hero p{margin-bottom:18px;color:var(--color-accent);font-size:12px;font-weight:900;letter-spacing:.22em}.hero h1{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(42px,5vw,70px);letter-spacing:.02em}.hero-lead{max-width:600px;color:var(--color-muted);font-size:18px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.hero-visual img,.image-placeholder{width:100%;height:520px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.image-placeholder{display:flex;flex-direction:column;justify-content:flex-end;padding:42px;color:#fff;background:linear-gradient(145deg,var(--color-main),color-mix(in srgb,var(--color-main) 58%,var(--color-accent)))}.image-placeholder small{letter-spacing:.2em}.image-placeholder strong{font-family:Georgia,"Yu Mincho",serif;font-size:37px}.hero-side-text{position:absolute;right:16px;bottom:25px;color:var(--color-muted);font-size:10px;letter-spacing:.2em;writing-mode:vertical-rl}.hero-photo .hero{color:#fff;background:linear-gradient(90deg,rgba(8,27,50,.88),rgba(8,27,50,.28)),var(--hero-image,linear-gradient(135deg,var(--color-main),#50667d));background-size:cover;background-position:center}.hero-photo .hero-inner{display:block;padding-top:150px}.hero-photo .hero-copy{max-width:720px}.hero-photo .hero-visual{display:none}.hero-photo .hero-lead,.hero-photo .text-link{color:rgba(255,255,255,.8)}.hero-center .hero-inner{display:block;text-align:center;padding-top:145px}.hero-center .hero-copy{max-width:850px;margin:auto}.hero-center .hero-lead{margin-inline:auto}.hero-center .hero-actions{justify-content:center}.hero-center .hero-visual{display:none}.hero-spacious .hero-inner{min-height:780px;grid-template-columns:1.15fr .85fr}.hero-spacious .hero-copy{padding-left:7vw}.hero-card .hero{background:var(--color-main)}.hero-card .hero-inner{grid-template-columns:1fr;padding-block:90px}.hero-card .hero-copy{position:relative;z-index:2;width:min(680px,90%);padding:60px;background:#fff;box-shadow:var(--shadow)}.hero-card .hero-visual{position:absolute;inset:45px 4vw 45px 38%}.hero-card .hero-visual img,.hero-card .image-placeholder{height:100%}.section{padding-block:var(--section-space)}.section-soft{background:var(--color-bg)}.section-main{color:#fff;background:var(--color-main)}.section-heading{text-align:center;max-width:700px;margin:0 auto 55px}.section-heading.left{text-align:left;margin:0}.section-heading.light>p{color:var(--color-accent)}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.large-text{font-size:21px;font-weight:600}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.2)}.reason-grid article{padding:45px;background:var(--color-main)}.reason-grid span{color:var(--color-accent);font-family:Georgia,serif;font-size:48px}.reason-grid p{color:rgba(255,255,255,.7)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-grid article{overflow:hidden;background:#fff;box-shadow:0 14px 40px rgba(20,42,67,.07)}.service-grid article>div:last-child{padding:28px}.service-grid span{color:var(--color-accent);font-family:Georgia,serif;font-size:32px}.service-image,.work-image{display:grid;place-items:center;aspect-ratio:16/10;color:var(--color-main);background:linear-gradient(145deg,color-mix(in srgb,var(--color-main) 12%,#fff),color-mix(in srgb,var(--color-accent) 15%,#fff));font-size:13px;font-weight:800;letter-spacing:.15em}.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.work-image{margin-bottom:20px}.works-grid small{color:var(--color-accent)}.news-section{border-top:1px solid #e0e4e8}.news-grid{display:grid;grid-template-columns:300px 1fr;gap:80px}.news-list{border-top:1px solid #ced5dc}.news-list article{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:24px 0;border-bottom:1px solid #ced5dc}.news-list time{color:var(--color-muted);font-size:14px}.news-list a{font-weight:700}.company-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.company-grid dl,.company-table{margin:0}.company-grid dl>div,.company-table>div{display:grid;grid-template-columns:150px 1fr;padding:17px 0;border-bottom:1px solid #d3d9df}.company-grid dt,.company-table dt{font-weight:800}.company-grid dd,.company-table dd{margin:0}.cta-section{padding:75px 0;color:#fff;background:linear-gradient(115deg,var(--color-main),color-mix(in srgb,var(--color-main) 65%,#080f18))}.cta-section .container{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-section h2{font-size:clamp(28px,4vw,43px)}.cta-section>div>div:last-child{text-align:right}.cta-section small{display:block;color:rgba(255,255,255,.65)}.button-light{margin-bottom:14px;color:var(--color-main);background:#fff;border-color:#fff}.contact-section{background:#fff}.contact-box{padding:45px;border:1px solid #dfe4e8;background:var(--color-bg);border-radius:var(--radius)}.admin-notice{padding:18px;border:1px dashed var(--color-main);background:#fff;text-align:center}.wpcf7 p{margin:0 0 22px}.wpcf7 label{font-weight:700}.wpcf7 input:not([type=checkbox]):not([type=radio]),.wpcf7 textarea,.wpcf7 select{width:100%;margin-top:7px;padding:14px;border:1px solid #c7d0d9;border-radius:3px;background:#fff;font:inherit}.wpcf7 input:focus,.wpcf7 textarea:focus{outline:2px solid color-mix(in srgb,var(--color-main) 25%,transparent);border-color:var(--color-main)}.wpcf7 input[type=submit]{min-width:220px;padding:16px 28px;color:#fff;background:var(--color-main);border:0;border-radius:3px;font-weight:800;cursor:pointer}.sub-hero{padding:90px 0;background:var(--color-bg)}.sub-hero h1,.page-header h1{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(38px,6vw,60px)}.sub-hero span{color:var(--color-muted)}.content-area{min-height:60vh;padding-block:90px}.page-header{margin-bottom:55px;padding-bottom:30px;border-bottom:1px solid #d9dee3}.page-header>p,.page-header time{color:var(--color-accent);font-size:12px;font-weight:900;letter-spacing:.18em}.featured-image{margin-bottom:40px;border-radius:var(--radius)}.entry-content{font-size:17px}.entry-content h2{margin-top:2em;font-size:30px}.entry-content h3{margin-top:1.7em;border-left:3px solid var(--color-accent);padding-left:15px}.entry-content a{color:var(--color-main);text-decoration:underline}.post-list{border-top:1px solid #d8dee4}.post-list article{padding:28px 0;border-bottom:1px solid #d8dee4}.post-list time{color:var(--color-muted);font-size:13px}.post-list h2{font-size:23px}.template-sample{margin-top:50px}.template-sample article{padding:38px 0;border-top:1px solid #d8dee4}.template-sample span{color:var(--color-accent);font-size:32px}.company-table{margin-top:40px}.site-footer{padding:70px 0 25px;color:rgba(255,255,255,.7);background:#10243c}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.footer-logo{display:block;color:#fff;font-size:23px;margin-bottom:18px}.site-footer ul{list-style:none;margin:0;padding:0;display:flex;justify-content:flex-end;gap:24px}.copyright{width:min(calc(100% - 48px),var(--container));margin:50px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:12px}.decor-grid .section-soft{background-color:var(--color-bg);background-image:linear-gradient(rgba(20,42,67,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(20,42,67,.04) 1px,transparent 1px);background-size:34px 34px}.decor-dots .section-soft{background-color:var(--color-bg);background-image:radial-gradient(rgba(20,42,67,.09) 1px,transparent 1px);background-size:20px 20px}.decor-lines .about-section{background-image:linear-gradient(115deg,transparent 0 74%,color-mix(in srgb,var(--color-main) 5%,transparent) 74% 75%,transparent 75%)}
@media(max-width:900px){.site-header{height:66px}.header-inner{width:calc(100% - 30px)}.menu-toggle{display:flex;width:44px;height:44px;padding:11px;flex-direction:column;justify-content:space-around;border:0;background:transparent}.menu-toggle span{height:2px;background:var(--color-main);transition:.2s}.primary-nav{display:none;position:fixed;inset:66px 0 0;padding:45px 30px;align-items:stretch;flex-direction:column;background:#fff}.primary-nav.is-open{display:flex}.primary-nav ul{align-items:stretch;flex-direction:column;gap:0}.primary-nav li{border-bottom:1px solid #e1e5e9}.primary-nav li a{display:block;padding:16px}.header-cta{text-align:center;justify-content:center}.hero-inner{min-height:auto;grid-template-columns:1fr;gap:35px;padding-block:65px}.hero-visual{order:-1}.hero-visual img,.image-placeholder{height:auto;aspect-ratio:16/10}.image-placeholder{padding:25px}.image-placeholder strong{font-size:27px}.hero h1{font-size:clamp(38px,11vw,55px)}.hero-side-text{display:none}.hero-spacious .hero-inner{min-height:auto;grid-template-columns:1fr}.hero-spacious .hero-copy{padding-left:0}.hero-card .hero-inner{padding-block:30px}.hero-card .hero-copy{width:100%;padding:30px 24px}.hero-card .hero-visual{position:relative;inset:auto;order:-1}.about-grid,.company-grid,.news-grid,.footer-grid{grid-template-columns:1fr;gap:40px}.reason-grid,.service-grid{grid-template-columns:1fr}.reason-grid{gap:0}.works-grid{grid-template-columns:1fr}.section-heading.left{text-align:center;margin:auto}.cta-section .container{align-items:flex-start;flex-direction:column}.cta-section>div>div:last-child{text-align:left}.site-footer ul{justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:600px){:root{--section-space:68px}.container{width:calc(100% - 30px)}.hero-actions{align-items:flex-start;flex-direction:column}.hero-photo .hero-inner,.hero-center .hero-inner{padding-top:90px}.about-grid{gap:25px}.reason-grid article{padding:32px 25px}.news-list article{grid-template-columns:1fr;gap:5px}.company-grid dl>div,.company-table>div{grid-template-columns:1fr;gap:5px}.contact-box{padding:27px 20px}.button{width:100%}.site-footer{text-align:left}.site-footer ul{flex-direction:column}.copyright{width:calc(100% - 30px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.menu-toggle span{transition:none}}
