.text-gold{color:var(--color-gold);text-shadow:0 0 10px rgba(212,175,55,.4),0 0 24px rgba(212,175,55,.15)}.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}.hero-section{position:relative;height:100vh;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg)}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}#hero-video{width:100%;height:100%;object-fit:cover;opacity:0;filter:sepia(20%) contrast(1.1);will-change:opacity}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle,#05050533,#05050599);mix-blend-mode:multiply}.hero-content{position:relative;z-index:10;text-align:center;padding:0 8vw}@media(min-width:768px){.hero-content{padding:0 40px;margin:0 auto}}.hero-title{font-family:var(--font-en);font-size:min(10vw,130px);white-space:nowrap;line-height:1;text-transform:uppercase;letter-spacing:.1em;padding-left:.1em;font-weight:700;color:var(--color-gold);text-shadow:.06em .06em 0 var(--color-wood),0 0 30px rgba(255,220,150,.1);opacity:0;transform:translateY(30px);will-change:opacity,transform}.hero-subtitle{display:block;margin-top:1.5rem;color:var(--color-text);font-family:var(--font-en);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;opacity:0;transform:translateY(20px);will-change:opacity,transform}@media(min-width:768px){.hero-subtitle{font-size:.9rem;letter-spacing:.3em}}.content-section{position:relative;padding:120px 0;background-color:var(--color-bg);overflow:hidden}.container{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;z-index:10}.container-narrow{max-width:800px}.philosophy-header{margin-bottom:60px}.section-label-en{font-family:var(--font-en);color:var(--color-gold);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px;display:flex;align-items:center;gap:12px;text-shadow:0 0 10px rgba(212,175,55,.4)}.section-label-en:after{content:"";display:block;width:40px;height:1px;background-color:var(--color-wood);box-shadow:none}.section-title-jp{font-size:32px;line-height:1.5;font-weight:500;letter-spacing:.05em;margin-bottom:0}@media(min-width:768px){.section-title-jp{font-size:48px}}.philosophy-story p{color:var(--color-text-mute);font-size:15px;line-height:2.2;margin-bottom:2em;text-align:justify}.concept-highlight{margin:80px 0;padding:40px 0;border-top:1px solid rgba(255,220,150,.2);border-bottom:1px solid rgba(255,220,150,.2);text-align:center}.concept-highlight h3{font-size:22px;line-height:2;font-weight:500;color:var(--color-text);letter-spacing:.1em}.concept-highlight .highlight-line{color:var(--color-gold)}@media(min-width:768px){.concept-highlight h3{font-size:28px}}.ring-decoration{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid var(--color-wood);pointer-events:none}.ring-1{width:300px;height:300px;opacity:.15}.ring-2{width:500px;height:500px;border-width:1px;opacity:.1}.ring-3{width:900px;height:900px;opacity:.05}@media(min-width:768px){.ring-1{width:500px;height:500px}.ring-2{width:800px;height:800px}.ring-3{width:1300px;height:1300px}}.service-section{background-color:var(--color-bg);padding:80px 0 10vw;overflow:hidden}.service-item{display:flex;flex-direction:column;position:relative;width:100%;text-decoration:none;color:inherit;margin-bottom:12vw}.service-item:last-child{margin-bottom:0}@media(min-width:768px){.service-item{flex-direction:row;align-items:stretch;margin-bottom:15vw}.service-item:nth-of-type(2n){flex-direction:row-reverse}}.service-image-wrapper{position:relative;width:100%;height:60vw;overflow:hidden;background-color:#111}@media(min-width:768px){.service-image-wrapper{width:55vw;height:36vw}}.service-image-inner{position:absolute;top:0;left:0;width:100%;height:100%}.service-image-inner img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.1);transition:filter .6s ease,transform .6s ease}.service-item:hover .service-image-inner img{filter:grayscale(0%) contrast(1.1);transform:scale(1.03)}.service-overlay{position:absolute;inset:0;background-color:var(--color-wood);opacity:.1;mix-blend-mode:overlay;pointer-events:none}.service-content{position:relative;z-index:10;width:100%;padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center;background-color:var(--color-bg)}@media(min-width:768px){.service-content{width:45vw;height:36vw;padding:0 4vw}}.service-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1vw;border-bottom:1px solid rgba(255,220,150,.2);padding-bottom:1vw}.service-category{font-family:var(--font-en);color:var(--color-gold);font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 0 10px rgba(212,175,55,.4)}.service-title{font-size:26px;margin-bottom:24px;font-weight:500;line-height:1.3;letter-spacing:.05em}@media(min-width:768px){.service-title{font-size:2.5vw}}.service-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.badge{display:inline-block;padding:4px 10px;font-size:11px;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fffc}.badge-b2c{border-color:#ffdc9666;color:var(--color-gold);text-shadow:0 0 8px rgba(212,175,55,.5)}.badge-b2b{border-color:#754c2499;color:#d1b497}.service-desc{color:var(--color-text-mute);font-size:14px;line-height:1.8;margin-bottom:3vw;text-align:justify}.service-desc p{margin-bottom:1.2em}.service-desc p:last-child{margin-bottom:0}.service-desc strong{color:var(--color-text);font-weight:500;border-bottom:1px solid rgba(255,255,255,.2)}@media(min-width:768px){.service-desc{font-size:1vw}}.strength-grid{display:grid;grid-template-columns:1fr;gap:40px}@media(min-width:768px){.strength-grid{grid-template-columns:repeat(3,1fr);gap:60px}}.strength-item{position:relative;padding-top:24px;border-top:1px solid rgba(117,76,36,.4)}.strength-num{font-family:var(--font-en);color:var(--color-gold);font-size:14px;letter-spacing:.1em;display:block;margin-bottom:12px;text-shadow:0 0 10px rgba(212,175,55,.4)}.strength-title{font-size:20px;font-weight:500;margin-bottom:16px;letter-spacing:.05em;line-height:1.4}.strength-desc{color:var(--color-text-mute);font-size:14px;line-height:1.8;text-align:justify}.faq-list{display:flex;flex-direction:column;gap:16px;max-width:900px;width:100%}.faq-item{border-bottom:1px solid rgba(255,255,255,.1)}.faq-item summary{padding:24px 40px 24px 0;font-size:16px;font-weight:500;cursor:pointer;list-style:none;position:relative;color:var(--color-text)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:20px;color:var(--color-gold);font-weight:300;transition:transform .3s ease;text-shadow:0 0 10px rgba(212,175,55,.5)}.faq-item[open] summary:after{content:"−"}.faq-answer{padding-bottom:24px;color:var(--color-text-mute);font-size:14px;line-height:1.8;animation:faqOpen .4s ease-out forwards}@keyframes faqOpen{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.cta-section{padding:25vw 0;background-color:#080808;text-align:center;border-top:1px solid rgba(117,76,36,.3);position:relative;overflow:hidden}@media(min-width:768px){.cta-section{padding:15vw 0}}.cta-section:before{content:"CONTACT";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-en);font-size:28vw;font-weight:700;color:#ffdc9605;pointer-events:none;z-index:0}.cta-section .container{position:relative;z-index:10}.cta-sub{font-family:var(--font-en);color:var(--color-wood);font-size:14px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:40px}@media(min-width:768px){.cta-sub{font-size:1vw;margin-bottom:2vw}}.cta-title{font-size:36px;margin-bottom:80px;font-weight:500;letter-spacing:.1em;color:var(--color-text)}@media(min-width:768px){.cta-title{font-size:4vw;margin-bottom:5vw}}.cta-button{display:inline-block;padding:24px 80px;border:1px solid var(--color-gold);color:var(--color-gold);font-family:var(--font-en);font-size:16px;letter-spacing:.2em;text-transform:uppercase;transition:all .4s ease;background:transparent;cursor:pointer;text-shadow:0 0 10px rgba(212,175,55,.4)}@media(min-width:768px){.cta-button{font-size:1.1vw;padding:1.8vw 8vw}}.cta-button:hover{background-color:var(--color-gold);color:#050505;box-shadow:0 0 40px #ffdc9633;text-shadow:none}.sp-only{display:block}@media(min-width:768px){.sp-only{display:none}}
