/* Adopted direction from shinji's uploaded reference, 2026-10-24. */
html,body[data-background-page]{min-width:0}
body[data-background-page]{--red:#ff302c;--paper:#fbf9f5;--ink:#151514;--ink-soft:#4d4b48;--muted:#76716c;--line:#c6c1ba;--accent:#ff302c;--accent-deep:#e12421;--accent-soft:#fff0eb;--brand-deep:#ff302c;--brand-purple:#ff302c;--purple-ink:#ed3029;--brand-cyan:#ff302c;--split-navy:#151514;--split-lime:#ff302c;--content-width:1280px;--gutter:32px;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.9}
body[data-background-page]:not([data-proposal-page]) .site-paper-background{opacity:.025;mix-blend-mode:multiply}body[data-background-page] #cursorConfetti{display:none}
body[data-background-page]:not([data-proposal-page]) .site-header{background:var(--paper);border:0;box-shadow:none;backdrop-filter:none;position:relative}
body[data-background-page] .header-inner{width:calc(100% - 64px);max-width:1500px;min-height:96px;gap:25px;margin:auto}
body[data-background-page] .brand{display:flex;align-items:center;gap:14px;min-width:190px;color:var(--ink);text-decoration:none}
body[data-background-page] .site-header .brand{display:flex}
body[data-background-page] .site-header .brand:before{content:'H/';font:300 52px/1 Arial,sans-serif;letter-spacing:-.11em;margin-right:5px}
body[data-background-page] .site-header .brand-mark{display:none}
body[data-background-page] .site-header .brand-name{font:500 15px/1.5 var(--font-body);letter-spacing:.16em}
body[data-background-page] .site-header .brand-name small{font:9px/1.65 Arial,sans-serif;letter-spacing:.2em;margin-top:3px;display:block}
body[data-background-page] .desktop-nav{display:flex;gap:0;margin:0 auto;align-items:center;position:static}
body[data-background-page] .desktop-nav>a{font:500 11px/1.5 Arial,sans-serif;letter-spacing:.04em;min-height:48px;color:var(--ink);display:flex;align-items:center}
body[data-background-page] .desktop-nav>a+a:before{content:'/';display:inline;position:static;background:none;width:auto;height:auto;color:var(--ink);padding:0 27px;font-weight:400;transform:none}
.header-message{font-family:var(--font-heading);font-size:12px;line-height:1.8;letter-spacing:.07em;margin:0;flex-shrink:0}
body[data-background-page] .menu-toggle{display:flex!important;flex-shrink:0;width:52px;height:52px;border:0;border-radius:50%;background:var(--red);color:white;box-shadow:none;margin-left:0;align-items:center;justify-content:center;flex-direction:column;gap:7px}
body[data-background-page] .menu-toggle span{background:currentColor;width:22px;height:1px;position:static;transform:none;margin:0}
body[data-background-page] .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
body[data-background-page] .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
body[data-background-page] .mobile-nav:not([hidden]){display:grid!important;position:absolute;top:85px;left:auto;right:32px;width:min(430px,calc(100% - 40px));max-height:75vh;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:0;padding:25px;box-shadow:0 20px 50px #17130d16;z-index:1000}
body[data-background-page] .mobile-nav a{color:var(--ink);font-size:15px;min-height:44px;padding-block:10px;border-color:#ddd5cc}
body[data-background-page] .button{min-height:56px;padding:14px 30px;font-size:15px;font-weight:500;gap:30px;box-shadow:none;border-radius:999px;line-height:1.5}
body[data-background-page] .button-primary{background:var(--red);border:1px solid var(--red);color:#fff}
body[data-background-page] .button-primary:hover{background:#df231f;border-color:#df231f}
body[data-background-page] .button-secondary{background:transparent;border:1px solid var(--red);color:var(--ink)}
body[data-background-page] .button-secondary .arrow-icon{color:var(--red)}
body[data-background-page] .button-secondary:hover{background:#fff0e9}
body[data-background-page] .arrow-icon{width:23px;height:23px;color:inherit;flex-shrink:0}
body[data-background-page] a:focus-visible,body[data-background-page] button:focus-visible,body[data-background-page] summary:focus-visible{outline:3px solid #d72c24;outline-offset:5px}
body[data-background-page] .button .arrow-icon{transition:transform .25s}body[data-background-page] .button:hover .arrow-icon{transform:translateX(4px)}
.red-hero{padding:12px 32px 34px;position:relative;max-width:1600px;margin:auto}
body[data-background-page] #hero .red-tagline{font-family:var(--font-body);font-size:clamp(76px,11.8vw,190px);font-weight:900;color:var(--red);line-height:1.02;letter-spacing:-.085em;margin:0;position:relative}
.red-line-one{display:block;text-align:center;white-space:nowrap;transform:rotate(-1deg)}
.red-line-two{display:block;padding-left:21.5%;white-space:nowrap;transform:rotate(1deg)}
.red-hero-side{position:absolute;right:15%;top:45%;font-family:var(--font-heading);font-size:clamp(14px,1.55vw,22px);color:var(--red);line-height:1.75;letter-spacing:.035em;margin:0}
.red-edge{position:absolute;font:8px/1.8 Arial,sans-serif;letter-spacing:.2em;top:37%;padding:3px 0 3px 15px;border-left:1px solid #a6a099;margin:0}
.red-edge-left{left:32px}.red-edge-right{right:32px;border-color:#ff302c66}
.red-hero-lead{font-family:var(--font-heading);font-size:clamp(17px,1.8vw,25px);line-height:1.8;letter-spacing:.045em;text-align:center;margin:23px 0 0;max-width:none}
.red-hero-actions{display:flex;justify-content:center;gap:18px;margin-top:23px}.red-hero-actions .button{min-width:240px;justify-content:space-between}
.red-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;counter-reset:project}
.red-work{min-width:0;counter-increment:project}.red-work-art{position:relative;display:block;aspect-ratio:.68;text-decoration:none;overflow:hidden;background:#ddd8cf;color:white}
.red-work-art img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s;max-width:none}.red-work-art:hover img{transform:scale(1.035)}
.red-work-index{position:absolute;top:23px;left:25px;right:20px;display:flex;align-items:center;gap:12px;color:inherit}
.red-work-index>span:first-child{font:300 30px/1 Arial,sans-serif;letter-spacing:-.06em;border-right:1px solid currentColor;padding-right:13px}.red-work-index>span:first-child:before{content:counter(project,decimal-leading-zero)}
.red-work-index>span:last-child{font:500 9px/1.4 Arial,sans-serif;letter-spacing:.08em}
.red-work-type{position:absolute;left:30px;right:20px;bottom:32px}
.red-work-type h2{font-family:var(--font-heading);font-size:clamp(26px,3.05vw,49px);font-weight:500;line-height:1.5;color:inherit;margin:0;letter-spacing:.04em}
.red-work-type>p{font-family:var(--font-heading);font-size:14px;line-height:1.9;margin:0 0 26px;letter-spacing:.06em}
.red-work-type>span{display:block;font:10px/1.7 Arial,sans-serif;letter-spacing:.18em;margin-top:28px}
.red-work-architecture .red-work-index{color:white;text-shadow:0 1px 8px #0008}.red-work-architecture .red-work-type{padding-bottom:6px}.red-work-architecture .red-work-type p{position:absolute;bottom:34px;left:0;margin:0;font-size:13px}.red-work-architecture .red-work-type h2{margin-bottom:53px}
.red-work-festival .red-work-type h2{font-size:clamp(43px,5vw,75px);line-height:1.15;letter-spacing:.04em}.red-work-festival .red-work-type>p{margin-bottom:30px;font-size:16px}
.red-work-botanical .red-work-art{color:#171d18}.red-work-botanical .red-work-type{top:24%;bottom:auto}.red-work-botanical .red-work-type h2{font-size:clamp(23px,2.65vw,42px);line-height:1.6}.red-work-botanical .red-work-type>p{position:absolute;top:115px;font-size:12px;margin:0}.red-work-botanical .red-work-type>span{margin-top:145px;font-family:Georgia,serif;font-size:18px;letter-spacing:.15em}
.red-work-arrow{position:absolute;right:28px;bottom:25px;display:flex;color:#fff}.red-work-arrow .arrow-icon{width:40px!important;height:28px!important}
.red-work-caption{padding:14px 30px 0}.red-work-caption h3{font-family:var(--font-body);font-size:14px;font-weight:500;line-height:1.8;margin:0}.red-work-caption p{font-family:var(--font-heading);font-size:12px;line-height:1.9;color:var(--muted);margin:4px 0 13px}.red-work-caption a{display:inline-flex;align-items:center;gap:15px;min-height:44px;font:10px/1.5 Arial,sans-serif;letter-spacing:.1em;color:var(--ink);text-decoration:none}.red-work-caption a:before{content:'';position:absolute}.red-work-caption a .arrow-icon{width:21px;height:21px}
.red-work-note{margin:20px 32px 0;color:var(--muted);font-size:11px;line-height:1.8;display:flex;justify-content:space-between;gap:20px;max-width:none}.red-work-note a{color:var(--ink);display:inline-flex;align-items:center;gap:12px;min-height:32px;white-space:nowrap;text-decoration:none}
.red-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:48px 32px 0;counter-reset:service}
.red-service{padding:0 25px;min-width:0;border-right:1px solid var(--line);counter-increment:service}.red-service:first-child{padding-left:0}.red-service:last-child{border:0;padding-right:0}
.red-service-number{font:300 22px/1 Arial,sans-serif;color:var(--red);margin:0 0 15px}.red-service-number:before{content:counter(service,decimal-leading-zero)}
.red-service-link{position:relative;display:block;color:var(--ink);text-decoration:none;padding-bottom:28px}
.red-service-link h2{font-family:var(--font-body);font-size:clamp(20px,2.25vw,34px);font-weight:750;letter-spacing:-.04em;line-height:1.5;margin:0;white-space:nowrap}
body[data-background-page] .red-service-link h2{font-weight:750}
.red-service-en{display:block;font:11px/1.6 Arial,sans-serif;color:var(--red);letter-spacing:.16em;margin-top:4px}
.red-service-circle{display:flex;align-items:center;justify-content:center;border:1px solid var(--red);border-radius:50%;width:36px;height:36px;position:absolute;right:0;bottom:0;color:var(--red);transition:background .2s,color .2s}.red-service-circle .arrow-icon{width:20px;height:20px}.red-service-link:hover .red-service-circle{background:var(--red);color:white}
.red-service-copy{font-family:var(--font-heading);font-size:14px;line-height:1.9;min-height:76px;margin:15px 0 0;padding-bottom:16px;border-bottom:1px solid #a49f97}
.red-service ul{list-style:none;padding:15px 0 0;margin:0;counter-reset:serviceitem}.red-service li{counter-increment:serviceitem;font-family:var(--font-heading);font-size:13px;line-height:1.8;display:flex;gap:16px;margin:6px 0}.red-service li:before{content:counter(serviceitem,decimal-leading-zero);font:10px/2.3 Arial,sans-serif}
.red-brand-note{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:40px;margin-top:60px;font-family:var(--font-heading)}.red-brand-note>p{font-size:19px;line-height:1.8;letter-spacing:.04em}.red-brand-note .hero-line{display:inline!important}.red-brand-note .hero-line+.hero-line:before{content:'　'}.red-brand-note .brand-number{color:var(--red);font:inherit}
body[data-background-page] .page-title,body[data-background-page] .business-detail-title,body[data-page="gallery"] .gallery-intro h1{color:var(--red);font-family:var(--font-body);font-weight:800;letter-spacing:-.04em}
body[data-background-page] .group-heading,body[data-background-page] .section-heading h2{font-family:var(--font-body);color:var(--ink);font-weight:700;letter-spacing:-.025em;border-color:var(--line)}
body[data-background-page] .price-list,body[data-background-page] .design-price-option,body[data-background-page] .business-detail-section,body[data-background-page] .work-item,body[data-background-page] .profile-field{background:transparent;border-color:var(--line);box-shadow:none}
body[data-background-page] .price-heading .price,body[data-background-page] .overview-row .price{color:var(--red)}
body[data-background-page] .business-directory-link{border-color:var(--line)}body[data-background-page] .business-directory-link:hover{background:#fff0e9}
body[data-background-page] .step-number{background:var(--red);color:#fff}body[data-background-page] .profile-identity{background:#f0e9df}
body[data-background-page] .contact-callout{background:var(--red);color:#fff;border:0;margin-top:70px}.contact-callout .callout-inner{background:transparent!important;border:0!important}.contact-callout .callout-copy h2{color:#fff!important;font-family:var(--font-body)!important;font-weight:750!important}.contact-callout .button-primary{background:var(--paper)!important;color:var(--red)!important;border-color:var(--paper)!important}
body[data-background-page] .site-footer{background:var(--paper);color:var(--ink)}body[data-background-page] .footer-nav a,body[data-background-page] .footer-businesses a{color:var(--ink)}body[data-background-page] .footer-bottom{color:var(--muted);border-color:var(--line)}
body[data-background-page] .footer-brand .brand-mark,body[data-background-page] .profile-identity .profile-logo{display:none}
body[data-background-page] .footer-brand:before{content:'H/';font:300 48px/1 Arial,sans-serif;letter-spacing:-.1em}
body[data-background-page] .profile-identity:before{content:'H/';font:300 110px/1 Arial,sans-serif;letter-spacing:-.1em;color:var(--red)}
body[data-background-page] .form-field input,body[data-background-page] .form-field textarea{background:#fffdf9;border-color:#b7afa4;border-radius:0}body[data-background-page] .service-option input{accent-color:var(--red)}
body[data-page="gallery"] .gallery-filters button[aria-pressed="true"]{color:var(--red);border-color:var(--red)}body[data-page="gallery"] .gallery-art{background:#eee7dd}.gallery-art-graphic img{object-fit:cover}.gallery-art-action{color:var(--ink)}
@media(min-width:1600px){.red-hero-side{right:16%}.red-work-type{left:40px}.red-work-type h2{font-size:49px}}
@media(max-width:1199px){body[data-background-page] .header-inner{width:calc(100% - 48px);gap:20px}.header-message{display:none}body[data-background-page] .desktop-nav{display:flex}body[data-background-page] .desktop-nav>a+a:before{padding:0 20px}.red-hero-side{right:14%;top:43%;font-size:15px}.red-hero-lead{font-size:19px}.red-service{padding-inline:22px}.red-service-copy{font-size:13px}.red-service li{font-size:12px}.red-service-link h2{font-size:24px}.red-service-en{font-size:10px;letter-spacing:.12em}.red-work-caption{padding-inline:28px}.red-work-type{left:28px}.red-work-botanical .red-work-type>p{top:92px}.red-work-botanical .red-work-type>span{margin-top:125px}}
@media(max-width:950px){body[data-background-page] .desktop-nav>a+a:before{padding:0 13px}body[data-background-page] .brand{min-width:170px}.red-edge{display:none}.red-hero-side{right:11%;font-size:14px}.red-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 0}.red-service:nth-child(2){border:0;padding-right:0}.red-service:nth-child(3){padding-left:0}.red-service-link h2{font-size:28px}.red-work-caption{padding-inline:18px}.red-work-type{left:20px}.red-work-index{left:18px;top:18px}.red-work-index>span:last-child{font-size:8px}.red-work-type>p{font-size:12px}.red-work-botanical .red-work-type>p{top:82px}.red-work-botanical .red-work-type>span{font-size:13px;margin-top:110px}.red-brand-note{display:block}.red-brand-note>p{font-size:17px}}
@media(max-width:719px){body[data-background-page]{--gutter:22px}body[data-background-page] .header-inner{width:calc(100% - 40px);min-height:82px;gap:15px}body[data-background-page] .site-header .brand:before{font-size:45px}body[data-background-page] .brand{min-width:0;gap:12px}body[data-background-page] .site-header .brand-name{font-size:14px}body[data-background-page] .site-header .brand-name small{font-size:8px}body[data-background-page] .desktop-nav{display:none}body[data-background-page] .menu-toggle{width:48px;height:48px;margin-left:auto}body[data-background-page] .mobile-nav:not([hidden]){top:75px;right:20px}.red-hero{padding:22px 20px 32px}body[data-background-page] #hero .red-tagline{font-size:13vw;line-height:1.15;letter-spacing:-.09em}.red-line-one{transform:rotate(-1deg)}.red-line-two{padding-left:11%;transform:rotate(1deg)}.red-hero-side{position:static;font-size:14px;line-height:1.75;max-width:17em;margin:22px 0 0 auto}.red-hero-side br{display:none}.red-hero-lead{font-size:15px;line-height:1.9;letter-spacing:.025em;margin-top:25px}.red-hero-lead br{display:none}.red-hero-actions{gap:10px;flex-wrap:wrap;margin-top:22px}.red-hero-actions .button{min-width:0;padding:13px 20px;font-size:13px;gap:18px;min-height:50px}.red-work-grid{display:grid;grid-auto-flow:column;grid-auto-columns:84vw;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;padding-inline:20px;overscroll-behavior-x:contain}.red-work{scroll-snap-align:start}.red-work-art{aspect-ratio:.72}.red-work-type h2{font-size:34px}.red-work-type{left:25px;bottom:25px}.red-work-index{top:22px;left:25px}.red-work-index>span:last-child{font-size:9px}.red-work-festival .red-work-type h2{font-size:55px}.red-work-festival .red-work-type>p{font-size:15px}.red-work-botanical .red-work-type h2{font-size:29px}.red-work-botanical .red-work-type>p{top:108px;font-size:12px}.red-work-botanical .red-work-type>span{font-size:17px;margin-top:135px}.red-work-caption{padding-inline:2px;padding-bottom:8px}.red-work-caption h3{font-size:14px}.red-work-caption p{font-size:12px}.red-work-note{display:block;font-size:11px;margin:20px 22px 0}.red-work-note a{display:flex;width:max-content;max-width:100%;margin-top:8px;white-space:normal}.red-services{margin:35px 22px 0;grid-template-columns:1fr;gap:0}.red-service{border:0!important;border-top:1px solid var(--line)!important;padding:26px 0!important}.red-service-number{font-size:20px;margin-bottom:10px}.red-service-link h2{font-size:28px}.red-service-link{padding-bottom:8px}.red-service-circle{bottom:5px;width:42px;height:42px}.red-service-en{font-size:11px}.red-service-copy{font-size:15px;min-height:0;padding-bottom:16px;margin-top:18px}.red-service ul{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;padding-top:12px}.red-service li{font-size:13px;gap:10px;line-height:1.8}.red-brand-note{margin-top:20px;padding-top:25px}.red-brand-note>p{font-size:18px}.red-brand-note .hero-line{display:block!important}.red-brand-note .hero-line+.hero-line:before{content:none}body[data-background-page] .button{min-height:52px;font-size:14px;padding-inline:24px}body[data-background-page] .contact-callout{margin-top:45px}body[data-background-page] .callout-copy h2{font-size:30px}body[data-background-page] .business-directory{grid-template-columns:1fr}body[data-background-page] .page-title{font-size:38px}}
@media(max-width:374px){.red-hero-actions{flex-direction:column;align-items:stretch}.red-hero-actions .button{justify-content:space-between}.red-hero-side{font-size:13px}.red-hero-lead{font-size:15px}.red-service ul{grid-template-columns:1fr}.red-work-botanical .red-work-type h2{font-size:25px}.red-work-botanical .red-work-type>p{top:94px}.red-work-botanical .red-work-type>span{margin-top:115px}}
@media(max-width:719px){.red-work-architecture .red-work-type h2{font-size:clamp(24px,7.5vw,34px)}.red-service li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px}.red-service li:before{min-width:20px}.red-work-caption p{font-size:13px}}
@media(max-width:719px){body[data-background-page] #hero .red-tagline{font-size:12vw}}
@media(prefers-reduced-motion:reduce){.red-work-art img,body[data-background-page] .button .arrow-icon,.red-service-circle{transition:none}.red-line-one,.red-line-two{transform:none}}
