/* FEATURES D: organic photo curves, based on IMG-163. */
section.features-organic{
  --ofe-navy:#062a60;
  --ofe-blue:#1658a0;
  --ofe-sky:#1e8fc9;
  --ofe-ice:#eef7fe;
  --ofe-marker:rgba(255,231,110,.72);
  position:relative;
  overflow:hidden;
  padding:148px 0 138px;
  background:#fff;
  font-family:"Noto Sans JP",sans-serif;
}
section.features-organic::before{
  content:"";
  position:absolute;
  top:-280px;
  left:52%;
  width:1040px;
  height:560px;
  border-radius:48% 52% 62% 38% / 58% 40% 60% 42%;
  background:linear-gradient(135deg,rgba(238,247,254,.2),rgba(215,235,250,.76));
  transform:rotate(-8deg);
  pointer-events:none;
}
.ofe-head{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  width:min(1220px,calc(100% - 64px));
  min-height:275px;
  margin:0 auto 56px;
  align-items:start;
}
.ofe-kicker{display:flex;align-items:center;gap:18px;margin:0 0 24px;color:var(--ofe-blue);font-size:15px;font-weight:800;letter-spacing:.2em}
.ofe-kicker::before{content:"";display:block;width:58px;height:2px;background:linear-gradient(90deg,var(--ofe-blue),var(--ofe-sky))}
.ofe-title{margin:0;color:var(--ofe-navy);font-size:64px;font-weight:900;line-height:1.34;letter-spacing:.035em}
.ofe-list{position:relative;z-index:1}
.ofe-chapter{position:relative;isolation:isolate;min-height:610px;display:flex;align-items:center}
.ofe-chapter::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  top:50%;
  width:150vw;
  height:510px;
  border-radius:48% 52% 55% 45% / 25% 32% 68% 75%;
  background:linear-gradient(100deg,rgba(255,255,255,0) 8%,rgba(238,247,254,.78) 46%,rgba(215,236,251,.5) 84%,rgba(255,255,255,0));
  transform:translate(-50%,-50%) rotate(-2.2deg);
  pointer-events:none;
}
.ofe-chapter:nth-child(even)::before{background:linear-gradient(82deg,rgba(216,237,251,.56),rgba(241,248,254,.86) 48%,rgba(255,255,255,0) 92%);transform:translate(-50%,-50%) rotate(2.2deg)}
.ofe-chapter-inner{position:relative;display:grid;grid-template-columns:520px minmax(0,1fr);align-items:center;gap:54px;width:min(1220px,calc(100% - 64px));margin:0 auto}
.ofe-chapter:nth-child(even) .ofe-copy{grid-column:2;grid-row:1;padding-left:42px}
.ofe-chapter:nth-child(even) .ofe-photo{grid-column:1;grid-row:1}
.ofe-copy{position:relative;z-index:3;padding:36px 0 40px}
.ofe-number{position:absolute;z-index:-1;top:-96px;left:-20px;color:#dfeaf7;font-family:Georgia,"Times New Roman",serif;font-size:142px;font-weight:400;line-height:1;letter-spacing:-.055em;user-select:none}
.ofe-heading{display:table;margin:0 0 24px;color:var(--ofe-navy);font-size:34px;font-weight:900;line-height:1.52;letter-spacing:.025em;text-wrap:balance}
.ofe-heading-line{position:relative;z-index:0;display:inline-block}
.ofe-heading-line::after{content:"";position:absolute;right:-8px;bottom:6px;left:0;z-index:-1;height:12px;transform:skewX(-10deg) scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--ofe-marker),rgba(255,231,110,.22) 88%,transparent);transition:transform 1.7s cubic-bezier(.25,.6,.3,1)}
.ofe-heading-line+.ofe-heading-line::after{transition-delay:.38s}
.ofe-chapter.in-view .ofe-heading-line::after{transform:skewX(-10deg) scaleX(1)}
.ofe-lead{margin:0 0 13px;color:#17385f;font-size:18px;font-weight:700;line-height:1.95}
.ofe-body{margin:0;color:#334c68;font-size:16px;font-weight:500;line-height:2.05;letter-spacing:.01em}
.ofe-photo{position:relative;z-index:2;width:850px;height:520px;overflow:visible}
.ofe-chapter:nth-child(odd) .ofe-photo{transform:translateX(72px)}
.ofe-chapter:nth-child(even) .ofe-photo{transform:translateX(-285px)}
.ofe-photo-window{position:absolute;inset:0;overflow:hidden;background-color:#dce9f4;box-shadow:0 24px 56px -34px rgba(6,42,96,.45)}
.ofe-chapter:nth-child(1) .ofe-photo-window{border-radius:43% 57% 46% 54% / 50% 40% 60% 50%}
.ofe-chapter:nth-child(2) .ofe-photo-window{border-radius:58% 42% 55% 45% / 44% 54% 46% 56%}
.ofe-chapter:nth-child(3) .ofe-photo-window{border-radius:42% 58% 38% 62% / 56% 42% 58% 44%}
.ofe-chapter:nth-child(4) .ofe-photo-window{border-radius:57% 43% 48% 52% / 45% 57% 43% 55%}
.ofe-photo-image{position:absolute;inset:-1px;background-image:url("features-organic-scenes-20260815.png");background-repeat:no-repeat;background-size:200% auto;filter:saturate(.92) contrast(1.02)}
.ofe-photo-image.is-1{background-position:0 0}
.ofe-photo-image.is-2{background-position:100% 0}
.ofe-photo-image.is-3{background-position:0 100%}
.ofe-photo-image.is-4{background-position:100% 100%}
.ofe-photo::after{content:"";position:absolute;z-index:-1;inset:-26px -35px -18px 18px;border:2px solid rgba(30,143,201,.68);border-left-color:transparent;border-bottom-color:transparent;border-radius:48% 52% 49% 51% / 52% 43% 57% 48%;transform:rotate(-4deg)}
.ofe-chapter:nth-child(even) .ofe-photo::after{inset:-18px 16px -28px -34px;border-color:rgba(30,143,201,.68) transparent transparent rgba(30,143,201,.68);transform:rotate(4deg)}
@media(max-width:768px){
  .ofe-head{grid-template-columns:1fr;gap:0}.ofe-title{font-size:52px}
  .ofe-chapter{min-height:560px}.ofe-chapter-inner{grid-template-columns:minmax(0,44%) minmax(0,1fr);gap:28px}
  .ofe-photo{width:640px;height:440px}.ofe-chapter:nth-child(even) .ofe-photo{transform:translateX(-170px)}
  .ofe-heading{font-size:29px}.ofe-copy{padding-left:0}.ofe-chapter:nth-child(even) .ofe-copy{padding-left:20px}
}
@media(max-width:768px){
  section.features-organic{padding:94px 0 92px}
  .ofe-head{width:calc(100% - 44px);min-height:0;margin-bottom:70px}.ofe-title{font-size:36px}.ofe-kicker{font-size:12px}
  .ofe-chapter{min-height:0;padding:42px 0 72px}.ofe-chapter::before{height:76%;width:180vw}
  .ofe-chapter-inner,.ofe-chapter:nth-child(even) .ofe-chapter-inner{display:flex;flex-direction:column;width:calc(100% - 44px);gap:38px}
  .ofe-copy,.ofe-chapter:nth-child(even) .ofe-copy{order:1;width:100%;padding:50px 0 0}
  .ofe-photo,.ofe-chapter:nth-child(odd) .ofe-photo,.ofe-chapter:nth-child(even) .ofe-photo{order:0;width:112%;height:auto;aspect-ratio:1.38/1;transform:none}
  .ofe-number{top:-32px;left:0;font-size:90px}.ofe-heading{font-size:27px}.ofe-lead{font-size:16px}.ofe-body{font-size:15px}
}
