/* 事業領域。トップの色・線・書体を共有し、読む面は固定しない。 */
:root{--brand-text:#C24765;--rose:#FBE3EA;--blue-dark:#1D6B7E;--lemon:#F5CF6B;--ease:cubic-bezier(.16,1,.3,1)}
.services-prototype{overflow-x:clip;font-size:17px;line-height:1.85}
.services-prototype h1,.services-prototype h2,.services-prototype h3,.services-prototype h4{font-feature-settings:"palt";letter-spacing:0;font-weight:700}
.services-prototype p{font-size:17px;line-height:1.9}
.services-prototype .container{width:min(1180px,calc(100% - 112px));margin-inline:auto}
.prototype-breadcrumb{display:flex;gap:16px;padding:110px 56px 0;font-size:13px}
.prototype-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.services-hero{position:relative;isolation:isolate;min-height:650px;display:flex;align-items:center;padding:65px 0 80px;overflow:clip;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#1f2c3a08 25%)}
.services-hero:after{content:"";position:absolute;bottom:0;left:-3%;width:110%;height:20px;background:var(--rose);transform:rotate(-2deg);z-index:-1}
.service-watermark{position:absolute;left:36%;top:30px;z-index:-1;color:transparent;-webkit-text-stroke:1px #1f2c3a16;font:900 clamp(140px,24vw,360px)/1 var(--font-site);letter-spacing:-.08em;pointer-events:none}
.services-hero__inner{position:relative;z-index:1}
.services-hero__content{width:61%}
.services-hero__overline{font-size:15px!important;color:var(--brand-text);font-weight:700;margin-bottom:26px}
.services-hero__title{font-size:clamp(42px,5.3vw,76px);line-height:1.45;margin:0 0 30px;letter-spacing:-.03em!important}
.services-hero__title .hl{font-size:1.62em;font-weight:900;line-height:1.3;color:var(--brand-text)}
.services-hero__lead{max-width:620px}
.services-hero__visual{position:absolute;width:38%;max-width:530px;right:1.5%;top:50%;transform:translateY(-42%);z-index:0}
.services-hero__visual svg{display:block;width:100%;height:auto}
.services-nav{padding:40px 0 50px;background:white}
.services-nav__list{display:flex;justify-content:center;flex-wrap:wrap;list-style:none;padding:0;margin:0;gap:12px 26px}
.services-nav__link{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line);font-size:15px;font-weight:700}
.services-nav__link:after{content:"";width:7px;height:7px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg);margin:0 5px 5px 16px;color:var(--brand-text)}
.services-nav__link:hover{color:var(--brand-text)}
/* 一場面だけ、二つのアプローチが近づき、往復する線がつながる。 */
.approach-bridge{position:relative;background:var(--aqua);background-image:radial-gradient(#2396ad20 .8px,transparent .8px);background-size:14px 14px}
.bridge-stage{padding:45px 56px 32px;overflow:clip}
.bridge-heading{display:flex;justify-content:space-between;align-items:flex-start;width:min(1180px,100%);margin:0 auto}
.bridge-heading p{font-size:14px;color:var(--blue-dark);font-weight:700}
.bridge-heading h2{font-size:clamp(34px,3.5vw,46px);line-height:1.35}
.bridge-world{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:80px;width:min(1000px,100%);margin:32px auto 10px}
.bridge-half{position:relative;z-index:1;padding:24px 20px 12px;text-align:center;isolation:isolate}
.bridge-word{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font:900 clamp(70px,9vw,130px)/1 var(--font-site);color:#2396ad12;z-index:-1;letter-spacing:-.06em}
.bridge-field .bridge-word{color:#c2476516}
.bridge-half h3{font-size:clamp(22px,2.6vw,36px);color:var(--blue-dark);line-height:1.45}
.bridge-field h3{color:var(--brand-text)}
.bridge-half p{margin-top:18px}
.bridge-half>svg{width:125px;height:96px;display:block;margin:12px auto 0}
.bridge-route{position:absolute;inset:auto 0 0;width:100%;height:100px;pointer-events:none;z-index:0;fill:none;stroke:var(--pink);stroke-width:2}
.route-base{stroke:#de648426}
.bridge-note{text-align:center;font-size:14px!important;margin-top:25px}
.bridge-motion .approach-bridge{height:155svh}
.bridge-motion .bridge-stage{position:sticky;top:80px;height:calc(100svh - 80px);display:flex;flex-direction:column;justify-content:center}
.bridge-motion .bridge-heading{flex-shrink:0}
.bridge-motion .bridge-web{transform:translateX(calc(-65px * (1 - var(--bridge,1))))}
.bridge-motion .bridge-field{transform:translateX(calc(65px * (1 - var(--bridge,1))))}
.bridge-motion .route-progress{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--bridge,1))}
/* 事業ごとに構図を変え、本文・料金・リンクをひとまとまりにする。 */
.services-detail{position:relative;padding:110px 0;isolation:isolate;scroll-margin-top:-70px}
.il-bg,.il-wave,.editorial-index,.services-nav__num{display:none}
.services-detail__header{margin-bottom:42px}
.services-detail__label{font-size:15px!important;font-weight:700;color:var(--blue-dark);margin-bottom:22px}
.services-detail__title{font-size:clamp(30px,3.7vw,54px);line-height:1.45;margin:0 0 28px}
.services-detail__title .hl{color:var(--blue-dark)}
.services-detail__lead+.services-detail__lead{margin-top:16px}
.services-detail__sub-title{font-size:23px;margin:0 0 20px}
.services-detail__note+.services-detail__note{margin-top:16px}
.services-detail__note+.services-detail__sub-title{margin-top:40px}
.services-block{display:grid;grid-template-columns:40% 1fr;gap:7%;align-items:center;margin:42px 0}
.services-block__art{width:100%;max-width:380px;justify-self:center}
.services-block__art svg{width:100%;height:auto;display:block}
.services-block--ax{grid-template-columns:1fr 36%}
.services-block--event{grid-template-columns:45% 1fr}
.services-block--event .services-block__art{max-width:460px}
.services-detail--field{background:var(--rose);color:#87354D;background-image:repeating-linear-gradient(-30deg,transparent 0,transparent 49px,#c2476507 50px)}
.services-detail--field:before,.services-detail--ax:before{content:"";position:absolute;inset:-25px 0 auto;height:50px;background:inherit;border-radius:50% 50% 0 0/100% 100% 0 0;z-index:-1}
.services-detail--field .services-detail__label,.services-detail--field .hl{color:var(--brand-text)}
.services-detail--ax{background:var(--blue-dark);color:white;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:80px 80px}
.services-detail--ax .services-detail__label,.services-detail--ax .hl{color:var(--lemon)}
.services-detail--training{background:white}
.services-detail--event{background:var(--aqua);background-image:radial-gradient(#2396ad20 .7px,transparent .7px);background-size:12px 12px}
.services-detail__leads{margin:64px 0 48px}
/* 3項目ずつ読み幅を確保。項目名・業務内容・見る数字の行を共有する。 */
.services-stages{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px;padding:0;margin:0}
.services-stage{min-width:0;border-top:2px solid var(--blue-dark);padding-top:16px;display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
.services-stage:nth-child(n+4){margin-top:48px}
.services-stage__icon svg{height:100px;width:100%;display:block}
.services-stage__name{display:flex;gap:10px;align-items:baseline;font-size:25px;margin:20px 0 16px}
.services-stage__num{font-size:13px;color:var(--blue-dark)}
.services-stage__list{list-style:none;padding:0;margin:0 0 28px;font-size:16px;line-height:1.8}
.services-stage__list li+li{margin-top:8px}
.services-stage__metric{border-top:1px solid var(--line);padding-top:18px;margin:0;font-size:14px!important;line-height:1.8!important}
.services-stage__metric-label{font-size:12px;font-weight:700;display:block;margin-bottom:8px;color:var(--blue-dark)}
.services-lp-list{padding:32px 0 0;border-top:1px solid var(--line)}
.services-lp-list__title{font-size:26px;margin-bottom:12px}
.services-lp-list__lead{font-size:14px!important;margin-bottom:20px}
.services-lp-list__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.services-lp-list__card{display:grid;grid-template-columns:1fr auto;gap:8px 20px;padding:24px 0;border-bottom:1px solid var(--line);align-content:start}
.services-lp-list__card-tag{grid-column:1/-1;font-size:12px;color:var(--blue-dark)}
.services-lp-list__card-title{font-weight:700;font-size:18px;grid-column:1/-1}
.services-lp-list__card-price{font-size:14px}
.services-lp-list__card-arrow{font-size:13px;text-decoration:underline;text-underline-offset:5px;align-self:end;white-space:nowrap}
.services-lp-list__card:hover .services-lp-list__card-title{color:var(--brand-text)}
.services-detail__cta{margin-top:36px}
.btn{display:inline-flex;gap:18px;align-items:center;justify-content:center;padding:18px 30px;border-radius:999px;background:var(--brand-text);color:white;font-size:16px;line-height:1.65;font-weight:700;min-height:54px;border:1px solid transparent}
.btn:hover{background:var(--ink)}
.services-detail__sub-link{font-size:14px!important;line-height:2!important;margin-top:20px}
.services-detail__sub-link a,.final-cta__sub-link a{text-decoration:underline;text-underline-offset:5px}
.services-scope{margin:35px 0 0;padding:30px;background:#ffffffb8;border:1px solid #1f2c3a28;border-radius:16px;color:var(--ink)}
.services-scope__title{font-size:20px;margin:0 0 20px}
.services-scope__list{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;list-style:none;margin:0;padding:0;font-size:16px}
.services-scope__list li{position:relative;padding-left:23px}
.services-scope__list li:before{content:"";position:absolute;left:0;top:10px;width:10px;height:6px;border-left:2px solid var(--blue-dark);border-bottom:2px solid var(--blue-dark);transform:rotate(-45deg)}
.services-scope__price{font-size:16px!important;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}
.services-scope--dark{background:white}
.services-scope--inline{margin:0}
.services-scope--inline .services-scope__list{grid-template-columns:1fr 1fr;gap:10px 15px;font-size:15px}
.services-timeline{list-style:none;padding:0;margin:0}
.services-timeline__row{display:grid;grid-template-columns:25px 1fr auto;gap:12px;align-items:center;margin:25px 0}
.services-timeline__num{font-size:13px;color:var(--lemon)}
.services-timeline__name{font-size:17px;font-weight:700}
.services-timeline__dur{font-size:16px;grid-column:3;grid-row:1}
.services-timeline__lane{grid-column:2/4;height:12px;background:#ffffff16;border-radius:3px;overflow:hidden}
.services-timeline__bar{display:block;height:100%;width:var(--w);margin-left:var(--x);background:var(--lemon);transform-origin:left}
.services-course__heading{margin-top:48px}
.services-course{display:grid;grid-template-columns:1fr 35px 1.3fr 35px 1fr;gap:12px;align-items:center;margin:32px 0 40px}
.services-course__card{align-self:stretch;padding:22px;border-top:1px solid var(--line)}
.services-course__icon svg{display:block;width:100%;height:130px;margin-bottom:20px}
.services-course__title{font-size:19px;margin:0 0 16px}
.services-course__title small{display:block;font-size:13px;margin-top:5px}
.services-course__text,.services-course__list{font-size:15px!important}
.services-course__list{padding-left:20px;margin:0;line-height:1.9}
.services-course__arrow{height:1px;background:var(--pink);position:relative}
.services-course__arrow:after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid var(--pink);border-right:1px solid var(--pink);transform:rotate(45deg)}
.services-course__loop{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:360px;min-height:350px;justify-self:center;padding:52px 0}
.services-course__ring{position:absolute;width:100%;height:100%;inset:0;z-index:-1}
.services-course__art{display:block;line-height:0}
.services-course__art svg{display:block;width:170px;height:auto}
.services-course__chip{background:white;padding:4px 10px;font-size:15px;font-weight:700}
.services-course__count{margin-top:4px;display:flex;align-items:center;gap:12px}
.services-course__count-num{font-size:42px;line-height:1;font-weight:900;color:var(--brand-text)}
.services-course__count small{font-size:12px;text-align:left;line-height:1.6}
.services-faq{padding:95px 0;background:white}
.services-faq__inner{display:grid;grid-template-columns:30% 1fr;gap:6%}
.services-faq__title{font-size:32px}
.faq__item{border-top:1px solid var(--line)}
.faq__item:last-child{border-bottom:1px solid var(--line)}
.faq__q{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;font-size:17px;font-weight:700;padding:24px 0}
.faq__q::-webkit-details-marker{display:none}
.faq__icon{flex-shrink:0;width:20px;height:20px;color:var(--brand-text)}
details[open] .faq__icon{transform:rotate(180deg)}
.faq__a{padding:0 25px 25px 0}
.faq__a p{font-size:16px}
.final-cta{padding:90px 0;background:var(--rose);position:relative;overflow:clip}
.final-cta__inner{display:grid;grid-template-columns:1fr 210px;align-items:center;gap:60px}
.final-cta__title{font-size:clamp(28px,3vw,42px);line-height:1.5;margin:0 0 32px}
.final-cta__buttons{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.btn--secondary{background:none;color:var(--ink);padding-inline:0;flex-direction:column;gap:4px;font-size:18px}
.btn--secondary:hover{background:none;color:var(--brand-text)}
.about-final-cta__tel-hours{font-size:12px;font-weight:400}
.final-cta__sub-link{display:flex;flex-wrap:wrap;gap:20px;font-size:13px!important;margin-top:30px}
.il-cta__art svg{display:block;width:100%;height:auto}
.footer-services{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.footer-services h2{font-size:16px;margin-bottom:18px}
.footer-services a{display:block;font-size:14px;padding:7px 0}
.footer-services noscript{display:none}
.menu-button{width:44px;height:44px;align-items:center;justify-content:center}
.menu-button>span,.menu-button>span:after{display:block;width:22px;height:2px;background:var(--ink);position:relative}
.menu-button>span:after{content:"";position:absolute;top:7px}
.display-settings summary{list-style:none;cursor:pointer;display:flex;align-items:center;min-height:44px}
.display-settings summary>span{display:none}
.display-settings>div{position:absolute;right:20px;top:78px;background:white;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 20px #1f2c3a12}
.display-settings button,.display-settings>div a{display:block;background:white;border:0;font-size:14px;padding:12px;min-height:44px}
/* 表示は初期状態で保証。JSは見えてきた要素にだけ短い入場を足す。 */
@keyframes service-letter{from{opacity:0;transform:translateY(65%) rotate(3deg);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
.letters-on .letter{display:inline-block;animation:service-letter 950ms var(--ease) both;animation-delay:calc(var(--char)*45ms)}
@keyframes service-art{from{opacity:0;transform:translateX(25px) scale(.96)}to{opacity:1;transform:none}}
@keyframes service-type{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes service-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes service-copy{from{opacity:.25}to{opacity:1}}
.motion-on .entered.services-detail__header h2{animation:service-type 1s var(--ease) both}
.motion-on .entered.services-detail__header .services-detail__lead{animation:service-copy .8s ease-out both}
.motion-on .entered.services-block__art,.motion-on .entered.services-hero__visual>svg,.motion-on .entered.il-cta__art{animation:service-art 1.2s var(--ease) both}
.motion-on .entered.services-timeline .services-timeline__bar{animation:service-bar 1.2s var(--ease) both}
.motion-on .entered.services-timeline .services-timeline__row:nth-child(2) .services-timeline__bar{animation-delay:.18s}
.motion-on .entered.services-timeline .services-timeline__row:nth-child(3) .services-timeline__bar{animation-delay:.36s}
@keyframes service-badge{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.motion-on .in-view .services-hero__badge{animation:service-badge 6s ease-in-out infinite}
.motion-on .in-view .services-hero__badge--2{animation-delay:-2s}
.motion-on .in-view .services-hero__badge--4{animation-delay:-4s}
/* MAMPで使っている図内の動き。入場とは分離し、画面内でのみ再生する。 */
@keyframes service-needle{0%{transform:rotate(-24deg)}50%{transform:rotate(18deg)}100%{transform:rotate(-10deg)}}
@keyframes service-twinkle{0%,100%{opacity:1;transform:scale(1) rotate(0deg)}50%{opacity:.45;transform:scale(.8) rotate(18deg)}}
@keyframes service-pulse{0%,62%,100%{transform:scale(1)}72%{transform:scale(1.05)}}
@keyframes service-ring{from{rotate:0deg}to{rotate:360deg}}
.services-hero__needle,.il-spark,.il-pulse{transform-box:fill-box;transform-origin:center}
.motion-on .in-view .services-hero__needle{animation:service-needle 7s ease-in-out 2.2s infinite alternate}
.motion-on .in-view .il-spark{animation:service-twinkle 3.4s ease-in-out infinite}
.motion-on .in-view .il-pulse{animation:service-pulse 3.6s ease-in-out infinite}
.motion-on .in-view .services-course__ring{animation:service-ring 30s linear infinite}
@supports(animation-timeline:view()){
 @keyframes service-drift{from{translate:0 18px}to{translate:0 -18px}}
 .motion-on .in-view.il-drift>svg,.motion-on .in-view .il-drift>svg{animation:service-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
}
.tab-hidden *{animation-play-state:paused!important}
@media(max-width:1023px){
 .services-prototype .container{width:calc(100% - 64px)}.prototype-breadcrumb{padding-inline:32px}
 .services-hero{min-height:580px}.services-hero__content{width:64%}.services-hero__title{font-size:clamp(38px,5.2vw,58px)}
 .services-stages{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.services-stage:nth-child(n+3){margin-top:40px}
 .services-course{grid-template-columns:1fr 20px 1.2fr 20px 1fr;gap:8px}.services-course__card{padding:18px 8px}
 .services-scope--inline .services-scope__list{grid-template-columns:1fr}
 .services-lp-list__card{grid-template-columns:1fr}.services-lp-list__card-arrow{justify-self:start}
}
@media(max-width:767px){
 .services-prototype .container{width:calc(100% - 40px)}.services-prototype p{font-size:16px}.prototype-breadcrumb{padding:96px 20px 0;font-size:12px}
 .services-hero{min-height:0;display:block;padding:42px 0 35px}.services-hero__content{width:100%}.services-hero__overline{margin-bottom:18px}
 .services-hero__title{font-size:clamp(29px,7.8vw,48px);line-height:1.5;margin-bottom:24px}.services-hero__title .hl{font-size:1.75em}
 .services-hero__lead{font-size:16px}.services-hero__visual{position:relative;top:auto;right:auto;width:68%;transform:none;align-self:center;margin:18px auto 0}
 .services-hero__inner{display:contents}.services-hero__content{padding-inline:20px}.services-hero{display:flex;flex-direction:column}.services-hero__visual{order:2}
 .service-watermark{top:190px;left:22%;font-size:42vw}.services-nav{padding:25px 0 38px}.services-nav__list{display:grid;grid-template-columns:1fr;gap:0}.services-nav__link{justify-content:space-between;padding:8px 0;min-height:48px;font-size:15px}
 .bridge-stage{padding:46px 20px}.bridge-heading{display:block}.bridge-heading h2{font-size:32px;margin-top:18px}.bridge-heading h2 br{display:block}
 .bridge-world{gap:12px;margin-top:42px}.bridge-half{padding:18px 0 5px}.bridge-half h3{font-size:clamp(15px,4.4vw,19px)}.bridge-half p{font-size:14px;line-height:1.8;margin-top:16px}.bridge-half p br{display:none}
 .bridge-word{font-size:70px;top:-20px}.bridge-half>svg{width:110px;height:85px}.bridge-route{top:40%;height:140px;opacity:.5}.bridge-note{font-size:13px!important;text-align:left}
 .bridge-motion .approach-bridge{height:125svh}.bridge-motion .bridge-stage{top:74px;height:calc(100svh - 74px)}
 .bridge-motion .bridge-web{transform:translateX(calc(-15px * (1 - var(--bridge,1))))}.bridge-motion .bridge-field{transform:translateX(calc(15px * (1 - var(--bridge,1))))}
 .services-detail{padding:65px 0;scroll-margin-top:0}.services-detail__header{margin-bottom:30px}.services-detail__label{font-size:14px!important;margin-bottom:16px}.services-detail__title{font-size:30px;line-height:1.5;margin-bottom:22px}
 .services-detail__sub-title{font-size:22px;line-height:1.6}.services-block,.services-block--ax,.services-block--event{grid-template-columns:1fr;gap:26px;margin:30px 0}.services-block__art{max-width:240px}.services-block--event .services-block__art{max-width:290px}.services-block--ax .services-block__art{max-width:220px;grid-row:1}
 .services-stages{display:block}.services-stage{display:grid;grid-template-columns:70px 1fr;grid-template-rows:auto;grid-row:auto;gap:0 20px;padding:24px 0;border-top:1px solid var(--line)}.services-stage:nth-child(n){margin-top:0}
 .services-stage__icon{grid-column:1;grid-row:2}.services-stage__icon svg{height:70px}.services-stage__name{grid-column:1/-1;grid-row:1;margin:0 0 18px;font-size:26px}.services-stage__list{grid-column:2;grid-row:2;font-size:15px;margin:0 0 18px}.services-stage__metric{grid-column:2;font-size:13px!important;margin:0}
 .services-detail__leads{margin:48px 0}.services-lp-list__grid{grid-template-columns:1fr}.services-lp-list__card{grid-template-columns:1fr auto;gap:10px 12px;padding:22px 0}.services-lp-list__card-title{font-size:18px}.services-lp-list__card-price{font-size:14px}.services-lp-list__card-arrow{font-size:12px}
 .services-scope{padding:22px;margin-top:25px}.services-scope__list,.services-scope--inline .services-scope__list{grid-template-columns:1fr;gap:10px;font-size:15px}.services-scope__price{font-size:15px!important}
 .btn{width:100%;padding:17px 20px;font-size:15px}.services-detail__sub-link{font-size:14px!important}
 .services-timeline__row{gap:8px}.services-timeline__name{font-size:16px}.services-timeline__dur{font-size:14px}
 .services-course{grid-template-columns:1fr;margin-top:20px;gap:12px}.services-course__card{display:grid;grid-template-columns:80px 1fr;gap:12px 20px;padding:22px 0}
 .services-course__icon{grid-row:1/3}.services-course__icon svg{height:80px;margin:0}.services-course__title{margin:0;font-size:18px}.services-course__text,.services-course__list{grid-column:2}
 .services-course__arrow{width:30px;transform:rotate(90deg);margin:12px auto}.services-course__loop{width:100%;max-width:340px;min-height:0;aspect-ratio:1;margin:auto;padding:40px 0}.services-course__heading{margin-top:32px}
 .services-faq{padding:65px 0}.services-faq__inner{grid-template-columns:1fr;gap:30px}.services-faq__title{font-size:30px}.faq__q{font-size:16px;padding:22px 0}
 .final-cta{padding:55px 0}.final-cta__inner{grid-template-columns:1fr;gap:24px}.final-cta__title{font-size:28px}.final-cta__buttons{gap:16px}.il-cta__art{width:150px;justify-self:end}.final-cta__sub-link{font-size:13px!important;gap:16px}
 .footer-services{grid-template-columns:1fr;gap:26px}.prototype-site-footer{padding-bottom:45px}
}
@media(max-width:359px){.services-course__loop{padding:30px 0}.services-course__art svg{width:150px}.services-course__chip{font-size:14px;padding-block:2px}.services-course__count-num{font-size:38px}}
@media(prefers-reduced-motion:reduce){.bridge-motion .approach-bridge{height:auto}.bridge-motion .bridge-stage{position:static;height:auto}.bridge-half{transform:none!important}.route-progress{stroke-dashoffset:0!important}}

/* スマホで語と金額のまとまりを保ち、補助表記を一段小さくする。 */
.reading-phrase{display:inline-block;white-space:nowrap}
.cta-label{display:block;text-align:center;text-wrap:balance}
/* 文中リンクは文章と同じ行で自然に折り返す。見出しやボタンの語句区切りとは分ける。 */
.services-detail__sub-link a,.services-detail__sub-link .reading-phrase{display:inline;white-space:normal}
.services-lp-list__card-price{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}
.service-price-part,.service-price-amount{white-space:nowrap}
.services-lp-list__card-price b{font-size:18px;font-weight:700}
.service-price-label,.service-price-unit{font-size:13px;font-weight:500}
.service-price-unit{margin-left:.12em}
.services-scope__price .il-price__num{font-size:28px;font-weight:700}
.services-scope__price .il-price__unit{font-size:16px;margin-left:.15em}
.services-scope__price .il-price__tax{font-size:13px;margin-left:.5em;white-space:nowrap}
