@import "https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400&display=swap";*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100vh;margin:0;padding:0}body{overflow-x:hidden}.container{justify-content:center;gap:20px;display:flex}.icon{color:#000;background-color:#fff;border-radius:12px;justify-content:center;align-items:center;width:60px;height:60px;font-size:28px;text-decoration:none;transition:all .2s;display:flex}.icon:hover{transform:scale(1.1)}.footer{text-align:center;background-color:#94b4ff;padding:60px 0}.footer-text{color:black,;margin-top:50px;font-size:12px}.header{z-index:9999;background:#fff9;border-bottom:1px solid #ddd;width:100%;transition:all .3s;position:fixed;top:0;left:0}.nav{justify-content:right;gap:35px;margin-right:20px;padding:20px;display:flex}.nav a{color:#000;font-weight:700;text-decoration:none;transition:transform .2s,color .2s;position:relative}.nav a:hover{transform:translateY(-4px)}.nav a:after{content:"";background-color:#94b4ff;width:0%;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav a:hover:after{width:100%}@media (width<=700px){.nav{white-space:nowrap;justify-content:flex-start;gap:20px;margin-right:0;padding:12px 10px;overflow-x:auto}.nav a{flex-shrink:0;font-size:.9rem}.nav::-webkit-scrollbar{display:none}}.btn{cursor:pointer;border:none;padding:10px 20px;font-weight:700}.btn-submit{color:#fff;background:#94b4ff;border-radius:999px;justify-content:center;align-items:center;width:260px;height:60px;font-size:18px;display:flex}.btn-submit:hover{background:#7fa3f5;transform:scale(1.03)}.section-title{text-align:center;font-size:32px;font-weight:700}.form{text-align:center;background-color:#f4f7ff;flex-direction:column;justify-content:center;align-items:center;gap:40px;min-height:100vh;padding:40px 20px;display:flex}.form-text{text-align:center;flex-direction:column;align-items:center;margin-bottom:20px;display:flex}.form-text p{color:#333;margin:4px 0;font-size:.95rem;line-height:1.8}.form-content{background-color:#fff;flex-direction:column;gap:40px;width:100%;max-width:800px;padding:60px 80px;display:flex;box-shadow:0 4px 20px #0003}.form-row{gap:40px;width:100%;display:flex}.form-group{flex-direction:column;flex:1;align-items:flex-start;display:flex}.form-group label{color:#94b4ff;margin-bottom:12px;font-size:.85rem;font-weight:700}.form-group input,.form-group textarea{background:0 0;border:none;border-bottom:1px solid #ccc;outline:none;width:100%;padding:8px 0;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-bottom:1px solid #94b4ff}.full-width{width:100%}.form-group textarea{resize:none}.message{background-color:#d1dcf7;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 50px;display:flex}.message-inner{max-width:800px;margin-top:60px}.message-inner p{text-align:center;margin-bottom:16px;line-height:1.8}.spacer{margin-top:70px}.portfolio{text-align:center;background-color:#c0d3ff;min-height:100vh;padding:220px 20px;position:relative}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:40px;max-width:800px;margin:100px auto 0;display:grid}.portfolio-item{text-align:center;background-color:#fff;border-radius:20px;padding:40px 20px;transition:transform .2s,box-shadow .2s}.portfolio-item h3{margin-bottom:20px}.portfolio-item p{font-size:.95rem;line-height:1.6}@media (width<=700px){.portfolio-grid{grid-template-columns:1fr;gap:25px}.portfolio{padding:80px 15px}}.scroll_down{animation:1s ease-in-out infinite arrowmove;position:absolute;bottom:50px;left:50%;transform:translate(-50%)}.scroll_down a{color:#000;letter-spacing:.2em;text-transform:uppercase;width:24px;height:24px;font-family:Josefin Sans,sans-serif;font-size:14px;text-decoration:none;position:absolute;bottom:30px;left:-24px}.text{color:#000;text-transform:uppercase;white-space:nowrap;letter-spacing:2px;margin-top:70px;margin-left:-14px;font-size:12px;display:block}.arrow{opacity:0;width:28px;height:5px;animation:3s ease-out infinite move;position:absolute;transform:scale3d(.5,.5,.5)}.arrow:first-child{animation:3s ease-out 1s infinite move}.arrow:nth-child(2){animation:3s ease-out 2s infinite move}.arrow:before,.arrow:after{content:" ";background:#000;width:51%;height:100%;position:absolute;top:0}.arrow:before{left:0;transform:skewY(30deg)}.arrow:after{width:50%;right:0;transform:skewY(-30deg)}@keyframes move{25%{opacity:1}33%{opacity:1;transform:translateY(30px)}67%{opacity:1;transform:translateY(40px)}to{opacity:0;transform:translateY(55px)scale3d(.5,.5,.5)}}.profile{color:#000;background-color:#b7ccff;flex-direction:column;align-items:center;min-height:100vh;padding:250px 20px;display:flex}.links{margin-top:45px}.profile-container{justify-content:center;align-items:center;gap:230px;width:100%;max-width:1000px;margin-top:40px;display:flex}.profile-text p{margin:10px 0;font-size:1.1rem;line-height:2}.profile-text span{width:100px;display:inline-block}.profile-image-wrapper img{object-fit:cover;border-radius:15px;width:320px;height:auto;box-shadow:0 4px 15px #0000001a}@media (width<=700px){.profile-container{text-align:center;flex-direction:column;gap:40px}.profile-image-wrapper img{width:220px}.profile-image-wrapper{order:-1}.profile-text span{width:auto;display:inline}}.tech-card{background-color:#f3f4f6;border-radius:16px;align-items:center;gap:16px;width:180px;padding:16px;transition:box-shadow .2s,transform .2s;display:flex;box-shadow:0 1px 2px #0000000d}.tech-card__icon{color:#fff;border-radius:0;justify-content:center;align-items:center;width:46px;height:46px;font-weight:700;display:flex;overflow:hidden}.tech-card__icon img{object-fit:contain;width:100%;height:100%}.tech-card__info{flex-direction:column;display:flex}.tech-card__name{color:#1f2937;align-items:center;gap:4px;font-weight:600;display:flex}.tech-card__exp{color:#6b7280;font-size:14px}.skills{color:#000;background-color:#c0d3ff;flex-direction:column;align-items:center;gap:45px;min-height:100vh;padding:250px 20px;display:flex}.skills-container{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;width:100%;max-width:1000px;display:grid}.top{background-color:#94b4ff;justify-content:center;align-items:center;height:100vh;display:flex}.top-inner{text-align:center;max-width:900px}.top-title{margin-top:60px;font-size:55px;font-weight:700}.top-subtitle{color:#111;margin-top:15px;font-size:24px;animation:1s fadeIn}.work-card{background-color:#fff;border-radius:48px;gap:60px;max-width:1200px;margin:40px auto;padding:64px;font-family:Noto Sans JP,sans-serif;display:flex;box-shadow:0 10px 40px #0000000a}.work-card__content{flex-direction:column;flex:1.4;display:flex}.work-card__title{color:#1a1a1a;letter-spacing:.05em;margin-bottom:48px;font-size:2rem;font-weight:800}.work-card__section{margin-bottom:32px}.work-card__label{color:#333;margin-bottom:8px;font-size:1.2rem;font-weight:700;display:block}.work-card__description{color:#555;margin-bottom:24px;font-size:1.15rem;line-height:1.8}.work-card__value{color:#444;letter-spacing:.02em;font-size:1.15rem}.work-card__link{color:#2563eb;word-break:break-all;border-bottom:1px solid #2563eb;padding-bottom:2px;font-size:1.1rem;text-decoration:none;transition:opacity .2s}.work-card__tech-logo-wrapper{background-color:#f8fafc;border:1px #6786af;border-radius:5px;justify-content:center;align-items:center;width:50px;height:50px;padding:0;display:flex;overflow:hidden}.work-card__tech-logo{object-fit:contain;width:100%;height:100%;transform:scale(1.1)}.work-card__tech-logo-list{flex-wrap:wrap;gap:10px;width:100%;margin-top:16px;display:flex}.work-card__preview{flex:.8;justify-content:center;align-items:center;display:flex}.work-card__image-container{aspect-ratio:16/10;background-color:#f8fafc;border-radius:24px;justify-content:center;align-items:center;width:100%;max-width:380px;display:flex;overflow:hidden;box-shadow:0 10px 30px #0000000d}.work-card__image{object-fit:contain;width:100%;height:100%;padding:20px}@media (width<=1024px){.work-card{max-width:90%;padding:40px}}@media (width<=768px){.work-card{flex-direction:column-reverse;gap:32px;padding:32px}.work-card__title{text-align:left;font-size:1.6rem}}.works{color:#000;background-color:#c0d3ff;flex-direction:column;align-items:center;min-height:100vh;padding:250px 20px;display:flex}
