.loading{position:fixed;inset:0;z-index:9999;background-color:#000;display:flex;justify-content:center;align-items:center;flex-direction:column;color:#fff;transition:opacity 1s cubic-bezier(.77,0,.175,1)}.loading.is-loaded{opacity:0;pointer-events:none}.loading__content{display:flex;flex-direction:column;align-items:center}.loading__text{font-family:Inter,serif;font-weight:200;letter-spacing:.15em;font-size:1.5rem;transition:transform 3s cubic-bezier(.77,0,.175,1),opacity 3s cubic-bezier(.77,0,.175,1);transform:scale(.95);opacity:0}.loading.is-active .loading__text{transform:scale(1);opacity:1}.loading__text span{opacity:0;transition:opacity .8s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,sans-serif;background-color:#000;color:#fff;line-height:1.9;font-weight:200;letter-spacing:.02em}a{text-decoration:none;color:#fff;transition:opacity .3s ease}a:hover{opacity:.7}.privacy__link{text-decoration:underline;color:#fff}.section{border-top:1px solid #262626;padding:8rem 0}.section__container{max-width:1200px;margin:0 auto;padding:0 4rem}.section__title{margin-bottom:4rem;display:flex;flex-direction:column;gap:.5rem}.section__label{font-family:Inter,sans-serif;font-size:.75rem;font-weight:200;text-transform:lowercase;letter-spacing:.3em;color:#a3a3a3}.section__title{font-size:2rem;font-weight:200;letter-spacing:.05em}.hero{height:100vh;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #262626}.hero__container{text-align:center;padding:0 2rem}.hero__title{font-size:4rem;font-weight:200;letter-spacing:.05em;display:flex;flex-direction:column;gap:1rem}.hero__label{font-family:Inter,sans-serif;font-size:.875rem;font-weight:200;letter-spacing:.3em;color:#a3a3a3}.business__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background-color:#262626;border:1px solid #262626}.business__item{background-color:#000;padding:3rem 2rem;display:flex;flex-direction:column;gap:1.5rem}.business__category{font-family:Inter,sans-serif;font-size:.875rem;font-weight:300;letter-spacing:.1em;color:#fff}.business__details{font-size:.875rem;font-weight:200;line-height:2;color:#a3a3a3}.projects__grid{display:flex;flex-direction:column;gap:1px;background-color:#262626;border:1px solid #262626}.project__item{background-color:#000;padding:2.5rem 2rem}.project__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #262626}.project__title{font-size:1.125rem;font-weight:300;letter-spacing:.05em}.project__year{font-family:Inter,sans-serif;font-size:.75rem;font-weight:200;letter-spacing:.1em;color:#a3a3a3}.project__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}.project__meta-item{display:flex;flex-direction:column;gap:.5rem}.project__meta-label{font-family:Inter,sans-serif;font-size:.625rem;font-weight:200;text-transform:uppercase;letter-spacing:.2em;color:#a3a3a3}.project__meta-value{font-size:.875rem;font-weight:200;line-height:1.6}.project__link{color:#fff;text-decoration:underline;text-underline-offset:3px}.timeline{display:flex;flex-direction:column;gap:1px;background-color:#262626;border:1px solid #262626}.timeline__item{background-color:#000;padding:2rem;display:grid;grid-template-columns:120px 1fr;gap:3rem;align-items:start}.timeline__year{font-family:Inter,sans-serif;font-size:.875rem;font-weight:200;letter-spacing:.1em;color:#a3a3a3}.timeline__content{font-size:.9375rem;font-weight:200;line-height:1.8}.skills__grid{display:flex;flex-direction:column;gap:1px;background-color:#262626;border:1px solid #262626}.skills__category{background-color:#000;padding:2.5rem 2rem;display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}.skills__category-title{font-family:Inter,sans-serif;font-size:.875rem;font-weight:300;letter-spacing:.1em}.skills__list{display:flex;flex-wrap:wrap;gap:1rem}.skill__tag{font-size:.8125rem;font-weight:200;padding:.5rem 1rem;border:1px solid #262626;letter-spacing:.05em;transition:all .3s ease}.skill__tag:hover{background-color:#fff;color:#000;border-color:#fff}.contact__content{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background-color:#262626;border:1px solid #262626;margin-bottom:4rem}.contact__item{background-color:#000;padding:2.5rem 2rem;display:flex;flex-direction:column;gap:1rem}.contact__label{font-family:Inter,sans-serif;font-size:.75rem;font-weight:200;text-transform:uppercase;letter-spacing:.2em;color:#a3a3a3}.contact__link{font-size:1rem;font-weight:200;letter-spacing:.05em;text-decoration:underline;text-underline-offset:4px}.privacy{font-size:.75rem;font-weight:200;line-height:1.9;color:#a3a3a3;max-width:800px;margin:0 auto}.privacy p{margin-bottom:1rem}.privacy a{color:#a3a3a3;text-decoration:underline;text-underline-offset:2px}.footer{border-top:1px solid #262626;padding:3rem 0}.footer__container{max-width:1200px;margin:0 auto;padding:0 4rem;text-align:center}.footer__copy{font-family:Inter,sans-serif;font-size:.75rem;font-weight:200;letter-spacing:.1em;color:#a3a3a3}@media screen and (max-width: 1024px){.section__container{padding:0 2rem}.hero__title{font-size:3rem}.business__grid{grid-template-columns:1fr}.timeline__item{grid-template-columns:100px 1fr;gap:2rem}.skills__category{grid-template-columns:150px 1fr;gap:2rem}.contact__content{grid-template-columns:1fr}}.contact__form-wrapper{margin-bottom:4rem}.contact__form{max-width:700px;margin:0 auto}.contact__honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.form__group{margin-bottom:2rem}.form__label{display:block;font-size:.9rem;font-weight:300;letter-spacing:.05em;margin-bottom:.75rem;color:#fff}.form__required{color:#ff6b6b;font-size:.85rem}.form__input,.form__textarea{width:100%;padding:1rem 1.25rem;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-family:Inter,Noto Sans JP,sans-serif;font-size:.95rem;font-weight:300;letter-spacing:.02em;transition:all .3s cubic-bezier(.4,0,.2,1)}.form__input:focus,.form__textarea:focus{outline:none;background-color:#ffffff14;border-color:#ffffff4d}.form__input::placeholder,.form__textarea::placeholder{color:#ffffff4d}.form__textarea{resize:vertical;min-height:180px;line-height:1.6}.form__submit{width:100%;padding:1.25rem 2rem;background-color:#fff;color:#000;border:none;border-radius:4px;font-family:Inter,Noto Sans JP,sans-serif;font-size:1rem;font-weight:400;letter-spacing:.1em;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.form__submit:hover{background-color:#ffffffe6;transform:translateY(-2px)}.form__submit:active{transform:translateY(0)}.form__submit.is-loading{pointer-events:none;opacity:.7}.form__submit.is-loading .submit__text{opacity:0}.form__submit.is-loading .submit__loading{opacity:1}.submit__text,.submit__loading{transition:opacity .3s ease}.submit__loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0}.form__message{margin-top:1.5rem;padding:1rem 1.25rem;border-radius:4px;font-size:.9rem;letter-spacing:.02em;text-align:center;opacity:0;transform:translateY(-10px);transition:all .3s cubic-bezier(.4,0,.2,1)}.form__message.is-visible{opacity:1;transform:translateY(0)}.form__message.is-success{background-color:#2ed5731a;border:1px solid rgba(46,213,115,.3);color:#2ed573}.form__message.is-error{background-color:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b}.contact__alternative{margin-top:6rem;padding-top:4rem;border-top:1px solid rgba(255,255,255,.1)}.alternative__title{font-size:1.2rem;font-weight:300;letter-spacing:.1em;margin-bottom:1rem;text-align:center}.alternative__description{font-size:.9rem;font-weight:300;line-height:1.8;letter-spacing:.05em;color:#ffffffb3;text-align:center;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.contact__note{font-size:.85rem;color:#ffffff80;margin-top:.5rem;font-weight:300;letter-spacing:.05em}@media screen and (max-width: 768px){.loading__text{font-size:1rem;letter-spacing:.1em}.section{padding:5rem 0}.section__container{padding:0 1.5rem}.hero__title{font-size:2rem}.hero__label{font-size:.75rem}.section__title{font-size:1.5rem;margin-bottom:3rem}.business__item,.project__item,.timeline__item,.skills__category,.contact__item{padding:2rem 1.5rem}.timeline__item{grid-template-columns:1fr;gap:.5rem}.skills__category{grid-template-columns:1fr;gap:1.5rem}.project__header{flex-direction:column;gap:.5rem;align-items:flex-start}.project__meta{grid-template-columns:1fr}.skill__tag{font-size:.75rem;padding:.4rem .8rem}.footer__container{padding:0 1.5rem}.form__input,.form__textarea{padding:.875rem 1rem;font-size:.9rem}.form__submit{padding:1rem 1.5rem;font-size:.95rem}.alternative__title{font-size:1rem}.alternative__description{font-size:.85rem}}.privacy-page{min-height:100vh;padding:4rem 0}.privacy-page__container{max-width:900px;margin:0 auto;padding:0 2rem}.privacy-page__header{text-align:center;margin-bottom:4rem;padding-bottom:2rem;border-bottom:1px solid #262626}.privacy-page__title{font-size:2.5rem;font-weight:200;letter-spacing:.05em;margin-bottom:1rem}.privacy-page__subtitle{font-size:1rem;color:#a3a3a3;margin-bottom:.5rem}.privacy-page__updated{font-size:.85rem;color:#737373;font-family:Inter,sans-serif}.privacy-page__nav{margin-bottom:3rem}.privacy-page__back{display:inline-block;font-size:.9rem;color:#a3a3a3;transition:color .3s ease}.privacy-page__back:hover{color:#fff;opacity:1}.privacy-section{margin-bottom:3rem}.privacy-section__title{font-size:1.5rem;font-weight:300;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid #1a1a1a}.privacy-section__text{line-height:2;margin-bottom:1rem;color:#e5e5e5}.privacy-section__list{margin:1.5rem 0;padding-left:2rem}.privacy-section__list li{margin-bottom:.75rem;line-height:1.9;color:#e5e5e5}.privacy-table{width:100%;border-collapse:collapse;margin:1.5rem 0}.privacy-table th,.privacy-table td{padding:1rem;border:1px solid #262626;text-align:left}.privacy-table th{background-color:#0a0a0a;font-weight:300;width:200px}.privacy-table td{color:#e5e5e5}.privacy-table a{text-decoration:underline}.privacy-contact{background-color:#0a0a0a;padding:2rem;border-left:3px solid #404040;margin:1.5rem 0}.privacy-contact p{margin-bottom:.5rem;line-height:1.9}.privacy-contact__note{font-size:.85rem;color:#a3a3a3;margin-top:1rem}.privacy-page__footer{margin-top:4rem;padding-top:2rem;border-top:1px solid #262626;text-align:center;color:#737373;font-size:.9rem}.privacy-page__footer p{margin-bottom:.5rem}.footer__nav{margin-bottom:1rem}.footer__link{font-size:.9rem;color:#a3a3a3;transition:color .3s ease}.footer__link:hover{color:#fff;opacity:1}.privacy-page__content h2{font-size:1.5rem;font-weight:300;margin-top:3rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid #1a1a1a}.privacy-page__content p{line-height:2;margin-bottom:1rem;color:#e5e5e5}.privacy-page__content ul{margin:1.5rem 0;padding-left:2rem;list-style-type:disc}.privacy-page__content li{margin-bottom:.75rem;line-height:1.9;color:#e5e5e5}.privacy-page__content strong{font-weight:300;color:#fff}.privacy-page__content a{text-decoration:underline;color:#fff}.privacy-page__content hr{margin:2rem 0;border:none;border-top:1px solid #262626}@media (prefers-reduced-motion: no-preference){[data-aos]{opacity:0;transition-property:opacity,transform}[data-aos].aos-animate{opacity:1}}
