:root{--primary-color: #3498db;--text-color: #333;--bg-color: #f8f9fa;--container-bg: #fff;--shadow-color: rgba(0, 0, 0, .08);--body-font: "Noto Sans JP", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--body-font);background-color:var(--bg-color);color:var(--text-color);line-height:1.6;overflow-x:hidden}a{text-decoration:none;color:var(--primary-color)}ul{list-style:none}img{max-width:100%;height:auto;display:block}.container{max-width:968px;margin-left:auto;margin-right:auto;padding:0 1.5rem}.section{padding:5rem 0 2rem}.section__title{font-size:2rem;margin-bottom:3rem;color:var(--text-color);text-align:center}.sp-br{display:none}.header{width:100%;position:fixed;top:0;left:0;z-index:100;background-color:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 4px var(--shadow-color)}.nav{height:4.5rem;display:flex;justify-content:space-between;align-items:center}.nav__logo{font-weight:700;color:var(--text-color)}.nav__toggle{display:none;border:none;background:transparent;padding:.25rem;cursor:pointer}.nav__toggle span{display:block;width:22px;height:2px;background-color:var(--text-color);margin:5px 0}.nav__list{display:flex;gap:2rem}.nav__link{color:var(--text-color);transition:color .3s}.nav__link:hover{color:var(--primary-color)}.nav__link--business{color:var(--primary-color);font-weight:700}.hero{height:100vh;display:flex;align-items:center;justify-content:center;text-align:center}.hero__title{font-size:3.5rem;margin-bottom:.5rem}.hero__subtitle{font-size:1.5rem;color:#666;margin-bottom:2rem}.hero__description{max-width:680px;margin:0 auto 1.5rem;color:#555}.hero__actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.hero__button{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.5rem;border-radius:6px;font-weight:700;transition:background-color .3s,color .3s,border-color .3s}.hero__button--primary{background-color:var(--primary-color);color:#fff;border:2px solid var(--primary-color)}.hero__button--primary:hover{background-color:#2980b9;border-color:#2980b9}.hero__button--sub{background-color:#fff;color:var(--primary-color);border:2px solid var(--primary-color)}.hero__button--sub:hover{background-color:#f1f8ff}#about,#skills{text-align:center}.skills__container{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2rem 3rem;max-width:800px;margin:0 auto;padding:2rem 0}.skill__item{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.9rem;color:#555;transition:color .3s,transform .3s}.skill__item:hover{color:var(--primary-color);transform:translateY(-5px)}.skill__item i{font-size:3rem}.experience__container{position:relative;padding:2rem 0;max-width:800px;margin:0 auto}.experience__container:before{content:"";position:absolute;top:0;left:50%;width:2px;height:100%;background-color:#ddd;transform:translate(-50%)}.experience__item{position:relative;width:calc(50% - 2.5rem);margin-bottom:3rem;cursor:pointer}.experience__item:nth-child(odd){left:0}.experience__item:nth-child(2n){left:calc(50% + 2.5rem)}.experience__item:after{content:"";position:absolute;top:.5rem;width:14px;height:14px;background-color:#fff;border:3px solid var(--primary-color);border-radius:50%;z-index:1}.experience__item:nth-child(odd):after{right:-3.2rem}.experience__item:nth-child(2n):after{left:-3.2rem}.experience__content{background-color:var(--container-bg);padding:1.5rem;border-radius:8px;box-shadow:0 4px 15px var(--shadow-color);transition:transform .3s,box-shadow .3s;border-top:4px solid}.experience__item:hover .experience__content{transform:translateY(-5px);box-shadow:0 8px 20px #0000001f}.experience__item[data-color=blue] .experience__content{border-color:#3498db}.experience__item[data-color=cyan] .experience__content{border-color:#1abc9c}.experience__item[data-color=orange] .experience__content{border-color:#e67e22}.experience__item[data-color=red] .experience__content{border-color:#e74c3c}.experience__item[data-color=purple] .experience__content{border-color:#8e44ad}.experience__year{font-size:.9rem;color:#777;margin-bottom:.25rem;display:block}.experience__title{font-size:1.1rem;font-weight:700}.experience__cta{text-align:center;margin-top:2rem}.experience__cta-text{margin-bottom:1rem;color:#555}#contact{text-align:center}.contact__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background-color:var(--primary-color);color:#fff;padding:1rem 2rem;border-radius:5px;font-weight:700;margin-top:1rem;transition:background-color .3s;border:none;font-family:var(--body-font)}.contact__button:hover{background-color:#2980b9}.contact__sub-text{margin-top:2.5rem;color:#555;line-height:1.8}.slack__button{background-color:#4a154b}.slack__button:hover{background-color:#3b0f3c}.slack__button i{font-size:1.2rem}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1001;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.modal.is-visible{opacity:1;visibility:visible}.modal__content{position:relative;background-color:#fff;padding:2rem;border-radius:8px;max-width:600px;width:90%;transform:translateY(20px);transition:transform .3s}.modal.is-visible .modal__content{transform:translateY(0)}.modal__close{position:absolute;top:.75rem;right:1rem;font-size:2rem;font-weight:300;color:#888;background:none;border:none;cursor:pointer;line-height:1}.modal__title{font-size:1.5rem;margin-bottom:1rem}.modal__description{line-height:1.7}.footer{background-color:var(--bg-color);text-align:center;padding:4rem 0 2rem;margin-top:4rem}.footer__socials{display:flex;justify-content:center;align-items:center;gap:2rem;margin-bottom:2rem}.footer__social-link{font-size:1.8rem;color:#888;transition:color .3s,transform .3s}.footer__social-link:hover{color:var(--primary-color);transform:translateY(-3px)}.footer__social-link.text-link{font-size:1rem;font-weight:600;letter-spacing:.5px}.footer__privacy{max-width:650px;margin:0 auto 3rem;font-size:.8rem;color:#999;line-height:1.7}.footer__privacy p{margin-bottom:1rem}.footer__privacy a{color:#888;text-decoration:underline}.footer__privacy a:hover{color:var(--primary-color)}.footer__business-link{display:inline-block;font-weight:700;margin-bottom:1.25rem}.footer__copy{font-size:.85rem;color:#999}@media screen and (max-width:768px){.nav{min-height:4.25rem;padding:.5rem 0;position:relative}.nav__logo{font-size:.9rem}.nav__toggle{display:block}.hero__title{font-size:2.5rem}.hero__subtitle{font-size:1.2rem}.hero__description{font-size:.95rem}.hero{min-height:100svh;height:auto;padding:6.5rem 0 2rem}.section{padding:4rem 0 1rem}.section__title{font-size:1.5rem}.nav__list{display:none;position:absolute;top:calc(100% + .25rem);right:0;width:min(280px,calc(100vw - 2rem));background:#fffffffa;border:1px solid #e6e6e6;border-radius:8px;box-shadow:0 8px 20px #00000014;padding:.4rem .6rem;flex-direction:column;gap:.25rem}.nav__list.is-open{display:flex}.nav__link{display:block;font-size:.9rem;padding:.55rem .5rem}.footer__privacy{font-size:.75rem;overflow-wrap:anywhere;word-break:break-word}.footer__socials{gap:1.25rem;flex-wrap:wrap}.experience__container:before{left:20px;transform:translate(0)}.experience__item,.experience__item:nth-child(2n){width:100%;padding-left:50px;left:0}.experience__item:after,.experience__item:nth-child(odd):after,.experience__item:nth-child(2n):after{left:20px;transform:translate(-50%)}}@media screen and (max-width:480px){.container{padding:0 1rem}.sp-br{display:block}.hero__button{width:100%}.contact__button{width:100%;max-width:100%}}
