.single {
  padding-top: 8.5rem;
}

.single__header {
  padding: 0 1.25rem;
}

.single__breadcrumbs {
  display: flex;
  margin: 0 auto;
  max-width: 82.875rem;
}

.single__breadcrumbs a,
.single__breadcrumbs p {
  color: #000;
  font-size: 1rem;
}

.single__heading {
  border-bottom: 1px solid #d2d2d2;
  margin: 1rem auto 0;
  max-width: 67.5rem;
  padding-bottom: 1.25rem;
  text-align: center;
  width: 100%;
}

.single__heading p {
  color: var(--colorMain);
  font-family: var(--familyPoppins);
  font-size: var(--fontMax18Min16);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.single__heading h2 {
  color: #00111f;
  font-size: var(--fontMax32Min24);
  font-weight: 700;
}

.single__body {
  margin-top: clamp(2.5rem, 6vw, 4rem);
  padding: 0 1.25rem;
}

.single__mainTitle {
  color: var(--colorMain);
  font-size: var(--fontMax32Min24);
  font-weight: 700;
  line-height: 1.4;
}

.voiceBlock__container {
  border: 2px solid #0f9b92;
  border-radius: 0.5rem;
  box-sizing: border-box;
  padding: clamp(1.5rem, 3.7vw, 2.5rem) clamp(2rem, 5.1vw, 3.44rem);
}

.single__featuredImage {
  margin: 2rem auto 0;
  max-width: 50rem;
  position: relative;
  width: calc(100% - 2.5rem);
}

.single__featuredImageBanner {
  align-items: center;
  background: rgba(255,255,255, 0.85);
  bottom: clamp(2rem, 4.63vw, 3.125rem);
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  padding: 0.5rem 1.625rem;
  position: absolute;
  width: fit-content;
}

.single__featuredImageBanner--left {
	left: 0;
}

.single__featuredImageBanner--right {
	right: 0;
}

.featuredImage__prestaIcon {
  height: 100%;
  max-height: 3.875rem;
  width: auto;
}

.featuredImage__crossIcon {
  max-width: 2.81rem;
}

.featuredImage__partnerIcon {
  height: 100%;
  width: auto;
}

.featuredImage__main {
  border-radius: 40px;
}

.single__contents {
  margin-top: 2rem;
}

.voiceBlock__detailList {
  display: grid;
  gap: 0.5rem 1rem;
  grid-template-columns: 1fr 1fr;
}

.voiceBlock__group {
  display: grid;
  grid-template-columns: 7.5rem auto;
}

.voiceBlock__group--double {
  grid-column: span 2;
}

.voiceBlock__group dt,
.voiceBlock__group dd,
.voiceBlock__group a {
  color: #111;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.8;
  margin: 0;
}

.voiceBlock__group dt {
  color: #0f9b92;
  display: flex;
  font-weight: 700;
  width: 100%;
}

.voiceBlock__group dt .colon {
	margin-left: auto;
    display: inline-block;
    padding-right: 0.5rem;
}

.voiceBlock__group a {
  color: #0f9b92;
  text-decoration: underline;
}

h2.wp-block-heading {
  border-bottom: 1px solid #0f9b92;
  color: #0f9b92;
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--fontMax32Min24);
  font-weight: 700;
  width: 100%;
}

h3.wp-block-heading {
  color: #00111f;
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--fontMax24Min18);
  font-weight: 700;
}

p.wp-block-paragraph {
  font-size: 1rem;
}

figure.wp-block-image img {
  border-radius: 1rem;
}

figcaption.wp-element-caption {
  font-size: 0.875rem;
  padding: 10px 12px;
}

figure.wp-block-image {
  align-items: center;
  display: flex;
  flex-direction: column;
}

figure.wp-block-image.size-full img {
  max-width: 54.75rem;
}

.single__otherCases {
  padding: clamp(3.75rem, 9.26vw, 6.25rem) 0;
}

.single__otherCases .single__heading {
  width: calc(100% - 2.5rem);
}

.singleBanner {
  padding: clamp(3.5rem, 7.4vw, 5rem) 20px;
}

.container--singleBanner {
  border: 5px solid #aad9d6;
  border-radius: 1rem;
  display: block;
  overflow: hidden;
  padding: 0;
  position: relative;
  z-index: 1;
}

.singleBanner__textArea {
  padding: clamp(3.5rem, 7.87vw, 5.31rem) 1.25rem;
  text-align: center;
}

.singleBanner__bgImage,
.singleBanner__filter {
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

.singleBanner__bgImage {
  z-index: -2;
}

.singleBanner__filter {
  background: #0f9b92;
  opacity: 0.6;
  z-index: -1;
}

.singleBanner__text,
.singleBanner__text a {
  color: #fff;
  font-size: var(--fontMax20Min16);
  font-weight: 700;
}

.singleBanner__text .underline {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.singleBanner__text .medium {
  font-size: var(--fontMax24Min18);
}

.singleBanner__text .large {
  font-size: var(--fontMax32Min24);
}

.singleBanner__text img {
  width: clamp(12.5rem, 27.9vw, 18.125rem);
}

.singleBanner__textArea {
  display: grid;
  gap: 1rem;
}

.singleBanner__text:has(img) {
  align-items: flex-end;
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.singleBanner__text br {
  display: none;
}

@media screen and (max-width: 767px) {
  .single {
    padding-top: 6.8rem;
  }
  .wp-block-column:has(figure) {
    order: 1;
  }
  .wp-block-column:not(:has(figure)) {
    order: 2  ;
  }
  .voiceBlock__detailList {
    gap: 1rem;
    grid-template-columns: 1fr;
  }
  .voiceBlock__group--double {
    grid-column: span 1;
  }
  .featuredImage__prestaIcon {
    max-height: 2.875rem;
  }
  .featuredImage__crossIcon {
    max-width: 1.4rem;
  }
  .featuredImage__partnerIcon {
    max-height: 2.25rem;
  }
  .singleBanner__text br.for-tab {
    display: block;
  }
}

@media screen and (max-width: 500px) {
  .voiceBlock__group {
    grid-template-columns: 1fr;
  }
  .voiceBlock__group dt .colon {
    margin-left: unset;
  }
  .voiceBlock__container {
    padding: 1.25rem 1rem;
  }
  .single__featuredImage {
    width: 100%;
  }
  .featuredImage__main {
    border-radius: 20px;
  }
  .featuredImage__prestaIcon {
    max-height: 2rem;
  }
  .featuredImage__crossIcon {
    max-width: 1rem;
  }
  .featuredImage__partnerIcon {
    max-height: 1.5rem;
  }
  .singleBanner__text:has(img) {
    align-items: center;
    flex-direction: column;
  }
}
