@charset "UTF-8";

/* KV */
.kv-info {
  width: 850px;
  position: absolute;
  left: 0;
  bottom: -47px;
}
@media screen and (max-width: 767px) {
  .kv-info {
    width: 92vw;
    position: absolute;
    left: 0;
    bottom: -4.8vw;
  }
}
/* SECTION01 */
#sec01 {
  padding-top: 195px;
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #sec01 {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}
#sec01 .cards {
  display: flex;
  max-width: var(--container-max-md);
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #sec01 .cards {
    display: block;
    gap: 8px;
    padding-left: 0;
    padding-right: 0;
  }
}
.card {
  width: 534px;
  height: auto;
  aspect-ratio: 534/204;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .card {
    width: 92vw;
    height: calc(100 / 430 * 100vw);
    margin-bottom: 2vw;
    margin-left: auto;
    margin-right: auto;
  }
}

.card-img {
  width: 100%;
  position: relative;
  /* height: 269px; */
  /* aspect-ratio: 534/204; */
  overflow: hidden;
  transition: 0.6s;
}
@media screen and (max-width: 767px) {
  .card-img {
    height: calc(100 / 430 * 100vw);
    object-fit: contain;
  }
}

.card-img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(33, 24, 4, 0.7);
  pointer-events: none; /* 重ねたレイヤーがクリックを邪魔しないように */
  transition: 0.6s;
  z-index: 99;
}
.card.no-hiden{
overflow: unset;
}
.cards-inner {
  display: flex;
  column-gap: 12px;
}
.card-s {
  width: 260px;
  height: auto;
  position: relative;
  aspect-ratio: 261/204;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .card-s {
    width: calc(192 / 430 * 100vw);
    height: calc(100 / 430 * 100vw);
  }
}

.card a .card-img .card_img {
  transition: 0.3s;
}
.card a:hover {
  opacity: 1;
}
.card a:hover .card-img .card_img {
  transform: scale(1.05);
}

.card a:hover .card-img::before {
  background-color: rgba(33, 24, 4, 0.2);
}

.card-text {
  width: 100%;
  position: absolute;
  /* padding-top: 30px; */
  /* padding-bottom: 30px; */
  /* text-align: center; */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 999;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .card-text {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}
.card-text p {
  /* font-family: "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif; */
  font-family: "Shippori Mincho", serif;
  font-size: 24px;
  color: #ffffff;
  transition: 0.6s;
}
.card a:hover .card-text p {
  filter: drop-shadow(0 0 4px rgba(33, 33, 33, 0.7));
}
/* SECTION02 */
#sec02 {
  /* background-color: #f2f1ef; */
  position: relative;
  background-color: #f2ede4;
  padding-bottom: 87px;
}
#sec02::before {
  content: "";
  width: 1px;
  height: 74px;
  position: absolute;
  background-color: #4d3500;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  #sec02 {
    padding-bottom: calc(55 / var(--sp-width) * 100vw);
  }
  #sec02::before {
    height: calc(74 / 430 * 100vw);
  }
}
#sec02 .sec-inner {
  max-width: var(--container-max-md);
  padding-top: 72px;
  padding-bottom: 72px;
}
@media screen and (max-width: 767px) {
  #sec02 .sec-inner {
    width: 100%;
    padding-top: calc(78 / 430 * 100vw);
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }
}
#sec02 h2 {
  margin-bottom: 87px;
  font-size: 20px;
  line-height: calc(48 / 20);
  text-align: center;
  color: #050505;
  font-family: "Shippori Mincho", serif;
}
@media screen and (max-width: 767px) {
  #sec02 h2 {
    margin-bottom: calc(40 / var(--sp-width) * 100vw);

    font-size: calc(16 / 430 * 100vw);
    line-height: calc(15 / 48);
  }
}
#sec02 h2 img {
  width: 473px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  #sec02 h2 img {
    width: calc(306 / 430 * 100vw);
    margin-bottom: calc(18 / var(--sp-width) * 100vw);
  }
}
#sec02 map {
  height: 430px;
  margin-bottom: 48px;
}
#googlemap {
  width: 100%;
  height: 430px;
  margin-bottom: 48px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  #googlemap {
    width: 100%;
    height: auto;
    aspect-ratio: 100/100;
    margin-bottom: 0;
  }
}
#sec02 .access {
  display: flex;
  margin-top: 48px;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #sec02 .access {
    margin-top: 0;
    flex-wrap: wrap-reverse;
  }
}
.access_h3 {
  margin-bottom: 0.25em;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  color: #030303;
}
@media screen and (max-width: 767px) {
  .access_h3 {
    margin-top: calc(44 / var(--sp-width) * 100vw);
    margin-bottom: 0.75em;

    font-size: calc(20 / var(--sp-width) * 100vw);
  }
}
.access_text .access_h3:nth-of-type(2) {
  margin-top: 30px;
}

.access_h3 img {
  display: inline;
  width: 22px;
}
@media screen and (max-width: 767px) {
  .access_h3 img {
    width: calc(24 / var(--sp-width) * 100vw);
  }
}
.access_p {
  font-size: 16px;
  font-weight: 400;
  color: #030303;
  line-height: calc(35 / 18);
}
@media screen and (max-width: 767px) {
  .access_p {
    /* font-size:  calc(15 / var(--sp-width) * 100vw); */
    font-size: calc(13 / var(--sp-width) * 100vw);
  }
  .access_text {
    padding-top: calc(18 / var(--sp-width) * 100vw);
    padding-left: calc(40 / var(--sp-width) * 100vw);
  }
  .access_text .access_p:nth-of-type(1),
  .access_text .access_p:nth-of-type(4) {
    /* margin-top: calc(44 / var(--sp-width) * 100vw); */
  }
}
.access_p span {
  font-size: 0.8em;
}
@media screen and (max-width: 767px) {
  .access_h3.__pc-only,
  .access_p.__pc-only {
    display: none;
  }
}

.access_ul {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .access_ul {
    margin-top: 80px;
    margin-left: 50px;
  }
}
.access_li {
  display: block;

  font-size: 18px;
  line-height: calc(48 / 18);
  text-align: left;
  color: #030303;
}
@media screen and (max-width: 767px) {
  .access_li {
    font-size: 16px;
    line-height: 1;
    margin-bottom: 0.85em;
  }
}
.access_img {
  width: 457px;
}
@media screen and (max-width: 767px) {
  .access-img {
    width: 100%;
  }
  .access_img {
    width: 100%;
  }
}
