
/* 下層5ページ共通スタイル。既存 style.css / header-refinement.css の後に読み込みます。 */
.page-hero {
  padding: 72px 0 62px;
}
.page-hero .eyebrow{
  margin:0 0 12px;color:var(--minamo-navy,#183b57);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.page-hero h1{
  max-width:880px;margin:0 0 22px;font-size:clamp(32px,4vw,48px);line-height:1.35;color:var(--minamo-navy-deep,#102d43)}
.page-hero .lead{
  max-width:860px;margin-bottom:0;font-size:18px;color:#425466}
.content-section{
  padding:72px 0}
.content-section:nth-of-type(even){
  background:#f7f9fa}
.section-head{
  max-width:820px;margin-bottom:30px}
.section-head .eyebrow{
  margin:0 0 8px;color:var(--minamo-navy,#183b57);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.content-section h2{
  margin:0 0 18px;font-size:clamp(25px,3vw,34px);line-height:1.45;color:var(--minamo-navy-deep,#102d43)}
.content-section h3{
  color:var(--minamo-navy-deep,#102d43)}
.prose{max-width:860px}.prose p{color:#465866}.prose p:last-child{margin-bottom:0}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.detail-card{padding:28px;border:1px solid var(--minamo-line,#e6e0d5);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(16,45,67,.04)}
.detail-card h3{margin-bottom:12px}.detail-card p{margin-bottom:0;color:#526271}
.service-block{padding:34px;border:1px solid var(--minamo-line,#e6e0d5);border-radius:22px;background:#fff;margin-bottom:22px}
.service-block:last-child{margin-bottom:0}.service-block .sublead{font-weight:700;color:var(--minamo-navy,#183b57)}
.clean-list{margin:18px 0 0;padding-left:1.3em;color:#465866}.clean-list li{margin:.5em 0}
.note-box{padding:28px;border-left:3px solid var(--minamo-gold,#a68a55);border-radius:0 18px 18px 0;background:#fbfaf7}
.flow-detail{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.flow-detail li{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:26px;border:1px solid var(--minamo-line,#e6e0d5);border-radius:20px;background:#fff}
.flow-no{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--minamo-navy,#183b57);color:#fff;font-weight:700}
.flow-detail h3{margin:2px 0 8px}.flow-detail p{margin:0;color:#526271}
.info-list{margin:0;border-top:1px solid var(--minamo-line,#e6e0d5)}
.info-row{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--minamo-line,#e6e0d5)}
.info-row dt{font-weight:700;color:var(--minamo-navy-deep,#102d43)}.info-row dd{margin:0;color:#465866}
.email-link{color:var(--minamo-navy,#183b57);font-weight:700;border-bottom:1px solid var(--minamo-gold,#a68a55)}
.page-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.page-links .button{position:relative;overflow:hidden;color:#fff;background:var(--minamo-navy,#183b57);border-color:var(--minamo-navy,#183b57)}
.page-links .button:hover{color:#fff;background:var(--minamo-navy-deep,#102d43);border-color:var(--minamo-navy-deep,#102d43)}
.privacy-list{padding-left:1.3em;color:#465866}.privacy-list li{margin:.65em 0}
.page-current{color:var(--minamo-navy-deep,#102d43)!important;font-weight:700}.page-current::after{right:0!important}
@media(max-width:860px){.page-hero{padding:54px 0 48px}.content-section{padding:56px 0}.detail-grid{grid-template-columns:1fr}.info-row{grid-template-columns:150px 1fr}}
@media(max-width:560px){.page-hero{padding:42px 0 38px}.page-hero .lead{font-size:16px}.content-section{padding:46px 0}.detail-card,.service-block{padding:22px}.flow-detail li{grid-template-columns:42px 1fr;gap:14px;padding:20px}.flow-no{width:42px;height:42px}.info-row{grid-template-columns:1fr;gap:6px;padding:15px 0}.page-links{display:grid}.page-links .button{width:100%}}

/* ページ下部リンクの金色バー */

.page-links .button {
  position: relative;
  overflow: hidden;
  color: #ffffff;
  text-decoration: none;
  transition:
    background-color 0.25s ease,
    transform 0.25s ease;
}

.page-links .button::after {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 7px;
  height: 2px;
  background-color: #c6a15b;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.25s ease;
}

.page-links .button:hover,
.page-links .button:focus-visible {
  background-color: #102d43;
  color: #ffffff;
  transform: translateY(-1px);
}

.page-links .button:hover::after,
.page-links .button:focus-visible::after {
  transform: scaleX(1);
}

.page-links .button:focus-visible {
  outline: 2px solid #c6a15b;
  outline-offset: 3px;
}

.content-section {
  background-color: #f5f9fc;
}

.content-section:nth-of-type(even) {
  background-color: #f5f9fc;
}

.content-section:nth-of-type(odd) {
  background-color: #f5f9fc;
}

.detail-card {
  background-color: #ffffff;
}

.flow-detail li {
  background-color: #ffffff;
}

.note-box {
  background-color: #ffffff;
}

.info-list {
  background-color: #ffffff;
}

.service-block {
  background-color: #ffffff;
}

.about-detail-section .detail-card {
  padding-left: 24px;
  padding-right: 24px;
}

@media (max-width: 560px) {
  .about-detail-section .detail-card {
    padding-left: 22px;
    padding-right: 22px;
  }
}

.services-title span {
  display: block;
}

.services-summary {
  margin-top: 144px;
  padding: 32px;
  background-color: #ffffff;
  border-left: 3px solid #c6a15b;
  border-radius: 0 18px 18px 0;
}

.services-summary h2 {
  margin: 0 0 12px;
}

.services-summary p {
  margin: 0;
}

@media (max-width: 860px) {
  .services-summary {
    margin-top: 112px;
  }
}

@media (max-width: 560px) {
  .services-summary {
    margin-top: 92px;
    padding: 24px 22px;
  }
}

.office-hero-title > span {
  display: block;
}

.sp-only {
  display: none;
}

@media (max-width: 560px) {
  .office-hero-title {
    font-size: 30px;
    line-height: 1.45;
  }

  .office-hero-title .sp-only {
    display: block;
  }
}

.office-address {
  display: flex;
  align-items: baseline;
  gap: 18px;
}

.office-postal {
  flex-shrink: 0;
  white-space: nowrap;
}

.office-address-text {
  min-width: 0;
}

@media (max-width: 560px) {
  .office-address {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .office-postal,
  .office-address-text {
    display: block;
  }
}

.office-services-first,
.office-services-second {
  display: inline;
}

@media (max-width: 560px) {
  .office-services {
    font-size: 15px;
    line-height: 1.8;
  }

  .office-services-first {
    display: block;
    white-space: nowrap;
  }

  .office-services-second {
    display: block;
  }
}

/* ご依頼の流れ：③の末尾「す。」の孤立を防ぐ */
@media (min-width: 1024px) {
  .flow-detail > li:nth-child(3) p {
    font-size: 0.98em;
    letter-spacing: -0.015em;
  }
}