/* section
------------------------------*/
@media (max-width: 750px) {
  .p-sec__header-list ul li a {
    padding: 25px 40px 48px;
  }
}
.p-sec {
  padding-bottom: 0;
}

@media all and (max-width: 360px) {
  .p-sec__header-heading {
    font-size: 24px;
  }
}
.p-sec02 {
  width: 100%;
  margin: 135px auto 0;
  padding-bottom: 0;
  background-color: #ffffff;
}
@media (max-width: 576px) {
  .p-sec02 {
    margin: 80px auto 0;
  }
}

/* .p-sec02 .p-sec__header-heading {
  max-width: 140px;
}

@media all and (max-width: 576px) {
  .p-sec02 .p-sec__header-heading {
    max-width: 86px;
  }
}

.p-sec02 .p-sec__header-sub-heading {
  max-width: 100px;
}

@media all and (max-width: 576px) {
  .p-sec02 .p-sec__header-sub-heading {
    max-width: 54px;
  }
} */
/* block01
------------------------------*/
.p-block01 {
  position: relative;
  padding: 0 20px 130px;
}
.p-block01::after {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 270px;
  content: "";
  background-color: #f8f8f8;
}

@media all and (max-width: 576px) {
  .p-block01 {
    padding: 0 0 70px;
  }
}
.p-block01__inner {
  width: 100%;
  max-width: 967px;
  margin: 0 auto;
}

figure.p-block01__img {
  position: relative;
  width: 100%;
  margin: 45px 0 80px;
  padding-top: 95px;
}

@media all and (max-width: 576px) {
  figure.p-block01__img {
    width: calc(100% + 40px);
    margin: 40px 0 60px;
    margin-left: -20px;
    padding-top: 30px;
  }
}
figure.p-block01__img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

figure.p-block01__img figcaption {
  position: absolute;
  top: 0;
  left: 78px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 20px;
}
@media (max-width: 800px) {
  figure.p-block01__img figcaption {
    left: 38px;
    gap: 8px;
  }
}
figure.p-block01__img figcaption span {
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
  padding: 0 12px 13px;
  letter-spacing: 0.45em;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media (max-width: 800px) {
  figure.p-block01__img figcaption span {
    font-size: 14px;
    padding: 0 7px 3px;
  }
}

.p-block01__txt {
  font-family: "Noto Serif JP", serif;
  font-size: 26px;
  margin-bottom: 80px;
  text-align: center;
  letter-spacing: 0.2em;
}

@media all and (max-width: 576px) {
  .p-block01__txt {
    font-size: 18px;
    margin-bottom: 60px;
  }
}
.p-block01__boxes {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 919px;
  margin: 70px auto 120px;
  gap: 28px;
}
@media (max-width: 800px) {
  .p-block01__boxes {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

@media all and (max-width: 576px) {
  .p-block01__boxes {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 50px;
  }
}
.p-block01__box {
  font-family: "Noto Serif JP", serif;
  padding: 50px;
  border: 1px solid #09523f;
  background-color: #ffffff;
}
.p-block01__box:first-child {
  width: calc(536 / 919 * 100%);
}
@media (max-width: 800px) {
  .p-block01__box:first-child {
    width: 100%;
  }
}
.p-block01__box:nth-child(2) {
  width: calc(355 / 919 * 100%);
}
@media (max-width: 800px) {
  .p-block01__box:nth-child(2) {
    width: 100%;
  }
}

@media all and (max-width: 576px) {
  .p-block01__box {
    width: 100%;
    margin-bottom: 60px;
    padding: 30px 20px;
  }
}
.p-block01__box-heading {
  font-size: 28px;
  line-height: 1.6;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 40px;
  text-align: center;
  color: #09523f;
}
.p-block01__box-heading::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100px;
  height: 1px;
  content: "";
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #09523f;
}

@media all and (max-width: 576px) {
  .p-block01__box-heading {
    font-size: 26px;
    margin-bottom: 30px;
    padding-bottom: 30px;
  }
}
.p-block01__box-txt {
  margin-top: 38px;
}
@media (max-width: 576px) {
  .p-block01__box-txt {
    margin-top: 30px;
  }
}

.p-block01__box-txt01 {
  font-size: 18px;
  line-height: calc(26 / 18);
  position: relative;
  margin: 66px 0 0;
  margin-left: 0;
  padding-left: 20px;
}
@media (max-width: 576px) {
  .p-block01__box-txt01 {
    margin: 30px 0 0;
  }
}
.p-block01__box-txt01::before {
  position: absolute;
  top: calc(18px * (26 / 18) / 2);
  left: 0;
  width: 10px;
  height: 10px;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  background-color: #09523f;
}

.p-block01__box-txt02 {
  position: relative;
  width: 100%;
  max-width: 376px;
  margin: 8px 0 0;
  padding-left: 20px;
}
@media (max-width: 576px) {
  .p-block01__box-txt02 {
    max-width: 248px;
    margin: 15px 0 0;
  }
}

@media all and (max-width: 360px) {
  .p-block01__box-txt02 {
    padding-right: 30px;
    padding-left: 30px;
  }
}
.p-block01__box-txt02 ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-block01__box-txt02 ul li {
  font-size: 16px;
  line-height: 1.5;
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 0;
}

.p-block01__box-txt02 ul li span:nth-of-type(1) {
  font-size: 16px;
  padding-right: 0.5em;
  background-color: #ffffff;
}
@media (max-width: 576px) {
  .p-block01__box-txt02 ul li span:nth-of-type(1) {
    font-size: 14px;
  }
}

.p-block01__box-txt02 ul li span:nth-of-type(2) {
  font-size: 25px;
  padding-left: 0.5em;
  background-color: #ffffff;
}
@media (max-width: 576px) {
  .p-block01__box-txt02 ul li span:nth-of-type(2) {
    font-size: 18px;
  }
}

.p-block01__box-txt02 ul li span:nth-of-type(2) small {
  font-size: 16px;
}
@media (max-width: 576px) {
  .p-block01__box-txt02 ul li span:nth-of-type(2) small {
    font-size: 14px;
  }
}

/* .p-block01__box:nth-of-type(2) .p-block01__box-txt {
  width: 86%;
  margin: 0 auto;
}

@media all and (max-width: 576px) {
  .p-block01__box:nth-of-type(2) .p-block01__box-txt {
    width: 100%;
  }
} */
.p-block01__box-dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.p-block01__box-dl dt,
.p-block01__box-dl dd {
  font-size: 18px;
  line-height: calc(26 / 18);
}
.p-block01__box-dl dd {
  position: relative;
  margin-left: 0;
  padding-left: 20px;
}
@media (max-width: 576px) {
  .p-block01__box-dl dd {
    font-size: 14px;
  }
}
.p-block01__box-dl dd::before {
  position: absolute;
  top: calc(18px * (26 / 18) / 2);
  left: 0;
  width: 10px;
  height: 10px;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  background-color: #09523f;
}
.p-block01__box-dl + .p-block01__box-dl {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f8f8f8;
}

.p-block01__map {
  max-width: 816px;
  margin: 0 auto;
}

.p-block01__map-desc {
  font-size: 22px;
  line-height: calc(31 / 28);
  margin: 28px 0 0;
}
@media (max-width: 576px) {
  .p-block01__map-desc {
    font-size: 16px;
  }
}

.p-block01__map-txt {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 20px;
  text-align: center;
}

@media all and (max-width: 360px) {
  .p-block01__map-txt {
    font-size: 14px;
  }
}
.p-block01__map-img {
  margin-bottom: 48px;
}

.p-block01__map-btn {
  width: 260px;
  height: 60px;
  margin: 0 auto;
}

.p-block01__map-btn .c-btn {
  font-size: 14px;
}

/* block02
------------------------------*/
.p-block02 {
  position: relative;
  margin: 90px 0 0;
  padding: 0 20px;
}

@media all and (max-width: 576px) {
  .p-block02 {
    margin: 60px 0 0;
  }
}
.p-block02__inner {
  width: 100%;
  max-width: 967px;
  margin: 0 auto;
}

.p-block02__copy {
  font-size: 28px;
  line-height: calc(52 / 30);
  margin: 75px 0 0;
  text-align: center;
}
@media (max-width: 576px) {
  .p-block02__copy {
    font-size: 26px;
    margin: 40px 0 0;
  }
}

.p-block02__boxes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 60px;
  gap: 38px;
}

.p-block02__box {
  width: calc(100% / 3 - 38px * 2 / 3);
}

@media all and (max-width: 576px) {
  .p-block02__box {
    width: 100%;
  }
}
.p-block02__img {
  width: 100%;
  margin: 0;
}

.p-block02__title {
  font-size: 24px;
  line-height: calc(40 / 24);
  margin: 27px 0 0;
  color: #09523f;
}
@media (max-width: 576px) {
  .p-block02__title {
    font-size: 20px;
    margin: 30px 0 0;
  }
}

.p-block02__desc {
  font-size: 18px;
  line-height: calc(40 / 20);
  margin: 14px 0 0;
}
@media (max-width: 576px) {
  .p-block02__desc {
    font-size: 16px;
    margin: 20px 0 0;
  }
}

.p-sec__list {
  position: relative;
  z-index: 1;
  max-width: 967px;
  margin: 60px auto 0;
}

.p-sec__list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
}

.p-sec__list dl:nth-child(odd) dd,
.p-sec__list dl:nth-child(odd) dt {
  background-color: #f8f8f8;
}

.p-sec__list dl dt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 200px;
  margin: 0;
  padding: 16px 0;
  text-align: center;
  border-right: 4px solid #ffffff;
  background-color: #ffffff;
}

@media all and (max-width: 576px) {
  .p-sec__list dl dt {
    font-size: 14px;
    width: 90px;
  }
}
.p-sec__list dl dd {
  font-size: 16px;
  line-height: calc(30 / 16);
  width: calc(100% - 200px);
  margin: 0;
  padding: 16px 16px 16px 45px;
}
.p-sec__list dl dd span {
  display: block;
  padding-left: 16px;
  text-indent: -16px;
}

@media all and (max-width: 576px) {
  .p-sec__list dl dd {
    font-size: 14px;
    line-height: 2;
    width: calc(100% - 90px);
    padding: 16px 15px;
  }
  .p-sec__list dl dd span {
    display: block;
    padding-left: 14px;
    text-indent: -14px;
  }
}
.p-sec__list dl dd .small {
  font-size: 14px;
}

.c-flower--1 {
  z-index: 0;
  top: calc(100px);
  right: -65px;
  width: calc(375 / 1365 * 100%);
  max-width: 375px;
  background-image: url(../img/access/img_flower01.svg);
  aspect-ratio: calc(375 / 361);
}

.c-flower--2 {
  z-index: 0;
  top: calc(700px);
  left: -8px;
  width: calc(218 / 1365 * 100%);
  max-width: 218px;
  background-image: url(../img/access/img_flower02.svg);
  aspect-ratio: calc(218 / 246);
}

.c-flower--3 {
  z-index: 0;
  top: calc(1400px);
  right: -34px;
  width: calc(218 / 1365 * 100%);
  max-width: 218px;
  -webkit-transform: rotate(151);
          transform: rotate(151);
  background-image: url(../img/access/img_flower02.svg);
  aspect-ratio: calc(218 / 246);
}

.c-flower--4 {
  z-index: 0;
  top: calc(306px);
  left: -15px;
  width: calc(334 / 1365 * 100%);
  max-width: 334px;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  background-image: url(../img/access/img_flower04.svg);
  aspect-ratio: calc(334 / 322);
}

.c-flower--5 {
  z-index: 0;
  top: calc(1420px);
  left: -15px;
  width: calc(334 / 1365 * 100%);
  max-width: 334px;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  background-image: url(../img/access/img_flower06.svg);
  aspect-ratio: calc(334 / 322);
}