:root{--color-blue:#2b568c;--color-blue-hover:#1f4270;--color-yellow:#ebb930;--color-text:#222;--color-text-muted:#5f6368;--color-bg:#fff;--color-surface:#f4f5f7;--color-border:#d9dcdf;--color-link:var(--color-blue);--color-on-blue:#fff;--color-primary:var(--color-blue);--color-primary-dark:var(--color-blue-hover);--color-accent:var(--color-yellow);--color-on-primary:var(--color-on-blue);--font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", system-ui, sans-serif;--font-size-base:1rem;--font-size-sm:.875rem;--font-size-lg:1.125rem;--font-size-h1:1.75rem;--font-size-h2:1.375rem;--font-size-h3:1.125rem;--font-size-h4:1rem;--line-height:1.8;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.5rem;--space-6:4rem;--space-7:6rem;--content-width:67.5rem;--text-width:45rem;--header-height:4rem;--radius:4px}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-text);background:var(--color-bg);-webkit-text-size-adjust:100%}body{margin:0}body.menu-open{overflow:hidden}a{color:var(--color-link)}h1,h2,h3,h4{margin:0 0 var(--space-3);line-height:1.4}h1{font-size:var(--font-size-h1);margin-top:var(--space-5)}h2{font-size:var(--font-size-h2);margin-top:var(--space-5)}h3{font-size:var(--font-size-h3);margin-top:var(--space-4)}h4{font-size:var(--font-size-h4);margin-top:var(--space-3)}p,ul,ol,table{margin:0 0 var(--space-3)}img{max-width:100%;height:auto}[id]{scroll-margin-top:calc(var(--header-height) + var(--space-3))}.container{max-width:var(--content-width);padding:0 var(--space-4);margin:0 auto}.section-heading{margin:0 0 var(--space-5);border:0;flex-direction:column;padding:0;line-height:1.2;display:flex}.section-heading__en{letter-spacing:.04em;color:var(--color-text);font-size:2rem;font-weight:700}.section-heading__ja{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:400}.section-heading:after{content:"";width:2.5rem;height:3px;margin-top:var(--space-3);background:var(--color-blue)}h3.section-heading .section-heading__en{font-size:1.5rem}.site-header{z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0}.site-header__inner{min-height:var(--header-height);padding-left:var(--space-4);align-items:stretch;display:flex}.site-header__brand{min-width:0;padding-right:var(--space-2);align-items:center;margin-right:auto;display:flex}.site-header__logo{object-fit:contain;object-position:left center;mix-blend-mode:multiply;width:auto;max-width:100%;height:2rem;display:block}@media (width>=60rem){.site-header__logo{height:2.25rem}}.site-nav{display:none}.site-nav__list{height:100%;margin:0;padding:0;list-style:none;display:flex}.site-nav__item{align-items:stretch;display:flex;position:static}.site-nav__link{padding:0 var(--space-3);color:var(--color-text);border-bottom:2px solid #0000;align-items:center;font-size:.9375rem;text-decoration:none;display:flex}.site-nav__link:hover{color:var(--color-blue)}.site-nav__link[aria-current=page]{border-bottom-color:var(--color-yellow)}.site-nav__toggle{margin-left:calc(-1 * var(--space-2));padding:0 var(--space-2);font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;align-items:center;display:flex}.site-nav__toggle-mark{border-bottom:2px solid;border-right:2px solid;width:.5rem;height:.5rem;display:block;transform:translateY(-2px)rotate(45deg)}.site-nav__toggle[aria-expanded=true] .site-nav__toggle-mark{transform:translateY(2px)rotate(225deg)}.mega{background:var(--color-bg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);position:absolute;top:100%;left:0;right:0}.mega__inner{gap:var(--space-5);max-width:var(--content-width);padding:var(--space-5) var(--space-4);grid-template-columns:minmax(0,2fr) minmax(0,1fr);margin:0 auto;display:grid}.mega__cards{gap:var(--space-4);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.mega__card{color:var(--color-text);text-decoration:none;display:block}.mega__card:hover .mega__card-text{color:var(--color-blue)}.mega__card-image{aspect-ratio:16/9;background:var(--color-surface);display:block;overflow:hidden}.mega__card-image img{object-fit:cover;width:100%;height:100%;display:block}.mega__card-text{margin-top:var(--space-2);font-weight:700;display:block}.mega__links{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.mega__links li{border-bottom:1px solid var(--color-border)}.mega__links a{padding:var(--space-2) 0 var(--space-2) 1.25rem;color:var(--color-text);text-decoration:none;display:block;position:relative}.mega__links a:before{content:"›";color:var(--color-blue);position:absolute;left:0}.mega__links a:hover{color:var(--color-blue)}.site-header__quick{background:var(--color-blue);display:flex}.site-header__quick-link{padding:0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-on-blue);white-space:nowrap;align-items:center;font-weight:700;text-decoration:none;display:none}.site-header__quick-link--mobile{display:flex}.site-header__quick-link+.site-header__quick-link{border-left:1px solid #ffffff59}.site-header__quick-link:hover{background:var(--color-blue-hover)}.site-header__quick-long{display:none}.mobile-menu{align-items:stretch;display:flex}.mobile-menu__button{align-items:center;gap:var(--space-2);padding:0 var(--space-3);font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;list-style:none;display:flex}.mobile-menu__button::-webkit-details-marker{display:none}.mobile-menu__bars{background:currentColor;width:1.125rem;height:2px;display:block;box-shadow:0 -6px,0 6px}.mobile-menu__panel{top:var(--header-height);z-index:100;padding:var(--space-4) var(--space-4) var(--space-6);background:var(--color-bg);position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.mobile-menu__quick{gap:var(--space-2);margin:0 0 var(--space-4);padding:0;list-style:none;display:grid}.mobile-menu__quick a{padding:var(--space-3);color:var(--color-on-blue);background:var(--color-blue);font-weight:700;text-decoration:none;display:block}.mobile-menu__list{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.mobile-menu__list>li{border-bottom:1px solid var(--color-border)}.mobile-menu__single,.mobile-menu__group>summary{padding:var(--space-3) 0;color:var(--color-text);cursor:pointer;font-weight:700;text-decoration:none;list-style:none;display:block}.mobile-menu__group>summary::-webkit-details-marker{display:none}.mobile-menu__group>summary{padding-right:var(--space-5);position:relative}.mobile-menu__group>summary:after{content:"";right:var(--space-2);border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);width:.5rem;height:.5rem;position:absolute;top:50%;transform:translateY(-70%)rotate(45deg)}.mobile-menu__group[open]>summary:after{transform:translateY(-30%)rotate(225deg)}.mobile-menu__group ul{margin:0 0 var(--space-3);padding:0 0 0 var(--space-3);list-style:none}.mobile-menu__group ul a{padding:var(--space-2) 0 var(--space-2) 1.25rem;color:var(--color-text);text-decoration:none;display:block;position:relative}.mobile-menu__group ul a:before{content:"›";color:var(--color-blue);position:absolute;left:0}@media (width>=60rem){.site-nav{display:block}.mobile-menu{display:none}.site-header__quick-link{padding:0 var(--space-4);display:flex}.site-header__quick-long{display:inline}.site-header__quick-short{display:none}}main{padding:var(--space-5) 0 var(--space-7)}.section{margin-bottom:var(--space-7)}.lead{font-size:var(--font-size-lg);color:var(--color-text-muted)}.prose{max-width:var(--text-width)}.prose>:first-child{margin-top:0}.hero{isolation:isolate;background:#dfe7f0;height:min(50vh,720px);position:relative;overflow:hidden}.hero.is-waiting .hero__inner{opacity:0}.hero.is-ready .hero__slides{animation:.8s ease-out both hero-fade}.hero.is-ready .hero__slide.is-active img,.hero.is-ready .hero__slide.is-leaving img{animation:9s ease-out both hero-zoom}.hero.is-ready .hero__inner{animation:.8s ease-out .4s both hero-rise}@keyframes hero-fade{0%{opacity:0}to{opacity:1}}@keyframes hero-zoom{0%{transform:scale(1)}to{transform:scale(1.05)}}@keyframes hero-rise{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero.is-waiting .hero__inner{opacity:1}.hero.is-ready .hero__slides,.hero.is-ready .hero__slide img,.hero.is-ready .hero__inner{animation:none}}.hero__slides{position:absolute;inset:0}.hero__slide{opacity:0;transition:opacity 1.6s;display:block;position:absolute;inset:0}.hero__slide.is-active{z-index:2;opacity:1}.hero__slide.is-leaving{z-index:1;opacity:1}.hero__slide img{object-fit:cover;object-position:50% 100%;transform-origin:50% 80%;width:100%;height:100%;display:block}.hero__pause{right:var(--space-3);bottom:var(--space-3);z-index:4;cursor:pointer;background:#ffffffd9;border:0;border-radius:50%;width:2.25rem;height:2.25rem;padding:0;position:absolute}.hero__pause:hover{background:#fff}.hero__pause-icon{border-left:.1875rem solid var(--color-text);border-right:.1875rem solid var(--color-text);width:.625rem;height:.75rem;margin:0 auto;display:block}.hero__pause[aria-pressed=true] .hero__pause-icon{border-top:.4375rem solid #0000;border-bottom:.4375rem solid #0000;border-left:.75rem solid var(--color-text);border-right:0;width:0;height:0;margin-left:calc(50% - .25rem)}.hero__inner{z-index:3;max-width:var(--content-width);padding:var(--space-5) var(--space-4) 0;color:#fff;text-shadow:0 1px 3px #00000059;margin:0 auto;position:absolute;top:0;left:0;right:0}.hero__catch{letter-spacing:.08em;margin:0;font-size:3.5rem;font-weight:700;line-height:1.2}.hero__catch--long{letter-spacing:.02em;max-width:36rem;font-size:2.125rem;line-height:1.4}.hero__sub{margin:var(--space-2) 0 0;font-size:1.5rem;font-weight:700}.hero__lead{margin:var(--space-2) 0 0;font-size:var(--font-size-base)}.hero-entry{margin:0 0 var(--space-5);background:var(--color-blue)}.hero-entry__link{align-items:center;gap:var(--space-3);max-width:var(--content-width);padding:var(--space-3) var(--space-4);color:var(--color-on-blue);font-size:var(--font-size-lg);margin:0 auto;font-weight:700;text-decoration:none;display:flex}.hero-entry__link:hover{background:var(--color-blue-hover)}.hero-entry__note{font-size:var(--font-size-sm);font-weight:400}.hero-entry__arrow{margin-left:auto;font-size:1.5rem;line-height:1}.hero__company{margin:0 0 var(--space-1);font-size:var(--font-size-sm);font-weight:700;display:none}@media (width<=40rem){.hero{height:80vw}.hero__inner{padding:var(--space-3) var(--space-3) 0}.hero__company{margin-bottom:var(--space-1);font-size:.75rem;display:block}.hero__catch{font-size:1.875rem}.hero__catch--long{font-size:1.25rem}.hero__sub{font-size:1rem}.hero__lead{display:none}.hero-entry__link{font-size:var(--font-size-base);flex-wrap:wrap}}.page-title{min-height:10rem;margin:0 0 var(--space-6);background:var(--color-surface);align-items:center;display:flex;position:relative;overflow:hidden}.page-title__image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.page-title:after{content:"";background:#ffffffb8;position:absolute;inset:0}.page-title__heading{z-index:1;padding:var(--space-4);margin:0;position:relative}.card__image{width:100%;height:auto;margin-bottom:var(--space-3);display:block}.catch{font-size:var(--font-size-lg);font-weight:700}.signature{text-align:right}.greeting--with-photo{gap:var(--space-5);grid-template-columns:minmax(0,1fr) min(20rem,40%);align-items:start;display:grid}.greeting--with-photo .greeting__body{grid-area:1/1}.greeting__photo{grid-area:1/2;margin:0}.greeting__photo img{width:100%;height:auto;display:block}@media (width<=40rem){.greeting--with-photo{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.greeting--with-photo .greeting__body,.greeting__photo{grid-area:auto}}.data-table{border-collapse:collapse;border-top:1px solid var(--color-border);width:100%}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.data-table th{background:var(--color-surface);white-space:normal;width:14em;font-weight:700}@media (width<=40rem){.data-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.data-table tbody{width:100%;display:table}.data-table th{width:7em}}.plain-list{margin:0;padding:0;list-style:none}.news-list{border-top:1px solid var(--color-border);padding:0;list-style:none}.news-list__item{gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.news-list__item time{color:var(--color-text-muted)}.news-list__category{padding:0 var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius)}.news-list__title{flex-basis:100%}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));display:grid}.card{padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius)}.card h3{margin-top:0}.card p:last-child{margin-bottom:0}.page-links{gap:var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.page-links a{padding:var(--space-2) var(--space-4);background:var(--color-blue);color:var(--color-on-blue);border-radius:var(--radius);text-decoration:none;display:inline-block}.page-links a:hover{background:var(--color-blue-hover)}.office{margin-bottom:var(--space-5)}.office__address{margin-bottom:var(--space-2)}.site-footer{background:var(--color-surface);border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}.site-footer__inner{padding-top:var(--space-6);padding-bottom:var(--space-5)}.site-footer__nav{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.site-footer__col-title{margin-bottom:var(--space-2);color:var(--color-text);font-weight:700;text-decoration:none;display:block}.site-footer__col-title:before{content:"›";color:var(--color-blue);margin-right:.375rem}.site-footer__col-links{margin:0;padding:0;list-style:none}.site-footer__col-links a{color:var(--color-text-muted);padding:.125rem 0;text-decoration:none;display:block}.site-footer__col-links a:hover{color:var(--color-blue)}.site-footer__company{justify-content:space-between;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.site-footer__address{font-style:normal}.site-footer__address a{color:inherit;text-decoration:none}.site-footer__logo{width:auto;max-width:100%;height:2.5rem;margin-bottom:var(--space-2);mix-blend-mode:multiply;display:block}.site-footer__links{gap:var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-footer__band{color:var(--color-on-blue);background:var(--color-blue)}.site-footer__copyright{padding-top:var(--space-2);padding-bottom:var(--space-2);margin:0;font-size:.75rem}.page-link-nav ul{margin:0 0 var(--space-4);gap:var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.notice{padding:var(--space-3);background:var(--color-surface);border-left:4px solid var(--color-blue)}.notice p:last-child{margin-bottom:0}.alert{margin:var(--space-3) 0;padding:var(--space-3);color:#7a271a;border-radius:var(--radius);background:#fff5f5;border:1px solid #b42318}.alert p:last-child{margin-bottom:0}.alert a{color:inherit}.phone-list{padding:0;list-style:none}.phone-list li{align-items:baseline;gap:var(--space-1) var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.phone-list__heading{flex-basis:100%;font-weight:700}.phone-list__number{font-size:var(--font-size-h2);font-weight:700;text-decoration:none}.phone-list__label{color:var(--color-text-muted)}.form__row{margin:0 0 var(--space-4);border:0;padding:0}.form__label{margin-bottom:var(--space-1);font-weight:700;display:block}.form__note{font-weight:400;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-left:var(--space-2)}.form__required{font-size:var(--font-size-sm);color:#b42318;margin-left:var(--space-2)}.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form textarea{width:100%;max-width:32rem;padding:var(--space-2);font:inherit;color:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg)}.contact-form textarea{max-width:100%;min-height:10rem}.contact-form .form__input--short{max-width:16rem}.form__radio,.form__checkbox{margin-right:var(--space-3);display:inline-block}.form__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.btn{padding:var(--space-2) var(--space-5);font:inherit;color:var(--color-on-blue);background:var(--color-blue);border:1px solid var(--color-blue);border-radius:var(--radius);cursor:pointer;font-weight:700;text-decoration:none;display:inline-block}.btn:hover{background:var(--color-blue-hover)}.btn--secondary{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border)}.btn--secondary:hover{background:var(--color-border)}.btn[disabled]{opacity:.6;cursor:default}.hp-field{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.confirm-value{white-space:pre-wrap;overflow-wrap:anywhere}.recruit-section .catch{margin-bottom:var(--space-2)}.recruit-job h3{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.recruit-job__tag{font-weight:400}.recruit-job__table th{width:6em}.needs-check{padding:0 var(--space-2);border-radius:var(--radius);color:#7a271a;background:#fde8e8;border:2px dashed #b42318;font-weight:700;display:inline-block}.privacy-policy{counter-reset:privacy-heading}.privacy-policy>h3:nth-of-type(n+2):nth-of-type(-n+6):before{counter-increment:privacy-heading;content:counter(privacy-heading) ". "}.philosophy{margin:0}.philosophy img{max-width:100%;height:auto;display:block}.overview{margin:0 0 var(--space-5)}.overview__frame{border:1px solid var(--color-border);position:relative}.overview__image{display:block}.overview__image img{width:100%;height:auto;display:block}.overview__links{pointer-events:none;position:absolute;inset:0}.overview__link{pointer-events:auto;border-radius:4px;position:absolute}.overview__link:after{content:"";border-radius:50%;position:absolute}.overview__link:focus-visible{outline:3px solid var(--color-blue);outline-offset:2px}@media (width<=40rem){.overview__links{display:none}}.overview__source{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.office__tel{border-collapse:collapse;border-top:1px solid var(--color-border);width:100%}.office__tel th,.office__tel td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.office__tel th{background:var(--color-surface);width:10em;font-weight:700}.office__tel-number{white-space:nowrap}.office__tel-number:nth-child(2){width:12em}@media (width>=40.0625rem){.office__tel-number a{color:inherit;text-decoration:none}}@media (width<=40rem){.office__tel,.office__tel tbody,.office__tel tr,.office__tel th,.office__tel td{width:auto;display:block}.office__tel tr{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.office__tel th{padding:0 0 var(--space-1);background:0 0;border:0}.office__tel th:empty{display:none}.office__tel td{border:0;padding:0}}.office__map{margin-top:var(--space-3)}.office__map-image{border:1px solid var(--color-border);max-width:400px;display:block}.office__map-image--wide{max-width:960px}.office__map-image img{width:100%;height:auto;display:block}.office__map-zoom{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted);display:none}@media (width<=40rem){.office__map-zoom{display:block}}.office__map-access{max-width:960px;margin:var(--space-2) 0 0;font-weight:700}.office__map-link{margin:var(--space-2) 0 0}.office__map-source{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}
