/* =====================================================
   SWIT / SERVICE PAGE CSS
===================================================== */

/* =====================================================
   SERVICE PAGE / SWELL RESET
===================================================== */

/*
 * フルワイドブロックの余白と内部幅は
 * CSS側で管理する。
 */

.post_content
.swell-block-fullWide.service-hero,
.post_content
.swell-block-fullWide.site-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.service-hero
> .swell-block-fullWide__inner,
.site-section
> .swell-block-fullWide__inner {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/*
 * 通常セクションの上下余白。
 */

.post_content
.swell-block-fullWide.site-section {
  padding-top: var(--site-section-space) !important;
  padding-bottom: var(--site-section-space) !important;
}

/* -----------------------------------------------------
   SERVICE PAGE / H3・H4 RESET
----------------------------------------------------- */

/*
 * SERVICEページ内の独自H3・H4では
 * SWELL標準の見出し装飾を使用しない。
 *
 * 文字サイズや余白は各コンポーネント側で管理する。
 */

.post_content
:is(
  .service-index,
  .service-itpartner,
  .service-ict,
  .service-web,
  .service-flow,
  .service-faq,
  .service-contact
)
:is(h3, h4) {
  position: relative;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--site-heading);
  box-shadow: none !important;
}

.post_content
:is(
  .service-index,
  .service-itpartner,
  .service-ict,
  .service-web,
  .service-flow,
  .service-faq,
  .service-contact
)
:is(h3, h4)::before,
.post_content
:is(
  .service-index,
  .service-itpartner,
  .service-ict,
  .service-web,
  .service-flow,
  .service-faq,
  .service-contact
)
:is(h3, h4)::after {
  display: none !important;
  content: none !important;
}

/* =====================================================
   SERVICE HERO
===================================================== */

.service-hero {
  background-color: var(--site-white);
}


/* -----------------------------------------------------
   SERVICE HERO / SWELL RESET
----------------------------------------------------- */

.post_content
.swell-block-fullWide.service-hero
> .swell-block-fullWide__inner {
  width: 100%;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* -----------------------------------------------------
   SERVICE HERO / INNER
----------------------------------------------------- */

.service-hero__inner {
  width: 100%;

  margin: 0 !important;
  padding: 80px 0 104px !important;
}

.service-hero__inner
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* -----------------------------------------------------
   SERVICE HERO / LAYOUT
----------------------------------------------------- */

.service-hero__layout {
  width: 100%;

  margin: 0 !important;
  padding: 0 !important;
}

.service-hero__layout
> .wp-block-group__inner-container {
  display: grid;

  grid-template-columns:
    minmax(0, 1.2fr)
    minmax(0, .8fr);

  align-items: center;
  column-gap: 80px;

  width: 100%;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* -----------------------------------------------------
   SERVICE HERO / CONTENT
----------------------------------------------------- */

.service-hero__content {
  min-width: 0;

  margin: 0 !important;
  padding: 0 !important;
}

.service-hero__content
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* -----------------------------------------------------
   SERVICE HERO / TITLE
----------------------------------------------------- */

.post_content
.service-hero
h1.site-page-title.service-hero__title {
  max-width: 720px;

  color: var(--site-heading) !important;

  font-size: clamp(44px, 4.4vw, 60px) !important;
  font-weight: 700 !important;

  line-height: 1.4 !important;
  letter-spacing: -.035em !important;
}


/* -----------------------------------------------------
   SERVICE HERO / LEAD
----------------------------------------------------- */

.service-hero__lead {
  max-width: 670px;

  margin-top: 32px !important;
  margin-bottom: 0 !important;

  color: var(--site-body);

  font-size: 16px;
  line-height: 2;
}


/* -----------------------------------------------------
   SERVICE HERO / VISUAL
----------------------------------------------------- */

.service-hero__visual {
  min-width: 0;

  margin: 0 !important;
  padding: 0 !important;
}

.service-hero__visual
> .wp-block-group__inner-container {
  display: flex;

  flex-direction: column;
  align-items: flex-start;

  width: 100%;
  max-width: none !important;

  margin: 0 !important;
  padding: 32px 0 32px 44px !important;

  border-left: 1px solid var(--site-border);
}

.service-hero__visual-word {
  margin: 0 !important;

  color: var(--site-heading);

  font-size: clamp(25px, 2.5vw, 34px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.04em;
}

.service-hero__visual-mark {
  margin: 10px 0 !important;

  color: var(--site-primary);

  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}

.service-hero__visual-brand {
  margin-top: 24px !important;
  margin-bottom: 0 !important;

  color: var(--site-primary);

  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .22em;
}


/* =====================================================
   SERVICE INDEX
===================================================== */

.service-index {
  background-color: var(--site-surface);
}

/* -----------------------------------------------------
   SERVICE INDEX / INNER
----------------------------------------------------- */

.service-index__inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-index__inner
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   SERVICE INDEX / HEADER
----------------------------------------------------- */

.service-index__header {
  width: 100%;
  max-width: 760px;
  margin: 0 !important;
  padding: 0 !important;
}

.service-index__header
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   SERVICE INDEX / GRID
----------------------------------------------------- */

.service-index__grid {
  width: 100%;
  margin-top: 56px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.service-index__grid
> .wp-block-group__inner-container {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--site-border);
  border-bottom: 1px solid var(--site-border);
}

/* -----------------------------------------------------
   SERVICE INDEX / ITEM
----------------------------------------------------- */

.service-index__item {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-index__item
+ .service-index__item {
  border-left: 1px solid var(--site-border);
}

.service-index__item
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 36px 32px 40px;
}

/* -----------------------------------------------------
   SERVICE INDEX / NUMBER
----------------------------------------------------- */

.service-index__number {
  margin: 0 !important;
  color: var(--site-primary);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .08em;
}

/* -----------------------------------------------------
   SERVICE INDEX / TITLE
----------------------------------------------------- */

.post_content
.service-index__title {
  margin-top: 28px !important;
  font-size: 23px !important;
  line-height: 1.5 !important;
}

/* -----------------------------------------------------
   SERVICE INDEX / TEXT
----------------------------------------------------- */

.service-index__text {
  margin-top: 14px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 15px;
  line-height: 1.9;
}

/* =====================================================
   EXTERNAL IT PARTNER
===================================================== */

.service-itpartner {
  background-color: var(--site-white);
}

/* -----------------------------------------------------
   EXTERNAL IT PARTNER / INNER
----------------------------------------------------- */

.service-itpartner__inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-itpartner__inner
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   EXTERNAL IT PARTNER / HEADER
----------------------------------------------------- */

.service-itpartner__header {
  width: 100%;
  max-width: 900px;
  margin: 0 !important;
  padding: 0 !important;
}

.service-itpartner__header
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.post_content
.service-itpartner__title {
  max-width: 820px;
}

.service-itpartner__lead {
  max-width: 760px;
  margin-top: 32px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 17px;
  line-height: 1.95;
}

/* -----------------------------------------------------
   EXTERNAL IT PARTNER / SUPPORT
----------------------------------------------------- */

.service-itpartner__support {
  width: 100%;
  margin-top: 88px !important;
  padding: 0 !important;
}

.service-itpartner__support
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.service-itpartner__support-header {
  margin: 0 !important;
  padding: 0 !important;
}

.service-itpartner__support-header
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   EXTERNAL IT PARTNER / SUPPORT GRID
----------------------------------------------------- */

.service-itpartner__support-grid {
  width: 100%;
  margin-top: 48px !important;
  padding: 0 !important;
}

.service-itpartner__support-grid
> .wp-block-group__inner-container {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--site-border);
}

/* -----------------------------------------------------
   EXTERNAL IT PARTNER / SUPPORT ITEM
----------------------------------------------------- */

.service-itpartner__support-item {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--site-border);
}

.service-itpartner__support-item
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 32px 28px 36px;
}

.service-itpartner__support-item:nth-child(3n + 2),
.service-itpartner__support-item:nth-child(3n + 3) {
  border-left: 1px solid var(--site-border);
}

.service-itpartner__support-number {
  margin: 0 !important;
  color: var(--site-primary);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .08em;
}

.post_content
.service-itpartner__support-title {
  margin-top: 22px !important;
  font-size: 20px !important;
  line-height: 1.55 !important;
}

.service-itpartner__support-text {
  margin-top: 12px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 14px;
  line-height: 1.85;
}

/* -----------------------------------------------------
   EXTERNAL IT PARTNER / ROLE
----------------------------------------------------- */

.service-itpartner__role {
  width: 100%;
  margin-top: 88px !important;
  padding: 0 !important;
}

.service-itpartner__role
> .wp-block-group__inner-container {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--site-border);
  border-bottom: 1px solid var(--site-border);
}

.service-itpartner__role-item {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-itpartner__role-item
+ .service-itpartner__role-item {
  border-left: 1px solid var(--site-border);
}

.service-itpartner__role-item
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 40px;
}

.service-itpartner__role-label {
  margin: 0 0 20px !important;
  color: var(--site-primary);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .06em;
}

.service-itpartner__role-item p:last-child {
  margin-top: 20px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 15px;
  line-height: 1.9;
}

/* -----------------------------------------------------
   EXTERNAL IT PARTNER / CTA
----------------------------------------------------- */

.service-itpartner__cta {
  width: 100%;
  margin-top: 88px !important;
  padding: 0 !important;
  background-color: var(--site-primary-light);
  border-radius: var(--site-radius);
}

.service-itpartner__cta
> .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 48px 52px;
}

.service-itpartner__cta-content {
  max-width: 640px;
  margin: 0 !important;
  padding: 0 !important;
}

.service-itpartner__cta-content
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.service-itpartner__cta-content
.site-sub-title {
  margin-top: 14px !important;
}

.service-itpartner__cta-content p:last-child {
  margin-top: 14px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 15px;
  line-height: 1.85;
}

/* =====================================================
   ICT SUPPORT
===================================================== */

.service-ict {
  background-color: var(--site-surface);
}

/* -----------------------------------------------------
   ICT SUPPORT / INNER
----------------------------------------------------- */

.service-ict__inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-ict__inner
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   ICT SUPPORT / HEADER
----------------------------------------------------- */

.service-ict__header {
  width: 100%;
  max-width: 900px;
  margin: 0 !important;
  padding: 0 !important;
}

.service-ict__header
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.post_content
.service-ict__title {
  max-width: 760px;
}

.service-ict__lead {
  max-width: 760px;
  margin-top: 32px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 17px;
  line-height: 1.95;
}

/* -----------------------------------------------------
   ICT SUPPORT / PROCESS
----------------------------------------------------- */

.service-ict__process {
  width: 100%;
  margin-top: 88px !important;
  padding: 0 !important;
}

.service-ict__process
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.service-ict__process-header {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-ict__process-header
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   ICT SUPPORT / PROCESS GRID
----------------------------------------------------- */

.service-ict__process-grid {
  width: 100%;
  margin-top: 48px !important;
  padding: 0 !important;
}

.service-ict__process-grid
> .wp-block-group__inner-container {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--site-border);
  border-bottom: 1px solid var(--site-border);
}

/* -----------------------------------------------------
   ICT SUPPORT / PROCESS ITEM
----------------------------------------------------- */

.service-ict__process-item {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-ict__process-item
+ .service-ict__process-item {
  border-left: 1px solid var(--site-border);
}

.service-ict__process-item
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  height: 100%;
  margin: 0 !important;
  padding: 36px 32px 40px;
}

.service-ict__process-number {
  margin: 0 !important;
  color: var(--site-primary);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .08em;
}

.post_content
.service-ict__process-title {
  margin-top: 28px !important;
  font-size: 21px !important;
  line-height: 1.55 !important;
}

.service-ict__process-text {
  margin-top: 18px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 14px;
  line-height: 1.9;
}

/* -----------------------------------------------------
   ICT SUPPORT / EXAMPLES
----------------------------------------------------- */

.service-ict__examples {
  width: 100%;
  margin-top: 88px !important;
  padding: 0 !important;
}

.service-ict__examples
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.service-ict__examples-header {
  width: 100%;
  max-width: 760px;
  margin: 0 !important;
  padding: 0 !important;
}

.service-ict__examples-header
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   ICT SUPPORT / EXAMPLES GRID
----------------------------------------------------- */

.service-ict__examples-grid {
  width: 100%;
  margin-top: 48px !important;
  padding: 0 !important;
}

.service-ict__examples-grid
> .wp-block-group__inner-container {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--site-border);
}

/* -----------------------------------------------------
   ICT SUPPORT / EXAMPLE ITEM
----------------------------------------------------- */

.service-ict__example-item {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--site-border);
}

.service-ict__example-item:nth-child(even) {
  border-left: 1px solid var(--site-border);
}

.service-ict__example-item
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 30px 32px 34px;
}

.post_content
.service-ict__example-title {
  margin: 0 !important;
  font-size: 19px !important;
  font-weight: 700;
  line-height: 1.55 !important;
}

.service-ict__example-item p:last-child {
  margin-top: 12px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 14px;
  line-height: 1.85;
}

/* -----------------------------------------------------
   ICT SUPPORT / NOTE
----------------------------------------------------- */

.service-ict__note {
  width: 100%;
  margin-top: 88px !important;
  padding: 0 !important;
  background-color: var(--site-white);
  border-left: 3px solid var(--site-primary);
}

.service-ict__note
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 40px 44px;
}

.service-ict__note
.site-sub-title {
  max-width: 720px;
  margin-top: 14px !important;
}

.service-ict__note p:last-child {
  max-width: 760px;
  margin-top: 18px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 15px;
  line-height: 1.9;
}

/* =====================================================
   WEB SUPPORT
===================================================== */

.service-web {
  background-color: var(--site-white);
}

/* -----------------------------------------------------
   WEB SUPPORT / INNER
----------------------------------------------------- */

.service-web__inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-web__inner
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   WEB SUPPORT / HEADER
----------------------------------------------------- */

.service-web__header {
  width: 100%;
  max-width: 900px;
  margin: 0 !important;
  padding: 0 !important;
}

.service-web__header
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.post_content
.service-web__title {
  max-width: 760px;
}

.service-web__lead {
  max-width: 760px;
  margin-top: 32px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 17px;
  line-height: 1.95;
}

/* -----------------------------------------------------
   WEB SUPPORT / SCOPE
----------------------------------------------------- */

.service-web__scope {
  width: 100%;
  margin-top: 88px !important;
  padding: 0 !important;
}

.service-web__scope
> .wp-block-group__inner-container {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--site-border);
  border-bottom: 1px solid var(--site-border);
}

.service-web__scope-item {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-web__scope-item
+ .service-web__scope-item {
  border-left: 1px solid var(--site-border);
}

.service-web__scope-item
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 40px;
}

.service-web__scope-item
.site-sub-title {
  margin-top: 18px !important;
}

.service-web__scope-text {
  margin-top: 20px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 15px;
  line-height: 1.9;
}

/* -----------------------------------------------------
   WEB SUPPORT / SCOPE LIST
----------------------------------------------------- */

.service-web__scope-list {
  margin-top: 28px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--site-border);
}

/*
 * Groupブロックで作成した場合。
 */

.service-web__scope-list
> .wp-block-group__inner-container {
  display: grid;
  gap: 10px;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/*
 * WordPress標準のリストブロックを使用した場合。
 */

ul.service-web__scope-list,
ol.service-web__scope-list {
  display: grid;
  gap: 10px;
  width: 100%;
  margin-bottom: 0 !important;
  padding-left: 0 !important;
  list-style: none;
}

.service-web__scope-list p,
.service-web__scope-list li {
  margin: 0 !important;
  color: var(--site-body);
  font-size: 14px;
  line-height: 1.75;
}

/* -----------------------------------------------------
   WEB SUPPORT / PLANS
----------------------------------------------------- */

.service-web__plans {
  width: 100%;
  margin-top: 88px !important;
  padding: 0 !important;
}

.service-web__plans
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.service-web__plans-header {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-web__plans-header
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   WEB SUPPORT / PLAN GRID
----------------------------------------------------- */

.service-web__plans-grid {
  width: 100%;
  margin-top: 48px !important;
  padding: 0 !important;
}

.service-web__plans-grid
> .wp-block-group__inner-container {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--site-border);
  border-bottom: 1px solid var(--site-border);
}

/* -----------------------------------------------------
   WEB SUPPORT / PLAN
----------------------------------------------------- */

.service-web__plan {
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-web__plan
+ .service-web__plan {
  border-left: 1px solid var(--site-border);
}

.service-web__plan
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  height: 100%;
  margin: 0 !important;
  padding: 36px 32px 40px;
}

.service-web__plan-name {
  margin: 0 !important;
  color: var(--site-primary);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .1em;
}

.post_content
.service-web__plan-price {
  margin-top: 24px !important;
  font-size: 26px !important;
  font-weight: 700;
  line-height: 1.35 !important;
}

.service-web__plan-summary {
  margin-top: 12px !important;
  margin-bottom: 0 !important;
  color: var(--site-heading);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.7;
}

.service-web__plan-text {
  margin-top: 20px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 14px;
  line-height: 1.85;
}

/* -----------------------------------------------------
   WEB SUPPORT / MAINTENANCE
----------------------------------------------------- */

.service-web__maintenance {
  width: 100%;
  margin-top: 88px !important;
  padding: 0 !important;
}

.service-web__maintenance
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.service-web__maintenance-header {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-web__maintenance-header
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   WEB SUPPORT / MAINTENANCE GRID
----------------------------------------------------- */

.service-web__maintenance-grid {
  width: 100%;
  margin-top: 48px !important;
  padding: 0 !important;
}

.service-web__maintenance-grid
> .wp-block-group__inner-container {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: var(--site-primary-light);
  border-radius: var(--site-radius);
}

/* -----------------------------------------------------
   WEB SUPPORT / MAINTENANCE ITEM
----------------------------------------------------- */

.service-web__maintenance-item {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-web__maintenance-item
+ .service-web__maintenance-item {
  border-left: 1px solid rgba(37, 99, 235, .14);
}

.service-web__maintenance-item
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 36px 40px;
}

.service-web__maintenance-name {
  margin: 0 !important;
  color: var(--site-heading);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
}

.service-web__maintenance-price {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  color: var(--site-primary);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}

.service-web__maintenance-text {
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 14px;
  line-height: 1.85;
}

/* =====================================================
   SERVICE FLOW
===================================================== */

.service-flow {
  background-color: var(--site-surface);
}

/* -----------------------------------------------------
   SERVICE FLOW / INNER
----------------------------------------------------- */

.service-flow__inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-flow__inner
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   SERVICE FLOW / HEADER
----------------------------------------------------- */

.service-flow__header {
  width: 100%;
  max-width: 760px;
  margin: 0 !important;
  padding: 0 !important;
}

.service-flow__header
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.service-flow__lead {
  max-width: 700px;
  margin-top: 28px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 16px;
  line-height: 1.9;
}

/* -----------------------------------------------------
   SERVICE FLOW / LIST
----------------------------------------------------- */

.service-flow__list {
  width: 100%;
  margin-top: 56px !important;
  padding: 0 !important;
}

.service-flow__list
> .wp-block-group__inner-container {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--site-border);
  border-bottom: 1px solid var(--site-border);
}

/* -----------------------------------------------------
   SERVICE FLOW / ITEM
----------------------------------------------------- */

.service-flow__item {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-flow__item
+ .service-flow__item {
  border-left: 1px solid var(--site-border);
}

.service-flow__item
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  height: 100%;
  margin: 0 !important;
  padding: 32px 28px 36px;
}

.service-flow__number {
  margin: 0 !important;
  color: var(--site-primary);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .08em;
}

.post_content
.service-flow__item-title {
  margin-top: 24px !important;
  font-size: 20px !important;
  font-weight: 700;
  line-height: 1.55 !important;
}

.service-flow__text {
  margin-top: 14px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 14px;
  line-height: 1.85;
}

/* =====================================================
   SERVICE FAQ
===================================================== */

.service-faq {
  background-color: var(--site-white);
}

/* -----------------------------------------------------
   SERVICE FAQ / INNER
----------------------------------------------------- */

.service-faq__inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-faq__inner
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   SERVICE FAQ / HEADER
----------------------------------------------------- */

.service-faq__header {
  width: 100%;
  max-width: 760px;
  margin: 0 !important;
  padding: 0 !important;
}

.service-faq__header
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.service-faq__lead {
  max-width: 700px;
  margin-top: 28px !important;
  margin-bottom: 0 !important;
  color: var(--site-body);
  font-size: 16px;
  line-height: 1.9;
}

/* -----------------------------------------------------
   SERVICE FAQ / LIST
----------------------------------------------------- */

.service-faq__list {
  width: 100%;
  max-width: 960px;
  margin-top: 56px !important;
  margin-right: auto !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  padding: 0 !important;
}

.service-faq__list
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--site-border);
}

/* -----------------------------------------------------
   SERVICE FAQ / ITEM
----------------------------------------------------- */

.service-faq__item {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--site-border);
}

.service-faq__item
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 32px 0;
}

/* -----------------------------------------------------
   SERVICE FAQ / QUESTION
----------------------------------------------------- */

.service-faq__question {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-faq__question
> .wp-block-group__inner-container {
  display: grid;
  grid-template-columns:
    32px
    minmax(0, 1fr);
  column-gap: 20px;
  align-items: start;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.service-faq__mark {
  margin: 3px 0 0 !important;
  color: var(--site-primary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .08em;
}

.post_content
.service-faq__question-title {
  margin: 0 !important;
  font-size: 19px !important;
  font-weight: 700;
  line-height: 1.65 !important;
}

/* -----------------------------------------------------
   SERVICE FAQ / ANSWER
----------------------------------------------------- */

.service-faq__answer {
  width: 100%;
  margin-top: 20px !important;
  padding: 0 !important;
}

.service-faq__answer
> .wp-block-group__inner-container {
  display: grid;
  grid-template-columns:
    32px
    minmax(0, 1fr);
  column-gap: 20px;
  align-items: start;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.service-faq__answer-mark {
  margin: 2px 0 0 !important;
  color: var(--site-muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .08em;
}

.service-faq__answer-text {
  max-width: 760px;
  margin: 0 !important;
  color: var(--site-body);
  font-size: 15px;
  line-height: 1.95;
}

/* =====================================================
   SERVICE CONTACT
===================================================== */

.post_content
.swell-block-fullWide.service-contact {
  padding-top: 104px !important;
  padding-bottom: 104px !important;
  background: var(--site-dark) !important;
  background-color: var(--site-dark) !important;
  color: var(--site-white);
}

.post_content
.swell-block-fullWide.service-contact
> .swell-block-fullWide__inner {
  background: transparent !important;
  background-color: transparent !important;
}

/* -----------------------------------------------------
   SERVICE CONTACT / INNER
----------------------------------------------------- */

.service-contact__inner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.service-contact__inner
> .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 64px;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   SERVICE CONTACT / CONTENT
----------------------------------------------------- */

.service-contact__content {
  width: 100%;
  max-width: 760px;
  margin: 0 !important;
  padding: 0 !important;
}

.service-contact__content
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------------------------------
   SERVICE CONTACT / LABEL
----------------------------------------------------- */

.service-contact__label {
  color: #93C5FD !important;
}

/* -----------------------------------------------------
   SERVICE CONTACT / TITLE
----------------------------------------------------- */

.post_content
.swell-block-fullWide.service-contact
h2.site-section-title.service-contact__title {
  max-width: 720px;
  color: var(--site-white) !important;
}

/* -----------------------------------------------------
   SERVICE CONTACT / TEXT
----------------------------------------------------- */

.service-contact__text {
  max-width: 680px;
  margin-top: 28px !important;
  margin-bottom: 0 !important;
  color: rgba(255, 255, 255, .76);
  font-size: 16px;
  line-height: 1.95;
}

/* -----------------------------------------------------
   SERVICE CONTACT / ACTION
----------------------------------------------------- */

.service-contact__action {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0 !important;
}

.service-contact__action
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.service-contact__button {
  margin: 0 !important;
}

/* =====================================================
   SERVICE PAGE / FINAL TYPOGRAPHY TUNING
===================================================== */

/*
 * 長い日本語見出しの改行位置を整える。
 */
.service-itpartner__title,
.service-ict__title,
.service-web__title,
.service-flow__title,
.service-faq__title,
.service-contact__title {
  text-wrap: balance;
}


/* =====================================================
   RESPONSIVE / <= 959px
===================================================== */

@media (max-width: 959px) {
  .post_content
  .swell-block-fullWide.site-section {
    padding-top: var(--site-section-space-tablet) !important;
    padding-bottom: var(--site-section-space-tablet) !important;
  }

  .service-hero__inner {
    padding-top: 64px !important;
    padding-bottom: 80px !important;
  }

  .service-hero__layout
  > .wp-block-group__inner-container {
    grid-template-columns: 1fr;

    row-gap: 48px;
  }

  .service-hero__visual
  > .wp-block-group__inner-container {
    padding: 28px 0 28px 32px !important;
  }

  .service-index__grid {
    margin-top: 48px !important;
  }

  .service-index__grid
  > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  .service-index__item
  + .service-index__item {
    border-top: 1px solid var(--site-border);
    border-left: 0;
  }

    /* -----------------------------------------------------
     EXTERNAL IT PARTNER
  ----------------------------------------------------- */

  .service-itpartner__support {
    margin-top: 72px !important;
  }

  .service-itpartner__support-grid {
    margin-top: 40px !important;
  }

  .service-itpartner__support-grid
  > .wp-block-group__inner-container {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .service-itpartner__support-item:nth-child(3n + 2),
  .service-itpartner__support-item:nth-child(3n + 3) {
    border-left: 0;
  }

  .service-itpartner__support-item:nth-child(even) {
    border-left: 1px solid var(--site-border);
  }

  .service-itpartner__role {
    margin-top: 72px !important;
  }

  .service-itpartner__cta {
    margin-top: 72px !important;
  }

  .service-itpartner__cta
  > .wp-block-group__inner-container {
    align-items: flex-start;
    flex-direction: column;
    padding: 40px;
  }

    /* -----------------------------------------------------
     ICT SUPPORT
  ----------------------------------------------------- */

  .service-ict__process,
  .service-ict__examples,
  .service-ict__note {
    margin-top: 72px !important;
  }

  .service-ict__process-grid,
  .service-ict__examples-grid {
    margin-top: 40px !important;
  }

  .service-ict__process-grid
  > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  .service-ict__process-item
  + .service-ict__process-item {
    border-top: 1px solid var(--site-border);
    border-left: 0;
  }

  .service-ict__examples-grid
  > .wp-block-group__inner-container {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

    /* -----------------------------------------------------
     WEB SUPPORT
  ----------------------------------------------------- */

  .service-web__scope,
  .service-web__plans,
  .service-web__maintenance {
    margin-top: 72px !important;
  }

  .service-web__plans-grid,
  .service-web__maintenance-grid {
    margin-top: 40px !important;
  }

  .service-web__scope
  > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  .service-web__scope-item
  + .service-web__scope-item {
    border-top: 1px solid var(--site-border);
    border-left: 0;
  }

  .service-web__plans-grid
  > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  .service-web__plan
  + .service-web__plan {
    border-top: 1px solid var(--site-border);
    border-left: 0;
  }

    /* -----------------------------------------------------
     SERVICE FLOW
  ----------------------------------------------------- */

  .service-flow__list {
    margin-top: 48px !important;
  }

  .service-flow__list
  > .wp-block-group__inner-container {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .service-flow__item:nth-child(3) {
    border-left: 0;
  }

  .service-flow__item:nth-child(n + 3) {
    border-top: 1px solid var(--site-border);
  }

    /* -----------------------------------------------------
     SERVICE FAQ
  ----------------------------------------------------- */

  .service-faq__list {
    margin-top: 48px !important;
  }

    /* -----------------------------------------------------
     SERVICE CONTACT
  ----------------------------------------------------- */

  /*
   * 「を」だけが1行になるのを防ぎ、
   * スマートフォンでもCTA見出しを自然に見せる。
   */
  .post_content
  .swell-block-fullWide.service-contact
  h2.site-section-title.service-contact__title {
    font-size: 26px !important;

    line-height: 1.45 !important;
    letter-spacing: -.035em !important;
  }


  .post_content
  .swell-block-fullWide.service-contact {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  .service-contact__inner
  > .wp-block-group__inner-container {
    align-items: flex-start;
    flex-direction: column;
    gap: 40px;
  }

}

/* =====================================================
   RESPONSIVE / <= 767px
===================================================== */

@media (max-width: 767px) {
  .post_content
  .swell-block-fullWide.site-section {
    padding-top: var(--site-section-space-mobile) !important;
    padding-bottom: var(--site-section-space-mobile) !important;
  }

  .service-hero__inner {
    padding-top: 48px !important;
    padding-bottom: 64px !important;
  }

  .service-hero__layout
  > .wp-block-group__inner-container {
    row-gap: 40px;
  }

  .service-hero__visual
  > .wp-block-group__inner-container {
    padding: 24px 0 24px 24px !important;
  }

  .service-hero__visual-word {
    font-size: 27px;
  }

  .post_content
  .service-hero
  h1.site-page-title.service-hero__title {
    font-size: clamp(34px, 9vw, 42px) !important;
    line-height: 1.4 !important;
  }

  .service-hero__lead {
    margin-top: 24px !important;
    font-size: 15px;
    line-height: 1.95;
  }

  .service-index__grid {
    margin-top: 40px !important;
  }

  .service-index__item
  > .wp-block-group__inner-container {
    padding: 28px 0;
  }

  .post_content
  .service-index__title {
    margin-top: 22px !important;
    font-size: 21px !important;
  }

  .service-index__text {
    margin-top: 10px !important;
    font-size: 15px;
  }

    /* -----------------------------------------------------
     EXTERNAL IT PARTNER
  ----------------------------------------------------- */

  .service-itpartner__lead {
    margin-top: 24px !important;
    font-size: 16px;
  }

  .service-itpartner__support {
    margin-top: 56px !important;
  }

  .service-itpartner__support-grid {
    margin-top: 32px !important;
  }

  .service-itpartner__support-grid
  > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  .service-itpartner__support-item:nth-child(even) {
    border-left: 0;
  }

  .service-itpartner__support-item
  > .wp-block-group__inner-container {
    padding: 28px 0;
  }

  .post_content
  .service-itpartner__support-title {
    margin-top: 18px !important;
    font-size: 19px !important;
  }

  .service-itpartner__role {
    margin-top: 56px !important;
  }

  .service-itpartner__role
  > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  .service-itpartner__role-item
  + .service-itpartner__role-item {
    border-top: 1px solid var(--site-border);
    border-left: 0;
  }

  .service-itpartner__role-item
  > .wp-block-group__inner-container {
    padding: 32px 0;
  }

  .service-itpartner__cta {
    margin-top: 56px !important;
  }

  .service-itpartner__cta
  > .wp-block-group__inner-container {
    gap: 28px;
    padding: 32px 24px;
  }

  .service-itpartner__cta
  .site-button--primary {
    width: 100%;
  }

  .service-itpartner__cta
  .site-button--primary a {
    width: 100%;
  }

    /* -----------------------------------------------------
     ICT SUPPORT
  ----------------------------------------------------- */

  .service-ict__lead {
    margin-top: 24px !important;
    font-size: 16px;
  }

  .service-ict__process,
  .service-ict__examples,
  .service-ict__note {
    margin-top: 56px !important;
  }

  .service-ict__process-grid,
  .service-ict__examples-grid {
    margin-top: 32px !important;
  }

  .service-ict__process-item
  > .wp-block-group__inner-container {
    padding: 28px 0;
  }

  .post_content
  .service-ict__process-title {
    margin-top: 20px !important;
    font-size: 20px !important;
  }

  .service-ict__process-text {
    margin-top: 12px !important;
  }

  .service-ict__examples-grid
  > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  .service-ict__example-item:nth-child(even) {
    border-left: 0;
  }

  .service-ict__example-item
  > .wp-block-group__inner-container {
    padding: 26px 0;
  }

  .service-ict__note
  > .wp-block-group__inner-container {
    padding: 28px 24px;
  }

    /* -----------------------------------------------------
     WEB SUPPORT
  ----------------------------------------------------- */

  .service-web__lead {
    margin-top: 24px !important;
    font-size: 16px;
  }

  .service-web__scope,
  .service-web__plans,
  .service-web__maintenance {
    margin-top: 56px !important;
  }

  .service-web__plans-grid,
  .service-web__maintenance-grid {
    margin-top: 32px !important;
  }

  .service-web__scope-item
  > .wp-block-group__inner-container {
    padding: 32px 0;
  }

  .service-web__plan
  > .wp-block-group__inner-container {
    padding: 28px 0;
  }

  .post_content
  .service-web__plan-price {
    margin-top: 20px !important;
    font-size: 24px !important;
  }

  .service-web__maintenance-grid
  > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  .service-web__maintenance-item
  + .service-web__maintenance-item {
    border-top: 1px solid rgba(37, 99, 235, .14);
    border-left: 0;
  }

  .service-web__maintenance-item
  > .wp-block-group__inner-container {
    padding: 28px 24px;
  }

    /* -----------------------------------------------------
     SERVICE FLOW
  ----------------------------------------------------- */

  .service-flow__lead {
    margin-top: 24px !important;
    font-size: 16px;
  }

  .service-flow__list {
    margin-top: 40px !important;
  }

  .service-flow__list
  > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  .service-flow__item
  + .service-flow__item {
    border-top: 1px solid var(--site-border);
    border-left: 0;
  }

  .service-flow__item
  > .wp-block-group__inner-container {
    padding: 28px 0;
  }

  .post_content
  .service-flow__item-title {
    margin-top: 18px !important;
    font-size: 19px !important;
  }

    /* -----------------------------------------------------
     SERVICE FAQ
  ----------------------------------------------------- */

  .service-faq__lead {
    margin-top: 24px !important;
    font-size: 16px;
  }

  .service-faq__list {
    margin-top: 40px !important;
  }

  .service-faq__item
  > .wp-block-group__inner-container {
    padding: 28px 0;
  }

  .service-faq__question
  > .wp-block-group__inner-container,
  .service-faq__answer
  > .wp-block-group__inner-container {
    grid-template-columns:
      24px
      minmax(0, 1fr);
    column-gap: 12px;
  }

  .post_content
  .service-faq__question-title {
    font-size: 18px !important;
  }

  .service-faq__answer {
    margin-top: 16px !important;
  }

  .service-faq__answer-text {
    font-size: 14px;
    line-height: 1.9;
  }

    /* -----------------------------------------------------
     SERVICE CONTACT
  ----------------------------------------------------- */

  .post_content
  .swell-block-fullWide.service-contact {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .service-contact__inner
  > .wp-block-group__inner-container {
    gap: 32px;
  }

  .service-contact__text {
    margin-top: 24px !important;
    font-size: 15px;
    line-height: 1.9;
  }

  .service-contact__action {
    width: 100%;
  }

  .service-contact__button {
    width: 100%;
  }

  .service-contact__button a {
    width: 100%;
  }

}
/* =====================================================
   MOBILE HERO / COMPACT VERTICAL VISUAL
===================================================== */

@media (max-width: 767px) {

  .service-hero__inner {
    padding-bottom: 56px !important;
  }


  .service-hero__layout
  > .wp-block-group__inner-container {
    row-gap: 32px;
  }


  .service-hero__visual
  > .wp-block-group__inner-container {
    padding: 18px 0 18px 20px !important;
  }


  .service-hero__visual-word {
    font-size: 21px;

    line-height: 1.25;
  }


  .service-hero__visual-mark {
    margin: 10px 0 !important;

    font-size: 16px;
  }


  .service-hero__visual-brand {
    margin-top: 18px !important;

    font-size: 10px;
    letter-spacing: .18em;

    white-space: nowrap;
  }

}
