/*************************
  wrapper & container
************************/
:root {
  --text-color: #333333;
  --cv-primary: #1A59B8;
  --cv-secondary: #0F3E85;
  --border-primary: #B0B6BF;
  --body-secondary: #595757;
  --border-secondary: #C7CED9;
  --crimson: #b8193f;
  --fw-regular: 400;
  --fw-middle: 500;
  --fw-bold: 700;

  /* p-plan-table調整：既存テーブルのgapを全て1pxにした状態を前提に */
  /* --p-plan-table-col-1-width: 178px; */
  /* --p-plan-table-col-2-width: 252px; */
  /* --p-plan-table-col-right-3-width: 195px; */
  /* --p-plan-table-gap: 1px; */

  /* 178px + 1px + 252px */
  /* --p-plan-table-left-cols-width: 431px; */

  /* 195px + 1px + 195px + 1px + 195px */
  /* --p-plan-table-right-cols-width: 587px; */

  /* 431px + 1px + 587px */
  /* --p-plan-table-all-width: 1019px; */
}

html {
  scroll-padding-top: 100px;

  &:has(.header-new-center) {
    scroll-padding-top: 160px;
  }
}

p,
h2,
h3,
h4,
h5 {
  margin: 0;
}

header {
  position: relative;
  z-index: 10;
}

.new-page-heading {
  color: var(--cv-secondary);
  font-size: 40px;
  line-height: 1.4;
  position: relative;
  margin-bottom: 48px;
  font-weight: var(--fw-bold);
  text-align: left;

  &::before {
    position: absolute;
    content: "";
    left: 0;
    top: -8px;
    width: 40px;
    height: 2px;
    background-color: var(--cv-secondary);
  }

  &.new-page-heading--mb-middle {
    margin-bottom: 32px;
  }

  &.new-page-heading--mb-short {
    margin-bottom: 24px;
  }

  &.new-page-heading--center {
    text-align: center;

    &::before {
      top: auto;
      bottom: -20px;
      left: 50%;
      transform: translateX(-50%);
    }
  }
}

.new-page-container {
  width: calc(100% - (72px * 2));
  margin: 0 auto;
  position: relative;

  &:is(.hasForm *) {
    width: calc(100% - (48px * 2));
  }

  a {
    &:hover {
      text-decoration: none;
    }
  }
}

.new-page-title__wrapper {
  background-color: var(--cv-primary);
}

.new-page-main-title {
  display: block;
  position: relative;
  width: calc(100% - (72px * 2));
  font-size: 48px;
  font-weight: var(--fw-bold);
  color: var(--text-color);
  line-height: 1.4;
  padding: 24px 0;
  z-index: 1;
  margin-inline: auto;
  color: #ffffff;

  &:is(.hasForm *) {
    width: calc(100% - (48px * 2));
  }
}

.new-page-wrapper {
  display: grid;
  grid-template-columns: 1fr 350px;
  align-items: start;
}

.new-page-contents {
  font-feature-settings: 'palt' on;

  &.center-head {
    padding-top: 143px;
  }

  &.left-head {
    padding-top: 73px;
  }
}

.new-page-2column {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

.new-page-3column {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.new-page-block {
  margin-top: 104px;

  &.new-page-block--noheading {
    margin-top: 96px;
  }

  &.new-page-block--nomargin {
    margin-top: 0px;
  }

  &.new-page-block--top {
    margin-top: 48px;
  }

  &.new-page-block--partner {
    margin-bottom: 64px;
  }
}

.new-page-footer {

  &.footer-hasForm {
    width: calc(100% - 350px);
  }

  .l-container {
    width: calc(100% - (72px * 2));

    &:is(.footer-hasForm *) {
      width: calc(100% - (48px * 2));
    }
  }

  .l-footer_link_item {
    a {
      font-size: 12px;
    }
  }

  .l-footer_sitemap {
    @media screen and (max-width: 1280px) {
      display: block;
    }
  }

  .l-footer_sitemap_list {
    @media screen and (max-width: 1280px) {
      margin-top: 32px;
    }
  }

  .l-footer_sitemap_other_list {
    @media screen and (max-width: 1280px) {
      margin-top: 32px;
    }
  }

  .l-footer_sitemap_lv2 {
    margin-right: 0;
    margin-left: 60px;

    @media screen and (max-width: 1280px) {
      margin-left: 0px;
      margin-right: 0;
    }
  }
}

/*****************
  utility
****************/

.d-none{
  display: none !important;
}

.new-page-fullsize {
  width: 100%;
}

.new-page-detail-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  gap: 4px;
  padding: 8px 24px 10px;
  border: solid 2px var(--cv-secondary);
  border-radius: 8px;
  margin: 0 0 0 auto;
  text-decoration: none;
  transition: opacity 0.3s;
  color: var(--cv-secondary);
  font-size: 16px;
  line-height: 1.5;
  font-weight: var(--fw-middle);
  position: relative;
  gap: 10px;

  &::after {
    content: "";
    display: block;
    width: 8px;
    height: 12px;
    background: var(--cv-secondary);
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    transform: translateY(1px);
  }

  &:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}


.new-page-container {
  .pc-hide {
    display: none !important;
  }

  .d-inline-block {
    display: inline-block !important;
  }

  .text-lg {
    font-size: 35px;
  }

  .alC {
    text-align: center !important;
  }

  .new-page-flex {
    display: flex;
  }

  .new-page-flex--reverse {
    flex-direction: row-reverse;
  }

  .row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
  }

  .new-page-lower-container--large {
    margin-top: 64px;
  }

  .new-page-lower-container--semi-large {
    margin-top: 54px;
  }

  .new-page-lower-container--middle {
    margin-top: 40px;
  }

  .new-page-lower-container--short {
    margin-top: 24px;
  }

  .new-page-lower-container--extrashort {
    margin-top: 16px;
  }

  .new-page-lower-bottom--extrashort {
    margin-top: 16px;
  }

  .pc-full-section {
    position: relative;
    width: calc(100% + (72px * 2));
    left: -72px;

    &:is(.hasForm *) {
      width: calc(100% + (48px * 2));
      left: -48px;
    }
  }

  .c-media,
  .c-media--small {
    margin-top: 0;
  }

  .eps-image-container {
    margin-top: 40px;
  }
}

.new-page-card--flex {
  display: flex;
  gap: 24px;

  &.new-page-card--flex--reverse {
    flex-direction: row-reverse;
  }

  p,
  ul,
  li {
    font-size: 16px;
    font-weight: var(--fw-middle);
  }
}

.p-pagetop.p-pagetop-hasform{
  right: 390px;
}

/*****************
  card
****************/
.new-page-card--flex--reverse {
  flex-direction: row-reverse;
}

.new-page-card {
  padding: 16px 16px 20px;
  border-radius: 8px;
  border: solid 1px var(--border-primary);

  &.card--flow {
    margin-top: 16px;
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 32px 48px 48px;
  }

  .new-page-card__image {
    text-align: center;
    margin-bottom: 16px;
    width: auto;
    height: 107px;

    img {
      width: 100%;
      height: 100%;
    }
  }

  .new-page-card__title {
    font-size: 24px;
    font-weight: var(--fw-bold);
    line-height: 1.4;
    text-align: center;
  }

  .new-page-card__flow-item {
    width: 100%;
  }

  .new-page-card__textarea {
    margin-top: 8px;

    &.has-list {
      padding-left: 16px;
      list-style: disc;
    }
  }

  .new-page-card__text {
    font-size: 16px;
    font-weight: var(--fw-regular);
    line-height: 1.75;
    width: fit-content;
    margin-inline: auto;
  }

  .new-page-card__subtext {
    margin-top: 16px;
  }

  .card-text-center {
    text-align: center;
    width: fit-content;
    margin-inline: auto;

    &:not(:first-of-type) {
      margin-top: 2px;
    }
  }

  .new-page-card--flex__image {
    width: 250px;
    height: auto;
    flex-shrink: 0;

    &.new-page-card--flex__image--limited {
      width: 45%;
    }
  }

  .new-page-card--flex__content {
    width: 100%;

    p,
    li {
      font-size: 16px;
      font-weight: var(--fw-regular);
      line-height: 1.5;
    }

    p {
      margin-bottom: 16px;
    }

    ul {
      list-style: disc;
      padding-left: 16px;
    }

    li:not(:first-of-type) {
      margin-top: 2px;
    }


    .new-page-card--flex__title {
      font-size: 24px;
      font-weight: var(--fw-bold);
      margin-bottom: 8px;
    }

    .new-page-card--flex__subtitle {
      display: block;
      font-size: 20px;
      font-weight: var(--fw-bold);
      margin-top: 16px;
      margin-bottom: 8px;
    }
  }
}

.new-page-card-wrap--small {
  margin-top: 16px;
}

.new-page-card-wrap--large {
  margin-top: 32px;
}

/*****************
  form
****************/
.new-page-form {
  position: fixed;
  right: 0px;
  top: 0;
  z-index: 10;
  min-width: 350px;
  align-items: start;
  padding: 24px 16px;
  height: 100vh;

  iframe {
    min-height: calc(100vh - 40px);
    overflow-y: hidden;
    background-color: #fff;
  }
}

/*****************
  header
****************/
.new-page-logo-link{
  display: block;
  transition: opacity 0.3s;

  &:hover{
    opacity: 0.7;
  }
}

.header-new {
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.40);
  position: fixed;
  left: 0;
  top: 0;
  z-index: 3;
  width: calc(100% - 350px);

  &:is(.header-full *) {
    width: 100%;
  }
}

.header_new-navi {
  &.header_new-navi_has-logo {
    display: flex;
    justify-content: space-between;
  }

  .cta {
    display: flex;
    padding: 2px 12px 5px 12px;
    justify-content: center;
    align-items: center;
    border-radius: 100vmax;
    line-height: 1.5;
    font-size: 16px;
    transition: opacity 0.3s;
    text-decoration: none;
    font-weight: var(--fw-middle);

    &:hover {
      opacity: 0.7;
    }
  }

  ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-feature-settings: normal;
  }
}

.header-new-left {
  padding: 22px 0 20px;
  font-feature-settings: 'palt' on;

  .left img {
    width: 168px;
    height: auto;
  }
}

.header-new-center {
  padding: 28px 0 20px;

  .header_new-navi {
    margin-top: 24px;
  }

  .center img {
    width: auto;
    height: 40px;
  }
}


.header_new-navi_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;

  .header-new-left & {
    margin: 0 0 0 auto;
  }
}

.header_new-navi-list {
  line-height: 1.5;

  li,
  a {
    font-size: 16px;
    line-height: 1.5;
  }

  a {
    position: relative;
    text-decoration: none;
    color: var(--text-color);
    transition: color 0.3s;
    font-weight: var(--fw-middle);
    padding: 2px 0 4px;
    display: block;

    &:focus {
      outline: none;
    }

    &::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 2px;
      left: 0;
      bottom: 0px;
      visibility: hidden;
      opacity: 0;
      transition: visibility 0.3s, opacity 0.3s;
    }

    &:hover {
      &::before {
        visibility: visible;
        opacity: 1;
      }
    }
  }

  .button {
    text-decoration: none;
    position: relative;
    transition: color 0.3s;

    &:hover {
      visibility: visible;
      opacity: 1;
    }
  }
}

/*****************
  mv
****************/
.new-page-mv{
  width: 100%;
  height: auto;
}

.new-page-mv-text {
  margin-top: 48px;
  padding-inline: 50px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/*****************
  merit
****************/
.new-page-merit-outer {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.new-page-merit-item {
  display: flex;
  gap: 24px;

  &.merit-align-center {
    align-items: center;
    gap: 40px;
  }

  .new-page-merit-image {
    width: 270px;
    flex-shrink: 0;

    &:is(.merit-align-center *) {
      width: auto;
    }
  }

  .new-page-merit-content {
    width: calc(100% - 294px);
  }

  .new-page-merit-title {
    font-size: 24px;
    font-weight: var(--fw-bold);
    line-height: 1.4;
    margin-bottom: 12px;
  }

  .new-page-merit-text {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 1.75;
    font-weight: var(--fw-regular);
  }
}

/*****************
  download
****************/
.new-page-download-item {
  border-radius: 8px;
  border: solid 1px var(--cv-secondary);
  overflow: hidden;
  display: block;

  &.new-page-download-item--parallel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .new-page-download-inner {
    padding: 16px 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 8px;

    &:has(.new-page-download-image) {
      padding: 20px 20px 20px;
    }

    &.new-page-download-inner--flex {
      display: flex;
      flex-direction: row;
      gap: 28px;
    }
  }

  &.new-page-download-item--subgrid {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 0;
  }

  &:hover {
    .new-page-download-title {
      color: var(--cv-secondary);
    }

    .new-page-download-text {
      color: var(--cv-secondary);
    }
  }

  .new-page-download-text {
    font-size: 16px;

    &:is(.new-page-download-inner--flex *) {
      margin-top: 8px;
    }
  }

  .new-page-download-image {
    border: solid 1px var(--border-secondary);
    overflow: hidden;

    &:is(.new-page-download-inner--flex *) {
      width: 300px;
      height: auto;
    }

    img {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: contain;
      object-position: center center;
    }
  }

  .new-page-download-title {
    font-size: 24px;
    line-height: 1.4;
    font-weight: var(--fw-bold);
    color: var(--text-color);
    transition: color 0.3s;

    &:is(.new-page-download-inner *) {
      margin-top: 8px;
    }
  }

  .new-page-download-text {
    color: var(--text-color);
    transition: color 0.3s;

    &:is(.new-page-download-inner--flex) {
      margin-top: 8px;
    }
  }


  .new-page-download-btn {
    text-align: center;
    background-color: var(--cv-secondary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 8px 24px 10px;
    width: 100%;
    box-sizing: border-box;

    p {
      font-weight: var(--fw-bold);
      font-size: 16px;
    }
  }
}

/*****************
  conversion
****************/
.new-page-conversion {
  width: 100%;
  background: linear-gradient(90deg, #1A59B8 10%, var(--cv-secondary) 100%);
  padding: 40px 72px 48px;
  display: flex;
  flex-direction: column;
  gap: 32px;

  .new-page-conversion__inner {
    display: flex;
    width: 100%;
    align-items: end;
    gap: 40px;
  }

  .new-page-conversion__item {
    width: 50%;
  }

  .new-page-conversion__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 0 18px;
    width: 100%;
    font-weight: var(--fw-bold);
    font-size: 20px;
    line-height: 1.5;
    color: var(--cv-primary);
    border-radius: 100vmax;
    background-color: #fff;
    transition: opacity 0.3s;

    &:hover {
      opacity: 0.7;
      text-decoration: none;
    }
  }

  .new-page-conversion__textarea {
    text-align: center;
    color: #fff;

    &:is(.new-page-conversion__item *) {
      margin-bottom: 12px;
    }

    p {
      font-size: 16px;
      font-weight: var(--fw-regular);

      &.conversion-lead {
        font-size: 20px;
        font-weight: var(--fw-bold);
      }
    }

    a {
      color: #fff;
      transition: opacity 0.3s;
      position: relative;

      &::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 1px;
        bottom: -2px;
        background-color: #fff;
      }

      &:hover {
        opacity: 0.7;
        text-decoration: none;
      }
    }
  }
}

/*********************
  product_category
********************/
.new-page-product_category {
  padding: 48px 0 64px;
  display: flex;
  flex-direction: column;
  gap: 32px;

  .new-page-product_category__title {
    display: inline-block;
    width: fit-content;
    color: #333;
    font-size: 24px;
    font-weight: var(--fw-bold);
    line-height: 1.4;
    position: relative;
    transition: color 0.3s;

    &::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 1px;
      background-color: var(--cv-primary);
      left: 0;
      bottom: -2px;
      visibility: hidden;
      opacity: 0;
      transition: visibility 0.3s, opacity 0.3s;
    }

    &:hover {
      color: var(--cv-primary);

      &::before {
        visibility: visible;
        opacity: 1;
      }
    }
  }

  .new-page-product_category__list {
    display: flex;
    gap: 16px;

    li {
      list-style-type: none;

      &:not(:first-of-type) {
        padding-left: 16px;
        border-left: solid 1px var(--border-primary);
      }
    }

    a {
      color: #333;
      font-weight: var(--fw-middle);
      position: relative;
      transition: color 0.3s;
      text-decoration: none;
      display: inline-block;

      &::before {
        content: "";
        position: absolute;
        visibility: hidden;
        opacity: 0;
        width: 100%;
        height: 1px;
        background-color: var(--cv-primary);
        bottom: -2px;
        transition: visibility 0.3s, opacity 0.3s;
      }

      &:hover {
        color: var(--cv-primary);

        &::before {
          visibility: visible;
          opacity: 1;
        }
      }
    }

    p {
      font-weight: var(--fw-middle);
      display: inline-block;
      position: relative;

      &.is-current {
        color: var(--cv-primary);

        &::before {
          content: "";
          position: absolute;
          width: 100%;
          height: 1px;
          background-color: var(--cv-primary);
          bottom: -2px;
        }
      }
    }
  }
}

.new-page-indicator {
  display: none;
}

.new-page-indicator__progress {
  display: none;
}

/*****************
  partner
****************/
.new-page-partner {
  margin-top: 48px;
  gap: 40px;

  .c-link-block--v {
    .c-link-block__media.new-page-partner__media {
      border: none;
    }
  }

  .l-grid_column.ew-page-partner__item {
    flex-basis: calc(33.3333% - 26.666px);
  }

  .c-link-block.new-page-partner__block {
    border: none;
  }

  .c-link-block__figure.new-page-partner__figure {
    border: solid 1px #C7CED9;
  }

  .c-link-block__body.new-page-partner__body {
    padding: 0;
    background-color: transparent;
    margin-top: 8px;

    a {
      &:hover {
        .c-link-block__description.new-page-partner__description {
          color: var(--cv-primary);
        }
      }
    }
  }

  .c-link-block__title.new-page-partner__title {
    color: var(--cv-primary);
    margin-bottom: 4px;
    font-size: 20px;
    line-height: 140%;
  }

  .c-link-block__description.new-page-partner__description {
    line-height: 1.5;
    margin-bottom: 0;
  }

  .new-page-partner__tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 8px;
    margin-top: 24px;
  }

  .new-page-partner__tag-item {

    a {
      display: block;
      width: fit-content;
      color: var(--cv-secondary);
      padding: 4px 12px 4px;
      font-weight: var(--fw-bold);
      border: solid 1px var(--cv-secondary);
      border-radius: 8px;
      font-size: 14px;
      line-height: 1.25;
    }
  }
}

/*****************
  news
****************/
.new-page-container {

  .p-support__list{
    margin-bottom: 64px;
  }

  .p-support__list-item__label {
    margin-top: 2px;
  }

  .c-label-icon {
    min-width: 128px;

    &.new-space-news {
      background-color: var(--crimson);
    }

    &.new-space-example {
      background-color: #147850;
    }

    &.new-space-event-seminar {
      background-color: #9C5F10;
    }

    &.new-space-support {
      background-color: #1A59B8;
    }
  }
}

/*****************
  relation
****************/
.new-page-relation-block {
  margin: 58px 0 0px;
}

.new-page-relation-inner {
  margin-top: 60px;
}

.new-page-relation-item {
  padding: 12px 24px 24px;
  border: solid 1px var(--border-primary);
  border-radius: 8px;
  display: flex;
  gap: 16px;
  flex-direction: column;
  text-decoration: none;

  &:hover {
    .new-page-relation-item__text {
      color: var(--cv-secondary);
    }

    .new-page-relation-item__logo img {
      scale: 1.1;
    }
  }

  .new-page-relation-item__logo {
    text-align: center;
    margin-inline: auto;
    padding-bottom: 12px;
    border-bottom: solid 1px #C7CED9;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    overflow: hidden;

    img {
      padding-inline: 30px;
      width: auto;
      height: 150px;
      object-position: 50% 50%;
      object-fit: contain;
      transition: scale 0.3s;
    }
  }

  .new-page-relation-item__inner {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .new-page-relation-item__title {
    font-size: 24px;
    font-weight: var(--fw-bold);
    line-height: 1.4;
    color: var(--cv-secondary);
    text-decoration: none;
  }

  .new-page-relation-item__text {
    font-size: 16px;
    line-height: 1.75;
    color: #333;
    transition: color 0.3s;
    font-weight: var(--fw-regular);
  }
}


.new-page-relation-all-btn {
  margin-top: 40px;
  width: fit-content;
  margin-inline: auto;

  a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 428px;
    margin: 0 0 0 auto;
    gap: 4px;
    padding: 14px 32px 16px;
    font-size: 18px;
    font-weight: var(--fw-bold);
    line-height: 150%;
    color: #ffffff;
    border-radius: 8px;
    background-color: var(--cv-secondary);
    margin-top: 32px;
    transition: opacity 0.3s;

    svg {
      transform: translateY(1px);
    }

    &:hover {
      opacity: 0.7;
    }
  }
}

.new-page-banner {
  transition: opacity 0.3s;

  &:hover {
    opacity: 0.7;
  }
}

/**************************
  drawer & hamburger
************************/
.new-drawer {
  position: absolute;
  width: 100%;
  top: 100%;
  display: grid;
  background-color: #fff;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s;
  z-index: 3;

  .new-drawer_list {
    li {
      border-bottom: solid 1px var(--border-primary);
    }

    a {
      display: block;
      padding: 14px 24px 16px;
      color: var(--text-color);
      font-size: 16px;
      text-decoration: none;
      font-weight: var(--fw-middle);
    }
  }
}

.new-drawer_bg {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  transition: visibility 0.3s, opacity 0.3s;
  z-index: 2;

  &.is-open {
    visibility: visible;
    opacity: 1;
  }
}

.new-drawer_inner {
  overflow-y: hidden;
}

.new-hamburger {
  display: none;

  span {
    display: none;
  }
}


.new-article-hidden {
  display: none;
}

/*****************
  article
****************/
.new-page-article__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 36px;
  margin-top: 56px;
}

.new-page-article__link {
  display: flex;
  justify-content: center;
  padding-bottom: 32px;
  gap: 20px;
  border-bottom: solid 1px var(--border-primary);
  transition: opacity 0.3s;

  &:hover {
    opacity: 0.7;
  }
}

.new-page-article__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 1;

  &.is-hidden {
    display: none;
  }
}

.new-page-article__category {
  width: 203px;
  border-right: solid 1px var(--border-primary);
  border-left: solid 1px var(--border-primary);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding-inline: 20px;
}

.new-page-article__category-name {
  font-size: 14px;
  font-weight: var(--fw-bold);

  &.new-space-news {
    color: var(--crimson);
  }

  &.new-space-example {
    color: #147850;
  }

  &.new-space-event-seminar {
    color: #9C5F10;
  }

  &.new-space-support {
    color: var(--cv-primary);
  }
}

.new-page-article__content {
  width: calc(100% - 223px);
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;

  .new-page-article__title {
    font-size: 16px;
    line-height: 1.5;
    font-weight: var(--fw-bold);
    color: var(--text-color);
    text-overflow: ellipsis;
  }

  .new-page-article__date {
    font-size: 14px;
    font-weight: var(--fw-middle);
    color: var(--body-secondary);
  }
}

.new-page-article-tab {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 24px;

  .new-page-article-tab__link {
    display: block;
    padding: 7px 12px 14px;
    position: relative;
    text-align: center;
    font-weight: var(--fw-bold);
    background-color: transparent;
    border: none;
    cursor: pointer;
    transition: opacity 0.3s;

    &:focus:not(:focus-visible) {
      outline: 0;
    }

    &:hover {
      opacity: 0.7;
    }

    &.tab--all {
      color: var(--text-color);

      &.is-current::before {
        background-color: var(--text-color);
      }
    }

    &.tab--news {
      color: var(--crimson);

      &.is-current::before {
        background-color: var(--crimson);
      }
    }

    &.tab--example {
      color: #147850;

      &.is-current::before {
        background-color: #147850;
      }
    }

    &.tab--event {
      color: #9C5F10;

      &.is-current::before {
        background-color: #9C5F10;
      }
    }

    &.tab--support {
      color: var(--cv-primary);

      &.is-current::before {
        background-color: var(--cv-primary);
      }
    }

    &::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 2px;
      bottom: 0;
      left: 0;
      background-color: #C7CED9;
    }
  }
}

/*************************
  anchor-link
************************/
.new-page-anchor {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.new-page-anchor__link {
  display: flex;
  gap: 8px;
  padding-bottom: 12px;
  border-bottom: dashed 1px var(--border-primary);
  align-items: center;
  transition: color 0.3s;
}

.new-page-anchor__circle {
  width: 20px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: #F3F9FC;
  padding: 6px 5px 8px;
  display: flex;
  align-items: center;
  justify-content: center;

  span {
    width: 5px;
    height: 5px;
    border-right: solid 1px #002152;
    border-bottom: solid 1px #002152;
    rotate: 45deg;
  }
}

.new-page-anchor__text {
  color: var(--body-secondary);
  font-size: 14px;
  font-weight: var(--fw-middle);
  line-height: 1.4;
  transition: color 0.3s;

  &:is(.new-page-anchor__link:hover *) {
    color: var(--cv-secondary);
  }
}

/*************************
  LowerPage
************************/
.new-page-lower_elem1 {
  gap: 24px;
}

.new-page-lower_elem1__image {
  width: 254px;
  height: auto;


  img {
    width: 100%;
    height: auto;
  }
}

.new-page-lower_elem1__content {
  width: calc(100% - 278px);

  p {
    font-size: 16px;
    font-weight: var(--fw-regular);
    line-height: 175%;
  }

  .new-page-lower_elem1__caution {
    display: inline-block;
    width: 100%;
    margin: 0 0 0 auto;
    font-size: 14px;
    line-height: 1.5;
    margin-top: 12px;
    color: var(--body-secondary);
    text-align: right;
    font-weight: var(--fw-regular);
  }

  .new-page-lower_elem1__subtitle {
    display: inline-block;
    font-size: 24px;
    font-weight: var(--fw-bold);
    line-height: 140%;
    margin: 12px 0 8px;
  }

  .new-page-lower_elem1__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin: 0 0 0 auto;
    gap: 4px;
    padding: 14px 32px 16px;
    font-size: 18px;
    font-weight: var(--fw-bold);
    line-height: 150%;
    color: #ffffff;
    border-radius: 8px;
    background-color: var(--cv-secondary);
    margin-top: 32px;
    transition: opacity 0.3s;

    &:hover {
      opacity: 0.7;
    }
  }
}

.new-page-lower_elem2 {
  gap: 40px;


  .new-page-lower_elem2__content {
    width: calc(100% - 300px);
  }

  .new-page-lower_elem2__image {
    width: 260px;
    aspect-ratio: 1 / 1;

    img {
      width: 100%;
      height: auto;
    }
  }
}

.new-page-container {
  .c-text {
    display: inline-block;
  }

  .c-link {
    color: var(--cv-primary);

    &:hover {
      text-decoration: underline;
    }
  }

  .new-page-lower-title {
    font-size: 28px;
    font-weight: var(--fw-bold);
    line-height: 140%;

    &.lower-title-head {
      margin-top: 32px;
    }
  }
  
  .new-page-lower-subtitle{
    font-size: 16px;
  }

  .new-page-lower-subtext {
    font-weight: var(--fw-middle);
    line-height: 1.5;
    margin-top: 12px;
  }

  .new-page-lower-small-title {
    font-size: 24px;
    font-weight: var(--fw-bold);
    line-height: 1.4;
    margin-bottom: 0;
    margin-top: 24px;

    span {
      margin-left: 8px;
      font-size: 14px;
      font-weight: var(--fw-regular);
    }
  }

  .new-page-lower-small-textarea {
    margin-top: 16px;

    p {
      font-size: 16px;
      font-weight: var(--fw-regular);
    }

    ul {
      margin-top: 8px;
      padding-left: 16px;
      list-style: disc;
    }

    li {
      font-size: 16px;
      font-weight: var(--fw-regular);
    }
  }

  .new-page-card_under-caution {
    display: block;
    width: fit-content;
    text-align: right;
    margin: 0 0 0 auto;
    color: var(--body-secondary);
    font-size: 14px;
    margin-top: 20px;
    text-align: right;
    font-weight: var(--fw-regular);
    line-height: 150%;
  }

  .new-page-movie {
    width: 702px;
    height: auto;
    margin-inline: auto;
    aspect-ratio: 16 / 9;
    margin-top: 40px;

    iframe {
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
    }
  }

  .new-title-movie-caption {
    font-size: 16px;
    font-weight: var(--fw-regular);
    line-height: 1.75;
    text-align: center;
    display: block;
    width: fit-content;
    margin-inline: auto;
    margin-top: 24px;
  }

  .new-page-lower-map {
    margin-top: 40px;

    img {
      width: 100%;
    }
  }

  .new-page-lower-leadtext {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 16px;

    p {
      font-size: 18px;
      font-weight: var(--fw-middle);
      line-height: 1.5;
    }
  }

  .new-page-lower_elem4 {
    display: flex;
    gap: 40px;
    margin-top: 16px;

    &.new-page-lower_elem4--reverse {
      flex-direction: row-reverse;
    }
  }

  .new-page-lower_elem4__text {
    p {
      font-size: 16px;
      font-weight: var(--fw-middle);
    }
  }

  .new-page-lower_elem4__image {
    width: 320px;
    height: auto;
    flex-shrink: 0;
  }
}

/*************************
  table&table-element
************************/
.new-page-container {
  .table-simple {
    width: 100%;

    table {
      width: 100%;
    }

    th,
    td {
      padding: 30px 0;
      line-height: 1.667;
      border: solid #b4b4b4;
      border-width: 1px 0;
    }

    th {
      white-space: nowrap;
      padding-right: 40px;
      font-size: 20px;
      font-weight: bold;
      text-align: left;
      vertical-align: top;
    }

    td {
      font-size: 18px;
      font-weight: var(--fw-middle);
    }
  }

  .c-list-aside {
    padding-left: 14px;
    list-style-type: "※";
  }

  .c-list-aside--sm {
    margin-top: 32px;
  }

  .c-list-aside__item {
    padding-left: 0;
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 1.5625;
  }

  .table-center {

    thead th,
    thead td,
    tbody th,
    tbody td {
      vertical-align: middle;
      text-align: center;
    }
  }

  .table-header {

    .table-fig {
      min-width: 120px;
    }

    .td-colspan-2 {
      text-align: right;
      border-right-width: 0;
    }

    .td-colspan-2+td {
      padding-left: 0;
      text-align: left;
      border-left-width: 0;
    }


    th,
    td {
      padding: 23px 24px;
      font-weight: var(--fw-middle);
      line-height: 1.667;
      border: 1px solid #707070;
    }

    table {
      width: 100%;
      table-layout: fixed;
    }

    thead {
      th {
        height: 86px;
        font-size: 20px;
        font-weight: bold;
        background-color: #f7f7f7;
      }
    }

    td {
      font-size: 18px;
      vertical-align: top;
    }
  }

  .table-vertical-middle {

    thead th,
    thead td,
    tbody th,
    tbody td {
      vertical-align: middle;
    }
  }
}

/*****************
  OneGate_fix
****************/
.p-about {
  padding: 64px 72px;
  background-color: #F3F9FC;
}

.p-form-title {
  font-size: 28px;
  margin-bottom: 8px;
  color: #ffffff;
}

.p-about-text {
  font-size: 18px;
  line-height: 1.4;
}

.p-about-item {
  padding: 16px 20px 20px;
  border: solid 1px var(--border-primary);
  max-width: none;
}

.l-inner-lv1 {
  padding-inline: 0;
  max-width: none;

  &.p-slider-container {
    max-width: 1080px;
  }
}

.p-about-row {
  width: 100%;
  margin-top: 32px;
  gap: 40px;
  align-items: center;
}

.p-point {
  padding: 64px 48px;
  background-color: #F3F9FC;
}

.p-point-row {
  margin-bottom: 36px;
  padding-bottom: 32px;
  border-bottom: solid 1px var(--border-primary);

  &:last-child {
    margin-bottom: 36px;
    padding-bottom: 32px;
    border-bottom: solid 1px var(--border-primary);
  }
}

.p-point-image {
  width: 360px;
}

.p-point-content {
  width: calc(100% - 360px - 24px);
}

.p-point-function-row:nth-of-type(odd) {
  background-color: #fff;
}

.p-point-function-row:nth-of-type(even) {
  background-color: #f0f0f0;
}

.p-detail {
  padding: 64px 0 64px;
}

.p-detail-row {
  gap: 24px;
  justify-content: left;
}

.p-movie-item {
  iframe {
    border-radius: 0;
  }
}

.p-detail-row-content {
  p {
    font-size: 28px;
    font-style: normal;
    font-weight: var(--fw-bold);
    line-height: 1.4;
    text-align: left;
  }
}

.text-link {
  color: var(--cv-secondary);
  display: flex;
  gap: 2px;
  align-items: center;
  font-weight: var(--fw-regular);
  font-size: 16px;
  transition: opacity 0.3s;

  &:is(.p-plan-notes *) {
    margin-top: 0;
    font-size: 14px;
  }

  &:hover {
    text-decoration: underline;
    opacity: 0.7;
  }
}

.p-detail-content {
  margin-top: 40px;
  border: solid 1px var(--border-primary);
  padding: 16px 20px 20px;
}

.p-detail-banner {
  margin-top: 32px;
  max-width: none;

  a {
    transition: opacity 0.3s;

    &:hover {
      cursor: pointer;
      opacity: 0.7;
    }
  }
}

.p-detail-content-wrap {
  padding: 0;
}

.p-detail-content-heading {
  color: var(--cv-primary);
  font-size: 18px;
  line-height: 1.4;
  font-weight: 700;
  text-align: left;
}

.p-detail-content-text {
  color: var(--text-color);
  font-weight: var(--fw-regular);
  line-height: 1.5;
  font-size: 16px;
  margin-top: 8px;
}

.p-about-graph-count-number {
  font-size: 50px;
  font-weight: 700;
}

.p-about-graph {
  flex-shrink: 0;
}

.p-about-content {
  text-align: left;
  max-width: none;
  width: 100%;
}

.p-about-graph-count-text {
  font-size: 14px;
}

.p-detail-row-content {
  width: auto;
}

.p-about-graph-count-row {
  margin-top: 42px;
}

.p-about-content-text {
  color: var(--text-color);
  font-size: 28px;
  line-height: 1.4;

  span {
    font-size: 28px;
  }
}

.p-about-content-notes {
  font-size: 14px;
  color: var(--body-secondary);
  margin-top: 12px;
}

.p-point-content-heading {
  width: fit-content;
  display: inline-block;
  background-color: var(--cv-primary);
  color: #ffffff;
  font-size: 14px;
  font-weight: var(--fw-bold);
  border-radius: 100vmax;
  padding: 2px 12px 4px;
  border: none;
  line-height: 1.5;
}

.p-point-content-lead {
  color: var(--text-color);
  font-size: 24px;
  font-weight: var(--fw-bold);
  line-height: 1.4;
  margin-top: 4px;
}

.p-point-content-text {
  font-size: 16px;
  line-height: 1.75;
  font-weight: var(--fw-regular);
  margin-top: 12px;

  a {
    color: var(--cv-secondary);
    transition: opacity 0.3s;

    &:hover {
      opacity: 0.7;
    }
  }

  span {
    display: block;
    margin-top: 8px;
  }
}

.p-point-wrap {
  &::before {
    display: none;
  }
}

.p-plan-table-th {
  color: var(--cv-secondary);
  font-size: 16px;
  line-height: 1.5;
}

.p-point-function {
  margin-top: 40px;
}

.p-point-function-term {
  width: auto;
  white-space: nowrap;
  color: var(--cv-secondary);
  font-size: 16px;
  font-weight: var(--fw-bold);
  line-height: 1.5;
  padding: 16px 16px 20px;
  box-sizing: border-box;
  min-width: 252px;
  flex-shrink: 0;
}

.p-cta-top {
  background-color: #ffffff;
  padding: 0;
  padding-top: 70px;
}

.p-point-function-desc {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 16px 20px;

  p {
    display: inline-block;
    font-size: 16px;
    line-height: 1.5;
    position: relative;
    padding-left: 14px;
    text-indent: 0;
    font-weight: var(--fw-regular);

    &::before {
      content: "";
      position: absolute;
      display: block;
      width: 6px;
      aspect-ratio: 1 / 1;
      border-radius: 50%;
      top: 9px;
      left: 0;
      background-color: var(--cv-secondary);
    }
  }
}

.p-point-function-heading {
  color: var(--text-color);
  font-size: 28px;
  font-weight: var(--fw-bold);
  line-height: 1.4;
  border: none;
  text-align: left;
  border-radius: 0;
  background-color: transparent;
  padding: 0;
  margin-bottom: 16px;
}

.p-movie {
  padding: 70px 0 0;
}

.p-movie-link {
  width: fit-content;
  margin-inline: auto;
  margin-top: 40px;

  a {
    width: 428px;
    padding: 14px 32px 16px;
    border-radius: 8px;
    border: solid 2px var(--cv-secondary);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    font-size: 18px;
    font-weight: var(--fw-bold);
    line-height: 1.5;
    color: var(--cv-secondary);
    transition: opacity 0.3s;

    &:hover {
      opacity: 0.7;
    }
  }
}

.p-plan {
  padding: 70px 0 0;
}

.p-plan-notes {
  p {
    color: var(--body-secondary);
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
    gap: 4px;
  }
}

.p-plan-table-th,
.p-plan-table-td {
  font-size: 14px;
  line-height: 2;
  white-space: normal
}

.p-plan-table-thead-item {
  width: 33.33%;
  padding: 8px 12px 12px;
  font-size: 20px;
  line-height: 125%;
  margin-left: 1px;
  margin-top: 1px;
}

.p-plan-table-td {
  border-left: solid 1px #c1c1c1;

  .-pki,
  .-basic,
  .std {
    padding: 12px;
    width: 171px;
  }
}

.p-plan-table-inner {
  min-width: auto;
}

@media screen and (max-width: 1090px) {
  .p-plan-table-inner {
    width: fit-content;
    min-width: 864px;
  }
}

.p-plan-table-rowspan {
  border-left: solid 1px #c1c1c1;
}

.p-link-button {
  width: fit-content;
  margin-inline: auto;
  margin-top: 36px;

  a {
    width: 428px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 14px 32px 16px;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.5;
    font-weight: var(--fw-bold);
  }
}

.p-flow {
  padding: 0;
  background-color: transparent;
}

.c-link-button {
  width: fit-content;
  margin-inline: auto;
  margin-top: 40px;

  &:is(.p-plan *) {
    margin-top: 36px;
  }

  a {
    width: 428px;
    padding: 14px 32px 16px;
    background-color: var(--cv-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: #ffffff;
    font-size: 18px;
    font-weight: var(--fw-bold);
    line-height: 1.5;
    border-radius: 8px;
    transition: opacity 0.3s;

    &:hover {
      opacity: 0.7;
    }

    &.p-button-original {
      border-radius: 100vmax;
      padding: 20px 0 18px;
      font-size: 26px;
      width: 100%;
    }
  }

  &.-col1{
    margin-top: 16px;

    &.-blue{
      margin-top: 60px;
    }
  }
}

.WP__SubTitle2{
  font-size: 20px;
}

.tableLayout__outer{
  border-top: solid 1px #cccccc;
}

.ancLink01{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 12px;

  a{
    color: var(--cv-secondary);
  }
}

.ancLink01.listRow.count3>li{
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 1;
  gap: 0;
  width: 100%;
  margin: 0;
}

.ancLink01.listRow.count2>li{
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 1;
  gap: 0;
  width: 100%;
  margin: 0;
}

.ancLink01 a>span{
  background: url(/products/one-gate_new/images/com_link_ic05.png) no-repeat 100% 50%
}

.iconList01>li{
  background: url(/products/one-gate_new/images/com_list_ic01.png) no-repeat 0 .4em;
}

.iconList01 a{
  color: var(--cv-secondary);

  &:hover{
    text-decoration: underline;
  }
}

.index02 a.linkBlock .caption:before{
  background: url(/products/one-gate_new/images/com_link_ic04.png) no-repeat 0 0;
}

.new-page-container {
  .coloredLink{
    color: var(--cv-secondary);

    &:hover{
      text-decoration: underline;
    }
  }
}


.tableLayout01{
  a{
    color: var(--cv-secondary);

    &:hover{
      text-decoration: underline;
    }
  }
}

.iconList02>li{
  background: url(/products/one-gate_new/images/com_list_ic02.png) no-repeat 4px .4em;
}

.new-page-container{
  .iconLink01{
    display: block;
    margin-top: 16px;

    a{
      color: var(--cv-secondary);
      background: url(/products/one-gate_new/images/com_link_ic04.png) no-repeat 0 .35em;

      &:hover{
        text-decoration: underline;
      }
    }
  }
}

.colLayout01.count2{
  padding-bottom: 64px;
}

.index02{
  .linkBlock{
    color: var(--cv-secondary);
  }
}

.ancLink01.listRow.count2>li:nth-of-type(n+3),
.ancLink01.listRow.count3>li:nth-of-type(n+4),
.ancLink01.listRow.count4>li:nth-of-type(n+5),
.ancLink01.listRow.count5>li:nth-of-type(n+6){
  margin-top: 0;
}

.tableLayout__under-text{
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;

  p{
    font-size: 14px;
  }
}

.heading03{
  margin: 48px 0 16px;
}

.c-link-button.-blue a.download span,
.c-link-button.-orenge a.download span,
.c-link-button.-red a.download span,
.c-link-button-en.-blue a.download span{
  background-image: url("/products/one-gate_new/images/ico_dl_wh.svg");
}


@media screen and (max-width: 767px) {

  .p-plan-table-rowspan .p-plan-table-td:nth-of-type(2).-desc,
  .p-plan-table-rowspan .p-plan-table-td:nth-of-type(2).-pki,
  .p-plan-table-rowspan .p-plan-table-td:nth-of-type(2).-basic,
  .p-plan-table-rowspan .p-plan-table-td:nth-of-type(2).-std {
    height: auto;
    min-height: 52px;
  }
}

.p-plan-table-thead-title {
  /* margin-left: var(--p-plan-table-gap); */
  margin-left: 1px;
  font-size: 20px;
  line-height: 1.5;
  font-weight: var(--fw-bold);
  background-color: var(--cv-secondary);
  padding: 4px 0 8px;
}

.p-plan-table-thead-desc {
  /* width: calc(var(--p-plan-table-left-cols-width) / var(--p-plan-table-all-width) * 100%); */
  width: calc(431 / 1019 * 100%);
}

.p-plan-table-thead-check {
  /* width: calc((var(--p-plan-table-right-cols-width) + var(--p-plan-table-gap)) / var(--p-plan-table-all-width) * 100%); */
  width: calc(588 / 1019 * 100%);
}

.p-plan-table-thead-item {
  width: calc(100% / 3);
}

.p-plan-table-row {
  width: 100%;

  >.p-plan-table-td.-pki,
  >.p-plan-table-td.-basic,
  >.p-plan-table-td.-std,
  .p-plan-table-rowspan:nth-child(3),
  .p-plan-table-rowspan:nth-child(4),
  .p-plan-table-rowspan:nth-child(5) {
    /* width: calc((var(--p-plan-table-col-right-3-width) + var(--p-plan-table-gap)) / var(--p-plan-table-all-width) * 100%); */
    width: calc(196 / 1019 * 100%);
  }

  .p-plan-table-th {
    /* width: calc(var(--p-plan-table-col-1-width) / var(--p-plan-table-all-width) * 100%); */
    width: calc(178 / 1019 * 100%);
  }

  >.p-plan-table-td.-desc,
  .p-plan-table-rowspan:nth-child(2) {
    /* width: calc((var(--p-plan-table-col-2-width) + var(--p-plan-table-gap)) / var(--p-plan-table-all-width) * 100%); */
    width: calc(253 / 1019 * 100%);
  }
}

.p-plan-table-row.p-plan-table-row--grid {
  display: grid;
  grid-template-columns:
    /* calc(var(--p-plan-table-col-1-width) / var(--p-plan-table-all-width) * 100%) calc((var(--p-plan-table-col-2-width) + var(--p-plan-table-gap)) / var(--p-plan-table-all-width) * 100%) repeat(3, calc((var(--p-plan-table-col-right-3-width) + var(--p-plan-table-gap)) / var(--p-plan-table-all-width) * 100%)); */
    calc(178 / 1019 * 100%) calc(253 / 1019 * 100%) repeat(3, calc(196 / 1019 * 100%));

  >.p-plan-table-rowspan {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    width: 100%;
  }

  > :nth-child(1) {
    display: grid;
    align-items: center;
    width: 100%;
    height: 100%;
    grid-area: 1 / 1 / 3 / 2;
  }

  > :nth-child(2) {
    grid-column: 2 / 3;
  }

  > :nth-child(3) {
    grid-column: 3 / 4;
  }

  > :nth-child(4) {
    grid-column: 4 / 5;
  }

  > :nth-child(5) {
    grid-column: 5 / 6;
  }
}

.p-plan-table-appliance-left {
  width: fit-content;
  gap: 40px;
}

.p-plan-table-appliance-title {
  font-size: 20px;
  line-height: 1.25;
  padding: 8px 32px 12px;
  text-align: center;
  border-radius: 100vmax;
}

.p-plan-table-appliance-right {
  width: auto;

  p {
    font-size: 14px;
    font-weight: var(--fw-regular);
    line-height: 1.5;
  }
}

.p-flow {
  padding-top: 64px;
}

.p-flow-step {
  margin-top: 24px;
}

.p-flow-step-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.p-flow-step-item {
  padding: 16px 20px 24px;
  border: solid 1px var(--border-primary);
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  width: 100%;
  border-radius: 8px;
}

.p-flow-step-heading {
  font-size: 24px;
  color: var(--cv-primary);
  text-align: center;
  font-weight: var(--fw-bold);
  padding-top: 0;
}

.p-flow-lead {
  margin: 0;
  text-align: left;
  font-size: 18px;
}

.p-flow-step-icon {
  width: auto;
  height: 96px;
  display: block;
  margin-top: 16px;
  text-align: center;

  img {
    width: auto;
    height: 100%;
    object-fit: contain;
  }
}

.p-flow-step-lead {
  margin-top: 0;
  font-size: 24px;
  line-height: 1.4;
  text-align: center;
  margin-top: 4px;
}

.p-flow-step-text {
  font-size: 16px;
  font-weight: var(--fw-regular);
  line-height: 1.5;
  margin-top: 16px;
}

.p-performance {
  padding: 64px 0;
  background-color: transparent;
}

.p-document-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.Detail__Inner {
  padding: 0;
  margin-bottom: 64px;

  &.Detail__tab2{
    max-width: none;
  }
}

.p-download-title {
  font-size: 26px;
  margin-bottom: 0;
}

.new-page-container{
  .Wifi__Acc__Note {
    font-size: 14px;
    margin: -30px auto 40px;

    a {
      color: var(--cv-secondary);
    }
  }
}

.Wifi__Col__Text{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.Wifi__Acc__Sso {
  a {
    font-size: 16px;
  }
}

.Wifi__Acc__Anchor {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  align-items: center;

  a {
    display: block;
    margin: 0;
    font-size: 18px;
    line-height: 1.8;
    transition: opacity 0.3s;
    padding: 5px 0 7px;

    &:hover{
      opacity: 0.7;
    }

    span{
      background-image: url("/products/one-gate_new/images/chevron-down-solid.svg");
      margin-top: 6px;
    }
  }
}

.Wifi__Acc__Sso{
  a{
    line-height: 1.8;
    transition: opacity 0.3s;

    &:hover{
      opacity: 0.7;
    }
  }
}

.Wifi__normal-text {
  font-size: 16px;
  line-height: 1.8;
}

.Wifi__IssueNumber {
  span {
    font-size: 24px;
  }
}

.new-page-container {
  .Wifi__Solution {
    font-size: 30px;
    margin: 0 auto 75px;
  }
}


.Wifi__List__Items__Title {
  font-size: 24px;
  position: relative;
  z-index: 2;
  background: none;

  &::before{
    content: "";
    position: absolute;
    background: linear-gradient(transparent 50%, #dde9ff 0%);
    width: 100%;
    height: 80%;
    left: 0;
    bottom: 0;
    z-index: -1;
  }
}

.new-page-container{
  .Wifi__List__Items__Point {
    font-size: 16px;
    margin-top: 4px;
    margin-right: 20px;
  }
}

.Wifi__List{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.Wifi__List__Items {
  p {
    font-size: 16px;
  }
}

.Wifi__Img {
  p {
    font-size: 12px;
  }
}

.Wifi__Img-text{
  margin-top: 16px;
  line-height: 1.5;
}

.Wifi__Acc__Frame__Item__Link__Btn {
  font-size: 15px;
  transition: opacity 0.3s;
  padding: 4px 15px 6px;

  &:hover{
    opacity: 0.7;
  }
}

.WP__SubTitle {
  font-size: 24px;
}

.WP__Col2__Img {
  margin: 0;
}

.Inquiry__Btn {
  background-image: url("/products/one-gate_new/images/button_bg_img.png");
  padding: 15px 10px 17px;
  transition: opacity 0.3s;

  &:hover{
    opacity: 0.7;
  }
}

.Inquiry__Btn span .Inquiry__Btn__TextS {
  font-size: 20px;
}

.O-Text {
  font-size: 16px;

  a {
    color: var(--cv-secondary);
  }
}

/******************************
  SecureWorkspace_fix
*****************************/
.mainVisual-secure {
  height: auto;
  justify-content: start;
  margin-top: 0;
  background: url("/products/ssw_new/images/secureworkspace_kv_pc.jpg") no-repeat center center/cover;
}

.mainVisual-secure__inner {
  padding: 88px 32px;
  width: 65%;
  max-width: none;
  z-index: 2;
}

.mainVisual-secure__text {
  text-shadow: none;
  letter-spacing: 0;
}

.mainVisual-secure__badge {
  gap: 8px;
  justify-content: left;
  margin-top: 16px;
}

.mainVisual-secure__badge__item {
  margin: 0;
  flex: none;
  width: 140px;
  height: auto;
  aspect-ratio: 1 / 1;
  background-image: url(/products/ssw_new/images/badge_bg.png);
}

.mainVisual-secure__text__catch {
  font-weight: var(--fw-bold);
  margin: 0;
  letter-spacing: 0;
  line-height: 1.75;
  font-size: 16px;
}

.mainVisual-secure__text__title {
  font-size: 24px;
  line-height: 1.4;
  margin-bottom: 20px;
}

.mainVisual-secure__badge__text {
  font-size: 13px;
  font-weight: 900;
}

.common__col {
  &.new-secure-col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }

  +.common__col {
    margin-top: 16px;
  }

  &.Wifi__Acc__Frame {
    align-items: stretch;
  }
}

.common__col__3 {
  max-width: none;
  margin-right: 0;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}

.functions__frame {
  padding: 16px 20px 20px;
  border-color: var(--border-primary);
  border-radius: 8px;
}

.functions__title {
  font-size: 18px;
  font-weight: var(--fw-bold);
  line-height: 1.4;
  margin-top: 16px;
  margin-bottom: 0;
}

.solve__title {
  font-size: 18px;
  line-height: 1.4;
  color: var(--cv-primary);
  margin-top: 16px;
  margin-bottom: 0;

  span {
    background: none;
    font-size: 18px;
  }
}

.solve__lead {
  font-size: 16px;
  font-weight: var(--fw-regular);
  line-height: 1.5;
  min-height: auto;
  margin-top: 8px;
  margin-bottom: 0;
}

.introduce {
  padding: 70px 0 64px;
}

.introduce__frame {
  padding: 40px 50px;
  margin-top: 32px;
  border: solid 1px var(--border-primary);
  border-radius: 8px;
}

.introduce__catch {
  font-size: 28px;
  line-height: 1.4;
  font-weight: var(--fw-bold);
  margin-bottom: 32px;
  color: var(--text-color);
  text-align: left;
}

.common__img--functions {
  width: fit-content;
  margin-inline: auto;

  img {
    max-width: 150px;
    max-height: 150px;
  }
}

.common__text {
  &.common__text--top {
    text-align: left;
    margin-bottom: 16px;
  }
}

.bgBlue {
  padding: 70px 0 64px;
}

.functions {
  padding-top: 64px;
}

.common__btnM {
  margin-top: 40px;

  a {
    font-size: 18px;
    color: #ffffff;
    width: fit-content;
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px 16px;
    gap: 4px;
    border-radius: 8px;
    background-color: var(--cv-secondary);
    transition: opacity 0.3s;

    &:hover {
      opacity: 0.7;
    }
  }
}

.new-secure-compare {
  padding-top: 64px;
}

.document {
  background: none;
  padding: 70px 0 64px;
}

.new-onegate-download {
  padding-top: 44px;
}

.new-onegate-zerotrust {
  padding-top: 70px;
}

.new-onegate-whitepaper {
  padding: 70px 0 0px;
}

.WP__Col3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 40px;
  margin-top: 24px;
  margin-bottom: 0;
}

.WP__Col3__Img {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  margin: 0;

  img {
    margin: 0;
    border: none;
    padding: none;
    object-fit: contain;
  }
}

.WP__Col3__Img__image {
  margin-bottom: 16px;
  border: solid 1px var(--border-secondary);
  width: 100%;
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
}

.WP__Col3__innet-text {
  font-size: 16px;
}

.WP__Sub-text {
  font-size: 16px;
  margin-bottom: 20px;

  a{
    color: var(--cv-secondary);
    transition: opacity 0.3s;

    &:hover{
      opacity: 0.7;
    }
  }
}

.Inquiry__Btn {
  font-size: 23px;
}

.Inquiry__Btn__FontS {
  font-size: 18px;
}

.WP__Col3_text_link {
  a {
    display: flex;
    gap: 2px;
    font-size: 16px;
    align-items: center;
    color: var(--cv-secondary);
    text-decoration: underline;
    font-weight: var(--fw-middle);
    margin-top: 12px;

    &:is(.O-List__Link *) {
      justify-content: end;
      text-align: right;
      margin-top: 0;
      font-weight: var(--fw-bold);

    }
  }

  svg{
    transform: translateY(1px);
  }
}

.WP__Unnecessary:after,
.WP__Weblink:after,
.WP__New:after {
  width: auto;
  height: auto;
  top: 6px;
  right: auto;
  left: 6px;
  background-color: var(--cv-primary);
  padding: 2px 8px 4px;
  border-radius: 4px;
  font-size: 13px;
  line-height: 1.5;
  font-weight: var(--fw-middle);
  border: none;
  z-index: 5;
}

.WP__Col2 {
  gap: 32px;

  &.WP__Col2--setting {
    margin: 40px 0 30px;
  }
}

.O-TpCert-Box{
  margin-top: 30px;
}

.O-TpCert-Text{
  line-height: 1.5;
}

.explain__youtube{
  padding: 48px 0 64px;

  .youtube{
    padding-top: 57.25%;

    + .youtube{
      margin-top: 48px;
    }
  }
}


.ssw-price-wrapper{
  padding: 48px 0 64px;

  p{
    font-size: 16px;
  }
}

.ssw-price-table{
  width: 100%;
  border-collapse: collapse;
  border: none;
  border-top: 1px solid #b4b4b4;
  background: #f2f9ff;
  margin: 40px 0 10px;

  th,
  td{
    font-size: 18px;
    border: none;
    border-bottom: 1px solid #b4b4b4;
    padding: 25px 40px;
  }

  tbody th {
    font-weight: bold;
  }

  thead th{
    color: #fff;
    font-size: 24px;
    text-align: center;
    font-weight: 700;
    background: #32c8d2;
    padding: 5px 40px;
  }
}

/******************************
  NetAttestEPS_Fix
*****************************/
.section-common {
  padding-top: 0;
}

.new-eps-2grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 30px;
}

.new-eps-2grid__item{
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
}

.section-authentication {
  .box {
    max-width: 100%;
    padding: 48px 17px 21px 64px;
    margin: 41px auto 24px;
    background-color: #dde6f1;
    border-radius: 10px;
  }

  .col-icon {
    order: -1;
    width: 37%;
  }

  .fig-caption {
    margin-top: 10px;
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 500;
    margin-left: 0;
  }

  .fig {
    display: block;
    margin-left: auto;
    margin-top: -77px;
  }
}

.col-md {
  flex: 1 0 0;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.text-blue {
  color: var(--cv-secondary);
}

.section-lineup {
  .caption {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
  }

  .img-container {
    min-height: 192px;
    margin-inline: auto;
  }
}

.fig-container {
  margin-top: 24px;
}

.d-table {
  display: table !important;
}

.d-table-cell {
  display: table-cell !important;
}

.text-center {
  text-align: center !important;
}

.box-bordered {
  .box-inner {
    padding: 54px 51px 78px;

    +.box-inner {
      padding-top: 84px;
      border-top: 1px solid #b4b4b4;
    }
  }

  .box-lead {
    padding: 0 4px;
    margin-bottom: 82px;
    font-size: 16px;
    line-height: 1.5625;
  }

  .mb-md {
    margin-bottom: 32px;
  }
}

.card {
  display: flex;
  position: relative;
}

.card-methods {
  flex-direction: row;
  margin-bottom: 26px;
  margin-left: 30px;

  .card-body {
    padding: 30px 0 0 32px;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.4;
  }

  .card-title {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.23;
    letter-spacing: 0.05em;
    color: var(--cv-secondary);
  }

  .text-sm {
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.15;

    small {
      font-size: 14px;
      font-weight: 500
    }
  }
}

.row-lg-20>div,
.row-lg-20>li {
  padding-right: 20px;
  padding-left: 20px;
}

.card-gray {
  border-radius: 10px;
  background: #f7f7f7;

  .card-body {
    padding: 31px 47px 53px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5625;
  }

  .card-title {
    margin-top: 0;
    margin-bottom: 19px;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    color: var(--cv-secondary);
  }
}


.list-tick {
  list-style: none;

  li {
    position: relative;
    padding: 23px 30px 21px 92px;
    font-size: 26px;
    font-weight: bold;
    line-height: 1.5;
    color: #333;
    background-color: #f7f7f7;
    border-radius: 10px;

    &::before,
    &::after {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 33px;
      margin-top: auto;
      margin-bottom: auto;
      content: "";
    }

    &::before {
      width: 37px;
      height: 37px;
      background-color: var(--cv-secondary);
      border-radius: 50%;
    }

    &::after {
      bottom: 2px;
      width: 10px;
      height: 21px;
      margin-left: 14px;
      border: solid #fff;
      border-width: 0 2px 2px 0;
      transform: rotate(45deg);
    }

    +li {
      margin-top: 9px;
    }
  }
}

.section-auth-service {
  .table-container {
    margin-bottom: 56px;
  }
}

.table-header.table-header--eps {
  .col-1 {
    width: 217px;
  }

  >thead>tr>th {
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    color: #fff;
    background-color: var(--cv-secondary);
    padding: 12px 19px 13px 20px;
    border: 1px solid #707070;
    height: auto;
  }

  >tbody>tr>th,
  >tbody>tr>td {
    padding-bottom: 17px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5625;
    text-align: left;
    vertical-align: top;
    height: auto;
    padding: 12px 19px 13px 20px;
  }

  >tbody>tr>th {
    font-size: 14px;
    line-height: 1.78;
  }
}

.title-border-bottom-blue {
  position: relative;
  padding-bottom: 22px;
  margin-top: 0;
  font-weight: bold;
  font-size: 37px;
  line-height: 1.21;
  text-align: center;
  color: var(--cv-secondary);

  &::after {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    max-width: 346px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    border-bottom: 2px solid;
    content: "";
  }
}

.section-distribution {
  .fig {
    margin-top: 32px;
    margin-bottom: 12px;
  }
}

.box-bordered {
  border: 1px solid #b4b4b4;
  border-radius: 10px;

  .box-title {
    margin-bottom: 55px;
  }
}

.max-width-1097 {
  max-width: 1097px;
  margin-inline: auto;
}

.eps-other-wrapper {
  gap: 32px 0;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.section-key-manager{
  a{
    color: var(--cv-secondary);
  }
}

.eqs-other-wrapper{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 40px;
}

.eqs-other-item{
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 1;
}

.table-simple.table-simple--eps{
  thead > tr > th,
  thead > tr > td,
  tbody > tr > th,
  tbody > tr > td{
    height: 69px;
    padding: 20px 12px 19px 24px;
    font-size: 18px;
    font-weight: var(--fw-middle);
    line-height: 1.67;
    text-align: left;
    color: var(--text-color);
    border: 1px solid #707070;
    vertical-align: middle;
  }

  thead > tr > th,
  tbody > tr > th{
    font-weight: 800;
    background-color: #f7f7f7;
    vertical-align: middle;
  }

  &.table-last-center{
    > tbody > tr > td:last-child{
      padding-right: 12px;
      padding-left: 12px;
      text-align: center;
      vertical-align: middle;
    }
  }

  a{
    color: var(--cv-secondary);

    &:hover{
      text-decoration: underline;
    }
  }
}

.eps-table-caption{
  padding-left: 2px;
  margin-top: 24px;
  font-size: 16px;
  font-weight: var(--fw-middle);
  line-height: 1.6;
  text-align: left;
}



.c-link[data-icon=file]::after {
  background: url(/products/netattest_eps_new/images/tab04/icon-doc.svg) no-repeat;
}

.c-link[data-icon=window]::after {
  background: url(/products/netattest_eps_new/images/tab04/window.svg) no-repeat;
}

.p-support__list-item__button[data-icon=window]:before {
  background-image: url(/products/netattest_eps_new/images/tab04/window.svg);
}

subtitle-eps{
  font-weight: var(--fw-bold);
  font-size: 20px;
  line-height: 1.25;
}

.btn-container.btn-container--eps{
  text-align: center;

  .eps-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 428px;
    margin-inline: auto;
    gap: 4px;
    padding: 14px 32px 16px;
    font-size: 18px;
    font-weight: var(--fw-bold);
    line-height: 150%;
    color: #ffffff;
    border-radius: 8px;
    background-color: var(--cv-secondary);
    margin-top: 24px;
    transition: opacity 0.3s;

    &:hover{
      opacity: 0.7;
    }
  }
}

.subtitle-eps{
  font-size: 20px;
  font-weight: var(--fw-bold);
}

@media screen and (min-width: 1024px) {
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
}

/*****************
  Responsive
****************/
@media (max-width: 1023px) {

  .sp-hide {
    display: none !important;
  }

  .pc-hide {
    display: block !important;
  }

  /*************************
    wrapper & container
  ************************/
  .l-main.new-page-main {
    padding-bottom: 40px;
  }

  .new-page-block {
    margin-top: 44px;

    &.new-page-block--noheading {
      margin-top: 40px;
    }

    &.new-page-block--nomargin {
      margin-top: 0px;
    }

    &.new-page-block--top {
      margin-top: 24px;
    }

    &.new-page-block--partner {
      margin-bottom: 40px;
    }
  }

  .new-page-container {
    .new-page-heading {
      font-size: 24px;
      line-height: 1.4;
      margin-bottom: 20px;

      &::before {
        top: -6px;
        width: 28px;
      }

      &.new-page-heading--center {
        text-align: center;
        font-size: 26px;

        &::before {
          top: auto;
          bottom: -16px;
        }
      }

      &.new-page-heading--mb-middle {
        margin-bottom: 20px;

        &:is(.p-cta-top.p-section *){
          margin-top: 0;
        }
      }

      &.new-page-heading--mb-short {
        margin-bottom: 16px;
      }
    }

    .new-page-main-title {
      font-size: 28px;
      padding: 12px 0;
      width: calc(100% - (20px * 2));

      &:is(.hasForm *) {
        width: calc(100% - (20px * 2));
      }
    }
  }

  .new-page-footer {
    width: 100%;

    &.footer-hasForm {
      width: 100%;
    }

    .l-container {
      max-width: 100%;
      width: 100%;
      padding: 0 20px;

      &:is(.footer-hasForm *) {
        width: 100%;
      }
    }

    .l-footer_sitemap_lv2 {
      margin-left: 0;
      margin-right: 0;
    }
  }

  .new-page-contents {
    font-feature-settings: 'palt' on;

    &.center-head {
      padding-top: 54px;
    }

    &.left-head {
      padding-top: 54px;
    }
  }

  /*************************
    utility
  ************************/
  .new-page-container {
    .new-page-lower-container--large {
      margin-top: 44px;
    }

    .new-page-lower-container--semi-large {
      margin-top: 44px;
    }

    .new-page-sp-container-middle {
      margin-top: 24px;
    }

    .new-page-flex {
      &.new-page-flex--sp-1column {
        display: block;
      }
    }

    .pc-full-section {
      width: calc(100% + 40px);
      left: -20px;

      &:is(.hasForm *) {
        width: calc(100% + 40px);
        left: -20px;
      }
    }
  }

  .p-pagetop.p-pagetop-hasform{
    right: 20px;
  }


  /*************************
    header
  ************************/
  .header-new {
    box-shadow: none;
    padding: 0;
    width: 100%;
  }

  .header-new-center {
    .header_new-navi {
      margin: 0;
    }


    .center {
      pointer-events: none;
      text-align: left;
      position: relative;
      z-index: 10;
      padding: 16px 20px 14px;
      box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.40);

      img {
        width: auto;
        height: 24px;
      }
    }
  }

  .header_new-navi {
    .header_new-navi_inner {
      display: none;
    }

    &.header_new-navi_has-logo {
      position: relative;
      z-index: 10;
      padding: 16px 20px 14px;
      box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.40);
    }
  }

  .header-new-left {
    .left img {
      width: 139px;
    }
  }

  /* hamburger */
  .new-hamburger {
    display: block;
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    padding: 7px 4px;
    border: none;
    background-color: transparent;

    span {
      display: block;
      position: absolute;
      width: 22px;
      height: 2px;
      background-color: var(--body-secondary);
      transition: top 0.3s, rotate 0.3s;

      &:nth-of-type(1) {
        top: 7px;
      }

      &:nth-of-type(2) {
        top: 15px;
      }

      &:nth-of-type(3) {
        top: 23px;
      }
    }

    &.is-open {
      span {
        &:nth-of-type(1) {
          top: 13px;
          rotate: 45deg;
        }

        &:nth-of-type(2) {
          display: none;
        }

        &:nth-of-type(3) {
          top: 13px;
          rotate: -45deg;
        }
      }
    }
  }

  .new-drawer {
    &.is-open {
      grid-template-rows: 1fr;
    }

    .new-drawer_cta {
      padding: 24px 20px 32px;

      ul {
        display: flex;
        flex-direction: column;
        gap: 16px;
      }

      .cta {
        display: flex;
        padding: 2px 12px 5px 12px;
        justify-content: center;
        align-items: center;
        border-radius: 100vmax;
        line-height: 1.5;
        font-size: 16px;
        transition: opacity 0.3s;
        text-decoration: none;
        padding: 10px 12px 13px 12px;
        font-weight: var(--fw-middle);

        &:hover {
          opacity: 0.7;
        }
      }
    }
  }

  .new-drawer_list {
    a.current {
      background: #F2F5FA;
    }
  }

  /*****************
    mv
  ****************/
  .new-page-mv {
    margin-top: 16px;
  }

  .new-page-mv-text {
    margin-top: 28px;
    padding-inline: 0;

    p {
      font-size: 18px;
      font-weight: var(--fw-middle);
    }
  }

  .new-product-logo-list {
    flex-direction: column;
  }

  /* container */
  .new-page-container {
    width: calc(100% - 40px);

    &:is(.hasForm *) {
      width: calc(100% - 40px);
    }

    &.header_new-navi {
      width: 100%;
    }
  }

  /* wrapper */
  .new-page-wrapper {
    display: block;
  }

  .new-page-2column {
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
  }

  .new-page-3column {
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
  }

  /* form */
  .new-page-form {
    display: none;
  }

  /* btn */
  .new-page-detail-btn {
    width: 100%;
  }

  /* merit */
  .new-page-merit-outer {
    gap: 32px;
  }


  .new-page-merit-item {
    display: block;

    .new-page-merit-content {
      width: 100%;
      margin-top: 16px;
    }


    .new-page-merit-image {
      width: 100%;

      &:is(.merit-align-center *) {
        width: 168px;
        margin-inline: auto;
      }

      img {
        width: 100%;
        height: auto;
      }
    }

    .new-page-merit-title {
      font-size: 22px;
      margin-bottom: 8px;
    }

    .new-page-merit-text {
      margin-bottom: 20px;

      &:is(.merit-align-center *) {
        margin-bottom: 0;
      }
    }
  }


  /*****************
    download
  ****************/
  .new-page-download-item {
    margin-top: 20px;

    &.new-page-download-item--parallel {
      margin: 0;
    }

    .new-page-download-title {
      font-size: 22px;

      &.sp-include-image-title {
        display: block;
        margin-top: 8px;
        padding-inline: 20px;
      }
    }

    .new-page-download-text {
      &.sp-include-image-text {
        display: block;
        padding-inline: 20px;
      }
    }

    &.new-page-download-item--subgrid {
      display: block;
      grid-row: auto;
      gap: 0;
    }

    .new-page-download-inner {
      padding: 16px 20px 24px;

      &:has(.new-page-download-image) {
        margin-top: 0;
        padding: 0;
      }

      &.new-page-download-inner--flex {
        display: block;
      }
    }

    .new-page-download-image {
      padding: 20px 20px 0;

      &:is(.new-page-download-inner--flex *) {
        width: calc(100% - (20px * 2));
        left: 20px;
        position: relative;
        padding: 0;
        margin-top: 20px;
      }
    }

    .new-page-download-btn {
      &.sp-solution-btn {
        margin-top: 20px;
      }
    }
  }

  /*****************
    conversion
  ****************/
  .new-page-conversion {
    padding: 32px 20px 40px;
    margin-top: 48px;

    &:is(.new-page-block--nomargin *) {
      margin-top: 0;
    }

    .new-page-conversion__item {
      width: 100%;
    }

    .new-page-conversion__inner {
      flex-direction: column;
      gap: 24px;
    }

    .new-page-conversion__btn {
      padding: 12px 0 14px;
      font-size: 16px;
      transition: opacity 0.3s;

      &:hover {
        text-decoration: none;
        opacity: 0.7;
      }
    }

    .new-page-conversion__textarea {
      display: flex;
      flex-direction: column;
      gap: 4px;

      &:is(.new-page-conversion__item *) {
        margin-bottom: 4px;
      }

      p {
        font-size: 14px;
        margin: 0;
        line-height: 1.5;
        font-weight: var(--fw-regular);

        &.conversion-lead {
          font-size: 18px;
        }
      }

      a {
        color: #fff;
        text-decoration: underline;
        text-underline-offset: 2px;

        &::before {
          display: none;
        }
      }
    }
  }

  /*****************
    product_category
  ****************/
  .new-page-product_category {
    padding: 32px 0 40px;
    gap: 0;

    .new-page-product_category__title {
      font-size: 22px;
    }

    .new-page-product_category__list {
      margin-top: 32px;
      overflow-x: scroll;
      overflow-y: hidden;
      scrollbar-width: none;
      padding-bottom: 2px;

      li {
        list-style-type: none;
        flex-shrink: 0;

        &:not(:first-of-type) {
          padding-left: 16px;
          border-left: solid 1px var(--border-primary);
        }
      }

      a {
        color: #333;
        font-weight: var(--fw-middle);

        &.is-current {
          color: var(--cv-primary);
        }

        &:hover {
          color: var(--cv-primary);
        }
      }
    }
  }

  .new-page-indicator {
    position: relative;
    display: block;
    z-index: 1;
    margin-top: 12px;
    border-radius: 100vmax;
    background-color: #C7CED9;
    overflow: hidden;
    width: 100%;
    height: 4px;
  }

  .new-page-indicator__progress {
    position: absolute;
    display: block;
    z-index: 2;
    top: 0;
    left: 0;
    width: 75px;
    height: 4px;
    border-radius: 100vmax;
    background-color: var(--cv-secondary);
  }

  /*****************
    news
  ****************/
  .new-page-container {

    .p-support__list{
      margin-bottom: 40px;
    }

    .p-support__list-item__label {
      margin-top: 2px;
      min-width: 120px;
    }

    .c-label-icon {
      padding-left: 0;
      transform: translateY(-1px);
    }
  }

  /*****************
    partner
  ****************/
  .l-grid .l-grid_container.new-page-partner {
    gap: 24px 16px;
  }

  .l-grid .new-page-partner .l-grid_column[data-column="4"] {
    flex-basis: calc((100% - 16px) / 2);
  }

  .new-page-partner {
    .l-grid_column.ew-page-partner__item {
      flex-basis: calc(33.3333% - 26.666px);
    }

    .c-link-block.new-page-partner__block {
      border: none;
    }

    .c-link-block__body.new-page-partner__body {
      padding: 0;
      background-color: transparent;
      margin-top: 8px;
    }

    .c-link-block__title.new-page-partner__title {
      font-size: 18px;
    }

    .c-link-block__description.new-page-partner__description {
      font-size: 13px;
    }

    .new-page-partner__tag-list {
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      gap: 4px;
      margin-top: 12px;
    }

    .new-page-partner__tag-item {
      a {
        padding: 4px 8px 4px;
        font-size: 10.5px;
        line-height: 1.25;
      }
    }
  }

  /*****************
    relation
  ****************/
  .new-page-relation-block {
    margin: 40px 0 0px;
  }

  .new-page-relation-inner {
    margin-top: 42px;
  }

  .new-page-relation-all-btn {
    width: 100%;
    margin-top: 24px;

    a {
      width: 100%;
      font-size: 16px;
      padding: 12px 16px 14px;
    }
  }

  .new-page-relation-item {
    padding: 20px 20px 24px;

    .new-page-relation-item__inner {
      gap: 8px;
    }

    .new-page-relation-item__logo {
      height: 170px;

      img {
        padding-inline: 42px;
        height: auto;
      }

      .new-page-detail-btn {
        display: flex;
        align-items: center;
        background-color: var(--cv-secondary);

        p {
          color: #fff;
        }
      }
    }

    .new-page-relation-item__title {
      font-size: 22px;
    }
  }

  /*****************
    article
  ****************/
  .new-page-article__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 16px 16px;
    margin-top: 48px;
  }

  .new-page-article__link {
    flex-direction: column;
    gap: 8px;
    padding-bottom: 28px;
  }

  .new-page-article__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 1;
  }

  .new-page-article__category {
    width: auto;
    border: none;
    justify-content: left;
    padding-inline: 0;
    gap: 8px;

    svg {
      width: 32px;
      height: auto;
    }
  }

  .new-page-article__category-name {
    font-size: 14px;
    font-weight: var(--fw-bold);
  }

  .new-page-article__content {
    width: 100%;
    gap: 6px;
  }

  .new-page-article-tab {
    grid-auto-flow: inherit;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;

    .new-page-article-tab__link {
      display: block;
      padding: 7px 0px 14px;
    }
  }

  /*************************
    anchor-link
  ************************/
  .new-page-anchor {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 16px;
  }

  .new-page-anchor__text {
    font-size: 13px;
  }

  .new-page-anchor__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 1;
  }



  /*****************
    card
  ****************/
  .new-page-card {
    padding: 16px 20px 20px;

    &.card--flow {
      flex-direction: column;
      gap: 4px;
    }

    svg {
      rotate: 90deg;
    }

    .new-page-card__image {
      height: 99px;
      margin-bottom: 8px;

      svg {
        rotate: 90deg;
      }
    }

    .new-page-card__textarea {
      &.has-list {
        padding-left: 16px;
        list-style: disc;
      }
    }

    .new-page-card__text {
      text-align: center;
    }

    .new-page-card__title {
      font-size: 18px;

      &.new-page-card__title--sp-large {
        font-size: 22px;
      }
    }

    .new-page-card__flow-item {
      width: 100%;
    }

    .card-text-center {
      &:not(:first-of-type) {
        margin-top: 0px;
      }
    }

    .new-page-card--flex {
      flex-direction: column;
      gap: 16px;
    }

    .new-page-card--flex__content {

      p,
      li {
        font-size: 16px;
        font-weight: var(--fw-regular);
        line-height: 1.5;
      }

      p {
        margin-bottom: 16px;
      }

      ul {
        list-style: disc;
        padding-left: 16px;
      }

      li:not(:first-of-type) {
        margin-top: 2px;
      }

      .new-page-card--flex__title {
        text-align: center;
        font-size: 18px;
      }

      .new-page-card--flex__subtitle {
        display: block;
        font-size: 20px;
        font-weight: var(--fw-bold);
        margin-top: 16px;
        margin-bottom: 8px;
      }
    }

    .new-page-card--flex__image {
      height: auto;
      width: 100%;

      &.new-page-card--flex__image--limited {
        width: 100%;
      }

      &.card-in-image {
        width: 100%;
        flex-shrink: 0;
      }
    }
  }

  .new-page-card-wrap--small {
    margin-top: 16px;
  }

  .new-page-card-wrap--large {
    margin-top: 16px;
  }

  /*************************
    LowerPage
  ************************/
  .new-page-lower_elem1__image {
    width: 100%;
  }

  .new-page-lower_elem1__content {
    width: 100%;
    margin-top: 24px;

    .new-page-lower_elem1__caution {
      margin-top: 16px;
    }

    .new-page-lower_elem1__subtitle {
      font-size: 22px;
      margin: 16px 0 8px;
    }

    .new-page-lower_elem1__button {
      padding: 12px 16px 14px;
      font-size: 16px;
      margin-top: 20px;
      text-align: center;
      width: 100%;
    }
  }

  .new-page-card_under-caution {
    margin-top: 8px;
  }

  .new-page-container {
    .new-page-lower-title {
      font-size: 22px;
    }

    .new-page-lower-subtext {
      margin-top: 8px;
    }

    .new-page-lower-small-title {
      font-size: 20px;

      span {
        margin-left: 8px;
        font-size: 14px;
        font-weight: var(--fw-regular);
      }
    }

    .new-page-lower-small-textarea {
      margin-top: 16px;

      p {
        font-size: 16px;
        font-weight: var(--fw-regular);
      }

      ul {
        margin-top: 8px;
        padding-left: 16px;
        list-style: disc;
      }

      li {
        font-size: 16px;
        font-weight: var(--fw-regular);
      }
    }

    .new-page-movie {
      width: 100%;
      margin-top: 16px;
    }

    .new-title-movie-caption {
      margin-top: 8px;
    }

    .new-page-lower-map {
      margin-top: 40px;

      img {
        width: 100%;
      }
    }

    .new-page-lower-leadtext {
      display: flex;
      flex-direction: column;
      gap: 2px;
      margin-top: 16px;

      p {
        font-size: 18px;
        font-weight: var(--fw-middle);
        line-height: 1.5;
      }
    }

    .new-page-lower_elem2 {

      .new-page-lower_elem2__content {
        width: 100%;
      }

      .new-page-lower_elem2__image {
        width: 100%;
        margin-top: 40px;
        max-width: 195px;
        margin-inline: auto;
      }
    }

    .new-page-lower_elem4 {


      &.new-page-lower_elem4--reverse {
        flex-direction: column;
      }
    }

    .new-page-lower_elem4__image {
      width: auto;
    }

    .eps-image-container {
      margin-top: 16px;
      gap: 24px;
    }
  }

  .eps-system-row{
    gap: 16px;

    img{
      width: 100%;
      height: auto;
    }
  }

  .Detail__Inner {
    margin-bottom: 40px;

    &.Detail-tab3 {
      padding: 36px 0 60px;
    }
  }

  .Wifi__Solution {
    font-size: 16px;
  }

  .WP__Col2 {
    margin-bottom: 0;

    &.WP__Col2--setting {
      margin: 30px 0 20px;
    }
  }

  /*****************
    OneGate_fix
  ****************/
  .p-about {
    padding: 40px 20px;
  }

  .p-about-item {
    margin-bottom: 16px;
  }

  .p-about-content-text {
    font-size: 22px;
    text-align: center;

    span {
      font-size: 22px;
    }
  }

  .p-about-row {
    gap: 16px;
  }

  .p-detail-content {
    margin-top: 20px;
  }

  .p-detail-row-content {
    margin-top: 16px;

    p {
      font-size: 22px;
    }
  }

  .p-about-graph {
    margin-top: 0;
  }

  .p-detail-banner {
    margin-top: 16px;
  }

  .p-detail {
    padding: 44px 0;
  }

  .p-detail-row-image {
    width: 72px;
  }

  .p-point {
    padding: 44px 20px 40px;
  }

  .p-point-content {
    width: 100%;
  }

  .p-point-content-heading {
    font-size: 12px;
    padding: 2px 12px 4px;
  }

  .p-point-content-lead {
    font-size: 22px;
  }

  .p-point-row {
    padding-bottom: 24px;
    margin-bottom: 20px;
  }

  .p-point-image {
    margin-top: 16px;
  }

  .p-point-function-row {
    padding: 0;
  }

  .p-point-function-term {
    padding: 16px 16px 4px;
  }

  .p-point-function-desc {
    padding: 4px 16px 20px;
  }

  .p-plan-notes {
    margin-bottom: 16px;

    p {
      display: inline-block;
    }
  }

  .p-cta-top {
    padding-top: 44px;
  }

  .p-movie {
    padding-top: 44px;
  }

  .p-movie-item {
    margin-bottom: 16px;
  }

  .p-movie-link {
    width: 100%;
    margin-top: 16px;

    a {
      width: 100%;
      font-size: 16px;
      padding: 12px 16px 14px;
    }
  }

  .p-plan {
    padding-top: 40px;
  }

  .p-plan-notes {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .c-link-button {
    width: 100%;
    max-width: none;

    &:is(.p-performance *) {
      margin-top: 20px;
    }

    &:is(.p-plan *) {
      margin-top: 16px;
    }

    a {
      width: 100%;
      padding: 12px 16px 14px;
      font-size: 16px;

      &.p-button-original {
        font-size: 18px;
        padding: 9px 0 11px;
      }
    }

    svg {
      width: 16px;
      height: auto;
    }
  }

  .p-flow-step-list {
    grid-template-columns: repeat(1, 1fr);
  }

  .p-flow-step-item {
    padding: 16px 20px 20px;
    margin-bottom: 16px;
  }

  .p-flow-step-lead {
    font-size: 16px;
  }

  .p-flow-step-heading {
    font-size: 16px;
  }


  .p-flow-step-inner {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 8px;
  }

  .p-flow-step-text {
    margin-left: 0;
    max-width: none;
    width: 100%;
    margin-top: 0;
  }

  .p-flow-step-icon {
    width: 96px;
    height: 96px;
    margin: 0 auto;
    flex-shrink: 0;
  }

  .p-document-list {
    display: block;
  }

  .p-performance {
    padding: 40px 0;
  }

  .text-link {
    font-size: 14px;

    &:is(.p-plan-notes *) {
      margin-top: 0;
    }
  }

  .new-onegate-zerotrust {
    padding-top: 44px;
  }

  .new-onegate-whitepaper {
    padding: 44px 0px 0px;
  }

  .WP__Col3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 16px;
    margin-top: 16px;
  }

  .WP__Col3__Img__image {
    margin-bottom: 8px;
  }

  .WP__Col3__innet-text {
    font-size: 13px;
  }

  .WP__Col3_text_link {
    a {
      font-size: 14px;
    }

    svg {
      width: 14px;
      height: auto;
      flex-shrink: none;
    }
  }

  .Wifi__Acc__Anchor{
    flex-direction: column;
    gap: 10px 10px;
  }

  .WP__Unnecessary:after,
  .WP__Weblink:after,
  .WP__New:after {
    top: 4px;
    left: 4px;
    font-size: 11px;
  }

  .p-download-title {
    font-size: 21px;
    margin-bottom: 0;
  }

  .c-link-button.-col1 {
    width: 100%;

    &.-blue{
      margin-top: 32px;
    }
  }

  .Wifi__Title {
    font-size: 18px;
  }

  .Wifi__normal-text {
    font-size: 14px;
  }

  .Wifi__List__Items__Title {
    font-size: 18px;
  }

  .Inquiry__Btn span .Inquiry__Btn__TextS {
    font-size: 20px;
  }

  .Wifi__IssueText{
    h3{
      margin-bottom: 6px;
    }
    p{
      font-size: 14px;
    }
  }

  .Wifi__List{
    padding: 30px 20px 30px;
  }

  .new-page-container{
    .Wifi__Solution {
      font-size: 18px;
    }
  }

  .new-page-container{
    .Wifi__List__Items__Title{
      margin-top: 4px;
    }
  }

  .Wifi__List__Items__Text{
    p{
      font-size: 14px;
    }
  }

  .Wifi__Acc__Frame__Item__Title{
    text-align: center;
  }

  .Wifi__Acc__Frame__Item_NoPadding{
    padding: 0 0 16px;
  }

  .p-plan-table-rowspan .p-plan-table-td:first-child.-basic.sp-onegate-flex,
  .p-plan-table-rowspan .p-plan-table-td:first-child.-std.sp-onegate-flex,
  .p-plan-table-rowspan .p-plan-table-td:first-child.-pki.sp-onegate-flex,
  .p-plan-table-rowspan .p-plan-table-td:nth-of-type(2).-std.sp-onegate-flex,
  .p-plan-table-rowspan .p-plan-table-td:nth-of-type(2).-basic.sp-onegate-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .p-plan-table-td.-align-left{
    padding-left: 5px;
    text-align: center;
  }

  .Inquiry__Btn{
    font-size: 20px;
  }

  .ancLink01{
    grid-template-columns: repeat(1, 1fr);
    gap: 4px 4px;
  }

  .colLayout01.count2{
    padding-bottom: 40px;
  }

  .explain__youtube{
    padding: 40px 0 64px;

    .youtube{
      padding-top: 59%;

      + .youtube{
        margin-top: 24px;
      }
    }
  }

  .ssw-price-wrapper{
    font-size: 14px;
  }

  .ssw-price-table{

    th,
    td{
      padding: 10px;
      font-size: 14px;
    }

    thead th{
      font-size: 18px;
      padding: 5px 10px;
    }
  }

  /******************************
    SecureWorkspace_fix
  *****************************/
  .mainVisual-secure {
    display: block;
    height: 690px;
    width: calc(100% + (20px * 2));
    left: -20px;
    background: url("/products/ssw_new/images/secureworkspace_kv_sp.jpg") no-repeat center center/cover;
  }

  .mainVisual-secure__inner {
    padding: 16px 20px 0;
    position: relative;
    width: 100%;
    z-index: 1;
  }

  .mainVisual-secure__text__title {
    font-size: 18px;
    margin-bottom: 16px;
    text-align: left;
  }

  .mainVisual-secure__text__catch {
    font-size: 14px;
    text-align: left;
    font-weight: var(--fw-middle);
  }

  .mainVisual-secure__badge {
    gap: 0;
    justify-content: center;
  }

  .mainVisual-secure__badge__item {
    width: 116px;
  }

  .mainVisual-secure__badge__text {
    font-size: 12px;
    font-weight: var(--fw-bold);
  }

  .introduce {
    padding: 44px 0 40px;
  }

  .common__col {
    &.new-secure-col {
      display: block;
    }
  }

  .functions__frame {
    margin-bottom: 16px;

    &:last-child {
      margin-bottom: 0;
    }

    &.functions__frame--sp-flex {
      display: flex;
      align-items: center;
      gap: 16px;
    }
  }

  .common__text {
    &.common__text--top {
      font-size: 18px;
    }
  }

  .common__img--functions {
    flex-shrink: 0;
    margin: 0;

    &.common__img--functions--sp-flex {
      display: flex;
      gap: 16px;
      align-items: center;
    }

    img {
      max-width: 80px;
      max-height: 80px;
    }
  }

  .functions {
    padding-top: 44px;
  }

  .functions__title {
    text-align: left;
    font-size: 16px;
    margin: 0;
  }

  .solve__title {
    font-size: 16px;
    text-align: left;
    margin-top: 0;
  }

  .introduce__frame {
    padding: 16px 20px 20px;
    margin-top: 20px;
  }

  .introduce__catch {
    font-size: 22px;
    margin-bottom: 12px;
  }

  .bgBlue {
    padding: 44px 0 40px;
  }

  .common__btnM {
    margin-top: 20px;

    a {
      width: 100%;
    }
  }

  .new-secure-compare {
    padding-top: 44px;
  }

  .document {
    padding: 44px 0 40px;
  }

  /*************************
    NetAttestEPS_fix
  ************************/
  .section-authentication {
    .box {
      padding: 25px 5px 15px;
    }

    .col-icon {
      width: 100%;
      order: 2;
    }

    .fig {
      margin-top: -40px;
      margin-bottom: 20px;
    }
  }

  .eps-table-caption{
    padding-left: 0;
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.6;
  }

  .new-eps-2grid{
    display: block;
  }

  .new-eps-2grid__item{
    display: block;
  }

  .section-auth-service .new-eps-2grid__item .table-container{
    margin-bottom: 32px;
  }

  .section-lineup {
    .col-md {
      flex: none;
    }

    .caption {
      font-size: 18px;
    }

    .img-container {
      min-height: auto;
    }
  }

  .section-auth-service.section-common {
    padding-top: 32px;
  }

  .box-bordered {
    .box-inner {
      padding: 35px 15px 40px;

      +.box-inner {
        padding-top: 40px;
      }
    }

    .box-lead {
      padding: 0;
      margin-bottom: 40px;
      font-size: 14px;
      line-height: 1.4;
    }

    .mb-md {
      margin-bottom: 32px;
    }

    .box-title {
      margin-bottom: 24px;
    }
  }

  .title-border-bottom-blue {
    font-size: 23px;
    margin-bottom: 24px;
    padding-bottom: 10px;
  }

  .card-methods {
    margin-bottom: 20px;
    margin-left: 0;

    .card-body {
      padding-top: 10px;
      padding-left: 10px;
      font-size: 20px;
    }

    .card-title {
      font-size: 20px;
    }

    .card-img {
      width: 90px;
    }

    .text-sm {
      font-size: 16px;

      small {
        font-size: 11px;
      }
    }
  }

  .table-header {

    &.table-header--eps {
      .col-1 {
        width: 144px;
      }

      >thead>tr>th,
      >thead>tr>td,
      >tbody>tr>th,
      >tbody>tr>td {
        padding: 8px 10px;
      }

      tbody>tr>th,
      tbody>tr>td {
        padding-bottom: 12px;
        font-size: 12px;
      }

      >thead>tr>th {
        font-size: 14px;
      }

      >tbody>tr>td {
        padding-top: 9px;
      }

      >tbody>tr>th {
        padding-bottom: 12px;
        font-size: 12px;
      }
    }
  }

  .section-auth-service {
    .table-container {
      margin-bottom: 56px;
    }
  }

  .list-tick {
    li {
      padding: 15px 13px 15px 50px;
      font-size: 20px;
      line-height: 1.4;

      &::before,
      &::after {
        left: 10px;
      }

      &::before {
        width: 30px;
        height: 30px;
      }

      &::after {
        bottom: 5px;
        width: 8px;
        height: 15px;
        margin-left: 12px;
      }

      +li {
        margin-top: 6px;
      }
    }
  }

  .card-gray {
    margin-bottom: 20px;

    .card-body {
      padding: 20px 15px;
      font-size: 14px;
    }

    .card-title {
      margin-bottom: 12px;
      font-size: 22px;
    }
  }

  .section-common.section-strengthen-security{
    padding-top: 32px;
  }

  .section-function{
    padding-top: 32px;
  }

  .subtitle-eps{
    font-size: 18px;
  }

  .btn-container.btn-container--eps{
    .eps-btn{
      width: 100%;
      font-size: 16px;
      padding: 12px 16px 14px;
      margin-top: 16px;
    }
  }

  .eqs-other-wrapper{
    grid-template-columns: repeat(1, 1fr);
    gap: 0px;
  }

}

@media screen and (min-width: 768px) and (max-width: 1280px) {
  .l-footer_sitemap_sns_list {
    margin-top: 24px;
  }
}

@media screen and (max-width: 767.98px) {
  .new-page-footer {

    &:is(.footer-hasForm *) {
      width: 100%;
    }

    .l-footer_sitemap_list {
      display: block;
      margin-top: 0;
    }
  }

  /*************************
    table&table-element
  ************************/
  .new-page-container {
    .table-simple {
      table {
        width: 100%;
      }

      table,
      thead,
      tbody,
      tr {
        width: 100%;
        display: block;
      }

      th,
      td {
        display: block;
        padding: 4vw 0;
      }

      th {
        padding-right: 0;
        padding-bottom: 5px;
        font-size: 18px;
        border-bottom-width: 0;
      }

      td {
        padding-top: 0;
        font-size: 16px;
        border-top-width: 0;
      }

      &.table-simple--eps{
        table,
        thead,
        tbody,
        tr,
        th,
        td{
          white-space: normal;
          vertical-align: middle;
        }

        table{
          display: table;
        }

        thead{
          display: table-header-group;
        }

        tbody{
          display: table-row-group;
        }

        tr{
          display: table-row;
        }

        th{
          display: table-cell;
          min-width: 120px;
          padding: 20px 16px;
        }

        td{
          display: table-cell;
          min-width: 120px;
          padding: 20px 16px;
        }

        > thead > tr > th{
          padding: 24px 5px;
        }
      }
    }

    .c-list-aside {
      padding-left: 14px;
      list-style-type: "※";
    }

    .c-list-aside--sm {
      margin-top: 32px;
    }

    .c-list-aside__item {
      padding-left: 0;
      margin-bottom: 0;
      font-size: 1rem;
      line-height: 1.5625;
    }

    .table-center {

      thead th,
      thead td,
      tbody th,
      tbody td {
        vertical-align: middle;
        text-align: center;
      }
    }

    .table-header {

      table {
        width: max-content;
      }

      th {
        font-size: 18px;
      }

      td {
        font-size: 18px;
        vertical-align: top;
      }
    }
  }

  .c-link[data-icon=file]::after{
    margin-left: 0;
  }

  .c-link[data-icon=window]::after{
    margin-left: 0;
  }

  .p-performance .l-inner-lv1 {
    padding: 0 0;
  }
}