/* =========================================================
   海のツアー 総合カテゴリートップ
   南国・海・砂浜のイメージ
   ========================================================= */

.sea-hub {
  --sea-deep:#07506d;
  --sea-ocean:#0788a8;
  --sea-turquoise:#36bccb;
  --sea-aqua:#edfafa;
  --sea-sand:#fff7e6;
  --sea-orange:#f28a31;
  color:#17394d;
  background:#f7fbfc;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",
              "Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}
.sea-hub * { box-sizing:border-box; }
.sea-hub img { display:block; width:100%; max-width:100%; height:auto; }
.sea-hub a { transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease; }

/* Intro */
.sea-intro {
  position:relative;
  overflow:hidden;
  padding:56px 40px 50px;
  color:#fff;
  background:
    radial-gradient(circle at 87% 15%,rgba(255,211,102,.40) 0%,rgba(255,211,102,0) 24%),
    linear-gradient(135deg,#06516e 0%,#078ca7 56%,#37bdc9 100%);
}
.sea-intro::after {
  content:"";
  position:absolute;
  left:-5%; right:-5%; bottom:-11px;
  height:34px;
  opacity:.46;
  background:
    radial-gradient(28px 12px at 28px 0,
      transparent 25px,
      rgba(255,255,255,.55) 26px,
      rgba(255,255,255,.55) 28px,
      transparent 29px)
    0 0 / 56px 26px repeat-x;
}
.sea-intro-inner { position:relative; z-index:1; max-width:820px; }
.sea-kicker,
.sea-eyebrow {
  margin:0 0 8px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.15em;
}
.sea-kicker { color:#c9f5f5; }
.sea-intro h1 {
  margin:0 0 14px;
  color:#fff;
  font-size:2.3rem;
  line-height:1.35;
}
.sea-intro-lead {
  max-width:770px;
  margin:0;
  color:rgba(255,255,255,.95);
  line-height:1.9;
}
.sea-symbols {
  margin-top:18px;
  color:#ffe19a;
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:.17em;
}

/* Quick nav */
.sea-quick-nav {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:#c8e1e5;
}
.sea-quick-nav a {
  display:flex;
  min-height:58px;
  align-items:center;
  justify-content:center;
  padding:12px;
  color:#14516a;
  background:#fff;
  font-weight:800;
  text-align:center;
  text-decoration:none;
}
.sea-quick-nav a:hover { background:#eefbfc; }

/* Sections */
.sea-section { padding:50px 34px; }
.sea-section-inner { max-width:920px; margin:0 auto; }
.sea-section-white { background:#fff; }
.sea-section-aqua {
  background:linear-gradient(180deg,#eafafa 0%,#f8fcfc 68%,#fff9ec 100%);
}
.sea-section-sand {
  background:linear-gradient(180deg,#fff8e9 0%,#fffdf8 100%);
}
.sea-eyebrow { color:#078aa5; }
.sea-title {
  margin:0 0 13px;
  color:#12445d;
  font-size:1.82rem;
  line-height:1.4;
}
.sea-lead {
  max-width:800px;
  margin:0 0 27px;
  color:#536f80;
  line-height:1.9;
}

/* Featured */
.sea-recommend-badge {
  display:inline-block;
  margin-bottom:12px;
  padding:7px 13px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(90deg,#ef7c25,#f49d35);
  font-size:.8rem;
  font-weight:900;
  box-shadow:0 6px 16px rgba(203,95,16,.16);
}
.sea-featured-card {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  overflow:hidden;
  border:2px solid #f2a34b;
  border-radius:16px;
  background:#fff;
  box-shadow:0 14px 32px rgba(13,92,112,.11);
}
.sea-featured-image {
  position:relative;
  min-height:360px;
}
.sea-featured-image img {
  height:100%;
  min-height:360px;
  object-fit:cover;
}
.sea-image-label {
  position:absolute;
  left:16px; bottom:16px;
  padding:7px 12px;
  border-radius:999px;
  color:#fff;
  background:rgba(3,82,105,.82);
  font-size:.77rem;
  font-weight:800;
  letter-spacing:.08em;
}
.sea-featured-body { padding:30px 27px; }
.sea-featured-body h3 {
  margin:0 0 10px;
  color:#12435d;
  font-size:1.3rem;
}
.sea-featured-body p {
  color:#557181;
  line-height:1.8;
}
.sea-check-list {
  margin:15px 0 19px;
  padding:0;
  list-style:none;
}
.sea-check-list li {
  position:relative;
  margin:0 0 8px;
  padding-left:24px;
  color:#415f72;
}
.sea-check-list li::before {
  content:"✦";
  position:absolute;
  left:0;
  color:#2db2c2;
}
.sea-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:13px;
}
.sea-small-link {
  color:#087d9a;
  font-size:.86rem;
  font-weight:800;
  text-decoration:none;
}

/* Cards */
.sea-card-grid {
  display:grid;
  gap:18px;
}
.sea-card-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sea-card-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sea-card {
  overflow:hidden;
  border:1px solid #d2e5e9;
  border-radius:13px;
  background:#fff;
  box-shadow:0 9px 24px rgba(21,83,106,.06);
}
.sea-card > img {
  height:215px;
  object-fit:cover;
}
.sea-card-body { padding:22px 20px; }
.sea-card-body h3 {
  margin:4px 0 9px;
  color:#12435d;
  font-size:1.18rem;
}
.sea-card-body p {
  color:#5a7282;
  line-height:1.75;
}
.sea-card-plain {
  background:
    radial-gradient(circle at 87% 15%,rgba(255,208,102,.18),rgba(255,208,102,0) 27%),
    linear-gradient(180deg,#f0fbfc 0%,#fff9ed 100%);
}
.sea-card-symbol {
  padding:24px 22px 0;
  color:#2bb0c1;
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.2rem;
}
.sea-mini-label {
  color:#0a8da7;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
}
.sea-text-link {
  color:#087d9b;
  font-weight:800;
  text-decoration:none;
}
.sea-link-stack {
  display:grid;
  gap:8px;
  margin-top:14px;
}
.sea-link-stack a {
  padding:9px 11px;
  border-radius:7px;
  color:#087d9b;
  background:#eef9fb;
  font-weight:800;
  text-decoration:none;
}

/* More cards */
.sea-more-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.sea-more-card {
  overflow:hidden;
  border:1px solid #d3e5e9;
  border-radius:12px;
  background:#fff;
}
.sea-more-card img {
  height:180px;
  object-fit:cover;
}
.sea-more-card > div {
  padding:18px 17px;
}
.sea-more-card h3 {
  margin:0 0 7px;
  color:#12435d;
}
.sea-more-card p {
  color:#607786;
  font-size:.9rem;
  line-height:1.7;
}
.sea-more-card a {
  color:#087d9b;
  font-weight:800;
  text-decoration:none;
}
.sea-more-card-plain {
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(180deg,#edfafa 0%,#fff9ed 100%);
}
.sea-more-symbol {
  padding-bottom:0 !important;
  color:#f0a03b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:2rem;
}

/* Choice */
.sea-choice-section {
  padding:48px 34px;
  background:#eef9fb;
}
.sea-choice-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.sea-choice-item {
  padding:20px 13px;
  border:1px solid #cfe5e8;
  border-radius:10px;
  background:#fff;
  text-align:center;
}
.sea-choice-item strong {
  display:block;
  margin-bottom:6px;
  color:#0a718c;
}
.sea-choice-item span {
  color:#657d8a;
  font-size:.83rem;
  line-height:1.55;
}

/* Buttons */
.sea-btn {
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:11px 19px;
  border-radius:8px;
  font-weight:800;
  text-decoration:none;
}
.sea-btn-primary {
  color:#fff !important;
  background:linear-gradient(90deg,#087d9d,#08a0b3);
  box-shadow:0 7px 18px rgba(5,103,130,.18);
}
.sea-btn-orange {
  color:#fff !important;
  background:linear-gradient(90deg,#ef7d25,#f49c35);
}
.sea-btn:hover {
  opacity:.92;
  transform:translateY(-1px);
}

/* CTA */
.sea-cta {
  position:relative;
  overflow:hidden;
  padding:46px 30px;
  color:#fff;
  background:
    radial-gradient(circle at 87% 15%,rgba(255,190,75,.28) 0%,rgba(255,190,75,0) 25%),
    linear-gradient(135deg,#075a78,#087f97);
  text-align:center;
}
.sea-cta::after {
  content:"";
  position:absolute;
  left:-5%; right:-5%; bottom:-11px;
  height:29px;
  opacity:.35;
  background:
    radial-gradient(24px 11px at 24px 0,
      transparent 21px,
      rgba(255,255,255,.48) 22px,
      rgba(255,255,255,.48) 24px,
      transparent 25px)
    0 0 / 48px 25px repeat-x;
}
.sea-cta > * { position:relative; z-index:1; }
.sea-cta-symbols {
  margin-bottom:8px;
  color:#ffd17b;
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:.16em;
}
.sea-cta h2 {
  margin:0 0 10px;
  color:#fff;
  font-size:1.55rem;
}
.sea-cta p {
  max-width:720px;
  margin:0 auto 20px;
  color:rgba(255,255,255,.9);
  line-height:1.8;
}
.sea-btn-light {
  color:#07647d !important;
  background:#fff;
}

/* Mobile */
@media only screen and (max-width:760px) {
  .sea-intro { padding:42px 20px 40px; }
  .sea-intro h1 { font-size:1.82rem; }
  .sea-quick-nav { grid-template-columns:repeat(2,1fr); }
  .sea-section,
  .sea-choice-section { padding:38px 18px; }
  .sea-title { font-size:1.48rem; }

  .sea-featured-card,
  .sea-card-grid-2,
  .sea-card-grid-3,
  .sea-more-grid { grid-template-columns:1fr; }

  .sea-featured-image,
  .sea-featured-image img { min-height:230px; }
  .sea-featured-body { padding:23px 19px; }
  .sea-actions .sea-btn { width:100%; }

  .sea-card > img { height:205px; }
  .sea-more-card img { height:200px; }

  .sea-choice-grid { grid-template-columns:repeat(2,1fr); }

  .sea-cta { padding:38px 20px; }
  .sea-cta h2 { font-size:1.35rem; }
}

@media only screen and (max-width:480px) {
  .sea-choice-grid { grid-template-columns:1fr; }
}
