@charset "UTF-8";:root{--main-color:#d82a3d;--main-color-hover:#b51d2e;--accent-gold:#c5a059;--accent-gold-hover:#b08d4b;--bg-beige:#f9f7f4;--bg-white:#ffffff;--text-main:#333333;--text-sub:#555555;--border-radius:12px;--spacing-section:100px;--container-width:1200px}.recruit-page *{box-sizing:border-box}.recruit-page{font-family:Lato,Noto Sans JP,sans-serif;color:var(--text-main);background-color:var(--bg-white);line-height:1.8;-webkit-font-smoothing:antialiased}.recruit-page a{text-decoration:none;color:inherit;transition:.3s}.recruit-page img{max-width:100%;height:auto;display:block}.recruit-page ul{list-style:none;padding:0;margin:0}.recruit-page h1,.recruit-page h2,.recruit-page h3{line-height:1.3}.recruit-page h2{font-size:2.2rem;color:var(--main-color);margin-bottom:3rem;text-align:center;font-weight:700}.recruit-page h3{font-size:1.4rem;color:#333;font-weight:700;margin-bottom:.5rem}.recruit-page h4{font-size:1.3rem;color:#333;font-weight:500}.recruit-page p{font-size:1rem;margin-bottom:1rem;color:var(--text-sub)}.recruit-page .container{width:90%;max-width:var(--container-width);margin:0 auto}.recruit-page .text-center{text-align:center}.recruit-page .mt-2{margin-top:1rem}.recruit-page .mt-4{margin-top:2rem}.recruit-page .mb-4{margin-bottom:2rem}.recruit-page .bold{font-weight:700}.recruit-page .btn-cta{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:300px;background-color:var(--accent-gold);color:#fff;text-align:center;padding:18px 24px;font-weight:700;font-size:1.1rem;border-radius:50px;box-shadow:0 4px 15px rgba(197,160,89,.4);transition:transform .2s,background-color .3s,box-shadow .3s;border:none;cursor:pointer;gap:10px}.recruit-page .btn-cta:hover{background-color:var(--accent-gold-hover);transform:translateY(-2px);box-shadow:0 6px 20px rgba(197,160,89,.5)}.recruit-page .btn-mini{display:inline-block;background:#444;color:white;padding:12px 30px;border-radius:30px;font-size:.95rem;width:100%;transition:.3s;text-align:center}.recruit-page .btn-mini:hover{opacity:.9}.recruit-page .section{padding:var(--spacing-section) 0}.recruit-page .section-beige{background-color:var(--bg-beige)}.recruit-page .section-white{background-color:var(--bg-white)}.recruit-page .section-red{background-color:var(--main-color);color:white}.recruit-page .section-red h2,.recruit-page .section-red p{color:white}.recruit-page #header{position:fixed;top:0;left:0;width:100%;background-color:#fff;backdrop-filter:blur(5px);z-index:1000;padding:12px 0;box-shadow:0 2px 10px rgba(0,0,0,.05)}.recruit-page #header .header-inner{display:flex;justify-content:space-between;align-items:center}.recruit-page #header .logo{font-weight:700;font-size:1.3rem;line-height:1.2;color:var(--text-main);display:flex;align-items:center;gap:8px}.recruit-page #header .logo img{width:48px}.recruit-page #header .header-btn{font-size:1.2rem;padding:8px 25px;background:var(--main-color);color:white;border-radius:25px;font-weight:700}.recruit-page #recruit-hero{position:relative;min-height:100vh;background-image:url(/assets/recruit/image_recruit-fv.webp);background-size:cover;background-position:50%;display:flex;align-items:center;justify-content:center;padding-top:8rem;padding-bottom:5rem}.recruit-page #recruit-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,rgba(255,255,255,.7) 0,rgba(255,255,255,.6) 50%,rgba(255,255,255,.5))}.recruit-page #recruit-hero .content{position:relative;z-index:2;text-align:center;padding:0 20px;max-width:800px}.recruit-page #recruit-hero .badge{display:inline-block;padding:5px 15px;border:1px solid var(--main-color);color:var(--main-color);background:white;border-radius:30px;font-size:.9rem;font-weight:700;margin-bottom:1rem}.recruit-page #recruit-hero .title{font-size:3rem;font-weight:800;color:#333;margin-bottom:1.5rem;line-height:1.4}.recruit-page #recruit-hero .title span{color:var(--main-color)}.recruit-page #recruit-hero .sub{font-size:1.1rem;font-weight:500;margin-bottom:2rem;color:#444;line-height:1.8}.recruit-page #recruit-hero .hero-cta-wrapper{display:flex;flex-direction:column;gap:1rem;justify-content:center;align-items:center}@media (min-width:640px){.recruit-page #recruit-hero .hero-cta-wrapper{flex-direction:row}}.recruit-page #recruit-about .content{display:flex;flex-direction:row;align-items:center;gap:50px}.recruit-page #recruit-about .img{width:100%;max-width:600px;height:400px;-o-object-fit:cover;object-fit:cover;margin:0;flex:1;border-radius:var(--border-radius);box-shadow:0 10px 30px rgba(0,0,0,.1)}.recruit-page #recruit-about .text{flex:1;text-align:left;max-width:700px;margin:0;font-size:1.1rem}.recruit-page #recruit-about .check-list li{position:relative;padding-left:1.8rem;margin-bottom:12px;font-weight:500}.recruit-page #recruit-about .check-list li:before{content:"\f00c";font-family:Font Awesome\ 6 Free;font-weight:900;color:var(--main-color);position:absolute;left:0;top:4px}.recruit-page #recruit-about .message-box{background:var(--bg-beige);padding:30px;border-radius:8px;border:2px solid var(--main-color);margin-top:30px}.recruit-page #recruit-candidate .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.recruit-page #recruit-candidate .card{padding:30px 20px;background:white;border-radius:12px;transition:.3s;text-align:center;border:1px solid #eee}.recruit-page #recruit-candidate .card:hover{box-shadow:0 10px 25px rgba(0,0,0,.05);transform:translateY(-3px);border-color:var(--main-color)}.recruit-page #recruit-candidate .icon{font-size:2.5rem;color:var(--main-color);margin-bottom:15px;display:block}.recruit-page #recruit-requirements .card{background:white;padding:30px;border-radius:var(--border-radius);margin-bottom:20px;box-shadow:0 4px 10px rgba(0,0,0,.05);transition:.3s;border:2px solid var(--main-color)}.recruit-page #recruit-requirements .title{font-size:1.2rem;font-weight:700;color:var(--main-color);margin-bottom:15px;border-bottom:1px solid #eee;padding-bottom:10px}.recruit-page #recruit-requirements .sub{background:#f9f9f9;padding:15px;border-radius:6px;margin-bottom:15px;font-size:.95rem}.recruit-page #recruit-requirements .list li{position:relative;padding-left:1.5rem;margin-bottom:8px;font-size:.95rem;color:#555}.recruit-page #recruit-requirements .list li:before{content:"•";color:var(--main-color);position:absolute;left:0;font-weight:700;font-size:1.2rem;line-height:1}.recruit-page #recruit-compensation{background-color:var(--main-color)}.recruit-page #recruit-compensation h2{color:#fff}.recruit-page #recruit-compensation .grid{display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:30px;column-gap:30px}.recruit-page #recruit-compensation .card{background:white;border:2px solid var(--bg-beige);border-radius:var(--border-radius);padding:50px 30px;text-align:center;display:flex;flex-direction:column;justify-content:space-between;transition:.3s;border-color:var(--main-color);box-shadow:0 10px 30px rgba(216,42,61,.1)}.recruit-page #recruit-compensation .desc li{padding-bottom:10px;margin-bottom:15px;border-bottom:1px solid #d4d4d4}.recruit-page #recruit-compensation .desc li strong{color:var(--main-color);font-weight:700}.recruit-page #recruit-compensation .price{font-size:2rem;font-weight:800;margin:15px 0;color:var(--main-color);font-family:Lato,sans-serif}.recruit-page #recruit-compensation .sub{font-size:.9rem;color:#777;font-weight:400}.recruit-page #recruit-flow .timeline{position:relative;max-width:700px;margin:0 auto;padding:20px 0}.recruit-page #recruit-flow .timeline:after{content:"";position:absolute;left:31px;top:20px;bottom:20px;width:2px;background:#ddd;z-index:0}.recruit-page #recruit-flow .timeline-step{position:relative;margin-bottom:50px;padding-left:70px;z-index:1}.recruit-page #recruit-flow .timeline-step:last-child{margin-bottom:0}.recruit-page #recruit-flow .timeline-step:before{content:"";position:absolute;left:15px;top:6px;width:28px;height:28px;background:white;border-radius:50%;border:4px solid var(--main-color);z-index:1}.recruit-page #recruit-flow .timeline-step h3{font-size:1.2rem}.recruit-page #recruit-flow .step-label{font-size:.85rem;color:var(--main-color);font-weight:800;margin-bottom:4px;display:block;text-transform:uppercase;letter-spacing:1px;font-family:Lato,sans-serif}.recruit-page #recruit-job{background-image:linear-gradient(rgba(51,51,51,.8),rgba(51,51,51,.8)),url(/assets/recruit/image_recruit-job-bg.webp);background-size:cover;background-position:0 0}.recruit-page #recruit-job h2{color:#fff}.recruit-page #recruit-job .job-table{width:100%;border-collapse:collapse;max-width:800px;margin:0 auto}.recruit-page #recruit-job .job-table td,.recruit-page #recruit-job .job-table th{padding:20px;border-bottom:1px solid #fff;text-align:left}.recruit-page #recruit-job .job-table th{width:30%;color:#fff;font-weight:700;font-size:.9rem}.recruit-page #recruit-job .job-table td{color:#fff;font-weight:500}.recruit-page #recruit-faq .container{max-width:800px;margin:0 auto}.recruit-page #recruit-faq details{margin-bottom:16px;border-bottom:1px solid #ddd;background:white;border-radius:8px;overflow:hidden;box-shadow:0 2px 5px rgba(0,0,0,.02)}.recruit-page #recruit-faq summary{font-weight:700;cursor:pointer;list-style:none;position:relative;padding:20px 50px 20px 20px;font-size:1rem;transition:background .2s;color:#333}.recruit-page #recruit-faq summary:hover{background:#fdfdfd}.recruit-page #recruit-faq summary::-webkit-details-marker{display:none}.recruit-page #recruit-faq summary:after{content:"\f078";font-family:Font Awesome\ 6 Free;font-weight:900;position:absolute;right:20px;top:20px;color:var(--main-color);font-size:.9rem;transition:transform .3s}.recruit-page #recruit-faq details[open] summary:after{transform:rotate(180deg)}.recruit-page #recruit-faq .faq-answer{padding:0 20px 24px;font-size:.95rem;color:var(--text-sub);line-height:1.8;white-space:pre-line;background:#fcfcfc}.recruit-page #recruit-cta{text-align:center;padding:100px 20px;background-image:linear-gradient(rgba(216,42,61,.9),rgba(216,42,61,.9)),url(/assets/recruit/image_recruit-cta-bg.webp);background-size:cover;background-position:50%}.recruit-page #recruit-cta .form-box{background:white;padding:40px;border-radius:var(--border-radius);box-shadow:0 10px 40px rgba(0,0,0,.1);max-width:700px;margin:0 auto}.recruit-page #recruit-cta .form-list li{padding:10px 0;color:var(--text-main);border-bottom:1px solid #eee;display:flex;align-items:flex-start;gap:10px}.recruit-page #recruit-cta .form-list i{color:var(--main-color);margin-top:5px}.recruit-page #footer{background:#222;color:white;text-align:center;padding:60px 20px}.recruit-page #footer a{color:#bbb}.recruit-page #footer a:hover{color:white}.recruit-page #footer .footer-logo{font-size:1.5rem;font-weight:700;margin-bottom:20px;display:block;color:white}.recruit-page #footer .footer-links{margin-bottom:30px}.recruit-page #footer .footer-links a{margin:0 12px;display:inline-block}@media (max-width:767px){.recruit-page .sp-only{display:inline}.recruit-page .section{padding:60px 0}.recruit-page h2{font-size:1.8rem;margin-bottom:2rem}.recruit-page .btn-cta{width:100%;max-width:350px;min-width:0}.recruit-page #header .logo{font-size:.8rem}.recruit-page #header .logo img{width:30px}.recruit-page #header .header-btn{font-size:.8rem;padding:5px 10px;border-radius:20px}.recruit-page #recruit-hero .title{font-size:2rem}.recruit-page #recruit-hero .sub{font-size:1rem}.recruit-page #recruit-about .content{flex-direction:column;gap:30px}.recruit-page #recruit-about .img{max-width:100%;height:300px}.recruit-page #recruit-about .text{font-size:1rem}.recruit-page #recruit-candidate .grid{grid-template-columns:1fr}.recruit-page #recruit-requirements .card{padding:20px}.recruit-page #recruit-compensation .grid{grid-template-columns:1fr;row-gap:30px}.recruit-page #recruit-compensation .card{padding:30px 20px}.recruit-page #recruit-flow .timeline:after{left:20px}.recruit-page #recruit-flow .timeline-step{padding-left:50px}.recruit-page #recruit-flow .timeline-step:before{left:4px}.recruit-page #recruit-job .job-table td,.recruit-page #recruit-job .job-table th{display:block;width:100%;padding:10px 0}.recruit-page #recruit-job .job-table th{padding-top:20px;border-bottom:none;color:var(--main-color)}.recruit-page #recruit-job .job-table td{border-bottom:1px solid #eee}.recruit-page #recruit-cta{padding:60px 20px}.recruit-page #recruit-cta .form-box{padding:30px 20px}}.recruit-page .text-main{color:var(--main-color)}