*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#FAF9F6;color:#0A1E35;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-size:16px;line-height:1.9;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none;transition:color 180ms ease,border-color 180ms ease,transform 180ms ease}a:hover{color:#8A6700}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #B88700;outline-offset:3px}.container{width:min(1180px,calc(100% - 96px));margin-inline:auto}.site-header{position:sticky;z-index:100;top:0;height:76px;background:#fff;border-bottom:1px solid #D9D5CC}.header-inner{height:100%;display:flex;align-items:center;gap:28px;padding:0 28px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:22px;font-weight:600;letter-spacing:.08em;white-space:nowrap}.brand svg{width:26px;height:34px;stroke:#0A1E35;fill:none;stroke-width:1.5}.site-nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:600;letter-spacing:.06em}.site-nav a{border-bottom:2px solid transparent;white-space:nowrap}.site-nav a:hover{border-color:#B88700}.header-phone{font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.25;white-space:nowrap}.header-phone small{display:block;font-family:"Yu Gothic",sans-serif;font-size:10px;color:#4D5660}.header-contact{align-self:stretch;display:flex;align-items:center;padding:0 22px;background:#071B31;color:#fff;font-size:14px;font-weight:600}.menu-button{display:none;border:0;background:transparent;color:#0A1E35;padding:7px}.menu-button span{display:block;width:24px;height:2px;margin:5px 0;background:currentColor}.hero{position:relative;min-height:560px;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.86) 29%,rgba(255,255,255,.18) 51%,rgba(255,255,255,0) 65%);pointer-events:none}.hero-content{position:relative;z-index:1;display:flex;min-height:560px;flex-direction:column;justify-content:center;align-items:flex-start;max-width:610px;padding:54px 0 58px}.hero-kicker{display:flex;align-items:center;gap:9px;margin:0 0 16px;color:#4D5660;font-size:14px;font-weight:600;letter-spacing:.12em}.hero-kicker svg,.title-icon{width:26px;height:26px;flex:0 0 auto;stroke:#B88700;fill:none;stroke-width:1.7}.hero h1{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:64px;font-weight:600;letter-spacing:.06em;line-height:1.32}.hero-emphasis{color:#B88700}.hero-lead{margin:20px 0 26px;font-size:17px;font-weight:500;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:26px}.button{display:inline-flex;min-height:54px;align-items:center;justify-content:space-between;gap:30px;padding:12px 22px;background:#B88700;border:1px solid #B88700;color:#fff;font-weight:600}.button::after,.text-link::after{content:"→";transition:transform 180ms ease}.button:hover{background:#8A6700;color:#fff}.button:hover::after,.text-link:hover::after{transform:translateX(4px)}.button-light{background:#fff;border-color:#fff;color:#0A1E35}.button-light:hover{background:#FAF9F6;color:#8A6700}.text-link{display:inline-flex;align-items:center;gap:14px;padding:8px 0;border-bottom:2px solid #B88700;font-weight:600}.section{padding:104px 0}.section-heading{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:34px;font-weight:600;letter-spacing:.06em;line-height:1.42}.section-heading::after{content:"";display:block;width:42px;height:2px;margin-left:4px;background:#B88700}.section-lead{max-width:760px;margin:0;color:#4D5660}.scope-layout{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:start}.scope-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.scope-card{position:relative}.scope-card img{width:100%;aspect-ratio:16/8;object-fit:cover}.scope-icon{display:grid;position:relative;width:54px;height:54px;margin:-27px 0 5px 18px;place-items:center;border:2px solid #fff;border-radius:50%;background:#B88700}.scope-icon svg,.service-icon svg{width:29px;height:29px;stroke:#fff;fill:none;stroke-width:1.7}.scope-card h3{margin:0 0 5px;font-family:"Yu Mincho",serif;font-size:19px;font-weight:600}.scope-card p{margin:0;color:#4D5660;font-size:14px;line-height:1.7}.process-strip{padding:44px 0;background:#F2EFE7}.process-layout{display:grid;grid-template-columns:190px 1fr;gap:36px}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.process-item{position:relative;padding-right:10px}.process-item:not(:last-child)::after{content:"›";position:absolute;right:-12px;top:22px;font-family:serif;font-size:32px}.process-number{display:block;color:#B88700;font-family:Georgia,serif;font-size:26px;border-bottom:1px solid #B88700}.process-item h3{margin:10px 0 3px;font-family:"Yu Mincho",serif;font-size:17px}.process-item p{margin:0;color:#4D5660;font-size:13px;line-height:1.65}.process-footer{margin-top:28px}.mosaic-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.mosaic{display:grid;grid-template-columns:3fr 3fr 2fr 4fr}.mosaic figure{margin:0}.mosaic img{width:100%;height:320px;object-fit:cover}.mosaic figure:nth-child(3) img{object-position:center}.mosaic figcaption{padding:9px 12px;border-bottom:1px solid #D9D5CC;color:#4D5660;font-size:13px}.final-cta{position:relative;padding:68px 0;background:#071B31;color:#fff;overflow:hidden}.final-cta::after{content:"";position:absolute;right:-30px;top:-50px;width:300px;height:250px;opacity:.12;background:repeating-linear-gradient(0deg,transparent 0 35px,#fff 36px 37px),repeating-linear-gradient(90deg,transparent 0 70px,#fff 71px 72px)}.cta-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.final-cta h2{margin:5px 0 15px;font-family:"Yu Mincho",serif;font-size:38px;line-height:1.5}.final-cta p{margin:0;color:#E4E7EA}.cta-links{display:flex;flex-direction:column;align-items:stretch;gap:18px}.phone-link{font-family:Georgia,serif;font-size:27px}.phone-link small{display:block;font-family:"Yu Gothic",sans-serif;font-size:13px}.page-hero{min-height:470px}.page-hero .hero-content{min-height:470px;max-width:660px}.page-hero h1{font-size:52px}.page-hero>img{object-position:center}.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-block{padding:28px 0;border-top:1px solid #D9D5CC}.info-block h2,.info-block h3{margin:0 0 10px;font-family:"Yu Mincho",serif}.info-block p{margin:0;color:#4D5660}.service-icon{display:grid;width:50px;height:50px;margin-bottom:18px;place-items:center;border-radius:50%;background:#B88700}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.detail-list{margin:0;padding:0;list-style:none}.detail-list li{padding:18px 0;border-bottom:1px solid #D9D5CC}.detail-list strong{display:block;font-family:"Yu Mincho",serif;font-size:19px}.timeline{counter-reset:step;margin:0;padding:0;list-style:none}.timeline li{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:28px 0;border-top:1px solid #D9D5CC}.timeline .num{color:#B88700;font-family:Georgia,serif;font-size:32px}.timeline h2{margin:0;font-family:"Yu Mincho",serif;font-size:24px}.timeline p{margin:5px 0 0;color:#4D5660}.works-gallery{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.works-gallery figure{margin:0}.works-gallery img{width:100%;height:100%;min-height:350px;object-fit:cover}.works-gallery figcaption{padding:10px 0;color:#4D5660}.faq-list{max-width:900px}.faq-item{border-top:1px solid #D9D5CC}.faq-question{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border:0;background:transparent;color:#0A1E35;text-align:left;font-family:"Yu Mincho",serif;font-size:20px;font-weight:600}.faq-question::before{content:"Q";color:#B88700;font-family:Georgia,serif;font-size:25px}.faq-question span{flex:1}.faq-question::after{content:"＋"}.faq-item.is-open .faq-question::after{content:"−"}.faq-answer{display:none;padding:0 34px 25px 48px;color:#4D5660}.faq-item.is-open .faq-answer{display:block}.company-table{width:100%;border-collapse:collapse}.company-table th,.company-table td{padding:20px;border-bottom:1px solid #D9D5CC;text-align:left;vertical-align:top}.company-table th{width:210px;font-family:"Yu Mincho",serif}.address-card{padding:34px;border-top:3px solid #B88700;background:#fff}.address-card address{font-style:normal;font-size:20px}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.contact-form{padding:38px;background:#fff;border-top:3px solid #B88700}.form-row{margin-bottom:23px}.form-row label{display:block;margin-bottom:7px;font-weight:600}.required{margin-left:8px;color:#8A6700;font-size:12px}.form-row input,.form-row textarea,.form-row select{width:100%;padding:12px;border:1px solid #A9A49A;background:#fff;color:#0A1E35}.form-row textarea{min-height:170px;resize:vertical}.form-note,.form-status{color:#4D5660;font-size:14px}.site-footer{padding:48px 0 24px;background:#071B31;color:#fff}.footer-layout{display:grid;grid-template-columns:1fr 2fr;gap:50px}.footer-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;font-size:14px}.copyright{margin-top:35px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2);color:#C8CDD2;font-size:12px}@media(max-width:1100px){.header-phone{display:none}.site-nav{gap:14px;font-size:12px}.header-contact{padding:0 14px}.hero h1{font-size:52px}.hero{min-height:610px}.hero-content{min-height:610px}.scope-layout,.process-layout{grid-template-columns:1fr}.scope-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(3,1fr)}.mosaic{grid-template-columns:1fr 1fr}.mosaic img{height:300px}}@media(max-width:767px){.container{width:min(100% - 40px,1180px)}.site-header{height:64px}.header-inner{padding:0 15px;gap:10px}.brand{font-size:16px;letter-spacing:.03em}.brand svg{width:21px}.header-contact{display:none}.header-phone{display:block;margin-left:auto;font-size:0}.header-phone::before{content:"電話";font-family:"Yu Gothic",sans-serif;font-size:13px;font-weight:600}.header-phone small{display:none}.menu-button{display:block}.site-nav{display:none;position:absolute;top:64px;left:0;width:100%;max-height:calc(100vh - 64px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 24px;background:#fff;border-bottom:1px solid #D9D5CC}.site-nav.is-open{display:flex}.site-nav a{padding:12px 4px;border-bottom:1px solid #D9D5CC}.hero,.hero-content{min-height:620px}.hero>img{object-position:69% center}.hero::after{background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.85) 43%,rgba(255,255,255,.18) 69%,rgba(255,255,255,0) 82%)}.hero-content{justify-content:flex-start;padding-top:42px}.hero h1,.page-hero h1{font-size:40px;line-height:1.38}.hero-lead{margin:16px 0 22px;font-size:15px;line-height:1.8}.hero-actions{width:100%;align-items:stretch;flex-direction:column;gap:10px}.button{width:100%}.section{padding:64px 0}.section-heading{font-size:28px}.scope-grid,.content-grid{grid-template-columns:1fr}.scope-card{display:grid;grid-template-columns:42% 1fr;column-gap:15px;align-items:center;border-bottom:1px solid #D9D5CC;padding-bottom:12px}.scope-card img{grid-row:1/4;aspect-ratio:16/11}.scope-icon{position:absolute;left:calc(42% - 40px);bottom:14px;width:44px;height:44px;margin:0}.scope-icon svg{width:23px}.process-grid{display:block}.process-item{min-height:100px;margin-left:18px;padding:5px 0 20px 42px;border-left:1px solid #B88700}.process-item::before{content:"";position:absolute;left:-5px;top:13px;width:9px;height:9px;border-radius:50%;background:#B88700}.process-item:not(:last-child)::after{display:none}.process-number{border:0}.mosaic-head{display:block}.mosaic-head .text-link{margin-top:16px}.mosaic{grid-template-columns:1fr}.mosaic img{height:270px}.cta-layout,.two-column,.contact-layout,.footer-layout{grid-template-columns:1fr;gap:36px}.final-cta{padding:58px 0}.final-cta h2{font-size:30px}.page-hero,.page-hero .hero-content{min-height:570px}.page-hero .hero-content{padding-top:45px}.timeline li{grid-template-columns:55px 1fr;gap:12px}.works-gallery{grid-template-columns:1fr}.works-gallery img{min-height:260px}.company-table th,.company-table td{display:block;width:100%;padding:12px}.company-table th{padding-bottom:0;border-bottom:0}.contact-form{padding:24px 20px}.footer-nav{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.map-frame.access-map-primary{position:relative;width:100%;min-width:0;margin:0;overflow:hidden}.map-frame.access-map-primary iframe{display:block;width:100%;min-height:420px;border:0}.generated-map-pin{position:absolute;left:50%;top:50%;z-index:2;width:34px;height:34px;pointer-events:none;transform:translate(-50%,-100%);border-radius:50% 50% 50% 0;background:#d93025;box-shadow:0 3px 10px rgba(0,0,0,.35);rotate:-45deg}.generated-map-pin>span{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.location-panel.access-map-panel{padding:0;overflow:hidden}.location-panel.access-map-panel .map-frame{height:100%}.location-panel.access-map-panel iframe{height:100%;min-height:420px}@media(max-width:768px){.map-frame.access-map-primary iframe,.location-panel.access-map-panel iframe{min-height:360px}}

/* generated-support-layout-guard-v2 */.generated-support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),360px));justify-content:center;gap:18px;margin:24px 0 32px}.generated-support-media{width:100%;max-width:360px;margin:0;aspect-ratio:4/3;overflow:hidden}.generated-support-media img{display:block;width:100%;height:100%;object-fit:cover}@media(max-width:768px){.generated-support-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 24px}}@media(max-width:520px){.generated-support-grid{grid-template-columns:1fr}.generated-support-media{max-width:none}}

.generated-category-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25em;height:2.25em;margin:0 .55em .25em 0;border:1px solid currentColor;border-radius:50%;vertical-align:middle;flex:0 0 auto}.generated-category-icon svg{display:block;width:1.15em;height:1.15em}.editorial-strip .triptych{grid-template-columns:repeat(4,minmax(0,1fr))!important}.editorial-strip .triptych>.statement{min-width:0;padding-inline:clamp(18px,2.2vw,30px)}.editorial-strip .triptych>.statement h2{width:100%;max-width:none;word-break:normal;overflow-wrap:normal}.generated-hero-long-line{font-size:clamp(2.25rem,3.6vw,2.875rem)!important;line-height:1.38!important;letter-spacing:0!important}@media(max-width:1100px){.editorial-strip .triptych{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:640px){.editorial-strip .triptych{grid-template-columns:1fr!important}}@media(max-width:640px){.generated-hero-long-line{font-size:clamp(1.65rem,7vw,2rem)!important;line-height:1.4!important}}@media(max-width:520px){.generated-category-icon{width:2em;height:2em;margin-right:.4em}}
