@charset "utf-8";
.phd{position:relative; overflow:hidden;
  background:linear-gradient(110deg,#FFFFFF 0%,#F8FBFF 42%,#EDF6FF 100%);
  border-bottom:1px solid var(--ln)}
.phd__bg{position:absolute; z-index:1; top:0; right:0; bottom:0; width:66%; pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,#000 30%);
  mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,#000 30%)}
.phd__bg img{width:100%; height:100%; object-fit:cover; object-position:50% 45%}
.phd .wrap{position:relative; z-index:2; padding-block:6rem}
.phd__hd{position:relative}
.phd__hd::before{content:attr(data-wm); position:absolute; z-index:0; left:0; bottom:-0.1875rem;
  font-family:"Noto Serif JP",serif; font-size:7.5rem; font-weight:600;
  letter-spacing:.12em; line-height:1.31; color:var(--wm); white-space:nowrap; pointer-events:none}
.phd__hd h1,.phd__hd .phd__ttl{position:relative; z-index:1}
.phd h1,.phd__ttl{margin-top:1rem; font-family:"Noto Serif JP",serif;
  font-size:clamp(2rem,4vw,3.25rem); font-weight:600; color:var(--nv-3); letter-spacing:.04em;
  line-height:1.4}
.bcr{background:var(--wh); border-bottom:1px solid var(--ln); padding-block:0.5rem;
  font-size:.8125rem; color:var(--tx-2)}
.bcr ol{display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; margin:0; padding:0}
.bcr li + li::before{content:"\203A"; margin-right:.5rem; color:var(--tx-2); opacity:.6}
.bcr a{color:var(--bl); transition:color .2s ease}
.bcr a:hover{text-decoration:underline}
.bt{font-size:1rem; line-height:2.1; color:var(--tx-2)}
.bt + .bt{margin-top:1rem}
.shd + .bt{margin-top:2.5rem}
.bl{list-style:none; margin-top:1rem; padding:0}
.bl li{position:relative; padding-left:1.5rem; font-size:1rem; line-height:2; color:var(--tx-2)}
.bl li + li{margin-top:0.25rem}
.bl li::before{content:""; position:absolute; left:.25rem; top:.9375rem; width:.375rem; height:.375rem;
  border-radius:50%; background:var(--bl)}
.tiles{margin-top:4rem; display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem}
.tiles > div{position:relative; display:block; padding-top:1.5rem; background:transparent;
  border:0; border-radius:0; font-size:1rem; line-height:2; color:var(--tx-2)}
.tiles > div::before{content:""; position:absolute; left:0; top:0; width:100%; height:1px;
  background:var(--ln)}
.tiles--note{margin-top:2rem}
.tiles > div b{display:block; padding-bottom:0.5rem; font-size:1.0625rem; font-weight:800;
  color:var(--nv); line-height:1.7}
.offer{margin-top:4rem; display:grid; grid-template-columns:repeat(3,1fr); gap:3.5rem 3rem}
.offer article{position:relative; padding-top:2rem; background:transparent; border:0;
  border-radius:0; transition:none}
.offer article:hover{transform:none; box-shadow:none}
.offer article::before{content:""; position:absolute; left:0; top:0; width:100%; height:1px;
  background:var(--ln)}
.offer article::after{content:""; position:absolute; left:0; top:0; width:0; height:1px;
  background:var(--bl); transition:width .5s cubic-bezier(.22,.61,.36,1)}
.offer article:hover::after{width:100%}
.offer h3{font-size:1.1875rem; font-weight:800; color:var(--nv); line-height:1.6}
.offer p{margin-top:1rem; font-size:1rem; line-height:2; color:var(--tx-2)}
.vsn{display:grid; grid-template-columns:1fr 1.15fr; gap:3.5rem; align-items:center}
.vsn__bd h2{font-size:clamp(1.5rem,2.3vw,2.0625rem); line-height:1.7}
.vsn__bd .bt{margin-top:1.5rem}
.vsn__bd .shd + .bt{margin-top:2.5rem}
.cyc{position:relative; width:100%; max-width:38rem; aspect-ratio:1; margin-inline:auto}
.cyc__orb{position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible}
.cyc__ring{fill:none; stroke:var(--bl-2); stroke-opacity:.16; stroke-width:.5}
.cyc__dot{filter:drop-shadow(0 0 1.4px rgba(74,144,217,.85))}
@media (prefers-reduced-motion:reduce){.cyc__dot{display:none}}
.cyc__center{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:38%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle at 38% 32%, #E9F1FB 0%, #D7E3F4 78%);
  display:flex; align-items:center; justify-content:center}
.cyc__center p{font-family:"Noto Serif JP",serif; font-size:clamp(1.0625rem,1.7vw,1.3125rem);
  font-weight:600; line-height:1.9; letter-spacing:.08em; color:var(--nv); text-align:center}
.cyc__node{position:absolute; width:34%; aspect-ratio:1; border-radius:50%; background:var(--wh);
  border:1px solid var(--bl-3); box-shadow:0 .625rem 1.5rem -1rem rgba(0,35,82,.25);
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center}
.cyc__node--t{left:50%; top:0; transform:translateX(-50%)}
.cyc__node--l{left:4.4%; top:49.5%}
.cyc__node--r{right:4.4%; top:49.5%}
.cyc__node img{width:5rem; height:5rem; object-fit:contain; margin-bottom:0.125rem}
.cyc__node b{font-family:"Noto Serif JP",serif; font-size:clamp(1.25rem,2vw,1.5rem);
  font-weight:600; letter-spacing:.1em; color:var(--nv); line-height:1.4}
.cyc__node b::after{content:""; display:block; width:3.5rem; height:1px; margin:0.375rem auto 0.375rem;
  background:var(--bl-100)}
.cyc__node span{display:block; font-size:.8125rem; line-height:1.8; color:var(--tx-2)}
.cyc__arr{position:absolute; inset:0; width:100%; height:100%; pointer-events:none}
.cyc__arr path{fill:none; stroke:var(--bl-2); stroke-width:1.4; stroke-linecap:round;
  stroke-linejoin:round; vector-effect:non-scaling-stroke}
.cyc__arr--sp{display:none}
.cyc__arc--tl{transform:rotate(-60deg)}
.cyc__arc--tr{transform:rotate(60deg)}
.cyc__arc--b{transform:rotate(180deg)}
.vals__sub{font-size:.62em; letter-spacing:.02em; white-space:nowrap}
.vals__nw{white-space:nowrap}
.fund{margin-top:2rem; list-style:none; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr))}
.fund li{position:relative; padding-block:.5rem; padding-inline:clamp(0rem,.5vw,.25rem); text-align:center}
.fund li + li::before{content:""; position:absolute; left:0; top:15%; height:70%; width:1px; background:var(--ln)}
.fund__en{display:block; font-size:.8125rem; font-weight:700; letter-spacing:clamp(0em,.4vw,.1em); color:var(--bl)}
.fund__ja{display:block; margin-top:.375rem; font-family:"Noto Serif JP",serif; font-size:clamp(1rem,1.4vw,1.25rem); font-weight:600; letter-spacing:.04em; line-height:1.4; color:var(--nv)}
@media (max-width:340px){.fund{grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:.5rem} .fund li:nth-child(4)::before{display:none}}
.val5{position:relative}
.val5 .wrap{position:relative; z-index:1}
.val5__lead{letter-spacing:.08em}
.fund5{margin-top:3.5rem; list-style:none; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1.5rem}
.fund5 li{position:relative; overflow:hidden; display:flex; flex-direction:column; aspect-ratio:3 / 4; padding:2.75rem 1.75rem 2rem; background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FD 100%); border-radius:.375rem; box-shadow:var(--sh); transition:transform .3s ease, box-shadow .3s ease}
.fund5 li::before{content:""; position:absolute; left:0; right:0; top:0; height:.1875rem; background:linear-gradient(90deg,var(--nv),var(--bl-3))}
.fund5 li::after{content:""; position:absolute; right:-2rem; bottom:-2.5rem; width:7rem; height:7rem; border-radius:50%; background:var(--bl-100); opacity:.55; z-index:0}
.fund5 li > span{position:relative; z-index:1}
.fund5__no{font-family:"Noto Serif JP",serif; font-size:clamp(2rem,2.6vw,2.5rem); font-weight:400; letter-spacing:.04em; line-height:1; color:var(--bl-3)}
.fund5__no::after{content:""; display:block; width:1.5rem; height:1px; margin-top:.875rem; background:var(--bl-3)}
.fund5__en{margin-top:1.75rem; font-size:.8125rem; font-weight:600; letter-spacing:.28em; color:var(--nv)}
.fund5__ja{margin-top:.5rem; font-family:"Noto Serif JP",serif; font-size:clamp(1.75rem,2.6vw,2.5rem); font-weight:600; letter-spacing:.06em; line-height:1.3; color:var(--nv)}
@media (hover:hover) and (pointer:fine){.fund5 li:hover{transform:translateY(-.25rem); box-shadow:var(--sh-h)}}
@media (max-width:1023px){.fund5{gap:1rem} .fund5 li{padding:2rem 1.25rem 1.5rem} .fund5__en{letter-spacing:.18em}}
@media (max-width:767px){.fund5{margin-top:2.5rem; grid-template-columns:1fr; gap:.75rem}
.fund5 li{display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:1.25rem; align-items:center; aspect-ratio:auto; padding:1.25rem 1.5rem}
.fund5 li::before{width:.1875rem; height:auto; right:auto; bottom:0; background:linear-gradient(180deg,var(--nv),var(--bl-3))}
.fund5 li::after{width:4.5rem; height:4.5rem; right:-1.25rem; bottom:-1.25rem}
.fund5__no{grid-row:1 / 3; font-size:2rem}
.fund5__no::after{display:none}
.fund5__en{margin-top:0}
.fund5__ja{margin-top:.125rem; font-size:1.5rem}}
.pcard{margin-top:2.5rem; display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
  gap:2.5rem}
.pcard article{position:relative; background:transparent; border:0; border-radius:0;
  padding-top:1.5rem}
.pcard article::before{content:""; position:absolute; left:0; top:0; width:100%; height:1px;
  background:var(--ln)}
.pcard article::after{content:""; position:absolute; left:0; top:0; width:0; height:1px;
  background:var(--bl); transition:width .5s cubic-bezier(.22,.61,.36,1)}
.pcard article:hover::after{width:100%}
.pcard h3{font-size:1.0625rem; font-weight:800; color:var(--nv); line-height:1.7}
.pcard p{margin-top:0.5rem; font-size:1rem; line-height:1.9; color:var(--tx-2)}
.flow{margin-top:4rem; display:grid; grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));
  gap:2.5rem; counter-reset:f}
.flow > div{position:relative; display:block; padding-top:1.5rem;
  font-size:.9375rem; line-height:2; color:var(--tx-2)}
.flow > div::after{content:""; position:absolute; left:0; top:0; width:100%; height:1px;
  background:var(--ln)}
.flow > div::before{counter-increment:f; content:"0" counter(f);
  display:block; font-family:"Noto Serif JP",serif; font-size:2rem; font-weight:600;
  line-height:1; color:var(--bl-2); letter-spacing:.04em}
.flow > div b{display:block; margin-top:0.5rem; font-size:1.0625rem; font-weight:800;
  color:var(--nv); line-height:1.7}
.faq{margin-top:4rem; border-top:1px solid var(--ln)}
.faq details{border-bottom:1px solid var(--ln)}
.faq summary{display:flex; gap:1rem; padding-block:1.5rem; cursor:pointer; list-style:none;
  font-size:1.0625rem; font-weight:700; color:var(--nv); line-height:1.8}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:""; flex:0 0 2.5rem; width:2.5rem; height:2.5rem; margin-left:auto;
  align-self:flex-start; border:1px solid var(--ln); border-radius:50%;
  background-image:linear-gradient(var(--bl),var(--bl)),linear-gradient(var(--bl),var(--bl));
  background-repeat:no-repeat,no-repeat;
  background-position:center,center;
  background-size:0.875rem 1.5px,1.5px 0.875rem;
  transition:background-size .22s ease-out, border-color .22s ease-out, background-color .22s ease-out}
.faq details[open] summary::after{background-size:0.875rem 1.5px,1.5px 0}
.faq summary:hover::after{border-color:var(--bl-100); background-color:var(--bl-50)}
.faq summary::before{content:"Q"; flex:0 0 auto; font-family:"Noto Serif JP",serif;
  font-size:1.25rem; font-weight:600; color:var(--bl); line-height:1.5}
.faq details > p{padding-left:2rem; padding-bottom:1.5rem;
  font-size:1rem; line-height:2.1; color:var(--tx-2)}
.tbl{margin-top:2.5rem; width:100%; border-collapse:collapse; font-size:1rem;
  border-top:1px solid var(--ln)}
.tbl th,.tbl td{border-bottom:1px solid var(--ln); padding:1rem 1rem; text-align:left;
  vertical-align:top; line-height:1.9}
.tbl th{width:11.5rem; padding-left:0; color:var(--nv); font-weight:700; background:transparent}
.tbl td{color:var(--tx-2)}
.cases article > a{display:flex; flex-direction:column; height:100%}
.cases .ph{position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--bl-50);
  display:flex; align-items:center; justify-content:center;
  font-size:.875rem; color:var(--bl-2)}
.cases .ph img{width:100%; height:100%; object-fit:cover;
  transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.cases article:hover .ph img{transform:scale(1.06)}
.cases .ph.phimg{background-size:cover; background-position:center; font-size:0}
.cases .ph::after{content:"\2192"; position:absolute; right:1rem; bottom:1rem;
  display:flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem;
  border-radius:50%; background:var(--wh); color:var(--nv); font-size:1rem;
  opacity:0; transform:translateY(.5rem);
  transition:opacity .28s ease-out, transform .28s ease-out}
.cases article:hover .ph::after{opacity:1; transform:none}
.cases .bd{flex:1; display:flex; flex-direction:column; padding:1.5rem}
.cases h3{margin-top:1rem; font-family:"Noto Serif JP",serif; font-size:1.125rem;
  font-weight:600; color:var(--nv); line-height:1.75;
  transition:color .22s ease-out}
.cases article:hover h3{color:var(--bl)}
.cases .meta{margin-top:1rem; font-size:1rem; line-height:1.95; color:var(--tx-2)}
.cases .tags{margin-top:auto; padding-top:1.5rem}
.mgrid{margin-top:4rem; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3.5rem 2rem}
.mgrid .mcard{background:transparent; border:0; border-radius:0; overflow:visible}
.mgrid .mcard:hover{transform:none; box-shadow:none}
.mgrid .mph{border-radius:.375rem; overflow:hidden}
.mgrid .mbd{padding-top:1rem}
.mgrid .mpos{font-size:.8125rem}
.mgrid .mrole{margin-top:0.5rem; padding-top:0.5rem; border-top:1px solid var(--ln);
  border-right:0; border-bottom:0; border-left:0; border-style:solid}
.lmq{margin-top:2.5rem; display:grid; gap:1rem}
.lmq__row{overflow:hidden}
.lmq__track{display:flex; align-items:center; width:max-content;
  animation:lmq 48s linear infinite}
.lmq__row--2 .lmq__track{animation-duration:56s; animation-direction:reverse}
.lmq__track span{flex:0 0 17.5rem; display:flex; align-items:center; justify-content:center;
  height:7rem; padding-inline:1rem}
.lmq__track img{width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply;
  opacity:.86; transition:opacity .24s ease-out}
@media (hover:hover) and (pointer:fine){
.lmq__track span:hover img{opacity:1}
.lmq:hover .lmq__track{animation-play-state:paused}
}
@keyframes lmq{from{transform:translateX(0)} to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .lmq__track{animation:none; flex-wrap:wrap; width:100%; justify-content:center}}
.nlist{margin-top:3rem}
.nlist .ph{aspect-ratio:16/10; overflow:hidden; border-radius:.375rem; background:var(--bl-50)}
.nlist .ph img{width:100%; height:100%; object-fit:cover;
  transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.nlist article:hover .ph img{transform:scale(1.06)}
.nlist .bd{padding-top:1.5rem}
.nmeta{display:flex; align-items:center; gap:1rem; flex-wrap:wrap}
.pmeta{margin-top:1.5rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap}
.pmeta time{font-size:.875rem; font-weight:700; letter-spacing:.06em; color:var(--tx-2)}

.nmeta time{font-size:.8125rem; font-weight:700; letter-spacing:.06em; color:var(--tx-2)}
.nlist h3{margin-top:1rem; font-size:1.0625rem; font-weight:800; color:var(--nv); line-height:1.75;
  transition:color .22s ease-out}
.nlist article:hover h3{color:var(--bl)}
.feat{margin-top:4rem; border-top:1px solid var(--ln)}
.feat article{display:grid; grid-template-columns:8rem 1fr; gap:3rem; align-items:start;
  padding-block:3rem; border-bottom:1px solid var(--ln)}
.feat__no{font-family:"Noto Serif JP",serif; font-size:2.5rem; font-weight:600; line-height:1;
  color:var(--bl-2); letter-spacing:.04em}
.feat h3{font-size:1.25rem; font-weight:800; color:var(--nv); line-height:1.7}
.feat p{margin-top:1rem; font-size:1rem; line-height:2.05; color:var(--tx-2)}
.stepz{margin-top:3rem; list-style:none; padding:0; padding-bottom:7.5rem; display:grid;
  grid-template-columns:1fr 1fr; column-gap:2rem; row-gap:2rem}
.stepz > li{position:relative; min-height:11rem; display:flex; align-items:center; gap:1.25rem;
  padding:1.5rem; background:var(--wh); border-radius:.75rem; box-shadow:var(--sh)}
.stepz > li:nth-child(even){flex-direction:row-reverse; transform:translateY(5.5rem)}
.stepz__ph{position:relative; flex:0 0 6rem; width:6rem; height:6rem; border-radius:.5rem;
  overflow:hidden; background:var(--bl-50); display:flex; align-items:center; justify-content:center}
.stepz__ph img{width:70%; height:70%; object-fit:contain}
.stepz__no{position:absolute; z-index:2; top:1rem;
  width:3.25rem; height:3.25rem; border-radius:50%; border:2px solid var(--bl-2);
  background:var(--wh); display:flex; flex-direction:column; align-items:center;
  justify-content:center; font-size:.5rem; font-weight:800; letter-spacing:.08em;
  color:var(--bl); line-height:1.3}
.stepz > li:nth-child(odd) .stepz__no{left:1rem}
.stepz > li:nth-child(even) .stepz__no{right:1rem}
.stepz__no b{font-family:"Noto Serif JP",serif; font-size:1.125rem; font-weight:600; line-height:1}
.stepz__bd{flex:1 1 auto; min-width:0}
.stepz > li:nth-child(odd) .stepz__bd{padding-left:0.5rem}
.stepz > li:nth-child(even) .stepz__bd{padding-right:0.5rem}
.stepz__bd b{display:block; font-size:1.1875rem; font-weight:800; color:var(--nv); line-height:1.5}
.stepz__bd p{margin-top:0.5rem; font-size:1rem; line-height:1.9; color:var(--tx-2)}
.secph{margin-top:3rem; border-radius:.5rem; overflow:hidden; box-shadow:var(--sh)}
.secph img{width:100%; aspect-ratio:16/6; object-fit:cover}
.form{margin-top:3rem; display:grid; gap:1.75rem; max-width:46rem; margin-inline:auto;
  padding:3rem; background:var(--wh); border:1px solid var(--ln); border-radius:.75rem;
  box-shadow:var(--sh)}
.wpcf7{margin-top:3rem}
.formsec .bt{max-width:46rem; margin-inline:auto}
@media (max-width:767px){.form{padding:1.75rem; gap:1.5rem}}
.form label,.form .flabel{display:block; font-size:1rem; font-weight:700; color:var(--nv);
  letter-spacing:.02em}
.form .req{margin-left:0.5rem; padding:.125rem .5rem; border-radius:.25rem;
  background:rgba(199,62,44,.09); font-size:.75rem; font-weight:700; color:var(--rq)}
.form .fi{width:100%; margin-top:0.75rem; padding:0.5rem 1rem; background:#FBFCFE;
  border:1px solid var(--ln); border-radius:.25rem; font-family:inherit; font-size:1rem;
  line-height:2; color:var(--tx); transition:border-color .2s ease, box-shadow .2s ease}
.form select.fi{height:3rem; padding-block:0; cursor:pointer;
  appearance:none; -webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--nv) 50%),
    linear-gradient(135deg,var(--nv) 50%,transparent 50%);
  background-position:calc(100% - 1.25rem) 50%, calc(100% - 1rem) 50%;
  background-size:.375rem .375rem,.375rem .375rem; background-repeat:no-repeat;
  padding-right:2.5rem}
.form input.fi{height:3rem; padding-block:0}
.form .fi.ta{min-height:9rem; resize:vertical}
.form .fi:focus{outline:0; background:var(--wh); border-color:var(--bl);
  box-shadow:0 0 0 3px rgba(0,74,173,.14)}
.form .fi::placeholder{color:#9AAABF}
.form .wpcf7-radio{margin-top:1rem; display:grid; grid-template-columns:1fr; gap:0.75rem}
.form .wpcf7-radio .wpcf7-list-item{margin:0; min-width:0}
.form .wpcf7-radio label{display:flex; align-items:flex-start; gap:0.5rem; font-weight:400;
  cursor:pointer}
.form .wpcf7-radio input{flex:0 0 auto; width:1.125rem; height:1.125rem; margin-top:0.25rem;
  accent-color:var(--bl); cursor:pointer}
.form .wpcf7-radio .wpcf7-list-item-label{font-size:1rem; color:var(--tx-2)}
.fradio{margin-top:0.5rem; display:flex; flex-wrap:wrap; gap:0.5rem 1.5rem}
.fradio label{display:inline-flex; align-items:center; gap:0.5rem; font-weight:400; cursor:pointer}
.fradio input{width:1rem; height:1rem; accent-color:var(--bl); cursor:pointer}
/* ご興味のあるサービス */
.form .fsvc .fnote{margin-top:0.5rem}
.form .fsvc .wpcf7-checkbox{margin-top:1rem; display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.5rem}
.form .fsvc .wpcf7-list-item{margin:0}
.form .fsvc label{display:inline-flex; align-items:center; gap:0.5rem; font-weight:400;
  cursor:pointer}
.form .fsvc input[type="checkbox"]{flex:0 0 auto; width:1.125rem; height:1.125rem;
  accent-color:var(--bl); cursor:pointer}
.form .fsvc .wpcf7-list-item-label{font-size:1rem; line-height:1.6; color:var(--tx-2)}
@media (max-width:767px){.form .fsvc .wpcf7-checkbox{grid-template-columns:1fr}}
.fradio span{font-size:1rem; color:var(--tx-2)}
.fagree label{display:inline-flex; align-items:flex-start; gap:0.5rem; font-weight:400; cursor:pointer}
.fagree input{margin-top:0.5rem; width:1rem; height:1rem; accent-color:var(--bl); cursor:pointer}
.fagree span{font-size:1rem; font-weight:400; color:var(--tx-2)}
.fagree a{color:var(--bl); text-decoration:underline}
.form button.btn{font-family:inherit}
.svclead{position:relative; overflow:hidden; background:var(--wh)}
.svclead .wrap{position:relative; z-index:1}
.svclead__bg{position:absolute; z-index:0; right:0; top:0; bottom:0; width:min(62%,68rem);
  pointer-events:none}
.svclead__bg img{width:100%; height:100%; object-fit:cover; opacity:.55;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.35) 22%,rgba(0,0,0,.85) 60%,#000 100%);
  mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.35) 22%,rgba(0,0,0,.85) 60%,#000 100%)}
@media (max-width:1023px){
body:not(.home) .svclead{padding-bottom:16rem}
.svclead__bg{top:auto; bottom:0; left:0; right:0; width:auto; height:13rem}
.svclead__bg img{opacity:1;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0%,#000 42%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0%,#000 42%)}
}
.svclead__cp{font-family:"Noto Serif JP",serif;
  font-size:clamp(1.75rem,3.6vw,3rem); font-weight:600; color:var(--nv-3);
  line-height:1.6; letter-spacing:.03em}
.svclead__tx > p:not(.svclead__cp){margin-top:2rem; font-size:1rem; line-height:2.1;
  color:var(--tx-2)}
.svclead__tx > p:not(.svclead__cp) + p{margin-top:1rem}
#origin{position:relative; overflow:hidden;
  background:linear-gradient(150deg,#F8FBFE 0%,var(--wh) 42%,#FAFCFE 100%)}
/* 背景のマークは下端を断ち切りにする。上を切ると輪郭が平らに欠け、
   下を浮かせると宙に浮いて見えるため、基準を bottom に置く */
.orgn__bg{position:absolute; z-index:0; right:-9%; top:auto; bottom:-12%;
  width:min(52rem,60%); pointer-events:none}
.orgn__bg img{width:100%; height:auto}
#origin > .wrap{position:relative; z-index:1}
.orgn{margin-top:1.25rem; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:3.5rem; align-items:center}
.orgn__cp{position:relative; padding-top:1.75rem;
  font-family:"Noto Serif JP",serif; font-size:clamp(1.5rem,2.8vw,2.25rem);
  font-weight:600; line-height:1.6; letter-spacing:.02em; color:var(--bl)}
.orgn__cp::before{content:""; position:absolute; left:0; top:0; width:3.5rem; height:1px;
  background:#D5DCE5}
.orgn__mk{
  background:linear-gradient(90deg,rgba(210,229,250,.95) 0%,rgba(210,229,250,.5) 66%,rgba(210,229,250,0) 100%);
  background-repeat:no-repeat; background-position:0 100%; background-size:100% 42%;
  box-decoration-break:clone; -webkit-box-decoration-break:clone}
.orgn__cp + .bt{margin-top:2.25rem}
.orgn__lg{display:flex; align-items:center; justify-content:center}
.orgn__card{display:flex; align-items:center; justify-content:center; width:100%;
  padding:2.5rem 2rem; border:1px solid rgba(255,255,255,.9); border-radius:.625rem;
  background:rgba(255,255,255,.62); backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:0 1.25rem 2.5rem -1.25rem rgba(0,35,82,.22)}
.orgn__card img{width:100%; height:auto; max-width:22rem}
.orgn__tx .bt + .bt{margin-top:1.5rem}
.figrow{margin-top:3rem; display:grid; grid-template-columns:1.1fr 1fr; gap:4rem;
  align-items:center}
.figrow__fig{border:1px solid var(--ln); border-radius:.5rem; overflow:hidden;
  background:var(--wh)}
.figrow__fig img{display:block; width:100%; height:auto}
.svcapr{display:grid; grid-template-columns:1.1fr 1fr; gap:3.5rem; align-items:center}
.svcapr__fig img{display:block; width:100%; height:auto}
.fnone{margin-top:3rem; font-size:1rem; line-height:2; color:var(--tx-2)}
.othsv{margin-top:3rem; display:grid; grid-template-columns:repeat(2,1fr); gap:2.5rem}
.othsv--3{grid-template-columns:repeat(3,1fr); gap:2rem}
.othsv a{display:block; overflow:hidden; border:1px solid var(--ln); border-radius:.5rem;
  background:var(--wh);
  transition:transform .28s ease-out, box-shadow .28s ease-out, border-color .28s ease-out}
.othsv a:hover{transform:translateY(-.5rem); border-color:var(--bl-100); box-shadow:var(--sh-h)}
.othsv__ph{display:block; overflow:hidden}
.othsv__ph img{display:block; width:100%; aspect-ratio:16/9; object-fit:cover;
  transition:transform .5s ease-out}
.othsv a:hover .othsv__ph img{transform:scale(1.06)}
.othsv__bd{display:block; padding:1.5rem}
.othsv__nm{display:flex; align-items:center; justify-content:space-between; gap:1rem;
  font-family:"Noto Serif JP",serif; font-size:1.25rem; font-weight:600; color:var(--nv)}
.othsv__nm::after{content:"\2192"; display:flex; align-items:center; justify-content:center;
  flex:0 0 2.25rem; width:2.25rem; height:2.25rem; border:1px solid var(--nv);
  border-radius:50%; font-size:.9375rem;
  transition:background .22s ease-out, color .22s ease-out}
.othsv a:hover .othsv__nm::after{background:var(--nv); color:var(--wh)}
.othsv__cp{display:block; margin-top:0.5rem; font-size:1rem; line-height:1.9;
  color:var(--tx-2)}

@media (max-width:1023px){
.svcapr{grid-template-columns:1fr; gap:2.5rem}
.othsv--3{grid-template-columns:1fr 1fr}
.figrow{grid-template-columns:1fr; gap:2.5rem}

.mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){
.othsv,.othsv--3{grid-template-columns:1fr; gap:1.5rem}
.orgn{grid-template-columns:1fr; gap:2rem}
.orgn__card{padding:1.75rem 1.5rem}
.orgn__card img{max-width:16rem}
.orgn__bg{right:-22%; top:auto; bottom:-8%; width:80%; transform:none; opacity:.75}

.feat article{grid-template-columns:1fr; gap:1rem; padding-block:2rem}
.mgrid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem}}
/* 代表メッセージ：写真の横に見出しと署名を置き、本文はその下へ流す */
.team{margin-top:3rem; display:grid; grid-template-columns:22rem 1fr; gap:4.5rem; align-items:start}
.team .phw{position:relative}
.team__tx .big{font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.8}
.team__bd{margin-top:2rem}
.team__tx .cap{margin-top:2.5rem}
.team .ph{position:relative; z-index:1; overflow:hidden; border-radius:.375rem;
  background:linear-gradient(135deg,var(--bl-100),var(--bl-50));
  display:flex; align-items:center; justify-content:center; font-size:.875rem; color:var(--bl-2)}
.team .ph img{width:100%; aspect-ratio:3/4; object-fit:cover}
.team .cap{position:relative; z-index:1; margin-top:1.5rem; padding-bottom:.5rem; font-size:1rem;
  font-weight:700; color:var(--nv)}
.msn{background:linear-gradient(160deg,#FFFFFF 0%,#F8FBFF 46%,#EDF4FC 100%)}
.msn__ph{position:absolute; z-index:0; top:0; right:0; width:56%; height:74%; pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,#000 34%),
    linear-gradient(180deg,#000 54%,rgba(0,0,0,0) 92%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,#000 34%),
    linear-gradient(180deg,#000 54%,rgba(0,0,0,0) 92%);
  mask-composite:intersect}
.msn__ph img{width:100%; height:100%; object-fit:cover; object-position:50% 50%}
.msn__bd{position:relative; z-index:2; width:56%}
.mpts{position:relative; z-index:2}
.msn__lead{margin-top:2.5rem; font-size:clamp(1.125rem,1.9vw,1.375rem); font-weight:700;
  line-height:1.9; letter-spacing:.02em; color:var(--bl)}
.msn__lead + .bt{margin-top:2.5rem}
.mpts{margin-top:5rem; list-style:none; padding:0;
  display:grid; grid-template-columns:repeat(2,1fr); gap:3rem 2.5rem}
.mpts li{position:relative; padding-top:1.5rem}
.mpts li::before{content:""; position:absolute; left:0; top:0; width:100%; height:1px;
  background:var(--ln)}
.mpts h3{display:flex; align-items:baseline; gap:1rem; font-size:1.1875rem; font-weight:800;
  color:var(--nv); letter-spacing:.04em}
.mpts__no{font-family:"Noto Serif JP",serif; font-size:2rem; font-weight:600; line-height:1;
  color:var(--bl-2); letter-spacing:.04em}
.mpts p{margin-top:1rem; font-size:1rem; line-height:2; color:var(--tx-2)}
.big{font-family:"Noto Serif JP",serif; font-size:clamp(1.25rem,2.2vw,1.625rem); font-weight:600;
  line-height:1.9; color:var(--nv); letter-spacing:.02em}
.big + .bt{margin-top:1rem}
.map{margin-top:2.5rem; border:1px solid var(--ln); border-radius:.1875rem; overflow:hidden; line-height:0}
.map iframe{display:block; width:100%}
.smap{margin-top:2.5rem; display:grid; grid-template-columns:repeat(auto-fit,minmax(15.625rem,1fr)); gap:1.5rem}
.smap h2{position:relative; display:flex; align-items:center; gap:1rem;
  font-size:.9375rem; font-weight:700; letter-spacing:.1em; color:var(--bl)}
.smap h2::before{content:""; flex:0 0 1.75rem; height:1px; background:var(--bl)}
.smap ul{margin-top:1rem; list-style:none; padding:0; border-top:1px solid var(--ln)}
.smap li{font-size:1rem; padding-block:0.5rem; border-bottom:1px solid var(--ln)}
.smap li a:hover{color:var(--bl); text-decoration:underline}
.smap .ind{padding-left:1rem; color:var(--tx-2)}
.smap--list{display:block}
.smap--list > ul{margin-top:0}
.smap--list ul ul{margin-top:0; border-top:0; padding-left:1.5rem}
.smap--list ul ul li:last-child{border-bottom:0}
.smap--list li li{color:var(--tx-2)}
.onecase{margin-top:4rem; display:grid; grid-template-columns:1fr 1.1fr; gap:4rem;
  align-items:center}
.onecase .ocph{position:relative}
.onecase .ocph::after{content:""; position:absolute; z-index:0; left:-1.5rem; bottom:-1.5rem;
  width:60%; aspect-ratio:16/9; border-radius:.5rem; background:var(--cr)}
.onecase .ocph img{position:relative; z-index:1; width:100%; aspect-ratio:4/3; object-fit:cover;
  border-radius:.375rem}
.onecase .ocbd{padding:0}
.onecase h3{margin-top:1rem; font-family:"Noto Serif JP",serif;
  font-size:clamp(1.25rem,2.1vw,1.625rem); line-height:1.7; font-weight:600; color:var(--nv)}
.onecase .occ{margin-top:0.25rem; font-size:1rem; color:var(--tx-2)}
.onecase .ocdl dt{margin-top:1rem; font-size:.875rem; font-weight:800; color:var(--nv);
  letter-spacing:.04em}
.onecase .ocdl dd{margin-top:0.25rem; font-size:1rem; color:var(--tx-2); line-height:1.9}
.posacc{margin-top:4rem; border-top:1px solid var(--ln)}
.posacc details{border-bottom:1px solid var(--ln)}
.posacc summary{position:relative; display:flex; align-items:center; flex-wrap:wrap; gap:1rem;
  padding:1.5rem 3.5rem 1.5rem 0; cursor:pointer; list-style:none;
  font-size:1.125rem; font-weight:700; color:var(--nv);
  transition:color .22s ease-out}
.posacc summary:hover{color:var(--bl)}
.posacc summary::-webkit-details-marker{display:none}
.posacc summary::after{content:"＋"; position:absolute; right:0; top:50%; transform:translateY(-50%);
  display:flex; align-items:center; justify-content:center; width:2rem; height:2rem;
  border:1px solid var(--ln); border-radius:50%;
  font-size:1rem; font-weight:400; color:var(--nv);
  transition:background .22s ease-out, color .22s ease-out, border-color .22s ease-out}
.posacc summary:hover::after{border-color:var(--bl); background:var(--bl-50)}
.posacc details[open] summary::after{content:"−"; background:var(--nv); border-color:var(--nv);
  color:var(--wh)}
.posacc .ptag{font-size:.8125rem; font-weight:700; letter-spacing:.04em; color:var(--tx-2);
  border:1px solid var(--ln); border-radius:99px; padding:0.25rem 1rem; white-space:nowrap}
.posacc .posbody{padding-bottom:1.5rem}
.posacc .poscta{margin-top:1rem}
.fnote{margin-top:.5rem; font-size:1rem; line-height:1.8; color:var(--tx-2)}
.fagree a{color:var(--bl); text-decoration:underline}
.formsec .form{margin-inline:auto}
.formsec .form label,.formsec .fnote{text-align:left}
.formsec .fagree{justify-content:flex-start}
.ctel{margin-top:1.5rem; display:grid; grid-template-columns:auto 1fr; gap:1rem 2.5rem;
  background:var(--cr-50); border:1px solid var(--ln); border-radius:.375rem; padding:1.5rem}
.ctel .lb{display:block; font-size:.8125rem; color:var(--tx-2); letter-spacing:.04em}
.ctel b{display:block; font-size:1.25rem; font-weight:800; color:var(--nv); line-height:1.6;
  letter-spacing:.02em}
.done{margin-top:2.5rem; background:var(--cr-50); border:1px solid var(--ln);
  border-radius:.375rem; padding:2rem}
.donenav{margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--ln);
  display:flex; flex-wrap:wrap; align-items:center; gap:0.5rem 1.5rem}
.donenav .lb{font-size:.8125rem; font-weight:700; letter-spacing:.06em; color:var(--tx-2)}
.donenav a{font-size:.9375rem; color:var(--bl); text-decoration:underline}
.doc main .sec,.doc .sec:has(.lgl){padding-block:4rem; background:var(--wh)}
.doc .lgl > h2{margin-top:3.5rem; padding:.875rem 1.25rem; border-radius:.25rem;
  background:var(--nv); color:var(--wh);
  font-size:clamp(1.0625rem,1.5vw,1.1875rem); font-weight:700; line-height:1.7; letter-spacing:.02em}
.doc .lgl > h2:first-child{margin-top:0}
.doc .lgl > h2 + *{margin-top:1.5rem}
.doc .lgl h3{position:relative; margin-top:2.5rem; padding:0 0 .5rem .75rem;
  border-bottom:1px solid var(--bl-100);
  font-size:1.0625rem; font-weight:700; color:var(--nv); line-height:1.6}
.doc .lgl h3::before{content:""; position:absolute; left:0; top:.25em; bottom:.75rem; width:3px;
  border-radius:2px; background:var(--bl)}
.doc .lgl h3 + *{margin-top:1rem}
.doc .lgl p + p,.doc .lgl p + ul,.doc .lgl p + table{margin-top:1rem}
.doc .lgl p,.doc .lgl li,.doc .lgl td,.doc .lgl th{font-size:1rem; line-height:1.95; color:var(--tx-2)}
.doc .tbl-x{margin-top:1.5rem; overflow-x:auto; -webkit-overflow-scrolling:touch}
.doc .tbl-x table{width:100%; border-collapse:collapse; background:var(--wh)}
.doc .tbl-x th,.doc .tbl-x td{border:1px solid var(--ln); padding:.75rem 1rem;
  text-align:left; vertical-align:top}
.doc .tbl-x thead th{background:var(--bl-50); color:var(--nv); font-weight:700; line-height:1.7;
  white-space:nowrap; overflow-wrap:normal}
.doc .tbl-x tbody th{white-space:nowrap; overflow-wrap:normal}
.doc .tbl-x tbody tr:nth-child(even) td{background:#FBFCFE}
.doc .tbl-x td,.doc .tbl-x th{overflow-wrap:break-word}
.doc .tbl-x td:last-child,.doc .tbl-x th:last-child{overflow-wrap:anywhere}
@media (max-width:767px){
.doc .tbl-x{border:1px solid var(--ln); border-radius:.375rem}
.doc .tbl-x table{width:auto; min-width:36rem}
.doc .tbl-x td:first-child{min-width:7rem}}
.doc .lgl .cprof{margin-top:0}
.doc .lgl .cprof__r{grid-template-columns:15rem 1fr; gap:2rem}
.doc .lgl .cprof dt{font-size:1rem; line-height:1.95}
@media (max-width:767px){.doc .lgl .cprof__r{grid-template-columns:1fr; gap:.25rem}}
.doc .lgl ul{margin-top:1rem; padding-left:1rem}
.doc .lgl li + li{margin-top:.25rem}
.art__ph{margin-top:1rem}
.art__ph img{width:100%; border-radius:.375rem}
.art__h{margin-top:2rem; font-size:1.125rem; font-weight:800; color:var(--nv); line-height:1.7}
.art__h + .bt{margin-top:0.5rem}

/* 記事本文（news/case の the_content()）。SWELL固有クラスを外した素の要素に、
   .bt/.art__h/.tbl と同じ値を当てて見た目を揃える */
.entry-content{margin-top:2rem}
.entry-content > *:first-child{margin-top:0}
.entry-content p{margin-top:1rem; font-size:1rem; line-height:2.1; color:var(--tx-2)}
.entry-content strong{font-weight:700; color:var(--nv)}
.entry-content h2{position:relative; overflow:hidden; margin-top:3.5rem; margin-bottom:1.5rem;
  padding:1.125rem 1.75rem; border:0; border-radius:.25rem;
  background:linear-gradient(95deg,var(--nv) 0%,var(--bl-2) 100%);
  color:var(--wh); font-size:1.375rem; font-weight:700; letter-spacing:.02em; line-height:1.5}
.entry-content h2::after{content:""; position:absolute; top:0; right:0; width:5rem; height:100%;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,0) 50%,rgba(255,255,255,.16) 50%)}
.entry-content h3{position:relative; margin-top:2.5rem; margin-bottom:1.25rem;
  padding:0 0 .5rem .5rem; border-bottom:1px solid rgba(0,35,82,.2);
  font-size:1.25rem; font-weight:700; color:var(--nv); line-height:1.5}
.entry-content h3::before{content:""; position:absolute; left:0; bottom:-1px; width:5rem; height:2px;
  background:var(--nv)}
.entry-content h4{margin-top:1.5rem; font-size:1rem; font-weight:800; color:var(--nv); line-height:1.7}
/* 事例本文：番号付きの見出しと成果 */
.entry-content .cstep{margin-right:1rem; font-family:"Noto Serif JP",serif; font-size:1.125rem;
  font-weight:600; letter-spacing:.06em; color:var(--bl-3)}
.entry-content .cres{margin-top:1.5rem; display:flex; align-items:baseline; flex-wrap:wrap;
  column-gap:1.5rem; row-gap:.25rem; padding:2rem 2.25rem; border-radius:.375rem;
  background:linear-gradient(135deg,#F4F8FD 0%,#D7E3F4 100%)}
.entry-content .cres__no{margin-top:0; font-family:"Noto Serif JP",serif;
  font-size:clamp(2.75rem,6vw,4.25rem); font-weight:600; line-height:1; letter-spacing:.02em;
  color:var(--nv)}
.entry-content .cres__pre{margin-right:.25rem; font-size:.38em}
.entry-content .cres__un{margin-left:.25rem; font-size:.42em}
.entry-content .cres__lb{margin-top:0; font-size:1rem; font-weight:700; line-height:1.8;
  letter-spacing:.04em; color:var(--nv)}
@media (max-width:767px){.entry-content .cres{padding:1.5rem 1.5rem}}
/* 記事の目次 */
.entry-content h2,.entry-content h3{scroll-margin-top:calc(var(--gh-h) + 1rem)}
.entry-content .toc{margin:2.5rem 0; padding:0; background:#F7F9FC;
  border:1px solid var(--ln); border-radius:.5rem}
.entry-content .toc__t{display:flex; align-items:center; justify-content:center; gap:0.5rem;
  padding:1rem; font-size:1rem; font-weight:700; color:var(--nv); line-height:1.5;
  cursor:pointer; list-style:none; -webkit-user-select:none; user-select:none}
.entry-content .toc__t::-webkit-details-marker{display:none}
.entry-content .toc__t svg{width:1.125rem; height:1.125rem; flex:0 0 auto}
.entry-content .toc__t::after{content:"閉じる"; margin-left:0.5rem; font-size:.8125rem;
  font-weight:700; color:var(--bl)}
.entry-content .toc:not([open]) .toc__t::after{content:"開く"}
.entry-content .toc__t:hover{color:var(--bl)}
.entry-content .toc__list{list-style:none; margin:0; padding:0 1.5rem 1.25rem}
.entry-content .toc__list > li{display:flex; gap:0.5rem; padding:0.25rem 0}
.entry-content .toc__no{flex:0 0 auto; font-size:.875rem; font-weight:700; line-height:1.8;
  color:var(--bl)}
.entry-content .toc__bd{flex:1; min-width:0}
.entry-content .toc a{display:inline-block; font-size:.9375rem; line-height:1.8;
  color:var(--tx); text-decoration:none}
.entry-content .toc a:hover{color:var(--bl)}
.entry-content .toc__sub{list-style:none; margin:0; padding:0 0 0.25rem 0}
.entry-content .toc__sub > li{display:flex; gap:0.5rem; padding:0.125rem 0}
.entry-content .toc__sub .toc__no{font-size:.8125rem}
.entry-content .toc__sub a{font-size:.875rem}
@media (max-width:767px){
.entry-content .toc__list{padding:0 1rem 1rem}
.entry-content .toc__t{padding:0.875rem 1rem}
}

.entry-content ul,.entry-content ol{margin-top:1rem; padding-left:1.25rem;
  font-size:1rem; line-height:2.1; color:var(--tx-2)}
.entry-content ul{list-style:disc}
.entry-content ol{list-style:decimal}
.entry-content li + li{margin-top:.25rem}
.entry-content a{color:var(--bl); text-decoration:underline; word-break:break-word}
.entry-content a:hover{color:var(--nv)}
.entry-content figure{margin-top:1.5rem}
.entry-content img{width:100%; border-radius:.375rem}
.entry-content figcaption{margin-top:.5rem; font-size:.8125rem; line-height:1.7;
  color:var(--tx-2); text-align:center}
.entry-content blockquote{margin-top:1.5rem; padding:1rem 1.5rem; border-left:3px solid var(--bl-100);
  background:var(--cr-50); font-size:1rem; line-height:1.95; color:var(--tx-2)}
.entry-content blockquote cite{display:block; margin-top:.5rem; font-size:.8125rem; color:var(--tx-2)}
.entry-content blockquote>p:first-child{margin-top:0}
.entry-content hr{margin-block:2.5rem; border:0; border-top:1px solid var(--ln)}
.entry-content table{margin-top:1.5rem; width:100%; border-collapse:collapse; font-size:1rem}
.entry-content th,.entry-content td{border-bottom:1px solid var(--ln); padding:.75rem 1rem;
  text-align:left; vertical-align:top; line-height:1.9}
.entry-content th{color:var(--nv); font-weight:700; background:transparent}
.entry-content td{color:var(--tx-2)}
.entry-content pre{margin-top:1rem; padding:1rem 1.25rem; background:var(--cr-50);
  border-radius:.375rem; overflow-x:auto; font-size:.875rem; line-height:1.7}
.entry-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.9em}
.entry-content dl{margin-top:1rem}
.entry-content dt{margin-top:1rem; font-weight:700; color:var(--nv)}
.entry-content dd{margin:0; margin-top:.25rem; color:var(--tx-2)}
.entry-content details{margin-top:1rem; border:1px solid var(--ln); border-radius:.375rem; padding:1rem 1.25rem}
.entry-content summary{cursor:pointer; font-weight:700; color:var(--nv)}
.entry-content iframe{max-width:100%; border:0}
.entry-content video{max-width:100%; height:auto}
.entry-content .wp-block-group,.entry-content .wp-block-separator{margin-top:1.5rem}
.entry-content .wp-block-columns{margin-top:1.5rem; display:grid;
  grid-template-columns:repeat(auto-fit,minmax(13.75rem,1fr)); gap:1.5rem}
.entry-content .wp-block-columns .wp-block-column{margin-top:0}
.entry-content .wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper{position:relative; padding-top:56.25%}
.entry-content .wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper iframe{
  position:absolute; inset:0; width:100%; height:100%; max-width:none}
@media (max-width:767px){
.entry-content .wp-block-columns{grid-template-columns:1fr}}
.pcard h3 a:hover{color:var(--bl)}
.e404{padding-block:2rem; text-align:center}
.e404 .big{font-family:"Noto Serif JP",serif; font-size:clamp(4rem,10vw,7.5rem); font-weight:600;
  line-height:1; color:var(--bl-100)}
.e404 p{margin-top:2rem; font-size:1rem; line-height:2.1; color:var(--tx-2)}
.e404 .btns{margin-top:2.5rem; display:flex; flex-wrap:wrap; justify-content:center; gap:0.5rem}
.e404__more{margin-top:2rem; font-size:.9375rem}
.e404__more a{color:var(--bl); text-decoration:underline}
.e404__more a:hover{color:var(--nv)}
@media (max-width:1023px){.phd__hd::before{font-size:5rem}}
@media (max-width:1023px){.onecase{grid-template-columns:1fr; gap:0}
.onecase .ocbd{padding:1.5rem}}
@media (max-width:1023px){.team{grid-template-columns:1fr; gap:2rem; align-items:start}
.team .phw{max-width:19rem}
.team__bd{margin-top:2rem}}
@media (max-width:767px){.phd .wrap{padding-block:3rem}
.phd__bg{width:100%; -webkit-mask-image:none; mask-image:none}
.phd__hd::before{font-size:2.625rem; bottom:auto; top:-2rem; letter-spacing:.1em}
.msn__bd{width:100%}
.msn__ph{position:absolute; z-index:0; top:0; right:0; width:100%; height:52%; margin-top:0;
  opacity:.3;
  -webkit-mask-image:linear-gradient(180deg,#000 38%,rgba(0,0,0,0) 94%);
  -webkit-mask-composite:source-over;
  mask-image:linear-gradient(180deg,#000 38%,rgba(0,0,0,0) 94%);
  mask-composite:add}
.msn__ph img{aspect-ratio:auto}
.mpts{margin-top:3rem; grid-template-columns:1fr; gap:2rem}
.stepz{grid-template-columns:1fr; padding-bottom:0; row-gap:1.5rem}
.stepz > li:nth-child(even){flex-direction:row; transform:none}
.stepz > li:nth-child(even) .stepz__no{right:auto; left:1rem}
.stepz > li:nth-child(even) .stepz__bd{padding-right:0; padding-left:0.5rem}
.tiles,.offer,.flow,.pcard{grid-template-columns:1fr; gap:1.5rem}
.tbl th{width:auto; white-space:normal}}

/* 波の背景（支援の特徴） */
.sec--wave{position:relative; overflow:hidden; background:var(--wh)}
.wave__bg{position:absolute; inset:0; z-index:0; pointer-events:none}
.wave__bg img{display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%}
.wave__bg::after{content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.62) 34%,rgba(255,255,255,.55) 100%)}
.sec--wave > .wrap{position:relative; z-index:1}

/* 会社概要 */
.acc{margin-top:3rem; display:grid; grid-template-columns:1fr 1.2fr; gap:2rem; align-items:stretch}
.acc__map,.acc__ph{position:relative; overflow:hidden; border-radius:.5rem; min-height:20rem}
.acc__map iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.acc__ph{margin:0}
.acc__ph img{width:100%; height:100%; object-fit:cover}
@media (max-width:767px){.acc{grid-template-columns:1fr; gap:1.5rem}
.acc__map,.acc__ph{min-height:15rem}}
.cprof{margin-top:3rem; border-top:1px solid var(--ln)}
.cprof__r{display:grid; grid-template-columns:9.5rem 1fr; gap:2.5rem; padding-block:1.5rem;
  border-bottom:1px solid var(--ln)}
.cprof--fl{margin-top:2rem}
.cprof dt{font-size:.875rem; font-weight:800; letter-spacing:.04em; color:var(--nv); line-height:2.1}
.cprof dd{margin:0; font-size:1rem; line-height:2.1; color:var(--tx-2)}
.cprof dd .rb{font-size:.875rem; color:var(--tx-2)}
.cprof__sub{display:flex; flex-wrap:wrap; gap:0.25rem 1.5rem; list-style:none; padding:0}
.cprof__sub li{position:relative}

/* 選考の流れ */
.artgrid{display:grid; grid-template-columns:minmax(0,1fr) 18rem; gap:4rem; align-items:start}
.sbar{position:sticky; top:6rem; display:grid; gap:2.5rem; min-width:0}
.sbx__t{font-size:1rem; font-weight:800; color:var(--nv); letter-spacing:.06em;
  padding-bottom:.5rem; border-bottom:1px solid var(--ln); position:relative}
.sbx__t::after{content:""; position:absolute; left:0; bottom:-1px; width:2rem; height:2px; background:var(--bl)}
.artwr{margin-top:4rem}
.artwr__lb{display:flex; align-items:center; gap:0.75rem; font-size:.8125rem; font-weight:700;
  letter-spacing:.24em; color:var(--bl)}
.artwr__lb::before{content:""; flex:0 0 2rem; height:1px; background:var(--bl)}
.artwr__card{position:relative; margin-top:1.5rem; overflow:hidden; background:var(--wh);
  border:1px solid var(--ln); border-radius:.5rem;
  box-shadow:0 1.375rem 2.75rem -1.625rem rgba(0,35,82,.28)}
.artwr__card::before{content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--nv)}
.artwr__in{padding:2rem 2rem 2rem 2.5rem}
.artwr__hd{display:flex; align-items:center; gap:1.5rem;
  padding-bottom:1.5rem; margin-bottom:1.5rem; border-bottom:1px solid var(--ln)}
.artwr__face{flex:0 0 auto; width:6.5rem; height:6.5rem; border-radius:50%; object-fit:cover;
  box-shadow:0 0 0 1px var(--bl-100)}
.artwr__id{min-width:0}
.artwr__role{display:block; font-size:.8125rem; font-weight:700; letter-spacing:.12em;
  color:var(--bl)}
.artwr__name{display:block; margin-top:0.5rem; font-size:1.5rem; font-weight:800;
  color:var(--nv); line-height:1.3}
.artwr__org{display:block; margin-top:0.5rem; font-size:.875rem; color:var(--tx-2)}
.artwr__bio p{font-size:1rem; line-height:1.9; color:var(--tx-2)}
.artwr__bio p + p{margin-top:1rem}
.artwr__more{margin-top:1.5rem}
.artwr__more a{color:var(--bl); text-decoration:underline; text-underline-offset:.2em}
@media (max-width:767px){
.entry-content h2{padding:1rem 1.5rem; font-size:1.125rem}
.entry-content h3{font-size:1.0625rem}
.artwr__in{padding:1.5rem 1.5rem 1.5rem 2rem}
.artwr__hd{gap:1rem}
.artwr__face{width:5rem; height:5rem}
.artwr__name{font-size:1.25rem}
}
.sbnew{list-style:none; padding:0; margin-top:.5rem}
.sbnew li{border-bottom:1px solid var(--ln)}
.sbnew a{display:grid; grid-template-columns:4.5rem minmax(0,1fr); gap:1rem; align-items:center;
  padding-block:1rem; text-decoration:none}
.sbnew a:has(.sbnew__bd:only-child){grid-template-columns:minmax(0,1fr)}
.sbnew__ph{display:block; aspect-ratio:3/2; overflow:hidden; border-radius:.25rem; background:var(--bl-50)}
.sbnew__ph img{width:100%; height:100%; object-fit:cover}
.sbnew__bd b{display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
  font-size:.875rem; font-weight:700; color:var(--nv); line-height:1.6}
.sbnew__bd time{display:block; margin-top:.25rem; font-size:.8125rem; color:var(--tx-2)}
.sbnew a:hover .sbnew__bd b{color:var(--bl)}
.sbcat{list-style:none; padding:0; margin-top:.5rem}
.sbcat li{border-bottom:1px solid var(--ln)}
.sbcat a{position:relative; display:block; padding:1rem 1.5rem 1rem 0; font-size:.875rem; font-weight:700;
  color:var(--nv); text-decoration:none}
.sbcat a::after{content:"\2192"; position:absolute; right:.25rem; top:50%; transform:translateY(-50%);
  color:var(--bl-2); transition:transform .2s}
.sbcat a:hover{color:var(--bl)}
.sbcat a:hover::after{transform:translateY(-50%) translateX(.25rem)}
@media (max-width:1023px){
.artgrid{grid-template-columns:minmax(0,1fr); gap:3rem}
.sbar{position:static}
}
/* アイキャッチは 16:10。全幅だと高さが出すぎるので幅を絞る。
   文字入りのカードは上端にロゴ・下端にサブ行があり、縦に切り抜くと欠けるため切らない */
.casefv{max-width:46rem; margin-top:2.5rem; margin-inline:auto}
.casesite{margin-top:2.5rem}
.casefv img{width:100%; height:auto; border-radius:.5rem; box-shadow:var(--sh)}
/* リニューアル前後の比較。画像のあいだに矢印を置き、変わったことを目で追えるようにする */
.entry-content .cba{margin-top:1.5rem; display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center; gap:clamp(.75rem,1.6vw,1.25rem)}
.entry-content .cba figure{margin:0}
.entry-content .cba figcaption{margin-top:.75rem; font-size:.875rem; font-weight:700;
  letter-spacing:.04em; color:var(--nv)}
.entry-content .cba img{width:100%; height:auto; border-radius:.375rem;
  border:1px solid var(--bl-100)}
/* 矢印。キャプションのぶんだけ上にずらして、画像の高さの中心に合わせる */
.entry-content .cba__ar{display:grid; place-items:center; margin-top:-2rem;
  width:clamp(2.25rem,3.6vw,2.75rem); height:clamp(2.25rem,3.6vw,2.75rem);
  border-radius:50%; background:var(--nv); color:#fff;
  font-size:clamp(1rem,1.7vw,1.25rem); line-height:1}
@media (max-width:640px){
  .entry-content .cba{grid-template-columns:1fr; justify-items:center}
  .entry-content .cba figure{width:100%}
  .entry-content .cba__ar{margin-top:0; transform:rotate(90deg)}
}

/* お客さまの声 */
.entry-content .cvoice{margin-top:1.5rem; padding:2rem 2.25rem; border-radius:.375rem;
  border-left:.25rem solid var(--bl-3); background:var(--bl-50)}
.entry-content .cvoice p{margin-top:0; font-size:1.0625rem; font-weight:700;
  line-height:2; color:var(--nv)}
.entry-content .cvoice p + p{margin-top:1rem}
.entry-content .cvoice .cvoice__who{margin-top:1.25rem; font-size:.9375rem;
  font-weight:400; color:var(--tx-2)}
@media (max-width:767px){.entry-content .cvoice{padding:1.5rem 1.5rem}}

/* .sec の overflow:hidden は sticky を殺すので、目次を置く事例ページだけ外す */
.sec--case{overflow:visible}
.cbody__main{min-width:0}
/* 右カラムは stretch のまま。align-items:start にすると目次と同じ高さに縮み、sticky が効かない */
.cbody--toc{display:grid; grid-template-columns:minmax(0,1fr) clamp(9.5rem,13vw,12rem);
  column-gap:clamp(1.75rem,3vw,3rem)}
.ctoc{position:sticky; top:calc(var(--gh-h) + 1.5rem); margin-top:2.5rem; padding-top:1.25rem;
  border-top:2px solid var(--nv)}
.ctoc__t{margin-top:0; font-size:1rem; font-weight:800; letter-spacing:.08em; color:var(--nv)}
.ctoc__list{list-style:none; margin:1.25rem 0 0; padding:0}
.ctoc__list li{border-top:1px solid var(--bl-100)}
.ctoc__list a{display:flex; gap:.75rem; padding:.875rem 0; font-size:.9375rem;
  font-weight:700; line-height:1.7; color:var(--tx-2); transition:color .2s}
.ctoc__no{flex:0 0 auto; font-family:"Noto Serif JP",serif; font-size:.8125rem;
  font-weight:600; letter-spacing:.06em; color:var(--bl-3); transition:color .2s}
.ctoc__list a:hover{color:var(--bl)}
.ctoc__list a.is-cur{color:var(--nv)}
.ctoc__list a.is-cur .ctoc__no{color:var(--bl)}
/* 下の段（支援内容の中の課題1・課題2）。番号の幅だけ字下げして親の項目の文字にそろえる */
.ctoc__sub{list-style:none; margin:-.375rem 0 0; padding:0 0 .625rem 1.75rem}
.ctoc__list .ctoc__sub li{border-top:0}
.ctoc__list .ctoc__sub a{padding:.3125rem 0; font-size:.875rem; font-weight:500}
/* 本文の中の目次はタブレット・スマートフォンだけで出す */
.entry-content .ctoc--in{display:none}
/* 本文の中の目次には本文用のリスト・リンク・段落の指定がかかるので打ち消す */
.entry-content .ctoc .ctoc__t{margin-top:0; line-height:1.7; color:var(--nv)}
.entry-content .ctoc .ctoc__list{margin:1.25rem 0 0; padding:0; list-style:none}
.entry-content .ctoc .ctoc__sub{margin:-.375rem 0 0; padding:0 0 .625rem 1.75rem; list-style:none}
.entry-content .ctoc li + li{margin-top:0}
.entry-content .ctoc a{color:var(--tx-2); text-decoration:none}
.entry-content .ctoc a:hover{color:var(--bl)}
.entry-content .ctoc a.is-cur{color:var(--nv)}
@media (max-width:1023px){
/* 右側の目次を消し、導入文のあと・最初の見出しの前に置いた目次を出す */
.cbody--toc{display:block}
.cbody__side{display:none}
.entry-content .ctoc--in{display:block}
.ctoc{position:static; margin-top:2.5rem}
.ctoc__list{display:flex; flex-wrap:wrap; column-gap:2rem}
.ctoc__list li{border-top:0}
/* 下の段がある目次は横に並べると段がずれるので、縦1列にする */
.ctoc__list:has(.ctoc__sub){display:block}
}

/* 支援内容：課題ごとの塊（csup__g）に分け、その中に番号付きの項目を置く */
.entry-content .csup{margin-top:1.5rem}
.entry-content .csup__g{margin-top:3rem}
.entry-content .csup__g:first-child{margin-top:0}
.entry-content .csup__gh{margin-top:0; margin-bottom:0;
  padding:1rem 1.25rem; border-bottom:0; border-left:.25rem solid var(--nv);
  border-radius:0 .25rem .25rem 0; background:var(--bl-50);
  font-size:1.1875rem; font-weight:700; color:var(--nv); line-height:1.5}
.entry-content .csup__gh::before{display:none}
.entry-content .csup__gn{color:var(--bl-2)}
.entry-content .csup__i{padding:1.75rem 0; border-bottom:1px solid var(--bl-100)}
.entry-content .csup h4{margin-top:0; margin-bottom:0; padding:0;
  font-size:1.125rem; font-weight:700; color:var(--nv); line-height:1.6}
.entry-content .csup__d{margin-top:1rem}
.entry-content .csup__d > *:first-child{margin-top:0}
.blk{padding-block:7rem}
@media (max-width:767px){.blk{padding-block:4.5rem}}
.evsec{position:relative}
.evsec .cases{margin-top:7rem}
.evsec .cases article{position:relative; overflow:visible; container-type:inline-size}
.evsec .cases .ph{border-radius:.3125rem}
.evsec .cases article:nth-child(3) .evpop{width:120%; clip-path:inset(0 8.4%); transition:transform .45s cubic-bezier(.34,1.5,.64,1), clip-path .45s ease} /* 横長のため他の2枚と同じ高さになる幅まで広げ、待機中は写真の幅で隠す（2026-09-07 承認者指示） */
.evsec .cases article:nth-child(3):hover .evpop,.evsec .cases article:nth-child(3):focus-within .evpop,
.evsec .cases article:nth-child(3).is-pop .evpop{clip-path:inset(0 0)}
.evsec .cases article > a{position:relative; z-index:1}
.evpop{position:absolute; z-index:0; left:50%; bottom:100%; width:100%;
  height:min(11rem,54cqw); pointer-events:none; display:flex;
  align-items:flex-end; justify-content:center;
  transform:translate(-50%,100%); transition:transform .45s cubic-bezier(.34,1.5,.64,1)}
.evpop img{display:block; width:auto; height:auto; max-width:100%; max-height:100%}
.evsec .cases article:hover .evpop,.evsec .cases article:focus-within .evpop,
.evsec .cases article.is-pop .evpop{transform:translate(-50%,45%)}
@media (max-width:767px){
.evsec .cases{margin-top:0; padding-top:6rem; padding-bottom:1rem;
  display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:thin}
.evsec .cases::-webkit-scrollbar{height:.375rem}
.evsec .cases::-webkit-scrollbar-thumb{background:var(--ln); border-radius:.1875rem}
.evsec .cases > article{flex:0 0 80%; scroll-snap-align:start}
}
@media (prefers-reduced-motion:reduce){.evpop{transition:none}}
.bnf{margin-top:3rem; list-style:none; padding:0; display:grid;
  grid-template-columns:repeat(6,1fr); gap:1.5rem}
.bnf li{grid-column:span 2; padding:2.25rem 2rem; background:var(--wh);
  border:1px solid var(--ln); border-radius:.75rem}
.bnf li:nth-child(4){grid-column:2 / span 2}
.bnf li:nth-child(5){grid-column:4 / span 2}
.bnf__bd{min-width:0}
.bnf__no{display:block; font-family:"Noto Serif JP",serif; font-size:1.375rem; font-weight:600;
  color:var(--bl); letter-spacing:.06em; line-height:1}
.bnf__no::after{content:""; display:block; width:2rem; height:2px; margin-top:.75rem;
  border-radius:1px; background:var(--bl-2)}
.bnf b{display:block; margin-top:1.125rem; font-size:1.125rem; font-weight:800; color:var(--nv);
  line-height:1.7}
.bnf p{margin-top:.875rem; font-size:1rem; line-height:1.95; color:var(--tx-2)}
@media (max-width:1279px){.bnf{grid-template-columns:repeat(2,1fr)}
.bnf li,.bnf li:nth-child(4),.bnf li:nth-child(5){grid-column:auto}
.bnf li:nth-child(5){grid-column:1 / -1}}
@media (max-width:767px){.bnf{grid-template-columns:1fr; gap:1.25rem}
.bnf li,.bnf li:nth-child(5){grid-column:auto; padding:1.75rem 1.5rem}}
.want__lead{font-family:"Noto Serif JP",serif; font-size:clamp(1.375rem,2.2vw,1.75rem);
  font-weight:600; letter-spacing:.04em; line-height:1.7; color:var(--nv)}
.want{margin-top:3rem; list-style:none; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:2rem}
.want li{position:relative; overflow:hidden; padding:2.75rem 1.5rem 3.25rem; background:var(--wh); /* lint-ok: CSS_PAD_ASYM */
  border-radius:.5rem; box-shadow:var(--sh); text-align:center; min-height:13rem}
.want li::after{content:""; position:absolute; left:50%; bottom:1.25rem; width:2rem; height:2px;
  margin-left:-1rem; background:var(--bl-2)}
.want img{position:absolute; left:50%; bottom:-6%; width:58%; height:auto; opacity:.14;
  transform:translateX(-50%); pointer-events:none}
.want b{display:block; position:relative; font-size:1.125rem; font-weight:800;
  letter-spacing:.04em; color:var(--nv); line-height:1.6}
.want p{position:relative; margin-top:0.75rem; font-size:1rem; line-height:1.9; color:var(--tx-2)}
.want + .bt{margin-top:3rem}
.want[data-anim] li{opacity:0; transform:translateY(28px)}
.want[data-anim] li.in{opacity:1; transform:none;
  transition:opacity .55s ease, transform .7s cubic-bezier(.2,1.4,.3,1)}
.want[data-anim] li img{opacity:0}
.want[data-anim] li img{transform:translateX(-50%) scale(.4)}
.want[data-anim] li.in img{opacity:.14; transform:translateX(-50%);
  transition:transform .6s .25s cubic-bezier(.2,1.8,.3,1), opacity .3s .25s ease}
.want li:hover img{animation:wantwig .5s ease}
@keyframes wantwig{30%{transform:translateX(-50%) rotate(-5deg) scale(1.06)}
  70%{transform:translateX(-50%) rotate(4deg) scale(1.02)}}
.posbg{position:relative; overflow:hidden}
.posbg__bg{position:absolute; inset:0; z-index:0}
.posbg__bg img{width:100%; height:100%; object-fit:cover; object-position:50% 50%}
.posbg__bg::after{content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.88) 55%,rgba(248,251,255,.91) 100%)}
.posbg .wrap{position:relative; z-index:1}
.phil{position:relative; overflow:hidden}
.phil__bg{position:absolute; inset:0; z-index:0}
.phil__bg img{width:100%; height:100%; object-fit:cover; object-position:50% 42%}
.phil__bg::after{content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.6) 48%,rgba(248,251,255,.85) 100%)}
.phil .wrap{position:relative; z-index:1}
.mvv{margin-top:3rem; display:grid; grid-template-columns:repeat(2,1fr); gap:2rem}
.mvv__c{padding:2.5rem; background:var(--wh); border-radius:.5rem; box-shadow:var(--sh)}
.mvv__c h3{font-family:"Noto Serif JP",serif; font-size:clamp(1.5rem,2.4vw,1.875rem);
  font-weight:600; letter-spacing:.06em; line-height:1.3; color:var(--bl)}
.mvv__c > p{margin-top:1.5rem; font-family:"Noto Serif JP",serif;
  font-size:clamp(1.125rem,1.7vw,1.375rem); font-weight:600; line-height:1.8; color:var(--nv)}
.mvv__c--w{grid-column:1 / -1}
.mvv__lead{font-family:inherit !important; font-size:1rem !important; font-weight:400 !important;
  line-height:2 !important; color:var(--tx-2) !important}
.mvv__list{margin-top:1.5rem; list-style:none; padding:0; display:grid;
  grid-template-columns:repeat(2,1fr); grid-auto-flow:column; grid-template-rows:repeat(3,auto);
  gap:1rem 3rem}
.mvv__list li{display:flex; align-items:baseline; gap:1rem; font-size:1.0625rem; font-weight:700;
  line-height:1.7; color:var(--nv)}
.mvv__list b{flex:0 0 auto; font-family:"Noto Serif JP",serif; font-size:.9375rem; font-weight:600;
  letter-spacing:.04em; color:var(--bl-2)}
.rflow{margin-top:4rem; list-style:none; padding:0;
  display:grid; grid-template-columns:repeat(5,1fr); gap:2rem}
.rflow > li{position:relative; padding:2rem 1.5rem; background:var(--wh);
  border-radius:.5rem; box-shadow:var(--sh)}
.rflow > li:not(:last-child)::after{content:""; position:absolute; z-index:1; top:50%;
  right:-1.25rem; width:.5rem; height:.5rem; margin-top:-0.25rem;
  border-top:1.5px solid var(--bl-2); border-right:1.5px solid var(--bl-2);
  transform:rotate(45deg)}
.rflow__no{display:block; font-family:"Noto Serif JP",serif; font-size:1.75rem; font-weight:600;
  line-height:1; letter-spacing:.04em; color:var(--bl-2)}
.rflow__no::after{content:""; display:block; width:1.5rem; height:1px; margin-top:0.75rem;
  background:var(--bl-100)}
.rflow__bd{margin-top:1rem}
.rflow__bd b{display:block; font-size:1.0625rem; font-weight:800; color:var(--nv); line-height:1.7}
.rflow__bd p{margin-top:0.5rem; font-size:1rem; line-height:1.9; color:var(--tx-2)}
.rflow__nt{margin-top:2rem; font-size:1rem; line-height:2; color:var(--tx-2)}

/* 募集ポジション */
.posacc summary{padding-block:2rem}
.posacc__no{font-family:"Noto Serif JP",serif; font-size:1rem; font-weight:600; letter-spacing:.06em;
  color:var(--bl-2)}
.posacc details[open]{padding-bottom:2rem}
.posacc .posbody{padding:2rem clamp(1.5rem,3vw,2.5rem);
  background:var(--cr-50); border-radius:.5rem}
.posgrp + .posgrp{margin-top:2.25rem}
.posgrp__hd{display:flex; align-items:center; gap:1rem; font-size:.8125rem; font-weight:800;
  letter-spacing:.14em; color:var(--bl)}
.posgrp__hd::after{content:""; flex:1 1 auto; height:1px; background:var(--bl-100)}
.posdl{margin-top:0.5rem}
.posdl__r{display:grid; grid-template-columns:10.5rem 1fr; gap:2rem; padding-block:1rem;
  border-bottom:1px solid var(--ln)}
.posdl__r:last-child{border-bottom:0}
.posdl dt{font-size:1rem; font-weight:800; color:var(--nv); line-height:2}
.posdl dd{margin:0; font-size:1rem; line-height:2; color:var(--tx-2)}
.posdl dd > * + *{margin-top:1rem}
.posdl dd .sb{display:block; font-weight:800; color:var(--nv)}
.posdl dd ul{list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,1fr);
  gap:0.25rem 2rem}
.posdl dd ul li{position:relative; padding-left:1rem}
.posdl dd ul li::before{content:""; position:absolute; left:0; top:.9em; width:.3125rem; height:.3125rem;
  border-radius:50%; background:var(--bl-3)}
.posacc .poscta{margin-top:2rem}

/* SDGs */
.sdgc{margin-top:3rem; list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,1fr);
  gap:2rem}
.sdgc > li{display:grid; grid-template-columns:5.5rem 1fr; gap:1.5rem; align-content:start;
  padding:2rem clamp(1.5rem,2.5vw,2rem); background:var(--wh); border-radius:.5rem; box-shadow:var(--sh)}
.sdgc__ic{display:flex; flex-direction:column; gap:0.5rem}
.sdgc__ic img{display:block; width:5.5rem; height:5.5rem; border-radius:.25rem}
.sdgc h3{font-size:1.125rem; font-weight:800; line-height:1.7; color:var(--nv)}
.sdgc > li > div > p{margin-top:1rem; font-size:1rem; line-height:1.9; color:var(--tx-2)}
.sdgc ul{margin-top:1rem; list-style:none; padding:0; display:grid; gap:0.5rem}
.sdgc ul li{position:relative; padding-left:1rem; font-size:1rem; line-height:1.9;
  color:var(--tx-2)}
.sdgc ul li::before{content:""; position:absolute; left:0; top:.85em; width:.375rem; height:.375rem;
  border-radius:50%; background:var(--bl-3)}
.acts{margin-top:3rem; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem}
.acts article{display:flex; flex-direction:column; background:var(--wh); border:1px solid var(--ln);
  border-radius:.5rem; overflow:hidden}
.acts .ph{display:block; aspect-ratio:16/9; overflow:hidden; background:var(--bl-50)}
.acts .ph img{width:100%; height:100%; object-fit:cover}
.acts .bd{padding:1.5rem}
.acts time{font-size:.8125rem; font-weight:700; letter-spacing:.06em; color:var(--bl-2)}
.acts h3{margin-top:0.5rem; font-size:1rem; font-weight:800; line-height:1.8; color:var(--nv)}
.plat{margin-top:3rem; display:grid; grid-template-columns:13rem 1fr; gap:3rem; align-items:center;
  padding:2.5rem clamp(1.5rem,4vw,3rem); background:var(--wh); border-radius:.5rem; box-shadow:var(--sh)}
.plat__lg img{display:block; width:100%; height:auto}
.plat p{font-size:1rem; line-height:2.1; color:var(--tx-2)}
.sdgl{color:var(--bl); text-decoration:underline; text-underline-offset:.2em}
.sdgl:hover{color:var(--nv)}
.sdgl--ex::after{content:"\2197"; display:inline-block; margin-left:0.25rem; opacity:.55;
  transition:opacity .24s ease-out, transform .24s ease-out}
.sdgl--ex:hover::after{opacity:1; transform:translate(.125rem,-.125rem)}
.sdgf{margin-top:1.5rem; display:grid; gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr))}
.sdgc > li > .sdgf,.sdgc > li > .sdglg,.sdgc > li > .sdgnw{grid-column:1/-1}
.sdgf img{display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover;
  border:1px solid var(--ln); border-radius:.5rem; background:var(--wh)}
.sdglg{--lgh:clamp(3rem,3.4vw,3.5rem); margin-top:1.5rem; display:grid; gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
.sdglg--tall{--lgh:clamp(4rem,6vw,5.5rem)}
.sdglg__c{display:flex; align-items:center; justify-content:center; padding:0.875rem 1rem;
  background:var(--wh); border:1px solid var(--ln); border-radius:.5rem;
  transition:border-color .24s ease-out, box-shadow .24s ease-out}
.sdglg__c:hover{border-color:var(--bl-100); box-shadow:var(--sh)}
.sdglg__c img{display:block; width:auto; max-width:100%; height:var(--lgh); object-fit:contain}
.sdgnw{margin-top:1.5rem; display:block; overflow:hidden; background:var(--wh);
  border:1px solid var(--ln); border-radius:.5rem;
  transition:border-color .28s ease-out, box-shadow .28s ease-out}
.sdgnw:hover{border-color:var(--bl-100); box-shadow:var(--sh-h)}
.sdgnw__ph{display:block; overflow:hidden}
.sdgnw__ph img{display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover;
  transition:transform .5s ease-out}
.sdgnw:hover .sdgnw__ph img{transform:scale(1.06)}
.sdgnw__t{display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.25rem 1.5rem; font-size:1rem; font-weight:800; line-height:1.8; color:var(--nv)}
.sdgnw__t::after{content:"\2192"; display:flex; align-items:center; justify-content:center;
  flex:0 0 2.25rem; width:2.25rem; height:2.25rem; border:1px solid var(--nv);
  border-radius:50%; font-size:.9375rem; font-weight:400;
  transition:background .22s ease-out, color .22s ease-out}
.sdgnw:hover .sdgnw__t::after{background:var(--nv); color:var(--wh)}
.acts__lk{display:flex; flex-direction:column; height:100%}
.acts article{transition:border-color .28s ease-out, box-shadow .28s ease-out}
.acts article:hover{border-color:var(--bl-100); box-shadow:var(--sh-h)}
.acts__lk .ph img{transition:transform .5s ease-out}
.acts__lk:hover .ph img{transform:scale(1.06)}

@media (max-width:1023px){
.rflow{grid-template-columns:1fr; gap:2rem}
.sdgc{grid-template-columns:1fr}
.acts{grid-template-columns:1fr; gap:1.5rem}
.plat{grid-template-columns:1fr; gap:2rem; justify-items:start}
.plat__lg{width:11rem}}

@media (max-width:767px){
.cprof__r{grid-template-columns:1fr; gap:0.25rem; padding-block:1rem}
.posdl__r{grid-template-columns:1fr; gap:0.5rem}
.posdl dd ul{grid-template-columns:1fr}
.sdgc > li{grid-template-columns:1fr; gap:1.5rem}
.sdgc__ic{flex-direction:row}}

.wpcf7 .form{margin-top:0}
.form .wpcf7-form-control-wrap{display:block}
.form input.wpcf7-form-control:not([type="checkbox"]):not([type="submit"]),
.form select.wpcf7-form-control,
.form textarea.wpcf7-form-control{width:100%; margin-top:0.75rem; padding:0.5rem 1rem;
  background:var(--wh); border:1px solid var(--ln); border-radius:.25rem;
  font-family:inherit; font-size:1rem; color:var(--tx); line-height:1.8;
  transition:border-color .2s ease, box-shadow .2s ease}
.form input.wpcf7-form-control:not([type="checkbox"]):not([type="submit"]){height:3rem; padding-block:0}
.form select.wpcf7-form-control{height:3rem; padding-block:0; cursor:pointer;
  appearance:none; -webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--nv) 50%),linear-gradient(135deg,var(--nv) 50%,transparent 50%);
  background-position:calc(100% - 1.25rem) 1.25rem,calc(100% - 1rem) 1.25rem;
  background-size:.3125rem .3125rem,.3125rem .3125rem; background-repeat:no-repeat}
.form textarea.wpcf7-form-control{min-height:9rem; resize:vertical}
.form .wpcf7-form-control:focus{outline:0; background:var(--wh); border-color:var(--bl);
  box-shadow:0 0 0 3px rgba(0,74,173,.14)}
.form .fagree,.form .ag{margin-top:.5rem; padding:1.25rem 1.5rem; border-radius:.5rem;
  background:var(--bl-50)}
.form .fagree .wpcf7-list-item,.form .ag .wpcf7-list-item{margin:0}
.form .fagree label,.form .ag label{display:inline-flex; align-items:flex-start; gap:.75rem;
  font-weight:400; font-size:1rem; color:var(--tx-2)}
.form .fagree input[type="checkbox"],.form .ag input[type="checkbox"]{width:1.25rem; height:1.25rem;
  margin-top:.125rem; accent-color:var(--bl); cursor:pointer; flex-shrink:0}
.form .fsub{position:relative; margin-top:2.5rem; display:flex; justify-content:center}
.form .fsub p{margin:0; display:flex; width:100%; max-width:22rem} /* lint-ok: CSS_MAXWIDTH_TEXT */
.form .fsub .wpcf7-spinner{position:absolute; top:50%; left:calc(50% + 11.5rem);
  margin:0; transform:translateY(-50%)}
.form .fbtn{flex:1 1 auto; min-width:0; padding:1.125rem 3rem;
  border:0; border-radius:99px; background:#002352 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='20' fill='%23ffffff'/%3E%3Cpath d='M14.5 20h11M21.5 15.5 26 20l-4.5 4.5' fill='none' stroke='%23002352' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right .5rem center;
  background-size:2.5rem 2.5rem; color:var(--wh); font-family:inherit; font-size:1.0625rem;
  font-weight:700; letter-spacing:.08em; text-indent:.08em; text-align:center; line-height:1.5;
  cursor:pointer; box-shadow:0 .5rem 1.25rem rgba(0,35,82,.22);
  transition:background-color .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s cubic-bezier(.22,.61,.36,1), transform .3s cubic-bezier(.22,.61,.36,1)}
.form .fbtn:hover{background-color:#004AAD; box-shadow:0 .75rem 1.75rem rgba(0,74,173,.28);
  transform:translateY(-2px)}
.form .fbtn:focus-visible{outline:2px solid var(--bl); outline-offset:3px}
.form .fbtn:disabled{background-color:#8E9CB2; box-shadow:none; transform:none; cursor:not-allowed}
.form .fbtn:disabled:hover{background-color:#8E9CB2; box-shadow:none; transform:none}
.form .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form .hidden-fields-container{display:none}
.form .screen-reader-response{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form .ag .wpcf7-list-item{margin:0}
.form .ag .wpcf7-list-item-label{display:none}
.wpcf7 .wpcf7-not-valid-tip{margin-top:0.25rem; font-size:.875rem; color:var(--rq)}
.wpcf7 form .wpcf7-response-output{margin:1.5rem 0 0; padding:1rem 1.25rem;
  border:1px solid var(--ln); border-radius:.25rem; font-size:1rem; line-height:1.8}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output{border-color:var(--rq)}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--bl); color:var(--nv)}
.wpcf7-spinner{margin-left:1rem}
/* 390px 未満は「『祈り』を社会実装する。」が1行に入らないため、幅に合わせて字を小さくする */
@media (max-width:389px){#mission .shd h2{font-size:clamp(1.25rem,6.95vw,1.75rem)}}
@media (max-width:767px){
.cyc{max-width:23rem; margin-top:1.5rem}
.cyc__node{width:37%; overflow:visible}
.cyc__node--l{left:0; top:52%}
.cyc__node--r{right:0; top:52%}
.cyc__node img{position:absolute; left:50%; top:-1.75rem; transform:translateX(-50%);
  width:4.5rem; height:4.5rem; margin:0}
.cyc__node b{font-size:1.25rem; letter-spacing:.06em; line-height:1.4}
.cyc__node b::after{width:2.25rem; margin:0.375rem auto}
.cyc__node span{font-size:.8125rem; line-height:1.7}
.cyc__center{width:38%; top:44.5%}
.cyc__center p{font-size:.9375rem; line-height:1.5; letter-spacing:.04em}
.cyc__arr--pc{display:none}
.cyc__arr--sp{display:block}
}
@media (max-width:1023px){.want{grid-template-columns:1fr; gap:1.5rem}}
@media (max-width:1023px){.vsn{grid-template-columns:1fr; gap:3rem}
.cyc{max-width:26rem}}
@media (max-width:1023px){.mvv{grid-template-columns:1fr}
.mvv__list{grid-template-columns:1fr; grid-auto-flow:row; grid-template-rows:none}}
@media (max-width:1023px){.rflow{grid-template-columns:1fr; gap:2rem}
.rflow > li:not(:last-child)::after{top:auto; right:auto; bottom:-1.25rem; left:50%;
  margin:0 0 0 -0.25rem; transform:rotate(135deg)}}
@media (max-width:767px){
.form .fagree,.form .ag{padding:1rem}
.form .fagree label,.form .ag label{align-items:center; gap:0.5rem}
.form .fagree input[type="checkbox"],.form .ag input[type="checkbox"]{margin-top:0}
}
@media (max-width:767px){.form .fsub{margin-top:2rem}
.form .fsub p{max-width:none} /* lint-ok: CSS_MAXWIDTH_TEXT */
.form .fbtn{padding:1rem 3rem; font-size:1rem}
.form .fsub .wpcf7-spinner{display:none}}
.pcard p a,.lgl a{color:var(--bl); text-decoration:underline; text-underline-offset:.2em;
  word-break:break-word}
.pcard p a:hover,.lgl a:hover{color:var(--nv)}


@media (max-width:767px){
/* 事例一覧：既存サイトのニュース一覧と同じ、写真を左・タイトルを右に置く行 */
.cases[data-filter="case"]{gap:0.75rem}
.cases[data-filter="case"] article > a{flex-direction:row; align-items:center; gap:0.75rem}
.cases[data-filter="case"] .ph{flex:0 0 8rem; aspect-ratio:16/10}
.cases[data-filter="case"] .ph::after{display:none}
.cases[data-filter="case"] .bd{flex:1 1 auto; min-width:0; justify-content:center;
  padding:0.75rem 0.75rem 0.75rem 0}
.cases[data-filter="case"] .meta,.cases[data-filter="case"] .tags{display:none}
.cases[data-filter="case"] h3{margin-top:0.25rem; font-family:inherit; font-size:.9375rem;
  font-weight:700; line-height:1.6; display:-webkit-box; -webkit-line-clamp:3;
  -webkit-box-orient:vertical; overflow:hidden}
.cases[data-filter="case"] .chip--cat{font-size:.75rem; padding:0.125rem 0.5rem; align-self:flex-start}
}

.cases .is-pgoff{display:none}
.pgn{display:none}
@media (max-width:767px){
.pgn{display:flex; flex-wrap:wrap; justify-content:center; gap:0.5rem; margin-top:2rem}
.pgn[hidden]{display:none}
.pgn button{min-width:2.5rem; height:2.5rem; padding:0 0.75rem; border:1px solid var(--ln);
  border-radius:.25rem; background:var(--wh); font-size:.9375rem; font-weight:700;
  color:var(--nv); cursor:pointer}
.pgn button.on{background:var(--nv); border-color:var(--nv); color:var(--wh)}
.pgn .pgn__dots{display:inline-flex; align-items:center; justify-content:center; min-width:2.5rem; height:2.5rem;
  color:var(--tx-2); font-weight:700}
.pgn button.pgn__arw{border-color:transparent; background:transparent}
}

/* AIリスキリング研修 */
.rskbd{display:inline-block; padding:0.5rem 1.25rem; border:1px solid var(--bl-100);
  border-radius:99px; background:var(--bl-50); font-size:1rem; font-weight:700;
  color:var(--bl); line-height:1.7}
.rskbd + .svclead__cp{margin-top:1.5rem}
.svclead__tx .tac{justify-content:flex-start}
.rskintro em{font-style:normal; color:var(--bl)}
.rskintro .shd h2{font-size:clamp(1.5rem,2.3vw,2.0625rem); line-height:1.7}
.rskbn{position:relative; overflow:hidden; margin-top:5rem; padding:3rem;
  border-radius:.5rem; background:linear-gradient(135deg,var(--nv),var(--nv-2)); color:var(--wh)}
.rskbn__bg{position:absolute; inset:0; z-index:0}
.rskbn__bg img{width:100%; height:100%; object-fit:cover; opacity:.08}
.rskbn__in{position:relative; z-index:1}
.rskbn__lb{display:block; font-size:1rem; font-weight:700; letter-spacing:.04em;
  line-height:1.8; color:var(--sun)}
.rskbn__h{margin-top:1rem; font-family:"Noto Serif JP",serif;
  font-size:clamp(1.5rem,3vw,2.375rem); font-weight:600; letter-spacing:.04em; line-height:1.5}
.rskbn__h em{font-style:normal; color:#F5B84A; font-size:1.22em; letter-spacing:-.02em} /* 紺の帯の上で薄く見えたため、色を濃い金色に・LPと同じ1.22倍（2026-09-07 承認者指摘） */
.rskbn__nt{margin-top:1.5rem; font-size:1rem; line-height:1.9; color:var(--tx-2)}
/* 研修の特長：元のLP（.feat2）と同じ見せ方＝白いカード2列・アイコンは右下に大きく薄く（2026-09-07 承認者指摘で復元） */
.rskft{margin-top:3rem; display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem}
.rskft article{position:relative; overflow:hidden; background:var(--wh); border:1px solid var(--ln);
  border-radius:.375rem; padding:3.5rem 2rem; text-align:center;
  display:flex; flex-direction:column; justify-content:center;
  transition:transform .2s ease-out, box-shadow .2s ease-out}
.rskft article:hover{transform:translateY(-.25rem); box-shadow:0 1.25rem 2.5rem -1.5rem rgba(0,35,82,.3)}
.rskft__ic{position:absolute; z-index:0; right:-1.25rem; bottom:-1.25rem; width:34%; aspect-ratio:1;
  opacity:.12; pointer-events:none; line-height:0}
.rskft__ic img{width:100%; height:100%}
.rskft h3,.rskft p{position:relative; z-index:1}
.rskft h3{margin-top:0; font-size:1.125rem; font-weight:800; color:var(--nv); line-height:1.6}
.rskft p{margin-top:1rem; font-size:1rem; line-height:2; color:var(--tx-2)}
.rskuc{margin-top:4rem; display:grid; grid-template-columns:repeat(2,1fr); gap:2.5rem}
.rskuc figure{overflow:hidden; border:1px solid var(--ln); border-radius:.5rem; background:var(--wh)}
.rskuc img{width:100%; aspect-ratio:16/9; object-fit:cover}
.rskuc figcaption{display:block; padding:1.5rem}
.rskuc b{display:block; font-family:"Noto Serif JP",serif; font-size:1.25rem; font-weight:600;
  color:var(--nv); line-height:1.6}
.rskuc p{margin-top:0.5rem; font-size:1rem; line-height:1.9; color:var(--tx-2)}
.rskol{margin-top:3rem; display:grid; grid-template-columns:1.6fr 1fr; gap:3rem; align-items:start}
.rskol .tbl{margin-top:0}
.rskpr{padding:2.5rem 2rem; border:1px solid var(--bl-100); border-radius:.5rem;
  background:var(--wh); text-align:center}
.rskpr__lb{display:block; font-size:1rem; font-weight:700; letter-spacing:.16em;
  line-height:1.6; color:var(--bl)}
.rskpr__n{margin-top:1rem; font-family:"Noto Serif JP",serif;
  font-size:clamp(2.25rem,4.4vw,3.25rem); font-weight:600; letter-spacing:.02em;
  line-height:1.3; color:var(--nv)}
.rskpr__n small{font-size:1.125rem; font-weight:600}
.rskpr__u{margin-top:1rem; padding-top:1rem; border-top:1px solid var(--ln);
  font-size:1rem; line-height:1.9; color:var(--tx-2)}
.rskpr__nt{margin-top:1rem; font-size:1rem; line-height:1.9; color:var(--tx-2); text-align:left}
.rskdue{display:inline-block; margin-top:1rem; padding:0.5rem 1rem; border-radius:.25rem;
  background:var(--bl-50); font-size:1rem; font-weight:700; line-height:1.8; color:var(--bl)}
@media (max-width:1023px){
.rskol{grid-template-columns:1fr; gap:2.5rem}
}
@media (max-width:767px){
.rskbn{margin-top:3rem; padding:2rem 1.5rem}
.rskft{grid-template-columns:1fr; gap:1rem}
.rskft article{padding:2.5rem 1.5rem}
.rskuc{grid-template-columns:1fr; gap:1.5rem}
.rskpr{padding:2rem 1.5rem}
}

/* 表（.tbl）のスマートフォン表示：会社概要（.cprof）と同じく見出しを上・内容を下に積む（2026-09-07 承認者指示） */
@media (max-width:767px){
.tbl,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block; width:100%}
.tbl tr{border-bottom:1px solid var(--ln); padding-block:1rem}
.tbl th,.tbl td{border-bottom:0; padding:0}
.tbl td{margin-top:0.25rem}}

/* 文字数の多いキャッチコピー：390px=24px / 1440px=約37px
   傾き (36-24)/(1440-390)=1.143vw、切片 24-0.01143*390=19.54px=1.2213rem */
.svclead__cp--long{font-size:clamp(1.5rem, 1.2213rem + 1.143vw, 2.25rem)}
.form + .bt{margin-top:2rem}

/* Cookieポリシー等のデータ表（.doc .tbl-x）のスマートフォン表示：長文の列を広げ、横スクロールで読む（2026-09-07 承認者指示） */
@media (max-width:767px){
.doc .tbl-x td,.doc .tbl-x th{min-width:16rem}
.doc .tbl-x td:first-child,.doc .tbl-x th:first-child{min-width:8rem}}
.tiles + .art__h{margin-top:4.5rem}
.art__h + .offer{margin-top:2rem}

