.pre-inc main {
  overflow: hidden;
}
.pre-inc main .photo {
  position: relative;
  font-size: 0;
}
.pre-inc main .photo .cap {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #000;
  font-size: min(2.4vw, 12px);
  padding: 1em;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.7), 0 0 10px rgba(255, 255, 255, 0.7), 0 0 10px rgba(255, 255, 255, 0.7);
  line-height: 1;
}
.pre-inc main .photo .cap.w {
  color: #fff;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.7);
}
.pre-inc main #main {
  position: relative;
  background: url(../img/position/bg-main.png) no-repeat 0 0;
  background-size: cover;
  z-index: 1;
}
.pre-inc main #main h1 {
  padding: 5em 0;
  width: 100%;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .pre-inc main #main h1 {
    padding: 2.5em 0;
  }
}
.pre-inc main #main h1::before, .pre-inc main #main h1::after {
  content: "";
  width: 100%;
  height: 5px;
  background: url(../img/position/border.png) repeat-y 50% 50%;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
  .pre-inc main #main h1::before, .pre-inc main #main h1::after {
    height: 3px;
  }
}
.pre-inc main #main h1::after {
  top: auto;
  bottom: 0;
}
.pre-inc main #main h1 img {
  margin: 0 auto;
  max-width: 514px;
  width: 85%;
}
.pre-inc main #contents sup {
  font-size: 0.5em;
}
.pre-inc main #contents .main {
  position: relative;
  font-size: 0;
}
.pre-inc main #contents .main .base {
  display: block;
  width: 100%;
  margin: 0 auto 0;
  display: none;
}
.pre-inc main #contents .main .tower {
  width: 56%;
  max-width: 1024px;
  z-index: 2;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.pre-inc main #contents .main .cap {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #000;
  font-size: min(2.4vw, 12px);
  padding: 1em;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.7);
  line-height: 1;
}
.pre-inc main #contents .sec01,
.pre-inc main #contents .sec02,
.pre-inc main #contents .sec03,
.pre-inc main #contents .view {
  padding: 5em 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec01,
  .pre-inc main #contents .sec02,
  .pre-inc main #contents .sec03,
  .pre-inc main #contents .view {
    padding: 3em 0;
  }
}
.pre-inc main #contents .sec01 h2,
.pre-inc main #contents .sec02 h2,
.pre-inc main #contents .sec03 h2,
.pre-inc main #contents .view h2 {
  font-size: min(7vw, 64px);
  color: #E0D0AC;
  text-align: center;
  margin: 0 auto 1em;
}
.pre-inc main #contents .sec01 .lead,
.pre-inc main #contents .sec02 .lead,
.pre-inc main #contents .sec03 .lead,
.pre-inc main #contents .view .lead {
  font-size: min(5.5vw, 40px);
  text-align: center;
  color: #E0D0AC;
  margin: 1em auto 1em;
}
.pre-inc main #contents .sec01 .txt01,
.pre-inc main #contents .sec02 .txt01,
.pre-inc main #contents .sec03 .txt01,
.pre-inc main #contents .view .txt01 {
  font-size: min(4.5vw, 28px);
  text-align: center;
  color: #fff;
  margin: 0 auto 3em;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec01 .txt01,
  .pre-inc main #contents .sec02 .txt01,
  .pre-inc main #contents .sec03 .txt01,
  .pre-inc main #contents .view .txt01 {
    margin: 0 auto 1.5em;
  }
}
.pre-inc main #contents .sec01 .txt01 small,
.pre-inc main #contents .sec02 .txt01 small,
.pre-inc main #contents .sec03 .txt01 small,
.pre-inc main #contents .view .txt01 small {
  font-size: 0.5em;
}
.pre-inc main #contents .sec01 .txt02,
.pre-inc main #contents .sec02 .txt02,
.pre-inc main #contents .sec03 .txt02,
.pre-inc main #contents .view .txt02 {
  font-size: min(3.6vw, 18px);
  text-align: center;
  color: #fff;
  margin: 0 auto 5em;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec01 .txt02,
  .pre-inc main #contents .sec02 .txt02,
  .pre-inc main #contents .sec03 .txt02,
  .pre-inc main #contents .view .txt02 {
    margin: 0 auto 3em;
  }
}
.pre-inc main #contents .sec01 .last,
.pre-inc main #contents .sec02 .last,
.pre-inc main #contents .sec03 .last,
.pre-inc main #contents .view .last {
  font-size: min(4.6vw, 28px);
  text-align: center;
  color: #E0D0AC;
  margin: 3em auto 0;
  border: 1px solid #E0D0AC;
  padding: 0.5em;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec01 .last,
  .pre-inc main #contents .sec02 .last,
  .pre-inc main #contents .sec03 .last,
  .pre-inc main #contents .view .last {
    margin: 2em auto 0;
  }
}
.pre-inc main #contents .sec01 .inner,
.pre-inc main #contents .sec02 .inner,
.pre-inc main #contents .sec03 .inner,
.pre-inc main #contents .view .inner {
  max-width: 1232px;
  width: 95%;
  margin: 0 auto;
}
.pre-inc main #contents .sec01 .note,
.pre-inc main #contents .sec02 .note,
.pre-inc main #contents .sec03 .note,
.pre-inc main #contents .view .note {
  font-size: min(2.4vw, 12px);
}
.pre-inc main #contents .sec01::after {
  content: "";
  width: 25%;
  height: 100%;
  background: url(../img/position/kazari03.png) no-repeat 100% 100%;
  background-size: 100%;
  position: absolute;
  bottom: -15%;
  left: -5%;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec01::after {
    width: 30%;
    bottom: -7.5%;
  }
}
.pre-inc main #contents .sec01 .note {
  color: #fff;
}
.pre-inc main #contents .sec02 {
  background: rgb(244, 244, 244);
  background: linear-gradient(90deg, rgb(244, 244, 244) 0%, rgb(222, 222, 222) 100%);
}
.pre-inc main #contents .sec02::after {
  content: "";
  width: 20%;
  height: 100%;
  background: url(../img/position/kazari04.png) no-repeat 100% 100%;
  background-size: 100%;
  position: absolute;
  bottom: -10%;
  right: 0;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec02::after {
    width: 25%;
    bottom: -3%;
  }
}
.pre-inc main #contents .sec02 h2 {
  color: #7B6534;
}
.pre-inc main #contents .sec02 .lead {
  color: #7B6534;
}
.pre-inc main #contents .sec02 .txt01 {
  color: #312A28;
  margin: 0 auto 3em;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec02 .txt01 {
    margin: 0 auto 1.5em;
  }
}
.pre-inc main #contents .sec02 .txt02 {
  color: #312A28;
}
.pre-inc main #contents .sec02 .top {
  padding: 0 0 5em;
  margin: 0 auto 5em;
  background: url(../img/position/border02.png) no-repeat 100% 100%;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec02 .top {
    padding: 0 0 2.5em;
    margin: 0 auto 2.5em;
  }
}
.pre-inc main #contents .sec02 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.pre-inc main #contents .sec02 ul li {
  position: relative;
  font-size: 0;
  width: 48%;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec02 ul li {
    width: 100%;
    margin: 0 0 10px;
  }
}
.pre-inc main #contents .sec03::after {
  content: "";
  width: 30%;
  height: 100%;
  background: url(../img/position/kazari05.png) no-repeat 100% 100%;
  background-size: 100%;
  position: absolute;
  bottom: -2%;
  left: -5%;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec03::after {
    width: 30%;
  }
}
.pre-inc main #contents .sec03 .top {
  margin: 0 auto 5em;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec03 .top {
    margin: 0 auto 2.5em;
  }
}
.pre-inc main #contents .sec03 .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.pre-inc main #contents .sec03 .flex .left {
  width: 37%;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec03 .flex .left {
    width: 100%;
  }
}
.pre-inc main #contents .sec03 .flex .left .lead {
  text-align: center;
}
.pre-inc main #contents .sec03 .flex .left .lead small {
  font-size: 0.5em;
}
.pre-inc main #contents .sec03 .flex .left .txt02 {
  text-align: left;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec03 .flex .left .txt02 {
    text-align: center;
  }
}
.pre-inc main #contents .sec03 .flex .photo {
  width: 57.792%;
}
@media screen and (max-width: 768px) {
  .pre-inc main #contents .sec03 .flex .photo {
    width: 100%;
  }
}
.pre-inc main #contents .sec03 .note {
  color: #fff;
}
.pre-inc main #contents .view {
  padding: 0;
}

/*# sourceMappingURL=position.css.map */

@media screen and (min-width: 769px) {
  .pre-inc .sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pre-inc .pc {
    display: none !important;
  }
}
/* mainvisual */
.pre-inc .mainvisual{
	background: #FFF;
	position: relative;
}
.pre-inc .mvpanel{
	width: 100%;
	position: absolute;
	top: 0;
	text-align: center;
	opacity: 0;
}
.pre-inc .caption{
	color: #FFF;
	font-size: clamp(9px,1.2vw,12px);
	position: absolute;
	right: 10px;
	bottom: 10px;
	z-index: 2;
	filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.9));
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.7);
}