*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:1.8;color:#111;background:#fff;-webkit-font-smoothing:antialiased;word-break:break-word}body,dd,dl,figure,h1,h2,h3,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:opacity .25s}a:hover{opacity:.65}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.container{width:min(1080px,100%);margin-inline:auto;padding-inline:24px}.container--narrow{width:min(760px,100%)}@media only screen and (max-width:768px){.container{padding-inline:20px}}.section{padding:96px 0}.section--tint{background:#f5f5f5}@media only screen and (max-width:768px){.section{padding:60px 0}}.section__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:40px}.section__title{font-family:Josefin Sans,sans-serif;font-size:2.25rem;letter-spacing:.12em;font-weight:600}@media only screen and (max-width:768px){.section__title{font-size:1.75rem}}.section__more{font-family:Josefin Sans,sans-serif;font-size:.85rem;letter-spacing:.1em}.header,.section__more{border-bottom:1px solid rgba(17,17,17,.12)}.header{position:-webkit-sticky;position:sticky;top:0;z-index:20;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:rgba(255,255,255,.4)}.header__inner{width:min(1080px,100%);margin-inline:auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between}@media only screen and (max-width:768px){.header__inner{padding:14px 20px}}.header__logo{font-family:Josefin Sans,sans-serif;font-size:1.1rem;letter-spacing:.1em}.header__nav ul{display:flex;gap:32px}.header__nav ul a{font-family:Josefin Sans,sans-serif;font-size:.9rem;letter-spacing:.1em;padding-bottom:2px;border-bottom:1px solid rgba(0,0,0,0)}.header__nav ul a.is-active{border-color:#b0121b}.header__toggle{display:none}@media only screen and (max-width:768px){.header__toggle{display:grid;grid-gap:6px;gap:6px;width:28px}.header__toggle span{display:block;height:1px;background:#111;transition:transform .25s}.header__toggle.is-open span:first-child{transform:translateY(3.5px) rotate(12deg)}.header__toggle.is-open span:last-child{transform:translateY(-3.5px) rotate(-12deg)}.header__nav{position:absolute;inset:100% 0 auto;background:#fff;border-bottom:1px solid rgba(17,17,17,.12);overflow:hidden;max-height:0;transition:max-height .3s ease}.header__nav.is-open{max-height:260px}.header__nav ul{flex-direction:column;gap:0;padding:8px 20px 20px}.header__nav ul li+li{border-top:1px solid rgba(17,17,17,.12)}.header__nav ul a{display:block;padding:14px 0}}.hero{padding:120px 0 80px}.hero__en{font-family:Josefin Sans,sans-serif;font-size:.9rem;letter-spacing:.18em;color:#b0121b;margin-bottom:20px}.hero__title{font-size:2.75rem;line-height:1.5;font-weight:700;letter-spacing:.02em}.hero__lead{margin-top:28px;color:rgba(17,17,17,.6)}@media only screen and (max-width:768px){.hero{padding:64px 0 40px}.hero__title{font-size:1.75rem}}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:40px 32px;gap:40px 32px}@media only screen and (max-width:768px){.work-grid{grid-template-columns:1fr;gap:40px}}.work-card__thumb{overflow:hidden;background:#f5f5f5;aspect-ratio:16/10}.work-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}a:hover .work-card__thumb img{transform:scale(1.04)}.work-card__body{padding-top:16px}.work-card__title{font-size:1.05rem;font-weight:700;line-height:1.6}.work-card__category{font-family:Josefin Sans,sans-serif;font-size:.72rem;letter-spacing:.1em;color:#b0121b;margin-bottom:6px}.work-card__summary{margin-top:6px;font-size:.9rem;color:rgba(17,17,17,.6)}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tag-list--lg{margin:28px 0 0}.tag-list--lg li{font-size:.8rem;padding:5px 12px}.tag-list li{font-family:Josefin Sans,sans-serif;font-size:.72rem;letter-spacing:.06em;padding:3px 9px;border:1px solid rgba(17,17,17,.12);border-radius:999px;color:rgba(17,17,17,.6)}.filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}.filter button{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border:1px solid rgba(17,17,17,.12);border-radius:999px;font-size:.85rem;letter-spacing:.04em;color:rgba(17,17,17,.6);transition:border-color .2s,color .2s,background-color .2s}.filter button:hover{border-color:rgba(17,17,17,.3);color:#111}.filter button.is-active{border-color:#b0121b;color:#b0121b;background:rgba(176,18,27,.05)}.filter__count{font-family:Josefin Sans,sans-serif;font-size:.72rem;opacity:.6}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.button{display:inline-block;padding:13px 30px;border:1px solid #b0121b;background:#b0121b;color:#fff;font-size:.9rem;letter-spacing:.06em}.button--ghost{background:rgba(0,0,0,0);color:#111;border-color:rgba(17,17,17,.12)}.page-head{margin-bottom:48px;padding-bottom:28px;border-bottom:1px solid rgba(17,17,17,.12)}.page-head__eyebrow{font-family:Josefin Sans,sans-serif;font-size:.85rem;letter-spacing:.14em;color:#b0121b;margin-bottom:10px}.page-head__title{font-family:Josefin Sans,sans-serif;font-size:2.5rem;letter-spacing:.1em;font-weight:600}.page-head__title--ja{font-family:Noto Sans JP,sans-serif;font-size:1.9rem;letter-spacing:.04em;font-weight:700}@media only screen and (max-width:768px){.page-head__title{font-size:1.85rem}.page-head__title--ja{font-size:1.4rem}}.page-head__lead{margin-top:16px;color:rgba(17,17,17,.6)}.page-head__date{margin-top:14px;font-size:.85rem;color:rgba(17,17,17,.6)}.about-profile{display:flex;gap:48px;margin-bottom:48px;padding-bottom:28px;border-bottom:1px solid rgba(17,17,17,.12)}.about-profile__text{flex:1 1}.about-profile__card{flex:none;width:180px;display:flex;flex-direction:column;align-items:center;text-align:center}.about-profile__photo{width:140px;height:140px;border-radius:50%;object-fit:cover;border:1px solid rgba(17,17,17,.12)}.about-profile__name{margin-top:16px;font-size:1.05rem;font-weight:700;letter-spacing:.04em}.about-profile__socials{display:flex;gap:14px;margin-top:14px}.about-profile__socials a{display:flex;color:rgba(17,17,17,.6);transition:opacity .2s}.about-profile__socials a:hover{opacity:.6}.about-profile__socials svg{width:20px;height:20px}@media only screen and (max-width:768px){.about-profile{flex-direction:column-reverse;gap:24px}.about-profile__card{width:auto}.about-profile__photo{width:100px;height:100px}}.block-title{margin:48px 0 14px;font-size:1.1rem;font-weight:700;letter-spacing:.03em}.prose{color:rgba(17,17,17,.6)}.prose+.prose{margin-top:14px}.lead-box{padding:22px;background:#f5f5f5;border-left:3px solid #b0121b}.bullet{list-style:disc;margin:14px 0 0 1.4em;color:rgba(17,17,17,.6)}.bullet li+li{margin-top:8px}.ordered{list-style:decimal;margin:14px 0 0 1.4em;color:rgba(17,17,17,.6)}.ordered li+li{margin-top:8px}.faq{margin-top:14px}.faq div+div{margin-top:20px}.faq dt{font-weight:700}.faq dd{margin:4px 0 0;color:rgba(17,17,17,.6)}.text-link{border-bottom:1px solid rgba(17,17,17,.12)}.back-link{margin-bottom:32px;font-family:Josefin Sans,sans-serif;font-size:.85rem;letter-spacing:.06em;color:rgba(17,17,17,.6)}.rule{margin:56px 0 40px;border:0;border-top:1px solid rgba(17,17,17,.12)}.en{opacity:.8;font-size:.95rem}.shot-list{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.shot-list img{border:1px solid rgba(17,17,17,.12);border-radius:10px}@media only screen and (max-width:768px){.shot-list{gap:8px}}.work-detail__thumb{margin-bottom:32px;background:#f5f5f5}.rich{margin-top:40px;color:rgba(17,17,17,.6)}.rich>*+*{margin-top:20px}.rich h2{margin-top:48px;font-size:1.15rem}.rich h2,.rich h3{font-weight:700;color:#111}.rich h3{margin-top:36px;font-size:1rem}.rich p{line-height:1.9}.rich a{color:#111;border-bottom:1px solid rgba(17,17,17,.12)}.rich a:hover{border-color:#b0121b}.rich strong{color:#111}.rich ol,.rich ul{margin-left:1.4em}.rich ul{list-style:disc}.rich ol{list-style:decimal}.rich li+li{margin-top:8px}.rich img{width:100%;border:1px solid rgba(17,17,17,.12)}.rich blockquote{margin:0;padding:16px 20px;background:#f5f5f5;border-left:3px solid rgba(17,17,17,.12)}.rich code{padding:2px 6px;background:#f5f5f5;border-radius:4px;font-size:.9em}.rich pre{padding:18px;background:#111;color:#fff;overflow-x:auto;border-radius:6px}.rich pre code{background:none;color:inherit;padding:0}.rich table{width:100%;border-collapse:collapse}.rich table td,.rich table th{padding:10px 12px;border:1px solid rgba(17,17,17,.12);text-align:left}.rich table th{background:#f5f5f5;color:#111}.timeline div{display:grid;grid-template-columns:140px 1fr;grid-gap:16px;gap:16px;padding:14px 0;border-bottom:1px solid rgba(17,17,17,.12)}.timeline dt{font-family:Josefin Sans,sans-serif;font-size:.9rem;color:#b0121b}.timeline dd{margin:0}@media only screen and (max-width:768px){.timeline div{grid-template-columns:1fr;gap:4px}}.skill-list li{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:16px;gap:16px;padding:14px 0;border-bottom:1px solid rgba(17,17,17,.12)}.skill-list__meter{display:flex;gap:4px}.skill-list__meter i{width:8px;height:8px;border-radius:50%;background:rgba(17,17,17,.12)}.skill-list__meter i.is-on{background:#b0121b}.skill-list__years{font-size:.8rem;color:rgba(17,17,17,.6)}.footer{padding:56px 0 40px;border-top:1px solid rgba(17,17,17,.12)}.footer__inner{width:min(1080px,100%);margin-inline:auto;padding-inline:24px;text-align:center}.footer__name{font-family:Josefin Sans,sans-serif;letter-spacing:.1em}.footer__links{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin:20px 0;font-size:.85rem;color:rgba(17,17,17,.6)}.footer__copy{font-family:Josefin Sans,sans-serif;font-size:.75rem;color:rgba(17,17,17,.6)}.preview-banner{margin-bottom:24px;padding:10px 16px;font-size:14px;color:#fff;background:#b0121b}