@charset "UTF-8";
.title {
  font-size: 16px;
  margin: 8px 0 20px;
}

.w980 {
  padding: 0 4%;
}

.w1280 {
  max-width: 1280px;
  margin: auto;
}

.flex_wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#content {
  margin-top: 0;
  font-family: 'Noto Sans JP', sans-serif;
}
#content p {
  font-size: 14px;
}
#content .box {
  margin-bottom: 30px;
}

/*ヘッダー*/
.header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10000;
  height: 80px;
  width: 100%;
  box-sizing: border-box;
}
.header .header__logo {
  position: absolute;
  top: 20%;
  left: 1%;
  width: 100%;
  max-width: 290px;
}
.header .header__menu-nav {
  position: static;
  transform: none;
}
.header .header__menu-nav .header__menu-nav-wrap {
  position: absolute;
  width: 100%;
  top: 0;
  right: 0;
  max-width: 600px;
}
.header .header__menu-nav .header__menu-nav-wrap ul li {
  flex: 0 1 33.333%;
  width: 33.333%;
}
.header .header__menu-nav .header__menu-nav-wrap ul li a {
  position: relative;
  display: block;
  padding: 18px 0 30px;
  color: #fff;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
}
.header .header__menu-nav .header__menu-nav-wrap ul li a::before {
  content: '';
  position: absolute;
  bottom: 10%;
  left: 50%;
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 auto;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg) skew(-15deg, -15deg);
}
.header .header__menu-nav .header__menu-nav-wrap ul .ye {
  background: #B38965;
}
.header .header__menu-nav .header__menu-nav-wrap ul .or {
  background: #BA635F;
}
.header .header__menu-nav .header__menu-nav-wrap ul .grn {
  background: #4F8057;
}
.header .header__menu-nav .header__menu-nav-wrap ul .grn a::before {
  bottom: 2%;
}

/*フッター*/
footer {
  position: relative;
  background: #443119;
}
footer .footer__house {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -99%);
  width: 100%;
}
footer .footer__wrap {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  max-width: 1000px;
  margin: auto;
  padding: 50px 0px;
  box-sizing: border-box;
}
footer .footer__logo {
  flex: 0 1 40%;
  width: 40%;
}
footer .footer__txt {
  flex: 0 1 52%;
  width: 52%;
  color: #fff;
  line-height: 1.5;
}
footer .footer__txt p {
  font-size: 16px;
  line-height: 1.7;
}
footer .copyright {
  padding-bottom: 40px;
  font-size: 12px;
  color: #fff;
  text-align: center;
  font-weight: bold;
}

/*共通タイトル*/
.common__ttl {
  max-width: 540px;
  margin: auto;
  margin-bottom: 70px;
}

/*メインビジュアル*/
.mainimg__ttl {
  position: relative;
  z-index: 1;
}
.mainimg__ttl .mainimg__ttl-main {
  position: absolute;
  top: 25%;
  right: 3%;
  max-width: 730px;
  width: 46%;
}

.mainimg__slide {
  margin-top: -8%;
}

.mainimg .slick-slide {
  height: auto;
}

/*サンストリートクリスマスって？*/
#what {
  position: relative;
  background: url("./img/bg_what.jpg") left/cover no-repeat;
}
#what .what__wrap {
  padding: 80px 0 120px;
}
#what .what__ttl {
  max-width: 540px;
  width: 100%;
  margin: auto;
  margin-bottom: 20px;
}
#what .what__txt {
  position: relative;
  z-index: 1;
  text-align: center;
  font-size: 16px;
  line-height: 42px;
  letter-spacing: .05em;
}
#what .what__il {
  position: absolute;
  top: 30%;
  right: 11%;
  max-width: 260px;
}

/*天竜杉のツリーができるまで*/
#flow {
  padding: 70px 0 14%;
  background: url("./img/bg_flow.jpg") center/cover repeat;
}
#flow .flow__list {
  max-width: 1400px;
  margin: auto;
}
#flow .flow__list .flow__list-num {
  position: absolute;
  top: 5%;
  left: 3%;
  max-width: 180px;
  width: 100%;
  z-index: -1;
}
#flow .flow__list .flow__list-box {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
#flow .flow__list .flow__list-box .flow__list-img {
  flex: 0 1 53%;
  width: 53%;
  max-width: 53%;
  box-sizing: border-box;
}
#flow .flow__list .flow__list-box .flow__list-txt {
  flex: 0 1 42%;
  width: 42%;
  max-width: 42%;
  position: relative;
  box-sizing: border-box;
  padding: 80px 40px 50px;
  background: #fff;
  border-radius: 10px;
  z-index: 2;
}
#flow .flow__list .flow__list-box .flow__list-txt p {
  font-size: 15px;
  line-height: 42px;
  background-size: 100% 42px;
  color: #2b1901;
  background-image: linear-gradient(#2b1901 1px, transparent 1px);
  border-bottom: 1px solid #2b1901;
}

@media screen and (max-width: 1280px) {
  #movie .w1280 {
    padding: 0 20px;
    box-sizing: border-box;
  }
}
.movie__santa {
  position: absolute;
  top: 50px;
  right: 0;
  max-width: 430px;
  width: 100%;
}

.movie__house {
  position: absolute;
  bottom: -55px;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 1600px;
  width: 100%;
}

/*開催中のイベントマップ*/
#map {
  padding: 70px 0 100px;
  background: url("./img/bg_map.jpg") center/cover no-repeat;
}

.map__mainimg {
  margin-bottom: 50px;
}

.map__img {
  position: relative;
}

.map__img .l_snow {
  position: absolute;
  top: -50px;
  left: -40px;
  max-width: 250px;
  width: 100%;
}

.map__img .r_snow {
  position: absolute;
  top: -50px;
  right: -60px;
  max-width: 230px;
}

.map__event .l_snow {
  position: absolute;
  bottom: 15%;
  left: -140px;
  max-width: 270px;
}

.map__event .r_snow {
  position: absolute;
  top: -60px;
  right: -10%;
  max-width: 250px;
}

.map__event {
  position: relative;
  margin-bottom: 10px;
}

.map__event-cap {
  margin-bottom: 10px;
  font-size: 12px;
  text-align: center;
}

.map__event-space {
  margin-bottom: 40px;
}

.map__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-gap: 20px;
}

.map__list li {
  margin-bottom: 6%;
}

.more {
  display: block;
  position: relative;
  max-width: 200px;
  margin: auto;
  padding: 10px;
  border-radius: 50px;
  background: #c1591f;
  border: 2px solid #fff;
  color: #fff;
  font-size: 14px;
  text-align: center;
}

#map .map__cycle {
  max-width: 840px;
  margin: auto;
  justify-content: center;
}

.map__cycle figure {
  flex: 0 1 48%;
  width: 48%;
  position: relative;
}

.map__cycle figure img {
  margin-bottom: 20px;
}

/*221226 追加*/
.common__ttl .common__ttl-cap {
  margin-top: 5px;
  font-size: 12px;
  text-align: center;
}
