/* =========================================================
   陸のツアー 総合カテゴリートップ
   南国ジャングル・ココナッツ・砂色イメージ
   ========================================================= */

.land-hub {
  --land-deep:#285b45;
  --land-green:#3f8060;
  --land-leaf:#77a95f;
  --land-sand:#fff6e4;
  --land-gold:#e7a546;
  --land-orange:#ed8534;
  color:#2b473b;
  background:#fafcf9;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",
              "Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}
.land-hub * { box-sizing:border-box; }
.land-hub img { display:block; width:100%; max-width:100%; height:auto; }
.land-hub a { transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease; }

/* Intro */
.land-intro {
  position:relative;
  overflow:hidden;
  padding:56px 40px 50px;
  color:#fff;
  background:
    radial-gradient(circle at 87% 15%,rgba(255,210,99,.35) 0%,rgba(255,210,99,0) 25%),
    linear-gradient(135deg,#285844 0%,#3f7c5d 57%,#78aa62 100%);
}
.land-intro::after {
  content:"";
  position:absolute;
  left:-5%; right:-5%; bottom:-10px;
  height:30px;
  opacity:.28;
  background:
    radial-gradient(24px 12px at 24px 0,
      transparent 21px,
      rgba(255,255,255,.55) 22px,
      rgba(255,255,255,.55) 24px,
      transparent 25px)
    0 0 / 48px 25px repeat-x;
}
.land-intro-inner { position:relative; z-index:1; max-width:820px; }
.land-kicker,
.land-eyebrow {
  margin:0 0 8px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.15em;
}
.land-kicker { color:#d9f3ce; }
.land-intro h1 {
  margin:0 0 14px;
  color:#fff;
  font-size:2.3rem;
  line-height:1.35;
}
.land-intro-lead {
  max-width:780px;
  margin:0;
  color:rgba(255,255,255,.95);
  line-height:1.9;
}
.land-symbols {
  margin-top:18px;
  color:#ffe09a;
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:.18em;
}

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

/* Sections */
.land-section { padding:50px 34px; }
.land-section-inner { max-width:920px; margin:0 auto; }
.land-section-white { background:#fff; }
.land-section-sand {
  background:linear-gradient(180deg,#fff6e6 0%,#fffdf8 62%,#f1f8ef 100%);
}
.land-section-green {
  background:linear-gradient(180deg,#eef7ed 0%,#f8fbf6 70%,#fff9ed 100%);
}
.land-eyebrow { color:#4a845f; }
.land-title {
  margin:0 0 13px;
  color:#315641;
  font-size:1.82rem;
  line-height:1.4;
}
.land-lead {
  max-width:800px;
  margin:0 0 27px;
  color:#62756b;
  line-height:1.9;
}

/* Main features */
.land-feature-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.land-feature-card {
  overflow:hidden;
  border:1px solid #d4dfd2;
  border-radius:15px;
  background:#fff;
  box-shadow:0 12px 29px rgba(56,91,62,.08);
}
.land-feature-card-main { border-top:4px solid #ed8534; }
.land-feature-image {
  position:relative;
  height:270px;
}
.land-feature-image img {
  height:100%;
  object-fit:cover;
}
.land-image-label {
  position:absolute;
  left:15px; bottom:15px;
  padding:7px 12px;
  border-radius:999px;
  color:#fff;
  background:#ed8534;
  font-size:.76rem;
  font-weight:900;
}
.land-image-label-green { background:#43805f; }
.land-feature-body { padding:24px 22px; }
.land-feature-body h3 {
  margin:3px 0 9px;
  color:#315641;
  font-size:1.28rem;
}
.land-feature-body p {
  color:#61746a;
  line-height:1.78;
}
.land-mini-label {
  color:#538668;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
}
.land-check-list {
  margin:14px 0 18px;
  padding:0;
  list-style:none;
}
.land-check-list li {
  position:relative;
  margin:0 0 8px;
  padding-left:22px;
  color:#53685d;
}
.land-check-list li::before {
  content:"✦";
  position:absolute;
  left:0;
  color:#d89a3e;
}

/* cards */
.land-card-grid {
  display:grid;
  gap:18px;
}
.land-card-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.land-card {
  overflow:hidden;
  border:1px solid #d5e0d3;
  border-radius:13px;
  background:#fff;
  box-shadow:0 9px 24px rgba(45,83,54,.06);
}
.land-card > img {
  height:215px;
  object-fit:cover;
}
.land-card-body { padding:22px 20px; }
.land-card-body h3 {
  margin:4px 0 9px;
  color:#315641;
  font-size:1.18rem;
}
.land-card-body p {
  color:#61746a;
  line-height:1.75;
}
.land-text-link {
  color:#3f7d5c;
  font-weight:800;
  text-decoration:none;
}

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

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

/* buttons */
.land-btn {
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:11px 19px;
  border-radius:8px;
  color:#fff !important;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 7px 18px rgba(70,82,45,.14);
}
.land-btn-orange {
  background:linear-gradient(90deg,#e87c2d,#ef9b3c);
}
.land-btn-green {
  background:linear-gradient(90deg,#397655,#5b936d);
}
.land-btn:hover {
  opacity:.92;
  transform:translateY(-1px);
}

/* CTA */
.land-cta {
  position:relative;
  overflow:hidden;
  padding:46px 30px;
  color:#fff;
  background:
    radial-gradient(circle at 87% 15%,rgba(255,198,86,.27) 0%,rgba(255,198,86,0) 25%),
    linear-gradient(135deg,#2b6048,#4a815e);
  text-align:center;
}
.land-cta::after {
  content:"";
  position:absolute;
  left:-5%; right:-5%; bottom:-10px;
  height:29px;
  opacity:.3;
  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;
}
.land-cta > * { position:relative; z-index:1; }
.land-cta-symbols {
  margin-bottom:8px;
  color:#ffd485;
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:.16em;
}
.land-cta h2 {
  margin:0 0 10px;
  color:#fff;
  font-size:1.55rem;
}
.land-cta p {
  max-width:720px;
  margin:0 auto 20px;
  color:rgba(255,255,255,.9);
  line-height:1.8;
}
.land-btn-light {
  color:#35654d !important;
  background:#fff;
}

/* Mobile */
@media only screen and (max-width:760px) {
  .land-intro { padding:42px 20px 40px; }
  .land-intro h1 { font-size:1.82rem; }
  .land-quick-nav { grid-template-columns:repeat(2,1fr); }
  .land-section,
  .land-choice-section { padding:38px 18px; }
  .land-title { font-size:1.48rem; }
  .land-feature-grid,
  .land-card-grid-2,
  .land-more-grid { grid-template-columns:1fr; }
  .land-feature-image { height:225px; }
  .land-card > img { height:205px; }
  .land-more-card img { height:200px; }
  .land-choice-grid { grid-template-columns:repeat(2,1fr); }
  .land-cta { padding:38px 20px; }
  .land-cta h2 { font-size:1.35rem; }
}
@media only screen and (max-width:480px) {
  .land-choice-grid { grid-template-columns:1fr; }
}
