@charset "UTF-8";:root{--color-primary:#0d2137;--color-primary-light:#1a3a5c;--color-primary-dark:#091620;--color-accent:#d97706;--color-accent-light:#f59e0b;--color-accent-dark:#b45309;--color-white:#ffffff;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-black:#000000;--font-primary:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;--font-display:"Montserrat",sans-serif;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);--shadow-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);--transition-fast:150ms ease;--transition-base:300ms ease;--transition-slow:500ms ease;--container-max:1200px;--container-narrow:900px}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-primary);font-size:1rem;line-height:1.8;color:var(--color-gray-800);background-color:var(--color-white);overflow-x:hidden}img{max-width:100%;height:auto;vertical-align:middle}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}ol,ul{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:0 0}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.4;color:var(--color-gray-900)}.section-title{position:relative;margin-bottom:var(--space-3xl);text-align:center}.section-title__en{display:block;font-family:var(--font-display);font-size:.875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-sm)}.section-title__ja{display:block;font-size:2rem;font-weight:700;color:var(--color-gray-900)}.section-title--light .section-title__en{color:var(--color-accent-light)}.section-title--light .section-title__ja{color:var(--color-white)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg)}.container--narrow{max-width:var(--container-narrow)}.section{padding:var(--space-4xl) 0}.section--bg-gray{background-color:var(--color-gray-50)}.section--bg-primary{background-color:var(--color-primary)}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:rgba(255,255,255,.98);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.site-header.is-scrolled{box-shadow:var(--shadow-md)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:80px}.site-logo{display:flex;align-items:center;gap:var(--space-md)}.site-logo__image{height:40px;width:auto}.site-logo__text{display:flex;flex-direction:column;gap:2px}.site-logo__company{font-size:.75rem;font-weight:500;color:var(--color-gray-600)}.site-logo__site{font-size:.875rem;font-weight:700;color:var(--color-primary)}.global-nav{display:none}@media (min-width:1024px){.global-nav{display:block}}.global-nav__list{display:flex;align-items:center;gap:var(--space-xl)}.global-nav__link{position:relative;font-size:.875rem;font-weight:500;color:var(--color-gray-700);padding:var(--space-sm) 0}.global-nav__link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-accent);transition:width var(--transition-base)}.global-nav__link.is-active::after,.global-nav__link:hover::after{width:100%}.global-nav__link:hover{color:var(--color-primary)}.btn-entry{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-xl);font-size:.875rem;font-weight:600;color:var(--color-white);background-color:var(--color-accent);border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-entry:hover{background-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:32px;height:32px;padding:4px}@media (min-width:1024px){.menu-toggle{display:none}}.menu-toggle__bar{display:block;width:100%;height:2px;background-color:var(--color-gray-800);transition:all var(--transition-fast)}.menu-toggle.is-active .menu-toggle__bar:first-child{transform:rotate(45deg) translate(5px,5px)}.menu-toggle.is-active .menu-toggle__bar:nth-child(2){opacity:0}.menu-toggle.is-active .menu-toggle__bar:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.mobile-nav{position:fixed;top:80px;left:0;right:0;bottom:0;background-color:var(--color-white);padding:var(--space-xl);transform:translateX(100%);transition:transform var(--transition-base);overflow-y:auto}.mobile-nav.is-open{transform:translateX(0)}@media (min-width:1024px){.mobile-nav{display:none}}.mobile-nav__list{display:flex;flex-direction:column;gap:var(--space-md)}.mobile-nav__link{display:block;padding:var(--space-md);font-size:1rem;font-weight:500;color:var(--color-gray-800);border-bottom:1px solid var(--color-gray-200)}.mobile-nav__entry{display:block;margin-top:var(--space-xl);padding:var(--space-lg);font-size:1rem;font-weight:600;color:var(--color-white);background-color:var(--color-accent);border-radius:var(--radius-md);text-align:center}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary-dark);overflow:hidden}.hero__bg{position:absolute;inset:0;z-index:1}.hero__bg-image{width:100%;height:100%;object-fit:cover;opacity:.4}.hero__bg-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,33,55,.95) 0,rgba(13,33,55,.7) 50%,rgba(13,33,55,.85) 100%)}.hero__content{position:relative;z-index:2;text-align:center;padding:var(--space-4xl) var(--space-lg);max-width:900px}.hero__badge{display:inline-block;padding:var(--space-sm) var(--space-lg);font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent-light);border:1px solid var(--color-accent);border-radius:var(--radius-sm);margin-bottom:var(--space-xl);animation:fadeInUp .8s ease forwards}.hero__title{font-size:clamp(2rem, 5vw, 3.5rem);font-weight:700;color:var(--color-white);line-height:1.3;margin-bottom:var(--space-lg);animation:fadeInUp .8s ease .2s forwards;opacity:0}.hero__title-accent{color:var(--color-accent-light)}.hero__lead{font-size:1.125rem;color:var(--color-gray-300);line-height:2;margin-bottom:var(--space-2xl);animation:fadeInUp .8s ease .4s forwards;opacity:0}.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);animation:fadeInUp .8s ease .6s forwards;opacity:0}.hero__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-2xl);font-size:1rem;font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast)}.hero__btn--primary{color:var(--color-white);background-color:var(--color-accent)}.hero__btn--primary:hover{background-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:0 10px 30px rgba(217,119,6,.3)}.hero__btn--secondary{color:var(--color-white);background-color:transparent;border:2px solid rgba(255,255,255,.3)}.hero__btn--secondary:hover{background-color:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}.hero__scroll{position:absolute;bottom:var(--space-2xl);left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);color:var(--color-gray-400);font-size:.75rem;letter-spacing:.1em;animation:bounce 2s infinite}.hero__scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--color-gray-400),transparent)}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}.about{position:relative}.about__grid{display:grid;grid-template-columns:1fr;gap:var(--space-3xl);align-items:center}@media (min-width:768px){.about__grid{grid-template-columns:1fr 1fr}}.about__image{position:relative}.about__image-main{width:100%;height:400px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.about__image-badge{position:absolute;bottom:-20px;right:-20px;width:140px;height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-accent);border-radius:50%;color:var(--color-white);box-shadow:var(--shadow-lg)}.about__image-badge-number{font-family:var(--font-display);font-size:2.5rem;font-weight:700;line-height:1}.about__image-badge-text{font-size:.75rem;font-weight:500;margin-top:var(--space-xs)}.about__content{padding:var(--space-xl) 0}.about__heading{font-size:1.75rem;font-weight:700;color:var(--color-gray-900);margin-bottom:var(--space-lg);line-height:1.5}.about__text{color:var(--color-gray-600);margin-bottom:var(--space-lg)}.about__features{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-top:var(--space-xl)}.about__feature{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;font-weight:500;color:var(--color-gray-700)}.about__feature-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background-color:var(--color-accent);color:var(--color-white);border-radius:50%;font-size:.75rem}.numbers{background-color:var(--color-primary);position:relative;overflow:hidden}.numbers::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.03)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');opacity:.5}.numbers__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl)}@media (min-width:768px){.numbers__grid{grid-template-columns:repeat(4,1fr)}}.numbers__item{text-align:center;padding:var(--space-xl)}.numbers__value{font-family:var(--font-display);font-size:3rem;font-weight:700;color:var(--color-accent-light);line-height:1;margin-bottom:var(--space-sm)}.numbers__unit{font-size:1rem}.numbers__label{font-size:.875rem;color:var(--color-gray-300)}.jobs__grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media (min-width:768px){.jobs__grid{grid-template-columns:repeat(3,1fr)}}.job-card{background-color:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transition:all var(--transition-base)}.job-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.job-card__image{position:relative;height:200px;overflow:hidden}.job-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.job-card:hover .job-card__image img{transform:scale(1.05)}.job-card__badge{position:absolute;top:var(--space-md);left:var(--space-md);padding:var(--space-xs) var(--space-md);font-size:.75rem;font-weight:600;color:var(--color-white);background-color:var(--color-primary);border-radius:var(--radius-sm)}.job-card__content{padding:var(--space-xl)}.job-card__title{font-size:1.25rem;font-weight:700;color:var(--color-gray-900);margin-bottom:var(--space-md)}.job-card__desc{font-size:.875rem;color:var(--color-gray-600);margin-bottom:var(--space-lg)}.job-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.job-card__tag{padding:var(--space-xs) var(--space-sm);font-size:.75rem;color:var(--color-gray-600);background-color:var(--color-gray-100);border-radius:var(--radius-sm)}.job-card__link{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:.875rem;font-weight:600;color:var(--color-accent)}.job-card__link:hover{color:var(--color-accent-dark)}.job-card__link-arrow{transition:transform var(--transition-fast)}.job-card__link:hover .job-card__link-arrow{transform:translateX(4px)}.interview__grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media (min-width:768px){.interview__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.interview__grid{grid-template-columns:repeat(3,1fr)}}.interview-card{position:relative;background-color:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transition:all var(--transition-base)}.interview-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.interview-card__image{height:280px;overflow:hidden}.interview-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.interview-card:hover .interview-card__image img{transform:scale(1.05)}.interview-card__content{padding:var(--space-xl)}.interview-card__position{display:inline-block;font-size:.75rem;font-weight:600;color:var(--color-accent);margin-bottom:var(--space-sm)}.interview-card__quote{font-size:1rem;font-weight:700;color:var(--color-gray-900);line-height:1.6;margin-bottom:var(--space-md)}.interview-card__name{font-size:.875rem;color:var(--color-gray-500)}.flow__timeline{position:relative;max-width:800px;margin:0 auto}.flow__timeline::before{content:'';position:absolute;top:0;left:20px;width:2px;height:100%;background-color:var(--color-gray-200)}@media (min-width:768px){.flow__timeline::before{left:50%;transform:translateX(-50%)}}.flow__item{position:relative;padding-left:60px;padding-bottom:var(--space-2xl)}@media (min-width:768px){.flow__item{width:50%;padding-left:0;padding-right:var(--space-2xl)}.flow__item:nth-child(2n){margin-left:50%;padding-left:var(--space-2xl);padding-right:0}}.flow__item-number{position:absolute;left:0;top:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--color-white);background-color:var(--color-accent);border-radius:50%;z-index:1}@media (min-width:768px){.flow__item-number{left:auto;right:-20px}.flow__item:nth-child(2n) .flow__item-number{left:-20px;right:auto}}.flow__item-content{background-color:var(--color-white);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.flow__item-title{font-size:1.125rem;font-weight:700;color:var(--color-gray-900);margin-bottom:var(--space-sm)}.flow__item-desc{font-size:.875rem;color:var(--color-gray-600)}.cta{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);position:relative;overflow:hidden}.cta::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(217,119,6,.15) 0,transparent 70%);border-radius:50%}.cta__inner{position:relative;z-index:1;text-align:center;padding:var(--space-3xl) 0}.cta__title{font-size:2rem;font-weight:700;color:var(--color-white);margin-bottom:var(--space-md)}.cta__text{font-size:1rem;color:var(--color-gray-300);margin-bottom:var(--space-2xl);max-width:600px;margin-left:auto;margin-right:auto}.cta__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-3xl);font-size:1.125rem;font-weight:600;color:var(--color-primary);background-color:var(--color-white);border-radius:var(--radius-md);transition:all var(--transition-fast)}.cta__btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.site-footer{background-color:var(--color-gray-900);color:var(--color-gray-400);padding:var(--space-4xl) 0 var(--space-xl)}.footer__grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);margin-bottom:var(--space-3xl)}@media (min-width:768px){.footer__grid{grid-template-columns:2fr 1fr 1fr 1fr}}.footer__brand{max-width:300px}.footer__logo{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.footer__logo-image{height:40px}.footer__logo-text{color:var(--color-white);font-weight:700}.footer__desc{font-size:.875rem;line-height:1.8}.footer__nav-title{font-size:.875rem;font-weight:700;color:var(--color-white);margin-bottom:var(--space-lg);text-transform:uppercase;letter-spacing:.1em}.footer__nav-list{display:flex;flex-direction:column;gap:var(--space-md)}.footer__nav-link{font-size:.875rem;color:var(--color-gray-400);transition:color var(--transition-fast)}.footer__nav-link:hover{color:var(--color-white)}.footer__bottom{padding-top:var(--space-xl);border-top:1px solid var(--color-gray-800);display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}@media (min-width:768px){.footer__bottom{flex-direction:row;justify-content:space-between}}.footer__copyright{font-size:.75rem}.footer__links{display:flex;gap:var(--space-lg)}.footer__link{font-size:.75rem;color:var(--color-gray-500)}.footer__link:hover{color:var(--color-white)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-size:.875rem;font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.btn--primary{color:var(--color-white);background-color:var(--color-accent)}.btn--primary:hover{background-color:var(--color-accent-dark);transform:translateY(-2px)}.btn--secondary{color:var(--color-gray-700);background-color:var(--color-gray-100)}.btn--secondary:hover{background-color:var(--color-gray-200)}.btn--outline{color:var(--color-primary);background-color:transparent;border:2px solid var(--color-primary)}.btn--outline:hover{color:var(--color-white);background-color:var(--color-primary)}.btn--large{padding:var(--space-lg) var(--space-2xl);font-size:1rem}.btn--center{display:flex;margin:var(--space-2xl) auto 0}.page-header{position:relative;padding:calc(80px + var(--space-4xl)) 0 var(--space-4xl);background-color:var(--color-primary);overflow:hidden}.page-header::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.03)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>')}.page-header__content{position:relative;z-index:1;text-align:center}.page-header__en{display:block;font-family:var(--font-display);font-size:.875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent-light);margin-bottom:var(--space-sm)}.page-header__title{font-size:2rem;font-weight:700;color:var(--color-white)}.page-header__breadcrumb{margin-top:var(--space-lg)}.breadcrumb{display:flex;justify-content:center;gap:var(--space-sm);font-size:.75rem;color:var(--color-gray-400)}.breadcrumb__separator{color:var(--color-gray-500)}.breadcrumb__link:hover{color:var(--color-white)}.breadcrumb__current{color:var(--color-gray-300)}.recruit-table{width:100%;border-collapse:collapse}.recruit-table td,.recruit-table th{padding:var(--space-lg);text-align:left;border-bottom:1px solid var(--color-gray-200)}.recruit-table th{width:200px;font-size:.875rem;font-weight:600;color:var(--color-gray-900);background-color:var(--color-gray-50);vertical-align:top}.recruit-table td{font-size:.875rem;color:var(--color-gray-700)}@media (max-width:767px){.recruit-table td,.recruit-table th{display:block;width:100%}.recruit-table th{border-bottom:none;padding-bottom:var(--space-sm)}.recruit-table td{padding-top:0}}.faq__list{max-width:800px;margin:0 auto}.faq__item{border-bottom:1px solid var(--color-gray-200)}.faq__question{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-xl) 0;font-size:1rem;font-weight:600;color:var(--color-gray-900);text-align:left;cursor:pointer}.faq__question-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--color-accent);transition:transform var(--transition-fast)}.faq__item.is-open .faq__question-icon{transform:rotate(45deg)}.faq__answer{display:none;padding-bottom:var(--space-xl);font-size:.875rem;color:var(--color-gray-600);line-height:1.8}.faq__item.is-open .faq__answer{display:block}.form__group{margin-bottom:var(--space-xl)}.form__label{display:block;margin-bottom:var(--space-sm);font-size:.875rem;font-weight:600;color:var(--color-gray-800)}.form__label-required{color:var(--color-accent);margin-left:var(--space-xs)}.form__input,.form__select,.form__textarea{width:100%;padding:var(--space-md);font-family:inherit;font-size:1rem;color:var(--color-gray-800);background-color:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form__input:focus,.form__select:focus,.form__textarea:focus{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(217,119,6,.1)}.form__textarea{min-height:200px;resize:vertical}.form__radio-group{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.form__radio{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer}.form__radio input{width:20px;height:20px;accent-color:var(--color-accent)}.form__checkbox{display:flex;align-items:flex-start;gap:var(--space-sm);cursor:pointer}.form__checkbox input{width:20px;height:20px;margin-top:2px;accent-color:var(--color-accent)}.form__submit{display:flex;justify-content:center;margin-top:var(--space-2xl)}.news__list{display:flex;flex-direction:column;gap:var(--space-md)}.news__item{display:flex;gap:var(--space-lg);padding:var(--space-lg);background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast)}.news__item:hover{box-shadow:var(--shadow-md)}.news__date{flex-shrink:0;font-size:.75rem;color:var(--color-gray-500)}.news__title{font-size:.875rem;font-weight:500;color:var(--color-gray-800)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-md)}.mt-2{margin-top:var(--space-xl)}.mt-3{margin-top:var(--space-2xl)}.mt-4{margin-top:var(--space-3xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-md)}.mb-2{margin-bottom:var(--space-xl)}.mb-3{margin-bottom:var(--space-2xl)}.mb-4{margin-bottom:var(--space-3xl)}.hidden{display:none}@media (max-width:767px){.hide-mobile{display:none}}@media (min-width:768px){.hide-desktop{display:none}}.global-nav__item--has-dropdown{position:relative}.global-nav__item--has-dropdown>.global-nav__link{display:flex;align-items:center;gap:var(--space-xs)}.global-nav__dropdown-icon{transition:transform var(--transition-fast)}.global-nav__item--has-dropdown:hover .global-nav__dropdown-icon{transform:rotate(180deg)}.global-nav__dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:180px;padding:var(--space-sm) 0;background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:all var(--transition-fast);z-index:100}.global-nav__item--has-dropdown:hover .global-nav__dropdown{opacity:1;visibility:visible}.global-nav__dropdown li{margin:0}.global-nav__dropdown a{display:block;padding:var(--space-sm) var(--space-lg);font-size:.875rem;color:var(--color-gray-700);transition:all var(--transition-fast)}.global-nav__dropdown a:hover{background-color:var(--color-gray-50);color:var(--color-accent)}.mobile-nav__group{margin-bottom:var(--space-md)}.mobile-nav__group-title{display:block;padding:var(--space-md);font-size:.875rem;font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.mobile-nav__sublist{padding-left:var(--space-md)}.mobile-nav__link--sub{font-size:.9375rem}.mobile-nav__contact{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-gray-200);text-align:center}.mobile-nav__contact-label{font-size:.75rem;color:var(--color-gray-500);margin-bottom:var(--space-sm)}.mobile-nav__phone{display:block;font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:var(--space-xs)}.mobile-nav__contact-note{font-size:.75rem;color:var(--color-gray-500)}.footer__contact{margin-top:var(--space-lg)}.footer__phone{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:1.125rem;font-weight:600;color:var(--color-white);transition:color var(--transition-fast)}.footer__phone:hover{color:var(--color-accent-light)}.footer__contact-note{font-size:.75rem;color:var(--color-gray-500);margin-top:var(--space-xs)}.casual-talk{padding:0;background:linear-gradient(135deg,var(--color-gray-50) 0,var(--color-gray-100) 100%);overflow:hidden}.casual-talk__link{display:block;padding:var(--space-3xl) 0;transition:background-color var(--transition-base)}.casual-talk__link:hover{background-color:rgba(217,119,6,.05)}.casual-talk__inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);text-align:center}@media (min-width:768px){.casual-talk__inner{flex-direction:row;justify-content:space-between;text-align:left}}.casual-talk__marquee{display:flex;gap:var(--space-xl);font-family:var(--font-display);font-size:.875rem;font-weight:600;letter-spacing:.3em;color:var(--color-accent);opacity:.5;white-space:nowrap;animation:marquee 20s linear infinite}@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@media (min-width:768px){.casual-talk__marquee{display:none}}.casual-talk__content{flex:1}.casual-talk__title{font-size:1.5rem;font-weight:700;color:var(--color-gray-900);margin-bottom:var(--space-md)}@media (min-width:768px){.casual-talk__title{font-size:1.75rem}}.casual-talk__tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}@media (min-width:768px){.casual-talk__tags{justify-content:flex-start}}.casual-talk__tag{display:inline-block;padding:var(--space-xs) var(--space-md);font-size:.8125rem;font-weight:500;color:var(--color-gray-600);background-color:var(--color-white);border-radius:var(--radius-xl);border:1px solid var(--color-gray-200)}.casual-talk__arrow{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background-color:var(--color-accent);border-radius:50%;color:var(--color-white);transition:all var(--transition-fast)}.casual-talk__link:hover .casual-talk__arrow{background-color:var(--color-accent-dark);transform:translateX(5px)}.interview__empty{text-align:center;padding:var(--space-4xl) var(--space-xl);grid-column:1/-1}.interview__empty-icon{display:flex;align-items:center;justify-content:center;width:100px;height:100px;margin:0 auto var(--space-xl);background-color:var(--color-gray-100);border-radius:50%;color:var(--color-gray-400)}.interview__empty-title{font-size:1.25rem;font-weight:700;color:var(--color-gray-900);margin-bottom:var(--space-md)}.interview__empty-text{font-size:.9375rem;color:var(--color-gray-600);margin-bottom:var(--space-xl);line-height:1.8}.techblog__categories{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-2xl)}.techblog__category-link{display:inline-block;padding:var(--space-sm) var(--space-lg);font-size:.875rem;font-weight:500;color:var(--color-gray-600);background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);transition:all var(--transition-fast)}.techblog__category-link.is-active,.techblog__category-link:hover{color:var(--color-white);background-color:var(--color-accent);border-color:var(--color-accent)}.techblog__grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media (min-width:768px){.techblog__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.techblog__grid{grid-template-columns:repeat(3,1fr)}}.techblog-card{background-color:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.techblog-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.techblog-card__link{display:block}.techblog-card__image{position:relative;aspect-ratio:16/10;overflow:hidden}.techblog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.techblog-card:hover .techblog-card__image img{transform:scale(1.05)}.techblog-card__category{position:absolute;top:var(--space-md);left:var(--space-md);padding:var(--space-xs) var(--space-sm);font-size:.75rem;font-weight:600;color:var(--color-white);background-color:var(--color-accent);border-radius:var(--radius-sm)}.techblog-card__content{padding:var(--space-lg)}.techblog-card__date{display:block;font-size:.75rem;color:var(--color-gray-500);margin-bottom:var(--space-sm)}.techblog-card__title{font-size:1rem;font-weight:600;color:var(--color-gray-900);line-height:1.5;margin-bottom:var(--space-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.techblog-card__excerpt{font-size:.8125rem;color:var(--color-gray-600);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.techblog-card__author{font-size:.75rem;color:var(--color-gray-500);margin-top:var(--space-md)}.techblog__empty{text-align:center;padding:var(--space-4xl) var(--space-xl)}.techblog__empty-icon{display:flex;align-items:center;justify-content:center;width:100px;height:100px;margin:0 auto var(--space-xl);background-color:var(--color-gray-100);border-radius:50%;color:var(--color-gray-400)}.techblog__empty-title{font-size:1.25rem;font-weight:700;color:var(--color-gray-900);margin-bottom:var(--space-md)}.techblog__empty-text{font-size:.9375rem;color:var(--color-gray-600);margin-bottom:var(--space-xl);line-height:1.8}.techblog-single__header{margin-bottom:var(--space-2xl)}.techblog-single__categories{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.techblog-single__category{display:inline-block;padding:var(--space-xs) var(--space-md);font-size:.75rem;font-weight:600;color:var(--color-white);background-color:var(--color-accent);border-radius:var(--radius-sm)}.techblog-single__title{font-size:1.75rem;font-weight:700;color:var(--color-gray-900);line-height:1.4;margin-bottom:var(--space-lg)}@media (min-width:768px){.techblog-single__title{font-size:2rem}}.techblog-single__meta{display:flex;flex-wrap:wrap;gap:var(--space-lg);font-size:.875rem;color:var(--color-gray-500)}.techblog-single__author,.techblog-single__date{display:flex;align-items:center;gap:var(--space-xs)}.techblog-single__thumbnail{margin-bottom:var(--space-2xl);border-radius:var(--radius-lg);overflow:hidden}.techblog-single__thumbnail img{width:100%;height:auto}.techblog-single__content{font-size:1rem;line-height:2;color:var(--color-gray-700)}.techblog-single__content h2{font-size:1.5rem;margin-top:var(--space-3xl);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-accent)}.techblog-single__content h3{font-size:1.25rem;margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.techblog-single__content p{margin-bottom:var(--space-lg)}.techblog-single__content img{border-radius:var(--radius-md);margin:var(--space-xl) 0}.techblog-single__footer{margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:1px solid var(--color-gray-200)}.techblog-single__share{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);margin-bottom:var(--space-2xl)}@media (min-width:768px){.techblog-single__share{flex-direction:row}}.techblog-single__share-label{font-size:.875rem;font-weight:500;color:var(--color-gray-600)}.techblog-single__share-buttons{display:flex;gap:var(--space-sm)}.techblog-single__share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--color-white);transition:all var(--transition-fast)}.techblog-single__share-btn:hover{transform:translateY(-2px)}.techblog-single__share-btn--twitter{background-color:#000}.techblog-single__share-btn--facebook{background-color:#1877f2}.techblog-single__share-btn--hatena{background-color:#00a4de}.techblog-single__share-btn--line{background-color:#00b900}.techblog-single__nav{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media (min-width:768px){.techblog-single__nav{grid-template-columns:1fr 1fr}}.techblog-single__nav-link{display:block;padding:var(--space-lg);background-color:var(--color-gray-50);border-radius:var(--radius-md);transition:all var(--transition-fast)}.techblog-single__nav-link:hover{background-color:var(--color-gray-100)}.techblog-single__nav-link--next{text-align:right}.techblog-single__nav-label{display:flex;align-items:center;gap:var(--space-xs);font-size:.75rem;color:var(--color-gray-500);margin-bottom:var(--space-sm)}.techblog-single__nav-link--next .techblog-single__nav-label{justify-content:flex-end}.techblog-single__nav-title{display:block;font-size:.9375rem;font-weight:500;color:var(--color-gray-800);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.interview-single__header{margin-bottom:var(--space-3xl)}.interview-single__header-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);align-items:center}@media (min-width:768px){.interview-single__header-grid{grid-template-columns:300px 1fr}}.interview-single__photo{border-radius:var(--radius-lg);overflow:hidden}.interview-single__photo img{width:100%;height:auto}.interview-single__position{display:inline-block;padding:var(--space-xs) var(--space-md);font-size:.8125rem;font-weight:500;color:var(--color-accent);background-color:rgba(217,119,6,.1);border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.interview-single__name{font-size:2rem;font-weight:700;color:var(--color-gray-900);margin-bottom:var(--space-md)}.interview-single__catchphrase{font-size:1.125rem;font-weight:500;color:var(--color-gray-700);line-height:1.6}.interview-single__section{margin-bottom:var(--space-3xl);padding-bottom:var(--space-2xl);border-bottom:1px solid var(--color-gray-200)}.interview-single__section:last-of-type{border-bottom:none}.interview-single__section-title{display:flex;align-items:center;gap:var(--space-md);font-size:1.125rem;font-weight:700;color:var(--color-gray-900);margin-bottom:var(--space-lg)}.interview-single__section-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--color-white);background-color:var(--color-accent);border-radius:50%}.interview-single__answer{font-size:1rem;line-height:2;color:var(--color-gray-700)}.interview-single__section--schedule{background-color:var(--color-gray-50);border-radius:var(--radius-lg);padding:var(--space-2xl);border-bottom:none;margin-bottom:var(--space-2xl)}.interview-single__schedule{display:flex;flex-direction:column;gap:var(--space-md)}.interview-single__schedule-item{display:flex;align-items:flex-start;gap:var(--space-lg);padding:var(--space-md) 0;border-bottom:1px dashed var(--color-gray-300)}.interview-single__schedule-item:last-child{border-bottom:none}.interview-single__schedule-time{flex-shrink:0;width:80px;font-family:var(--font-display);font-size:.9375rem;font-weight:600;color:var(--color-accent)}.interview-single__schedule-content{font-size:.9375rem;color:var(--color-gray-700)}.interview-single__section--message{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border-radius:var(--radius-lg);padding:var(--space-2xl);border-bottom:none}.interview-single__section--message .interview-single__section-title{color:var(--color-white)}.interview-single__section--message .interview-single__section-icon{background-color:var(--color-accent)}.interview-single__message blockquote{font-size:1.0625rem;line-height:2;color:rgba(255,255,255,.9);margin-bottom:var(--space-lg)}.interview-single__message cite{display:block;font-size:.875rem;font-style:normal;color:rgba(255,255,255,.7);text-align:right}.interview-single__back{margin-top:var(--space-3xl);text-align:center}.interview-card__link{display:block;height:100%}.project-single__header{margin-bottom:var(--space-2xl)}.project-single__category{display:inline-block;padding:var(--space-xs) var(--space-md);font-size:.75rem;font-weight:600;color:var(--color-white);background-color:var(--color-accent);border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.project-single__title{font-size:1.75rem;font-weight:700;color:var(--color-gray-900);line-height:1.4;margin-bottom:var(--space-lg)}@media (min-width:768px){.project-single__title{font-size:2.25rem}}.project-single__meta{display:flex;flex-wrap:wrap;gap:var(--space-lg);padding:var(--space-lg);background-color:var(--color-gray-50);border-radius:var(--radius-md)}.project-single__meta-item{display:flex;flex-direction:column;gap:var(--space-xs)}.project-single__meta-label{font-size:.75rem;color:var(--color-gray-500)}.project-single__meta-value{font-size:.9375rem;font-weight:600;color:var(--color-gray-900)}.project-single__thumbnail{margin-bottom:var(--space-3xl);border-radius:var(--radius-lg);overflow:hidden}.project-single__thumbnail img{width:100%;height:auto}.project-single__section{margin-bottom:var(--space-3xl)}.project-single__section-title{display:flex;align-items:center;gap:var(--space-md);font-size:1.25rem;font-weight:700;color:var(--color-gray-900);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:2px solid var(--color-gray-200)}.project-single__section-number{font-family:var(--font-display);font-size:.875rem;font-weight:700;color:var(--color-accent)}.project-single__text{font-size:1rem;line-height:2;color:var(--color-gray-700)}.project-single__section--highlight{background:linear-gradient(135deg,rgba(217,119,6,.05) 0,rgba(217,119,6,.1) 100%);border-radius:var(--radius-lg);padding:var(--space-2xl)}.project-single__section--highlight .project-single__section-title{border-bottom-color:var(--color-accent)}.project-single__gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}@media (min-width:768px){.project-single__gallery{grid-template-columns:repeat(3,1fr)}}.project-single__gallery-item{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3}.project-single__gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.project-single__gallery-item:hover img{transform:scale(1.05)}.project-single__voice{display:flex;gap:var(--space-lg);padding:var(--space-xl);background-color:var(--color-gray-50);border-radius:var(--radius-lg);border-left:4px solid var(--color-accent)}.project-single__voice-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:50px;height:50px;background-color:var(--color-primary);border-radius:50%;color:var(--color-white)}.project-single__voice-text{font-size:1rem;line-height:1.8;color:var(--color-gray-700);font-style:normal}.project-single__back{margin-top:var(--space-3xl);text-align:center}.page-header--compact{padding:calc(80px + var(--space-2xl)) 0 var(--space-2xl)}.entry-content h2{font-size:1.5rem;margin-top:var(--space-3xl);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-accent)}.entry-content h3{font-size:1.25rem;margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.entry-content p{margin-bottom:var(--space-lg)}.entry-content ol,.entry-content ul{margin-bottom:var(--space-lg);padding-left:var(--space-xl)}.entry-content li{margin-bottom:var(--space-sm);list-style:disc}.entry-content ol li{list-style:decimal}.entry-content img{border-radius:var(--radius-md);margin:var(--space-xl) 0}.entry-content blockquote{padding:var(--space-lg);background-color:var(--color-gray-50);border-left:4px solid var(--color-accent);border-radius:var(--radius-md);margin:var(--space-xl) 0;font-style:italic}.entry-content code{padding:var(--space-xs) var(--space-sm);font-family:monospace;font-size:.875em;background-color:var(--color-gray-100);border-radius:var(--radius-sm)}.entry-content pre{padding:var(--space-lg);background-color:var(--color-gray-900);color:var(--color-gray-100);border-radius:var(--radius-md);overflow-x:auto;margin:var(--space-xl) 0}.entry-content pre code{padding:0;background:0 0}