@charset "utf-8";


/*  l-locationIntro
--------------------------------------------------*/
.locationIntro-heading__ttl::before {
  width: 84.8rem;
  aspect-ratio: 848 / 119;
  background: url(../../imgs/common/img_goldthread5.webp) no-repeat center center/100% 100%;
}




/*  locationWrapper
--------------------------------------------------*/
.locationWrapper {
  position: relative;
}
.location-content {
  position: relative;
  width: 100%;
}
.location-content__head {
  position: relative;
  width: 100%;
}
.location-content__head__photo {
  position: relative;
  width: 100%;
  height: 64.0rem;
  overflow: clip;
}
.location-content__head__photo::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(11, 11, 11, 0.8) 30%, rgba(11, 11, 11, 0) 75%);
  z-index: 1;
}
.location-content__head__photo img {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
}
.location-content__head__heading {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  margin-inline: auto;
  width: min(90%,1540px);
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: .1em;
  color: var(--white);
  z-index: 2;
}
.location-content__main {
  position: relative;
  padding-block: 16.0rem;
}
.location-slide {
  position: relative;
  z-index: 1;
}
.location-slide__item {
  position: relative;
}
.location-slide__item__photo {
  position: relative;
  width: 100%;
}
.location-slide__item__desc {
  font-size: 2.0rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: var(--white);
  margin-top: 2.0rem;
}
.location-slide__item__desc span {
  display: block;
  font-size: 1.4rem;
  margin-bottom: .5em;
}
.location-slide__item__desc small {
  font-size: 1.2rem;
  letter-spacing: 0;
  margin-left: .5em;
}
@media screen and (max-width: 768px) {
  .location-content__head__photo {
    height: 100lvh;
  }
  .location-content__head__photo::after {
    /* background: linear-gradient(90deg, rgba(18, 19, 26, 0.8) 10%, rgba(19, 20, 26, 0) 100%); */
    background: linear-gradient(80deg, rgba(18, 19, 26, 0.8) 3.34%, rgba(19, 20, 26, 0) 73%);
  }
  .location-content__head__heading {
    width: min(calc(300 / 380 * 100%),560px);
    font-size: 2.0rem;
    line-height: 1.8;
  }
  .location-content__main {
    padding-block: 8.0rem 10.0rem;
  }
  .location-slide__item__desc {
    font-size: 1.8rem;
  }
  .location-slide__item__desc span {
    font-size: 1.2rem;
    margin-bottom: .7em;
  }
  .location-slide__item__desc small {
    display: block;
    margin-top: .5em;
    margin-left: 0;
  }
}




/*  muromachi-content
--------------------------------------------------*/
@media screen and (max-width: 768px) {
  .muromachi-content .location-content__head__photo img {
    object-position: 81% center;
  }
}




/*  environment-content
--------------------------------------------------*/
.environment-content .location-content__head__photo img {
  object-position: center 22%;
}
@media screen and (max-width: 768px) {
  .environment-content .location-content__head__photo img {
    object-position: 68% center;
  }
}




/*  facility-content
--------------------------------------------------*/
.facility-shinpuhkan {
  max-width: 1640px;
  margin-bottom: 16.5rem;
}
.facility-shinpuhkan__photo {
  width: calc(834 / 1640 * 100%);
}
.facility-shinpuhkan__detail {
  width: calc(696 / 1640 * 100%);
}
.facility-shinpuhkan__detail__heading {
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: .05em;
  color: var(--white);
}
.facility-shinpuhkan__detail__heading span {
  display: block;
  font-size: calc(40 / 24 * 1em);
  letter-spacing: .1em;
  line-height: 1.3;
  margin-top: .2em;
}
.facility-shinpuhkan__detail__desc {
  width: min(100%,600px);
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: .05em;
  color: var(--white);
  margin-top: 4.0rem;
}
.facility-shinpuhkan__detail__list {
  width: min(100%,390px);
  margin-top: 4.0rem;
  padding: 2.0rem 2.0rem;
  background: rgba(var(--white-rgb), 0.1);
  border-top: 1px solid rgba(var(--white-rgb), 0.3);
  border-bottom: 1px solid rgba(var(--white-rgb), 0.3);
}
.facility-shinpuhkan__detail__list__heading {
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: .1em;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 1.5rem;
}
.facility-shinpuhkan__detail__list__box {
  width: 100%;
  gap: .8rem 0;
}
.facility-shinpuhkan__detail__list__item {
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.62;
  letter-spacing: 0;
  color: var(--white);  
}
.facility-shinpuhkan__detail__list__item p:nth-of-type(1) {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 0 .8rem;
  width: 13.6rem;
}
.facility-shinpuhkan__detail__list__item p:nth-of-type(1)::before {
  content: '◆';
  font-size: .71428571em;
  line-height: 1;
  letter-spacing: 0;
  color: inherit;
  font-family: inherit;
}
.facility-shinpuhkan__detail__list__item p:nth-of-type(2) {
  flex: 1;
}
.facility-shinpuhkan__detail__list__item p:nth-of-type(2) span {
  display: block;
  text-indent: -.5em;
  margin-left: .5em;
}
@media screen and (max-width: 768px) {
  .facility-content .location-content__head__photo img {
    object-position: 80% center;
  }
  .facility-shinpuhkan {
    max-width: 560px;
    margin-bottom: 5.0rem;
  }
  .facility-shinpuhkan__photo {
    width: 100%;
    margin-bottom: 4.0rem;
  }
  .facility-shinpuhkan__detail {
    width: 100%;
  }
  .facility-shinpuhkan__detail__heading {
    font-size: 2.0rem;
    letter-spacing: -.01em;
  }
  .facility-shinpuhkan__detail__heading span {
    font-size: calc(28 / 20 * 1em);
    margin-top: .3em;
  }
  .facility-shinpuhkan__detail__desc {
    width: 100%;
    font-size: 1.6rem;
    margin-top: 3.5rem;
  }
  .facility-shinpuhkan__detail__list {
    width: 100%;
    padding: 1.8rem 2.0rem;
  }
  .facility-shinpuhkan__detail__list__heading {
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
  }
  .facility-shinpuhkan__detail__list__box {
    gap: .5rem 0;
  }
  .facility-shinpuhkan__detail__list__item {
    font-size: 1.2rem;
  }
  .facility-shinpuhkan__detail__list__item p:nth-of-type(1) {
    gap: 0 .5rem;
    width: 11.6rem;
  }
}




/*  l-culture
--------------------------------------------------*/
.l-culture {
  position: relative;
  padding-block: 16.0rem;
  background: conic-gradient(from 80.92deg at 50% -23.59%, #13131A -0.56deg, #13131A 90.5deg, #32323F 270.03deg, #13131A 359.44deg, #13131A 450.5deg);
  overflow: clip;
}
.culture-content {
  position: relative;
  width: min(90%,1700px);
  margin-inline: 0 auto;
  z-index: 1;
}
.culture-content:nth-of-type(even) {
  margin-inline: auto 0;
}
.culture-content + .culture-content {
  margin-top: 10.0rem;
}
.culture-content__photo {
  width: calc(910 / 1700 * 100%);
}
.culture-content__detail {
  position: relative;
  width: calc(680 / 1700 * 100%);
}
.culture-content__detail::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.culture-content[data-content="content1"] .culture-content__detail::before {
  width: calc(1054 / 680 * 100%);
  aspect-ratio: 1054 / 142;
  margin-left: calc(-60 / 680 * 100%);
  margin-bottom: calc(200 / 680 * 100%);
  background: url(../../imgs/common/img_goldthread2.webp) no-repeat center center/100% 100%;
}
.culture-content[data-content="content2"] .culture-content__detail::before {
  width: calc(1110 / 680 * 100%);
  aspect-ratio: 1110 / 150;
  margin-left: calc(-320 / 680 * 100%);
  margin-bottom: calc(-50 / 680 * 100%);
  background: url(../../imgs/common/img_goldthread3.webp) no-repeat center center/100% 100%;
}
.culture-content[data-content="content3"] .culture-content__detail::before {
  width: calc(1136 / 680 * 100%);
  aspect-ratio: 1136 / 147;
  margin-left: calc(-155 / 680 * 100%);
  margin-bottom: calc(-80 / 680 * 100%);
  background: url(../../imgs/common/img_goldthread4.webp) no-repeat center center/100% 100%;
}
.culture-content__detail__heading {
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: .05em;
  color: var(--white);
}
.culture-content__detail__heading span {
  display: block;
  font-size: calc(40 / 24 * 1em);
  letter-spacing: .05em;
  line-height: 1.3;
  margin-top: .2em;
}
.culture-content__detail__desc {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: .05em;
  color: var(--white);
  margin-top: 4.0rem;
}
.culture-content__detail__photo {
  width: calc(480 / 680 * 100%);
  margin-inline: auto;
  margin-top: 6.0rem;
}
.culture-education {
  position: relative;
  margin-top: 16.0rem;
}
.culture-education__inner {
  position: relative;
  padding-block: 8.0rem;
  z-index: 1;
}
.culture-education__box {
  position: relative;
  width: min(90%,1342px);
  margin-inline: auto;
  z-index: 1;
}
.culture-education__detail {
  width: calc(452 / 1342 * 100%);
}
.culture-education__detail__ttl {
  font-size: 2.4rem;
  color: var(--color-gold);
}
.culture-education__detail__heading {
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: .05em;
  color: #0B0B0B;
  margin-top: 2.4rem;
}
.culture-education__detail__desc {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: .05em;
  color: var(--base-color);
  margin-top: 2.4rem;
}
.culture-education__photo {
  width: calc(810 / 1342 * 100%);
}
.culture-education__photo__item {
  width: calc(400 / 810 * 100%);
}
@media screen and (max-width: 768px) {
  .l-culture {
    padding-block: 10.0rem 0;
  }
  .culture-content {
    width: min(100%,560px);
    margin-inline: auto;
  }
  .culture-content:nth-of-type(even) {
    margin-inline: auto;
  }
  .culture-content + .culture-content {
    margin-top: 7.5rem;
  }
  .culture-content__photo {
    width: calc(360 / 380 * 100%);
    margin-inline: 0 auto;
    margin-bottom: 4.0rem;
  }
  .culture-content:nth-of-type(even) .culture-content__photo {
    margin-inline: auto 0;
  }
  .culture-content__detail {
    width: calc(320 / 380 * 100%);
    margin-inline: auto;
  }
  .culture-content[data-content="content1"] .culture-content__detail::before {
    width: calc(878 / 320 * 100%);
    margin-left: calc(-150 / 320 * 100%);
    margin-bottom: calc(140 / 320 * 100%);
  }
  .culture-content[data-content="content2"] .culture-content__detail::before {
    width: calc(924 / 320 * 100%);
    margin-left: calc(-320 / 320 * 100%);
    margin-bottom: calc(-40 / 320 * 100%);
  }
  .culture-content[data-content="content3"] .culture-content__detail::before {
    width: calc(946 / 320 * 100%);
    margin-left: calc(-360 / 320 * 100%);
    margin-bottom: calc(-35 / 320 * 100%);
  }
  .culture-content__detail__heading {
    font-size: 2.0rem;
    letter-spacing: -.01em;
  }
  .culture-content__detail__heading span {
    font-size: calc(28 / 20 * 1em);
    margin-top: .3em;
  }
  .culture-content__detail__desc {
    width: 100%;
    font-size: 1.6rem;
    margin-top: 3.5rem;
  }
  .culture-content__detail__photo {
    width: calc(280 / 320 * 100%);
    margin-top: 4.0rem;
  }
  .culture-education {
    margin-top: 9.0rem;
  }
  .culture-education__inner {
    width: 100%;
    padding-block: 10.0rem;
  }
  .culture-education__box {
    width: calc(320 / 380 * 100%);
  }
  .culture-education__detail {
    width: 100%;
    margin-bottom: 4.0rem;
  }
  .culture-education__detail__ttl {
    font-size: 2.0rem;
  }
  .culture-education__detail__heading {
    font-size: 2.0rem;
    line-height: 1.8;
    margin-top: 2.4rem;
  }
  .culture-education__detail__desc {
    font-size: 1.6rem;
    margin-top: 2.0rem;
  }
  .culture-education__photo {
    width: 100%;
    gap: 1.0rem 0;
  }
  .culture-education__photo__item {
    width: 100%;
  }
}




/*  l-lifeinfo
--------------------------------------------------*/
.l-lifeinfo {
  position: relative;
  color: var(--base-color);
  padding-block: 16.0rem;
  background: var(--base-color);
  overflow: clip;
  z-index: 1;
}
.l-lifeinfo::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 98.3rem;
  background: url(../../imgs/common/bg_circlePainted.webp) no-repeat top right / cover;
  z-index: 0;
}
.lifeinfo-inner {
  z-index: 1;
}
.lifeinfo-ttl {
  font-size: 4.2rem;
  font-weight: 500;
  color: var(--color-gold-dark);
  text-align: center;
  margin-bottom: 6.0rem;
}
.lifeinfo-tabs {
  width: 100%;
}
.lifeinfo-tablist {
  width: 100%;
  gap: 1.0rem 1.0rem;
  margin-bottom: 4.0rem;
}
.lifeinfo-tab {
  width: auto;
  flex: 1;
  height: 6.0rem;
  font-size: 1.8rem;
  line-height: 1.46;
  letter-spacing: .05em;
  color: var(--white);
  text-align: center;
  padding-bottom: .1em;
  background-color: rgba(var(--white-rgb), 0.3);
}
.lifeinfo-tab.active {
  background-color: var(--color-gold);
}
.lifeinfo-tabpanel {
  width: 100%;
  height: 740px;
  overflow: clip;
}
.lifeinfo-tabpanel__contents {
  position: relative;
  width: 100%;
  height: 100%;
  margin-inline: auto;
}
.lifeinfo-map {
  position: relative;
  width: calc(912 / 1542 * 100%);
  height: 100%;
  margin-right: auto;
  scrollbar-color: transparent transparent;
}
.lifeinfo-map__plot {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.lifeinfo-map__plot__item {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: calc(34 / 912 * 100%);
  aspect-ratio: 34 / 45;
  margin-bottom: 0;
  box-sizing: border-box;
  padding-bottom: calc(8 / 912 * 100%);
  padding-right: calc(1 / 912 * 100%);
  font-size: min(1.40077821vw,24px); /*1,713.33333333*/
  letter-spacing: -.025em;
  font-weight: 400;
  color: var(--black);
  cursor: pointer;
  transition: transform .2s linear;
  transform-origin: bottom center;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lifeinfo-map__plot__item::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../imgs/bg_plot.svg) no-repeat top center/100% auto;
}
.lifeinfo-map__plot__item.active {
  transform: scale(1.1);
  z-index: 2;
}
.lifeinfo-info {
  position: absolute !important;
  top: 0;
  right: 0;
  width: calc(598 / 1542 * 100%);
  padding-right: 15px;
  height: 100%;
  overflow-x: clip;
  overflow-y: auto;
  --scrollbar-color-track: rgba(var(--white-rgb),0.2);
  --scrollbar-color-thumb: var(--color-gold-dark);
  scrollbar-width: auto;
  scrollbar-color: auto;
}
.lifeinfo-info::-webkit-scrollbar {
  width: 6px;
}
.lifeinfo-info::-webkit-scrollbar-track {
  background: var(--scrollbar-color-track);
}
.lifeinfo-info::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-color-thumb);
  background-clip: padding-box;
  border: 0px solid transparent;
  border-radius: 10px;
}
.lifeinfo-info__list {
  width: 100%;
  margin-inline: auto;
}
.lifeinfo-info__list__item {
  position: relative;
}
.lifeinfo-info__list__item + .lifeinfo-info__list__item {
  border-top: solid 1px rgba(var(--white-rgb), 0.2);
}
.lifeinfo-info__list__item__btn {
	position: relative;
  cursor: pointer;
	outline: none;
	background: none;
	cursor: pointer;
	width: 100%;
  font-size: 1.6rem;
  line-height: 1.45;
  letter-spacing: 0;
  color: var(--white);
  padding-left: 4.0rem;
  padding-block: 1.8rem;
  background-color: rgba(var(--white-rgb), 0);
  cursor: pointer;
  gap: 1.0rem 5.0rem;
  transition: background-color .4s linear;
}
.lifeinfo-info__list__item__btn:focus-visible {
  outline: auto;
}
.lifeinfo-info__list__item__btn.active {
  background-color: rgba(var(--white-rgb), 0.3);
}
.lifeinfo-info__list__item__num {
  position: absolute;
  left: 0;
  top: 1.4rem;
  width: 3.0rem;
  height: 3.0rem;
  font-size: 2.0rem;
  line-height: 1;
  letter-spacing: 0;
  color: var(--black);
  border-radius: 50%;
  padding-bottom: .1em;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-gold-dark);
}
.lifeinfo-info__list__item__name {
  width: fit-content;
}
.lifeinfo-info__list__item__min {
  flex: auto;
  text-align: right;
}
.lifeinfo-info__list__item__latlng {
  visibility: hidden;
}
@media (any-hover: hover){
  .lifeinfo-tab {
    transition: background-color .3s linear;
  }
  .lifeinfo-tab:hover {
    background-color: var(--color-gold);
  }
}
/* @supports (scrollbar-width: auto) {
  .lifeinfo-info {
    scrollbar-color: var(--scrollbar-color-thumb) var(--scrollbar-color-track);
  }
} */
@media screen and (min-width: 769px){
  .gm-style .gm-style-iw-d {
    padding-right: 12px;
    padding-bottom: 12px;
  }
}
@media screen and (max-width: 768px){
  .l-lifeinfo {
    padding-block: 9.0rem 7.5rem;
  }
  .l-lifeinfo::after {
    height: 45.0rem;
    background-position: 74% bottom;
  }
  .lifeinfo-ttl {
    font-size: 2.4rem;
    margin-bottom: 5.0rem;
  }
  .lifeinfo-inner {
    width: 100%;
  }
  .lifeinfo-tablist {
    margin-bottom: 2.0rem;
    gap: .2rem;
  }
  .lifeinfo-tab {
    flex: auto;
    width: calc((100% - .4rem) / 3);
    height: 5.0rem;
    font-size: 1.5rem;
  }
  .lifeinfo-map {
    width: 100%;
    height: 300px;
    margin-bottom: 3.0rem;
  }
  .lifeinfo-map__plot__item {
    font-size: 1.2rem;
  }
  .lifeinfo-info {
    position: relative !important;
    width: 100%;
    max-height: 35.0rem;
  }
  .lifeinfo-info__list {
    width: calc(320 / 380 * 100%);
  }
  .lifeinfo-info__list__item__btn {
    font-size: 1.4rem;
    padding-left: 3.0rem;
    padding-block: 1.2rem 1.2rem;
    gap: 0.2rem 0;
  }
  .lifeinfo-info__list__item__num {
    top: 1.3rem;
    width: 2.0rem;
    height: 2.0rem;
    font-size: 1.6rem;
    padding-bottom: 0;
  }
  .lifeinfo-info__list__item__min {
    flex: 100%;
  }
}
