/* ORIPULA visual system — lime to aqua, editorial photography, gentle motion */
:root{--ink:#223b39;--muted:#536c68;--lime:#d8fa7b;--fresh:#b8f7a1;--mint:#9debd0;--aqua:#80dddb;--pale:#f2fff2;--line:#cfe4da;--gradient:linear-gradient(118deg,#dcfa7a 0%,#bdf5a0 42%,#9fe9cf 77%,#9bdfed 100%);--soft-gradient:linear-gradient(135deg,#f7ffea 0%,#e9fae7 42%,#e4f9f6 100%);color:var(--ink);background:#fff}
html{scroll-behavior:smooth}body{color:var(--ink);background:#fff}body main{overflow:clip}h1,h2,h3,h4{overflow-wrap:anywhere}p{overflow-wrap:break-word}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #37a7a4;outline-offset:3px}.site-header{height:82px;padding:0 clamp(22px,3.4vw,58px);background:#fff;border-bottom:1px solid #e4eee8;box-shadow:0 8px 35px #5c9b8c0a;position:relative}.brand{width:126px;height:64px;margin-right:auto}.brand img{width:157px;top:-49px;left:-15px}.desktop-nav{gap:clamp(10px,1.2vw,22px)}.desktop-nav a{color:#45615d;font-size:.72rem;letter-spacing:.025em}.desktop-nav a:hover,.desktop-nav a.active{color:#168f7f}.header-cta{background:var(--gradient);color:#173c37;border-radius:100px;padding:14px 18px;font-weight:900;box-shadow:0 6px 20px #66bc992b}.header-cta:hover,.button:hover{transform:translateY(-2px);opacity:1;box-shadow:0 12px 25px #55ae983b}.button{border-radius:100px;transition:transform .25s,box-shadow .25s,background .25s;line-height:1.5}.button-dark{background:var(--gradient);color:#183d37}.button-light{background:#fff;color:#24443e}.text-link{color:#246e67;border-bottom:2px solid #7ed9c3}.text-link:hover{color:#168f7f}.eyebrow,.small-number{color:#268e7d}.site-header .mobile-nav a.active{color:#168f7f}
/* Photo-led opening: the image owns half the first screen. */
.home-hero{background:var(--gradient);color:var(--ink);grid-template-columns:52% 48%;min-height:min(760px,85vh)}.hero-copy{padding:clamp(72px,7vw,125px) 4vw 115px max(6vw,calc((100vw - 1380px)/2));align-self:center}.hero-copy h1{font-size:clamp(3rem,5.3vw,6.4rem);line-height:1.27;margin:25px 0;color:#183c37}.hero-copy h1 em{color:#2a7268}.hero-copy p{color:#315f58}.home-hero .eyebrow{color:#30776e}.hero-image{min-height:650px}.hero-image img{object-position:center}.hero-index{color:#2d7068}.hero-copy .button-light{background:#fff;color:#21514a}.section{max-width:1360px;padding:clamp(82px,8vw,140px) 6vw}.section h2,.split-copy h2{color:#203d38}.section .eyebrow{margin-bottom:24px}.lead{color:#33574f}
/* Wide imagery and gentle geometric typography; no new claims or copy. */
.split-feature{min-height:650px;background:#ebfbef;grid-template-columns:53% 47%}.split-feature.reverse{background:#edfaf7;grid-template-columns:48% 52%}.split-feature.reverse .split-photo{order:2}.split-photo img{height:100%;max-height:none;min-height:600px;object-fit:cover}.split-copy{padding:8vw 7vw;max-width:760px}.image-banner{height:620px}.image-banner:before{background:linear-gradient(90deg,#1d5042d9 0%,#1c473b77 55%,transparent 100%)}.image-banner h2{color:white}.image-banner .eyebrow{color:#d8fa7b}.wide-photo img{height:570px;object-position:center 45%}.feature-photo img{max-height:720px}.cards{gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:25px;padding:34px 29px 36px;box-shadow:0 12px 40px #569a8210}.card:nth-child(2n){background:#f5fdf7}.card:nth-child(3n){background:#ecf9f6}.card h3{color:#244f44}.card:hover{box-shadow:0 20px 45px #4b9b7d23;transform:translateY(-5px)}.small-number{font-size:.9rem}.chips span{background:#e4f8ed;color:#245b4f;border:1px solid #ceebd8}.closing{background:var(--soft-gradient);max-width:none}.closing h2{color:#255e50}
/* Cohesive, varied openings for the shorter routes. */
.page-heading{position:relative;isolation:isolate;padding:clamp(83px,8vw,130px) 7vw;min-height:420px;overflow:hidden}.page-heading:after{content:"";position:absolute;right:-8vw;top:-13vw;width:min(46vw,640px);aspect-ratio:1;border:1px solid #44aa9b35;border-radius:50%;box-shadow:0 0 0 65px #ffffff16,0 0 0 140px #ffffff12;pointer-events:none;z-index:-1}.page-heading.blue,.page-heading.peach,.page-heading.lime,.page-heading.white{background:var(--soft-gradient);color:var(--ink)}.page-heading h1{color:#1b5045}.page-heading p{color:#436b61}.page-heading .eyebrow{color:#237d72}.page-heading.peach{background:linear-gradient(115deg,#e5f9ed,#d6f3e6,#ccf0ee)}.page-heading.lime{background:var(--gradient)}.page-heading.white{background:linear-gradient(120deg,#f8ffef,#edfaed)}body[data-page="about"] .page-heading{padding-left:11vw}body[data-page="business"] .page-heading{padding-left:15vw;background:linear-gradient(115deg,#e8f8e7,#bcf2d4)}body[data-page="business"] .page-heading h1{max-width:900px}body[data-page="message"] .page-heading{text-align:center;background:var(--gradient);min-height:510px;display:flex;flex-direction:column;align-items:center;justify-content:center}body[data-page="message"] .page-heading h1{font-size:clamp(3.2rem,5.7vw,6rem)}body[data-page="company"] .page-heading{min-height:300px}body[data-page="contact"] .page-heading{background:var(--gradient)}body[data-page^="entry-"] .page-heading{min-height:320px}
/* Distinct section rhythm for long-form pages. */
.intern-hero{background:var(--soft-gradient);color:var(--ink);grid-template-columns:52% 48%;min-height:610px}.intern-hero-copy{padding:clamp(65px,7vw,110px) 6vw clamp(70px,7vw,110px) 7vw;align-self:center}.intern-hero h1{color:#1d554b}.intern-hero .eyebrow{color:#2b8677}.intern-hero-lead{color:#325d54}.intern-hero-lead strong{color:#1a5346}.intern-hero .button-light{background:#fff;color:#28594c}.intern-hero-photo img{width:100%;height:100%;min-height:610px;object-fit:cover}.intern-toc{max-width:none;padding:37px max(6vw,calc((100vw - 1300px)/2));background:#fff;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 27px}.intern-toc a{padding:15px 5px;border-bottom:1px solid var(--line);color:#2a5a50}.intern-toc b{color:#24a68d}.intern-toc a:hover{color:#168f7f}.intern-chapter{border-top:1px solid var(--line)}.intern-chapter.intern-tint{background:#f2fbf4}.intern-chapter-inner{max-width:1400px;padding:clamp(85px,8vw,130px) 7vw;grid-template-columns:33% 1fr;gap:9%}.intern-chapter-header{position:sticky;top:30px;align-self:start}.intern-chapter-header h2{color:#285248}.intern-chapter-content{max-width:850px}.intern-prose{color:#35514a;line-height:2.08}.intern-prose strong{color:#1c806d}.intern-subsection{border-color:#c4e1d5}.intern-subsection h3{color:#2b6153}.intern-finish{background:var(--gradient);color:#1d5145;padding:95px 7vw}.intern-finish .eyebrow{color:#31776d}.intern-finish h2{color:#1d5145}.intern-finish .button-light{background:#fff}.hero-subtitle{color:#275c50}.pair-intro{max-width:1150px;padding:90px 7vw;color:#35554d}.pair-intro strong{color:#168f7f}.faq-item,.interview-item{border-color:#cfe8dc;box-shadow:0 14px 32px #6ea99512;background:#fff}.editorial-note,.editorial-inline{background:#e9f8ee;border-color:#74cfae;color:#2e5b4f}
/* Alternate large-image composition across editorial routes. */
.parents-hero{grid-template-columns:51% 49%;background:#e9f9eb}.parents-hero .intern-hero-photo{grid-column:1;grid-row:1}.parents-hero .intern-hero-copy{grid-column:2;grid-row:1;padding:8vw 7vw}.parents-hero .intern-hero-photo img{min-height:500px}.recruit-hero{background:#e8f8f1;grid-template-columns:55% 45%}.recruit-hero .intern-hero-copy{padding-left:10vw}.recruit-hero .button-outline{border:1.5px solid #267965;color:#216554;background:transparent}.people-hero{min-height:690px;display:grid;grid-template-columns:1fr;background:#e1f8e9;position:relative}.people-hero .intern-hero-photo{grid-column:1;grid-row:1}.people-hero .intern-hero-photo img{min-height:690px;max-height:690px}.people-hero .intern-hero-copy{grid-column:1;grid-row:1;z-index:1;align-self:end;background:#fafff4f2;width:min(700px,70%);margin:0 0 0 6vw;padding:55px 55px 62px;backdrop-filter:blur(8px)}.culture-hero{min-height:690px;display:grid;grid-template-columns:1fr;background:#e4f6e8;position:relative}.culture-hero .intern-hero-photo{grid-column:1;grid-row:1}.culture-hero .intern-hero-photo img{min-height:690px;max-height:690px}.culture-hero .intern-hero-copy{grid-column:1;grid-row:1;z-index:1;align-self:center;background:#f8fff1ed;width:min(720px,75%);margin-left:6vw;padding:55px 55px 62px;backdrop-filter:blur(8px)}.culture-hero h1{font-size:clamp(2.6rem,4vw,4.7rem)}.culture-chapter-photo img{height:440px;border-radius:16px}.culture-gallery img{height:440px}.business-card{background:#f2fbf4;border:1px solid #d4eadc;border-radius:24px}.business-card:nth-child(even){background:#ecfaf6}.business-card h3{color:#1c6152}.business-details{background:#f6fcf6}.business-detail{border-color:var(--line)}.business-detail-copy strong{color:#168f7f}.message-intro{background:#e8f9ec;color:#2e5d50}.message-article{border-color:var(--line)}.message-article strong{color:#168f7f}.profile div{border-color:var(--line)}.form-note{background:#e7f8ed;color:#275547}.field input,.field textarea,.field select{border-color:#a8cbc0;background:#fbfffd}.field input:focus,.field textarea:focus,.field select:focus{outline-color:#55c5aa}
/* The dark logotype remains small; the colorful mark drives the surroundings. */
footer{background:#ddf5dc;color:#24463e;padding-top:85px}.footer-brand{width:170px;height:74px;background:transparent}.footer-brand img{width:190px;top:-59px;left:-13px}.footer-nav{border-color:#9acdb0}.copyright{color:#537066}.footer-actions .text-link{color:#265d4f}
/* Progressive reveal: content stays visible if scripting is unavailable. */
.motion-ready .reveal{opacity:0;transform:translateY(19px);transition:opacity .7s ease,transform .7s cubic-bezier(.18,.64,.22,1)}.motion-ready .reveal.is-visible{opacity:1;transform:none}.motion-ready .reveal-image{opacity:0;transform:scale(1.018);transition:opacity .85s ease,transform .9s ease}.motion-ready .reveal-image.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.site-header{height:72px}.brand{height:62px}.mobile-nav:not([hidden]){top:72px;background:#fafff8}.menu-button span{background:#296b59}.desktop-nav{display:none}.header-cta{display:none}}
@media(max-width:850px){.home-hero,.intern-hero{display:flex;flex-direction:column}.home-hero{min-height:0}.hero-copy,.intern-hero-copy{padding:72px 7vw 62px}.hero-image,.intern-hero-photo{width:100%;height:400px;min-height:0}.hero-image img,.intern-hero-photo img{width:100%;height:100%;min-height:0;object-fit:cover}.intern-chapter-inner{grid-template-columns:1fr;gap:35px;padding:78px 7vw}.intern-chapter-header{position:static}.intern-toc{grid-template-columns:repeat(2,minmax(0,1fr));padding:27px 7vw}.parents-hero,.recruit-hero,.people-hero,.culture-hero{display:flex;flex-direction:column;min-height:0}.parents-hero .intern-hero-photo{order:2;height:400px}.parents-hero .intern-hero-copy{order:1;padding:72px 7vw 62px}.recruit-hero .intern-hero-copy{padding:72px 7vw 62px}.people-hero .intern-hero-copy,.culture-hero .intern-hero-copy{width:auto;margin:0;padding:70px 7vw 50px;background:transparent;backdrop-filter:none;order:1}.people-hero .intern-hero-photo,.culture-hero .intern-hero-photo{order:2;height:430px}.people-hero .intern-hero-photo img,.culture-hero .intern-hero-photo img{height:100%;min-height:0;max-height:none}.split-feature,.split-feature.reverse{display:flex;flex-direction:column}.split-feature.reverse .split-photo{order:0}.split-photo img{height:410px;min-height:0}.split-copy{padding:72px 7vw}.cards{grid-template-columns:repeat(2,1fr)}.culture-chapter-photo img{height:350px}.footer-top{flex-direction:column}}
@media(max-width:600px){.site-header{height:70px}.mobile-nav:not([hidden]){top:70px}.brand{width:118px}.brand img{width:150px;top:-47px}.home-hero .hero-copy h1{font-size:clamp(2.65rem,10vw,4.3rem)}.hero-image,.intern-hero-photo,.parents-hero .intern-hero-photo{height:310px}.people-hero .intern-hero-photo,.culture-hero .intern-hero-photo{height:330px}.intern-hero h1{font-size:clamp(2.45rem,9vw,3.6rem)}.culture-hero h1{font-size:clamp(2.2rem,8vw,3.5rem)}.intern-hero-copy,.hero-copy,.parents-hero .intern-hero-copy,.recruit-hero .intern-hero-copy{padding:62px 7vw}.intern-toc{grid-template-columns:1fr;padding:23px 7vw}.intern-toc a{padding:12px 2px}.intern-chapter-inner{padding:70px 7vw}.intern-chapter-header h2{font-size:clamp(2rem,7vw,2.8rem)}.page-heading{min-height:0;padding:70px 7vw}.page-heading h1{font-size:clamp(2.6rem,9vw,4rem)}body[data-page="about"] .page-heading,body[data-page="business"] .page-heading{padding-left:7vw}.section{padding:78px 7vw}.cards,.business-grid{grid-template-columns:1fr}.card{min-height:0}.image-banner{height:550px}.image-banner:before{background:linear-gradient(90deg,#194734d9,#19473475)}.wide-photo img{height:310px}.culture-chapter-photo img{height:250px}.culture-gallery img{height:190px}.culture-gallery img:first-child{height:270px}.footer-actions{grid-template-columns:1fr 1fr;gap:10px}.footer-nav{margin-top:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .reveal,.motion-ready .reveal-image{opacity:1;transform:none;transition:none}.button,.card{transition:none}}

/* Inter handles Latin glyphs; Noto Sans JP supplies Japanese glyphs. */
:root,body,button,input,select,textarea{font-family:Inter,"Noto Sans JP",sans-serif}

/* Show the supplied logo exactly at the viewport center during document loading. */
.site-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:linear-gradient(135deg,#f8fff0,#e7fbec,#e4f9f5);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility .32s ease}.js-loading .site-loader{opacity:1;visibility:visible;pointer-events:auto}.site-loader img{width:min(390px,90vw);height:auto;display:block}.editorial-note.concise{display:table;max-width:none;margin:26px 7vw 0;padding:8px 16px;border:1px solid #c5e7d1;border-radius:100px;background:#f5fcf7;color:#356757;font-size:.82rem;font-weight:750;line-height:1.5}.editorial-inline.concise{display:table;margin-bottom:27px;padding:7px 14px;border-radius:100px;background:#e7f7ec;color:#356757;font-size:.8rem;font-weight:750;line-height:1.5}@media(prefers-reduced-motion:reduce){.site-loader{transition:none}}
