.app-loading{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#f8fafc;color:#475569;font:600 16px sans-serif}.app-loading[hidden]{display:none}.welcome-popup{box-sizing:border-box;width:75vw;height:75vh;max-width:none;max-height:none;margin:auto;padding:0;border:0;border-radius:12px;background:#fff center / cover;color:#233247;box-shadow:0 20px 70px rgb(0 0 0 / 35%);overflow:hidden;overscroll-behavior:contain}.welcome-popup::backdrop{background:rgb(15 23 42 / 68%)}.welcome-popup__content{position:relative;padding:0;box-sizing:border-box;height:100%;display:flex;align-items:center;justify-content:center}.welcome-popup__slides{width:100%;height:100%;overflow:hidden}.welcome-popup__track{display:flex;width:100%;height:100%;transform:translateX(calc(var(--welcome-slide, 0) * -100%));transition:transform 250ms ease}.welcome-popup__slide{box-sizing:border-box;flex:0 0 100%;min-width:0;height:100%;padding:clamp(32px,6vw,72px) clamp(48px,6vw,80px);display:flex;align-items:center;justify-content:center}.welcome-popup__pagination{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:4px;z-index:2}.welcome-popup__pagination button{box-sizing:border-box;width:24px;height:24px;padding:5px;border:0;border-radius:50%;background:transparent;cursor:pointer}.welcome-popup__pagination button::before{content:"";display:block;width:100%;height:100%;box-sizing:border-box;border:2px solid var(--pagination-color);border-radius:50%;background:#fff}.welcome-popup__pagination .is-current::before{background:var(--pagination-color)}.welcome-popup__nav{position:absolute;z-index:1;top:50%;transform:translateY(-50%);width:52px;height:52px;padding:0;border:0;border-radius:0;background:transparent;color:#475569;display:grid;place-items:center;cursor:pointer}.welcome-popup__nav svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.welcome-popup__nav:disabled{opacity:0.4;cursor:default}.welcome-popup__nav--previous{left:8px}.welcome-popup__nav--next{right:8px}@media(min-width:500px){.welcome-popup__nav{width:10%;height:100%}.welcome-popup__nav--previous{left:0}.welcome-popup__nav--next{right:0}}@media(prefers-reduced-motion:reduce){.welcome-popup__track{transition:none}}.welcome-popup__text{width:100%;max-width:960px;flex-shrink:0;transform:scale(var(--welcome-text-scale, 1));transform-origin:center}.welcome-popup__feature{max-width:800px;height:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.welcome-popup__feature-title{position:relative;box-sizing:border-box;width:100%;height:clamp(64px,10vh,100px);flex:none;display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;margin:0 auto clamp(16px,2.5vh,28px);padding:0.55em 0.8em 0.55em 2.1em;border:2px solid #233247;background:#fff;color:#17202d;font-size:clamp(20px,3vw,36px);line-height:1.4;overflow-wrap:anywhere}.welcome-popup__feature-title::before{content:"";position:absolute;top:-2px;bottom:-2px;left:-2px;width:1.7em;background:#ff6f61;clip-path:polygon(0 0,100% 0,75% 50%,100% 100%,0 100%)}.welcome-popup__feature-title span{flex:0 0 auto;white-space:nowrap}.welcome-popup__feature-description{margin:0 auto clamp(12px,2vh,24px);color:#233247;font-size:clamp(16px,2vw,20px);line-height:1.8;text-align:left}.welcome-popup__examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr);width:100%;flex:1 1 0;min-height:0;gap:clamp(6px,1.5vw,16px);margin:0 auto clamp(18px,3vh,32px)}.welcome-popup__examples img{box-sizing:border-box;display:block;width:100%;min-width:0;height:100%;min-height:0;max-height:100%;object-fit:contain;background:#fff;border:1px solid #dfe5ef;border-radius:8px}.welcome-popup__feature--fishbone{--welcome-feature-accent: #38bdf8}.welcome-popup__feature--fishbone .welcome-popup__feature-title{font-size:clamp(12px,2.3vw,30px)}.welcome-popup__feature--fishbone .welcome-popup__feature-title span{display:inline-block;white-space:nowrap}.welcome-popup__feature--fishbone .welcome-popup__feature-title::before,.welcome-popup__feature--fishbone .welcome-popup__create{background:var(--welcome-feature-accent)}.welcome-popup__feature--fishbone .welcome-popup__create{border-color:var(--welcome-feature-accent)}.welcome-popup__feature--fishbone .welcome-popup__create:hover{background:#0284c7}.welcome-popup__examples--single{display:grid;grid-template-columns:minmax(0,1fr);max-width:480px}.welcome-popup__examples--pair{grid-template-columns:repeat(2,minmax(0,1fr));max-width:580px}.welcome-popup__feature--flowchart .welcome-popup__feature-title::before,.welcome-popup__feature--flowchart .welcome-popup__create{background:#facc15}.welcome-popup__feature--flowchart .welcome-popup__create{border-color:#e6b800;color:#17202d}.welcome-popup__feature--flowchart .welcome-popup__create:hover{background:#eab308}.welcome-popup__feature--affinity .welcome-popup__feature-title::before,.welcome-popup__feature--affinity .welcome-popup__create{background:#cbd5e1}.welcome-popup__feature--affinity .welcome-popup__create{border-color:#94a3b8;color:#17202d}.welcome-popup__feature--affinity .welcome-popup__create:hover{background:#94a3b8}.welcome-popup__feature--timetable .welcome-popup__feature-title::before,.welcome-popup__feature--timetable .welcome-popup__create{background:#0d9488}.welcome-popup__feature--timetable .welcome-popup__create{border-color:#0d9488}.welcome-popup__feature--timetable .welcome-popup__create:hover{background:#0f766e}.welcome-popup__examples--timetable{max-width:580px}.welcome-popup__create{display:inline-block;flex:none;width:min(24.75vw,100%);box-sizing:border-box;padding:0.85em 0.5em;border:1px solid #e65d51;border-radius:8px;background:#ff6f61;color:#fff;font-size:20px;font-weight:700;text-decoration:none}.welcome-popup__create:hover{background:#e65d51}.welcome-popup__close{z-index:2;position:absolute;top:12px;right:12px;width:40px;height:40px;padding:0;border:1px solid #dfe5ef;border-radius:10px;background:#fff;color:#475569;font-size:26px;cursor:pointer}.welcome-popup h2{position:relative;isolation:isolate;box-sizing:border-box;width:fit-content;max-width:100%;margin:20px auto clamp(32px,5vh,56px);padding:0.08em 0.65em;border:1.5px solid #233247;background:#fff;display:flex;align-items:baseline;justify-content:center;gap:0.035em;font-family:"DM Sans",Arial,sans-serif;font-weight:700;text-align:center;font-size:clamp(48px,10vw,112px);line-height:1.2;color:#17202d}.welcome-popup h2[data-title-style=folded]::before,.welcome-popup h2[data-title-style=folded]::after{content:"";position:absolute;z-index:-1;width:0.55em;height:0.2em;background:#ff6f61;border:1.5px solid #233247}.welcome-popup h2[data-title-style=folded]::before{left:-1.5px;top:100%;clip-path:polygon(0 0,100% 0,100% 100%)}.welcome-popup h2[data-title-style=folded]::after{right:-1.5px;bottom:100%;clip-path:polygon(0 0,100% 100%,0 100%)}.welcome-popup h2[data-title-style=layered]{border-color:transparent;background:transparent}.welcome-popup h2[data-title-style=layered]::before,.welcome-popup h2[data-title-style=layered]::after{content:"";position:absolute;box-sizing:border-box;border:2px solid #233247;border-radius:3px}.welcome-popup h2[data-title-style=layered]::before{z-index:-2;inset:0 0.08em;background:#ff6f61;transform:rotate(-5deg)}.welcome-popup h2[data-title-style=layered]::after{z-index:-1;inset:-1.5px;background:#fff}.welcome-popup h2[data-title-style] .welcome-logo-latin{letter-spacing:0.055em}.welcome-popup h2[data-title-style] .welcome-logo-kana{font-family:"Noto Sans JP",sans-serif;font-size:0.7em;font-weight:700;color:#ff6f61;line-height:1}.welcome-popup h2.welcome-popup__image-title{width:min(100%,820px);padding:0;border:0;background:transparent}.welcome-popup__image-title img{display:block;width:100%;aspect-ratio:3.4;object-fit:cover}.welcome-popup__description{font-size:clamp(16px,2vw,20px);line-height:1.9;overflow-wrap:anywhere}.welcome-popup__description p{margin:0 0 1em}.welcome-popup__description p:last-child{margin-bottom:0}.welcome-popup__mobile-notice{display:none;color:#d00000}@media(hover:none)and (pointer:coarse){.welcome-popup__mobile-notice{display:block}}@media(max-width:600px){.welcome-popup{height:75dvh}}@media(max-width:500px){.welcome-popup{width:94vw;height:90vh;height:90dvh}.welcome-popup__slide{padding:52px 44px 42px;align-items:safe center;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.welcome-popup__feature{height:auto;min-height:100%}.welcome-popup__examples{flex:none;height:140px}.welcome-popup__create{width:min(220px,100%)}.welcome-popup h2{margin:12px auto 24px;font-size:42px}.welcome-popup__description{font-size:14px;line-height:1.65}}
