/* TengenJP V7.6.4 - About page only. All other pages retain V7.6.3 styling. */
.ab-outlook { background:#faf9f5; overflow:hidden; }
.ab-outlook-grid {
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:clamp(44px,5.6vw,88px);
  align-items:center;
}
.ab-outlook-copy { min-width:0; padding:32px 0; }
.ab-outlook-copy .display-heading {
  font-size:clamp(39px,3.7vw,59px);
  line-height:1.45;
  letter-spacing:.005em;
  margin:29px 0 0;
  overflow-wrap:anywhere;
}
.ab-outlook-copy .title-rule { margin:34px 0 46px; }
.ab-outlook-copy p { color:#676059; font-size:clamp(15px,1.05vw,17px); line-height:2.15; max-width:570px; margin:0 0 26px; }
.ab-outlook-copy .ab-outlook-lead { color:#393633; font-size:clamp(17px,1.33vw,21px); line-height:2.03; margin-bottom:32px; }
.ab-outlook-link {
  display:inline-flex;
  align-items:center;
  gap:38px;
  margin-top:21px;
  padding:15px 0;
  border-bottom:1px solid #b71920;
  color:#b71920;
  font:600 14px/1.4 var(--sans);
  text-decoration:none;
  transition:gap .25s ease, opacity .25s ease;
}
.ab-outlook-link:hover,.ab-outlook-link:focus-visible { gap:46px; opacity:.79; }
.ab-outlook-link span { font-size:20px; line-height:1; }
.ab-outlook-visual { margin:0; position:relative; align-self:stretch; min-height:575px; overflow:hidden; background:#d8e0e0; }
.ab-outlook-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 51%; filter:saturate(.78) contrast(.93) brightness(1.07); }
.ab-outlook-visual:before {
  content:""; position:absolute; z-index:1; inset:0;
  background:linear-gradient(0deg,rgba(18,30,41,.42),transparent 26%),linear-gradient(90deg,rgba(250,249,245,.12),transparent 43%);
  pointer-events:none;
}
.ab-outlook-visual figcaption { position:absolute; z-index:2; left:33px; right:33px; bottom:26px; display:flex; justify-content:space-between; align-items:end; gap:16px; color:#fff; font:10px/1.8 Georgia,serif; letter-spacing:.18em; text-shadow:0 1px 4px rgba(0,0,0,.4); }
@media(max-width:980px) {
  .ab-outlook-grid { gap:36px; grid-template-columns:1fr 1fr; }
  .ab-outlook-visual { min-height:500px; }
  .ab-outlook-copy .display-heading { font-size:clamp(32px,4.5vw,46px); }
  .ab-outlook-copy p { font-size:15px; line-height:2.0; }
}
@media(max-width:767px) {
  .ab-outlook-grid { grid-template-columns:1fr; gap:45px; }
  .ab-outlook-copy { padding:0; }
  .ab-outlook-copy .display-heading { font-size:clamp(31px,7.2vw,43px); line-height:1.46; }
  .ab-outlook-copy .title-rule { margin:27px 0 34px; }
  .ab-outlook-copy .ab-outlook-lead { font-size:18px; }
  .ab-outlook-copy p { font-size:14px; line-height:2.15; }
  .ab-outlook-link { margin-top:9px; }
  .ab-outlook-visual { min-height:0; height:clamp(340px,100vw,560px); }
  .ab-outlook-visual figcaption { left:20px; right:20px; bottom:17px; font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .ab-outlook-link { transition:none; }
}
