/* Learning Apps119: scoped to the two course sections. */
.n119-apps{--n119-ink:#172554;--n119-blue:#2563eb;color:var(--n119-ink);background-color:#f6faff;background-image:linear-gradient(#d9e8fa66 1px,transparent 1px),linear-gradient(90deg,#d9e8fa66 1px,transparent 1px);background-size:28px 28px;padding:88px 0 0;isolation:isolate;position:relative;z-index:2;scroll-margin-top:100px;font-family:"Noto Sans JP",sans-serif;text-align:left;overflow:hidden}
.n119-apps *{box-sizing:border-box}.n119-apps .n119-shell{width:min(1120px,calc(100% - 48px));margin:0 auto}.n119-apps h2,.n119-apps h3,.n119-apps p,.n119-apps figure{margin:0}.n119-apps .n119-hero{display:grid;grid-template-columns:44% 56%;align-items:center;gap:0;margin-bottom:52px}.n119-apps .n119-kicker{font-size:15px;font-weight:700;letter-spacing:.1em;margin-bottom:24px}.n119-apps .n119-kicker:after{content:"";display:block;width:34px;height:3px;background:var(--n119-blue);margin-top:12px}.n119-apps h2{font-size:clamp(32px,3.4vw,46px);font-weight:800;line-height:1.5;letter-spacing:-.045em;color:var(--n119-ink)}.n119-apps h2 span{display:block;font-weight:inherit}.n119-apps .n119-subtitle{font-size:19px;font-weight:700;margin-top:20px;line-height:1.7}.n119-apps .n119-lead{font-size:16px;line-height:2;margin-top:16px;color:#394965;max-width:420px}.n119-apps .n119-visual{position:relative;padding:18px 45px 65px 18px;min-width:0}.n119-apps .n119-visual:before{content:"";position:absolute;inset:5% -25% 0 0;background:linear-gradient(140deg,transparent 40%,#d2f3ef99 40%,#e1efff 70%);z-index:-1;transform:skewY(-5deg)}.n119-apps .n119-device{background:#13233c;padding:12px;border-radius:22px;box-shadow:0 20px 38px #17356624;border:2px solid #33455c;transform:rotate(-2deg)}.n119-apps .n119-device img{display:block;width:100%;height:auto;aspect-ratio:1.55;object-fit:cover;object-position:top;border-radius:10px}.n119-apps .n119-float{position:absolute;right:0;bottom:5px;width:58%;background:#fff;padding:12px;border-radius:14px;border:1px solid #d5e3f2;box-shadow:0 16px 32px #17356622;transform:rotate(3deg)}.n119-apps .n119-float p{font-size:12px;font-weight:700;margin-bottom:8px}.n119-apps .n119-float img{width:100%;height:auto;display:block;border-radius:6px}.n119-apps .n119-caption{font-size:11px;text-align:right;color:#52617b;margin-top:12px}.n119-apps .n119-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.n119-apps .n119-card{background:white;border:1px solid #dbe8f7;border-radius:14px;padding:28px 24px;box-shadow:0 5px 18px #1b4c9910}.n119-apps .n119-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#edf5ff;color:var(--n119-blue);font:700 22px/1 sans-serif;margin-bottom:20px}.n119-apps .n119-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.n119-apps .n119-card h3{font-size:20px;font-weight:700;line-height:1.65;color:var(--n119-ink)}.n119-apps .n119-card p{font-size:14px;line-height:1.9;margin-top:10px;color:#4e5e75}.n119-apps .n119-tag{display:inline-block;margin-top:14px;padding:4px 10px;font-size:11px;font-weight:700;color:#276458;background:#edf8f4;border-radius:5px}.n119-apps .n119-eiken{background:#fff;border:1px solid #d6e5f4;border-radius:12px;padding:20px 26px;margin-top:22px;display:flex;gap:24px;align-items:center}.n119-apps .n119-eiken strong{font-size:16px;flex-shrink:0}.n119-apps .n119-eiken p{font-size:14px;line-height:1.8;color:#4e5e75}.n119-apps .n119-note{font-size:12px;line-height:1.9;color:#52617b;margin:22px 0 32px}.n119-apps .n119-cta{background:#172d60;color:white;padding:32px 0}.n119-apps .n119-cta .n119-shell{display:flex;align-items:center;justify-content:space-between;gap:24px}.n119-apps .n119-cta-copy{font-size:17px;font-weight:700;line-height:1.8}.n119-apps .n119-actions{display:flex;gap:24px;align-items:center}.n119-apps .n119-button{display:flex;align-items:center;justify-content:center;gap:24px;min-height:54px;border-radius:8px;padding:14px 24px;background:#2563eb;color:white;font-size:15px;font-weight:700;text-decoration:none;transition:background .2s}.n119-apps .n119-button:hover{background:#1d4ed8}.n119-apps .n119-login{font-size:14px;color:#fff;text-decoration:underline;text-underline-offset:5px;min-height:48px;display:flex;align-items:center}.n119-apps a:focus-visible{outline:3px solid #46d4cc;outline-offset:5px}.n119-apps.n119-junior .n119-device img{aspect-ratio:2.05;object-fit:contain;background:#fff}.n119-apps.n119-junior .n119-float{width:46%}
@media(max-width:900px){.n119-apps .n119-hero{grid-template-columns:1fr;gap:32px}.n119-apps .n119-visual{max-width:660px;width:100%;margin:0 auto}.n119-apps .n119-lead{max-width:none}.n119-apps .n119-cta .n119-shell{flex-direction:column;align-items:flex-start}.n119-apps .n119-card{padding:24px 18px}.n119-apps .n119-card h3{font-size:18px}}
@media(max-width:600px){.n119-apps{padding-top:48px;scroll-margin-top:80px}.n119-apps .n119-shell{width:calc(100% - 40px)}.n119-apps .n119-kicker{font-size:13px;margin-bottom:18px}.n119-apps h2{font-size:clamp(27px,7.8vw,34px);line-height:1.5;letter-spacing:-.045em}.n119-apps .n119-subtitle{font-size:16px;margin-top:16px}.n119-apps .n119-lead{font-size:14px;line-height:1.95;margin-top:12px}.n119-apps .n119-hero{gap:24px;margin-bottom:32px}.n119-apps .n119-visual{padding:10px 20px 45px 0}.n119-apps .n119-device{padding:7px;border-radius:14px}.n119-apps .n119-device img{border-radius:7px}.n119-apps .n119-float{padding:8px;right:0;bottom:0;border-radius:9px}.n119-apps .n119-float p{font-size:10px;margin-bottom:5px}.n119-apps .n119-cards{grid-template-columns:1fr;gap:12px}.n119-apps .n119-card{display:grid;grid-template-columns:42px 1fr;column-gap:16px;padding:20px}.n119-apps .n119-icon{grid-row:1 / 4;width:42px;height:42px;margin:0;border-radius:12px}.n119-apps .n119-card h3{font-size:17px}.n119-apps .n119-card p{font-size:13px;margin-top:5px}.n119-apps .n119-tag{justify-self:start;margin-top:9px}.n119-apps .n119-eiken{display:block;padding:20px}.n119-apps .n119-eiken p{margin-top:8px;font-size:13px}.n119-apps .n119-note{font-size:11px;margin:18px 0 24px}.n119-apps .n119-cta{padding:28px 0}.n119-apps .n119-cta-copy{font-size:15px}.n119-apps .n119-actions{width:100%;flex-direction:column;gap:12px}.n119-apps .n119-button{width:100%;font-size:14px;padding:14px 12px;gap:12px}.n119-apps .n119-cta .n119-shell{gap:20px}}

/* CTA refinement: calm editorial divider, one public inquiry action. */
.n119-apps .n119-cta{background:#fff;color:var(--n119-ink);padding:0 0 48px}.n119-apps .n119-cta .n119-shell{border-top:1px solid #cfdeeb;padding-top:36px;gap:28px}.n119-apps .n119-cta-copy{width:auto;max-width:none;flex:1;font-size:24px;line-height:1.65;letter-spacing:.025em;font-weight:600}.n119-apps .n119-cta-copy span{display:block;font-weight:inherit;font-size:inherit}.n119-apps .n119-actions{flex-shrink:0}.n119-apps .n119-button{background:#fff;color:#183654;border:1px solid #294865;border-radius:999px;min-height:58px;padding:10px 14px 10px 24px;gap:24px}.n119-apps .n119-button span{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#183654;color:white;font-size:19px;font-weight:400}.n119-apps .n119-button:hover{background:#edf4fa;color:#183654}
@media(max-width:900px){.n119-apps .n119-cta .n119-shell{align-items:stretch}.n119-apps .n119-actions{align-self:flex-start}}
@media(max-width:600px){.n119-apps .n119-cta{padding:0 0 36px}.n119-apps .n119-cta .n119-shell{padding-top:28px;gap:24px}.n119-apps .n119-cta-copy{width:100%;font-size:22px;line-height:1.6}.n119-apps .n119-actions{width:100%}.n119-apps .n119-button{justify-content:space-between;font-size:13px;gap:12px;min-height:54px;padding:10px 12px 10px 20px}.n119-apps .n119-button span{width:28px;height:28px;flex-basis:28px}}

/* Photo-led learning invitation. */
.n119-apps .n119-cta-image{background:#f2f7fa;padding:20px 0 64px}.n119-apps .n119-cta-image .n119-shell{display:block;border:0;padding-top:0}.n119-apps .n119-invite{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 16px 48px #1736540d;border:1px solid #e3ebee}.n119-apps .n119-invite-photo{position:relative;min-width:0;margin:0}.n119-apps .n119-invite-photo img{display:block;width:100%;height:100%;min-height:370px;object-fit:cover;object-position:68% center}.n119-apps .n119-invite-photo figcaption{position:absolute;bottom:12px;right:14px;font-size:10px;letter-spacing:.06em;color:#4d5c65;background:#ffffffce;padding:3px 8px;border-radius:3px}.n119-apps .n119-invite-body{padding:44px 44px 42px;align-self:center}.n119-apps .n119-invite-label{display:flex;align-items:center;gap:10px;color:#427a79;font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:18px}.n119-apps .n119-invite-label:before{content:"";width:24px;height:2px;background:#6a9890}.n119-apps .n119-cta-image .n119-cta-copy{font-size:30px;line-height:1.55;letter-spacing:.025em;font-weight:700;width:100%;max-width:none}.n119-apps .n119-invite-text{font-size:13px;line-height:1.9;color:#5a6a79;margin:18px 0 24px}.n119-apps .n119-cta-image .n119-actions{display:block;width:100%}.n119-apps .n119-cta-image .n119-button{background:#173b56;color:#fff;border:0;justify-content:space-between;border-radius:10px;width:100%;font-size:14px;padding:12px 16px 12px 22px}.n119-apps .n119-cta-image .n119-button span{background:#ffffff1f;color:white}.n119-apps .n119-cta-image .n119-button:hover{background:#255571}
@media(max-width:900px){.n119-apps .n119-invite-body{padding:30px 26px}.n119-apps .n119-cta-image .n119-cta-copy{font-size:25px}}
@media(max-width:600px){.n119-apps .n119-cta-image{padding:8px 0 36px}.n119-apps .n119-invite{grid-template-columns:1fr;border-radius:18px}.n119-apps .n119-invite-photo{height:186px}.n119-apps .n119-invite-photo img{min-height:0;height:100%;object-position:65% 48%}.n119-apps .n119-invite-body{padding:26px 24px 28px}.n119-apps .n119-invite-label{font-size:11px;margin-bottom:14px}.n119-apps .n119-cta-image .n119-cta-copy{font-size:25px;line-height:1.55}.n119-apps .n119-invite-text{font-size:12px;margin:14px 0 20px}.n119-apps .n119-cta-image .n119-button{font-size:12px;padding:12px 12px 12px 14px;gap:8px}}
@media(max-width:359px){.n119-apps .n119-invite-body{padding:24px 18px}.n119-apps .n119-cta-image .n119-cta-copy{font-size:22px}.n119-apps .n119-cta-image .n119-button{font-size:11px}}

/* Compact image-backed official LINE inquiry band. */
.n119-apps .n119-contact-band{position:relative;background:#10374b;color:#fff;padding:40px 0;isolation:isolate}.n119-apps .n119-contact-band:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102c46 5%,#10384eee 48%,#143c4bbd 100%),url('apps119-study-scene.webp') right 43%/65% auto no-repeat}.n119-apps .n119-contact-band .n119-shell{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:44px}.n119-apps .n119-contact-title{font-size:27px;font-weight:700;line-height:1.6;letter-spacing:.02em;width:auto;max-width:none}.n119-apps .n119-contact-title span{display:block;font-size:inherit;font-weight:inherit}.n119-apps .n119-contact-detail{font-size:13px;line-height:1.8;color:#d6e5eb;margin-top:12px}.n119-apps .n119-line-label{font-size:14px;font-weight:600;letter-spacing:.03em;margin-bottom:12px;color:#fff}.n119-apps .n119-line-label:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#76d9b1;margin-right:9px;vertical-align:middle}.n119-apps .n119-line-buttons{display:flex;gap:12px}.n119-apps .n119-line-button{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1;min-height:54px;padding:14px 18px;background:white;color:#153c4c;text-decoration:none;border-radius:5px;font-size:14px;font-weight:700;transition:background .2s}.n119-apps .n119-line-button:hover{background:#e7f8f0}.n119-apps .n119-line-button span{font-size:19px;font-weight:400;color:#397061}
@media(max-width:900px){.n119-apps .n119-contact-band .n119-shell{grid-template-columns:1fr;gap:22px}.n119-apps .n119-line-action{max-width:520px;width:100%}}
@media(max-width:600px){.n119-apps .n119-contact-band{padding:30px 0 32px}.n119-apps .n119-contact-band:before{background:linear-gradient(90deg,#102c46fa,#10384ec9),url('apps119-study-scene.webp') 70% center/cover no-repeat}.n119-apps .n119-contact-title{font-size:21px;line-height:1.65;letter-spacing:0}.n119-apps .n119-contact-detail{font-size:12px;margin-top:10px}.n119-apps .n119-line-label{font-size:13px;margin-bottom:10px}.n119-apps .n119-line-button{font-size:13px;padding:12px 14px;gap:8px}.n119-apps .n119-line-buttons{gap:10px}}
@media(max-width:359px){.n119-apps .n119-contact-title{font-size:18px}.n119-apps .n119-line-button{font-size:12px;padding:12px 10px}}
