.inner-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:center;padding-top:35px;padding-bottom:42px;border-bottom:0}
.inner-hero h1{font-size:clamp(27px,3vw,39px);line-height:1.5;margin:16px 0 20px}.inner-hero .intro{font-size:14px;line-height:2}.inner-hero-photo{aspect-ratio:1.35;border-radius:2px 2px 28px 2px}.inner-hero .theme-links{gap:8px;margin-top:22px}.inner-hero .theme-links a{font-size:12px;padding:6px 10px;border:1px solid #dedede;background:#fff}
.inner-page{background:linear-gradient(#fff 0 510px,#f5f5f5 510px)}.inner-content{max-width:1180px;padding-top:30px;padding-bottom:65px;counter-reset:content-block}
.inner-content>.article-section,.inner-content>section:not(.article-section),.inner-content>.practice-intro{background:#fff;border:1px solid #e1e1e1;border-top:3px solid #a00;padding:32px;margin:0 0 28px;box-shadow:0 3px 14px #00000003;scroll-margin-top:130px}
.inner-content>.article-section>h2,.inner-content>section>h2{font-size:25px;line-height:1.6;padding-bottom:17px;border-bottom:1px solid #e7e7e7;margin-bottom:22px}.inner-content .article-section>h2:before{counter-increment:content-block;content:counter(content-block,decimal-leading-zero);display:inline-block;color:#a00;font:12px Arial,sans-serif;letter-spacing:.06em;margin-right:14px;vertical-align:middle}
.inner-content .support-grid{gap:18px}.inner-content .support-card{background:#fafafa;border:1px solid #e2e2e2;padding:24px}.inner-content .learning-path{margin:24px 0}.inner-content .curriculum-groups details{border:1px solid #ddd;margin:12px 0;background:#fafafa}.inner-content .curriculum-groups summary{padding:18px 20px}.inner-content .curriculum-list{background:#fff;margin:0;padding:10px 20px 10px 40px}.inner-content .training-free-callout{border:1px solid #ead8d8;background:#fff8f7;margin:24px 0;padding:25px}.inner-content .lab-grid{margin-bottom:30px}.inner-content .lab-card{background:#fff;border:1px solid #ddd;box-shadow:0 3px 14px #00000004}
.faq-cards details{background:#fff;border:1px solid #ddd;margin-bottom:16px}.faq-cards summary{padding:22px}.faq-cards details>p{padding:0 24px 24px 58px}.inner-content .contact-option{background:#f7f7f7;border:1px solid #ddd}.inner-content .definition-list>div:nth-child(odd){background:#fafafa}.inner-content .definition-list>div{padding:18px 16px}.inner-content .recruit-intro{gap:28px}.inner-content .recruit-intro>.site-photo{height:100%;min-height:250px;object-fit:cover}
.learning-header-photo{height:250px;margin-top:30px;border-radius:2px 2px 24px 2px}.learning-header-photo img{object-position:center 40%}.markdown-body h2{padding:20px 24px!important;border-left:3px solid #a00;background:#f5f5f5;margin-top:44px!important}.article-index-row{border:1px solid #ddd!important;background:#fafafa;margin-bottom:12px;padding:22px!important}
.footer-column a{font-size:12px}.footer-main{grid-template-columns:1.35fr 1.35fr 1fr 1fr}
@media(max-width:950px){.footer-main{grid-template-columns:1.25fr 1fr}}
@media(max-width:820px){.inner-hero{grid-template-columns:1fr;gap:25px}.inner-hero-photo{aspect-ratio:2}.inner-hero h1{font-size:30px}.inner-page{background:linear-gradient(#fff 0 600px,#f5f5f5 600px)}.inner-content>.article-section,.inner-content>section:not(.article-section),.inner-content>.practice-intro{padding:25px}.inner-content .support-grid{grid-template-columns:1fr}.inner-content>.article-section>h2,.inner-content>section>h2{font-size:22px}.inner-content .definition-list>div{padding:16px 10px}.learning-header-photo{height:200px}}
@media(max-width:520px){.inner-hero h1{font-size:27px}.inner-hero-photo{aspect-ratio:1.65}.inner-content>.article-section,.inner-content>section:not(.article-section),.inner-content>.practice-intro{padding:20px}.inner-content>.article-section>h2,.inner-content>section>h2{font-size:21px}.inner-content .article-section>h2:before{margin-right:9px}.footer-main{grid-template-columns:1fr 1fr}.footer-main>.footer-column:first-of-type{grid-column:1/-1}.learning-header-photo{height:170px}}

.service-selector{display:grid;gap:16px;margin-top:24px}.service-selector label{font-weight:700}.service-selector select{width:100%;padding:14px;border:1px solid #c9c9c9;border-radius:6px;background:#fff;color:#202020;font:inherit}.agency-provider{margin-top:28px;padding:22px 24px;background:#f5f5f5;font-size:.9rem;line-height:1.8}.agency-provider a{display:inline-block;text-decoration:underline;text-underline-offset:4px}

/* Company page: full-width photo hero, catch copy on the sky (people and sunrise stay clear in the lower part). */
.company-hero{position:relative;overflow:hidden;color:var(--ink,#202020);background:#dfe9f3;min-height:clamp(440px,43vw,640px)}
.company-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 100%}
.company-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,.35) 35%,rgba(255,255,255,0) 60%)}
.company-hero-inner{position:relative;z-index:1;padding-top:clamp(36px,4.5vw,64px);padding-bottom:40px}
.company-hero .eyebrow{color:var(--brand-red,#a00)}
.company-hero-label{font-size:15px;font-weight:700;letter-spacing:.12em;margin:10px 0 14px}
.company-hero-catch{font-size:clamp(28px,4.2vw,54px);font-weight:800;line-height:1.4;letter-spacing:.02em;margin:0 0 14px;text-shadow:0 0 24px rgba(255,255,255,.9)}
.company-hero-catch span{display:inline-block}
.company-hero-sub{font-size:clamp(16px,1.9vw,23px);font-weight:700;letter-spacing:.08em;margin:0;color:var(--brand-red,#a00);text-shadow:0 0 18px rgba(255,255,255,.95)}
@media (max-width:760px){.company-hero{min-height:560px}.company-hero-image{object-position:22% 100%}}
/* Wider screens: show the whole photo at the bottom and extend its sky upward so the copy never covers the team. */
@media (min-width:761px){
.company-hero{min-height:calc(42.9vw + 140px);background:linear-gradient(90deg,#a8c7e9 0%,#97bfe9 50%,#c5d6eb 100%)}
.company-hero-image{inset:auto 0 0 0;height:auto;object-fit:fill;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%);mask-image:linear-gradient(180deg,transparent 0,#000 18%)}
.company-hero:after{background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.3) 30%,rgba(255,255,255,0) 50%)}
}

/* Representative: portrait + greeting, then a compact career list */
.representative-message{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:48px;align-items:start;padding:28px 0 8px}
.representative-photo{margin:0;position:sticky;top:110px}
.representative-photo img,.representative-photo-placeholder{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px;background:#eee}
.representative-photo-placeholder{display:flex;align-items:center;justify-content:center;color:#999;font-size:14px;border:1px dashed #ccc}
.representative-photo figcaption{margin-top:16px;display:grid;gap:2px}
.representative-photo .representative-role{font-size:13px;color:#666}
.representative-photo strong{font-size:24px;letter-spacing:.12em}
.representative-photo .representative-en{font:12px Arial,sans-serif;letter-spacing:.18em;color:#777}
.representative-label{color:var(--brand-red,#a00);font-weight:700;font-size:14px;letter-spacing:.1em;margin:0 0 10px}
.representative-greeting h3{font-size:clamp(22px,2.4vw,28px);line-height:1.6;margin:0 0 24px}
.representative-greeting p{line-height:2.05;margin:0 0 16px}
.representative-greeting .representative-sign{text-align:right;margin-top:28px;font-weight:700;line-height:1.9}
.representative .career-heading{font-size:17px;margin:44px 0 10px}
.representative .career-timeline li{grid-template-columns:96px 1fr;gap:16px;padding:8px 0;font-size:13.5px;line-height:1.7}
.representative .career-timeline time{font-size:13px;padding-top:0}
.representative .career-timeline strong{font-size:13.5px;font-weight:700}
.representative .career-timeline span{color:#626262}
.representative .career-timeline li:last-child{border-bottom:1px solid #a00}
@media (max-width:760px){.representative-message{grid-template-columns:1fr;gap:28px}.representative-photo{position:static;max-width:260px}.representative .career-timeline li{grid-template-columns:1fr;gap:0;padding:8px 0}}

/* Phones: the desktop min-height made the 1.65 photo wider than the screen */
@media (max-width:820px){.recruit-intro>.site-photo{min-height:0;height:auto;width:100%}}
/* Site-wide FAQ: topic index, grouped questions, answer = bold conclusion + details */
.faq-index{padding:42px 0;border-bottom:1px solid #ddd}.faq-index h2{font-size:26px;margin:0 0 12px}.faq-index>p{color:var(--gray)}
.faq-topics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}.faq-topics a{display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-height:92px;padding:16px 18px;background:#f6f6f6;border-top:3px solid #aa0000;font-weight:700;font-size:15px;line-height:1.6;transition:background .2s}.faq-topics a:hover{background:#efe7e9}.faq-topics small{font-size:12px;font-weight:400;color:var(--gray)}
.faq-group{padding:56px 0 34px;border-bottom:1px solid #ddd;scroll-margin-top:110px}.faq-group h2{font-size:26px;margin:12px 0 10px}.faq-group-lead{color:var(--gray);margin-bottom:26px}.faq-top-link{display:inline-block;margin-top:8px;font-size:13px;color:var(--gray);border-bottom:1px solid #bbb}
.faq-entry summary{align-items:flex-start}.faq-entry .q{line-height:1.5}.faq-question{flex:1;line-height:1.7}.faq-answer{display:flex;gap:16px;padding:0 24px 24px 22px}.faq-answer .a{font:20px Arial,sans-serif;color:#202020;line-height:1.5}.faq-answer p{margin:0 0 10px;font-size:16px;line-height:2;color:var(--gray)}.faq-answer .faq-conclusion{color:var(--ink);font-weight:700}.faq-more{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-size:14px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:2px}.faq-more:hover{color:#aa0000;border-color:#aa0000}
.faq-section .faq-answer{padding:0 20px 24px 0}.faq-section-lead{margin-top:14px;color:var(--gray)}
.service-faq h2{margin-top:12px}.service-faq .text-link{margin-top:10px}
@media(max-width:820px){.faq-topics{grid-template-columns:1fr 1fr}.faq-topics a{min-height:80px;padding:14px}.faq-group h2,.faq-index h2{font-size:23px}.faq-answer{gap:10px;padding:0 16px 20px 14px}.faq-cards summary{padding:18px 14px;gap:10px}}

/* ものづくり補助金 採択の注記（理念AIの紹介部分）と会社概要の実績 */
.subsidy-note{margin:18px 0 22px;padding:2px 0 2px 14px;border-left:3px solid #aa0000}
.subsidy-note p{margin:0;font-size:14px;line-height:1.85;color:#444}
.subsidy-note small{display:block;margin-top:4px;font-size:12px;color:#666;letter-spacing:.02em}
.subsidy-note a{color:#aa0000;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:3px}
.achievement-card{border:1px solid #e7dfe1;border-left:3px solid #aa0000;background:#fff;padding:28px 30px}
.achievement-card h3{font-size:20px;line-height:1.6;margin:6px 0 12px}
.achievement-card p{margin:0 0 12px}
.achievement-date{font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;color:#8f172b}
.achievement-meta{font-size:13px;color:#666}
@media(max-width:600px){.achievement-card{padding:22px 18px}.achievement-card h3{font-size:18px}}
