/* ============================================================
   AWGroup LP — ACHIEVEMENTS / 実績紹介 (実績紹介ページ)
   Compact alternating thumb+text rows under decorated headings.
   Goal: read as an established, trustworthy company while keeping
   an exciting, dreamy feel. No tap-to-expand / sliders — simple
   top-to-bottom rows with side-slide reveals.
   ============================================================ */

.achieve{position:relative;overflow:hidden;
  padding:clamp(64px,13vw,100px) var(--pad) clamp(60px,12vw,90px);
  background:
    radial-gradient(120% 60% at 88% -2%,rgba(214,200,255,.5),transparent 56%),
    radial-gradient(120% 60% at 4% 102%,rgba(189,239,226,.5),transparent 56%),
    linear-gradient(170deg,#FFF7FC 0%,#F4F0FF 52%,#EFF8FF 100%);}

/* ---- ambient deco ---- */
.ach-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.ach-orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.5;mix-blend-mode:multiply;}
.ach-orb.a1{width:280px;height:280px;top:-50px;right:-70px;
  background:radial-gradient(circle,#FFC4E0,transparent 70%);animation:achOrb 26s ease-in-out infinite;}
.ach-orb.a2{width:300px;height:300px;bottom:-60px;left:-80px;
  background:radial-gradient(circle,#A9E0F7,transparent 70%);animation:achOrb 30s ease-in-out infinite reverse;}
@keyframes achOrb{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(24px,-20px) scale(1.12);}}
.ach-spark{position:absolute;font-size:18px;color:var(--gold-light);
  text-shadow:0 0 10px rgba(245,221,154,.9);animation:achTwk 3.6s ease-in-out infinite;}
.ach-spark.p1{top:16%;left:7%;color:#FFE6A6;}
.ach-spark.p2{top:40%;right:8%;font-size:14px;color:#FF9AD0;animation-delay:.7s;}
.ach-spark.p3{bottom:30%;left:10%;font-size:20px;color:#BFE3FF;animation-delay:1.2s;}
.ach-spark.p4{bottom:12%;right:12%;font-size:16px;color:#FFE6A6;animation-delay:.4s;}
@keyframes achTwk{0%,100%{transform:scale(.7) rotate(0);opacity:.4;}50%{transform:scale(1.15) rotate(18deg);opacity:1;}}
@media (prefers-reduced-motion:reduce){.ach-orb,.ach-spark{animation:none;}}

.ach-more{position:relative;z-index:2;max-width:28em;margin:26px auto 0;text-align:center;
  font-family:var(--f-disp);font-weight:700;font-size:clamp(12.5px,3.5vw,14px);line-height:1.85;
  color:var(--ink-soft);text-wrap:pretty;}

/* ---- title (staggered indent) ---- */
.ach-title{font-family:var(--f-disp);font-weight:900;color:var(--ink);
  line-height:1.5;font-size:clamp(22px,6.2vw,30px);letter-spacing:.01em;
  display:flex;flex-direction:column;align-items:flex-start;text-align:left;
  margin:0 auto;max-width:520px;}
.ach-title .al{display:block;}
.ach-title .a2{padding-left:1.4em;}
.ach-title .a3{padding-left:2.6em;}
.ach-title .a4{padding-left:1em;}
.ach-title b{color:var(--rose-deep);}
.ach-title em{font-style:normal;position:relative;white-space:nowrap;
  background:linear-gradient(transparent 58%,rgba(255,179,212,.8) 58%);padding:0 .08em;}

/* ---- group heading ---- */
.ach-group{max-width:520px;margin:30px auto 0;}
.ach-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;
  font-family:var(--f-disp);font-weight:900;}
.ach-head::after{content:"";flex:1;height:2px;border-radius:2px;
  background:linear-gradient(90deg,rgba(216,30,114,.4),transparent);}
.ach-head__ico{display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;background:var(--rose-grad);color:#fff;
  box-shadow:0 10px 20px -8px rgba(216,30,114,.6);flex:0 0 auto;}
.ach-head__ico .ico{width:18px;height:18px;}
.ach-head__t{font-size:clamp(18px,4.8vw,22px);color:var(--ink);letter-spacing:.03em;}
.ach-head small{font-family:var(--f-serif);font-style:italic;font-weight:600;
  font-size:12px;letter-spacing:.18em;color:var(--rose-ink);text-transform:uppercase;}

/* ---- rows ---- */
.ach-list{display:flex;flex-direction:column;gap:11px;}
.ach-row{display:flex;align-items:center;gap:14px;
  padding:11px 20px 11px 11px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,0) 42%),
    linear-gradient(100deg,#FFFFFF 0%,#FFF6FB 52%,#F4E4EF 100%);
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(255,255,255,.45);
  filter:drop-shadow(0 13px 18px rgba(120,40,110,.26));
  clip-path:polygon(0 0,100% 0,calc(100% - 22px) 100%,0 100%);
  opacity:0;transform:translateX(-30px);
  transition:opacity .7s ease,transform .72s cubic-bezier(.2,.7,.2,1);}
.ach-row--rev{flex-direction:row-reverse;text-align:right;transform:translateX(30px);
  padding:11px 11px 11px 20px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,0) 42%),
    linear-gradient(260deg,#FFFFFF 0%,#FFF6FB 52%,#F4E4EF 100%);
  clip-path:polygon(22px 0,100% 0,100% 100%,0 100%);}
.ach-row.in{opacity:1;transform:none;}

.ach-thumb{position:relative;flex:0 0 138px;height:104px;border-radius:13px;overflow:hidden;
  border:2.5px solid #fff;box-shadow:0 10px 22px -12px rgba(120,40,110,.55);}
.ach-thumb image-slot,.ach-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ach-thumb__badge{position:absolute;left:6px;bottom:6px;width:24px;height:24px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.94);color:var(--rose);box-shadow:0 4px 10px -3px rgba(120,40,110,.5);}
.ach-row--rev .ach-thumb__badge{left:auto;right:6px;}
.ach-thumb__badge .ico{width:14px;height:14px;}

.ach-text{flex:1;min-width:0;}
.ach-tag{display:inline-block;font-family:var(--f-disp);font-weight:700;font-size:10.5px;
  letter-spacing:.08em;color:#fff;background:var(--tri-grad);
  padding:3px 11px;border-radius:999px;margin-bottom:5px;
  box-shadow:0 6px 12px -6px rgba(120,40,110,.5);}
.ach-h{font-family:var(--f-disp);font-weight:900;font-size:clamp(15px,4.1vw,17px);
  color:var(--ink);line-height:1.3;letter-spacing:.01em;}
.ach-d{margin-top:3px;font-size:clamp(11.5px,3.2vw,13px);color:var(--ink-soft);line-height:1.45;}

/* connector dot linking thumb ↔ text so it reads as one set */
.ach-row{position:relative;}
.ach-row::after{content:"♡";position:absolute;top:50%;transform:translateY(-50%);
  font-size:11px;color:rgba(216,30,114,.35);
  left:calc(108px + 11px + 1px);}
.ach-row--rev::after{left:auto;right:calc(108px + 11px + 1px);}

@media (max-width:360px){
  .ach-thumb{flex-basis:116px;height:88px;}
  .ach-row::after{display:none;}
}
