:root {
  --cq-ref-mobile: 375;
  --cq-ref: 1440;
  --fluid-basis-mobile: (100vw - 320px) / (375 - 320);
  --fluid-basis: (100vw - 768px) / (1440 - 768);
  --fluid-basis-2: (100vw - 1440px) / (1800 - 1440);
}

.pc-only-inline {
  display: inline;
}

@media (max-width: 767px) {
  .pc-only-inline {
    display: none;
  }
}

.sp-only-inline {
  display: none;
}

@media (max-width: 767px) {
  .sp-only-inline {
    display: inline;
  }
}

/* ===============================================
# シンプルヘッダー
=============================================== */

header.header-simple {
  background-color: #fff;
  position: relative;
  min-height: 70px;
  border-bottom: 1px solid #E9E9E9;
}

@media (max-width: 767px) {
  header.header-simple {
    min-height: 50px;
  }
}

header.header-simple .header_inner.header02 {
  min-height: 70px;
  max-width: 1440px;
  margin-inline: auto;
}

@media (max-width: 767px) {
  header.header-simple .header_inner.header02 {
    min-height: 50px;
  }
}

header.header-simple .header_inner .header_logo {
  max-width: 110px;
  margin-left: 40px;
}

@media (max-width: 767px) {
  header.header-simple .header_inner .header_logo {
    margin-left: 20px;
  }
}

header.header-simple .header_inner .header_logo a{
  display: flex;
  align-items: center;
}

/* ===============================================
# シンプルフッター
=============================================== */

footer.footer-simple {
  display: flex;
  padding: 10px 20px;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  align-self: stretch;
}

.footer-simple__text {
  color: #262739;
text-align: center;
font-family: "Hiragino Kaku Gothic Pro";
font-size: 12px;
font-weight: 500;
}

@media (max-width: 767px) {
  .footer-simple__text {
    font-size: 10px;
  }
}
/* ===============================================
# 追従CTAバナー
=============================================== */
.cta-banner {
  position: fixed;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  width: 100%;
  background-color: #00ADAA;
  border-radius: 0;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  z-index: 998;
  padding: 15px 245px 15px 20px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 36px;
  box-sizing: border-box;
}

.cta-banner.show {
  opacity: 1;
  transform: translateY(0);
}

.cta-banner__close {
  display: none;
}

.cta-banner__header {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.cta-banner__icon {
  width: 26px;
  height: 23px;
  flex-shrink: 0;
}

.cta-banner__title {
  color: #FFFFFF;
  font-family: 'YuGothic', '游ゴシック体', sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
}

.cta-banner__button {
  width: 100%;
  max-width: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 0;
  border-radius: 3px;
  background: #FFF;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25);
  color: #00ADAA;
  font-family: 'YuGothic', '游ゴシック体', sans-serif;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.5;
  text-decoration: none;
  cursor: pointer;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  position: relative;
}

.cta-banner__button:hover {
  box-shadow: none;
  transform: translateY(2px);
}

.cta-banner__arrow {
  width: 15px;
  object-fit: contain;
  position: absolute;
  right: 10px;
}

@media (max-width: 767px) {
  .cta-banner {
    width: calc(100% - 25px);
    padding: 14px 30px 13px 30px;
    bottom: 10px;
    gap: 9px;
    flex-direction: column;
  }

  .cta-banner__button {
    width: 100%;
    border-radius: 5px;
    font-size: 19px;
  }

  .cta-banner__close {
    top: 8.8px;
    right: 3.8px;
    font-size: 24px;
    display: flex;
    position: absolute;
    background: none;
    border: none;
    color: #FFFFFF;
    font-family: 'Material Symbols Outlined', sans-serif;
    line-height: 1;
    cursor: pointer;
    align-items: center;
    justify-content: center;
  }

  .cta-banner__arrow {
    width: 17px;
  }
}

/* ===============================================
# お問い合わせ：例文表示レイアウト
=============================================== */

.mw_wp_form.mw_wp_form_confirm .contact_confirm-none {
  display: none;
}


@media (max-width: 1100px) {
  #contact.contact-thanks {
    padding-top: 60px;
  }
}

/* ===============================================
# パンくずリスト
=============================================== */
.breadcrumb {
  padding-top: 20px;
  background-color: #fff;
}

.breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 7%;
  padding-right: 7%;
  box-sizing: unset;
}

.breadcrumb__item {
  display: flex;
  align-items: center;
}

.breadcrumb__link {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #060e6d;
  text-decoration: none;
  font-size: 14px;
  transition: opacity 0.3s ease;
}

.breadcrumb__link:hover {
  opacity: 1;
  text-decoration: underline;
}

.breadcrumb__icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #060e6d;
}

.breadcrumb__separator {
  display: inline-block;
  width: 6px;
  height: 9px;
  margin: 0 8px;
  background-color: #999;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  flex-shrink: 0;
}

.breadcrumb__current {
  color: #060e6d;
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .breadcrumb {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .breadcrumb__list {
    padding-left: 4%;
    padding-right: 4%;
    flex-wrap: nowrap;
    min-width: max-content;
  }

  .breadcrumb__item {
    white-space: nowrap;
  }

  .breadcrumb__link,
  .breadcrumb__current {
    font-size: 13px;
  }

  .breadcrumb__icon {
    width: 14px;
    height: 14px;
  }

  .breadcrumb__separator {
    margin: 0 6px;
    width: 5px;
    height: 6px;
  }
}

@media (max-width: 480px) {
  .breadcrumb {
    padding-top: 0;
  }

  .breadcrumb.breadcrumb--works {
    padding-bottom: 20px;
  }
}

.single_contents_wrap.single_contents_wrap--news {
  padding-top: 50px;
}

.single_inner.single_inner--news {
  padding-top: 0;
}

@media (max-width: 1024px) {
  .single_inner.single_inner--news {
    padding-right: 0;
    padding-left: 0;
  }

  .single_contents_wrap.single_contents_wrap--news {
    padding-right: 7%;
    padding-left: 7%;
  }
}

/* ===============================================
# TOC：目次レイアウト
=============================================== */

#toc_container {
  margin-bottom: 20px !important;
  padding: 10px 20px 10px 10px !important;
}

.toc_title {
  text-align: left !important;
  font-size: 24px !important;
  color: #060e6d !important;
}

.toc_toggle {
  font-size: 15px !important;
}

.toc_list {
  padding-left: 15px !important;
  display: flex;
  flex-direction: column !important;
  gap: 10px !important;
}

.toc_list li a {
  padding-left: 15px !important;
  font-size: 15px !important;
  display: block;
}

.single .single_inner .single_contents_wrap .single_body .toc_list li::before {
  width: 6px !important;
  height: 6px !important;
  top: 9px !important;
}

@media (max-width: 767px) {
  #toc_container {
    padding: 10px !important;
  }

  .toc_title {
    font-size: 20px !important;
  }

  .toc_toggle {
    font-size: 13px !important;
  }

  .toc_list {
    gap: 8px !important;
    padding-left: 10px !important;
  }

  #toc_container ul ul {
    margin-left: 1rem !important;
  }

  .toc_list li a {
    padding-left: 10px !important;
    font-size: 14px !important;
  }

  .single .single_inner .single_contents_wrap .single_body .toc_list li::before {
    top: 8px !important;
    width: 5px !important;
    height: 5px !important;
  }
}

/* ===============================================
# サービス：目次
=============================================== */

.page-anchor-nav {
  width: 100%;
  max-width: 1076px;
  margin-inline: auto;
  padding-inline: 10px;
  box-sizing: border-box;
  padding-block: 70px;
}

@media (max-width: 767px) {
  .page-anchor-nav {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-inline: 33px;
    padding-bottom: 50px;
  }
}

.page-anchor-nav__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 26px;
}

@media (max-width: 767px) {
  .page-anchor-nav__inner {
    gap: 20px;
  }
}

.page-anchor-nav__cards {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-self: stretch;
  gap: 10px;
}

@media (max-width: 767px) {
  .page-anchor-nav__cards {
    flex-direction: column;
    align-items: stretch;
  }
}

.page-anchor-nav--cols-5 .page-anchor-nav__card {
  min-width: 203px;
}

@media (max-width: 767px) {
  .page-anchor-nav--cols-5 .page-anchor-nav__card {
    min-width: 100%;
  }
}

.page-anchor-nav--cols-4 .page-anchor-nav__card {
  min-width: 256px;
}

@media (max-width: 767px) {
  .page-anchor-nav--cols-4 .page-anchor-nav__card {
    min-width: 100%;
  }
}

.page-anchor-nav__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 65px;
  padding: 10px 10px 10px 10px;
  background-color: #ffffff;
  border: 2px solid #9b9ec6;
  color: #060e6d;
  text-decoration: none;
  position: relative;
  box-sizing: border-box;
  transition: opacity 0.3s ease;
  will-change: opacity;
}

.page-anchor-nav__card:hover {
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

@media (max-width: 767px) {
  .page-anchor-nav__card {
    width: 100%;
    height: 65px;
  }
}

.page-anchor-nav__card-text {
  display: block;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.28571;
  letter-spacing: 0.04em;
  text-align: center;
  color: #060e6d;
}

.page-anchor-nav__card-text--multiline {
  margin-top: -4px;
}

@media (max-width: 767px) {
  .page-anchor-nav__card-text {
    font-size: 14px;
    line-height: 1.5;
  }

  .page-anchor-nav__card-text--multiline {
    margin-top: -4px;
  }
}

.page-anchor-nav__card-arrow {
  position: absolute;
  bottom: 6px;
  left: 50%;
  width: 6px;
  height: 6px;
  border-right: 1px solid #060e6d;
  border-top: 1px solid #060e6d;
  transform: translateX(-50%) rotate(135deg);
  transform-origin: center;
}

@media (max-width: 767px) {
  .page-anchor-nav__card-arrow {
    bottom: 6px;
  }
}

.page-anchor-nav__footer {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-self: stretch;
  gap: 10px;
}

@media (max-width: 767px) {
  .page-anchor-nav__footer {
    flex-direction: column;
    align-items: stretch;
    padding: 0 20px;
    gap: 0;
  }
}

.page-anchor-nav__footer-link {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 212px;
  padding: 0 20px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
  color: #060e6d;
  text-decoration: none;
  border-right: 1px solid #9b9ec6;
  box-sizing: border-box;
  transition: opacity 0.3s ease;
  will-change: opacity;
}

.page-anchor-nav__footer-link:hover {
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

.page-anchor-nav__footer-link:last-child {
  border-right: none;
}

@media (max-width: 767px) {
  .page-anchor-nav__footer-link {
    width: auto;
    align-self: stretch;
    padding: 15px 20px;
    border-right: none;
    border-bottom: 1px solid #9b9ec6;
  }

  .page-anchor-nav__footer-link:last-child {
    border-bottom: none;
  }
}

/* ===============================================
# お問い合わせ：レイアウト変更：2026/03
=============================================== */

.contact {
  padding-block: 70px;
  padding-inline: 2%;
}

@media (max-width: 767px) {
  .contact {
    padding-block: 50px;
    padding-inline: 5%;
  }
}


.contact_content {
  display: grid;
  grid-template-columns: 400fr 573fr;
  gap: min(80px, calc(80 * 100 / var(--cq-ref) * 1cqw));
  max-width: 1053px;
  margin-inline: auto;
}

@media (max-width: 1023px) {
  .contact_content {
    grid-template-columns: 1fr;
  }
}

#contact .title_type01.title_type01--contact {
  margin-top: 0;
  padding-top: 0;
}

.title_type01.title_type01--contact p .title_type01_title {
 font-size: 36px;
 letter-spacing: .001em;
 font-weight: 700;
 text-align: left;
 line-height: 1.3;
}

@media (max-width: 767px) {

  .title_type01.title_type01--contact p .title_type01_title {
    font-size:29px;
  }
}

.contact_content_left {
  min-width: 400px;
}

@media (max-width: 1023px) {
  .contact_content_left {
    min-width: 100%;
  }
}

.contact_content_right {
  border: 1px solid #E9E9E9;
background: #F9F9F9;
}

.contact-aside {
  display: flex;
  flex-direction: column;
  gap: 50px;
  max-width: 400px;
  margin-top: 70px;
  font-family: azo-sans-web, sans-serif;
}

@media (max-width: 767px) {
  .contact-aside {
    max-width: 100%;
    margin-top: 30px;
  }
}

.contact-aside__intro {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.contact-aside__lead {
  margin: 0;
  color: #262739;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.67;
  letter-spacing: 0.04em;
}

@media (max-width: 767px) {
  .contact-aside__lead {
    font-size: 16px;
  }
}

.contact-aside__body {
  margin: 0;
  color: #262739;
  font-weight: 400;
  font-size: 14px;
  line-height: 2.14;
  letter-spacing: 0.04em;
}

@media (max-width: 767px) {
  .contact-aside__body {
    line-height: 2;
  }
}

.contact-aside__section {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media (max-width: 1023px) {
  .contact-aside__section {
    display: none;
  }
}

.contact-aside__section-title {
  margin: 0;
  padding: 0 0 10px;
  border-bottom: 1px solid #e9e9e9;
  color: #262739;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.33;
  letter-spacing: 0.04em;
}

.contact-aside__logos {
  display: grid;
  grid-template-columns: repeat(3, 85px);
  justify-content: center;
  gap: 24px 63px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #ffffff;
  box-sizing: border-box;
}

.contact-aside__logo-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 85px;
}

.contact-aside__logo {
  display: block;
  width: 100%;
  max-width: 85px;
  height: auto;
  object-fit: contain;
}

.contact-aside__awards {
  margin: 0;
  color: #262739;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

.contact-aside__awards {
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.contact-aside__awards li {
  position: relative;
  padding-left: 16px; /* ドット分の余白 */
  margin: 0;
}

.contact-aside__awards li::before {
  content: "";
  width: 3px;
  aspect-ratio: 1/1;
  border-radius: calc(infinity * 1px);
  background: #000;
  position: absolute;
  left: 5px;
  top: 1.1ch;
}

.contact-aside__footnote {
  margin: 0;
  color: #262739;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

@media (max-width: 1023px) {
  .contact-aside__footnote {
    display: none;
  }
}

/* ---------- フォーム ---------- */
.contact_box03 {
  background: #F9F9F9;
  margin-top: 0;
  padding: 45px 50px 30px 50px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .contact_box03 {
    padding: 25px 15px 15px 15px;
  }
}

.contact_box03 dl {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}

.contact_box03 .contact_box03__row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  margin-bottom: 30px;
}

.contact_box03 .contact_box03__row > p {
  display: none;
}

.contact_box03 .contact_box03__row > dt {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px 12px;
  width: 100%;
  min-width: 0;
}

.contact_box03 .contact_box03__row > dd {
  width: 100%;
  min-width: 0;
}

.contact_box03 dl dd > p:empty {
  display: none;
}

.contact_box03 dl dd p.contact_smalltext {
  margin: 8px 0 0;
}

.contact_box03 dl dt {
  margin: 0;
  font-family: azo-sans-web, sans-serif;
  color: #060E6D;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.35;
  box-sizing: border-box;
}

.contact_box03 dl dd {
  margin: 0;
  padding: 0 0 0 2px;
  box-sizing: border-box;
}

.contact_box03 dl dt .required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 17px;
  margin-left: auto;
  flex-shrink: 0;
  border-radius: 2px;
  background: #D61D1C;
  color: #FFFFFF;
  font-family: azo-sans-web, sans-serif;
  font-weight: 400;
  font-size: 11px;
  line-height: 1;
}

.contact_box03 dl dt .contact_smalltext {
  display: block;
  flex-basis: 100%;
  width: 100%;
  font-size: 13px;
  font-weight: 400;
  color: #060E6D;
}

.contact_box03 dl dd input.contact_textbox,
.contact_box03 dl dd select,
.contact_box03 dl dd textarea,
.contact_box03 dl dd input[type="email"],
.contact_box03 dl dd input[type="text"],
.contact_box03 dl dd input[type="url"],
.contact_box03 dl dd input[type="tel"] {
  width: 100%;
  height: 44px;
  padding: 0 15px;
  box-sizing: border-box;
  border: 1px solid #CBD6E2;
  border-radius: 5px;
  background: #F5F8FA;
  box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.05);
  color: #000;
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5;
  outline: none;
}

.contact_box03 dl dd textarea {
  height: auto;
  min-height: 168px;
  padding: 15px;
  line-height: 1.6;
  resize: vertical;
}

@media (max-width: 768px) {
  .contact_box03 dl dd textarea {
    min-height: 180px;
  }
}

.contact_box03 dl dd input::placeholder,
.contact_box03 dl dd textarea::placeholder {
  color: #C1C1C1;
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5;
}

.contact_box03 dl dd select {
  display: block;
  width: 100%;
  max-width: 100%;
  appearance: none;
  padding-right: 40px;
  /* 下矢印は linear-gradient ではなく dd::after + clip-path（にじみ防止） */
}

/* select は疑似要素不可のため、直下に select がある dd に三角を重ねる */
.contact_box03 dl dd:has(> select) {
  position: relative;
}

.contact_box03 dl dd:has(> select)::after {
  content: "";
  position: absolute;
  right: 18px;
  /* height:44px の select の縦中央（先頭が select の想定） */
  top: calc((44px - 6px) / 2);
  width: 14px;
  height: 8px;
  background: #060E6D;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  -webkit-clip-path: polygon(0 0, 100% 0%, 50% 100%);
  pointer-events: none;
  z-index: 1;
}

.contact_box03 dl dd.contact_confirm-none {
  width: 100%;
  max-width: 100%;
  align-self: stretch;
}

.contact_box03 dl dd.contact_confirm-none > select {
  width: 100%;
  max-width: 100%;
}

.contact_box03 .contact_box03__row:nth-of-type(6) > dd {
  width: 100%;
  max-width: 100%;
  align-self: stretch;
}

.contact_box03 .contact_box03__row:nth-of-type(6) > dd > select {
  width: 100%;
  max-width: 100%;
}

.contact_box03 input.contact_checkbox {
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin: 0;
  box-sizing: border-box;
  border: 2px solid #CBD6E2;
  border-radius: 2px;
  background: #fff;
  cursor: pointer;
  accent-color: transparent;
  vertical-align: middle;
  position: relative;
}

.contact_box03 input.contact_checkbox:checked {
  background-color: #060E6D;
  border-color: #060E6D;
}

.contact_box03 input.contact_checkbox:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 0.5px;
  width: 6px;
  height: 10px;
  box-sizing: border-box;
  border: solid #FFFFFF;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  pointer-events: none;
}

.contact_box03 input.contact_checkbox:focus-visible {
  outline: 2px solid rgba(6, 14, 109, 0.35);
  outline-offset: 2px;
}

.contact_box03 .mwform-checkbox-field .mwform-checkbox-field-text {
  font-family: azo-sans-web, sans-serif;
  color: #262739;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

.contact_box03 .contact_box02_flex {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}

.contact_box03 .contact_box02_flex .horizontal-item,
.contact_box03 .contact_box02_flex .mwform-checkbox-field {
  width: 100%;
  max-width: 100%;
  margin-right: 0;
}

.contact_box03 .contact_box02_flex label {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 0;
  margin-right: 0;
}

.contact_box03 .contact_button {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}

@media (max-width: 768px) {
  .contact_box03 .contact_button {
    margin-top: 25px;
  }
}

.contact_box03 .contact_button input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 5px;
  background: #060E6D;
  color: #FFFFFF;
  padding: 10px 30px;
  font-family: azo-sans-web, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  cursor: pointer;
  width: 100%;
}

@media (max-width: 768px) {
  .contact_box03 .contact_button input[type="submit"] {
    font-size: 16px;
  }
}

/* Figma node-id=136-229：プライバシーポリシー同意（1行チェック） */
.contact_box03 .contact_poricy_check {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 0 0 0 2px;
  margin-inline: auto;
  box-sizing: border-box;
  gap: 0;
}

@media (max-width: 768px) {
  .contact_box03 .contact_poricy_check {
    margin-top: 24px;
    padding-left: 0;
  }
}

.contact_box03 .contact_poricy_check .mwform-checkbox-field.horizontal-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 30px;
  border-radius: 5px;
  border: 1px solid #CBD6E2;
  background: #FFF;
}

.contact_box03 .contact_poricy_check label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  cursor: pointer;
}



.contact_box03 .contact_poricy_check .mwform-checkbox-field-text {
  font-family: azo-sans-web, sans-serif;
  color: #262739;
font-size: 12px;
font-style: normal;
font-weight: 700;
line-height: 160%;
letter-spacing: 0.48px;
}

.contact_box03 .contact_poricy_check .mwform-checkbox-field-text a {
  color: #262739;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}

.contact_box03 .contact_poricy_check .mwform-checkbox-field-text a:hover {
  opacity: 0.82;
}

.contact_box03 .contact_poricy_check .mwform-checkbox-field-text a:focus-visible {
  outline: 2px solid rgba(6, 14, 109, 0.35);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ---------- 確認画面 ---------- */

.contact-confirm {
  padding-block: 60px;
}

#contact .contact-confirm .title_type01 {
  margin-top: 0;
  padding-top: 0;
}

@media (max-width: 768px) {
  #contact .contact-confirm .title_type01 {
    font-size: 28px;
  }
}

.contact-confirm .contact_confirm_notcompleted {
  max-width: 800px;
    text-align: center;
    margin-inline: auto;
    width: 95%;
}

@media (max-width: 768px) {
  .contact-confirm .contact_confirm_notcompleted {
    padding: 15px;
  }

  .contact-confirm .contact_confirm_notcompleted p {
    font-size: 16px;
  }
}

.contact-confirm .mw_wp_form_confirm {
  max-width: 800px;
  margin-inline: auto;
  margin-top: 40px;
  padding-inline: 15px;
}

.contact-confirm .contact_box03 dl dt .required {
display: none;
}

.contact-confirm .contact_box03 .contact_button {
  margin-top: 50px;
}

.contact-confirm .contact_box03 .contact_button input[type="submit"] {
  max-width: 350px;
  padding-block: 30px;
}

/* ===============================================
# SOLIDWORKS 自動設計システム構築支援ページ
=============================================== */

#solidworks {
  letter-spacing: 0.01em;
}

#solidworks .underlayer_main.add2025_style {
  background-image: url(../../assets/img/bisiness/bisiness02_main.jpg);
  background-position: center;
}

#solidworks .sw_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 300px;
  max-width: 100%;
  padding: 14px 24px;
  border-radius: 100px;
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-align: center;
  transition: 0.3s;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  #solidworks .sw_btn {
    box-sizing: border-box;
    width: 100%;
    max-width: 340px;
  }
}

#solidworks .sw_btn_fill {
  background-color: #060e6d;
  border: 1px solid transparent;
  color: #fff;
}

#solidworks .sw_btn_line {
  border: 1px solid #060e6d;
  color: #262739;
}

@media (any-hover: hover) {
  #solidworks .sw_btn_fill:hover {
    background-color: transparent;
    border-color: #060e6d;
    color: #262739;
  }
  #solidworks .sw_btn_line:hover {
    background-color: #060e6d;
    color: #fff;
  }
}

.sw_intro {
  background-color: #fff;
  padding-block: 70px 60px;
}

@media (max-width: 767px) {
  .sw_intro {
    padding-block: 40px;
  }
}

.sw_intro_inner {
  max-width: 1145px;
  margin-inline: auto;
  padding-inline: 7%;
}

.sw_intro_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.sw_intro_subttl {
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  color: #060e6d;
  text-align: center;
}

@media (max-width: 767px) {
  .sw_intro_subttl {
    font-size: 18px;
  }
}

.sw_intro_dot {
  display: inline-flex;
}

.sw_intro_dot span {
  display: block;
  width: 10px;
  height: 10px;
}

.sw_intro_dot span:nth-child(1) {
  background-color: #060e6d;
}

.sw_intro_dot span:nth-child(2) {
  background-color: #00adaa;
}

.sw_intro_lead {
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  color: #262739;
  text-align: center;
}

.sw_intro_btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 36px;
}

@media (max-width: 767px) {
  .sw_intro_btns {
    flex-direction: column;
  }
}

.sw_intro_flow {
  margin-top: 40px;
}

.sw_intro_flow_list {
  display: flex;
}

@media (max-width: 767px) {
  .sw_intro_flow_list {
    flex-direction: column;
  }
}

.sw_step {
  position: relative;
  flex: 1;
  padding: 18px 21px;
  border: 1px solid #d4d5e3;
  border-right: 0;
  text-align: center;
}

@media (max-width: 767px) {
  .sw_step {
    border: 1px solid #d4d5e3;
    border-bottom: 0;
    padding: 16px;
  }
}

.sw_step:last-child {
  border-right: 1px solid #d4d5e3;
}

@media (max-width: 767px) {
  .sw_step:last-child {
    border-bottom: 1px solid #d4d5e3;
  }
}

.sw_step_num {
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #00adaa;
}

.sw_step_label {
  margin-top: 8px;
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #262739;
}

.sw_step_arrow {
  position: absolute;
  top: 50%;
  right: -11px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  background-color: #fff;
  z-index: 1;
}

.sw_step_arrow img {
  display: block;
  width: 14px;
  height: 14px;
}

@media (max-width: 767px) {
  .sw_step_arrow {
    top: auto;
    right: auto;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}

.sw_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.sw_head_ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 11px;
}

.sw_head_label {
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.18em;
  color: #00adaa;
  text-transform: uppercase;
  text-align: center;
}

.sw_head_heading {
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  color: #060e6d;
  text-align: center;
}

@media (max-width: 767px) {
  .sw_head_heading {
    font-size: 18px;
  }
}

.sw_dot {
  display: inline-flex;
}

.sw_dot span {
  display: block;
  width: 10px;
  height: 10px;
}

.sw_dot span:nth-child(1) {
  background-color: #060e6d;
}

.sw_dot span:nth-child(2) {
  background-color: #00adaa;
}

.sw_head_lead {
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  color: #262739;
  text-align: center;
}

.sw_challenge_sec {
  background-color: #f1f2f4;
  padding-block: 70px 60px;
}

@media (max-width: 767px) {
  .sw_challenge_sec {
    padding-block: 40px;
  }
}

.sw_challenge_sec_inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 7%;
}

.sw_challenge_inner {
  margin-top: 40px;
}

@media (max-width: 767px) {
  .sw_challenge_inner {
    padding-inline: 0;
  }
}

.sw_challenge {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background-color: rgba(6, 14, 109, 0.17);
  border: 1px solid rgba(6, 14, 109, 0.17);
}

@media (max-width: 767px) {
  .sw_challenge {
    grid-template-columns: 1fr;
  }
}

.sw_challenge_item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px;
  background-color: #fff;
}

@media (max-width: 767px) {
  .sw_challenge_item {
    padding: 16px;
  }
}

.sw_challenge_check {
  flex-shrink: 0;
  position: relative;
  width: 20px;
  height: 20px;
  background-color: #00adaa;
}

.sw_challenge_check::after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  width: 5px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}

.sw_challenge_text {
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  color: rgba(38, 39, 57, 0.7);
}

.sw_solution_sec {
  padding-block: 65px 60px;
}

@media (max-width: 767px) {
  .sw_solution_sec {
    padding-block: 40px;
  }
}

.sw_solution_sec_inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 7%;
}

.sw_solution_inner {
  max-width: 1200px;
  margin-inline: auto;
  margin-top: 40px;
  padding-inline: 28px;
}

@media (max-width: 767px) {
  .sw_solution_inner {
    padding-inline: 0;
  }
}

.sw_solution_list {
  display: flex;
  align-items: stretch;
  gap: 16px;
}

@media (max-width: 767px) {
  .sw_solution_list {
    flex-direction: column;
    gap: 12px;
  }
}

.sw_solution_card {
  flex: 1;
  padding: 26px 24px 24px;
  background-color: #f1f2f4;
  border-top: 2px solid #00adaa;
}

.sw_solution_step {
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  color: #060e6d;
}

.sw_solution_ttl {
  margin-top: 10px;
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.5;
  color: #060e6d;
}

.sw_solution_text {
  margin-top: 8px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  color: #575862;
}

.sw_arch_sec {
  background-color: #f1f2f4;
  padding-block: 70px 60px;
}

@media (max-width: 767px) {
  .sw_arch_sec {
    padding-block: 40px;
  }
}

.sw_arch_sec_inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 7%;
}

.sw_arch_list {
  display: flex;
  flex-direction: column;
  max-width: 900px;
  margin-inline: auto;
  margin-top: 40px;
}

.sw_arch_card {
  display: flex;
  align-items: stretch;
  min-height: 96px;
  background-color: #fff;
  border: 1px solid rgba(6, 14, 109, 0.17);
}

@media (max-width: 767px) {
  .sw_arch_card {
    flex-direction: column;
  }
}

.sw_arch_card_wide {
  min-height: 120px;
}

.sw_arch_card_label {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 150px;
  padding: 24px;
  background-color: #060e6d;
}

@media (max-width: 767px) {
  .sw_arch_card_label {
    box-sizing: border-box;
    min-width: 100%;
    padding: 16px;
  }
}

.sw_arch_card_layer {
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #00adaa;
}

.sw_arch_card_name {
  margin-top: 4px;
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  word-break: keep-all;
}

.sw_arch_card_body {
  flex: 1;
  align-self: center;
  padding-inline: 24px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  color: #262739;
}

@media (max-width: 767px) {
  .sw_arch_card_body {
    padding: 16px;
  }
}

.sw_arch_conn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
}

.sw_arch_conn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 5px;
  left: 50%;
  width: 1px;
  background-color: #00adaa;
  transform: translateX(-50%);
}

.sw_arch_conn::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-right: 4.5px solid transparent;
  border-left: 4.5px solid transparent;
  border-top: 6px solid #00adaa;
  transform: translateX(-50%);
}

.sw_arch_conn_label {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 270px;
  max-width: 100%;
  min-height: 22px;
  padding: 1px 12px;
  background-color: #00adaa;
  border-radius: 3px;
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 11px;
  font-weight: 500;
  text-align: center;
  color: #fff;
}

@media (max-width: 767px) {
  .sw_arch_conn_label {
    width: 220px;
  }
}

.sw_scope_sec {
  background-color: #fff;
  padding-block: 60px;
}

@media (max-width: 767px) {
  .sw_scope_sec {
    padding-block: 40px;
  }
}

.sw_scope_sec_inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 7%;
}

.sw_scope {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  max-width: 900px;
  margin-inline: auto;
  margin-top: 40px;
  background-color: rgba(6, 14, 109, 0.17);
  border: 1px solid rgba(6, 14, 109, 0.17);
}

@media (max-width: 767px) {
  .sw_scope {
    grid-template-columns: 1fr;
  }
}

.sw_scope_item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px;
  background-color: #f1f2f4;
}

@media (max-width: 767px) {
  .sw_scope_item {
    padding: 16px;
  }
}

.sw_scope_num {
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  color: #00adaa;
}

.sw_scope_label {
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: #262739;
}

.sw_approach_sec {
  background-color: #f1f2f4;
  padding-block: 70px 60px;
}

@media (max-width: 767px) {
  .sw_approach_sec {
    padding-block: 40px;
  }
}

.sw_approach_sec_inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 7%;
}

.sw_approach_list {
  display: flex;
  align-items: stretch;
  gap: 20px;
  max-width: 1140px;
  margin-inline: auto;
  margin-top: 40px;
}

@media (max-width: 767px) {
  .sw_approach_list {
    flex-direction: column;
    gap: 16px;
  }
}

.sw_approach_card {
  flex: 1;
  padding: 32px;
}

@media (max-width: 767px) {
  .sw_approach_card {
    padding: 24px;
  }
}

.sw_approach_card_def {
  padding: 33px 33px 28px 33px;
  background-color: #fff;
  border: 1px solid rgba(6, 14, 109, 0.17);
}

@media (max-width: 767px) {
  .sw_approach_card_def {
    padding: 24px;
  }
}

.sw_approach_card_off {
  background-color: #060e6d;
}

.sw_approach_label {
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #00adaa;
}

.sw_approach_ttl {
  margin-top: 14px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.5;
  color: #262739;
}

.sw_approach_card_off .sw_approach_ttl {
  color: #fff;
}

.sw_approach_text {
  margin-top: 12px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.01em;
  color: #575862;
}

.sw_approach_card_off .sw_approach_text {
  color: #fff;
}

.sw_approach_note {
  margin-top: 24px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  color: #575862;
  text-align: center;
}

.sw_target_sec {
  background-color: #fff;
  padding-block: 70px 35px;
}

@media (max-width: 767px) {
  .sw_target_sec {
    padding-block: 40px;
  }
}

.sw_target_sec_inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 7%;
}

.sw_target_list {
  max-width: 1000px;
  margin-inline: auto;
  margin-top: 40px;
}

.sw_target_row {
  display: flex;
  align-items: flex-start;
  gap: 36px;
  padding: 20px;
  border-top: 1px solid #d4d5e3;
  border-bottom: 1px solid #d4d5e3;
  margin-bottom: -1px;
}

@media (max-width: 767px) {
  .sw_target_row {
    flex-direction: column;
    gap: 10px;
    padding: 16px;
  }
}

.sw_target_badge {
  flex-shrink: 0;
  width: 150px;
  padding-block: 4px;
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
}

@media (max-width: 767px) {
  .sw_target_badge {
    width: fit-content;
    padding-inline: 12px;
  }
}

.sw_target_badge_1 {
  background-color: #060e6d;
}

.sw_target_badge_2 {
  background-color: #262739;
}

.sw_target_badge_3 {
  background-color: rgba(38, 39, 57, 0.6);
}

.sw_target_text {
  padding-top: 2px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.01em;
  color: #262739;
}

.sw_impact_sec {
  background-color: #f1f2f4;
  padding-block: 70px 60px;
}

@media (max-width: 767px) {
  .sw_impact_sec {
    padding-block: 40px;
  }
}

.sw_impact_sec_inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 7%;
}

.sw_impact_scroll {
  max-width: 1000px;
  margin-inline: auto;
  margin-top: 40px;
  overflow-x: auto;
}

@media (max-width: 1162px) {
  .sw_impact_scroll {
    margin-right: -8.13%;
  }
}

.sw_impact_table {
  min-width: 1000px;
  table-layout: fixed;
  border-collapse: collapse;
  border: 1px solid rgba(6, 14, 109, 0.17);
}

@media (max-width: 767px) {
  .sw_impact_table {
    min-width: 780px;
  }
}

.sw_impact_table th,
.sw_impact_table td {
  box-sizing: border-box;
  padding: 13.5px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}

.sw_impact_table thead th:nth-child(1) {
  width: 213px;
}

.sw_impact_table thead th:nth-child(2) {
  width: 410px;
}

.sw_impact_table thead th:nth-child(3) {
  width: 376px;
}

.sw_impact_table thead th {
  background-color: #060e6d;
  color: #fff;
  font-weight: 700;
  border: 1px solid #d4d5e3;
}

.sw_impact_table tbody th {
  background-color: rgba(212, 213, 227, 0.1);
  color: #262739;
  font-weight: 500;
  border-top: 1px solid #d4d5e3;
}

.sw_impact_table tbody td {
  background-color: #fff;
  color: #575862;
  font-weight: 500;
  border-top: 1px solid #d4d5e3;
}

.sw_impact_table tbody td.sw_impact_after {
  color: #060e6d;
  font-weight: 700;
}

.sw_impact_note {
  margin-top: 24px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  color: #575862;
  text-align: center;
}

.sw_why_sec {
  background-color: #fff;
  padding-block: 70px 60px;
}

@media (max-width: 767px) {
  .sw_why_sec {
    padding-block: 40px;
  }
}

.sw_why_sec_inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 7%;
}

.sw_why_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  max-width: 1140px;
  margin-inline: auto;
  margin-top: 40px;
  background-color: #d4d5e3;
  border: 1px solid #d4d5e3;
}

@media (max-width: 767px) {
  .sw_why_grid {
    grid-template-columns: 1fr;
  }
}

.sw_why_item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  background-color: #fff;
}

@media (max-width: 767px) {
  .sw_why_item {
    padding: 16px;
  }
}

.sw_why_num {
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  color: #00adaa;
}

.sw_why_text {
  margin-top: 8px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  color: #262739;
}

.sw_case_sec {
  background-color: #f1f2f4;
  padding-block: 70px 60px;
}

@media (max-width: 767px) {
  .sw_case_sec {
    padding-block: 40px;
  }
}

.sw_case_sec_inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 7%;
}

.sw_case_list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 900px;
  margin-inline: auto;
  margin-top: 40px;
}

.sw_case_card {
  background-color: #fff;
}

.sw_case_card1 {
  padding: 36px 36px 30px 39px;
  border-left: 3px solid #00adaa;
}

@media (max-width: 767px) {
  .sw_case_card1 {
    padding: 24px;
  }
}

.sw_case_card2 {
  padding: 26px 41px;
  border: 1px solid #d4d5e3;
  text-align: center;
}

@media (max-width: 767px) {
  .sw_case_card2 {
    padding: 24px;
  }
}

.sw_case_subttl {
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: #060e6d;
}

.sw_case_text {
  margin-top: 14px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
  color: rgba(38, 39, 57, 0.7);
}

.sw_case_compare {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin-top: 16px;
}

.sw_case_old {
  font-size: 15px;
  color: rgba(38, 39, 57, 0.6);
  text-decoration: line-through;
}

.sw_case_arrow {
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 16px;
  color: #00adaa;
}

.sw_case_new {
  font-size: 14px;
  color: rgba(38, 39, 57, 0.6);
}

.sw_case_new strong {
  margin-right: 2px;
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #060e6d;
}

@media (max-width: 767px) {
  .sw_case_new strong {
    font-size: 26px;
  }
}

.sw_case_note {
  margin-top: 16px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  color: rgba(38, 39, 57, 0.6);
}

.sw_case_card2_ttl {
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: #060e6d;
}

.sw_case_card2_text {
  max-width: 720px;
  margin-top: 10px;
  margin-inline: auto;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: rgba(38, 39, 57, 0.7);
}

.sw_steps_sec {
  background-color: #fff;
  padding-block: 65px 60px;
}

@media (max-width: 767px) {
  .sw_steps_sec {
    padding-block: 40px;
  }
}

.sw_steps_sec_inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 7%;
}

.sw_steps_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  max-width: 1140px;
  margin-inline: auto;
  margin-top: 40px;
  background-color: rgba(6, 14, 109, 0.17);
  border: 1px solid rgba(6, 14, 109, 0.17);
  border-right-color: #d4d5e3;
}

@media (max-width: 767px) {
  .sw_steps_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.sw_steps_card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 21px 15px 21px 16px;
  background-color: #fff;
}

.sw_steps_num {
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #00adaa;
}

.sw_steps_ttl {
  margin-top: 8px;
  font-family: "Inter", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: #262739;
}

.sw_steps_text {
  margin-top: 6px;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: -0.02em;
  color: rgba(38, 39, 57, 0.6);
}

.sw_faq_sec {
  background-color: #f1f2f4;
  padding-block: 70px 60px;
}

@media (max-width: 767px) {
  .sw_faq_sec {
    padding-block: 40px;
  }
}

.sw_faq_sec_inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 7%;
}

.sw_faq {
  max-width: 800px;
  margin-inline: auto;
  margin-top: 32px;
}

.sw_faq dt {
  display: flex;
  align-items: center;
  gap: 17px;
  padding: 16px 19px;
  border-top: 1px solid #d4d5e3;
  border-bottom: 1px solid #d4d5e3;
  margin-bottom: -1px;
  cursor: pointer;
}

@media (max-width: 767px) {
  .sw_faq dt {
    padding: 14px 4px;
    gap: 12px;
  }
}

.sw_faq_q {
  flex-shrink: 0;
  font-family: "Oswald", sans-serif;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
  color: #060e6d;
}

.sw_faq dt p {
  flex: 1;
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: #262739;
}

.sw_faq dt::after {
  content: "+";
  flex-shrink: 0;
  font-family: "Inter", sans-serif;
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  color: #00adaa;
}

.sw_faq dt.faq_box_open::after {
  content: "−";
}

.sw_faq dd {
  display: none;
  position: relative;
  padding: 4px 19px 20px 48px;
}

@media (max-width: 767px) {
  .sw_faq dd {
    padding-left: 36px;
  }
}

.sw_faq_a {
  position: absolute;
  top: 4px;
  left: 19px;
  font-family: "Oswald", sans-serif;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
  color: #00adaa;
}

.sw_faq dd p {
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  color: #262739;
}

.add2025_style .parts_add_bannerbox .innerbox .textbox .flexbox a.boxleft,
.add2025_style .parts_add_bannerboxwide .innerbox .textbox .flexbox a.boxleft,
.add2025_style .parts_add_bannerboxwide_select .innerbox .textbox .flexbox a.boxleft {
  z-index: 0;
  color: #fff;
}

.add2025_style .parts_add_bannerbox .innerbox .textbox .flexbox a.boxleft::before,
.add2025_style .parts_add_bannerboxwide .innerbox .textbox .flexbox a.boxleft::before,
.add2025_style .parts_add_bannerboxwide_select .innerbox .textbox .flexbox a.boxleft::before {
  z-index: -1;
}

#solidworks .parts_add_bannerboxwide_design-support .sw_cta_ttl {
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  margin-top: 38px;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  #solidworks .parts_add_bannerboxwide_design-support .sw_cta_ttl {
    font-size: 18px;
  }
}

#solidworks .parts_add_bannerboxwide_design-support .sw_cta_text {
  font-family: "Yu Gothic", "YuGothic", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  margin-bottom: 31px;
}