@charset "UTF-8";
/* CSS Document */
.header-img {
  background: url(../../img/header-1.jpg) no-repeat center/cover;
}

h2 {
  color: #00aae7;
  font-size: 3rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 991px) {
  h2 {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 767px) {
  h2 {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 575px) {
  h2 {
    font-size: 2.4rem;
    margin-bottom: 2.5rem;
  }
}

h3 {
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 3rem;
  line-height: 1.2em;
}
@media screen and (max-width: 991px) {
  h3 {
    font-size: 2.5rem;
    margin-bottom: 2.5rem;
  }
}
h3 span {
  display: block;
  font-size: 1.6rem;
  color: #b4b4b4;
  line-height: 1em;
  margin-top: 0.5rem;
}
@media screen and (max-width: 991px) {
  h3 span {
    font-size: 1.4rem;
  }
}

.blue-border {
  border: 1px solid #00aae7;
  border-radius: 10px;
  padding: 3rem 5rem;
}
@media screen and (max-width: 767px) {
  .blue-border {
    padding: 2rem 3rem;
  }
}
.blue-border ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .blue-border ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 575px) {
  .blue-border ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.blue-border ul li {
  position: relative;
  padding-left: 1em;
}
.blue-border ul li::before {
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #00aae7;
  position: absolute;
  left: 0;
  top: 0;
}

#hours-area table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}
#hours-area table th {
  background: #e5f6fd;
  font-weight: 500;
  width: 20%;
  text-align: left;
}
#hours-area table th,
#hours-area table td {
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  padding: 1rem 2rem;
  display: table-cell;
}
@media screen and (max-width: 575px) {
  #hours-area table th,
  #hours-area table td {
    display: block;
    width: 100%;
    border-bottom: none;
    padding: 0.5rem 1rem;
  }
  #hours-area table td {
    border-top: none;
  }
  #hours-area table tr:last-child td {
    border-bottom: 1px solid #ccc;
  }
}

.link-group {
  display: grid;
  justify-content: center;
  gap: 1.5rem;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
}
@media screen and (max-width: 575px) {
  .link-group {
    width: 100%;
    gap: 1rem;
  }
}
.link-group .link-button {
  width: 100%;
}
.link-group .link-button i {
  margin-right: 1rem;
}

#contact {
  background: #e5f6fd;
  padding: 5rem 0;
}
#contact h4 {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 1rem;
}
#contact .contact-container {
  display: flex;
  gap: 3rem;
  justify-content: center;
}
@media screen and (max-width: 575px) {
  #contact .contact-container {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
}
#contact .contact-container p {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1em;
}
#contact .contact-container p span {
  font-size: 2.5rem;
  color: #00aae7;
}

#navigation .other-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem 3rem;
}
@media screen and (max-width: 767px) {
  #navigation .other-list {
    gap: 4rem 2rem;
  }
}
@media screen and (max-width: 575px) {
  #navigation .other-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 3.5rem;
  }
}
#navigation .other-list li:hover p {
  color: #00aae7;
}
#navigation .other-list li:hover .other-img::before {
  opacity: 1;
}
#navigation .other-list li:hover .other-img::after {
  opacity: 1;
}
#navigation .other-list li:hover img {
  transform: scale(1.05);
}
#navigation .other-list li .other-img {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
#navigation .other-list li .other-img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 170, 231, 0.3);
  opacity: 0;
  transition: 0.3s ease;
  z-index: 1;
}
#navigation .other-list li .other-img::after {
  content: "詳しく見る";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  opacity: 0;
  transition: 0.3s ease;
  z-index: 2;
}
#navigation .other-list li .other-img img {
  transition: 0.3s ease;
}
#navigation .other-list li .other-img img {
  display: block;
  width: 100%;
  height: auto;
}
#navigation .other-list li p {
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  #navigation .other-list li p {
    font-size: 1.8rem;
  }
}

#intro .intro-container {
  display: flex;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #intro .intro-container {
    flex-direction: column;
    gap: 2rem;
  }
}
#intro .intro-container .intro-img {
  flex: 1;
  border-radius: 10px;
  overflow: hidden;
}
#intro .intro-container .intro-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#intro .intro-container .intro-text {
  flex: 1;
}
#intro .intro-container .intro-text h4 {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 1.5rem;
  line-height: 1.5em;
}
@media screen and (max-width: 575px) {
  #intro .intro-container .intro-text h4 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}

#insurances p {
  margin-bottom: 3rem;
}
#insurances dl {
  margin-bottom: 3rem;
}
#insurances dl dt {
  color: #00aae7;
  font-size: 2rem;
  font-weight: 500;
  border-bottom: 1px solid #00aae7;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

#users p {
  text-align: center;
}

#privacy-policy p {
  text-align: center;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 575px) {
  #privacy-policy p {
    text-align: justify;
  }
} /*# sourceMappingURL=other.css.map */
