@charset "UTF-8";
/* home
//* -------------------------------------------------- */
.home-kv-intro-logo {
  position: relative;
  z-index: 1;
}
.home-kv-intro-logo_ico {
  position: absolute;
  width: 20.714vw;
  height: 2.857vw;
  top: 5%;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.home-kv-intro-logo02 {
  background: url(../images/home/bg_header.jpg) repeat-x;
  background-size: cover;
  margin-top: -0.5vw;
  padding: 30px 0 45px;
  /*padding: 1.786vw 0 2.857vw;*/
  position: relative;
  z-index: 0;
  text-align: center;
}
.home-kv-intro-logo02:after {
  display: block;
  content: '';
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 30px;
  background: url(../images/common/line_waku.png) repeat-x bottom;
  background-size: auto 30px;
  z-index: 1;
}
.home-kv-intro-logo02 img {
  width: 93%;
  margin: 0 auto;
  max-width: 1200px; 
}
.home-kv-intro-logo02-inner:before {
  display: block;
  content: '';
  position: absolute;
  background: url(../images/common/ill_light2.png) repeat-x right 20px;
  background-size: auto 73px;
  width: calc(50% - 340px);
  height: 100%;
  left: 0;
  top: -25px;
  z-index: 0;
}
.home-kv-intro-logo02-inner:after {
  display: block;
  content: '';
  position: absolute;
  background: url(../images/common/ill_light2.png) repeat-x left 20px;
  background-size: auto 73px;
  width: calc(50% - 340px);
  height: 100%;
  right: 0;
  top: -25px;
  z-index: 0;
}
.home-kv-slidewrap {
  position: relative;
  background: #fefeee;
}
.home-kv-slidewrap:after {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  margin: auto;
  background: url(../images/home/kv_waku.png) no-repeat;
  background-size: 100% auto;
  z-index: 2;
  height: 47.143vw;
  top: 0;
  pointer-events: none;
}
.home-kv-slide {
  width: 93%;
  margin: 0 auto;
  /*padding-top: 0.1vw;*/
}
.home-kv-slide .slick-slide {
  margin: 0;
}
@media screen and (min-width: 1px) and (max-width: 768px) {
.home-kv-main {
  min-height: 81vh;
}
.home-kv-intro-logo_ico {
  max-width: 385px;
  max-height: 54px;
  width: 51.333vw;
  height: 7.2vw;
  top: 10%;
}
.home-kv-slidewrap:after {
  background: url(../images/home/kv_waku_sp.png) no-repeat;
  background-size: 100% auto;
  height: 135.733vw;
}
.home-kv-slide {
  width: 86%;
  margin: 0 auto;
  padding-top: 6.133vw;
}
.home-kv-slide .slick-slide {
  margin: 0;
}
.home-kv-intro-logo02 {
  background: url(../images/home/bg_header_sp.jpg) repeat-x;
  background-size: cover;
  margin-top: -10px;
  padding: 30px 0 35px;
}
.home-kv-intro-logo02:after {
  height: 20px;
  background-size: auto 20px;
}
.home-kv-intro-logo02 img {
  width: 90%;
}
}

/* news
//* -------------------------------------------------- */
.home-news {
  margin-top: 15px;
  margin-top: 1.071vw;
  text-align: center;
  position: relative;
  font-family: dnp-shuei-mincho-pr6n, sans-serif;
  background: rgb(127,203,185);
  background: linear-gradient(0deg, rgba(127,203,185,1) 0%, rgba(72,151,132,1) 81%, rgba(53,133,114,1) 100%);
}
.home-news:before {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  width: 100%;
  height: 30px;
  background: url(../images/common/line_waku.png) repeat-x top;
  background-size: auto 30px;
  z-index: 1;
}
.home-news:after {
  display: block;
  content: '';
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 30px;
  background: url(../images/common/line_waku.png) repeat-x bottom;
  background-size: auto 30px;
  z-index: 1;
}
.home-news-inner {
  display: block;
  padding: 44px 0 44px;
  /*padding: 3.571vw 0 3.571vw;*/
  /*background: url(../images/common/ill_light2.png) repeat-x left 20px , url(../images/common/ill_light2.png) repeat-x right 20px;
  background-size: auto 70px;*/
}
.home-news-inner:before {
  display: block;
  content: '';
  position: absolute;
  background: url(../images/common/ill_light2.png) repeat-x right 20px;
  background-size: auto 73px;
  width: calc(50% - 340px);
  height: 100%;
  left: 0;
  top: 0;
  z-index: 0;
}
.home-news-inner:after {
  display: block;
  content: '';
  position: absolute;
  background: url(../images/common/ill_light2.png) repeat-x left 20px;
  background-size: auto 73px;
  width: calc(50% - 340px);
  height: 100%;
  right: 0;
  top: 0;
  z-index: 0;
}
.home-news-lists {
  width: 80%;
  max-width: 660px;
  margin: 0 auto;
  position: relative;
}
.home-news-date {
  font-size: 1.54rem;
  color: #fff;
}
.home-news-txt {
  font-size: 1.4rem;
}
.home-news-txt a {
  text-decoration: underline;
}

@media screen and (min-width: 1px) and (min-width: 769px) {
.home-news-txt a:hover {
  opacity: .5;
}
}
@media screen and (min-width: 1px) and (max-width: 768px) {
.home-news {
  margin-top: 5px;
}
.home-news-inner {
    display: block;
    padding: 30px 0 30px;
}
.home-news:before {
  height: 20px;
  background-size: auto 20px;
}
.home-news:after {
  height: 20px;
  background-size: auto 20px;
}
.home-news-date {
  font-size: 1.3rem;
}
.home-news-txt {
  font-size: 1rem;
}
}


/* lineup
//* -------------------------------------------------- */
.home-lineup {
  display: block;
  position: relative;
  padding-bottom: 30px;
}
.home-lineup:after {
  display: block;
  content: '';
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 30px;
  background: url(../images/common/line_waku.png) repeat-x bottom;
  background-size: auto 30px;
  z-index: 1;
}
.home-lineup {
  background: url(../images/common/bg_wrap.jpg) repeat;
  background-size: 100% auto;
  position: relative;
}
.home-lineup:before {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 67%;
  bottom: 0;
  right: 0;
  background: url(../images/common/ill_diamond.png) repeat;
  background-size: 53.5px 89.5px;
  z-index: 0;
}
.is_animed.home-lineup:before {
  animation: lineup-bg 1s linear forwards;
  animation-delay: 3s;
  opacity: 0;
}
@keyframes lineup-bg {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.home-lineup-motion {
  position: absolute;
  top: 300px;
  top: 21.429vw;
  width: 100%;
  left: 0;
  right: 0;
  margin: auto;
}
.home-lineup-motion-kira {
  max-width: 574px;
  width: 41vw;
  margin: 0 auto;
  position: relative;
}
.home-lineup-motion-mask {
  position: absolute;
  top: -20%;
  left: 90%; 
  max-width: 130px;
  max-height: 130px;
  width: 9.286vw;
  height: 9.286vw;
  border-radius: 50%;
}
.is_animed .home-lineup-motion-mask {
  animation: pixie-dust 1.1s ease-in forwards;
  animation-delay: 1s;
  animation-direction: reverse;
}
.home-lineup-motion-mask:before {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  top: 0;
  left: 0;
  background: url(../images/home/lineup-mask.jpg) repeat;
  background-size: 64px 63px;
  background-size: 4.571vw 4.5vw;
  z-index: 0;
}
@keyframes pixie-dust {
  0% {
    top: -20%;
    left: 3%;
    opacity: 0;
  }
  3% {
    top: -5%;
    left: 3%;
    opacity: 1;
  }
  5% {
    top: 0%;
    left: 0%;
  }
  10% {
    top: 20%;
    left: -1%;
  }
  15% {
    top: 30%;
    left: -3%;
  }
  20% {
    top: 40%;
    left: 1%;
  }
  25% {
    top: 50%;
    left: 4%;
  }
  30% {
    top: 50%;
    left: 25%;
  }
  60% {
    top: 45%;
    left: 50%;
  }
  70% {
    top: 45%;
    left: 80%;
  }
  80% {
    top: 20%;
    left: 85%;
  }
  100% {
    top: -20%;
    left: 90%;   
  }
}
.home-lineup-motion-maskbg {
  position: absolute;
  top: 70px;
  top: 5vw;
  left: 0;
  width: 100%;
  height: calc(100% - 5vw);
}
.is_animed .home-lineup-motion-maskbg {
  animation: pixie-back 1.4s linear forwards;
  animation-delay: 1s;
}
.home-lineup-motion-maskbg:before {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../images/home/lineup-mask.jpg) repeat;
  background-size: 64px 63px;
  background-size: 4.571vw 4.5vw;
  z-index: 0;
}
@keyframes pixie-back {
  0% {
    width: 100%;
    top: 1.286vw;
    height: calc(100% - 1.286vw);
  }
  10% {
    width: 100%;
    top: 1.286vw;
    height: calc(100% - 1.286vw);
  }
  100% {
    width: 0%;
  }
}
.home-lineup-motion-maskbg2 {
  position: absolute;
  top: 0%;
  left: -1%;
  max-width: 180px;
  max-height: 180px;
  width: 12.857vw;
  height: 12.857vw;
  border-radius: 50%;
}
.is_animed .home-lineup-motion-maskbg2 {
  animation: pixie-bg2 1.4s linear forwards;
  animation-delay: 1.1s;
}
.home-lineup-motion-maskbg2:before {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  top: 0;
  left: 0;
  background: url(../images/home/lineup-mask.jpg) repeat;
  background-size: 64px 63px;
  background-size: 4.571vw 4.5vw;
  z-index: 0;
}
@keyframes pixie-bg2 {
  0% {
    top: -1%;
    left: -1%;
    opacity: 1;
  }
  80% {
    top: -1%;
    left: -1%;
    opacity: 1;
  }
  100% {
    top: -15%;
    left: 5%;
    opacity: 0;
  }
}




/*.home-lineup-inner {
  position: relative;
  background: url(../images/home/bg_lineup_top.jpg) no-repeat top, url(../images/home/bg_lineup_bottom.jpg) no-repeat bottom;
  background-size: 100% auto;
  max-width: 1400px;
  margin: 0 auto;
  padding-bottom: 7.143vw;
}
.home-lineup-inner:after {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 9.1vw;
  height: calc(9.1vw * 3);
  bottom: 8.74vw;
  background: url(../images/home/bg_lineup_middle.jpg) repeat-y top;
  background-size: 100% auto;
  z-index: 1;
}*/
.home-lineup-inner {
  position: relative;
  background: url(../images/home/lineup_curtain_top.png) no-repeat top, url(../images/home/lineup_curtain_bottom.png) no-repeat bottom;
  background-size: 100% auto;
  max-width: 1400px;
  margin: 0 auto;
  padding: 26.786vw 0 7.143vw;
}
.home-lineup-inner:after {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: calc(9.1vw * 4);
  bottom: 8.74vw;
  background: url(../images/home/lineup_curtain_middle.png) repeat-y top;
  background-size: 100% auto;
  z-index: 0;
}
.home-lineup-lists {
  position: relative;
  z-index: 2;
}
.home-lineup-heading {
  position: relative;
}
.home-lineup-lead {
  width: 27.357vw;
  max-width: 383px;
  margin: 0 auto;
}
.home-lineup-lists {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 930px;
  width: 90%;
  margin: 2.143vw auto 0;
}
.home-lineup-lists.home-lineup-lists3 {
  margin: 8.143vw auto 8.143vw;
}
.home-lineup-lists li {
  width: 24.286vw;
  max-width: 340px;
  margin: 3.571vw 3.571vw 0;
}
.home-lineup-lists.home-lineup-lists3 li {
  width: 20vw;
  max-width: 280px;
  margin: 3.571vw 1.071vw 0;
}
.home-lineup-lists li a {
  position: relative;
  width: 100%;
}
.home-lineup-name {
  margin: 5px auto 0;
  text-align: center;
}
.home-lineup-name img {
  margin: 0 auto;
}
.home-lineup-kira {
  position: absolute;
  top: 16%;
  right: -5%;
  transform: rotate(180deg);
  width: 110%;
  height: 25%;
  pointer-events: none;
}
.home-lineup-kira img {
  width: 76px;
  height: 75px;
}
.home-lineup-kira.is_animed {
  animation: kira-anim 1.5s linear forwards;
  animation-delay: 1s;
}
@keyframes kira-anim {
  0% {
    transform: rotate(180deg);
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: rotate(0deg);
    opacity: 0;
  }
}

@media screen and (min-width: 1px) and (min-width: 1401px) {
.home-lineup-wrap {
  position: relative;
  display: block;
  width: 100%;
}
.home-lineup-wrap:before {
  display: block;
  content: '';
  position: absolute;
  width: calc(50% - 550px);
  height: 100%;
  top: 0;
  left: 0;
  background: url(../images/home/bg_lineupwrap.jpg) repeat;
  background-size: 22.5px 123.5px;
  z-index: 0;
}
.home-lineup-wrap:after {
  display: block;
  content: '';
  position: absolute;
  width: calc(50% - 700px);
  height: 100%;
  top: 0;
  right: 0;
  background: url(../images/home/bg_lineupwrap.jpg) repeat;
  background-size: 22.5px 123.5px;
  z-index: 0;
}
.home-lineup-motion {
  top: 300px;
}
.home-lineup-motion-mask:before {
  background-size: 64px 63px;
}
.home-lineup-motion-maskbg {
  top: 70px;
  height: calc(100% - 70px);
}

.home-lineup-motion-maskbg:before {
  background-size: 64px 63px;
}
@keyframes pixie-back {
  0% {
    width: 100%;
  }
  10% {
    width: 100%;
    top: 130px;
    height: calc(100% - 130px);
  }
  100% {
    width: 0%;
  }
}
.home-lineup-motion-maskbg2:before {
  background-size: 64px 63px;
}
.home-lineup-inner {
  padding: 375px 0 200px;
}
.home-lineup-inner:after {
  width: 100%;
  height: 36%;
  bottom: 121px;
}
.home-lineup-heading {
  position: relative;
}
.home-lineup-lists li {
  width: 24.286vw;
  max-width: 340px;
  margin: 50px 50px 0;
}
.home-lineup-lists {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 930px;
  margin: 50px auto 0;
}
.home-lineup-lists.home-lineup-lists3 {
  max-width: 1000px;
}
.home-lineup-inner {
  padding-bottom: 100px;
}
}

@media screen and (min-width: 1px) and (max-width: 768px) {
.home-lineup {
  padding-bottom: 20px;
}
.home-lineup:after {
  height: 20px;
  background-size: auto 20px;
}
.home-lineup:before {
  height: 84.5%;
  background-size: 28px 47.5px;
}
.home-lineup-inner {
  background: url(../images/home/lineup_curtain_sp_top.png) no-repeat top, url(../images/home/lineup_curtain_sp_bottom.png) no-repeat bottom;
  background-size: 100% auto;
  padding: 44.533vw 0 20vw;
}
.home-lineup-inner:after {
  height: 80%;
  bottom: 22vw;
  background: url(../images/home/lineup_curtain_sp_middle.png) repeat-y top;
  background-size: 100% auto;
}
.home-lineup-lead {
  width: 62.667vw;
}

.home-lineup-lists.home-lineup-lists3,
.home-lineup-lists {
  display: block;
  width: 90%;
  margin: 20vw auto 0;
}
.home-lineup-lists.home-lineup-lists3 li,
.home-lineup-lists li {
  width: 80%;
  max-width: 340px;
  margin: 14.933vw auto 0;
}
.home-lineup-kira {
  top: 19%;
  height: 25%;
}
.home-lineup-kira img {
  max-width: 76px;
  max-height: 75px;
  width: 10.133vw;
  height: 10vw;
}

.home-lineup-motion {
  top: 38.267vw;
  max-width: 750px;
}
.home-lineup-motion-kira {
  max-width: 609px;
  width: 81.2vw;
}
.home-lineup-motion-mask {
  display: none;
}
.home-lineup-motion-maskbg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.is_animed .home-lineup-motion-maskbg {
  animation: pixie-back 1.2s linear forwards;
  animation-delay: 1s;
}
@keyframes pixie-back {
  0% {
    width: 100%;
    bottom: 0;
    height: 100%;
  }
  60% {
    width: 35%;
    height: 100%;
  }
  80% {
    width: 80%;
    height: 50%;
    opacity: 1;
  }
  100% {
    height: 0;
    width: 0%;
    bottom: 100%;
    opacity: 0;
  }
}
.home-lineup-motion-maskbg2 {
  display: none;
}

}


/* shop
//* -------------------------------------------------- */
.home-shop {
  background: url(../images/home/bg_shop.jpg) repeat;
  background-size: 56px 98px;
  position: relative;
  padding: 140px 0 160px;
}
.home-shop:before {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 300px;
  background: rgb(127,203,185);
  background: linear-gradient(0deg, rgba(127,203,185,0) 15%, rgba(127,203,185,.3) 20%, rgba(32,101,85,1) 100%);
  background-size: 100% auto;
  top: 0;
  opacity: .7;
}
.home-shop:after {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 288px;
  background: url(../images/home/line_kabe.png) repeat-x;
  background-size: 260px 288px;
  bottom: 0;
}
.home-shop-heading {
  position: relative;
  z-index: 1;
  text-align: center;
}
.home-shop-heading img {
  width: auto;
  height: 35px;
  max-width: inherit;
}
.home-shop-block {
  position: relative;
  z-index: 1;
  max-width: 1040px;
  margin: 100px auto 0;
  padding: 3px;
  box-shadow: 0px 30px 30px -6px rgba(45, 106, 91, 0.5);
}
.home-shop-block01 {
  background: rgb(57,75,146);
  background: linear-gradient(90deg, rgba(57,75,146,1) 0%, rgba(80,117,178,1) 10%, rgba(80,117,178,1) 90%, rgba(57,75,146,1) 100%);
}
.home-shop-block02 {
  background: rgb(85,176,155);
  background: linear-gradient(90deg, rgba(62,144,125,1) 0%, rgba(85,176,155,1) 10%, rgba(85,176,155,1) 90%, rgba(62,144,125,1) 100%);
}
.home-shop-blockinner {
  position: relative;
}
.home-shop-blockinner:before {
  z-index: 0;
  display: block;
  position: absolute;
  top: -3px;
  right: -3px;
  content: '';
  width: calc(100% + 6px);
  height: 210px;
  background: rgb(57,75,146);
  background: linear-gradient(0deg, rgba(57,75,146,0) 0%, rgba(57,75,146,.2) 30%, rgba(39,52,103,.5) 80%, rgba(39,52,103,.5) 100%);
}
.home-shop-block02 .home-shop-blockinner:before {
  background: rgb(41,94,81);
  background: linear-gradient(0deg, rgba(62,144,125,0) 0%, rgba(62,144,125,.2) 30%, rgba(41,94,81,.5) 80%, rgba(41,94,81,.5) 100%);
}
.home-shop-blockinner:after {
  z-index: 0;
  display: block;
  position: absolute;
  bottom: -3px;
  left: -3px;
  content: '';
  width: calc(100% + 6px);
  height: 210px;
  background: rgb(57,75,146);
  background: linear-gradient(0deg, rgba(28,36,71,.5) 0%, rgba(28,36,71,.5) 30%, rgba(57,75,146,.2) 80%, rgba(57,75,146,.0) 100%);
}
.home-shop-block02 .home-shop-blockinner:after {
  background: rgb(62,144,125);
  background: linear-gradient(0deg, rgba(41,94,81,.5) 0%, rgba(41,94,81,.5) 30%, rgba(62,144,125,.2) 80%, rgba(62,144,125,.0) 100%);
}
.home-shop-blockinner_in {
  border: 3px solid;
  text-align: center;
  position: relative;
  z-index: 1;
}
.home-shop-block01 .home-shop-blockinner_in {
  border-color: #aeb1e2;
}
.home-shop-block02 .home-shop-blockinner_in {
  border-color: #f5f2d3;
}
.home-shop-blockinner_in:before {
  display: block;
  content: '';
  position: absolute;
  width: 63px;
  height: 64px;
  background: url(../images/common/ill_wakus_b.svg) no-repeat;
  background-size: 100% auto;
  top: 5px;
  left: 5px;
}
.home-shop-blockinner_in:after {
  display: block;
  content: '';
  position: absolute;
  width: 63px;
  height: 64px;
  background: url(../images/common/ill_wakus_b.svg) no-repeat;
  background-size: 100% auto;
  top: 5px;
  right: 5px;
  transform: scale(-1, 1);
}
.home-shop-blockinner_inB {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.home-shop-blockinner_inB:before {
  display: block;
  content: '';
  position: absolute;
  width: 63px;
  height: 64px;
  background: url(../images/common/ill_wakus_b.svg) no-repeat;
  background-size: 100% auto;
  bottom: 5px;
  left: 5px;
  transform: scale(1, -1);
}
.home-shop-blockinner_inB:after {
  display: block;
  content: '';
  position: absolute;
  width: 63px;
  height: 64px;
  background: url(../images/common/ill_wakus_b.svg) no-repeat;
  background-size: 100% auto;
  bottom: 5px;
  right: 5px;
  transform: scale(-1, -1);
}
.home-shop-block02 .home-shop-blockinner_inB:before ,
.home-shop-block02 .home-shop-blockinner_inB:after ,
.home-shop-block02 .home-shop-blockinner_in:after ,
.home-shop-block02 .home-shop-blockinner_in:before {
  background: url(../images/common/ill_wakus_y.svg) no-repeat;
  background-size: 100% auto;
}
.home-shop-name {
  margin: 66px auto 0;
  position: relative;
  max-width: 580px;
}
.home-shop-nameimg {
  max-width: 462px;
  margin: 0 auto;
  display: block;
}
.home-shop-nameleft {
  max-width: 230px;
  width: 16.429vw;
  max-height: 110px;
  height: 7.857vw;
  position: absolute;
  top: -4%;
  left: -1%;
}
.home-shop-nameleft01 {
  /*max-width: 42px;
  max-height: 42px;*/
  width: 42px;
  height: 42px;
  position: absolute;
  top: 15%;
  left: 27%;
}
.home-shop-nameleft02 {
  /*max-width: 106px;
  max-height: 60px;*/
  width: 166px;
  height: 86px;
  position: absolute;
  top: -1%;
  left: 24%;
}
.home-shop-nameleft03 {
  /*max-width: 102px;
  max-height: 49px;*/
  width: 165px;
  height: 78px;
  position: absolute;
  top: 18%;
  left: 2%;
}
.home-shop-nameleft04 {
  /*max-width: 42px;
  max-height: 39px;*/
  width: 72px;
  height: 68px;
  position: absolute;
  top: 4%;
  left: 43%;
}
.home-shop-nameright {
  max-width: 153px;
  width: 10.929vw;
  max-height: 67px;
  height: 4.786vw;
  position: absolute;
  bottom: 6%;
  right: 2%;
}
.home-shop-nameright01 {
  width: 30px;
  height: 30px;
  position: absolute;
  top: 31%;
  left: 39%;
}
.home-shop-nameright02 {
  width: 112px;
  height: 23px;
  position: absolute;
  top: 19%;
  left: 26%;
}
.home-shop-nameright03 {
  width: 123px;
  height: 71px;
  position: absolute;
  top: -9%;
  left: 1%;
}
.home-shop-nameright04 {
  width: 114px;
  height: 35px;
  position: absolute;
  top: 28%;
  left: 5%;
}


.home-shop-img {
  max-width: 750px;
  margin: 50px auto 0;
  width: 86%;
}
.home-shop-lead {
  color: #fbf28f;
  font-size: 1.6rem;
  position: relative;
  max-width: 750px;
  margin: 0 auto;
  line-height: 2;
}
.home-shop-lead:after {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 3px;
  background: url(../images/home/line_shop.png) no-repeat;
  background-size: 100% auto;
  bottom: -24px;
}
.home-shop-map {
  margin: 100px auto 0;
  padding-bottom: 140px;
  max-width: 800px;
  width: 90%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.home-shop-mapimg {
  width: 56%;
}
.home-shop-block02 .home-shop-mapimg {
    width: 50%;
}
.home-shop-mapbox {
  margin-top: 20px;
  width: 45%;
}
.home-shop-block01 .home-shop-mapbox {
  margin-top: 100px;
}
.home-shop-mapbox-txt {
  color: #fbf28f;
  font-size: 1.5rem;
}
.home-shop-block02 .home-shop-mapbox-txt {
  color: #000;
}
.home-shop-mapbox-txt_sm {
  font-size: 1rem;
}
.home-shop .u-hoverButton {
  margin-top: 25px;
}


.home-shop-accordionarea {
  display: block;
}
.home-shop-accordiontab {
  display: none;
}


@media screen and (min-width: 1px) and (max-width: 768px) {
.home-shop {
  background-size: 25px 49px;
  padding: 55px 0 100px;
}
.home-shop:before {
  height: 200px;
}
.home-shop:after {
  height: 185px;
  background-size: 173px 194px;
  background-position: center;
}
.home-shop-block {
    width: 94%;
    margin: 40px auto 0;
    padding: 3px;
    box-shadow: 0px 30px 30px -6px rgba(45, 106, 91, 0.5);
}
.home-shop-blockinner_in {
    border-width: 1.5px;
}
.home-shop-blockinner:before {
  top: -3px;
  right: -3px;
  width: calc(100% + 6px);
}
.home-shop-blockinner:after {
  bottom: -3px;
  left: -3px;
  width: calc(100% + 6px);
}
.home-shop-blockinner_in:before {
  width: 37px;
  height: 38px;
}
.home-shop-blockinner_in:after {
  width: 37px;
  height: 38px;
}
.home-shop-blockinner_inB {
  padding-bottom: 50px;
}
.home-shop-blockinner_inB:before {
  width: 37px;
  height: 38px;
}
.home-shop-blockinner_inB:after {
  width: 37px;
  height: 38px;
}
.home-shop-block02 .home-shop-blockinner:after,
.home-shop-block02 .home-shop-blockinner:before,
.home-shop-blockinner:after,
.home-shop-blockinner:before {
    height: 60px;
    opacity: .7;
}
.home-shop-name {
  margin: 30px auto 0;
}
.home-shop-nameimg {
  width: 68.4vw;
}
.home-shop-nameleft {
  max-width: 230px;
  width: 34.667vw;
  max-height: 110px;
  height: 16.933vw;
  top: -3%;
  left: 5%;
}
.home-shop-nameleft01 {
  width: 21px;
  height: 21px;
}
.home-shop-nameleft02 {
  width: 83px;
  height: 43px;
}
.home-shop-nameleft03 {
  width: 83px;
  height: 39px;
}
.home-shop-nameleft04 {
  width: 36px;
  height: 34px;
}
.home-shop-nameright {
  max-width: 153px;
  width: 23.8vw;
  max-height: 67px;
  height: 11.867vw;
  bottom: -1%;
  right: 4%;
}
.home-shop-nameright01 {
  width: 15px;
  height: 15px;
}
.home-shop-nameright02 {
  width: 56px;
  height: 12px;
}
.home-shop-nameright03 {
  width: 62px;
  height: 36px;
}
.home-shop-nameright04 {
  width: 57px;
  height: 18px;
}
.home-shop-img {
  margin: 30px auto 0;
  width: 82%;
}

.home-shop-accordionarea {
  display: none;
  width: 86%;
  margin: 10px auto 0;
}
.home-shop-accordiontab.btn_close {
  display: none;
}
.home-shop-accordiontab {
  display: block;
  border: 1px solid;
  color: #f5f2d3;
  width: 184px;
  font-size: 1.2rem;
  margin: 20px auto 0;
  line-height: 1;
  padding: 6px 0 6px;
}
.home-shop .js-accordiontab::before {
  display: none;
}
.home-shop .js-accordiontab::after {
  display: block;
  content: '';
  position: absolute;
  width: 6px;
  height: 14px;
  right: 6%;
  top: 0;
  margin: auto;
  bottom: 0;
  background: url(../images/common/ico_arrow_Rw.svg) no-repeat;
  background-size: 6px auto;
  z-index: 1;
  transform: rotate(90deg);
}
.home-shop-lead {
  font-size: 1.1rem;
}
.home-shop-lead:after {
  height: 2px;
  background: url(../images/home/line_shop_sp.png) no-repeat;
  background-size: 100% auto;
  bottom: -15px;
}
.home-shop-map {
  margin: 60px auto 0;
  padding-bottom: 10px;
  display: block;
}
.home-shop-block02 .home-shop-map {
    margin: 40px auto 0;
}

.home-shop-block02 .home-shop-mapimg,
.home-shop-mapimg {
  margin: 0 auto 0;
  width: 108%;
  margin-left: -4%;
}
.home-shop-block01 .home-shop-mapbox {
  margin-top: 20px;
}
.home-shop-mapbox {
  margin-top: 20px;
  width: 100%;
}
.home-shop-mapbox-txt {
  font-size: 1.2rem;
}
.home-shop-mapbox-txt_sm {
  font-size: 1rem;
}
.home-shop .u-hoverButton {
  margin-top: 15px;
}
}


.home-saizi {
  max-width: 1080px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin: 90px auto 0;
  position: relative;
  z-index: 2
}
.home-saizi-block {
  width: 46%;
  position: relative;
  text-align: center;
  color: #419480;
  z-index: 1;
  margin: 0 2%;
}
.home-saizi-block:before {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 86%;
  height: calc(100% - 86px);
  bottom: 0%;
  background: url(../images/home/bg_shop_saizi_middle.png) repeat-y top;
  background-size: 100% auto;
  z-index: 0;
}
.home-saizi-block:after {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 40%;
  bottom: 0%;
  box-shadow: 0px 30px 30px -6px rgba(45, 106, 91, 0.5);
  z-index: 0;
}
.home-saizi-block_inner {
  position: relative;
  background: url(../images/home/bg_shop_saizi_top.png) no-repeat top, url(../images/home/bg_shop_saizi_bottom.png) no-repeat bottom;
  background-size: 100% auto;
  padding: 0 5% 60px;
  z-index: 1;
}
.home-saizi-cap {
  max-width: 302px;
  margin: 20px auto 0;
  padding-top: 100px;
}
.home-saizi-date {
  margin-top: 40px;
}
.home-saizi-txt {
  margin: 10px auto 30px;
}
.home-saizi-name {
  font-size: 2rem;
  font-weight: bold;
}
.home-saizi .u-hoverButton {
  margin-top: 15px;
  background-color: #54af9a;
  color: #f2efcc;
}

@media screen and (min-width: 1px) and (max-width: 768px) {
.home-saizi {
  display: block;
  margin: 50px auto 0;
  width: 94%;
}
.home-saizi-block {
  width: 100%;
  margin: 50px auto 0;
}
.home-saizi-block:before {
  height: calc(100% - 58px);
}
.home-saizi-block_inner {
  padding-bottom: 60px;
}
.home-saizi-cap {
  max-width: 215px;
  margin: 20px auto 0;
  padding-top: 80px;
}
.home-saizi-name {
  font-size: 1.7rem;
}
.home-saizi-date {
  margin-top: 20px;
  font-size: 1.2rem;
}
.home-saizi-txt {
  margin: 10px auto 20px;
  font-size: 1.2rem;
}
}

/* contact
//* -------------------------------------------------- */
.home-contact {
  background: url(../images/common/bg_wrap.jpg) repeat;
  background-size: 100% auto;
  position: relative;
}
.home-contact:after {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 40.2%;
  bottom: 0;
  right: 0;
  background: url(../images/common/ill_diamond.png) repeat;
  background-size: 53.5px 89.5px;
}
.is_animed.home-contact:after {
  animation: contact-bg 1s linear forwards;
  animation-delay: 3s;
  opacity: 0;
}
@keyframes contact-bg {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.home-contact-inner {
  position: relative;
  z-index: 1;
  padding-top: 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 800px;
  width: 90%;
  margin: 0 auto;
}
.home-contact-pole {
  position: relative;
  width: 30%;
  max-width: 370px;
}
.home-contact-poleimg {
  width: 190px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.home-contact-board_shop {
  position: absolute;
  top: 26%;
  width: 96%;
  z-index: 2;
}
.home-contact-board_shop a {
  position: relative;
  display: block;
}
.home-contact-board_onlineshop {
  position: absolute;
  top: 40%;
  width: 96%;
  left: -6%;
  z-index: 2;
}
.home-contact-board_onlineshop a {
  position: relative;
  display: block;
}
.home-contact-board_sns {
  position: absolute;
  top: 56%;
  width: 96%;
  z-index: 2;
}

.home-contact-motion {
  position: absolute;
  width: 333px;
  /*width: 21.429vw;*/
  top: 0;
  /*left: -2.714vw;*/
  left: -40px;
  right: 0;
  margin: auto;
  z-index: 0;
}
.home-contact-motion-kira {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.home-contact-motion-maskbg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.is_animed .home-contact-motion-maskbg {
  animation: pixie-back2 1.2s linear forwards;
  animation-delay: 1s;
}
.home-contact-motion-maskbg:before {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../images/home/lineup-mask.jpg) repeat;
  background-size: 64px 63px;
  background-size: 4.571vw 4.5vw;
  z-index: 0;
}
@keyframes pixie-back2 {
  0% {
    height: 100%;
  }
  100% {
    height: 0%;
  }
}


.home-contact-contents {
  width: 56%;
  text-align: center;
  margin-top: -40px;
}
.home-contact-heading {
  position: relative;
  z-index: 1;
}
.home-contact-heading img {
  width: auto;
  height: 40px;
  max-width: inherit;
}
.home-contact-txt {
  margin: 30px auto 0;
}
.home-contact .u-hoverButton {
  margin-top: 30px;
  background-color: #c7ae4c;
  background: url(../images/home/bg_btn_contact.png) no-repeat;
  background-size: 100% auto;
}
.home-contact .u-hoverButton_in {
  border: none;
  padding: 1.4em 0;
}
.home-contact .u-hoverButton_arrow .u-hoverButton_in:after {
    width: 7px;
    height: 13px;
    right: 6%;
}
.home-contact-board_shop-ico {
  display: block;
  position: absolute;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #40947f;
  top: 13px;
  bottom: 0;
  margin: auto;
  right: 24%;
  transition: .3s;
}
.home-contact-board_shop-ico:after {
  display: block;
  content: '';
  position: absolute;
  width: 6px;
  height: 11px;
  top: 0;
  margin: auto;
  bottom: 0;
  right: 0;
  left: 0;
  background: url(../images/common/ico_arrow_Rw.svg) no-repeat;
  background-size: 100% auto;
  transform: rotate(5deg);
}
.home-contact-board_onlineshop-ico {
  display: block;
  position: absolute;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #40947f;
  top: -34px;
  bottom: 0;
  margin: auto;
  right: 9%;
  transition: .3s;
}
.home-contact-board_onlineshop-ico:after {
  display: block;
  content: '';
  position: absolute;
  width: 12px;
  height: 11px;
  top: 0;
  margin: auto;
  bottom: 0;
  right: 0;
  left: 0;
  background: url(../images/common/ico_cart.svg) no-repeat;
  background-size: 100% auto;
  transform: rotate(-12deg);
}
.home-contact-board_sns01,
.home-contact-board_sns02,
.home-contact-board_sns03 {
  display: block;
  position: absolute;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #f5f2d3;
  top: 0px;
  bottom: 0;
  margin: auto;
  right: 46%;
}
.home-contact-board_sns02 {
  right: 33%;
  top: 6px;
}
.home-contact-board_sns03 {
  right: 19%;
  top: 13px;
}
.home-contact-board_sns01-ico,
.home-contact-board_sns02-ico,
.home-contact-board_sns03-ico {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.home-contact-board_sns01-ico:after {
  display: block;
  content: '';
  position: absolute;
  width: 13px;
  height: 12px;
  top: 0;
  margin: auto;
  bottom: 0;
  right: 0;
  left: 0;
  background: url(../images/common/ico_twitter.svg) no-repeat;
  background-size: 100% auto;
  transform: rotate(12deg);
}
.home-contact-board_sns02-ico:after {
  display: block;
  content: '';
  position: absolute;
  width: 6px;
  height: 14px;
  top: 0;
  margin: auto;
  bottom: 0;
  right: 0;
  left: 0;
  background: url(../images/common/ico_fb.svg) no-repeat;
  background-size: 100% auto;
  transform: rotate(8deg);
}
.home-contact-board_sns03-ico:after {
  display: block;
  content: '';
  position: absolute;
  width: 15px;
  height: 14px;
  top: 0;
  margin: auto;
  bottom: 0;
  right: 0;
  left: 0;
  background: url(../images/common/ico_line.svg) no-repeat;
  background-size: 100% auto;
  transform: rotate(12deg);
}
.home-contact-presents {
  position: absolute;
  bottom: 5%;
  right: 5%;
  width: 37.143vw;
  max-width: 520px;
  z-index: 1;
}

@media screen and (min-width: 1px) and (min-width: 769px) {
.home-contact .u-hoverButton:hover:before {
  box-shadow: none;
}
.home-contact .u-hoverButton_arrow:hover .u-hoverButton_in:after {
  right: 4%;
}
.home-contact-board_shop a:hover .home-contact-board_shop-ico,
.home-contact-board_onlineshop a:hover .home-contact-board_onlineshop-ico,
.home-contact-board_sns01:hover,
.home-contact-board_sns02:hover,
.home-contact-board_sns03:hover {
  transform: scale(1.2, 1.2);
}
}

@media screen and (min-width: 1px) and (max-width: 768px) {
.home-contact:after {
  height: 25.5%;
  background-size: 28px 47.5px;
}
.home-contact-inner {
  padding-top: 60px;
  flex-direction: column-reverse;
}
.home-contact-pole {
  width: 100%;
  margin-top: 30px;
}
.home-contact-poleimg {
  width: 53.333vw;
  max-width: 200px;
}
.home-contact-board_shop {
  top: 27%;
  width: 210px;
  left: 26%;
}
.home-contact-board_onlineshop {
  top: 40%;
  width: 210px;
  left: 19%;
}
.home-contact-board_sns {
  top: 54%;
  width: 210px;
  left: 26%;
}
.home-contact-contents {
  width: 80%;
  margin-top: 0;
}
.home-contact-heading img {
  height: 35px;
}
.home-contact-txt {
  margin: 30px auto;
  font-size: 1.2rem;
}
.home-contact .u-hoverButton {
  margin-top: 20px;
  width: 71.267vw;
  max-width: 286px;
}
.home-contact .u-hoverButton_in {
  padding: 1.8em 0;
}
.home-contact-presents {
  bottom: 8%;
  right: 0;
  left: 0;
  margin: auto;
  width: 84vw;
}
.home-contact-motion {
  left: 0;
}
}



/* bnr
//* -------------------------------------------------- */
.bnr-area {
  background: url(../images/home/bg_bnr.jpg) repeat-y;
  background-size: 100% auto;
  position: relative;
  padding-top: 50px;
}
.bnr-area a {
  max-width: 980px;
  width: 90%;
  margin: 0 auto 0;
}
.modal_b3day .u-modal-inner {
  background: #f4dda3;
  padding-top: 3%;
}
.modal_b3day_flex_50 {
  width: 47%;
  margin-left: 3%;
  color: #9a1d00;
}
.modal_b3day_flex_50 a {
  display: inline;
  text-decoration: underline;
  color: #9a1d00;
}
.modal_b3day .u-lists_kome {
  font-size: 1.2rem;
}
.u-lists {
  padding-left: 1em;
}
.u-lists li {
  position: relative;
}
.u-lists li:before {
  content: "・";
  display: block;
  position: absolute;
  left: -1em;
}
@media screen and (min-width: 1px) and (min-width: 769px) {
  .bnr-area a:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
@media screen and (min-width: 1px) and (max-width: 768px) {
  .bnr-area {
    padding-top: 30px;
  }
  .bnr-area a {
    width: 94%;
  }
  .modal_b3day .u-modal-inner {
    padding: 3% 6% 6%;
  }
  .modal_b3day .u-txt {
    font-size: 1.5rem;
  }
  .modal_b3day .u-modal-content {
    width: 90%;
  }
  .modal_b3day_flex_50 {
    margin-left: 0;
    margin-top: 20px;
  }
  .modal_b3day .u-modal-btn_close {
    border: 1.5px solid #fff;
    font-size: 1.5rem;
    margin: 30px auto 20px;
    padding: .7em 0 .8em;
    background: #f4be47;
    border-radius: 5px;
  }
}


.modal_present .u-modal-content > .u-img {
  background: #fdd034;
  padding-top: 5vw;
}
.modal_present .u-img img {
  width: 100%;
}
.modal_present .u-modal-content > .u-txt {
  position: absolute;
  width: calc(320vw / 14);
  top: calc(674vw / 14);
  right: calc(50vw / 14);
  font-size: calc(14vw / 14);
  line-height: 2;
}
.modal_present .u-modal-inner {
  background: #fdd034;
  padding-top: 3%;
}
.modal_present_flex_50 {
  width: 47%;
  margin-left: 3%;
  color: #000;
}
.modal_present_flex_50 a {
  display: inline;
  text-decoration: underline;
  color: #000;
}
.modal_present .u-lists_kome {
  font-size: 1.2rem;
}
.modal_present .u-lists {
  padding-left: 1em;
}
.modal_present .u-lists li {
  position: relative;
}
.modal_present .u-lists li:before {
  content: "・";
  display: block;
  position: absolute;
  left: -1em;
}
@media screen and (min-width: 1px) and (min-width: 769px) {
  .present-bnr a:hover {
    cursor: pointer;
    transform: scale(1.1, 1.1);
  }
}
@media screen and (min-width: 1px) and (max-width: 1100px) {
  .modal_present .u-modal-content > .u-txt {
    top: calc(720vw / 14);
  }
}
@media screen and (min-width: 1px) and (max-width: 768px) {
  .modal_present .u-modal-content > .u-img {
    padding-top: 10vw;
  }
  .modal_present .u-modal-inner {
    padding: 3% 6% 6%;
  }
  .modal_present .u-txt {
    font-size: 1.5rem;
  }
  .modal_present .u-modal-content {
    width: 94%;
  }
  .modal_present .u-modal-content > .u-txt {
    width: calc(630vw / 7.5);
    top: calc(958vw / 7.5);
    right: 0;
    left: 0;
    margin: auto;
    font-size: calc(30vw / 7.5);
    line-height: 2;
  }
  .modal_present_flex_50 {
    margin-left: 0;
    margin-top: 20px;
  }
  .modal_present .u-modal-btn_close {
    border: 1.5px solid #fff;
    font-size: 1.5rem;
    margin: 30px auto 20px;
    padding: .7em 0 .8em;
    background: #fff;
    border-radius: 5px;
    max-width: 100%;
    color: #ee7836;
  }
  .modal_present .u-modal-btn_close .u-batsu:before,.modal_present  .u-modal-btn_close .u-batsu:after {
    background: #ee7836;
  }
}