/* Three consultation starting points; the text and existing navigation stay intact. */
.solutions{--color-icon-bg:#EFF8F2;position:relative;isolation:isolate;overflow:hidden;border-top:0;background:#F8FAF8;padding-block:56px;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--color-body);line-break:strict}
.solutions::before{content:"";position:absolute;z-index:-1;top:-135px;right:-120px;width:540px;height:540px;background:var(--color-primary);opacity:.035;mask:url(assets/logo-symbol.svg) center/contain no-repeat;-webkit-mask:url(assets/logo-symbol.svg) center/contain no-repeat;pointer-events:none}
.solutions .page-width{width:calc(100% - 40px);max-width:1200px}
.solutions .section-heading{display:block}
.solutions .section-index{position:relative;margin-bottom:18px;padding-left:42px;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.04em;color:var(--color-primary)}
.solutions .section-index::before{content:"";position:absolute;left:0;top:.75em;width:30px;height:1.5px;background:currentColor}
.solutions .section-heading h2{font-family:inherit;font-size:32px;font-weight:800;line-height:1.35;letter-spacing:-.035em;color:var(--color-heading)}
.solutions .solution-heading-unit{white-space:nowrap}
.solutions .section-heading>p:last-child{margin-top:20px;font-size:14px;line-height:1.8;font-weight:400;color:var(--color-muted)}
.solutions .solution-list{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:28px}
.solutions .solution-card{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:6px;align-content:start;min-width:0;min-height:220px;padding:22px 20px;border:1px solid var(--color-border);border-radius:14px;background:#FFF}
.solutions .solution-card::before{content:"";position:absolute;z-index:0;top:12px;right:-12px;width:130px;height:130px;background:var(--color-primary);opacity:.045;mask:url(assets/logo-symbol.svg) center/contain no-repeat;-webkit-mask:url(assets/logo-symbol.svg) center/contain no-repeat;pointer-events:none}
.solutions .solution-card>*{position:relative;z-index:1}
.solutions .solution-card__top{display:flex;flex-direction:column;align-items:center;gap:8px;grid-column:1;grid-row:1 / 3}
.solutions .solution-card__number{font-size:15px;font-weight:700;line-height:1.4;letter-spacing:.02em;color:var(--color-primary);font-variant-numeric:tabular-nums}
.solutions .solution-card__icon{display:flex;align-items:center;justify-content:center;flex:none;width:46px;height:46px;border-radius:50%;background:var(--color-icon-bg);color:var(--color-primary)}
.solutions .solution-card__icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.solutions .solution-card h3{grid-column:2;font-size:21px;font-weight:750;line-height:1.45;letter-spacing:-.02em;color:var(--color-heading)}
.solutions .solution-title-unit{white-space:nowrap}
.solutions .solution-card__service{grid-column:2;margin-top:10px;font-size:14px;font-weight:600;line-height:1.6;color:var(--color-primary)}
.solutions .solution-detail{grid-column:1 / -1;margin-top:16px;font-size:14px;font-weight:400;line-height:1.8;color:var(--color-muted);text-wrap:pretty}
@media(min-width:768px){
  .solutions{padding-block:80px}
  .solutions .page-width{width:calc(100% - 96px)}
  .solutions .section-index{padding-left:48px}
  .solutions .section-index::before{width:32px}
  .solutions .section-heading h2{font-size:clamp(42px,4vw,58px);line-height:1.3}
  .solutions .section-heading>p:last-child{font-size:17px;line-height:1.9;margin-top:22px}
  .solutions .solution-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:44px}
  .solutions .solution-card{display:block;padding:28px 28px 30px;min-height:300px}
  .solutions .solution-card__top{flex-direction:row;gap:24px;align-items:center;margin-bottom:20px}
  .solutions .solution-card__number{font-size:15px}
  .solutions .solution-card__icon{width:52px;height:52px}
  .solutions .solution-card__icon svg{width:35px;height:35px}
  .solutions .solution-card h3{font-size:23px;font-weight:750;line-height:1.45}
  .solutions .solution-card__service{font-size:15px;line-height:1.6;margin-top:12px}
  .solutions .solution-detail{font-size:15px;line-height:1.8;margin-top:20px}
  .solutions .solution-card::before{top:16px;right:12px;width:150px;height:150px}
}
@media(min-width:1080px){
  .solutions .solution-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .solutions .solution-card{min-height:320px}
  .solutions::before{top:-155px;right:-40px;width:650px;height:650px}
}
