@charset "utf-8";

/* 261011: 下層ページの見た目を整えるための共通CSS。
   .content に class="pageRefine" を付けたページだけに効く（付けていないページは今のまま）。
   枠・影・片側の太い線をやめ、節は区切り線と余白で分ける。本文は1行40字前後に収める。
   強みページ（business-refine-261010.css）と同じ考え方を、クラスで選べる形にしたもの。 */

/* 本文の列は左端をページの大見出しにそろえ、幅だけを抑える */
.sitePageV13 .mainBox .pageRefine.content > * {
  max-width: 880px;
}

/* 枠・影・片側の太線を外す（冒頭、節、縦に積んだ枠、事例カード、補足の枠） */
.sitePageV13 .mainBox .pageRefine.content .serviceHero,
.sitePageV13 .mainBox .pageRefine.content .service-entry,
.sitePageV13 .mainBox .pageRefine.content .serviceColumns > div,
.sitePageV13 .mainBox .pageRefine.content .caseCard,
.sitePageV13 .mainBox .pageRefine.content .mediaNote,
.sitePageV13 .mainBox .pageRefine.content .inquiryCta {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

/* 節と節の間は細い区切り線と余白で分ける（本文の直下に並ぶ div が節）。
   上の「枠を外す」指定より強く効くよう .content を重ねている */
.sitePageV13 .mainBox .pageRefine.content.content > div + div,
.sitePageV13 .mainBox .pageRefine.content .bizSection {
  margin-top: 64px;
  padding-top: 44px;
  border-top: 1px solid var(--ysp-line);
}

/* 縦に積んだ枠の中の小さな節どうし */
.sitePageV13 .mainBox .pageRefine.content .serviceColumns > div + div {
  margin-top: 40px;
}

/* 事例カード: 枠をやめ、写真・見出し・本文を縦に並べる */
.sitePageV13 .mainBox .pageRefine.content .caseGrid {
  gap: 40px 36px;
}

/* 設備: 5列の設備表は全幅のまま読めるようにする */
.sitePageV13 .mainBox .pageRefine.content#mainequipment > div:has(table) {
  max-width: none;
}

/* お知らせ一覧（pageRefine なし）: カードの記事名は h2。左の線を付けず、カードに合う大きさにする */
.sitePageV13 .mainBox .content.blog .blog-card-title {
  margin: 6px 0 8px;
  padding: 0;
  background: transparent;
  border: 0;
  font-size: 19px;
  line-height: 1.5;
}

/* 加工工程（形から探す）: 冒頭・形の選び方・補足・相談の案内の枠を平らにする。形を選ぶカードはそのまま */
.sitePageV13 .mainBox .pageRefine.content .shapeHero,
.sitePageV13 .mainBox .pageRefine.content .shapePickIntro,
.sitePageV13 .mainBox .pageRefine.content .shapeSupportBox,
.sitePageV13 .mainBox .pageRefine.content .inquiryGuide {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

/* 形の選び方の見出しとカードは、続けて1つの節に見せる */
.sitePageV13 .mainBox .pageRefine.content.content > .shapePickIntro + .shapeCardGrid {
  margin-top: 20px;
  padding-top: 0;
  border-top: 0;
}

/* カードの中の見出しは小さいまま */
.sitePageV13 .mainBox .pageRefine.content .shapeCardGrid h3 {
  margin: 4px 0 8px;
  font-size: 18px;
  line-height: 1.5;
}

/* 枠を外した後も行頭が分かるよう、箇条書きに小さな点を付ける（リンク一覧と leadList は除く） */
.sitePageV13 .mainBox .pageRefine.content .serviceColumns ul:not(.serviceLinks):not(.leadList),
.sitePageV13 .mainBox .pageRefine.content .caseCard ul:not(.serviceLinks):not(.leadList),
.sitePageV13 .mainBox .pageRefine.content .service-entry > ul:not(.serviceLinks):not(.leadList) {
  margin: 0 0 16px;
  padding: 0;
}

.sitePageV13 .mainBox .pageRefine.content .serviceColumns ul:not(.serviceLinks):not(.leadList) > li,
.sitePageV13 .mainBox .pageRefine.content .caseCard ul:not(.serviceLinks):not(.leadList) > li,
.sitePageV13 .mainBox .pageRefine.content .service-entry > ul:not(.serviceLinks):not(.leadList) > li {
  position: relative;
  max-width: 40em;
  margin: 0 0 6px;
  padding-left: 1.1em;
  list-style: none;
}

.sitePageV13 .mainBox .pageRefine.content .serviceColumns ul:not(.serviceLinks):not(.leadList) > li::before,
.sitePageV13 .mainBox .pageRefine.content .caseCard ul:not(.serviceLinks):not(.leadList) > li::before,
.sitePageV13 .mainBox .pageRefine.content .service-entry > ul:not(.serviceLinks):not(.leadList) > li::before {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0.2em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ysp-green);
}

/* 展開寸法コラムの要点・注記・注意: 左の太線をやめ、薄い色の囲みにする */
.sitePageV13 .mainBox .pageRefine.content .flatPatternKeyPoint,
.sitePageV13 .mainBox .pageRefine.content .flatPatternNote,
.sitePageV13 .mainBox .pageRefine.content .simulationCaution {
  border: 1px solid #f0d2ad;
  border-radius: 6px;
}

/* 図のラベル「外側」: 白い文字が読める濃さにする（コントラスト4.5:1以上） */
.sitePageV13 .mainBox .pageRefine.content .bendLabelOuter strong {
  background: #b8500f;
}

.sitePageV13 .mainBox .pageRefine.content .bizItem {
  margin-top: 48px;
}

.sitePageV13 .mainBox .pageRefine.content h2 {
  margin: 0 0 16px;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--ysp-ink);
  font-size: 28px;
  font-weight: bold;
  line-height: 1.45;
}

.sitePageV13 .mainBox .pageRefine.content h3 {
  margin: 32px 0 12px;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--ysp-ink);
  font-size: 21px;
  font-weight: bold;
  line-height: 1.5;
}

.sitePageV13 .mainBox .pageRefine.content p,
.sitePageV13 .mainBox .pageRefine.content .leadList li {
  max-width: 40em;
  font-size: 17px;
  line-height: 1.85;
}

.sitePageV13 .mainBox .pageRefine.content p {
  margin: 0 0 1em;
}

.sitePageV13 .mainBox .pageRefine.content .bInt {
  margin: 0 0 20px;
  padding: 0;
  background: transparent;
  border: 0;
}

/* 強みページ（#business）は古い templates.css に ID 付きの指定（.bInt の枠・余白・行間）が残るため、ここで他のページと同じにする */
.sitePageV13 .pageRefine#business .bInt {
  margin: 0 0 20px;
  padding: 0;
  background: transparent;
  border: 0;
}

.sitePageV13 .pageRefine#business .bInt p {
  max-width: 40em;
  margin: 0 0 1em;
  font-size: 17px;
  line-height: 1.85;
}

.sitePageV13 .mainBox .pageRefine.content .serviceCaption {
  margin: 8px 0 0;
  color: var(--ysp-muted);
  font-size: 14px;
  line-height: 1.65;
}

/* 箇条書き: 行頭に小さな点。手順（stepList）は番号を本文に書くので点を付けない */
.sitePageV13 .mainBox .pageRefine.content .leadList {
  margin: 0 0 24px;
  padding: 0;
}

.sitePageV13 .mainBox .pageRefine.content .leadList li {
  position: relative;
  margin: 0 0 8px;
  padding-left: 1.1em;
}

.sitePageV13 .mainBox .pageRefine.content .leadList li::before {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0.2em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ysp-green);
}

.sitePageV13 .mainBox .pageRefine.content .stepList li {
  padding: 10px 0 10px;
  border-top: 1px solid var(--ysp-line);
}

.sitePageV13 .mainBox .pageRefine.content .stepList li::before {
  display: none;
}

.sitePageV13 .mainBox .pageRefine.content .stepList li strong {
  display: inline-block;
  min-width: 9em;
  margin-right: 1em;
  color: var(--ysp-ink);
}

/* 電話番号は途中で改行しない */
.sitePageV13 .mainBox .pageRefine.content a[href^="tel:"] {
  white-space: nowrap;
}

/* 特長などの並び: カードをやめ、上の細線で項目を分ける */
.sitePageV13 .mainBox .pageRefine.content .questionAnswerList {
  gap: 24px 36px;
  margin: 8px 0 28px;
}

.sitePageV13 .mainBox .pageRefine.content .questionAnswerList > div {
  padding: 14px 0 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--ysp-line);
  border-radius: 0;
  box-shadow: none;
}

.sitePageV13 .mainBox .pageRefine.content .questionAnswerList h3 {
  margin: 0 0 6px;
  font-size: 18px;
}

.sitePageV13 .mainBox .pageRefine.content .questionAnswerList p {
  margin: 0;
  font-size: 16px;
  line-height: 1.75;
}

.sitePageV13 .mainBox .pageRefine.content .ctaText {
  margin: 24px 0 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.sitePageV13 .mainBox .pageRefine.content .layT01 {
  margin: 0 0 8px;
}

@media screen and (min-width: 761px) {
  .sitePageV13 .mainBox .pageRefine.content .serviceHero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    gap: 36px;
    align-items: start;
  }

  .sitePageV13 .mainBox .pageRefine.content .imgBase:has(img) {
    justify-content: flex-start;
  }
}

@media screen and (max-width: 760px) {
  .sitePageV13 .mainBox .pageRefine.content.content > div + div,
  .sitePageV13 .mainBox .pageRefine.content .bizSection {
    margin-top: 48px;
    padding-top: 32px;
  }

  .sitePageV13 .mainBox .pageRefine.content .bizItem {
    margin-top: 36px;
  }

  .sitePageV13 .mainBox .pageRefine.content h2 {
    font-size: 23px;
  }

  .sitePageV13 .mainBox .pageRefine.content h3 {
    font-size: 19px;
  }

  .sitePageV13 .mainBox .pageRefine.content p,
  .sitePageV13 .mainBox .pageRefine.content .leadList li,
  .sitePageV13 .pageRefine#business .bInt p {
    font-size: 16px;
    line-height: 1.8;
  }

  .sitePageV13 .mainBox .pageRefine.content .questionAnswerList > div {
    padding: 12px 0 0;
  }

  .sitePageV13 .mainBox .pageRefine.content .stepList li strong {
    display: block;
  }
}
