/* CSS Document */
.pre-inc figure img {
  width: 100%;
  height: auto;
}
.pre-inc .footnote {
  padding: 0.5em;
  color: #fff;
  font-size: min(2svw, 10px);
  font-weight: 500;
  line-height: normal;
}
.pre-inc .location #main {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-bottom: unset;
  background-color: #fff;
  width: 100%;
}
.pre-inc .location #main .mv {
  position: relative;
  width: 100%;
  height: 20svh;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .mv {
    height: auto;
  }
}
.pre-inc .location #main .mv .mv-img {
  -o-object-position: 65% center;
     object-position: 65% center;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .mv .mv-img {
    -o-object-position: unset;
       object-position: unset;
    -o-object-fit: contain;
       object-fit: contain;
    height: auto;
  }
}
.pre-inc .location #main .mv .mv-cap {
  position: absolute;
  bottom: 1em;
  left: 2em;
  color: #1A1311;
  font-size: min(2svw, 10px);
}
.pre-inc .location #main .mv-ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2em;
  margin-top: -3em;
  font-size: min(3.2svw, 16px);
  z-index: 2;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .mv-ttl {
    margin-top: -3.25em;
  }
}
.pre-inc .location #main .mv-ttl .main-title {
  position: relative;
  gap: unset;
  padding: unset;
  background: unset !important;
  width: 40%;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .mv-ttl .main-title {
    width: 50%;
  }
}
.pre-inc .location #main .mv-ttl-txt.text {
  writing-mode: vertical-rl;
  color: #A9976D;
  font-size: min(3.6svw, 18px);
  line-height: 2;
  text-align: left;
  letter-spacing: 0.5em;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .mv-ttl-txt.text {
    line-height: 2.6;
  }
}
.pre-inc .location #main .mv-ttl-txt.text .txt-mark {
  display: inline-block;
  transform: translate(0.25em, -0.5em);
  letter-spacing: 0.5em;
}
.pre-inc .location #main .cat-title {
  position: relative;
  padding-bottom: 0.75em;
  width: -moz-fit-content;
  width: fit-content;
  color: #A9976D;
  font-size: min(3.6svw, 18px);
  line-height: 1;
  letter-spacing: 0.2em;
}
.pre-inc .location #main .cat-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100svw;
  height: 1px;
  border-bottom: 1px solid #A9976D;
}
.pre-inc .location #main .text {
  color: #1A1311;
  font-size: min(2.8svw, 14px);
  line-height: 2.5;
}
.pre-inc .location #main .text.lead {
  color: #A9976D;
  font-size: min(3.8svw, 20px);
  letter-spacing: 0.2em;
}
.pre-inc .location #main .sec01 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1em;
  margin-top: 2em;
  width: 100%;
  height: 100%;
  font-size: min(3.2svw, 16px);
}
.pre-inc .location #main .sec01-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4em;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01-inner {
    gap: 6em;
  }
}
.pre-inc .location #main .sec01-photo {
  display: grid;
  grid-template-columns: repeat(4, minmax(200px, 1fr));
  grid-template-columns: repeat(2, 1fr);
  align-items: flex-start;
  margin-top: -10.75em;
  padding-top: 10.75em;
  background: linear-gradient(180deg, rgba(239, 239, 239, 0) 0%, #EFEFEF 10%, #EFEFEF 100%);
  gap: 0 1.25svw;
  padding-bottom: 1.25svw;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01-photo {
    grid-template-columns: repeat(4, 1fr);
  }
}
.pre-inc .location #main .sec01-photo::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 5%;
  left: 3.75svw;
  margin-left: auto;
  border-left: 1px solid #A9976D;
  width: 95%;
  width: 96.25svw;
  height: 100%;
  z-index: 0;
}
.pre-inc .location #main .sec01-photo-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.pre-inc .location #main .sec01-photo-colspan2 {
  grid-column: span 2;
}
.pre-inc .location #main .sec01-photo-rowspan2 {
  grid-row: span 2;
}
.pre-inc .location #main .sec01-photo .photo {
  height: 100%;
  line-height: 0;
}
.pre-inc .location #main .sec01-photo .photo .image {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.pre-inc .location #main .sec01-photo .photo figcaption.footnote {
  position: absolute;
  bottom: 0;
  left: 0;
  padding-inline: 1em;
  background-color: rgba(26, 19, 17, 0.5);
  color: #fff;
}
.pre-inc .location #main .sec01 .cat01 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  gap: 0;
  width: 100%;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat01 {
    flex-direction: row;
  }
}
.pre-inc .location #main .sec01 .cat01::after {
  content: "";
  position: absolute;
  top: 0;
  left: unset;
  background-color: #fff;
  width: 5svw;
  width: 3.75svw;
  height: 100%;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat01::after {
    left: -1px;
    left: 0;
  }
}
.pre-inc .location #main .sec01 .cat01L {
  flex: 1;
}
.pre-inc .location #main .sec01 .cat01L .cat-title {
  margin-left: 12svw;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat01L .cat-title {
    margin-left: 12svw;
  }
}
.pre-inc .location #main .sec01 .cat01L-wrapper {
  display: flex;
  align-items: center;
  margin-top: 2em;
  height: 100%;
  font-size: min(3.6svw, 18px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat01L-wrapper {
    margin-top: unset;
    height: calc(100% - 1.75em);
  }
}
.pre-inc .location #main .sec01 .cat01L-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2em;
  margin-left: 10svw;
  margin-left: 7.5svw;
  margin-right: 3.75svw;
  width: 100%;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat01L-inner {
    margin-left: 12svw;
    margin-left: 10svw;
    margin-right: unset;
  }
}
.pre-inc .location #main .sec01 .cat01R {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(calc((100% - 10svw) / 2), 1fr));
  gap: 1em;
  justify-content: flex-end;
  margin: 3em 3.75svw 0 7.5svw;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat01R {
    grid-template-columns: repeat(auto-fit, minmax(calc((100% - 1em) / 2), 1fr));
    margin: unset;
    width: 100%;
  }
}
.pre-inc .location #main .sec01 .cat01R-colspan2 {
  grid-column: span 2;
}
.pre-inc .location #main .sec01 .cat01R .photo {
  line-height: 0;
}
.pre-inc .location #main .sec01 .cat01R .photo figcaption.footnote {
  padding: unset;
  color: #1A1311;
  line-height: 2;
}
.pre-inc .location #main .sec01 .cat01-strong {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  color: #1A1311;
  font-size: min(4.8svw, 30px);
}
.pre-inc .location #main .sec01 .cat01-strong .txt-num {
  color: #A9976D;
  font-size: min(7svw, 52px);
}
.pre-inc .location #main .sec01 .cat01-strong .footnote {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: unset;
  color: #1A1311;
  line-height: 1;
}
.pre-inc .location #main .sec01 .cat02 {
  position: relative;
  width: 100%;
  font-size: min(3.2svw, 16px);
}
.pre-inc .location #main .sec01 .cat02 .cat-title {
  margin-left: 12svw;
}
.pre-inc .location #main .sec01 .cat02 .cat-title::before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: -12svw;
  background-color: #fff;
  width: 5svw;
  width: 3.75svw;
  height: 4px;
  z-index: 4;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat02 .cat-title::before {
    left: calc(-12svw - 1px);
    left: -12svw;
  }
}
.pre-inc .location #main .sec01 .cat02 .cat-title::after {
  z-index: 2;
}
.pre-inc .location #main .sec01 .cat02-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  gap: 4em;
  margin-top: 3em;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat02-inner {
    flex-direction: row;
    gap: unset;
  }
}
.pre-inc .location #main .sec01 .cat02L {
  flex: 1;
  width: 88.75svw;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat02L {
    width: 100%;
  }
}
.pre-inc .location #main .sec01 .cat02L .photo {
  line-height: 0;
}
.pre-inc .location #main .sec01 .cat02L .photo figcaption.footnote {
  position: absolute;
  top: 100%;
  right: 0;
  padding: unset;
  color: #1A1311;
  line-height: 2;
}
.pre-inc .location #main .sec01 .cat02R {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  margin-left: 10svw;
  margin-left: 7.5svw;
  margin-right: 3.75svw;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat02R {
    margin-left: unset;
    width: 100%;
  }
}
.pre-inc .location #main .sec01 .cat02R-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2em;
  width: 100%;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat02R-inner {
    margin-left: unset;
    width: unset;
  }
}
.pre-inc .location #main .sec01 .cat03 {
  position: relative;
  width: 100%;
  font-size: min(3.2svw, 16px);
}
.pre-inc .location #main .sec01 .cat03 .cat-title {
  margin-left: 12svw;
}
.pre-inc .location #main .sec01 .cat03 .cat-title::before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: -12svw;
  background-color: #fff;
  width: 5svw;
  width: 3.75svw;
  height: 4px;
  z-index: 4;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat03 .cat-title::before {
    left: calc(-12svw - 1px);
    left: -12svw;
  }
}
.pre-inc .location #main .sec01 .cat03 .cat-title::after {
  z-index: 2;
}
.pre-inc .location #main .sec01 .cat03-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  gap: 4em;
  margin-top: 3em;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat03-inner {
    flex-direction: row;
    gap: unset;
  }
}
.pre-inc .location #main .sec01 .cat03L {
  flex: 1;
  width: 88.75svw;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat03L {
    width: 100%;
  }
}
.pre-inc .location #main .sec01 .cat03L .photo {
  line-height: 0;
}
.pre-inc .location #main .sec01 .cat03L .photo figcaption.footnote {
  position: absolute;
  top: 100%;
  right: 0;
  padding: unset;
  color: #1A1311;
  line-height: 2;
}
.pre-inc .location #main .sec01 .cat03R {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  margin-left: 10svw;
  margin-left: 7.5svw;
  margin-right: 3.75svw;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat03R {
    margin-left: unset;
    width: 100%;
  }
}
.pre-inc .location #main .sec01 .cat03R-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2em;
  width: 100%;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec01 .cat03R-inner {
    margin-left: unset;
    width: unset;
  }
}
.pre-inc .location #main .sec01 .cat04 .photo {
  line-height: 0;
  z-index: 2;
}
.pre-inc .location #main .sec01 .cat04 .photo::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 7.5%;
  height: auto;
  aspect-ratio: 94/300;
  background-color: #fff;
  opacity: 0.5;
  z-index: 3;
}
.pre-inc .location #main .sec01 .cat04 .photo::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  width: 92.5%;
  height: auto;
  aspect-ratio: 1186/421;
  background-color: #fff;
  opacity: 0.5;
  z-index: 3;
}
.pre-inc .location #main .sec01 .cat04 .photo .image {
  position: relative;
}
.pre-inc .location #main .sec01 .cat04 .photo figcaption.footnote {
  position: absolute;
  bottom: 0;
  right: 0;
  padding-inline: 1em;
  background-color: rgba(26, 19, 17, 0.4);
  z-index: 4;
}
.pre-inc .location #main .sec02 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4em;
  margin-top: unset;
  padding: 4em 0;
  background-color: #F8F8F8;
  width: 100%;
  height: 100%;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 {
    margin-top: -2em;
    padding: 6em 0;
    gap: 6em;
  }
}
.pre-inc .location #main .sec02::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 3.75svw;
  margin-right: auto;
  border-right: 1px solid #A9976D;
  width: 96.25svw;
  height: 100%;
  z-index: 0;
}
.pre-inc .location #main .sec02-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4em;
  font-size: min(3.2svw, 16px);
  z-index: 6;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02-inner {
    gap: 6em;
  }
}
.pre-inc .location #main .sec02 .cat-title::after {
  left: 0;
}
.pre-inc .location #main .sec02 .cat01 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3em;
  margin: 0 7.5svw 0 3.75svw;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01 {
    margin: unset;
  }
}
.pre-inc .location #main .sec02 .cat01 .cat-title {
  margin-right: 4.5svw;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01 .cat-title {
    margin-right: 12svw;
  }
}
.pre-inc .location #main .sec02 .cat01 .cat-title::before {
  content: "";
  position: absolute;
  bottom: -2px;
  right: -12svw;
  background-color: #F8F8F8;
  width: 3.75svw;
  height: 4px;
  z-index: 4;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01 .cat-title::before {
    right: -12svw;
  }
}
.pre-inc .location #main .sec02 .cat01 .cat-title::after {
  z-index: 2;
}
.pre-inc .location #main .sec02 .cat01-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  gap: 4em;
  width: 100%;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01-inner {
    flex-direction: row;
    gap: unset;
  }
}
.pre-inc .location #main .sec02 .cat01L {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  width: 85svw;
  width: 100%;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01L {
    width: 100%;
  }
}
.pre-inc .location #main .sec02 .cat01L-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2em;
  width: 100%;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01L-inner {
    width: unset;
  }
}
.pre-inc .location #main .sec02 .cat01R {
  flex: 1;
  transform: translateX(7.5svw);
  width: 85svw;
  width: 88.75svw;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01R {
    transform: unset;
    width: 100%;
  }
}
.pre-inc .location #main .sec02 .cat01R .photo {
  line-height: 0;
}
.pre-inc .location #main .sec02 .cat01R .photo figcaption.footnote {
  position: static;
  top: 100%;
  left: 0;
  padding: unset;
  color: #1A1311;
  line-height: 2;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01R .photo figcaption.footnote {
    position: absolute;
  }
}
.pre-inc .location #main .sec02 .cat01 .topic {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  margin: unset;
  padding: 7.5svw 3.75svw;
  border: 1px solid #A9976D;
  background-color: #fff;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01 .topic {
    flex-direction: row;
    margin: 0 auto;
    margin: 0 7.5svw 0 3.75svw;
    margin: 1em 7.5svw 0;
    padding: 3svw calc(5svw - 1px);
    padding: 3svw 3.75svw;
  }
}
.pre-inc .location #main .sec02 .cat01 .topic .topic-title {
  position: absolute;
  top: 11px;
  left: -11px;
  padding: 0.25em 0.5em;
  background-color: #A9976D;
  color: #fff;
  font-weight: bold;
  font-size: min(3.2svw, 16px);
  line-height: 1;
  letter-spacing: 0.2em;
  text-align: center;
}
.pre-inc .location #main .sec02 .cat01 .topic .topic-title::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  border-bottom: 10px solid transparent;
  border-right: 10px solid #A9976D;
}
.pre-inc .location #main .sec02 .cat01 .topic .topic-title::after {
  content: "";
  position: absolute;
  top: calc(100% + 0px);
  left: 1px;
  border-bottom: 9px solid transparent;
  border-right: 9px solid #fff;
}
.pre-inc .location #main .sec02 .cat01 .topic-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2em;
  width: 100%;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01 .topic-inner {
    flex-direction: row;
    gap: 2em;
    gap: 5svw;
  }
}
.pre-inc .location #main .sec02 .cat01 .topicL {
  flex: 460;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
}
.pre-inc .location #main .sec02 .cat01 .topicL-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1em;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01 .topicL-inner {
    gap: 0;
  }
}
.pre-inc .location #main .sec02 .cat01 .topicR {
  flex: 530;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 1em;
  width: 100%;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01 .topicR {
    align-items: center;
  }
}
.pre-inc .location #main .sec02 .cat01 .topicR .photo {
  line-height: 0;
}
.pre-inc .location #main .sec02 .cat01 .topicR .photo figcaption.footnote {
  position: static;
  top: 100%;
  left: 0;
  padding: unset;
  color: #1A1311;
  line-height: 2;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01 .topicR .photo figcaption.footnote {
    position: absolute;
  }
}
.pre-inc .location #main .sec02 .cat01-footer {
  margin: unset;
  width: calc(100% + 3.75svw + 1px);
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01-footer {
    margin: 0 auto 0 0;
    width: 85svw;
  }
}
.pre-inc .location #main .sec02 .cat01-footer-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat01-footer-inner {
    grid-template-columns: repeat(4, 1fr);
  }
}
.pre-inc .location #main .sec02 .cat01-footer .photo figcaption.footnote {
  color: #1A1311;
  text-align: right;
}
.pre-inc .location #main .sec02 .cat02 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3em;
  margin: 0 7.5svw 0 3.75svw;
  width: auto;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat02 {
    margin: unset;
    width: 100%;
  }
}
.pre-inc .location #main .sec02 .cat02 .cat-title {
  margin-right: 4.5svw;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat02 .cat-title {
    margin-right: 12svw;
  }
}
.pre-inc .location #main .sec02 .cat02 .cat-title::before {
  content: "";
  position: absolute;
  bottom: -2px;
  right: -12svw;
  background-color: #F8F8F8;
  width: 3.75svw;
  height: 4px;
  z-index: 4;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat02 .cat-title::before {
    right: -12svw;
  }
}
.pre-inc .location #main .sec02 .cat02 .cat-title::after {
  z-index: 2;
}
.pre-inc .location #main .sec02 .cat02-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  gap: 4em;
  width: 100%;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat02-inner {
    flex-direction: row;
    gap: unset;
  }
}
.pre-inc .location #main .sec02 .cat02L {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  font-size: min(3.2svw, 16px);
}
.pre-inc .location #main .sec02 .cat02L-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2em;
  width: 100%;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat02L-inner {
    width: unset;
  }
}
.pre-inc .location #main .sec02 .cat02R {
  flex: 1;
  transform: translateX(7.5svw);
  width: 88.75svw;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat02R {
    transform: unset;
    width: 100%;
  }
}
.pre-inc .location #main .sec02 .cat02R .photo {
  line-height: 0;
}
.pre-inc .location #main .sec02 .cat02R .photo figcaption.footnote {
  position: absolute;
  top: 100%;
  left: 0;
  padding: unset;
  color: #1A1311;
  line-height: 2;
}
.pre-inc .location #main .sec02 .cat02-footer {
  margin: 0 0 0 auto;
  width: 100%;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat02-footer {
    margin: 2em 0 0 auto;
    width: 85svw;
  }
}
.pre-inc .location #main .sec02 .cat02-footer-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat02-footer-inner {
    grid-template-columns: repeat(4, 1fr);
  }
}
.pre-inc .location #main .sec02 .cat02-footer .photo figcaption.footnote {
  color: #1A1311;
  text-align: left;
}
.pre-inc .location #main .sec02 .cat03 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3em;
  margin: 0 7.5svw 0 3.75svw;
  width: unset;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat03 {
    margin: unset;
    width: 100%;
  }
}
.pre-inc .location #main .sec02 .cat03 .cat-title {
  margin-right: 4.5svw;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat03 .cat-title {
    margin-right: 12svw;
  }
}
.pre-inc .location #main .sec02 .cat03 .cat-title::before {
  content: "";
  position: absolute;
  bottom: -2px;
  right: calc(-12svw - 1px);
  right: -12svw;
  background-color: #F8F8F8;
  width: 5svw;
  width: 3.75svw;
  height: 4px;
  z-index: 4;
}
.pre-inc .location #main .sec02 .cat03 .cat-title::after {
  z-index: 2;
}
.pre-inc .location #main .sec02 .cat03-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  gap: 4em;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat03-inner {
    flex-direction: row;
    gap: unset;
    width: 100%;
  }
}
.pre-inc .location #main .sec02 .cat03L {
  flex: 580;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  font-size: min(3.2svw, 16px);
}
.pre-inc .location #main .sec02 .cat03L-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2em;
  width: 100%;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat03L-inner {
    width: unset;
  }
}
.pre-inc .location #main .sec02 .cat03R {
  flex: 700;
  display: flex;
  justify-content: center;
  gap: 1em;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec02 .cat03R {
    gap: 1.25em;
  }
}
.pre-inc .location #main .sec02 .cat03R .photo {
  line-height: 0;
}
.pre-inc .location #main .sec02 .cat03R .photo figcaption.footnote {
  position: relative;
  color: #1A1311;
  line-height: 1.2;
}
.pre-inc .location #main .sec03 {
  position: relative;
  padding-bottom: 4em;
  background-color: #fff;
  background-color: #F8F8F8;
  width: 100%;
  font-size: min(3.2svw, 16px);
  z-index: 6;
}
.pre-inc .location #main .sec03 .cat01 {
  position: relative;
  width: 100%;
}
.pre-inc .location #main .sec03 .cat01 .photo .image {
  -o-object-fit: cover;
     object-fit: cover;
  height: 25svh;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat01 .photo .image {
    -o-object-fit: unset;
       object-fit: unset;
    height: unset;
  }
}
.pre-inc .location #main .sec03 .cat01 .text {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  color: #A9976D;
  font-size: min(3.6svw, 18px);
  writing-mode: vertical-rl;
  line-height: 2;
  text-align: left;
  letter-spacing: 0.5em;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat01 .text {
    bottom: 20%;
    line-height: 2.6;
  }
}
.pre-inc .location #main .sec03 .cat01 .text .txt-mark {
  display: inline-block;
  transform: translate(0.25em, -0.5em);
  letter-spacing: 0.5em;
}
.pre-inc .location #main .sec03 .cat02 {
  position: relative;
  width: 100%;
}
.pre-inc .location #main .sec03 .cat02 .img-wrap {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat02 .img-wrap {
    max-width: 1000px;
  }
}
.pre-inc .location #main .sec03 .cat03 {
  margin: 2em 3.75svw 0;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat03 {
    margin: 4em 15svw 0 0;
  }
}
.pre-inc .location #main .sec03 .cat03-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  grid-template-columns: repeat(2, 1fr);
  justify-content: flex-start;
  gap: 1em;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat03-inner {
    grid-template-columns: repeat(4, minmax(260px, 1fr));
    grid-template-columns: repeat(4, 1fr);
  }
}
.pre-inc .location #main .sec03 .cat03-inner .photo figcaption.footnote {
  color: #1A1311;
  text-align: unset;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat03-inner .photo figcaption.footnote {
    text-align: right;
  }
}
.pre-inc .location #main .sec03 .cat04 {
  margin: unset;
  margin: 2em 3.75svw 0;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat04 {
    margin: 2em 0 0 auto;
    margin: 2em 0 0 15svw;
  }
}
.pre-inc .location #main .sec03 .cat04-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  grid-template-columns: repeat(2, 1fr);
  justify-content: flex-end;
  gap: 1em;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat04-inner {
    grid-template-columns: repeat(4, minmax(260px, 1fr));
    grid-template-columns: repeat(4, 1fr);
  }
}
.pre-inc .location #main .sec03 .cat04-inner .photo.dummy {
  display: none;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat04-inner .photo.dummy {
    display: block;
  }
}
.pre-inc .location #main .sec03 .cat04-inner .photo figcaption.footnote {
  color: #1A1311;
  text-align: unset;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat04-inner .photo figcaption.footnote {
    text-align: right;
  }
}
.pre-inc .location #main .sec03 .cat05 {
  margin-top: 4em;
}
.pre-inc .location #main .sec03 .cat05 .cat-title {
  margin: 0 auto;
  width: 100%;
  font-size: min(3.8svw, 20px);
  text-align: center;
}
.pre-inc .location #main .sec03 .cat05 .cat-title::after {
  content: none;
}
.pre-inc .location #main .sec03 .cat05-info {
  display: grid;
  grid-auto-flow: row;
  grid-template-rows: unset;
  grid-template-columns: 1fr;
  grid-template-columns: 100%;
  gap: 2em 4em;
  margin: 0 3.75svw;
  padding: 2em 3.75svw;
  border-top: 2px solid #A9976D;
  background-color: #fff;
  font-size: min(3.2svw, 16px);
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat05-info {
    grid-auto-flow: column;
    grid-template: repeat(4, auto)/repeat(2, 1fr);
    margin: 0 7.5svw;
    padding: 3em 2em;
  }
}
.pre-inc .location #main .sec03 .cat05-infoL {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2em;
  font-size: min(3.2svw, 16px);
}
.pre-inc .location #main .sec03 .cat05-infoR {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2em;
  font-size: min(3.2svw, 16px);
}
.pre-inc .location #main .sec03 .cat05-info .list-title {
  display: flex;
  align-items: center;
  padding-left: 0.25em;
  background-color: rgba(168, 151, 109, 0.2);
  color: #725A15;
  font-size: min(3.8svw, 20px);
}
.pre-inc .location #main .sec03 .cat05-info .list-title .title-ja {
  display: inline-block;
  margin-left: 1em;
  font-size: min(2.8svw, 14px);
}
.pre-inc .location #main .sec03 .cat05-info .cat05-list-group {
  width: 100%;
}
.pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list {
  margin-top: 0.5em;
}
.pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5em;
  border-bottom: 1px solid rgba(26, 19, 17, 0.1);
  background-image: unset;
  font-size: min(2.8svw, 14px);
}
.pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data:last-child {
  border-bottom: unset;
}
.pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-team, .pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-desc {
  color: #1A1311;
  font-size: min(2.8svw, 14px);
  line-height: 2;
  text-align: left;
  white-space: normal;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-team, .pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-desc {
    white-space: nowrap;
  }
}
.pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-team {
  flex-shrink: 1;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-team {
    flex: 350;
  }
}
.pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-team .text {
  margin-left: 0.5em;
  font-size: min(2.4svw, 12px);
  line-height: 1.2;
  white-space: wrap;
}
.pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-desc {
  flex-shrink: 0;
  text-align: right;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-desc {
    flex: 160;
  }
}
.pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-desc .txt-big {
  display: inline-block;
}
.pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-desc .txt-big.min {
  width: 1.5em;
  text-align: right;
}
@media screen and (min-width: 1024px), print {
  .pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-desc .txt-big.min {
    width: 1em;
  }
}
.pre-inc .location #main .sec03 .cat05-info .cat05-list-group .cat05-list-data .data-desc .txt-big.len {
  width: 2.5em;
  text-align: right;
}/*# sourceMappingURL=location.css.map */