

/* street_miku
------------------------------------------------ */
.street{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.street_miku{
  position: absolute;
  top: 0;
  left: calc(0vw / 1440 * 100);
  width: calc(200vw / 1440 * 100);
  height: calc(200vw / 1440 * 100);
  z-index: 30;
  opacity: 0;
  transform: translateY(-25%);
  transition: transform .1s, opacity .1s;
}
.street_miku_image{
  width: 100%;
  height: 100%;
  background-image: url(/assets/img/walk01.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.is-walk > .street_miku_image{
  animation-name: miku_walk;
  animation-duration: 1s;
  animation-timing-function: steps(1);
  animation-iteration-count: infinite;
}
@keyframes miku_walk {
  0%{background-image: url(/assets/img/walk02.png)}
  16%{background-image: url(/assets/img/walk03.png)}
  32%{background-image: url(/assets/img/walk04.png)}
  48%{background-image: url(/assets/img/walk05.png)}
  64%{background-image: url(/assets/img/walk06.png)}
  80%{background-image: url(/assets/img/walk01.png)}
}

.street_load{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.street_load-back{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}
.street_load_path-front{
  stroke: #fff;
  stroke-width: calc(2vw / 1440 * 100);
  stroke-dasharray: 10px;
  stroke-dashoffset: 10px;
  stroke-linejoin: round;
  fill: none;
}
.street_load_path-back01{
  stroke: #D9D9D9;
  stroke-width: calc(30vw / 1440 * 100);
  stroke-linejoin: round;
  fill: none;
}
.street_load_path-back02{
  stroke: #59C2CE;
  stroke-width: calc(240vw / 1440 * 100);
  stroke-linejoin: miter;
  fill: none;
}

.streetPoint01{
  position: absolute;
  top: calc(-110vw / 1440* 100);
  left: calc(120vw / 1440* 100);
  width: 1px;
  height: 1px;
}
.streetPoint02{
  position: absolute;
  bottom: calc(300vw / 1440* 100);
  left: calc(120vw / 1440* 100);
  width: 1px;
  height: 1px;
}
.streetPoint03{
  position: absolute;
  top: calc(232vw / 1440* 100);
  left: calc(715vw / 1440* 100);
  width: 1px;
  height: 1px;
}
.streetPoint04{
  position: absolute;
  top: 100%;
  left: calc(715vw / 1440* 100);
  width: 1px;
  height: 1px;
}
.streetPoint05{
  position: absolute;
  top: 100%;
  left: calc(715vw / 1440* 100);
  width: 1px;
  height: 1px;
}
.streetPoint06{
  position: absolute;
  top: calc(600vw / 1440* 100);
  left: calc(120vw / 1440* 100);
  width: 1px;
  height: 1px;
}
.streetPoint07{
  position: absolute;
  top: 100%;
  left: calc(120vw / 1440* 100);
  width: 1px;
  height: 1px;
}
.streetPoint08{
  position: absolute;
  bottom: 0%;
  left: calc(120vw / 1440* 100);
  width: 1px;
  height: 1px;
}

@media screen and (max-width:768px) {
  .street_miku{
    position: absolute;
    top: calc(-62vw / 1440 * 100);
    left: calc(0vw / 1440 * 100);
    width: calc(109vw / 390 * 100);
    height: calc(109vw / 390 * 100);
    offset-rotate: 0deg;
    offset-position: center;
    offset-distance: 0%;
    transition-timing-function: linear;
    z-index: 30;
  }
  .street_load_path-front{
    stroke-width: calc(2vw / 390 * 100);
    stroke-dasharray: 20px;
    stroke-dashoffset: 20px;
  }
  .street_load_path-back01{
    stroke-width: calc(28vw / 390 * 100);
  }
  .street_load_path-back02{
    stroke-width: calc(105vw / 390 * 100);
  }
  .streetPoint01{
    position: absolute;
    top: calc(-20vw / 390* 100);
    left: calc(50vw / 390* 100);
    width: 1px;
    height: 1px;
  }
  .streetPoint02{
    position: absolute;
    bottom: calc(50vw / 390* 100);
    left: calc(50vw / 390* 100);
    width: 1px;
    height: 1px;
  }
  .streetPoint03{
    position: absolute;
    top: calc(-40vw / 390* 100);
    left: calc(195vw / 390* 100);
    width: 1px;
    height: 1px;
  }
  .streetPoint04{
    position: absolute;
    top: calc(205vw / 390* 100);
    left: calc(195vw / 390* 100);
    width: 1px;
    height: 1px;
  }
  .streetPoint05{
    position: absolute;
    top: calc(350vw / 390* 100);
    left: calc(50vw / 390* 100);
    width: 1px;
    height: 1px;
  }
  .streetPoint06{
    position: absolute;
    top: calc(600vw / 390* 100);
    left: calc(50vw / 390* 100);
    width: 1px;
    height: 1px;
  }
  .streetPoint07{
    position: absolute;
    top: 100%;
    left: calc(50vw / 390* 100);
    width: 1px;
    height: 1px;
  }
  .streetPoint08{
    position: absolute;
    bottom: 0%;
    left: calc(50vw / 390* 100);
    width: 1px;
    height: 1px;
  }
}




/* kv
------------------------------------------------ */
.kv{
  position: relative;
  width: 100%;
  height: calc(795vw / 1440 * 100);
  background-image: url(/assets/img/kv_bg.png);
  background-size: cover;
  background-position: center bottom;
  overflow: hidden;
  z-index: 7;
}
.kv::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(78vw / 1440 * 100);
  background-color: #59C2CE;
  z-index: 4;
}
.kv_main_logo{
  position: absolute;
  top: calc(175vw / 1440* 100);
  left: calc(27vw / 1440* 100);
  width: calc(778vw / 1440* 100);
  z-index: 7;
}
.kv_date{
  position: absolute;
  top: calc(486vw / 1440* 100);
  left: calc(125vw / 1440* 100);
  width: calc(498vw / 1440* 100);
  z-index: 7;
}
.kv_miku{
  position: absolute;
  top: calc(-54vw / 1440* 100);
  right: calc(-404vw / 1440* 100);
  width: calc(1440vw / 1440* 100);
  height: auto;
  z-index: 6;
  transition: transform .6s, opacity .6s;
  transition-delay: .3s;
  transition-timing-function: cubic-bezier(0,1.06,.46,1.55);
}
.kv_miku.is-active{
  transform: translateY(10%);
  opacity: 0;
}
.kv_miku img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}
.kv_miku_logo{
  position: absolute;
  bottom: calc(116vw / 1440* 100);
  right: calc(54vw / 1440* 100);
  width: calc(102vw / 1440* 100);
  height: auto;
  z-index: 8;
}

@media screen and (max-width:768px) {
  .kv{
    height: calc(774vw / 390 * 100);
  }
  .kv::after{
    height: calc(17vw / 390 * 100);
  }
  .kv_main_logo{
    top: calc(430vw / 390* 100);
    left: calc(18vw / 390* 100);
    width: calc(357vw / 390* 100);
  }
  .kv_date{
    top: calc(588vw / 390* 100);
    left: calc(33vw / 390* 100);
    width: calc(328vw / 390* 100);
  }
  .kv_miku{
    top: calc(40vw / 390* 100);
    right: calc(-65vw / 390* 100);
    width: calc(519vw / 390* 100);
  }
  .kv_miku img{
    width: 100%;
    height: 100%;
  }
  .kv_miku_logo{
    position: absolute;
    bottom: calc(29vw / 390* 100);
    right: calc(29vw / 390* 100);
    width: calc(107vw / 390* 100);
  }
}



/* introduction
------------------------------------------------ */
.introduction{
  position: relative;
  margin: 0 auto 0;
  background-color: #fff;
  padding: calc(64vw / 1440 * 100) 0 calc(46vw / 1440 * 100);
}
.introduction_wrap{
  width: calc(1128vw / 1440 * 100);
  margin: 0 calc(120vw / 1440 * 100) 0 auto;
}
.introduction_top{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-left: auto;
  width: auto;
  height: calc(180vw / 1440 * 100);
  font-family: "Zen Maru Gothic", serif;
  color: #E3007F;
}
.introduction_top_lead{
  display: block;
  width: auto;
  margin-top: calc(-10vw / 1440 * 100);
  margin-right: calc(42vw / 1440 * 100);
  font-size: calc(30vw / 1440 * 100);
  line-height: 1.5;
  font-weight: 600;
}
.introduction_top_title{
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: calc(794vw / 1440 * 100);
  padding-left: calc(59vw / 1440 * 100);
  font-size: calc(49vw / 1440 * 100);
  line-height: 1.75;
  font-weight: 600;
  letter-spacing: 0.1em;
  box-sizing: border-box;
}
.introduction_top_title .introduction_top_title_ruby{
  position: relative;
  display: inline-block;
}
.introduction_top_title .introduction_top_title_rt{
  position: absolute;
  width: 100%;
  top: -.4em;
  left: 0;
  text-align: center;
  font-size: calc(14vw / 1440 * 100);
}
.introduction_top_title::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: calc(4vw / 1440 * 100);
  height: 100%;
  border-radius: calc(infinity * 1px);
  background-color: #E3007F;
}
.introduction_text-wide{
  margin: calc(54vw / 1440 * 100) 0 0 calc(211vw / 1440 * 100);
  width: calc(905vw / 1440 * 100);
  margin-left: auto;
  font-size: calc(20vw / 1440 * 100);
  line-height: 1.8;
  color: #4C4C4C;
  font-weight: 600;
}
.introduction_text{
  margin: calc(27vw / 1440 * 100) 0 0 calc(211vw / 1440 * 100);
  width: calc(735vw / 1440 * 100);
  margin-left: auto;
  font-size: calc(16vw / 1440 * 100);
  line-height: 1.8;
  color: #4C4C4C;
  font-weight: 600;
}


.introduction_deco01{
  position: absolute;
  top: calc(-65vw / 1440 * 100);
  left: calc(8vw / 1440 * 100);
  width: calc(88vw / 1440 * 100);
  z-index: 29;
}
.introduction_deco02{
  position: absolute;
  top: calc(-65vw / 1440 * 100);
  left: calc(145vw / 1440 * 100);
  width: calc(88vw / 1440 * 100);
  z-index: 29;
}
.introduction_deco03{
  position: absolute;
  top: calc(105vw / 1440* 100);
  left: calc(172vw / 1440* 100);
  width: calc(71vw / 1440* 100);
  height: calc(82vw / 1440* 100);
  overflow: hidden;
  z-index: 30;
}
.introduction_deco03-back{
  position: absolute;
  top: calc(105vw / 1440* 100);
  left: calc(172vw / 1440* 100);
  width: calc(71vw / 1440* 100);
  z-index: 29;
}
.introduction_deco04{
  position: absolute;
  top: calc(222vw / 1440* 100);
  left: calc(7vw / 1440* 100);
  width: calc(76vw / 1440* 100);
  z-index: 30;
}
.introduction_deco05{
  position: absolute;
  top: calc(418vw / 1440* 100);
  left: calc(419vw / 1440* 100);
  width: calc(85vw / 1440* 100);
  z-index: 29;
  transform: scaleX(-1);
}
.introduction_deco06{
  position: absolute;
  top: calc(543vw / 1440* 100);
  left: calc(315vw / 1440* 100);
  width: calc(50vw / 1440* 100);
  z-index: 30;
}
.introduction_deco07{
  position: absolute;
  top: calc(510vw / 1440* 100);
  right: calc(34vw / 1440* 100);
  width: calc(137vw / 1440* 100);
  z-index: 30;
}

@media screen and (max-width:768px) {
  .introduction{
    margin: 0 auto 0;
    padding: calc(64vw / 390 * 100) 0 calc(105vw / 390 * 100);
  }
  .introduction_wrap{
    width: calc(250vw / 390 * 100);
    margin: 0 0 0 calc(123vw / 390 * 100);
    text-align: justify;
  }
  .introduction_top{
    align-items: flex-start;
    flex-direction: column;
    height: auto;
  }
  .introduction_top_lead{
    margin-right: 0;
    font-size: calc(24vw / 390 * 100);
  }
  .introduction_top_title{
    width: auto;
    margin-top: calc(10vw / 390 * 100);
    padding-left: 0;
    font-size: calc(30vw / 390 * 100);
    line-height: 1.5;
  }
  .introduction_top_title .introduction_top_title_ruby{
    position: relative;
    display: inline-block;
    margin-top: calc(7vw / 390 * 100);
  }
  .introduction_top_title .introduction_top_title_rt{
    top: -.6em;
    font-size: calc(12vw / 390 * 100);
  }
  .introduction_top_title::before{
    display: none;
  }
  .introduction_text-wide{
    margin: calc(8vw / 390 * 100) 0 0;
    width: 100%;
    font-size: calc(14vw / 390 * 100);
  }
  .introduction_text{
    margin: calc(8vw / 390 * 100) 0 0;
    width: auto;
    font-size: calc(14vw / 390 * 100);
    line-height: 1.8;
  }

  .introduction_deco01{
    position: absolute;
    top: calc(35vw / 390 * 100);
    left: calc(-4vw / 390 * 100);
    width: calc(43vw / 390 * 100);
    z-index: 29;
  }
  .introduction_deco02{
    position: absolute;
    top: calc(35vw / 390 * 100);
    left: calc(68vw / 390 * 100);
    width: calc(43vw / 390 * 100);
    z-index: 29;
  }
  .introduction_deco03{
    position: absolute;
    top: calc(270vw / 390* 100);
    left: calc(69vw / 390* 100);
    width: calc(40vw / 390* 100);
    height: calc(48vw / 390* 100);
    overflow: hidden;
    z-index: 30;
  }
  .introduction_deco03-back{
    position: absolute;
    top: calc(270vw / 390* 100);
    left: calc(69vw / 390* 100);
    width: calc(40vw / 390* 100);
    z-index: 29;
  }
  .introduction_deco04{
    position: absolute;
    top: calc(412vw / 390* 100);
    left: calc(-18vw / 390* 100);
    width: calc(61vw / 390* 100);
    z-index: 30;
  }
  .introduction_deco05 {
    position: absolute;
    top: calc(840vw / 390* 100);
    left: calc(131vw / 390* 100);
    width: calc(45vw / 390* 100);
    z-index: 29;
    transform: scaleX(-1);
  }
  .introduction_deco06{
    position: absolute;
    top: calc(935vw / 390* 100);
    left: calc(35vw / 390* 100);
    width: calc(70vw / 390* 100);
    z-index: 30;
  }
  .introduction_deco07{
    position: absolute;
    top: calc(840vw / 390* 100);
    right: calc(31vw / 390* 100);
    width: calc(137vw / 390* 100);
    z-index: 30;
  }
}


/* banner
------------------------------------------------ */
.banner{
  position: relative;
  width: 100%;
  z-index: 30;
}
.banner_wrap{
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(1290vw / 1440 * 100);
  margin: calc(91vw / 1440 * 100) auto 0;
  transition: transform .9s, opacity .9s;
}
.is-active.banner_wrap{
  transform: translateX(-50%);
  opacity: 0;
}
.banner_link{
  position: relative;
  width: auto;
  height: calc(146vw / 1440 * 100);
  margin-left: calc(20vw / 1440 * 100);
  z-index: 50;
}
.banner_link img{
  width: auto;
  height: 100%;
}

@media screen and (max-width:768px) {
  .banner_wrap{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
    width: calc(350vw / 390 * 100);
    margin: calc(128vw / 390 * 100) auto 0;
  }
  .banner_link{
    position: relative;
    width: auto;
    height: auto;
    margin-left: 0;
    z-index: 50;
  }
  .banner_link + .banner_link{
    margin-top: calc(28vw / 390 * 100);
  }
  .banner_link img{
    width: 100%;
    height: auto;
  }
}

/* news
------------------------------------------------ */
.news{
  position: relative;
  width: 100%;
  z-index: 50;
}
.news_wrap{
  width: calc(1300vw / 1440 * 100);
  padding: calc(58vw / 1440 * 100) 0 calc(58vw / 1440 * 100) calc(94vw / 1440 * 100);
  margin: calc(82vw / 1440 * 100) 0 0 auto;
  border-radius: calc(20vw / 1440 * 100) 0 0 calc(20vw / 1440 * 100);
  box-sizing: border-box;
  background-color: #E2311E;
  color: #fff;
  transition: transform .9s, opacity .9s;
}
.is-active.news_wrap{
  transform: translateX(20%);
  opacity: 0;
}
.news_inner{
  width: calc(992vw / 1440 * 100);
}
.news_top{
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.news_top_title{
  font-family: "Zen Maru Gothic", serif;
  font-size: calc(80vw / 1440 * 100);
  line-height: 1;
  font-weight: 600;
}
.news_top_subtitle{
  display: block;
  margin-top: calc(20vw / 1440 * 100);
  margin-left: calc(24vw / 1440 * 100);
  font-size: calc(32vw / 1440 * 100);
  line-height: 1;
  font-weight: 600;
}
.news_list{
  margin: calc(45vw / 1440 * 100) 0 0 calc(100vw / 1440 * 100);
}
.news_list_row{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: calc(890vw / 1440 * 100);
}
.news_list_row:not(:first-child){
  margin-top: calc(26vw / 1440 * 100);
}
.news_list_date{
  width: calc(130vw / 1440 * 100);
  font-size: calc(18vw / 1440 * 100);
  line-height: 1.5;
  color: #FEC74A;
  flex: 0 0 auto;
}
.news_list_text{
  font-size: calc(20vw / 1440 * 100);
  line-height: 1.5;
  font-weight: 500;
}
.news_button{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(144vw / 1440 * 100);
  height: calc(40vw / 1440 * 100);
  font-size: calc(16vw / 1440 * 100);
  margin: calc(40vw / 1440 * 100) 0 0 auto;
  color: #E3007F;
  background-color: #fff;
  border-radius: calc(infinity * 1px);
}
.news_button::after{
  content: "";
  position: absolute;
  top: 0;
  right: calc(14vw / 1440 * 100);
  bottom: 0;
  display: block;
  width: calc(4vw / 1440 * 100);
  height: calc(7vw / 1440 * 100);
  margin: auto;
  background-image: url(/assets/img/icon-arrow01.svg);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
}
.news_deco01{
  position: absolute;
  top: calc(-34vw / 1440* 100);
  right: calc(198vw / 1440* 100);
  width: calc(234vw / 1440* 100);
  z-index: 30;
}
.news_deco02{
  position: absolute;
  bottom: calc(-134vw / 1440* 100);
  right: calc(94vw / 1440* 100);
  width: calc(238vw / 1440* 100);
  z-index: 30;
}

@media screen and (max-width:768px) {
  .news_wrap{
    width: calc(371vw / 390 * 100);
    padding: calc(35vw / 390 * 100) calc(20vw / 390 * 100) calc(40vw / 390 * 100) calc(30vw / 390 * 100);
    box-sizing: border-box;
    margin: calc(22vw / 390 * 100) 0 0 auto;
    border-radius: calc(20vw / 390 * 100) 0 0 calc(20vw / 390 * 100);
  }
  .news_inner{
    width: 100%;
  }
  .news_top{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  .news_top_title{
    font-size: calc(48vw / 390 * 100);
  }
  .news_top_subtitle{
    margin-top: calc(10vw / 390 * 100);
    margin-left: 0;
    font-size: calc(14vw / 390 * 100);
  }
  .news_list{
    margin: calc(25vw / 390 * 100) 0 0 0;
  }
  .news_list_row{
    flex-direction: column;
    width: 100%;
  }
  .news_list_row:not(:first-child){
    margin-top: calc(28vw / 390 * 100);
  }
  .news_list_date{
    width: calc(130vw / 390 * 100);
    font-size: calc(18vw / 390 * 100);
  }
  .news_list_text{
    margin-top: calc(14vw / 390 * 100);
    font-size: calc(14vw / 390 * 100);
    line-height: 1.5;
  }
  .news_button{
    width: calc(148vw / 390 * 100);
    height: calc(40vw / 390 * 100);
    font-size: calc(16vw / 390 * 100);
    margin: calc(40vw / 390 * 100) calc(100vw / 390 * 100) 0 auto;
  }
  .news_button::after{
    right: calc(14vw / 390 * 100);
    width: calc(4vw / 390 * 100);
    height: calc(7vw / 390 * 100);
  }

  .news_deco01{
    position: absolute;
    top: calc(30vw / 390* 100);
    right: calc(46vw / 390* 100);
    width: calc(127vw / 390* 100);
    z-index: 30;
  }
  .news_deco02{
    position: absolute;
    bottom: calc(-104vw / 390* 100);
    right: calc(27vw / 390* 100);
    width: calc(144vw / 390* 100);
    z-index: 30;
  }
}


/* event
------------------------------------------------ */
.event{
  position: relative;
  margin-top: calc(-165vw / 1440 * 100);
  padding: calc(260vw / 1440 * 100) 0 calc(100vw / 1440 * 100);
  background-image: url(/assets/img/bg_phot.jpg);
  background-size: cover;
  z-index: 6;
}
.event_wrap{
  position: relative;
  margin: auto;
  width: calc(1148vw / 1440 * 100);
}
.event_top{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.event_top_title{
  font-family: "Zen Maru Gothic", serif;
  font-size: calc(80vw / 1440 * 100);
  line-height: 1;
  font-weight: 600;
  color: #0075FF;
}
.event_top_subtitle{
  display: block;
  margin-top: calc(20vw / 1440 * 100);
  font-size: calc(32vw / 1440 * 100);
  line-height: 1;
  font-weight: 600;
}
.event_container{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  width: calc(936vw / 1440 * 100);
  margin: calc(30vw / 1440 * 100) auto 0;
}
.event_article{
  width: calc(360vw / 1440 * 100);
  overflow: hidden;
  margin-top: calc(50vw / 1440 * 100);
  border-radius: calc(24vw / 1440 * 100);
  background-color: #FEC74A;
  transform-origin: top left;
  transition: transform .9s, opacity .9s;
}
.is-active.event_article{
  transform: translateX(-20%) rotate(10deg);
}
.event_article:nth-child(2n){
  transform-origin: top right;
  transform: translateY(calc(-103vw / 1440 * 100))
}
.is-active.event_article:nth-child(2n){
  transform: translateY(calc(-103vw / 1440 * 100)) translateX(20%) rotate(-10deg);
}
.event_article-comingsoon{
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(360vw / 1440 * 100);
  height: calc(372vw / 1440 * 100);
  overflow: hidden;
  margin-top: calc(50vw / 1440 * 100);
  border-radius: calc(24vw / 1440 * 100);
  font-size: calc(28vw / 1440 * 100);
  background-color: #FFF2D6;
  color: #E3007F;
  transform-origin: top left;
  transition: transform .9s, opacity .9s;
}
.is-active.event_article-comingsoon{
  transform: translateX(-20%) rotate(10deg);
}
.event_article-comingsoon:nth-child(2n){
  transform: translateY(calc(-103vw / 1440 * 100))
}
.event_article-comingsoon:nth-child(2n){
  transform-origin: top right;
  transform: translateY(calc(-103vw / 1440 * 100))
}
.is-active.event_article-comingsoon:nth-child(2n){
  transform: translateY(calc(-103vw / 1440 * 100)) translateX(20%) rotate(-10deg);
}

.event_article_image{
  width: 100%;
  height: calc(200vw / 1440 * 100);
  object-fit: cover;
  object-position: center center;
}
.event_article_details{
  padding: calc(24vw / 1440 * 100);
  box-sizing: border-box;
}
.event_article_details_inner{
  display: -webkit-box;
  font-size: calc(18vw / 1440 * 100);
  line-height: 1.5;
  height: 3lh;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.event_button{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(144vw / 1440 * 100);
  height: calc(40vw / 1440 * 100);
  margin: calc(-50vw / 1440 * 100) calc(105vw / 1440 * 100) 0 auto;
  font-size: calc(16vw / 1440 * 100);
  line-height: 1;
  color: #fff;
  background-color: #E3007F;
  border-radius: calc(infinity * 1px);
}
.event_button::after{
  content: "";
  position: absolute;
  top: 0;
  right: calc(14vw / 1440 * 100);
  bottom: 0;
  display: block;
  width: calc(4vw / 1440 * 100);
  height: calc(7vw / 1440 * 100);
  margin: auto;
  background-image: url(/assets/img/icon-arrow01.svg);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  filter: grayscale(1) brightness(10);
}

.event_deco01{
  position: absolute;
  top: calc(262vw / 1440* 100);
  left: calc(491vw / 1440* 100);
  width: calc(112vw / 1440* 100);
  z-index: 30;
}
.event_deco02{
  position: absolute;
  top: calc(702vw / 1440* 100);
  right: calc(90vw / 1440* 100);
  width: calc(183vw / 1440* 100);
  z-index: 30;
}
.event_deco03{
  position: absolute;
  top: calc(1152vw / 1440* 100);
  left: calc(70vw / 1440* 100);
  width: calc(160vw / 1440* 100);
  z-index: 30;
}
.event_deco04{
  position: absolute;
  top: calc(1352vw / 1440* 100);
  right: calc(66vw / 1440* 100);
  width: calc(172vw / 1440* 100);
  z-index: 30;
}
.event_deco05{
  position: absolute;
  top: calc(358vw / 1440* 100);
  right: calc(640vw / 1440* 100);
  width: calc(51vw / 1440* 100);
  z-index: 30;
  transform: scaleX(-1);
}
.event_deco06{
  position: absolute;
  top: calc(466vw / 1440* 100);
  left: calc(640vw / 1440* 100);
  width: calc(51vw / 1440* 100);
  z-index: 30;
}
.event_deco07{
  position: absolute;
  top: calc(580vw / 1440* 100);
  right: calc(640vw / 1440* 100);
  width: calc(51vw / 1440* 100);
  z-index: 30;
  transform: scaleX(-1);
}
.event_deco08{
  position: absolute;
  top: calc(704vw / 1440* 100);
  left: calc(640vw / 1440* 100);
  width: calc(51vw / 1440* 100);
  z-index: 30;
}
.event_deco09{
  position: absolute;
  top: calc(813vw / 1440* 100);
  right: calc(640vw / 1440* 100);
  width: calc(51vw / 1440* 100);
  z-index: 30;
  transform: scaleX(-1);
}
.event_deco10{
  position: absolute;
  top: calc(873vw / 1440* 100);
  left: calc(654vw / 1440* 100);
  width: calc(28vw / 1440* 100);
  z-index: 30;
}
.event_deco11{
  position: absolute;
  top: calc(1063vw / 1440* 100);
  right: calc(640vw / 1440* 100);
  width: calc(51vw / 1440* 100);
  z-index: 30;
  transform: scaleX(-1);
}
.event_deco12{
  position: absolute;
  top: calc(1240vw / 1440* 100);
  left: calc(640vw / 1440* 100);
  width: calc(51vw / 1440* 100);
  z-index: 30;
}
.event_deco13{
  position: absolute;
  top: calc(1409vw / 1440* 100);
  right: calc(640vw / 1440* 100);
  width: calc(51vw / 1440* 100);
  z-index: 30;
  transform: scaleX(-1);
}
.event_deco14{
  position: absolute;
  bottom: calc(87vw / 1440* 100);
  left: calc(640vw / 1440* 100);
  width: calc(51vw / 1440* 100);
  z-index: 30;
}
.event_deco15{
  position: absolute;
  bottom: calc(-32vw / 1440* 100);
  right: calc(517vw / 1440* 100);
  width: calc(101vw / 1440* 100);
  z-index: 30;
}

@media screen and (max-width:768px) {
  .event{
    margin-top: calc(-165vw / 390 * 100);
    padding: calc(295vw / 390 * 100) 0 calc(120vw / 390 * 100);
    background-position: center center;
  }
  .event_wrap{
    margin: auto;
    width: calc(350vw / 390 * 100);
  }
  .event_top{
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-direction: column;
    margin-right: calc(62vw / 390* 100);
  }
  .event_top_title{
    font-size: calc(48vw / 390 * 100);
  }
  .event_top_subtitle{
    margin-top: calc(7vw / 390 * 100);
    margin-right: calc(30vw / 390 * 100);
    font-size: calc(14vw / 390 * 100);
  }
  .event_container{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: column;
    width: 100%;
    margin: calc(28vw / 390 * 100) auto 0;
  }
  .event_article{
    width: calc(275vw / 390 * 100);
    overflow: hidden;
    margin-top: 0;
    border-radius: calc(14vw / 390 * 100);
    background-color: #FEC74A;
    transform-origin: top right;
  }
  .event_article:nth-child(2n){
    transform: unset;
  }
  .is-active.event_article{
    transform: translateX(20%) rotate(-10deg);
  }
  .event_article:nth-child(2n){
    transform-origin: top right;
  }
  .is-active.event_article:nth-child(2n){
    transform: translateX(20%) rotate(-10deg);
  }
  .event_article:not(:first-child){
    margin-top: calc(42vw / 390 * 100);
  }
  .event_article-comingsoon{
    width: calc(275vw / 390 * 100);
    height: calc(284vw / 390 * 100);
    margin-top: 0;
    border-radius: calc(14vw / 390 * 100);
    font-size: calc(20vw / 390 * 100);
  }
  .is-active.event_article-comingsoon{
    transform: translateX(20%) rotate(-10deg);
  }
  .event_article-comingsoon:nth-child(2n){
    transform: unset;
    transform-origin: top right;
  }
  .event_article-comingsoon:not(:first-child){
    margin-top: calc(42vw / 390 * 100);
  }
  .is-active.event_article-comingsoon:nth-child(2n){
    transform: translateX(20%) rotate(-10deg);
  }
  .event_article:nth-child(n + 4){
    display: none;
  }
  .event_article-comingsoon:nth-child(n + 4){
    display: none;
  }
  .event_article_image{
    width: 100%;
    height: calc(200vw / 390 * 100);
    object-fit: cover;
    object-position: center center;
  }
  .event_article_details{
    padding: calc(14vw / 390 * 100);
  }
  .event_article_details_inner{
    font-size: calc(18vw / 390 * 100);
    line-height: 1.5;
    box-sizing: border-box;
  }
  .event_button{
    width: calc(144vw / 390 * 100);
    height: calc(34vw / 390 * 100);
    margin: calc(36vw / 390 * 100) calc(65vw / 390 * 100) 0 auto;
    font-size: calc(16vw / 390 * 100);
  }
  .event_button::after{
    content: "";
    position: absolute;
    top: 0;
    right: calc(14vw / 390 * 100);
    bottom: 0;
    display: block;
    width: calc(4vw / 390 * 100);
    height: calc(7vw / 390 * 100);
    margin: auto;
    background-image: url(/assets/img/icon-arrow01.svg);
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    filter: grayscale(1) brightness(10);
  }

  .event_deco01{
    position: absolute;
    top: calc(204vw / 390* 100);
    left: calc(11vw / 390* 100);
    width: calc(68vw / 390* 100);
    z-index: 30;
  }
  .event_deco02{
    position: absolute;
    top: calc(702vw / 390* 100);
    right: calc(6vw / 390* 100);
    width: calc(83vw / 390* 100);
    z-index: -1;
  }
  .event_deco03{
    position: absolute;
    top: calc(1039vw / 390* 100);
    left: calc(75vw / 390* 100);
    width: calc(50vw / 390* 100);
    z-index: 30;
  }
  .event_deco04{
    display: none;
  }
  .event_deco05{
    position: absolute;
    top: calc(358vw / 390* 100);
    right: calc(640vw / 390* 100);
    width: calc(51vw / 390* 100);
    z-index: 30;
    transform: scaleX(-1);
  }
  .event_deco06{
    position: absolute;
    top: calc(466vw / 390* 100);
    left: calc(-18vw / 390* 100);
    width: calc(51vw / 390* 100);
    z-index: 30;
  }
  .event_deco07{
    position: absolute;
    top: calc(580vw / 390* 100);
    right: calc(640vw / 390* 100);
    width: calc(51vw / 390* 100);
    z-index: 30;
    transform: scaleX(-1);
  }
  .event_deco08{
    position: absolute;
    top: calc(894vw / 390* 100);
    left: calc(-18vw / 390* 100);
    width: calc(51vw / 390* 100);
    z-index: 30;
  }
  .event_deco09{
    display: none;
  }
  .event_deco10{
    position: absolute;
    top: calc(1099vw / 390* 100);
    left: calc(6vw / 390* 100);
    width: calc(28vw / 390* 100);
    z-index: 30;
  }
  .event_deco11{
    display: none;
  }
  .event_deco12{
    display: none;
  }
  .event_deco13{
    display: none;
  }
  .event_deco14{
    position: absolute;
    bottom: calc(7vw / 390* 100);
    left: calc(59vw / 390* 100);
    width: calc(51vw / 390* 100);
    z-index: 30;
  }
  .event_deco15 {
    position: absolute;
    bottom: calc(-8vw / 390* 100);
    right: calc(10vw / 390* 100);
    width: calc(54vw / 390* 100);
    z-index: 30;
    transform: scaleX(-1);
  }
}


/* visual
------------------------------------------------ */
.visual{
  position: relative;
  padding: calc(117vw / 1440 * 100) 0 0;
  color: #fff;
  z-index: 7;
}
.visual_wrap{
  margin: auto;
  width: calc(1124vw / 1440 * 100);
}
.visual_top{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  margin-left: calc(532vw / 1440 * 100);
}
.visual_top_title{
  font-family: "Zen Maru Gothic", serif;
  font-size: calc(80vw / 1440 * 100);
  line-height: 1;
  font-weight: 600;
  color: #E3007F;
}
.visual_top_subtitle{
  display: block;
  margin-top: calc(20vw / 1440 * 100);
  font-size: calc(32vw / 1440 * 100);
  line-height: 1;
  font-weight: 600;
  color: #fff;
}
.visual_container{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: calc(1032vw / 1440 * 100);
  margin: calc(86vw / 1440 * 100) 0 0 auto;
}
.visual_image{
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(552vw / 1440 * 100);
  height: calc(675vw / 1440 * 100);
  overflow: hidden;
  border-radius: calc(24vw / 1440 * 100);
  background-color: #fff;
}
.visual_image img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}
.visual_details{
  width: calc(456vw / 1440 * 100);
}
.visual_profile{
}
.visual_profile_sns{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.visual_profile_sns_icon{
  display: block;
  width: calc(30vw / 1440* 100);
  height: calc(30vw / 1440* 100);
  margin-right: calc(33vw / 1440* 100);
}
.visual_profile_sns_icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  background-repeat: no-repeat;
}
.visual_profile_top{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: calc(28vw / 1440 * 100);
}
.visual_profile_image{
  width: calc(80vw / 1440 * 100);
  height: calc(80vw / 1440 * 100);
  margin-right: calc(17vw / 1440 * 100);
  border-radius: 100%;
  overflow: hidden;
}
.visual_profile_headline{
  margin-top: calc(13vw / 1440 * 100);
  font-size: calc(16vw / 1440 * 100);
  line-height: 1;
}
.visual_profile_name{
  margin-top: calc(8vw / 1440 * 100);
  font-size: calc(22vw / 1440 * 100);
  line-height: 1;
}
.visual_profile_text{
  margin-top: calc(26vw / 1440 * 100);
  font-size: calc(16vw / 1440 * 100);
  line-height: 1.9;
  font-weight: 400;
}
.visual_comment{
  margin-top: calc(58vw / 1440 * 100);
}
.visual_comment_headline{
  font-size: calc(22vw / 1440 * 100);
  line-height: 1;
}
.visual_comment_text{
  margin-top: calc(15vw / 1440 * 100);
  font-size: calc(16vw / 1440 * 100);
  line-height: 1.9;
  font-weight: 400;
}
.visual_button{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(358vw / 1440 * 100);
  height: calc(40vw / 1440 * 100);
  margin: calc(105vw / 1440 * 100) 0 0 auto;
  font-size: calc(16vw / 1440 * 100);
  line-height: 1;
  color: #fff;
  background-color: #E3007F;
  border-radius: calc(infinity * 1px);
}
.visual_button::after{
  content: "";
  position: absolute;
  top: 0;
  right: calc(14vw / 1440 * 100);
  bottom: 0;
  display: block;
  width: calc(4vw / 1440 * 100);
  height: calc(7vw / 1440 * 100);
  margin: auto;
  background-image: url(/assets/img/icon-arrow01.svg);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  filter: grayscale(1) brightness(10);
}
.visual_about{
  margin-top: calc(95vw / 1440* 100);
  padding: calc(36vw / 1440* 100) 0 calc(58vw / 1440* 100);
  background-image: linear-gradient(20deg, rgba(64, 72, 219, .8), rgba(105, 113, 246, .8));
}
.visual_about_wrap{
  margin: calc(30vw / 1440 * 100) auto 0;
  width: calc(1124vw / 1440 * 100);
}
.visual_about_container{
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: calc(32vw / 1440 * 100) 0 0 auto;
  width: calc(1029vw / 1440 * 100);
}
.visual_about_details{
  width: calc(552vw / 1440 * 100);
}
.visual_about_title{
  font-size: calc(28vw / 1440 * 100);
  line-height: 1.5;
  font-weight: 600;
}
.visual_about_text{
  font-size: calc(16vw / 1440 * 100);
  line-height: 2;
  font-weight: 400;
}
.visual_about_notes{
  display: block;
  margin-top: calc(21vw / 1440 * 100);
  font-size: calc(12vw / 1440 * 100);
  line-height: 1.5;
  font-weight: 300;
}
.visual_about_by{
  display: block;
  margin-top: calc(28vw / 1440 * 100);
  font-size: calc(12vw / 1440 * 100);
  line-height: 1.5;
  font-weight: 300;
}
.visual_about_button{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(264vw / 1440 * 100);
  height: calc(40vw / 1440 * 100);
  margin: calc(28vw / 1440 * 100) 0 0 auto;
  font-size: calc(16vw / 1440 * 100);
  line-height: 1;
  color: #fff;
  background-color: #E3007F;
  border-radius: calc(infinity * 1px);
}
.visual_about_button::after{
  content: "";
  position: absolute;
  top: 0;
  right: calc(14vw / 1440 * 100);
  bottom: 0;
  display: block;
  width: calc(4vw / 1440 * 100);
  height: calc(7vw / 1440 * 100);
  margin: auto;
  background-image: url(/assets/img/icon-arrow01.svg);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  filter: grayscale(1) brightness(10);
}
.visual_about_image{
  position: absolute;
  top: calc(-30vw / 1440 * 100);
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(360vw / 1440 * 100);
  height: calc(538vw / 1440 * 100);
  overflow: hidden;
  border-radius: calc(24vw / 1440 * 100);
  background-color: #fff;
}
.visual_about_image img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.visual_deco01{
  position: absolute;
  top: calc(28vw / 1440* 100);
  left: calc(89vw / 1440* 100);
  width: calc(281vw / 1440* 100);
  z-index: 30;
}
.visual_deco02{
  position: absolute;
  top: calc(985vw / 1440* 100);
  right: calc(549vw / 1440* 100);
  width: calc(210vw / 1440* 100);
  z-index: 30;
}



@media screen and (max-width:768px) {
  .visual{
    padding: calc(69vw / 390 * 100) 0 0;
  }
  .visual_wrap{
    margin: 0 auto 0;
    width: calc(350vw / 390 * 100);
  }
  .visual_top{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    margin-left: auto;
    width: calc(276vw / 390 * 100);
  }
  .visual_top_title{
    font-size: calc(48vw / 390 * 100);
  }
  .visual_top_subtitle{
    margin-top: calc(8vw / 390 * 100);
    font-size: calc(14vw / 390 * 100);
  }
  .visual_container{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    margin: calc(42vw / 390 * 100) 0 0 auto;
  }
  .visual_image{
    width: calc(276vw / 390 * 100);
    height: calc(370vw / 390 * 100);
    margin-left: auto;
    overflow: hidden;
    border-radius: calc(14vw / 390 * 100);
  }
  .visual_image img{
    
  }
  .visual_details{
    width: calc(276vw / 390 * 100);
    margin-left: auto;
  }
  .visual_profile{
    margin-top: calc(76vw / 390 * 100);
    margin-left: auto;
  }
  .visual_profile_sns{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .visual_profile_sns_icon{
    display: block;
    width: calc(33vw / 390 * 100);
    height: calc(33vw / 390 * 100);
    margin-right: calc(27vw / 390 * 100);
  }
  .visual_profile_sns_icon img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    background-repeat: no-repeat;
  }
  .visual_profile_top{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: calc(28vw / 390 * 100);
  }
  .visual_profile_image{
    width: calc(80vw / 390 * 100);
    height: calc(80vw / 390 * 100);
    margin-right: calc(16vw / 390 * 100);
  }
  .visual_profile_headline{
    margin-top: calc(16vw / 390 * 100);
    font-size: calc(16vw / 390 * 100);
    line-height: 1;
  }
  .visual_profile_name{
    margin-top: calc(10vw / 390 * 100);
    font-size: calc(22vw / 390 * 100);
    line-height: 1;
  }
  .visual_profile_text{
    margin-top: calc(26vw / 390 * 100);
    font-size: calc(14vw / 390 * 100);
    line-height: 1.7;
    font-weight: 400;
  }
  .visual_comment{
    margin-top: calc(46vw / 390 * 100);
  }
  .visual_comment_headline{
    font-size: calc(22vw / 390 * 100);
    line-height: 1;
  }
  .visual_comment_text{
    margin-top: calc(24vw / 390 * 100);
    font-size: calc(14vw / 390 * 100);
    line-height: 1.7;
    font-weight: 400;
  }
  .visual_button{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: calc(245vw / 390 * 100);
    height: calc(62vw / 390 * 100);
    margin: calc(53vw / 390 * 100) auto 0;
    font-size: calc(16vw / 390 * 100);
    line-height: 1.3;
    background-color: #E3007F;
  }
  .visual_button::after{
    content: "";
    position: absolute;
    top: 0;
    right: calc(14vw / 390 * 100);
    bottom: 0;
    display: block;
    width: calc(4vw / 390 * 100);
    height: calc(7vw / 390 * 100);
    margin: auto;
    background-image: url(/assets/img/icon-arrow01.svg);
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    filter: grayscale(1) brightness(10);
  }
  .visual_about{
    margin-top: calc(94vw / 390 * 100);
    padding: 0 0 0;
    background-image: linear-gradient(20deg, rgba(64,72,219, .8), rgba(105,113,246,.8));
  }
  .visual_about_wrap{
    margin: 0 auto 0;
    width: calc(350vw / 390 * 100);
  }
  .visual_about_container{
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
    margin: 0 0 0 auto;
    width: calc(276vw / 390 * 100);
    padding-top: calc(468vw / 390 * 100);
    padding-bottom: calc(38vw / 390 * 100);
  }
  .visual_about_details{
    width: calc(276vw / 390 * 100);
    margin-top: calc(16vw / 390 * 100);
  }
  .visual_about_title{
    font-size: calc(22vw / 390 * 100);
    line-height: 1.5;
    font-weight: 600;
  }
  .visual_about_text{
    margin-top: calc(7vw / 390 * 100);
    font-size: calc(14vw / 390 * 100);
    line-height: 1.5;
    font-weight: 400;
  }
  .visual_about_notes{
    display: block;
    margin-top: calc(40vw / 390 * 100);
    font-size: calc(12vw / 390 * 100);
    line-height: 1.5;
    font-weight: 300;
  }
  .visual_about_by{
    display: block;
    margin-top: calc(15vw / 390 * 100);
    font-size: calc(12vw / 390 * 100);
    line-height: 1.5;
    font-weight: 300;
  }
  .visual_about_button{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(176vw / 390 * 100);
    height: calc(34vw / 390 * 100);
    margin: calc(42vw / 390 * 100) auto 0;
    font-size: calc(16vw / 390 * 100);
    line-height: 1;
    color: #fff;
    background-color: #E3007F;
    border-radius: calc(infinity * 1px);
  }
  .visual_about_button::after{
    content: "";
    position: absolute;
    top: 0;
    right: calc(14vw / 390 * 100);
    bottom: 0;
    display: block;
    width: calc(4vw / 390 * 100);
    height: calc(7vw / 390 * 100);
    margin: auto;
    background-image: url(/assets/img/icon-arrow01.svg);
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    filter: grayscale(1) brightness(10);
  }
  .visual_about_image{
    position: absolute;
    top: calc(74vw / 390 * 100);
    width: calc(276vw / 390 * 100);
    height: calc(370vw / 390 * 100);
    border-radius: calc(24vw / 390 * 100);
  }
  .visual_about_image img{
  }

  .visual_deco01{
    position: absolute;
    top: calc(-43vw / 390* 100);
    left: calc(79vw / 390* 100);
    width: calc(131vw / 390* 100);
    z-index: 30;
  }
  .visual_deco02{
    position: absolute;
    top: calc(1275vw / 390* 100);
    left: calc(99vw / 390* 100);
    width: calc(120vw / 390* 100);
    z-index: 30;
  }
}



/* link
------------------------------------------------ */
.link{
  position: relative;
  width: 100%;
  padding: calc(156vw / 1440 * 100) 0 0;
}
.link_wrap{
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: calc(1124vw / 1440 * 100);
  margin: auto;
  z-index: 7;
}
.link_button{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: calc(640vw / 1440 * 100);
  height: calc(191vw / 1440 * 100);
  border-radius: calc(10vw / 1440 * 100);
}
.link_button::after{
  content: "";
  position: absolute;
  top: 0;
  right: calc(44vw / 1440 * 100);
  bottom: 0;
  display: block;
  width: calc(18vw / 1440 * 100);
  height: calc(12vw / 1440 * 100);
  margin: auto;
  background-image: url(/assets/img/icon-arrow01.svg);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  filter: grayscale(10) brightness(10);
}

.link_button-blue{
  position: relative;
  background-color: #6971F6;
  background-size: cover;
}
.link_button-blue::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(/assets/img/ashibi_banner.jpg);
  background-size: cover;
  opacity: .1;
  z-index: 0;
}
.link_button-red{
  background-color: #E3007F;
}
.link_button_text{
  position: relative;
  font-size: calc(28vw / 1440 * 100);
  line-height: 1.5;
  font-weight: 600;
  color: #FFE651;
  text-align: center;
  z-index: 1;
}
.link_button_subtext{
  display: block;
  margin-top: calc(15vw / 1440 * 100);
  font-size: calc(18vw / 1440 * 100);
  line-height: 1;
  font-weight: 600;
  color: #fff;
  text-align: center;
}
.link_deco01{
  position: absolute;
  top: calc(-61vw / 1440* 100);
  left: calc(263vw / 1440* 100);
  width: calc(100vw / 1440* 100);
  z-index: 30;
  transform: scaleX(-1);
}
.link_deco02{
  position: absolute;
  top: calc(113vw / 1440* 100);
  left: calc(14vw / 1440* 100);
  width: calc(66vw / 1440* 100);
  z-index: 30;
}
.link_deco03{
  position: absolute;
  top: calc(163vw / 1440* 100);
  right: calc(217vw / 1440* 100);
  width: calc(97vw / 1440* 100);
  z-index: 30;
}

@media screen and (max-width:768px) {
  .link{
    padding: calc(54vw / 390 * 100) 0 0;
  }
  .link_wrap{
    width: calc(350vw / 390 * 100);
    margin: auto;
  }
  .link_button{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-left: auto;
    width: calc(276vw / 390 * 100);
    height: calc(105vw / 390 * 100);
    border-radius: calc(10vw / 390 * 100);
    z-index: 10;
  }
  .link_button::after{
    content: "";
    position: absolute;
    top: 0;
    right: calc(5vw / 390 * 100);
    bottom: 0;
    display: block;
    width: calc(18vw / 390 * 100);
    height: calc(12vw / 390 * 100);
    margin: auto;
    background-image: url(/assets/img/icon-arrow01.svg);
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    filter: grayscale(10) brightness(10);
  }
  .link_button-blue{
    background-color: #6971F6;
  }
  .link_button-red{
    background-color: #E3007F;
  }
  .link_button_text{
    font-size: calc(17vw / 390 * 100);
  }
  .link_button_subtext{
    margin-top: calc(15vw / 390 * 100);
    font-size: calc(18vw / 390 * 100);
  }
  .link_deco01 {
    position: absolute;
    top: calc(-79vw / 390* 100);
    left: calc(68vw / 390* 100);
    width: calc(66vw / 390* 100);
    z-index: 30;
    transform: scaleX(-1);
  }
  .link_deco02{
    position: absolute;
    top: calc(-9vw / 390* 100);
    left: calc(-19vw / 390* 100);
    width: calc(51vw / 390* 100);
    z-index: 30;
  }
  .link_deco03{
    position: absolute;
    top: calc(-36vw / 390* 100);
    right: calc(19vw / 390* 100);
    width: calc(37vw / 390* 100);
    z-index: 30;
  }
}



/* goods
------------------------------------------------ */
.goods{
  position: relative;
  margin: calc(115vw / 1440 * 100) auto 0;
  padding-bottom: calc(130vw / 1440 * 100);
  width: 100%;
  z-index: 7;
}
.goods_comingsoon{
  width: calc(1281vw / 1440 * 100);
  padding: calc(42vw / 1440 * 100) 0 calc(60vw / 1440 * 100);
  border-radius: 0 calc(20vw / 1440 * 100) calc(20vw / 1440 * 100) 0;
  background-color: #E3007F;
}
.goods_comingsoon_wrap{
  text-align: center;
  width: calc(1122vw / 1440 * 100);
  margin-left: auto;
}
.goods_comingsoon_headline{
  font-family: "Zen Maru Gothic", serif;
  font-size: calc(50vw / 1440 * 100);
  color: #FEC74A;
  font-weight: 600;
}
.goods_comingsoon_sub{
  margin-top: calc(15vw / 1440 * 100);
  font-size: calc(28vw / 1440 * 100);
  color: rgba(37, 37, 37, .87);
}
.goods_comingsoon_main{
  font-family: "Zen Maru Gothic", serif;
  margin-top: calc(10vw / 1440 * 100);
  font-size: calc(73vw / 1440 * 100);
  letter-spacing: 0.07em;
  color: #fff;
}

.goods_banner{
  display: block;
  width: calc(1281vw / 1440 * 100);
  padding: calc(42vw / 1440 * 100) 0 calc(60vw / 1440 * 100);
  border-radius: 0 calc(20vw / 1440 * 100) calc(20vw / 1440 * 100) 0;
  background-color: #E3007F;
}
.goods_banner_wrap{
  text-align: left;
  width: calc(1122vw / 1440 * 100);
  margin-left: auto;
}
.goods_banner_headline{
  font-family: "Zen Maru Gothic", serif;
  font-size: calc(80vw / 1440 * 100);
  color: #E3007F;
  font-weight: 600;
}
.goods_banner_sub{
  margin-top: calc(15vw / 1440 * 100);
  font-size: calc(28vw / 1440 * 100);
  color: #fff;
}
.goods_banner_main{
  font-family: "Zen Maru Gothic", serif;
  margin-top: calc(10vw / 1440 * 100);
  font-size: calc(48vw / 1440 * 100);
  color: #fff;
}
.goods_banner_main_icon{
  content: "→";
  display: inline-block;
  width: calc(41vw / 1440 * 100);
  height: calc(41vw / 1440 * 100);
}

.goods_banner--image{
  display: block;
  width: calc(1000vw / 1440 * 100);
  margin-top: calc(35vw / 1440 * 100);
}

.goods_wrap{
  width: calc(842vw / 1440 * 100);
  margin: 0 calc(245vw / 1440 * 100) 0 auto;
}
.goods_top{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.goods_top_title{
  font-family: "Zen Maru Gothic", serif;
  font-size: calc(80vw / 1440 * 100);
  line-height: 1;
  font-weight: 600;
  color: #E3007F;
}
.goods_top_subtitle{
  display: block;
  margin-top: calc(20vw / 1440 * 100);
  font-size: calc(32vw / 1440 * 100);
  line-height: 1;
  font-weight: 600;
}
.goods_wrap{

}
.goods_container{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: calc(57vw / 1440 * 100) auto 0;
}
.goods_item{
  width: calc(264vw / 1440 * 100);
}
.goods_image{
  width: calc(264vw / 1440 * 100);
  height: calc(264vw / 1440 * 100);
  border-radius: calc(24vw / 1440 * 100);
  overflow: hidden;
}
.goods_image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.goods_option{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: calc(8vw / 1440 * 100);
}
.goods_small{
  font-size: calc(14vw / 1440 * 100);
  line-height: 1.3;
  font-weight: 300;
}
.goods_label{
  padding: calc(7vw / 1440 * 100) calc(17vw / 1440 * 100);
  font-size: calc(13vw / 1440 * 100);
  background-color: #fff;
  border-radius: calc(infinity * 1px);
}
.goods_name{
  margin-top: calc(6vw / 1440 * 100);
  font-size: calc(16vw / 1440 * 100);
  line-height: 1.3;
  font-weight: 300;
}
.goods_price{
  margin-top: calc(16vw / 1440 * 100);
  font-size: calc(18vw / 1440 * 100);
  line-height: 1.3;
  font-weight: 600;
}
.goods_price_tax{
  font-size: calc(12vw / 1440 * 100);
  line-height: 1.3;
  font-weight: 400;
}
.goods_button{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(264vw / 1440 * 100);
  height: calc(40vw / 1440 * 100);
  margin: calc(70vw / 1440 * 100) auto 0;
  color: #fff;
  background-color: #E3007F;
  border-radius: calc(infinity * 1px);
}
.goods_button::after{
  content: "";
  position: absolute;
  top: 0;
  right: calc(14vw / 1440 * 100);
  bottom: 0;
  display: block;
  width: calc(4vw / 1440 * 100);
  height: calc(7vw / 1440 * 100);
  margin: auto;
  background-image: url(/assets/img/icon-arrow01.svg);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  filter: grayscale(10) brightness(10);
}
.goods_deco01{
  position: absolute;
  top: calc(-250vw / 1440* 100);
  left: calc(177vw / 1440* 100);
  width: calc(147vw / 1440* 100);
  z-index: 30;
}
.goods_deco02{
  position: absolute;
  top: calc(-253vw / 1440* 100);
  right: calc(118vw / 1440* 100);
  width: calc(237vw / 1440* 100);
  z-index: 30;
}


@media screen and (max-width:768px) {
  .goods{
    margin: calc(52vw / 390 * 100) auto 0;
    padding-bottom: calc(150vw / 390 * 100);
    width: 100%;
    z-index: 7;
  }

  .goods_comingsoon{
    width: calc(370vw / 390 * 100);
    padding: calc(32vw / 390 * 100) 0 calc(33vw / 390 * 100);
    border-radius: 0 calc(10vw / 390 * 100) calc(10vw / 390 * 100) 0;
  }
  .goods_comingsoon_wrap{
    text-align: center;
    width: calc(275vw / 390 * 100);
    margin-left: calc(70vw / 390 * 100);
  }
  .goods_comingsoon_headline{
    font-size: calc(26vw / 390 * 100);
  }
  .goods_comingsoon_sub{
    margin-top: calc(12vw / 390 * 100);
    font-size: calc(16vw / 390 * 100);
  }
  .goods_comingsoon_main{
    margin-top: calc(10vw / 390 * 100);
    font-size: calc(43vw / 390 * 100);
  }

  .goods_banner{
    width: calc(370vw / 390 * 100);
    padding: calc(32vw / 390 * 100) 0 calc(33vw / 390 * 100);
    border-radius: 0 calc(10vw / 390 * 100) calc(10vw / 390 * 100) 0;
  }
  .goods_banner_wrap{
    text-align: center;
    width: calc(275vw / 390 * 100);
    margin-left: calc(90vw / 390 * 100);
  }
  .goods_banner_headline{
    font-size: calc(26vw / 390 * 100);
  }
  .goods_banner_sub{
    margin-top: calc(12vw / 390 * 100);
    font-size: calc(16vw / 390 * 100);
  }
  .goods_banner_main{
    margin-top: calc(10vw / 390 * 100);
    font-size: calc(23vw / 390 * 100);
    line-height: 1.2;
  }
  .goods_banner_main_icon{
    display: block;
    width: calc(23vw / 390 * 100);
    height: calc(23vw / 390 * 100);
    margin: calc(8vw / 390 * 100) auto;
  }
  .goods_banner--image{
    width: calc(276vw / 390* 100);
    margin-top: calc(20vw / 390* 100);
  }
  .goods_wrap{
    width: calc(842vw / 1440 * 100);
    margin: 0 calc(245vw / 1440 * 100) 0 auto;
  }
  .goods_top{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  .goods_top_title{
    font-family: "Zen Maru Gothic", serif;
    font-size: calc(80vw / 1440 * 100);
    line-height: 1;
    font-weight: 600;
    color: #FEC74A;
  }
  .goods_top_subtitle{
    display: block;
    margin-top: calc(20vw / 1440 * 100);
    font-size: calc(32vw / 1440 * 100);
    line-height: 1;
    font-weight: 600;
  }
  .goods_wrap{
  
  }
  .goods_container{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: calc(57vw / 1440 * 100) auto 0;
  }
  .goods_item{
    width: calc(264vw / 1440 * 100);
  }
  .goods_image{
    width: calc(264vw / 1440 * 100);
    height: calc(264vw / 1440 * 100);
    border-radius: calc(24vw / 1440 * 100);
    overflow: hidden;
  }
  .goods_image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .goods_option{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: calc(8vw / 1440 * 100);
  }
  .goods_small{
    font-size: calc(14vw / 1440 * 100);
    line-height: 1.3;
    font-weight: 300;
  }
  .goods_label{
    padding: calc(7vw / 1440 * 100) calc(17vw / 1440 * 100);
    font-size: calc(13vw / 1440 * 100);
    background-color: #fff;
    border-radius: calc(infinity * 1px);
  }
  .goods_name{
    margin-top: calc(6vw / 1440 * 100);
    font-size: calc(16vw / 1440 * 100);
    line-height: 1.3;
    font-weight: 300;
  }
  .goods_price{
    margin-top: calc(16vw / 1440 * 100);
    font-size: calc(18vw / 1440 * 100);
    line-height: 1.3;
    font-weight: 600;
  }
  .goods_price_tax{
    font-size: calc(12vw / 1440 * 100);
    line-height: 1.3;
    font-weight: 400;
  }
  .goods_button{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(264vw / 1440 * 100);
    height: calc(40vw / 1440 * 100);
    margin: calc(70vw / 1440 * 100) auto 0;
    color: #fff;
    background-color: #E3007F;
    border-radius: calc(infinity * 1px);
  }
  .goods_button::after{
    content: "";
    position: absolute;
    top: 0;
    right: calc(14vw / 1440 * 100);
    bottom: 0;
    display: block;
    width: calc(4vw / 1440 * 100);
    height: calc(7vw / 1440 * 100);
    margin: auto;
    background-image: url(/assets/img/icon-arrow01.svg);
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    filter: grayscale(10) brightness(10);
  }
  .goods_deco01{
    position: absolute;
    top: calc(-31vw / 390* 100);
    left: calc(63vw / 390* 100);
    width: calc(57vw / 390* 100);
    z-index: 30;
  }
  .goods_deco02{
    position: absolute;
    top: calc(227vw / 390* 100);
    right: calc(2vw / 390* 100);
    width: calc(97vw / 390* 100);
    z-index: 30;
  }
}