*{box-sizing:border-box;margin:0;padding:0}:root{--color-white: #ffffff;--color-off-white: #f8f8f8;--color-light-gray: #f2f2f2;--color-gray: #6d6d6d;--color-dark-gray: #333333;--color-black: #6d6d6d;--color-accent: #2ecc71;--color-accent-dark: #27ae60;--color-accent-light: #eafaf1;--color-washi: #f5f5f0;--color-deep-green: #0a5a36;--font-sans: "Noto Sans JP", sans-serif;--font-serif: "Noto Serif JP", serif;--font-mincho: "Shippori Mincho", "Noto Serif JP", serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--border-radius: 0;--border-radius-sm: 2px;--transition-speed: .3s;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .1)}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);line-height:1.6;color:var(--color-dark-gray);background-color:var(--color-white);background-image:url(/images/takumi_haikei.jpg);background-position:center;background-size:cover;background-attachment:fixed;background-repeat:no-repeat;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fff9;z-index:-1}h1,h2,h3,h4,h5,h6{font-family:var(--font-mincho);font-weight:700;line-height:1.3;margin-bottom:var(--spacing-md);color:var(--color-black)}h1{font-size:2.5rem;letter-spacing:.05em}h2{font-size:2rem;position:relative;margin-bottom:var(--spacing-lg);letter-spacing:.03em}h2:after{content:"";position:absolute;bottom:-10px;left:0;width:80px;height:2px;background-color:var(--color-accent)}h3{font-size:1.5rem;letter-spacing:.02em}p{margin-bottom:var(--spacing-md)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-speed)}a:hover{color:var(--color-accent-dark)}img{max-width:100%;height:auto}button,.button{display:inline-block;padding:.8rem 2rem;background-color:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:1rem;font-weight:500;text-align:center;cursor:pointer;transition:background-color var(--transition-speed);position:relative;overflow:hidden}button:hover,.button:hover{background-color:var(--color-accent-dark)}button:after,.button:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:#ffffff80;transform:scaleX(0);transform-origin:right center;transition:transform .3s ease}button:hover:after,.button:hover:after{transform:scaleX(1);transform-origin:left center}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-xl) 0;position:relative}.section-title{text-align:center;margin-bottom:var(--spacing-xl);font-family:var(--font-mincho)}.section-title:after{left:50%;transform:translate(-50%);width:60px;height:2px}.page-header{background-color:var(--color-deep-green);color:var(--color-white);padding:7rem 0 3rem;position:relative;margin-bottom:2rem;text-align:center}.page-header:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0006;z-index:0}.page-header .container{position:relative;z-index:1}.page-title-container{display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.header-image{height:2.5rem;width:auto;margin:0 1rem;object-fit:contain}.page-title{font-size:2.5rem;margin-bottom:0;position:relative;font-family:var(--font-mincho);letter-spacing:.05em;display:inline-block;color:#fff!important}.page-title:after{content:"";position:absolute;bottom:-10px;left:0;width:100%;height:7px;background:linear-gradient(to right,rgba(200,200,200,.2),rgba(200,200,200,.8),rgba(200,200,200,.2))}.breadcrumb{color:var(--color-light-gray);font-size:.9rem;margin-top:1.5rem}.breadcrumb a{color:var(--color-white);transition:color .3s ease;position:relative}.breadcrumb a:hover{color:var(--color-accent)}.breadcrumb a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background-color:var(--color-accent);transition:width .3s ease}.breadcrumb a:hover:after{width:100%}@media (max-width: 768px){.page-header{padding:6rem 0 2.5rem}.page-title{font-size:2rem}.header-image{height:2rem}}@media (max-width: 480px){.page-header{padding:5rem 0 2rem}.page-title{font-size:1.8rem}.header-image{height:1.8rem;margin:0 .5rem}}@media (max-width: 360px){.header-image{height:1.5rem;margin:0 .3rem}}.washi-bg{position:relative}.washi-bg:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#f5f5f0b3;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23000000' fill-opacity='0.02' fill-rule='evenodd'/%3E%3C/svg%3E");z-index:-1}.grid{display:grid;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(1,1fr)}@media (min-width: 768px){.grid-2{grid-template-columns:repeat(2,1fr)}}.grid-3{grid-template-columns:repeat(1,1fr)}@media (min-width: 576px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (min-width: 992px){.grid-3{grid-template-columns:repeat(3,1fr)}}.flex{display:flex;flex-wrap:wrap}.flex-center{justify-content:center;align-items:center}.flex-between{justify-content:space-between;align-items:center}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.pt-1{padding-top:var(--spacing-xs)}.pt-2{padding-top:var(--spacing-sm)}.pt-3{padding-top:var(--spacing-md)}.pt-4{padding-top:var(--spacing-lg)}.pt-5{padding-top:var(--spacing-xl)}.pb-1{padding-bottom:var(--spacing-xs)}.pb-2{padding-bottom:var(--spacing-sm)}.pb-3{padding-bottom:var(--spacing-md)}.pb-4{padding-bottom:var(--spacing-lg)}.pb-5{padding-bottom:var(--spacing-xl)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-white{color:var(--color-white)}.text-dark{color:var(--color-dark-gray)}.text-gray{color:var(--color-gray)}.text-accent{color:var(--color-accent)}.bg-white{background-color:#ffffffd9}.bg-light{background-color:#f8f8f8d9}.bg-dark{background-color:var(--color-dark-gray)}.bg-accent{background-color:var(--color-accent)}.bg-accent-light{background-color:#eafaf1d9}.bg-washi{background-color:#f5f5f0d9}.japanese-style{font-family:var(--font-mincho);letter-spacing:.05em}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in-left{opacity:0;transform:translate(-20px);transition:opacity .8s ease,transform .8s ease}.fade-in-left.visible{opacity:1;transform:translate(0)}.fade-in-right{opacity:0;transform:translate(20px);transition:opacity .8s ease,transform .8s ease}.fade-in-right.visible{opacity:1;transform:translate(0)}.japanese-line{position:relative;padding-bottom:10px}.japanese-line:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(to right,transparent,var(--color-accent),transparent)}.hidden{display:none}@media (min-width: 768px){.hidden-desktop{display:none}}@media (max-width: 767px){.hidden-mobile{display:none}}.section-divider{height:30px;background-image:url("data:image/svg+xml,%3Csvg width='40' height='12' viewBox='0 0 40 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 6.172L40 6.172 40 7.172 0 7.172z' fill='%232ecc71' fill-opacity='.1' fill-rule='evenodd'/%3E%3C/svg%3E");background-size:40px 12px;margin:2rem 0}.japanese-card{background-color:#ffffffd9;border:1px solid rgba(0,0,0,.05);padding:1.5rem;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease}.japanese-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.japanese-button{display:inline-block;padding:.8rem 2.5rem;background-color:var(--color-accent);color:var(--color-white);font-family:var(--font-mincho);border:none;position:relative;overflow:hidden;transition:background-color .3s ease;letter-spacing:.1em}.japanese-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.japanese-button:hover{background-color:var(--color-accent-dark)}.japanese-button:hover:before{left:100%}.content-wrapper{background-color:#ffffffd9;padding:1.5rem;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);margin-bottom:2rem}.footer-links a[href="/recruit/joblist"],.side-menu a[href="/recruit/joblist"],.navigation-menu a[href="/recruit/joblist"],.sitemap-sublink[href="/recruit/joblist"]{color:var(--color-dark-gray)!important;font-weight:400!important;border-color:transparent!important;background-color:transparent!important}.footer-links a[href="/recruit/joblist"]:hover,.side-menu a[href="/recruit/joblist"]:hover,.navigation-menu a[href="/recruit/joblist"]:hover,.sitemap-sublink[href="/recruit/joblist"]:hover{color:var(--color-accent)!important;background-color:transparent!important;transform:none!important;box-shadow:none!important}
