:root{--orange:#e95519;--accent:#ba3d0b;--ink:#252826;--muted:#626560;--line:#dddfd9;--cream:#f5f4f0;--white:#fff;--header:94px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 20px)}body{margin:0;color:var(--ink);background:var(--white);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,ol,dl{margin:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}a:hover{color:var(--accent)}.wrap{width:min(1200px,calc(100% - 112px));margin-inline:auto}.section{padding-block:110px}.eyebrow{font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--accent);line-height:1.5}.section-heading h2{font-size:clamp(26px,2.6vw,38px);line-height:1.65;letter-spacing:.06em;margin-top:20px;font-weight:600}.header{height:var(--header);padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fffffff5;border-bottom:1px solid #eeeeea;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand img{width:92px;height:32px}.brand>span{font-family:Arial,sans-serif;font-size:15px;line-height:1.15;font-weight:600;border-left:1px solid #d4d4d0;padding-left:15px;letter-spacing:.015em}.navigation{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:600}.navigation a{padding-block:10px}.navigation .nav-cta{border:1px solid var(--line);padding:12px 16px;display:flex;gap:20px;align-items:center}.menu-toggle{display:none}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:10px;z-index:99}.skip-link:focus{top:10px}.hero{position:relative;max-width:1600px;margin-inline:auto;padding:58px 0 0}.hero-copy{position:relative;z-index:2;width:49%;padding:30px 0 40px max(56px,calc((100% - 1200px)/2));pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{font-size:clamp(42px,4.7vw,72px);font-weight:600;line-height:1.48;letter-spacing:.07em;margin:25px 0 20px}.hero h1>span:first-child{color:var(--orange)}.period{color:var(--orange)}.hero-description{color:#555b55;line-height:2;letter-spacing:.07em;font-size:16px}.hero-photo{position:absolute;inset:38px 0 64px 36%;overflow:hidden;border-bottom-left-radius:100px}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#ffffff7a 13%,transparent 35%)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:61% center}.photo-caption{position:absolute;bottom:24px;right:32px;color:white;font-family:Georgia,serif;font-style:italic;z-index:1;text-shadow:0 1px 8px #0008;letter-spacing:.04em;font-size:17px}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:13px;font-weight:600;margin-top:35px}.circle-arrow{display:inline-flex;width:40px;height:40px;border:1px solid currentColor;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:background .2s,color .2s}a:hover .circle-arrow{background:var(--orange);border-color:var(--orange);color:white}.hero-bottom{display:flex;align-items:center;justify-content:space-between;padding:25px max(56px,calc((100% - 1200px)/2));font-size:11px;letter-spacing:.1em}.hero-bottom a{font:10px Arial,sans-serif;letter-spacing:.15em}.hero-bottom a span{margin-left:20px}.notice{display:flex;align-items:center;gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:23px;margin-top:24px;font-size:12px}.notice-label{font:700 11px Arial,sans-serif;letter-spacing:.12em;color:var(--accent)}.about{display:grid;grid-template-columns:1fr 1fr;gap:72px 100px}.lead{font-size:21px;line-height:1.8;letter-spacing:.04em;font-weight:600;margin-bottom:24px}.about-body>p+p{margin-top:18px;color:var(--muted);line-height:2.1;font-size:14px}.values{grid-column:1/-1;display:grid;grid-template-columns:270px 1fr;border-top:1px solid var(--line);padding-top:42px;gap:50px;align-items:center}.values-intro h3{font-size:28px;font-family:Arial,sans-serif;font-weight:500;margin:10px 0}.values-intro p{font-size:12px;color:var(--muted)}.values-list{padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,1fr)}.values-list li{display:flex;flex-direction:column;gap:13px;align-items:center;justify-content:center;border-left:1px solid var(--line);min-height:90px}.values-list span{font:12px Arial,sans-serif;color:var(--accent)}.values-list strong{font-size:14px;font-weight:500}.service{background:var(--cream)}.section-top{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:48px}.section-top>p{font-size:14px;line-height:2;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.service-item>img{aspect-ratio:1.3;object-fit:cover;width:100%}.service-title{display:flex;gap:13px;margin:24px 0 15px;align-items:baseline;min-height:64px}.service-title>span{font:12px Arial,sans-serif;color:var(--accent)}.service-title h3{font-size:18px;font-weight:600;line-height:1.65;letter-spacing:.01em}.service-item>p{font-size:13px;color:var(--muted);line-height:2}.guide-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.guide-link{padding:35px 38px 30px 0;transition:background .2s}.guide-link+ .guide-link{border-left:1px solid var(--line);padding-left:38px;padding-right:0}.guide-link h3{font-size:22px;font-weight:600;margin:15px 0 10px}.guide-link p{font-size:13px;color:var(--muted)}.guide-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:27px;font-size:12px}.guide-bottom .circle-arrow{color:var(--accent)}.link-note{margin-top:20px;font-size:11px;color:var(--muted)}.company{background:var(--cream)}.company-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.company-caption{font-size:13px;margin-top:35px;line-height:1.9;color:var(--muted)}.company-table>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid #d8dbd3;font-size:14px}.company-table>div:first-child{padding-top:0}.company-table dt{font-size:12px;color:var(--muted)}.company-table dd{margin:0}.recruit{display:grid;grid-template-columns:1fr 1fr;min-height:480px;background:#eee9e1}.recruit-photo img{width:100%;height:100%;object-fit:cover}.recruit-copy{padding:65px max(35px,calc((100vw - 1200px)/2)) 65px 70px;align-self:center}.recruit h2{font-size:clamp(24px,2.5vw,37px);font-weight:500;line-height:1.8;letter-spacing:.03em;margin:22px 0}.recruit p:not(.eyebrow){font-size:14px;line-height:2}.button{background:var(--orange);color:white;display:flex;align-items:center;justify-content:space-between;gap:55px;padding:17px 24px;margin-top:30px;font-size:14px;font-weight:600;max-width:330px}.button:hover{background:var(--accent);color:white}.recruit small{display:block;font-size:10px;color:#62615c;margin-top:14px}.social{display:flex;gap:50px;align-items:center;justify-content:space-between;padding-block:75px}.social h2{font-size:19px;font-weight:500;margin-top:15px}.social-links{display:flex;gap:35px;font:17px Arial,sans-serif}.social-links a{padding:12px 0;border-bottom:1px solid var(--line)}.social-links span{font-size:14px;margin-left:20px;color:var(--accent)}.footer{border-top:1px solid var(--line);padding:45px 0 25px;background:#fafaf8}.footer-main{display:flex;gap:35px;justify-content:space-between;align-items:center}.footer nav{display:flex;gap:25px;font-size:11px}.copyright{color:#73766e;font:10px Arial,sans-serif;margin-top:40px}
@media(min-width:1600px){.recruit-copy{padding-right:70px}}@media(max-width:1150px){.navigation{gap:18px}.header{padding-inline:25px;gap:15px}.brand{gap:10px}.brand>span{font-size:13px;padding-left:10px}.brand img{width:78px}.navigation .nav-cta{padding-inline:10px;gap:10px}.wrap{width:calc(100% - 72px)}.hero-copy{padding-left:36px}.hero-bottom{padding-inline:36px}.about{column-gap:60px}.service-grid{gap:20px}.service-title h3{font-size:16px}.company-layout{gap:40px}.recruit-copy{padding-left:40px}.social{gap:25px}.social-links{gap:22px}}
@media(max-width:900px){:root{--header:78px}.header{flex-wrap:wrap;height:auto;min-height:var(--header);padding-block:16px}.menu-toggle{display:none;border:0;background:none;padding:8px 0 8px 12px;align-items:center;gap:12px;font-size:11px;cursor:pointer}.js .menu-toggle{display:flex}.menu-icon{position:relative;width:22px;height:12px;border-top:1px solid;border-bottom:1px solid}.menu-toggle[aria-expanded="true"] .menu-icon{border-bottom:0;transform:rotate(45deg);height:1px}.menu-toggle[aria-expanded="true"] .menu-icon:after{content:"";position:absolute;width:22px;border-top:1px solid;left:0;top:-1px;transform:rotate(90deg)}.navigation{width:100%;display:flex;flex-wrap:wrap;gap:12px 25px;padding:20px 0 5px}.js .navigation{display:none}.js .navigation.is-open{display:flex}.navigation a{font-size:13px}.hero{padding-top:35px}.hero-copy{width:55%;padding-top:30px}.hero h1{font-size:48px}.hero-photo{left:35%;top:25px;bottom:68px;border-bottom-left-radius:65px}.hero-photo img{object-position:60% center}.photo-caption{font-size:13px;right:20px}.section{padding-block:75px}.about{gap:45px}.values{grid-template-columns:1fr;gap:25px}.values-list li:first-child{border-left:0}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 25px}.service-title{min-height:0;margin-top:18px}.service-title h3{font-size:19px}.service-title br{display:none}.section-top{gap:30px}.guide-link h3{font-size:18px}.company-layout{grid-template-columns:1fr;gap:35px}.company-caption{display:none}.recruit{min-height:440px}.recruit-copy{padding:40px 30px}.recruit h2{font-size:25px}.recruit-photo img{object-position:55% center}.social{display:block}.social-links{margin-top:25px}.footer-main{align-items:flex-start;gap:25px}.footer nav{flex-wrap:wrap;justify-content:flex-end;max-width:350px;gap:12px 20px}}
@media(max-width:600px){:root{--header:74px}.header{padding:15px 22px}.brand img{width:76px;height:27px}.brand>span{font-size:12px}.wrap{width:calc(100% - 44px)}.section{padding-block:60px}.eyebrow{font-size:10px}.hero{padding-top:0;display:flex;flex-direction:column}.hero-copy{padding:35px 22px 30px;width:100%;order:0}.hero h1{font-size:43px;line-height:1.45;margin:18px 0 16px;letter-spacing:.06em}.hero-description{font-size:13px;line-height:1.9}.text-link{margin-top:20px;font-size:11px;gap:18px}.text-link .circle-arrow{width:32px;height:32px;font-size:15px}.hero-photo{position:relative;inset:auto;width:calc(100% - 22px);height:260px;align-self:flex-end;border-radius:0 0 0 55px;order:1}.hero-photo:after{background:linear-gradient(0deg,#0003,transparent 30%)}.hero-photo img{object-position:61% center}.photo-caption{bottom:16px;right:18px;font-size:12px}.hero-bottom{order:2;padding:22px;font-size:9px;letter-spacing:.02em}.hero-bottom a{font-size:9px}.hero-bottom a span{margin-left:10px}.notice{align-items:flex-start;flex-direction:column;gap:8px;padding:20px 0;margin-top:0;font-size:11px}.notice-label{font-size:10px}.about{display:block}.section-heading h2{font-size:25px;letter-spacing:.02em;margin-top:14px}.about-body{margin-top:30px}.lead{font-size:18px;margin-bottom:16px}.about-body>p+p{font-size:13px;line-height:2}.desktop-break{display:none}.values{margin-top:35px;padding-top:30px;display:block}.values-intro h3{font-size:25px;margin:5px 0}.values-intro p{font-size:11px}.values-list{margin-top:25px}.values-list li{min-height:70px;gap:10px}.values-list strong{font-size:11px}.values-list span{font-size:10px}.section-top{display:block;margin-bottom:28px}.section-top>p{margin-top:20px;font-size:12px}.service-grid{gap:30px 18px}.service-item>img{aspect-ratio:1.15}.service-title{gap:7px;margin:14px 0 10px;min-height:48px}.service-title h3{font-size:14px;line-height:1.7}.service-title>span{font-size:10px}.service-item>p{font-size:11px;line-height:1.95}.guide-grid{display:block}.guide-link{display:block;padding:26px 0}.guide-link+.guide-link{border-left:0;border-top:1px solid var(--line);padding:26px 0}.guide-link h3{font-size:19px}.guide-link p{font-size:12px}.guide-bottom{margin-top:20px;font-size:11px}.link-note{font-size:10px}.company-layout{gap:26px}.company-table>div{grid-template-columns:100px 1fr;gap:14px;padding:18px 0;font-size:12px}.company-table dt{font-size:11px}.recruit{display:flex;flex-direction:column}.recruit-photo{height:260px}.recruit-photo img{object-position:center}.recruit-copy{padding:40px 22px 44px;width:100%}.recruit h2{font-size:26px;margin:15px 0}.recruit p:not(.eyebrow){font-size:13px}.button{font-size:13px;max-width:none;margin-top:24px}.social h2{font-size:17px}.social-links{gap:25px;font-size:15px;flex-wrap:wrap}.social-links span{margin-left:12px}.footer{padding:35px 0 25px}.footer-main{display:block}.footer nav{justify-content:flex-start;margin-top:30px;font-size:10px;max-width:none;gap:14px 20px}.copyright{font-size:8px;line-height:1.8;margin-top:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.header{position:static}.menu-toggle,.notice,.hero-bottom{display:none!important}.section{padding-block:35px}.hero-photo{print-color-adjust:exact}.service,.company,.recruit{print-color-adjust:exact}a{color:inherit}.service-item,.company-table>div{break-inside:avoid}}

/* Mission, values and president message */
.mission{grid-column:1/-1;text-align:center;border-top:1px solid var(--line);padding-top:64px}
.mission-logo{display:block;width:min(500px,85%);height:auto;margin:32px auto 24px}
.mission h3{font-size:clamp(24px,3vw,38px);font-weight:500;letter-spacing:.06em;margin:0 0 24px}
.mission-description{font-size:14px;line-height:2.2;color:var(--muted);margin:0}
.mission-connection{margin:40px 0 -40px;color:var(--accent)}
.mission-connection>span{font-size:25px;display:block;line-height:1.5}
.mission-connection p{font-size:13px;letter-spacing:.06em;margin:12px 0 0}
.about .values{border-top:0;padding-top:16px}
.president-message{grid-column:1/-1;border-top:1px solid var(--line);padding-top:72px;display:grid;grid-template-columns:minmax(0, .85fr) minmax(0,1.15fr);gap:72px;align-items:center}
.president-photo img{display:block;width:100%;height:auto;aspect-ratio:5/6;object-fit:cover}
.message-label{font-size:13px;color:var(--muted);margin:8px 0 24px}
.president-copy h3{font-size:clamp(21px,2.1vw,29px);font-weight:500;line-height:1.7;margin:0 0 24px}
.president-copy>p:not(.eyebrow):not(.message-label):not(.president-name){font-size:14px;line-height:2.1;color:var(--muted)}
.president-name{margin:28px 0;font-size:12px;line-height:2.4}
.president-name strong{font-size:22px;font-weight:500;margin-left:12px;letter-spacing:.12em}
.message-link{display:inline-block;font-size:13px;border-bottom:1px solid var(--line);padding-bottom:10px}
.message-link>span{margin-left:20px;color:var(--accent)}
.message-link small{display:block;font-size:10px;color:var(--muted);margin-top:5px}
@media(max-width:900px){.mission-connection{margin-bottom:-15px}.president-message{gap:36px;padding-top:48px;align-items:start}}
@media(max-width:600px){.mission{margin-top:40px;padding-top:40px}.mission-logo{margin-top:26px;width:95%}.mission h3{font-size:23px;letter-spacing:.02em}.mission-description{font-size:12px}.mission-description br{display:none}.mission-connection{margin:28px 0 0}.mission-connection p{font-size:12px;letter-spacing:0}.about .values{margin-top:24px;padding-top:0}.president-message{display:flex;flex-direction:column;margin-top:42px;padding-top:40px;gap:30px}.president-photo{width:100%}.president-photo img{aspect-ratio:1/1;object-position:center 30%}.president-copy h3{font-size:21px}.president-copy>p:not(.eyebrow):not(.message-label):not(.president-name){font-size:13px}.message-label{margin-bottom:20px}}

/* Original SMILE artwork supplied on 2026-10-28. */
.about .values-acronym{display:block}
.values-acronym .values-intro{margin-bottom:36px}
.values-acronym .values-intro p{font-size:13px}
.values-acronym .smile-values-list{display:block;margin:0;padding:0;list-style:none}
.values-acronym .smile-value{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:center;gap:48px;border:0;border-bottom:1px solid var(--line);padding:30px 0;min-height:152px;text-align:left}
.values-acronym .smile-value:first-child{border-top:1px solid var(--line)}
.smile-value-title{min-width:0}
.smile-value-title h4{margin:0;line-height:1}
.smile-value-image{display:block;width:var(--image-width);max-width:100%;height:auto}
.smile-description{font-size:14px;line-height:2;color:var(--muted);margin:0}
@media(max-width:900px){.values-acronym .smile-value{grid-template-columns:265px minmax(0,1fr);gap:26px}.smile-description{font-size:13px}}
@media(max-width:600px){.values-acronym .values-intro{margin-bottom:25px}.values-acronym .values-intro p{font-size:12px}.values-acronym .smile-value{display:block;padding:28px 0;min-height:0}.smile-description{margin-top:20px;font-size:13px;line-height:2}}

/* Five cards: read SMILE from left to right. */
.mission .mission-values-logo{width:260px;max-width:75%;margin-top:28px;margin-bottom:28px}
.values-acronym .smile-values-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.values-acronym .smile-value{--card-color:#c7789a;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:22px;min-width:0;min-height:0;padding:22px 16px 26px;border:0;border-top:3px solid var(--card-color);background:white}
.values-acronym .smile-value:first-child{border-top:3px solid var(--card-color)}
.values-acronym .smile-value-m{--card-color:#68bdbd}.values-acronym .smile-value-i{--card-color:#adc96b}.values-acronym .smile-value-l{--card-color:#80c5dd}.values-acronym .smile-value-e{--card-color:#e7ac54}
.smile-value-title{display:flex;align-items:center;height:90px;flex-shrink:0}
.smile-value-image{width:calc(var(--image-width) * .7);max-width:100%;height:auto}
.smile-description{font-size:12px;line-height:2;margin:0}
@media(max-width:1100px) and (min-width:601px){.values-acronym .smile-values-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.values-acronym .smile-value{grid-column:span 2;padding:22px}.values-acronym .smile-value:nth-child(4){grid-column:2/span 2}.smile-value-image{width:calc(var(--image-width) * .85)}.smile-description{font-size:13px}}
@media(max-width:600px){.mission .mission-values-logo{width:220px}.values-acronym .smile-values-list{grid-template-columns:minmax(0,1fr);gap:24px}.values-acronym .smile-value{display:grid;grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr);align-items:start;padding:22px 0 8px;gap:16px}.smile-value-title{height:auto;min-height:0;padding-top:3px}.smile-value-image{width:calc(var(--image-width) * .5);max-width:100%}.smile-description{margin:0;font-size:12px;line-height:1.95}}
