/* Padel page only. All selectors are scoped to avoid affecting other pages. */
.ssi-padel-page{background:#fff;color:#12202f}
.ssi-padel-page *{box-sizing:border-box}

.ssi-padel-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0b1f33,#123d63);color:#fff;min-height:480px}
.ssi-padel-hero__media{position:absolute;inset:0;z-index:0;background:#071725}
.ssi-padel-hero__media img,.ssi-padel-hero__media video{width:100%;height:100%;display:block;object-fit:cover;opacity:.9}
.ssi-padel-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,23,37,.88) 0%,rgba(7,23,37,.70) 38%,rgba(7,23,37,.35) 70%,rgba(7,23,37,.18) 100%)}
.ssi-padel-hero__inner{position:relative;z-index:2;width:min(calc(100% - 48px),1180px);margin:auto;padding:110px 0 92px}
.ssi-padel-breadcrumb{font-size:12px;color:#d2dfeb;margin-bottom:34px}
.ssi-padel-kicker{font-size:12px;letter-spacing:.24em;font-weight:900;color:#8fd7ff;margin-bottom:12px}
.ssi-padel-hero h1{font-size:52px;line-height:1.2;letter-spacing:.04em;margin:0 0 18px;max-width:760px;text-shadow:0 2px 6px rgba(0,0,0,.2)}
.ssi-padel-hero__lead{font-size:17px;line-height:2;max-width:720px;margin:0;color:#e2edf5;text-shadow:0 1px 2px rgba(0,0,0,.18)}

.ssi-padel-section{padding:96px 0}
.ssi-padel-section--soft{background:#f5f8fa}
.ssi-padel-container{width:min(calc(100% - 48px),1180px);margin:auto}
.ssi-padel-intro{display:grid;grid-template-columns:.88fr 1.12fr;gap:80px;align-items:center}
.ssi-padel-eyebrow{font-size:12px;letter-spacing:.22em;font-weight:900;color:#1476c8;margin-bottom:10px}
.ssi-padel-intro h2,.ssi-padel-heading h2{color:#0b1f33;margin:0;font-size:clamp(34px,4.2vw,54px);line-height:1.22}
.ssi-padel-intro p{font-size:17px;line-height:2.1;color:#526273;margin:0}
.ssi-padel-heading{margin-bottom:44px}
.ssi-padel-heading p{max-width:760px;color:#657586;margin:16px 0 0;line-height:2}

.ssi-padel-models{display:grid;gap:64px}
.ssi-padel-model{display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border:1px solid #dce5ec;min-height:440px;overflow:hidden;box-shadow:0 18px 50px rgba(11,31,51,.06)}
.ssi-padel-model:nth-child(even){grid-template-columns:.85fr 1.15fr}
.ssi-padel-model:nth-child(even) .ssi-padel-model__image{order:2}
.ssi-padel-model:nth-child(even) .ssi-padel-model__body{order:1}
.ssi-padel-model__image{position:relative;min-height:440px;margin:0;background:#eaf0f4;overflow:hidden}
.ssi-padel-model__image img{width:100%;height:100%;display:block;object-fit:cover}
.ssi-padel-model__body{display:flex;flex-direction:column;justify-content:center;padding:54px 50px}
.ssi-padel-model__no{font-size:12px;font-weight:900;letter-spacing:.22em;color:#1476c8}
.ssi-padel-model h3{font-size:clamp(30px,3.2vw,44px);color:#0b1f33;line-height:1.2;margin:9px 0 13px}
.ssi-padel-model__catch{font-weight:800;font-size:16px;line-height:1.8;color:#263b4d;margin:0 0 18px}
.ssi-padel-model__text{color:#526273;line-height:2;margin:0}

.ssi-padel-flow-wrap{padding-top:8px}
.ssi-padel-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.ssi-padel-step{min-height:375px;background:#bfe8df;padding:44px 30px 34px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 16px 38px rgba(11,31,51,.08)}
.ssi-padel-step__icon{width:94px;height:94px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;color:#202934}
.ssi-padel-step__icon svg{width:78px;height:78px;fill:none;stroke:currentColor;stroke-width:3.8;stroke-linecap:round;stroke-linejoin:round}
.ssi-padel-step h3{font-size:22px;color:#172431;margin:0 0 20px;line-height:1.45;white-space:nowrap}
.ssi-padel-step p{margin:0;color:#233543;font-weight:700;font-size:14px;line-height:1.95}

.ssi-padel-contact{background:linear-gradient(110deg,#0b1f33,#12395c);color:#fff;padding:70px 0}
.ssi-padel-contact__inner{width:min(calc(100% - 48px),1180px);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:32px}
.ssi-padel-contact h2{font-size:34px;line-height:1.4;margin:0 0 8px}
.ssi-padel-contact p{margin:0;color:#dce9f3}
.ssi-padel-contact__tel{font-size:28px;font-weight:900;white-space:nowrap}

@media(max-width:1000px){
  .ssi-padel-feature-card{grid-template-columns:1fr}
  .ssi-padel-feature-card__video{min-height:340px}
  .ssi-padel-feature-card__video video{min-height:340px}
  .ssi-padel-model,.ssi-padel-model:nth-child(even){grid-template-columns:1fr}
  .ssi-padel-model:nth-child(even) .ssi-padel-model__image{order:0}
  .ssi-padel-model:nth-child(even) .ssi-padel-model__body{order:1}
  .ssi-padel-model__image{min-height:360px}
  .ssi-padel-flow{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
  .ssi-padel-hero h1{font-size:40px}
  .ssi-padel-hero__inner{padding:84px 0 68px}
  .ssi-padel-feature-card__body{padding:34px 28px}
  .ssi-padel-hero{min-height:auto}
  .ssi-padel-hero__media img,.ssi-padel-hero__media video{opacity:.72}
  .ssi-padel-hero__overlay{background:linear-gradient(180deg,rgba(7,23,37,.82),rgba(7,23,37,.92))}
  .ssi-padel-hero__inner,.ssi-padel-container,.ssi-padel-contact__inner{width:min(calc(100% - 32px),1180px)}
  .ssi-padel-section{padding:70px 0}
  .ssi-padel-intro{grid-template-columns:1fr;gap:24px}
  .ssi-padel-models{gap:34px}
  .ssi-padel-model__body{padding:34px 28px}
  .ssi-padel-contact__inner{display:block}
  .ssi-padel-contact__tel{margin-top:22px}
}
@media(max-width:620px){
  .ssi-padel-flow{grid-template-columns:1fr;gap:18px}
  .ssi-padel-step{min-height:auto;padding:36px 26px}
  .ssi-padel-model__image{min-height:260px}
}


/* High-quality court feature */
.ssi-padel-feature-heading{margin-bottom:42px}
.ssi-padel-feature-card{display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border:1px solid #dce5ec;min-height:430px;overflow:hidden;box-shadow:0 18px 50px rgba(11,31,51,.06)}
.ssi-padel-feature-card__video{min-height:430px;background:#071725;overflow:hidden}
.ssi-padel-feature-card__video video{width:100%;height:100%;min-height:430px;display:block;object-fit:cover;background:#071725}
.ssi-padel-feature-card__body{display:flex;flex-direction:column;justify-content:center;padding:54px 50px}
.ssi-padel-feature-card__label{font-size:12px;font-weight:900;letter-spacing:.22em;color:#1476c8}
.ssi-padel-feature-card__body h3{font-size:clamp(28px,3vw,40px);line-height:1.35;color:#0b1f33;margin:10px 0 20px}
.ssi-padel-feature-card__body p{margin:0;color:#526273;line-height:2;font-size:15px}


/* D-Floating System */
.ssi-padel-floating-card{display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border:1px solid #dce5ec;min-height:430px;overflow:hidden;box-shadow:0 18px 50px rgba(11,31,51,.06)}
.ssi-padel-floating-card__video{min-height:430px;background:#071725;overflow:hidden}
.ssi-padel-floating-card__video video{width:100%;height:100%;min-height:430px;display:block;object-fit:cover;background:#071725}
.ssi-padel-floating-card__body{display:flex;flex-direction:column;justify-content:center;padding:54px 50px}
.ssi-padel-floating-card__label{font-size:12px;font-weight:900;letter-spacing:.22em;color:#1476c8}
.ssi-padel-floating-card__body h3{font-size:clamp(30px,3.2vw,44px);line-height:1.25;color:#0b1f33;margin:10px 0 14px}
.ssi-padel-floating-card__catch{font-size:clamp(22px,2.4vw,32px)!important;font-weight:900;color:#263b4d!important;line-height:1.5!important;margin:0 0 20px!important}
.ssi-padel-floating-card__body p{margin:0;color:#526273;line-height:2;font-size:15px}
@media(max-width:1000px){
  .ssi-padel-floating-card{grid-template-columns:1fr}
  .ssi-padel-floating-card__video,.ssi-padel-floating-card__video video{min-height:340px}
}
@media(max-width:850px){
  .ssi-padel-floating-card__body{padding:34px 28px}
}

/* D-Floating feature points */
.ssi-padel-floating-features{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:34px;
  margin-top:56px;
  padding-top:46px;
  border-top:1px solid #dce5ec;
}
.ssi-padel-floating-feature{
  text-align:center;
  padding:8px 16px 0;
}
.ssi-padel-floating-feature__icon{
  width:72px;
  height:72px;
  margin:0 auto 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#d7a900;
}
.ssi-padel-floating-feature__icon svg{
  width:58px;
  height:58px;
  fill:none;
  stroke:currentColor;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ssi-padel-floating-feature h3{
  margin:0 0 14px;
  color:#0b1f33;
  font-size:21px;
  line-height:1.5;
}
.ssi-padel-floating-feature p{
  margin:0;
  color:#233543;
  font-size:14px;
  font-weight:700;
  line-height:1.9;
}
@media(max-width:1000px){
  .ssi-padel-floating-features{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .ssi-padel-floating-features{grid-template-columns:1fr;gap:28px;margin-top:40px;padding-top:34px}
  .ssi-padel-floating-feature{padding:0 8px}
}


/* Safe additions: D-Floating note, anywhere, comparison */
.ssi-padel-page .ssi-padel-floating-note{
  margin:34px 0 0;
  padding:16px 20px;
  border-left:4px solid #1476c8;
  background:#fff;
  color:#263b4d;
  font-size:14px;
  font-weight:700;
  line-height:1.9;
}
.ssi-padel-page .ssi-padel-heading--center{text-align:center}
.ssi-padel-page .ssi-padel-heading--center p{margin-left:auto;margin-right:auto}
.ssi-padel-page .ssi-padel-anywhere-section{background:#fff}
.ssi-padel-page .ssi-padel-anywhere-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:42px;
}
.ssi-padel-page .ssi-padel-anywhere-item{min-width:0}
.ssi-padel-page .ssi-padel-anywhere-item__image{
  margin:0;
  overflow:hidden;
  border-radius:26px;
  background:#eef3f6;
}
.ssi-padel-page .ssi-padel-anywhere-item__image img{
  width:100%;
  aspect-ratio:1.68/1;
  display:block;
  object-fit:cover;
}
.ssi-padel-page .ssi-padel-anywhere-item h3{
  margin:22px 0 0;
  color:#0b1f33;
  font-size:22px;
  line-height:1.45;
}
.ssi-padel-page .ssi-padel-compare-section{background:#f5f8fa;padding-top:72px}
.ssi-padel-page .ssi-padel-compare-heading{margin-bottom:28px}
.ssi-padel-page .ssi-padel-compare-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ssi-padel-page .ssi-padel-compare-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  table-layout:fixed;
  background:#fff;
}
.ssi-padel-page .ssi-padel-compare-table th,
.ssi-padel-page .ssi-padel-compare-table td{
  border:2px solid #c9c9c9;
  padding:27px 18px;
  text-align:center;
  vertical-align:middle;
  color:#111;
  font-weight:900;
}
.ssi-padel-page .ssi-padel-compare-table thead th{
  background:#b8b8b8;
  font-size:27px;
}
.ssi-padel-page .ssi-padel-compare-table thead .ssi-padel-compare-table__highlight{
  background:#d1a800;
  color:#fff;
  border-color:#d1a800;
}
.ssi-padel-page .ssi-padel-compare-table tbody th,
.ssi-padel-page .ssi-padel-compare-table tbody td{font-size:23px;background:#fff}
.ssi-padel-page .ssi-padel-compare-table tbody .ssi-padel-compare-table__highlight{border-color:#d1a800}
@media(max-width:1000px){
  .ssi-padel-page .ssi-padel-anywhere-grid{grid-template-columns:1fr;gap:36px}
  .ssi-padel-page .ssi-padel-anywhere-item{max-width:720px;width:100%;margin:auto}
}
@media(max-width:620px){
  .ssi-padel-page .ssi-padel-anywhere-item__image{border-radius:18px}
  .ssi-padel-page .ssi-padel-anywhere-item h3{font-size:20px;margin-top:16px}
  .ssi-padel-page .ssi-padel-compare-table th,
  .ssi-padel-page .ssi-padel-compare-table td{padding:18px 12px}
  .ssi-padel-page .ssi-padel-compare-table thead th{font-size:21px}
  .ssi-padel-page .ssi-padel-compare-table tbody th,
  .ssi-padel-page .ssi-padel-compare-table tbody td{font-size:19px}
}

/* Mobile: high-quality padel court video - force 16:9 */
@media(max-width:850px){
  .ssi-padel-page .ssi-padel-feature-card{
    min-height:0!important;
    height:auto!important;
  }
  .ssi-padel-page .ssi-padel-feature-card__video{
    position:relative!important;
    width:100%!important;
    height:0!important;
    min-height:0!important;
    padding-bottom:56.25%!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
  }
  .ssi-padel-page .ssi-padel-feature-card__video video{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
  }
}

/* Mobile final fix: high-quality padel court card must be one column */
@media(max-width:850px){
  .ssi-padel-page .ssi-padel-feature-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    min-height:0!important;
    height:auto!important;
    width:100%!important;
  }
  .ssi-padel-page .ssi-padel-feature-card__video{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    aspect-ratio:16 / 9!important;
    overflow:hidden!important;
  }
  .ssi-padel-page .ssi-padel-feature-card__video video{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:cover!important;
  }
  .ssi-padel-page .ssi-padel-feature-card__body{
    grid-column:1!important;
    grid-row:2!important;
    width:auto!important;
    min-width:0!important;
    padding:34px 28px!important;
  }
  .ssi-padel-page .ssi-padel-feature-card__body h3,
  .ssi-padel-page .ssi-padel-feature-card__body p{
    width:auto!important;
    max-width:none!important;
    word-break:normal!important;
    overflow-wrap:anywhere;
  }
}


/* Mobile: 従来工法との比較をカード表示 */
@media(max-width:620px){
  .ssi-padel-page .ssi-padel-compare-wrap{
    overflow:visible!important;
  }

  .ssi-padel-page .ssi-padel-compare-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    background:transparent!important;
  }

  .ssi-padel-page .ssi-padel-compare-table thead{
    display:none!important;
  }

  .ssi-padel-page .ssi-padel-compare-table tbody{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    width:100%!important;
  }

  .ssi-padel-page .ssi-padel-compare-table tbody tr{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    border:1px solid #d9e1e7!important;
    background:#fff!important;
    box-shadow:0 6px 18px rgba(11,31,51,.05)!important;
    overflow:hidden!important;
  }

  .ssi-padel-page .ssi-padel-compare-table tbody th{
    display:block!important;
    grid-column:1 / -1!important;
    width:auto!important;
    padding:13px 16px!important;
    border:0!important;
    border-bottom:1px solid #d9e1e7!important;
    background:#eef3f7!important;
    color:#0b1f33!important;
    font-size:17px!important;
    line-height:1.4!important;
    text-align:left!important;
  }

  .ssi-padel-page .ssi-padel-compare-table tbody td{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:6px!important;
    min-width:0!important;
    padding:14px 8px 16px!important;
    border:0!important;
    background:#fff!important;
    color:#172a3a!important;
    font-size:18px!important;
    line-height:1.35!important;
  }

  .ssi-padel-page .ssi-padel-compare-table tbody td:nth-of-type(1){
    border-right:1px solid #d9e1e7!important;
  }

  .ssi-padel-page .ssi-padel-compare-table tbody td:nth-of-type(1)::before{
    content:"従来工法";
    display:block;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    color:#7b8791;
  }

  .ssi-padel-page .ssi-padel-compare-table tbody td:nth-of-type(2)::before{
    content:"D-Floating SYSTEM";
    display:block;
    font-size:10px;
    font-weight:800;
    letter-spacing:.03em;
    color:#b28d00;
    white-space:nowrap;
  }

  .ssi-padel-page .ssi-padel-compare-table tbody .ssi-padel-compare-table__highlight{
    border:0!important;
    background:#fffaf0!important;
    color:#9b7800!important;
  }
}


/* Reliable mobile comparison layout: separate mobile cards */
.ssi-padel-page .ssi-padel-compare-mobile{display:none}
@media(max-width:700px){
  .ssi-padel-page .ssi-padel-compare-wrap{display:none!important}
  .ssi-padel-page .ssi-padel-compare-mobile{
    display:grid!important;
    grid-template-columns:1fr;
    gap:14px;
    width:100%;
  }
  .ssi-padel-page .ssi-padel-compare-card{
    display:grid;
    grid-template-columns:1fr 1fr;
    margin:0;
    background:#fff;
    border:1px solid #d8e0e6;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 5px 16px rgba(11,31,51,.05);
  }
  .ssi-padel-page .ssi-padel-compare-card h3{
    grid-column:1/-1;
    margin:0;
    padding:12px 14px;
    background:#e9eef2;
    color:#0b1f33;
    font-size:17px;
    line-height:1.35;
    text-align:left;
  }
  .ssi-padel-page .ssi-padel-compare-card>div{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:14px 8px 15px;
    min-width:0;
  }
  .ssi-padel-page .ssi-padel-compare-card>div+div{
    border-left:1px solid #d8e0e6;
  }
  .ssi-padel-page .ssi-padel-compare-card span{
    display:block;
    color:#6a7884;
    font-size:11px;
    font-weight:700;
    line-height:1.3;
    text-align:center;
  }
  .ssi-padel-page .ssi-padel-compare-card strong{
    display:block;
    color:#1c2d3b;
    font-size:20px;
    line-height:1.2;
  }
  .ssi-padel-page .ssi-padel-compare-card .is-floating{
    background:#fff9e8;
  }
  .ssi-padel-page .ssi-padel-compare-card .is-floating span,
  .ssi-padel-page .ssi-padel-compare-card .is-floating strong{
    color:#a78300;
  }
}


/* Padel contact phone link compatibility */
.ssi-padel-page .ssi-padel-contact__tel.cta-phone-button{display:inline-flex;color:#fff;text-decoration:none}
