.page-module___8aEwW__page{width:100%;min-height:100svh}.page-module___8aEwW__firstview{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100svh;padding:40px 24px;display:flex;position:relative}@media (max-width:640px){.page-module___8aEwW__firstview{gap:12px;padding:32px 20px}}.page-module___8aEwW__section{justify-content:center;align-items:center;height:auto;min-height:85svh;display:flex}.page-module___8aEwW__section .page-module___8aEwW__sectionBody{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%;max-width:800px;padding:clamp(1rem,2vw,2rem);font-size:clamp(16px,1.2vw,18px);line-height:1.6}.page-module___8aEwW__siteTitle{color:var(--black);letter-spacing:5px;text-align:center;margin:0;padding:0;font-size:50px;font-weight:400}@media (max-width:640px){.page-module___8aEwW__siteTitle{letter-spacing:3px;font-size:32px}}@media (max-width:340px){.page-module___8aEwW__siteTitle{letter-spacing:2px;font-size:27px}}.page-module___8aEwW__icons{justify-content:center;gap:16px;width:auto;display:flex}.page-module___8aEwW__intro{text-align:center;letter-spacing:1.6px;font-size:16px;line-height:1.8}.page-module___8aEwW__navMenus{width:100%;max-width:640px;height:120px;display:flex}@media (max-width:640px){.page-module___8aEwW__navMenus{flex-direction:column;align-items:center;gap:4px;height:auto;margin-top:16px}}.page-module___8aEwW__scrollHint{opacity:.5;-webkit-tap-highlight-color:transparent;padding:8px;display:flex;position:absolute;bottom:24px;left:50%;translate:-50%}@media (prefers-reduced-motion:no-preference){.page-module___8aEwW__scrollHint{animation:1.6s ease-in-out infinite page-module___8aEwW__bounce}}@media (hover:hover){.page-module___8aEwW__scrollHint:hover{opacity:.8}}@media (max-height:480px){.page-module___8aEwW__scrollHint{display:none}}@keyframes page-module___8aEwW__bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.page-module___8aEwW__footer{background-color:#efefef;justify-content:center;align-items:center;height:60px;font-size:.9rem;display:flex}
.NavItem-module__rqrd9a__item{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.NavItem-module__rqrd9a__label{color:var(--blue);letter-spacing:2.4px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-size:24px;text-decoration:none}@media (hover:hover){.NavItem-module__rqrd9a__label:hover{text-decoration:underline}}@media (max-width:640px){.NavItem-module__rqrd9a__item{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.NavItem-module__rqrd9a__label{letter-spacing:1.8px;justify-content:center;align-items:center;min-height:44px;margin:0;padding:10px 24px;font-size:18px;display:flex}.NavItem-module__rqrd9a__label:active{opacity:.5}}
.about_me-module__8Wq_Jq__yutoIcon{border-radius:50%;margin-bottom:1rem}.about_me-module__8Wq_Jq__link{color:#499ef8}.about_me-module__8Wq_Jq__link:visited{color:#499ef8}
.SiteBadge-module__14n8iG__siteBadge{--v-offset:-.15em;height:1lh;color:inherit;white-space:nowrap;vertical-align:var(--v-offset);box-sizing:content-box;background-color:#f2f2f2;border-radius:.5lh;align-items:center;gap:.35em;padding-inline:.6em;font-size:.9em;text-decoration:none;display:inline-flex}.SiteBadge-module__14n8iG__siteBadge:hover{text-decoration:underline}.SiteBadge-module__14n8iG__siteBadge img{object-fit:cover;border-radius:50%;flex-shrink:0;width:auto;height:70%}
.section_heading-module__jZxt9W__content{text-align:start;letter-spacing:1.6px;font-size:18px;font-weight:500;line-height:1.8}.section_heading-module__jZxt9W__content .section_heading-module__jZxt9W__contentTitle{font-size:2em}.section_heading-module__jZxt9W__section_heading{margin-block:.67em;font-size:2em}
.product_card-module__Gz6Guq__productCard{width:calc(50% - 4px);margin-bottom:1.5rem}.product_card-module__Gz6Guq__productCard .product_card-module__Gz6Guq__thumbnail{object-fit:contain;width:100%;height:auto}.product_card-module__Gz6Guq__productCard .product_card-module__Gz6Guq__title{font-size:1.1rem;font-weight:600}.product_card-module__Gz6Guq__productCard .product_card-module__Gz6Guq__title a{color:inherit;text-decoration:none}.product_card-module__Gz6Guq__productCard .product_card-module__Gz6Guq__title a:after{content:"";background-color:currentColor;width:.6em;height:.6em;margin-left:.3em;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 8.5l7-7M3.5 1.5h5v5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 8.5l7-7M3.5 1.5h5v5'/%3E%3C/svg%3E") 50%/contain no-repeat}.product_card-module__Gz6Guq__productCard .product_card-module__Gz6Guq__description{letter-spacing:1px;margin:0;font-size:1rem}@media (max-width:640px){.product_card-module__Gz6Guq__productCard{width:100%;margin:0 0 2rem}}
.my_products-module__NNzZUa__productCards{flex-wrap:wrap;gap:8px;width:100%;margin:2rem auto auto;display:flex}@media (max-width:640px){.my_products-module__NNzZUa__productCards{width:100%;display:block}}
.achievements-module__GoRQOG__timeline{--dot-size:11px;--year-width:4rem;--rail-width:2rem;--date-size:.85em;margin:2rem 0 0;padding:0;list-style:none}@media (max-width:640px){.achievements-module__GoRQOG__timeline{--year-width:3.5rem;--rail-width:1.5rem}}.achievements-module__GoRQOG__item{grid-template-columns:var(--year-width) var(--rail-width) minmax(0, 1fr);padding-bottom:2.5rem;display:grid;position:relative}.achievements-module__GoRQOG__item:before{content:"";top:var(--date-size);bottom:calc(var(--date-size) * -1);left:calc(var(--year-width) + (var(--dot-size) - 1px) / 2);background:var(--border);width:1px;position:absolute}.achievements-module__GoRQOG__item:last-child{padding-bottom:0}.achievements-module__GoRQOG__item:last-child:before{display:none}.achievements-module__GoRQOG__item[data-highlight=true] .achievements-module__GoRQOG__date:before{background:var(--blue)}.achievements-module__GoRQOG__year{text-align:right;letter-spacing:1px;font-variant-numeric:tabular-nums;grid-area:1/1;align-self:center;padding-right:.75rem;font-size:1rem;font-weight:600;line-height:1}@media (max-width:640px){.achievements-module__GoRQOG__year{padding-right:.5rem;font-size:.9rem}}.achievements-module__GoRQOG__date{align-items:center;gap:calc(var(--rail-width) - var(--dot-size));color:var(--muted);font-size:var(--date-size);letter-spacing:1px;grid-area:1/2/2/4;line-height:2;display:flex}.achievements-module__GoRQOG__date:before{content:"";width:var(--dot-size);height:var(--dot-size);border:2px solid var(--blue);background:var(--white);border-radius:50%;flex-shrink:0;position:relative}.achievements-module__GoRQOG__title{grid-column:3;margin:0;font-size:1.1rem;font-weight:600;line-height:1.6}.achievements-module__GoRQOG__description{letter-spacing:1px;grid-column:3;margin:.25rem 0 0;font-size:1rem}
.contact-module__7_NK1G__lead{margin:0}.contact-module__7_NK1G__links{--icon-size:20px;margin:2rem 0 0;padding:0;list-style:none}.contact-module__7_NK1G__link{grid-template-columns:var(--icon-size) 8rem minmax(0, 1fr) auto;color:inherit;-webkit-tap-highlight-color:transparent;grid-template-areas:"icon service handle arrow";align-items:center;column-gap:1rem;padding:1rem .5rem;text-decoration:none;display:grid}@media (max-width:640px){.contact-module__7_NK1G__link{grid-template-columns:var(--icon-size) minmax(0, 1fr) auto;grid-template-areas:"icon service arrow""icon handle arrow";column-gap:.75rem}}.contact-module__7_NK1G__link:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:.25rem}.contact-module__7_NK1G__icon{width:var(--icon-size);height:var(--icon-size);object-fit:contain;grid-area:icon}.contact-module__7_NK1G__service{color:var(--muted);letter-spacing:1px;grid-area:service;font-size:.85em;line-height:1.6}.contact-module__7_NK1G__handle{letter-spacing:1px;overflow-wrap:anywhere;grid-area:handle;font-size:1rem;line-height:1.6}.contact-module__7_NK1G__arrow{color:var(--muted);grid-area:arrow}@media (hover:hover){.contact-module__7_NK1G__link:hover .contact-module__7_NK1G__handle{color:var(--blue);text-underline-offset:.2em;text-decoration:underline}.contact-module__7_NK1G__link:hover .contact-module__7_NK1G__arrow{color:var(--blue)}}@media (hover:none){.contact-module__7_NK1G__link:active{opacity:.5}}
