
/* ----------------------------------------------- */
/* service */

.service .wp-block-group.is-layout-grid {
  /* grid-template-columns: repeat(2, 1fr); */
  gap: min(3.25vw, 36px);
}
@media (width < 700px) {
  .service .wp-block-group.is-layout-grid {
    /* grid-template-columns: 1fr; */
    /* grid-template-columns: repeat(2, 50%); */
  }
}
.service .wp-block-group.is-layout-grid .wp-block-cover {
  padding: min(3.25vw, 36px) min(3.25vw, 36px) min(3.75vw, 42px) min(3.25vw, 36px) !important;
  min-height: auto !important;
}

.service .wp-block-group.is-layout-grid h4 {
  font-size: min(3.6vw, 20px);
  line-height: 1.5;
  margin-inline: -.75em !important;
  @media (width < 600px) {
    margin-top: 1em;
    span {
      display: block;
    }
  }
}
.service .wp-block-group.is-layout-grid ul {
  padding-left: 1.5em;
  font-size: .9em;
  @media (width < 600px) {
    padding-left: 1.25em;
    margin-top: 1em !important;
  }
}

.service .flags {
  @media (width < 600px) {
    flex-wrap: wrap;
    margin: .75em auto;
    padding-inline: .5em !important;
  }
}
.service .flags img {
  max-width: 1.5em;
  filter: drop-shadow(1px 1px 2px #6b6a6a66);
  @media (width < 600px) {
    max-width: 1em;
  }
}


/* ----------------------------------------------- */
/* performance */

.rate-title {
  font-size: min(6vw, 65px);
}
.rate-number {
  font-size: min(18vw, 195px);
}

.cases .columns-2.is-layout-grid {
  /* gap: min(3.25vw, 36px) !important; */
}

.cases .case {
  padding: min(3.25vw, 36px) min(3.25vw, 36px) min(3.75vw, 42px) min(3.25vw, 36px) !important;
  box-shadow: 0 2px 6px var(--wp--preset--color--main);
  height: 100%;
}
.cases .case .post-card-thumb {
  display: block;
  margin: 0 0 0 auto;
  width: 2em;
}

.cases .case .comingsoon {
  display: grid;
  place-items: center;
  height: 100%;
  padding: 2em 0;
}


.single-cases h2.title {
  padding-top: 3rem;
  @media (width < 768px) {
    padding-top: 1rem;
  }
}
.single-cases h3.title {
  font-size: 1.6em;
  @media (width < 768px) {
    padding-top: 1rem;
  }
}
.single-cases .entry-content {
  padding-top: 0;
}

/* ----------------------------------------------- */

.single-news h1.title {
  padding-top: 3rem;
  @media (width < 768px) {
    padding-top: 1rem;
  }
}
.single-news .entry-content {
  margin-top: 2rem;
  padding: 0;
}

/* ----------------------------------------------- */
.signature {
  max-width: 220px;
}


/* ----------------------------------------------- */
/* snow monkey forms styles */

/* Snow Monkey Formsに必須マークをつける */
.smf-item__label__text {
  position: relative;
}

.smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
  position: absolute;
  content: '必須';
  color: #fff;
  width: 40px;
  height: 22px;
  top: 50%;
  transform: translateY(-50%);
  right: -50px;
  display: grid;
  place-items: center;

  background: #c1272d;
  font-size: 14px;
  font-weight: 500;
}

.smf-button-control__control {
  max-width: 450px;
  margin: 40px auto;
  position: relative;
}

.smf-button-control__control {
  font-family: inherit;
  outline: none;
  background: #000 !important;
  font-weight: 500;
  border: none;
  display: block;
  text-align: center;
  color: #fff !important;
  font-size: 16px;
  line-height: 60px;
  width: 100%;
}

.smf-text-control__control[type="text"],
.smf-text-control__control[type="email"] {
  height: 50px;
  width: 100%;
  padding: 0 5px;
  border-radius: 2px;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #f0f0f0;
  box-sizing: border-box;
}

.smf-select-control {
  width: 45%;
}

.smf-select-control .select {
  margin-bottom: .75em;
}

.smf-select-control select {
  /* height: 50px; */
  /* padding: 0 5px; */
  /* border-radius: 4px; */
  border: none !important;
  /* appearance: none; */
  /* -webkit-appearance: none; */
  /* -moz-appearance: none; */
  background: #f0f0f0 !important;
  /* box-sizing: border-box; */
  width: 100%;
}

.smf-textarea-control textarea {
  border: none !important;
  background: #f0f0f0 !important;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.6;
}

