:root{
  --theme-color-bg: #333;
  --theme-color-cmp: #666666;
}

.anchor {
  display: block;
  padding-top: 120px;
  margin-top: -120px;
}

html .section-title {
  margin-bottom: 0px;
}

html #features {
  background-color: #e0e0e0;
}

html #contact-us{
  background-color: #f9f9f9;
}

html #contact-us .single-info{
  background-color: #fff;
}

html #contact-us .contact-info .single-info:hover {
  background-color: var(--theme-color-cmp);
}

section p.text{
  padding-top: 20px;
  line-height: 1.8em;
}

.release-date{
  text-align: left;
  font-weight: bold;
  margin-top: 10px;
}

.blog-content p {
  min-height: 180px;
}

.info-image img{
  border-radius: 10px;
}

html section.team {
  background-color: #f9f9f9;
}

html .team .single-team:hover:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transform: none;
          transform: none;
}

.team-top {
  text-align: center;
}

html .single-team {
  background-color: #fff;
}

.team .social li a {
  color: #666;
  font-size: 22px;

}

html .app-info .info-one .info-image {
  padding: 0px;
  padding-top: 60px;
}

html .info-text {
  padding-bottom: 40px;
}

html .info-text ol{
  margin-left: 20px;
}

html .info-text ol li {
  list-style-type: decimal;
}
html .info-one{
  margin-top: 80px;
}

html .info-image img{
  margin-bottom: 20px;
}



.breadcrumbs2 {
  position: relative;
  padding-bottom: 50px;
  padding-top: 50px;
  z-index: 2;
  text-align: left;
  background-color: var(--theme-color-cmp);
}

html .blog-single .meta-information{
  padding-bottom: 0px;
}

#home .hero-image img{
  border-radius: 10px;
}

.tns-nav {
  text-align: center;
}
.tns-nav > [aria-controls] {
  width: 9px;
  height: 9px;
  margin: 0 5px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #dddddd;
}
.tns-nav > [aria-selected="true"] {
  background: #999999;
}

/* English content synchronized with the Japanese site. */
[id] {
  scroll-margin-top: 110px;
}

.content-page .header {
  background: var(--theme-color-bg);
}

.content-page main {
  padding-top: 90px;
}

.blog-section .single-blog {
  height: calc(100% - 30px);
  margin-bottom: 30px;
}

.blog-section .blog-img img {
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #f3f3f3;
}

.blog-section .blog-content h3 {
  margin: 12px 0;
  font-size: 20px;
  line-height: 1.45;
}

.blog-section .blog-content p {
  min-height: 0;
}

.link-language {
  display: inline-block;
  margin-left: 6px;
  font-size: 12px;
  font-weight: 400;
  color: #666;
}

.info-text p + p,
.info-text ol + .button,
.info-text p + .button {
  margin-top: 20px;
}

.info-text .button .btn {
  margin-top: 8px;
}

.company-table {
  max-width: 960px;
  margin: 36px auto 0;
  color: #555;
}

.company-table th,
.company-table td {
  padding: 18px;
  line-height: 1.8;
}

.company-table th {
  width: 24%;
  min-width: 130px;
}

.board-grid {
  margin-top: 35px;
  row-gap: 30px;
}

.board-member {
  height: 100%;
  margin-top: 0;
}

.board-member .image img {
  width: 100%;
  height: 310px;
  object-fit: contain;
  background: #f0f0f0;
}

.board-member .content h4 {
  margin: 10px 0 16px;
  font-size: 15px;
  line-height: 1.6;
  color: #666;
}

.news-index .section-title,
.company-section .section-title {
  max-width: 900px;
}

.news-year {
  margin: 48px 0 20px;
  font-size: 28px;
}

.news-list li {
  display: flex;
  gap: 28px;
  padding: 22px 0;
  border-bottom: 1px solid #e5e5e5;
  line-height: 1.7;
}

.news-list time {
  flex: 0 0 100px;
  color: #666;
}

.news-list a {
  font-size: 17px;
  color: #222;
}

.news-list a:hover {
  text-decoration: underline;
}

.article-content {
  max-width: 900px;
  margin: 0 auto;
  color: #555;
}

.article-content h1 {
  margin-bottom: 32px;
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.4;
}

.article-content h2 {
  margin: 40px 0 18px;
  font-size: 25px;
  line-height: 1.5;
}

.article-content h3 {
  margin: 28px 0 12px;
  font-size: 20px;
}

.article-content p {
  margin-bottom: 20px;
  line-height: 1.9;
  font-size: 16px;
}

.article-content ul,
.article-content ol {
  padding-left: 26px;
  margin-bottom: 24px;
}

.article-content li {
  margin-bottom: 10px;
  line-height: 1.8;
}

.article-content ul li {
  list-style: disc;
}

.article-content ol li {
  list-style: decimal;
}

.article-content figure {
  margin: 32px 0;
}

.article-content figure img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.article-content figcaption {
  margin-top: 10px;
  text-align: center;
  font-size: 14px;
}

.article-content .article-date {
  color: #666;
}

.article-video {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  margin: 24px 0;
}

.article-actions {
  margin-top: 40px;
}

@media (max-width: 767px) {
  .content-page main {
    padding-top: 70px;
  }

  .news-list li {
    flex-direction: column;
    gap: 5px;
  }

  .news-list time {
    flex-basis: auto;
  }

  .company-table th,
  .company-table td {
    padding: 12px 8px;
  }

  .company-table th {
    min-width: 100px;
  }

  .board-member .image img {
    height: 280px;
  }
}
