@font-face {
  font-family: "Lobster";
  src: url(../fonts/lobster/Lobster1.4.otf);
}
/* ===========
main_visual
=========== */
/* ===========
heading
=========== */
/* ===========
message
=========== */
.about_message {
  padding-top: 180px;
  overflow-x: hidden;
}

.about_message_inner {
  position: relative;
}
.about_message_inner::before, .about_message_inner::after {
  position: absolute;
  content: "";
  background-image: url(../img/about/message/about_message_treat.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 196px;
  height: 196px;
  width: 196px;
  z-index: -1;
}
@media (min-width: 768px) {
  .about_message_inner::before, .about_message_inner::after {
    background-size: 393px;
    height: 393px;
    width: 393px;
  }
}
.about_message_inner::before {
  top: -98px;
  left: 0;
}
@media (min-width: 768px) {
  .about_message_inner::before {
    top: -135px;
    left: -100px;
  }
}
.about_message_inner::after {
  bottom: -98px;
  right: 0;
}
@media (min-width: 768px) {
  .about_message_inner::after {
    bottom: -135px;
    right: -100px;
  }
}

.about_message_title {
  font-size: 2.3rem;
  color: #684932;
  font-family: "ten-mincho", serif;
  letter-spacing: 0.03em;
  text-align: center;
  line-height: 1.9130434783;
}
@media (min-width: 768px) {
  .about_message_title {
    width: 50%;
  }
}

.about_message_body {
  margin-top: 48px;
}
@media (min-width: 768px) {
  .about_message_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (min-width: 768px) {
  .about_message_text {
    width: 50%;
  }
}

.about_message_description p {
  font-size: 1.5rem;
  line-height: 2.3333333333;
  font-weight: 300;
}
.about_message_description p:not(:first-child) {
  margin-top: 1.5rem;
}

.about_message_name {
  margin-top: 84px;
  position: relative;
  display: inline-block;
}
.about_message_name::after {
  position: absolute;
  content: "";
  background-image: url(../img/about/message/about_message_name_treat.png);
  background-size: 60px 60px;
  background-repeat: no-repeat;
  width: 60px;
  height: 60px;
  top: -30px;
  right: -70px;
}

.about_message_img {
  margin-top: 48px;
}
@media (min-width: 768px) {
  .about_message_img {
    margin-top: 125px;
    width: 50%;
    padding-left: 40px;
  }
}
.about_message_img img {
  border-radius: 48px;
}

.about_message_bottom_img {
  margin-top: 180px;
  max-height: 393px;
}
.about_message_bottom_img img {
  max-height: 393px;
  min-height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

/* ===========
commitment
=========== */
.about_commitment {
  padding-top: 80px;
  padding-bottom: 80px;
  background-image: url(../img/common/bk_wall.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
@media (min-width: 768px) {
  .about_commitment {
    padding-top: 180px;
    padding-bottom: 280px;
  }
}

.about_commitment_title {
  font-size: 2.3rem;
  color: #684932;
  font-family: "ten-mincho", serif;
  letter-spacing: 0.03em;
  text-align: center;
  line-height: 1.9130434783;
}
@media (min-width: 768px) {
  .about_commitment_title {
    width: 50%;
  }
}

.about_commitment_body {
  margin-top: 48px;
}
@media (min-width: 768px) {
  .about_commitment_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.about_commitment_text {
  position: relative;
}
@media (min-width: 768px) {
  .about_commitment_text {
    width: 50%;
  }
}
.about_commitment_text::after {
  position: absolute;
  content: "";
  background-image: url(../img/about/commitment/about_commitment_treat1.png);
  background-size: 121px 85px;
  background-repeat: no-repeat;
  width: 121px;
  height: 85px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (min-width: 768px) {
  .about_commitment_text::after {
    background-size: 242px 169px;
    width: 242px;
    height: 169px;
    left: calc(50% - 93px);
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
.about_commitment_text p {
  font-size: 1.5rem;
  line-height: 2.3333333333;
  font-weight: 300;
}
.about_commitment_text p:not(:first-child) {
  margin-top: 1.5rem;
}
.about_commitment_text p:last-child {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .about_commitment_text p:last-child {
    margin-bottom: 0;
  }
}

.about_commitment_img {
  position: relative;
  margin-top: 170px;
}
@media (min-width: 768px) {
  .about_commitment_img {
    width: 50%;
    padding-left: 20px;
    padding-right: 100px;
  }
}
.about_commitment_img::before {
  display: none;
}
@media (min-width: 768px) {
  .about_commitment_img::before {
    display: block;
    position: absolute;
    content: "";
    background-image: url(../img/about/commitment/about_commitment_treat2.png);
    background-size: 232px 232px;
    background-repeat: no-repeat;
    width: 232px;
    height: 232px;
    bottom: -130px;
    right: 0;
  }
}
.about_commitment_img img {
  position: relative;
  z-index: 1;
  border-radius: 50%;
}

/* ===========
access
=========== */
.access {
  padding-top: 80px;
  position: relative;
}
@media (min-width: 768px) {
  .access {
    padding-top: 110px;
  }
}
.access::after {
  position: absolute;
  content: "";
  height: 300px;
  background-image: url(../img/common/pattern-stripe-round.png);
  background-size: 300px;
  background-repeat: repeat-x;
  background-position: top center;
  width: 100%;
  top: 0;
  z-index: -2;
}
@media (min-width: 768px) {
  .access::after {
    height: 310px;
  }
}

.access_body {
  margin-top: 167px;
}
@media (min-width: 768px) {
  .access_body {
    margin-top: 226px;
  }
}

@media (min-width: 1024px) {
  .access_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
}

.access_img {
  max-width: 606px;
  margin: 0 auto 40px;
}
@media (min-width: 1024px) {
  .access_img {
    max-width: 50%;
    margin: 0 auto;
  }
}

.access_info {
  max-width: 606px;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .access_info {
    max-width: 50%;
  }
}

.access_info_item {
  padding: 26px 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 768px) {
  .access_info_item {
    padding: 26px 24px;
  }
}
@media (min-width: 1024px) {
  .access_info_item {
    padding: 16px 24px;
  }
}
.access_info_item:nth-child(2n+1) {
  background-color: #F8F1D9;
}
.access_info_item dt {
  width: 60px;
  font-size: 1.5rem;
  line-height: 2.3333333333;
}
.access_info_item dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 20px;
  font-size: 1.5rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .access_info_item dd {
    margin-left: 32px;
  }
}

.access_map {
  margin-top: 60px;
  width: 100%;
  padding-top: 85.1063829787%;
  position: relative;
}
.access_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}