/* ==========================================================
   T&Yの特徴（claude-design-output/strength.dc.html）
   ========================================================== */

/* ===== T&Yの特徴・強み ===== */
.ty-ft { position: relative; overflow: hidden; padding: clamp(44px, 9vw, 120px) clamp(20px, 5vw, 64px) clamp(52px, 11vw, 160px); }
.ty-ft__bgword { right: -2vw; top: 40px; color: #FEFEFC; }
.ty-ft__head { position: relative; max-width: 1200px; margin: 0 auto clamp(36px, 7vw, 80px); }
.ty-ft__wrap { position: relative; max-width: 1080px; margin: 0 auto; }
/* 左の縦線（スクロールで伸びる） */
.ty-ft__rail { position: absolute; left: clamp(10px, 5vw, 60px); top: 0; bottom: 0; width: 1px; }
.ty-ft__progress { width: 100%; height: 100%; background: linear-gradient(#B8933F, #E9CF8A); }
.ty-ft__list { display: flex; flex-direction: column; gap: clamp(40px, 7vw, 88px); }
.ty-ft__item { scroll-margin-top: clamp(44px, 9vw, 110px); position: relative; padding-left: clamp(32px, 11vw, 150px); }
/* 線の上のひし形（最後だけ金で塗る）。大きさは枠線込み */
.ty-ft__diamond {
  position: absolute;
  left: clamp(10px, 5vw, 60px);
  top: 18px;
  width: calc(clamp(11px, 2vw, 15px) + 2px);
  height: calc(clamp(11px, 2vw, 15px) + 2px);
  translate: -50%;
  background: #FAF8F4;
  border: 1px solid #B8933F;
  rotate: 45deg;
}
.ty-ft__diamond--last { background: #B8933F; }
.ty-ft__card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 20px clamp(32px, 5vw, 56px);
  padding: clamp(26px, 4vw, 52px);
  background: #FFFFFF;
  box-shadow: 0 30px 60px -45px rgba(0,19,47,.4);
}
.ty-ft__num { position: absolute; right: clamp(12px, 2vw, 28px); top: clamp(-14px, -1vw, -6px); font-family: "Noto Serif JP", serif; font-variant-numeric: lining-nums; font-size: clamp(96px, 14vw, 168px); font-weight: 300; line-height: 1; letter-spacing: -.02em; color: rgba(184,147,63,.13); pointer-events: none; user-select: none; }
.ty-ft__title-wrap { position: relative; display: flex; flex-direction: column; gap: 14px; }
.ty-ft__title { margin: 0; font-family: "Noto Serif JP", serif; font-weight: 500; font-size: clamp(20px, 2vw, 24px); line-height: 1.6; letter-spacing: .1em; color: #00132F; }
.ty-ft__text { position: relative; align-self: end; }

/* ===== メッセージ ===== */
.ty-fmsg { position: relative; overflow: hidden; padding: clamp(56px, 12vw, 180px) clamp(20px, 5vw, 64px); color: #00132F; text-align: center; }
.ty-fmsg__inner { position: relative; max-width: 860px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: clamp(28px, 4vw, 44px); }
.ty-fmsg__h2 { margin-top: -26px; }
.ty-fmsg__text { margin: 0; font-family: "Noto Serif JP", serif; font-weight: 500; font-size: clamp(18px, 2vw, 25px); line-height: 2.2; letter-spacing: .1em; }
.ty-fmsg__brand { font-family: "Cormorant Garamond", serif; font-size: 1.3em; font-weight: 600; }
.ty-fmsg__btns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; width: max-content; max-width: 100%; margin: 0 auto; }
.ty-fmsg__btn { display: flex; font-size: 14px; padding-inline: clamp(14px, 4vw, 36px); }
.ty-fmsg__btn--wide { padding-inline: clamp(14px, 4.4vw, 44px); }
/* 金の塗りボタン（hover で枠線だけになる） */
.ty-btn--gold-solid { --ty-btn-color: #B8933F; --ty-btn-hover-text: #B8933F; background: #B8933F; color: #FFFFFF; }
.ty-btn--gold-solid:hover { background: none; }
.ty-fmsg__btn:not(.ty-btn--gold-solid):hover { color: #FFFFFF; }
@media (max-width: 767px) {
  .ty-fmsg__btns { gap: 20px; width: 100%; }
  .ty-fmsg__btn { font-size: 13px; }
}
