/* ====== A (more) Modern CSS Reset ====== */
*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role='list'],ol[role='list']{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}
/* ====== Design Tokens ====== */
:root{--bulb25-color-fg:#0a0a0a;--bulb25-color-bg:#fff;--bulb25-color-muted:#666;--bulb25-line:#e5e5e5;--bulb25-space-1:8px;--bulb25-space-2:12px;--bulb25-space-3:16px;--bulb25-space-4:20px;--bulb25-space-5:24px;--bulb25-space-6:32px;--bulb25-space-7:40px;--bulb25-space-8:56px;--bulb25-space-9:80px;--bulb25-radius:12px;--bulb25-maxw: 1200px;}

/* ====== Base ====== */
html{font-family:"Noto Sans JP", system-ui, -apple-system, Segoe UI, Roboto, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Yu Gothic", "メイリオ", Arial, sans-serif; color:var(--bulb25-color-fg); background:var(--bulb25-color-bg);}
a{color:inherit;text-decoration:underline}
a:hover{background:#666;color:#fff}
img{max-width:100%;height:auto;vertical-align:bottom}

/* ====== Objects ====== */
.bulb25-o-container{max-width:var(--bulb25-maxw);margin:0 auto;padding:0 20px}
.bulb25-o-grid{display:grid;gap:var(--bulb25-space-4)}
@media(min-width:901px){.bulb25-o-grid--2{grid-template-columns:1fr 1fr}.bulb25-o-grid--3{grid-template-columns:repeat(3,1fr)}}

/* ====== Layout ====== */
.bulb25-l-wrapper{width:100%;margin:50px auto 25px;}
.bulb25-c-logo{width:50%}
.bulb25-c-intro{width:100%;margin-top:5.7%}
.bulb25-c-intro__lead{font-size:20px;line-height:2}
.bulb25-c-intro__titleimg{width:100%;margin-top:20px}
.bulb25-c-main{max-width:var(--bulb25-maxw);margin:80px auto 0;padding:0 20px}
.bulb25-c-section{margin-top:50px;border-bottom: 1px solid #666;padding-bottom: 50px;}
.bulb25-c-section__title{font-size:24px;margin-top:50px}
.bulb25-c-section__title-sub{color:#707070}
.bulb25-c-section__subtitle{font-size:18px;font-weight:400}
.bulb25-c-section__subtitle-sub{color:#666}
.bulb25-c-about__item{display:flex;margin-top:24px}
.bulb25-c-about__head{width:250px;margin-right:5.1%;}
.bulb25-c-about__content{width:76.5%}
.bulb25-c-about__text{font-size:18px}
.bulb25-c-about__text--en{display:block;margin-top:4px;color:#666}
.bulb25-c-button{display:inline-block;min-width:123px;height:27px;margin-top:10px;background:#0a0a0a;color:#fff;font-size:12px;text-align:center;line-height:27px;text-decoration:none}
.bulb25-c-button:hover{background:#666;color:#fff}
.bulb25-c-icon{width:20px;vertical-align:top;margin-left:5px;margin-top:5px;display: inline;}
.bulb25-c-text{margin-top:20px;font-size:16px;line-height:1.87}
.bulb25-c-text--en{display:block;margin-top:20px;color:#666}
.bulb25-c-textTitle{margin-top:20px;font-size:18px;line-height:1.7;font-weight:700}
.bulb25-c-map{margin-top:24px;border:none;height:469px;width: 100%;}
.bulb25-c-contact{margin-top:50px;text-align:center}
.bulb25-c-form{width:100%;height:1250px;display:block;}
.bulb25-c-footer{margin:50px 0;text-align:center}
.bulb25-c-footer__copy{font-size:14px;line-height:2.1;color:#666}
@media(max-width:1024px){
}
@media(max-width:767px){
.bulb25-c-logo{width: 100%;}
.bulb25-c-header{padding-right:0}
.bulb25-c-header__inner{display:block}
.bulb25-c-intro__titleimg{width:231px;margin:30px auto 0}
.bulb25-c-main{margin-top:50px}
.bulb25-c-section__title{margin: 50px 0;text-align:center}
.bulb25-is-spNone{display:none}
.bulb25-c-about__item{display:block;margin-top:20px;border-bottom: 1px solid #666;padding-bottom: 20px;}
.bulb25-c-about__item:last-child{border-bottom: 0;}
.bulb25-c-about__head{width:100%;margin-right: 0;}
.bulb25-c-about__content{width:100%;margin-top:20px;}
.bulb25-c-footer{margin: 25px 0}
}   
/* ====== A11y helpers ====== */
.bulb25-u-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* ====== opening ====== */
/* Overlay base */
#bulb25-intro-overlay{position: fixed; inset: 0; z-index: 9999;display: grid; place-items: center;background: #0a0a0a;transition: transform .6s ease, opacity .4s ease;will-change: transform, opacity;}
#bulb25-intro-overlay .bulb25-intro-wrap{display:flex; align-items:center; justify-content:center;padding: 24px;}
/* SVG sizing */
#bulb25-svgIcon{width: min(28vmin, 160px);height: auto;overflow: visible;}
#bulb25-svgIcon *{fill: none !important;stroke: #fff !important;stroke-width: 1;stroke-linecap: round;stroke-linejoin: round;vector-effect: non-scaling-stroke;}
@keyframes draw {
to { stroke-dashoffset: 0; }
}
@keyframes glow {
0%   { filter: none; }
50%  { filter: drop-shadow(0 0 14px rgba(255, 228, 0, .95))
    drop-shadow(0 0 28px rgba(255, 220, 0, .5)); }
100% { filter: none; }
}
#bulb25-intro-overlay.exit {transform: translateY(-100%);
opacity: 0;pointer-events: none;}
@media (prefers-reduced-motion: reduce) {
#bulb25-intro-overlay { transition: none; }
#bulb25-svgIcon * { animation: none !important; }
}
</style>