:root{--ink:#24483e;--muted:#5d6d62;--paper:#fbfaf5;--line:#dce1d4;--green:#e9efdb;--peach:#f7ddbb;--orange:#c66534}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP",sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #b7652d;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.55;font-weight:700;letter-spacing:.035em}h2{font-size:clamp(26px,2.8vw,36px)}h3{font-size:25px}p{overflow-wrap:anywhere}.wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}.section{padding-block:88px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--muted);margin-bottom:15px}.button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;padding:15px 24px;background:var(--ink);color:#fff;border-radius:7px;font-size:16px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#366650;transform:translateY(-2px)}.button span{font-size:22px;font-weight:400}.text-link{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding-block:10px;border-bottom:1px solid var(--line);font-size:15px;font-weight:600}.text-link:hover{color:#a9572f}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:fixed;top:8px;left:8px;z-index:20;padding:12px;background:white}
.j-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:116px;border-bottom:1px solid var(--line)}.j-logo{display:flex;align-items:center;gap:12px;flex-shrink:0}.j-logo>span{display:block;width:102px;height:86px;overflow:hidden}.j-logo img{width:102px;height:auto}.j-logo small{font-size:13px;letter-spacing:.05em}.j-header nav{display:flex;gap:28px;align-items:center}.j-header nav a{padding:13px 0;font-size:14px;font-weight:600}.j-header nav a:hover{color:var(--orange)}
.j-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:35px;padding-block:64px 82px;align-items:center}.kicker{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:24px}.kicker i{width:8px;height:8px;background:#8f9f60;border-radius:50%;flex-shrink:0}h1{font-size:clamp(34px,3.5vw,48px);line-height:1.65;letter-spacing:.04em;margin-bottom:26px}.mark-green,.mark-peach{box-shadow:inset 0 -.22em var(--green)}.mark-peach{box-shadow:inset 0 -.22em var(--peach)}.hero-lead{font-size:16px;line-height:2.15}.hero-note{font-size:12px;color:var(--muted);margin-top:19px}.hero-copy>.button{width:290px;max-width:100%;margin-top:23px}.hero-photos{position:relative;padding:18px 6px 82px 15px;min-width:0}.photo-main{border-radius:110px 16px 16px 16px;overflow:hidden;position:relative;margin-left:16px}.photo-main img{width:100%;aspect-ratio:1.08;object-fit:cover;object-position:55% center}.photo-main figcaption{position:absolute;bottom:16px;left:16px;background:var(--paper);padding:7px 12px;border-radius:4px;font-size:12px;font-weight:600}.photo-small{position:absolute;bottom:0;left:-4px;width:52%;transform:rotate(-5deg);background:#fff;padding:8px 8px 0;box-shadow:0 7px 18px #27493812}.photo-small img{width:100%;aspect-ratio:1.5;object-fit:cover}.photo-small figcaption{font-size:10px;padding-block:8px;text-align:center}.sun{position:absolute;right:-15px;top:-36px;color:#df8955;font-size:96px;z-index:1;line-height:1}.photo-stamp{position:absolute;right:12px;bottom:8px;color:#69794a;font-size:13px;letter-spacing:.17em;font-weight:800;line-height:1.6;transform:rotate(6deg)}
.purpose-nav{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.purpose-nav>a{display:flex;align-items:center;gap:16px;padding:24px 20px;border-right:1px solid var(--line)}.purpose-nav>a:first-child{padding-left:0}.purpose-nav>a:last-child{border:0;padding-right:0}.purpose-icon{font-size:13px;color:#8b995c}.purpose-nav small{font-size:11px;color:var(--muted);display:block}.purpose-nav strong{font-size:15px;font-weight:600;display:block}.purpose-nav b{margin-left:auto;font-size:20px;font-weight:400}.purpose-nav>a:hover strong{color:var(--orange)}
.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:36px}.section-heading>p{font-size:14px;color:var(--muted);padding-bottom:6px}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.service-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.service-art,.service-image{height:290px;position:relative;overflow:hidden}.service-art{background:#f8e7d6;display:flex;flex-direction:column;align-items:center;justify-content:center}.service-art>img{height:125px;width:auto;position:relative;z-index:1;margin-bottom:6px}.service-art>p{position:relative;text-align:center;font-size:22px;font-weight:600;line-height:1.65}.art-ring{position:absolute;width:280px;height:280px;border:45px solid #fff5e8;border-radius:50%}.ring-one{left:-125px;bottom:-110px}.ring-two{right:-150px;top:-130px}.service-label{position:absolute;left:20px;top:17px;font-size:10px;letter-spacing:.18em;padding:3px 8px;background:#fbfaf5e8;border-radius:3px}.activity{width:100%;height:100%;object-fit:cover;object-position:center 45%}.riru-badge{position:absolute;bottom:15px;right:17px;width:77px;height:77px;border-radius:50%;background:#fff;display:grid;place-items:center}.riru-badge img{width:66px;height:66px;object-fit:contain}.service-body{padding:30px 32px}.service-body .eyebrow{font-size:11px;letter-spacing:.08em;margin-bottom:6px}.service-body h3{font-size:35px;margin-bottom:15px}.service-body h3 small{display:block;font-size:14px;font-weight:500;margin-bottom:3px}.service-body>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:2}.tags{list-style:none;padding:0;margin:21px 0 25px;display:flex;flex-wrap:wrap;gap:7px}.tags li{font-size:11px;padding:4px 10px;background:#f2f4ec;border-radius:30px;white-space:nowrap}.airu-card .tags li{background:#fcf0e5}.service-body .text-link{margin-top:9px;justify-content:center;border:0}
.about-band{background:#edf1e4;padding-block:72px}.about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}.about-grid h2{margin-bottom:22px}.about-grid>div>p:not(.eyebrow){font-size:15px;line-height:2;margin-top:17px}.connection{text-align:center}.connection-logo{width:153px;height:128px;overflow:hidden;margin:0 auto}.connection-logo img{width:153px;height:auto}.connection>p{font-size:14px;font-weight:600}.connection-services{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:23px}.connection-services>div{border:1px solid #d5ddc7;background:#fbfaf5;border-radius:60px;padding:19px 25px;min-width:145px}.connection-services>div:first-child{background:#fbeddc;border-color:#eedcc3}.connection-services small{display:block;font-size:11px;color:var(--muted)}.connection-services strong{font-size:25px;letter-spacing:.09em}.connection-services>span{color:#9aa981;font-size:23px}
.recruit-panel{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:50px;background:var(--peach);border-radius:17px;padding:44px 48px}.recruit-panel h2{font-size:32px;margin-bottom:20px}.recruit-panel p:not(.eyebrow){font-size:14px;line-height:2}.recruit-panel .tags{margin-bottom:0}.recruit-panel .tags li{background:#fff6e8}.recruit-actions{padding-top:10px;position:relative}.recruit-actions .text-link{border:0;justify-content:center;font-size:13px;margin-top:7px}.recruit-symbol{display:block;font-size:76px;line-height:1;color:var(--orange);text-align:center;margin:0 0 22px}.contact-section{padding-top:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.contact-grid article{border-top:2px solid var(--ink);padding:25px 25px 15px;background:#f0f3e9}.contact-grid article:first-child{background:#fcf0e5;border-color:#c57950}.contact-grid h3{font-size:22px}.contact-grid .eyebrow{letter-spacing:.03em;font-size:12px;margin-bottom:7px}.phone{display:flex;gap:14px;align-items:baseline;font-size:28px;font-weight:600;letter-spacing:.02em;padding-block:18px 17px}.phone small{font-size:11px;font-weight:500;white-space:nowrap}.contact-grid .text-link:last-child{border:0}.company-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:0}.company-section h2{font-size:27px}.company-info dl{margin:28px 0 10px}.company-info dl>div{display:grid;grid-template-columns:85px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:15px 0;font-size:14px}.company-info dt{color:var(--muted)}.company-info dd{margin:0}.company-info>.text-link{width:max-content;border:0}.access-media{display:flex;flex-direction:column;gap:12px;min-width:0}.access-media>img{flex:none;width:100%;height:210px;object-fit:cover;object-position:center 62%;border-radius:10px}.access-map{position:relative;isolation:isolate;flex:none;width:100%;height:210px;overflow:hidden;border-radius:10px}.access-map iframe{position:absolute;inset:0;display:block;border:0;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%}
.j-footer{background:var(--ink);color:#fff;padding-top:42px}.footer-main{display:flex;justify-content:space-between;gap:30px;padding-bottom:35px}.footer-main strong{font-size:38px;letter-spacing:.12em;font-weight:600}.footer-main strong span{color:#e8ad73}.footer-main p{font-size:12px;color:#d9e4d5;margin-top:6px}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 32px;align-content:center;font-size:13px}.footer-main nav a{padding:6px 0}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff35;padding-block:18px;font-size:11px;color:#d9e4d5}.footer-bottom a{padding:7px}
@media(min-width:1500px){.j-hero{gap:70px}}
@media(max-width:1050px){.j-logo small{display:none}.j-header nav{gap:22px}.j-hero{gap:15px}h1{font-size:36px}.hero-lead{font-size:14px}.purpose-nav>a{gap:8px;padding-inline:14px}.purpose-nav strong{font-size:13px}.about-grid{gap:30px}.service-body{padding:26px}.recruit-panel{padding:34px;gap:25px}.recruit-panel h2{font-size:28px}.phone{font-size:24px;gap:9px}.company-section{gap:30px}.company-section h2{font-size:23px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.section{padding-block:54px}.j-header{flex-direction:column;gap:0;padding-top:8px;min-height:0}.j-logo{gap:10px}.j-logo>span{width:81px;height:68px}.j-logo img{width:81px}.j-logo small{display:block;font-size:12px}.j-header nav{width:100%;justify-content:space-between;gap:8px;padding-block:5px 9px}.j-header nav a{font-size:11px;padding:8px 0;white-space:nowrap}.j-hero{grid-template-columns:1fr;padding-block:30px 40px;gap:24px}.kicker{font-size:10px;letter-spacing:0;margin-bottom:16px}h1{font-size:clamp(29px,7.8vw,45px);margin-bottom:17px;line-height:1.6}.hero-lead{font-size:14px;line-height:1.9}.hero-note{margin-top:13px;font-size:11px}.hero-copy>.button{margin-top:18px;width:100%;min-height:51px;font-size:14px}.hero-photos{width:min(470px,100%);margin:0 auto;padding:10px 15px 64px 0}.photo-main{margin-left:18px;border-radius:85px 12px 12px 12px}.photo-main img{aspect-ratio:1.45;object-position:center 50%}.photo-main figcaption{bottom:12px;left:12px;font-size:10px;padding:5px 9px}.photo-small{width:49%;left:0}.photo-small figcaption{font-size:8px;padding-block:6px}.photo-stamp{font-size:10px;right:14px;bottom:9px}.sun{font-size:69px;right:-1px;top:-14px}.purpose-nav{grid-template-columns:1fr}.purpose-nav>a,.purpose-nav>a:first-child,.purpose-nav>a:last-child{padding:15px 5px;border:0;border-bottom:1px solid var(--line);gap:16px}.purpose-nav>a:last-child{border:0}.purpose-nav small{font-size:10px}.purpose-nav strong{font-size:14px}.section-heading{display:block;margin-bottom:27px}.section-heading>p{margin-top:17px;font-size:13px}.eyebrow{font-size:10px;margin-bottom:12px}.services-grid{grid-template-columns:1fr;gap:24px}.service-art,.service-image{height:238px}.service-body{padding:25px}.service-body h3{font-size:31px}.service-body>p:not(.eyebrow){font-size:14px}.service-body .button{font-size:14px;min-height:52px}.service-body .text-link{font-size:13px}.about-band{padding-block:50px}.about-grid{grid-template-columns:1fr;gap:30px}.about-grid>div>p:not(.eyebrow){font-size:14px}.connection-services{gap:10px;margin-top:18px}.connection-services>div{min-width:125px;padding:15px}.connection-logo{width:130px;height:109px}.connection-logo img{width:130px}.connection-services strong{font-size:23px}.recruit-panel{grid-template-columns:1fr;gap:22px;padding:28px 25px}.recruit-panel h2{font-size:26px}.recruit-panel p:not(.eyebrow){font-size:13px}.recruit-panel .tags li{font-size:10px;padding:4px 8px}.recruit-actions{padding:0}.recruit-symbol{display:none}.recruit-actions .button{font-size:14px;padding-inline:18px}.recruit-actions .text-link{font-size:12px}.contact-section{padding-top:0}.contact-grid{grid-template-columns:1fr;gap:20px}.contact-grid article{padding:22px}.phone{font-size:26px}.company-section{padding-top:0;grid-template-columns:1fr;gap:25px}.company-section h2{font-size:23px}.company-info dl>div{font-size:13px;grid-template-columns:66px 1fr}.access-map{height:230px}.footer-main{flex-direction:column;gap:24px;padding-bottom:27px}.footer-main strong{font-size:32px}.footer-main nav{font-size:11px;gap:8px 17px}.j-footer{padding-top:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
.phrase{display:inline-block}.photo-main figcaption{top:24px;right:auto;bottom:auto;left:50%;transform:translateX(-50%);white-space:nowrap}@media(max-width:760px){.j-header nav a{min-height:44px;display:flex;align-items:center}.photo-main figcaption{top:18px;right:auto;bottom:auto;left:50%}.footer-main nav a{min-height:44px;display:flex;align-items:center}}
