/* A scrollable level map. Circular dohyo controls form the interactive course path. */
.home-route .game-shell{background:#f2e8d4}.home-route .home-content{max-width:1220px;margin:auto;padding:27px 28px 18px}.course-layout{display:grid;grid-template-columns:minmax(0,710px) 292px;justify-content:center;gap:28px;align-items:start}.course-journey{min-width:0;border:3px solid #9a713e;border-radius:22px;overflow:hidden;background:#c5d78c;box-shadow:0 6px 0 #d3ba91}.course-heading{position:relative;z-index:3;background:#c64632;padding:22px 28px 20px;color:#fff7de;border-bottom:5px solid #9a3d26}.course-heading-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.journey-label{font-size:13px;letter-spacing:1px;font-weight:800}.journey-progress{font-size:25px;font-weight:900;color:#ffe89c}.journey-progress small{font-size:12px;color:#ffe5c2}.course-heading h1{font-size:36px;margin:3px 0 8px;letter-spacing:1px;text-shadow:0 3px 0 #983b28}.course-heading h1 span{color:#ffdd72;margin-left:7px}.course-heading-bottom{display:flex;gap:12px;align-items:center;justify-content:space-between}.course-heading p{font-size:13px;margin:0;color:#ffdec3}.map-jump{display:flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #e78164;border-radius:8px;background:#a32f2580;color:#fff2cc;font-size:12px;font-weight:700}.map-jump .icon{width:16px;height:16px}.adventure-map{position:relative;isolation:isolate;min-height:1030px;aspect-ratio:2/3;overflow:hidden;background:#bbd68a}.map-texture{position:absolute;inset:0;background:#bbd68a url('sumo-course-map.webp') center/cover no-repeat;z-index:-2}.journey-route{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none}.journey-route path{fill:none;stroke-linecap:round;stroke-linejoin:round}.route-shadow{stroke:#87723a99;stroke-width:12;filter:blur(2px)}.route-dots{stroke:#fff1a9;stroke-width:8;stroke-dasharray:2 19}.route-cleared{stroke:#f7c83c;stroke-width:9;stroke-dasharray:2 19}.map-start{position:absolute;left:40%;top:7.5%;transform:translate(-50%,-50%);background:#fff7dfed;border:2px solid #a6793d;border-radius:10px;padding:10px 20px;min-width:135px;text-align:center;box-shadow:0 4px 0 #93643255;color:#74471f}.map-start span{display:block;font-size:18px;font-weight:900;letter-spacing:2px}.map-start small{font-size:11px;color:#987542;display:block;margin-top:2px}.map-stops{list-style:none;margin:0;padding:0;position:absolute;inset:0}.map-stop{position:absolute;left:var(--stop-x);top:var(--stop-y);transform:translate(-50%,-50%);width:180px;display:flex;flex-direction:column;align-items:center;z-index:2}.stop-number{font-size:12px;letter-spacing:2px;color:#694522;font-weight:900;border:1px solid #be9855;background:#fff3c9ed;border-radius:6px;padding:4px 11px;box-shadow:0 2px 0 #ac864655;position:absolute;top:-29px;white-space:nowrap;z-index:3}.map-dohyo{position:relative;width:114px;height:90px;flex:none;border-radius:50%;border:5px solid #bf8e35;background:linear-gradient(#ffe99a,#f6c74f);box-shadow:0 8px 0 #8f6028,0 12px 0 #bb914c,0 17px 14px #4c622755,inset 0 0 0 3px #fff2b2;display:grid;place-items:center;transition:transform .16s,box-shadow .16s;color:#9f5c1c;overflow:visible}.dohyo-face{border:3px dashed #cf9636;border-radius:50%;width:83%;height:81%;display:grid;place-items:center}.map-dohyo .icon{width:35px;height:35px;stroke-width:2.6}.map-dohyo:hover:not(:disabled){transform:translateY(-4px)}.map-dohyo:active:not(:disabled){transform:translateY(5px);box-shadow:0 3px 0 #8f6028,0 7px 0 #bb914c,0 11px 10px #4c622755,inset 0 0 0 3px #fff2b2}.is-current .map-dohyo{width:129px;height:101px;background:linear-gradient(#ffe88b,#ffc546);border-color:#bb741e;color:#ac4523;box-shadow:0 9px 0 #9a551d,0 14px 0 #cf9b43,0 0 0 10px #fff9d786,0 0 0 16px #ffd6644d,0 21px 18px #5a713a55}.is-current .dohyo-face{border-color:#d8912d}.is-current .map-dohyo .icon{width:39px;height:39px}.is-cleared .map-dohyo{background:linear-gradient(#c0e8a5,#78b772);border-color:#528247;color:#faffec;box-shadow:0 8px 0 #416e3a,0 12px 0 #6c9854,0 17px 14px #4c622744,inset 0 0 0 3px #d5efb7}.is-cleared .dohyo-face{border-color:#77a261}.is-cleared .map-dohyo .icon{width:39px;height:39px}.is-locked .map-dohyo{background:linear-gradient(#e1ddc6,#bbb59b);border-color:#9c967b;box-shadow:0 8px 0 #7c785f,0 12px 0 #aca384,0 17px 14px #4c622733,inset 0 0 0 3px #ede8d3;color:#908971;opacity:1}.is-locked .dohyo-face{border-color:#b0a78a}.clear-seal{position:absolute;right:-8px;bottom:-8px;border:2px solid #f2d78a;border-radius:50%;background:#bf4f30;color:#fff2bf;padding:5px;font-size:15px;font-weight:900;transform:rotate(-10deg);box-shadow:0 2px 0 #793821}.stop-sign{position:absolute;top:calc(100% + 23px);width:224px;max-width:60vw;border:2px solid #b58a4c;border-radius:12px;background:#fff8e2f5;box-shadow:0 4px 0 #a6814955;text-align:center;padding:12px 10px;color:#704622}.stop-sign h2{font-size:20px;letter-spacing:1px;margin:0 0 5px;font-weight:900}.stop-sign p{font-size:14px;margin:0;color:#896337;font-weight:700}.stop-sign p span{font-size:12px;font-weight:500;border-left:1px solid #d2bc94;padding-left:8px;margin-left:6px}.stop-sign small{display:block;font-size:11px;color:#997947;margin-top:6px;white-space:nowrap}.is-current .stop-sign{border-color:#b27033;background:#fff3cd;box-shadow:0 4px 0 #a6763855}.is-locked .stop-sign{background:#f1ead9ed;border-color:#baaa8b;color:#8c7f64}.is-locked .stop-sign p,.is-locked .stop-sign small{color:#a39376}.here-ribbon{position:absolute;top:-70px;background:#ce4c32;color:#fff5d8;border:2px solid #fff0ba;padding:8px 13px;white-space:nowrap;font-size:13px;font-weight:900;border-radius:9px;box-shadow:0 3px 0 #993c25;z-index:5;animation:here-float 2.5s ease-in-out infinite}.here-ribbon::after{content:'';position:absolute;left:calc(50% - 6px);bottom:-8px;width:10px;height:10px;background:#ce4c32;border-right:2px solid #fff0ba;border-bottom:2px solid #fff0ba;transform:rotate(45deg)}.map-companion{position:absolute;left:126px;top:-53px;width:100px;height:108px;z-index:4;pointer-events:none;filter:drop-shadow(0 6px 2px #435c263b)}.map-companion .mini-actor{width:100%;height:100%}.stop-2 .map-companion{left:auto;right:126px}.map-goal{position:absolute;left:60%;top:90%;transform:translate(-50%,-25%);background:#693f2eea;border:3px solid #efca7d;color:#fff0c7;border-radius:13px;box-shadow:0 5px 0 #412f23aa;text-align:center;padding:25px 18px 14px;width:240px;max-width:75%;z-index:3}.goal-crest{position:absolute;left:calc(50% - 26px);top:-31px;display:grid;place-items:center;width:52px;height:52px;border:3px solid #f4dda3;border-radius:50%;background:#8d603e;color:#fbe3ad;box-shadow:0 3px 0 #5e412e}.goal-crest .icon{width:29px;height:29px}.map-goal strong{display:block;font-size:17px;letter-spacing:1px}.map-goal>span:not(.goal-crest){display:block;font-size:11px;margin-top:5px;color:#e8d2ac}.goal-cleared{background:#a34b30}.goal-cleared .goal-crest{background:#e4ad33;color:#fff4c5}.goal-link{display:block;margin-top:10px;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.course-bottom{background:#fff3d7;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:2px solid #c9a16b;font-size:12px;color:#886539}.course-bottom>span{display:flex;gap:5px;align-items:center;line-height:1.7}.course-bottom .icon{width:17px;height:17px;flex-shrink:0}.course-bottom a{font-weight:800;white-space:nowrap;display:flex;align-items:center;gap:6px;color:#ad492c}.course-side{position:sticky;top:22px;display:flex;flex-direction:column;gap:21px}.journey-next{position:relative;padding:113px 20px 17px;border:2px solid #c49a5c;border-radius:18px;background:#fff3d0;box-shadow:0 4px 0 #d4b37e;text-align:center;overflow:hidden}.next-companion{position:absolute;left:calc(50% - 75px);top:-11px;width:150px;height:126px}.next-companion .mini-actor{width:100%;height:100%}.journey-next .eyebrow{font-size:11px;letter-spacing:1px;color:#a27844}.journey-next h2{font-size:22px;margin:7px 0 5px}.journey-next p{font-size:13px;color:#94703f;margin-bottom:18px}.journey-next .training-cta{font-size:13px;width:100%;gap:7px;padding:8px 10px;background:#c74731;border-color:#8c3426;color:#fff2ce;box-shadow:0 4px 0 #8c3426}.journey-next .training-cta .icon{width:18px;height:18px}.next-meta{display:flex;justify-content:space-between;gap:10px;margin-top:19px;font-size:12px;color:#9b7541;padding-top:12px;border-top:1px solid #e5cea2}.course-battle{display:block;position:relative;background:linear-gradient(90deg,#563a22ed,#55302166),url('sumo-village.webp') center 72%/cover;border:2px solid #9a6234;border-radius:16px;padding:22px 19px;color:#fff6d9;box-shadow:0 4px 0 #c4a071;text-shadow:0 1px 3px #442717}.course-battle-kicker{font-size:12px;color:#ffdf9c}.course-battle strong{font-size:27px;display:flex;align-items:center;justify-content:space-between;letter-spacing:3px;margin:7px 0}.course-battle small{font-size:11px;color:#f1d8b0}.course-missions{padding:20px;margin:0!important}.course-missions .side-heading h2{font-size:18px}.course-missions .quest-top{font-size:13px}.course-missions .quest{margin-top:20px}.course-daily{border-top:1px solid #e4d3b2;padding-top:17px;margin-top:20px}.course-daily strong{display:block;font-size:23px;margin-bottom:9px}.course-daily small{font-size:12px;color:#9c805a;font-weight:500}.course-missions .text-button{font-size:12px}.course-side .review-call{padding:16px 13px;gap:9px}.course-side .review-call strong{font-size:13px}.course-side .review-call p{font-size:12px}.course-side .review-call>.icon{width:22px;height:22px}.course-side .review-call>.icon:last-child{margin-left:auto;width:18px}.home-route .game-nav .nav-item{font-size:12px}@keyframes here-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media(max-width:1100px){.home-route .home-content{padding:24px 22px}.course-layout{grid-template-columns:minmax(0,650px) 260px;gap:21px}.course-heading{padding:19px 22px}.course-heading h1{font-size:31px}.adventure-map{min-height:1030px;aspect-ratio:auto}.map-companion{left:122px}.stop-sign{width:206px}.course-side{top:15px}.journey-next{padding-left:15px;padding-right:15px}}
@media(max-width:850px){.course-layout{grid-template-columns:minmax(0,630px)}.course-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:20px}.course-missions{grid-column:2;grid-row:1/3}.course-side .review-call{grid-column:1/-1}.course-heading h1{font-size:35px}.course-side .course-battle{align-self:start}.adventure-map{min-height:1010px}}
@media(max-width:700px){.home-route .home-content{padding:0}.course-layout{display:block}.course-journey{border:0;border-radius:0;box-shadow:none}.course-heading{padding:17px 19px 16px;border-bottom-width:4px}.course-heading h1{font-size:29px;letter-spacing:0;margin:3px 0 9px}.course-heading h1 span{margin-left:4px}.journey-label{font-size:12px}.journey-progress{font-size:23px}.journey-progress small{font-size:11px}.course-heading p{font-size:12px}.course-heading-bottom{gap:8px}.map-jump{font-size:11px;padding:6px 8px}.adventure-map{height:995px;min-height:0;aspect-ratio:auto}.map-texture{background-position:center;background-size:auto 100%}.map-start{left:40%;font-size:16px;padding:9px 16px}.map-start span{font-size:16px}.map-stop{width:140px}.map-dohyo{width:100px;height:82px}.is-current .map-dohyo{width:113px;height:91px}.dohyo-face{border-width:2px}.map-dohyo .icon{width:31px;height:31px}.is-current .map-dohyo .icon{width:34px;height:34px}.stop-sign{width:195px;max-width:65vw;padding:11px 7px;border-radius:10px;top:calc(100% + 20px)}.stop-sign h2{font-size:18px;letter-spacing:0}.stop-sign p{font-size:13px}.stop-sign small{font-size:10px}.stop-number{font-size:11px;top:-27px;letter-spacing:1px}.here-ribbon{font-size:12px;top:-68px;padding:7px 10px}.map-companion{width:88px;height:95px;left:101px;top:-48px}.stop-2 .map-companion{right:103px}.map-goal{width:226px;left:57%;padding-top:23px}.map-goal strong{font-size:16px}.map-goal>span:not(.goal-crest){font-size:10px}.course-bottom{font-size:11px;padding:14px 16px;align-items:flex-start}.course-bottom>span{max-width:220px}.course-side{display:flex;padding:24px 17px 5px;gap:20px}.journey-next{padding:23px 19px 19px;text-align:left;min-height:205px}.next-companion{top:12px;left:auto;right:-2px;width:135px;height:126px;opacity:.95}.journey-next .eyebrow,.journey-next h2,.journey-next p{position:relative;max-width:calc(100% - 105px)}.journey-next h2{font-size:22px}.journey-next .training-cta{margin-top:20px;position:relative;font-size:14px;min-height:48px}.next-meta{margin-top:17px}.course-side .review-call{padding:18px}.home-route .game-nav .nav-item{font-size:12px}.map-dohyo:focus-visible{outline:4px solid #943e24;outline-offset:13px}}
@media(max-width:359px){.course-heading{padding-left:15px;padding-right:15px}.course-heading h1{font-size:26px}.course-heading p{font-size:11px}.journey-label{font-size:11px}.map-jump{font-size:10px}.adventure-map{height:995px}.stop-sign{width:178px}.stop-sign h2{font-size:17px}.stop-sign small{font-size:9px}.map-companion{width:75px;height:82px;left:98px;top:-38px}.stop-2 .map-companion{right:98px}.map-goal{left:55%;width:215px}.course-bottom{padding-left:12px;padding-right:12px;font-size:10px}.home-route .game-nav .nav-item{font-size:11px}}
@media(prefers-reduced-motion:reduce){.here-ribbon{animation:none}}.reduced .here-ribbon{animation:none}

/* Map landmarks are aligned to the generated clearings. */
.adventure-map{height:1120px;min-height:0;aspect-ratio:auto}.map-start{left:67%;top:5%}.map-goal{left:64%;top:89%}.is-current .stop-number{display:none}.here-ribbon{top:-45px}.map-companion{top:-34px}.route-shadow{stroke:#b4975950;stroke-width:10;filter:none}.route-dots{stroke:#fff6cce8;stroke-width:7;stroke-dasharray:1 17}.route-cleared{stroke:#efbb3299;stroke-width:8;stroke-dasharray:1 17}
@media(max-width:700px){.adventure-map{height:1100px}.adventure-map:not(.has-custom-map) .stop-1{--stop-x:34%!important}.adventure-map:not(.has-custom-map) .stop-2{--stop-x:66%!important}.adventure-map:not(.has-custom-map) .stop-3{--stop-x:34%!important}.map-start{left:68%;top:5%}.map-goal{left:56%;top:89%;width:228px}.journey-route{opacity:.65}.here-ribbon{top:-45px}.map-companion{top:-34px}.stop-sign{padding:10px 7px}.stop-sign h2{font-size:18px;margin-bottom:4px}.stop-sign small{margin-top:4px}.map-goal{background:#693f2ef0}.map-stop{scroll-margin-top:50px}}
@media(max-width:359px){.adventure-map{height:1100px}.map-start{left:70%;min-width:125px;padding:8px 10px}.map-start span{font-size:15px}.stop-sign h2{font-size:17px}.map-goal{left:55%;width:218px}.map-companion{top:-27px}}
@media(max-width:700px){.course-side .course-battle{align-self:stretch}.is-locked .stop-sign{background:#f6edda}.is-locked .stop-sign h2{color:#857454}.is-locked .stop-sign p,.is-locked .stop-sign small{color:#917e5b}}

/* Assigned artwork shows the whole 2:3 image: editor percentages match every screen width. */
.adventure-map.has-custom-map{height:auto;min-height:0;aspect-ratio:2/3}
.has-custom-map .map-texture{background-size:100% 100%}
@media(max-width:700px){
 .has-custom-map .map-start{padding:3px 8px;min-width:90px;border-width:1px;border-radius:6px}.has-custom-map .map-start span{font-size:11px;letter-spacing:0}.has-custom-map .map-start small{font-size:9px;margin:0}
 .has-custom-map .map-stop{width:100px}.has-custom-map .map-dohyo,.has-custom-map .is-current .map-dohyo{width:58px;height:45px;border-width:3px;box-shadow:0 4px 0 #8f6028,0 7px 0 #bb914c}
 .has-custom-map .map-dohyo .icon{width:22px;height:22px}.has-custom-map .stop-number{font-size:8px;top:-18px;letter-spacing:0;padding:1px 5px}
 .has-custom-map .stop-sign{top:calc(100% + 10px);width:138px;padding:5px 3px;border-radius:6px;border-width:1px}.has-custom-map .stop-sign h2{font-size:12px;margin:0 0 1px}.has-custom-map .stop-sign p{font-size:9px}.has-custom-map .stop-sign p span{font-size:8px;margin-left:3px;padding-left:3px}.has-custom-map .stop-sign small{font-size:7px;margin-top:2px;white-space:normal}
 .has-custom-map .here-ribbon{top:-24px;font-size:8px;padding:3px 7px;border-width:1px}.has-custom-map .map-companion{left:73px;top:-20px;width:48px;height:52px}.has-custom-map .stop-2 .map-companion{left:auto;right:73px}
 .has-custom-map .map-goal{width:180px;padding:13px 8px 7px;border-width:2px;border-radius:8px}.has-custom-map .map-goal strong{font-size:11px;letter-spacing:0}.has-custom-map .map-goal>span:not(.goal-crest){font-size:8px;margin-top:2px}.has-custom-map .goal-crest{width:30px;height:30px;top:-21px;left:calc(50% - 15px);border-width:2px}.has-custom-map .goal-crest .icon{width:18px;height:18px}
 .has-custom-map .clear-seal{font-size:10px;padding:2px;right:-7px;bottom:-7px}
}

/* けいこ道の相棒の動き（home-motion.js）。描く板は枠より左右15%・上35%広い。絵が描けたら止め絵を隠す */
.home-film{position:absolute;left:-15%;bottom:0;width:130%;height:135%;pointer-events:none}
.home-moving .pose-film{visibility:hidden}
/* 相棒はタップで反応し、地図の何もない所をタップするとそこまで跳ねて進む（home-motion.js）。進んでいるあいだは他の場所の上に出す */
.map-companion,.next-companion{pointer-events:auto;cursor:pointer}
.adventure-map{touch-action:manipulation}
/* タップしたときの青い四角（スマホの押した印）と、長押し・続けて押したときの文字の選択を出さない。土俵は押したときに沈む見た目があるので印は要らない */
.adventure-map,.map-companion,.next-companion{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.map-stop.companion-roaming{z-index:6}

.journey-next .text-button{margin-right:12px;padding:6px 0}
/* 地図の横の欄（相棒・けいこをはじめる・本場所へ）は PC だけ。スマホ・タブレット（850px 以下）では地図の下に並ぶので出さない（2026-09-26 マスター「PCのときはサイドバーの表示を戻して」） */
@media(max-width:850px){.course-side{display:none}}
