

body {
  position: relative;
  
  padding-top: 74px;
  padding-bottom: 78px;
}

.Lay_root_o1 {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.Lay_head_o2 {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 74px;
  z-index: 1000;
}

.Lay_body_o3 {
  position: relative;
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 272px;
  align-items: start;
}

.Lay_side_o4 {
  position: relative;
  order: 2;
  align-self: stretch;
  border-left: 1px solid var(--c-line);
  background: var(--c-mist);
  padding: 2.618rem 1.618rem;
}

.Lay_main_o5 {
  position: relative;
  order: 1;
  min-width: 0;
}

.Lay_cont_o6 {
  position: relative;
  width: 100%;
}

.Lay_foot_o7 {
  position: relative;
  width: 100%;
  margin-top: auto;
}


.Wrap_mid_o8 {
  width: min(92%, 980px);
  margin-inline: auto;
}

.Wrap_wide_o8b {
  width: min(94%, 1240px);
  margin-inline: auto;
}


.Sec_base_o9 {
  position: relative;
  width: 100%;
  padding: 4.236rem 0;
  background: var(--c-page);
}

.Sec_base_o9.is-tint { background: var(--c-mist); }
.Sec_base_o9.is-deep { background: var(--c-night); }
.Sec_base_o9.is-deep h2,
.Sec_base_o9.is-deep h3 { color: #ffffff; }
.Sec_base_o9.is-deep p { color: #b9d9d5; }

.Sec_head_o10 {
  max-width: 46rem;
  margin-bottom: 2.618rem;
}

.Sec_kick_o10b {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 0.74rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-deep);
  display: block;
  margin-bottom: 0.618rem;
}

.Sec_ttl_o11 { margin-bottom: 1rem; }

.Sec_lead_o12 {
  font-size: 1.05rem;
  color: var(--c-ink-2);
  max-width: 40rem;
}

.Sec_body_o13 { position: relative; }


.Rule_fade_o14 {
  height: 80px;
  width: 100%;
  background: linear-gradient(to bottom, var(--c-page), var(--c-mist));
}

.Rule_fade_o14.is-flip {
  background: linear-gradient(to bottom, var(--c-mist), var(--c-page));
}

.Rule_fade_o14.is-dark {
  background: linear-gradient(to bottom, var(--c-mist), var(--c-night));
}


.Grid_3_o15 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15.5rem, 1fr));
  gap: max(1rem, 1.618vw);
}

.Grid_2_o16 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
  gap: 1.618rem;
}


.Zig_row_o17 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: max(1.618rem, 2.6vw);
  align-items: center;
}

.Zig_txt_o18 { order: 1; min-width: 0; }
.Zig_pic_o19 { order: 2; min-width: 0; }

.Zig_row_o17 > .Zig_txt_o18:only-child { grid-column: 1 / -1; }

.Zig_row_o17.is-mirrored .Zig_txt_o18 { order: 2; }
.Zig_row_o17.is-mirrored .Zig_pic_o19 { order: 1; }



@media (max-width: 1179px) {
  .Lay_body_o3 { display: block; }
  .Lay_side_o4 { display: none; }
  .Wrap_mid_o8 { width: min(92%, 1060px); }
}

@media (max-width: 900px) {
  .Sec_base_o9 { padding: 2.618rem 0; }
  .Sec_head_o10 { margin-bottom: 1.618rem; }
  .Zig_row_o17 { grid-template-columns: minmax(0, 1fr); }
  .Zig_row_o17 .Zig_txt_o18,
  .Zig_row_o17.is-mirrored .Zig_txt_o18 { order: 2; }
  .Zig_row_o17 .Zig_pic_o19,
  .Zig_row_o17.is-mirrored .Zig_pic_o19 { order: 1; }
  .Rule_fade_o14 { height: 48px; }
}

@media (max-width: 767px) {
  body { padding-top: 64px; padding-bottom: 86px; }
  .Lay_head_o2 { height: 64px; }
  .Wrap_mid_o8,
  .Wrap_wide_o8b { width: 90%; }
}
