@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&display=swap");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanjp.css");

@font-face{
  font-family:"Custom Fredoka";
  font-weight:400;
  font-stretch:100%;
  font-display:swap;
  src:url(https://fonts.gstatic.com/s/fredoka/v14/X7n64b87HvSqjb_WIi2yDCRwoQ_k7367_DWu89XgHPyh.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  size-adjust:105%;
}

*{ margin:0; padding:0;}
*:focus{outline:none;}

a,a:hover,a:visited{text-decoration:none; color:inherit; -webkit-tap-highlight-color:transparent;}
html,body{scroll-behavior:smooth; overflow-x:hidden;}
body{color:rgb(34,34,34); font-family:YakuHanJP,"Custom Fredoka","M PLUS Rounded 1c","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif; font-style:normal;}
img{user-drag:none; -webkit-user-drag:none; -moz-user-select:none;}
ul,li{list-style:none;}
button{padding:0; border:none; background:transparent;}
button img{display:block;}
button:active,button img{position:relative;}
button::-moz-focus-inner{padding:0; border:none;}

.loading{
  width:100%;
  height:100%;
  background:rgba(255,255,255,1.0);
  position:fixed;
  top:0;
  left:0;
  z-index:20000;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
}


/*------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
スマホ用設定
--------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------*/

@media (max-width:767px){
  .loading img{ width:50vw;}
  #main_container{ text-align:center;}

/* ハンバーガーメニュー */
  html{height:100%;}/*アドレスバー対策*/
  .nav{
    font-family:"Fredoka",sans-serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-variation-settings:"wdth" 100;
    font-size:7.5vw;
    letter-spacing:0.1em;
    text-indent:0.1em;
    line-height:0.7;
    position:fixed;
    top:-500px;
    left:0;
    margin-left:-100%;
    width:100%;
    height:calc(100% + 1000px);
    background:rgba(255,255,255,0.9);
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    z-index:99;
  }
  .important_announcement{
    color:black;
    font-size:3.8vw;
    font-weight:700;
    letter-spacing:0.15em;
    text-indent:0.15em;
    right:0;
    width:100%;
    height:12vw;
    background:rgba(243,242,0,0.95);
    white-space:nowrap;
    border-bottom:solid 1px black;
    display:flex;
    justify-content:center;
    align-items:center;
    padding-top:0.31vw;
  }
  body{
    font-weight:500;
  }
  .nav ul,.nav ul li{
    width:100%;
  }
  .nav li:not(:last-child){
    margin-bottom:6.5vw;
  }
  .nav a{ color:#000;}
  #navbtn{
    width:20vw;
    height:20vw;
    background-image:url("../imgs/nav_btn.png");
    background-size:contain; 
    position:fixed;
    top:2vw;
    right:2vw;
    cursor:pointer;
    z-index:100;
    filter:drop-shadow(1px 3px 5px rgba(0,0,0,0.5));
 }
  #nav_logo img{
    width:45%;  
    margin-bottom:0.75vw;
 }

  /*アンカー位置調整*/
  div.anchor{
    display:block;
    padding-top:25vw;
    margin-top:-25vw;
  }

  /*トップビジュアル*/
  #top_kv img{
    width:100%;
  }
  .open_nav{
    left:0;
  }

  /**各カテゴリ分割線共通設定*/
  #partition_bar_0,.partition_bar_1,.partition_bar_2{
    width:100%;
  }
  #partition_bar_0{
    border:1vw solid rgba(190,120,30,1);
    margin-bottom:10vw;
  } 
  .partition_bar_1{
    border:1vw solid rgba(255,66,118,1);
  }  
  .partition_bar_2{
    border:1vw solid rgba(43,146,236,1);
  }

  /*各カテゴリコンテナ共通設定*/
  #subtitle_comm_container,#intro_container,#socialmedia_container,#cast_container,#schedule_container,#ticket_container,#staff_container,#goods_container,#streaming_container,#guide_container{
    width:100%;
    background-repeat:repeat;
    padding-bottom:35vw;
  }
  #guide_container{padding-bottom:20vw;}

  /*各カテゴリサブタイトル共通設定*/
  #subtitle_cast img,#subtitle_intro img,#subtitle_socialmedia img,#subtitle_cast img,#subtitle_schedule img,#subtitle_ticket img,#subtitle_staff img,#subtitle_goods img,#subtitle_streaming img,#subtitle_guide img{
    width:90%;
    position:relative;
    top:-5vw;
    margin-bottom:3vw;
  }

  /*各カテゴリ街のシルエット共通設定ト*/
  .subtitle_city_silhouette_1,.subtitle_city_silhouette_2{
     position:relative;
  }
  .subtitle_city_silhouette_1 img,.subtitle_city_silhouette_2 img{
     position:absolute;
     top:-21.5vw;
     left:0;
     width:100%;
  }

  /*原作者コメント*/
  #subtitle_comm_container{
    background-image:url("../imgs/comm_bg.png");
    background-size:20%;
  }
  #subtitle_comm img{
    width:85%;
  }
  
  #comm{
    position:relative;
  }
  #comm_text_name{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:100%;
  }
  #comm img{
    width:90%;
  }
  #comm_text{
    margin:0 auto;
    font-weight:500;
    font-size:3.35vw;
    line-height:1.9;
    letter-spacing:0.1em;
    width:82.5%;
    text-align:center;
    white-space:nowrap;
    background-image:linear-gradient(90deg,transparent 0%,transparent 50%,#fff 50%,#fff 100%),
                     linear-gradient(180deg,rgb(190,120,30) 0.2vw,transparent 0.2vw);
    background-size:1vw 100%,
                    100% 1.9em;
    padding-bottom:0.4vw;
  }
  #comm_text_border_hidden{
    position:absolute;
    width:82.5%;
    height:2vw;
    top:-1vw;
    background-color:white;
  }
  #comm_author_name img{
    margin-top:2.5vw;
    width:28%;
  }

  /*イントロダクション*/
  #intro_container{
    background-image:url("../imgs/bg_stripe_pink.png");
    background-size:20%;
  }
  #subtitle_intro{
  }
  #intro_01 img{
    width:65%;
    margin-bottom:5vw;
  }
  #intro_02 img{
    width:85%;
    margin-bottom:7vw;
  }
  #intro_03 img{
    width:60%;
    margin-bottom:10vw;
  }
  
  #intro_04{
    position:relative;
  }
  #intro_04_01 img{
    width:75%;
    margin-bottom:7vw;
  }
    #intro_04_02 img{
    position:absolute;
    top:-8vw;
    left:3vw;
    width:15%;
  }
    #intro_05 img{
    width:85%;
    margin-bottom:7vw;
  }
  .intro_position{
    font-size:3vw;
    letter-spacing:0.15em;
    text-indent:0.15em;
    margin-bottom:0.2vw;
  }
  .intro_name{
     font-size:4.5vw;
     letter-spacing:0em;
  }
  .intro_name_sub{
    font-size:2.5vw;
    letter-spacing:0.15em;
    text-indent:0.15em;
    margin-bottom:0.8vw;
    margin-bottom:4vw;
  }

  /*ソーシャルメディア*/
  #socialmedia_container{
    background-image:url("../imgs/bg_diamond_blue.png");
    background-size:calc(100%/6);
  }
  #twitter_timeline_container{
    margin-left:auto;
    margin-right:auto;
    width:80%;
  }

  /*キャスト*/
  #cast_container{
    background-image:url("../imgs/bg_dot_pink.png");
    background-size:50%;
  }
  #cast_all_container{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
  }
  
   #cast_g1_container,#cast_g2_container,#cast_g3_container{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
  }
  .cast_each_container{
    position:relative;
    width:27.5%;
    margin:0 2vw 6vw;
  }  
  .cast_each_container img{
    width:100%;
  }
  .cast_portrait{
    border-top-left-radius:1.5vw;
    border-top-right-radius:1.5vw;
  }
  .cast_rolename,.cast_rolename_g2,.cast_rolename_ensemble{
    width:100%;
    font-size:3vw;
    letter-spacing:0.1em;
    text-indent:0.1em;
    color:white;
   }
  .cast_rolename{
    background-color:rgba(255,66,118,1);
  }
  .cast_rolename_g2{
    background-color:rgba(43,146,236,1);
  }
  .cast_rolename_ensemble{
    font-size:2.75vw;
    background-color:rgba(190,120,30,1);
  }
  .cast_name,.cast_name_g2,.cast_name_ensemble{
    width:100%;
    border-bottom-left-radius:1.5vw;
    border-bottom-right-radius:1.5vw;
    font-size:4vw;
    letter-spacing:0.1em;
    text-indent:0.1em;
    background-color:white;
  }
  .cast_name{
    color:rgba(255,66,118,1);
  }
  .cast_name_g2{
    color:rgba(43,146,236,1);
  }
  .cast_name_ensemble{
    color:rgba(190,120,30,1);
  }
  .cast_fukidashi{
    position:absolute;
    bottom:7vw;
    right:-3vw;
    width:7vw;
  }
  #cast_comment_01,#cast_comment_02,#cast_comment_03,#cast_comment_04,#cast_comment_05,#cast_comment_06,#cast_comment_07,#cast_comment_08,#cast_comment_09{
    position:fixed;
    width:100%;
    height:100%;
    top:0;
    left:0;
    background-color:rgba(255,255,255,0.9);
    opacity:0;
    display:grid;
    place-items:center;
    z-index:-9999;
  }
  #cast_comment_01 img,#cast_comment_02 img,#cast_comment_03 img,#cast_comment_04 img,#cast_comment_05 img,#cast_comment_06 img,#cast_comment_07 img,#cast_comment_08 img,#cast_comment_09 img{
    width:100%;
    border-radius:1.5vw;
  }
  .cast_comment_container{
    position:relative;
    width:90%;
  }
  .cast_comment_container_2{
    position:relative;
    width:70%;
  }
  .cast_comment_container_bg{
    position:fixed;
    width:100%;
    height:100%; 
    z-index:-500;
  }
  .cast_video{
    width:100%;
    max-width:720px;
  }
  #cast_comment_close_video{
    position:absolute;
    top:-14vw;
    right:-1vw;
    z-index:500;
  }
  #cast_comment_close_video img{
    width:11vw;
  }
  
  /*スケジュール*/
  #schedule_container{
    background-image:url("../imgs/bg_stripe_blue.png");
    background-size:20%;
  }
  #schedule_text{
    font-size:4vw;
    line-height:1.75;
    letter-spacing:0.1em;
    text-indent:0.1em;
  }
  #schedule_hoshitorihyo img{
    margin-top:8vw;
  }
  #schedule_hoshitorihyo img{
    width:90%;
  }
  
  /*アフターイベント*/
  #afterevents_hyo img{
    width:90%;
    margin-top:2vw;
    margin-bottom:4vw;
  }
  #afterevents_remarks{
    font-size:3vw;
    line-height:1.625;
  }

  /*チケット*/
  #ticket_container{
    background-image:url("../imgs/bg_diamond_pink.png");
    background-size:20%;
  }
  .ticket_each_container{
    font-size:4.5vw;
    letter-spacing:0.05em;
    text-indent:0.05em;
  }
  
  .ticket_price{
    margin:0 auto;
    padding-left:10vw;
    font-size:8vw;
    font-weight:700;
    letter-spacing:0.05em;
    text-indent:0.05em;
  }
  .ticket_yen{
    font-weight:500;
    font-size:5vw;
    vertical-align:0.2vw;
  }
  .ticket_tax{
    font-weight:500;
    font-size:4vw;
    vertical-align:0.5vw;
  }
  .ticket_detail_1,.ticket_detail_2,.ticket_detail_3,.ticket_detail_4,.ticket_detail_5,.ticket_detail_6{
    position: relative;
    display:grid;
    place-items:center;
    color:white;
    margin:3.5vw auto;
    width:38vw;
    height:14vw;
    font-size:4vw;
    letter-spacing:0.175em;
    text-indent:0.175em;
    border-radius:1.5vw;
    outline:0.3vw solid rgb(255,255,255);
    outline-offset:-1vw;
    a{
      position:absolute;
      top:0;
      left:0;
      height:100%;
      width:100%;
    }
  }
  .ticket_detail_4,.ticket_detail_5,.ticket_detail_6{
    width:34vw;
    letter-spacing:0.125em;
    text-indent:0.125em;
  }
  .ticket_detail_1{
    background-color:rgb(210,170,170);
  }
  .ticket_detail_2{
    background-color:rgb(178,178,200);
  }
  .ticket_detail_3{
    background-color:rgb(210,170,170);
  }
  .ticket_detail_4{
    background-color:rgb(43,146,236);
  }
  .ticket_detail_5{
    background-color:rgb(255,66,118);
  }
  .ticket_detail_6{
    background-color:rgb(43,146,236);
  }
  .ticket_end{
    position:absolute;
    top:0;
    left:0;
    width:38vw;
    height:14vw;
    border-radius:1.5vw;
  }
  .ticket_end_line{
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    border: 0.25vw solid #fff;
    width:30vw;
  }
  
  
  .ticket_bottun_ippan img{
    margin:3.5vw auto;
    width:34vw;
  }
  .ticket_bottun_end img{
    margin:3.5vw auto;
    width:38vw;
  }
  
  .ticket_hishi_1{
    color:rgb(255,66,118);
  }
  .ticket_hishi_2{
    color:rgb(43,146,236);
  }
  .ticket_code{
   font-size:3.5vw;
   margin-bottom:0.5vw;
  }
  .ticket_term_1{
    font-size:3.5vw;
    line-height:1.25;
    letter-spacing:0.15em;
    text-indent:0.15em;
  }
  .ticket_term_2{
    font-size:5vw;
  }
  .ticket_term_youbi{
    font-weight:500;
    font-size:3.75vw;
    vertical-align:0.375vw
  }
  .ticket_border{
    margin:0 auto;
    width:85%;
    border:0.75vw solid white;
    margin-top:8vw;
    margin-bottom:8vw;
  }
  .ticket_remarks_1,.ticket_remarks_2,.ticket_remarks_3{
    font-size:3vw;
    line-height:1.625;
 }
  .ticket_remarks_1{
    margin-top:2vw;
    margin-bottom:5vw;
  }
  #ticket_repeater{
    margin-top:15vw;
  }
  #ticket_repeater img{
    width:80%;
  }
  .ticket_repeater_container{
    display:grid;
    width:75%;
    grid-template-columns:repeat(2, auto);
    margin:6vw auto 10vw;
    gap:5vw;
  }
  
  #ticket_repeater_bromide img{
    width:90%;
    margin-top:6vw;
  }
  .ticket_remarks_3{
    margin-top:4vw;
    margin-bottom:9vw;
  }
  .ticket_repeater_items img{
    width:100%;
  }
  .ticket_repeater_caption_container{
    max-inline-size: max-content;
    margin-inline: auto;
    margin-top:7vw;
  }
  .ticket_repeater_caption{
    margin:0 auto;
    font-size:3.5vw;
    line-height:1.625;
    text-align:left;
  }
  .ticket_repeater_caption_marukakko{
  }
   
  #ticket_repeater_guide{
    margin-top:6.5vw; 
    width:90%;
    margin:0 auto;
  }
  .ticket_repeater_guide_header{
    font-size:3.5vw;
    margin-top:2vw;
    margin-bottom:0.75vw;
    text-align:left;
  }
  #ticket_repeater_guide ul li{
    list-style:none;
    font-size:3vw;
    font-weight:400;
    text-align:left;
    line-height:1.75;
  }
  .ticket_repeater_guide_shikaku_1,.ticket_repeater_guide_shikaku_3{
    color:rgb(255,66,118);
  }
  .ticket_repeater_guide_shikaku_2{
    color:rgb(43,146,236);
  }
  
  /*スタッフ*/
  #staff_container{
    background-image:url("../imgs/bg_stripe_blue.png");
    background-size:20%;
  }
  #staff_text_container{
    display:grid; 
    grid-template-columns:repeat(2, auto);
    margin:0 auto;
    column-gap:3vw;
    row-gap:0.75vw;
    align-items:center;
    padding-left:4.5vw;
  }
  #staff_text_container div:nth-child(1n) {
    font-size:3vw;
    letter-spacing:0.125em;
    text-indent:0.125em;;
    text-align:right;
  }
  #staff_text_container div:nth-child(2n) {
    font-size:4.5vw;
    letter-spacing:0.1em;
    text-indent:0.1em;;
    text-align:left
  }
  .staff_text_position{
    margin-top:0vw;
  }
  .staff_text_affiliation{
    font-size:3vw;
    letter-spacing:0.125m;
    text-indent:0.125em;;
    vertical-align:0.45vw;
  }
  
  /*グッズ*/
  #goods_container{
    background-image:url("../imgs/bg_dot_pink.png");
    background-size:50%;
  }
  #goods_comingsoon img{
    width:40%;
  }
  #goods_panel{
    margin-top:8.5vw;
  }
  #goods_panel img{
    width:95%;
  }
  #goods_pop img{
    width:82%;
    border-radius:1.5vw;
    outline:0.2vw solid rgba(255,66,118,1);
    outline-offset:1.5vw;
  }

  .goods_remarks{
    font-size:3vw;
    line-height:1.625;
    margin-top:4.5vw;
    margin-bottom:2vw;
  }
    /*配信*/
  #streaming_container{
    background-image:url("../imgs/bg_diamond_blue.png");
    background-size:calc(100%/6);
    background-position:center;
  }
  #streaming_text_01{
    margin-bottom:2.5vw;
    img{width:95%;}
  }
  #streaming_text_02{
    font-size:3vw;
    letter-spacing:0.05em;
    text-indent:0.05em;
    margin-bottom:7vw;
  }
  #streaming_text_taisyo{
    font-size:4vw;
    letter-spacing:0.1em;
    text-indent:0.1em;
    margin-bottom:0.5vw;
  }
  #streaming_text_nitiji{
    font-size:6vw;
    letter-spacing:0.075em;
    text-indent:0.075em;
    padding-left:3vw;
    margin-bottom:1vw;
  }
  #streaming_text_switching{
    font-size:3.5vw;
    letter-spacing:0.05em;
    text-indent:0.05em;
    margin-bottom:7.5vw;
  }

  #streaming_text_04{
    font-size:4vw;
    line-height:1.375;
    letter-spacing:0.1em;
    text-indent:0.1em;
  }
  .streaming_text_04_youbi{
    font-weight:500;
    font-size:3.5vw;
    vertical-align:0.5vw;
  }
  #streaming_text_05{
    margin:0 auto -4vw;
    padding-left:14vw;
    font-size:8vw;
    font-weight:700;
    letter-spacing:0.05em;
    text-indent:0.05em;
  }
  #streaming_text_05_yen{
    font-weight:500;
    font-size:5vw;
    vertical-align:0.2vw;
  }
  #streaming_text_05_tax{
    font-weight:500;
    font-size:4vw;
    vertical-align:0.2vw;
  }
  #streaming_text_06{
    font-size:3.5vw;
    line-height:1.625;
    margin-top:6vw;
    margin-bottom:4.7vw;
  }
  #streaming_text_remark{
    font-size:3vw;
    letter-spacing:0.05em;
    text-indent:0.05em;
    margin-top:0vw;
  }


   /*ガイドライン*/
  #guide_container{
    background-image:url("../imgs/bg_stripe_pink.png");
    background-size:20%;
  }
  #guide_container ul{
    width:90%;
    margin:0 auto;
    list-style:none;
    margin-bottom:4vw;
  }
  #guide_container ul li{
    font-size:3vw;
    font-weight:400;
    text-align:left;
    line-height:1.75;
    text-indent:-1em;
    padding-left:1em;
  }
  #guide_container ul li::before{
    content:"▶";
  }
  #guide_container ul li:nth-child(odd)::first-letter{
    color:rgb(255,66,118);
  }
  #guide_container ul li:nth-child(even)::first-letter{
    color:rgb(43,146,236);
  }
  #guide_otoiawase{
    font-size:3.5vw;
    letter-spacing:0.1em;
    text-indent:0.1em;
    line-height:1.75;
  }

  /*フッター*/
  #footer{
    width:100%;
    background-color:rgba(243,242,0,1);
    font-size:2.5vw;
    line-height:150%;
    text-align:center;
    border-top:0.5px solid black;
    padding:6vw 0 5vw;
  }
  #footer_banners_container{
    display:flex;
    flex-wrap: wrap;
    width:100%;
    margin:0 auto;
    justify-content:center;
    column-gap:3vw;
    row-gap:3vw;
  }
  #footer_banners_1 img,#footer_banners_2 img,#footer_banners_3 img{
    border:solid 0.5px black;
    border-radius:6px;
  }
  #footer_banners_1 img{
    width:90%;
  }
  #footer_banners_2 img{
    height:14.5vw;
  }
  #footer_banners_3 img{
    height:14.5vw;
  }
}


/*------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
PC用設定
--------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------*/

@media(min-width:768px){
.loading img{ width:400px;}

#main_container{ 
    text-align:center; 
  }
  html{ 
    font-size:62.5%;
    font-weight:500;
  }

/*ナビ調整*/
  .nav{
    font-family:"Fredoka",sans-serif;
    font-weight:600;
    font-style:normal;
    color:white;
    font-size:2rem;
    letter-spacing:0.15em;
    text-indent:0.15em;
    position:fixed;
    right:0;
    top:0;
    width:100%;
    height:80px;
    background:rgba(255,66,118,0.95);
    white-space:nowrap;
    z-index:999;
    border-bottom:solid 1px black;
  }
  .nav > ul{
    display:flex;
    width:100%;
    height:100%;
    justify-content:center;
  }
  .nav > ul > li{
    display:flex;
    justify-content:center;
    align-items:center;
    height:100%;
    margin:0 12px 0;
  }
  #navbtn,.nav > ul > li:first-child{
    display:none;
  }
  .important_announcement{
    color:black;
    font-size:1.9rem;
    letter-spacing:0.15em;
    text-indent:0.15em;
    position:fixed;
    right:0;
    top:80px;
    width:100%;
    height:56px;
    background:rgba(243,242,0,0.95);
    white-space:nowrap;
    z-index:998;
    border-bottom:solid 1px black;
    display:flex;
    justify-content:center;
    align-items:center;
  }

 /*アンカー位置調整*/
  div.anchor{
    display:block;
    padding-top:270px;
    margin-top:-270px;
  }
  div#_Comment{
    display:block;
    padding-top:80px;
    margin-top:-80px;
  }
  #main_container{
    width:100%;
    margin:0 auto;
  }

  /*トップビジュアル*/
  #top_container{
    background-image:url("../imgs/bg_diamond_blue.png");
    background-size:190px;
    background-position: center;
  }
  #top_kv {
    margin:136px auto 0px;
    width:100%;
    max-width:1140px;
  }
  #top_kv img{
    width:100%;
  }

  /**各カテゴリ分割線共通設定*/
  #partition_bar_0,.partition_bar_1,.partition_bar_2{
     width:100%;
  }
  #partition_bar_0{
    border:12px solid rgba(190,120,30,1);
    margin-bottom:100px;
  }
  .partition_bar_1{
    border:12px solid rgba(255,66,118,1);
  }
  .partition_bar_2{
    border:12px solid rgba(43,146,236,1);
  }

  /*各カテゴリコンテナ共通設定*/
  #subtitle_comm_container,#intro_container,#socialmedia_container,#cast_container,#schedule_container,#ticket_container,#staff_container,#goods_container,#streaming_container,#guide_container{
    width:100%;
    background-repeat:repeat;
    padding-bottom:250px;
  }
  #guide_container{ 
    padding-bottom:100px;
  }

  /*各カテゴリサブタイトル共通設定*/
    #subtitle_cast img,#subtitle_intro img,#subtitle_socialmedia img,#subtitle_cast img,#subtitle_schedule img,#subtitle_ticket img,#subtitle_staff img,#subtitle_goods img,#subtitle_streaming img,#subtitle_guide img{
    height:120px;
    position:relative;
    top:-46px;
    margin-bottom:20px;
  }

  /*各カテゴリ街のシルエット共通設定ト*/
  .subtitle_city_silhouette_1,.subtitle_city_silhouette_2{
     position:relative;
  }
  .subtitle_city_silhouette_1 img,.subtitle_city_silhouette_2 img{
     width:800px;
     position:absolute;
     top:-84px;
     left:50%;
     transform:translate(-50%,-50%);
     -webkit-transform:translate(-50%,-50%);
     -ms-transform:translate(-50%,-50%);
  }

  /*原作者コメント*/
  #subtitle_comm_container{
    background-image:url("../imgs/comm_bg.png");
    background-size:160px;
    background-position: center;
  }
  #subtitle_comm img{
    width:550px;
  }
  #comm{
    position:relative;
  }
  #comm_text_name{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:100%;
    margin-top:2px;
  }
  #comm img{
    width:600px;
  }
  #comm_text{
    margin: auto;
    font-size:2rem;
    line-height:2.3;
    letter-spacing:0.1em;
    text-indent:0.1em;
    width:600px;
    text-align:center;
    white-space:nowrap;
    background-image:linear-gradient(90deg,transparent 0%,transparent 50%,#fff 50%,#fff 100%),
                     linear-gradient(180deg,rgb(190,120,30) 1px,transparent 1px);
    background-size:10px 100%,
                    100% 2.3em;
    padding-bottom:2px;
  }
   #comm_text_border_hidden{
     position:absolute;
     width:602px;
     height:4px;
     top:0px;
     background-color:white;
  }
   #comm_author_name img{
     margin-top:23px;
     width:170px
  }
  
  /*イントロダクション*/
  #intro_container{
    background-image:url("../imgs/bg_stripe_pink.png");
    background-size:180px;
    background-position: center;
  }
  #subtitle_intro{
  }
  #intro_01 img{
    width:470px;
    margin-bottom:50px;
  }
  #intro_02 img{
    width:550px;
    margin-bottom:30px;
  }
  #intro_03 img{
    width:400px;
    margin-bottom:57px;
  }
  #intro_04{
    position:relative;
    width:470px;
    margin:0 auto;
  }
  #intro_04_01 img{
    width:100%;
    margin-bottom:45px;
  }
    #intro_04_02 img{
    position:absolute;
    top:-50px;
    left:-70px;
    width:100px;
  }
    #intro_05 img{
    width:580px;
    margin-bottom:50px;
  }
  .intro_position{
    font-size:1.6rem;
    letter-spacing:0.15em;
    text-indent:0.15em;
    margin-bottom:2px;
  }
  .intro_name{
   font-size:2.3rem;
   letter-spacing:0em;
   letter-spacing:0.05em;
   text-indent:0.05em;
  }
  .intro_name_sub{
    font-size:1.2rem;
    letter-spacing:0.1em;
    text-indent:0.1em;
    margin-top:4px;
    margin-bottom:30px;
  }

  /*ソーシャルメディア*/
  #socialmedia_container{
    background-image:url("../imgs/bg_diamond_blue.png");
    background-size:190px;
    background-position: center;
  }
  #twitter_timeline_container{
    margin-left:auto;
    margin-right:auto;
    width:700px;
 }

  /*キャスト*/
  #cast_container{
    background-image:url("../imgs/bg_dot_pink.png");
    background-size:400px;
    background-position: center;
  }
  #cast_all_container{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    width:100%;
    max-width:900px;
    margin:0 auto;
    row-gap:50px;
  }
  #cast_g1_container,#cast_g2_container,#cast_g3_container{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    column-gap:50px;
    row-gap:50px;
  }
  .cast_each_container{
    position:relative;
    width:250px;
  }
  .cast_each_container img{
    width:100%;
  }
  .cast_portrait{
    border-top-left-radius:12px;
    border-top-right-radius:12px;
  }
  
  .cast_rolename,.cast_rolename_g2,.cast_rolename_ensemble{
    width:100%;
    font-size:1.75rem;
    letter-spacing:0.1em;
    text-indent:0.1em;
    color:white;
  } 
  .cast_rolename{
    background-color:rgba(255,66,118,1);
  }
  .cast_rolename_g2{
    background-color:rgba(43,146,236,1);
  }
  .cast_rolename_ensemble{
    background-color:rgba(190,120,30,1);
  }

  .cast_name,.cast_name_g2,.cast_name_ensemble{
    width:100%;
    border-bottom-left-radius:12px;
    border-bottom-right-radius:12px;
    font-size:2.5rem;
    letter-spacing:0.1em;
    text-indent:0.1em;
    background-color:white;
  }
  .cast_name{
    color:rgba(255,66,118,1);
  }
  .cast_name_g2{
    color:rgba(43,146,236,1);
  }
  .cast_name_ensemble{
    color:rgba(190,120,30,1);
   }
  .cast_fukidashi{
    position:absolute;
    width:50px;
    bottom:50px;
    right:-15px;
  }
  #cast_comment_01,#cast_comment_02,#cast_comment_03,#cast_comment_04,#cast_comment_05,#cast_comment_06,#cast_comment_07,#cast_comment_08,#cast_comment_09{
    position:fixed;
    width:100%;
    height:100%;
    top:0;
    left:0;
    background-color:rgba(255,255,255,0.9);
    opacity:0;
    display:grid;
    place-items:center;
    z-index:-9999;
  }
  #cast_comment_01 img,#cast_comment_02 img,#cast_comment_03 img,#cast_comment_04 img,#cast_comment_05 img,#cast_comment_06 img,#cast_comment_07 img,#cast_comment_08 img,#cast_comment_09 img{
    width:400px;
    border-radius:12px;
  }
  .cast_comment_container{
    position:relative;
  }
  .cast_comment_container_2{
    position:relative;
  }
  .cast_comment_container_bg{
    position:fixed;
    width:100%;
    height:100%; 
    z-index:-500;
  }
  .cast_video{
    width:100%;
    max-width:920px;
  }
  #cast_comment_close_video{
    position:absolute;
    top:-85px;
    right:-5px;
    z-index:500;
  }
  #cast_comment_close_video img{
      width:70px;
  }
  
  /*スケジュール*/
  #schedule_container{
    background-image:url("../imgs/bg_stripe_blue.png");
    background-size:180px;
    background-position:center;
 }
  #schedule_text{
    font-size:2.1rem;
    line-height:1.75;
    letter-spacing:0.1em;
    text-indent:0.1em;
  }
  #schedule_hoshitorihyo img{
    margin-top:40px;
    width:600px;
  }

  /*アフターイベント*/
  #afterevents_hyo img{
    width:600px;
    margin-top:25px;
  }
  #afterevents_remarks{
    font-size:1.6rem;
    line-height:1.625;
    margin-top:30px;
  }

  /*チケット*/
  #ticket_container{
    background-image:url("../imgs/bg_diamond_pink.png");
    background-size:190px;
    background-position:center;
  }
  .ticket_each_container{
    font-size:2.5rem;
    line-height:1.375;
    letter-spacing:0.05em;
    text-indent:0.05em;
  }
  .ticket_price{
    margin:0 auto;
    padding-left:70px;
    font-size:5rem;
    font-weight:700;
    letter-spacing:0.05em;
    text-indent:0.05em;
  }
  .ticket_yen{
    font-weight:500;
    font-size:3rem;
    vertical-align:1.5px;
  }
  .ticket_tax{
    font-weight:500;
    font-size:2rem;
    vertical-align:2.5px;
  }
  .ticket_detail_1,.ticket_detail_2,.ticket_detail_3,.ticket_detail_4,.ticket_detail_5,.ticket_detail_6{
    position: relative;
    display:grid;
    place-items:center;
    color:white;
    margin:22px auto 25px;
    width:238px;
    height:80px;
    font-size:2.6rem;
    letter-spacing:0.175em;
    text-indent:0.175em;
    border-radius:12px;
    outline:1.5px solid rgb(255,255,255);
    outline-offset:-4.5px;
    a{
      position:absolute;
      top:0;
      left:0;
      height:100%;
      width:100%;
    }
  }
  .ticket_detail_4,.ticket_detail_5,.ticket_detail_6{
    width:210px;
    letter-spacing:0.125em;
    text-indent:0.125em;
  }
  .ticket_detail_1{
    background-color:rgb(210,170,170);
  }
  .ticket_detail_2{
    background-color:rgb(178,178,200);
  }
  .ticket_detail_3{
    background-color:rgb(210,170,170);
  }
  .ticket_detail_4{
    background-color:rgb(43,146,236);
  }
  .ticket_detail_5{
    background-color:rgb(255,66,118);
  }
  .ticket_detail_6{
    background-color:rgb(43,146,236);
  }
  .ticket_end{
    position:absolute;
    top:0;
    left:0;
    width:238px;
    height:80px;
    background-color:rgba(0,0,0,0);
    border-radius:12px;
  }
  .ticket_end_line{
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    border: 1px solid #fff;
    width:200px;
  }
  
  
  .ticket_bottun_ippan img{
    margin:22px auto 25px;
    width:210px;
  }
  .ticket_bottun_end img{
    margin:22px auto 25px;
    width:238px;
  }
  .ticket_hishi_1{
    color:rgb(255,66,118);
  }
  .ticket_hishi_2{
    color:rgb(43,146,236);
  }
  .ticket_code{
     font-size:1.9rem;
     margin-bottom:6px;
  }
  .ticket_term_1{
    font-size:2rem;
    letter-spacing:0.15em;
    text-indent:0.15em;
    margin-bottom:1px;
  }
  .ticket_term_2{
    font-size:2.5rem;
  }
  .ticket_term_youbi{
    font-weight:500;
    font-size:2rem;
    vertical-align:1.75px;
  }
  .ticket_border{
    margin:0 auto;
    width:600px;
    border:3px solid white;
    margin:40px auto 40px;
  }
  .ticket_remarks_1,.ticket_remarks_2,.ticket_remarks_3{
    font-size:1.6rem;
    line-height:1.625;
  }
  .ticket_remarks_1{
    margin-top:12px;
    margin-bottom:40px;
  }
  .ticket_remarks_2{
    margin-bottom:0px;
  }
  #ticket_repeater{
    margin-top:120px;
    margin-bottom:50px;
  }
  #ticket_repeater img{
    width:540px;
  }
  .ticket_repeater_container{
    display:grid;
    width:780px;
    grid-template-columns:repeat(4, auto);
    margin:40px auto 60px;
    gap:20px;
  }
  .ticket_repeater_items img{
    width:180px;
  }
  #ticket_repeater_bromide img{
    width:620px;
    margin-top:35px;
  }
  .ticket_remarks_3{
    margin-top:20px;
    margin-bottom:40px;
  }
  .ticket_repeater_caption_container{
    max-inline-size: max-content;
    margin-inline: auto;
  }
  .ticket_repeater_caption{
    font-size:2.2rem;
    line-height:1.625;
    text-align:left;
  }
  .ticket_repeater_caption_marukakko{
    font-weight:500;
    font-size:2rem;
    vertical-align:1.75px;
  }
  #ticket_repeater_guide{
    width:590px;
    margin:0 auto;
    padding-left:60px;
  }
  .ticket_repeater_guide_header{
    font-size:1.6rem;
    margin-top:28px;
    margin-bottom:6px;
    text-align:left;
  }
  #ticket_repeater_guide ul li{
    list-style:none;
    font-size:1.4rem;
    font-weight:400;
    text-align:left;
    line-height:1.75;
  }
  .ticket_repeater_guide_shikaku_1,.ticket_repeater_guide_shikaku_3{
    color:rgb(255,66,118);
  }
  .ticket_repeater_guide_shikaku_2{
    color:rgb(43,146,236);
  }
  
  
  /*スタッフ*/
  #staff_container{
    background-image:url("../imgs/bg_stripe_blue.png");
    background-size:180px;
    background-position: center;
  }
  #staff_text_container{
    display:grid; 
    width:800px;
    grid-template-columns:repeat(2, auto);
    margin:0 auto;
    column-gap:16px;
    row-gap:6px;
    align-items:center;
    padding-left:60px;
  }
  #staff_text_container div:nth-child(1n) {
    font-size:1.6rem;
    letter-spacing:0.125em;
    text-indent:0.125em;;
    text-align:right;
  }
  #staff_text_container div:nth-child(2n) {
    font-size:2.3rem;
    letter-spacing:0.1em;
    text-indent:0.1em;;
    text-align:left
  }
  .staff_text_position{
    margin-top:1px;
  }
  .staff_text_affiliation{
    font-size:1.6rem;
    letter-spacing:0.125m;
    text-indent:0.125em;;
    vertical-align:0.275rem;
  }
  
  /*グッズ*/
  #goods_container{
    background-image:url("../imgs/bg_dot_pink.png");
    background-size:400px;
    background-position:center;
  }
  #goods_pop img{
    width:750px;
    border-radius:6px;
    outline:1px solid rgba(255,66,118,1);
    outline-offset:8px;
  }
  #goods_panel img{
    width:550px;
    margin-top:5px;
  }
  .goods_remarks{
    margin-top:25px;
    margin-bottom:15px;
    font-size:1.3rem;
    line-height:1.625;
  }


  /*配信*/
  #streaming_container{
    background-image:url("../imgs/bg_diamond_blue.png");
    background-size:190px;
    background-position:center;
  }

  #streaming_text_01{
    margin-bottom:18px;
    img{width:600px;}
  }
  #streaming_text_02{
    font-size:1.6rem;
    letter-spacing:0.05em;
    text-indent:0.05em;
    margin-bottom:50px;
  }
  #streaming_text_taisyo{
    font-size:2.25rem;
    letter-spacing:0.1em;
    text-indent:0.1em;
    margin-bottom:2.5px;
  }
  #streaming_text_nitiji{
    font-size:3.5rem;
    letter-spacing:0.075em;
    text-indent:0.075em;
    padding-left:30px;
    margin-bottom:7px;
  }
  #streaming_text_switching{
    font-size:1.75rem;
    letter-spacing:0.05em;
    text-indent:0.05em;
    margin-bottom:50px;
  }

  #streaming_text_04{
    font-size:2.25rem;
    line-height:1.375;
    letter-spacing:0.1em;
    text-indent:0.1em;
  }
  .streaming_text_04_youbi{
    font-weight:500;
    font-size:2rem;
    vertical-align:2.5px;
  }
  #streaming_text_05{
    margin:0 auto -20px;
    padding-left:88px;
    font-size:5rem;
    font-weight:700;
    letter-spacing:0.05em;
    text-indent:0.05em;
  }
  #streaming_text_05_yen{
    font-weight:500;
    font-size:3rem;
    vertical-align:1.5px;
  }
  #streaming_text_05_tax{
    font-weight:500;
    font-size:2rem;
    vertical-align:2.5px;
  }
  #streaming_text_06{
    font-size:1.8rem;
    line-height:1.625;
    margin-top:30px;
    margin-bottom:27px;
  }
  #streaming_text_remark{
    font-size:1.6rem;
    letter-spacing:0.05em;
    text-indent:0.05em;
    margin-top:30px;
  }

   /*ガイドライン*/
  #guide_container{
    background-image:url("../imgs/bg_stripe_pink.png");
    background-size:180px;
    background-position: center;

  }
  #guide_container ul{
    width:800px;
    margin:0 auto;
    list-style:none;
    margin-bottom:4vw;
  }
  #guide_container ul li{
    font-size:1.4rem;
    font-weight:400;
    text-align:left;
    line-height:1.75;
    text-indent:-1em;
    padding-left:1em;
  }
  #guide_container ul li::before{
    content:"▶";
  }
  #guide_container ul li:nth-child(odd)::first-letter{
    color:rgb(255,66,118);
  }
  #guide_container ul li:nth-child(even)::first-letter{
    color:rgb(43,146,236);
  }
  #guide_otoiawase{
    font-size:2rem;
    letter-spacing:0.1em;
    text-indent:0.1em;
    line-height:1.75;
  }

  /*フッター*/
  #footer{
    width:100%;
    background-color:rgba(243,242,0,1);
    font-size:1.2rem;
    line-height:1.5;
    border-top:solid 1px black;
    padding-top:38px;
    padding-bottom:32px;
    text-align:center;
  }
  #footer_banners_container{
    display:flex;
    flex-wrap: wrap;
    width:800px;
    margin:0 auto 10px;
    justify-content:center;
    column-gap:20px;
    row-gap:20px;
  }
  #footer_banners_1 img,#footer_banners_2 img,#footer_banners_3 img{
    border:solid 1px black;
    border-radius:6px;
    margin:0 auto;
  }
  #footer_banners_1 img{
    height:85px;
  }
  #footer_banners_2 img{
    height:85px;
  }
  #footer_banners_3 img{
    height:85px;
  }
}
