@font-face{font-family:Zen;src:url('assets/ZenKakuGothicNew-Regular.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fcfaf5;color:#625c70;font-family:Zen,'Hiragino Kaku Gothic ProN',sans-serif;line-height:1.9}a{color:inherit}button,input{font:inherit}button,a,label{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #9671bc;outline-offset:4px}[hidden]{display:none!important}.previewbar{display:flex;justify-content:space-between;padding:7px 6%;font:11px/1.6 sans-serif;letter-spacing:.1em;background:#e9e2f2}.previewbar span{letter-spacing:0}header{padding:24px 6%;display:flex;justify-content:space-between;align-items:center}header>a{text-decoration:none;font-size:14px}.brand{font:24px Georgia,serif;letter-spacing:-.02em}.brand span{display:block;font:10px Zen;letter-spacing:.12em;margin-top:6px}.hero{margin:12px 4% 0;display:grid;grid-template-columns:1.05fr 1fr;background:#ebe4f4;border-radius:6px 90px 6px 6px;overflow:hidden}.hero>div{padding:55px 9%}.eyebrow{font:11px/1.6 sans-serif;letter-spacing:.15em;color:#80718f}.hero h1{font-weight:400;font-size:clamp(30px,3.6vw,54px);line-height:1.6;letter-spacing:.02em;margin:28px 0}.pink{color:#a47898}.intro{font-size:17px}.button{border:0;border-radius:100px;background:#81708f;color:white;min-height:52px;padding:15px 26px;text-decoration:none;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:16px}.hero .button{margin-top:20px}.quiet{display:block;background:none;border:0;padding:14px 0;font-size:14px;color:#716279;text-decoration:none}.specimen{background:#f4edf0;position:relative;display:flex;flex-direction:column;justify-content:center}.tag{display:inline-block;align-self:flex-start;background:#fff9ed;border:1px solid #e6dbc8;padding:6px 14px;font-size:12px;transform:rotate(-3deg)}.display{font:italic 48px/1.1 Georgia,serif;letter-spacing:-.03em;color:#a190ae;margin:30px 0 24px}.display span{color:#b28b9d}.paper{padding:10px 18px 18px;background:#fffdf8;box-shadow:0 12px 24px #8a789b12;transform:rotate(-3deg)}.paper img{width:100%;height:auto;display:block}.paper small{font-size:11px}.specimen>p:last-child{font-size:14px;margin-top:30px}.story{text-align:center;padding:90px 24px 70px}.story h2{font-size:30px;font-weight:400;line-height:1.7}.story p:last-child{max-width:650px;margin:auto}main>section:not(.hero):not(.story){max-width:1060px;margin:0 auto;padding:60px 30px;border-top:1px solid #e0d8e6}.heading{display:flex;align-items:center;gap:26px;margin-bottom:30px}.num{font:italic 65px Georgia;color:#b9a8cc}.heading h2{font-size:28px;font-weight:400;margin:6px 0;line-height:1.55}.heading p{margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps article{padding:26px;background:#f0eaf5;border-radius:8px}.steps article:nth-child(2){background:#f6e9ed}.steps article:nth-child(3){background:#f2eedf}.steps b{font-weight:400;font-size:17px}.steps p{font-size:14px}.textlink{text-underline-offset:6px;font-size:15px}.guide-detail{margin-top:24px}.guide-image{width:180px;display:block;border:1px solid #ddd;margin:20px 0}details{border:1px solid #dcd2e5;border-radius:12px;background:#fffcf8;padding:20px;margin:25px 0}summary{cursor:pointer;font-size:17px;min-height:35px}details p{font-size:14px}.upload{text-align:center;padding:40px 20px;background:#f2edf6;border:1px dashed #b6a3cc;border-radius:20px}.upload-icon{font-size:32px}.upload h3{font-weight:400;margin:8px 0}.upload p{font-size:14px;margin:4px 0 20px}.upload small{display:block;margin:18px auto 0;font-size:13px}.file-label{position:relative;overflow:hidden;cursor:pointer}.file-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.samples{margin:25px 0}.samples>p{font-size:14px}.samples>div{display:flex;flex-wrap:wrap;gap:10px}.samples button{background:#fffdf8;border:1px solid #d8ccdf;color:#716279;border-radius:30px;padding:12px 16px;font-size:13px;min-height:44px}#status{font-size:14px}#error,#missing{color:#a14b60}.result-paper{position:relative;padding:25px 20px;background:#fffdf9;border:1px solid #e6dce9;border-radius:20px}.message-scroll{overflow-x:auto;margin:22px 0 10px;padding:5px 0}#message{display:block;width:100%;min-width:640px;height:auto}.result-paper small{font-size:12px}.explain{max-width:700px;margin:35px auto}.explain h3{font-weight:400;font-size:23px}.count{font-size:24px;margin-bottom:4px}.notice{font-size:13px;line-height:1.8;color:#756a7d}#selected-count{display:inline-block;font-size:12px;margin-left:12px;background:#f1e8f5;border-radius:20px;padding:2px 12px}.cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.card{position:relative;background:white;border:1px solid #ddd2e6;border-radius:10px;padding:10px;color:#625c70;min-width:0}.card[aria-pressed=true]{background:#f3e6ee;border:2px solid #ac6c98}.card img{height:92px;width:100%;object-fit:contain;display:block;margin:8px 0}.card span{font-size:13px;display:block}.card small{font-size:10px;display:block}.card .review{color:#986134}.card[aria-pressed=true]:after{content:'♡ 選択中';position:absolute;bottom:4px;right:6px;font-size:10px}#share{margin-top:12px}#confirm{background:#f4edf5;border-radius:24px}#confirm h2{font-weight:400;font-size:28px}fieldset{border:0;padding:0;margin:25px 0}legend{margin-bottom:10px}fieldset label{display:block;padding:10px 0}input[type=radio],input[type=checkbox]{accent-color:#987aac;width:18px;height:18px;margin-right:10px;vertical-align:middle}input[type=text]{display:block;width:100%;max-width:400px;padding:12px;border:1px solid #b5a5c5;border-radius:8px;background:white;margin-top:10px}.summary-box{background:#fffdf8;border-radius:14px;padding:24px}.summary-box h3{font-weight:400}.consent{display:block;margin:24px 0}button:disabled{opacity:.55;cursor:default}footer{display:flex;justify-content:space-between;gap:20px;padding:60px 6%;margin-top:40px;border-top:1px solid #e4dce9}footer>span{font:26px Georgia}footer p{font-size:12px;margin:0}@media(max-width:700px){.hero{grid-template-columns:1fr;margin:0 16px;border-radius:6px 60px 6px 6px}.hero>div{padding:36px 25px}.hero h1{font-size:34px}.specimen .display{font-size:38px}.hero .specimen{padding-top:30px}.story{padding:65px 25px}.story p br{display:none}.story h2{font-size:26px}main>section:not(.hero):not(.story){padding:42px 22px}.heading{gap:18px}.num{font-size:52px}.heading h2{font-size:24px}.steps{grid-template-columns:1fr}.steps article{padding:24px}.steps p{font-size:16px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}details{padding:16px}.result-paper{padding:20px 12px}.previewbar{font-size:9px;padding-inline:16px}.count{font-size:21px}footer{flex-direction:column}.intro{font-size:16px}.notice{font-size:14px}.samples button{font-size:12px}#confirm{border-radius:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.screen-guide{display:block;max-width:100%;width:640px;margin:24px 0 10px}#confirm-image{width:100%;height:auto}#confirm-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}#confirm-cards img{width:100%;height:70px;object-fit:contain;background:white}@media(max-width:700px){#confirm-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* UI revision 02: clearer type, direct controls, proportional message */
html{scroll-behavior:auto}body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;font-weight:500;font-size:17px;color:#575064;line-height:1.85}h1,h2,h3,.hero h1,.story h2,.heading h2,.explain h3,#confirm h2,.summary-box h3{font-weight:700}p{line-break:strict;overflow-wrap:break-word}p>span,.steps h3>span{display:inline-block}header{position:relative;z-index:5}.brand,footer>span{font-family:Arial,sans-serif;font-weight:700;letter-spacing:-.04em}.brand span{font-family:Arial,sans-serif;font-weight:500}.display{font-family:Arial,sans-serif;font-weight:700;font-style:normal;line-height:1.2;font-size:42px}.num{font:700 54px/1 Arial,sans-serif}.tag,.paper{transform:none}.paper{border:1px solid #e6dce9;border-radius:14px;padding:18px}.paper img{object-fit:contain}.specimen>p:last-child{font-size:16px}.eyebrow,.step-label{font:600 12px/1.7 Arial,sans-serif;letter-spacing:.1em}.navigation{position:relative}#menu-toggle{border:1px solid #d9cee4;border-radius:24px;padding:12px 18px;background:#f0eaf6;color:inherit;font:700 14px Arial,sans-serif;min-height:44px}#menu{position:absolute;right:0;top:58px;width:min(300px,85vw);padding:18px;background:#fffdf9;border:1px solid #d9cee4;border-radius:18px;box-shadow:0 15px 35px #625c7020}#menu p{margin:0 0 8px;font-size:13px}#menu a{display:block;padding:10px 4px;text-decoration:none;font-size:16px}#menu a:hover{background:#f0eaf6}.steps article{padding:24px}.steps h3{font-size:21px;line-height:1.6;margin:12px 0}.steps p{font-size:16px;margin:12px 0 22px}.steps h3>span{margin-right:.15em}.step-label{color:#897696}.guide-tabs{display:flex;gap:10px;margin:20px 0}.guide-tabs button{background:#fffdf8;border:1px solid #cbbbd7;border-radius:25px;padding:10px 18px;color:inherit}.guide-tabs button[aria-pressed=true]{background:#e7dced;font-weight:700}details p{font-size:16px}.upload{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer}.upload input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload:focus-within{outline:3px solid #987aac;outline-offset:4px}.upload-icon{font:400 60px/1 Arial,sans-serif}.upload strong{font-size:20px}.upload>span:not(.upload-icon){font-size:14px}.upload small{margin:0;font-size:14px}#input-preview{max-width:100%;width:120px;height:150px;object-fit:contain;background:white;border-radius:8px}.samples>p{font-size:16px}.samples button{font-size:16px;font-weight:700;border-radius:14px;padding:14px 22px}.samples button span{display:block;font-size:13px;font-weight:500}.result-paper{padding:26px}#message-action{display:block;width:100%;padding:12px 0 20px;border:0;background:none;color:inherit;border-radius:14px}#message-action:hover{background:#f4edf5}#message-action:active{background:#eadff0}#message{display:block;width:100%;min-width:0;height:auto}.tap-hint{display:inline-flex;gap:22px;padding:9px 22px;background:#eadff0;border-radius:100px;font-weight:700;font-size:16px}.result-paper>.notice{text-align:center}.explain{max-width:850px}.explain p{margin:12px 0;font-size:17px}.explain h3{font-size:24px}.notice{font-size:14px}#confirm-image{max-width:100%}.count{font-size:23px}.hero>div{min-width:0}.hero h1{font-size:clamp(30px,3.4vw,48px)}
@media(max-width:900px){.steps{grid-template-columns:1fr}.steps article{padding:24px 28px}.steps h3{margin:8px 0}.steps h3>span{display:inline}.hero>div{padding:36px 7%}.display{font-size:34px}}
@media(max-width:700px){body{font-size:16px}header{padding:22px 20px}.brand{font-size:21px}.hero h1{font-size:30px}.hero>div{padding:32px 24px}.specimen .display{font-size:34px}.heading{gap:14px}.heading h2{font-size:24px}.num{font:700 42px Arial,sans-serif}.result-paper{padding:20px 10px}.explain h3{font-size:22px}.explain p{font-size:16px}.steps article{padding:24px}.steps p{font-size:16px}.upload{padding:30px 18px}.upload strong{font-size:18px}.samples>div{display:grid;grid-template-columns:1fr 1fr}.samples button{padding:12px 8px;font-size:15px}.samples button span{font-size:12px}.count{font-size:21px}.summary-box{padding:18px}.previewbar{letter-spacing:0}.hero .button{gap:12px}}

.toolbar-shot{position:relative;margin:16px 0;aspect-ratio:10.8;overflow:hidden;border-radius:8px}.toolbar-shot img{display:block;width:100%;height:auto}.toolbar-shot>span{position:absolute;width:4%;height:40%;right:2.8%;bottom:9%;border:2px solid #ff8ab9;border-radius:50%}

.procreate-guide{margin:20px 0}.procreate-guide img{display:block;width:100%;height:auto;border-radius:12px}.procreate-guide figcaption{font-size:14px;line-height:1.8;margin-top:12px}

.export-step{margin:28px 0 40px}.export-step h4{font-size:20px;margin:12px 0}.export-step li{font-size:16px}.export-focus{display:block;width:100%;margin:18px auto}.export-focus img{display:block;width:100%;height:auto}
.export-step>.textlink{display:block;text-align:center;margin:14px 0}.export-step p{font-size:17px}@media(max-width:700px){.export-step h4{font-size:18px}.export-step p{font-size:16px}}

/* 左固定MENUと元画像のプレビュー */
header{padding-left:160px}.navigation{position:fixed;left:16px;top:12px;z-index:100}#menu-toggle{position:relative;z-index:103;box-shadow:0 3px 12px #625c7020}#menu{position:fixed;left:0;right:auto;top:0;height:100dvh;width:min(320px,85vw);padding:84px 24px 28px;border-radius:0 20px 20px 0;z-index:102;overflow:auto;animation:drawer-in .2s ease-out}#menu-backdrop{position:fixed;inset:0;width:100vw;height:100dvh;border:0;background:#30273f55;z-index:101}@keyframes drawer-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}.template-preview{display:block;text-align:center;text-decoration:none}.template-preview img{display:block;width:100%;max-width:210px;height:auto;margin:16px auto 8px;box-shadow:0 4px 14px #625c7020}.template-preview span{font-size:14px;text-decoration:underline}@media(prefers-reduced-motion:reduce){#menu{animation:none}}@media(max-width:700px){header{padding-left:145px}.brand{font-size:19px}}

/* v6: 内容に合わせた手順、コンパクトMENU、画像確認 */
#menu{left:16px;top:66px;height:auto;max-height:calc(100dvh - 80px);width:min(280px,calc(100vw - 32px));padding:18px;border-radius:16px;animation:none}#menu-backdrop{background:transparent}.steps{grid-template-columns:1fr 1fr;align-items:stretch}.steps #template{grid-column:1/-1;display:grid;grid-template-columns:1fr minmax(220px,360px);column-gap:32px;align-items:center}.steps #template .template-preview{grid-column:2;grid-row:1}.template-preview img{max-width:360px;margin:0 auto 8px}.steps #template>p{margin:10px 0}.steps #template h3{font-size:28px}.steps #template>.notice{align-self:start}.steps article{height:auto}#input-panel{text-align:center;background:#f0eaf5;padding:24px;border-radius:18px}#input-preview{display:block;width:min(100%,480px);max-width:480px;height:auto;max-height:none;object-fit:contain;margin:18px auto}#change-image{margin:8px auto 20px}#result-message{display:block;width:100%;height:auto}#message-action{display:block;width:min(100%,680px);margin:20px auto;padding:12px 20px;background:#f0eaf5;border:1px solid #d9cee4;border-radius:24px}#message-action canvas{width:100%;height:auto;display:block}button:disabled{opacity:.55;cursor:wait}#template-dialog{width:min(94vw,900px);max-height:94dvh;border:0;border-radius:18px;padding:16px;background:#fcfaf5;color:#625c70;overflow:auto}#template-dialog::backdrop{background:#30273f66}#template-dialog img{display:block;width:100%;height:auto;-webkit-touch-callout:default}.dialog-head{position:sticky;top:-16px;background:#fcfaf5;display:flex;gap:16px;align-items:center;justify-content:space-between}.dialog-head p{margin:8px 0;font-size:14px}#template-close{background:white;border:1px solid #d9cee4;border-radius:50%;min-width:44px;height:44px;font-size:28px;color:inherit}@media(max-width:700px){.steps{grid-template-columns:1fr}.steps #template{display:block}.template-preview img{max-width:360px}.steps #template h3{font-size:23px}#input-panel{padding:16px}#input-preview{width:100%}}

/* v7: 最新の本人希望に合わせた常時ナビと余白 */
header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px;background:#fcfaf5;border-bottom:1px solid #e5dfe9}.site-nav{display:flex;gap:24px;align-items:center;white-space:nowrap}.site-nav a{font-size:15px;text-decoration:none;color:inherit;padding:10px 0}.site-nav a:hover{text-decoration:underline}section{scroll-margin-top:100px}.hero h1{font-size:clamp(25px,2.8vw,40px)}.hero-handwriting{margin:28px 0}.hero-handwriting img{display:block;width:100%;height:auto}.steps #template{align-items:start}.steps article:nth-child(3){background:#FFF8D9}#result-message{width:75%;margin:20px auto}.result-paper{height:auto;min-height:0;padding:30px 24px}#message-action{width:min(100%,560px);padding:12px 18px}.specimen .display{margin-top:0}
@media(max-width:700px){header{padding:10px 14px;gap:8px;flex-direction:column}.brand{font-size:18px}.brand span{display:inline;margin-left:8px;font-size:10px}.site-nav{width:100%;justify-content:space-between;gap:10px}.site-nav a{font-size:13px;padding:6px 0}.hero h1{font-size:25px}.result-paper{padding:22px 12px}.steps #template{display:block}.template-preview{margin-top:20px}section{scroll-margin-top:110px}}

/* v8: 最終送信ボタンだけに実筆を配置 */
#message-action{width:min(100%,420px);border:2px solid #a498b5;border-radius:18px;background:#e9e0f2;box-shadow:0 3px 0 #c9bdd6;padding:10px 18px}#message-action:disabled{opacity:.75;cursor:not-allowed}#confirm>.notice{text-align:center}

/* v9: トップの入口を大きく、矢印なし */
.hero .button{font-size:24px;padding:20px 38px;min-height:64px;justify-content:center}.hero .quiet{display:table;font-size:20px;font-weight:700;padding:12px 0;margin-top:14px;text-decoration:underline;text-underline-offset:5px}@media(max-width:700px){.hero .button{font-size:22px;padding:18px 28px}.hero .quiet{font-size:18px}}

/* v10: 共有へのお願いと説明 */
.momopi-request{max-width:760px;margin:0 0 44px;padding:0 0 28px;border-bottom:1px solid #d9cee4}.momopi-request h2{font-size:28px}.momopi-request p{line-height:1.9}.sharing-purpose{margin-top:28px}.sharing-purpose p{font-size:16px;line-height:1.8}.sharing-purpose .notice{font-size:14px}.send-guidance{text-align:center;font-size:15px;margin:26px 0 10px}@media(max-width:700px){.momopi-request h2{font-size:24px}.send-guidance{font-size:14px}}

/* v10: one clear entry, readable type and quieter shape */
.hero .button{font-size:22px;padding:15px 28px;min-height:58px;border-radius:16px;margin-top:24px}
@media(max-width:700px){.hero .button{font-size:21px;padding:14px 26px;min-height:56px}}

.gallery{max-width:920px;margin:auto;padding:40px 24px}.gallery h1{font-size:30px}.gallery-tabs{display:flex;gap:12px;margin:28px 0}.gallery-tabs button{padding:12px 24px;border:1px solid #cbbbd7;border-radius:14px;background:#fffdf8;color:inherit}.gallery-tabs button[aria-pressed=true]{background:#e7dced;font-weight:700}.original-writing{display:block;width:min(100%,350px);margin:20px auto}.gallery-result{display:block;width:100%;height:auto;margin:28px auto}.gallery .cards .card{cursor:default}.gallery .button{margin:24px 0}.gallery-status{min-height:30px}@media(max-width:700px){.hero .button{font-size:18px}.gallery h1{font-size:25px}}

.gallery{max-width:1200px}.examples-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:28px}.example-column{min-width:0;padding:0 20px}.example-column+ .example-column{border-left:1px solid #e0d8e6}.example-column>h2{text-align:center;font-size:23px}.example-column h3{font-size:17px}.example-column .original-writing{width:min(100%,280px)}.phrase-frame{height:125px;display:flex;align-items:center;justify-content:center}.example-column .gallery-result{width:min(100%,340px);max-height:110px;object-fit:contain;margin:12px auto}.example-column .cards{grid-template-columns:repeat(3,minmax(0,1fr))}.example-column details{padding:14px}.example-column summary{font-size:15px}.example-column .gallery-status:empty{display:none}@media(max-width:600px){.examples-grid{grid-template-columns:1fr;gap:32px}.example-column{padding:0}.example-column+ .example-column{border-left:0;border-top:1px solid #e0d8e6;padding-top:24px}}

.gallery-cta{display:flex;justify-content:center;margin:48px 0 16px}.gallery-cta .button{font-size:clamp(20px,2.2vw,26px);padding:22px 36px;max-width:100%;text-align:center}

/* Local receipt identifiers must fit narrow screens. */
#receipt { overflow-wrap:anywhere; }
#receipt a { display:block; margin-top:12px; }
