@charset "UTF-8";

main .is-hero-section {
  padding: 0 16px;
  position: relative;
  z-index: 0;
}

main .is-hero-section .is-breadcrumb-container {
  padding-top: 16px;
}

@media screen and (max-width: 414px) {
  main .is-hero-section .is-breadcrumb-container {
    padding-top: 8px;
  }
}

main .is-hero-section .is-breadcrumb-container .breadcrumb {
  max-width: 1440px;
  margin: auto;
}

main .is-hero-section .is-breadcrumb-container .breadcrumb ol {
  list-style-type: none;
  display: flex;
}

main .is-hero-section .is-breadcrumb-container .breadcrumb ol li {
  font-size: 1rem;
}

main .is-hero-section .is-breadcrumb-container .breadcrumb ol li a {
  text-decoration: none;
  font-size: 1.25rem;
  color: #06284d;
}

@media screen and (max-width: 1440px) {
  main .is-hero-section .is-breadcrumb-container .breadcrumb ol li a {
    font-size: 1rem;
  }
}

main .is-hero-section .is-breadcrumb-container .breadcrumb ol li span {
  font-size: 1.25rem;
  color: rgba(32, 53, 77, 0.7019607843);
}

@media screen and (max-width: 1440px) {
  main .is-hero-section .is-breadcrumb-container .breadcrumb ol li span {
    font-size: 1rem;
  }
}

main .is-hero-section::before {
  z-index: -1;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  bottom: 0;
  left: 0;
  background: url(/img/isCTAbg.webp) no-repeat center/cover;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  main .is-hero-section::before {
    background: url(/img/isCTAbg.webp) no-repeat center/200%;
  }
}

@media screen and (max-width: 414px) {
  main .is-hero-section::before {
    background: url(/img/isCTAbg.webp) no-repeat center/300%;
  }
}

main .is-hero-section .is-hero-detail {
  max-width: 880px;
  margin: auto;
  padding: 40px 0 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
}

@media screen and (max-width: 768px) {
  main .is-hero-section .is-hero-detail {
    max-width: 508px;
  }
}

main .is-hero-section .is-hero-detail h1 {
  font-size: 2.441rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  main .is-hero-section .is-hero-detail h1 {
    font-size: 1.953rem;
  }
}

main .is-hero-section .is-hero-detail p {
  font-size: 1.25rem;
  line-height: 1.8em !important;
  text-align: left;
}

@media screen and (max-width: 768px) {
  main .is-hero-section .is-hero-detail p {
    font-size: 1rem;
  }
}

@media screen and (max-width: 768px) {
  main .is-hero-section .is-cta-wrapper {
    padding: 16px 0px 56px;
  }
}

main .is-hero-section .is-cta-container {
  padding: 16px 0px 40px !important;
}

@media screen and (max-width: 768px) {
  main .is-hero-section .is-cta-container {
    padding: 16px 0px 0 !important;
  }
}

/* ------------------------------
 料金プラン表
------------------------------ */
main .is-price-section,
main .is-additional-storage-price-section,
main .is-additional-download-price-section,
main .is-ai-credits-price-section,
main .is-bcp-price-section {
  margin-top: 80px;
  margin-bottom: 80px;
  padding: 0 40px;
}

@media screen and (max-width: 768px) {
  main .is-price-section,
  main .is-additional-storage-price-section,
  main .is-additional-download-price-section,
  main .is-ai-credits-price-section,
  main .is-bcp-price-section {
    padding: 0 16px;
  }
}

@media screen and (max-width: 414px) {
  main .is-price-section,
  main .is-additional-storage-price-section,
  main .is-additional-download-price-section,
  main .is-ai-credits-price-section,
  main .is-bcp-price-section {
    margin-top: 40px;
  }
}

/* ---------- 料金プラン表：PC用 ----------- */
main .is-price-section .is-price-containerPC,
div.additional-storage-price-tablePC,
div.additional-download-price-tablePC,
div.ai-credits-price-tablePC,
div.bcp-price-tablePC {
  max-width: 1280px;
  width: 100%;
  margin: 40px auto 0;
}

@media screen and (max-width: 768px) {
  main .is-price-section .is-price-containerPC,
  div.additional-storage-price-tablePC,
  div.additional-download-price-tablePC,
  div.bcp-price-tablePC {
    display: none;
  }
}

main .is-price-section .is-price-containerPC table,
main .is-price-section .is-price-containerPC table td,
main .is-price-section .is-price-containerPC table th {
  border-collapse: collapse;
}

main .is-price-section .is-price-containerPC table {
  border: none;
  z-index: 0;
  color: #06284d;
  table-layout: fixed;
  width: 100%;
}

/* 法人向け：「フリー」「ユーザー数ライセンス・スタンダード/エンタープライズ」を非表示、ユーザー数無制限プランのみ表示 */
.is-price-section.business .is-price-containerPC thead tr > :nth-child(2),
.is-price-section.business .is-price-containerPC tbody tr > :nth-child(2),
.is-price-section.business .is-price-containerPC thead tr > :nth-child(5),
.is-price-section.business .is-price-containerPC tbody tr > :nth-child(5),
.is-price-section.business .is-price-containerPC thead tr > :nth-child(6),
.is-price-section.business .is-price-containerPC tbody tr > :nth-child(6) {
  display: none;
}

/* 個人向け：「ユーザー数無制限スタンダードプラン」「ユーザー数無制限エンタープライズプラン」を非表示 */
.is-price-section.individual .is-price-containerPC thead tr > :nth-child(3),
.is-price-section.individual .is-price-containerPC tbody tr > :nth-child(3),
.is-price-section.individual .is-price-containerPC thead tr > :nth-child(4),
.is-price-section.individual .is-price-containerPC tbody tr > :nth-child(4) {
  display: none;
}

/* 法人向け：列レイアウトを1列目(項目名) + 残り2列 に変更 */
.is-price-section.business .is-price-containerPC thead tr,
.is-price-section.business .is-price-containerPC tbody tr {
  grid-template-columns: 186px repeat(2, 1fr);
}

/* 個人向け：列レイアウトを1列目(項目名) + 残り3列 に変更 */
.is-price-section.individual .is-price-containerPC thead tr,
.is-price-section.individual .is-price-containerPC tbody tr {
  grid-template-columns: 186px repeat(3, 1fr);
}

main .is-price-section .is-price-containerPC table thead {
  z-index: 1;
  position: sticky;
  top: 80px;
}

@media screen and (max-width: 1440px) {
  main .is-price-section .is-price-containerPC table thead {
    top: 64px;
  }
}

@media screen and (max-width: 1360px) {
  main .is-price-section .is-price-containerPC table thead {
    position: initial;
  }
}

main .is-price-section .is-price-containerPC table thead tr {
  display: grid;
}

main .is-price-section .is-price-containerPC table thead tr:first-child th {
  line-height: 1.8rem;
}

main .is-price-section .is-price-containerPC table thead tr:first-child th span {
  font-weight: normal;
  font-size: 1rem;
}

main .is-price-section .is-price-containerPC table thead tr th:first-child {
  font-weight: 400;
  font-size: 1rem;
  padding: 0 24px;
  background-color: #f2f1f8;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  margin-right: -1px;
  color: #06284d;
  display: flex;
  justify-content: left;
  align-items: center;
}

main .is-price-section .is-price-containerPC table thead tr th:not(:first-child) {
  font-size: 1.25rem;
  padding: 16px 8px;
  background-color: #1b5fab;
  color: #fff;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  margin-right: -1px;
}

.is-price-section.individual .is-price-containerPC table thead tr:first-child th:nth-child(2) {
  border-left: 1px solid #1b5fab;
}

.is-price-section.business .is-price-containerPC table thead tr:first-child th:nth-child(3) {
  border-left: 1px solid #1b5fab;
}

.is-price-section.individual .is-price-containerPC table thead tr:first-child th:nth-child(6) {
  border-right: 1px solid #1b5fab;
}

.is-price-section.business .is-price-containerPC table thead tr:first-child th:nth-child(4) {
  border-right: 1px solid #1b5fab;
}

main .is-price-section .is-price-containerPC table thead tr:last-child th {
  display: flex;
  align-items: center;
  height: 120px;
}

main .is-price-section .is-price-containerPC table thead tr:last-child th:first-child {
  background-color: #f2f1f8;
  justify-content: left;
}

main .is-price-section .is-price-containerPC table thead tr:last-child th:not(:first-child) {
  color: #20354D;
  background-color: #fff;
  border-left: 1px solid #9cc8f2;
  border-right: 1px solid #9cc8f2;
  border-bottom: 1px solid #f5f9ff;
  justify-content: center;
}

main .is-price-section .is-price-containerPC table thead tr:last-child .free-emphasis span {
  font-size: 1.953rem;
  color: #1b5fab;
}

main .is-price-section .is-price-containerPC table thead tr:last-child .price-emphasis div {
  font-size: 1.25rem;
  line-height: 1.08;
}

main .is-price-section .is-price-containerPC table thead tr:last-child .price-emphasis div span {
  font-size: 2.441rem;
  color: #1b5fab;
}

main .is-price-section .is-price-containerPC table thead tr:last-child .price-emphasis div small {
  font-size: 0.8rem;
  font-weight: 400;
}

main .is-price-section .is-price-containerPC table thead tr:last-child span.taxType {
  font-size: 0.8rem !important;
  color: #06284d !important;
}

main .is-price-section .is-price-containerPC table tbody {
  z-index: 0;
}

main .is-price-section .is-price-containerPC table tbody tr:nth-child(odd) th {
  background-color: #f2f1f8;
}

main .is-price-section .is-price-containerPC table tbody tr:nth-child(even) th {
  background-color: #f2f1f8;
}

main .is-price-section .is-price-containerPC table tbody tr:nth-child(odd) td {
  background-color: #f5f9ff;
}

main .is-price-section .is-price-containerPC table tbody tr {
  display: grid;
  align-items: center;
}

main .is-price-section .is-price-containerPC table tbody tr th {
  text-align: left;
  color: #06284d;
  padding: 24px;
  border-bottom: 1px solid #fff;
  font-size: 1rem;
  font-weight: 400;
  height: 100%;
  display: flex;
  align-items: center;
}

main .is-price-section .is-price-containerPC table tbody tr:last-child th {
  border-bottom: 1px solid #f2f1f8;
}

main .is-price-section .is-price-containerPC table tbody tr td {
  text-align: center;
  height: 100%;
  font-size: 1.25rem;
  color: #20354D;
  display: flex;
  justify-content: center;
  align-items: center;
  border-left: 1px solid #9cc8f2;
  border-right: 1px solid #9cc8f2;
  margin-right: -1px;
}

main .is-price-section .is-price-containerPC table tbody tr td span {
  font-size: 1.563rem;
  font-weight: 700;
  color: #1b5fab;
}

main .is-price-section .is-price-containerPC table tbody tr td div {
  vertical-align: baseline;
}

main .is-price-section .is-price-containerPC table tbody tr td .no-emphasis {
  font-size: 1rem;
}

main .is-price-section .is-price-containerPC table tbody tr td .entp-option {
  font-size: 1rem;
  font-weight: 700;
  color: #1D4977;
}

main .is-price-section .is-price-containerPC table tbody tr td .entp-option::before {
  content: "※ ";
}

main .is-price-section .is-price-containerPC table tbody tr td .emphasis {
  font-size: 1.25rem;
  color: #1D4977;
  -webkit-text-stroke: 1px #1D4977;
}

main .is-price-section .is-price-containerPC table tbody tr td .xmark {
  font-size: 1.953rem;
  color: #1D4977;
  font-weight: 400;
}

/* 電子帳簿保存データ算出用ツールチップ */
main .is-price-section .is-price-containerPC table tbody tr td .tooltip {
  position: relative;
  display: inline-block;
}

main .is-price-section .is-price-containerPC table tbody tr td .tooltip img {
  width: 16px;
}

main .is-price-section .is-price-containerPC table tbody tr td .tooltip .tooltiptext {
  visibility: hidden;
  width: 280px;
  background-color: #06284d;
  color: #fff;
  text-align: left;
  border-radius: 6px;
  padding: 8px 16px;
  position: absolute;
  z-index: 1;
  bottom: 100%;
  right: 0;
  margin-right: -36px;
  font-size: 1rem;
}

main .is-price-section .is-price-containerPC table tbody tr td .tooltip .tooltiptext::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 12.5%;
  transform: translate(25%, 75%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 21.5px solid transparent;
  border-left: 21.5px solid transparent;
  border-top: 12.5px solid #06284d;
  border-bottom: 0;
}

main .is-price-section .is-price-containerPC table tbody tr td .tooltip:hover .tooltiptext {
  visibility: visible;
}

main .is-price-section .is-price-containerPC table tbody tr:last-child td {
  position: relative;
  font-size: 1rem;
  color: #06284d;
  font-weight: 400;
  display: block;
  text-align: left;
  line-height: 1.7em;
  border: none;
  padding: 24px 16px 40px;
  border-left: 1px solid #9cc8f2;
  border-right: 1px solid #9cc8f2;
  margin-right: -1px;
}

main .is-price-section .is-price-containerPC table tbody tr:last-child td::after {
  z-index: 2;
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: #9cc8f2;
}

@media screen and (max-width: 768px) {
  main .is-price-section .is-price-containerPC table tbody tr:last-child td {
    padding: 24px 16px 40px;
  }
}

main .is-price-section .is-price-containerPC table tbody tr:last-child td span {
  font-size: inherit;
  font-weight: 700 !important;
  color: inherit;
}

main .is-price-section .is-price-containerPC table tbody tr:last-child td a {
  color: #1d90fc;
}

main .is-price-section .is-price-containerPC table tbody tr:last-child td a:hover {
  opacity: 0.75;
}

/* ---------- 料金プラン表：スマートフォン用 ----------- */
main .is-price-section .is-price-containerSP,
div.additional-storage-price-tableSP,
div.additional-download-price-tableSP,
div.bcp-price-tableSP {
  margin: 0 0 40px;
  display: flex;
  flex-direction: column;
  gap: 80px;
}

@media screen and (min-width: 769px) {
  main .is-price-section .is-price-containerSP,
  div.additional-storage-price-tableSP,
  div.additional-download-price-tableSP,
  div.bcp-price-tableSP {
    display: none;
  }
}

div.additional-storage-price-tableSP,
div.additional-download-price-tableSP,
div.bcp-price-tableSP {
  margin-bottom: 0;
  gap: 48px;
}

@media screen and (max-width: 768px) {
  /* 法人向け (モバイル)：「フリープラン」「ユーザー数ライセンス・スタンダード/エンタープライズ」を非表示、ユーザー数無制限プランのみ表示 */
  .is-price-section.business .is-price-containerSP table[data-plan="free-plan"],
  .is-price-section.business .is-price-containerSP table[data-plan="standard-plan"],
  .is-price-section.business .is-price-containerSP table[data-plan="enterprise-plan"] {
    display: none;
  }

  .is-price-section.business .is-price-containerSP table[data-plan="unlimited-standard-plan"],
  .is-price-section.business .is-price-containerSP table[data-plan="unlimited-enterprise-plan"] {
    display: table;
  }

  /* 個人向け (モバイル)：「ユーザー数無制限スタンダードプラン」「ユーザー数無制限エンタープライズプラン」非表示、「フリープラン」「スタンダードプラン」「エンタープライズプラン」表示 */
  .is-price-section.individual .is-price-containerSP table[data-plan="unlimited-standard-plan"],
  .is-price-section.individual .is-price-containerSP table[data-plan="unlimited-enterprise-plan"] {
    display: none;
  }

  .is-price-section.individual .is-price-containerSP table[data-plan="free-plan"],
  .is-price-section.individual .is-price-containerSP table[data-plan="standard-plan"],
  .is-price-section.individual .is-price-containerSP table[data-plan="enterprise-plan"] {
    display: table;
  }

  /* 法人向け (モバイル)：追加ストレージ、追加ダウンロード通信枠、BCP料金表 - 「フリー」「ユーザー数ライセンス・スタンダード/エンタープライズ」を非表示、ユーザー数無制限プランのみ表示 */
  .is-additional-storage-price-section.business div.additional-storage-price-tableSP table[data-plan="storage-free"],
  .is-additional-storage-price-section.business div.additional-storage-price-tableSP table[data-plan="storage-standard"],
  .is-additional-storage-price-section.business div.additional-storage-price-tableSP table[data-plan="storage-enterprise"],
  .is-additional-download-price-section.business div.additional-download-price-tableSP table[data-plan="download-free"],
  .is-additional-download-price-section.business div.additional-download-price-tableSP table[data-plan="download-standard"],
  .is-additional-download-price-section.business div.additional-download-price-tableSP table[data-plan="download-enterprise"],
  .is-bcp-price-section.business div.bcp-price-tableSP table[data-plan="bcp-free"],
  .is-bcp-price-section.business div.bcp-price-tableSP table[data-plan="bcp-standard"],
  .is-bcp-price-section.business div.bcp-price-tableSP table[data-plan="bcp-enterprise"] {
    display: none;
  }

  .is-additional-storage-price-section.business div.additional-storage-price-tableSP table[data-plan="storage-unlimited-standard"],
  .is-additional-storage-price-section.business div.additional-storage-price-tableSP table[data-plan="storage-unlimited-enterprise"],
  .is-additional-download-price-section.business div.additional-download-price-tableSP table[data-plan="download-unlimited-standard"],
  .is-additional-download-price-section.business div.additional-download-price-tableSP table[data-plan="download-unlimited-enterprise"],
  .is-bcp-price-section.business div.bcp-price-tableSP table[data-plan="bcp-unlimited-standard"],
  .is-bcp-price-section.business div.bcp-price-tableSP table[data-plan="bcp-unlimited-enterprise"] {
    display: table;
  }

  /* 個人向け (モバイル)：追加ストレージ、追加ダウンロード通信枠料金表 */
  /* 「ユーザー数無制限スタンダードプラン」「ユーザー数無制限エンタープライズプラン」非表示 */
  .is-additional-storage-price-section.individual div.additional-storage-price-tableSP table[data-plan="storage-unlimited-standard"],
  .is-additional-storage-price-section.individual div.additional-storage-price-tableSP table[data-plan="storage-unlimited-enterprise"],
  .is-additional-download-price-section.individual div.additional-download-price-tableSP table[data-plan="download-unlimited-standard"],
  .is-additional-download-price-section.individual div.additional-download-price-tableSP table[data-plan="download-unlimited-enterprise"],
  .is-bcp-price-section.individual div.bcp-price-tableSP table[data-plan="bcp-unlimited-standard"],
  .is-bcp-price-section.individual div.bcp-price-tableSP table[data-plan="bcp-unlimited-enterprise"] {
    display: none;
  }

  .is-additional-storage-price-section.individual div.additional-storage-price-tableSP table[data-plan="storage-free"],
  .is-additional-download-price-section.individual div.additional-download-price-tableSP table[data-plan="download-free"],
  .is-bcp-price-section.individual div.bcp-price-tableSP table[data-plan="bcp-free"] {
    display: table;
  }
}

main .is-price-section .is-price-containerSP table,
main .is-price-section .is-price-containerSP table th,
main .is-price-section .is-price-containerSP table td,
div.additional-storage-price-tableSP table,
div.additional-storage-price-tableSP table th,
div.additional-storage-price-tableSP table td,
div.additional-download-price-tableSP table,
div.additional-download-price-tableSP table th,
div.additional-download-price-tableSP table td,
div.bcp-price-tableSP table,
div.bcp-price-tableSP table th,
div.bcp-price-tableSP table td {
  border-collapse: collapse;
}

main .is-price-section .is-price-containerSP table,
div.additional-storage-price-tableSP table,
div.additional-download-price-tableSP table,
div.bcp-price-tableSP table {
  width: 100%;
  margin: auto;
  border: none;
  z-index: 0;
  color: #06284d;
}

main .is-price-section .is-price-containerSP table thead,
div.additional-storage-price-tableSP table thead,
div.additional-download-price-tableSP table thead,
div.bcp-price-tableSP table thead {
  z-index: 1;
}

main .is-price-section .is-price-containerSP table thead tr th,
div.additional-storage-price-tableSP table thead tr th,
div.additional-download-price-tableSP table thead tr th,
div.bcp-price-tableSP table thead tr th {
  font-size: 1.25rem;
  line-height: 1.8rem;
  padding: 16px 8px;
  background-color: #1b5fab;
  color: #fff;
}

main .is-price-section .is-price-containerSP table thead tr th span,
div.additional-storage-price-tableSP table thead tr th span,
div.additional-download-price-tableSP table thead tr th span,
div.bcp-price-tableSP table thead tr th span {
  font-weight: normal;
  font-size: 1rem;
}

main .is-price-section .is-price-containerSP table tbody,
div.additional-storage-price-tableSP table tbody,
div.additional-download-price-tableSP table tbody,
div.bcp-price-tableSP table tbody {
  z-index: 0;
}

main .is-price-section .is-price-containerSP table tbody tr:nth-child(odd) th,
div.additional-storage-price-tableSP table tbody tr:nth-child(odd) th,
div.additional-download-price-tableSP table tbody tr:nth-child(odd) th,
div.bcp-price-tableSP table tbody tr:nth-child(odd) th {
  background-color: #f2f1f8;
}

main .is-price-section .is-price-containerSP table tbody tr:nth-child(even) th,
div.additional-storage-price-tableSP table tbody tr:nth-child(even) th,
div.additional-download-price-tableSP table tbody tr:nth-child(even) th,
div.bcp-price-tableSP table tbody tr:nth-child(even) th {
  background-color: #f2f1f8;
}

main .is-price-section .is-price-containerSP table tbody tr:nth-child(even) td,
div.additional-storage-price-tableSP table tbody tr:nth-child(even) td,
div.additional-download-price-tableSP table tbody tr:nth-child(even) td,
div.bcp-price-tableSP table tbody tr:nth-child(even) td {
  background-color: #f5f9ff;
}

main .is-price-section .is-price-containerSP table tbody tr,
div.additional-storage-price-tableSP table tbody tr,
div.additional-download-price-tableSP table tbody tr,
div.bcp-price-tableSP table tbody tr {
  display: grid;
  grid-template-columns: 108px 1fr;
  align-items: center;
}

main .is-price-section .is-price-containerSP table tbody tr th,
div.additional-storage-price-tableSP table tbody tr th,
div.additional-download-price-tableSP table tbody tr th,
div.bcp-price-tableSP table tbody tr th {
  text-align: left;
  color: #06284d;
  padding: 16px 8px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  font-size: 0.8rem;
  font-weight: 400;
  height: 100%;
  display: flex;
  align-items: center;
}

div.additional-storage-price-tableSP table tbody tr:last-child th,
div.additional-storage-price-tableSP table tbody tr:last-child td,
div.additional-download-price-tableSP table tbody tr:last-child th,
div.additional-download-price-tableSP table tbody tr:last-child td,
div.bcp-price-tableSP table tbody tr:last-child th,
div.bcp-price-tableSP table tbody tr:last-child td {
  border-bottom: 1px solid #9cc8f2;
}

main .is-price-section .is-price-containerSP table tbody tr td,
div.additional-storage-price-tableSP table tbody tr td,
div.additional-download-price-tableSP table tbody tr td,
div.bcp-price-tableSP table tbody tr td {
  text-align: center;
  height: 100%;
  font-size: 1rem;
  color: #20354D;
  display: flex;
  justify-content: center;
  align-items: center;
}

div.additional-storage-price-tableSP table tbody tr td.not-supportedSP,
div.additional-download-price-tableSP table tbody tr td.not-supportedSP,
div.bcp-price-tableSP table tbody tr td.not-supportedSP {
  font-size: 1.0rem;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.4;
  gap: 4px;
}

div.additional-storage-price-tableSP table tbody tr td.not-supportedSP small,
div.additional-download-price-tableSP table tbody tr td.not-supportedSP small,
div.bcp-price-tableSP table tbody tr td.not-supportedSP small {
  font-weight: normal;
  font-size: 0.65rem;
  line-height: 1.5em;
}

.is-bcp-price-section .bcp-message-business,
.is-bcp-price-section .bcp-message-individual {
  display: none;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
}

.is-bcp-price-section.business .bcp-message-business {
  display: inline;
}

.is-bcp-price-section.individual .bcp-message-individual {
  display: inline;
}

main .is-price-section .is-price-containerSP table tbody tr td span,
div.additional-storage-price-tableSP table tbody tr td span,
div.additional-download-price-tableSP table tbody tr td span,
div.bcp-price-tableSP table tbody tr td span {
  font-size: 1rem;
  font-weight: 700;
  color: #1b5fab;
}

main .is-price-section .is-price-containerSP table tbody tr td div,
div.additional-storage-price-tableSP table tbody tr td div,
div.additional-download-price-tableSP table tbody tr td div,
div.bcp-price-tableSP table tbody tr td div {
  vertical-align: baseline;
}

main .is-price-section .is-price-containerSP table tbody tr td small span.taxType,
div.additional-storage-price-tableSP table tbody tr td small span.taxType,
div.additional-download-price-tableSP table tbody tr td small span.taxType,
div.bcp-price-tableSP table tbody tr td small span.taxType {
  font-size: 0.64rem !important;
  color: #20354D !important;
  font-weight: 400 !important;
}

main .is-price-section .is-price-containerSP table tbody tr td .no-emphasis,
div.additional-storage-price-tableSP table tbody tr td .no-emphasis,
div.additional-download-price-tableSP table tbody tr td .no-emphasis,
div.bcp-price-tableSP table tbody tr td .no-emphasis {
  font-size: 0.8rem;
}

main .is-price-section .is-price-containerSP table tbody tr td .entp-option {
  font-size: 0.8rem;
  font-weight: 700;
  color: #20354D;
}

main .is-price-section .is-price-containerSP table tbody tr td .entp-option::before {
  content: "※ ";
}

main .is-price-section .is-price-containerSP table tbody tr td .emphasis,
div.additional-storage-price-tableSP table tbody tr td .emphasis,
div.additional-download-price-tableSP table tbody tr td .emphasis,
div.bcp-price-tableSP table tbody tr td .emphasis {
  font-size: 1rem;
  color: #20354D;
  -webkit-text-stroke: 1px #20354D;
}

main .is-price-section .is-price-containerSP table tbody tr td .xmark {
  font-size: 1.563rem;
  color: #20354D;
  font-weight: 400;
}

/* 電子帳簿保存データ算出用ツールチップ */
main .is-price-section .is-price-containerSP table tbody tr td .tooltip {
  position: relative;
  display: inline-block;
}

main .is-price-section .is-price-containerSP table tbody tr td .tooltip img {
  width: 12px;
}

main .is-price-section .is-price-containerSP table tbody tr td .tooltip .tooltiptext {
  visibility: hidden;
  width: 280px;
  background-color: #06284d;
  color: #fff;
  text-align: left;
  border-radius: 6px;
  padding: 8px 16px;
  position: absolute;
  z-index: 1;
  bottom: 100%;
  right: 0;
  margin-right: -28px;
  font-size: 0.8rem;
}

@media screen and (max-width: 414px) {
  main .is-price-section .is-price-containerSP table tbody tr td .tooltip .tooltiptext {
    width: 240px;
    font-size: 0.64rem;
  }
}

main .is-price-section .is-price-containerSP table tbody tr td .tooltip .tooltiptext::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 5%;
  transform: translate(0%, 75%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 21.5px solid transparent;
  border-left: 21.5px solid transparent;
  border-top: 12.5px solid #06284d;
  border-bottom: 0;
}

main .is-price-section .is-price-containerSP table tbody tr td .tooltip:hover .tooltiptext {
  visibility: visible;
}

main .is-price-section .is-price-containerSP table tbody tr .free-emphasis span {
  font-size: 1.25rem;
  color: #1b5fab;
}

main .is-price-section .is-price-containerSP table tbody tr .price-emphasis div,
div.additional-storage-price-tableSP table tbody tr .price-emphasis div,
div.additional-download-price-tableSP table tbody tr .price-emphasis div,
div.bcp-price-tableSP table tbody tr .price-emphasis div {
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.08 !important;
}

main .is-price-section .is-price-containerSP table tbody tr .price-emphasis div span,
div.additional-storage-price-tableSP table tbody tr .price-emphasis div span,
div.additional-download-price-tableSP table tbody tr .price-emphasis div span,
div.bcp-price-tableSP table tbody tr .price-emphasis div span {
  font-size: 1.563rem;
  color: #1b5fab;
}

main .is-price-section .is-price-containerSP table tbody tr .price-emphasis div small,
div.additional-storage-price-tableSP table tbody tr .price-emphasis div small,
div.additional-download-price-tableSP table tbody tr .price-emphasis div small,
div.bcp-price-tableSP table tbody tr .price-emphasis div small {
  font-size: 0.64rem;
  font-weight: 400;
}

main .is-price-section .is-price-containerSP table tbody tr:first-child,
div.additional-storage-price-tableSP table tbody tr:first-child,
div.additional-download-price-tableSP table tbody tr:first-child,
div.bcp-price-tableSP table tbody tr:first-child {
  height: 80px;
}

main .is-price-section .is-price-containerSP table tfoot tr {
  background-color: #f5f9ff;
}

main .is-price-section .is-price-containerSP table tfoot tr td {
  font-size: 0.8rem;
  line-height: 1.7em;
  padding: 16px 16px 24px;
}

main .is-price-section .is-price-containerSP table tfoot tr td span {
  font-weight: 700;
}

main .is-price-section .is-price-containerSP table tfoot tr td a {
  color: #1d90fc;
}

main .is-price-section .is-price-containerSP table tfoot tr td a:hover {
  opacity: 0.75;
}

/* 追加ストレージ、追加ダウンロード通信枠、AIクレジット料金表 */
/* PC用 */
main .is-additional-storage-price-section h2,
main .is-additional-download-price-section h2,
main .is-ai-credits-price-section h2,
main .is-bcp-price-section h2 {
  text-align: center;
  font-size: 2.441rem;
  margin: 120px 0 96px;
  color: #1D4977;
  position: relative;
  z-index: 0;
}

@media screen and (max-width: 768px) {
  main .is-additional-storage-price-section h2,
  main .is-additional-download-price-section h2,
  main .is-ai-credits-price-section h2,
  main .is-bcp-price-section h2 {
    font-size: 1.953rem;
  }
}

@media screen and (max-width: 414px) {
  main .is-additional-storage-price-section h2,
  main .is-additional-download-price-section h2,
  main .is-ai-credits-price-section h2,
  main .is-bcp-price-section h2 {
    font-size: 1.563rem;
    margin: 64px 0 80px;
  }
}

main .is-additional-storage-price-section h2::after,
main .is-additional-download-price-section h2::after,
main .is-ai-credits-price-section h2::after,
main .is-bcp-price-section h2::after {
  z-index: -1;
  content: "";
  position: absolute;
  left: 50%;
  bottom: 50%;
  transform: translate(-50%, 56px);
  width: 40px;
  height: 3px;
  background-color: #20354D;
}

@media screen and (max-width: 414px) {
  main .is-additional-storage-price-section h2::after,
  main .is-additional-download-price-section h2::after,
  main .is-ai-credits-price-section h2::after,
  main .is-bcp-price-section h2::after {
    transform: translate(-50%, 40px);
  }
}

div.additional-storage-price-tablePC table,
div.additional-download-price-tablePC table,
div.ai-credits-price-tablePC table,
div.bcp-price-tablePC table {
  border: none;
  z-index: 0;
  color: #06284d;
  table-layout: fixed;
  width: 100%;
}

div.additional-storage-price-tablePC table thead tr,
div.additional-storage-price-tablePC table tbody tr,
div.additional-download-price-tablePC table thead tr,
div.additional-download-price-tablePC table tbody tr,
div.ai-credits-price-tablePC table thead tr,
div.ai-credits-price-tablePC table tbody tr,
div.bcp-price-tablePC table thead tr,
div.bcp-price-tablePC table tbody tr {
  display: grid;
}

div.additional-storage-price-tablePC table tbody tr:last-child th,
div.additional-download-price-tablePC table tbody tr:last-child th,
div.ai-credits-price-tablePC table tbody tr:last-child th,
div.bcp-price-tablePC table tbody tr:last-child th {
  border-bottom: 1px solid #f2f1f8;
}

div.additional-storage-price-tablePC table tbody tr:last-child td,
div.additional-download-price-tablePC table tbody tr:last-child td,
div.ai-credits-price-tablePC table tbody tr:last-child td,
div.bcp-price-tablePC table tbody tr:last-child td {
  border-bottom: 1px solid #9cc8f2;
}

div.additional-storage-price-tablePC table,
div.additional-storage-price-tablePC table th,
div.additional-storage-price-tablePC table td,
div.additional-download-price-tablePC table,
div.additional-download-price-tablePC table td,
div.additional-download-price-tablePC table th,
div.ai-credits-price-tablePC table,
div.ai-credits-price-tablePC table th,
div.ai-credits-price-tablePC table td,
div.bcp-price-tablePC table,
div.bcp-price-tablePC table th,
div.bcp-price-tablePC table td {
  border-collapse: collapse;
}

div.additional-storage-price-tablePC table thead tr th:first-child,
div.additional-storage-price-tablePC table tbody tr th,
div.additional-download-price-tablePC table thead tr th:first-child,
div.additional-download-price-tablePC table tbody tr th,
div.ai-credits-price-tablePC table thead tr th:first-child,
div.ai-credits-price-tablePC table tbody tr th,
div.bcp-price-tablePC table thead tr th:first-child,
div.bcp-price-tablePC table tbody tr th {
  color: #06284d;
  font-weight: 400;
  font-size: 1rem;
  padding: 0 24px;
  margin-right: -1px;
  background-color: #f2f1f8;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  display: flex;
  justify-content: left;
  align-items: center;
}

div.additional-storage-price-tablePC table thead tr th:not(:first-child),
div.additional-download-price-tablePC table thead tr th:not(:first-child),
div.ai-credits-price-tablePC table thead tr th:not(:first-child),
div.bcp-price-tablePC table thead tr th:not(:first-child) {
  color: #fff;
  font-size: 1.25rem;
  line-height: 1.8rem;
  padding: 16px 8px;
  margin-right: -1px;
  background-color: #1b5fab;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

div.additional-storage-price-tablePC table thead tr th span,
div.additional-download-price-tablePC table thead tr th span,
div.ai-credits-price-tablePC table thead tr th span,
div.bcp-price-tablePC table thead tr th span {
  font-weight: normal;
  font-size: 1rem;
}

div.additional-storage-price-tablePC table tbody tr td,
div.additional-download-price-tablePC table tbody tr td,
div.bcp-price-tablePC table tbody tr td {
  color: #06284d;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.08;
  text-align: center;
  padding: 16px 8px;
  margin-right: -1px;
  background-color: #fff;
  border-left: 1px solid #9cc8f2;
  border-right: 1px solid #9cc8f2;
  border-bottom: 1px solid #fff;
}

div.additional-storage-price-tablePC table tbody tr td.not-supported,
div.additional-download-price-tablePC table tbody tr td.not-supported,
div.bcp-price-tablePC table tbody tr td.not-supported {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.6em;
}

div.ai-credits-price-tablePC table tbody tr td {
  color: #06284d;
  text-align: center;
  padding: 16px 8px;
  margin-right: -1px;
  background-color: #fff;
  border-left: 1px solid #9cc8f2;
  border-right: 1px solid #9cc8f2;
  border-bottom: 1px solid #fff;
}

div.additional-storage-price-tablePC table tbody tr td > span:first-of-type,
div.additional-download-price-tablePC table tbody tr td > span:first-of-type,
div.ai-credits-price-tablePC table tbody tr td > span:first-of-type,
div.bcp-price-tablePC table tbody tr td > span:first-of-type {
  font-size: 2.441rem;
  font-weight: bold;
  color: #1b5fab;
}

div.additional-storage-price-tablePC table tbody tr td small,
div.additional-download-price-tablePC table tbody tr td small,
div.bcp-price-tablePC table tbody tr td small {
  font-size: 0.8rem;
  font-weight: 400;
}

div.additional-storage-price-tablePC table tbody tr:nth-child(even) td,
div.additional-download-price-tablePC table tbody tr:nth-child(even) td,
div.ai-credits-price-tablePC table tbody tr:nth-child(even) td,
div.bcp-price-tablePC table tbody tr:nth-child(even) td {
  background-color: #f5f9ff;
}

div.additional-storage-price-tablePC table tbody tr td.not-supported,
div.additional-download-price-tablePC table tbody tr td.not-supported,
div.bcp-price-tablePC table tbody tr td.not-supported {
  vertical-align: middle;
}

/* 法人向け：「フリー」「ユーザー数ライセンス・スタンダード/エンタープライズ」を非表示、ユーザー数無制限プランのみ表示 */
.is-additional-storage-price-section.business .additional-storage-price-tablePC table thead tr > :nth-child(2),
.is-additional-storage-price-section.business .additional-storage-price-tablePC table tbody tr > :nth-child(2),
.is-additional-storage-price-section.business .additional-storage-price-tablePC table thead tr > :nth-child(5),
.is-additional-storage-price-section.business .additional-storage-price-tablePC table tbody tr > :nth-child(5),
.is-additional-storage-price-section.business .additional-storage-price-tablePC table thead tr > :nth-child(6),
.is-additional-storage-price-section.business .additional-storage-price-tablePC table tbody tr > :nth-child(6),
.is-additional-download-price-section.business .additional-download-price-tablePC table thead tr > :nth-child(2),
.is-additional-download-price-section.business .additional-download-price-tablePC table tbody tr > :nth-child(2),
.is-additional-download-price-section.business .additional-download-price-tablePC table thead tr > :nth-child(5),
.is-additional-download-price-section.business .additional-download-price-tablePC table tbody tr > :nth-child(5),
.is-additional-download-price-section.business .additional-download-price-tablePC table thead tr > :nth-child(6),
.is-additional-download-price-section.business .additional-download-price-tablePC table tbody tr > :nth-child(6),
.is-bcp-price-section.business .bcp-price-tablePC table thead tr > :nth-child(2),
.is-bcp-price-section.business .bcp-price-tablePC table tbody tr > :nth-child(2),
.is-bcp-price-section.business .bcp-price-tablePC table thead tr > :nth-child(5),
.is-bcp-price-section.business .bcp-price-tablePC table tbody tr > :nth-child(5),
.is-bcp-price-section.business .bcp-price-tablePC table thead tr > :nth-child(6),
.is-bcp-price-section.business .bcp-price-tablePC table tbody tr > :nth-child(6) {
  display: none;
}

/* 個人向け：「ユーザー数無制限・スタンダードプラン」「ユーザー数無制限・エンタープライズプラン」を非表示 */
.is-additional-storage-price-section.individual .additional-storage-price-tablePC table thead tr > :nth-child(3),
.is-additional-storage-price-section.individual .additional-storage-price-tablePC table tbody tr > :nth-child(3),
.is-additional-storage-price-section.individual .additional-storage-price-tablePC table thead tr > :nth-child(4),
.is-additional-storage-price-section.individual .additional-storage-price-tablePC table tbody tr > :nth-child(4),
.is-additional-download-price-section.individual .additional-download-price-tablePC table thead tr > :nth-child(3),
.is-additional-download-price-section.individual .additional-download-price-tablePC table tbody tr > :nth-child(3),
.is-additional-download-price-section.individual .additional-download-price-tablePC table thead tr > :nth-child(4),
.is-additional-download-price-section.individual .additional-download-price-tablePC table tbody tr > :nth-child(4),
.is-bcp-price-section.individual .bcp-price-tablePC table thead tr > :nth-child(3),
.is-bcp-price-section.individual .bcp-price-tablePC table tbody tr > :nth-child(3),
.is-bcp-price-section.individual .bcp-price-tablePC table thead tr > :nth-child(4),
.is-bcp-price-section.individual .bcp-price-tablePC table tbody tr > :nth-child(4) {
  display: none;
}

/* 法人向け：列レイアウトを1列目(項目名) + 残り2列 */
.is-additional-storage-price-section.business .additional-storage-price-tablePC table thead tr,
.is-additional-storage-price-section.business .additional-storage-price-tablePC table tbody tr,
.is-additional-download-price-section.business .additional-download-price-tablePC table thead tr,
.is-additional-download-price-section.business .additional-download-price-tablePC table tbody tr,
.is-bcp-price-section.business .bcp-price-tablePC table thead tr,
.is-bcp-price-section.business .bcp-price-tablePC table tbody tr {
  grid-template-columns: 186px repeat(2, 1fr);
}

/* 個人向け：列レイアウトを1列目(項目名) + 残り3列 */
.is-additional-storage-price-section.individual .additional-storage-price-tablePC table thead tr,
.is-additional-storage-price-section.individual .additional-storage-price-tablePC table tbody tr,
.is-additional-download-price-section.individual .additional-download-price-tablePC table thead tr,
.is-additional-download-price-section.individual .additional-download-price-tablePC table tbody tr,
.is-bcp-price-section.individual .bcp-price-tablePC table thead tr,
.is-bcp-price-section.individual .bcp-price-tablePC table tbody tr {
  grid-template-columns: 186px repeat(3, 1fr);
}

/* AIクレジット：AI機能 × 価格 の2列レイアウト（PC/SP共通）
   minmax(0, ...) でトラックの min-content 下限を外し、長い機能名でも
   横スクロールを発生させずセル内で折り返すようにする */
.is-ai-credits-price-section .ai-credits-price-tablePC table thead tr,
.is-ai-credits-price-section .ai-credits-price-tablePC table tbody tr {
  grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
}

/* AIクレジット：ヘッダは両列とも青背景・中央寄せ・太字（1列目の項目名スタイルを上書き） */
.is-ai-credits-price-section .ai-credits-price-tablePC table thead tr th:first-child {
  color: #fff;
  background-color: #1b5fab;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.8rem;
  border-left: 1px solid #1b5fab;
  justify-content: center;
}

/* AIクレジット：1列目(機能名)のデータセルを上下中央に表示
   （価格列の大きい数字で決まる行の高さに対し、機能名を縦中央寄せ）
   フォントサイズは2列目の単位テキスト(pt/分 等)に合わせる（PC:1.25rem / SP:1rem。太さは通常のまま） */
.is-ai-credits-price-section .ai-credits-price-tablePC table tbody tr td:first-child {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  font-size: 1.25rem;
  padding-left: 16px;
  padding-right: 16px;
}

/* AIクレジット：2列目の単位テキスト(pt/分 等)を他テーブルの価格セルに合わせる（1.25rem 太字）
   大きい数字(span)・円換算(small)はそれぞれ専用ルールが優先される */
.is-ai-credits-price-section .ai-credits-price-tablePC table tbody tr td:nth-child(2) {
  font-size: 1.25rem;
  font-weight: bold;
}

/* AIクレジット：スマホ表示（横スクロールを発生させない） */
@media screen and (max-width: 768px) {
  .is-ai-credits-price-section .ai-credits-price-tablePC table thead tr th:first-child,
  .is-ai-credits-price-section .ai-credits-price-tablePC table thead tr th:not(:first-child) {
    font-size: 1rem;
    line-height: 1.4;
    padding: 12px 6px;
  }

  .is-ai-credits-price-section .ai-credits-price-tablePC table tbody tr td {
    font-size: 0.8rem;
    padding: 12px 6px;
  }

  /* 1列目(機能名)のフォントサイズをSPでも2列目の単位テキストに合わせる（1rem）。左右パディングはSPでは8px */
  .is-ai-credits-price-section .ai-credits-price-tablePC table tbody tr td:first-child {
    font-size: 1rem;
    padding-left: 8px;
    padding-right: 8px;
  }

  /* 2列目の単位テキストはSPでは他テーブルのSP価格セルに合わせて1rem */
  .is-ai-credits-price-section .ai-credits-price-tablePC table tbody tr td:nth-child(2) {
    font-size: 1rem;
  }

  .is-ai-credits-price-section .ai-credits-price-tablePC table tbody tr td > span:first-of-type {
    font-size: 1.563rem;
  }
}

main .is-additional-storage-price-section ul,
main .is-additional-download-price-section ul,
main .is-ai-credits-price-section ul,
main .is-bcp-price-section ul {
  list-style: none;
  max-width: 1280px;
  width: 100%;
  margin: 16px auto 0;
  padding: 0 4px;
}

@media screen and (max-width: 414px) {
  main .is-additional-storage-price-section ul,
  main .is-additional-download-price-section ul,
  main .is-ai-credits-price-section ul,
  main .is-bcp-price-section ul {
    margin-top: 12px;
  }
}

main .is-additional-storage-price-section ul li,
main .is-additional-download-price-section ul li,
main .is-ai-credits-price-section ul li,
main .is-bcp-price-section ul li {
  line-height: 1.7em;
  margin-bottom: 0.5em;
  padding-left: 1.25em;
  position: relative;
}

main .is-bcp-price-section ul li a {
  color: #1d90fc;
}

main .is-bcp-price-section ul li a:hover {
  opacity: 0.75;
}

main .is-additional-storage-price-section ul li::before,
main .is-additional-download-price-section ul li::before,
main .is-ai-credits-price-section ul li::before,
main .is-bcp-price-section ul li::before {
  left: 1px;
  top: -2px;
  content: "※";
  position: absolute;
}

@media screen and (max-width: 414px) {
  main .is-additional-storage-price-section ul,
  main .is-additional-download-price-section ul,
  main .is-ai-credits-price-section ul,
  main .is-bcp-price-section ul {
    width: 100%;
  }

  main .is-additional-storage-price-section ul li,
  main .is-additional-download-price-section ul li,
  main .is-ai-credits-price-section ul li,
  main .is-bcp-price-section ul li {
    font-size: 0.8rem;
  }
}

/* 小要素のスタイルは共通の為、component.cssに記述 */
main .is-cta-section {
  position: relative;
  z-index: 0;
  padding-top: 40px;
}

main .is-cta-section::before {
  z-index: -1;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  bottom: 0;
  left: 0;
  background: url(/img/isCTAbg.webp) no-repeat center/cover;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  main .is-cta-section::before {
    background: url(/img/isCTAbg.webp) no-repeat center/250%;
  }
}

/* ------------------------------
 30日間無料トライアルボタン
------------------------------ */
main .is-price-section .is-price-containerPC table tbody tr:last-child td {
  padding-bottom: 96px;
  position: relative;
}

main .is-price-section .is-price-containerPC table tbody tr:last-child td p.free-trial-btn {
  bottom: 0;
  left: 0;
  margin-bottom: 24px;
  position: absolute;
}

main .is-price-section .is-price-containerSP table tfoot tr td p.free-trial-btn {
  margin-top: 24px;
}

p.free-trial-btn {
  text-align: center;
  width: 100%;
}

p.free-trial-btn a {
  color: #ffffff !important;
  font-size: 1.2rem;
  font-weight: bold;
  text-decoration: none;
  line-height: 52px;
  height: 52px;
  padding: 0 16px;
  box-sizing: border-box;
  margin: 0 auto;
  display: inline-block;
  white-space: nowrap;
  background-color: #1b5fab;
  border-radius: 26px;
}

.is-price-section .is-price-containerPC table p.free-trial-btn a {
  width: 100%;
  max-width: 240px;
}

/* 個人向けは4列で列幅が狭く、狭幅時にボタン文字が溢れるためフォントを縮小 */
@media screen and (max-width: 880px) {
  .is-price-section.individual .is-price-containerPC table p.free-trial-btn a {
    font-size: 1rem;
  }
}

.is-price-section.business .is-price-containerSP table p.free-trial-btn a,
.is-price-section.individual .is-price-containerSP table p.free-trial-btn a {
  width: 96%;
}
