:root{--blue:#075aab;--navy:#153c67;--ink:#193750;--muted:#526980;--line:#d8e5f0;--canvas:#f5f9fd;--orange:#e65527;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none}button,input{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--navy);line-height:1.4}h2{font-size:clamp(1.4rem,2.3vw,1.85rem)}h3{font-size:1rem}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:12px;padding:12px 20px;background:#fff;color:var(--blue);z-index:30;transform:translateY(-180%)}.skip-link:focus{transform:none}.portal-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{width:min(1344px,calc(100% - 64px));min-height:90px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.portal-brand{display:flex;gap:20px;align-items:center;font-weight:700;font-size:.875rem}.portal-brand img{object-fit:contain;width:108px;height:72px}.portal-brand span{padding-left:20px;border-left:1px solid var(--line)}.header-links{display:flex;gap:24px;align-items:center;font-size:.875rem;font-weight:700}.header-links>a:hover,.text-link:hover,.small-links a:hover,.career-more a:hover{text-decoration:underline;text-underline-offset:5px}.contact-link{background:var(--blue);color:#fff;border-radius:999px;padding:11px 20px}
.section-nav{position:sticky;top:0;z-index:10;background:#fff;box-shadow:0 4px 12px #143d6809;border-bottom:1px solid var(--line)}.section-nav>div{display:flex;justify-content:center;gap:42px;max-width:1240px;margin:auto}.section-nav a{display:flex;align-items:center;justify-content:center;min-height:54px;font-weight:700;font-size:.875rem;border-bottom:3px solid transparent}.section-nav a:hover{color:var(--blue);border-color:var(--blue)}
.welcome{padding-block:42px 32px;display:flex;align-items:center;justify-content:space-between;gap:40px}.eyebrow{color:var(--blue);font-size:.75rem;font-weight:800;letter-spacing:.13em;margin-bottom:10px}.welcome h1{font-size:clamp(2rem,3.6vw,3rem);letter-spacing:.025em}.welcome h1 span{color:var(--blue)}.welcome-copy>p:last-child{color:var(--muted);margin-top:14px}.welcome-friends{position:relative;display:flex;padding-bottom:32px;flex-shrink:0}.welcome-friends .portrait{width:93px;height:93px;border:5px solid white;box-shadow:0 4px 20px #17699a13;margin-left:-7px}.welcome-friends .portrait:nth-child(even){margin-top:17px}.welcome-friends>span:last-child{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.875rem;font-weight:700;color:var(--blue)}
.portrait{position:relative;display:block;overflow:hidden;flex-shrink:0;width:92px;height:92px;border-radius:50%;background:#edf6ff}.portrait img{position:absolute;max-width:none;width:180%;height:180%;object-fit:contain;left:-50%;top:-24%}.portrait-aimy{background:#fff1e9}.portrait-aimy img{width:180%;height:180%;left:-44%;top:-15%}.portrait-philia{background:#fff6e9}.portrait-philia img{width:205%;height:205%;left:-31%;top:-27%}.portrait-nyan{background:#eff7ff}.portrait-nyan img{width:225%;height:225%;left:-117%;top:-56%}
.start-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.start-tile{display:flex;align-items:center;gap:12px;padding:20px 14px;border:1px solid var(--line);border-radius:16px;position:relative;background:#eff7ff;transition:transform .18s,box-shadow .18s}.start-tile:hover{transform:translateY(-3px);box-shadow:0 9px 22px #173c6912}.start-tile .portrait,.start-tile .tile-image{width:58px;height:58px}.start-tile strong{display:block;font-size:.95rem;color:var(--navy)}.start-tile small{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}.tile-arrow{font-size:1.2rem;margin-left:auto;align-self:flex-start;color:var(--blue)}.start-orange{background:#fff4eb;border-color:#f4dfca}.start-green{background:#eff9f3;border-color:#d3eadf}.start-violet{background:#f5f3fc;border-color:#e0dcf0}
.portal-section{padding-block:46px 50px}.section-heading{display:flex;gap:24px;justify-content:space-between;align-items:center;margin-bottom:24px}.section-heading p:not(.eyebrow){margin-top:10px;color:var(--muted)}.text-link{font-size:.875rem;color:var(--blue);font-weight:700;white-space:nowrap}.character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.character-card{display:flex;align-items:center;gap:14px;padding:24px 12px;border-top:2px solid var(--line);transition:border-color .2s}.character-card:hover{border-color:var(--blue)}.character-card .portrait{width:78px;height:78px}.character-copy{min-width:0}.character-role{font-size:.75rem;color:var(--blue);font-weight:700}.character-card h3{font-size:1.2rem;margin-top:2px}.character-card h3 small{font-size:.75rem;font-weight:500}.character-card p{font-size:.8125rem;color:var(--muted);margin-top:8px;line-height:1.8}.card-destination{display:block;color:var(--blue);font-size:.8125rem;font-weight:700;margin-top:12px}
.career-section{background:var(--canvas);border-block:1px solid var(--line);padding-block:48px}.section-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:12px 20px;background:var(--blue);border:1px solid var(--blue);color:white;font-size:.875rem;font-weight:700;border-radius:999px;white-space:nowrap}.section-button:hover,.contact-link:hover{background:#064783}.career-search{display:flex;align-items:center;gap:24px;padding:18px 22px;margin-bottom:24px;border:1px solid var(--line);border-radius:14px;background:#fff}.career-search label{font-size:.875rem;font-weight:700;flex-shrink:0}.career-search>div{display:flex;gap:10px;flex:1;max-width:680px;margin-left:auto}.career-search input{min-width:0;flex:1;border:1px solid #bacdde;background:#f9fbfe;padding:11px 14px;border-radius:8px;color:var(--ink)}.career-search button{border:0;border-radius:8px;background:var(--navy);color:#fff;padding:11px 24px;font-weight:700;cursor:pointer}.career-search button:hover{background:var(--blue)}.category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.category-tile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;transition:transform .18s,box-shadow .18s}.category-tile:hover{transform:translateY(-4px);box-shadow:0 10px 22px #14466f12;border-color:#90b8d8}.tile-image{display:block;flex-shrink:0;width:80px;height:80px;border-radius:16px;overflow:hidden;background:#fff}.tile-image img{width:100%;height:100%;object-fit:contain}.category-tile .tile-image{width:100%;height:auto;aspect-ratio:1.2;border-radius:12px;background:#f3f8fd}.category-meta{display:block;padding:10px 3px 4px}.category-number{display:flex;justify-content:space-between;color:var(--blue);font-size:.8125rem;font-weight:800;margin-bottom:6px}.category-number>span{color:var(--muted);font-size:.75rem;font-weight:500}.category-tile h3{font-size:.9375rem;line-height:1.55;overflow-wrap:anywhere}
.career-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.career-shortcuts>a{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.career-shortcuts>a:hover{border-color:var(--blue)}.career-shortcuts .tile-image{width:66px;height:66px}.career-shortcuts>a>span:last-child{margin-left:auto;color:var(--blue)}.career-shortcuts p{font-size:.8125rem;color:var(--muted);margin-top:5px}.mini-label{font-size:.75rem;color:var(--blue);font-weight:700}.career-more{text-align:right;font-size:.875rem;color:var(--blue);margin-top:18px}.series-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.series-tile{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 14px;border:1px solid var(--line);border-radius:18px;transition:border-color .18s,background .18s}.series-tile:hover{border-color:var(--blue);background:#f7fbff}.series-tile .tile-image{width:100px;height:100px;border-radius:20px;margin-bottom:12px}.series-tile p{font-size:.8125rem;line-height:1.7;color:var(--muted);margin-top:6px}.pet-series-image{position:relative}.pet-series-image img{position:absolute;max-width:none;width:115%;height:115%;left:-7%;top:-4%}.small-links{display:flex;justify-content:flex-end;gap:32px;margin-top:24px;font-size:.875rem;color:var(--blue)}
.services-section{padding-block:46px 48px;background:#f2f7fc;border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.service-card:hover{border-color:var(--blue)}.service-card p{font-size:.875rem;color:var(--muted);margin-top:10px}.service-card .tile-image{width:70px;height:70px}.help-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;margin-top:28px;background:white;border-radius:18px;border:1px solid var(--line)}.help-bar p{font-size:.875rem;color:var(--muted);margin-top:5px}
.portal-footer{padding:36px 0;background:#103657;color:#fff}.portal-footer>.wrap{display:flex;gap:40px;align-items:center}.portal-footer strong{font-size:1.5rem}.portal-footer p{font-size:.8125rem;color:#d4e3ef;margin-top:6px}.portal-footer nav{display:flex;flex-wrap:wrap;gap:14px 26px;font-size:.8125rem;margin-left:auto}.portal-footer nav a:hover{text-decoration:underline}.portal-footer small{font-size:.75rem;white-space:nowrap;color:#d4e3ef}
@media(min-width:1101px) and (max-width:1300px){.character-card{flex-direction:column;text-align:center}.start-tile{gap:8px}.start-tile .portrait,.start-tile .tile-image{width:45px;height:45px}.tile-arrow{display:none}}
@media(max-width:1100px){.welcome-friends .portrait{width:70px;height:70px}.start-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.start-tile{padding:16px 20px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-card{padding:18px;gap:24px}.character-card .portrait{width:88px;height:88px}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.series-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.career-shortcuts{grid-template-columns:1fr}.career-shortcuts>a{padding:14px 18px}.career-shortcuts .tile-image{width:58px;height:58px}.service-grid{grid-template-columns:1fr}.service-card{padding:22px}.service-card .tile-image{width:76px;height:76px}.portal-footer>.wrap{flex-wrap:wrap}.portal-footer nav{margin-left:0}}
@media(max-width:700px){html{scroll-padding-top:110px}.wrap{width:calc(100% - 32px)}.header-inner{width:calc(100% - 32px);min-height:74px;gap:10px}.portal-brand{gap:8px}.portal-brand img{width:80px;height:58px}.portal-brand span{font-size:.75rem;padding-left:10px;max-width:105px;line-height:1.5}.header-links{gap:0}.header-links>a:first-child{display:none}.contact-link{font-size:.75rem;padding:9px 12px}.section-nav>div{display:grid;grid-template-columns:1fr 1fr;gap:0}.section-nav a{min-height:43px;font-size:.8125rem;border-bottom-width:2px;padding:7px 3px}.welcome{padding-block:28px 24px;gap:18px;align-items:flex-start;flex-direction:column}.welcome h1{font-size:2.1rem}.welcome-copy>p:last-child{font-size:.875rem;margin-top:10px}.welcome-friends{align-self:center;padding-bottom:28px}.welcome-friends .portrait{width:66px;height:66px}.welcome-friends>span:last-child{font-size:.75rem}.eyebrow{font-size:.75rem;margin-bottom:7px}.start-grid{gap:10px;margin-bottom:2px}.start-tile{padding:12px 10px;gap:9px;border-radius:14px;align-items:flex-start}.start-tile .portrait,.start-tile .tile-image{width:42px;height:42px}.start-tile strong{font-size:.8125rem;line-height:1.55}.start-tile small{font-size:.75rem;line-height:1.5}.tile-arrow{display:none}.portal-section{padding-block:34px}.section-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:22px}.section-heading h2{font-size:1.45rem}.section-heading p:not(.eyebrow){font-size:.875rem;margin-top:8px}.character-grid{gap:10px}.character-card{padding:16px 6px;gap:14px;flex-direction:column;text-align:center}.character-card .portrait{width:90px;height:90px}.character-card h3{font-size:1.125rem}.character-card h3 small{display:block}.character-card p{font-size:.75rem;line-height:1.75}.card-destination{font-size:.75rem}.career-section{padding-block:34px}.section-button{font-size:.8125rem;padding:11px 17px}.career-search{padding:15px;display:block;margin-bottom:18px}.career-search label{display:block;margin-bottom:10px}.career-search>div{gap:8px}.career-search input{width:100%;padding:10px}.career-search button{font-size:.8125rem;white-space:nowrap;padding:10px 13px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-tile{padding:10px;border-radius:16px}.category-tile .tile-image{aspect-ratio:1.4}.category-tile h3{font-size:.9375rem}.category-meta{padding-inline:2px}.career-shortcuts{gap:10px;margin-top:18px}.career-shortcuts>a{padding:14px 12px;gap:12px}.career-shortcuts .tile-image{width:52px;height:52px}.career-shortcuts h3{font-size:.9375rem}.career-shortcuts p{font-size:.75rem}.career-more{font-size:.8125rem;text-align:left}.series-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.series-tile{padding:18px 10px}.series-tile .tile-image{width:90px;height:90px}.series-tile h3{font-size:.9375rem}.series-tile p{font-size:.75rem}.small-links{align-items:flex-start;flex-direction:column;gap:15px;font-size:.8125rem}.services-section{padding-block:34px}.service-card{padding:18px;gap:14px}.service-card .tile-image{width:60px;height:60px}.service-card h3{font-size:.9375rem}.service-card p{font-size:.8125rem}.help-bar{padding:22px 18px;flex-direction:column;align-items:flex-start;gap:18px}.portal-footer{padding-block:30px}.portal-footer>.wrap{display:block}.portal-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:.8125rem;margin-block:24px}.portal-footer p{font-size:.75rem}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.character-copy h3 small{display:block;font-size:16px;line-height:1.6;margin-top:3px}.character-role{font-size:15px}.character-copy h3{font-size:22px}.character-copy p,.character-copy .card-destination{font-size:16px}
