*{box-sizing:border-box}body{margin:0;padding:0;background:#f5f5f5;font-family:"Apple SD Gothic Neo", sans-serif;overflow-x:auto}.resume{--a4-page-width: 210mm;--a4-page-height: 297mm;--a4-margin-x: 10mm;--a4-margin-y: 11mm;color:#24292e;line-height:1.6;text-align:left;word-break:keep-all;overflow-wrap:break-word;letter-spacing:-0.01em;width:min(var(--a4-page-width), calc(100vw - 24px));max-width:var(--a4-page-width);min-height:var(--a4-page-height);margin:12px auto;padding:var(--a4-margin-y) var(--a4-margin-x);background:#fff;border:1px solid rgba(0,0,0,0.08);border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.05);position:relative;isolation:isolate;overflow:visible}.resume>*{position:relative;z-index:2}.resume>section+section{margin-top:0.6rem}.resume a{color:#477dca;text-decoration:none;transition:color 150ms ease}.resume a:hover,.resume a:focus{color:#355e98}.resume h1,.resume h2,.resume h3,.resume h4{font-weight:300;margin:0 0 0.6rem}.resume h1{font-size:2.4rem;font-weight:500;line-height:1.06}.resume h2{font-size:1.4rem}.resume h3.section-title{font-size:1.4rem;font-weight:700;margin:0 0 0.65rem;display:flex;align-items:center;justify-content:center;gap:0.45rem;break-after:avoid;page-break-after:avoid}.resume h3.section-title::before,.resume h3.section-title::after{content:"";flex:1;border-top:1px solid #d8dee8;opacity:0.9}.resume h4{font-size:1.02rem;font-weight:500}.meta-period{font-size:0.78em;color:#6b7280;font-weight:400;display:inline-block;white-space:normal;word-break:keep-all}.intro-divider{border-top:1px solid #d8dee8;padding-top:0.34rem;margin-top:0.22rem}.resume .intro-divider p{font-size:0.875rem}.resume p,.resume ul{font-size:0.875rem;margin:0 0 0.9rem;overflow-wrap:break-word;word-break:keep-all}.resume li{overflow-wrap:break-word;word-break:keep-all}.resume ul{padding-left:1.2rem}.resume ul ul{list-style-type:circle;padding-left:1.5em;margin:0.15rem 0 0.1rem}.resume mark{padding:2px 4px;font-size:1em;color:#fff;background-color:#24292e;border-radius:3px}.resume-header{display:flex;justify-content:space-between;align-items:flex-start;gap:0.95rem;margin-top:0.2rem;margin-bottom:0;padding-bottom:0;position:relative}.header-left{flex:1;display:flex;align-items:center;gap:0.75rem;min-width:0}.header-text{flex:1;position:static;min-width:0}.header-name-line{display:flex;align-items:baseline;gap:0.5rem;flex-wrap:nowrap;min-width:0}.header-name-line h1{margin:0;flex:0 0 auto}.character-line{margin:0 0 0.14rem;font-size:0.74rem;line-height:1.16;font-weight:500;color:#6b7280;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{text-align:right;font-size:0.78rem;display:flex;flex-direction:column;gap:0.06rem}.header-right p{margin:0;line-height:1.2;color:#555}.header-right a{font-style:italic;text-decoration:underline;color:#666}.header-right a:hover{color:#333}.layout{display:flex;gap:2rem;margin-bottom:1.5rem}.details{flex:0 0 188px;min-width:0;text-align:left;overflow-wrap:anywhere;word-break:normal}.details p{margin-bottom:0.35rem;font-weight:400;font-size:0.875rem;line-height:1.45}.content{flex:1;min-width:0;overflow-wrap:anywhere;word-break:normal;orphans:3;widows:3}#experience .layout{gap:1.2rem;margin-bottom:0.4rem;padding-bottom:0.25rem}#experience .details{flex:0 0 188px}#experience .details h4{font-size:1.02rem;line-height:1.2;white-space:normal;overflow-wrap:anywhere;word-break:normal;margin-bottom:0.15rem}#experience .details p{margin-bottom:0.16rem;line-height:1.25}#experience .content ul{margin:0 0 0.42rem;padding-left:1.1em;list-style:none;word-break:keep-all;overflow-wrap:break-word}#experience .content li{position:relative;margin-bottom:0.25rem;padding-left:0.2em;font-size:0.875rem;line-height:1.35;letter-spacing:-0.01em;word-break:keep-all}#experience .content li::before{content:'•';position:absolute;left:-1.1em;color:#6b7280}#experience .content ul ul{margin:0.15rem 0 0.1rem;padding-left:1.5em}#experience .content ul ul li{font-size:0.82rem}#experience .content ul ul li::before{content:'◦';transform:scale(0.7)}.experience-quote{font-size:0.78rem;color:#6b7280;margin:0 0 0.16rem;line-height:1.25}#projects .project-card{background:transparent;border-radius:0;position:relative;padding-bottom:1rem;margin-bottom:0}#projects .project-card+.project-card{margin-top:0.95rem;padding-top:0.95rem;border-top:1px dashed #cfd8e6}#projects .project-card:last-child{padding-bottom:0;margin-bottom:0}#projects .project-head{display:flex;justify-content:space-between;align-items:flex-start;gap:0.45rem;flex-wrap:wrap;margin-bottom:0.16rem}#projects .project-title{font-size:1.06rem;margin:0;line-height:1.23;font-weight:700;color:#1f2430;flex:1 1 65%;min-width:0}#projects .project-side-info{display:flex;flex-direction:column;align-items:flex-end;gap:0;flex:0 1 auto;margin-left:auto;margin-top:0;width:fit-content;max-width:40%;min-width:0}#projects .project-side-meta{margin:0;font-size:0.74rem;line-height:1.14;color:#6b7280;font-weight:500;white-space:normal;text-align:right;max-width:100%;overflow-wrap:anywhere;word-break:break-word}#projects .project-meta-line{margin:0 0 0.16rem;font-size:0.84rem;line-height:1.32;color:#6b7280}#projects .project-subtitle-line{margin-bottom:0.04rem}#projects .project-meta-line .project-subtitle{color:#24292e;font-weight:600}#projects .project-stack-line{margin:0 0 0.6rem;font-size:0.78rem;line-height:1.24;color:#6b7280;font-weight:500;letter-spacing:0.005em}#projects .project-content{font-size:0.9rem;line-height:1.52;color:#24292e;orphans:3;widows:3}#projects .project-content p{margin-bottom:0.45rem;line-height:1.4}#projects .project-content ul{margin:0 0 0.42rem;padding-left:1.02rem}#projects .project-content li{margin-bottom:0.25rem;line-height:1.35}#projects .project-content ul ul{margin:0.15rem 0 0.1rem;padding-left:1.5em;list-style-type:none}#projects .project-content ul ul li{font-size:0.82rem;position:relative;padding-left:0.2em}#projects .project-content ul ul li::before{content:'◦';position:absolute;left:-1.1em;color:#6b7280;transform:scale(0.7)}#projects .project-content ul+p{margin-top:0.7rem}#projects .project-content ul ul li{color:#374151}#projects .project-content>ul>li+li{margin-top:0.45rem}#projects .project-content p strong{font-weight:600}#skills .content p{margin:0 0 0.15rem;line-height:1.6}#activities>.section-title{margin:0.5rem 0 0.45rem}#activities .layout{gap:1.15rem;margin-bottom:0.6rem}#activities .details{flex:0 0 188px}#activities .details h4{font-size:1.02rem;line-height:1.25;margin-bottom:0}#activities .details p{margin-bottom:0.16rem;font-size:0.84rem;color:#6b7280;line-height:1.4}#activities .content p{margin:0 0 0.25rem;line-height:1.55}#education>.section-title{margin:0.5rem 0 0.45rem}#education .layout{gap:1.15rem;margin-bottom:0.6rem}#education .details{flex:0 0 188px}#education .details h4{font-size:1.02rem;line-height:1.25;margin-bottom:0}.keep-together{break-inside:avoid;page-break-inside:avoid}@media (max-width: 768px){.resume-header{flex-direction:column;text-align:center;gap:0.6rem;margin-bottom:1rem}.header-right{text-align:center}.header-name-line{flex-direction:column;align-items:center;gap:0.16rem}.character-line{margin:0;font-size:0.8rem;white-space:normal;overflow:visible;text-overflow:clip}.layout{flex-direction:column}.details{text-align:center}}@media print{@page{size:A4;margin:11mm 10mm}html,body{background:#fff !important;margin:0 !important;padding:0 !important;font-size:100% !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.resume{width:var(--a4-page-width) !important;max-width:var(--a4-page-width) !important;margin:0 auto !important;border:none !important;box-shadow:none !important;border-radius:0 !important}.resume a[href]::after{content:none !important}.layout{break-inside:avoid}}
