@charset "UTF-8";
#colmn_detail .seo-article{color:#292929;line-height:1.95;font-size:16px}
#colmn_detail .seo-article *{box-sizing:border-box}
#colmn_detail .article-date{margin:20px 0;padding:12px 16px;border-left:4px solid #1e3260;background:#f8f8f8;color:#555;font-size:14px}
#colmn_detail .article-date p{margin:0}.seo-title{margin:0 0 18px;color:#1e3260;font-size:30px;line-height:1.45}
.seo-lead{margin:0 0 28px;padding:22px;border-left:4px solid #b6913d;background:linear-gradient(135deg,#faf8f3,#fff);font-size:16px}
.hero{margin:28px 0 38px}.hero img,.content-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:9px}.hero figcaption,.content-image figcaption{margin-top:8px;color:#666;font-size:13px}
.summary-box,.point-box,.reference-box{margin:30px 0;padding:24px;border:1px solid #ded6c6;border-radius:9px;background:#fffdf8}.summary-box h2,.reference-box h2{margin:0 0 14px;color:#1e3260;font-size:21px}.summary-box li{margin:7px 0;list-style:disc}
.article-section{margin:0 0 46px}.article-section h2{margin:0 0 20px;padding:0 0 12px 14px;border-bottom:2px solid #1e3260;border-left:5px solid #b6913d;color:#1e3260;font-size:24px;line-height:1.55}.article-section h3{margin:30px 0 12px;color:#3b3428;font-size:19px}.yellow-line{background-image:linear-gradient(transparent 72%,#ffe27a 72%,#ffe27a 90%,transparent 90%)}
.comparison{width:100%;margin:24px 0;border-collapse:collapse}.comparison th,.comparison td{padding:13px 14px;border:1px solid #ddd7ca;vertical-align:top}.comparison th{background:#f4f1e9;color:#1e3260;text-align:left}.comparison thead th{background:#1e3260;color:#fff}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.card{overflow:hidden;border:1px solid #ded8cb;border-radius:9px;background:#fff;box-shadow:0 8px 20px rgba(30,39,60,.06)}.card img{width:100%;aspect-ratio:16/9;object-fit:cover}.card-body{padding:18px}.card h3{margin:0 0 8px;color:#1e3260}.tag{display:inline-block;margin:0 5px 5px 0;padding:3px 9px;border-radius:999px;background:#eef2f8;color:#1e3260;font-size:12px;font-weight:bold}.check-list li{position:relative;margin:9px 0;padding-left:1.6em}.check-list li:before{content:'✓';position:absolute;left:0;color:#8b6c20;font-weight:bold}.note{margin:24px 0;padding:18px 20px;border-radius:6px;background:#eef4fa}.warning{margin:24px 0;padding:18px 20px;border-left:5px solid #9a3c3c;background:#fff5f5}.cta{margin-top:50px;padding:34px;border:1px solid #d8cfbf;border-radius:12px;background:linear-gradient(135deg,#fff,#f7f2e8);box-shadow:0 14px 34px rgba(36,30,20,.10)}.cta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.cta-card{padding:20px;background:#fff;border-radius:8px}.cta-card a{display:block;padding:11px;border-radius:5px;background:#1e3260;color:#fff;text-align:center;text-decoration:none;font-weight:bold}.faq dt{margin-top:18px;padding:15px 18px;background:#1e3260;color:#fff;font-weight:bold}.faq dd{margin:0;padding:17px 18px;border:1px solid #d8dce4;border-top:0}.reference-box li{margin:8px 0}.reference-box a{word-break:break-all}
.variant-note{margin:10px 0 30px;padding:12px 15px;background:#f6f6f6;font-size:13px;color:#555}
@media(max-width:767px){.seo-title{font-size:24px}.seo-lead{padding:17px}.article-section h2{font-size:21px}.cards,.cta-grid{grid-template-columns:1fr}.comparison,.comparison tbody,.comparison tr,.comparison th,.comparison td{display:block;width:100%}.comparison thead{display:none}.comparison th{border-bottom:0}}

#colmn_detail .seo-article .seo-title{border-bottom:3px solid #416a7c;padding-bottom:14px}

/* 追加記事コンテンツ */
.story-section{background:linear-gradient(135deg,#fffaf2,#fff);border:1px solid #ead8b8;border-radius:12px;padding:28px;margin:34px 0}.story-box,.mini-case,.formula-box{background:#f8f4ec;border-left:5px solid #b99154;padding:20px 22px;margin:24px 0;border-radius:4px}.story-box strong,.formula-box strong{display:block;font-size:1.08em;color:#6f4f23;margin-bottom:8px}.route-grid,.synergy-grid,.process-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.route-grid>div,.synergy-grid>div,.process-steps>div{background:#fff;border:1px solid #e4d5bd;border-radius:10px;padding:20px}.route-grid h3,.synergy-grid h3,.process-steps h3{margin-top:0;color:#68491f}.process-steps>div{position:relative;padding-top:48px}.process-steps span{position:absolute;top:14px;left:18px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#8a6734;color:#fff;font-weight:bold}@media(max-width:767px){.story-section{padding:20px 16px}.route-grid,.synergy-grid,.process-steps{grid-template-columns:1fr}.route-grid>div,.synergy-grid>div,.process-steps>div{padding:17px}}


/* Responsive layout corrections: PC / tablet / smartphone */
#colmn_detail,
#colmn_detail .seo-article {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

#colmn_detail .seo-article img,
#colmn_detail .seo-article picture,
#colmn_detail .seo-article video,
#colmn_detail .seo-article iframe {
  max-width: 100%;
}

#colmn_detail .seo-article picture {
  display: block;
  width: 100%;
}

#colmn_detail .hero,
#colmn_detail .content-image,
#colmn_detail .card picture {
  overflow: hidden;
  width: 100%;
  max-width: 100%;
}

#colmn_detail .hero img,
#colmn_detail .content-image img,
#colmn_detail .card img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

#colmn_detail .hero img,
#colmn_detail .content-image img {
  aspect-ratio: 1400 / 788;
  object-fit: cover;
}

#colmn_detail .card img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

#colmn_detail .cards,
#colmn_detail .route-grid,
#colmn_detail .synergy-grid,
#colmn_detail .process-steps,
#colmn_detail .cta-grid {
  min-width: 0;
}

#colmn_detail .card,
#colmn_detail .route-grid > div,
#colmn_detail .synergy-grid > div,
#colmn_detail .process-steps > div,
#colmn_detail .cta-card {
  min-width: 0;
  overflow-wrap: anywhere;
}

#colmn_detail .comparison {
  table-layout: fixed;
}

#colmn_detail .comparison th,
#colmn_detail .comparison td {
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  #colmn_detail .seo-article {
    font-size: 15px;
  }

  #colmn_detail .seo-title {
    font-size: 27px;
  }

  #colmn_detail .article-section h2 {
    font-size: 22px;
  }

  #colmn_detail .hero,
  #colmn_detail .content-image {
    margin-left: 0;
    margin-right: 0;
  }

  #colmn_detail .cards,
  #colmn_detail .route-grid,
  #colmn_detail .synergy-grid,
  #colmn_detail .process-steps {
    gap: 16px;
  }

  #colmn_detail .cta {
    padding: 26px;
  }

  #colmn_detail .cta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #colmn_detail .cta-card:last-child {
    grid-column: 1 / -1;
  }
}

/* Smartphone */
@media (max-width: 767px) {
  #colmn_detail .seo-article {
    font-size: 15px;
    line-height: 1.85;
  }

  #colmn_detail .article-date {
    margin: 14px 0 18px;
    padding: 10px 12px;
    font-size: 13px;
  }

  #colmn_detail .seo-title {
    margin-bottom: 16px;
    padding-bottom: 10px;
    font-size: clamp(22px, 6.4vw, 26px);
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  #colmn_detail .seo-lead,
  #colmn_detail .summary-box,
  #colmn_detail .point-box,
  #colmn_detail .reference-box,
  #colmn_detail .story-box,
  #colmn_detail .mini-case,
  #colmn_detail .formula-box,
  #colmn_detail .warning,
  #colmn_detail .note {
    padding-left: 16px;
    padding-right: 16px;
  }

  #colmn_detail .hero {
    margin: 22px 0 30px;
  }

  #colmn_detail .content-image {
    margin-left: 0;
    margin-right: 0;
  }

  #colmn_detail .hero img,
  #colmn_detail .content-image img {
    border-radius: 7px;
  }

  #colmn_detail .article-section {
    margin-bottom: 38px;
  }

  #colmn_detail .article-section h2 {
    padding-left: 10px;
    font-size: clamp(19px, 5.5vw, 22px);
    line-height: 1.55;
    overflow-wrap: anywhere;
  }

  #colmn_detail .article-section h3 {
    font-size: 18px;
  }

  #colmn_detail .cards,
  #colmn_detail .route-grid,
  #colmn_detail .synergy-grid,
  #colmn_detail .process-steps,
  #colmn_detail .cta-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  #colmn_detail .card-body,
  #colmn_detail .route-grid > div,
  #colmn_detail .synergy-grid > div,
  #colmn_detail .process-steps > div,
  #colmn_detail .cta-card {
    padding-left: 16px;
    padding-right: 16px;
  }

  #colmn_detail .comparison {
    display: block;
    width: 100%;
    table-layout: auto;
  }

  #colmn_detail .comparison tbody,
  #colmn_detail .comparison tr,
  #colmn_detail .comparison th,
  #colmn_detail .comparison td {
    display: block;
    width: 100%;
  }

  #colmn_detail .comparison tr {
    margin-bottom: 14px;
    border: 1px solid #ddd7ca;
  }

  #colmn_detail .comparison th,
  #colmn_detail .comparison td {
    border: 0;
  }

  #colmn_detail .comparison th {
    border-bottom: 1px solid #ddd7ca;
  }

  #colmn_detail .cta {
    margin-top: 38px;
    padding: 22px 16px;
  }
}

/* Narrow smartphones */
@media (max-width: 374px) {
  #colmn_detail .seo-article {
    font-size: 14px;
  }

  #colmn_detail .seo-title {
    font-size: 21px;
  }

  #colmn_detail .article-section h2 {
    font-size: 19px;
  }
}

/* scene01-3.webp: preserve the original portrait aspect ratio */
#colmn_detail .content-image img[src$="scene01-3.webp"] {
  width: min(100%, 620px);
  max-width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 768px) and (max-width: 1024px) {
  #colmn_detail .content-image img[src$="scene01-3.webp"] {
    width: min(100%, 560px);
  }
}

@media (max-width: 767px) {
  #colmn_detail .content-image img[src$="scene01-3.webp"] {
    width: min(100%, 440px);
  }
}

/* Process step number/title alignment fix */
#colmn_detail .process-steps > div {
  position: relative;
  padding: 20px;
}

#colmn_detail .process-steps > div > span {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 30px;
  height: 30px;
  margin: 0;
  line-height: 1;
  flex: 0 0 30px;
  z-index: 1;
}

#colmn_detail .process-steps > div > h3 {
  min-height: 30px;
  margin: 0 0 14px;
  padding: 1px 0 0 42px;
  line-height: 1.55;
}

@media (min-width: 768px) and (max-width: 1024px) {
  #colmn_detail .process-steps > div {
    padding: 18px;
  }

  #colmn_detail .process-steps > div > span {
    top: 18px;
    left: 18px;
  }
}

@media (max-width: 767px) {
  #colmn_detail .process-steps > div {
    padding: 17px 16px;
  }

  #colmn_detail .process-steps > div > span {
    top: 17px;
    left: 16px;
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }

  #colmn_detail .process-steps > div > h3 {
    min-height: 28px;
    padding-left: 40px;
    padding-top: 0;
  }
}

/* Comparison table spacing correction: PC / tablet / smartphone */
#colmn_detail .comparison th,
#colmn_detail .comparison td {
  line-height: 1.7;
}

#colmn_detail .comparison td > :first-child,
#colmn_detail .comparison th > :first-child {
  margin-top: 0;
}

#colmn_detail .comparison td > :last-child,
#colmn_detail .comparison th > :last-child {
  margin-bottom: 0;
}

#colmn_detail .comparison td ul,
#colmn_detail .comparison th ul {
  margin: 0;
  padding-left: 1.35em;
}

#colmn_detail .comparison td li,
#colmn_detail .comparison th li {
  margin: 0;
  padding: 0;
}

#colmn_detail .comparison-note {
  display: block;
  margin-top: 4px;
  line-height: 1.6;
}

#colmn_detail .comparison-after-list {
  display: block;
  margin-top: 4px;
}

@media (min-width: 768px) and (max-width: 1024px) {
  #colmn_detail .comparison th,
  #colmn_detail .comparison td {
    padding: 11px 12px;
  }
}

@media (max-width: 767px) {
  #colmn_detail .comparison td ul,
  #colmn_detail .comparison th ul {
    padding-left: 1.25em;
  }

  #colmn_detail .comparison-note,
  #colmn_detail .comparison-after-list {
    margin-top: 3px;
  }
}

/* COMMON-COLUMN-RESPONSIVE-SEO-START */
#colmn_detail img {
  display: block;
  max-width: 100%;
  height: auto;
}

#colmn_detail figure,
#colmn_detail picture {
  max-width: 100%;
}

#colmn_detail figure > img,
#colmn_detail article img {
  width: 100%;
  object-fit: cover;
}

#colmn_detail .seo-column-action {
  position: relative;
  overflow: hidden;
  margin-top: 50px;
  padding: 38px;
  border: 1px solid #d9d1c1;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,244,235,.96));
  box-shadow: 0 16px 40px rgba(37,31,22,.10);
}

#colmn_detail .seo-column-action::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #9a742e, #d7bd78 52%, #8a6728);
  content: "";
}

#colmn_detail .seo-column-action__heading { margin-bottom: 20px; }
#colmn_detail .seo-column-action__eyebrow {
  margin: 0 0 8px;
  color: #9a742e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .22em;
}
#colmn_detail .seo-column-action h2 {
  margin: 0;
  padding: 0 0 14px;
  border-bottom: 1px solid #d9d1c1;
  color: #262219;
  font-size: 24px;
  line-height: 1.5;
}
#colmn_detail .seo-column-action__lead {
  margin: 0;
  color: #4b463d;
  font-size: 15px;
  line-height: 2;
}
#colmn_detail .seo-column-action__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0 0;
  padding: 0;
}
#colmn_detail .seo-column-action__links li { margin: 0; list-style: none; }
#colmn_detail .seo-column-action__links a {
  position: relative;
  display: flex;
  min-height: 92px;
  flex-direction: column;
  justify-content: center;
  padding: 18px 52px 18px 20px;
  border: 1px solid #ded7ca;
  border-radius: 8px;
  background: rgba(255,255,255,.86);
  color: #2d2922;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(37,31,22,.06);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
#colmn_detail .seo-column-action__links a::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 9px;
  height: 9px;
  margin-top: -5px;
  border-top: 1px solid #9a742e;
  border-right: 1px solid #9a742e;
  content: "";
  transform: rotate(45deg);
}
#colmn_detail .seo-column-action__links a:hover {
  border-color: #b99a55;
  box-shadow: 0 12px 24px rgba(37,31,22,.11);
  transform: translateY(-2px);
}
#colmn_detail .seo-column-action__link-label,
#colmn_detail .seo-column-action__link-title { display: block; }
#colmn_detail .seo-column-action__link-label {
  margin-bottom: 5px;
  color: #8a6728;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
}
#colmn_detail .seo-column-action__link-title { font-size: 15px; font-weight: 700; line-height: 1.55; }
#colmn_detail .seo-column-action__links-contact { grid-column: 1 / -1; }
#colmn_detail .seo-column-action__links-contact a {
  min-height: 78px;
  border-color: #2e3c53;
  background: linear-gradient(135deg, #253247, #3c4d67);
  color: #fff;
}
#colmn_detail .seo-column-action__links-contact a::after { border-color: #e6d199; }
#colmn_detail .seo-column-action__links-contact .seo-column-action__link-label { color: #e6d199; }

@media screen and (max-width: 1024px) {
  #colmn_detail .seo-column-action { padding: 32px; }
}

@media screen and (max-width: 767px) {
  #colmn_detail figure { margin-right: 0; margin-left: 0; }
  #colmn_detail .seo-column-action { margin-top: 40px; padding: 28px 20px 22px; border-radius: 9px; }
  #colmn_detail .seo-column-action h2 { font-size: 20px; }
  #colmn_detail .seo-column-action__lead { font-size: 14px; line-height: 1.9; }
  #colmn_detail .seo-column-action__links { grid-template-columns: 1fr; gap: 10px; margin-top: 22px; }
  #colmn_detail .seo-column-action__links-contact { grid-column: auto; }
  #colmn_detail .seo-column-action__links a,
  #colmn_detail .seo-column-action__links-contact a { min-height: 0; padding: 16px 44px 16px 16px; }
}

@media (prefers-reduced-motion: reduce) {
  #colmn_detail .seo-column-action__links a { transition: none; }
}
/* COMMON-COLUMN-RESPONSIVE-SEO-END */

/* COMMON-SEO-HUB-START: 全コラム共通・関連記事回遊ブロック */
#colmn_detail .column-seo-hub {
  position: relative;
  overflow: hidden;
  margin: 64px 0 8px;
  padding: 42px;
  border: 1px solid #ded7c9;
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0, rgba(185,147,79,.13), transparent 34%),
    linear-gradient(145deg, #fff 0%, #fbf8f1 100%);
  box-shadow: 0 18px 44px rgba(19,35,61,.10);
  color: #292929;
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  line-height: 1.8;
}
#colmn_detail .column-seo-hub::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #142e59, #b9934f, #142e59);
  content: "";
}
#colmn_detail .column-seo-hub__intro { max-width: 820px; }
#colmn_detail .column-seo-hub__eyebrow,
#colmn_detail .column-seo-hub__trust-label {
  margin: 0 0 8px;
  color: #9a742f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
}
#colmn_detail .column-seo-hub__intro h2 {
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  color: #142e59;
  font-size: 25px;
  line-height: 1.55;
  letter-spacing: .03em;
}
#colmn_detail .column-seo-hub__intro > p:last-child { margin: 0; }
#colmn_detail .column-seo-hub__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0 30px;
  padding: 0;
}
#colmn_detail .column-seo-hub__item {
  margin: 0;
  padding: 0;
  list-style: none;
}
#colmn_detail .column-seo-hub__item a {
  position: relative;
  display: flex;
  min-height: 118px;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  padding: 20px 50px 20px 22px;
  border: 1px solid #ddd7cc;
  border-radius: 10px;
  background: rgba(255,255,255,.88);
  color: #32363d;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
#colmn_detail .column-seo-hub__item a::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #b18a42;
  border-right: 2px solid #b18a42;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}
#colmn_detail .column-seo-hub__item a:hover {
  transform: translateY(-3px);
  border-color: #b9934f;
  box-shadow: 0 12px 24px rgba(20,46,89,.10);
}
#colmn_detail .column-seo-hub__category {
  margin-bottom: 5px;
  color: #98742f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}
#colmn_detail .column-seo-hub__item strong {
  display: block;
  margin-bottom: 5px;
  color: #142e59;
  font-size: 16px;
  line-height: 1.5;
}
#colmn_detail .column-seo-hub__item span:last-child {
  color: #626870;
  font-size: 12px;
  line-height: 1.7;
}
#colmn_detail .column-seo-hub__trust {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 24px;
  align-items: center;
  padding-top: 26px;
  border-top: 1px solid #ddd4c4;
}
#colmn_detail .column-seo-hub__trust h3 {
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  color: #142e59;
  font-size: 18px;
  line-height: 1.55;
}
#colmn_detail .column-seo-hub__trust-main p:last-child {
  margin: 0;
  color: #555d66;
  font-size: 13px;
}
#colmn_detail .column-seo-hub__all {
  display: flex;
  min-height: 82px;
  flex-direction: column;
  justify-content: center;
  padding: 16px 42px 16px 18px;
  border-radius: 8px;
  background: linear-gradient(135deg, #142e59, #203f70);
  color: #fff;
  text-decoration: none;
  position: relative;
}
#colmn_detail .column-seo-hub__all::after {
  position: absolute;
  top: 50%;
  right: 18px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #dfc98e;
  border-right: 2px solid #dfc98e;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}
#colmn_detail .column-seo-hub__all span { color: #dfc98e; font-size: 11px; }
#colmn_detail .column-seo-hub__all strong { margin-top: 3px; font-size: 15px; }
@media screen and (max-width: 767px) {
  #colmn_detail .column-seo-hub { margin-top: 44px; padding: 30px 18px 22px; border-radius: 11px; }
  #colmn_detail .column-seo-hub__intro h2 { font-size: 21px; }
  #colmn_detail .column-seo-hub__grid { grid-template-columns: 1fr; gap: 10px; margin-top: 22px; }
  #colmn_detail .column-seo-hub__item a { min-height: 0; padding: 17px 42px 17px 16px; }
  #colmn_detail .column-seo-hub__trust { grid-template-columns: 1fr; gap: 18px; }
  #colmn_detail .column-seo-hub__all { min-height: 70px; }
}
@media (prefers-reduced-motion: reduce) {
  #colmn_detail .column-seo-hub__item a { transition: none; }
}
/* COMMON-SEO-HUB-END */
