@charset "UTF-8";
/*---------------------------------------------
メディアクエリー
---------------------------------------------*/
/*---------------------------------------------
共通
---------------------------------------------*/
html {
  color: #000;
}

/*リセット
--------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
  scroll-behavior: smooth;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

img {
  width: 100%;
  display: block;
}

@media screen and (min-width: 769px) {
  .sp_none {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .sp_none {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .pc_none {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pc_none {
    display: block;
  }
}

body {
  background-color: #FFFDEA;
}

/*---------------------------------------------
fonts
---------------------------------------------*/
.jp {
  font-family: zen-kaku-gothic-antique-medi, sans-serif;
  font-style: normal;
  font-weight: 300;
}

.eg {
  font-family: dotgothic16, sans-serif;
  font-style: normal;
  font-weight: 400;
}

.emoji {
  font-family: "Noto Color Emoji", sans-serif;
}

/*---------------------------------------------
FV
---------------------------------------------*/
.fv {
  position: relative;
  background-image: url(../images/fv.jpg);
  width: 100%;
  height: 40vh;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (min-width: 769px) {
  .fv {
    height: 70vh;
  }
}
.fv .title_logo {
  position: absolute;
  z-index: 50;
  width: 80%;
  top: 8%;
  left: 5%;
}
@media screen and (min-width: 769px) {
  .fv .title_logo {
    width: 720px;
    left: 3%;
  }
}
.fv .title_logo {
  opacity: 1; /* clip-pathで制御するためopacityは1に */
  -webkit-animation: wipeIn 1.5s ease-out 0.5s forwards;
          animation: wipeIn 1.5s ease-out 0.5s forwards;
}
.fv .helosan_logo {
  position: absolute;
  z-index: 50;
  width: 20%;
  bottom: 8%;
  left: 5%;
}
@media screen and (min-width: 769px) {
  .fv .helosan_logo {
    left: 3%;
    width: 15%;
  }
}
.fv .helosan_logo {
  opacity: 0;
  -webkit-animation: popIn 0.8s ease-out 0.8s forwards;
          animation: popIn 0.8s ease-out 0.8s forwards;
}

.lead {
  position: relative;
  font-size: 14px;
  text-align: center;
  margin: auto;
  line-height: 2;
  margin: 100px auto 0;
}
@media screen and (min-width: 769px) {
  .lead {
    font-size: 16px;
    margin: 130px auto 50px;
  }
}
.lead .page_title {
  position: absolute;
  width: 100%;
  left: 50%;
  top: -80px;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .lead .page_title {
    width: 60%;
    top: -95px;
  }
}

.lead_text span {
  font-family: "Noto Color Emoji", sans-serif;
}

svg {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 769px) {
  svg {
    width: 50%;
  }
}

svg .svg-title-text {
  font-weight: 900;
  font-size: 50px !important;
}

.sec:not(.sec4) .title {
  font-size: 30px;
  margin-bottom: 30px;
}

.style_tab {
  width: 40%;
}

.credit_wrap {
  margin-left: 5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 769px) {
  .credit_wrap {
    margin-left: 0;
  }
}
.credit_wrap .items {
  font-size: 12px;
  margin-left: 10px;
  line-height: 1.8;
}
@media screen and (min-width: 769px) {
  .credit_wrap .items {
    font-size: 14px;
  }
}
.credit_wrap .items a {
  display: block;
  color: #000;
}

.credit_wrap_re {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 769px) {
  .credit_wrap_re {
    margin-right: 0;
  }
}
.credit_wrap_re .items {
  font-size: 12px;
  margin-right: 10px;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .credit_wrap_re .items {
    font-size: 14px;
  }
}
.credit_wrap_re .items a {
  display: block;
  color: #000;
  line-height: 1.8;
}

.sec1 {
  padding-top: 50px;
}
.sec1 .credit_wrap1 .img {
  width: 20%;
  margin-top: -30px;
}
@media screen and (min-width: 769px) {
  .sec1 .credit_wrap1 .img {
    width: 32%;
    margin-top: -100px;
    margin-left: -50px;
  }
}

.credit_wrap2 .img {
  width: 24%;
}
@media screen and (min-width: 769px) {
  .credit_wrap2 .img {
    width: 30%;
  }
}

.credit_wrap3 {
  margin-top: -50px;
}
@media screen and (min-width: 769px) {
  .credit_wrap3 {
    margin-left: 22%;
  }
}
.credit_wrap3 .img {
  width: 20%;
  margin-top: -30px;
}
@media screen and (min-width: 769px) {
  .credit_wrap3 .img {
    width: 35%;
  }
}

.credit_block {
  margin-top: -70px;
}
@media screen and (min-width: 769px) {
  .credit_block {
    max-width: 900px;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

/*---------------------------------------------
sec1
---------------------------------------------*/
.sec1 {
  position: relative;
  margin-bottom: 100px;
}
.sec1 .style_tab {
  position: absolute;
  top: -7%;
  left: 6%;
}
.sec1 .img1 {
  width: 81%;
  margin: 30px auto 100px;
}
.sec1 .img_wrap {
  position: relative;
  z-index: -1;
  max-width: 600px;
  margin: auto;
}
.sec1 .img_wrap .dots {
  position: absolute;
  z-index: 1;
  width: 100%;
  top: 0;
  left: 0%;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .sec1 .img_wrap .dots {
    top: -65px;
  }
}
.sec1 .lace {
  background-image: url(../images/lace.png);
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: -10;
  width: 100vw;
  height: 11%;
  bottom: 39%;
}
@media screen and (min-width: 769px) {
  .sec1 .lace {
    background-image: url(../images/pc_lace.png);
    background-repeat: no-repeat;
    width: 800px;
    height: 137px;
    bottom: 32%;
  }
}

/*---------------------------------------------
sec2
---------------------------------------------*/
.sec2 {
  position: relative;
  overflow: hidden;
  padding-top: 30px;
  padding-bottom: 100px;
}
@media screen and (min-width: 769px) {
  .sec2 {
    padding-top: 50px;
    padding-bottom: 150px;
  }
}
.sec2 .title {
  text-align: center;
}
.sec2 .img_wrap {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: auto;
}
.sec2 .img_wrap .style_tab {
  position: absolute;
  right: 0;
  top: -30px;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .sec2 .img_wrap .style_tab {
    width: 29%;
    top: -50px;
    right: -30px;
  }
}
.sec2 .img_wrap .text_img {
  position: absolute;
  width: 18%;
}
@media screen and (min-width: 769px) {
  .sec2 .img_wrap .text_img {
    width: 15%;
  }
}
.sec2 .img1 {
  width: 94%;
  margin: auto;
}
.sec2 .sec2_bag {
  position: absolute;
  bottom: -10%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}
@media screen and (min-width: 769px) {
  .sec2 .sec2_bag {
    bottom: -17%;
    left: 56%;
  }
}
.sec2 .sec2_bag a {
  color: #000;
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .sec2 .sec2_bag a {
    font-size: 14px;
  }
}
.sec2 .bg_2 {
  position: absolute;
  z-index: -1;
  top: 40%;
}
.sec2 .pc_bg2 {
  background-image: url(../images/pc_sky_bg.jpg);
  background-size: cover;
  height: 66vh;
  position: absolute;
  z-index: -100;
  width: 100%;
  top: 8%;
  background-repeat: no-repeat;
  background-position: center;
}
.sec2 .space {
  display: block;
  height: 200px;
}
.sec2 .img_l {
  width: 17%;
  bottom: -2%;
  left: 2%;
  -webkit-animation: fluffy-float 3.5s ease-in-out infinite;
          animation: fluffy-float 3.5s ease-in-out infinite;
}
@media screen and (min-width: 769px) {
  .sec2 .img_l {
    left: -2%;
    bottom: -18%;
  }
}
.sec2 .img_o {
  left: 28%;
  bottom: -5%;
  -webkit-animation: fluffy-float 4s ease-in-out infinite;
          animation: fluffy-float 4s ease-in-out infinite;
  -webkit-animation-delay: -1.5s;
          animation-delay: -1.5s;
}
@media screen and (min-width: 769px) {
  .sec2 .img_o {
    left: 32%;
    bottom: -24%;
  }
}
.sec2 .img_v {
  left: 54%;
  bottom: -2%;
  -webkit-animation: fluffy-float 3.8s ease-in-out infinite;
          animation: fluffy-float 3.8s ease-in-out infinite;
  -webkit-animation-delay: -0.5s;
          animation-delay: -0.5s;
}
@media screen and (min-width: 769px) {
  .sec2 .img_v {
    left: 66%;
    bottom: -20%;
  }
}
.sec2 .img_e {
  width: 18%;
  bottom: -7%;
  right: 5%;
  -webkit-animation: fluffy-float 4.2s ease-in-out infinite;
          animation: fluffy-float 4.2s ease-in-out infinite;
  -webkit-animation-delay: -3s;
          animation-delay: -3s;
}
@media screen and (min-width: 769px) {
  .sec2 .img_e {
    right: -15%;
    bottom: -23%;
  }
}
@media screen and (min-width: 769px) {
  .sec2 .credit_wrap1 img,
  .sec2 .credit_wrap2 img {
    width: 18%;
  }
}
.sec2 .pc_flex {
  margin-top: 60px;
}
@media screen and (min-width: 769px) {
  .sec2 .pc_flex {
    max-width: 78%;
    margin: 250px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.sec2 .credit_wrap_inner {
  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;
}
@media screen and (min-width: 769px) {
  .sec2 .credit_wrap_inner {
    margin-top: 0;
  }
}
.sec2 .credit_wrap_inner .img {
  width: 50%;
}
@media screen and (min-width: 769px) {
  .sec2 .credit_wrap_inner .img {
    width: 35%;
  }
}
.sec2 .credit_wrap1,
.sec2 .credit_wrap2 {
  position: relative;
  height: 40vh;
}
@media screen and (min-width: 769px) {
  .sec2 .credit_wrap1,
  .sec2 .credit_wrap2 {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    height: auto;
  }
}
.sec2 .credit_wrap1 .bg_paper,
.sec2 .credit_wrap2 .bg_paper {
  position: absolute;
  z-index: -10;
  top: 7%;
  left: -3%;
}
@media screen and (min-width: 769px) {
  .sec2 .credit_wrap1 .bg_paper,
  .sec2 .credit_wrap2 .bg_paper {
    width: 82%;
    top: -9%;
    left: 11%;
  }
}
@media screen and (min-width: 769px) {
  .sec2 .credit_wrap2 {
    margin-top: 0;
  }
}
.sec2 .credit_wrap2 .bg_paper {
  top: 10%;
  left: 1%;
  -webkit-transform: rotate(-3deg);
          transform: rotate(-3deg);
}
@media screen and (min-width: 769px) {
  .sec2 .credit_wrap2 .bg_paper {
    width: 82%;
    top: -13%;
    left: 7%;
  }
}
.sec2 .credit_wrap2 .credit_wrap_inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-top: 14%;
}
@media screen and (min-width: 769px) {
  .sec2 .credit_wrap2 .credit_wrap_inner {
    margin-top: 0;
  }
}

/*---------------------------------------------
sec3
---------------------------------------------*/
.sec3 {
  background-image: repeating-linear-gradient(90deg, rgba(193, 220, 220, 0.5803921569), rgba(193, 220, 220, 0.5803921569) 12px, transparent 12px, transparent 20px, rgba(210, 214, 166, 0.368627451) 20px, rgba(210, 214, 166, 0.368627451) 22px, transparent 22px, transparent 30px);
  position: relative;
  z-index: 1;
  padding-bottom: 100px;
  margin-bottom: -30px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .sec3 {
    padding-bottom: 200px;
  }
}
.sec3 .title {
  margin-top: 100px;
  text-align: center;
}
.sec3 .style_tab {
  width: 40%;
  margin-top: 20px;
  margin-left: auto;
  margin-right: 20px;
}
@media screen and (min-width: 769px) {
  .sec3 .style_tab {
    width: 20%;
    max-width: 230px;
    margin-top: 5%;
    margin-right: 5%;
  }
}
.sec3 .img_wrap {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
@media screen and (min-width: 769px) {
  .sec3 .img_wrap {
    max-width: 70%;
    margin: 100px auto 0;
  }
}
.sec3 .img_wrap .left, .sec3 .img_wrap .right {
  position: relative;
}
@media screen and (min-width: 769px) {
  .sec3 .img_wrap .left, .sec3 .img_wrap .right {
    width: 40%;
  }
}
.sec3 .img_wrap .left {
  margin-top: 50px;
  margin-bottom: 100px;
}
.sec3 .img_wrap .left .set_img {
  margin-left: 10%;
}
@media screen and (min-width: 769px) {
  .sec3 .img_wrap .left {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.sec3 .img_wrap .left .credit_wrap .items {
  margin-top: 20px;
  margin-left: 5%;
}
@media screen and (min-width: 769px) {
  .sec3 .img_wrap .left .credit_wrap .items {
    margin-left: 10%;
  }
}
.sec3 .img_wrap .right {
  margin-top: 100px;
  margin-left: auto;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 769px) {
  .sec3 .img_wrap .right {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.sec3 .img_wrap .right .credit_wrap {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-right: 38px;
  margin-top: 20px;
}
.sec3 .img_wrap .center {
  width: 75%;
  margin: auto;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 769px) {
  .sec3 .img_wrap .center {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 100px;
  }
}
.sec3 .img_wrap .center .credit_wrap .items {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}
.sec3 .img_wrap .left_person,
.sec3 .img_wrap .right_person {
  position: absolute;
  width: 55%;
}
@media screen and (min-width: 769px) {
  .sec3 .img_wrap .left_person,
  .sec3 .img_wrap .right_person {
    width: 86%;
  }
}
.sec3 .img_wrap .left_person {
  top: -25%;
  left: 49%;
}
.sec3 .img_wrap .right_person {
  width: 60%;
  top: -28%;
  left: 4%;
}
@media screen and (min-width: 769px) {
  .sec3 .img_wrap .right_person {
    width: 100%;
    top: -46%;
    left: -27%;
  }
}
.sec3 .img_wrap .set_img {
  width: 50%;
}
@media screen and (min-width: 769px) {
  .sec3 .img_wrap .set_img {
    width: 74%;
  }
}
.sec3 .img_wrap .set_img2 {
  margin-left: auto;
  margin-right: 10%;
}
@media screen and (min-width: 769px) {
  .sec3 .credit_wrap1 {
    margin-left: -13%;
  }
}
.sec3 .credit_wrap1 img {
  width: 15%;
}
@media screen and (min-width: 769px) {
  .sec3 .credit_wrap2 {
    margin-right: -13%;
  }
}
.sec3 .credit_wrap2 img {
  width: 15%;
}
@media screen and (min-width: 769px) {
  .sec3 .credit_wrap3 {
    margin-left: 20%;
  }
}
.sec3 .credit_wrap3 img {
  width: 20%;
}

/*---------------------------------------------
sec4
---------------------------------------------*/
.sec4 {
  overflow: hidden;
  position: relative;
  z-index: 1;
  padding-bottom: 50px;
}
.sec4 .sec4_bg {
  background-image: url(../images/sec4_bg.png);
  background-size: cover;
  height: 115vw;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  .sec4 .sec4_bg {
    height: 95vh;
  }
}
.sec4 .title {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .sec4 .pc_wrap {
    max-width: 900px;
    margin: auto;
    position: relative; /* 子要素の配置基準にする */
  }
}
.sec4 .pc_wrap .credit_wrap .img {
  position: relative;
  width: 38%;
  z-index: 100;
  margin-top: -60px;
}
@media screen and (min-width: 769px) {
  .sec4 .pc_wrap .credit_wrap .img {
    width: 26%;
    margin-top: -60px;
  }
}

@-webkit-keyframes scroll-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes scroll-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@-webkit-keyframes scroll-right {
  from {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes scroll-right {
  from {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.sec4 .style_tab {
  position: absolute;
  top: 2%;
  left: 3%;
}
@media screen and (min-width: 769px) {
  .sec4 .style_tab {
    width: 20%;
    max-width: 230px;
    top: 3%;
  }
}
.sec4 .img_wrap {
  position: absolute;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 200%;
  -webkit-animation: scroll-left 30s linear infinite;
          animation: scroll-left 30s linear infinite;
  width: 400%;
}
@media screen and (min-width: 769px) {
  .sec4 .img_wrap {
    width: 300%;
  }
}
.sec4 .img_wrap {
  /* SP: 上段 */
}
.sec4 .img_wrap--top {
  top: 16%;
}
@media screen and (min-width: 769px) {
  .sec4 .img_wrap--top {
    top: 16%;
  }
}
.sec4 .img_wrap {
  /* SP: 下段（右方向）→ PCは非表示 */
}
.sec4 .img_wrap--bottom {
  top: 34%; /* 上段の下にくる位置に調整 */
  -webkit-animation: scroll-right 30s linear infinite;
          animation: scroll-right 30s linear infinite; /* 逆方向 */
}
@media screen and (min-width: 769px) {
  .sec4 .img_wrap--bottom {
    display: none;
  }
}
.sec4 .img_wrap .scroller {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 25%;
}
.sec4 .img_wrap .scroller img {
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 769px) {
  .sec4 .img_wrap .scroller {
    width: 18.75%;
  }
}

/*---------------------------------------------
 novelty
---------------------------------------------*/
.novelty {
  background-color: #F8E3CA;
  padding-top: 50px;
  padding-bottom: 50px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .novelty {
    padding-top: 100px;
    padding-bottom: 150px;
  }
}
@media screen and (min-width: 769px) {
  .novelty .top {
    max-width: 50%;
    margin: auto;
  }
}
.novelty .top .title_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
}
.novelty .top .title_wrap .megaphone {
  width: 33%;
  margin-left: -30px;
}
@media screen and (min-width: 769px) {
  .novelty .top .title_wrap .megaphone {
    width: 25%;
    margin-left: 0;
  }
}
.novelty .top .title_wrap .title {
  width: 70%;
}
.novelty .top .img {
  width: 90%;
  margin: -20px auto;
}
.novelty .top .star1 {
  width: 30%;
  margin-left: auto;
  margin-top: -85px;
  margin-right: 10px;
}
@media screen and (min-width: 769px) {
  .novelty .top .star1 {
    width: 25%;
    margin-top: -15%;
  }
}
.novelty .middle {
  width: 80%;
  margin: auto;
}
@media screen and (min-width: 769px) {
  .novelty .middle {
    max-width: 50%;
    margin: 0 auto 70px;
  }
}
.novelty .middle .text {
  font-size: 12px;
  line-height: 2;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .novelty .middle .text {
    max-width: 83%;
    margin: 0 auto 30px;
    font-size: clamp(14px, 1.5vw, 16px);
  }
}
.novelty .middle .hosoku {
  font-size: 10px;
}
@media screen and (min-width: 769px) {
  .novelty .middle .hosoku {
    max-width: 83%;
    margin: auto;
    font-size: clamp(12px, 1.5vw, 14px);
  }
}
.novelty .middle .hosoku li {
  line-height: 1.5;
  margin-bottom: 5px;
  padding-left: 1em;
  text-indent: -1em;
}
.novelty .bottom {
  width: 83%;
  margin: 50px auto 0;
  padding: 30px 20px 5px;
  border-radius: 12px;
  background-color: #FFF3E5;
}
@media screen and (min-width: 769px) {
  .novelty .bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 60%;
    margin: auto;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    padding: 50px;
  }
}
.novelty .bottom .bag_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 30px;
  -ms-flex-item-align: start;
      align-self: start;
}
@media screen and (min-width: 769px) {
  .novelty .bottom .bag_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 30%;
  }
}
.novelty .bottom .bag_wrap img {
  width: 25%;
}
@media screen and (min-width: 769px) {
  .novelty .bottom .bag_wrap img {
    width: 45%;
    margin: 0 auto 20px;
  }
}
.novelty .bottom .bag_wrap .text {
  margin-left: 10px;
}
.novelty .bottom .bag_wrap .text .shop_type {
  font-size: 12px;
  margin-bottom: 10px;
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  .novelty .bottom .bag_wrap .text .shop_type {
    font-size: clamp(14px, 1.5vw, 16px);
  }
}
.novelty .bottom .bag_wrap .text .shops {
  font-size: 10px;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .novelty .bottom .bag_wrap .text .shops {
    font-size: clamp(12px, 1.5vw, 14px);
  }
}

/*---------------------------------------------
 staffs
---------------------------------------------*/
.staffs {
  overflow: hidden;
  padding-bottom: 50px;
}
.staffs .staff_wrap {
  position: relative;
  height: 100vw;
}
@media screen and (min-width: 769px) {
  .staffs .staff_wrap {
    height: auto;
    width: 100%;
    max-width: 50%;
  }
}
.staffs .staff_wrap .check {
  position: absolute;
  width: 67%;
  top: 5%;
  left: 9%;
}
.staffs .staff_wrap .light {
  position: absolute;
  width: 20%;
  top: 22%;
  right: 2%;
}
.staffs .staff_wrap .staff1 {
  position: absolute;
  width: 57%;
  top: 30%;
}
.staffs .staff_wrap .staff2 {
  position: absolute;
  width: 70%;
  top: 41%;
  right: -37px;
}
.staffs .staff_wrap .eye {
  position: absolute;
  width: 30%;
  top: 90%;
}
.staffs .director {
  position: relative;
  margin-top: 16%;
}
@media screen and (min-width: 769px) {
  .staffs .director {
    margin-top: 10%;
    margin-bottom: 5%;
  }
}
.staffs .director .dir_1 {
  position: absolute;
  width: 34%;
  left: 12%;
  top: 28%;
}
.staffs .director .dir_2 {
  position: absolute;
  width: 34%;
  right: 13%;
  top: 25%;
}
@media screen and (min-width: 769px) {
  .staffs .pc_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 70%;
    margin: auto;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
  }
}

/*---------------------------------------------
footer
---------------------------------------------*/
.footer {
  background-image: url(../images/sp_footer.png);
  background-size: cover;
  background-position: center;
  padding-top: 50px;
  padding-bottom: 50px;
}
@media screen and (min-width: 769px) {
  .footer {
    background-image: url(../images/pc_footer.png);
    padding-top: 100px;
    padding-bottom: 50px;
  }
}
.footer .insta {
  width: 40%;
  margin: auto;
}
@media screen and (min-width: 769px) {
  .footer .insta {
    width: 20%;
  }
}
.footer .logo {
  width: 40%;
  margin: 25px auto 0;
}
@media screen and (min-width: 769px) {
  .footer .logo {
    width: 20%;
    margin: 3% auto 0;
  }
}
.footer .copy {
  font-size: 10px;
  text-align: center;
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .footer .copy {
    font-size: 12px;
  }
}

/*---------------------------------------------
 animation
---------------------------------------------*/
@-webkit-keyframes wipeIn {
  from {
    clip-path: polygon(0 0, 0 0, 0 0, 0 0, 0 0);
  }
  to {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 0);
  }
}
@keyframes wipeIn {
  from {
    clip-path: polygon(0 0, 0 0, 0 0, 0 0, 0 0);
  }
  to {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 0);
  }
}
@-webkit-keyframes fluffy-float {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fluffy-float {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes popIn {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes popIn {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
/*---------------------------------------------
push_heart
---------------------------------------------*/
.push_heart {
  background-color: #C2DAE8;
  padding: 4rem 1rem;
  text-align: center;
  padding-top: 100px;
  padding-bottom: 100px;
}
@media screen and (min-width: 769px) {
  .push_heart .inner {
    max-width: 50%;
    margin: auto;
  }
}
.push_heart .title {
  width: 90%;
  margin: 0 auto 20px;
}
@media screen and (min-width: 769px) {
  .push_heart .title {
    width: 60%;
  }
}
.push_heart .sub {
  font-size: 14px;
  color: #000;
  margin-bottom: 2rem;
  font-family: zen-kaku-gothic-antique-medi, sans-serif;
  font-style: normal;
  font-weight: 300;
}
@media screen and (min-width: 769px) {
  .push_heart .sub {
    font-size: 16px;
  }
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  text-align: left;
}

#grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px; /* アイテム間の隙間 */
  padding: 0 10px; /* グリッド全体の左右の余白 */
}
#grid img {
  width: 100%;
  height: auto;
  display: block;
}

.card {
  background: #fff;
  border: 1px solid #e5e5e3;
  overflow: hidden;
  position: relative;
}
.card-img {
  width: 100%;
  height: 100%;
  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;
  font-size: 52px;
  background: transparent;
}
.card-title {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 0.6rem;
}

.heart-widget {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 1;
}
.heart-widget::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0.5;
  z-index: -1;
}

.heart-btn {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  border: 1px solid #8d8c8c;
  cursor: pointer;
  font-size: 13px;
  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;
  -webkit-transition: -webkit-transform 0.15s;
  transition: -webkit-transform 0.15s;
  transition: transform 0.15s;
  transition: transform 0.15s, -webkit-transform 0.15s;
}
.heart-btn:hover {
  -webkit-transform: scale(1.12);
          transform: scale(1.12);
}
.heart-btn.active {
  background: #fbeaf0;
  border-color: #ed93b1;
}

.count {
  font-size: 10px;
  font-weight: 500;
  color: #000;
  text-align: center;
  min-width: 2rem;
  margin-top: 3px;
}
.count.bump {
  -webkit-animation: bump 0.22s ease;
          animation: bump 0.22s ease;
}

.push_heart .all_btn {
  display: block;
  width: 40%;
  margin: 40px auto 0;
}
@media screen and (min-width: 769px) {
  .push_heart .all_btn {
    width: 20%;
    margin: 60px auto 0;
  }
}

@-webkit-keyframes bump {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.35);
            transform: scale(1.35);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes bump {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.35);
            transform: scale(1.35);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
[data-aos=fade-up] {
  -webkit-transform: translate3d(0, 20px, 0);
          transform: translate3d(0, 20px, 0);
}

[data-aos=fade-right] {
  -webkit-transform: translate3d(-20px, 0, 0);
          transform: translate3d(-20px, 0, 0);
}

[data-aos=fade-left] {
  -webkit-transform: translate3d(20px, 0, 0);
          transform: translate3d(20px, 0, 0);
}/*# sourceMappingURL=style.css.map */