:root{--paper:#f7f5ef;--ink:#2a2c27;--rust:#a84b32;--line:#cbc9be;--wood:#e9e5d9;--dark:#303a2d;--sans:'Yu Gothic','YuGothic','Hiragino Kaku Gothic ProN',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--rust);outline-offset:6px}a:hover{color:var(--rust)}.wrap{width:calc(100% - 112px);max-width:1440px;margin:0 auto}.rust,.brand-dot{color:var(--rust)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;line-height:1.6}.section{padding-top:118px;padding-bottom:108px}.proposal{text-align:center;background:var(--dark);color:var(--paper);font-size:10px;letter-spacing:.06em;padding:5px 12px}.header{display:flex;align-items:center;justify-content:space-between;padding-top:24px;padding-bottom:28px;border-bottom:1px solid var(--line);gap:24px}.brand>span{display:block;font-family:Arial,sans-serif;font-size:52px;font-weight:800;letter-spacing:-.06em;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:.08em;margin-top:8px}.header nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:700}.nav-contact{border:1px solid var(--ink);padding:12px 19px;display:flex;align-items:center;gap:28px}.nav-contact img,.text-link img,.news img,.category-line img,.gallery-caption img,.official-link img{width:20px;height:20px}.nav-contact:hover{background:var(--wood)}.menu-toggle{display:none}.skip-link{position:absolute;top:-100px;left:16px;padding:8px;background:white;z-index:5}.skip-link:focus{top:8px}
.hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:48px;padding-top:55px;padding-bottom:54px;align-items:center}.hero-copy{padding:20px 0}.hero h1{font-size:53px;font-weight:700;line-height:1.5;letter-spacing:-.065em;margin-top:28px;white-space:nowrap}.hero-description{margin-top:30px;line-height:2.05}.text-link{display:inline-flex;align-items:center;gap:35px;border-bottom:1px solid var(--ink);font-size:12px;font-weight:700;padding:9px 0}.hero .text-link{margin-top:28px}.text-link img{transition:transform .25s}.text-link:hover img{transform:translateX(5px)}.hero-location{font-size:10px;letter-spacing:.035em;margin-top:38px;color:#666b60}.hero-visual>img{width:100%;height:545px;object-fit:cover;object-position:center}.hero-visual figcaption{display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.09em;margin-top:10px;color:#686b62}.news{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:29px;padding-top:20px;padding-bottom:20px;font-size:11px}.news>p{flex:1}.news>a{display:flex;align-items:center;gap:14px}.news .eyebrow{color:var(--rust)}
.section-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:48px;margin-bottom:50px}.section-head h2{font-size:39px;line-height:1.55;letter-spacing:-.05em;margin-top:18px}.section-head>p{font-size:13px;max-width:390px;justify-self:end;margin-bottom:8px}.gallery{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:64px;align-items:start}.gallery-small{padding-top:105px}.image-link{display:block;position:relative;overflow:hidden;background:var(--wood)}.image-link>img{width:100%;height:405px;object-fit:cover;transition:transform .6s}.gallery-small .image-link>img{height:330px}.image-link:hover>img{transform:scale(1.025)}.image-link>span{position:absolute;right:12px;bottom:10px;padding:2px 8px;background:rgba(247,245,239,.92);font-size:9px}.gallery-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:23px}.gallery-caption h3{font-size:23px;letter-spacing:-.03em;line-height:1.55;margin-top:7px}.gallery-caption>a{display:flex;border:1px solid var(--line);width:44px;height:44px;align-items:center;justify-content:center}.gallery-caption>a:hover{background:var(--wood)}.gallery article>p{font-size:11px;margin-top:10px;color:#666b60}.category-line{margin-top:53px;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:11px;gap:20px}.category-line>span:last-child{display:flex;gap:14px;align-items:center}
.wood{background:var(--wood);padding-top:85px;padding-bottom:85px}.wood-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:100px;align-items:center}.wood figure img{width:100%;height:520px;object-fit:cover}.wood figcaption{font-size:9px;color:#666b60;margin-top:9px}.wood h2{font-size:40px;line-height:1.55;letter-spacing:-.04em;margin-top:23px;margin-bottom:30px}.wood-copy>p:not(.eyebrow){font-size:13px;margin-top:19px;max-width:365px}.wood-note{border-top:1px solid #bcbcae;margin-top:29px;padding-top:18px;max-width:365px}.wood-note>span{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.12em}.wood-note>p{font-size:11px;margin-top:8px}.wood .text-link{margin-top:22px}
.order-options{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.order-options article{padding:40px 40px 40px 0}.order-options article+article{border-left:1px solid var(--line);padding-left:50px}.option-index{font-family:Arial,sans-serif;font-size:11px;color:var(--rust);letter-spacing:.09em}.order-options h3{font-size:25px;letter-spacing:-.04em;line-height:1.65;margin:21px 0}.order-options p{font-size:12px;max-width:385px}.order-options .text-link{margin-top:23px}.consultation{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding-top:33px}.consultation>.eyebrow{margin-top:5px}.consultation ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:11px}.consultation li{display:flex;gap:30px}.consultation li>span{min-width:50px;font-weight:700}.repair{margin-top:76px;padding:29px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.6fr 1.5fr 1.7fr;gap:28px;align-items:start}.repair>.eyebrow{color:var(--rust);margin-top:7px}.repair h3{font-size:20px;letter-spacing:-.04em;line-height:1.7}.repair>p:not(.eyebrow){font-size:11px}.repair .text-link{grid-column:3;justify-self:start}.mobile-only{display:none}
.contact{background:var(--dark);color:var(--paper);padding:74px 0 55px}.contact-head{display:flex;justify-content:space-between;gap:35px;align-items:center;margin-top:23px}.contact h2{font-size:38px;line-height:1.6;letter-spacing:-.04em}.contact-button{display:flex;gap:45px;align-items:center;padding:21px 27px;border:1px solid #bfc4b3;font-size:13px}.contact-button img{width:25px;height:25px}.contact a:hover{color:var(--paper)}.contact-button:hover{background:#495641}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;margin-top:52px;padding-top:33px;border-top:1px solid #707869;gap:25px}.contact h3{font-size:17px;margin-bottom:13px}.contact-bottom p{font-size:11px}.visit-note{margin-top:14px;opacity:.8}.contact-phone{justify-self:end}.contact-phone>a:first-of-type{font-family:Arial,sans-serif;font-size:29px;letter-spacing:.015em;display:block;line-height:1.7}.official-link{display:flex;gap:15px;align-items:center;font-size:11px;margin-top:17px}.footer{padding-top:24px;padding-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:15px}.footer>span{font-family:Arial,sans-serif;font-size:33px;font-weight:800;letter-spacing:-.06em}.footer>p,.footer>a{font-size:9px}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header nav{gap:23px}.hero{gap:27px;grid-template-columns:1fr 1.2fr}.hero h1{font-size:40px}.hero-visual>img{height:460px}.wood-inner{gap:47px}.news{gap:19px}.wood figure img{height:480px}.contact h2{font-size:31px}.contact-button{gap:22px}.gallery{gap:36px}.gallery-main .image-link>img{height:330px}.gallery-small .image-link>img{height:285px}}
@media(max-width:900px){.header{flex-wrap:wrap}.brand>span{font-size:42px}.menu-toggle{display:flex;align-items:center;flex-direction:column;gap:5px;background:none;border:0;padding:10px 2px;cursor:pointer}.menu-toggle>span{width:24px;height:1px;background:var(--ink)}.menu-toggle>b{font-size:8px;font-weight:400;line-height:1;letter-spacing:.09em;margin-top:4px}.header nav{width:100%;display:flex;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--line)}.js .header nav{display:none}.js .header nav.is-open{display:flex}.header .nav-contact{padding:8px 15px}.hero{padding-top:34px;padding-bottom:37px;gap:25px;grid-template-columns:1fr 1.15fr}.hero h1{font-size:34px;margin-top:22px}.hero-description{font-size:12px;margin-top:20px}.hero-location{margin-top:25px;font-size:9px}.hero-visual>img{height:405px}.hero .eyebrow{font-size:9px}.news{flex-wrap:wrap;gap:12px 25px;padding-top:16px;padding-bottom:16px}.news>p{flex-basis:calc(100% - 180px)}.section{padding-top:79px;padding-bottom:77px}.section-head h2{font-size:31px}.section-head>p{font-size:11px}.section-head{gap:25px;margin-bottom:35px}.gallery{gap:28px;grid-template-columns:1.1fr 1fr}.gallery-small{padding-top:69px}.gallery-main .image-link>img{height:292px}.gallery-small .image-link>img{height:247px}.gallery-caption h3{font-size:19px}.gallery-caption{gap:12px}.gallery-caption>a{width:35px;height:35px;flex-shrink:0}.wood{padding:60px 0}.wood-inner{gap:32px;grid-template-columns:1fr 1fr}.wood h2{font-size:31px;margin-top:19px;margin-bottom:21px}.wood-copy>p:not(.eyebrow){font-size:11px}.wood figure img{height:430px}.order-options article{padding:29px 23px 29px 0}.order-options article+article{padding-left:30px}.order-options h3{font-size:22px}.order-options p{font-size:11px}.repair{grid-template-columns:1fr 1fr;gap:16px 30px;margin-top:52px}.repair>.eyebrow{grid-column:1/-1}.repair .text-link{grid-column:2}.contact{padding:54px 0 42px}.contact-head{align-items:start;flex-direction:column;gap:26px}.contact h2{font-size:32px}.contact-button{padding:16px 24px}.contact-bottom{margin-top:35px}.contact-phone>a:first-of-type{font-size:24px}}
@media(max-width:600px){body{font-size:14px}.wrap{width:calc(100% - 40px)}.proposal{font-size:8px;padding:6px 10px}.header{padding-top:19px;padding-bottom:19px}.brand>span{font-size:40px}.brand small{font-size:8px;margin-top:6px}.header nav{gap:18px 21px}.header nav>a{font-size:11px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:29px;padding-top:27px;padding-bottom:28px}.hero-copy{padding:0}.hero h1{font-size:39px;line-height:1.45;margin-top:20px}.hero-description{font-size:12px;margin-top:20px}.hero .text-link{margin-top:17px}.hero-location{margin-top:20px}.hero-visual>img{height:320px}.hero-visual figcaption{font-size:8px;margin-top:7px}.news{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;font-size:10px}.news>.eyebrow{font-size:9px}.news>span:nth-child(2){text-align:right}.news>p{grid-column:1/-1}.news>a{grid-column:1/-1;justify-self:start;font-size:9px}.section{padding-top:62px;padding-bottom:62px}.section-head{display:block;margin-bottom:29px}.section-head h2{font-size:31px;margin-top:13px}.section-head>p{margin-top:23px;font-size:11px;max-width:100%}.gallery{display:block}.gallery-small{padding-top:35px}.gallery-main .image-link>img{height:260px}.gallery-small .image-link>img{height:278px}.gallery-caption{padding-top:18px}.gallery-caption h3{font-size:21px}.category-line{margin-top:30px;flex-direction:column;gap:13px;font-size:10px;padding-top:19px}.wood{padding:40px 0 49px}.wood-inner{display:flex;flex-direction:column;gap:31px;align-items:stretch}.wood figure img{height:280px}.wood h2{font-size:32px;margin-top:14px;margin-bottom:23px}.wood-copy>p:not(.eyebrow){font-size:12px;max-width:100%}.wood-note{margin-top:25px;max-width:100%}.order-options{display:block}.order-options article{padding:27px 0 29px}.order-options article+article{border-left:0;border-top:1px solid var(--line);padding:29px 0}.order-options h3{font-size:23px;margin:16px 0}.order-options .text-link{margin-top:14px}.consultation{display:block;padding-top:24px}.consultation ul{margin-top:15px;gap:11px}.consultation li{gap:20px;font-size:10px}.repair{display:block;margin-top:41px;padding-top:22px}.repair h3{font-size:23px;margin-top:14px}.repair>p:not(.eyebrow){margin-top:16px;font-size:11px}.repair .text-link{margin-top:17px}.mobile-only{display:inline}.contact{padding:43px 0 34px}.contact h2{font-size:26px;letter-spacing:-.04em}.contact-head{margin-top:16px;gap:23px}.contact-button{width:100%;justify-content:space-between;padding:18px 20px;font-size:12px}.contact-bottom{display:block;margin-top:33px;padding-top:24px}.contact-phone{margin-top:26px}.contact-phone>a:first-of-type{font-size:27px}.footer{display:grid;grid-template-columns:1fr 1fr;padding-top:20px;padding-bottom:20px}.footer>p{grid-row:2;grid-column:1/-1;font-size:8px}.footer>a{justify-self:end;font-size:9px}.footer>span{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* 最終調整：内容の幅を保つグリッドと、改行位置の整理 */
.header{display:grid;grid-template-columns:210px minmax(0,1fr)}
.header nav{justify-self:end;gap:30px;white-space:nowrap}
.header nav>a{flex-shrink:0}
.nav-contact{white-space:nowrap}
.news{display:grid;grid-template-columns:135px 180px minmax(0,1fr) 150px;gap:20px}
.news>a{white-space:nowrap;justify-self:end}
.text-link{display:inline-block;max-width:100%;white-space:normal}
.text-link img{display:inline-block;vertical-align:middle;margin-left:30px}
.gallery-caption{display:grid;grid-template-columns:minmax(0,1fr) 44px}
.contact-head{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.8fr)}
.contact-button{justify-self:end;white-space:nowrap}
@media(max-width:1100px){.header nav{gap:21px}.news{grid-template-columns:115px 140px minmax(0,1fr) 140px;gap:12px}}
@media(max-width:900px){.header{grid-template-columns:1fr 44px}.menu-toggle{justify-self:end}.header nav{grid-column:1/-1;justify-self:stretch;justify-content:flex-start}.news{grid-template-columns:1fr 1fr;gap:9px 20px}.news>p{grid-column:1}.news>a{grid-column:2;grid-row:2}.news>span:nth-child(2){text-align:right}.gallery-caption{grid-template-columns:minmax(0,1fr) 35px}.contact-head{grid-template-columns:1fr}.contact-button{justify-self:start}}
@media(max-width:600px){.header nav{gap:16px 21px}.menu-toggle{display:block;width:32px;padding:5px 0}.menu-toggle>span{display:block;margin:6px auto}.menu-toggle>b{display:block;text-align:center;margin-top:8px}.news>p{grid-column:1/-1}.news>a{grid-column:1/-1;grid-row:auto;justify-self:start}.contact-button{justify-self:stretch;white-space:normal}.contact h2{font-size:26px}}
.header nav{display:grid;width:590px;grid-template-columns:100px 100px 130px 170px;gap:30px}
.nav-contact{display:grid;grid-template-columns:1fr 20px;gap:15px}
.contact-button{display:grid;grid-template-columns:1fr 25px;gap:30px}
@media(max-width:1100px){.header nav{width:535px;grid-template-columns:85px 85px 110px 160px;gap:25px}}
@media(max-width:900px){.brand{grid-column:1;grid-row:1}.menu-toggle{grid-column:2;grid-row:1;justify-self:start}.header nav{width:100%;grid-column:1/3;grid-row:2;display:flex;gap:20px;white-space:normal}.js .header nav{display:none}.js .header nav.is-open{display:flex}.news>.eyebrow{grid-column:1;grid-row:1}.news>span:nth-child(2){grid-column:2;grid-row:1}.news>p{grid-column:1;grid-row:2}.news>a{grid-column:2;grid-row:2}.repair>.eyebrow{grid-column:1/3;grid-row:1}.repair>h3{grid-column:1;grid-row:2}.repair>p:not(.eyebrow){grid-column:2;grid-row:2}.repair>.text-link{grid-column:2;grid-row:3}}
@media(max-width:600px){.news>p{grid-column:1/3;grid-row:2}.news>a{grid-column:1/3;grid-row:3}.footer>span{grid-column:1;grid-row:1}.footer>a{grid-column:2;grid-row:1}.footer>p{grid-column:1/3;grid-row:2}}
.contact-button{display:block;width:310px;position:relative;padding-right:65px}
.contact-button img{position:absolute;right:24px;top:50%;transform:translateY(-50%)}
.category-line{display:grid;grid-template-columns:minmax(0,1fr) 245px}
.category-line>span:last-child{display:block}.category-line img{display:inline-block;vertical-align:middle;margin-left:14px}
@media(max-width:900px){.menu-toggle{display:block;width:32px;padding:5px 0}.menu-toggle>span{display:block;margin:6px auto}.menu-toggle>b{display:block;text-align:center;margin-top:8px}.category-line{grid-template-columns:minmax(0,1fr) 205px}}
@media(max-width:600px){.contact-button{width:100%}.category-line{display:block}.category-line>span{display:block}.category-line>span:last-child{margin-top:13px}}
