/* アコーディオンモジュールの上書き */
.officeItem .c-accordion-b__cell:first-child [data-accordion="trigger"] {
  padding: 12px 40px 12px 16px !important;
}
.officeItem .c-accordion-b [data-accordion="trigger"]::after {
  right: 16px !important;
  width: 15px !important;
  height: 15px !important;
}
.officeItem .c-accordion-b__cell:last-child {
  padding: 8px 16px !important;
  background-color: #f3f3f3;
  margin-bottom: 12px !important;
}
.c-linkCard--col2 {
  row-gap: 24px !important;
}
@media screen and (min-width: 641px) {
  .officeItem .c-accordion-b button {
    font-size: 16px !important;
  }
}
@media screen and (max-width: 640px) {
  .officeItem .c-accordion-b button {
    font-size: 15px !important;
  }
}
/* アコーディオンモジュールの上書き */

.officeItem {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
}
.officeItem__heading {
  font-size: 20px;
}
.officeItem__mapLink {
  color: #cf122e !important;
  column-gap: 8px;
  display: flex !important;
  align-items: center;
}
.officeItem__mapLink:hover > span {
  background: linear-gradient(
    transparent 0,
    transparent calc(100% - 1px),
    #cf142b calc(100% - 1px),
    #cf142b 100%
  );
}
.officeItem__mapLink > img {
  width: 16px !important;
  height: 16px !important;
}
.officeItem__number {
  display: flex !important;
}
.officeItem__tel {
  display: flex !important;
  color: #000 !important;
  align-items: center;
}
.officeItem__tel,
.officeItem__fax {
  font-weight: bold;
}
@media screen and (min-width: 1101px) {
  .officeItem__number {
    column-gap: 24px;
    align-items: center;
  }
}
@media screen and (max-width: 1100px) {
  .officeItem__number {
    flex-direction: column;
  }
}
@media screen and (min-width: 641px) {
  .officeItem .c-accordion-b__cell h5 {
    font-size: 16px !important;
  }
  .officeItem {
    padding: 40px;
  }
  .officeItem__tel {
    pointer-events: none;
  }
  .officeItem__tel,
  .officeItem__fax {
    font-size: 18px !important;
  }
  .officeItem__tel > img {
    width: 32px !important;
    height: 32px !important;
  }
}
@media screen and (max-width: 640px) {
  .officeItem .c-accordion-b__cell h5 {
    font-size: 15px !important;
  }
  .officeItem {
    padding: 20px;
  }
  .officeItem__mapLink {
    font-size: 15px;
  }
  .officeItem__tel,
  .officeItem__fax {
    font-size: 16px !important;
  }
  .officeItem__tel {
    cursor: pointer;
  }
  .officeItem__tel:hover > span {
    background: linear-gradient(
      transparent 0,
      transparent calc(100% - 1px),
      #000 calc(100% - 1px),
      #000 100%
    );
  }
  .officeItem__tel > img {
    width: 30px !important;
    height: 30px !important;
  }
}

summary {
  list-style: none;
  cursor: pointer;
}
summary::-webkit-details-marker {
  display: none;
}

.details {
  overflow: hidden;
  border-top: 1px solid #c9c9c9;
  border-bottom: 1px solid #c9c9c9;
}

.details__summary {
  position: relative;
  padding: 16px 40px 16px 16px;
  font-weight: 700;
}
.details__summary:focus-visible {
  outline: 2px solid #4078e3;
  outline-offset: -1px;
}

.details__summary::after {
  position: absolute;
  top: 50%;
  right: 8px;
  display: inline-block;
  width: 20px;
  height: 20px;
  content: "";
  background-color: #cf142b;
  transition: transform ease 0.5s;
  transform: translateY(-50%) rotate(90deg);
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000000" d="M6.99813,21.015a1.24936,1.24936,0,0,0,1.77,0l8.31-8.31a.99587.99587,0,0,0,0-1.41l-8.31-8.31a1.25158,1.25158,0,0,0-1.77,1.77l7.24,7.25-7.25,7.25A1.24639,1.24639,0,0,0,6.99813,21.015Z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000000" d="M6.99813,21.015a1.24936,1.24936,0,0,0,1.77,0l8.31-8.31a.99587.99587,0,0,0,0-1.41l-8.31-8.31a1.25158,1.25158,0,0,0-1.77,1.77l7.24,7.25-7.25,7.25A1.24639,1.24639,0,0,0,6.99813,21.015Z"/></svg>');
}
.details__summary:is(details[open]:not(.is-closing) *)::after {
  transform: translateY(-50%) rotate(-90deg);
}
.details__content-wrap {
  overflow: hidden;
}
.details__content {
  padding: 8px 16px !important;
  background-color: #f3f3f3;
  margin-bottom: 12px !important;
}

.phone-number {
  display: flex !important;
  color: #000 !important;
  align-items: center !important;
  font-size: 18px !important;
  font-weight: bold;
  > img {
    width: 32px !important;
    height: 32px !important;
  }
}

@media screen and (min-width: 641px) {
  .phone-number {
    pointer-events: none;
  }
}

@media screen and (max-width: 640px) {
  .phone-number {
    font-size: 16px;
    color: #cf142b;
    > img {
      width: 30px !important;
      height: 30px !important;
    }
  }
}
