@charset "UTF-8";
img {
  width: 100%;
}
.motion_blur {
  filter: blur(25px);
  transition: all 0.8s ease-in;
}
.is_animed {
  filter: blur(0px);
}

.products-kv-main-img {
  animation: blur 1s 1.2s ease forwards;
  opacity: 0;
}
@keyframes blur {
  0% {
    opacity: 0;
    filter: blur(25px);
  }
  100% {
    opacity: 1;
    filter: blur(0px);
  }
}


/* kv
//* -------------------------------------------------- */
.products-kv:before {
  background: url(../images/fantasia/line.png) center repeat-x;
  background-size: auto 100%;
}
.products-kv:after {
  background: url(../images/fantasia/line.png) center repeat-x;
  background-size: auto 100%;
  transform: scale(1, -1);
}
.products-kv-main {
  background: #032969 url(../images/fantasia/bg_kv.png) top -3vw center no-repeat;
  background-size: 100% auto;
  height: calc(630vw / 14);
}
.products-kv-main-logo {
  width: calc(375vw / 14);
  right: calc(200vw / 14);
  top: calc(45vw / 14);
}
.products-kv-main-txt {
  width: calc(394vw / 14);
  right: calc(190vw / 14);
  top: calc(150vw / 14);
}
.products-kv-main-img {
  width: calc(797vw / 14);
  left: 0%;
  bottom: calc(0vw / 14);
}
.products-kv-nav {
  background: #a90037;
  color: #fff;
  padding: 60px 0;
  text-align: center;
}
.products-kv-nav ul {
  width: 90%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.products-kv-nav ul li {
  margin: 0 2%;
  width: calc(90%/3);
}
.products-kv-nav ul a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.products-kv-nav p {
  margin: 0.5em auto;
  font-size: 1.4rem;
  font-size: calc(14vw / 14);
  color: #fff;
}
.products-kv-nav .u-hoverButton {
  margin-top: auto;
  background-color: #ce3164;
  color: #fff;
  width: calc(260vw /14);
  font-size: 1.2rem;
  font-size: calc(12vw / 14);
}
.products-kv-nav .u-hoverButton_in {
    border: 1px solid #a90037;
}
.products-kv-nav .u-hoverButton_in:after {
    width: 6px;
    height: 12px;
    transform: rotate(90deg);
}

@media screen and (min-width: 1px) and (min-width: 769px) {
.products-kv-main:before {
    width: 7.1vw;
    background: url(../images/fantasia/img_hashira.png) no-repeat;
    background-size: 100% auto;
    left: -1.286vw;
}
.products-kv-main:after {
    width: 7.1vw;
    height: 100%;
    background: url(../images/fantasia/img_hashira.png) no-repeat;
    background-size: 100% auto;
    right: -1.286vw;
}
}
@media screen and (min-width: 1px) and (max-width: 768px) {
.products-kv-main {
  background: #032969 url(../images/fantasia/bg_kv_sp.png) top -10vw center no-repeat;
  background-size: 100% auto;
  height: calc(752vw / 7.5);
  margin-bottom: calc(531vw / 7.5);
}
.products-kv-main:after,
.products-kv-main:before {
  background: url(../images/fantasia/img_hashira_sp.png) no-repeat;
  background-size: 100% auto;
  width: 13.167vw;
}
.products-kv-main-logo {
  width: calc(394vw / 7.5);
  right: 0;
  left: 0;
  margin: auto;
  top: calc(30vw / 7.5);
  z-index: 2;
}
.products-kv-main-img {
  width: calc(430vw / 7.5);
  left: -10vw;
  right: 0;
  margin: auto;
  bottom: 0;
}
.products .products-kv-main-txt {
  background: url(../images/fantasia/bg_copy_sp.png) no-repeat;
  background-size: cover;
  height: calc(531vw / 7.5);
  bottom: calc(-531vw / 7.5);
  left: 0;
}
.products .products-kv-main-txt picture {
  margin-top: calc(-200vw / 7.5);
}
.products-kv-main-txt p {
  top: -33vw;
  width: 105%;
  left: -2.5%;
}
.products-kv-nav {
  margin-top: -2px;
  padding: 10px 0 60px;
}
.products-kv-nav ul {
  width: 86%;
  display: block;
}
.products-kv-nav ul li {
    margin: 40px auto 0;
    display: block;
    width: 100%;
}
.products-kv-nav ul a {
  display: block;
  height: auto;
}
.products-kv-nav p {
  font-size: 1.4rem;
}
.products-kv-nav .u-hoverButton {
  font-size: 1.2rem;
  width: 100%;
}
.products-kv-nav .u-hoverButton {
  max-width: 260px;
  margin-top: 1em;
}
}


/* products-lineup
//* -------------------------------------------------- */
.products-lineup {
  margin-top: -2px;
}
.products-lineupkv {
  background: #032969 url(../images/fantasia/bg_starrysky.webp) repeat-y;
  background-size: 100% auto;
}
.products-cake {
  padding-bottom: 37px;
  position: relative;
}
.products-cake:after {
  display: block;
  content: '';
  position: absolute;
  width: 100%;
  height: 37px;
  background: #fff;
  background-size: auto 100%;
  bottom: 1px;
  left: 0;
  background: url(../images/fantasia/line.png) center repeat-x;
  background-size: auto 100%;
}
.products-lineuptop-txt {
  color: #fff;
}
.products-lineupkv > picture {
  padding-top: 60px;
}

.products-character02 {
  position: absolute;
  width: calc(381vw / 14);
  right: 2vw;
  top: 0vw;
}
.products-character03 {
  position: absolute;
  width: calc(381vw / 14);
  left: 2.5vw;
  bottom: 3.5vw;
}
@media screen and (min-width: 1px) and (min-width: 769px) {
.products-lineuptop-txts {
  max-width: 380px;
}
}

.products-lineupmain {
  background: #21427a;
}
.products-lineupmain .u-hoverButton {
  background-color: #dac481;
}
.products-lineupbottom .u-hoverButton_in,
.products-info .u-hoverButton_in {
  border-color: #465c7b;
}
.products-character {
  max-width: 500px;
  width: 42.857vw;
  left: 40px;
  left: 2.857vw;
  top: -105px;
  top: -6.5vw;
}
.products-slide .slick-next:before, .products-slide .slick-prev:before {
  background: url(../images/fantasia/ico_arrow_en.svg) no-repeat;
  background-size: 100% auto;
}
.products-lineupmain-block {
  background: #345999;
  position: relative;
  color: #fff;
}
.products-lineupmain-block01:before {
  background: url(../images/fantasia/block01-t.png) no-repeat;
  background-size: 100% auto;
  display: block;
  content: '';
  position: absolute;
  top: calc(20vw / 14);
  right: calc(20vw / 14);
  width: calc(303vw / 14);
  height: calc(276vw / 14);
  pointer-events: none; 
  z-index: 0;
}
.products-lineupmain-block01:after {
  background: url(../images/fantasia/block01-b.png) no-repeat;
  background-size: 100% auto;
  display: block;
  content: '';
  position: absolute;
  bottom: calc(80vw / 14);
  left: calc(20vw / 14);
  width: calc(231vw / 14);
  height: calc(351vw / 14);
  pointer-events: none; 
  z-index: 0;
}
.products-lineupmain-block02:before {
  background: url(../images/fantasia/block02-t.png) no-repeat;
  background-size: 100% auto;
  display: block;
  content: '';
  position: absolute;
  top: calc(40vw / 14);
  right: calc(40vw / 14);
  width: calc(208vw / 14);
  height: calc(196vw / 14);
  pointer-events: none; 
  z-index: 0;
}
.products-lineupmain-block02:after {
  background: url(../images/fantasia/block02-b.png) no-repeat;
  background-size: 100% auto;
  display: block;
  content: '';
  position: absolute;
  bottom: calc(50vw / 14);
  left: calc(20vw / 14);
  width: calc(283vw / 14);
  height: calc(287vw / 14);
  pointer-events: none; 
  z-index: 0;
}
.product-material_btn {
  color: #fff;
}
.product-material_btn:after {
  border-color: #fff;
}
.product-material_btn span:before,
.product-material_btn span:after {
  background: #fff;
}
.product-lineupbottom-sub {
  color: #fff;
  text-align: center;
  font-size: 1rem;
  margin-top: 5px;
  display: block;
}

@media screen and (min-width: 1px) and (min-width: 769px) {
.products-lineupmain-block {
  padding: 60px 0 120px;
}
.products-lineupmain-block-inner {
  margin-left: auto;
  margin-right: auto;
  width: 44%;
}
.product-lineupbottom-btn {
  margin-left: auto;
}
.product-material {
  margin-left: auto;
  margin-right: auto;
  width: fit-content;
}
.products-lineup .products-slide {
  max-width: 610px;
  width: 43.571vw;
}
.products-lineup .products-slide .slick-list {
  max-width: 610px;
  width: 43.571vw;
  padding: 0.571vw 0 0;
}
.products-lineup .products-slide-thumbnail.products-slide-thumbnail_min9 .slick-track {
  max-width: 610px;
}
.products-lineup .products-thumbnail-img {
  width: 52px !important;
  margin: 7px 7px 0;
}
}
@media screen and (min-width: 1px) and (max-width: 768px) {
.products-lineupkv {
  background: #032969 url(../images/fantasia/bg_starrysky_sp.webp) repeat-y;
  background-size: 100% auto;
}
.products-lineupkv > picture {
  padding-top: 0px;
}
.products-lineupbottom {
    padding: 50px 0 70px;
}
.products-lineupmain-block01:before,
.products-lineupmain-block01:after,
.products-lineupmain-block02:before,
.products-lineupmain-block02:after {
  display: none;
}
}

/* products-special
//* -------------------------------------------------- */
.products-special {
  background: #032969 url(../images/fantasia/bg_starrysky.png) repeat-y;
  background-size: 100% auto;
  position: relative;
}
.products-special-block {
  z-index: 1;
}
.products-special-block:before {
  background: url(../images/fantasia/bg_special-block_middle.png) repeat-y top;
  background-size: 100% auto;
}
.products-special-blockinner {
  background: url(../images/fantasia/bg_special-block_top.png) no-repeat top, url(../images/fantasia/bg_special-block_bottom.png) no-repeat bottom;
  background-size: 100% auto;
}
.products-special-blockinner > div:nth-of-type(n+2) {
  margin-top: 120px;
}
.products-special-block .products-slide-thumbnail.products-slide-thumbnail_min9 .slick-track {
  padding-left: 19px;
}
.products-special-top {
  color: #fff;
}
.products-special-top .products-slide:before {
  background: url(../images/fantasia/bg_slider-special.png) no-repeat;
  background-size: 100% auto;
}
.products-special-bottom {
  background: #d5c07f;
}
.products-special-lists {
  border-color: #b4973c;
  color: #000;
  padding: 40px 5% 35px;
}
.tab-txt a,
.products-special-onlineshop a {
  color: #000;
}
.js-accordiontab::before, .js-accordiontab::after {
  background-color: #fff;
}
.products-special-onlineshop a:after {
  background: url(../images/fantasia/ico_arrow.svg) no-repeat;
  background-size: 100% auto;
}
.products-special-lists li {
  border-color: #fff;
}
.tab-box:after {
  border-color: #fff;
}
.products-special .products-slide .slick-next:before, .products-special .products-slide .slick-prev:before {
  background: url(../images/fantasia/ico_arrow_Rb.svg) no-repeat;
  background-size: 100% auto;
}
.products-special-sub {
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
  margin-top: 10px;
  display: block;
}

@media screen and (min-width: 1px) and (min-width: 769px) {
  .products-special-blockinner {
    padding-top: 120px;
  }
  .products-thumbnail-img {
    width: 37px !important;
    margin: 7px 4px 0;
  }
  .products-special-blockinner > div:nth-of-type(n+2) {
    margin-top: 180px;
  }
}
@media screen and (min-width: 1px) and (max-width: 768px) {
.products-special {
  background: #032969 url(../images/fantasia/bg_starrysky_sp.png) repeat-y;
  background-size: 100% auto;
}
.products-special:after {
  display: none;
}
.products-special:before {
  background-size: 150px auto;
  background: none;
}
.products-special-block:before {
  background: url(../images/fantasia/bg_special-block_middle_sp.png) repeat-y top;
  background-size: 100% auto;
  height: calc(100% - 100px - 100px);
}
.products-special-blockinner {
  background: url(../images/fantasia/bg_special-block_top_sp.png) no-repeat top, url(../images/fantasia/bg_special-block_bottom_sp.png) no-repeat bottom;
  background-size: 100% auto;
  padding: 70px 3% 70px;
}
.products-special-blockinner > div:nth-of-type(n+2) {
  margin-top: 60px;
}
.products-special-block .products-slide-thumbnail.products-slide-thumbnail_min9 .slick-track {
  padding-left: 5px;
  max-width: 288px;
}
.products-special-lists {
  padding: 25px 5% 25px;
}
}

/* contact
//* -------------------------------------------------- */
.products-contact {
  padding: 150px 0 150px;
  background: #a90037;
  color: #fff;
}
.products-contact a {
  color: #fff;
}
.products-contact-inner {
  margin-left: 0;
}
.products-contact-img {
  width: calc(403vw / 14);
  height: calc(431vw / 14);
  max-width: 403px;
  max-height: 431px;
  position: absolute;
  bottom: 0;
  top: 0;
  margin: auto;
  left: 55%;
}
@media screen and (min-width: 1px) and (min-width: 769px) {
  .products-contact-board {
    margin-left: 0;
  }
}
@media screen and (min-width: 1px) and (max-width: 768px) {
  .products-contact {
    padding: calc(600vw / 7.5) 0 60px;
  }
  .products-contact .u-inner {
    width: 86%;
    width: fit-content;
  }
  .products-contact-img {
    display: block;
    width: calc(575vw / 7.5);
    height: calc(617vw / 7.5);
    top: calc(30vw / 7.5);
    left: 0;
    right: 0;
    bottom: inherit;
  }
  .products-contact-inner {
    margin-left: auto;
    position: relative;
    z-index: 2;
  }
}

