:root{--ink:#262a28;--muted:#626a66;--paper:#f6f4ef;--white:#fff;--line:#d9d8d1;--green:#25463d;--orange:#c75232;--pale:#e8e8df;--serif:"Shippori Mincho",serif;--sans:"Noto Sans JP",sans-serif;--wrap:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}html,body{margin:0;overflow-x:clip}body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.75}img{display:block;width:100%;height:auto;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}.sample-note{margin:0;padding:7px 18px;text-align:center;background:#eae5d8;color:#42443e;font-size:12px;line-height:1.5}.site-header{height:86px;padding:0 max(28px,calc((100vw - var(--wrap))/2));display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:5}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--green);color:#f4ead4;font-family:var(--serif);font-size:22px}.brand-copy{display:grid;line-height:1.25}.brand-copy strong{font-size:19px;letter-spacing:.04em}.brand-copy small{font-size:10px;color:var(--muted);letter-spacing:.09em;margin-top:4px}.main-nav{display:flex;align-items:center;gap:clamp(14px,2vw,28px);font-size:13px;font-weight:600}.main-nav>a:not(.header-contact){min-height:44px;display:grid;place-items:center;position:relative}.main-nav>a:not(.header-contact):after{content:"";height:1px;position:absolute;left:0;right:100%;bottom:7px;background:var(--orange);transition:right .18s}.main-nav>a:hover:after{right:0}.header-contact{min-height:48px;display:flex;align-items:center;gap:16px;padding:0 18px;background:var(--green);color:#fff;border-radius:2px}.header-contact span{font-size:18px}.menu-toggle{display:none}.hero{height:min(680px,68vw);min-height:520px;position:relative;overflow:hidden;background:#37453e;color:#fff}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-photo{object-position:center 46%}.hero-shade{background:linear-gradient(90deg,rgba(16,25,22,.78) 0%,rgba(20,28,25,.48) 46%,rgba(20,28,25,.06) 100%),linear-gradient(0deg,rgba(10,15,13,.32),transparent 32%)}.hero-content{position:relative;z-index:1;width:min(var(--wrap),calc(100% - 64px));height:100%;margin:auto;padding:clamp(80px,10vw,140px) 0 80px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--orange);margin:0 0 17px}.eyebrow.light{color:#e9ba8a}.hero h1,.section-heading h2,.reason-copy h2,.section-top h2,.about h2,.contact h2{font-family:var(--serif);font-weight:600;letter-spacing:.055em;line-height:1.48;word-break:keep-all;overflow-wrap:anywhere;margin:0}.hero h1{font-size:clamp(36px,5vw,62px);line-height:1.5;text-shadow:0 2px 20px #10171355}.hero-lead{font-size:clamp(14px,1.45vw,17px);line-height:2;margin:22px 0 30px}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:0 23px;font-size:14px;font-weight:700;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--paper);color:var(--ink)}.button-light span{font-size:20px;color:var(--orange)}.hero-caption{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);width:min(var(--wrap),calc(100% - 64px));display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:#ffffffc9}.quick-links{width:min(var(--wrap),calc(100% - 64px));margin:-1px auto 0;position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);background:var(--green);color:#fff}.quick-links>a{min-height:108px;padding:22px 25px;display:flex;align-items:center;gap:18px;border-right:1px solid #ffffff2c;transition:background .18s}.quick-links>a:last-child{border:0}.quick-links>a:hover{background:#355a4e}.quick-number{align-self:flex-start;font-family:var(--serif);font-size:13px;color:#e6b983}.quick-links b,.quick-links small{display:block}.quick-links b{font-size:15px;letter-spacing:.04em}.quick-links small{font-size:11px;color:#d0dbd4;margin-top:4px}.quick-links i{margin-left:auto;font-style:normal;font-size:19px;color:#e6b983}.section-wrap{width:min(var(--wrap),calc(100% - 64px));margin-inline:auto}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:130px;padding-bottom:78px;align-items:end}.section-heading h2,.reason-copy h2,.section-top h2,.about h2,.contact h2{font-size:clamp(30px,3.2vw,43px)}.intro-copy{max-width:470px;color:var(--muted);font-size:14px}.intro-copy p{margin:0 0 12px}.service-grid{display:grid;grid-template-columns:1.24fr 1fr 1fr;gap:18px;padding-bottom:140px;align-items:start}.service-card{position:relative;min-width:0;background:#e7e4db;overflow:hidden}.service-card img{aspect-ratio:1.16;transition:transform .35s}.service-card:hover img{transform:scale(1.025)}.service-main img{aspect-ratio:.89}.service-label{padding:21px 22px 26px}.service-label>span{font-size:10px;color:var(--orange);font-weight:700;letter-spacing:.15em}.service-label h3{margin:6px 0 7px;font-family:var(--serif);font-size:22px;letter-spacing:.04em}.service-label p{font-size:12px;color:var(--muted);line-height:1.8;margin:0;max-width:36em}.reasons{display:grid;grid-template-columns:1fr 1fr;background:#e9e8df}.reason-photo{position:relative;min-height:670px}.reason-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.photo-note{position:absolute;bottom:28px;left:28px;background:var(--paper);padding:11px 16px;font-size:12px;font-weight:600}.reason-copy{padding:92px clamp(32px,7vw,100px) 85px}.reason-copy h2{margin-bottom:37px}.reason-list{padding:0;margin:0;list-style:none;border-top:1px solid #c9c9bf}.reason-list li{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid #c9c9bf}.reason-list li>span{font-family:var(--serif);font-size:13px;color:var(--orange)}.reason-list h3{margin:0 0 5px;font-size:15px}.reason-list p{font-size:12px;color:var(--muted);margin:0;line-height:1.8}.works{padding-top:130px;padding-bottom:125px}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.section-top h2{margin-bottom:7px}.section-desc{margin:0;color:var(--muted);font-size:13px}.section-index{font-family:var(--serif);font-size:12px;letter-spacing:.14em;color:var(--muted);padding-bottom:6px}.section-index i{font-style:normal;color:var(--orange);padding:0 7px}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work-card img{aspect-ratio:1.3;background:#dedbd1}.work-meta{display:flex;gap:8px;margin:17px 0 7px}.work-meta span{font-size:10px;padding:3px 9px;background:#e8e6dc;color:#525650}.work-card h3{font-family:var(--serif);font-size:17px;line-height:1.6;margin:0 0 5px}.work-card p{font-size:12px;color:var(--muted);margin:0}.sample-disclaimer{font-size:10px;color:#777b73;margin:20px 0 0}.flow{background:var(--green);color:white;padding:105px 0 115px}.flow .eyebrow{color:#e9ba8a}.flow .section-desc,.flow .section-index{color:#d1d9d2}.flow-steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0;border-top:1px solid #ffffff54}.flow-steps li{padding:24px 20px 0 0;position:relative}.flow-steps li:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#e9ba8a}.flow-steps li>span{font-family:var(--serif);font-size:11px;color:#e9ba8a;letter-spacing:.14em}.flow-steps h3{font-family:var(--serif);font-size:19px;margin:10px 0}.flow-steps p{font-size:12px;line-height:1.9;color:#e1e6e1;margin:0;max-width:235px}.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;padding-top:125px;padding-bottom:130px}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;font-size:14px;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"＋";color:var(--orange);font-size:19px;flex:none}.faq details[open] summary:after{content:"−"}.faq details p{font-size:13px;color:var(--muted);margin:0;padding:0 34px 20px 0}.about{background:#e7e6dc;padding:95px 0}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.about-inner>div>p:last-child{max-width:450px;color:var(--muted);font-size:13px;margin:22px 0 0}.company-data{margin:0;border-top:1px solid #c8c8bd}.company-data>div{display:grid;grid-template-columns:112px 1fr;padding:12px 0;border-bottom:1px solid #c8c8bd;font-size:12px}.company-data dt{color:var(--muted)}.company-data dd{margin:0;font-weight:600}.company-data a{text-decoration:underline;text-underline-offset:3px}.contact{background:var(--orange);color:#fff;text-align:center;padding:86px 24px 92px}.contact-inner{max-width:660px;margin:auto}.contact h2{font-size:clamp(31px,4vw,48px)}.contact-inner>p:not(.eyebrow):not(.sample-disclaimer){font-size:13px;color:#fff0e9;margin:16px 0 24px}.contact-phone{display:inline-grid;min-width:min(400px,100%);padding:16px 35px 18px;background:#fff;color:var(--ink);border-radius:2px;transition:transform .18s}.contact-phone:hover{transform:translateY(-2px)}.contact-phone small{font-size:11px;color:var(--muted)}.contact-phone strong{font-size:clamp(25px,4vw,35px);letter-spacing:.06em;line-height:1.45}.contact-phone span{font-size:11px;color:var(--muted)}.light-text{color:#ffdfd2}.site-footer{min-height:115px;padding:24px max(28px,calc((100vw - var(--wrap))/2));display:flex;align-items:center;justify-content:space-between;gap:20px;background:#202b27;color:#fff}.brand-footer .brand-mark{background:#fff;color:var(--green)}.brand-footer .brand-copy small{color:#bdc7c0}.site-footer p,.site-footer>small{font-size:10px;color:#d0d7d2;margin:0}.mobile-dock{display:none}:focus-visible{outline:3px solid #de8c57;outline-offset:3px}
@media(max-width:900px){.site-header{padding-inline:24px}.main-nav{gap:13px;font-size:12px}.header-contact{padding-inline:13px;gap:8px}.hero{height:600px}.reason-photo{min-height:610px}.reason-copy{padding:72px 34px}.service-grid{gap:12px}.service-label{padding:17px}.section-wrap{width:calc(100% - 48px)}}
@media(max-width:768px){html{scroll-padding-top:68px}.sample-note{font-size:10px;padding:6px 10px}.site-header{height:70px;padding-inline:19px}.brand-mark{width:37px;height:37px;font-size:19px}.brand-copy strong{font-size:17px}.brand-copy small{font-size:9px}.menu-toggle{display:flex;width:46px;height:46px;border:0;background:var(--green);border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}.menu-toggle span{width:19px;height:1.5px;background:white;transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;padding:12px 20px 20px;background:var(--paper);box-shadow:0 12px 20px #14231c20;align-items:stretch;gap:0}.main-nav.is-open{display:flex;flex-direction:column}.main-nav>a:not(.header-contact){min-height:48px;display:flex;justify-content:flex-start;border-bottom:1px solid var(--line)}.main-nav>a:not(.header-contact):after{display:none}.main-nav .header-contact{display:none}.hero{height:680px;min-height:0}.hero-photo{object-position:57% center}.hero-shade{background:linear-gradient(90deg,rgba(16,25,22,.69),rgba(20,28,25,.26)),linear-gradient(0deg,rgba(10,15,13,.28),transparent 40%)}.hero-content{width:calc(100% - 42px);padding:clamp(120px,29vw,210px) 0 105px}.hero h1{font-size:clamp(34px,8.7vw,48px);line-height:1.58}.hero-lead{font-size:13px;line-height:1.95;margin:18px 0 26px}.button{min-height:52px;padding-inline:18px;gap:20px;font-size:13px}.hero-caption{width:calc(100% - 42px);font-size:9px}.quick-links{width:calc(100% - 30px);grid-template-columns:1fr;margin-top:-15px}.quick-links>a{min-height:71px;padding:11px 16px;gap:13px;border-right:0;border-bottom:1px solid #ffffff2c}.quick-links>a:last-child{border-bottom:0}.quick-number{align-self:center}.quick-links b{font-size:13px}.quick-links small{font-size:10px}.section-wrap{width:calc(100% - 42px)}.intro{grid-template-columns:1fr;gap:17px;padding-top:88px;padding-bottom:35px}.section-heading h2,.reason-copy h2,.section-top h2,.about h2{font-size:clamp(29px,7.2vw,38px)}.intro-copy{font-size:13px}.service-grid{grid-template-columns:1fr 1fr;gap:12px;padding-bottom:85px}.service-main{grid-column:1/-1}.service-main img{aspect-ratio:1.3}.service-card:not(.service-main) img{aspect-ratio:1.05}.service-label{padding:14px}.service-label h3{font-size:18px}.service-label p{font-size:11px}.reasons{grid-template-columns:1fr}.reason-photo{min-height:390px}.reason-copy{padding:64px 22px 70px}.reason-copy h2{margin-bottom:26px}.works{padding-top:85px;padding-bottom:85px}.section-top{margin-bottom:27px}.section-index{font-size:10px}.section-desc{font-size:12px;max-width:32em}.works-grid{grid-template-columns:1fr;gap:30px}.work-card img{aspect-ratio:1.42}.work-card h3{font-size:16px}.flow{padding:78px 0 83px}.flow-steps{grid-template-columns:1fr 1fr;row-gap:25px}.flow-steps li{padding-right:12px}.flow-steps p{font-size:11px}.faq{grid-template-columns:1fr;gap:20px;padding-top:84px;padding-bottom:90px}.faq summary{font-size:13px;min-height:62px}.faq details p{font-size:12px}.about{padding:72px 0 85px}.about-inner{grid-template-columns:1fr;gap:28px}.company-data>div{grid-template-columns:95px 1fr}.contact{padding:70px 21px 78px}.contact h2{font-size:clamp(30px,7.5vw,40px)}.site-footer{padding:24px 21px 88px;display:grid;grid-template-columns:1fr auto;gap:14px}.site-footer p{grid-column:1/-1;grid-row:2}.site-footer>small{grid-column:2;grid-row:1}.mobile-dock{position:fixed;z-index:8;left:0;right:0;bottom:0;min-height:66px;padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(3,1fr);background:#fff;box-shadow:0 -4px 16px #1a281d1a;border-top:1px solid #e0dfd8}.mobile-dock a{min-height:62px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:600;color:var(--green)}.mobile-dock a span{font-size:19px;line-height:1.2;color:var(--orange)}}
@media(max-width:380px){.hero{height:640px}.hero-content{width:calc(100% - 34px);padding-top:123px}.hero h1{font-size:32px}.hero-caption{width:calc(100% - 34px);font-size:8px}.section-wrap{width:calc(100% - 34px)}.service-grid{gap:9px}.service-label{padding:12px}.service-label h3{font-size:16px}.service-label p{font-size:10px}.reason-photo{min-height:330px}.flow-steps{column-gap:10px}.company-data>div{font-size:11px;grid-template-columns:82px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
/* 日本語の改行を文節で（Claudeの手直し） */
h1,h2,h3,h4{word-break:auto-phrase!important;text-wrap:balance}
p,dd,li,summary{text-wrap:pretty}
header a:first-child{min-height:44px}
@media(max-width:768px){.hero .button,.hero-actions{display:none}}
/* 3枚の写真と文字の枠の上下をそろえる（Claude） */
@media(min-width:769px){.service-grid{align-items:stretch}.service-card img,.service-main img{display:block;width:100%;height:clamp(260px,24vw,340px);aspect-ratio:auto;object-fit:cover}}
