/* =============================================================================
   配色プラン（案1 / 案2）— body に .theme-plan-1 または .theme-plan-2 を付与

   公開HTMLはすべて .theme-plan-2。top2.html は旧URL向けに index.html へリダイレクトのみ。
   案1（旧トップ1配色）は CSS のみ保持 — 差し戻すときは各ページ body を theme-plan-1 に。
   ============================================================================= */

/* ----- 案1（top1）：茶 × ゴールド × 淡ピンク — 採用見送りだがコード維持 ----- */
.theme-nautical.theme-plan-1 {
  --ink: #3d2f28;
  --ink-muted: #635048;
  --mahogany: #45332c;
  --brown-panel: #4a3a33;
  --brown-warm: #6b5348;
  --line-subtle: rgba(91, 72, 64, 0.14);
  --paper: #fdf8f6;
  --paper-warm: #f3e8e4;
  --taupe-section: #ead9d4;
  --brand-pink-faint: rgba(200, 140, 130, 0.14);
}

.theme-nautical.theme-plan-1,
.theme-nautical.theme-plan-1.theme-nautical {
  background-color: #faf3f1;
}

.theme-nautical.theme-plan-1 .site-header {
  background: rgba(253, 248, 246, 0.9);
  border-bottom-color: rgba(180, 140, 130, 0.15);
}

.theme-nautical.theme-plan-1 .hero {
  background:
    radial-gradient(ellipse 90% 70% at 100% 35%, rgba(236, 195, 188, 0.55) 0%, transparent 58%),
    radial-gradient(ellipse 70% 55% at 0% 75%, rgba(243, 228, 200, 0.35) 0%, transparent 52%),
    linear-gradient(180deg, #fff9f7 0%, #faf0ed 38%, #f5e4df 100%);
}

/* トップ1のみ：帆船透かしをはっきり（top2 の plan-2 は別指定のまま） */
.theme-nautical.theme-plan-1 .hero::before {
  opacity: 0.7;
}

@media (max-width: 900px) {
  .theme-nautical.theme-plan-1 .hero::before {
    opacity: 0.65;
  }
}

.theme-nautical.theme-plan-1 .hero .wave-divider {
  color: #f0d8d2;
  opacity: 0.85;
}

.theme-nautical.theme-plan-1 .section--paper#concept,
.theme-nautical.theme-plan-1 .section.section--paper#business {
  background: linear-gradient(180deg, #ffffff 0%, #fdf6f4 100%);
  border-block-color: rgba(120, 90, 82, 0.08);
}

.theme-nautical.theme-plan-1 #contact {
  background: linear-gradient(180deg, #ffffff 0%, #faf2ef 100%);
}

.theme-nautical.theme-plan-1 .site-footer {
  background: linear-gradient(165deg, #5c483e 0%, #453630 48%, #3a2e28 100%);
  border-top-color: rgba(232, 207, 140, 0.35);
}

.theme-nautical.theme-plan-1 .btn--primary,
.theme-nautical.theme-plan-1 .btn--primary:hover {
  color: #2a221c;
}

.theme-nautical.theme-plan-1 #services {
  background: linear-gradient(165deg, #6b5248 0%, #544038 42%, #453530 100%);
  border-block-color: rgba(232, 200, 150, 0.35);
}

.theme-nautical.theme-plan-1 .page-hero {
  background:
    radial-gradient(ellipse 55% 48% at 15% 22%, rgba(243, 233, 200, 0.45) 0%, transparent 50%),
    radial-gradient(ellipse 70% 55% at 88% 15%, rgba(236, 195, 188, 0.4) 0%, transparent 52%),
    linear-gradient(180deg, #fff9f7 0%, #faf0ed 100%);
}

.theme-nautical.theme-plan-1 .blog-card {
  background: #fffdfb;
  border-color: rgba(120, 90, 82, 0.1);
}

.theme-nautical.theme-plan-1.about-full-doc .about-full-doc__section--paper {
  background: linear-gradient(180deg, #ffffff 0%, #faf3f0 100%);
}

/* ----- 案2（top2・現行採用）：Showit系テンプレ参考 — チャコール / マゼンタ / 淡ピンク / 金 ----- */
.theme-nautical.theme-plan-2 {
  --plan2-charcoal: #1a1a1a;
  --plan2-charcoal-soft: #242424;
  --plan2-magenta: #d12a7a;
  --plan2-magenta-deep: #a92262;
  --plan2-pale-pink: #f9ebee;
  --plan2-pale-pink-mid: #f3dfe5;
  --plan2-gold: #b39b7d;
  --plan2-gold-soft: rgba(179, 155, 125, 0.45);
  --ink: #1a1a1a;
  --ink-muted: #4a4548;
  --paper: #ffffff;
  --paper-warm: #f9ebee;
  --taupe-section: #f5f0f2;
  --line-subtle: rgba(26, 26, 26, 0.08);
  --brand-pink-faint: rgba(209, 42, 122, 0.08);
}

.theme-nautical.theme-plan-2,
.theme-nautical.theme-plan-2.theme-nautical {
  background-color: #ffffff;
  color: var(--ink-muted);
}

/* ヘッダー：チャコール半透明 · ナビはライト · 金ライン */
.theme-nautical.theme-plan-2 .site-header {
  background: rgba(26, 26, 26, 0.92);
  border-bottom: 1px solid rgba(179, 155, 125, 0.35);
  box-shadow: 0 1px 0 rgba(209, 42, 122, 0.12);
}

.theme-nautical.theme-plan-2 .site-logo {
  color: #ffffff;
}

.theme-nautical.theme-plan-2 .site-logo__img {
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}

.theme-nautical.theme-plan-2 .site-logo:hover {
  color: #fce8ef;
}

.theme-nautical.theme-plan-2 .site-logo:hover .site-logo__img {
  opacity: 0.92;
}

.theme-nautical.theme-plan-2 .site-nav__link {
  color: rgba(255, 252, 253, 0.62);
}

.theme-nautical.theme-plan-2 .site-nav__link:hover {
  color: #ff8cc8;
}

.theme-nautical.theme-plan-2 .site-nav__link[aria-current="page"] {
  color: #ffffff;
  box-shadow: inset 0 -2px 0 var(--plan2-magenta);
}

.theme-nautical.theme-plan-2 .site-nav__link--cta {
  border-color: rgba(179, 155, 125, 0.52);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 252, 253, 0.96);
}

.theme-nautical.theme-plan-2 .site-nav__link--cta:hover {
  color: #ffffff;
  border-color: var(--plan2-gold);
  background: rgba(255, 255, 255, 0.12);
}

.theme-nautical.theme-plan-2 .nav-toggle__bar {
  background: #ffffff;
}

@media (max-width: 900px) {
  .theme-nautical.theme-plan-2 .site-nav {
    background: linear-gradient(180deg, #242424 0%, #1a1a1a 100%);
    border-top: 1px solid rgba(179, 155, 125, 0.25);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35);
  }

  .theme-nautical.theme-plan-2 .site-nav__link {
    color: rgba(255, 250, 252, 0.88);
  }
}

.theme-nautical.theme-plan-2 a:hover {
  color: var(--plan2-magenta-deep);
}

/* ヒーロー：チャコール全面 · 見出しマゼンタ · リード白 */
.theme-nautical.theme-plan-2 .hero {
  background:
    radial-gradient(ellipse 70% 55% at 100% 30%, rgba(209, 42, 122, 0.12) 0%, transparent 50%),
    linear-gradient(165deg, #1a1a1a 0%, #222222 50%, #1a1a1a 100%);
}

/* 写真JPEGは lighten だと背景に溶けず不透明に見える。screen で暗部をチャコールに抜けさせる */
.theme-nautical.theme-plan-2 .hero::before {
  opacity: 0.42;
  mix-blend-mode: screen;
  filter: brightness(0.9) contrast(1.06);
}

.theme-nautical.theme-plan-2 .hero h1 {
  color: var(--logo-gold-bright);
  text-shadow: 0 0 48px rgba(201, 162, 39, 0.2);
}

.theme-nautical.theme-plan-2 .hero .hero__lead-stack p {
  color: rgba(255, 255, 255, 0.9);
}

.theme-nautical.theme-plan-2 .hero__badge {
  color: rgba(255, 250, 248, 0.95);
  background: rgba(36, 36, 36, 0.6);
  border: 1px solid var(--plan2-gold-soft);
  border-left: 3px solid var(--plan2-gold);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}

.theme-nautical.theme-plan-2 .hero .btn--outline {
  color: rgba(255, 252, 253, 0.94);
  border-color: rgba(179, 155, 125, 0.55);
}

.theme-nautical.theme-plan-2 .hero .btn--outline:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--plan2-gold-bright);
  color: #ffffff;
}

.theme-nautical.theme-plan-2 .hero .wave-divider {
  color: var(--plan2-pale-pink);
  opacity: 0.95;
}

/* CONCEPT：淡ピンク全面（テンプレのソフト帯） */
.theme-nautical.theme-plan-2 .section--paper#concept {
  background: linear-gradient(180deg, var(--plan2-pale-pink) 0%, var(--plan2-pale-pink-mid) 100%);
  border-block: 1px solid rgba(209, 42, 122, 0.08);
  box-shadow: none;
}

.theme-nautical.theme-plan-2 .section--paper#concept::before {
  background: linear-gradient(180deg, var(--plan2-magenta) 0%, var(--plan2-gold) 100%);
  width: 4px;
}

.theme-nautical.theme-plan-2 .section--paper#concept::after {
  opacity: 0.04;
}

.theme-nautical.theme-plan-2 .section--paper#concept h2,
.theme-nautical.theme-plan-2 .section--paper#concept h3 {
  color: var(--plan2-charcoal);
}

.theme-nautical.theme-plan-2 .section--paper#concept .concept-chart__intro {
  color: rgba(26, 26, 26, 0.78);
}

.theme-nautical.theme-plan-2 .section--paper#concept .concept-chart__intro-accent {
  color: var(--plan2-magenta);
  background: linear-gradient(transparent 58%, rgba(209, 42, 122, 0.22) 58%);
  text-shadow: 0 0 0.75em rgba(209, 42, 122, 0.18);
}

.theme-nautical.theme-plan-2 .section--paper#concept .concept-chart__leg-copy p,
.theme-nautical.theme-plan-2 .section--paper#concept .concept-chart__dest-copy {
  color: rgba(26, 26, 26, 0.78);
}

.theme-nautical.theme-plan-2 #concept .concept-chart {
  --concept-leg-border: color-mix(in srgb, var(--plan2-gold) 62%, transparent);
  --concept-rom-ring: var(--plan2-gold);
  --concept-rom-digit: var(--plan2-gold);
  --concept-intro-accent: var(--plan2-magenta);
}

.theme-nautical.theme-plan-2 .section--paper#concept .concept-chart__rom {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 600;
  font-synthesis: none;
  border-color: var(--plan2-gold);
  text-shadow: 0 0 12px rgba(179, 155, 125, 0.35);
}

.theme-nautical.theme-plan-2 .section--paper#concept .concept-chart__head-sub {
  color: rgba(26, 26, 26, 0.52);
}

.theme-nautical.theme-plan-2 .section--paper#concept .concept-chart__dest-eyebrow {
  color: var(--plan2-magenta-deep);
}

.theme-nautical.theme-plan-2 .section--paper#concept .concept-chart__dest-title {
  color: var(--plan2-gold);
  text-shadow:
    0 0 18px rgba(179, 155, 125, 0.42),
    0 0 40px rgba(179, 155, 125, 0.22);
}

.theme-nautical.theme-plan-2 .section--paper#concept .concept-chart__dest-title::before {
  background: linear-gradient(
    90deg,
    transparent,
    color-mix(in srgb, var(--plan2-gold) 60%, transparent),
    transparent
  );
}

.theme-nautical.theme-plan-2 .section--paper#concept .concept-chart__dest-title::after {
  background: linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb, var(--plan2-gold) 80%, transparent) 25%,
    color-mix(in srgb, var(--plan2-magenta) 35%, transparent) 50%,
    color-mix(in srgb, var(--plan2-gold) 80%, transparent) 75%,
    transparent 100%
  );
}

.theme-nautical.theme-plan-2 .section--paper#concept .concept-chart__head {
  color: var(--plan2-charcoal);
}

.theme-nautical.theme-plan-2 .section--paper#concept .concept-chart__head-main {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 600;
  font-synthesis: none;
  color: var(--plan2-gold);
  text-shadow: 0 0 24px rgba(179, 155, 125, 0.25);
}

.theme-nautical.theme-plan-2 .section--paper#concept .section-title__text::after {
  background: linear-gradient(90deg, var(--plan2-magenta) 0%, var(--plan2-gold) 100%);
  height: 2px;
}

/* BUSINESS：クリーンホワイト */
.theme-nautical.theme-plan-2 .section.section--paper#business {
  background: #ffffff;
  border-block: 1px solid rgba(26, 26, 26, 0.06);
  box-shadow: none;
}

.theme-nautical.theme-plan-2 .section.section--paper#business h2,
.theme-nautical.theme-plan-2 .section.section--paper#business h3 {
  color: var(--plan2-charcoal);
}

.theme-nautical.theme-plan-2 .section.section--paper#business .prose p,
.theme-nautical.theme-plan-2 .section.section--paper#business .lead {
  color: rgba(26, 26, 26, 0.78);
}

.theme-nautical.theme-plan-2 .section.section--paper#business .section-title__text::after {
  background: linear-gradient(90deg, var(--plan2-gold) 0%, rgba(209, 42, 122, 0.45) 100%);
  height: 2px;
}

.theme-nautical.theme-plan-2 .section-title__text::after {
  box-shadow: none;
}

/* サービス：チャコール · 見出し金色 · カード白 · 上線マゼンタ→金 */
.theme-nautical.theme-plan-2 #services {
  background: linear-gradient(165deg, #1a1a1a 0%, #242424 48%, #1a1a1a 100%);
  border-block: 1px solid rgba(179, 155, 125, 0.25);
  box-shadow: inset 0 1px 0 rgba(209, 42, 122, 0.08);
}

.theme-nautical.theme-plan-2 #services .section-title__text::after {
  background: linear-gradient(90deg, var(--plan2-magenta) 0%, var(--plan2-gold) 100%);
  height: 2px;
}

.theme-nautical.theme-plan-2 #services .section-title__text {
  color: var(--logo-gold-pale);
  text-shadow: 0 0 32px rgba(232, 207, 110, 0.2);
}

.theme-nautical.theme-plan-2 #services .section-title__icon {
  filter: drop-shadow(0 0 10px rgba(201, 162, 39, 0.45));
  opacity: 1;
}

.theme-nautical.theme-plan-2 #services .card {
  background: #ffffff;
  border: 1px solid rgba(26, 26, 26, 0.06);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.28);
}

.theme-nautical.theme-plan-2 #services .card::before {
  height: 4px;
  background: linear-gradient(90deg, var(--plan2-magenta) 0%, #e85a9c 40%, var(--plan2-gold) 100%);
}

.theme-nautical.theme-plan-2 #services .card__meta {
  color: var(--plan2-magenta-deep);
}

.theme-nautical.theme-plan-2 #services .card__title {
  color: var(--plan2-gold);
  text-shadow: 0 0 20px rgba(179, 155, 125, 0.32);
}

.theme-nautical.theme-plan-2 #services .card p,
.theme-nautical.theme-plan-2 #services .card li {
  color: rgba(26, 26, 26, 0.82);
}

/* お問い合わせ：淡ピンク · パネル白 · 金＋マゼンタのトップライン */
.theme-nautical.theme-plan-2 #contact {
  background: linear-gradient(180deg, var(--plan2-pale-pink) 0%, #ffffff 100%);
  border-top: 1px solid rgba(179, 155, 125, 0.2);
}

.theme-nautical.theme-plan-2 #contact h2,
.theme-nautical.theme-plan-2 #contact .section-title__text {
  color: var(--plan2-charcoal);
}

.theme-nautical.theme-plan-2 #contact .lead {
  color: rgba(26, 26, 26, 0.72);
}

.theme-nautical.theme-plan-2 #contact .form-group label {
  color: var(--plan2-charcoal);
}

.theme-nautical.theme-plan-2 #contact .form-group input,
.theme-nautical.theme-plan-2 #contact .form-group textarea {
  background: #ffffff;
  border-color: rgba(179, 155, 125, 0.35);
  color: var(--plan2-charcoal);
}

.theme-nautical.theme-plan-2 #contact .form-group input::placeholder,
.theme-nautical.theme-plan-2 #contact .form-group textarea::placeholder {
  color: rgba(26, 26, 26, 0.35);
}

.theme-nautical.theme-plan-2 #contact::before {
  opacity: 0.03;
}

.theme-nautical.theme-plan-2 #contact .contact-panel {
  background: #ffffff;
  border: 1px solid rgba(179, 155, 125, 0.28);
  box-shadow: 0 20px 56px rgba(26, 26, 26, 0.08);
}

.theme-nautical.theme-plan-2 #contact .contact-panel::before {
  height: 3px;
  background: linear-gradient(90deg, var(--plan2-gold) 0%, var(--plan2-magenta) 100%);
}

.theme-nautical.theme-plan-2 #contact .form-group input:focus,
.theme-nautical.theme-plan-2 #contact .form-group textarea:focus {
  outline: 2px solid rgba(209, 42, 122, 0.2);
  border-color: var(--plan2-magenta);
}

.theme-nautical.theme-plan-2 #contact .form-note {
  color: rgba(26, 26, 26, 0.45);
}

.theme-nautical.theme-plan-2 .site-footer {
  background: var(--plan2-charcoal);
  border-top: 1px solid rgba(179, 155, 125, 0.35);
  box-shadow: inset 0 1px 0 rgba(209, 42, 122, 0.12);
}

/* CTA：マゼンタ（テンプレのピンクボタン） */
.theme-nautical.theme-plan-2 .btn--primary {
  background: linear-gradient(135deg, var(--plan2-magenta) 0%, var(--plan2-magenta-deep) 100%);
  color: #ffffff;
  box-shadow: 0 6px 24px rgba(209, 42, 122, 0.35);
}

.theme-nautical.theme-plan-2 .btn--primary:hover {
  filter: brightness(1.08);
  color: #ffffff;
  background: linear-gradient(135deg, #e0408c 0%, var(--plan2-magenta) 100%);
}

.theme-nautical.theme-plan-2 .page-hero {
  background:
    radial-gradient(ellipse 65% 50% at 90% 15%, rgba(209, 42, 122, 0.14) 0%, transparent 50%),
    linear-gradient(180deg, #1a1a1a 0%, #222222 100%);
}

.theme-nautical.theme-plan-2 .page-hero h1 {
  color: var(--plan2-magenta);
  text-shadow: none;
}

.theme-nautical.theme-plan-2 .page-hero .lead {
  color: rgba(255, 255, 255, 0.88);
}

.theme-nautical.theme-plan-2 .blog-card {
  background: #ffffff;
  border: 1px solid rgba(26, 26, 26, 0.06);
  border-left: 3px solid var(--plan2-magenta);
  box-shadow: 0 12px 40px rgba(26, 26, 26, 0.08);
}

.theme-nautical.theme-plan-2 .blog-card__title {
  color: var(--plan2-charcoal);
}

.theme-nautical.theme-plan-2 .blog-card__excerpt {
  color: rgba(26, 26, 26, 0.72);
}

.theme-nautical.theme-plan-2 .blog-card__date {
  color: var(--plan2-magenta-deep);
}

.theme-nautical.theme-plan-2 .blog-card__link {
  color: var(--plan2-magenta);
}

.theme-nautical.theme-plan-2 .blog-card__link:hover {
  color: var(--plan2-magenta-deep);
}

/* About（plan2 を付けた場合の下書き用） */
.theme-nautical.theme-plan-2.about-full-doc {
  background-color: var(--plan2-pale-pink);
  color: var(--ink-muted);
}

.theme-nautical.theme-plan-2.about-full-doc .about-full-doc__title {
  color: var(--plan2-magenta);
}

.theme-nautical.theme-plan-2.about-full-doc .about-full-doc__h2 {
  color: var(--plan2-charcoal);
}

.theme-nautical.theme-plan-2.about-full-doc .about-full-doc__prose p,
.theme-nautical.theme-plan-2.about-full-doc .about-full-doc__catch,
.theme-nautical.theme-plan-2.about-full-doc .about-full-doc__list,
.theme-nautical.theme-plan-2.about-full-doc .about-full-doc__service-block > p {
  color: rgba(26, 26, 26, 0.78);
}

.theme-nautical.theme-plan-2.about-full-doc .about-full-doc__section--paper {
  background: #ffffff;
  border: 1px solid rgba(179, 155, 125, 0.22);
}

.theme-nautical.theme-plan-2.about-full-doc .about-full-doc__page-head {
  border-bottom-color: rgba(179, 155, 125, 0.25);
}

.theme-nautical.theme-plan-2.about-full-doc .about-full-doc__label {
  color: var(--plan2-magenta-deep);
}

.theme-nautical.theme-plan-2.about-full-doc .about-full-doc__local-nav .btn:not(.btn--primary) {
  background: #ffffff;
  border-color: rgba(179, 155, 125, 0.4);
  color: var(--plan2-charcoal);
}

.theme-nautical.theme-plan-2.about-full-doc .company-spec dt {
  color: var(--plan2-charcoal);
}

.theme-nautical.theme-plan-2.about-full-doc .company-spec dd {
  color: rgba(26, 26, 26, 0.75);
}

.theme-nautical.theme-plan-2.about-full-doc .company-spec__row {
  border-bottom-color: rgba(26, 26, 26, 0.08);
}

.theme-nautical.theme-plan-2.about-full-doc .company-spec--about {
  border-top-color: rgba(179, 155, 125, 0.38);
  border-bottom-color: rgba(179, 155, 125, 0.38);
}

.theme-nautical.theme-plan-2.about-full-doc .company-spec--about .company-spec__row {
  border-bottom-color: rgba(26, 26, 26, 0.1);
}
