@charset "UTF-8";
.noto-sans, .home-top-news, .home-top-news-link, .merumaga-target-text {
  font-family: "Hiragino Sans GB","Microsoft Yahei",SimSun,Arial,"Helvetica Neue",Helvetica;
}

.tsuku-b {
  font-family: "Hiragino Sans GB","Microsoft Yahei",SimSun,Arial,"Helvetica Neue",Helvetica;
}

@media screen and (min-width: 600px) {
  .fade, .home-partners-link {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .fade:hover, .home-partners-link:hover, .fade:focus, .home-partners-link:focus {
    opacity: 0.7;
  }
}

.img-scalein .imgbox {
  overflow: hidden;
}

.img-scalein .imgbox img {
  -webkit-transition: .4s;
  transition: .4s;
}

.img-scalein:hover .imgbox img, .img-scalein:focus .imgbox img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.svg-scalein svg image {
  -webkit-transition: .4s;
  transition: .4s;
}

.svg-scalein:hover svg image, .svg-scalein:focus svg image {
  width: 120%;
  height: 120%;
  y: -10%;
  x: -10%;
}

.dashed-top {
  position: relative;
}

.dashed-top::before {
  content: '';
  background-image: linear-gradient(to right, #514337, #514337 3px, transparent 3px, transparent 6px);
  background-size: 8px 1px;
  background-repeat: repeat-x;
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  top: 0;
}

.dashed-bottom {
  position: relative;
}

.dashed-bottom::before {
  content: '';
  background-image: linear-gradient(to right, #514337, #514337 3px, transparent 3px, transparent 6px);
  background-size: 8px 1px;
  background-repeat: repeat-x;
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  bottom: 0;
}

.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

.header-menu .nav-link {
  color: #fff;
}

#top .animation-clip-expansion .image {
  opacity: 0;
  -webkit-transition: 1s linear;
  transition: 1s linear;
}

#top .animation-clip-expansion .image.current {
  opacity: 1;
}

#top .anim-clip-01 {
  -webkit-transform: translateX(12vw);
          transform: translateX(12vw);
}

@media screen and (min-width: 600px) {
  #top .anim-clip-01 {
    -webkit-transform: translateX(9vw);
            transform: translateX(9vw);
    width: 100%;
    height: 100%;
  }
}

#top .anim-clip-01 svg {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

@media screen and (min-width: 600px) {
  #top .anim-clip-01 svg {
    -webkit-transform: scale(1);
            transform: scale(1);
    width: 100%;
    height: 100%;
  }
}

#top .anim-clip-01::before {
  background-image: url(../img/home/01-bg.png);
  width: 115%;
  height: 115%;
  margin-left: -10%;
  margin-top: -10%;
}

@media screen and (min-width: 600px) {
  #top .anim-clip-01::before {
    margin-left: -2%;
    margin-top: -3%;
    width: 100%;
    height: 100%;
  }
}

#top .anim-clip-02 {
  -webkit-transform: translateX(-18vw);
          transform: translateX(-18vw);
}

@media screen and (min-width: 600px) {
  #top .anim-clip-02 {
    -webkit-transform: translateX(-6vw);
            transform: translateX(-6vw);
    width: 100%;
    height: 100%;
  }
}

#top .anim-clip-02 svg {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

@media screen and (min-width: 600px) {
  #top .anim-clip-02 svg {
    -webkit-transform: scale(1);
            transform: scale(1);
    width: 100%;
    height: 100%;
  }
}

#top .anim-clip-02::before {
  background-image: url(../img/home/02-bg.png);
  width: 130%;
  height: 130%;
  margin-left: -12%;
  margin-top: -18%;
}

@media screen and (min-width: 600px) {
  #top .anim-clip-02::before {
    width: 108%;
    height: 108%;
    margin-left: -3%;
    margin-top: -8%;
  }
}

#top .anim-clip-03 {
  -webkit-transform: translateX(15vw);
          transform: translateX(15vw);
}

@media screen and (min-width: 600px) {
  #top .anim-clip-03 {
    width: 100%;
    height: 100%;
    -webkit-transform: translateX(7vw);
            transform: translateX(7vw);
  }
}

#top .anim-clip-03 svg {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
}

@media screen and (min-width: 600px) {
  #top .anim-clip-03 svg {
    -webkit-transform: scale(1);
            transform: scale(1);
    width: 100%;
    height: 100%;
  }
}

#top .anim-clip-03::before {
  background-image: url(../img/home/03-bg.png);
  width: 125%;
  height: 125%;
  margin-left: -12%;
  margin-top: -13%;
}

@media screen and (min-width: 600px) {
  #top .anim-clip-03::before {
    width: 100%;
    height: 100%;
    margin-left: -8%;
    margin-top: 0;
  }
}

#top .anim-clip-04 svg {
  width: 100%;
}

@media screen and (min-width: 600px) {
  #top .anim-clip-04 svg {
    -webkit-transform: translate(0, -1%);
            transform: translate(0, -1%);
    width: 54.41vw;
    height: 35.833vw;
  }
}

#top .anim-clip-04::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: translate(-1%, 3%);
          transform: translate(-1%, 3%);
  width: 85.86667vw;
  height: 82.93333vw;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url(../img/home/video-poster-wrapper-sp.svg);
}

@media screen and (min-width: 600px) {
  #top .anim-clip-04::after {
    background-image: url(../img/home/video-poster-wrapper.svg);
    width: 55.16667vw;
    height: 47.41667vw;
    margin-top: 0;
    margin-left: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

#top .anim-clip-05 svg {
  -webkit-transform: scale(2.1) translateX(-2.2vw);
          transform: scale(2.1) translateX(-2.2vw);
}

@media screen and (min-width: 600px) {
  #top .anim-clip-05 svg {
    -webkit-transform: scale(1) translateX(0);
            transform: scale(1) translateX(0);
    width: 72vw;
    height: 39.42vw;
  }
}

#top .anim-clip-05::before {
  background-image: url(../img/home/05-bg.png);
  width: 180%;
  height: 180%;
  margin-left: -48vw;
  margin-top: -53vw;
}

@media screen and (min-width: 600px) {
  #top .anim-clip-05::before {
    width: 85%;
    height: 85%;
    margin-left: 5vw;
    margin-top: 4vw;
  }
}

.home #header .header-menu .nav-item:hover::before {
  background-color: #e28f71;
}

.home-header::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.15);
  z-index: 9;
}

.home-header video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.home-header-inner {
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 99;
}

.home-title {
  font-size: 36px;
  font-size: 9.6vw;
  letter-spacing: 0.1em;
  line-height: 1.4;
  font-weight: normal;
}

.home-title span {
  display: block;
}

@media screen and (min-width: 600px) {
  .home-title {
    font-size: 60px;
    font-size: 5vw;
    letter-spacing: 0.17em;
    line-height: 1.25;
  }
}

@media screen and (min-width: 1200px) {
  .home-title {
    font-size: 20px;
    font-size: 2.75rem;
  }
}

.home-top-news {
  position: relative;
  background: #F7EDE9;
  height: 16vw;
}

@media screen and (min-width: 600px) {
  .home-top-news {
    height: 100px;
  }
}

.home-top-news-inner {
  width: 80vw;
  max-width: 445px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  position: relative;
}

@media screen and (min-width: 600px) {
  .home-top-news-inner {
    width: 480px;
  }
}

.home-top-news-list {
  width: 100%;
}

.home-top-news-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #fff;
  border-radius: 50px;
  overflow: hidden;
  font-size: 9px;
  font-size: 2.4vw;
  font-weight: bold;
  letter-spacing: 0.03em;
  height: 6.4vw;
}

@media screen and (min-width: 600px) {
  .home-top-news-link {
    font-weight: 500;
    font-size: 18px;
    font-size: 0.75rem;
    height: 27px;
  }
  .home-top-news-link:hover .home-top-news-text {
    background-color: #E9B3A0;
    color: #fff;
  }
}

.home-top-news-cat {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 18.33333%;
  background: #e28f71;
  color: #fff;
  padding-left: 2.93333vw;
}

@media screen and (min-width: 600px) {
  .home-top-news-cat {
    padding-left: 16px;
  }
}

.home-top-news-text {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 81.66667%;
  color: #e28f71;
  padding-left: 1.86667vw;
  position: relative;
  -webkit-transition: .2s;
  transition: .2s;
}

@media screen and (min-width: 600px) {
  .home-top-news-text {
    padding-left: 13px;
  }
}

.home-top-news-text::after {
  content: '≫';
  position: absolute;
  right: 4.8vw;
  top: 1.06667vw;
}

@media screen and (min-width: 600px) {
  .home-top-news-text::after {
    right: 18px;
    top: 4px;
  }
}

.home-heroes .btnbox {
  margin-top: 21.33333vw;
}

@media screen and (min-width: 600px) {
  .home-heroes .btnbox {
    margin-top: 9.16667vw;
  }
}

@media screen and (min-width: 1200px) {
  .home-heroes .btnbox {
    margin-top: 110px;
  }
}

.home-hero:first-of-type {
  padding-top: 13.33333vw;
}

@media screen and (min-width: 600px) {
  .home-hero:first-of-type {
    padding-top: 0;
  }
}

.home-hero:nth-of-type(n + 2) {
  margin-top: 34.66667vw;
}

@media screen and (min-width: 600px) {
  .home-hero:nth-of-type(n + 2) {
    margin-top: 10.83333vw;
  }
}

@media screen and (min-width: 1200px) {
  .home-hero:nth-of-type(n + 2) {
    margin-top: 130px;
  }
}

@media screen and (min-width: 600px) {
  .home-hero:nth-of-type(odd) .home-hero-textbox {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}

@media screen and (min-width: 600px) {
  .home-hero:nth-of-type(even) .home-hero-textbox {
    padding-left: 0;
    padding-right: 12.5vw;
    padding-left: 2.5vw;
  }
}

.home-hero-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (min-width: 600px) {
  .home-hero-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.home-hero-textbox {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-top: 13.33333vw;
  padding: 0 9.6vw;
}

@media screen and (min-width: 600px) {
  .home-hero-textbox {
    width: 50%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    margin-top: 0;
    padding-left: 12.5vw;
    padding-right: 2.5vw;
  }
}

@media screen and (min-width: 600px) {
  .home-hero-imgbox {
    width: 50%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
  }
}

.home-hero-title {
  font-size: 28px;
  font-size: 7.46667vw;
  letter-spacing: 0.12em;
  line-height: 1.42;
  text-align: center;
  font-weight: 400;
}

@media screen and (min-width: 600px) {
  .home-hero-title {
    font-size: 40px;
    font-size: 3.33333vw;
    text-align: left;
  }
}

@media screen and (min-width: 1200px) {
  .home-hero-title {
    font-size: 40px;
    font-size: 2.5rem;
  }
}

.home-hero-text {
  font-size: 15px;
  font-size: 4vw;
  letter-spacing: 0.06em;
  line-height: 2;
  margin-top: 9vw;
}

@media screen and (min-width: 600px) {
  .home-hero-text {
    font-size: 20px;
    font-size: 1.66667vw;
    margin-top: 3.75vw;
  }
}

@media screen and (min-width: 1200px) {
  .home-hero-text {
    font-size: 20px;
    font-size: 1.25rem;
    margin-top: 45px;
  }
}

.home-hero-illust img {
  width: 100%;
  max-width: none;
}

.home-hero-illust.illust-01 {
  margin: 0 auto;
  margin-top: 8vw;
  width: 57.33333vw;
}

@media screen and (min-width: 600px) {
  .home-hero-illust.illust-01 {
    width: 78%;
    margin-top: 3.33333vw;
    margin-left: 1vw;
  }
}

.home-hero-illust.illust-02 {
  margin-left: 2.13333vw;
  margin-top: 4.8vw;
  width: 75.73333vw;
}

@media screen and (min-width: 600px) {
  .home-hero-illust.illust-02 {
    width: 104.76%;
    margin-top: 3.5vw;
    margin-left: -2.5vw;
  }
}

.home-hero-illust.illust-03 {
  margin: 0 auto;
  margin-top: 5.86667vw;
  width: 63.2vw;
}

@media screen and (min-width: 600px) {
  .home-hero-illust.illust-03 {
    width: 81.42%;
    margin-top: 2.5vw;
    margin-left: 1.16667vw;
  }
}

.home-movie-thumb {
  position: relative;
}

.home-movie-thumb::before {
  -webkit-animation: none !important;
          animation: none !important;
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-66%, -38%);
          transform: translate(-66%, -38%);
  width: 9.06667vw;
  height: 9.06667vw;
  background-image: url(../img/common/icon-play.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 999;
}

@media screen and (min-width: 600px) {
  .home-movie-thumb::before {
    -webkit-transform: translate(-60%, -25%);
            transform: translate(-60%, -25%);
    width: 6vw;
    height: 6vw;
  }
}

@media screen and (min-width: 1200px) {
  .home-movie-thumb::before {
    width: 72px;
    height: 72px;
  }
}

.home-movie-wrapper {
  width: 100%;
  padding: 0 6.93333vw;
}

@media screen and (min-width: 600px) {
  .home-movie-wrapper {
    padding: 0;
    width: 56.5%;
    margin: 0 auto 10vw;
  }
}

.home-lab-imgbox {
  margin-top: 7.46667vw;
  padding: 0 6.93333vw;
}

@media screen and (min-width: 600px) {
  .home-lab-imgbox {
    margin-top: 3.75vw;
    padding: 0;
  }
}

@media screen and (min-width: 1200px) {
  .home-lab-imgbox {
    margin-top: 45px;
  }
}

.home-sns-imgbox {
  width: 10.13333vw;
  margin: 0 auto;
  margin-top: 6.66667vw;
}

@media screen and (min-width: 600px) {
  .home-sns-imgbox {
    width: 5vw;
    margin-top: 3.33333vw;
  }
}

@media screen and (min-width: 1200px) {
  .home-sns-imgbox {
    width: 60px;
    margin-top: 40px;
  }
}

.home-sns-imgbox img {
  width: 100%;
  max-width: none;
}

.home-product-imgbox {
  overflow: hidden;
  margin-top: 9.33333vw;
  height: 133.33333vw;
}

@media screen and (min-width: 600px) {
  .home-product-imgbox {
    margin-top: 4.16667vw;
    height: 51.66667vw;
  }
}

@media screen and (min-width: 1200px) {
  .home-product-imgbox {
    margin-top: 50px;
  }
}

.home-product .btnbox {
  margin-top: 16vw;
}

@media screen and (min-width: 600px) {
  .home-product .btnbox {
    margin-top: 3.75vw;
  }
}

.home-product-separator {
  margin-top: 10.66667vw;
}

@media screen and (min-width: 600px) {
  .home-product-separator {
    margin: 0 auto;
    margin-top: 5.83333vw;
    width: 94.83333vw;
  }
}

@media screen and (min-width: 1200px) {
  .home-product-separator {
    margin-top: 70px;
  }
}

.home-product-separator img {
  width: 112%;
  max-width: none;
  -webkit-transform: translateX(-5%);
          transform: translateX(-5%);
}

@media screen and (min-width: 600px) {
  .home-product-separator img {
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.home-product-separator + .mod-inner-1040 {
  margin-top: 10.66667vw;
}

@media screen and (min-width: 600px) {
  .home-product-separator + .mod-inner-1040 {
    margin-top: 6.25vw;
  }
}

@media screen and (min-width: 1200px) {
  .home-product-separator + .mod-inner-1040 {
    margin-top: 75px;
  }
}

.home-news .news-list {
  margin-top: 8vw;
}

@media screen and (min-width: 600px) {
  .home-news .news-list {
    margin-top: 5vw;
  }
}

@media screen and (min-width: 1200px) {
  .home-news .news-list {
    margin-top: 60px;
  }
}

.home-partners-link {
  display: block;
}

.home-partners-imgbox {
  margin: 0 auto;
  margin-bottom: 10.66667vw;
  width: 50.66667vw;
}

@media screen and (min-width: 600px) {
  .home-partners-imgbox {
    margin-bottom: 4.16667vw;
    width: 18.41667vw;
    max-width: 221px;
  }
}

@media screen and (min-width: 1200px) {
  .home-partners-imgbox {
    margin-bottom: 50px;
  }
}

.home-partners-imgbox img {
  width: 100%;
  max-width: none;
}

.home-partners-list {
  margin-top: 10.66667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 600px) {
  .home-partners-list {
    margin-top: 5vw;
  }
}

@media screen and (min-width: 1200px) {
  .home-partners-list {
    margin-top: 60px;
  }
}

.home-partners-item:nth-of-type(n + 2) {
  margin-left: 6.4vw;
}

@media screen and (min-width: 600px) {
  .home-partners-item:nth-of-type(n + 2) {
    margin-left: 3vw;
  }
}

@media screen and (min-width: 1200px) {
  .home-partners-item:nth-of-type(n + 2) {
    margin-left: 36px;
  }
}

.home-partners .mod-read {
  text-align: left;
  padding: 0 6.93333vw;
}

@media screen and (min-width: 600px) {
  .home-partners .mod-read {
    padding: 0 2.16667vw;
  }
}

@media screen and (min-width: 1200px) {
  .home-partners .mod-read {
    padding: 26px 0;
  }
}

/* float-banner */
.float-banner img {
  width: 100%;
}

.merumaga-trigger,
.merumaga-target {
  text-align: center;
  color: #fff;
}

.merumaga-trigger a,
.merumaga-target a {
  color: #fff;
}

.merumaga-banner-group {
  position: relative;
}

.merumaga-trigger {
  position: absolute;
  z-index: 99;
  bottom: 5.33333vw;
  right: 5.33333vw;
  width: 20vw;
  height: 20vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: transparent;
  border: 0;
}

@media screen and (min-width: 600px) {
  .merumaga-trigger {
    bottom: 3.33333vw;
    right: 3.33333vw;
    width: 10vw;
    height: 10vw;
  }
}

@media screen and (min-width: 1200px) {
  .merumaga-trigger {
    bottom: 40px;
    right: 40px;
    width: 120px;
    height: 120px;
  }
}

.merumaga-trigger .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-mask-image: url(../img/common/merumaga-trigger-bg.svg);
          mask-image: url(../img/common/merumaga-trigger-bg.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background: rgba(226, 143, 113, 0.85);
  -webkit-transition: .4s ease-in-out;
  transition: .4s ease-in-out;
}

.merumaga-trigger:hover .bg {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.merumaga-trigger-inner {
  position: relative;
}

.merumaga-trigger-fp {
  width: 4.8vw;
  height: 4.8vw;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 600px) {
  .merumaga-trigger-fp {
    width: 2.33333vw;
    height: 2.33333vw;
  }
}

@media screen and (min-width: 1200px) {
  .merumaga-trigger-fp {
    width: 28px;
    height: 28px;
  }
}

.merumaga-trigger-text {
  font-size: 18px;
  font-size: 3.2vw;
  letter-spacing: .05em;
  line-height: 1.1;
  margin-top: 1.06667vw;
  white-space: nowrap;
}

@media screen and (min-width: 600px) {
  .merumaga-trigger-text {
    font-size: 18px;
    font-size: 1.5vw;
    margin-top: 0.33333vw;
  }
}

@media screen and (min-width: 1200px) {
  .merumaga-trigger-text {
    font-size: 18px;
    font-size: 1.125rem;
    margin-top: 4px;
  }
}

.merumaga-target {
  visibility: hidden;
  -webkit-transition: .3s;
  transition: .3s;
  position: absolute;
  z-index: 99;
  bottom: 24vw;
  right: 13.33333vw;
  width: 66.66667vw;
  height: 58.66667vw;
}

.merumaga-target.show {
  visibility: visible;
}

@media screen and (min-width: 600px) {
  .merumaga-target {
    bottom: 12.5vw;
    right: 10.83333vw;
    width: 25vw;
    height: 20.5vw;
  }
}

@media screen and (min-width: 1200px) {
  .merumaga-target {
    bottom: 150px;
    right: 130px;
    width: 300px;
    height: 246px;
  }
}

.merumaga-target .merumaga-banner-s {
  background-image: url(../img/common/merumaga-banner-s.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 4.26667vw;
  height: 3.73333vw;
  position: absolute;
  right: 8vw;
  bottom: 2vw;
  opacity: .85;
}

@media screen and (min-width: 600px) {
  .merumaga-target .merumaga-banner-s {
    width: 1.58333vw;
    height: 1.41667vw;
    bottom: 0;
    right: 2vw;
  }
}

@media screen and (min-width: 1200px) {
  .merumaga-target .merumaga-banner-s {
    width: 19px;
    height: 17px;
    right: 24px;
  }
}

.merumaga-target .merumaga-banner-body {
  position: relative;
  width: 66.66667vw;
  height: 53.33333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 600px) {
  .merumaga-target .merumaga-banner-body {
    width: 25vw;
    height: 20vw;
  }
}

@media screen and (min-width: 1200px) {
  .merumaga-target .merumaga-banner-body {
    width: 300px;
    height: 240px;
  }
}

.merumaga-target .merumaga-banner-body .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-mask-image: url(../img/common/merumaga-banner-bg.svg);
          mask-image: url(../img/common/merumaga-banner-bg.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background: rgba(226, 143, 113, 0.85);
  -webkit-transition: .4s ease-in-out;
  transition: .4s ease-in-out;
}

.merumaga-target .merumaga-banner-body:hover .bg, .merumaga-target .merumaga-banner-body:focus .bg {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.merumaga-target-inner {
  position: relative;
}

.merumaga-target-logo, .merumaga-target-arrow {
  margin-left: auto;
  margin-right: auto;
}

.merumaga-target-logo {
  width: 14.66667vw;
}

@media screen and (min-width: 600px) {
  .merumaga-target-logo {
    width: 5.5vw;
  }
}

@media screen and (min-width: 1200px) {
  .merumaga-target-logo {
    width: 66px;
  }
}

.merumaga-target-title {
  font-size: 18px;
  font-size: 4.8vw;
  margin-top: 2.66667vw;
  letter-spacing: .12em;
}

@media screen and (min-width: 600px) {
  .merumaga-target-title {
    font-size: 21px;
    font-size: 1.75vw;
    margin-top: 1.16667vw;
  }
}

@media screen and (min-width: 1200px) {
  .merumaga-target-title {
    font-size: 21px;
    font-size: 1.3125rem;
    margin-top: 14px;
  }
}

.merumaga-target-text {
  font-size: 11px;
  font-size: 2.93333vw;
  letter-spacing: .12em;
  line-height: 1.5;
  margin-top: 2.66667vw;
  font-weight: bold;
}

@media screen and (min-width: 600px) {
  .merumaga-target-text {
    font-size: 11px;
    font-size: 0.91667vw;
    margin-top: 1.16667vw;
  }
}

@media screen and (min-width: 1200px) {
  .merumaga-target-text {
    font-size: 11px;
    font-size: 0.6875rem;
    margin-top: 14px;
  }
}

.merumaga-target-arrow {
  width: 5.33333vw;
  margin-top: 4.8vw;
}

@media screen and (min-width: 600px) {
  .merumaga-target-arrow {
    width: 2.08333vw;
    margin-top: 1.33333vw;
  }
}

@media screen and (min-width: 1200px) {
  .merumaga-target-arrow {
    width: 25px;
    margin-top: 16px;
  }
}

.float-banner {
  bottom: 40px;
  right: 0;
  position: fixed;
  z-index: 99;
  -webkit-transition: bottom .3s;
  transition: bottom .3s;
}

.float-banner.fixed {
  bottom: 0;
}

.float-banner.end {
  position: relative;
  -webkit-transition: bottom 0s;
  transition: bottom 0s;
  bottom: 20px;
}

.section {
  position: relative;
}

.section.home-movie {
  height: 144vw;
}

@media screen and (min-width: 600px) {
  .section.home-movie {
    height: auto;
  }
}

.section-2 .fp-top,
.section-2 .fp-bottom, .section-4 .fp-top,
.section-4 .fp-bottom, .section-6 .fp-top,
.section-6 .fp-bottom {
  position: absolute;
  z-index: 20;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
}

.section-2 .fp-top svg,
.section-2 .fp-bottom svg, .section-4 .fp-top svg,
.section-4 .fp-bottom svg, .section-6 .fp-top svg,
.section-6 .fp-bottom svg {
  fill: #E1C3B5;
  width: 100%;
  height: auto;
}

.section-2 .fp-top, .section-4 .fp-top, .section-6 .fp-top {
  top: 0;
  left: -21.33333vw;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.section-2 .fp-top svg, .section-4 .fp-top svg, .section-6 .fp-top svg {
  width: 66.4vw;
  height: 31.46667vw;
}

@media screen and (min-width: 600px) {
  .section-2 .fp-top, .section-4 .fp-top, .section-6 .fp-top {
    left: 0;
  }
  .section-2 .fp-top svg, .section-4 .fp-top svg, .section-6 .fp-top svg {
    width: 41.5vw;
    height: 19.66667vw;
  }
}

@media screen and (min-width: 1200px) {
  .section-2 .fp-top svg, .section-4 .fp-top svg, .section-6 .fp-top svg {
    width: 498px;
    height: 236px;
  }
}

.section-2 .fp-bottom, .section-4 .fp-bottom, .section-6 .fp-bottom {
  bottom: 15px;
  right: -21.33333vw;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.section-2 .fp-bottom svg, .section-4 .fp-bottom svg, .section-6 .fp-bottom svg {
  width: 78.93333vw;
  height: 35.46667vw;
}

@media screen and (min-width: 600px) {
  .section-2 .fp-bottom, .section-4 .fp-bottom, .section-6 .fp-bottom {
    right: 0;
    bottom: 30px;
  }
  .section-2 .fp-bottom svg, .section-4 .fp-bottom svg, .section-6 .fp-bottom svg {
    width: 49.33333vw;
    height: 22.25vw;
  }
}

@media screen and (min-width: 1200px) {
  .section-2 .fp-bottom, .section-4 .fp-bottom, .section-6 .fp-bottom {
    bottom: 55px;
  }
  .section-2 .fp-bottom svg, .section-4 .fp-bottom svg, .section-6 .fp-bottom svg {
    width: 592px;
    height: 267px;
  }
}

.sns-coming-soon {
  margin-top: 10.13333vw;
  width: 67.2vw;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 600px) {
  .sns-coming-soon {
    margin-top: 4.66667vw;
    width: 295px;
  }
}

@media screen and (min-width: 1200px) {
  .sns-coming-soon {
    margin-top: 56px;
  }
}
