:root{--primary:#00ae91;--primary-ink:#00755f;--secondary:#40c1ac;--ink:#333;--ink-soft:#5c5c5c;--paper:#fff;--paper-soft:#f7f7f7;--dark:#000;--rule:#e5e5e5;--line-green:#06c755;--warn:#b7791f;--warn-soft:#fbf1e1;--accent:#e34b00}*{box-sizing:border-box}html{font-size:62.5%}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:hiragino-kaku-gothic-pron,Hiragino Sans,ヒラギノ角ゴ ProN W3,游ゴシック体,YuGothic,Yu Gothic,Roboto,Meiryo,sans-serif;font-size:1.6rem;line-height:1.8}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.tbd{color:var(--warn);font-weight:600}.tbd-badge{color:var(--warn);background:var(--warn-soft);border-radius:999px;margin-top:.8rem;padding:.4rem 1rem;font-size:1.2rem;font-weight:600;display:inline-block}.review-bar{background:var(--warn-soft);color:#5c3d0a;text-align:center;border-bottom:1px solid #e8c98a;padding:1rem 2rem;font-size:1.3rem;line-height:1.7}.review-bar strong{color:#8a5a00}.site-header{z-index:50;border-bottom:1px solid var(--rule);background:#fff;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1.6rem 2.4rem;display:flex}.logo{letter-spacing:.01em;color:var(--ink);font-size:1.5rem;font-weight:700}.logo-sub{color:var(--ink-soft);letter-spacing:0;margin-left:.4rem;font-family:inherit;font-size:1.2rem}.gnav{gap:2.4rem;display:flex}.gnav a{color:var(--ink-soft);font-size:1.4rem}.gnav a:hover{color:var(--primary)}@media (max-width:900px){.gnav{display:none}}.mobile-break{display:none}@media (max-width:640px){.mobile-break{display:inline}.logo{text-align:left;line-height:1.3}.header-inner .btn-sm{text-align:center;line-height:1.3}}.btn{text-align:center;border-radius:999px;justify-content:center;align-items:center;padding:1.1rem 2.6rem;font-size:1.5rem;font-weight:700;transition:opacity .2s;display:inline-flex}.btn:hover{opacity:.88}.btn-primary{background:var(--primary);color:#fff}.btn-apply{background:var(--accent);color:#fff}.btn-line{background:var(--line-green);color:#fff}.btn-sm{padding:.8rem 1.8rem;font-size:1.3rem}.btn-lg{padding:1.4rem 3.6rem;font-size:1.7rem}.hero{background-position:50%;background-size:cover;background-image:linear-gradient(180deg, #0a141459, #0a1414a6), var(--hero-bg-pc);color:#fff;align-items:center;height:clamp(480px,78vh,820px);display:flex;position:relative}@media (max-width:640px){.hero{background-image:linear-gradient(180deg, #0a141459, #0a1414a6), var(--hero-bg-sp)}}.hero-inner{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:4rem 4rem 0}@media (max-width:860px){.hero-inner{padding:4rem 2.4rem 0}}.eyebrow{letter-spacing:.15em;color:var(--secondary);margin:0 0 1.2rem;font-family:Bebas Neue,sans-serif;font-size:1.5rem}.hero h1{margin:0 0 1.6rem;font-size:clamp(2.8rem,5vw,4.4rem);font-weight:700;line-height:1.35}.hero-lead{color:#f0f0f0;margin:0 0 4rem;font-size:1.6rem}.hero-cta-group{border-left:4px solid var(--secondary);background:#0006;border-radius:4px;flex-direction:column;align-items:flex-start;gap:1rem;padding:1.6rem;display:inline-flex}.hero-cta-note{color:#fff;margin:0;font-size:1.5rem;font-weight:700}.hero-actions{flex-wrap:wrap;gap:1.6rem;display:flex}@media (min-width:641px){.hero-actions .btn{padding:2.2rem 5.2rem;font-size:3rem}.hero-cta-note{font-size:3rem}}@media (max-width:640px){.hero-cta-group{box-sizing:border-box;width:100%}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}}.sticky-cta{z-index:60;padding:1.2rem 2.4rem calc(1.2rem + env(safe-area-inset-bottom));pointer-events:none;background:#fffffff7;justify-content:center;transition:transform .3s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(120%);box-shadow:0 -4px 16px #0000001f}.sticky-cta.is-visible{pointer-events:auto;transform:translateY(0)}.sticky-cta-btn{background:var(--accent);color:#fff;width:100%;max-width:480px;position:relative;overflow:hidden}.sticky-cta-btn:after{content:"";background:linear-gradient(120deg,#fff0 0%,#ffffffd9 50%,#fff0 100%);width:40%;height:100%;animation:3.2s ease-in-out infinite sticky-cta-shine;position:absolute;top:0;left:-60%;transform:skew(-20deg)}@keyframes sticky-cta-shine{0%{left:-60%}35%{left:130%}to{left:130%}}@media (max-width:640px){.sticky-cta-btn{max-width:none}}.hero-projects-section{background:var(--primary);padding:4.8rem 2.4rem 6.4rem}.hero-projects-viewport{box-sizing:border-box;position:relative}.hero-projects-label{color:#fff;letter-spacing:.04em;align-items:center;gap:.9rem;margin:0 0 1.4rem;font-size:1.7rem;font-weight:700;display:inline-flex}.hero-projects-label:before{content:"";background:#ff3b30;border-radius:50%;flex:none;width:1rem;height:1rem;animation:1.6s infinite hero-label-pulse}@keyframes hero-label-pulse{0%{box-shadow:0 0 #ff3b3099}70%{box-shadow:0 0 0 8px #ff3b3000}to{box-shadow:0 0 #ff3b3000}}.hero-projects-track{position:relative}.hero-projects{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;gap:1.6rem;display:flex;overflow-x:auto}.hero-projects::-webkit-scrollbar{display:none}.hero-project-card{scroll-snap-align:start;color:var(--ink,#1a1a1a);background:#fffffff0;border-radius:12px;flex:0 0 calc(33.3333% - 1.06667rem);padding:2rem 1.8rem}.hero-project-card h3{margin:0 0 .8rem;font-size:1.5rem}.hero-project-card .project-rate{color:var(--primary);margin:0 0 .4rem;font-size:1.4rem;font-weight:700}.hero-project-card p{color:var(--ink-soft);margin:.2rem 0;font-size:1.2rem}.hero-more-btn{position:absolute;bottom:-1.8rem;right:2.4rem;box-shadow:0 4px 14px #00000040}.hero-arrow{z-index:3;color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;font-size:2.2rem;line-height:1;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.hero-arrow:hover{background:#000000ad}.hero-arrow-prev{left:.4rem}.hero-arrow-next{right:.4rem}@media (max-width:860px){.hero-projects-section{padding:3.6rem 2.4rem 5.6rem}.hero-projects-label{font-size:1.4rem}.hero-project-card{flex:0 0 100%}.hero-more-btn{padding:.9rem 2rem;font-size:1.3rem;bottom:-1.4rem;right:1.6rem}.hero-arrow{width:3.4rem;height:3.4rem;font-size:1.9rem}}@media (max-width:640px){.hero{height:auto}}section{max-width:1200px;margin:0 auto;padding:6.4rem 2.4rem}.sec-eyebrow{color:var(--primary);letter-spacing:.12em;margin:0 0 .8rem;font-family:Bebas Neue,sans-serif;font-size:1.4rem}h2{margin:0 0 2rem;font-size:2.8rem;font-weight:700}.sec-lead{color:var(--ink-soft);max-width:72ch;margin:0 0 3.2rem;font-size:1.5rem}.card-3col{grid-template-columns:repeat(3,1fr);gap:2.4rem;display:grid}@media (max-width:860px){.card-3col{grid-template-columns:1fr}}.reason{background:var(--paper-soft)}.reason-card{background:#fff;border-radius:12px;padding:3.2rem 2.4rem;box-shadow:0 2px 12px #0000000d}.reason-num{color:var(--secondary);font-family:Bebas Neue,sans-serif;font-size:3rem}.reason-card h3{margin:1rem 0;font-size:1.9rem}.reason-card p{color:var(--ink-soft);margin:0;font-size:1.4rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 2px 12px #0000000d}thead th{background:var(--primary);color:#fff;text-align:left;padding:1.2rem 1.6rem;font-size:1.3rem}tbody td{border-bottom:1px solid var(--rule);padding:1.2rem 1.6rem;font-size:1.4rem}tbody tr:last-child td{border-bottom:none}.message{background:var(--paper-soft)}.message-inner{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}@media (max-width:860px){.message-inner{grid-template-columns:1fr}}.message-photo{text-align:center;background:#fff;border-radius:12px;padding:2.4rem}.message-photo-frame{aspect-ratio:16/9;background:var(--ink) center/cover no-repeat;border-radius:8px;width:100%}.message-quote{margin:0 0 1.6rem;font-size:2.2rem;font-weight:700;line-height:1.6}.staff-card{text-align:center;background:#fff;border-radius:12px;padding:3.2rem 2.4rem;box-shadow:0 2px 12px #0000000d}.staff-avatar{background:var(--paper-soft);width:96px;height:96px;color:var(--warn);border:2px dashed #d8b877;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.6rem;font-size:1.3rem;font-weight:700;display:flex}.staff-avatar-photo{background-position:50%;background-size:cover;border:none}.staff-card h3{margin:0 0 .4rem;font-size:1.8rem}.staff-role{color:var(--primary);margin:0 0 1.2rem;font-size:1.2rem}.staff-card p{color:var(--ink-soft);font-size:1.4rem}.flow-list{flex-direction:column;gap:1.2rem;display:flex}.flow-step{background:var(--paper-soft);border-radius:10px;align-items:center;gap:2rem;padding:1.8rem 2.4rem;display:flex}.flow-index{color:var(--primary);flex:none;width:4rem;font-family:Bebas Neue,sans-serif;font-size:2.6rem}.flow-step p{margin:0;font-size:1.5rem}.project-card{border:1px solid var(--rule);background:#fff;border-radius:12px;padding:2.8rem 2.2rem}.project-tag{background:var(--secondary);color:#fff;border-radius:999px;margin-bottom:1.2rem;padding:.4rem 1.1rem;font-size:1.1rem;display:inline-block}.project-card h3{margin:0 0 1rem;font-size:1.7rem}.project-rate{color:var(--primary);margin:0 0 .4rem;font-size:1.5rem;font-weight:700}.project-card p{color:var(--ink-soft);margin:.2rem 0;font-size:1.3rem}.projects-cta{text-align:center;margin-top:3.2rem}@media (max-width:640px){.projects-cta .btn{width:100%}}.search-hero{padding-bottom:3.2rem}.search-hero h1{margin:0 0 1.2rem;font-size:3rem;font-weight:700}.search-form{background:var(--paper-soft);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:1.6rem;padding:2.4rem;display:grid}@media (max-width:900px){.search-form{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.search-form{grid-template-columns:1fr}}.search-field{flex-direction:column;gap:.6rem;display:flex}.search-field label{color:var(--ink-soft);font-size:1.3rem;font-weight:700}.search-field input,.search-field select{border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:8px;padding:1rem 1.2rem;font-family:inherit;font-size:1.4rem}.search-actions{grid-column:1/-1;align-items:center;gap:1.6rem;margin-top:.4rem;display:flex}.search-reset{color:var(--ink-soft);font-size:1.4rem;text-decoration:underline}.search-reset:hover{color:var(--primary)}.search-results{padding-top:0}.search-count{color:var(--ink-soft);margin:0 0 2.4rem;font-size:1.4rem}.search-empty{background:var(--paper-soft);text-align:center;color:var(--ink-soft);border-radius:12px;padding:3.2rem;font-size:1.5rem}.project-search-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2.4rem;display:grid}.register-form{background:var(--paper-soft);border-radius:12px;flex-direction:column;gap:2rem;max-width:560px;padding:3.2rem;display:flex}.register-consent{color:var(--ink-soft);align-items:flex-start;gap:1rem;font-size:1.4rem;display:flex}.register-consent input{margin-top:.3rem}.register-consent a{color:var(--primary);text-decoration:underline}.register-success{color:var(--primary-ink);background:#effdf5;border-radius:12px;max-width:560px;padding:3.2rem;font-size:1.5rem}.register-error{background:var(--warn-soft);color:#8a5a00;border-radius:8px;max-width:560px;margin:0 0 2rem;padding:1.4rem 1.8rem;font-size:1.4rem}.faq{background:var(--paper-soft)}.faq-list{flex-direction:column;gap:1.2rem;display:flex}.faq-item{background:#fff;border-radius:10px;padding:2rem 2.4rem;box-shadow:0 2px 12px #0000000a}.faq-q{margin:0 0 .8rem;font-size:1.5rem;font-weight:700}.faq-a{color:var(--ink-soft);margin:0;font-size:1.4rem}.cta{background:var(--primary);color:#fff;text-align:center;max-width:none;padding:6.4rem 2.4rem}.cta-inner{max-width:720px;margin:0 auto}.cta h2{margin:0 0 1.4rem;font-size:2.6rem}.cta p{color:#eafff9;margin:0 0 2.8rem;font-size:1.5rem}.cta .btn-primary{color:var(--primary-ink);background:#fff}@media (max-width:640px){.cta .btn{width:100%}}.line-cta{max-width:none;padding:4.8rem 2.4rem}.line-inner{background:#effdf5;border-radius:16px;justify-content:space-between;align-items:center;gap:2.4rem;max-width:1000px;margin:0 auto;padding:3.2rem 3.6rem;display:flex}@media (max-width:760px){.line-inner{text-align:center;flex-direction:column}}.line-inner h3{margin:0 0 .8rem;font-size:1.9rem}.line-inner p{color:var(--ink-soft);margin:0;font-size:1.4rem}@media (max-width:640px){.line-inner .btn{width:100%}}.site-footer{background:var(--dark);color:#ccc;padding:5.6rem 2.4rem 2.4rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:3.2rem;max-width:1200px;margin:0 auto;display:flex}.footer-brand .logo{color:#fff}.footer-brand p{margin-top:1rem;font-size:1.3rem}.footer-nav{flex-direction:column;gap:1rem;font-size:1.3rem;display:flex}.footer-nav a:hover{color:var(--secondary)}.footer-copy{color:#888;text-align:center;border-top:1px solid #333;max-width:1200px;margin:3.2rem auto 0;padding-top:2rem;font-size:1.15rem}
