@charset "utf-8";
.sp--only{
  display: none;
}
#particles_sp, .gentei_extra {
  display: none;
}
@media(max-width: 1023px) {
  .pc--only{
    display: none;
  }
  .sp--only{
    display: block;
  }
  .clearfile_item {
    width: 49%;
  }
  .loading_first {
    width: 120px;
  }
  .loading_base .loading_logo {
    transform: scale(0.8);
  }
  header {
    height: 60px;
  }
  header .header_inner {
    padding: 0 15px;
  }
  header .header_logo {
    width: 160px;
  }
  header .header_sns_line, header .header_sns_twitter {
    width: 27px;
  }
  header .header_sns_line {
    margin-right: 15px;
  }
  .hero_section {
    margin-top: 59px;
  }
  .hero_section, .hero_section .hero_inner {
    min-height: inherit;
    height: 114vw !important;
  }
  .hero_section .hero_inner .hero_logo {
    width: 100%;
    left: 0;
    top: 5vw;
  }
  .hero_section .hero_inner .hero_logo img {
    width: 25vw;
    display: block;
    margin: 0 auto;
  }
  .hero_inner .hero_chara .hero_center {
    width: 50vw;
    left: calc(50vw - 24vw);
    top: 17vw;
  }
  .hero_section .hero_inner .hero_catch1 {
    width: 24.2vw;
    left: inherit;
    right: 3px;
    top: 3.2vw;
  }
  .hero_section .hero_inner .hero_catch2 {
    width: 26.2vw;
    left: 3px;
    top: 29vw;
  }
  .hero_section .hero_inner .hero_chara {
    position: absolute;
    top: 1vw;
    left: 0;
    margin: 0;
    min-height: inherit;
    width: 100%;
  }
  .hero_date .hero_date_caption {
    width: 100%;
    box-sizing: border-box;
    padding: 0 40px;
  }
  .hero_section .hero_copyright {
    bottom: 5px;
  }
  .hero_section .hero_copyright_caption {
    width: 45vw;
  }
  .sp_cloud {
    display: none;
  }
  .hero_section .hero_inner .hero_cloud1 {
    left: -10vw;
    width: 62vw;
  }
  .hero_section .hero_inner .hero_cloud2 {
    top: 0;
    left: inherit;
    right: -10vw;
    width: 65vw;
  }
  .hero_section .hero_inner .hero_cloud3 {
    top: 70vw;
    left: -10vw;
    width: 65.3vw;
  }
  .hero_section .hero_inner .hero_cloud4 {
    top: 85vw;
    left: inherit;
    right: -10vw;
    width: 57.7vw;
  }
  .hero_date {
    height: inherit;
    padding: 15px 0;
    display: block;
    position: relative;
    z-index: 1000;
  }
  #particles_upper {
    display: none;
  }
  .hero_container #particles_sp {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 115vw;
    z-index: 0;
  }
  .introduction_section {
    background-image: url(../images/introduction_bg_pc.jpg);
    background-repeat: repeat;
    background-size: 300px;
    background-position: 0 0;
    padding: 10px 0 50vw;
  }
  .introduction_section .introduction_flex {
    display: block;
  }
  .introduction_section .introduction_item {
    width: 100%;
    margin: 0 0 5px;
  }
  .introduction_section .introduction_btn {
    width: 80%;
    margin: 0 auto 10px;
  }
  .matsuri_section {
    background: url(../images/menu_bg_sp.png) no-repeat center 0;
    background-size: 100%;
    top: -30vw;
    margin-bottom: -40vw;
    padding-bottom: 50vw;
    position: relative;
  }
  .matsuri_section::before {
    content: '';
    display: block;
    position: absolute;
    top: 300vw;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/menu_bgr_sp.png) repeat-y center 0;
    background-size: 100%;
    z-index: -1;
  }
  .matsuri_section .matsuri_section_title .menu_chara {
    width: 26.6vw;
    top: -14vw;
    right: 6vw;
  }
  .matsuri_section .matsuri_section_title {
    width: 100%;
    margin: 0 auto 20px;
    padding-top: 10px;
  }
  .matsuri_section h2 {
    width: 100%;
    box-sizing: border-box;
    padding: 0 10px;
  }
  .gentei_catch_flex {
    margin-bottom: 15px;
  }
  .gentei_catch {
    display: block;
  }
  .gentei_catch_mark {
    width: 46%;
    margin: 0 auto 10px;
  }
  .gentei_catch_caption {
    padding: 0 15px;
  }
  .matsuri_section .menu_item_wrap {
    width: 100%;
    padding-bottom: 10vw;
    margin-bottom: 10px;
  }
  .matsuri_section .menu_item_wrap .menu_item {
    left: 0 !important;
  }
  .matsuri_section .genteicard_title {
    width: 100%;
  }
  .matsuri_section .genteicard_figure {
    width: 28vw;
    left: 0.4vw;
    top: -5vw;
  }
  .matsuri_section p {
    font-size: 12px;
    margin-top: 10px;
    margin-left: 40vw;
    transform: translateY(0);
  }
  .gentei_extra {
    display: block;
    width: 66vw;
    margin: 5vw auto 0;
    position: relative;
    z-index: 10;
  }
  .genteicard_section .genteicard_wrap {
    box-sizing: border-box;
    padding: 0 10px;
    margin-bottom: 40px;
  }
  .genteicard_8 {
    margin-bottom: 10px;
  }
  .danran_section {
    background: url(../images/danran_bg_sp.png) no-repeat 0 0;
    background-size: 100%;
    top: -60vw;
    margin-bottom: -60vw;
    padding: 0 0 50vw;
  }
  .danran_section::after {
    content: '';
    display: block;
    position: absolute;
    top: 200vw;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/danran_bgr_sp.png) repeat-y 0 0;
    background-size: 100%;
    z-index: -1;
  }
  .danran_cloud1_inner .danran_cloud1-1 {
    width: 51vw;
    right: -36.6vw;
    top: -9vw;
  }
  .danran_cloud1_inner .danran_cloud1-2 {
    width: 56vw;
    top: -5vw;
    left: -26.6vw;
  }
  .danran_cloud1_inner .danran_cloud1-1::after, .danran_cloud1_inner .danran_cloud1-2::after, .danran_cloud1-3 {
    display: none;
  }
  .danran_section .danran_section_title {
    width: 100%;
    margin: 0 auto 15px;
  }
  .danran_section .danran_section_title .danran_chara {
    width: 29.3vw;
    top: -15vw;
    right: 5vw;
    z-index: 100;
  }
  .danran_section .danran_date {
    width: 73vw;
    margin: 0 auto 10px;
  }
  .danran_section .danran_item {
    box-sizing: border-box;
    padding: 0 20px;
    margin-bottom: 15vw;
    width: 100%;
  }
  .clearfile_item {
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
    margin: 0 0 20px;
  }
  .clearfile_title .clearfile_chara {
    left: -8vw;
    top: -11vw;
    width: 29vw;
  }
  .clearfile_marge {
    width: 100%;
    box-sizing: border-box;
    padding: 0 10px;
    margin: 0 0 15px;
  }
  .clearfile_marge .clearfile_notes {
    position: static;
    padding-top: 10px;
  }
  .clearfile_marge .clearfile_notes li {
    font-size: 12px;
  }
  .goods_section {
    background: url(../images/goods_bg_sp.png) no-repeat 0 0;
    background-size: 100%;
    top: -30vw;
    margin-bottom: -30vw;
    padding: 0 0 60vw;
  }
  .desktop_device .goods_section {
    padding-bottom: 70vw;
  }
  .goods_section::after {
    content: '';
    display: block;
    position: absolute;
    top: 200vw;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/goods_bgr_sp.png) repeat-y 0 0;
    background-size: 100%;
    z-index: -1;
  }
  .goods_section .goods_section_title {
    margin-bottom: 8vw;
    z-index: 10;
  }
  .goods_section .goods_section_title .goods_chara {
    width: 30vw;
    top: -17vw;
    left: 4vw;
  }
  .goods_section .goods_section_title_inner .goods_cloud1 {
    width: 52vw;
    top: -9.3vw;
    right: -31vw;
  }
  .goods_section .goods_section_title_inner .goods_cloud1::after {
    content: '';
    display: block;
    width: 36vw;
    height: 36vw;
    position: absolute;
    top: -20vw;
    left: 0vw;
    background: url(../images/bg_fubuki4_pc.png);
    background-size: 100%;
    z-index: -1;
  }
  .goods_section .goods_section_title_inner .goods_cloud2 {
    width: 56vw;
    top: -8vw;
    left: -25vw;
  }
  .goods_section .goods_section_title_inner .goods_cloud3 {
    width: 62vw;
    top: 62vw;
    right: -36vw;
  }
  .goods_section .goods_section_title_inner .goods_cloud2::after {
    display: none;
  }
  .spec_flex_inner {
    padding: 10px 5px 10px 20px;
    box-sizing: border-box;
    width: 60vw;
  }

  .spec_flex_inner dl {
    display: block;
  }
  .spec_flex_inner dl dt, .spec_flex_inner dl dd {
    font-size: 12px;
  }
  .spec_flex_inner dl dt {
    padding: 0;
  }
  .spec_flex_inner dl dd {
    padding: 0 0 5px;
  }
  .spec_flex {
    display: flex;
    justify-content: flex-end;
    padding: 0 20px 0 0;
    position: relative;
    margin-bottom: 25px;
  }
  .spec_flex .chara_rengoku {
    position: absolute;
    width: 32vw;
    bottom: inherit;
    top: 5vw;
    left: 5vw;
    background: url("../images/chara_rengoku_pc.png") no-repeat 0 0;
    background-size: 100%;
  }
  .goods_btn {
    width: 90%;
  }
  .follow_section,
	.follow_section.long {
    background-image: url(../images/follow_bg_sp.png);
		background-position: center top;
    background-size: 100%;
    background-repeat: no-repeat;
    top: -30vw;
    margin-bottom: -30vw;
    padding: 0 0 50vw;
    position: relative;
  }
  .follow_section::after {
    content: '';
    display: block;
    position: absolute;
    top: 200vw;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/follow_bgr_sp.png) repeat-y 0 0;
    background-size: 100%;
    z-index: -1;
  }
  .follow_section .lead {
    display: none;
  }
  .follow_btn {
    max-width: 76.6vw;
    margin: 0 auto 10px;
  }
  .follow_date {
    width: 77.3vw;
    margin: 0 auto 10px;
  }
  .follow_date + p {
    margin-bottom: 30px;
  }
  .follow_prise_wrap .follow_prise3 {
    margin-bottom: 40px;
  }
  .term_wrap h3 + p {
    font-size: 14px;
  }
  .oubo_body {
    background: url(../images/introduction_bg_pc.jpg);
    background-size: 300px;
    padding: 20px;
    margin-bottom: 10px;
  }
  .oubo_twitter_btn {
    width: 76.6vw;
  }
  .oubo_line {
    margin: 20px 0;
    height: 3vw;
    position: relative;
  }
  .oubo_line::before, .oubo_line::after {
    width: calc(50% - 45px);
  }
  .oubo_step_sb3 + p {
    font-size: 14px;
    text-align: center;
  }
  /* .oubo_step_sb3 + p br {
    display: none;
  } */
  .oubo_step_sb {
    width: 147px;
    margin: 0 auto 10px;
  }
  .oubo_step_sb2 {
    width: 152px;
    margin: 20px auto 5px;
  }
  .oubo_step_sb3 {
    width: 90px;
    margin: 0 auto 10px;
  }
  .term_body {
    padding: 20px;
  }
  .shop_section {
    background: url(../images/shop_bg_sp.png) no-repeat center top;
    background-size: 100%;
    top: -30vw;
    margin-bottom: -50vw;
    z-index: 100;
    padding-top: 27vw;
    padding-bottom: 60vw;
    min-height: inherit;
  }
  .shop_section::after {
    content: '';
    display: block;
    position: absolute;
    top: 200vw;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/shop_bgr_sp.png) repeat-y 0 0;
    background-size: 100%;
    z-index: -1;
  }
  .shop_section h3 {
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
    margin: 0 auto 15px;
  }
  .shop_section .shop_caption {
    margin: 0 20px;
    box-sizing: border-box;
    padding: 20px;
    background: url(../images/shop_caption_bg.jpg) repeat-y 0 0;
  }
  .aboutanime_section {
    background: url(../images/about_anime_bg_sp.png) no-repeat center top;
    background-size: 100%;
    top: -30vw;
    margin-bottom: -30vw;
    padding-bottom: 0;
    position: relative;
  }
  .aboutanime_section::after {
    content: '';
    display: block;
    position: absolute;
    top: 200vw;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/about_anime_bgr_sp.png) repeat-y 0 0;
    background-size: 100%;
    z-index: -1;
  }
  .aboutanime_section .aboutanime_inner {
    padding: 35vw 0 0;
  }
  .aboutanime_section .aboutanime_inner h3 {
    margin-bottom: 20px;
    padding: 0 20px;
  }
  .aboutanime_section .aboutanime_inner h3 + p {
    font-size: 13px;
    text-align: left;
    padding: 0 20px;
  }
  .aboutanime_section .link_btn {
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
  }
  .aboutanime_section .anime_bnr {
    width: 100%;
    max-width: inherit;
  }
  footer {
    background: #E70012;
    padding: 50px 20px 20px;
    box-sizing: border-box;
    min-height: inherit;
    z-index: 100;
    position: relative;
  }
  .pagetop {
    bottom: 20px;
    right: 20px;
    width: 60px;
    z-index: 500;
  }
  .pagetop.footerFixed {
    bottom: 92vw;
  }
  .matsuri_section .menu_cloud1_inner .menu_cloud1-1 {
    width: 52vw;
    right: -40vw;
    top: -5vw;
  }
  .matsuri_section .menu_cloud1_inner .menu_cloud1-1::after {
    width: 41vw;
    height: 58vw;
    top: 35vw;
    left: -5vw;
    background: url(../images/sp_dot10.png);
    background-size: 100%;
    z-index: -1;
  }
  .matsuri_section .menu_cloud1_inner .menu_cloud1-2 {
    width: 56vw;
    top: 12vw;
    left: -26.6vw;
  }
  .matsuri_section .menu_cloud1_inner .menu_cloud1-2::after {
    width: 41vw;
    height: 58vw;
    top: 70vw;
    left: 0;
    background: url(../images/bg_fubuki6_sp.png);
    background-size: 100%;
    z-index: -1;
  }
  .matsuri_section .menu_cloud1_inner .menu_cloud1-3 {
    width: 62vw;
    right: -41vw;
    top: 110vw;
  }
  .matsuri_section .menu_cloud1_inner .menu_cloud1-3::after {
    width: 44vw;
    height: 170vw;
    top: 0;
    left: -4vw;
    background: url(../images/bg_fubuki5_sp.png);
    background-size: 100%;
    z-index: -1;
  }
  .matsuri_section .menu_cloud2_inner .menu_cloud2-1 {
    width: 49vw;
    left: -18.4vw;
    top: 36vw;
    z-index: 0;
  }
  .matsuri_section .menu_cloud2_inner .menu_cloud2-1::after {
    display: none;
  }
  .genteicard_item2, .genteicard_item3 {
    position: relative;
  }
  .genteicard_item2::before {
    content: '';
    display: block;
    position: absolute;
    top: -8vw;
    right: -42vw;
    width: 62.6vw;
    height: 22vw;
    background: url("../images/sp_cloud1.png") no-repeat 0 0;
    background-size: 100%;
    z-index: -1;
  }
  .genteicard_item3::before {
    content: '';
    display: block;
    position: absolute;
    top: -11vw;
    left: -30vw;
    width: 52vw;
    height: 18vw;
    background: url("../images/sp_cloud2.png") no-repeat 0 0;
    background-size: 100%;
    z-index: -1;
  }
  .clearfile_title_inner .clearfile_title_cloud {
    width: 46vw;
    top: 30vw;
    left: -20vw;
  }
  .clearfile_title_inner .clearfile_title_cloud::after {
    width: 41.3vw;
    height: 70vw;
    top: -20vw;
    left: 0;
    background: url(../images/bg_fubuki7_sp.png);
    background-size: 100%;
  }
  .follow_section_title_inner .follow_cloud1 {
    width: 60vw;
    top: 0;
    left: -34vw;
  }
  .follow_section_title {
    padding: 0;
  }
  .follow_section_title h2 {
    max-width: inherit;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    position: relative;
    z-index: 5;
  }
  .follow_section_title .follow_chara {
    width: 48vw;
    top: -90px;
    right: -3vw;
    z-index: 0;
    background: url("../images/chara_zenitsu.png") no-repeat 0 0;
    background-size: 100%;
  }
  .desktop_device .follow_section_title .follow_chara {
    top: -140px;
  }
  .follow_section_title_inner .follow_cloud2, .follow_section_title_inner .follow_cloud1::after, .follow_cloud4 {
    display: none;
  }
  .follow_prise_inner .follow_cloud3 {
    width: 45.3vw;
    top: 116vw;
    left: -20.6vw;
    z-index: 0;
  }
  .follow_prise_inner .follow_cloud3::after {
    width: 41vw;
    height: 58vw;
    top: -10vw;
    left: 0;
    background: url(../images/bg_fubuki6_sp.png);
    background-size: 100%;
    z-index: -1;
  }
  .follow_prise2 {
    position: relative;
    z-index: 10;
  }
  .follow_prise1 {
    position: relative;
  }
  .follow_prise1 img {
    position: relative;
    z-index: 10;
  }
  .follow_prise1::before {
    content: '';
    display: block;
    width: 62.6vw;
    height: 22vw;
    background: url("../images/sp_cloud9.png") no-repeat 0 0;
    background-size: 100%;
    position: absolute;
    right: -35vw;
    top: -10.6vw;
  }
  .shop_section .shop_inner .shop_cloud {
    width: 60vw;
    top: -33vw;
    left: -32vw;
  }
  .follow_cloud5, .follow_cloud6, .shop_section .shop_inner .shop_cloud::after {
    display: none;
  }
  .oubo_box.step2 .chara_uzui {
    display: none;
  }
  .term_wrap {
    padding: 0 20px;
  }
  .aboutanime_section .aboutanime_inner .anime_cloud1 {
    width: 50vw;
    right: -13vw;
    top: 9vw;
  }
  .aboutanime_section .aboutanime_inner .anime_cloud1::after {
    display: none;
  }
  .aboutanime_section .aboutanime_inner .anime_cloud2 {
    width: 52vw;
    left: -13.3vw;
    top: 6vw;
  }
  .goods_section .goods_item img {
    position: relative;
    z-index: 100;
  }
  .goods1::before, .goods1::after, .goods2::before, .goods2::after, .goods3::before, .goods3::after, .goods4::before, .goods4::after, .goods5::before, .goods5::after {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
  }
  .goods1::before {
    background: url("../images/sp_cloud_goods2.png") no-repeat 0 0;
    background-size: 100%;
    width: 45vw;
    height: 45vw;
    left: -22vw;
    bottom: -25vw;
  }
  .goods2::before {
    background: url("../images/sp_cloud_goods3.png") no-repeat 0 0;
    background-size: 100%;
    width: 45vw;
    height: 45vw;
    right: -22vw;
    bottom: -60vw;
  }
  .goods3::before {
    background: url("../images/sp_cloud_goods4-1.png") no-repeat 0 0;
    background-size: 100%;
    width: 45vw;
    height: 45vw;
    left: -35vw;
    bottom: -40vw;
  }
  .goods3::after {
    background: url("../images/sp_cloud_goods4-2.png") no-repeat 0 0;
    background-size: 100%;
    width: 45vw;
    height: 45vw;
    right: -35vw;
    bottom: -160vw;
  }
  .goods5::before {
    background: url("../images/sp_cloud_goods5-1.png") no-repeat 0 0;
    background-size: 100%;
    width: 50vw;
    height: 50vw;
    left: -25vw;
    bottom: -45vw;
  }
  .goods5::after {
    background: url("../images/sp_cloud_goods5-2.png") no-repeat 0 0;
    background-size: 100%;
    width: 50vw;
    height: 50vw;
    right: -25vw;
    bottom: -80vw;
  }
  .goods_section .goods_item_inner .goods_cloud7 {
    display: none;
  }
  .shop_section .shop_inner {
    position: relative;
  }
  .shop_section .shop_inner .chara_uzui {
    width: 35vw;
    position: absolute;
    top: -45vw;
    right: 0;
    background: url("../images/chara_uzui_sp.png") no-repeat 0 0;
    background-size: 100%;
  }
}
@media(max-width: 767px) {
  .hero_date .hero_date_caption {
    padding: 0 15px;
  }
  .clearfile_title .clearfile_chara {
    left: 1vw;
  }
  .gentei_catch_caption li {
    font-size: 12px;
  }
}
@media(max-width: 320px) {
  body {
    font-size: 13px;
  }
  .oubo_box p {
    font-size: 14px;
  }
  .oubo_step_sb3 + p {
    font-size: 12px;
  }
  .term_wrap, .goods_section .goods_item {
    padding: 0 10px;
  }
  .goods_spec {
    margin: 0 10px;
  }
}