main.content-wrapper {
  padding-top: 52px;
}
@media screen and (max-width: 782px) {
      main.content-wrapper {
        padding-top: 36px;
      }
  }
@media screen and (max-width:1039px) {
  .l-navigation nav .submenu .submenu-wrapper ul.clearfix li a:hover,
  .l-navigation nav .submenu .navigation-title a:hover span, .l-navigation nav .submenu .navigation-title span.no-link:hover span {
    color: #777779;
  }
}
.font-black {
  color: #1b1b1c!important;
}
.page-template h3.title  {
  font-weight: 600;
  font-size: 32px;
  line-height: 160%;
  color: #1b1b1c;
}

.page-template h4.title {
  font-weight: 600;
  font-size: 24px;
  line-height: 160%;
  color: #1b1b1c;
}
.faq-heading {
  font-size: 20px;
  color: hsl(240, 2%, 11%);
}

.page-template p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  color: #646466;
  line-height: 190%;
}

.page-template .promo-text p.title {
  font-weight: 600;
  font-size: 24px;
  line-height: 160%;
  color: #1b1b1c;
}

p+p:is(.page-template p) {
    margin-top: 1.8em;
}

.page-template .font-size-16 {
    font-size: 16px;
}

.page-template .font-size-18 {
    font-size: 18px;
}

.page-template ul.use-list-marker, .page-template ol.use-list-marker {
  padding-left: 20px;
}

.page-template ul.use-list-marker li {
  list-style-type: disc;
}
.page-template ol.use-list-marker li {
  list-style-type: decimal;
}
.page-template .ck-content.table {
    display: table;
    margin: .9em auto;
}
.page-template .ck-content.table table {
    border: 1px double #b3b3b3;
    border-collapse: collapse;
    border-spacing: 0;
    height: 100%;
    width: 100%;
}
.page-template .ck-content.table table td, .page-template .ck-content.table table th {
    border: 1px solid #bfbfbf;
    min-width: 2em;
    padding: .4em;
}
.page-template .ck-content.table td, .page-template .ck-content.table th {
    overflow-wrap: break-word;
    position: relative;
}

.ml-40 {
  margin-left: 40px;
}

/* Topページ　*/
.top-banner {
  padding-top: 64px;
}

/* Cubeページ　*/
.cube-banner {
  padding-top: 18px;
}
.spec-table-wrapper {
  overflow-x: auto;
}

/* Aboutページ　*/
.display-ja {
  display: flex;
}
.display-en {
  display: none!important;
}
:lang(en) .display-ja {
  display: none!important;
}
:lang(en) .display-en {
  display: flex!important;
}
:lang(en) .component.table table.history th, :lang(en) .table-no-border .table table th {
  font-weight: 400;
}

/* プライバシーポリシー　*/
.privacy-policy h3  {
  font-weight: 600;
  font-size: 32px;
  line-height: 160%;
  color: #1b1b1c;
}

.privacy-policy h4 {
  font-weight: 600;
  font-size: 24px;
  line-height: 160%;
  color: #1b1b1c;
  margin-bottom: 24px;
}
.privacy-policy h5 {
    font-size: 20px;
    color: #1b1b1c;
    margin-bottom: 24px;
}

.privacy-policy p {
  margin-bottom: 40px;
}
.privacy-policy ul, .privacy-policy ol {
  padding-left: 20px;
  margin-bottom: 3em;
}
.privacy-policy ul li {
  list-style-type: disc;
  font-size: 16px;
}
.privacy-policy ol li {
  list-style-type: decimal;
  font-size: 16px;
}
.wptb-table-2381 {
  width: 100%;
  table-layout: fixed;
}
.wptb-table-2381 table {
  border: 1px double #b3b3b3!important;
  border-collapse: collapse;
  border-spacing: 0!important;
  height: 100%;
  width: 100%;
  padding: .5rem;
  color: #000;
}
.wptb-table-2381 th,
.wptb-table-2381 td {
  border: 1px solid #bfbfbf;
  min-width: 2em;
  padding: .4em;
}
.wptb-table-2381 th {
  background: #fff;
}
.wptb-table-2381 td:nth-child(1) {
  width: 24%;
}
.wptb-table-2381 td:nth-child(2) {
  width: 12%;
}
.wptb-table-2381 td:nth-child(3) {
  width: 64%;
}

/* 情報セキュリティポリシー　*/
.security h2 {
  color: #000;
  font-size: 3.2rem;
  line-height: 1.6;
  margin: 0px 0px 40px;
  outline: 0px;
  padding: 0px;
  vertical-align: baseline;
}
.security h3  {
  color: #000;
  font-size: 2.4rem;
  line-height: 1.6;
  margin: 0px 0px 32px;
  outline: 0px;
  padding: 0px;
  vertical-align: baseline;
}
.security h4 {
  color: #000;
  font-weight: 600;
  font-size: 24px;
  line-height: 160%;
  margin-bottom: 24px;
}
.security h5 {
  color: #000;
  font-size: 20px;
  margin-bottom: 24px;
}
.security p {
  color: #000;
  font-size: 1.6rem;
  line-height: 1.6;
  margin: 0px 0px 40px;
  outline: 0px;
  padding: 0px;
}

@media screen and (max-width: 767px) {
    .page-template h3.title, .privacy-policy h3 {
      font-size: 24px;
    }
    .page-template h4.title, .privacy-policy h4 {
      font-size: 20px;
      margin-bottom: 16px;
    }
    .privacy-policy h5 {
        font-size: 16px;
    }
    .privacy-policy  p {
      margin-bottom: 32px;
    }
    .page-template .font-size-18 {
      font-size: 16px;
    }
}

/* 採用ページ　*/
.career-section-title p {
  font-weight: 600;
    font-size: 24px;
    line-height: 160%;
    color: #646466;
}

.component.card-container > div:first-of-type {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 32px;
    gap: 32px;
}
.component.card-container .career-card {
  padding: 32px;
  border: 1px solid #dedee3;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
  border-radius: 4px;
  background-color: #fff;
}
.career-card p.custom-title {
  font-weight: bold;
  line-height: 1.5;
  font-size: 28px;
  display: block;
  color: black;
}

.career-card p.custom-subtitle {
  font-weight: bold;
  line-height: 1.4;
  font-size: 18px;
  display: block;
  color: #646466;
  margin-top: 8px!important;
}

.career-card .custom-divider {
  background-color:#DEDEE3;height:1px;margin:20px 0;width:100%;
}

.career-card p.custom-text {
  font-size: 16px;
    font-style: normal;
    font-weight: 400;
    color: #646466;
    line-height: 190%;
}

@media (max-width: 767px) {
  .career-card p.custom-title {
    font-size: 24px;
  }
  .career-card p.custom-subtitle {
    font-size: 16px;
  }
  .component.card-container > div:first-of-type {
      grid-template-columns: 1fr;
      gap: 24px;
  }
}

.responsive-divider {
  height: 1px;
  background-color: #DEDEE3;
  width: 100%;
  margin: 64px 0;
}

@media (max-width: 767px) {
  .responsive-divider {
    margin: 32px 0;
  }
}

.career-slider {
  width: 100%;
  overflow: hidden;
}

.career-slider .swiper-wrapper {
  align-items: center;
}

.career-slider .swiper-slide {
  width: 20.7vw;
  min-width: 288px;
}

.career-slider .swiper-slide img {
  max-width: 100%;
  height: auto;
  aspect-ratio: 1.91 / 1;
  object-fit: cover;
  border-radius: 4px;
}
.career-slider .swiper-wrapper {
  transition-timing-function: linear !important;
}


/* ニュース */
.blog iframe {
  width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}
.component.share-area .share-box .title {
  font-size: 2.3rem;
  font-weight: 500;
  font-family: futura-pt;
}
.component.blog-detail-body h2.wp-block-heading {
font-weight: 600;
font-size: 32px;
line-height: 160%;
color: #000;
margin-bottom: 20px;
}
:lang(en) .component.blog-detail-body h2.wp-block-heading {
  font-weight: 500;
}
.component.blog-detail-body h3.wp-block-heading {
    font-weight: 600;
    font-size: 24px;
    line-height: 160%;
    color: #646466;
    text-align: left;
    margin-top: 40px;
    margin-bottom: 24px;
    color:#1b1b1c
}
:lang(en) .component.blog-detail-body h3.wp-block-heading {
  font-weight: 400;
}
.component.promo.thumb-text .component-content .field-promoicon {
  margin: 0;
}
.component.blog-detail-body ul.wp-block-list  li a {
  color: #4555e5;
}
.underlined {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
    .component.blog-detail-body h3.wp-block-heading {
        font-size: 20px;
        font-weight: 600;
        font-size: 18px;
        line-height: 160%;
        margin-top: 24px;
        margin-bottom:16px
    }
}

@media screen and (max-width: 767px) and(max-width: 767px) {
    .component.blog-detail-body h3.wp-block-heading {
        font-size: 16px;
        line-height:190%
    }
}
.component.blog-detail-body figure figcaption {
  font-size: 14px;
  margin-top: 8px;
  text-align: left;
}
.component.blog-detail-body strong {
  font-weight: 700;
}
.component.blog-detail-body ul li {
    list-style-type: disc;
    margin-left: 1.5em;
}
.component.blog-detail-body .wp-block-table .ck-table-resized {
  table-layout: fixed
}

.component.blog-detail-body .wp-block-table table {
  overflow: hidden
}
.component.blog-detail-body.wp-block-table table {
  border: 1px double #b3b3b3;
  border-collapse: collapse;
  border-spacing: 0;
  height: 100%;
  width: 100%;
  font-size: 16px;
  letter-spacing: .06em;
}
.component.blog-detail-body.wp-block-table table td, .component.blog-detail-body.wp-block-table table th {
  border: 1px solid #bfbfbf;
  min-width: 2em;
  padding: .4em;
  overflow-wrap: break-word;
  position: relative;
}
.component.blog-detail-body .wp-block-table td,
.component.blog-detail-body .wp-block-table th {
  overflow-wrap: break-word;
  position: relative
}

.component.blog-detail-body .wp-block-table>figcaption {
  background-color: var(--ck-color-selector-caption-background);
  caption-side: top;
  color: var(--ck-color-selector-caption-text);
  display: table-caption;
  font-size: .75em;
  outline-offset: -1px;
  padding: .6em;
  text-align: center;
  word-break: break-word
}

.component.blog-detail-body .wp-block-table {
  display: table;
  margin: .9em auto
}
.component.blog-detail-body .wp-block-table table {
    border-color:#dedee3
}

.component.blog-detail-body .wp-block-table table td, .component.blog-detail-body .wp-block-table table th {
    padding: 20px 32px;
    border-color: #dedee3;
    vertical-align:text-top
}

.component.blog-detail-body .wp-block-table table thead {
    text-align:left;
    color: #000;
}

.component.blog-detail-body .wp-block-table table {
  border: 1px double #dedee3;
  border-collapse: collapse;
  border-spacing: 0;
  height: 100%;
  width: 100%
}

.component.blog-detail-body .wp-block-table table td,
.component.blog-detail-body .wp-block-table table th {
  border: 1px solid #dedee3;
  min-width: 2em;
}
.component.blog-detail-body .wp-block-table table th {
  background: rgba(0, 0, 0, .05);
  font-weight: 700
}
.component.blog-detail-body[dir=rtl] .wp-block-table th {
  text-align: right
}
.component.blog-detail-body[dir=ltr] .wp-block-table th {
  text-align: left
}
.component.blog-detail-body .wp-block-table.w-full {
  width: 100%;
}
.component.blog-detail-body figure.text-align-left {
  text-align: left;
}
.component.blog-detail-body ol {
  list-style: none;
  padding-left: 0;
  counter-reset: item;
}
.component.blog-detail-body ol li {
  display: grid;
  grid-template-columns: 1.2em 1fr;
}
.component.blog-detail-body ol li::before {
  counter-increment: item;
  content: counter(item) ".";
}
.color-light-gray {
  color: #999!important;
}
:lang(en) .component.thumb-text-list .list-content a .text-header .date,
:lang(en) .component.thumb-text-list .list-content a .text .title{
  font-weight: 400;
}

/* 役員　*/
.executive-name {
  color:#1B1B1C;
  font-size: 32px;
  font-weight: 700;
}
:lang(en) .executive-name {
  font-weight: 500;
}
.executive-name .en {
  display: block;
  color: #646466;
  font-size: 20px;
  font-weight: 400;
  padding-top: 0.75rem;
}
.arrow-link {    
  position: relative;    
  padding-left: 16px;  
  color: #1B1B1C;    
  text-decoration: none;
}  
.arrow-link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 8px;
    height: 8px;
    border: 2px solid #1B1B1C;
    border-width: 0 2px 2px 0;
    transform: translateY(-50%) rotate(135deg);
}
:lang(en) .profile-name {
  font-weight: 400;
}
/* プレスキット */
.profile-text {
  background-color:#F7F7F7;
  padding:32px 40px;
  color:hsl(0,0%,0%);
}
:lang(en) .wp-block-lazyblock-press-kit-items .component.card-list ul li .info .text {
  font-weight: 400;
}

/* IRライブラリー */
.component.ir-page .ir .section-ir_library .library-area .flex-box .content-box .library-list dl dt {
    font-size: 1.6rem;
    color: #666;
    font-weight: 700;
    font-family: futura-pt, sans-serif;
    margin-bottom: 16px;
}
.component.ir-page .ir .section-ir_library .library-area .flex-box .content-box:last-child {
  min-width: 406px;
}
@media screen and (max-width:1040px) {
  .component.ir-page .ir .section-ir_library .library-area .flex-box .content-box:last-child {
    min-width: 100%;
  }
}
/* お問い合わせ　*/
.component.ir-page #contact p, .component.ir-page #contact .component.rich-text {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  color: #646466;
  line-height: 190%;
}
.component.ir-page #contact p strong {
  font-size: 16px;
  font-style: normal;
  color: #646466;
  line-height: 190%;
}

/* cxlounge */
#about-cxlounge .cards-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
#about-cxlounge .card {
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #DEDEE3;
  text-align: center;
  padding: 24px;
  flex: 1 1 280px;
}
#about-cxlounge .card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px auto;
  border-radius: 50%;
  background-color: #F2F2F7;
  border: 1px solid #DEDEE3;
  padding: 16px;
}
#about-cxlounge .card-icon svg {
  width: 32px;
  height: 32px;
  display: block;
}
#access-cxlounge .access-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#access-cxlounge .access-section {
  background-color: #FFFFFF;
  padding: 24px;
  border-radius: 8px;
  border: 1px solid #DEDEE3;
  margin-bottom: 24px;
}
#access-cxlounge .access-section h4 {
  margin-bottom: 24px;
}
#access-cxlounge .access-item {
  display: flex;
  align-items: center;
  align-items: flex-start;
  margin-bottom: 24px;
}
#access-cxlounge .access-item span.icon svg {
  width: 24px;
  height: 24px;
}
#access-cxlounge .access-item:last-child {
  margin-bottom: 0px;
}
#access-cxlounge .access-item span.icon {
  margin-right: 16px;
}
#report-cxlounge .carousel-4, #report-cxlounge .carousel-5 {
  width: 100%;
  position: relative;
}
#report-cxlounge .slides-4, #report-cxlounge .slides-5 {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  overflow: hidden;
}
#report-cxlounge .slides-4 img, #report-cxlounge .slides-5 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: auto;
  opacity: 0;
  object-fit: contain;
  animation: fade 20s infinite;
}
#report-cxlounge .slides-4 img {
  animation: fade 16s infinite;
}
#report-cxlounge .slides-5 img {
  animation: fade 20s infinite;
}
#report-cxlounge .slides-5 img:nth-child(1) {
  animation-delay: 0s;
}
#report-cxlounge .slides-5 img:nth-child(2) {
  animation-delay: 4s;
}
#report-cxlounge .slides-5 img:nth-child(3) {
  animation-delay: 8s;
}
#report-cxlounge .slides-5 img:nth-child(4) {
  animation-delay: 12s;
}
#report-cxlounge .slides-5 img:nth-child(5) {
  animation-delay: 16s;
}
#report-cxlounge .slides-4 img:nth-child(1) {
  animation-delay: 0s;
}
#report-cxlounge .slides-4 img:nth-child(2) {
  animation-delay: 4s;
}
#report-cxlounge .slides-4 img:nth-child(3) {
  animation-delay: 8s;
}
#report-cxlounge .slides-4 img:nth-child(4) {
  animation-delay: 12s;
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  25% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

/* mee+ */
.meeplus_tokusho_list strong {
  color:#000;
}

#jp-carousel-loading-overlay { display: none; }

/* 英語ページ */
:lang(en) .page-template .component.title h2 {
  font-weight: 500;
}
:lang(en) .page-template .component.title.level2.sub-text {
  font-weight: 400;
  font-size: 24px;
  letter-spacing: 1.44px;
}
:lang(en) .page-template .component.title h4.thin {
  font-weight: 400;
}
:lang(en) .page-template .component.link-list a.thin {
  font-weight: 400;
  font-size: 20px;
}