--ink2:#2d2820;--paper:#f7f4ef;--paper2:#ede9e1;--accent:#7c6444;--gold:#b8964e;--gold-light:#d4b06a;--line:rgba(124,100,68,0.18);--white:#fdfbf8;} *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;} html{scroll-behavior:smooth;} body{font-family:'Lato',sans-serif;background:var(--paper);color:var(--ink);line-height:1.85;overflow-x:hidden;font-weight:300;} #lang-bar{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--ink);display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;height:40px;} .bar-brand{font-family:'Josefin Sans',sans-serif;font-weight:100;font-size:0.62rem;letter-spacing:0.38em;color:rgba(255,255,255,0.3);text-transform:uppercase;} .lang-link{font-family:'Josefin Sans',sans-serif;font-size:0.65rem;font-weight:300;letter-spacing:0.18em;color:var(--gold-light);text-decoration:none;border:1px solid rgba(184,150,78,0.4);padding:4px 14px;transition:background 0.25s;} .lang-link:hover{background:rgba(184,150,78,0.15);} nav{position:fixed;top:40px;left:0;right:0;z-index:199;background:rgba(247,244,239,0.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;height:68px;} .nav-logo .main{font-size:1rem;font-weight:400;letter-spacing:0.1em;display:block;color:var(--ink);} .nav-logo .sub{font-family:'Josefin Sans',sans-serif;font-size:0.55rem;font-weight:100;letter-spacing:0.4em;color:var(--accent);text-transform:uppercase;display:block;} .nav-links{display:flex;gap:2rem;list-style:none;align-items:center;} .nav-links a{font-size:0.72rem;font-weight:300;letter-spacing:0.08em;color:var(--ink2);text-decoration:none;position:relative;padding-bottom:3px;transition:color 0.25s;} .nav-links a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.3s;} .nav-links a:hover{color:var(--accent);} .nav-links a:hover::after{transform:scaleX(1);} .nav-cta{font-family:'Josefin Sans',sans-serif;font-size:0.65rem;font-weight:300;letter-spacing:0.2em;text-transform:uppercase;background:var(--ink);color:var(--white)!important;padding:9px 22px;text-decoration:none;transition:background 0.3s;} .nav-cta:hover{background:var(--accent)!important;} .nav-cta::after{display:none!important;} #hero{min-height:100vh;padding-top:108px;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--ink2);} .hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 70% 50%,rgba(124,100,68,0.14) 0%,transparent 70%),radial-gradient(ellipse 50% 80% at 10% 80%,rgba(184,150,78,0.07) 0%,transparent 60%);} .hero-inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:0 2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;} .hero-eyebrow{font-family:'Josefin Sans',sans-serif;font-size:0.62rem;font-weight:200;letter-spacing:0.45em;color:var(--gold);text-transform:uppercase;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;} .hero-eyebrow::before{content:'';width:40px;height:1px;background:var(--gold);} h1.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,5vw,4rem);font-weight:300;line-height:1.2;color:var(--white);margin-bottom:0.8rem;letter-spacing:0.02em;} h1.hero-title em{font-style:italic;color:var(--gold-light);} .hero-sub{font-size:clamp(0.85rem,1.4vw,1rem);font-weight:300;color:rgba(255,255,255,0.5);letter-spacing:0.1em;margin-bottom:2.5rem;display:block;line-height:1.7;} .hero-desc{font-size:0.82rem;font-weight:300;color:rgba(255,255,255,0.55);line-height:2.1;margin-bottom:3rem;letter-spacing:0.03em;} .hero-btns{display:flex;gap:1rem;flex-wrap:wrap;} .btn-primary{font-family:'Josefin Sans',sans-serif;font-size:0.65rem;font-weight:300;letter-spacing:0.25em;text-transform:uppercase;background:var(--gold);color:var(--ink);padding:14px 32px;text-decoration:none;transition:background 0.3s;display:inline-block;} .btn-primary:hover{background:var(--gold-light);} .btn-ghost{font-family:'Josefin Sans',sans-serif;font-size:0.65rem;font-weight:300;letter-spacing:0.25em;text-transform:uppercase;border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.65);padding:14px 32px;text-decoration:none;transition:all 0.3s;display:inline-block;} .btn-ghost:hover{border-color:var(--gold);color:var(--gold-light);} .hero-right{display:flex;flex-direction:column;gap:1px;} .hero-stat{background:rgba(255,255,255,0.03);border:1px solid rgba(184,150,78,0.15);padding:1.6rem 2rem;transition:background 0.3s;} .hero-stat:hover{background:rgba(184,150,78,0.07);} .hero-stat-num{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--gold-light);display:block;} .hero-stat-label{font-size:0.72rem;font-weight:300;color:rgba(255,255,255,0.45);letter-spacing:0.08em;} section{padding:7rem 2.5rem;} .section-inner{max-width:1100px;margin:0 auto;} .section-label{font-family:'Josefin Sans',sans-serif;font-size:0.6rem;font-weight:200;letter-spacing:0.5em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:1rem;} .section-label::before{content:'';width:30px;height:1px;background:var(--gold);} h2.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:300;line-height:1.25;letter-spacing:0.02em;margin-bottom:0.8rem;} .section-sub{font-size:0.82rem;font-weight:300;color:#666;max-width:700px;margin-bottom:3.5rem;line-height:2;letter-spacing:0.03em;} #services{background:var(--white);} .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;border:1px solid var(--line);} .service-card{background:var(--white);padding:2.5rem 2rem;border-right:1px solid var(--line);position:relative;overflow:hidden;transition:background 0.3s;} .service-card:last-child{border-right:none;} .service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.4s;} .service-card:hover{background:var(--paper2);} .service-card:hover::after{transform:scaleX(1);} .service-num{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:300;color:rgba(124,100,68,0.1);line-height:1;margin-bottom:1rem;} .service-name{font-size:0.95rem;font-weight:400;letter-spacing:0.08em;margin-bottom:0.3rem;} .service-tag{font-family:'Josefin Sans',sans-serif;font-size:0.58rem;font-weight:200;letter-spacing:0.3em;color:var(--accent);text-transform:uppercase;margin-bottom:1.2rem;display:block;} .service-desc{font-size:0.78rem;font-weight:300;color:#555;line-height:2;letter-spacing:0.02em;} #glossary{background:var(--paper2);} .glossary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1rem;} .glossary-card{background:var(--white);border-left:3px solid var(--gold);padding:1.8rem 1.6rem;} .glossary-term{font-size:0.9rem;font-weight:400;letter-spacing:0.06em;margin-bottom:0.3rem;color:var(--ink);} .glossary-ja{font-family:'Josefin Sans',sans-serif;font-size:0.58rem;font-weight:200;letter-spacing:0.2em;color:var(--accent);margin-bottom:0.8rem;display:block;} .glossary-def{font-size:0.76rem;font-weight:300;color:#555;line-height:1.95;letter-spacing:0.02em;} #pricing{background:var(--white);} .pricing-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;} .pricing-table th{font-family:'Josefin Sans',sans-serif;font-size:0.6rem;font-weight:300;letter-spacing:0.3em;text-transform:uppercase;color:var(--accent);text-align:left;padding:1rem 1.5rem;border-bottom:1px solid var(--line);background:var(--paper2);} .pricing-table td{padding:1.2rem 1.5rem;border-bottom:1px solid var(--line);font-size:0.82rem;font-weight:300;color:var(--ink2);vertical-align:top;letter-spacing:0.02em;} .pricing-table tr:last-child td{border-bottom:none;} .pricing-table tr:hover td{background:rgba(184,150,78,0.04);} .price-val{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;color:var(--ink);white-space:nowrap;} .price-note{font-size:0.67rem;color:#999;display:block;margin-top:0.2rem;} .price-badge{display:inline-block;font-family:'Josefin Sans',sans-serif;font-size:0.55rem;font-weight:300;letter-spacing:0.15em;background:var(--gold);color:var(--ink);padding:2px 8px;margin-left:8px;vertical-align:middle;} .pricing-note{font-size:0.72rem;color:#888;line-height:2;border-top:1px solid var(--line);padding-top:1.5rem;letter-spacing:0.02em;} #faq{background:var(--ink2);} #faq h2.section-title{color:var(--white);} #faq .section-sub{color:rgba(255,255,255,0.4);} .faq-list{margin-top:1rem;} .faq-item{border-bottom:1px solid rgba(255,255,255,0.07);} .faq-q{width:100%;background:none;border:none;display:flex;justify-content:space-between;align-items:flex-start;padding:1.8rem 0;cursor:pointer;font-family:'Lato',sans-serif;font-size:0.88rem;font-weight:300;color:rgba(255,255,255,0.82);text-align:left;letter-spacing:0.04em;gap:2rem;transition:color 0.25s;line-height:1.7;} .faq-q:hover{color:var(--gold-light);} .faq-icon{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;color:var(--gold);flex-shrink:0;transition:transform 0.35s;line-height:1;margin-top:2px;} .faq-item.open .faq-icon{transform:rotate(45deg);} .faq-a{max-height:0;overflow:hidden;transition:max-height 0.45s ease;} .faq-a-inner{font-size:0.78rem;font-weight:300;color:rgba(255,255,255,0.48);line-height:2.1;padding-bottom:2rem;letter-spacing:0.03em;} .faq-item.open .faq-a{max-height:700px;} #contact{background:var(--paper2);} .contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;margin-top:1rem;align-items:start;} .contact-block{margin-bottom:2.2rem;} .contact-label{font-family:'Josefin Sans',sans-serif;font-size:0.57rem;font-weight:200;letter-spacing:0.42em;color:var(--accent);text-transform:uppercase;margin-bottom:0.5rem;display:block;} .contact-val{font-size:0.85rem;font-weight:300;color:var(--ink);letter-spacing:0.04em;line-height:1.9;} .contact-form{display:flex;flex-direction:column;gap:1rem;} .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;} .form-group{display:flex;flex-direction:column;} .form-group label{font-family:'Josefin Sans',sans-serif;font-size:0.57rem;font-weight:200;letter-spacing:0.38em;text-transform:uppercase;color:var(--accent);margin-bottom:0.5rem;} .form-group input,.form-group select,.form-group textarea{background:var(--white);border:1px solid var(--line);padding:0.85rem 1rem;font-family:'Lato',sans-serif;font-size:0.8rem;font-weight:300;color:var(--ink);outline:none;transition:border-color 0.25s;appearance:none;} .form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);} .form-group textarea{resize:vertical;min-height:100px;} .form-submit{font-family:'Josefin Sans',sans-serif;font-size:0.65rem;font-weight:300;letter-spacing:0.28em;text-transform:uppercase;background:var(--ink);color:var(--white);border:none;padding:15px 40px;cursor:pointer;transition:background 0.3s;align-self:flex-start;margin-top:0.5rem;} .form-submit:hover{background:var(--accent);} footer{background:var(--ink);padding:2.5rem 2.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;} .footer-logo .main{font-size:0.88rem;font-weight:300;letter-spacing:0.12em;color:rgba(255,255,255,0.6);display:block;} .footer-logo .sub{font-family:'Josefin Sans',sans-serif;font-size:0.54rem;font-weight:100;letter-spacing:0.4em;color:rgba(255,255,255,0.28);display:block;margin-top:0.2rem;} .footer-links{display:flex;gap:1.5rem;} .footer-links a{font-family:'Josefin Sans',sans-serif;font-size:0.58rem;font-weight:200;letter-spacing:0.22em;color:rgba(255,255,255,0.3);text-decoration:none;transition:color 0.25s;} .footer-links a:hover{color:var(--gold-light);} .footer-copy{font-family:'Josefin Sans',sans-serif;font-size:0.56rem;font-weight:100;letter-spacing:0.28em;color:rgba(255,255,255,0.2);} @keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}} .fade{opacity:0;animation:fadeUp 0.8s ease forwards;} .fade:nth-child(1){animation-delay:0.1s}.fade:nth-child(2){animation-delay:0.25s}.fade:nth-child(3){animation-delay:0.4s}.fade:nth-child(4){animation-delay:0.55s} @media(max-width:900px){.hero-inner{grid-template-columns:1fr;gap:2rem;}.hero-right{display:none;}.contact-grid{grid-template-columns:1fr;gap:2.5rem;}nav{padding:0 1.2rem;}.nav-links{display:none;}section{padding:5rem 1.2rem;}}
We are an English-speaking administrative scrivener office (行政書士事務所) specializing in hotel, ryokan, and guesthouse licensing in Hakuba Village and the surrounding Omachi Health Office jurisdiction in Nagano, Japan. From Ryokan Business Act permit applications to fire code and water pollution compliance — we handle everything in English and Japanese. Trusted by foreign investors and international operators entering Hakuba's growing hospitality market.
From Ryokan Business Act permit applications to all associated regulatory filings, our firm handles every step of the licensing process for hotel, ryokan, and guesthouse operations in Hakuba Village and the Omachi Health Office jurisdiction.
We handle all permit applications under the Ryokan Business Act — covering Hotel, Ryokan, and Simple Lodging categories. From pre-consultation at the Omachi Health Office to document preparation, submission, and on-site inspection attendance — we manage everything through to permit issuance.
Hotels and ryokan are Specified Fire Prevention Objects under Japan's Fire Service Act, requiring strict compliance. We handle: ① obtaining the Fire Code Compliance Certificate (mandatory attachment to the Ryokan Business permit application, issued by the fire department after on-site inspection), ② filing the Use Commencement Notification and Fire Equipment Installation Notification (within 4 days of construction completion), ③ confirming fire equipment requirements (alarm systems, exit lighting, extinguishers), ④ attending the fire department inspection, and ⑤ advising on flame-retardant labelled furnishings (curtains, carpets, fabric blinds) required under Fire Service Act Article 8-3.
If your property includes bath facilities, kitchen equipment, or laundry facilities, you must file a Specified Facility Installation Notification with Nagano Prefecture at least 60 days before construction begins. We prepare and submit this filing on your behalf.
Hakuba is one of Japan's fastest-growing inbound hospitality markets. We offer full English-language consultations, document explanations, and correspondence. We also assist with Japanese company formation (GK/KK) as a prerequisite for permit applications by non-resident investors.
Navigating Japan's hotel licensing system requires understanding specific legal terms and regulatory frameworks. Here we explain the key concepts you'll encounter when opening a hotel or ryokan in Hakuba.
Japan's primary law governing accommodation businesses that charge guests for lodging. Requires a permit from the prefectural governor (processed via Omachi Health Office for Hakuba). The 2018 revision simplified categories into Hotel, Ryokan, and Simple Lodging. Operating without a permit is a criminal offense.
A permit category under the Ryokan Business Act suitable for guesthouses, hostels, and small lodges. The key requirement is a minimum total floor area of 33 sqm for guest rooms. Popular for boutique Hakuba lodge operators seeking a straightforward path to legal operation.
The designated government office under Nagano Prefecture handling Ryokan Business Act permits for Hakuba Village, Otari Village, Omachi City, Ikeda Town, and Matsukawa Village. All pre-consultations, submissions, and inspections for ryokan licensing in this region go through this office.
A mandatory document attached to the Ryokan Business permit application, certifying that the facility complies with Japan's fire codes. The process: (1) apply to the local fire department with floor plans → (2) fire department conducts on-site inspection → (3) certificate issued approximately 1 week after inspection. Without this certificate, the health office will not accept your ryokan permit application.
Under Fire Service Act Article 8-3, hotels and ryokan must use flame-retardant certified products (bearing the official Bouen label issued by the Japan Flame Retardants Association) for curtains, carpets, and fabric blinds. This is a legal obligation — non-compliance constitutes a fire code violation. Verification must be done during the interior construction phase.
A classification under Japan's Fire Service Act for facilities with heightened fire risk, including hotels and ryokan. Triggers strict requirements: automatic fire alarm systems, emergency exit lighting, fire extinguishers, and sprinklers. Pre-construction consultation with the fire station is mandatory.
Facilities under Japan's Water Pollution Prevention Act that may discharge wastewater, including hotel baths, laundry equipment, and kitchens. Installation requires filing a notification at least 60 days before construction. One of the most commonly overlooked requirements for new hotel operators in Japan.
A nationally licensed legal professional in Japan authorized to prepare and submit government permit applications on behalf of clients. Our firm is staffed by a licensed Administrative Scrivener (Douglas Sakura / ダグラス桜) with deep expertise in Hakuba's hospitality licensing landscape and full English-language capability.
All fees are inclusive of Japanese consumption tax (10%). Fees may vary depending on case complexity and property scale. Please feel free to contact us.
| Service | Administrative Scrivener Fee (incl. tax) | Notes |
|---|---|---|
| Ryokan Business Permit (Hotel / Ryokan) | ¥220,000~Nagano Prefecture revenue stamp ¥23,000 charged separately | Omachi Health Office jurisdiction · Full service from pre-consult to permit |
| Ryokan Business Permit (Simple Lodging) | ¥154,000~Nagano Prefecture revenue stamp ¥23,000 charged separately | Hakuba, Otari, Omachi, etc. |
| Fire Code Notifications (Full Set) | ¥55,000~ | Bundled discount available with Ryokan permit |
| Water Pollution Prevention Filing | ¥44,000~ | Includes Nagano Prefecture submission |
| Full Package (Ryokan + Fire + Water)Best Value | ¥297,000~approx. 15% discount | Recommended for new hotel openings in Hakuba |
* Government filing fee: Nagano Prefecture revenue stamp ¥23,000 applies to both Hotel/Ryokan and Simple Lodging permits (Omachi Health Office jurisdiction).
* Fees may vary depending on property condition and complexity of regulatory negotiations.
* Translation and interpretation fees for languages other than Japanese and English may apply.
The most common questions we receive from foreign investors and international operators looking to open hotels, ryokan, or guesthouses in Hakuba Village, Japan.
Please use the inquiry form below and we will respond promptly.