:root{--text:#222;--gray:#5c5f55;--gray-line:#cecfcc;--gray-bg:#f1f1ee;--sub:#6b6c66;--crimson:#c0143d;--font-mincho:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;--font-gothic:"Hiragino Sans", "Yu Gothic", "YuGothic", "Meiryo", "Noto Sans JP", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);font-family:var(--font-gothic);-webkit-text-size-adjust:100%;background:#fff;margin:0;font-size:16px;font-weight:500;line-height:1.9}img{max-width:100%;height:auto}a{color:var(--text)}.container{max-width:1200px;margin:0 auto;padding:0 40px}.site-header{background:#fff}.header-inner{justify-content:space-between;align-items:flex-start;gap:16px 32px;padding-top:30px;padding-bottom:24px;display:flex}.brand{border-left:3px solid var(--crimson);color:var(--text);padding-left:12px;line-height:1.3;text-decoration:none;display:block}.group-label{color:var(--gray);letter-spacing:.12em;margin-bottom:5px;font-size:11px;display:block}.wordmark{width:202px;height:auto;display:block}.global-nav ul{gap:18px;margin:0;padding:0;list-style:none;display:flex}.global-nav a{color:var(--gray);letter-spacing:.25em;writing-mode:vertical-rl;font-size:13px;text-decoration:none;display:inline-block}.global-nav a:before{content:"／";color:var(--gray-line);margin-bottom:6px}.global-nav a:hover,.global-nav a:focus-visible{color:var(--crimson)}.hero-title{font-family:var(--font-mincho);letter-spacing:.14em;writing-mode:vertical-rl;margin:0;font-size:30px;font-weight:500;line-height:1.6}.hero-title span{display:block}.hero-title span+span{padding-inline-start:1.7em}.hero{overflow:hidden}.hero-inner{grid-template-columns:auto minmax(0,1fr);align-content:start;gap:24px 40px;min-height:calc(100svh - 150px);padding-top:16px;padding-bottom:96px;display:grid;position:relative}.hero .hero-title{border-left:1px solid var(--crimson);grid-area:1/1/span 2;padding-left:28px}.hero-lead{color:#444;grid-area:2/2;align-self:end;margin:0;font-size:14px;line-height:2.2}.hero-year{color:#0000;letter-spacing:-.02em;-webkit-text-stroke:1px #bfc0ba;pointer-events:none;user-select:none;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(90px,20vw,270px);line-height:1;position:absolute;top:-10px;right:20px}.hero-photo{grid-column:1/-1;justify-self:end;margin-top:32px}.hero-photo img{width:440px}.hero-box{color:#fff;min-width:200px;text-decoration:none}.hero-box span{display:block}.hero-box .box-en{letter-spacing:.2em;opacity:.8;font-size:11px}.hero-box .box-ja{font-family:var(--font-mincho);letter-spacing:.15em;margin:2px 0 6px;font-size:18px}.hero-box .box-sub{opacity:.85;font-size:11.5px}.hero-box:hover,.hero-box:focus-visible{background:var(--text)}.hero-box:focus-visible{outline:2px solid var(--text);outline-offset:3px}.hero-label{display:none}.hero-scroll{color:var(--sub);letter-spacing:.3em;writing-mode:vertical-rl;margin:0;font-size:10px;line-height:1;position:absolute;bottom:0;right:20px}.hero-scroll:after{content:"";background:var(--crimson);width:1px;height:48px;margin-top:10px;display:inline-block}.body-text{margin:0;line-height:2.1}.business-main{grid-template-columns:minmax(0,1fr);align-items:start;gap:48px;display:grid}.business-photo{justify-self:end}.box-list{margin:0;padding:14px 20px;list-style:none}.section{padding:88px 0}.section-alt{background:var(--gray-bg)}.section-grid{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:0 56px;display:grid}.section-title{font-family:var(--font-mincho);letter-spacing:.14em;margin:0 0 24px;font-size:22px;font-weight:500}.sub-title{font-family:var(--font-mincho);letter-spacing:.1em;margin:48px 0 16px;font-size:18px;font-weight:500}.phrase{align-items:flex-start;gap:26px;display:flex}.phrase-label{color:var(--sub);letter-spacing:.3em;writing-mode:vertical-rl;font-size:10.5px;line-height:1}.phrase-label:before{content:"";background:var(--crimson);width:1px;height:30px;margin-bottom:12px;display:inline-block}.phrase-text{border-left:1px solid var(--crimson);font-family:var(--font-mincho);letter-spacing:.16em;writing-mode:vertical-rl;margin:0;padding-left:22px;font-size:32px;font-weight:500;line-height:1.5}.phrase-text span{display:block}.phrase-text span+span{padding-inline-start:2em}.photo{margin:0;position:relative}.photo img{filter:grayscale()contrast(1.05);display:block}.overlap-box{background:var(--gray);color:#fff;outline:1px solid var(--crimson);outline-offset:-1px;padding:14px 20px;font-size:13px;line-height:1.8;position:absolute;bottom:-24px;left:-32px}.card-grid{grid-template-columns:1fr;gap:32px;display:grid}.card{background:#fff;padding:0 0 26px}.card-media{background:#fff;justify-content:center;align-items:center;height:200px;margin-bottom:20px;display:flex;overflow:hidden}.card-media img{filter:grayscale()contrast(1.05);width:auto;max-height:100%}.card h3,.card h2{font-family:var(--font-mincho);letter-spacing:.12em;margin:0 26px 6px;font-size:19px;font-weight:500}.card p{color:var(--gray);margin:0 26px;font-size:14px}.section:not(.section-alt) .card{border:1px solid var(--gray-line)}.section-more{text-align:right;letter-spacing:.08em;margin:32px 0 0;font-size:14px}.section-more a:after{content:" →";color:var(--crimson)}.page-lead{max-width:34em;margin-top:20px}.map-grid{grid-template-columns:1fr;align-items:start;gap:32px;display:grid}.map-figure{background:#fff;max-width:560px;margin:0;padding:20px}.route-map{width:100%;height:auto;font-family:var(--font-gothic);display:block}.route-map .sea{fill:#e4e6e1}.route-map .road{fill:none;stroke:var(--sub);stroke-width:2.4px;stroke-linejoin:round;stroke-linecap:round}.route-map .national{fill:none;stroke:#8f908a;stroke-width:1.4px;stroke-linejoin:round;stroke-linecap:round}.route-map .ic{fill:#fff;stroke:var(--gray);stroke-width:1.4px}.route-map .airport{fill:#fff;stroke:var(--text);stroke-width:2px}.route-map .site{fill:var(--crimson)}.route-map .leader{fill:none;stroke:var(--crimson);stroke-width:1px}.route-map text{fill:var(--gray);font-size:11px}.route-map .ic-lb{fill:var(--sub);font-size:10px}.route-map .dir{fill:var(--text);font-size:11px}.route-map .site-lb{fill:var(--crimson);font-size:12px;font-weight:600}.route-map .sea-lb{fill:var(--sub);letter-spacing:.3em}.map-figure figcaption{color:var(--sub);letter-spacing:.08em;margin-top:10px;font-size:12px}.map-note{color:var(--gray);margin:16px 0 0;font-size:13px}.card .more{letter-spacing:.08em;margin:12px 26px 0;font-size:13px;display:inline-block}.info-table{border-collapse:collapse;border-top:1px solid var(--gray-line);width:100%}.info-table th,.info-table td{border-bottom:1px solid var(--gray-line);text-align:left;vertical-align:top;padding:16px 18px}.info-table th{width:11em;color:var(--gray);white-space:nowrap;font-weight:500}.plain-list{margin:0;padding:0;list-style:none}.group-list{border-top:1px solid var(--gray-line);margin:0;padding:0;list-style:none}.group-list li{border-bottom:1px solid var(--gray-line);padding:14px 0}.group-list .name{font-weight:600}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.br-sp{display:none}.group-list .desc{color:var(--gray);font-size:14px;display:block}.contact-band .inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.contact-band p{margin:0}.contact-band .tel{letter-spacing:.06em;font-size:24px}.contact-band .tel a{text-decoration:none}.btn{background:var(--text);color:#fff;font:inherit;letter-spacing:.1em;cursor:pointer;border:0;border-radius:0;padding:14px 36px;font-weight:600;text-decoration:none;display:inline-block}.btn:hover,.btn:focus-visible{background:var(--gray)}.page-hero{border-bottom:1px solid var(--gray-line);padding:24px 0 32px}.crumb{color:var(--sub);letter-spacing:.06em;margin:0 0 10px;font-size:12.5px}.crumb a{color:var(--sub)}.page-title{font-family:var(--font-mincho);letter-spacing:.14em;margin:0;font-size:clamp(24px,3.4vw,30px);font-weight:500}.detail-grid{grid-template-columns:1fr;align-items:start;gap:32px;display:grid}.detail-media{justify-items:start;gap:16px;display:grid}.detail-media img{filter:grayscale()contrast(1.05);display:block}.detail-body{margin-top:40px}.detail-body .info-table th{width:6.5em}.map-frame{aspect-ratio:16/10;border:1px solid var(--gray-line)}.map-frame iframe{filter:grayscale(.6);border:0;width:100%;height:100%;display:block}.back-link{margin:32px 0 0;font-size:14px}.narrow{max-width:760px}.lead{margin:0 0 28px}.contact-form .field{margin-bottom:22px}.contact-form label{margin-bottom:6px;font-weight:600;display:block}.req{background:var(--crimson);color:#fff;vertical-align:2px;margin-left:8px;padding:0 6px;font-size:11px;font-weight:600;display:inline-block}.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form textarea{border:1px solid var(--gray-line);width:100%;color:var(--text);font:inherit;background:#fff;border-radius:0;padding:11px 12px}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--gray);outline-offset:1px}.contact-form .agree{align-items:center;gap:8px;font-weight:600;display:flex}.contact-form .agree input{width:18px;height:18px}.form-actions{text-align:center;margin-top:28px}.contact-form .cf-turnstile{margin-top:24px}.contact-form .turnstile-note{color:var(--gray);margin:12px 0 0;font-size:14px}.contact-form .turnstile-note a{color:inherit}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.privacy{background:var(--gray-bg);margin:32px 0 20px;padding:22px 26px;font-size:14px}.privacy h2{font-family:var(--font-mincho);letter-spacing:.08em;margin:0 0 12px;font-size:18px;font-weight:500}.privacy h3{margin:14px 0 2px;font-size:14px;font-weight:600}.privacy p{margin:0}.error-list{color:var(--crimson);margin:0 0 24px;padding-left:1.4em}.site-footer{background:var(--gray-bg);color:var(--gray);letter-spacing:.04em;padding:36px 0;font-size:12.5px}.site-footer p{margin:0}.site-footer p+p{margin-top:6px}.intro{display:none}.js .intro{z-index:100;cursor:pointer;background:#fff;justify-content:center;align-items:center;transition:opacity .9s,visibility 0s linear .9s;animation:.6s 4s forwards intro-auto-out;display:flex;position:fixed;inset:0}@keyframes intro-auto-out{to{opacity:0;visibility:hidden}}.intro-skip .intro{display:none}.intro-brand{border-left:3px solid var(--crimson);padding-left:16px;line-height:1.3}.intro-brand .group-label{margin-bottom:8px;font-size:13px}.intro-wordmark{width:303px;max-width:70vw;height:auto;display:block}.js .intro-brand{opacity:0;transition:opacity 1s,transform 1s;transform:translateY(10px)}.js .intro.is-in .intro-brand{opacity:1;transform:none}.js .intro.is-out{opacity:0;visibility:hidden}.js .hero .hero-lead.reveal{transition-delay:.3s}.js .hero .hero-photo.reveal{transition-delay:.6s}.js .reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(16px)}.js .reveal.is-visible{opacity:1;transform:none}@media (width>=768px) and (width<=1099px){.hero-photo{grid-area:1/2;align-self:start;margin-top:120px}}@media (width>=1100px){.hero-inner{min-height:max(620px,100vh - 180px);padding:0;display:block}.hero-scroll{right:52px}.hero .hero-title{position:absolute;top:10px;left:110px}.hero-lead{position:absolute;top:330px;left:290px}.hero-year{top:-40px;right:96px}.hero-photo{margin:0;position:absolute;top:200px;left:640px}.hero-box{bottom:-56px;left:-80px}.hero-label{color:var(--sub);letter-spacing:.3em;writing-mode:vertical-rl;margin:0;font-size:10px;display:block;position:absolute;top:200px;right:52px}.hero-label:before{content:"";background:var(--crimson);width:1px;height:40px;margin-bottom:10px;display:inline-block}.business-main{grid-template-columns:minmax(0,1fr) auto}.business-photo{margin-top:64px}}.fp,.fp body{height:100%;overflow:hidden}.fp .site-header{z-index:50;pointer-events:none;background:0 0;position:fixed;top:0;left:0;right:0}.fp .site-header a{pointer-events:auto}.fp main>section{will-change:transform;scrollbar-width:thin;scrollbar-color:var(--gray-line) transparent;background:#fff;flex-direction:column;margin:0;padding:0 0 40px;transition:transform 1s cubic-bezier(.7,0,.3,1);display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(100%)}.fp main>section:before{content:"";z-index:2;background:inherit;flex:none;height:170px;position:sticky;top:0}.fp main>section:focus{outline:none}.fp main>section.section-alt{background:var(--gray-bg)}.fp main>section>.container{width:100%;margin-top:auto;margin-bottom:auto}.fp main>section.is-before{transform:translateY(-20%)}.fp main>section.is-current{transform:none}.fp main>section.hero{padding-top:150px}.fp main>section.hero:before{content:none}.fp main>section.hero>.container{margin-top:0}.fp .hero-inner{min-height:calc(100vh - 190px)}.fp main>section .site-footer{margin-top:auto}@media (height<=824px){.fp main>section.hero{padding-top:130px}.fp .hero-inner{min-height:calc(100vh - 170px)}.fp .hero-title{font-size:26px}.fp .hero-lead{top:280px}.fp .hero-photo{top:150px}.fp .hero-label{display:none}}.fp .fp-dots{z-index:60;margin:0;padding:0;list-style:none;position:fixed;top:50%;right:22px;transform:translateY(-50%)}.fp .fp-dots button{cursor:pointer;background:0 0;border:0;width:24px;height:22px;padding:0;display:block}.fp .fp-dots button:before{content:"";background:var(--sub);width:12px;height:1px;margin-left:auto;transition:width .4s,background .4s;display:block}.fp .fp-dots button[aria-current=true]:before{background:var(--crimson);width:24px}.fp .fp-dots button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.fp .fp-count{z-index:60;color:var(--sub);letter-spacing:.2em;margin:0;font-size:11px;position:fixed;bottom:28px;left:40px}.fp .fp-count b{color:var(--crimson);font-weight:500}@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transition:none;transform:none}.js .intro-brand{transform:none}html{scroll-behavior:auto}.fp main>section,.fp .fp-dots button:before{transition:none}}@media (width>=1024px){.map-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}}@media (width>=768px){.card-grid.cols-2{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}}@media (width<=767px){.container{padding-left:20px;padding-right:20px}.header-inner{flex-direction:column;gap:14px;padding-top:22px;padding-bottom:18px}.global-nav ul{flex-wrap:wrap;gap:4px 20px}.global-nav a{writing-mode:horizontal-tb;letter-spacing:.08em}.global-nav a:before{content:none}.hero-title{letter-spacing:.1em;font-size:24px}.section{padding:56px 0}.section-grid{display:block}.phrase{margin-bottom:32px}.phrase-solo{display:none}.phrase-text{font-size:24px}.overlap-box{bottom:-20px;left:12px}.info-table th,.info-table td{white-space:normal;width:auto;display:block}.info-table th{border-bottom:0;padding-bottom:4px}.info-table td{padding-top:4px}.br-sp{display:inline}.contact-band .tel{font-size:21px}.map-figure{margin:0 -20px;padding:12px 8px}.route-map text{font-size:13px}.route-map .ic-lb{font-size:12px}.route-map .dir{font-size:13px}.route-map .site-lb{font-size:14px}}@media print{.js .reveal{opacity:1;transition:none;transform:none}.js .intro{display:none}.fp,.fp body{height:auto!important;overflow:visible!important}.fp .site-header{position:static!important}.fp main>section{padding:48px 0;position:static!important;overflow:visible!important;transform:none!important}.fp main>section:before{content:none}.fp .fp-dots,.fp .fp-count{display:none}}
