@charset "UTF-8";
/*************************************************

about-anchors

*************************************************/
.about-anchors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 6rem;
}

.about-anchors__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 4rem;
  padding: 0 2rem 1.5rem;
  border-bottom: #555555 solid 2px;
}

.about-anchors__list-anchor {
  position: relative;
  display: block;
  padding-right: 3.5rem;
  font-size: 1.4rem;
  font-weight: 600;
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
@media (any-hover: hover) {
  .about-anchors__list-anchor:hover {
    color: #AC3A3A;
  }
  .about-anchors__list-anchor:hover::before {
    top: 0.7em;
  }
}
.about-anchors__list-anchor::before {
  position: absolute;
  top: 0.4em;
  right: 0;
  display: block;
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-right: #AC3A3A solid 1px;
  border-bottom: #AC3A3A solid 1px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: top 0.3s;
  transition: top 0.3s;
}

/*************************************************

about-greeting

*************************************************/
/*************************************************

about-policy

*************************************************/
/*************************************************

about-introduction

*************************************************/
.about-introduction {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .about-introduction {
    margin-bottom: 5rem;
  }
}
.about-introduction::before {
  display: block;
  content: "";
  width: 100%;
  height: 4rem;
  margin-bottom: 3rem;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(255, 255, 255)), to(rgba(245, 245, 245, 0.3)));
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(245, 245, 245, 0.3) 100%);
}

/*************************************************

about-access

*************************************************/
.about-access {
  margin-bottom: 8rem;
}
.about-access::before {
  display: block;
  content: "";
  width: 100%;
  height: 4rem;
  margin-bottom: 3rem;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(255, 255, 255)), to(rgba(245, 245, 245, 0.3)));
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(245, 245, 245, 0.3) 100%);
}

/*************************************************

about-contents01

*************************************************/
.about-contents01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .about-contents01 {
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
  }
}
.about-contents01 .about-contents01__inbox__lead + .about-contents01__inbox__lead {
  margin-top: 2rem;
}

.about-contents01__inbox:nth-child(1) {
  width: 60.6837606838%;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .about-contents01__inbox:nth-child(1) {
    width: 100%;
    margin-top: 2rem;
  }
}

.about-contents01__inbox.is-photo {
  width: 31.1965811966%;
}
@media screen and (max-width: 767px) {
  .about-contents01__inbox.is-photo {
    width: min(80%, 30rem);
    margin: 0 auto;
  }
}

.about-contents01__inbox__underlead {
  margin-top: 2rem;
  text-align: right;
  line-height: 1.8;
}
.about-contents01__inbox__underlead .strong_txt {
  font-weight: bold;
}

/*************************************************

about-lead01

*************************************************/
.about-lead01 + .about-lead01 {
  margin-top: 2rem;
}

.about-lead__list {
  margin-top: 2rem;
}
.about-lead__list li {
  position: relative;
  padding-left: 2.5rem;
}
.about-lead__list li::before {
  content: "●";
  color: #d32f2f;
  position: absolute;
  left: 0;
  top: 0;
}
.about-lead__list li + li {
  margin-top: 1rem;
}

/*************************************************

about-detail-contents__info01

*************************************************/
.about-wrap + .about-wrap {
  margin-top: 3rem;
}

.about-detail-contents__info01 {
  padding: 0 1.5rem;
}

.about-detail-contents__info01-row {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.8rem 0 1.2rem;
  border-bottom: #BDBDBD solid 1px;
}
.about-detail-contents__info01-row::before {
  position: absolute;
  top: 100%;
  left: 0;
  display: block;
  content: "";
  width: 11rem;
  height: 1px;
  background-color: #AC3A3A;
}
@media screen and (max-width: 767px) {
  .about-detail-contents__info01-row::before {
    width: 9rem;
  }
}

.about-detail-contents__info01-title {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  width: 11rem;
  font-size: 1.4rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .about-detail-contents__info01-title {
    width: 9rem;
  }
}

.about-detail-contents__info01-body {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: calc(100% - 11rem);
  padding-left: 4rem;
}
@media screen and (max-width: 767px) {
  .about-detail-contents__info01-body {
    width: calc(100% - 9rem);
    padding-left: 2.5rem;
    font-size: 1.4rem;
  }
}
.about-detail-contents__info01-body .in-name {
  font-weight: 700;
}
.about-detail-contents__info01-body .in-kana {
  font-size: 1.2rem;
  font-weight: 700;
}

.about-header {
  background-color: #F6F6F6;
  padding: 1rem 1.5rem;
  margin-bottom: 20px;
}
.about-header h3 {
  margin: 0;
  font-size: 1.4rem;
  font-weight: bold;
  color: #333;
  position: relative;
  padding-left: 2rem;
}
.about-header h3::before {
  content: "●";
  color: #d32f2f;
  position: absolute;
  left: 0;
  top: 0;
}

.about-header.mt {
  margin-top: 4rem;
}

/*************************************************

about-contents02

*************************************************/
.about-contents02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .about-contents02 {
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
  }
}
.about-contents02 .about-contents02__inbox:nth-child(1) {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .about-contents02 .about-contents02__inbox:nth-child(1) {
    width: 100%;
    margin-top: 2rem;
  }
}
.about-contents02 .about-contents02__inbox:nth-child(2) {
  margin-top: 5rem;
  width: 36%;
}
@media screen and (max-width: 767px) {
  .about-contents02 .about-contents02__inbox:nth-child(2) {
    width: 100%;
    margin-top: 0;
  }
}

/*************************************************

expand-button

*************************************************/
.expand-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.8rem;
  padding: 0.2rem 1.2rem;
  border: 1px solid #d32f2f;
  background-color: white;
  color: #d32f2f;
  font-size: 1.2rem;
  text-decoration: none;
  border-radius: 3px;
  cursor: pointer;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.expand-button.mt {
  margin-top: 1rem;
}

.expand-button:hover {
  background-color: #f8f8f8;
}

.expand-button::after {
  content: "＞";
  font-weight: bold;
  font-size: 1.4rem;
}

.about-undercontents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  padding: 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .about-undercontents {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.map-area {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding-top: 29rem;
  height: 0;
  margin-top: 2rem;
  border-radius: 1rem;
}

.map-area iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}