:root{--primary-color:#3498db;--text-color:#333;--bg-color:#f8f9fa;--container-bg:#fff;--shadow-color:#00000014;--body-font:"Noto Sans JP", sans-serif}*{box-sizing:border-box;margin:0;padding:0}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{color:var(--primary-color);text-decoration:none}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{color:var(--text-color);text-align:center;margin-bottom:3rem;font-size:2rem}.sp-br{display:none}[data-aos]{opacity:0;will-change:opacity, transform;transition:opacity .7s,transform .7s;transform:translateY(24px)}[data-aos=fade-up]{transform:translateY(24px)}[data-aos=fade-down]{transform:translateY(-24px)}[data-aos=fade-left]{transform:translate(-24px)}[data-aos=fade-right]{transform:translate(24px)}[data-aos].is-visible{opacity:1;transform:translate(0,0)}.header{z-index:100;-webkit-backdrop-filter:blur(10px);width:100%;box-shadow:0 2px 4px var(--shadow-color);background-color:#fffc;position:fixed;top:0;left:0}.nav{justify-content:space-between;align-items:center;height:4.5rem;display:flex}.nav__logo{color:var(--text-color);font-weight:700}.nav__toggle{cursor:pointer;background:0 0;border:none;padding:.25rem;display:none}.nav__toggle span{background-color:var(--text-color);width:22px;height:2px;margin:5px 0;display:block}.nav__list{gap:2rem;display:flex}.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{text-align:center;justify-content:center;align-items:center;height:100vh;display:flex}.hero__title{margin-bottom:.5rem;font-size:3.5rem}.hero__subtitle{color:#666;margin-bottom:2rem;font-size:1.5rem}.hero__description{color:#555;max-width:680px;margin:0 auto 1.5rem}.hero__actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.hero__button{border-radius:6px;justify-content:center;align-items:center;padding:.85rem 1.5rem;font-weight:700;transition:background-color .3s,color .3s,border-color .3s;display:inline-flex}.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{color:var(--primary-color);border:2px solid var(--primary-color);background-color:#fff}.hero__button--sub:hover{background-color:#f1f8ff}#skills{text-align:center}.about__container{max-width:820px}.about__profile{justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1.75rem;display:flex}.about__icon{object-fit:cover;width:160px;height:160px;box-shadow:0 8px 24px var(--shadow-color);border:4px solid #fff;border-radius:50%}.about__identity{text-align:left}.about__name{font-size:1.35rem;font-weight:700;line-height:1.4}.about__role{color:#555;margin-top:.45rem;line-height:1.6}.about__text{color:#444;text-align:left;line-height:1.9}.skills__container{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem 1.1rem;max-width:820px;margin:0 auto;padding:1.25rem 0;display:grid}.skill__item{color:#555;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-height:82px;font-size:.82rem;line-height:1.35;transition:color .3s,transform .3s;display:flex}.skill__item:hover{color:var(--primary-color);transform:translateY(-5px)}.skill__item i{font-size:2.2rem}.experience__container{max-width:800px;margin:0 auto;padding:2rem 0;position:relative}.experience__container:before{content:"";background-color:#ddd;width:2px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.experience__item{cursor:pointer;width:calc(50% - 2.5rem);margin-bottom:3rem;position:relative}.experience__item:nth-child(odd){left:0}.experience__item:nth-child(2n){left:calc(50% + 2.5rem)}.experience__item:after{content:"";border:3px solid var(--primary-color);z-index:1;background-color:#fff;border-radius:50%;width:14px;height:14px;position:absolute;top:.5rem}.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);box-shadow:0 4px 15px var(--shadow-color);border-top:4px solid;border-radius:8px;padding:1.5rem;transition:transform .3s,box-shadow .3s}.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{color:#777;margin-bottom:.25rem;font-size:.9rem;display:block}.experience__title{white-space:nowrap;--fit-max-size:1.1rem;--fit-min-size:.72rem;font-size:1.1rem;font-weight:700;line-height:1.35}.experience__cta{text-align:center;margin-top:2rem}.experience__cta-text{color:#555;margin-bottom:1rem}.interview__container{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:800px;margin:0 auto;display:grid}.interview__card{overflow-wrap:anywhere;min-width:0;color:var(--text-color);background-color:var(--container-bg);border:1px solid var(--shadow-color);box-shadow:0 4px 15px var(--shadow-color);border-radius:8px;flex-direction:column;gap:.75rem;padding:1.5rem;transition:transform .3s,box-shadow .3s;display:flex}.interview__card:hover,.interview__card:focus-visible{box-shadow:0 8px 20px var(--shadow-color);transform:translateY(-5px)}.interview__card:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}.interview__source{color:var(--primary-color);font-size:.9rem;font-weight:700}.interview__title{color:var(--text-color);font-size:1.05rem;line-height:1.7}.interview__date{color:#777;margin-top:auto;font-size:.9rem}#contact{text-align:center}.contact__button{background-color:var(--primary-color);color:#fff;font-weight:700;font-family:var(--body-font);border:none;border-radius:5px;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:1rem 2rem;transition:background-color .3s;display:inline-flex}.contact__button:hover{background-color:#2980b9}.contact__sub-text{color:#555;margin-top:2.5rem;line-height:1.8}.slack__button{background-color:#4a154b}.slack__button:hover{background-color:#3b0f3c}.slack__button i{font-size:1.2rem}.modal{z-index:1001;opacity:0;visibility:hidden;background-color:#0009;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s,visibility .3s;display:flex;position:fixed;top:0;left:0}.modal.is-visible{opacity:1;visibility:visible}.modal__content{background-color:#fff;border-radius:8px;width:90%;max-width:600px;padding:2rem;transition:transform .3s;position:relative;transform:translateY(20px)}.modal.is-visible .modal__content{transform:translateY(0)}.modal__close{color:#888;cursor:pointer;background:0 0;border:none;font-size:2rem;font-weight:300;line-height:1;position:absolute;top:.75rem;right:1rem}.modal__title{margin-bottom:1rem;font-size:1.5rem}.modal__description{line-height:1.7}.footer{background-color:var(--bg-color);text-align:center;margin-top:4rem;padding:4rem 0 2rem}.footer__socials{justify-content:center;align-items:center;gap:2rem;margin-bottom:2rem;display:flex}.footer__social-link{color:#888;font-size:1.8rem;transition:color .3s,transform .3s}.footer__social-link:hover{color:var(--primary-color);transform:translateY(-3px)}.footer__social-link.text-link{letter-spacing:.5px;font-size:1rem;font-weight:600}.footer__privacy{color:#999;max-width:650px;margin:0 auto 3rem;font-size:.8rem;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{margin-bottom:1.25rem;font-weight:700;display:inline-block}.footer__copy{color:#999;font-size:.85rem}@media screen and (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{height:auto;min-height:100svh;padding:6.5rem 0 2rem}.section{padding:4rem 0 1rem}.section__title{font-size:1.5rem}.about__name{font-size:1.2rem}.about__role{font-size:.95rem}.skills__container{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.85rem .9rem}.skill__item{min-height:76px;font-size:.78rem}.skill__item i{font-size:1.95rem}.nav__list{background:#fffffffa;border:1px solid #e6e6e6;border-radius:8px;flex-direction:column;gap:.25rem;width:min(280px,100vw - 2rem);padding:.4rem .6rem;display:none;position:absolute;top:calc(100% + .25rem);right:0;box-shadow:0 8px 20px #00000014}.nav__list.is-open{display:flex}.nav__list .nav__item{opacity:0;transition:opacity .35s,transform .35s;transform:translateY(10px)}.nav__list.is-open .nav__item{opacity:1;transform:translate(0,0)}.nav__list.is-open .nav__item:first-child{transition-delay:40ms}.nav__list.is-open .nav__item:nth-child(2){transition-delay:90ms}.nav__list.is-open .nav__item:nth-child(3){transition-delay:.14s}.nav__list.is-open .nav__item:nth-child(4){transition-delay:.19s}.nav__list.is-open .nav__item:nth-child(5){transition-delay:.24s}.nav__link{padding:.55rem .5rem;font-size:.9rem;display:block}.footer__privacy{overflow-wrap:anywhere;word-break:break-word;font-size:.75rem}.footer__socials{flex-wrap:wrap;gap:1.25rem}.interview__container{grid-template-columns:minmax(0,1fr)}.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 (width<=480px){.container{padding:0 1rem}.sp-br{display:block}.about__profile{text-align:center;flex-direction:column;gap:1rem}.about__identity,.about__text{text-align:left}.about__icon{width:128px;height:128px}.skills__container{grid-template-columns:repeat(2,minmax(0,1fr))}.hero__button{width:100%}.contact__button{width:100%;max-width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-aos],.nav__list .nav__item{opacity:1;transition:none;transform:none}}
