@charset "UTF-8";
/******************************************************************
Site Name: サイト名称
Author: Harimanics Co.Ltd.
******************************************************************/
@media all {
  .common-cation {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 1.2em 1em;
    border-radius: 10px;
    background: rgba(111, 23, 43, 0.05);
  }
  .common-cation__icon {
    font-size: clamp(16px, 18 / 1400 * 100vw, 18px);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 32px;
    min-width: 32px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: var(--red);
    font-weight: 700;
    color: var(--white);
    line-height: 1;
  }
  .common-cation__icon::before {
    content: "!";
    transform: translate(0, -2px);
  }
  .common-cation__text {
    font-size: clamp(14px, 16 / 1400 * 100vw, 16px);
  }
  .common-cation__text.--lg {
    font-size: clamp(16px, 18 / 1400 * 100vw, 18px);
    color: var(--red);
  }
  .common-cation__text-deco {
    color: var(--red);
  }
  .common-cation__text-note {
    margin-left: 2em;
  }
  .common-cation.--white {
    background: var(--white);
  }
  .common-cation.--staff-schedule {
    align-items: flex-start;
    background: transparent;
    padding: 0;
  }
  .common-cation.--staff-schedule .common-cation__icon {
    width: 24px;
  }
  .common-cation.--staff-schedule .common-cation__text {
    margin-top: -5px;
    font-weight: 700;
    line-height: 1.5;
  }
  .common-cation.--staff-schedule .common-cation__text-deco {
    font-size: clamp(16px, 18 / 1400 * 100vw, 18px);
    display: inline-block;
    color: var(--red);
    letter-spacing: 0;
    margin-bottom: 0.2em;
  }
}
@media screen and (max-width: 767px) {
  .common-cation__icon {
    width: 24px;
    min-width: 24px;
  }
}
@media all {
  .ambulance {
    background: var(--beige);
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .ambulance__block {
    width: min(1200px, 90%);
    margin-inline: auto;
    padding: max(8rem, 40px) calc(max(27rem, 250px) + 6rem) max(10rem, 50px) 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .ambulance__block {
    padding: 40px 290px 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .ambulance__block {
    padding: 40px 0 50px;
  }
}
@media all {
  .ambulance__img {
    margin-top: max(3.5rem, 20px);
  }
  .ambulance__list {
    margin-top: max(6rem, 30px);
  }
  .ambulance__item {
    padding: 1.3em 1.8em;
    border-radius: 10px;
    background: var(--white);
  }
  .ambulance__item-title {
    font-size: clamp(18px, 20 / 1400 * 100vw, 20px);
    font-weight: 700;
    color: var(--red);
  }
  .ambulance__item-item {
    position: relative;
  }
  .ambulance__item-item::before {
    content: "";
    display: block;
    width: 8px;
    aspect-ratio: 1/1;
    background: var(--red);
    border-radius: 50%;
    position: absolute;
    top: 0.6em;
    left: 0;
  }
  .ambulance__item-item {
    margin-top: 0.7em;
    padding-left: 0.8em;
    font-weight: 700;
    line-height: 1.5;
  }
  .ambulance__point {
    font-size: clamp(18px, 20 / 1400 * 100vw, 20px);
    margin-top: 1em;
    font-weight: 700;
    color: var(--red);
  }
  .ambulance__quote {
    margin-top: 2em;
  }
}
@media screen and (min-width: 768px) {
  .ambulance__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px 17px;
  }
}
@media screen and (max-width: 767px) {
  .ambulance__item:not(:first-child) {
    margin-top: 10px;
  }
}
@media all {
  .cure {
    background: var(--white);
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .cure__block {
    width: min(1200px, 90%);
    margin-inline: auto;
    padding: max(8rem, 40px) calc(max(27rem, 250px) + 6rem) max(10rem, 50px) 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .cure__block {
    padding: 40px 290px 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .cure__block {
    padding: 40px 0 50px;
  }
}
@media all {
  .cure__description {
    margin-top: -0.7em;
  }
  .cure__sub-title {
    margin-top: max(5rem, 30px);
  }
  .cure__list {
    margin-top: 2em;
  }
  .cure__quote {
    margin-top: 1.7em;
  }
}
@media screen and (min-width: 768px) {
  .cure__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .cure__item:not(:first-child) {
    margin-top: 10px;
  }
}
@media all {
  .find {
    background: var(--beige);
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .find__block {
    width: min(1200px, 90%);
    margin-inline: auto;
    padding: max(8rem, 40px) calc(max(27rem, 250px) + 6rem) max(10rem, 50px) 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .find__block {
    padding: 40px 290px 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .find__block {
    padding: 40px 0 50px;
  }
}
@media all {
  .find__description {
    margin-top: -0.7em;
  }
  .find__box {
    margin-top: max(3rem, 20px);
  }
}
@media screen and (min-width: 768px) {
  .find__box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media (width < 1000px) {
  .find__box {
    display: block;
  }
}
@media all {
  .map__description {
    margin-bottom: max(8rem, 40px);
  }
  .map {
    background: var(--beige);
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .map__block {
    width: min(1200px, 90%);
    margin-inline: auto;
    padding: max(8rem, 40px) calc(max(27rem, 250px) + 6rem) max(10rem, 50px) 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .map__block {
    padding: 40px 290px 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .map__block {
    padding: 40px 0 50px;
  }
}
@media all {
  .use {
    background: var(--white);
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .use__block {
    width: min(1200px, 90%);
    margin-inline: auto;
    padding: max(8rem, 40px) calc(max(27rem, 250px) + 6rem) max(10rem, 50px) 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .use__block {
    padding: 40px 290px 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .use__block {
    padding: 40px 0 50px;
  }
}
@media all {
  .use__box:not(:first-of-type) {
    margin-top: max(10rem, 50px);
  }
  .use__item-title {
    font-size: clamp(16px, 18 / 1400 * 100vw, 18px);
    margin-top: 0.5em;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  .use__item-text {
    margin-top: 0.5em;
  }
  .use__text {
    margin-top: 2em;
  }
}
@media screen and (min-width: 768px) {
  .use__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  .use__img-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .use__item:not(:first-child) {
    margin-top: 30px;
  }
  .use__img {
    width: min(100%, 350px);
    margin-inline: auto;
  }
  .use__img:not(:first-child) {
    margin-top: 20px;
  }
  .use__item-img {
    width: min(100%, 350px);
    margin-inline: auto;
  }
}
@media all {
  .chest__point {
    font-size: clamp(16px, 18 / 1400 * 100vw, 18px);
    margin-top: 0.7em;
    font-weight: 700;
    color: var(--red);
  }
  .chest__note {
    margin-top: 1em;
    padding: 0.8em 1.2em;
    border-radius: 10px;
    background: var(--beige);
    font-weight: 700;
  }
  .chest__note-deco {
    display: inline-block;
    padding: 0.2em 0;
  }
}
@media screen and (min-width: 768px) {
  .chest {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: max(3rem, 10px);
  }
}
@media screen and (max-width: 767px) {
  .chest__text {
    margin-top: 1em;
  }
}
@media all {
  .find-card {
    padding: 20px;
    border-radius: 15px;
    background: var(--white);
  }
  .find-card__title {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin-left: 5px;
  }
  .find-card__title-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 38px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: var(--red);
  }
  .find-card__title-text {
    font-size: clamp(18px, 20 / 1400 * 100vw, 20px);
    position: relative;
    z-index: 0;
    padding-bottom: 0.2em;
    font-weight: 700;
    color: var(--red);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 60%, #EDD6D8 60%, #EDD6D8 100%);
  }
  .find-card__tel-link {
    display: block;
    margin-top: 10px;
    padding: 1em;
    border-radius: 5px;
    background: var(--beige);
  }
  .find-card__tel-text {
    font-size: clamp(12px, 14 / 1400 * 100vw, 14px);
    font-weight: 700;
    line-height: 1.4;
  }
  .find-card__tel-text__deco {
    display: block;
    margin-left: 3em;
  }
  .find-card__tel-num {
    font-size: clamp(30px, 40 / 1400 * 100vw, 40px);
    font-weight: 700;
    color: var(--red);
    line-height: 1;
    transform: translate(5px, 0);
  }
  .find-card__tel-num__deco {
    font-size: clamp(20px, 24 / 1400 * 100vw, 24px);
  }
  .find-card__tel-note {
    font-size: clamp(12px, 14 / 1400 * 100vw, 14px);
  }
  .find-card__text {
    font-size: clamp(12px, 14 / 1400 * 100vw, 14px);
    margin: 0.8em 0 0 5px;
    line-height: 1.6;
  }
  .find-card__list {
    counter-reset: num;
    margin: max(3rem, 15px) 0 0 5px;
  }
  .find-card__item {
    --width: 25px;
    position: relative;
    padding-left: calc(var(--width) + 0.7em);
  }
  .find-card__item::before {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    counter-increment: num;
    content: counter(num);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--width);
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 1px solid;
    color: var(--red);
    font-weight: 700;
    line-height: 1;
  }
  .find-card__item:not(:first-child) {
    margin-top: 0.8em;
  }
  .find-card__item-title {
    font-size: clamp(12px, 14 / 1400 * 100vw, 14px);
    font-weight: 700;
    line-height: 1.6;
  }
  .find-card__item-title__deco {
    color: var(--red);
  }
  .find-card__item-link {
    font-size: clamp(10px, 11 / 1400 * 100vw, 11px);
    transition: var(--transition);
    display: block;
    margin-top: 0.5em;
    font-weight: 700;
    color: var(--red);
    line-height: 1.6;
    word-break: break-all;
  }
}
@media (hover: hover) {
  .find-card__item-link:hover {
    opacity: var(--opacity);
  }
}
@media screen and (min-width: 1200px) {
  .find-card__tel-link {
    display: flex;
    align-items: center;
    gap: 5px;
  }
}
@media (width < 1000px) {
  .find-card:not(:first-child) {
    margin-top: 20px;
  }
  .find-card__tel-text__deco {
    display: inline;
    margin-left: 0;
  }
}