@charset "utf-8";
/*
Theme Name: nishimu246
*/
body {
  position: relative;
  width: 100vw;
  background-color: #f7fae1;
}

.mv {
  width: calc(100% - 20rem);
  height: 80vh;
}

.mv #video_mv {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: flex;
  align-items: center;
}
.mv #video_mv img {
  object-fit: contain;

  width: 92%;
  height: 92%;
  margin: auto;
}

.mv #video_mv_sp {
  display: none;
}
/* .mv::after {
  content: "";
   background-image: url("../img/test.gif");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
} */
.wrapper {
  width: 100%;
  position: relative;
  background-color: #f7e3c8;
  margin-top: 140px;
  padding-bottom: 80px;
}

.wrapper-info {
  width: calc(100% - 20rem);
  height: 39rem;
  margin: 0 auto 0 0;
  max-width: 150rem;
  padding: 5% 0 0;
  display: flex;
  transition: 0.1s;
  opacity: 0;
  visibility: hidden;
  animation: scrwrapper 0.01s 0.3s forwards;
  position: relative;
}
.info-box {
  width: 70%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  height: 30rem;
}
.wrapper::before {
  position: absolute;
  display: block;
  content: "";
  top: -13%;
  left: 0;
  background-image: url("img/top_shape.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 20%;
}
@keyframes scrwrapper {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
.wrapper-info.scroll-in {
  opacity: 1;
  visibility: visible;
}
.left-wrapper {
  max-width: 32rem;
  width: 30%;
  position: relative;
}
.left-wrapper .sns-logo {
  display: flex;
  justify-content: center;
}
.sns-logo .twi {
  width: 30%;
}
.sns-logo .twi svg,
.sns-logo .insta svg {
  transition: 0.3s;
  fill: #7f4600;
  width: 4rem;
  height: 4rem;
}
.sns-logo .insta svg path {
  width: 100%;
}
.sns-logo .twi:hover svg,
.sns-logo .insta:hover svg {
  fill: #07a3ce;
}

.sns-logo .insta {
  width: 30%;
}

.illust {
  max-width: 32rem;
  width: 20rem;
  text-align: center;

  z-index: 9999;
  position: absolute;
  top: -20rem;
}

.illust.backPosition {
  animation: illustAnime 1.5s forwards ease-in-out;
}
@keyframes illustAnime {
  0% {
    position: absolute;
    top: -20rem;
  }

  100% {
    top: 0;
  }
}
.illust img {
  width: 80%;
}
.main-wrapper {
  width: 70%;
  margin: auto;
  color: #754d08;
}

.main-wrapper .ttl h1 {
  font-size: 3.2rem;
  font-weight: bold;

  margin-bottom: 2rem;
}

.main-wrapper .ttl p {
  font-size: 2rem;
}
.main-wrapper .txt p {
  font-size: 1.6rem;
  line-height: 1.5;
  margin: 0 0 2.4rem;
}
.main-wrapper .description h3 {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.main-wrapper .description p {
  font-size: 1.6rem;
  line-height: 1.5;
}

.main-wrapper .description h3 {
  position: relative;
}
.main-wrapper .description h3::after {
  content: "";
  height: 0.1rem;
  background-image: linear-gradient(
    to right,
    #744c08,
    #744c08 4px,
    transparent 4px,
    transparent 8px
  );
  background-size: 8px 4px;
  background-repeat: repeat-x;
  background-position: left center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 5rem;
  right: 0;
  margin: auto;
}

.wrapper-bottom {
  width: calc(100% - 20rem);
  margin: 0 auto 0 0;
}
.wrapper-bottom .btns {
  width: 66%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.wrapper-bottom .btns .btn {
  width: 50%;
  height: 6.4rem;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  text-align: center;
  border-radius: 6.4rem;
}
.wrapper-bottom .btns #works-btn {
  background-color: #d7ae0a;
  transition: 0.3s;
  border: 0.1rem solid #d7ae0a;
  color: #fff;
}
.wrapper-bottom .btns #works-btn a {
  display: flex;
  justify-content: center;
}
.wrapper-bottom .btns #works-btn a svg {
  margin-right: 0.6rem;
}
.wrapper-bottom .btns #works-btn:hover {
  background-color: #fff;
  border: 0.1rem solid #d7ae0a;
}
.wrapper-bottom .btns #works-btn:hover svg path {
  fill: #d7ae0a;
}
.wrapper-bottom .btns #works-btn:hover p {
  color: #d7ae0a;
}

.wrapper-bottom .btns #private-btn {
  transition: 0.3s;
  background-color: #eb4217;
  color: #fff;
  border: 0.1rem solid #eb4217;
}
.wrapper-bottom .btns #private-btn:hover {
  color: #eb4217;
  background-color: #fff;
  border: 0.1rem solid #eb4217;
  fill: #eb4217;
}
.wrapper-bottom .btns #private-btn a {
  display: flex;
  justify-content: center;
}
.wrapper-bottom .btns #private-btn:hover a svg path {
  fill: #eb4217;
}
.wrapper-bottom .btns #private-btn:hover a svg path#totte {
  stroke: #eb4217;
}

.wrapper-bottom .btns #private-btn a svg {
  margin-right: 3px;
}

.wrapper-bottom .btns .btn:nth-last-of-type(2) {
  margin-right: 2rem;
}
.wrapper-bottom .btns .btn a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 2rem;
  font-weight: bold;
}

.main-wrapper .img-link {
  width: 100%;
}

.main-wrapper .img-link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.wrapper-bottom .wrapper-img {
  max-width: 100rem;
  width: 66%;
  height: 100%;
  margin: 0 auto;
  margin-bottom: 5.6rem;
}
.wrapper-img-sp {
  display: none;
}

.wrapper-bottom .wrapper-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (min-width: 1500px) {
  .main-wrapper .ttl h1 {
    font-size: 4.8rem;
    font-weight: bold;
    margin-bottom: 2rem;
  }
  .wrapper-info {
    width: calc(100% - 20rem);
    margin: 0 auto 5.6rem auto;
    height: auto;
    max-width: 150rem;
    padding: 5% 0 0;
    display: flex;
    justify-content: center;
    transition: 0.1s;
    opacity: 0;
    visibility: hidden;
    animation: scrwrapper 0.01s 0.3s forwards;
    position: relative;
  }
  .left-wrapper {
    width: 25%;
  }

  .illust img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .main-wrapper .ttl p {
    font-size: 2.4rem;
  }
  .main-wrapper .txt p {
    font-size: 2rem;
    line-height: 1.5;
    margin: 0 0 2.8rem;
  }
  .main-wrapper .description h3 {
    font-size: 2.6rem;
    font-weight: bold;
    margin-bottom: 1.4rem;
  }

  .main-wrapper .description p {
    font-size: 2rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 1040px) {
  .mv {
    width: calc(100% - 16rem);
  }
  .mv #video_mv {
    margin-top: 4rem;
    object-fit: cover;
  }
  .wrapper::before {
    top: -10%;
  }
  .wrapper {
    width: 100%;
  }
  .wrapper-info {
    width: calc(100% - 16rem);
    margin: 0 auto 4rem 0;
  }
  .info-box {
    display: flex;
    /* padding: 6% 4%; */
    width: 100%;
    height: 32rem;
  }
  .wrapper-bottom {
    width: calc(100% - 16rem);
  }
  .wrapper-bottom .wrapper-img {
    width: 90%;
    margin: 0 auto 4.8rem;
  }
  .wrapper-bottom .btns {
    width: 90%;
  }
  .illust {
    width: 100%;
    text-align: center;
    margin: auto;
    margin-bottom: 1.6rem;
  }
  .illust img {
    width: 70%;
  }
  .left-wrapper {
    max-width: 31rem;
    width: 48%;
    height: 30rem;
  }
  .main-wrapper .txt p {
    font-size: 1.4rem;
  }
  .main-wrapper {
    width: 63%;
    /* margin: 3.2rem; */
  }
  .main-wrapper .btns .btn {
    height: 6rem;
    font-size: 1.4rem;
  }
  .main-wrapper .ttl {
    display: flex;
    align-items: flex-end;
  }
}
@media screen and (max-width: 800px) {
  .main-wrapper .description h3::before {
    z-index: -1;
    width: 5.6rem;
    content: "";
    background: #f7e3c8;
    background-size: 30% 1%;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  .main-wrapper .description h3::after {
    z-index: -2;
    content: "";
    height: 0.1rem;
    background-image: linear-gradient(
      to right,
      #744c08,
      #744c08 4px,
      transparent 4px,
      transparent 8px
    );
    background-size: 8px 4px;
    background-repeat: repeat-x;
    background-position: left center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  .mv {
    width: 100vw;
    height: 100vh;
    position: relative;
  }
  .mv #video_mv {
    display: none;
  }
  .mv #video_mv_sp {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    margin-top: 0;
    object-fit: contain;
    /* margin-top: 10rem; */
  }
  .mv #video_mv_sp img {
    width: 88%;
    height: 88%;
    object-fit: contain;
  }

  /* .mv::after {
    content: "";
    margin-top: 0;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100vw;
    height: 100%;
  } */
  .main-wrapper .btns .btn:nth-last-of-type(2) {
    margin-right: 1.2rem;
  }
  .wrapper {
    width: 100%;
  }
  .wrapper::before {
    top: -5.5%;
  }
  .wrapper-info {
    height: auto;
    width: 100%;
    margin: auto;
    /* padding: 8% 4% 10%; */
  }
  .info-box {
    display: block;
    margin-bottom: 4rem;
    height: auto;
  }
  .left-wrapper {
    max-width: 31rem;
    width: 94%;
    margin: auto;
    height: auto;
  }
  .illust {
    width: 56%;
    text-align: center;
    margin: auto;
    position: sticky;
  }
  .illust img {
    width: 100%;
  }
  .main-wrapper .txt p {
    font-size: 1.4rem;
  }
  .main-wrapper {
    width: 88%;
    margin: 0 auto;
    /* margin-top: 3rem; */
    padding: 0;
  }
  .main-wrapper .btns .btn {
    height: 6rem;
    font-size: 1.4rem;
  }
  .main-wrapper .btns .btn a {
    line-height: 6rem;
    padding: 0;
  }
  .main-wrapper .ttl {
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
  .main-wrapper .ttl h1 {
    font-size: 3.6rem;
    font-weight: bold;
  }
  .main-wrapper .txt {
    text-align: center;
  }
  .description {
    text-align: center;
  }
  .wrapper-bottom {
    width: 100%;
  }
  .wrapper-bottom .wrapper-img {
    width: 88%;
  }
}

@media screen and (max-width: 640px) {
  .wrapper {
    width: 100%;
  }
  .mv {
    width: 100%;
    height: 100vh;
  }
  .mv #video_mv {
    object-fit: cover;
    margin-top: 0;
    height: 100%;
  }
  /* .mv::after {
    
    content: "";
    margin-top: 0;
    background-image: url("../img/test_sp.gif");
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: -20%;
    left: 0;
    z-index: 2;
    width: 100%;
    height: calc(100vh + 20%);
  } */
}

@media screen and (max-width: 520px) {
  .mv #video_mv {
    object-fit: cover;
    margin-top: 0;
    height: 100%;
  }
  /* .mv::after {
    display: none;
    content: "";
    margin-top: 0;
    background-image: url("../img/test_sp.gif");
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: -15%;
    left: 0;
    z-index: 2;
    width: 100%;
    height: calc(100vh + 15%);
  } */
  .main-wrapper {
    margin-top: 1.6rem;
  }
  .wrapper::before {
    top: -3%;
  }

  .illust {
    width: 54%;
    position: sticky;
  }
  .main-wrapper .ttl h1 {
    font-size: 3.2rem;
    margin-bottom: 0;
  }
  .sns-logo .twi svg,
  .sns-logo .insta svg {
    width: 3.6rem;
    height: 3.6rem;
  }

  .main-wrapper .txt p {
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 1.4rem 0 2.4rem;
  }
  .main-wrapper .btns .btn {
    height: 5rem;
    line-height: 5rem;
  }
  .main-wrapper .btns .btn a {
    padding: 1.6rem;
    padding: 0;
    line-height: 4.8rem;
    font-size: 1.2rem;
  }
  .wrapper-info {
    padding-top: 10%;
  }
  .main-wrapper .btns .btn:nth-last-of-type(2) {
    margin-right: 0.8rem;
  }
  .wrapper-img-sp {
    display: block;
  }
  .wrapper-img-pc {
    display: none;
  }
  .main-wrapper .description p {
    font-size: 1.4rem;
  }
}
