@charset "UTF-8";
.p-front {
  position: relative;
}

.p-front-mv {
  position: relative;
}

.p-front-mv-slideArea {
  display: flex;
  height: 320px;
  position: relative;
  z-index: 1;
}
.p-front-mv-slideArea::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #00260A;
  opacity: 0.3;
  z-index: 2;
}
.p-front-mv-slideArea::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../img/front/mv-img-decoration01.png") no-repeat 50% 50%;
  background-size: cover;
  z-index: 3;
}
.p-front-mv-slideArea__column {
  flex: 1;
  overflow: hidden;
}
.p-front-mv-slideArea__column img {
  width: 100%;
  height: 320px;
  object-position: center;
  object-fit: cover;
}

.p-front-mv-content {
  position: absolute;
  inset: 0px 0 0;
  margin: auto;
  z-index: 4;
  text-align: center;
}
.p-front-mv-content__text01 {
  padding-top: 8px;
}
.p-front-mv-content__text02 {
  position: relative;
  top: -5px;
  left: 6px;
  font-family: "din_ul_c", sans-serif;
  font-size: 120px;
  font-weight: bold;
  font-stretch: condensed;
  line-height: 1;
  text-align: center;
  color: #fff;
}

/* 詳細条件で公園を探す */
.p-front-search {
  padding: 30px 0 100px 0;
  background-color: #effbee;
}
.p-front-search__title {
  margin-bottom: 33px;
}

.p-front-search-list {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 25px;
}
.p-front-search-list__item {
  position: relative;
  width: calc(20% - 20px);
  border-radius: 10px;
}
.p-front-search-list__link {
  transition: 0.3s ease;
}
.p-front-search-list__link:hover {
  opacity: 0.8;
}
.p-front-search-list__link:hover .p-front-search-list__img img {
  scale: 1.1;
}
.p-front-search-list__img {
  border-radius: 10px;
  overflow: hidden;
}
.p-front-search-list__img img {
  transition: 0.3s ease;
}
.p-front-search-list__content {
  position: absolute;
  inset: auto 0 19px 0;
  margin: auto;
}
.p-front-search-list__title {
  font-family: "din_ul_c", sans-serif;
  font-size: 60px;
  font-weight: 200;
  font-stretch: condensed;
  line-height: 0.73;
  letter-spacing: -0.9px;
  text-align: center;
  color: #fff;
}
.p-front-search-list__lead {
  position: relative;
  top: 3px;
  width: 100%;
  max-width: 180px;
  margin: auto;
  padding: 10px 5px 13px;
  border: 2px dashed #fff;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.63;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
}
.p-front-search-list__btn {
  position: absolute;
  right: -9px;
  bottom: 14px;
  z-index: 2;
}

.p-front-heading01 {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  left: -38px;
  z-index: 2;
}
.p-front-heading01__title {
  font-family: "din_ul_c", sans-serif;
  font-size: 180px;
  font-weight: 200;
  font-stretch: condensed;
  line-height: 1;
  letter-spacing: -0.035em;
  color: #0a0a0a;
  margin-right: 30px;
}
.p-front-heading01__title--wellness {
  margin-right: 42px;
}
.p-front-heading01__title--family {
  margin-right: 43px;
}
.p-front-heading01__title--friend {
  margin-right: 33px;
}
.p-front-heading01__title--couple {
  margin-right: 36px;
}
.p-front-heading01__title--pet {
  margin-right: 39px;
}
.p-front-heading01__lead {
  position: relative;
  top: -7px;
  width: 464px;
  height: 110px;
  padding: 69px 0 0 16px;
  background: url("../img/front/main-area-title-bg01.png") no-repeat 50% 50%;
  background-size: cover;
  font-size: 18px;
  font-weight: 900;
  line-height: 0.98;
  letter-spacing: 0.3em;
  text-align: center;
}

/* WELLNESS */
.p-front-wellness {
  padding: 107px 0 20px 0;
  background-color: #fff;
}

.p-front-block01 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 40px;
  position: relative;
  margin-top: -23px;
  z-index: 1;
  /* 偶数は色を変更 */
}
.p-front-block01::before {
  content: "";
  position: absolute;
  top: -29px;
  left: -85px;
  width: 171px;
  height: 154px;
  background: url("../img/front/main-area-common-bg01.png") no-repeat 50% 50%;
  background-size: cover;
  z-index: -1;
}
.p-front-block01--wellness::after {
  content: "";
  position: absolute;
  top: -205px;
  right: 6px;
  width: 462px;
  height: 501px;
  background: url("../img/front/wellness-bg01.png") no-repeat 50% 50%;
  background-size: cover;
  z-index: -1;
}
.p-front-block01--family::after {
  content: "";
  position: absolute;
  top: -194px;
  right: 6px;
  width: 462px;
  height: 490px;
  background: url("../img/front/family-bg01.png") no-repeat 50% 50%;
  background-size: cover;
  z-index: -1;
}
.p-front-block01--friend::after {
  content: "";
  position: absolute;
  top: -181px;
  right: 2px;
  width: 470px;
  height: 480px;
  background: url("../img/front/friend-bg01.png") no-repeat 50% 50%;
  background-size: cover;
  z-index: -1;
}
.p-front-block01--couple::after {
  content: "";
  position: absolute;
  top: -168px;
  right: 8px;
  width: 462px;
  height: 464px;
  background: url("../img/front/couple-bg01.png") no-repeat 50% 50%;
  background-size: cover;
  z-index: -1;
}
.p-front-block01--pet::after {
  content: "";
  position: absolute;
  top: -167px;
  right: 12px;
  width: 481px;
  height: 464px;
  background: url("../img/front/pet-bg01.png") no-repeat 50% 50%;
  background-size: cover;
  z-index: -1;
}
.p-front-block01__left {
  position: sticky;
  top: 80px;
  width: calc(50% - 20px);
}
.p-front-block01__right {
  width: calc(50% - 20px);
}
.p-front-block01__right-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.p-front-block01__right-item:nth-child(1) .c-card-park01__content, .p-front-block01__right-item:nth-child(4) .c-card-park01__content {
  background-color: #70bf6c;
  color: #ffffff;
}
.p-front-block01__right-item:nth-child(1) .c-card-park01__list span, .p-front-block01__right-item:nth-child(4) .c-card-park01__list span {
  background-color: rgba(255, 255, 255, 0.26);
  color: #fff;
}
.p-front-block01__right-item:nth-child(2) .c-card-park01__content, .p-front-block01__right-item:nth-child(3) .c-card-park01__content {
  background-color: #f5fbf4;
  color: #1b4201;
}
.p-front-block01__right-item:nth-child(2) .c-card-park01__list span, .p-front-block01__right-item:nth-child(3) .c-card-park01__list span {
  background-color: rgba(3, 67, 0, 0.09);
  color: #000;
}
.p-front-block01__btn {
  margin-top: 30px;
  text-align: right;
}

/* FAMILY */
.p-front-family {
  padding: 72px 0 20px 0;
  background-color: #fff;
}

/* FRIEND */
.p-front-friend {
  padding: 85px 0 20px 0;
  background-color: #fff;
}

/* COUPLE */
.p-front-couple {
  padding: 57px 0 20px 0;
  background-color: #fff;
}

/* PET */
.p-front-pet {
  padding: 55px 0 103px 0;
  background-color: #fff;
}

/* SPECIAL FEATURE */
.p-front-feature {
  padding: 120px 0 96px 0;
  background: url("../img/front/feature-bg01.png") no-repeat 50% 50%;
  background-size: cover;
}
.p-front-feature__btn {
  margin-top: 40px;
  text-align: right;
}

.p-front-feature-block01 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 95px;
}
.p-front-feature-block01__left {
  width: 50%;
  padding-top: 40px;
}
.p-front-feature-block01__right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
  width: calc(50% - 20px);
}
.p-front-feature-block01__right::before {
  content: "";
  position: absolute;
  bottom: -53px;
  left: -84px;
  width: 141px;
  height: 127px;
  background: url("../img/front/main-area-common-bg01.png") no-repeat 50% 50%;
  background-size: cover;
}

.p-front-feature-block02 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 36px;
  position: relative;
}
.p-front-feature-block02::before {
  content: "";
  position: absolute;
  top: -74px;
  left: -42px;
  width: 141px;
  height: 127px;
  background: url("../img/front/main-area-common-bg01.png") no-repeat 50% 50%;
  background-size: cover;
}
.p-front-feature-block02__item {
  width: calc(33.3% - 24px);
}

.p-front-heading02 {
  padding-top: 60px;
  background: url("../img/front/heading02-illust01.png") no-repeat 50% 0%;
  background-size: 98px auto;
}
.p-front-heading02--feature {
  padding-top: 78px;
  background-size: 139px auto;
}
.p-front-heading02__title {
  font-family: "din_ul_c", sans-serif;
  font-size: 110px;
  font-weight: 200;
  font-stretch: condensed;
  line-height: 0.82;
  text-align: center;
  color: #000;
}
.p-front-heading02__title--feature {
  font-size: 138px;
}
.p-front-heading02__title--feature > span {
  display: block;
  letter-spacing: -0.03em;
}
.p-front-heading02__lead {
  width: 607px;
  height: 57px;
  margin: 14px auto 75px;
  padding: 11px 0 0 0;
  background: url("../img/front/heading02-illust02.png") no-repeat 50% 50%;
  background-size: cover;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-align: center;
  color: #1a1311;
}
.p-front-heading02__lead--feature {
  width: 376px;
  height: 61px;
  margin: 5px auto 0;
  padding: 13px 0 0 0;
  background: url("../img/front/heading02-illust02-short.png") no-repeat 50% 50%;
  background-size: cover;
}

.c-card-feature01 {
  width: 100%;
  position: relative;
}
.c-card-feature01__link {
  transition: 0.2s ease;
}
.c-card-feature01__link:hover {
  opacity: 0.8;
}
.c-card-feature01__link:hover .c-card-feature01__img img {
  scale: 1.1;
}
.c-card-feature01__img {
  border-radius: 20px;
  overflow: hidden;
}
.c-card-feature01__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 580/435;
  transition: 0.3s ease-in-out;
}
.c-card-feature01__title {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  inset: auto 0 17px 0;
  width: 316px;
  height: 43px;
  margin: 0 auto;
  padding: 0 0 2px 0;
  background: url("../img/front/feature-title-bg01.png") no-repeat 50% 50%;
  background-size: cover;
  text-align: center;
  font-size: 16px;
  font-weight: 900;
  color: #000;
}
.c-card-feature01__title--large {
  inset: auto 0 27px 0;
  width: 508px;
  height: 55px;
  margin: 0 auto;
  padding: 0 0 2px 0;
  background: url("../img/front/feature-title-bg01-large.png") no-repeat 50% 50%;
  background-size: cover;
  text-align: center;
  font-size: 20px;
}

.p-front-event {
  padding: 73px 0 104px 0;
  background: url("../img/front/event-bg01.png") no-repeat 50% 50%;
  background-size: cover;
}
.p-front-event__btn {
  padding-top: 45px;
  text-align: right;
}

.p-front-event-block01 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 45px;
}
.p-front-event-block01__item {
  width: calc(33.3% - 30px);
}

/* TOKYO DOCTORS */
.p-front-doctors {
  position: relative;
  padding: 90px 0 100px 0;
  background-color: #dbedf9;
  z-index: 2;
}
.p-front-doctors::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 365px;
  background-color: #1baae8;
  z-index: -1;
}
.p-front-doctors__btn {
  padding-top: 35px;
  text-align: right;
}

.p-front-doctors-block01 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 30px;
}
.p-front-doctors-block01__item {
  width: calc(33.3% - 20px);
}

/* 公園一覧
--------------------------- */
.p-park-list {
  background-color: #effbee;
}

.p-park-list-head__title {
  padding: 55px 0 15px 0;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: center;
  color: #1a1311;
}
.p-park-list-head__record {
  margin-bottom: 65px;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: center;
  color: #1a1311;
}

.p-park-list-block01 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 50px 25px;
  margin-bottom: 110px;
}
.p-park-list-block01__item .c-card-park01 {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.16);
}

/* イベント一覧
--------------------------- */
.p-event-list {
  background-color: #effbee;
}

.p-event-list-head__title {
  padding: 55px 0 15px 0;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: center;
  color: #1a1311;
}
.p-event-list-head__record {
  margin-bottom: 65px;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: center;
  color: #1a1311;
}

.p-event-list-block01 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 45px;
  margin-bottom: 110px;
}
.p-event-list-block01__item .c-card-park01 {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.16);
}
