@charset "UTF-8";

:root {
  --ysp-ink: #08283c;
  --ysp-text: #29495b;
  --ysp-muted: #5b6f7a;
  --ysp-green: #2f7b62;
  --ysp-green-dark: #24654f;
  --ysp-red: #c81724;
  --ysp-line: #d6e0e2;
  --ysp-soft: #eef4f2;
  --ysp-soft-blue: #f2f6f8;
  --ysp-white: #ffffff;
  --ysp-shadow: 0 14px 34px rgba(8, 40, 60, 0.08);
}

html {
  scroll-padding-top: 76px;
}

body.sitePageV13 {
  min-width: 0;
  margin: 0;
  overflow-x: hidden;
  background: var(--ysp-white);
  color: var(--ysp-text);
  font-family: "Meiryo", "Hiragino Kaku Gothic ProN", "Yu Gothic", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.8;
  letter-spacing: 0;
  text-align: left;
}

.sitePageV13 *,
.sitePageV13 *::before,
.sitePageV13 *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

.sitePageV13 .container,
.sitePageV13 .contBox,
.sitePageV13 .mainBox,
.sitePageV13 #ahs_content {
  width: 100%;
  max-width: none;
  margin: 0;
  background: var(--ysp-white);
  border: 0;
}

.sitePageV13 .contBox {
  overflow: visible;
}

.sitePageV13 .header {
  min-height: 92px;
  padding: 0;
  background: var(--ysp-white);
  border: 0;
  border-bottom: 1px solid #e0e7e8;
  box-shadow: none;
}

.sitePageV13 .headerIdentity {
  display: flex;
  align-items: center;
  gap: 28px;
  width: min(1180px, calc(100% - 64px));
  min-height: 92px;
  margin: 0 auto;
}

.sitePageV13 .siteLogo {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
}

.sitePageV13 .siteLogo a {
  display: inline-block;
  padding-left: 14px;
  border-left: 5px solid var(--ysp-green);
  color: var(--ysp-ink);
  font-size: 0;
  line-height: 1;
  text-decoration: none;
}

.sitePageV13 .siteLogo a::before {
  content: "株式会社ヤマナカ";
  display: block;
  color: var(--ysp-ink);
  font-size: 31px;
  font-weight: bold;
  line-height: 1.05;
}

.sitePageV13 .siteLogo a::after {
  content: "YAMANAKA CO., LTD.";
  display: block;
  margin-top: 4px;
  color: var(--ysp-green);
  font-size: 11px;
  font-weight: bold;
  line-height: 1.1;
  letter-spacing: 0.16em;
}

.sitePageV13 .siteLogo img {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.sitePageV13 .headerSiteMeta {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  color: #172c3f;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.35;
  white-space: nowrap;
}

.sitePageV13 .headerSiteMeta a {
  color: var(--ysp-red);
  font-size: 19px;
  font-weight: bold;
  text-decoration: none;
}

.sitePageV13 .siteMenuToggle {
  display: none;
}

.sitePageV13 .navi {
  position: sticky;
  top: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 100%;
  min-height: 58px;
  margin: 0;
  padding: 0 24px;
  overflow: visible;
  background: rgba(255, 255, 255, 0.97);
  border-top: 0;
  border-bottom: 1px solid var(--ysp-line);
  box-shadow: 0 10px 24px rgba(8, 40, 60, 0.1);
  backdrop-filter: blur(10px);
  list-style: none;
}

.sitePageV13 .navi::after {
  display: none;
}

.sitePageV13 .navi > li,
.sitePageV13 .navi li.navConsultItem {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  background: none;
  font-size: 14px;
  font-weight: normal;
  list-style: none;
}

.sitePageV13 .navi > li > a,
.sitePageV13 .navi .navConsultDetails > summary {
  display: block;
  min-height: 58px;
  padding: 19px 11px 17px;
  color: var(--ysp-text) !important;
  font-weight: normal;
  line-height: 1.55;
  text-decoration: none;
  white-space: nowrap;
}

.sitePageV13 .navi > li.active > a,
.sitePageV13 .navi li.navConsultItem.active > .navConsultDetails > summary,
.sitePageV13 .navi > li > a:hover,
.sitePageV13 .navi > li > a:focus-visible,
.sitePageV13 .navi .navConsultDetails > summary:hover,
.sitePageV13 .navi .navConsultDetails > summary:focus-visible {
  color: var(--ysp-ink) !important;
  background: var(--ysp-soft);
}

.sitePageV13 .navi a[href="contact.html"],
.sitePageV13 .navi a[href^="contact.php"] {
  min-height: auto;
  margin-left: 5px;
  padding: 12px 17px;
  background: var(--ysp-green);
  border-radius: 6px;
  color: var(--ysp-white) !important;
  font-weight: bold;
}

.sitePageV13 .navi a[href="contact.html"]:hover,
.sitePageV13 .navi a[href="contact.html"]:focus-visible,
.sitePageV13 .navi a[href^="contact.php"]:hover,
.sitePageV13 .navi a[href^="contact.php"]:focus-visible {
  background: var(--ysp-green-dark);
  color: var(--ysp-white) !important;
}

.sitePageV13 .navi .navConsultDetails {
  position: relative;
}

.sitePageV13 .navi .navConsultDetails > summary {
  cursor: pointer;
  list-style: none;
}

.sitePageV13 .navi .navConsultPanel {
  top: 58px;
  width: 340px;
  margin: 0;
  padding: 8px;
  background: var(--ysp-white);
  border: 1px solid var(--ysp-line);
  border-radius: 0 0 6px 6px;
  box-shadow: var(--ysp-shadow);
}

.sitePageV13 .navi .navConsultPanel li {
  width: 100%;
  margin: 0;
}

.sitePageV13 .navi .navConsultPanel a,
.sitePageV13 .navi .navConsultPanel a[href^="contact.php"] {
  min-height: 0;
  margin: 0;
  padding: 11px 12px;
  background: transparent;
  border-radius: 4px;
  color: var(--ysp-text) !important;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.55;
  white-space: normal;
}

.sitePageV13 .navi .navConsultPanel a:hover,
.sitePageV13 .navi .navConsultPanel a:focus-visible,
.sitePageV13 .navi .navConsultPanel a.active {
  background: var(--ysp-soft);
  color: var(--ysp-ink) !important;
}

.sitePageV13 .pageMainTitle,
.sitePageV13 .mainBox > #ahs_content > h1,
.sitePageV13 .mainBox > #ahs_content > h2 {
  width: min(1180px, calc(100% - 64px));
  margin: 0 auto;
  padding: 54px 0 30px;
  background: transparent;
  border: 0;
  color: var(--ysp-ink);
  font-size: 44px;
  font-weight: bold;
  line-height: 1.35;
}

.sitePageV13 .pageMainTitle::before,
.sitePageV13 .mainBox > #ahs_content > h1::before,
.sitePageV13 .mainBox > #ahs_content > h2::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 0.88em;
  margin-right: 16px;
  background: var(--ysp-green);
  vertical-align: -0.04em;
}

.sitePageV13 .mainBox > #ahs_content > h2.pageTrail {
  padding-top: 28px;
  padding-bottom: 14px;
  color: var(--ysp-muted);
  font-size: 14px;
  font-weight: normal;
  line-height: 1.6;
}

.sitePageV13 .mainBox > #ahs_content > h2.pageTrail::before {
  display: none;
}

.sitePageV13 .mainBox .content {
  width: min(1180px, calc(100% - 64px));
  margin: 0 auto;
  padding: 0 0 86px;
  color: var(--ysp-text);
  font-size: 17px;
  line-height: 1.8;
}

.sitePageV13 .mainBox .content p,
.sitePageV13 .mainBox .content li,
.sitePageV13 .mainBox .content td,
.sitePageV13 .mainBox .content th {
  color: var(--ysp-text);
  font-size: 17px;
  line-height: 1.8;
}

.sitePageV13 .mainBox .content p,
.sitePageV13 .mainBox .content li,
.sitePageV13 .mainBox .content td,
.sitePageV13 .mainBox .content th,
.sitePageV13 .mainBox .content a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

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

.sitePageV13 .mainBox .content li {
  margin-bottom: 0.45em;
}

.sitePageV13 .mainBox .content h1 {
  margin: 0 0 28px;
  padding: 0;
  background: transparent;
  color: var(--ysp-ink);
  font-size: 42px;
  line-height: 1.35;
}

.sitePageV13 .mainBox h3,
.sitePageV13 .mainBox .content h3 {
  margin: 42px 0 22px;
  padding: 0 0 11px 16px;
  background: transparent;
  border: 0;
  border-left: 5px solid var(--ysp-green);
  border-bottom: 1px solid var(--ysp-line);
  color: var(--ysp-ink);
  font-size: 27px;
  font-weight: bold;
  line-height: 1.5;
}

.sitePageV13 .mainBox .content > h3:first-child,
.sitePageV13 .mainBox .content > .bInt:first-child > h3:first-child,
.sitePageV13 .serviceHero h3:first-child,
.sitePageV13 .service-entry h3:first-child {
  margin-top: 0;
}

.sitePageV13 .mainBox .content h4 {
  margin: 32px 0 14px;
  color: var(--ysp-ink);
  font-size: 21px;
  line-height: 1.55;
}

.sitePageV13 .introBox,
.sitePageV13 .service-entry,
.sitePageV13 .serviceHero,
.sitePageV13 .serviceColumns > div,
.sitePageV13 .mainBox .content > .bInt,
.sitePageV13 .mainBox .content > .information,
.sitePageV13 .mainBox .content > .goodskillvideo {
  width: 100%;
  margin: 0 0 28px;
  padding: 30px 32px;
  background: var(--ysp-white);
  border: 1px solid var(--ysp-line);
  border-radius: 6px;
  box-shadow: var(--ysp-shadow);
}

.sitePageV13 .mainBox .content .bInt .bInt,
.sitePageV13 .mainBox .content .service-entry .bInt,
.sitePageV13 .mainBox .content .serviceHero .bInt {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.sitePageV13 .serviceHero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 42px;
  align-items: center;
  overflow: visible;
}

.sitePageV13 .serviceHeroText,
.sitePageV13 .serviceHeroImage {
  float: none;
  width: auto;
  margin: 0;
}

.sitePageV13 .serviceHeroImage {
  text-align: center;
}

.sitePageV13 .serviceHeroImage img,
.sitePageV13 .caseCard img,
.sitePageV13 .mainBox .content img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.sitePageV13 .serviceHeroImage img {
  display: block;
  width: 100%;
  max-height: 430px;
  margin: 0 auto;
}

.sitePageV13 .serviceCaption {
  margin-top: 10px;
  color: var(--ysp-muted);
  font-size: 14px;
  line-height: 1.65;
  text-align: left;
}

.sitePageV13 .ctaText,
.sitePageV13 .inquiryCta,
.sitePageV13 .mediaNote {
  padding: 22px 24px;
  background: var(--ysp-soft);
  border: 0;
  border-left: 5px solid var(--ysp-green);
  border-radius: 0 6px 6px 0;
}

.sitePageV13 .ctaText a,
.sitePageV13 .subActionLink a,
.sitePageV13 a.servicePrimaryCta,
.sitePageV13 .shapeHeroCta a,
.sitePageV13 .shapeCardCta a,
.sitePageV13 .inquiryCta a,
.sitePageV13 .middle_cta a {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  margin: 5px 10px 5px 0;
  padding: 10px 17px;
  background: var(--ysp-green);
  border: 1px solid var(--ysp-green);
  border-radius: 6px;
  color: var(--ysp-white) !important;
  font-weight: bold;
  line-height: 1.5;
  text-decoration: none;
}

.sitePageV13 .ctaText a:hover,
.sitePageV13 .ctaText a:focus-visible,
.sitePageV13 .subActionLink a:hover,
.sitePageV13 .subActionLink a:focus-visible,
.sitePageV13 a.servicePrimaryCta:hover,
.sitePageV13 a.servicePrimaryCta:focus-visible,
.sitePageV13 .shapeHeroCta a:hover,
.sitePageV13 .shapeHeroCta a:focus-visible,
.sitePageV13 .shapeCardCta a:hover,
.sitePageV13 .shapeCardCta a:focus-visible,
.sitePageV13 .inquiryCta a:hover,
.sitePageV13 .inquiryCta a:focus-visible,
.sitePageV13 .middle_cta a:hover,
.sitePageV13 .middle_cta a:focus-visible {
  background: var(--ysp-green-dark);
  border-color: var(--ysp-green-dark);
}

.sitePageV13 .subActionLink a::after {
  content: "";
}

.sitePageV13 .questionAnswerList,
.sitePageV13 .caseGrid,
.sitePageV13 .blog-card-list {
  gap: 18px;
}

.sitePageV13 .questionAnswerList > div,
.sitePageV13 .caseCard,
.sitePageV13 .blog-card {
  padding: 24px;
  background: var(--ysp-white);
  border: 1px solid var(--ysp-line);
  border-radius: 6px;
  box-shadow: 0 10px 26px rgba(8, 40, 60, 0.06);
}

.sitePageV13 .questionAnswerList > div {
  border-left: 5px solid var(--ysp-green);
}

.sitePageV13 .layT01,
.sitePageV13 .layT02,
.sitePageV13 #corporate .layT01,
.sitePageV13 #corporate .layT02,
.sitePageV13 #mainequipment table {
  width: 100%;
  margin: 0 0 30px;
  background: var(--ysp-white);
  border: 1px solid var(--ysp-line);
  border-collapse: collapse;
}

.sitePageV13 .layT01 th,
.sitePageV13 .layT01 td,
.sitePageV13 .layT02 th,
.sitePageV13 .layT02 td,
.sitePageV13 #corporate .layT01 th,
.sitePageV13 #corporate .layT01 td,
.sitePageV13 #corporate .layT02 th,
.sitePageV13 #corporate .layT02 td,
.sitePageV13 #mainequipment table th,
.sitePageV13 #mainequipment table td {
  padding: 15px 17px;
  border: 1px solid var(--ysp-line);
  vertical-align: top;
}

.sitePageV13 .layT01 th,
.sitePageV13 .layT02 th,
.sitePageV13 #corporate .layT01 th,
.sitePageV13 #corporate .layT02 th,
.sitePageV13 #mainequipment table th {
  width: 185px;
  background: var(--ysp-soft);
  color: var(--ysp-ink);
  font-weight: bold;
}

.sitePageV13 .layT02 iframe,
.sitePageV13 iframe {
  max-width: 100%;
  border: 0;
}

.sitePageV13 #products .productCase {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 24px;
  width: 100%;
  margin: 0 0 28px;
  padding: 20px;
  background: var(--ysp-white);
  border: 1px solid var(--ysp-line);
  border-radius: 6px;
  box-shadow: 0 10px 26px rgba(8, 40, 60, 0.06);
  overflow: hidden;
}

.sitePageV13 #products .productCase > img,
.sitePageV13 #products .productCase > a > img {
  float: none;
  width: 100%;
  max-width: 220px;
  max-height: 220px;
  margin: 0 auto;
  object-fit: contain;
}

.sitePageV13 #products .productCase table {
  float: none;
  width: 100%;
  background: var(--ysp-white);
}

.sitePageV13 #products .productCase table th,
.sitePageV13 #products .productCase table td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--ysp-line);
}

.sitePageV13 #products .productCase table th {
  width: 100px;
  color: var(--ysp-ink);
  font-weight: bold;
  white-space: normal;
}

.sitePageV13 .imgBase,
.sitePageV13 #business .imgBase,
.sitePageV13 #mainequipment .imgBase,
.sitePageV13 .process .imgBase,
.sitePageV13 .blog .imgBase {
  width: 100%;
  margin-bottom: 22px;
}

.sitePageV13 .imgBase .fL,
.sitePageV13 .imgBase .fR {
  max-width: 48%;
}

.sitePageV13 a {
  color: #145a73;
  text-underline-offset: 0.18em;
}

.sitePageV13 a:hover {
  color: var(--ysp-green-dark);
}

.sitePageV13 a:focus-visible,
.sitePageV13 button:focus-visible,
.sitePageV13 summary:focus-visible {
  outline: 3px solid #68b39b;
  outline-offset: 3px;
}

.sitePageV13 .footer-corp {
  width: min(1180px, calc(100% - 64px));
  margin: 0 auto;
  padding: 30px 0 20px;
  color: var(--ysp-text);
}

.sitePageV13 .footer-corp table {
  margin: 0;
}

.sitePageV13 .footer {
  margin: 0;
  padding: 18px 24px;
  background: var(--ysp-ink);
  color: var(--ysp-white);
  font-size: 12px;
  text-align: center;
}

@media screen and (max-width: 1060px) {
  .sitePageV13 .headerIdentity {
    gap: 18px;
  }

  .sitePageV13 .headerSiteMeta span {
    display: none;
  }

  .sitePageV13 .navi {
    padding-right: 12px;
    padding-left: 12px;
  }

  .sitePageV13 .navi > li > a,
  .sitePageV13 .navi .navConsultDetails > summary {
    padding-right: 8px;
    padding-left: 8px;
    font-size: 13px;
  }
}

@media screen and (max-width: 760px) {
  html {
    scroll-padding-top: 78px;
  }

  body.sitePageV13 {
    font-size: 16px;
    line-height: 1.75;
  }

  body.sitePageV13.siteMenuOpen {
    overflow: hidden;
  }

  .sitePageV13 .header {
    position: sticky;
    top: 0;
    z-index: 9200;
    min-height: 72px;
    border-bottom: 1px solid var(--ysp-line);
    box-shadow: 0 8px 22px rgba(8, 40, 60, 0.1);
  }

  .sitePageV13 .headerIdentity {
    width: 100%;
    min-height: 72px;
    gap: 12px;
    padding: 9px 14px;
  }

  .sitePageV13 .siteLogo {
    min-width: 0;
    margin-right: auto;
  }

  .sitePageV13 .siteLogo a {
    padding-left: 10px;
    border-left-width: 4px;
  }

  .sitePageV13 .siteLogo a::before {
    font-size: 21px;
  }

  .sitePageV13 .siteLogo a::after {
    margin-top: 3px;
    font-size: 8px;
    letter-spacing: 0.12em;
  }

  .sitePageV13 .headerSiteMeta {
    display: none;
  }

  .sitePageV13 .siteMenuToggle {
    display: inline-flex;
    flex: 0 0 46px;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    background: var(--ysp-white);
    border: 1px solid var(--ysp-line);
    border-radius: 6px;
    color: var(--ysp-ink);
    cursor: pointer;
  }

  .sitePageV13 .siteMenuIcon,
  .sitePageV13 .siteMenuIcon::before,
  .sitePageV13 .siteMenuIcon::after {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--ysp-ink);
    content: "";
    transition: transform 160ms ease, opacity 160ms ease;
  }

  .sitePageV13 .siteMenuIcon {
    position: relative;
  }

  .sitePageV13 .siteMenuIcon::before {
    position: absolute;
    top: -7px;
    left: 0;
  }

  .sitePageV13 .siteMenuIcon::after {
    position: absolute;
    top: 7px;
    left: 0;
  }

  .sitePageV13 .siteMenuToggle[aria-expanded="true"] .siteMenuIcon {
    background: transparent;
  }

  .sitePageV13 .siteMenuToggle[aria-expanded="true"] .siteMenuIcon::before {
    top: 0;
    transform: rotate(45deg);
  }

  .sitePageV13 .siteMenuToggle[aria-expanded="true"] .siteMenuIcon::after {
    top: 0;
    transform: rotate(-45deg);
  }

  .sitePageV13 .navi {
    position: fixed;
    top: 72px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9100;
    display: none;
    align-items: stretch;
    justify-content: flex-start;
    flex-direction: column;
    width: 100%;
    min-height: 0;
    max-height: calc(100vh - 72px);
    padding: 12px 18px 28px;
    overflow-y: auto;
    background: var(--ysp-white);
    border: 0;
    box-shadow: none;
  }

  .sitePageV13 .navi.is-open {
    display: flex;
  }

  .sitePageV13 .navi > li,
  .sitePageV13 .navi li.navConsultItem {
    width: 100%;
    border-bottom: 1px solid var(--ysp-line);
  }

  .sitePageV13 .navi > li > a,
  .sitePageV13 .navi .navConsultDetails > summary {
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 14px 12px;
    color: var(--ysp-ink) !important;
    font-size: 17px;
    font-weight: bold;
    line-height: 1.5;
    white-space: normal;
  }

  .sitePageV13 .navi .navConsultDetails > summary::after {
    margin-left: auto;
    border-right-color: var(--ysp-green);
    border-bottom-color: var(--ysp-green);
  }

  .sitePageV13 .navi a[href="contact.html"],
  .sitePageV13 .navi a[href^="contact.php"] {
    margin: 12px 0 4px;
    padding: 14px 16px;
    text-align: center;
  }

  .sitePageV13 .navi .navConsultPanel {
    position: static;
    width: 100%;
    margin: 0 0 12px;
    padding: 8px;
    background: var(--ysp-soft-blue);
    border: 0;
    border-radius: 4px;
    box-shadow: none;
  }

  .sitePageV13 .navi .navConsultPanel li {
    border: 0;
  }

  .sitePageV13 .navi .navConsultPanel a,
  .sitePageV13 .navi .navConsultPanel a[href^="contact.php"] {
    display: flex;
    align-items: center;
    min-height: 48px;
    margin: 0;
    padding: 11px 12px;
    background: transparent;
    color: var(--ysp-ink) !important;
    font-size: 16px;
    line-height: 1.5;
    text-align: left;
  }

  .sitePageV13 .pageMainTitle,
  .sitePageV13 .mainBox > #ahs_content > h1,
  .sitePageV13 .mainBox > #ahs_content > h2 {
    width: auto;
    margin: 0 20px;
    padding: 32px 0 22px;
    font-size: 31px;
    line-height: 1.42;
  }

  .sitePageV13 .pageMainTitle::before,
  .sitePageV13 .mainBox > #ahs_content > h1::before,
  .sitePageV13 .mainBox > #ahs_content > h2::before {
    width: 5px;
    margin-right: 11px;
  }

  .sitePageV13 .mainBox > #ahs_content > h2.pageTrail {
    margin-right: 20px;
    margin-left: 20px;
    padding-top: 20px;
    padding-bottom: 12px;
    font-size: 13px;
  }

  .sitePageV13 .mainBox .content {
    width: auto;
    margin: 0 20px;
    padding: 0 0 58px;
    font-size: 16px;
    line-height: 1.75;
  }

  .sitePageV13 .mainBox .content p,
  .sitePageV13 .mainBox .content li,
  .sitePageV13 .mainBox .content td,
  .sitePageV13 .mainBox .content th {
    font-size: 16px;
    line-height: 1.75;
  }

  .sitePageV13 .mainBox .content h1 {
    font-size: 30px;
  }

  .sitePageV13 .mainBox h3,
  .sitePageV13 .mainBox .content h3 {
    margin-top: 34px;
    padding-left: 12px;
    font-size: 23px;
  }

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

  .sitePageV13 .introBox,
  .sitePageV13 .service-entry,
  .sitePageV13 .serviceHero,
  .sitePageV13 .serviceColumns > div,
  .sitePageV13 .mainBox .content > .bInt,
  .sitePageV13 .mainBox .content > .information,
  .sitePageV13 .mainBox .content > .goodskillvideo,
  .sitePageV13 .questionAnswerList > div,
  .sitePageV13 .caseCard,
  .sitePageV13 .blog-card {
    padding: 22px 20px;
  }

  .sitePageV13 .serviceHero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .sitePageV13 .serviceHeroImage img {
    max-height: 330px;
  }

  .sitePageV13 .questionAnswerList,
  .sitePageV13 .caseGrid,
  .sitePageV13 .blog-card-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .sitePageV13 #products .productCase {
    grid-template-columns: minmax(0, 1fr);
    padding: 18px;
  }

  .sitePageV13 #products .productCase > img,
  .sitePageV13 #products .productCase > a > img {
    max-width: 100%;
    max-height: 280px;
  }

  .sitePageV13 #products .productCase table,
  .sitePageV13 #products .productCase tbody,
  .sitePageV13 #products .productCase tr,
  .sitePageV13 #products .productCase th,
  .sitePageV13 #products .productCase td,
  .sitePageV13 .layT01,
  .sitePageV13 .layT01 tbody,
  .sitePageV13 .layT01 tr,
  .sitePageV13 .layT01 th,
  .sitePageV13 .layT01 td,
  .sitePageV13 .layT02,
  .sitePageV13 .layT02 tbody,
  .sitePageV13 .layT02 tr,
  .sitePageV13 .layT02 th,
  .sitePageV13 .layT02 td,
  .sitePageV13 #corporate .layT01,
  .sitePageV13 #corporate .layT01 tbody,
  .sitePageV13 #corporate .layT01 tr,
  .sitePageV13 #corporate .layT01 th,
  .sitePageV13 #corporate .layT01 td,
  .sitePageV13 #corporate .layT02,
  .sitePageV13 #corporate .layT02 tbody,
  .sitePageV13 #corporate .layT02 tr,
  .sitePageV13 #corporate .layT02 th,
  .sitePageV13 #corporate .layT02 td,
  .sitePageV13 #mainequipment table,
  .sitePageV13 #mainequipment tbody,
  .sitePageV13 #mainequipment tr,
  .sitePageV13 #mainequipment th,
  .sitePageV13 #mainequipment td {
    display: block;
    width: 100% !important;
  }

  .sitePageV13 #products .productCase tr,
  .sitePageV13 .layT01 tr,
  .sitePageV13 .layT02 tr,
  .sitePageV13 #corporate .layT01 tr,
  .sitePageV13 #corporate .layT02 tr,
  .sitePageV13 #mainequipment tr {
    border-bottom: 1px solid var(--ysp-line);
  }

  .sitePageV13 #products .productCase th,
  .sitePageV13 .layT01 th,
  .sitePageV13 .layT02 th,
  .sitePageV13 #corporate .layT01 th,
  .sitePageV13 #corporate .layT02 th,
  .sitePageV13 #mainequipment th {
    padding-bottom: 7px;
    border: 0;
    background: var(--ysp-soft);
  }

  .sitePageV13 #products .productCase td,
  .sitePageV13 .layT01 td,
  .sitePageV13 .layT02 td,
  .sitePageV13 #corporate .layT01 td,
  .sitePageV13 #corporate .layT02 td,
  .sitePageV13 #mainequipment td {
    border: 0;
  }

  .sitePageV13 .imgBase .fL,
  .sitePageV13 .imgBase .fR,
  .sitePageV13 #business .imgBase .fL,
  .sitePageV13 #business .imgBase .fR,
  .sitePageV13 #mainequipment .imgBase .fL,
  .sitePageV13 #mainequipment .imgBase .fR,
  .sitePageV13 .process .imgBase .fL,
  .sitePageV13 .process .imgBase .fR,
  .sitePageV13 .blog .imgBase .fL,
  .sitePageV13 .blog .imgBase .fR {
    float: none;
    display: block;
    max-width: 100%;
    margin: 0 0 16px;
  }

  .sitePageV13 .footer-corp {
    width: auto;
    margin: 0 20px;
    padding: 26px 0 18px;
  }

  .sitePageV13 .footer-corp table,
  .sitePageV13 .footer-corp tbody,
  .sitePageV13 .footer-corp tr,
  .sitePageV13 .footer-corp td {
    display: block;
    width: 100%;
  }
}

/* 板金展開・伸び補正コラム 260714 */
.sitePageV13 .flatPatternColumn figure {
  margin: 0;
}

.sitePageV13 .flatPatternColumn figcaption {
  margin-top: 10px;
  color: #536575;
  font-size: 14px;
  line-height: 1.7;
}

.sitePageV13 .flatPatternColumn .columnEyebrow {
  display: inline-block;
  margin: 0 0 12px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #e9f4fb;
  color: #0d5f8f;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
}

.sitePageV13 .flatPatternHero {
  align-items: center;
}

.sitePageV13 .flatPatternHeroImage {
  padding: 14px;
  border: 1px solid #dce5eb;
  border-radius: 16px;
  background: #fff;
}

.sitePageV13 .flatPatternHeroImage img {
  width: 100%;
  max-height: 390px;
  object-fit: contain;
}

.sitePageV13 .flatPatternHeroImage .serviceCaption {
  margin: 8px 4px 0;
  text-align: left;
}

.sitePageV13 .flatPatternPair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 86px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin: 24px 0;
}

.sitePageV13 .flatPatternPair figure {
  position: relative;
  padding: 18px;
  border: 1px solid #dce5eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(31, 63, 86, .08);
}

.sitePageV13 .flatPatternPair img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: #f5f8fa;
}

.sitePageV13 .flatPatternPair figcaption strong,
.sitePageV13 .flatPatternPair figcaption span {
  display: block;
}

.sitePageV13 .flatPatternPair figcaption strong {
  margin-bottom: 4px;
  color: #173d57;
  font-size: 17px;
}

.sitePageV13 .flatPatternStep {
  position: absolute;
  z-index: 1;
  top: 10px;
  left: 10px;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #126b9f;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 3px 10px rgba(10, 50, 75, .18);
}

.sitePageV13 .flatPatternArrow {
  position: relative;
  color: #126b9f;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

.sitePageV13 .flatPatternArrow::after {
  display: block;
  margin: 2px auto 0;
  color: #126b9f;
  content: "→";
  font-size: 36px;
  font-weight: 600;
  line-height: 1;
}

.sitePageV13 .flatPatternKeyPoint,
.sitePageV13 .flatPatternNote,
.sitePageV13 .simulationCaution {
  margin: 20px 0 0;
  padding: 16px 18px;
  border-left: 5px solid #e0741b;
  border-radius: 0 10px 10px 0;
  background: #fff7ec;
  color: #394d5c;
}

.sitePageV13 .bendPrincipleGrid,
.sitePageV13 .simulationGrid,
.sitePageV13 .shopFloorGrid {
  display: grid;
  gap: 26px;
  align-items: center;
}

.sitePageV13 .bendPrincipleGrid {
  grid-template-columns: minmax(0, 1.65fr) minmax(250px, .8fr);
  margin-top: 22px;
}

.sitePageV13 .bendPrincipleDiagram {
  padding: 18px;
  border: 1px solid #dce5eb;
  border-radius: 16px;
  background: linear-gradient(145deg, #fff 0%, #f4f8fa 100%);
}

.sitePageV13 .bendPrincipleDiagram svg {
  display: block;
  width: 100%;
  height: auto;
  font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
}

.sitePageV13 .bendPrincipleText {
  display: grid;
  gap: 12px;
}

.sitePageV13 .bendLabel {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 10px;
  align-items: center;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #dce5eb;
  border-radius: 10px;
  background: #fff;
}

.sitePageV13 .bendLabel strong {
  padding: 4px 8px;
  border-radius: 6px;
  color: #fff;
  text-align: center;
}

.sitePageV13 .bendLabelOuter strong { background: #d95d16; }
.sitePageV13 .bendLabelInner strong { background: #165fa7; }
.sitePageV13 .bendLabelNeutral strong { background: #34805d; }

.sitePageV13 .conditionCards {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.sitePageV13 .conditionCards li {
  min-height: 108px;
  padding: 18px 14px;
  border-top: 4px solid #126b9f;
  border-radius: 8px;
  background: #f2f7fa;
}

.sitePageV13 .conditionCards strong,
.sitePageV13 .conditionCards span {
  display: block;
}

.sitePageV13 .conditionCards strong {
  margin-bottom: 7px;
  color: #173d57;
  font-size: 18px;
}

.sitePageV13 .conditionCards span {
  color: #536575;
  font-size: 14px;
  line-height: 1.65;
}

.sitePageV13 .simulationGrid {
  grid-template-columns: minmax(0, 1.45fr) minmax(270px, .75fr);
  margin-top: 22px;
}

.sitePageV13 .simulationGrid figure,
.sitePageV13 .shopFloorGrid figure {
  padding: 14px;
  border: 1px solid #dce5eb;
  border-radius: 16px;
  background: #fff;
}

.sitePageV13 .simulationGrid img,
.sitePageV13 .shopFloorGrid img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.sitePageV13 .simulationExample {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 10px;
  margin: 18px 0 0;
}

.sitePageV13 .simulationExample dt {
  grid-column: 1 / -1;
  margin: 0 0 2px;
  color: #173d57;
  font-size: 17px;
  font-weight: 700;
}

.sitePageV13 .simulationExample dd {
  margin: 0;
  padding: 8px 10px;
  border-radius: 7px;
  background: #eef5f8;
  color: #394d5c;
  font-size: 14px;
}

.sitePageV13 .simulationCaution {
  font-size: 14px;
  line-height: 1.75;
}

.sitePageV13 .shopFloorGrid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin-top: 22px;
}

.sitePageV13 .flatPatternProcess {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  counter-reset: flat-pattern-step;
  list-style: none;
}

.sitePageV13 .flatPatternProcess li {
  position: relative;
  min-height: 52px;
  padding: 9px 10px 9px 56px;
  counter-increment: flat-pattern-step;
}

.sitePageV13 .flatPatternProcess li::before {
  position: absolute;
  top: 7px;
  left: 0;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: #126b9f;
  color: #fff;
  content: counter(flat-pattern-step);
  font-weight: 700;
}

.sitePageV13 .flatPatternProcess strong,
.sitePageV13 .flatPatternProcess span {
  display: block;
}

.sitePageV13 .flatPatternProcess strong {
  margin-bottom: 3px;
  color: #173d57;
  font-size: 16px;
}

.sitePageV13 .flatPatternProcess span {
  color: #536575;
  font-size: 14px;
  line-height: 1.65;
}

@media (max-width: 760px) {
  .sitePageV13 .flatPatternHeroImage {
    padding: 10px;
  }

  .sitePageV13 .flatPatternPair {
    grid-template-columns: minmax(0, 1fr);
  }

  .sitePageV13 .flatPatternArrow {
    padding: 12px 0 8px;
  }

  .sitePageV13 .flatPatternArrow::after {
    margin-top: 0;
    content: "↓";
  }

  .sitePageV13 .bendPrincipleGrid,
  .sitePageV13 .simulationGrid,
  .sitePageV13 .shopFloorGrid {
    grid-template-columns: minmax(0, 1fr);
  }

  .sitePageV13 .bendPrincipleDiagram {
    padding: 8px;
  }

  .sitePageV13 .bendPrincipleDiagram figcaption {
    padding: 0 8px 8px;
  }

  .sitePageV13 .conditionCards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sitePageV13 .conditionCards li:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 430px) {
  .sitePageV13 .flatPatternPair figure {
    padding: 12px;
  }

  .sitePageV13 .bendPrincipleDiagram svg {
    margin: 0 -2%;
    width: 104%;
  }

  .sitePageV13 .bendLabel {
    grid-template-columns: 70px 1fr;
    padding: 10px;
    font-size: 14px;
  }

  .sitePageV13 .conditionCards {
    grid-template-columns: minmax(0, 1fr);
  }

  .sitePageV13 .conditionCards li,
  .sitePageV13 .conditionCards li:last-child {
    grid-column: auto;
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sitePageV13 *,
  .sitePageV13 *::before,
  .sitePageV13 *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
