@import"https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@400;700&display=swap";.loading-spinner{--loading-spinner-size: 136px;position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px 32px;border-radius:28px;background:#fffaf4eb;box-shadow:0 18px 44px #ffb8d247;color:#6e4a2c;text-align:center;font-family:Kiwi Maru,Yu Gothic,Hiragino Sans,sans-serif}.loading-spinner--dark{background:#221915c7;color:#ffeede;box-shadow:0 18px 44px #2219156b}.loading-spinner__halo{position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;border-radius:40px;background:radial-gradient(circle at center,#ffedf5d9,#ffedf500);filter:blur(10px);z-index:0;pointer-events:none}.loading-spinner__image-wrapper{position:relative;width:var(--loading-spinner-size);height:var(--loading-spinner-size);display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#fff4f9f2,#ffe0edb8);box-shadow:inset 0 8px 24px #ffffffa6,0 18px 30px #ffb4c859;z-index:1}.loading-spinner__image{width:calc(var(--loading-spinner-size) * .68);height:calc(var(--loading-spinner-size) * .68);object-fit:contain;filter:drop-shadow(0 10px 18px rgba(255,170,195,.45));animation:loading-spinner-rotate 1.25s linear infinite;transform-origin:center}.loading-spinner__message{font-size:1.05rem;letter-spacing:.06em;margin:0;z-index:1}.loading-spinner__visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes loading-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.loading-spinner__image{animation-duration:3.2s}}@media (max-width: 480px){.loading-spinner{padding:18px 22px;gap:16px}.loading-spinner__message{font-size:.95rem}}.site-header{transition:transform .5s cubic-bezier(.4,1,.5,1),opacity .4s;will-change:transform,opacity;width:100vw;background:linear-gradient(90deg,#fcc7b4,#fdf6ee);box-shadow:0 2px 10px #eecfcf33;padding:0;position:sticky;top:0;z-index:100}.hide-header{transform:translateY(-120%);opacity:0;pointer-events:none}.site-header nav{display:flex;align-items:center;justify-content:space-between;max-width:1150px;margin:0 auto;padding:18px 3vw 12px}.logo{font-size:1.3rem;font-weight:700;color:#a8674e;text-decoration:none;letter-spacing:.08em;transition:color .15s;border-radius:12px;padding:6px 14px;background:#fff5e9;box-shadow:0 1px 5px #f0dac888}.logo:hover{background:#ffe4d4;color:#d69172}.nav-links{display:flex;gap:18px;list-style:none;margin:0;padding:0}.nav-links a{color:#ad856b;text-decoration:none;font-weight:500;font-size:1.08rem;border-radius:9px;padding:7px 16px;background:#ffe1c8;transition:background .17s,color .17s;box-shadow:0 .5px 2px #f0dac877}.nav-links a:hover{background:#ffe4d4;color:#c76e25}@media (max-width: 700px){.site-header nav{flex-direction:column;gap:12px;align-items:flex-start;padding:14px 3vw 9px}.logo{margin-bottom:4px;font-size:1.1rem;padding:6px 10px}.nav-links{gap:7px}.nav-links a{font-size:1rem;padding:6px 10px}}@media (max-width: 600px){.nav-links a{font-size:15px}}.site-footer{background:linear-gradient(90deg,#fdf6ee,#fcc7b4);color:#7a5540;text-align:left;padding:24px 5vw 18px 2vw;font-size:1.07rem;letter-spacing:.04em;box-shadow:0 -2px 14px #eecfcf44;border-top:2px solid #e7b17d;position:relative;z-index:10;font-family:Kiwi Maru,"M PLUS Rounded 1c",sans-serif}.footer-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;max-width:1200px;margin:0 auto 8px;gap:18px}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer-links a{color:#865b38;text-decoration:none;font-weight:600;font-size:1.06rem;transition:color .18s;border-radius:8px;padding:4px 12px}.footer-links a:hover{color:#fff;background:#bf7946}.footer-sns{display:flex;gap:15px}.footer-sns a svg{vertical-align:middle;transition:filter .17s,transform .17s;filter:grayscale(30%)}.footer-sns a:hover svg{filter:grayscale(0%) drop-shadow(0 1px 4px #e3b684);transform:scale(1.14) rotate(-8deg)}.route-loading{display:flex;align-items:center;justify-content:center;width:100%;min-height:320px;padding:48px 0}.site-footer small{line-height:1.6;display:block;margin-top:10px;font-size:.97em;color:#8a6c4e}.site-header nav{position:relative}.translation{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #e5c7b0;border-radius:12px;padding:8px 32px 8px 12px;font-family:Kiwi Maru,sans-serif;font-size:.95rem;color:#4a3f39;cursor:pointer;transition:background .2s,box-shadow .2s,border-color .2s;margin-left:12px;line-height:1.2;box-shadow:0 1px 5px #f0dac880;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%234a3f39' d='M0 0l5 6 5-6H0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 12px}.translation:hover{background:#fef6f2;box-shadow:0 2px 6px #00000014}.translation:focus{outline:none;border-color:#e89f73;box-shadow:0 0 0 2px #e89f734d}@media (max-width: 700px){.site-header nav{flex-direction:column;gap:12px;align-items:flex-start;padding:14px 3vw 9px}.translation{position:absolute;top:12px;right:3vw;margin-left:0;z-index:2;font-size:1rem;padding:10px 36px 10px 14px}.logo{margin-right:42px}.nav-links{width:100%;gap:7px}}@media (max-width: 420px){.translation{top:10px;right:3vw;font-size:1rem;padding:10px 34px 10px 12px}}@media (max-width: 700px){.site-footer{font-size:.97rem;padding:16px 4vw 14px;text-align:center}.footer-content{flex-direction:column;gap:7px}.footer-links{justify-content:center;gap:12px;margin-bottom:6px}.footer-sns{justify-content:center;gap:12px}}.guide-character{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000;display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:min(240px,70vw);cursor:pointer;-webkit-user-select:none;user-select:none}.guide-character__close-button{position:absolute;top:-.45rem;right:-.45rem;width:24px;height:24px;border:none;border-radius:999px;background:#ffffffeb;box-shadow:0 4px 10px #0000002e;color:#555;font-size:.85rem;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.guide-character__close-button:hover{background:#ffebee;color:#d32f2f;transform:scale(1.05)}.guide-character__close-button:focus-visible{outline:2px solid #ff94c2;outline-offset:2px}.guide-character:focus-visible{outline:3px solid #ff94c2;outline-offset:4px;border-radius:12px}.guide-character__image-wrapper{width:120px;height:120px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffffd9;box-shadow:0 8px 18px #0000001f;animation:guide-character-bounce 2s ease-in-out infinite;transition:transform .4s ease}.guide-character__image-wrapper--react{animation:guide-character-react .6s ease}.guide-character__image{max-width:80%;height:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.guide-character__bubble{position:relative;padding:.75rem 1rem;border-radius:18px;background:#ffffffeb;box-shadow:0 10px 20px #0000001f;font-size:.9rem;line-height:1.5;color:#333;width:100%;min-height:3.5rem}.guide-character__bubble:after{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);border-width:0 8px 20px 8px;border-style:solid;border-color:transparent transparent rgba(255,255,255,.92) transparent}.guide-character__bubble p{margin:0}@keyframes guide-character-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes guide-character-react{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-6deg) scale(1.05)}50%{transform:rotate(6deg) scale(.98)}75%{transform:rotate(-3deg) scale(1.03)}to{transform:rotate(0) scale(1)}}@media (max-width: 768px){.guide-character{bottom:1rem;right:1rem;max-width:min(210px,80vw)}.guide-character__close-button{top:-.35rem;right:-.35rem}.guide-character__image-wrapper{width:100px;height:100px}.guide-character__bubble{font-size:.85rem}}.intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background:radial-gradient(circle at 20% 20%,rgba(255,215,229,.75),transparent 58%),radial-gradient(circle at 82% 24%,rgba(255,241,195,.7),transparent 60%),linear-gradient(120deg,#ffe4d4,#ffe1c8,#d69172);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.6rem;overflow:hidden;z-index:10000;transform-origin:center;animation:intro-pop .8s cubic-bezier(.58,.01,.23,1.01)}.intro-overlay.is-leaving{animation:intro-fade-out .7s ease forwards;pointer-events:none}.intro-glow{position:absolute;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,#fffffff2,#ffd7eb1a 70%);filter:blur(0px);animation:glow-pulse 6s ease-in-out infinite;pointer-events:none}.intro-content{position:relative;z-index:2;text-align:center;color:#a56652;font-family:Kiwi Maru,"M PLUS Rounded 1c",sans-serif}.intro-mascot{position:relative;width:130px;height:120px;margin:0 auto 1rem;background:#fff8f3;border-radius:48% 52% 44% 56%;box-shadow:0 20px 45px #f7b1b640;animation:mascot-bob 4.5s ease-in-out infinite}.intro-mascot-eyes{position:absolute;inset:44% 32% auto 32%;height:12px;background:transparent;border-radius:999px;box-shadow:0 0 0 6px #4e3629,40px 0 0 6px #4e3629}.intro-mascot-blush{position:absolute;top:58%;width:32px;height:18px;background:#ffb3c96b;border-radius:50%;filter:blur(1px)}.intro-mascot-blush.left{left:14px}.intro-mascot-blush.right{right:14px}.intro-mascot-sparkle{position:absolute;width:24px;height:24px;background:radial-gradient(circle,#ffffffe6,#ffcce6cc);border-radius:50%;filter:drop-shadow(0 0 6px rgba(255,214,240,.6));animation:sparkle-twinkle 3.5s ease-in-out infinite}.intro-mascot-sparkle.sparkle-a{top:-14px;right:10px}.intro-mascot-sparkle.sparkle-b{bottom:2px;left:-12px;animation-delay:1.4s}.intro-lead{font-size:1.05rem;letter-spacing:.4em;margin:0;opacity:.72;animation:text-fade-in .9s ease forwards .4s}.intro-title{margin:0;font-size:clamp(2.4rem,6vw,3.4rem);letter-spacing:.14em;font-weight:700;animation:text-rise 1.1s cubic-bezier(.2,.91,.32,1.08) forwards .55s}.intro-caption{margin-top:.6rem;font-size:1.05rem;color:#b8876c;letter-spacing:.1em;animation:text-fade-in .8s ease forwards .95s}.intro-shape-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.intro-shape{position:absolute;bottom:-20%;border-radius:40% 60% 60% 40%;opacity:.78;animation-name:shape-float;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.intro-shape.variant-1{border-radius:60% 40% 70% 30%}.intro-shape.variant-2{border-radius:50% 50% 40% 60%}@keyframes intro-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@keyframes intro-fade-out{0%{opacity:1}to{opacity:0}}@keyframes glow-pulse{0%,to{transform:scale(.95);opacity:.8}50%{transform:scale(1.05);opacity:1}}@keyframes mascot-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(2deg)}}@keyframes sparkle-twinkle{0%,to{transform:scale(.8);opacity:.6}40%{transform:scale(1.1) rotate(8deg);opacity:1}70%{transform:scale(.9) rotate(-8deg)}}@keyframes text-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes text-rise{0%{transform:translateY(28px) scale(.94);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes shape-float{0%{transform:translateZ(0) scale(.9) rotate(0);opacity:0}10%{opacity:.75}50%{transform:translate3d(12px,-55vh,0) scale(1.1) rotate(12deg);opacity:.85}to{transform:translate3d(-10px,-110vh,0) scale(1.05) rotate(-16deg);opacity:0}}@media (max-width: 640px){.intro-mascot{width:110px;height:102px}.intro-caption{font-size:.95rem}}@media (prefers-reduced-motion: reduce){.intro-overlay,.intro-glow,.intro-mascot,.intro-mascot-sparkle,.intro-shape,.intro-lead,.intro-title,.intro-caption{animation:none!important}}body,html,#root{height:100%;margin:0;padding:0;font-family:Kiwi Maru,Noto Sans JP,sans-serif;background-color:#f4f3ee;background-image:radial-gradient(circle at 12% 20%,rgba(255,203,214,.32),transparent 58%),radial-gradient(circle at 88% 26%,rgba(255,233,197,.35),transparent 55%),radial-gradient(circle at 40% 88%,rgba(210,239,255,.26),transparent 60%);background-size:160% 160%;animation:site-bg-pan 26s ease-in-out infinite alternate}.fetch-error{padding:3rem 1rem;text-align:center;color:#c85c5c;font-weight:600}.main-lod{min-height:100vh}.hero-bg{min-height:100vh;display:flex;flex-direction:column;align-items:center;background:linear-gradient(120deg,#f8e6e0 60%,#ffe8c3)}.hero-container{color:#4e3629;text-align:center;max-width:700px;margin:0 auto 2rem;opacity:0;transform:translateY(40px);transition:all 1s cubic-bezier(.7,.3,.3,1);padding-top:2.5rem;background-color:#8d8e9d80}.hero-container.fadein{opacity:1;transform:translateY(0);animation:heroFloat 8s ease-in-out infinite;animation-delay:1.3s}.hero-title{font-size:2.8rem;font-weight:700;letter-spacing:.03em;line-height:1.15}.accent{color:#ff7d60;font-weight:900}.hero-sub{margin-top:2.5rem;font-size:1.25rem;color:#ffe4d4;letter-spacing:.02em}.nav-cards{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin:2rem 0}.nav-card{position:relative;overflow:hidden;background:linear-gradient(155deg,#fffffffa,#ffecd5f2 45%,#ffdde0e6);background-size:180% 180%;border-radius:2rem;box-shadow:0 8px 24px #0000000f;padding:2rem 1.5rem;width:240px;min-height:140px;color:#4e3629;text-decoration:none;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .4s ease;border:2px solid #ffe2c1;animation:navCardGlow 18s ease-in-out infinite;will-change:transform,box-shadow;contain:layout paint}.nav-card:hover{transform:translateY(-8px) scale(1.04);box-shadow:0 16px 40px #00000014;border-color:#ffd0a7}.nav-card:after{content:"";position:absolute;inset:-45% -20% auto 55%;width:160%;height:60%;background:linear-gradient(130deg,#fffc,#fff0 60%);opacity:0;transform:translateY(55%) rotate(18deg);transition:transform .6s ease,opacity .6s ease;pointer-events:none}.nav-card:hover:after{opacity:.85;transform:translateY(-15%) rotate(18deg)}.nav-card:nth-child(2){animation-delay:4s}.nav-card:nth-child(3){animation-delay:8s}@keyframes navCardGlow{0%{background-position:0% 50%}50%{background-position:50% 60%}to{background-position:100% 50%}}.nav-card h2{margin:0 0 .5rem;font-size:1.3rem;font-weight:700}.nav-card p{margin:0;font-size:1rem;color:#8a6e57}.news-section{width:900px;background:#fffdf7;margin:2rem auto;padding:2rem 1.5rem;border-radius:1.5rem;box-shadow:0 6px 20px #0000000a}.news-section h3{margin-top:0;color:#ff7d60;font-size:1.2rem;letter-spacing:.03em}.news-section ul{list-style:none;padding:0;margin:0}.news-section li{margin-bottom:1.3rem;padding:1rem 1.1rem 1.15rem;border-bottom:1px solid #f4e6d6;border-radius:1.1rem;position:relative;background:#fff0;transition:transform .3s ease,box-shadow .3s ease,background .3s ease,border-color .3s ease}.news-section li:last-child{margin-bottom:0;border-bottom:none}.news-section li:hover{transform:translate(8px);box-shadow:0 12px 30px #ffabcc2e;background:#fff9f4f2;border-color:#ffc4d9b3}.news-date{font-size:.92rem;color:#b49c8f}.news-title{font-size:1.1rem;font-weight:700;color:#4e3629;margin-top:.1rem}.news-content{font-size:1rem;color:#8a6e57}.news-section--loading{min-height:220px;display:flex;align-items:center;justify-content:center}.splash-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(180deg,#fff8fce0,#ffecf4e0);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;display:flex;justify-content:center;align-items:center;z-index:9999}.bg-hero{background-size:cover;background-position:center;background-repeat:no-repeat;transition:background-image .5s;min-height:100vh}.bg-hero:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#ffffff24,#ffffff5c);pointer-events:none;z-index:1}.bg-hero-stack{pointer-events:none}.bg-hero-mobile{background-repeat:no-repeat;background-size:cover;background-position:center}.bg-hero{background-size:cover;background-position:center;background-repeat:no-repeat;transition:background-image .5s;min-height:100vh;will-change:opacity,transform}.hero-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1;contain:layout paint}.hero-sparkle{position:absolute;background:radial-gradient(circle,#fffffff2,#ffb8cdb3 55%,#fff0 75%);border-radius:50%;opacity:0;box-shadow:0 0 18px #ffb5d466;animation-name:heroSparkleFloat;animation-timing-function:ease-in-out;animation-iteration-count:infinite;will-change:transform,opacity}.hero-sparkle:after{content:"";position:absolute;top:25%;right:25%;bottom:25%;left:25%;background:radial-gradient(circle,#ffffffe6,#ffd2f000 65%);border-radius:50%;opacity:.6}@media (prefers-reduced-motion: reduce){body{animation:none!important;background-position:center!important}.hero-container.fadein,.hero-sparkle,.nav-card{animation:none!important}}@keyframes heroSparkleFloat{0%{transform:translateZ(0) scale(.75);opacity:0}10%{opacity:.72}50%{transform:translate3d(-10px,-32px,0) scale(1.05);opacity:.95}to{transform:translate3d(14px,-70px,0) scale(.8);opacity:0}}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes site-bg-pan{0%{background-position:0% 50%}50%{background-position:50% 60%}to{background-position:100% 50%}}.scroll-box{width:100%;max-width:400px;height:300px;overflow-y:auto;overflow-x:hidden;background:#fffdf8;border-radius:16px;border:1px solid #efc585;padding:16px;box-sizing:border-box}.scroll-box::-webkit-scrollbar{width:8px;background:#ffe9a8;border-radius:8px}.scroll-box::-webkit-scrollbar-thumb{background:#efc585;border-radius:8px}.sp-only{display:none}@media (max-width: 600px){.sp-only{display:inline}}.scroll-box{scrollbar-width:thin;scrollbar-color:#efc585 #ffe9a8}@media (max-width: 600px){.bg-hero{background-position:center top}}@media (max-width: 700px){.nav-cards{flex-direction:column;align-items:center;gap:1.3rem}.nav-card{width:90vw;min-width:0;padding:1.3rem 1rem}.hero-title{font-size:2rem}.hero-sub{font-size:1rem}.news-section{width:90vw}}.art{width:300px;height:96px}
