.company-profile-page{--company-ink:#302d28;--company-copper:#80543a;--company-line:#dedbd5;--company-serif:"Recruit Editorial Serif","Yu Mincho",serif;color:var(--company-ink);background:#fff}
.company-profile-page .ihonest-company-main{padding:0;overflow:clip}
.company-profile-page .ihonest-company-main :where(h1,h2,h3,h4,p,figure,dl,dd,ol){margin:0}
.company-profile-page .ihonest-company-main ol{list-style:none;padding:0}
.company-profile-page .ihonest-company-main a{color:inherit;text-decoration:none}
.company-profile-page .ihonest-company-main :is(a,[tabindex]):focus-visible{outline:3px solid #276d77;outline-offset:6px}
.company-profile-page .ihonest-company-main :is(p,dd){font-size:16px;line-height:2;font-weight:400;overflow-wrap:anywhere}
.company-profile-page .ihonest-company-main :is(h1,h2,h3,h4){font-family:var(--company-serif);font-weight:500;line-height:1.55;letter-spacing:.02em;overflow-wrap:anywhere}
.company-profile-page .ihonest-company-main h2{font-size:42px}
.company-profile-page .ihonest-company-main h3{font-size:30px}
.company-profile-page .ihonest-company-wrap{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}
.company-profile-page .ihonest-company-section{padding-block:104px}
.company-profile-page [id^=company-]{scroll-margin-top:145px}
.company-profile-page .ihonest-company-label{display:flex;align-items:center;gap:28px;margin-bottom:28px;color:var(--company-copper);font-size:13px;letter-spacing:.12em}
.company-profile-page .ihonest-company-label>span{font:italic 28px/1 var(--company-serif);color:#beb5aa;flex:none;white-space:nowrap}
.company-profile-page .ihonest-company-eyebrow{font-size:14px;color:var(--company-copper);margin-bottom:18px;letter-spacing:.08em}
.company-profile-page .ihonest-company-hero{position:relative;background:#f2efe9;min-height:590px;display:grid;align-items:center;isolation:isolate}
.company-profile-page .ihonest-company-hero-copy{padding-block:70px;position:relative;z-index:1;pointer-events:none}
.company-profile-page .ihonest-company-hero-copy>*{max-width:730px;pointer-events:auto}
.company-profile-page .ihonest-company-hero h1{font-size:clamp(56px,5.4vw,78px);line-height:1.4;margin-bottom:24px}
.company-profile-page .ihonest-company-hero-copy>p:not(.ihonest-company-label){max-width:540px}
.company-profile-page .ihonest-company-jumps{display:flex;gap:28px;margin-top:26px;flex-wrap:wrap}
.company-profile-page .ihonest-company-jumps a{display:flex;align-items:center;gap:35px;border-bottom:1px solid #b5a38f;padding-block:10px;font-size:14px}
.company-profile-page .ihonest-company-placeholder{background:#eeebe5;color:#7b7368}
.company-profile-page .ihonest-company-placeholder>div{aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:15px;border:1px dashed #c0b6a9;padding:25px}
.company-profile-page .ihonest-company-placeholder span,.company-profile-page .ihonest-company-placeholder small{font-size:12px;letter-spacing:.08em}
.company-profile-page .ihonest-company-placeholder strong{font-size:18px;font-weight:400}
.company-profile-page .ihonest-company-placeholder figcaption{font-size:11px;padding:7px 12px;background:#fff}
/* 街並み素材未確定。見本の架空写真を背景として流用せず、差し替え面積を示す。 */
.company-profile-page .ihonest-company-hero-visual{position:absolute;inset:0 0 0 58%;background:#e5e1d8;z-index:0}
.company-profile-page .ihonest-company-hero-visual>div{aspect-ratio:auto;height:100%;border:0;border-left:1px dashed #b8ad9e}
.company-profile-page .ihonest-company-hero-visual figcaption{position:absolute;bottom:0;right:0;background:transparent}
.company-profile-page .ihonest-company-beliefs{background:#fff}
.company-profile-page .ihonest-company-belief-intro{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;margin-top:50px}
.company-profile-page .ihonest-company-philosophy h3{font-size:82px;line-height:1.3;margin-bottom:28px}
.company-profile-page .ihonest-company-purpose,.company-profile-page .ihonest-company-vision{display:grid;grid-template-columns:1fr 1fr;gap:85px;border-top:1px solid var(--company-line);padding-top:42px;margin-top:42px}
.company-profile-page :is(.ihonest-company-purpose,.ihonest-company-vision) small{display:block;font:400 13px/1.5 "Noto Sans JP",sans-serif;color:var(--company-copper);margin-bottom:20px;letter-spacing:.08em}
.company-profile-page .ihonest-company-lead{margin-top:25px;max-width:850px}
.company-profile-page #company-business{border-top:1px solid var(--company-line)}
.company-profile-page .ihonest-company-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:48px}
.company-profile-page .ihonest-company-roles>div{border-top:1px solid var(--company-line);padding-top:23px}
.company-profile-page .ihonest-company-roles dt{font-size:14px;color:var(--company-copper);margin-bottom:17px}
.company-profile-page .ihonest-company-roles h3{font-size:25px;margin-bottom:15px}
.company-profile-page .ihonest-company-business-heading{margin-top:70px}
.company-profile-page .ihonest-company-services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.company-profile-page .ihonest-company-services>a{display:block;background:#f5f3ef;position:relative}
.company-profile-page .ihonest-company-service-visual{aspect-ratio:8/5;position:relative;overflow:hidden;background:#e9e5dd}
.company-profile-page .ihonest-company-service-visual img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s}
.company-profile-page .ihonest-company-service-visual>small{position:absolute;bottom:8px;left:8px;background:#fffffff2;padding:3px 8px;font-size:11px}
.company-profile-page .ihonest-company-service-slot{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:17px;color:#786d5e;text-align:center;border:1px dashed #bcb09f}
.company-profile-page .ihonest-company-service-slot small{font-size:11px}
.company-profile-page .ihonest-company-service-copy{padding:25px 25px 62px}
.company-profile-page .ihonest-company-service-copy>p:first-child{font-size:12px;color:var(--company-copper)}
.company-profile-page .ihonest-company-service-copy h4{font-size:28px;margin:5px 0 17px}
.company-profile-page .ihonest-company-service-copy .ihonest-company-arrow{position:absolute;bottom:22px;right:25px;width:30px;height:30px;border:1px solid #bbaa95;border-radius:50%;text-align:center;line-height:27px}
.company-profile-page .ihonest-company-message{background:#f7f5f0}
.company-profile-page .ihonest-company-message-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:85px;margin-top:42px;align-items:start}
.company-profile-page .ihonest-company-message-grid>div:first-child{position:sticky;top:145px}
.company-profile-page .ihonest-company-photo img{display:block;width:100%;height:auto;object-fit:cover}
.company-profile-page .ihonest-company-portrait img{aspect-ratio:4/5;object-position:30% center}
.company-profile-page .ihonest-company-photo figcaption{font-size:12px;color:#6f6b63;line-height:1.7;margin-top:12px}
.company-profile-page .ihonest-company-signature{font:500 28px/1.6 var(--company-serif);margin-top:20px}
.company-profile-page .ihonest-company-signature span{font:400 14px/1.8 "Noto Sans JP",sans-serif;display:block;margin-bottom:6px}
.company-profile-page .ihonest-company-message-copy h3{font-size:32px;margin-bottom:30px}
.company-profile-page .ihonest-company-message-copy>p{margin-top:20px;line-height:2.1}
.company-profile-page .ihonest-company-values-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}
.company-profile-page .ihonest-company-values-note{margin-top:20px}
.company-profile-page .ihonest-company-values li{display:flex;gap:30px;border-top:1px solid var(--company-line);padding-block:25px}
.company-profile-page .ihonest-company-values li:last-child{border-bottom:1px solid var(--company-line)}
.company-profile-page .ihonest-company-values li>span{font:italic 25px/1.6 var(--company-serif);color:#b5a18a}
.company-profile-page .ihonest-company-values li h3{display:flex;align-items:center;flex-wrap:wrap;gap:25px;font-size:31px;margin-bottom:10px}
.company-profile-page .ihonest-company-values li small{font:400 11px/1.5 "Noto Sans JP",sans-serif;color:var(--company-copper);letter-spacing:.1em}
.company-profile-page .ihonest-company-culture{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center;margin-top:90px}
.company-profile-page .ihonest-company-culture h3{font-size:32px;margin-bottom:25px}
.company-profile-page .ihonest-company-culture-lead{margin-bottom:15px}
.company-profile-page .ihonest-company-team img{aspect-ratio:4/3;object-position:center}
.company-profile-page .ihonest-company-culture-items{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:35px}
.company-profile-page .ihonest-company-culture-items>div{border-top:1px solid var(--company-line);padding-top:20px}
.company-profile-page .ihonest-company-culture-items dt{font-size:17px;margin-bottom:12px;color:var(--company-copper)}
.company-profile-page .ihonest-company-facts{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;border-top:1px solid var(--company-line)}
.company-profile-page .ihonest-company-profile dl{margin-top:35px}
.company-profile-page .ihonest-company-profile dl>div{display:grid;grid-template-columns:105px 1fr;gap:24px;border-bottom:1px solid var(--company-line);padding-block:17px}
.company-profile-page .ihonest-company-profile dt{font-size:14px;line-height:2;font-weight:500}
.company-profile-page .ihonest-company-history ol{margin-top:40px}
.company-profile-page .ihonest-company-history li{display:grid;grid-template-columns:80px 1fr;gap:25px;position:relative;padding-bottom:30px}
.company-profile-page .ihonest-company-year{font-family:var(--company-serif);color:var(--company-copper)}
.company-profile-page .ihonest-company-history li>div{border-left:1px solid #c7b7a4;padding-left:25px}
.company-profile-page .ihonest-company-history li>div:before{content:"";position:absolute;left:102px;top:10px;width:7px;height:7px;border-radius:50%;background:var(--company-copper)}
.company-profile-page .ihonest-company-history h3{font-family:"Noto Sans JP",sans-serif;font-size:17px;line-height:1.8;margin-bottom:14px}
.company-profile-page .ihonest-company-final{text-align:center;background:#f3efe8}
.company-profile-page .ihonest-company-final .ihonest-company-label{justify-content:center}
.company-profile-page .ihonest-company-final h2{font-size:38px;max-width:900px;margin:auto}
.company-profile-page .ihonest-company-final>div>p:not(.ihonest-company-label){margin-top:20px}
.company-profile-page .ihonest-company-actions{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:32px}
.company-profile-page .ihonest-company-button{display:flex;justify-content:space-between;align-items:center;gap:35px;border:1px solid #94755a;padding:16px 26px;min-height:58px;background:#fff;font-size:16px;transition:background .3s,color .3s,translate .3s}
.company-profile-page .ihonest-company-primary{background:#80543a;color:#fff!important}
.company-profile-page .ihonest-company-arrow{display:inline-block;transition:translate .3s}
@media(hover:hover){.company-profile-page .ihonest-company-services>a:hover img{transform:scale(1.04)}.company-profile-page .ihonest-company-main a:hover .ihonest-company-arrow{translate:4px 0}.company-profile-page .ihonest-company-button:hover{translate:0 -3px;background:#ece4d9}.company-profile-page .ihonest-company-primary:hover{background:#624029}}
@media(max-width:1100px){.company-profile-page .ihonest-company-wrap{width:calc(100% - 80px)}.company-profile-page .ihonest-company-hero-copy>*{max-width:600px}.company-profile-page .ihonest-company-hero h1{font-size:56px}.company-profile-page .ihonest-company-hero-copy>p:not(.ihonest-company-label){max-width:430px}.company-profile-page .ihonest-company-belief-intro,.company-profile-page .ihonest-company-purpose,.company-profile-page .ihonest-company-vision,.company-profile-page .ihonest-company-message-grid,.company-profile-page .ihonest-company-culture{gap:45px}.company-profile-page .ihonest-company-facts{gap:40px}.company-profile-page .ihonest-company-services{gap:15px}.company-profile-page .ihonest-company-service-copy{padding:20px 18px 60px}.company-profile-page .ihonest-company-service-copy h4{font-size:23px}.company-profile-page .ihonest-company-roles{gap:25px}}
@media(max-width:1000px){.company-profile-page .ihonest-company-facts{display:block}.company-profile-page .ihonest-company-history{padding-top:0}.company-profile-page .ihonest-company-message-grid{grid-template-columns:.85fr 1.15fr;gap:32px}.company-profile-page .ihonest-company-main h2{font-size:36px}.company-profile-page .ihonest-company-service-copy h4{font-size:22px}.company-profile-page .ihonest-company-values-grid{gap:40px}}
@media(max-width:767px){.company-profile-page .ihonest-company-wrap{width:calc(100% - 44px)}.company-profile-page .ihonest-company-section{padding-block:64px}.company-profile-page .ihonest-company-main h2{font-size:32px}.company-profile-page .ihonest-company-main h3{font-size:26px}.company-profile-page .ihonest-company-label{font-size:11px;gap:18px;margin-bottom:22px}.company-profile-page .ihonest-company-label>span{font-size:24px}.company-profile-page .ihonest-company-hero{display:block;min-height:0}.company-profile-page .ihonest-company-hero-copy{padding-block:45px}.company-profile-page .ihonest-company-hero h1{font-size:clamp(32px,8.8vw,44px);letter-spacing:0}.company-profile-page .ihonest-company-hero-visual{position:relative;inset:auto;height:210px}.company-profile-page .ihonest-company-hero-visual>div{border-left:0;border-top:1px dashed #b8ad9e}.company-profile-page .ihonest-company-jumps{gap:20px}.company-profile-page .ihonest-company-jumps a{gap:20px}.company-profile-page .ihonest-company-belief-intro,.company-profile-page .ihonest-company-purpose,.company-profile-page .ihonest-company-vision{display:block;margin-top:32px}.company-profile-page .ihonest-company-philosophy h3{font-size:64px;margin-bottom:20px}.company-profile-page .ihonest-company-belief-intro .ihonest-company-placeholder{margin-top:30px}.company-profile-page .ihonest-company-purpose>p,.company-profile-page .ihonest-company-vision>p{margin-top:22px}.company-profile-page .ihonest-company-roles{display:block;margin-top:32px}.company-profile-page .ihonest-company-roles>div{padding-block:24px}.company-profile-page .ihonest-company-business-heading{margin-top:40px}.company-profile-page .ihonest-company-services{grid-template-columns:1fr;gap:25px}.company-profile-page .ihonest-company-service-visual{aspect-ratio:8/5}.company-profile-page .ihonest-company-service-copy{padding:22px 22px 55px}.company-profile-page .ihonest-company-service-copy h4{font-size:28px}.company-profile-page .ihonest-company-values-grid{display:block}.company-profile-page .ihonest-company-values ol{margin-top:32px}.company-profile-page .ihonest-company-values li{gap:20px}.company-profile-page .ihonest-company-values li h3{font-size:29px;gap:16px}.company-profile-page .ihonest-company-culture{display:block;margin-top:50px}.company-profile-page .ihonest-company-culture .ihonest-company-photo{margin-top:30px}.company-profile-page .ihonest-company-culture-items{display:block}.company-profile-page .ihonest-company-culture-items>div{padding-block:20px}.company-profile-page .ihonest-company-profile dl>div{grid-template-columns:96px 1fr;gap:14px}.company-profile-page .ihonest-company-profile dt{font-size:13px}.company-profile-page .ihonest-company-history{padding-top:0}.company-profile-page .ihonest-company-history li{grid-template-columns:65px 1fr;gap:15px}.company-profile-page .ihonest-company-history li>div{padding-left:20px}.company-profile-page .ihonest-company-history li>div:before{left:77px}.company-profile-page .ihonest-company-history h3{font-size:17px}.company-profile-page .ihonest-company-final h2{font-size:30px}.company-profile-page .ihonest-company-actions{display:grid;gap:16px}.company-profile-page .ihonest-company-button{gap:20px;padding:16px 20px}}
/* 参考サイトの太字と重なる動きを、独自の配色・図形で会社ページ内だけに適用。 */
.company-profile-page .ihonest-company-main :is(h1,h2,h3,h4){font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-weight:700;line-height:1.55;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal;line-break:strict;text-wrap:balance}
.company-profile-page .ihonest-company-main :is(p,dd){word-break:normal;line-break:strict;overflow-wrap:break-word;text-wrap:pretty}
.company-profile-page .ihonest-company-label>.ihonest-company-label-text{font:inherit;color:inherit;flex:1;min-width:0;white-space:normal}
.company-profile-page .ihonest-company-phrase{display:inline-block;white-space:nowrap;max-width:100%}
.company-profile-page .ihonest-company-main :is(h2,h3){max-width:100%}
.company-profile-page .ihonest-company-hero{background-color:#fff;background-image:linear-gradient(#d8d3cb38 1px,transparent 1px),linear-gradient(90deg,#d8d3cb38 1px,transparent 1px);background-size:72px 72px;min-height:720px;overflow:hidden}
.company-profile-page .ihonest-company-hero-copy{padding-block:75px 85px}
.company-profile-page .ihonest-company-hero-copy>*{max-width:900px}
.company-profile-page .ihonest-company-main .ihonest-company-display{font-family:Arial Black,Arial,sans-serif;font-size:clamp(68px,10.8vw,156px);line-height:1;font-weight:900;letter-spacing:-.075em;margin:0 0 32px;max-width:100%;color:#272825}
.company-profile-page .ihonest-company-hero-copy>p.ihonest-company-display{max-width:none;width:max-content;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.company-profile-page .ihonest-company-hero h1{font-size:clamp(42px,4.6vw,66px);line-height:1.4;margin-bottom:25px}
.company-profile-page .ihonest-company-hero-copy>p:not(.ihonest-company-label):not(.ihonest-company-display){max-width:640px}
.company-profile-page .ihonest-company-hero-copy{z-index:1}
.company-profile-page .ihonest-company-label{letter-spacing:.1em;font-weight:500}
.company-profile-page .ihonest-company-label>span,.company-profile-page .ihonest-company-signature,.company-profile-page .ihonest-company-values li>span,.company-profile-page .ihonest-company-history .ihonest-company-year{font-family:"Noto Sans JP",Arial,sans-serif;font-style:normal}
.company-profile-page .ihonest-company-aura{position:absolute;right:-6%;top:10%;width:630px;height:630px;pointer-events:none;z-index:0;opacity:.58;isolation:isolate}
.company-profile-page .ihonest-company-aura i{position:absolute;inset:6%;border-radius:42% 58% 56% 44% / 45% 40% 60% 55%;background:#e4c2a5;mix-blend-mode:multiply;animation:company-aura-drift 13s ease-in-out infinite alternate;animation-play-state:paused}
.company-profile-page .ihonest-company-aura i:nth-child(2){background:#c9d9d5;inset:0 12% 10% 0;animation-duration:17s;animation-delay:-7s}
.company-profile-page .ihonest-company-aura i:nth-child(3){background:#e0d5b8;inset:10% 0 0 10%;animation-duration:19s;animation-delay:-11s}
.company-profile-page .company-motion-visible .ihonest-company-aura i{animation-play-state:running}
@keyframes company-aura-drift{0%{transform:rotate(-14deg) translate(-18px,10px);border-radius:42% 58% 56% 44% / 45% 40% 60% 55%}50%{transform:rotate(50deg) translate(16px,-14px);border-radius:60% 40% 42% 58% / 52% 60% 40% 48%}100%{transform:rotate(125deg) translate(-10px,22px);border-radius:45% 55% 65% 35% / 60% 35% 65% 40%}}
.company-profile-page .ihonest-company-belief-intro{grid-template-columns:1fr 1.1fr;margin-top:45px}
.company-profile-page .ihonest-company-philosophy h3{font-size:clamp(68px,7vw,100px);letter-spacing:-.055em;margin:0;color:#80543a}
.company-profile-page .ihonest-company-purpose h3,.company-profile-page .ihonest-company-vision h3{font-size:28px}
.company-profile-page .ihonest-company-roles h3{font-size:24px}
.company-profile-page .ihonest-company-message{background:#eff2f0}
.company-profile-page .ihonest-company-message-copy h3{font-size:29px;text-wrap:pretty}
.company-profile-page .ihonest-company-values-grid{grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-top:40px}
.company-profile-page .ihonest-company-values-diagram{position:relative;aspect-ratio:1;width:100%;max-width:560px;margin-inline:auto}
.company-profile-page .ihonest-company-values-diagram svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#bca88f;stroke-width:1.5}
.company-profile-page .ihonest-company-values-diagram svg>circle{stroke-dasharray:3 12;stroke-width:2;transform-origin:center;animation:company-values-orbit 36s linear infinite;animation-play-state:paused}
.company-profile-page .company-motion-visible .ihonest-company-values-diagram svg>circle{animation-play-state:running}
@keyframes company-values-orbit{to{transform:rotate(360deg)}}
.company-profile-page .ihonest-company-values-center{position:absolute;left:50%;top:50%;translate:-50% -50%;width:33%;aspect-ratio:1;border-radius:50%;background:#fff;border:1px solid #d4cbbd;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;text-align:center}
.company-profile-page .ihonest-company-values-center span{font:900 clamp(15px,2vw,26px)/1 Arial,sans-serif;letter-spacing:-.03em}
.company-profile-page .ihonest-company-values-center strong{font-size:clamp(9px,1.1vw,13px);font-weight:500}
.company-profile-page .ihonest-company-main .ihonest-company-value-node{position:absolute;translate:-50% -50%;width:23%;aspect-ratio:1;border-radius:50%;background:#f2e6d8;border:1px solid #c5a482;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;transition:scale .3s,background .3s,border-color .3s;color:#342d23}
.company-profile-page .ihonest-company-value-node strong{font-size:clamp(19px,2.4vw,29px);font-weight:700;line-height:1.4}
.company-profile-page .ihonest-company-value-node small{font-size:12px;letter-spacing:.08em}
.company-profile-page .ihonest-company-value-node[data-value="1"]{left:50%;top:13%}
.company-profile-page .ihonest-company-value-node[data-value="2"]{left:85.2%;top:38.6%;background:#e2ebe7;border-color:#a2b9af}
.company-profile-page .ihonest-company-value-node[data-value="3"]{left:71.8%;top:80%;background:#e5e9ef;border-color:#aab7c7}
.company-profile-page .ihonest-company-value-node[data-value="4"]{left:28.2%;top:80%;background:#eee3e3;border-color:#c9adaa}
.company-profile-page .ihonest-company-value-node[data-value="5"]{left:14.8%;top:38.6%;background:#eeeadb;border-color:#c6ba8f}
.company-profile-page .ihonest-company-values li{padding-block:22px;transition:background .3s,border-color .3s}
.company-profile-page .ihonest-company-values li h3{font-size:28px}
.company-profile-page .ihonest-company-values li.company-value-active{background:#f7f1e8;border-color:#a77b51}
.company-profile-page .ihonest-company-main .ihonest-company-value-node.company-value-active{scale:1.07;border-width:2px}
.company-profile-page .ihonest-company-profile dd{overflow-wrap:anywhere;text-wrap:wrap}
.company-profile-page .ihonest-company-final{background:#f1eee7}
.company-profile-page .ihonest-company-final h2{max-width:980px;font-size:38px}
@media(hover:hover){.company-profile-page .ihonest-company-main .ihonest-company-value-node:hover{scale:1.07;border-width:2px}.company-profile-page .ihonest-company-jumps a:hover{color:#9b5c33}.company-profile-page .ihonest-company-photo img{transition:filter .5s}.company-profile-page .ihonest-company-photo:hover img{filter:brightness(1.035)}}
@media(max-width:1100px){.company-profile-page .ihonest-company-values-grid{gap:40px}.company-profile-page .ihonest-company-aura{width:520px;height:520px;right:-12%;top:18%}.company-profile-page .ihonest-company-purpose h3,.company-profile-page .ihonest-company-vision h3{font-size:25px}.company-profile-page .ihonest-company-roles h3{font-size:21px}}
@media(max-width:900px){.company-profile-page .ihonest-company-values-grid{display:block}.company-profile-page .ihonest-company-values-diagram{max-width:510px;margin-bottom:35px}.company-profile-page .ihonest-company-value-node strong{font-size:28px}.company-profile-page .ihonest-company-values-center span{font-size:25px}.company-profile-page .ihonest-company-values-center strong{font-size:12px}.company-profile-page .ihonest-company-roles{display:block}.company-profile-page .ihonest-company-roles>div{padding-block:25px}.company-profile-page .ihonest-company-roles h3{font-size:25px}}
@media(max-width:767px){.company-profile-page .ihonest-company-hero{min-height:0}.company-profile-page .ihonest-company-hero-copy{padding-block:40px 65px}.company-profile-page .ihonest-company-main .ihonest-company-display{font-size:clamp(54px,12.6vw,90px);letter-spacing:-.07em;margin-bottom:22px}.company-profile-page .ihonest-company-hero h1{font-size:clamp(30px,7.8vw,42px);line-height:1.55}.company-profile-page .ihonest-company-aura{width:370px;height:370px;top:110px;right:-190px;opacity:.32}.company-profile-page .ihonest-company-main h2{font-size:30px;text-wrap:balance}.company-profile-page .ihonest-company-belief-intro{display:block;margin-top:32px}.company-profile-page .ihonest-company-belief-intro>p{margin-top:25px}.company-profile-page .ihonest-company-philosophy h3{font-size:65px}.company-profile-page .ihonest-company-purpose h3,.company-profile-page .ihonest-company-vision h3{font-size:24px}.company-profile-page .ihonest-company-main .ihonest-company-value-node{width:23%}.company-profile-page .ihonest-company-value-node strong{font-size:clamp(18px,5.6vw,26px)}.company-profile-page .ihonest-company-value-node small{font-size:10px}.company-profile-page .ihonest-company-values-center{gap:7px}.company-profile-page .ihonest-company-values-center span{font-size:clamp(14px,4.3vw,22px)}.company-profile-page .ihonest-company-values-center strong{font-size:clamp(8px,2.6vw,12px)}.company-profile-page .ihonest-company-values li h3{font-size:26px}.company-profile-page .ihonest-company-culture h3{font-size:26px}.company-profile-page .ihonest-company-final h2{font-size:28px}.company-profile-page .ihonest-company-profile dl>div{grid-template-columns:90px 1fr;gap:12px}.company-profile-page .ihonest-company-jumps{gap:18px}.company-profile-page .ihonest-company-jumps a{font-size:13px;gap:18px}}
/* 役割は並列の分岐、沿革は時系列の接続として、線の意味を分ける。 */
.company-profile-page .ihonest-company-role-diagram{margin-top:50px;--role-ink:#80543a;--role-tint:#f2e7da}
.company-profile-page .ihonest-company-role-source{position:relative;width:230px;min-height:120px;margin-inline:auto;border:1px solid #c4b39e;border-radius:80px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:#fff;padding:20px}
.company-profile-page .ihonest-company-role-source img{width:150px;height:auto;max-height:65px;object-fit:contain}
.company-profile-page .ihonest-company-role-source>span{font-size:12px;letter-spacing:.1em;color:#766955}
.company-profile-page .ihonest-company-role-source:after{content:"";position:absolute;top:100%;left:50%;height:44px;border-left:2px solid #c5b79f}
.company-profile-page .ihonest-company-role-diagram .ihonest-company-roles{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:88px}
.company-profile-page .ihonest-company-role-diagram .ihonest-company-roles:before{content:"";position:absolute;top:-44px;left:16.6667%;right:16.6667%;border-top:2px solid #c5b79f}
.company-profile-page .ihonest-company-role-diagram .ihonest-company-role-branch{position:relative;border:0;padding:0 28px}
.company-profile-page .ihonest-company-role-branch:nth-child(2){--role-ink:#486b62;--role-tint:#e5eeea}
.company-profile-page .ihonest-company-role-branch:nth-child(3){--role-ink:#566783;--role-tint:#e6ebf3}
.company-profile-page .ihonest-company-role-branch:before{content:"";position:absolute;left:50%;top:-44px;height:44px;border-left:2px solid #c5b79f}
.company-profile-page .ihonest-company-role-diagram dt{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:174px;aspect-ratio:1;margin:0 auto 28px;border:1px solid var(--role-ink);border-radius:50%;background:var(--role-tint);color:var(--role-ink);font-size:19px;font-weight:700;transition:transform .4s}
.company-profile-page .ihonest-company-role-diagram dt:after{content:"";position:absolute;inset:7px;border:1px solid var(--role-ink);border-radius:50%;opacity:.15;animation:company-role-pulse 5s ease-in-out infinite}
.company-profile-page .ihonest-company-role-branch:nth-child(2) dt:after{animation-delay:-1.6s}
.company-profile-page .ihonest-company-role-branch:nth-child(3) dt:after{animation-delay:-3.2s}
.company-profile-page .ihonest-company-role-diagram svg{width:57px;height:57px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.company-profile-page .ihonest-company-role-diagram h3{font-size:24px;text-align:center;line-height:1.65;margin-bottom:18px}
.company-profile-page .ihonest-company-role-diagram dd>p{max-width:360px;margin-inline:auto}
@keyframes company-role-pulse{0%,100%{transform:scale(1);opacity:.15}50%{transform:scale(1.055);opacity:.38}}
.company-profile-page .ihonest-company-history .ihonest-company-history-diagram{margin-top:42px}
.company-profile-page .ihonest-company-history-diagram li{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:27px;min-height:164px;padding:0 0 42px;--history-tone:#80543a;--history-tint:#f1e5d5}
.company-profile-page .ihonest-company-history-diagram li:nth-child(2){--history-tone:#5d7163;--history-tint:#e7eee6}
.company-profile-page .ihonest-company-history-diagram li:nth-child(3){--history-tone:#506d82;--history-tint:#e3edf1}
.company-profile-page .ihonest-company-history-diagram li:nth-child(4){--history-tone:#7b646f;--history-tint:#efe6e9;padding-bottom:0}
.company-profile-page .ihonest-company-history-diagram li:not(:last-child):before{content:"";position:absolute;left:47px;top:96px;bottom:0;width:2px;background:repeating-linear-gradient(to bottom,#c8b8a1 0 6px,transparent 6px 12px);background-size:2px 12px;animation:company-history-travel 1.8s linear infinite}
.company-profile-page .ihonest-company-history-diagram li:not(:last-child):after{content:"";position:absolute;left:43px;bottom:14px;width:10px;height:10px;border-right:1px solid #a68b6a;border-bottom:1px solid #a68b6a;transform:rotate(45deg)}
.company-profile-page .ihonest-company-history-diagram .ihonest-company-year{position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--history-tone);background:var(--history-tint);color:var(--history-tone);font-size:19px;font-weight:700;line-height:1;letter-spacing:-.04em;box-shadow:0 0 0 6px #fff;transition:transform .4s}
.company-profile-page .ihonest-company-history-diagram li>div{border:0;padding:7px 0 0}
.company-profile-page .ihonest-company-history-diagram li>div:before{display:none}
.company-profile-page .ihonest-company-history-diagram h3{font-size:20px;line-height:1.6;letter-spacing:-.03em;color:var(--history-tone);margin-bottom:12px}
@keyframes company-history-travel{to{background-position:0 12px}}
@media(hover:hover){.company-profile-page .ihonest-company-role-branch:hover dt,.company-profile-page .ihonest-company-history-diagram li:hover .ihonest-company-year{transform:translateY(-4px)}}
@media(max-width:1100px){.company-profile-page .ihonest-company-role-diagram .ihonest-company-role-branch{padding-inline:16px}.company-profile-page .ihonest-company-role-diagram h3{font-size:21px}.company-profile-page .ihonest-company-history-diagram li{grid-template-columns:82px minmax(0,1fr);gap:20px}.company-profile-page .ihonest-company-history-diagram .ihonest-company-year{width:82px;height:82px;font-size:17px}.company-profile-page .ihonest-company-history-diagram li:not(:last-child):before{left:40px;top:82px}.company-profile-page .ihonest-company-history-diagram li:not(:last-child):after{left:36px}.company-profile-page .ihonest-company-history-diagram h3{font-size:18px}}
@media(max-width:767px){.company-profile-page .ihonest-company-role-diagram{margin-top:36px}.company-profile-page .ihonest-company-role-source{margin-left:0;width:210px;min-height:110px}.company-profile-page .ihonest-company-role-source:after{left:25px;height:38px}.company-profile-page .ihonest-company-role-diagram .ihonest-company-roles{display:block;margin-top:38px}.company-profile-page .ihonest-company-role-diagram .ihonest-company-roles:before{display:none}.company-profile-page .ihonest-company-role-diagram .ihonest-company-role-branch{padding:0 0 36px 52px}.company-profile-page .ihonest-company-role-branch:before{left:26px;top:0;height:100%;border-color:#c5b79f}.company-profile-page .ihonest-company-role-branch:last-child:before{height:68px}.company-profile-page .ihonest-company-role-branch:after{content:"";position:absolute;left:26px;top:68px;width:26px;border-top:2px solid #c5b79f}.company-profile-page .ihonest-company-role-diagram dt{width:136px;margin:0 0 22px;font-size:17px;gap:6px}.company-profile-page .ihonest-company-role-diagram svg{width:46px;height:46px}.company-profile-page .ihonest-company-role-diagram h3{text-align:left;font-size:21px;margin-bottom:12px}.company-profile-page .ihonest-company-role-diagram dd>p{max-width:none}.company-profile-page .ihonest-company-history-diagram li{grid-template-columns:76px minmax(0,1fr);gap:19px;padding-bottom:38px}.company-profile-page .ihonest-company-history-diagram .ihonest-company-year{width:76px;height:76px;font-size:16px}.company-profile-page .ihonest-company-history-diagram li:not(:last-child):before{left:37px;top:76px}.company-profile-page .ihonest-company-history-diagram li:not(:last-child):after{left:33px}.company-profile-page .ihonest-company-history-diagram h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.company-profile-page .ihonest-company-main *,.company-profile-page .ihonest-company-main *:before,.company-profile-page .ihonest-company-main *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* 代表メッセージはスマホで写真・署名・本文を通常フローに戻す。
   後から読み込む共通CSSのPC用 !important グリッドより、この部品の定義を優先する。 */
.company-profile-page #company-message .ihonest-company-message-mobile-heading { display: none; }
/* 正式な役職は写真の外の署名にある。写真マスク内の重複説明は隠し、PCの写真形状は保つ。 */
.company-profile-page #company-message .ihonest-company-portrait figcaption { visibility: hidden; }
@media (max-width: 767px) {
  .company-profile-page #company-message {
    position: static;
    width: 100%; min-width: 0; height: auto; min-height: 0;
    padding: 40px 20px 64px;
    box-sizing: border-box; overflow: visible;
  }
  .company-profile-page #company-message > .ihonest-company-wrap {
    display: flex; flex-direction: column;
    width: 100%; min-width: 0; max-width: none;
    height: auto; min-height: 0; margin: 0; padding: 0;
  }
  .company-profile-page #company-message .ihonest-company-message-mobile-heading {
    display: block; position: static; inset: auto;
    width: 100%; min-width: 0; max-width: none; height: auto; min-height: 0;
    margin: 24px 0 28px; padding: 0; transform: none; translate: none;
    writing-mode: horizontal-tb; text-orientation: mixed;
    white-space: normal; word-break: normal; overflow-wrap: anywhere;
    font-size: clamp(22px, 6.6vw, 36px); line-height: 1.45; letter-spacing: .02em;
    text-wrap: wrap;
  }
  .company-profile-page #company-message .ihonest-company-message-mobile-heading > span { display: block; }
  .company-profile-page #company-message .ihonest-company-message-grid {
    display: flex !important; flex-direction: column;
    grid-template-columns: none !important; grid-template-rows: none;
    gap: 0 !important;
    width: 100%; min-width: 0; height: auto; min-height: 0; margin: 0;
    align-items: stretch;
  }
  .company-profile-page #company-message .ihonest-company-message-grid > div,
  .company-profile-page #company-message .ihonest-company-signature,
  .company-profile-page #company-message .ihonest-company-signature span {
    position: static; inset: auto; transform: none; translate: none;
    grid-column: auto; grid-row: auto;
    width: 100%; min-width: 0; max-width: 100%; height: auto; min-height: 0;
    margin: 0; padding: 0; box-sizing: border-box;
    writing-mode: horizontal-tb; text-orientation: mixed; white-space: normal;
  }
  .company-profile-page #company-message .ihonest-company-portrait {
    position: relative; inset: auto; width: 100%; min-width: 0;
    height: auto; min-height: 0; margin: 0; padding: 0;
    border-radius: 0 !important; overflow: visible; transform: none;
  }
  .company-profile-page #company-message .ihonest-company-portrait img {
    position: static; display: block; width: 100%; height: auto;
    aspect-ratio: 4 / 3; object-fit: cover; object-position: center;
    border-radius: 16px; transform: none;
  }
  .company-profile-page #company-message .ihonest-company-portrait figcaption,
  .company-profile-page #company-message .ihonest-company-message-mobile-heading ~ .ihonest-company-message-grid .ihonest-company-message-copy > h3 { display: none; }
  .company-profile-page #company-message .ihonest-company-signature {
    margin-top: 20px; font-size: 24px; font-weight: 500; line-height: 1.6;
  }
  .company-profile-page #company-message .ihonest-company-signature span {
    display: block; margin: 0 0 6px; font-size: 14px; line-height: 1.8;
  }
  .company-profile-page #company-message .ihonest-company-message-grid > .ihonest-company-message-copy { margin-top: 28px; }
  .company-profile-page #company-message .ihonest-company-message-copy > p { margin: 0; }
  .company-profile-page #company-message .ihonest-company-message-copy > p + p { margin-top: 20px; }
  .company-profile-page #company-message .ihonest-company-message-mobile-heading::before,
  .company-profile-page #company-message .ihonest-company-message-mobile-heading::after,
  .company-profile-page #company-message .ihonest-company-signature::before,
  .company-profile-page #company-message .ihonest-company-signature::after,
  .company-profile-page #company-message .ihonest-company-signature span::before,
  .company-profile-page #company-message .ihonest-company-signature span::after { content: none; }
}


/* 氏名と直筆署名を一体で見せ、狭い画面では自然な文書フローへ戻す。 */
.company-profile-page .ihonest-company-signature{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-width:0}
.company-profile-page .ihonest-company-signature p{flex:0 1 auto;min-width:0;margin:0}
.company-profile-page .ihonest-company-signature strong{display:block;font:500 28px/1.6 var(--company-serif);white-space:nowrap}
.company-profile-page .ihonest-company-signature img{display:block;width:min(260px,55%);height:auto;max-width:100%;object-fit:contain}

/* 日本語の語中で1文字ずつ折り返さず、意味のまとまりで改行させる。 */
.company-profile-page .ihonest-company-profile dd,
.company-profile-page .ihonest-company-history-diagram h3,
.company-profile-page .ihonest-company-history-diagram li>div>p{word-break:normal;overflow-wrap:break-word;line-break:strict}

@media(max-width:767px){
 .company-profile-page .ihonest-company-signature{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,48%);align-items:end;gap:12px 18px;margin-top:18px}
 .company-profile-page .ihonest-company-signature strong{font-size:24px;line-height:1.5}
 .company-profile-page .ihonest-company-signature img{width:100%;max-width:220px;justify-self:end}
 .company-profile-page .ihonest-company-profile dd{font-size:14px;line-height:1.8}
}
@media(max-width:359px){
 .company-profile-page .ihonest-company-signature{grid-template-columns:1fr}
 .company-profile-page .ihonest-company-signature img{width:min(220px,76%);justify-self:start}
}
