:root{font-family:Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#111;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}img{max-width:100%;height:auto}a{color:inherit}section[id]{scroll-margin-top:24px}.wrap{width:min(100% - 40px,1100px);margin-inline:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;z-index:5;padding:8px}header{display:flex;justify-content:space-between;gap:24px;align-items:start;padding-top:16px}.brand{text-decoration:none;flex:none}.brand img{width:210px;display:block}nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:25px}nav a{text-decoration:none;color:#fff;font-size:.88rem;font-weight:900;white-space:nowrap;text-shadow:1px 1px #222,-1px -1px #222,1px -1px #222,-1px 1px #222;background:linear-gradient(#fff18d,#ff9e15 50%,#e5420c);border:1px solid #dc7707;border-radius:7px;padding:5px 9px;box-shadow:0 2px 3px #0005}a:focus-visible{outline:3px solid #fb5824;outline-offset:4px}.hero{min-height:540px;position:relative;padding-top:65px;isolation:isolate}.hero h1{position:relative;z-index:1;font-size:clamp(3.3rem,6.1vw,4.7rem);line-height:1.15;letter-spacing:-.06em;margin:0;font-weight:900}.hero h1 em{font-style:normal;color:#f21705}.hero h1:after{content:"";display:block;background:#f21705;width:350px;max-width:75%;height:3px;margin-top:20px}.hero img{position:absolute;width:75%;right:-20px;top:-65px;z-index:-1}.pink{background:#fff1f4 url('assets/pink-brush.png') top center/100% auto no-repeat;padding:100px 0 65px}.intro,.team,.recruit{display:grid;gap:40px;align-items:start}.intro{grid-template-columns:minmax(260px,.85fr) minmax(0,1.35fr);background:#fffafcde;border-radius:22px;padding:22px}h2{font-size:clamp(1.45rem,2.3vw,1.85rem);line-height:1.2;margin:0 0 18px}.person{display:flex;align-items:end;gap:12px}.person img{width:110px;flex:none}.person strong{font-size:1.45rem}.person small{display:block;font-size:1rem}#profile p{font-size:1.15rem;font-weight:800;line-height:1.9}.works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px}.works img,.staff img{width:100%;box-shadow:1px 2px 3px #0006}.works img{aspect-ratio:156/110;object-fit:cover}.more{text-align:right;font-weight:800;margin-bottom:0}.rainbow{margin-top:55px;padding:110px 0 120px;background:url('assets/rainbow-top.png') top center/100% 100px no-repeat,url('assets/rainbow-brush.png') bottom center/100% 100px no-repeat,linear-gradient(105deg,#fff2b0,#c8eadc 27%,#dcf7ca 42%,#b7ecf5 59%,#f3d9ef 78%,#ffd1c0)}.team{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:45px;align-items:center}.staff{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:480px}.staff img{max-width:140px}.staff img:nth-child(4){grid-column:1;margin-left:50%}.staff img:nth-child(5){grid-column:2;margin-left:50%}.company{background:#ffffffdf;padding:25px;border-radius:18px}.company dl,.recruit dl{display:grid;grid-template-columns:6.2em minmax(0,1fr);gap:12px 12px;margin:0;line-height:1.5;font-size:1rem}dt{font-weight:800}dd{margin:0;overflow-wrap:anywhere}.recruit{grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr);gap:45px;padding-block:115px 85px;align-items:center}#recruit{grid-column:2;grid-row:1}.message{grid-column:1;grid-row:1}.message h2{transform:rotate(-3deg);transform-origin:left center}.message p{font-weight:800;font-size:1.15rem;line-height:1.85;margin:0 0 14px;text-decoration:underline;text-decoration-color:#ffbd9e;text-decoration-thickness:3px;text-underline-offset:5px}.pending{display:inline-block;background:#57abd1;color:#fff;border-radius:15px;padding:4px 10px;font-size:.88rem;font-weight:800;margin-top:8px}.salary-note{display:block;font-size:.85rem;font-weight:700}.privacy{margin-top:25px}.privacy h3{font-size:.95rem;text-decoration:underline;margin:0 0 6px}.privacy p{font-size:.8rem;line-height:1.55;margin:0}footer{text-align:center;color:#555;font-size:.8rem;padding:20px}
@media(max-width:950px){header{display:block}nav{justify-content:center;padding-top:15px}.brand img{width:180px}.hero{min-height:500px}.hero img{top:0;width:76%}.intro{gap:25px;padding:18px}.team{gap:25px}.company{padding:20px}.company dl,.recruit dl{grid-template-columns:5.4em minmax(0,1fr)}.recruit{gap:30px}}
@media(max-width:700px){.wrap{width:min(100% - 36px,540px)}header{padding-top:15px}nav{gap:8px}nav a{font-size:.88rem;padding:6px 9px}.hero{min-height:560px;padding-top:25px}.hero h1{font-size:clamp(2.8rem,10vw,3.5rem)}.hero h1:after{width:280px}.hero img{width:100%;right:0;top:220px}.pink{padding:70px 0 40px}.intro,.team,.recruit{grid-template-columns:1fr;gap:38px}.intro{padding:22px}#profile p{font-size:1.05rem}.works{gap:14px 10px}.rainbow{margin-top:30px}.staff{gap:12px;max-width:480px}.staff img:nth-child(4),.staff img:nth-child(5){margin-left:40%}.company{padding:22px}.recruit{padding-block:65px 55px}.message,#recruit{grid-column:auto;grid-row:auto}.message{order:-1}.message h2{font-size:1.5rem}.message p{font-size:1.06rem}.company dl,.recruit dl{grid-template-columns:6em minmax(0,1fr)}.privacy p br{display:none}}
@media(max-width:380px){.wrap{width:min(100% - 28px,540px)}.hero{min-height:490px}.hero h1{font-size:2.65rem}.hero img{top:210px}.works{grid-template-columns:repeat(2,minmax(0,1fr))}.intro,.company{padding:16px}.company dl,.recruit dl{grid-template-columns:5.5em minmax(0,1fr);font-size:.93rem}.person img{width:95px}.person strong{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Original supplied brush artwork, without duplicated foreground content. */
.pink{background:#fff url("assets/pink-background.png") center/100% 100% no-repeat;padding-top:165px;padding-bottom:75px}.intro{background:transparent}.rainbow{background:#fff url("assets/rainbow-background.png") center/100% 100% no-repeat;padding:120px 0 100px}.message-art{display:block;width:100%;height:auto}.message-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.message{position:relative}.recruit{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:35px}.company h2,#profile h2,#works h2,#staff h2,#recruit h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media(max-width:700px){.pink{padding-top:95px;padding-bottom:60px;background-size:100% 100%}.rainbow{background-size:auto 100%;padding:100px 0 95px}.recruit{grid-template-columns:1fr}.message-art{max-width:540px;margin:auto}}

.company{background:#fff7fa}.recruit{align-items:start}.message{margin-top:55px}
@media(max-width:700px){.message{margin-top:0}.pink{background-size:100% auto;background-position:top;background-color:#fff6f8}}

/* Keep the photo below navigation and wrap complete phrases. */
@media(min-width:951px){.hero{min-height:620px}.hero img{top:8px}}
@media(min-width:701px) and (max-width:950px){.hero img{top:8px}}
.application-sentence{display:block;margin-bottom:6px}.keep{display:inline-block}
/* Hide only the two requested punctuation marks in the supplied artwork. */
.message:before,.message:after{content:"";position:absolute;background:white;pointer-events:none;z-index:1}
.message:before{left:54.82%;top:28%;width:1.93%;height:3.2%}
.message:after{left:97.43%;top:35%;width:2.57%;height:10%}

/* Supplied design: orange at the top, red at the bottom of the headline. */
.hero h1 em{color:#ff1800;background:linear-gradient(to bottom,#ff9400 0%,#ff7900 38%,#ff1700 72%,#ff0000 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* Readable tablet columns and comfortably sized touch controls. */
nav a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.pending{min-height:44px;display:inline-flex;align-items:center;padding:8px 16px}
.intro>section,.team>section,.recruit>section{min-width:0}
@media(min-width:701px) and (max-width:850px){.team{grid-template-columns:1fr;gap:38px}.staff{margin-inline:auto}.company{max-width:650px;width:100%;margin-inline:auto}.recruit{grid-template-columns:1fr;gap:38px;padding-block:70px}.message,#recruit{grid-column:auto;grid-row:auto}.message{order:-1;margin-top:0}.message-art{max-width:620px;margin-inline:auto}}
@media(max-width:850px){.message{width:min(100%,620px);margin-inline:auto}}
@media(min-width:701px) and (max-width:1050px){.intro{grid-template-columns:1fr;gap:36px}.works{max-width:720px}}
#profile p{text-wrap:pretty}
