/* --- フッター下（全ページ共通） --- */
.footer__bottom.tp-fbw{padding-top:0!important;background:linear-gradient(#FFFFFF 0%,#FFF6F0 55%,#FFF1EA 100%)}
.tp-fb{position:relative;overflow:hidden;padding:44px 0 0;text-align:center;font-family:"Helvetica Neue",Arial,"Hiragino Sans","Hiragino Kaku Gothic ProN","BIZ UDPGothic",Meiryo,sans-serif}
.tp-fbm{position:relative;display:inline-flex;flex-direction:column;align-items:center;margin:0 auto;padding:0 16px;font-weight:700;letter-spacing:.1em;line-height:1.7;color:#3B4043;font-size:19px}
.tp-fbm .pawi{display:block;width:26px;height:26px;margin:0 0 8px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2064%2064%27%20fill%3D%27%23E58A7B%27%3E%3Cellipse%20cx%3D%2732%27%20cy%3D%2742%27%20rx%3D%2712%27%20ry%3D%2710%27%2F%3E%3Cellipse%20cx%3D%2716%27%20cy%3D%2728%27%20rx%3D%275.5%27%20ry%3D%277%27%2F%3E%3Cellipse%20cx%3D%2727%27%20cy%3D%2719%27%20rx%3D%275.5%27%20ry%3D%277%27%2F%3E%3Cellipse%20cx%3D%2739%27%20cy%3D%2719%27%20rx%3D%275.5%27%20ry%3D%277%27%2F%3E%3Cellipse%20cx%3D%2749%27%20cy%3D%2729%27%20rx%3D%275.5%27%20ry%3D%277%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;transition:transform .7s cubic-bezier(.3,1.6,.5,1)}
.tp-fb.anim:not(.seen) .tp-fbm .pawi{transform:scale(0) rotate(-30deg)}

.tp-fbm .ln{display:block;white-space:nowrap}
.tp-fbm .l2{color:#A31C0E;font-size:1.18em}
.tp-fbm .ch{display:inline-block}
.tp-fb.anim .tp-fbm .ch{opacity:0;transform:translateY(14px) scale(.6)}
.tp-fb.seen .tp-fbm .ch{animation:tpPop .7s cubic-bezier(.3,1.7,.5,1) forwards;animation-delay:calc(var(--i) * 55ms + .2s)}
.tp-fb.seen .tp-fbm .l2 .ch{animation-delay:calc(var(--i) * 70ms + 1s)}
@keyframes tpPop{60%{opacity:1;transform:translateY(-4px) scale(1.12)}to{opacity:1;transform:none}}
.tp-fbm .ul{width:min(300px,78%);height:16px;margin-top:-2px}
.tp-fb.anim .tp-fbm .ul path{stroke-dasharray:320;stroke-dashoffset:320}
.tp-fb.seen .tp-fbm .ul path{transition:stroke-dashoffset 1.1s 1.9s ease-out;stroke-dashoffset:0}
.tp-fbsc{position:relative;height:190px;margin-top:6px}
.tp-fbs{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%;display:block}
.tp-fbs *{animation-play-state:paused}
.tp-fb.on .tp-fbs *{animation-play-state:running}
.tp-fbs .clouds{animation:tpCloud 46s linear infinite}
.tp-fbs .clouds.c2{animation-duration:70s;animation-delay:-30s}
@keyframes tpCloud{from{transform:translateX(-160px)}to{transform:translateX(160px)}}
.tp-fbs .win{animation:tpWin 6s ease-in-out infinite}
.tp-fbs .win.w1{animation-delay:-1.5s}.tp-fbs .win.w2{animation-delay:-3s}.tp-fbs .win.w3{animation-delay:-4.5s}
@keyframes tpWin{0%,100%{fill:#FFF3C9}50%{fill:#FFD86B}}
.tp-fbs .tree{transform-box:fill-box;transform-origin:50% 100%;animation:tpSway 4.5s ease-in-out infinite}
.tp-fbs .tree.tr1,.tp-fbs .tree.tr3{animation-delay:-2s}
@keyframes tpSway{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}
.tp-fbs .hrt path{transform-box:fill-box;transform-origin:50% 50%;opacity:0;animation:tpHeart 5s ease-out infinite}
.tp-fbs .hr1 path{animation-delay:1.2s}.tp-fbs .hr2 path{animation-delay:2.5s}.tp-fbs .hr3 path{animation-delay:3.7s}
@keyframes tpHeart{0%{opacity:0;transform:translateY(0) scale(.5)}15%{opacity:1}70%{opacity:.9}100%{opacity:0;transform:translateY(-46px) scale(1.15) rotate(10deg)}}
.tp-fbs .walker{animation:tpWalk 22s linear infinite}
@keyframes tpWalk{from{transform:translateX(-80px)}to{transform:translateX(1280px)}}
.tp-fbs .bob{animation:tpBob .5s ease-in-out infinite alternate}
@keyframes tpBob{to{transform:translateY(-3px)}}
.tp-fbs .lg{transform-box:fill-box;transform-origin:50% 0;animation:tpLeg .5s ease-in-out infinite alternate}
.tp-fbs .lg.l2{animation-direction:alternate-reverse}
@keyframes tpLeg{from{transform:rotate(-18deg)}to{transform:rotate(18deg)}}
.tp-fbs .tail{transform-box:fill-box;transform-origin:100% 100%;animation:tpWag .28s ease-in-out infinite alternate}
@keyframes tpWag{from{transform:rotate(-14deg)}to{transform:rotate(14deg)}}
.tp-fbs .ctail{transform-box:fill-box;transform-origin:0 100%;animation:tpCtail 2.4s ease-in-out infinite}
@keyframes tpCtail{0%,100%{transform:rotate(0)}50%{transform:rotate(-22deg)}}
.tp-fbs .cat{animation:none}
.tp-fbs .pw{opacity:0;animation:tpPaw 22s linear infinite}
.tp-fbs .pw0{animation-name:tpPaw0}@keyframes tpPaw0{0%,16.8%{opacity:0}16.9%{opacity:.9}38.9%{opacity:0}100%{opacity:0}}
.tp-fbs .pw1{animation-name:tpPaw1}@keyframes tpPaw1{0%,30.0%{opacity:0}30.1%{opacity:.9}52.1%{opacity:0}100%{opacity:0}}
.tp-fbs .pw2{animation-name:tpPaw2}@keyframes tpPaw2{0%,43.3%{opacity:0}43.4%{opacity:.9}65.4%{opacity:0}100%{opacity:0}}
.tp-fbs .pw3{animation-name:tpPaw3}@keyframes tpPaw3{0%,56.5%{opacity:0}56.6%{opacity:.9}78.6%{opacity:0}100%{opacity:0}}
.tp-fbs .pw4{animation-name:tpPaw4}@keyframes tpPaw4{0%,69.8%{opacity:0}69.9%{opacity:.9}91.9%{opacity:0}100%{opacity:0}}
.tp-fbs .pw5{animation-name:tpPaw5}@keyframes tpPaw5{0%,83.0%{opacity:0}83.1%{opacity:.9}99.0%{opacity:0}100%{opacity:0}}
.footer__bottom.tp-fbw .footer__copyright{margin-top:0!important}
@media (min-width:768px){.tp-fb{padding-top:64px}.tp-fbm{font-size:26px}.tp-fbsc{height:250px}}
@media (prefers-reduced-motion:reduce){.tp-fbs *,.tp-fbm .ch,.tp-fbm .pawi{animation:none!important;transition:none!important}.tp-fbm .ch{opacity:1;transform:none}.tp-fbm .pawi{transform:none}.tp-fbm .ul path{stroke-dashoffset:0}.tp-fbs .pw{opacity:.8}}

.tp-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.cards__date .psm-age,.cards__date span[class*="age"]{display:inline-block;white-space:nowrap}
