@charset "UTF-8";
:root {
  --height--entry-header: clamp(15rem, 1.630rem + 34.783vw, 20rem);
}

:root {
  --font-size_xxs: clamp(0.625rem, 0.568rem + 0.182vw, 0.75rem);
  --font-size_xs: clamp(0.75rem, 0.693rem + 0.182vw, 0.875rem);
  --font-size_s: clamp(0.813rem, 0.746rem + 0.211vw, 1rem);
  --font-size_sm: clamp(0.938rem, 0.881rem + 0.182vw, 1.063rem);
  --font-size_m: clamp(0.938rem, 0.871rem + 0.211vw, 1.125rem);
  --font-size_ml: clamp(1.125rem, 1.080rem + 0.191vw, 1.25rem);
  --font-size_lg: clamp(1.25rem, 0.984rem + 0.851vw, 1.75rem);
  --font-size_xl: clamp(1.375rem, 1.199rem + 0.563vw, 1.875rem);
  --font-size_xxl: clamp(1.5rem, 1.148rem + 1.127vw, 2.5rem);
  --font-size_xxxl: clamp(2.8rem, 1.744rem + 4.507vw, 5.8rem);
  --font-size_xxxl--english: clamp(3rem, 1.989rem + 5vw, 7.5rem);
}

:root {
  --color__black:#141414;
  --color__text-link:#ac0606;
  --color__gray--dark:#787878;
  --color__bg-gray:#e0e0e0;
  --color__bg-gray--light:#ececec;
  --color__primary--general: #0f274a;
  --color__primary--general-50:#7b889b;
  --color__primary--general-light: #215091;
  --color__primary--light: #91bce2;
  --color__primary--bg: #d9e1e9;
  --color__primary--bg--light: #fafcfd;
  --color__accent-light: #f9f9a2;
  --color__gradation--general: #46aae6;
  --color__gradation--dark: #325ac8;
  --color__gradation--hover--general: #ff8a00;
  --color__gradation--hover--dark: #e52e71;
  --color__news-topics--general: #0084b8;
  --color__news-activity--general: #399e8e;
  --color__news-closeddays--general: #b33f4e;
  --color__bg-translucent--black: rgba(0,0,0,.5);
  --color__bg-translucent--primary-general: rgba(15,39,74,.9);
  --color__recruit--red: #D64646;
  --color__recruit--red--hover: #913A3A;
  --color__recruit--blue: #3290C2;
  --color__recruit--blue--hover: #256689;
}

:root {
  --wp--preset--spacing--10: clamp(0.125rem, 0.068rem + 0.182vw, 0.25rem);
  --wp--preset--spacing--20: clamp(0.25rem, 0.136rem + 0.364vw, 0.5rem);
  --wp--preset--spacing--30: clamp(0.375rem, 0.205rem + 0.545vw, 0.75rem);
  --wp--preset--spacing--40: clamp(0.5rem, 0.273rem + 0.727vw, 1rem);
  --wp--preset--spacing--50: clamp(0.75rem, 0.409rem + 1.091vw, 1.5rem);
  --wp--preset--spacing--60: clamp(1.25rem, 0.545rem + 1.455vw, 2rem);
  --wp--preset--spacing--70: clamp(1.5rem, 0.818rem + 2.182vw, 3rem);
  --wp--preset--spacing--xs: clamp(0.5rem, 0.318rem + 0.777vw, 1.25rem);
  --wp--preset--spacing--sm: clamp(0.75rem, 0.568rem + 0.777vw, 1.5rem);
  --wp--preset--spacing--md: clamp(0.875rem, 0.663rem + 0.906vw, 1.75rem);
  --wp--preset--spacing--lg: clamp(1rem, 0.757rem + 1.036vw, 2rem);
  --wp--preset--spacing--xl: clamp(1.125rem, 0.852rem + 1.165vw, 2.25rem);
  --wp--preset--spacing--2-xl: clamp(1.25rem, 0.947rem + 1.294vw, 2.5rem);
  --wp--preset--spacing--3-xl: clamp(1.5rem, 1.136rem + 1.553vw, 3rem);
}

/*
============================
　見出し
============================
 */
h1.wp-block-heading {
  font-size: var(--font-size_xxxl);
  line-height: 1.4;
  font-weight: 400;
}

h2.wp-block-heading {
  font-size: calc(var(--font-size_xl) * 1.5);
  margin: calc(var(--font-size_xl) * 1.8) 0 calc(var(--font-size_xl) * 1.8) 0;
  line-height: 1.4;
  font-weight: 500;
}
@media (max-width: 500px) {
  h2.wp-block-heading {
    font-size: calc(var(--font-size_xl) * 1.3);
  }
}

h2.wp-block-heading.sdgs-title {
  font-size: calc(var(--font-size_xl) * 1.3);
  padding-bottom: 0.5em;
  border-bottom: 1px solid var(--color__black);
  margin: calc(var(--font-size_xl) * 1.3) 0 calc(var(--font-size_xl) * 1.3) 0;
  line-height: 1.4;
  font-weight: 500;
}
@media (max-width: 500px) {
  h2.wp-block-heading.sdgs-title {
    font-size: calc(var(--font-size_xl) * 1);
  }
}

h2.wp-block-heading.company-title {
  font-size: calc(var(--font-size_xl) * 1.2);
  margin: calc(var(--font-size_xl) * 1.8) 0 calc(var(--font-size_xl) * 1.8) 0;
  line-height: 1.4;
  font-weight: 500;
  position: relative;
}

h2.wp-block-heading.company-title:after {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(var(--wp--preset--spacing--50) * -1);
  width: calc(var(--font-size_xl) * 2);
  height: var(--wp--preset--spacing--30);
  background-color: var(--color__primary--general-50);
  left: 4px;
}

h2.wp-block-heading.description {
  font-size: calc(var(--font-size_xxxl) * 0.8);
  margin: calc(var(--font-size_xxl) * 1.5) 0 calc(var(--font-size_m) * 0) 0;
  line-height: 1.4;
  font-weight: 500;
}
@media (max-width: 1024px) {
  h2.wp-block-heading.description {
    font-size: calc(var(--font-size_xxxl) * 0.7);
  }
}
@media (max-width: 500px) {
  h2.wp-block-heading.description {
    font-size: calc(var(--font-size_xxxl) * 0.6);
  }
}

h4.wp-block-heading.description {
  font-size: var(--font-size_lg);
  font-weight: 500;
  margin: 0;
  line-height: 1.4;
}

/* serviceページの斜体タイトル */
h2.wp-block-heading.service-title-slew {
  font-size: var(--font-size_xxxl--english);
  transform: skew(-3deg, -10deg) rotate(-3deg) scaleX(105%);
  transform-origin: left;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 0.9;
  margin-top: clamp(3.75rem, 1.193rem + 10.909vw, 9.375rem);
  margin-bottom: 8px;
  width: 100%;
}

h3.wp-block-heading {
  font-size: calc(var(--font-size_lg) * 0.8);
  font-weight: 500;
  margin: calc(var(--font-size_lg) * 1.5) 0 calc(var(--font-size_lg) / 2) 0;
  line-height: 1.4;
  background-color: var(--color__bg-gray--light);
  padding: 0.5em 1em;
  color: var(--color__primary--general);
}

h3.wp-block-heading.company-subtitle {
  font-size: calc(var(--font-size_lg) * 1.2);
  font-weight: 500;
  margin: var(--font-size_lg) 0 calc(var(--font-size_lg) / 2) 0;
  line-height: 1.4;
  background-color: transparent;
  padding: 0.5em 1em;
  color: var(--color__black);
}

h4.wp-block-heading {
  font-size: calc(var(--font-size_lg) * 0.8);
  font-weight: 500;
  margin: var(--font-size_lg) 0 calc(var(--font-size_lg) / 2) 0;
  line-height: 1.4;
}

h5.wp-block-heading {
  font-size: var(--font-size_ml);
  margin: var(--font-size_ml) 0 calc(var(--font-size_ml) / 2) 0;
  font-weight: 500;
  line-height: 1.4;
}

h5.wp-block-heading.add-left-line {
  margin: var(--font-size_ml) 0 calc(var(--font-size_ml) / 2) 0;
  padding-left: calc(var(--font-size_ml) + 0.3em);
  text-indent: calc((var(--font-size_ml) + 0.3em) * -1);
  line-height: 1.4;
}

h5.wp-block-heading.add-left-line:before {
  content: "";
  display: inline-block;
  width: var(--font-size_ml);
  height: 2px;
  background-color: var(--color__gradation--general);
  margin-right: 0.3em;
  margin-bottom: calc(var(--font-size_ml) / 4);
}

h6.wp-block-heading {
  font-size: var(--font-size_m);
  font-weight: 500;
  line-height: 1.4;
  margin: var(--font-size_s) 0 calc(var(--font-size_s) / 2) 0;
}

.u-typography__service-title70 {
  font-size: calc(var(--font-size_xxxl--english) * 0.7);
}

.l-page__entry-content {
  max-width: 1360px;
  margin: 0 auto;
  padding: var(--space__title-header-btm) var(--space__general) 0;
}

.description-design .l-page__entry-content,
.description-book .l-page__entry-content,
.sdgs .l-page__entry-content,
.privacy-policy .l-page__entry-content {
  max-width: 1024px;
}

@media (max-width: 500px) {
  .l-page__entry-content {
    padding: var(--space__title-header-btm) var(--space__general-sp) 0;
  }
}
.l-page__entry-header {
  height: var(--height--entry-header);
  position: relative;
}

.l-page__entry-header--image {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.l-page__entry-header--image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  filter: brightness(0.6);
}

.l-page__entry-header .l-contents {
  width: 100%;
  position: absolute;
  bottom: calc(clamp(0.625rem, 0.285rem + 1.087vw, 1.25rem) / 2 * -1);
  left: 50%;
  transform: translateX(-50%);
}

.l-page__entry-header .l-contents h1 {
  color: #fff;
  margin: 0;
  font-weight: 400;
  font-size: var(--font-size_xl);
}

.l-page__entry-header .l-contents h1:after {
  content: "";
  display: block;
  background-color: var(--color__primary--general);
  width: clamp(3.75rem, 1.712rem + 6.522vw, 7.5rem);
  height: clamp(0.625rem, 0.285rem + 1.087vw, 1.25rem);
  margin-top: clamp(0.625rem, 0.285rem + 1.087vw, 1.25rem);
}

/* カラー設定 */
/* テキスト */
.has-foreground-color {
  color: #000000;
}

.has-background-color {
  color: #ffffff;
}

.has-primary-general-color {
  color: #0f274a;
}

.has-primary-light-color {
  color: #91bce2;
}

.has-primary-bg-light-color {
  color: #d9e1e9;
}

.has-blue-general-color {
  color: #46aae6;
}

.has-blue-dark-color {
  color: #325ac8;
}

.has-orange-vivid-color {
  color: #ff8a00;
}

.has-pink-vivid-color {
  color: #e52e71;
}

.has-yellow-vivid-color {
  color: #ffff00;
}

.has-gray--dark {
  color: #787878;
}

.has-gray-light {
  color: #e0e0e0;
}

.has-vivid-red-color {
  color: #ac0a0a;
}

.has-recruit-red-color {
  color: #D64646;
}

.has-recruit-red-dark-color {
  color: #913A3A;
}

.has-recruit-blue-color {
  color: #3290C2;
}

.has-recruit-blue-dark-color {
  color: #256689;
}

/* 背景色 */
.has-foreground-background-color {
  background-color: #000000;
}

.has-background-background-color {
  background-color: #ffffff;
}

.has-primary-general-background-color {
  background-color: #0f274a;
}

.has-primary-light-background-color {
  background-color: #91bce2;
}

.has-primary-bg-light-background-color {
  background-color: #d9e1e9;
}

.has-blue-general-background-color {
  background-color: #46aae6;
}

.has-blue-dark-background-color {
  background-color: #325ac8;
}

.has-orange-vivid-background-color {
  background-color: #ff8a00;
}

.has-pink-vivid-background-color {
  background-color: #e52e71;
}

.has-yellow-vivid-background-color {
  background-color: #ffff00;
}

.has-gray-dark-background-color {
  background-color: #787878;
}

.has-gray-light-background-color {
  background-color: #e0e0e0;
}

.has-recruit-red-background-color {
  background-color: #D64646;
}

.has-recruit-red-dark-background-color {
  background-color: #913A3A;
}

.has-recruit-blue-background-color {
  background-color: #3290C2;
}

.has-recruit-blue-dark-background-color {
  background-color: #256689;
}

/* フォントサイズ */
.has-small-font-size {
  font-size: var(--font-size_xs);
}

.has-medium-font-size {
  font-size: var(--font-size_m);
}

.has-large-font-size {
  font-size: var(--font-size_ml);
}

.has-x-large-font-size {
  font-size: var(--font-size_lg);
}

.has-text-align-center {
  text-align: center;
}

/*
============================
　カラム設定
============================
 */
/* 共通：カラム全体 */
.wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
}

/* SMF フォーム内の列を縦並びに */
.contact .wp-block-columns,
.entry .wp-block-columns {
  display: block !important;
}

.contact .wp-block-column,
.entry .wp-block-columns {
  width: 100% !important;
}

/* 各カラム */
.wp-block-column {
  flex: 1;
  min-width: 0;
}

.has-m-btm--1-5 {
  margin-bottom: 1.5em;
}

.wp-block-column > figure {
  margin: var(--wp--preset--spacing--40) 0;
}

/* インライン style="flex-basis:xx%" を尊重 */
.wp-block-column[style*=flex-basis] {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
}

/* ===== モバイル縦積み対応（デフォルト挙動）===== */
@media (max-width: 781px) {
  .wp-block-columns.is-layout-flex,
  .wp-block-columns.wp-block-columns-is-layout-flex {
    flex-direction: column;
  }
  .wp-block-columns.is-layout-flex > .wp-block-column,
  .wp-block-columns.wp-block-columns-is-layout-flex > .wp-block-column {
    flex-basis: 100% !important;
    width: 100%;
  }
}
.wp-block-columns.is-not-stacked-on-mobile {
  flex-direction: row !important;
}

/* 横並びの最後の一つ */
.has-flex-50percent {
  max-width: 627.16px;
}

@media (max-width: 781px) {
  .has-flex-50percent {
    max-width: none;
    width: 100%;
  }
}
@media (max-width: 781px) {
  .wp-block-columns.is-layout-flex.has-gap-0,
  .wp-block-columns.wp-block-columns-is-layout-flex.has-gap-0 {
    gap: 0;
  }
}
.is-layout-flex {
  display: flex;
}

/* ---------------
事業部紹介メニュー
--------------- */
.wp-block-group.has-menu-4-2.is-nowrap.is-layout-flex.wp-block-group-is-layout-flex {
  width: 100%;
  display: flex;
  gap: 0.5em;
}

.wp-block-group.has-menu-4-2.is-nowrap.is-layout-flex.wp-block-group-is-layout-flex > * {
  flex: 1;
}

.wp-block-group.has-menu-4-2.is-nowrap.is-layout-flex.wp-block-group-is-layout-flex.responsive-4-2-cols > * > p {
  position: relative;
  z-index: 10;
}

/* 横並び4つ（追加クラス） */
.wp-block-group.has-menu-4-2.is-nowrap.is-layout-flex.wp-block-group-is-layout-flex.responsive-4-2-cols {
  display: flex;
  flex-wrap: wrap; /* 折り返し許可 */
  gap: 0.5em;
}

.has-menu-4-2 > .wp-block-columns {
  margin-bottom: 0;
}

/* 子要素：769px以上で4列 */
.wp-block-group.has-menu-4-2.is-nowrap.is-layout-flex.wp-block-group-is-layout-flex.responsive-4-2-cols > * {
  flex: 0 0 calc(25% - 0.375em); /* gapを考慮して調整 */
  box-sizing: border-box;
}

/* 768px以下で2列 */
@media screen and (max-width: 768px) {
  .wp-block-group.has-menu-4-2.is-nowrap.is-layout-flex.wp-block-group-is-layout-flex.responsive-4-2-cols > * {
    flex: 0 0 calc(50% - 0.25em); /* gapを考慮 */
  }
}
/* hover */
.wp-block-group.has-menu-4-2 .wp-block-column:has(a):hover {
  background-color: var(--color__primary--general-light);
  transition: background-color 0.3s ease;
}

/*
============================
　配置
============================
 */
/* 右寄せ */
.alignright {
  float: right;
}

/* 左寄せ */
.alignleft {
  float: left;
}

/* 中央寄せ */
.aligncenter {
  display: block;
}

/*
============================
　table
============================
 */
.wp-block-table table {
  width: 100%;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}

/* これでブロックエディタstyle.min.cssのborderを消す */
.wp-block-table td,
.wp-block-table th {
  border: none !important;
}

.wp-block-table td,
.wp-block-table th {
  vertical-align: top;
}

.wp-block-table tr:first-child {
  border-top: 1px solid var(--color__gray--dark);
}

.wp-block-table tr {
  border-bottom: 1px solid var(--color__gray--dark);
}

.description-design .wp-block-table tr:first-child {
  border-top: 1px solid var(--color__recruit--red);
}

.description-design .wp-block-table tr {
  border-bottom: 1px solid var(--color__recruit--red);
}

.description-book .wp-block-table tr:first-child {
  border-top: 1px solid var(--color__recruit--blue);
}

.description-book .wp-block-table tr {
  border-bottom: 1px solid var(--color__recruit--blue);
}

@media (max-width: 575.98px) {
  .description-design .wp-block-table table tr td:last-child,
  .description-book .wp-block-table table tr td:last-child {
    padding: 0.75em 0 1em 0;
  }
}

.description-design .wp-block-table table tr td:first-child {
  color: var(--color__recruit--red--hover);
  font-weight: 500;
  padding: 0.75em 1.5em;
}
@media (max-width: 575.98px) {
  .description-design .wp-block-table table tr td:first-child {
    padding: 1em 0 0 0;
  }
}

.description-book .wp-block-table table tr td:first-child {
  color: var(--color__recruit--blue--hover);
  font-weight: 500;
  padding: 0.75em 1.5em;
}
@media (max-width: 575.98px) {
  .description-book .wp-block-table table tr td:first-child {
    padding: 1em 0 0 0;
  }
}

@media (max-width: 575.98px) {
  .description-design .wp-block-table.is-style-vk-table-cell-vertical[data-cell-vertical-breakpoint=table-cell-vertical-mobile]:not(.is-style-stripes) tr:first-of-type :is(th, td):first-of-type,
  .description-book .wp-block-table.is-style-vk-table-cell-vertical[data-cell-vertical-breakpoint=table-cell-vertical-mobile]:not(.is-style-stripes) tr:first-of-type :is(th, td):first-of-type {
    border-top: none;
    border-top-color: inherit;
  }
}
@media (max-width: 575.98px) {
  .vk_slider .swiper-button-next, .vk_slider .swiper-button-prev, .vk_post_list_slider .swiper-button-next, .vk_post_list_slider .swiper-button-prev {
    width: 2rem !important;
    height: 2rem !important;
  }
}
.description-design .sme-badge, .description-book .sme-badge {
  margin-top: 0.5em;
}

.wp-block-table td {
  padding: 0.75em 1.5em;
}

tr > td:first-child {
  white-space: nowrap;
}

.wp-block-table table strong {
  display: block;
  margin: 1em 0 0.3em 0;
}

.wp-block-table table td strong:first-of-type {
  margin-top: 0;
}

/*
==========================================
　tabale 固定ページ基本
==========================================
 */
.wp-block-table.add-table--page table tr td:first-child {
  width: clamp(10.625rem, 9.466rem + 10.534vw, 20rem);
  font-weight: 500;
}

@media (max-width: 768px) {
  .wp-block-table.add-table--page table,
  .wp-block-table.add-table--page thead,
  .wp-block-table.add-table--page tbody,
  .wp-block-table.add-table--page tr,
  .wp-block-table.add-table--page th,
  .wp-block-table.add-table--page td {
    display: block;
    width: 100%;
  }
  .wp-block-table.add-table--page table tr {
    padding: 0.8em 0;
  }
  .wp-block-table.add-table--page table tr td {
    padding: 0.2em 0;
  }
}
/*
============================
　tabale 会社概要 add-table--company-about
============================
 */
.wp-block-table.add-table--company-about table {
  border-collapse: separate; /* マージンを効かせるために separate */
  border-spacing: 8px; /* 行と行の間に余白 */
}

.wp-block-table.add-table--company-about table tr {
  overflow: hidden;
  position: relative;
  border: none;
}

.wp-block-table.add-table--company-about table td {
  border: none;
}

.wp-block-table.add-table--company-about table tr td:first-child {
  position: relative;
  z-index: 1;
}

.wp-block-table.add-table--company-about table tr td:first-child {
  background-color: var(--color__primary--general);
  color: #fff;
  border-radius: 8px;
  width: clamp(10.625rem, 9.466rem + 10.534vw, 20rem);
}

.wp-block-table.add-table--company-about table tr td:last-child {
  background-color: var(--color__bg-gray);
  border-radius: 8px;
}

@media (max-width: 768px) {
  .wp-block-table.add-table--company-about table,
  .wp-block-table.add-table--company-about thead,
  .wp-block-table.add-table--company-about tbody,
  .wp-block-table.add-table--company-about tr,
  .wp-block-table.add-table--company-about th,
  .wp-block-table.add-table--company-about td {
    display: block;
    width: 100%;
  }
  .wp-block-table.add-table--company-about tr {
    margin-bottom: 8px;
    overflow: hidden;
  }
  .wp-block-table.add-table--company-about td,
  .wp-block-table.add-table--company-about th {
    padding: 0.75em 1em;
    border: none;
  }
}
@media (max-width: 768px) {
  .wp-block-table.add-table--company-about table tr td:first-child {
    border-radius: 8px 8px 0 0;
    width: 100%;
  }
  .wp-block-table.add-table--company-about table tr td:last-child {
    border-radius: 0 0 8px 8px;
  }
}
/*
============================
　ボタン設定
============================
 */
button {
  border: 0;
}

/*
============================================
　ボタン（プレビュー用）
============================================
*/
.wp-block-button__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 200px;
  height: 40px;
  font-size: 14px;
  padding-left: 20px;
  padding-right: 60px;
  gap: 8px;
  color: #fff;
  background: linear-gradient(90deg, var(--color__gradation--dark), var(--color__gradation--general));
  text-decoration: none;
  border: 0;
  overflow: hidden;
  z-index: 0;
  /* hover背景 */
}
@media (min-width: 500px) {
  .wp-block-button__link {
    min-width: 250px;
    height: 56px;
    font-size: 16px;
    padding-left: 30px;
    padding-right: 70px;
  }
}
.wp-block-button__link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  background: linear-gradient(90deg, var(--color__gradation--hover--dark), var(--color__gradation--hover--general));
  transition: opacity 0.3s ease;
}
.wp-block-button__link:hover::before {
  opacity: 1;
}

/*
========
　リスト
========
*/
.wp-block-list {
  display: grid;
  gap: 0.5em;
  margin-left: 1.5em;
  line-height: 1.5;
}

ol.wp-block-list li {
  list-style-type: decimal;
  counter-increment: cnt;
}

ul.wp-block-list li {
  list-style-type: disc;
}

ul.wp-block-list li::marker {
  color: var(--color__gray--dark);
}

/*
============================================
　画像
============================================
*/
.wp-block-image {
  display: block;
  margin: var(--space__general) 0;
}
@media (max-width: 500px) {
  .wp-block-image {
    margin: var(--space__general-sp) 0;
  }
}

.wp-block-image.margin-none {
  margin: 0;
}

/*
==========================================
　テキスト
==========================================
 */
.wp-singular p a span,
.editor-styles-wrapper p a span {
  font-weight: 500;
  text-decoration: underline;
}

.wp-singular p a,
.editor-styles-wrapper p a {
  color: var(--color__text-link);
  font-weight: 500;
  text-decoration: underline;
}

/*
==========================================
　キャプション
==========================================
 */
.wp-element-caption, .wp-block-image figcaption {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: var(--font-size_xs);
  color: var(--color__gray--dark);
  margin-top: 4px;
  text-align: left !important;
}

/*
==========================================
　動画　元の比率に
==========================================
 */
.wp-block-embed.is-type-video.is-provider-youtube .wp-block-embed__wrapper {
  position: relative;
  height: 0;
  overflow: hidden;
  margin-top: 0.5em;
  padding-bottom: 56.25%;
}

.wp-block-embed.is-type-video.is-provider-youtube .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*
==========================================
　外部リンク　アイコン
==========================================
 */
.external-link-icon {
  width: 1em; /* フォントサイズに合わせる */
  height: 1em;
  vertical-align: text-bottom; /* テキストの高さに合わせる */
  fill: currentColor; /* 親テキストの色を継承 */
  margin-left: 0.25em; /* テキストとの間隔 */
}

/*
==========================================
　ユーティリティ
==========================================
 */
.u-tabular-num {
  font-variant-numeric: tabular-nums;
}

.wp-singular .u-link-plane-txt a, .editor-styles-wrapper p a {
  text-decoration: none;
  font-weight: initial;
  color: initial;
}

.u-relative {
  position: relative;
}

.u-absolute {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
}

/*
==========================================
　事業紹介トップ
==========================================
 */
.service .l-page__entry-content {
  max-width: 1920px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media (min-width: 1280px) {
  .service .l-page__entry-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }
}

h2.wp-block-heading.service-title {
  width: 100%;
  display: flex;
  align-items: center;
  color: var(--color__primary--general);
  font-size: var(--font-size_xl);
  margin: calc(var(--font-size_xl) * 2) 0 calc(var(--font-size_xl) * 0.3) 0;
  line-height: 1.4;
  font-weight: 500;
}
@media (min-width: 1280px) {
  h2.wp-block-heading.service-title {
    font-size: calc(var(--font-size_xl) * 0.8);
    margin: calc(var(--font-size_xl) * 2) 0 calc(var(--font-size_xl) * 0.1) 0;
  }
}

h2.wp-block-heading.service-title:before {
  content: "";
  display: block;
  width: calc(var(--font-size_xl) / 2);
  height: var(--font-size_xl);
  background-color: var(--color__primary--general);
  margin-right: calc(var(--font-size_xl) / 2);
}
@media (min-width: 1280px) {
  h2.wp-block-heading.service-title:before {
    height: calc(var(--font-size_xl) * 0.8);
  }
}

.service-bannertitle {
  width: clamp(12.5rem, 1.633rem + 44vw, 48rem);
}
@media (min-width: 1280px) {
  .service-bannertitle {
    width: calc(clamp(12.5rem, 1.633rem + 46.367vw, 48rem) / 2);
  }
}

.wp-block-group:nth-of-type(2) .service-bannertitle {
  width: clamp(9.375rem, 1.626rem + 33.061vw, 34.688rem);
}
@media (min-width: 1280px) {
  .wp-block-group:nth-of-type(2) .service-bannertitle {
    width: calc(clamp(9.375rem, 1.626rem + 33.061vw, 34.688rem) / 2);
  }
}

.service-img {
  width: 100%;
  height: clamp(11.25rem, 5.128rem + 26.122vw, 31.25rem);
  overflow: hidden;
}
@media (min-width: 1280px) {
  .service-img {
    height: clamp(11.25rem, 7.913rem + 14.239vw, 25rem);
  }
}

.service-img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}

.service .wp-block-group a {
  cursor: pointer;
}

@media (any-hover: hover) {
  .service:has(:hover) .u-relative:not(:hover) {
    filter: grayscale(1);
  }
  .service:has(:hover) .u-relative:hover {
    filter: grayscale(0);
  }
  .service .wp-block-columns:hover .service-img img {
    transform: scale(1.02);
    transition: transform 0.3s ease;
  }
}
.wp-block-gallery.is-layout-flex {
  display: flex;
  flex-wrap: wrap;
}/*# sourceMappingURL=blockeditor.css.map */