/**
 * reset
 */
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, main {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
    
  letter-spacing: normal;
  vertical-align: baseline;
  background: transparent;
}

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

body{
  position: relative;
}

ul {
    padding-left: 0px;
    margin-block-start: 0em;
    margin-block-end: 0em;
    padding-inline-start: 0px;
}
li {
    list-style: none;
}

html{
  height: 100%;
}
body {
    background-color:#2b85a0;
    color: #fff;
    font-size: 16px;
    line-height: 1.8em;
    letter-spacing: 0.05em;
    margin: 0;
    font-family: 'Zen Maru Gothic', serif;
    font-weight:500;
    text-align: center;
    height: 100%;
  }

@media screen and (max-width: 450px){
  body{
    font-size:14px;
    line-height: 1.8em;
  }
}

a {
    color: orange;
    text-decoration: none;
}


img {
  max-width: 100%;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  height: auto;
}

p {
    margin-block-start: 0px;
    margin-block-end: 0px;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
}

div{
  max-width:100%;
  box-sizing: border-box;
}



.clear {
    clear: both;
}


.underline {
    text-decoration: underline;
}

.loading {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; 
    width: auto;
    height: 100%;
    color: #2b85a0;
    background-color: #fff;
    z-index: 1100;

    display: flex;
    justify-content: center;
    align-items: center;
}


.hide{
  opacity: 0;
}

.sp{
  display: none;
}

@media screen and (max-width : 768px) {
  .sp{
    display: block;
  }
  .pc{
    display: none;
  }
}

.a_absolute{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.op0{
  opacity: 0;
}

.op1{
  opacity: 1;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ローディング
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/


.loading-wrapper {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; 
  width: auto;
  height: 100%;
  background-color:#fff;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  z-index: 1000;
}

.loading-content {
  text-align: center;
  width: 100%;
  max-width: 100%; /* PCのときに幅が広すぎないよう制限 */
}


.progress-bar-background {
  width: 100%;
  height: 6px;
  background-color: #f9f4f7;
  overflow: hidden;
  margin-top: 20px;
}

.progress-bar {
  height: 100%;
  width: 0%;
  background-color: #2b85a0;
  transition: width 0.3s ease;
}

/* フェードアウト用 */
.loading_fade-out {
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}



/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
TOP
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.top_wrap{
  width: 100%;
  background-color: #2b85a0;
  background-image:url(../img/bg_cloud.jpg);
  background-position:center bottom;
  background-size:contain;
  background-repeat:no-repeat;
}

.top_width{
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  background-image:url(../img/top.jpg);
  background-position:center;
  background-size:cover;
}


.top_width::before{
  content: "";
  display: block;
  padding-top: 91%;
}


@media screen and (max-width: 450px){
  .top_width{ height: 100vh; }
  .top_width::before{ display: none; }
}

.top_logo{
  display: none;
  position: absolute;
  top: 4.25%;
  left: 50%;
  width: 50%;
  height: auto;
  transform:translateX(-50%);

  animation-name: logo_move;
  animation-timing-function: ease-in-out;
  animation-duration: 1.2s;
}

@keyframes logo_move {
    0% {
        transform:translateX(-50%) translateY(50px);
        opacity: 0;
    }

    100% {
        transform:translateX(-50%) translateY(0px);
        opacity: 1;
    }
}

@media screen and (max-width: 450px){
  .top_logo{
    position: absolute;
    top: 8%;
    left: 50%;
    width: 85%;
    height: auto;
    transform:translateX(-50%);
  }
}

.top_release{
  position: absolute;
  bottom: -36px;
  left: 50%;
  width: 36%;
  max-width:548px;
  height: auto;
  transform:translateX(-50%);
}

@media screen and (max-width: 450px){
  .top_release{
    width: 62%;
    bottom: 5%;
  }
}

.top_width2{
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 58px;
  margin-bottom: 58px;
  padding: 0 36px;
  font-size:16px;
  font-weight: 700;
  line-height: 1.8em;
}


@media screen and (max-width: 450px){
  .top_width2{
    margin-top: 50px;
    padding: 0 26px;
    font-size:13px;
    line-height: 1.8em;
  }
}

.pkg_width{
  position: relative;
  width: 62%;
  max-width: calc(1200px * 0.62);
  margin: 0 auto;
  padding: 0 36px;
}


@media screen and (max-width: 450px){
  .pkg_width{
    width: 100%;
    padding: 0 26px;
  }
}

.pkg_width img{
  width: 100%;
  height: auto;
  filter: drop-shadow(5px 5px 5px rgba(21,109,149,0.5));
}


.top_width3{
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 32px;
  padding: 0 36px;
  padding-bottom: 110px;
  font-size:16px;
  font-weight: 700;
  line-height: 1.8em;
}

@media screen and (max-width: 450px){
  .top_width3{
    margin-top: 20px;
    padding: 0 26px;
    padding-bottom: 80px;
    font-size:13px;
    line-height: 1.8em;
  }
}

.top_price{
  line-height: 1em;
  margin-top: 20px;
  font-weight: 700;
}

.top_s{
  font-size:12px;
  line-height: 1em;
}



/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
TOP
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.tokuten_wrap{
  width: 100%;
  background-color: #91c5cb;

}

.tokuten_width{
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 68px;
}

@media screen and (max-width: 768px){
  .tokuten_width{
    padding:0 42px;
  }
}

@media screen and (max-width: 450px){
  .tokuten_width{
    padding:0 16px;
  }
}

.deco{
  margin-top: 80px;
  width: 58px;
  height: auto;
}

@media screen and (max-width: 768px){
    .deco{
      margin-top: 50px;
      width: 50px;
      height: auto;
    }
}

@media screen and (max-width: 450px){
    .deco{
      margin-top: 50px;
      width: 50px;
      height: auto;
    }
}


.tokuten_m{
  margin-top: 26px;
  font-size:42px;
  font-weight: 700;
  line-height: 1em;
  color: #2b85a0;
}

@media screen and (max-width: 450px){
  .tokuten_m{
    margin-top: 16px;
    font-size:36px;
    font-weight: 700;
    line-height: 1em;
    color: #2b85a0;
  }
}

.tokuten_date{
  margin:20px 0;
  font-size:20px;
  font-weight: 700;
  line-height: 1em;
  color: #1a2940;
}

.tokuten_text{
  margin-bottom: 20px;
  color: #2b85a0;
  font-size:12px;
  font-weight: 700;
  line-height: 1.6em;
}


@media screen and (max-width: 768px){
  .tokuten_text{
    font-size:10px;
    margin-bottom: 16px;
  }
}

@media screen and (max-width: 450px){
  .tokuten_text{
    margin-bottom: 26px;
  }
}

.tokuten_flex{
  width: 100%;
  padding-bottom: 152px;
  display:flex;
  flex-wrap:wrap;
  gap:5%;
  justify-content: center;
}

@media screen and (max-width: 768px){
  .tokuten_flex{
    gap:5%;
    padding-bottom: 130px;
  }
}

@media screen and (max-width: 450px){
  .tokuten_flex{
    padding-bottom: 100px;
    gap:4%;
  }
}


.tokuten_section{
  width: 30%;
  margin-top: 42px;
  padding: 36px 20px;
  color: #1a2940;
  font-size:14px;
  line-height: 1.6em;
  font-weight: 400;
  background-color:#d3e8e9;
  border-radius:10px;
  filter: drop-shadow(5px 5px 5px rgba(21,109,149,0.1));

  transform:translateY(50px);
  opacity: 0;
  transition: all .8s ease;
}

@media screen and (max-width: 768px){
  .tokuten_section{
    margin-top: 42px;
    padding: 36px 16px;
    width: 47.5%;
    font-size:14px;
    letter-spacing:-0.1em;
    line-height: 1.6em;
  }
}

@media screen and (max-width: 450px){
  .tokuten_section{
    margin-top: 16px;
    width: 47.5%;
    padding: 20px 10px;
    font-size:3.4vw;
    letter-spacing:-0.1em;
    line-height: 1.4em;
  }
}

@media screen and (max-width: 320px){
  .tokuten_section{
    font-size:10px;
  }
}

.tokuten_section_space{
  display: none;
}

@media screen and (max-width: 768px){
  .tokuten_section_space{
    display: block;
    margin-top: 42px;
    width: 47.5%;
  }
}

.tokuten_img_wrap{
  width: 100%;
}

.official{
  background-image:url(../img/tokuten_official.png);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
}

.tower{
  background-image:url(../img/tokuten_tower.png);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
}

.animate{
  background-image:url(../img/tokuten_animate.png);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
}

.rakuten{
  background-image:url(../img/tokuten_rakuten.png);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
}

.amazon{
  background-image:url(../img/tokuten_amazon.png);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
}

.tokuten_img_wrap::before{
  content: "";
  display: block;
  padding-top: 69.5%;
}

.tokuten_active{
  transform :translateY(0px);
  opacity: 1;
}

.tokuten_shop{
  display: inline-block;
  margin-top: 26px;
  margin-bottom: 10px;
  padding: 10px 20px;
  color: #fff;
  line-height: 1em;
  font-weight: 700;
  background-color:#2b85a0;
  border-radius:100px;
}


@media screen and (max-width: 1024px){
  .tokuten_shop{
    font-size:1.45vw;
    line-height: 1em;
  }
}

@media screen and (max-width: 768px){
  .tokuten_shop{
    margin-top: 16px;
    padding: 10px 16px;
    font-size:12px;
    line-height: 1em;
  }
}

@media screen and (max-width: 450px){
  .tokuten_shop{
    width: 100%;
    margin-top: 10px;
    padding: 8px 10px;
    font-size:3.2vw;
    line-height: 1em;
  }
}

.tokuten_goshop{
  width: 62%;
  margin: 0 auto;
  margin-top: 10px;
  padding: 14px 0;
  color: #2b85a0;
  line-height: 1em;
  font-weight: 700;
  border: 1px solid #2b85a0;
  border-radius:8px;
}

@media screen and (max-width: 1024px){
  .tokuten_goshop{
    font-size:1.45vw;
    line-height: 1em;
  }
}

@media screen and (max-width: 768px){
  .tokuten_goshop{
    min-width: 110px;
    font-size:12px;
    line-height: 1em;
  }
}

@media screen and (max-width: 450px){
  .tokuten_goshop{
    width: 100%;
    min-width: auto;
    border-radius:6px;
  }
}

.spr1{
  width: 100%;
  margin-top: -2px;
  width: 100%;
  height: auto;
  vertical-align: top;
}

.spr_change_m{
  display: none;
}
.spr_change_l{
  display: inline-block;
}


@media screen and (max-width: 1440px){
  .spr_change_m{
    display: inline-block;
  }
  .spr_change_l{
    display: none;
  }
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
TRACKLIST
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.tl_wrap{
  width: 100%;
  background-color: #2b85a0;
}

.tl_width{
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 68px;
}

@media screen and (max-width: 450px){
  .tl_width{
    padding: 0 26px;
  }
}

.deco_tl{
  margin-top: 68px;
  width: 58px;
  height: auto;
}

@media screen and (max-width: 768px){
    .deco_tl{
      margin-top: 50px;
      width: 50px;
      height: auto;
    }
}

@media screen and (max-width: 450px){
    .deco_tl{
      margin-top: 50px;
      width: 50px;
      height: auto;
    }
}

.tl_m{
  margin-top: 26px;
  width: auto;
  height: 58px;
}

@media screen and (max-width: 450px){
  .tl_m{
    margin-top: 20px;
    width: auto;
    height: 42px;
  }
}

.tl_flex{
  position: relative;
  width: 100%;
  margin-top: 68px;
  font-size: 22px;
  display:flex;
  flex-wrap:wrap;
  gap:5%;
  justify-content: center;
  z-index: 5;
}

@media screen and (max-width: 450px){
  .tl_flex{
    margin-top: 36px;
    font-size:20px;
    line-height: 1em;
  }
}

.tl_section{
  width: 100%;
  color: #fff;
  text-align: left;
  font-weight: 500;
}

@media screen and (min-width: 768px){
  .tl_section{
    width: 47.5%;
    color: #fff;
    text-align: left;
    font-weight: 500;
  }
}

.tl_section_2{
  margin-top: 36px;
}

@media screen and (min-width: 768px){
  .tl_section_2{
    margin-top: 0px;
  }
}

.tl_section_hr{
  margin-top: 20px;
  padding-left: 20px;
  font-size:16px;
  line-height: 1.6em;
  border-left: 1px solid #fff;
}

@media screen and (max-width: 450px){
  .tl_section_hr{
    font-size:14px;
    line-height: 1.6em;
  }
}

.tl_space{
  height: 36px;
}

.tl_width2{
  position: relative;
  width: 100%;
  height: 288px;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: -130px;
  padding: 0 68px;
  text-align: right;
  z-index: 1;
}

@media screen and (max-width: 450px){
  .tl_width2{
    position: relative;
    width: 100%;
    height: 178px;
    margin-top: -110px;
    padding: 0 26px;
  }
}

.tl_melty{
  height: 100%;
  width: auto;
  transform:translateX(-80px);
  opacity: 0;
  transition: all .8s ease;
}

.tl_melty_active{
  transform:translateX(0px);
  opacity: 1;
  transition: all .8s ease;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
MOVIE
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.movie_wrap{
  width: 100%;
  padding-bottom: 152px;
  background-color: #91c5cb;
}

@media screen and (max-width:768px){
  .movie_wrap{
    padding-bottom: 130px;
  }
}

@media screen and (max-width:450px){
  .movie_wrap{
    padding-bottom: 100px;
  }
}

.movie_width{
  position: relative;
  width: 62%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 68px;
}


@media screen and (max-width:1440px){
  .movie_width{
    width: 100%;
    max-width: 768px;
  }
}

@media screen and (max-width:450px){
  .movie_width{
    padding: 0 26px;
  }
}

.deco_movie{
  margin-top: 68px;
  width: 58px;
  height: auto;
}

@media screen and (max-width: 450px){
    .deco_movie{
      margin-top: 50px;
      width: 50px;
      height: auto;
    }
}

@media screen and (max-width: 450px){
    .deco_movie{
      margin-top: 50px;
      width: 50px;
      height: auto;
    }
}

.movie_m{
  margin-top: 26px;
  width: auto;
  height: 58px;
}

@media screen and (max-width: 450px){
  .movie_m{
    margin-top: 20px;
    width: auto;
    height: 42px;
  }
}

.movie_yt_wrap{
  position: relative;
  margin-top: 10px;
  width: 100%;
  text-align: left;
}

@media screen and (max-width:450px){
  .movie_yt_wrap{
    margin-top: 20px;
  }
}

.efa{
  margin-left: 8%;
  width: auto;
  height: 68px;
  transform:translateY(58px);
  transition: all .5s ease;
}

@media screen and (max-width:768px){
  .efa{
    height: 58px;
  }
}

@media screen and (max-width:450px){
  .efa{
    margin-left: 5%;
    height: 36px;
  }
}


.efa_active{
  transform:translateY(0);
}

.movie_weekend{
  position: absolute;
  width: 100%;
  top:26px;
  color: #fff;
  font-weight: 700;
  line-height: 1em;
  text-align: center;
}

@media screen and (max-width:768px){
  .movie_weekend{
    top:20px;
  }
}
@media screen and (max-width:450px){
  .movie_weekend{
    top:5px;
  }
}

.movie_yt{
  position: relative;
  border: 4px solid #fffbcc;
  box-sizing:border-box;
}

.movie_yt::before{
  content: "";
  display: block;
  padding-top: 56.25%;
}

.movie_yt_inner{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}


.yt_thumb{
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: auto;
  transform:translateX(0) translateY(-50%);
}

.yt_play{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform:translateX(-50%) translateY(-50%);
  transition: all .3s ease;
  cursor: pointer;
}

.yt_play img{
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: 38%;
  transform:translateX(-50%) translateY(-50%);
}

.yt_play:hover{
  transform:translateX(-50%) translateY(-50%) scale(1.16);
}

.youtube{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  max-width:768px;
  height: auto;
  transform:translateX(-50%) translateY(-50%);
}


.youtube::before{
  content: "";
  display: block;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.yt_modal{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color:rgba(0, 0, 0, 0.7);
  z-index: 1000;
}

.yt_modal_click{
  content:"";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.youtube::after{
  content:url(../img/close.svg);
  display: block;
  position: absolute;
  top: -50px;
  right: 0px;
  width: 36px;
  height: 36px;
  pointer-events: none;
}

@media screen and (max-width: 768px){
  .youtube::after{
    margin-right: 16px;
  }
}

@media screen and (max-width: 450px){
  .youtube::after{
    top: -36px;
    margin-right: 10px;
    width: 26px;
    height: 26px;
  }
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Prologue
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.prologue_wrap{
  position:fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; 
  width: auto;
  background-color:#01050f;
  background-image:url(../img/parallax.jpg);
  background-size:100% auto;
  background-position:bottom center;
  background-repeat:no-repeat;
  z-index: -10;
  overflow:hidden;
}

@media screen and (max-width:768px){
  .prologue_wrap{
    background-size:130% auto;
  }
}

@media screen and (max-width:450px){
  .prologue_wrap{
    background-size:300% auto;
    background-position:75% bottom;
  }
}

.prologue_wrap_2{
  position:fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; 
  width: auto;
  height: 100%;
  background-color:#fffbcc;
  z-index: -1;
}

.prologue_width{
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 68px;
  text-align: left;
  font-weight: 400;
  line-height: 2em;
}

@media screen and (max-width:450px){
  .prologue_width{
    padding: 26px;
    font-size:13.5px;
    letter-spacing: -0.03em;
    line-height: 2em;
  }
}

.prologue_m{
  margin-top: 130px;
  margin-bottom: 50px;
  width: auto;
  height: 68px;
}

@media screen and (max-width:768px){
  .prologue_m{
    margin-top: 100px;
    margin-bottom: 36px;
  }
}

@media screen and (max-width:450px){
  .prologue_m{
    margin-top: 50px;
    margin-bottom: 32px;
    width: auto;
    height: 42px;
  }
}

.prologue_grd{
  width: 100%;
  height: 178px;
  margin-top: 68px;
  background:
    linear-gradient(rgb(1 5 15 / 0%), rgb(1 5 15 / 100%) 62%)
}

@media screen and (max-width:768px){
  .prologue_grd{
    width: 100%;
    height: 110px;
    margin-top: 50px;
  }
}

@media screen and (max-width:450px){
  .prologue_grd{
    width: 100%;
    height: 100px;
    margin-top: 0px;
  }
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
CHARA
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.chara_wrap{
  width: 100%;
  padding-bottom: 152px;
  background-color: #01050f;
}

@media screen and (max-width:768px){
  .chara_wrap{
    padding-bottom: 130px;
  }
}

@media screen and (max-width:450px){
  .chara_wrap{
    padding-bottom: 100px;
  }
}

.chara_width{
  position: relative;
  width: 85%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 68px;
}

@media screen and (min-width:768px){
  .chara_width{
    width:100%;
  }
}

@media screen and (max-width:450px){
  .chara_width{
    width: 100%;
    padding: 0 42px;
  }
}

.chara_m{
  margin-top: 50px;
  margin-bottom: 68px;
  width: auto;
  height: 58px;
}

@media screen and (max-width:450px){
  .chara_m{
    margin-top: 26px;
    margin-bottom: 50px;
    width: auto;
    height: 42px;
  }
}

.chara_flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.chara_section{
  width: 46%;
}


@media screen and (min-width: 768px){
  .chara_section{
    width: 22%;
  }
}

.chara_img{
  width: 100%;
  height: auto;
  transform:scale(0.8);
  opacity: 0;
  transition: all .3s ease;
}

.chara_active{
  transform:scale(1.0);
  opacity: 1;
}

.chara_name{
  margin-top: 20px;
  font-weight: 700;
  line-height: 1em;
}

@media screen and (max-width:1024px){
  .chara_name{
    font-size:14px;
    line-height: 1em;
  }
}
@media screen and (max-width:450px){
  .chara_name{
    margin-top: 16px;
    font-size:12px;
    line-height: 1em;
  }
}

.chara_name_tab{
  margin-bottom: 36px;
}
@media screen and (min-width: 768px){
  .chara_name_tab{
    margin-bottom: 0px;
  }
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
PHOTO
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.photo_wrap{
  width: 100%;
  padding-bottom: 50px;
  background-color: #fffbcc;
}

.photo_m{
  margin-top: 110px;
  margin-bottom: 58px;
  width: auto;
  height: 58px;
}

@media screen and (max-width:450px){
  .photo_m{
    margin-top: 68px;
    margin-bottom: 36px;
    width: auto;
    height: 42px;
  }
}

.swiper{
  position: relative;
  z-index: 1;
}


.swiper_arrow{
  width: 49%;
  position: relative;
  margin: 0 auto;
  margin-top: 36px;
  text-align: right;
}


@media screen and (max-width:1440px){
  .swiper_arrow{
    width: 66%;
    position: relative;
    margin: 0 auto;
    margin-top: 36px;
    margin-bottom: 36px;
    text-align: right;
  }
}

@media screen and (max-width:450px){
  .swiper_arrow{
    width: 80%;
    margin-top: 20px;
  }
}

.swiper-button-prev,
.swiper-button-next{
  position: relative;
  display: inline-block;
  width: 58px;
  height: 58px;
  margin-top: 0;
  margin-left: 20px;
  margin-right: 0;
  right: auto;
  left: auto;
}

@media screen and (max-width:450px){
  .swiper-button-prev,
  .swiper-button-next{
    width: 50px;
    height: 50px;
    margin-left: 16px;
  }
}

.swiper-button-prev::after,
.swiper-button-next::after{
  content:"";
}

.photo_img_wrap{
  position: relative;
  width: 85%;
  margin: 0 auto;
  margin-top: -152px;
  padding: 0 68px;
  text-align: left;
  z-index: 10;
  mix-blend-mode: multiply;
  pointer-events: none;
}

@media screen and (max-width:768px){
  .photo_img_wrap{
    width: 100%;
    padding: 0 50px;
  }
}

@media screen and (max-width:450px){
  .photo_img_wrap{
    width: 100%;
    margin-top: -130px;
    padding: 0 26px;
  }
}

.photo_img_wrap img{
  width: 33%;
  max-width:348px;
}

@media screen and (max-width:450px){
  .photo_img_wrap img{
    width: 42%;
  }
}



