@charset "UTF-8";
/* 基本設定 */
/* --------------------------------------------------
	section size
-------------------------------------------------- */
/* 初期設定 */
/* ----------------------------------------------------------------------
ふたり
---------------------------------------------------------------------- */
#futari {
  margin-bottom: 30rem;
}
@media screen and (max-width: 520px) {
  #futari {
    margin-bottom: 20rem;
  }
}
#futari .inner {
  max-width: 156rem;
  font-size: 1.6rem;
  line-height: 2.3125;
  letter-spacing: 0.3em;
  font-weight: 400;
  margin-bottom: 12.6em;
}
@media screen and (max-width: 1024px) {
  #futari .inner {
    font-size: 1.4rem;
    line-height: 2.3121428571;
    letter-spacing: 0.3em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1024px) and (max-width: 520px) {
  #futari .inner {
    font-size: 1.2rem;
    line-height: 2.3125;
    letter-spacing: 0.3em;
    font-weight: 400;
  }
}
#futari .inner > h3 {
  font-size: 125%;
  line-height: 2.22;
  letter-spacing: 0.8em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  width: fit-content;
  margin: 0 2em 0 auto;
}
@media screen and (max-width: 520px) {
  #futari .inner > h3 {
    margin: 0 0 0 auto;
  }
}
#futari .inner > h3 span {
  padding-top: 3.1em;
}
#futari .inner .txt {
  margin-top: -3.6em;
}
@media screen and (max-width: 520px) {
  #futari .inner .txt {
    margin-top: 0;
  }
}
#futari .inner .abs-txt {
  position: absolute;
  inset: 107% -11.9em auto auto;
  font-size: 75%;
  line-height: 1.75;
  text-align: right;
  letter-spacing: 0;
}
@media screen and (max-width: 840px) {
  #futari .inner .abs-txt {
    inset: 107% -4em auto auto;
  }
}
@media screen and (max-width: 840px) and (max-width: 520px) {
  #futari .inner .abs-txt {
    inset: 107% -1.8em auto auto;
  }
}
#futari .gallery-list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  gap: 1rem;
}
#futari .gallery-list .gallery-list {
  width: calc((100% - 6rem) / 5);
}
@media screen and (max-width: 520px) {
  #futari .gallery-list .gallery-list {
    width: calc((100% - 3rem) / 2);
  }
}
#futari .gallery-list .gallery-list img {
  max-width: initial;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ----------------------------------------------------------------------
プレイス
---------------------------------------------------------------------- */
#place {
  margin-bottom: 30rem;
}
@media screen and (max-width: 520px) {
  #place {
    margin-bottom: 20rem;
  }
}
#place .place-list {
  max-width: 133.1rem;
}
#place .place-list .place-item {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.3em;
  font-weight: 400;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  row-gap: 1em;
  margin-bottom: 19.7em;
}
@media screen and (max-width: 1024px) {
  #place .place-list .place-item {
    font-size: 1.4rem;
    line-height: 1.75;
    letter-spacing: 0.3em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  #place .place-list .place-item {
    font-size: 1.2rem;
    line-height: 1.75;
    letter-spacing: 0.3em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) and (max-width: 520px) {
  #place .place-list .place-item {
    margin-bottom: 11em;
  }
}
#place .place-list .place-item .txt-box {
  width: 40%;
}
@media screen and (max-width: 520px) {
  #place .place-list .place-item .txt-box {
    width: 100%;
  }
}
#place .place-list .place-item .txt-box h4 {
  position: relative;
  font-size: 277%;
  line-height: 1;
  letter-spacing: 0.09em;
  width: fit-content;
  margin-bottom: 0.7em;
}
@media screen and (max-width: 1024px) {
  #place .place-list .place-item .txt-box h4 {
    font-size: 240%;
  }
}
@media screen and (max-width: 1024px) and (max-width: 520px) {
  #place .place-list .place-item .txt-box h4 {
    margin-bottom: 0.4em;
  }
}
#place .place-list .place-item .txt-box h4::after {
  content: "00";
  display: block;
  position: absolute;
  inset: -0.9em -0.8em auto auto;
  font-size: 38%;
  letter-spacing: 0.1em;
}
#place .place-list .place-item .img-box {
  width: 55.14%;
}
@media screen and (max-width: 520px) {
  #place .place-list .place-item .img-box {
    width: 100%;
    aspect-ratio: 1;
  }
}
#place .place-list .place-item .img-box img {
  max-width: initial;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 520px) {
  #place .place-list .place-item .img-box img.okinawa {
    object-position: 10%;
  }
}
#place .place-list .place-item:nth-child(odd) {
  flex-direction: row-reverse;
}
#place .place-list .place-item:last-child {
  margin-bottom: 0;
}
#place .place-list .place-item:nth-child(1) .txt-box h4::after {
  content: "01";
}
#place .place-list .place-item:nth-child(2) .txt-box h4::after {
  content: "02";
}
#place .place-list .place-item:nth-child(3) .txt-box h4::after {
  content: "03";
}
#place .place-list .place-item:nth-child(4) .txt-box h4::after {
  content: "04";
}
#place .place-list .place-item:nth-child(5) .txt-box h4::after {
  content: "05";
}
#place .place-list .place-item:nth-child(6) .txt-box h4::after {
  content: "06";
}