/* 会社概要専用。共通のヘッダー・連絡先は既存の下層ページから継承する。 */
.about-prototype{background:#fff}
.about-page{overflow-x:clip}
.about-page p{line-height:2}
.about-page section[id]{scroll-margin-top:-55px}
.about-page h2{font-size:clamp(30px,3.8vw,50px);line-height:1.5}
.about-page .hl{color:inherit}
.about-hero{position:relative;isolation:isolate;min-height:700px;padding:70px 0 150px;display:flex;align-items:center}
.about-hero__inner{position:relative;z-index:2}
.about-hero__content{width:63%;max-width:745px}
.about-hero__overline{font-size:15px!important;color:var(--brand-text);font-weight:700;margin-bottom:28px}
.about-hero__title{font-size:clamp(42px,5.4vw,78px);line-height:1.45;margin-bottom:28px;letter-spacing:-.03em!important}
.about-hero__title-line{display:inline-block;white-space:nowrap}
.about-hero__title-line:last-child{color:var(--brand-text);font-weight:900}
.about-hero__lead{max-width:600px}
.about-hero__visual{position:absolute;right:4%;bottom:90px;width:34%;max-width:480px;z-index:1}
.about-hero__visual>svg{display:block;width:100%;height:auto}
.about-hero__bg-en{position:absolute;left:-1%;bottom:45px;font:900 clamp(85px,16vw,250px)/1 var(--font-site);letter-spacing:-.065em;color:transparent;-webkit-text-stroke:1px #1f2c3a14;z-index:-1;white-space:nowrap;pointer-events:none}
.about-ribbon{position:absolute;left:0;bottom:-14px;width:100%;height:190px;overflow:visible;z-index:-2;fill:none;pointer-events:none}
.about-ribbon__wash{stroke:var(--aqua);stroke-width:80}
.about-ribbon__line{stroke:#de648470;stroke-width:1.5}
.about-index{position:relative;display:flex;justify-content:flex-end;gap:30px;flex-wrap:wrap;padding-block:25px 55px;z-index:3}
.about-index a{font-size:14px;font-weight:700;display:flex;align-items:center;gap:18px;min-height:44px;border-bottom:1px solid var(--line)}
.about-index a:after{content:"";width:6px;height:6px;border-bottom:1px solid var(--brand-text);border-right:1px solid var(--brand-text);rotate:45deg;margin-top:-3px}
.about-index a:hover{color:var(--brand-text)}
.about-message{position:relative;background:var(--aqua);padding:100px 0 110px;border-radius:60% 0 0 0/40px 0 0 0}
.about-message__header{margin-bottom:50px}
.about-message__grid{display:grid;grid-template-columns:32% 1fr;gap:9%;align-items:start}
.about-message__visual{position:relative;max-width:360px;isolation:isolate}
.about-message__visual:before{content:"";position:absolute;inset:-12px 16px 28px -12px;border:1px solid #2396ad55;border-radius:48% 48% 18px 18px;z-index:-1;transform:rotate(-5deg)}
.about-message__visual:after{content:"";position:absolute;right:-10px;top:23px;width:32px;height:8px;background:var(--lemon);transform:rotate(25deg)}
.about-message__visual img{display:block;width:100%;height:auto;border-radius:48% 48% 12px 12px;aspect-ratio:1;object-fit:cover}
.about-message__visual-cap{display:block;font-size:12px;line-height:1.8;margin-top:20px}
.about-message__body p{margin:0 0 28px;line-height:2.15}
.about-message__body strong{font-weight:700;text-decoration:underline;text-decoration-color:#de648450;text-decoration-thickness:5px;text-underline-offset:-2px;text-decoration-skip-ink:none}
.about-tried{list-style:none;padding:4px 0 20px;margin:0;display:flex;flex-wrap:wrap;gap:14px 26px}
.about-tried__item{font-size:15px;display:flex;align-items:center;gap:10px}
.about-tried__icon svg{width:32px;height:32px;display:block}
.about-message__body .about-message__signature{text-align:right;font-size:14px;margin:42px 0 0}
.about-message__signature-name{display:block;font-family:'Yuji Syuku',serif;font-size:40px;line-height:1.8;margin-top:6px}
.about-vision{position:relative;isolation:isolate;padding:100px 0 105px;background:#fff;overflow:clip}
.about-vision:before{content:"";position:absolute;z-index:-1;width:52%;height:85%;right:-14%;top:-8%;border:50px solid #fbe3ea90;border-radius:48% 52% 44% 56%;rotate:-22deg;pointer-events:none}
.about-vision__header{margin-bottom:42px}
.about-vision__title{max-width:800px}
.about-vision__title .hl{color:var(--brand-text)}
.about-vision__grid{display:grid;grid-template-columns:58% 1fr;gap:7%;align-items:start}
.about-vision__body>p{margin-bottom:24px}
.about-vision__visual{max-width:350px;width:100%;margin:30px 0 0}
.about-vision__visual>svg{width:100%;height:auto;display:block}
.about-vision__links{display:flex;flex-direction:column;margin-top:38px;border-top:1px solid var(--line)}
.about-vision__links a{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:16px;font-weight:700;border-bottom:1px solid var(--line);padding:18px 0;min-height:56px}
.about-vision__links a:after{content:"";flex-shrink:0;width:8px;height:8px;border-right:1px solid var(--brand-text);border-top:1px solid var(--brand-text);rotate:45deg;margin-right:8px}
.about-vision__links a:hover{color:var(--brand-text)}
.about-info{background:#f5f9fd;background-image:radial-gradient(#2396ad18 .7px,transparent .7px);background-size:14px 14px;padding:90px 0 105px}
.about-info__header{margin-bottom:40px}
.about-info__layout{display:grid;grid-template-columns:29% 1fr;gap:9%;align-items:start}
.about-info__art{max-width:320px;margin-top:26px}
.about-info__art>svg{width:100%;height:auto;display:block}
.about-info__grid{margin:0}
.about-info__cell{display:grid;grid-template-columns:112px 1fr;gap:20px;padding:24px 0;border-top:1px solid #1f2c3a28}
.about-info__cell:last-child{border-bottom:1px solid #1f2c3a28}
.about-info__term{font-size:14px;font-weight:700;padding-top:4px}
.about-info__term-en{display:none}
.about-info__desc{margin:0;font-size:17px;line-height:1.9;overflow-wrap:anywhere}
.about-info__desc-main{display:block;font-weight:600}
.about-info__desc-sub{display:block;font-size:13px;margin-top:4px;color:#526273}
.about-info__desc a{text-decoration:underline;text-underline-offset:4px}
.about-info__cell--group{margin-top:20px}
.about-access{background:#fff;padding:90px 0 100px}
.about-access__header{margin-bottom:42px}
.about-access__grid{display:grid;grid-template-columns:32% 1fr;gap:7%;align-items:center}
.about-route__figure{position:relative}
.about-route__art svg{display:block;width:100%;height:auto}
.about-route__draw{width:230px}
.about-route__via{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);font-size:13px;background:var(--lemon);padding:3px 12px;white-space:nowrap;border-radius:3px}
.about-route__labels{display:flex;justify-content:space-between;gap:20px;margin-top:18px!important;font-size:15px!important;font-weight:700}
.about-route__labels small{display:block;font-size:12px;font-weight:400;margin-top:4px;line-height:1.8}
.about-route__to{text-align:right}
.about-access__map-link{display:flex;justify-content:center;gap:15px;font-weight:700;font-size:15px;border:1px solid var(--line);border-radius:999px;padding:13px 18px;margin-top:30px}
.about-access__map-link:hover{background:var(--aqua)}
.about-access__map{border:1px solid var(--line);border-radius:22px;overflow:hidden;min-width:0}
.about-access__map iframe{display:block;width:100%;height:370px;border:0;filter:none}
.about-final-cta{background:var(--rose)}
.about-final-cta .final-cta__title{font-size:clamp(32px,3.5vw,48px)}
.il-cta__block{display:none}
@media(min-width:1024px){.about-message__visual{width:250px;max-width:100%;justify-self:center}}
@media(max-width:1023px){
 .about-hero{min-height:620px;padding:65px 0 140px}.about-hero__content{width:66%}.about-hero__title{font-size:5.4vw}.about-hero__visual{width:32%;right:2%;bottom:90px}
 .about-message__grid{grid-template-columns:29% 1fr;gap:6%}.about-message__visual-cap{font-size:11px}
 .about-info__layout{grid-template-columns:24% 1fr;gap:6%}.about-info__cell{grid-template-columns:95px 1fr;gap:12px}
 .about-access__grid{grid-template-columns:36% 1fr;gap:5%}.about-access__map iframe{height:320px}
}
@media(max-width:767px){
 .about-page section[id]{scroll-margin-top:-40px}.about-page h2{font-size:30px}
 .about-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:44px 0 100px}.about-hero__inner{order:0}.about-hero__content{width:100%;max-width:none}
 .about-hero__overline{font-size:14px!important;margin-bottom:20px}.about-hero__title{font-size:clamp(32px,10vw,60px);line-height:1.5;margin-bottom:24px}
 .about-hero__visual{position:relative;order:1;width:66%;max-width:270px;right:auto;bottom:auto;align-self:center;margin:22px auto 0}
 .about-hero__bg-en{font-size:21vw;bottom:32px;left:0}.about-ribbon{height:100px;bottom:-5px}
 .about-index{justify-content:start;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;padding-block:15px 42px}.about-index a{font-size:13px;gap:8px;justify-content:space-between}
 .about-message{padding:60px 0 65px;border-radius:70% 0 0 0/22px 0 0 0}.about-message__header{margin-bottom:32px}
 .about-message__grid{display:flex;flex-direction:column;gap:38px}.about-message__visual{width:60%;max-width:240px;align-self:center}
 .about-message__visual-cap{font-size:11px;margin-top:16px;text-align:center}.about-message__body p{font-size:16px;line-height:2.05;margin-bottom:24px}
 .about-tried{gap:12px;flex-direction:column;padding-bottom:20px}.about-tried__item{font-size:15px}.about-message__body .about-message__signature{font-size:12px;margin-top:32px}.about-message__signature-name{font-size:36px}
 .about-vision{padding:65px 0}.about-vision__header{margin-bottom:26px}.about-vision__grid{display:flex;flex-direction:column;gap:24px}.about-vision__visual{order:-1;max-width:235px;align-self:center;margin:0}.about-vision__body>p{font-size:16px}
 .about-vision:before{width:95%;height:30%;right:-50%;border-width:28px}.about-vision__links a{font-size:15px;padding:17px 0}
 .about-info{padding:60px 0}.about-info__header{margin-bottom:25px}.about-info__layout{display:block}.about-info__art{width:60%;max-width:220px;margin:0 auto 32px}
 .about-info__cell{grid-template-columns:77px 1fr;gap:12px;padding:21px 0}.about-info__term{font-size:13px}.about-info__desc{font-size:15px}.about-info__desc-sub{font-size:12px}.about-info__cell--group{margin-top:15px}
 .about-access{padding:60px 0 65px}.about-access__header{margin-bottom:30px}.about-access__grid{grid-template-columns:1fr;gap:32px}.about-access__info{width:100%;max-width:360px;margin:auto}.about-route__art{max-width:320px;margin:auto}.about-access__map iframe{height:320px}
 .about-final-cta .final-cta__title{font-size:32px}
}
@media(prefers-reduced-motion:reduce){.about-ribbon{translate:none!important}.about-message__visual,.about-info__art{position:relative!important}}

/* 事業ごとに行を分け、長い連続リンクの途中折り返しを防ぐ。 */
.about-info__business{display:grid;gap:24px;margin:0;padding:0;list-style:none;overflow-wrap:normal}
.about-info__business>li{margin:0;padding:0}
.about-info__business strong{display:block;font-size:17px;font-weight:700;line-height:1.8}
.about-info__business-services{display:grid;gap:6px;margin:9px 0 0;padding:0 0 0 1em;list-style:none;font-size:14px;font-weight:400;line-height:1.9;color:#526273}
.about-info__business-services>li{margin:0;padding:0}
.about-info__business+.about-info__desc-sub{margin-top:24px}
@media(max-width:767px){.about-info__business strong{font-size:16px}}
@media(max-width:767px){.about-info__cell:has(.about-info__business){grid-template-columns:1fr;gap:12px}}

/* 会社概要。冒頭の書類、代表の文章、AIの図、会社情報で動き方を変える。 */
.about-page section[id]{scroll-margin-top:108px}
.about-phrase{display:inline-block;white-space:nowrap}
.about-arrival{display:inline-block}
.about-vision:before{display:none}
.about-hero__bg-en{opacity:.55}
.about-motion .about-hero{min-height:0;padding:55px 0 115px}
.about-motion .about-hero__content{width:62%}
.about-motion .about-hero__visual{bottom:60px}
.about-opening.is-pinned>.about-hero{position:sticky;top:104px}
.about-motion .about-hero__title-line{transform:translateX(calc(var(--opening,0)*-22vw));opacity:calc(1 - var(--opening,0)*.65)}
.about-motion .about-hero__title-line:last-child{transform:translateX(calc(var(--opening,0)*16vw))}
.about-motion .about-hero__lead{transform:translateY(calc(var(--opening,0)*-35px));opacity:calc(1 - var(--opening,0)*.45)}
.about-motion .about-hero__card{transform-box:fill-box;transform-origin:center;transition:none}
.about-motion .about-hero__card--side{transform:translate(calc(var(--opening,0)*65px),calc(var(--opening,0)*-60px)) rotate(calc(var(--opening,0)*14deg))}
.about-motion .about-hero__card--main{transform:translate(calc(var(--opening,0)*-95px),calc(var(--opening,0)*25px)) rotate(calc(var(--opening,0)*-8deg))}
.about-motion .about-hero__badge--lens{transform:translate(calc(var(--opening,0)*-85px),calc(var(--opening,0)*-85px))}
.about-motion .about-hero__badge--talk{transform:translateY(calc(var(--opening,0)*-50px))}
.about-motion .about-ribbon{transform:translateY(calc(var(--opening,0)*-45px))}
.about-message{padding-block:120px;border-radius:0}
.about-message__header,.about-vision__header,.about-info__header,.about-access__header{overflow:clip}
.about-motion .about-page header>h2{transform:translateX(calc((1 - var(--heading,1))*-105vw))}
.about-motion .about-page header>.editorial-index{opacity:var(--heading,1)}
.about-reading{position:relative;margin-bottom:38px}
.about-reading>p{margin-bottom:0!important}
.about-motion .about-reading>p{opacity:calc(.18 + var(--read,1)*.82);clip-path:inset(0 0 calc((1 - var(--read,1))*32%) 0);transform:translateY(calc((1 - var(--read,1))*42px))}
.about-motion .about-tried__item{transform:translateX(calc((1 - var(--card,1))*105vw));opacity:var(--card,1)}
.about-motion .about-message__visual img{clip-path:inset(calc((1 - var(--portrait,1))*35%) 0 round 48% 48% 12px 12px);filter:grayscale(calc(1 - var(--portrait,1)))}
.about-motion .about-screen-line{transform-box:fill-box;transform-origin:left;transform:scaleX(clamp(0,calc(var(--vision,1)*4 - var(--line-order)*.62),1))}
.about-motion .about-vision__visual>svg{transform:rotate(calc((1 - var(--vision,1))*-8deg))}
.about-info__grid .about-info__cell{border-bottom:0}
.about-fact:last-child{border-bottom:1px solid #1f2c3a28}
.about-motion .about-fact>:is(dt,dd){transform:perspective(900px) translateY(calc((1 - var(--fact,1))*64px)) rotateX(calc((1 - var(--fact,1))*-24deg));transform-origin:top;opacity:calc(.15 + var(--fact,1)*.85)}
.about-motion .about-info__art{clip-path:inset(calc((1 - var(--building,1))*100%) 0 0)}
.about-motion .about-route__draw{width:calc(var(--route,1)*230px)}
.about-ending{position:relative;isolation:isolate;overflow-x:clip}
.about-ending.is-pinned{overflow:visible}
.about-ending.is-pinned .about-ending__stage{position:sticky;top:104px;isolation:isolate;overflow:clip}
.about-ending.is-pinned .about-access,.about-ending.is-pinned .about-final-cta{position:absolute;inset:0;display:flex;align-items:center;padding-block:40px}
.about-ending.is-pinned .about-access{z-index:2;transform:translateX(calc(var(--leave,0)*-105%));background:#fff}
.about-ending.is-pinned .about-final-cta{z-index:1}
.about-ending.is-pinned .final-cta__inner{transform:translateX(calc((1 - var(--leave,0))*26vw));opacity:var(--leave,0)}
.about-motion .about-ending:not(.is-pinned) .about-final-cta{clip-path:inset(0 0 0 calc((1 - var(--arrival,1))*100%))}
.about-motion .about-ending:not(.is-pinned) .final-cta__inner{transform:translateX(calc((1 - var(--arrival,1))*30vw))}
.about-fact:focus-within>:is(dt,dd),.about-reading:focus-within>p,.about-final-cta:focus-within,.about-final-cta:focus-within .final-cta__inner{transform:none!important;opacity:1!important;clip-path:none!important}
.about-final-cta .final-cta__primary{white-space:nowrap}
.about-vision__links a{display:block;padding-right:30px;position:relative}
.about-vision__links a:after{position:absolute;right:0;top:calc(50% - 4px)}
.about-vision__links .about-phrase{white-space:normal;overflow-wrap:normal}
.about-vision__links .about-phrase:last-child{white-space:nowrap}
@media(min-width:768px){
 .about-motion .about-message__visual,.about-motion .about-vision__visual,.about-motion .about-info__art{position:sticky;top:145px}
 .about-message__body{padding-top:12px}
 .about-vision__body .about-reading{margin-bottom:64px}
 .about-vision__grid{grid-template-columns:55% 1fr}
 .about-vision__visual{max-width:440px}
}
@media(max-width:767px){
 .about-page section[id]{scroll-margin-top:92px}
 .about-motion .about-hero{padding:26px 0 60px}
 .about-motion .about-hero__content{width:100%}
 .about-motion .about-hero__visual{bottom:auto;width:60%;max-width:230px;margin:24px auto 0}
 .about-motion .about-hero__title{font-size:clamp(30px,9.2vw,42px);margin-bottom:20px}
 .about-motion .about-hero__overline{margin-bottom:14px}
 .about-opening.is-pinned>.about-hero,.about-ending.is-pinned .about-ending__stage{top:88px}
 .about-message{padding-block:72px}
 .about-reading{margin-bottom:36px}
 .about-vision__body .about-reading{margin-bottom:36px}
 .about-vision__title{font-size:clamp(27px,7.5vw,32px)!important}
 .about-vision__visual{width:80%;max-width:300px}
 .about-info__cell{padding-block:26px}
 .about-final-cta .final-cta__sub-link{flex-direction:column;align-items:flex-start;gap:22px}
 .about-final-cta .final-cta__buttons{align-items:stretch;flex-direction:column}
 .about-final-cta .final-cta__buttons>a{text-align:center;justify-content:center}
 .about-final-cta .about-final-cta__tel{display:flex;flex-wrap:wrap;gap:4px 10px}
 .about-final-cta__tel-hours{white-space:nowrap}
 .about-ending.is-pinned .about-access,.about-ending.is-pinned .about-final-cta{padding-block:25px}
}
@media(prefers-reduced-motion:reduce){
 .about-page *{animation:none!important;transition:none!important}
}
/* 補助リンクもスマホで指を置ける高さを確保する。 */
.about-final-cta .final-cta__sub-link a{display:inline-flex;align-items:center;flex-wrap:wrap;min-height:44px}

@media(min-width:768px){.about-opening.is-pinned .about-hero__visual{top:50%;bottom:auto;transform:translateY(-50%)}}

/* 代表メッセージとビジョンを、同じ画面で展開する一続きの章にする。 */
.about-story{position:relative;background:var(--aqua);padding:100px max(32px,calc((100vw - 1160px)/2)) 90px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8%;align-items:start}
.about-story__content{min-width:0}
.about-story .about-message,.about-story .about-vision{background:transparent;padding:0;border:0;overflow:visible;isolation:auto}
.about-story .about-message__header,.about-story .about-vision__header{margin:0 0 35px;overflow:visible}
.about-story .about-message__header h2,.about-story .about-vision__header h2{font-size:15px!important;font-weight:700;color:var(--teal-dark,#1D6B7E);line-height:1.8;transform:none!important;opacity:1}
.about-story .about-vision__header{padding-top:40px}
.about-story .editorial-index{display:none}
.about-story__scene{padding:0 0 90px;position:relative}
.about-story.is-story .about-story__scene{min-height:calc(var(--motion-vh,1svh) * 76);padding-bottom:120px}
.about-story .about-story__heading{font-size:clamp(28px,3vw,42px);line-height:1.55;letter-spacing:-.03em;margin:0 0 38px;font-weight:800}
.about-story__heading .about-phrase{display:block}
.about-story__scene p{font-size:17px;line-height:2.1;margin:0 0 30px}
.about-story__scene strong{font-weight:700}
.about-story .about-tried{padding:8px 0 24px;gap:12px 18px}
.about-story .about-tried__item{transform:none!important;opacity:1!important;font-size:14px}
.about-story__scene .about-message__signature{text-align:right;font-size:13px;margin-top:36px}
.about-story__visual{position:sticky;top:140px;align-self:start;width:100%;pointer-events:none}
.about-story__sheet{position:relative;aspect-ratio:1/1.2;background:#fff;border:1px solid #2396ad28;border-radius:14px;box-shadow:0 24px 60px #1f2c3a06;overflow:clip}
.about-story__panel{position:absolute;inset:30px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.about-story.is-story .about-story__panel{opacity:var(--panel,0)}
.about-story__methods{gap:28px}
.about-story__method{display:flex;align-items:center;gap:20px;font-size:16px;font-weight:700;white-space:nowrap}
.about-story__method svg{width:54px;height:54px;flex:none}
.about-story.is-story .about-story__method:nth-child(1){transform:translateX(calc((1 - var(--panel,0))*-38vw))}
.about-story.is-story .about-story__method:nth-child(2){transform:translateX(calc((1 - var(--panel,0))*38vw))}
.about-story.is-story .about-story__method:nth-child(3){transform:translateY(calc((1 - var(--panel,0))*180px))}
.about-story__plan svg{width:100%;max-height:100%;overflow:visible}
.about-story__plan text{fill:#1F2C3A;text-anchor:middle;font-family:inherit;font-size:18px;font-weight:700}
.about-story__plan .story-plan-compare text{font-size:16px}
.about-story.is-story .story-plan-path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--plan,0))}
.about-story.is-story .story-plan-purpose{transform-box:fill-box;transform-origin:center;transform:scale(calc(.75 + var(--panel,0)*.25))}
.about-story.is-story .story-plan-trial,.about-story.is-story .story-plan-compare{transform:translateY(calc((1 - var(--panel,0))*65px))}
.about-story .about-message__visual{position:relative;top:auto;width:80%;max-width:275px;margin:0;align-self:center;justify-self:auto}
.about-story .about-message__visual img{clip-path:none!important;filter:none!important}
.about-story .about-message__visual:before,.about-story .about-message__visual:after{display:none}
.about-story .about-message__visual-cap{text-align:center;font-size:11px;margin-top:18px}
.about-story__origin{font-size:15px!important;font-weight:700;color:var(--brand-text);margin:28px 0 0!important;white-space:nowrap}
.about-story.is-story .about-story__founder{clip-path:inset(calc((1 - var(--panel,0))*100%) 0 0)}
.about-story .about-vision__visual{position:relative;top:auto;max-width:100%;width:100%;margin:0;order:0;align-self:auto}
.about-story .about-vision__visual>svg{transform:none!important}
.about-story__ai-note{display:grid;gap:14px;margin:26px 0 0!important;width:100%;font-size:15px!important}
.about-story__ai-note>span{border-bottom:1px solid #2396ad40;padding-bottom:10px}
.about-story.is-story .about-story__ai-note{opacity:var(--ai-end,0);transform:translateY(calc((1 - var(--ai-end,0))*35px))}
.about-story.is-story .about-story__ai{transform:translateY(calc((1 - var(--panel,0))*100px))}
.about-story__progress{height:2px;background:#2396ad20;margin-top:24px;overflow:hidden}
.about-story__progress>span{display:block;width:100%;height:100%;background:var(--brand-text);transform-origin:left;transform:scaleX(calc(.08 + var(--story-progress,0)*.92))}
.about-story__scene .about-vision__links{margin-top:40px}
/* 停止時は図を章内に残す。本文とリンクは表示を切り替えない。 */
.about-story:not(.is-story){display:block}
.about-story:not(.is-story) .about-story__visual{display:none}
.about-story:not(.is-story) .about-story__content{max-width:780px;margin:auto}
.about-story:not(.is-story) .about-story__scene{padding-bottom:65px}
@media(min-width:900px) and (max-height:760px){.about-story__visual{top:120px}.about-story__sheet{aspect-ratio:1/1.05;max-height:calc(calc(var(--motion-vh,1svh) * 100) - 165px)}.about-story__panel{inset:25px}.about-story .about-message__visual{max-width:220px}.about-story__method{font-size:14px}}
@media(max-width:899px){
 .about-story{display:block;padding:0 24px 65px}
 .about-story__visual{top:84px;padding:14px 0 16px;background:var(--aqua);z-index:5;margin:0 -4px 45px;width:calc(100% + 8px)}
 .about-story__sheet{height:188px;aspect-ratio:auto;max-width:600px;margin:auto;border-radius:10px}
 .about-story__panel{inset:12px 16px}
 .about-story__methods{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
 .about-story__method{flex-direction:column;text-align:center;gap:12px;font-size:12px;white-space:normal;line-height:1.6}
 .about-story__method svg{width:42px;height:42px}
 .about-story__plan svg{height:100%;width:auto;aspect-ratio:420/400}
 .about-story__plan text{font-size:22px}
 .about-story__plan .story-plan-compare text{font-size:19px}
 .about-story__founder{flex-direction:row;gap:18px}
 .about-story .about-message__visual{width:115px;max-width:45%;flex-shrink:0}
 .about-story .about-message__visual-cap{font-size:9px;margin-top:5px}
 .about-story__origin{white-space:normal;font-size:13px!important;max-width:105px;margin:0!important;line-height:1.9!important}
 .about-story__ai{flex-direction:row;gap:8px}
 .about-story .about-vision__visual{width:60%;max-height:100%;flex-shrink:0}
 .about-story .about-vision__visual svg{max-height:155px}
 .about-story__ai-note{font-size:12px!important;gap:14px;margin:0!important}
 .about-story__progress{margin:12px 4px 0}
 .about-story .about-message__header{padding-top:10px}
 .about-story .about-vision__header{padding-top:30px}
 .about-story .about-message__header,.about-story .about-vision__header{margin-bottom:24px}
 .about-story .about-story__heading{font-size:clamp(25px,7vw,34px);margin-bottom:30px}
 .about-story__scene p{font-size:16px;line-height:2.05;margin-bottom:26px}
 .about-story.is-story .about-story__scene{min-height:calc(var(--motion-vh,1svh) * 72);padding-bottom:110px}
 .about-story .about-tried{gap:10px;padding:0 0 22px}
 .about-story .about-tried__icon svg{width:24px;height:24px}
 .about-story .about-tried__item{font-size:14px}
 .about-story #message,.about-story #vision{scroll-margin-top:320px}
 .about-story__scene:last-child{padding-bottom:40px}
}
@media(max-width:899px) and (max-height:700px){:where(html:not([data-motion-short])) .about-story__sheet{height:136px}:where(html:not([data-motion-short])) .about-story__visual{padding:8px 0 12px;margin-bottom:30px}:where(html:not([data-motion-short])) .about-story__method{gap:5px;font-size:11px}:where(html:not([data-motion-short])) .about-story__method svg{width:30px;height:30px}:where(html:not([data-motion-short])) .about-story__panel{inset:8px 12px}:where(html:not([data-motion-short])) .about-story .about-message__visual{width:80px}:where(html:not([data-motion-short])) .about-story .about-message__visual-cap{font-size:8px}:where(html:not([data-motion-short])) .about-story .about-vision__visual svg{max-height:112px}:where(html:not([data-motion-short])) .about-story__ai-note{font-size:11px!important;gap:8px}:where(html:not([data-motion-short])) .about-story #message,:where(html:not([data-motion-short])) .about-story #vision{scroll-margin-top:260px}
}
@media(max-width:899px){:where(html[data-motion-short~="700"]) .about-story__sheet{height:136px}:where(html[data-motion-short~="700"]) .about-story__visual{padding:8px 0 12px;margin-bottom:30px}:where(html[data-motion-short~="700"]) .about-story__method{gap:5px;font-size:11px}:where(html[data-motion-short~="700"]) .about-story__method svg{width:30px;height:30px}:where(html[data-motion-short~="700"]) .about-story__panel{inset:8px 12px}:where(html[data-motion-short~="700"]) .about-story .about-message__visual{width:80px}:where(html[data-motion-short~="700"]) .about-story .about-message__visual-cap{font-size:8px}:where(html[data-motion-short~="700"]) .about-story .about-vision__visual svg{max-height:112px}:where(html[data-motion-short~="700"]) .about-story__ai-note{font-size:11px!important;gap:8px}:where(html[data-motion-short~="700"]) .about-story #message,:where(html[data-motion-short~="700"]) .about-story #vision{scroll-margin-top:260px}
}

.about-story:not(.is-story) .about-story__panel{position:relative;inset:auto;max-width:440px;min-height:300px;margin:0 auto 35px;padding:24px;background:#fff;border-radius:12px;visibility:visible!important}
.about-story:not(.is-story) .about-story__plan svg{max-height:340px}
@media(max-width:899px){.about-story:not(.is-story) .about-story__panel{min-height:190px}.about-story:not(.is-story) .about-story__plan svg{height:200px}}
/* 図に出した施策名を本文側で重複表示しない。読み上げ順には残す。 */
.about-story.is-story .about-tried{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.about-story.is-story .about-story__panel{opacity:clamp(0,calc(var(--panel,0)*2 - 1),1)}

.story-plan-mobile{display:none}
@media(max-width:899px){
 .about-story__plan>svg{display:none}
 .story-plan-mobile{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;align-content:center}
 .story-plan-mobile>span{display:flex;align-items:center;justify-content:center;padding:10px 8px;min-height:54px;background:var(--aqua);border-radius:8px;font-size:13px;font-weight:700;text-align:center;line-height:1.7}
 .story-plan-mobile>span:nth-child(2){background:#FBE3EA}
}
@media(max-width:899px) and (max-height:700px){:where(html:not([data-motion-short])) .story-plan-mobile{gap:6px}:where(html:not([data-motion-short])) .story-plan-mobile>span{min-height:40px;padding:5px 7px;font-size:12px}}
@media(max-width:899px){:where(html[data-motion-short~="700"]) .story-plan-mobile{gap:6px}:where(html[data-motion-short~="700"]) .story-plan-mobile>span{min-height:40px;padding:5px 7px;font-size:12px}}
.about-story__heading .about-phrase{display:inline-block}

.about-story__method>span>span{display:inline-block;white-space:nowrap}
@media(max-width:899px){.about-story__method>span>span{display:block}.story-plan-mobile>span{flex-direction:column}.story-plan-mobile>span>span{white-space:nowrap}}

.about-story__origin>span{display:inline-block;white-space:nowrap}
@media(max-width:899px){.about-story__origin>span{display:block}}

/* 採用済みトップと同じ、淡い線と模様で広い色面に奥行きを付ける。 */
.about-story{
 background-image:repeating-linear-gradient(-30deg,transparent 0 80px,#2396ad0a 81px 82px,transparent 83px 120px);
}
.about-story__sheet{
 background-image:repeating-linear-gradient(90deg,transparent 0 17px,#2396ad0c 18px 19px);
 background-size:58px 100%;background-position:right top;background-repeat:no-repeat;
}
.about-access,.about-ending.is-pinned .about-access{
 background-image:linear-gradient(#2396ad08 1px,transparent 1px),linear-gradient(90deg,#2396ad08 1px,transparent 1px);
 background-size:48px 48px;
}
.about-final-cta{
 background-image:repeating-radial-gradient(ellipse at 115% 110%,transparent 0 48px,#b2416315 49px 50px,transparent 51px 84px);
}
/* トップの会社情報と同じ、左辺中央を軸に傾いて抜ける面。 */
.about-ending.is-pinned .about-access{
 border-radius:0 0 64px 0;transform-origin:0 50%;
 transform:translate3d(calc(var(--leave,0)*-105%),0,0) rotate(calc(var(--leave,0)*-4deg));
}
/* 長い画面を固定しない場合も、色面と内容を一体で斜めに入れる。 */
.about-motion .about-ending:not(.is-pinned) .about-final-cta{
 clip-path:none;border-radius:0 0 64px 0;transform-origin:0 50%;
 transform:translate3d(calc((1 - var(--arrival,1))*100%),calc((1 - var(--arrival,1))*48px),0) rotate(calc((1 - var(--arrival,1))*4deg));
}
.about-motion .about-ending:not(.is-pinned) .final-cta__inner{transform:none}
@media(max-width:899px){
 .about-story__visual{background-image:repeating-linear-gradient(-30deg,transparent 0 80px,#2396ad0a 81px 82px,transparent 83px 120px)}
 .about-story__sheet{background-size:24px 100%}
 .about-ending.is-pinned .about-access,.about-motion .about-ending:not(.is-pinned) .about-final-cta{border-bottom-right-radius:36px}
}

/* MVは最初のスクロールから、見出し、説明、書類の順に展開する。 */
.about-motion .about-hero__title-line{
 transform:translate3d(calc(var(--mv-title,0)*-105vw),calc(var(--mv-title,0)*-32px),0);
 opacity:calc(1 - var(--mv-title,0));
}
.about-motion .about-hero__title-line:last-child{
 transform:translate3d(calc(var(--mv-title,0)*105vw),calc(var(--mv-title,0)*24px),0);
}
.about-motion .about-hero__lead{
 opacity:var(--mv-detail,0);
 transform:translateY(calc(46px - var(--mv-detail,0)*126px));
 font-size:clamp(17px,1.5vw,21px);line-height:2.05;
}
.about-hero__promise{display:inline-block;white-space:nowrap;font-weight:700}
.about-motion .about-hero__promise{
 background:linear-gradient(#de648450,#de648450) left 88%/calc(var(--mv-detail,0)*100%) 5px no-repeat;
}
/* 長さが違う3項目は、アイコンの列と文章の開始位置をそろえる。 */
.about-story__methods{align-items:stretch}
.about-story__method{width:100%;justify-content:flex-start;text-align:left}
@media(max-width:899px){
 .about-story__methods{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:12px}
 .about-story__method{flex-direction:row;justify-content:flex-start;align-items:center;gap:14px;font-size:13px;text-align:left}
 .about-story__method>span>span{display:inline-block}
}
@media(max-width:767px){
 .about-motion .about-hero__lead{font-size:16px;transform:translateY(calc(28px - var(--mv-detail,0)*100px))}
}
@media(max-width:899px) and (max-height:700px){:where(html:not([data-motion-short])) .about-story__methods{gap:6px}:where(html:not([data-motion-short])) .about-story__method{gap:12px;font-size:12px}
}
@media(max-width:899px){:where(html[data-motion-short~="700"]) .about-story__methods{gap:6px}:where(html[data-motion-short~="700"]) .about-story__method{gap:12px;font-size:12px}
}

/* 低い画面では説明を先に読める状態にし、自然な縦スクロールで接続する。 */
.about-motion .about-opening:not(.is-pinned) .about-hero__lead{opacity:1;transform:none}

/* MVの図がSVGの矩形で切れないようにする。展開幅も文章の領域内へ侵入させない。 */
.about-hero__visual,.about-hero__visual>svg{overflow:visible}
.about-motion .about-hero__card--side{transform:translate(calc(var(--opening,0)*20px),calc(var(--opening,0)*-24px)) rotate(calc(var(--opening,0)*8deg))}
.about-motion .about-hero__card--main{transform:translate(calc(var(--opening,0)*-28px),calc(var(--opening,0)*12px)) rotate(calc(var(--opening,0)*-5deg))}
.about-motion .about-hero__badge--lens{transform:translate(calc(var(--opening,0)*-24px),calc(var(--opening,0)*-24px))}
.about-motion .about-hero__badge--talk{transform:translateY(calc(var(--opening,0)*-18px))}
/* 見出しが退いた場所を説明が受け継ぎ、空の見出し領域を残さない。 */
.about-opening.is-pinned .about-hero__content{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}
.about-opening.is-pinned .about-hero__overline{grid-area:1 / 1}
.about-opening.is-pinned .about-hero__title,.about-opening.is-pinned .about-hero__lead{grid-area:2 / 1;align-self:center;margin:0}
.about-opening.is-pinned .about-hero__lead{transform:translateY(calc((1 - var(--mv-detail,0))*32px))}

/* MVから本文へ、次の背景が上がる間に同じ進行値で内容を受け渡す。 */
.about-motion .about-index{
 width:100%;max-width:none;margin-top:calc(-180px - var(--opening-overlap,0px));margin-bottom:0;
 padding:28px max(32px,calc((100vw - 1160px)/2)) 24px;
 background:var(--aqua);border-radius:48px 48px 0 0;
 background-image:repeating-linear-gradient(-30deg,transparent 0 80px,#2396ad0a 81px 82px,transparent 83px 120px);
}
.about-motion .about-story{z-index:3;padding-top:48px}
.about-motion .about-hero__inner{translate:0 calc(var(--handoff,0)*-160px);opacity:calc(1 - var(--handoff,0)*.25)}
.about-motion .about-hero__visual{translate:0 calc(var(--handoff,0)*-110px);opacity:calc(1 - var(--handoff,0)*.25)}
.about-motion .about-ribbon{opacity:calc(1 - var(--handoff,0))}
.about-motion .about-story__sheet{scale:calc(.94 + var(--handoff,0)*.06);transform-origin:50% 100%}
@media(max-width:767px){
 .about-motion .about-index{margin-top:calc(-80px - var(--opening-overlap,0px));padding:24px 20px;border-radius:28px 28px 0 0}
 .about-motion .about-story{padding-top:24px}
 .about-motion .about-hero__inner{translate:0 calc(var(--handoff,0)*-48px)}
 .about-motion .about-hero__visual{translate:0 calc(var(--handoff,0)*-64px)}
}

/* 最初の3施策は、内容に合った高さの独立したカードとして見せる。 */
.about-story.is-story .about-story__sheet{
 background-color:rgb(255 255 255 / calc(1 - var(--methods,1)));
 background-image:none;border-color:rgb(35 150 173 / calc(.16*(1 - var(--methods,1))));
 box-shadow:none;
}
.about-story.is-story .about-story__methods{inset:0;gap:16px}
.about-story__method{
 min-height:110px;padding:22px 24px;gap:20px;border:1px solid #2396ad24;border-radius:14px;
 background:#fff;font-size:clamp(15px,1.4vw,19px);white-space:normal;line-height:1.7;
}
.about-story__method svg{width:52px;height:52px}
.about-story__method>span{min-width:0}
@media(min-width:900px) and (max-width:1100px){
 .about-story__method{padding:18px 16px;gap:14px;min-height:100px}
 .about-story__method svg{width:44px;height:44px}
}
@media(max-width:899px){
 .about-story.is-story .about-story__methods{gap:8px}
 .about-story__method{min-height:54px;padding:8px 12px;gap:14px;font-size:14px;border-radius:10px}
 .about-story__method svg{width:32px;height:32px}
 .about-story__ai-note{font-size:11px!important;gap:8px}
 .about-story__ai-note>span{padding-bottom:6px}
}
@media(max-width:899px) and (max-height:700px){:where(html:not([data-motion-short])) .about-story.is-story .about-story__methods{gap:6px}:where(html:not([data-motion-short])) .about-story__method{min-height:39px;padding:5px 10px;gap:12px;font-size:13px}:where(html:not([data-motion-short])) .about-story__method svg{width:26px;height:26px}:where(html:not([data-motion-short])) .about-story__ai-note{font-size:10px!important;gap:4px}:where(html:not([data-motion-short])) .about-story__ai-note>span{padding-bottom:4px}
}
@media(max-width:899px){:where(html[data-motion-short~="700"]) .about-story.is-story .about-story__methods{gap:6px}:where(html[data-motion-short~="700"]) .about-story__method{min-height:39px;padding:5px 10px;gap:12px;font-size:13px}:where(html[data-motion-short~="700"]) .about-story__method svg{width:26px;height:26px}:where(html[data-motion-short~="700"]) .about-story__ai-note{font-size:10px!important;gap:4px}:where(html[data-motion-short~="700"]) .about-story__ai-note>span{padding-bottom:4px}
}

/* 顔写真が表示される代表紹介の場面に、プロフィールと個人資格をまとめる。 */
.about-representative{margin-top:40px;padding-top:32px;border-top:1px solid var(--line,#1D6B7E28);min-width:0;overflow-wrap:anywhere}
.about-representative h4{font-size:16px;font-weight:700;line-height:1.8;margin:0 0 16px;color:var(--teal-dark,#1D6B7E)}
.about-representative>div+div{margin-top:32px}
.about-credentials{list-style:none;padding:0;margin:0;display:grid;gap:24px}
.about-credentials strong{display:block;font-size:16px;font-weight:600;text-decoration:none}
.about-credentials__issuer{display:block;font-size:13px;line-height:1.8;margin-top:6px;color:var(--muted,#52616C)}
.about-representative .about-credentials p{font-size:15px;line-height:1.9;margin:8px 0 0}

/* H1内のラベルの下から説明文を表示し、狭い画面での重なりを防ぐ。 */
.about-opening.is-pinned .about-hero__title,
.about-opening.is-pinned .about-hero__lead{align-self:start}
.about-opening.is-pinned .about-hero__lead{margin-top:calc(13px * 1.7 + 14px)}
@media(max-width:767px){
 .about-opening.is-pinned .about-hero__lead{margin-top:calc(12px * 1.7 + 12px)}
}
