@charset "UTF-8";html{background-color:#fff;font-family:Noto Sans JP,sans-serif;font-optical-sizing:auto;font-style:normal}body{margin:0}video,camera,img{display:block}button{border:none;background:none;padding:0}img{width:100%}.content{max-width:750px;margin:auto}.camera_area{position:relative;text-align:center;width:100%;max-width:750px;margin:0 auto}.camera_area .camera_inner{position:relative}.camera_area .camera_inner video,.camera_area .camera_inner canvas{width:100%;height:100%;object-fit:cover;display:block}.camera_area .action_box{position:absolute;bottom:2%;left:50%;transform:translate(-50%);display:flex;justify-content:space-between;align-items:flex-end;width:90%}.camera_area .action_box #toggleCamera{width:16%}.camera_area .action_box #shutter{width:22%}.camera_area .action_box #deletePartBtn{width:16%}.position{position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;height:100%}.position canvas{width:100%;height:100%;position:absolute;top:0;left:0}.position #videoCanvas{z-index:1}.position #frameCanvas{z-index:2;pointer-events:auto}.re_window video,.re_window canvas,.re_window img{width:100%;height:100%}.t-center{text-align:center;margin-bottom:20px}.result{width:95%;max-width:600px;height:100%;margin:auto;position:relative}#modalLoading{height:90%;display:flex;align-items:center;justify-content:center}.spinner{border:6px solid #eee;border-top:6px solid #3b82f6;border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite;margin:auto auto 10px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#modalImg{display:none}.frame-selector{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.frame-selector .frame-thumb{width:calc(33.333% - 6px);object-fit:contain;cursor:pointer;border:2px solid #ccc;border-radius:4px}.stamp-selector{display:flex;gap:8px;flex-wrap:wrap}.stamp-thumb{width:31%;min-height:22.2vw;cursor:pointer;border:2px solid #ccc;border-radius:4px;padding:4px;background-color:#ededed;display:flex;align-items:center;justify-content:center}.stamp-thumb.selected{border-color:#f17386}.stamp-thumb.has-face-tracking{position:relative}.stamp-thumb.has-face-tracking:before{content:"顔追従スタンプ";white-space:pre;position:absolute;bottom:-2px;left:-2px;font-size:11px;width:calc(100% + 4px);text-align:center;background-color:#fa3f36;color:#fff;border-radius:5px;padding:3px 0;line-height:1.3;pointer-events:none}.stamp-reset-box{margin:10px auto 0;padding-top:10px;border-top:1px solid #eee}.stamp-reset-box .stamp-reset-btn{background-color:#f44336;color:#fff;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:700;border:none;width:100%}.stamp-reset-box .stamp-reset-btn:hover{background-color:#d32f2f}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#000000b3}.modal-content{background-color:#fff;margin:10% auto;padding:20px 10px;width:90%;border-radius:10px;position:relative}#resultModal .modal-content{margin:5% auto;height:calc(100vh - 40px);overflow-y:scroll}.modalResult_btns{display:flex;justify-content:space-between;padding-bottom:20px}.modalResult_btns .modal_cap{width:100%;background-color:#0d6efd;color:#fff;margin:0 auto;padding:10px 0;display:block;position:relative;border-radius:5px 0 0 5px}.modalResult_btns .modal_cap:after{content:"";position:absolute;width:0;height:0;border-style:solid;border-right:10px solid transparent;border-left:10px solid transparent;border-top:10px solid #0d6efd;border-bottom:0;bottom:-10px;left:50%;transform:translate(-50%)}.modalResult_btns .close{width:25%;border-radius:0 5px 5px 0}.close{background-color:#aaa;color:#fff;font-size:16px;cursor:pointer;display:block;display:flex;align-items:center;justify-content:center}.text-input-container{margin-top:25px;padding-top:25px;border-top:2px solid #ccc}.text-input-container #textInput{width:100%}.text-input-container #addTextBtn{margin-top:10px;text-align:center;display:block;width:100%;background-color:#fbb03b;color:#fff;padding:10px;border-radius:5px}.side-menu-area{position:fixed;top:0%;right:0;transform:translate(80%);transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.side-menu-area.open{transform:translate(0);pointer-events:auto}.side-menu-area .side-menu-btn{background:#ffffffe6;cursor:pointer;box-shadow:-2px 2px 8px #00000014;writing-mode:vertical-rl;text-orientation:upright;background:#ffffffb3;box-shadow:-2px 0 8px #00000026;padding:10px 5px;font-size:14px;font-weight:700;border-radius:6px 0 0 6px;position:absolute;right:80%;pointer-events:auto}.side-menu{width:80%;height:100vh;background:#ffffffb3;box-shadow:-2px 0 8px #00000026;display:flex;flex-direction:column;overflow-y:auto;margin:0 0 0 auto}.side-menu-header{display:flex;justify-content:flex-end;align-items:center;padding:12px 16px 0 0}.side-menu .close{font-size:18px;margin-bottom:8px;background:none;border:none;outline:none}.side-menu-content{padding:16px;flex:1;overflow-y:auto}.side-menu-section{margin-bottom:20px}.side-menu-section h3{font-size:18px;margin-bottom:8px;color:#2196f3;border-left:4px solid #2196F3;padding-left:8px}.side-menu .text-input-container{margin-left:10px;padding-top:10px;border-top:1px solid #eee}#sideMenuTextInput{width:100%}#sideMenuAddTextBtn{background-color:#fbb03b;color:#fff;padding:10px;border-radius:5px;border:none;cursor:pointer;margin-left:10px}.text-style-box{display:flex;align-items:center;justify-content:center;margin-top:6px}.swiper-pagination-bullet-active{background:#f17386}.swiper{width:100%;padding-bottom:20px}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:0}.swiper-slide{text-align:center;display:flex;align-items:center;justify-content:center}.swiper-slide img{max-width:100%;max-height:100%;object-fit:contain}.modal-footer{margin-top:20px;text-align:center}.dont-show-today{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px}.dont-show-today input[type=checkbox]{width:18px;height:18px}.dont-show-today label{font-size:14px;color:#666}.close-tutorial-btn{display:block;width:100%;margin:15px auto 0;padding:12px 0;background-color:#4caf50;color:#fff;border:none;border-radius:50px;cursor:pointer;font-size:16px;font-weight:700;transition:background-color .3s}.start-page{display:flex;justify-content:center;align-items:center}.start-page .container{text-align:center;width:90%;max-width:450px}.start-page h1{padding-bottom:25px;margin-bottom:40px;position:relative}.start-page h1:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:70px;height:2px;background-color:#f17386}.start-page h1.newyear{padding-bottom:40px}.start-page h1.newyear:before{content:"New Year Edition";position:absolute;width:11em;bottom:20px;left:50%;transform:translate(-50%);font-size:15px;padding:2px 20px 3px;color:#fff;background-color:#f17386}.start-page .start-button{display:block;padding:1rem 2rem;font-size:1.2rem;background-color:#f17386;color:#fff;border:none;border-radius:50px;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;margin:0 auto;max-width:320px}.start-page .start-button:hover{transform:translateY(-3px);box-shadow:0 5px 15px #c4895566}.start-page .description{font-size:1.1rem;margin:0 0 60px;line-height:1.8}.start-page .copyright{position:absolute;bottom:1%;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;font-size:12px;color:#454545}.start-page .copyright img{width:100%;max-width:120px;margin-left:5px}.start-page .qrbox p{font-size:.85rem;margin-bottom:15px;color:#454545}.start-page .qrbox img{width:40%;margin:auto}.face-tracking-btn{width:16%;height:50px;background:#0009;border-radius:25px;color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.face-tracking-btn:hover{background:#000c;transform:scale(1.05)}.face-tracking-btn.active{background:#0096ffcc;border-color:#0096ff}.share{position:absolute;bottom:5px;right:4px;display:none}.share p{background-color:#fffc;width:6em;height:6em;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid #000;font-size:12px;font-weight:700;text-align:center;line-height:1.4;cursor:pointer}.countdown{width:100%;height:100%;position:absolute;top:0;left:0;background-color:#0003;display:none}.countdown span{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:60px;font-weight:700;width:100%;text-align:center}
