@charset "UTF-8";
body {
	padding-top:0;
	min-width:0;
}
.contents img {
	display:block;
	max-width:100%;
}
.contents {
  margin: 0 auto;
  background-color: #EDF5FE;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  z-index: 1;
  position:relative;
  transform: translate(50%, 0);
  overflow:hidden;
  transition:0.3s;
  background:url("../img/bg_sp_l.png") repeat-y left top / 75px, url("../img/bg_sp_r.png") repeat-y right top / 75px;
  padding:0 8px;
  font-size:0.875rem;
	letter-spacing:normal;
	line-height: 1.6em;
}
@media screen and (max-width: 980px) {
	.contents {
		transform: translate(0, 0);
	}
}
.contents_inner {
	background:#fff url("../img/bg.jpg") repeat;
	padding:40px 0;
}
.pc-bg {
  position: fixed;
  width: 100%;
  height: 100%;
}
.pc-bg__left {
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  width: 50vw;
  z-index: 1;
  background: url(../img/bg_ct.png) no-repeat left calc(50% + 73.7%) top / 42.4%, url(../img/bg_lt.png) no-repeat left top / 39.79%, url(../img/bg_cb.png) no-repeat right -13.1% bottom / 46.51%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  gap: 30px;
	box-sizing: border-box;
	transition: 0.3s;
}
@media screen and (max-width: 980px) {
  .pc-bg__left {
    width:50%;
  }
}
@media screen and (max-width: 640px) {
	.pc-bg__left {
		display:none;
	}
}
.pc-bg__left_inner {
	display:flex;
	flex-direction: column;
	align-items:center;
	justify-content: center;
	height:80vh;
	padding-top:1.4vw
}
@media screen and (max-width: 980px) {
  .pc-bg__left_inner {
    display: none;
  }
}
.pc-bg__right__inner {
}
@media screen and (max-width: 980px) {
  .pc-bg__right__inner {
    display: none;
  }
}
.pc-bg__right {
  position: fixed;
  right: 0;
  top: 0;
  width: calc(50vw - 390px);
  z-index: 1;
  background: url(../img/bg_rb.png) no-repeat right bottom / 61.07%, url(../img/bg_rt.png) no-repeat right top / 133.6%;
	box-sizing: border-box;
	transition: 0.3s;
	display:flex;
	justify-content: center;
	align-items: center;
	height:100vh
}
@media screen and (max-width: 980px) {
  .pc-bg__right {
    width:50%;
  }
}
@media screen and (max-width: 640px) {
	.pc-bg__right {
		display:none;
	}
}
.pc_logo {
	max-width:35.1%;
	margin-bottom:4%;
	max-height:46vh;
	width:auto;
	height:auto;
}
.pc_service {
	max-width:48.3%;
	margin-bottom:3%;
	max-height:3.24vh;
	width:auto;
	height:auto;
}
.pc_services_list {
	width:100%;
	display: flex;
	justify-content: center;
	gap:3vw;
	max-height:20vh;
}
.pc_services_list:last-of-type {
	position:relative;
	top:-1.4vw;
}
.pc_services_list_item {
	width:18.54%
}
.pc_services_list_item a {
	display:block;
	max-width:100%;
	width:auto;
	height:auto;
	max-height:100%;
	margin:0 auto;
}
.pc_services_list_item img{
	max-width:100%;
	width:auto;
	height:auto;
	max-height:100%;
	margin:0 auto;
}
.pc_menu {
	font-size:1.2vw;
	font-weight: bold;
	text-align:center;
}
.pc_menu_title {
	font-size:2.2vw;
	font-weight: bold;
	margin-bottom:40px;
}
.pc_menu li{
	margin-bottom:40px;
	text-align:left;
}


@media (min-width: 641px) {
  .haishin #qro_footer {
    max-width: 390px;
    margin: 0 auto;
    box-sizing: content-box;
    border-left: 1px solid #1c1c1c;
    border-right: 1px solid #1c1c1c;
    z-index: 1;
	transform: translate(50%, 0);
	box-sizing: border-box;
	transition: 0.3s;
  }
  .haishin #qro_footer .footer__logo {
    padding-bottom: 32px;
  }
  .haishin #qro_footer .footer__logo img {
    max-width: 150px;
  }
  .haishin #qro_footer .footer__logo_btm {
    padding-top: 30px;
    padding-bottom: 20px;
  }
  .haishin #qro_footer .footer__logo_btm_item {
    display: block;
  }
  .haishin #qro_footer .footer__logo_btm_item:first-child {
    padding-bottom: 30px;
    border-bottom: 1px solid #4B4B4B;
    margin: 0 0 22px !important;
  }
  .haishin #qro_footer .footer__logo_btm_item:first-child img {
    max-width: 107px;
  }
  .haishin #qro_footer .footer__logo_btm_item:nth-child(2) img {
    max-width: 122px;
  }
  .haishin #qro_footer .footer__logo_btm_item:nth-child(3) {
    margin-top: 25px !important;
  }
  .haishin #qro_footer .footer__logo_btm_item:nth-child(3) img {
    max-width: 122px;
    width: 100%;
  }
  .haishin #qro_footer .footer__logo_btm_item:last-child {
    margin-top: 25px !important;
  }
  .haishin #qro_footer .footer__logo_btm_item:last-child img {
    max-width: 122px;
    width: 100%;
  }
  .haishin #qro_footer .footer__subnav_item {
    padding: 0 15px;
    line-height: 2.1;
  }
  .haishin #qro_footer .footer__subnav_item::after {
    display: none;
  }
  .haishin #qro_footer .footer__info_list {
    text-align: left;
  }
  .haishin #qro_footer .show-for-small-only {
    display: inherit;
  }
  .haishin #qro_footer .footer__info_text {
    font-size: 11px;
    text-align: left;
    margin-bottom: 1em;
  }
  .haishin #qro_footer .footer__info_link {
    text-align: left;
  }
  .haishin #qro_footer .footer__inner {
    padding: 40px 15px 25px;
  }
  .haishin #qro_footer .footer__nav_item {
    margin-bottom: 10px;
    padding: 0px;
  }
  .haishin #qro_footer .footer__nav_item::after {
    display: none;
  }
  .haishin #qro_footer .footer__nav_list {
    width: 50%;
    display: block;
    margin-bottom: 0px;
  }
  .haishin #qro_footer .footer__nav_list:first-child {
    border-right: 1px solid #4B4B4B;
  }
  .haishin #qro_footer .footer__nav_inner {
    display: flex;
  }
  .haishin #qro_footer .footer__nav {
    padding: 30px 0;
  }
  .haishin #qro_footer .footer__info {
    padding-top: 20px;
  }
  .haishin #qro_footer .footer__jasrac_inner {
    justify-content: flex-start;
  }
  .haishin #qro_header .header.fixed_wrap {
    position: relative;
  }
  .contents {
    max-width: 390px;
    box-sizing: content-box;
    border-left: 1px solid #1c1c1c;
    border-right: 1px solid #1c1c1c;
	  box-sizing: border-box;
  }
  .wrapper {
	  padding:0;
	  background:#fff;
	  margin:0;
  }
}
.haishin #pTop {
  opacity: 1;
  bottom: 30px;
}
.haishin #pTop img {
  max-width: 80px;
  width: 18vw;
}
@media (max-width: 980px) {
	.haishin #qro_footer {
		transform: translate(0);
	}
}
@media (max-width: 640px) {
  #information,
  #goods,
  #album,
  #omoide,
  #profile {
    padding-top: 50px;
    margin-top: -30px;
  }
}

.no-point-event {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none;
}

/*--------------------------
      drowermenu
----------------------------*/
@media screen and (max-width: 640px) {
  .wrapper .menu20th {
    width: calc(100% - 50px);
  }
}
.wrapper .btn-menu {
  position: fixed;
  top:20px;
  width: 55px;
  height: 55px;
  vertical-align: middle;
  cursor: pointer;
  transition: right .5s, filter .5s;
  z-index:3;
  right:calc(50% - 390px);
  font-size:0;
  text-indent:-999px;
  background:#000;
  background-size:contain;
	border-radius:10px 0 0 10px;
	z-index:100;
	display:none;
}
@media (max-width: 640px) {
    .wrapper .btn-menu {
		display:block;
        right:calc(50% - 195px);
    }
}
@media screen and (max-width: 640px) {
	.wrapper .btn-menu {
		right:0;
		display:block;
		position: fixed;
  top:20px;
  width: 55px;
  height: 55px;
  vertical-align: middle;
  cursor: pointer;
  transition: right .5s, filter .5s;
  z-index:3;
  right:0;
  font-size:0;
  text-indent:-999px;
  background:#000;
  background-size:contain;
	border-radius:10px 0 0 10px;
	z-index:100;
	}
}
.wrapper .btn-menu:hover {
	filter: brightness(120%);
	transition: filter .5s, right .5s;
}
.wrapper .btn-menu.open {
  background-size:contain;
  /*right:80%;*/
  transition: right .5s, filter .5s;
}
.wrapper .btn-menu span {
    display: inline-block;
    position: absolute;
    height: 2px;
    width: 22px;
    background: #fff;
    transition: all 0.3s;
    margin: auto;
    left: 0;
    right: 0;
  }.wrapper .btn-menu span:nth-of-type(1) {
    top: 20px;
  }.wrapper .btn-menu.open span:nth-of-type(1) {
    transform: rotate(45deg);
    top: 26px;
  }.wrapper .btn-menu span:nth-of-type(2) {
    top: 27px;
  }.wrapper .btn-menu.open span:nth-of-type(2) {
    opacity: 0;
  }.wrapper .btn-menu span:nth-of-type(3) {
    top: 34px;
  }.wrapper .btn-menu.open span:nth-of-type(3) {
    transform: rotate(-45deg);
    top: 26px;
  }
.wrapper .menu20th {
  top: 0;
  z-index: 10;
  transition: all .5s;
  display: flex;
  width: 288px;
  height: 100vh;
  background-color: #fff;
  right: -288px;
  align-items:center;
  overflow:auto;
	position: fixed;
}
@media screen and (max-width: 640px) {
	.wrapper .menu20th {
		align-items:flex-start;
	}
}
.wrapper .menu20th.open {
  right: 0;
  transition: all .5s;
}
@media screen and (max-width: 640px) {
  .wrapper .menu20th {
	  width: 80%;
	  right: -80%;
	   /*width: 100%;
	  right: -100%;*/
  }
	.wrapper .menu20th.open {
		right: 0;
	}
}
.wrapper .menu20th_inner {
	width:100%;
	height:100vh;
	display:flex;
	align-items:center;
	justify-content: center;
	flex-direction: column;
	border-left:1px solid #1c1c1c;
}
.wrapper .menu20th_title {
	font-size:2em;
	font-weight: bold;
	margin-bottom:50px;
}
.wrapper .menu20th_list {
}
.wrapper .menu20th_list li{
	margin-bottom:40px;
}
.wrapper .menu20th_list li:last-of-type{
	margin-top: 40px;
    border-top: 1px dashed #c0c0c0;
    padding-top: 40px;
}
/*--------------------------
     buttons
----------------------------*/
.wrapper .accordion {
	position:relative;
}
.wrapper .accordion_head {
	position:relative;
	width:100%;
}
.wrapper .btn-more {
	position:absolute;
	right:20px;
	top: calc(50% - 12px);
	margin:auto;
}
.wrapper .btn-more_inner{
    display: block;
    font-size: 18px !important;
    position: relative;
    text-align: center;
    color: #09195A;
    width: 240px;
    cursor: pointer;
    border-radius: 100px;
	border:1px solid #09195A;
	transition: all 0.3s;
	width:24px;
	height:24px;
}
.wrapper .btn-more_inner::after {
    display: block;
    content: "";
    height: 10px;
    width: 2px;
	background:#09195A;
    transform: rotate(0);
    position: absolute;
    right: 0;
	left:0;
    bottom: 0;
    top: 0;
    margin: auto;
    transition: all 0.3s;
	border:none;
}
.wrapper .btn-more_inner::before {
    display: block;
    content: "";
    height: 10px;
    width: 2px;
	background:#09195A;
    transform: rotate(90deg);
    position: absolute;
    right: 0;
	left:0;
    bottom: 0;
    top: 0;
    margin: auto;
	border:none;
}
.wrapper .btn-more.open .btn-more_inner::after {
	transform: rotate(90deg);
	 transition: all 0.3s;
}
.wrapper .btn-accordion-type3 {
	position:relative;
	width:100%;
}
.wrapper .btn-more-type3 {
	position:absolute;
	right:0;
	top: calc(50% - 12px);
	margin:auto;
}
.wrapper .btn-more-type3_inner{
    display: block;
    font-size: 18px !important;
    position: relative;
    text-align: center;
    color: #09195A;
    width: 240px;
    cursor: pointer;
    border-radius: 100px;
	border:1px solid #09195A;
	transition: all 0.3s;
	width:24px;
	height:24px;
}
.wrapper .btn-more-type3_inner::after {
    display: block;
    content: "";
    height: 10px;
    width: 2px;
	background:#09195A;
    transform: rotate(0);
    position: absolute;
    right: 0;
	left:0;
    bottom: 0;
    top: 0;
    margin: auto;
    transition: all 0.3s;
	border:none;
}
.wrapper .btn-more-type3_inner::before {
    display: block;
    content: "";
    height: 10px;
    width: 2px;
	background:#09195A;
    transform: rotate(90deg);
    position: absolute;
    right: 0;
	left:0;
    bottom: 0;
    top: 0;
    margin: auto;
	border:none;
}
.wrapper .btn-more-type3.open .btn-more-type3_inner::after {
	transform: rotate(90deg);
	 transition: all 0.3s;
}
.wrapper .btn-base {
	background:#1c1c1c;
	color:#fff;
	position:relative;
	display:flex;
	justify-content: center;
	align-items: center;
	min-height:45px;
	border-radius:100px;
	    width: 100%;
	padding: 0 30px;
	text-align:center;
	line-height:1.4em;
	font-weight: 600;
}
.wrapper .btn-base::after {
	content:"";
	display:block;
	border-radius:50px;
	position:absolute;
	right:10px;
	top:0;
	bottom:0;
	width:20px;
	height:20px;
	margin:auto;
}
.wrapper span.btn-base {
	opacity:0.5;
}
.wrapper span.btn-base::after {
	opacity:0.5;
}
.wrapper .btn-vod::after {
	background: #ea2f67 url("../img/arrow.png") no-repeat center / 10px;
}
.wrapper .btn-music::after {
	background: #f89e02 url("../img/arrow.png") no-repeat center / 10px;
}
.wrapper .btn-long {
	margin-top:15px;
}
.wrapper .btn-small {
	margin-top:15px;
	font-size:0.857em;
	line-height: 1.4em;
}
.wrapper .btn-skystage {
	border:1px solid #1882dc;
	background:none;
	color:#1882dc;
}
.wrapper .btn-skystage::after {
	background: #fff url("../img/arrow_blue.png") no-repeat center / 10px;
	border:1px solid #1882dc;
}
.wrapper a,
.wrapper button{
	transition:0.3s;
}
.wrapper a:hover,
.wrapper button:hover{
	opacity:0.7;
	transition:0.3s;
}
/*--------------------------
      contents
----------------------------*/
.contents section {
	padding:60px 20px;
	background:url("../img/border_dotted.png") repeat-x center top / 374px;
}
.contents section:first-of-type {
	padding-top:0;
	background:none;
}
.contents .mv {
  text-align:center;
}
.contents .mv_lead {
	text-align:center;
	line-height:2em;
	margin-bottom:30px;
	font-weight: 600;
}
.contents h1 {
	margin:0 auto 32px;;
}
.contents h1 img{
	margin:0 auto;
}
.contents h2 {
	margin-bottom:40px;
	font-size:1.7em;
	font-weight: bold;
	text-align:center;
}
.contents h2 span{
	font-size:0.666em;
	display:block;
	font-weight: 600;
	margin-bottom:2px;
}
.contents .lead {
	text-align:left;
	margin-bottom:20px;
}
.contents .news {
	border:1px solid #c0c0c0;
	padding:0.75em 20px;
	border-radius:20px;
}
.contents .news_item{
	display:flex;
}
.contents .news_item_head {
	margin-right:1em;
}
.contents .news .btn-more {
	right:0;
}
.contents .news .btn-more_inner {
	transform: scale(0.8);
}
.contents .services {
	padding:40px 20px;
}
.contents .services h2 {
	margin-bottom:20px;
}
.contents .services h2 img{
	margin:0 auto;
}
.contents .services_list {
	display:flex;
	align-items:center;
	justify-content: center;
	gap:8px;
}
.contents .challenges h2 {
	background:url("../img/charm_title_01.png") no-repeat center bottom / 47px;
	padding-bottom:20px;
}
.contents .challenges_list_item a{
	display:block;
	border-bottom:1px solid #c0c0c0;
	padding:25px 25px 25px 0;
	position: relative;
}
.contents .challenges_list_item:first-child a{
	padding-top:0;
}
.contents .challenges_list_item a::after{
	content:"";
	display:block;
	background:url("../img/arrow_under.png") no-repeat center / 8px;
	width:25px;
	height:25px;
	border-radius:50px;
	border:#1c1c1c solid 1px;
	position: absolute;
	top:0;
	bottom:0;
	margin:auto;
	right:0;
}
.contents .challenges_list_item a.newtab::after{
	background:url("../img/arrow.png") no-repeat center / 10px;
}
.contents .challenges_list_item_sub {
	padding-left:30px;
	position: relative;
}
.contents .challenges_list_item_sub::before {
	content:"";
	display: block;
	position: absolute;
	width:22px;
	height:22px;
	top:0;
	bottom:0;
	margin:auto;
	background:url("../img/icon_color_01.png") no-repeat center / contain;
	left:0;
}
.contents .challenges_list_item:nth-child(3) .challenges_list_item_sub::before {
	background:url("../img/icon_color_02.png") no-repeat center / contain;
}
.contents .challenges_list_item_sub.new::before {
	width:32px;
	height:32px;
	background:url("../img/icon_new.png") no-repeat center / contain;
	left:-6px;
}
.contents .challenges_list_item_title {
	font-size:1.42em;
	font-weight: bold;
	margin-top:15px;
}
.contents .challenges_list_item_title > span {
	font-size:0.8em;
}
.contents .comingsoon {
	text-align:center;
	font-size:1.28em;
	margin-top:25px;
}
.contents .tuneselect h2 {
	margin-bottom:30px;
	background:url("../img/charm_title_02.png") no-repeat center bottom / 47px;
	padding-bottom:20px;
}
.contents .tuneselect_box {
	border:1px solid #1c1c1c;
	border-radius:12px;
	padding:20px;
	margin-top:20px;
	background: #fff;
}
.contents .tuneselect_box +  .tuneselect_box{
	margin-top:15px;
}
.contents .tuneselect_box:last-of-type {
	margin-bottom:40px;
}
.contents .tuneselect_box .btn-more{
	right:0;
}
.contents .tuneselect_box_head {
	display:flex;
	gap:20px;
	align-items: center;
	position: relative;
}
.contents .tuneselect_box_head > div{
	position: relative;
}
.contents .tuneselect_box_head .icon-new {
	position:absolute;
	top:-30px;
}
.contents .tuneselect_box_contents_inner {
	padding:40px 0 20px;
	border-bottom:1px solid #c0c0c0;
	text-align:center;
	position: relative;
}
.contents .tuneselect_box_contents_inner:first-of-type {
	margin-top:10px;
}
.contents .tuneselect_box_flag {
	position:absolute;
	left:0;
	top:10px;
}
.contents .tuneselect_box_music {
	font-size:1.28em;
	margin-bottom:3px;
}
.contents .tuneselect_box_star {
	font-size:1.285em;
	font-weight: 500;
}
.contents .tuneselect_box_date {
	font-size:0.857em;
}
.contents .tuneselect_box_rel {
	font-size:0.857em;
	background:url("../img/charm_subtitle_r.png") no-repeat center right / 18px,url("../img/charm_subtitle_l.png") no-repeat center left / 18px;
	padding:0 26px;
	display:inline-block;
	margin-top:15px;
}
.contents .tuneselect_box_contents_buttons {
	display: flex;
	gap:10px;
	margin-top:12px;
}
.contents .tuneselect_box_contents_buttons > div{
	width:100%;
}
.contents .tuneselect_box_frame {
	background:url("../img/charm_frame_t.png") no-repeat center top / 100%,url("../img/charm_frame_b.png") no-repeat center bottom / 100%;
	padding:34px 0;
	text-align:center;
}
.contents .tuneselect_box_frame_title{
	font-size:1.21428571429em;
	font-weight: bold;
}
.contents .tuneselect_box_frame_lead{
	margin-top:15px;
}
.contents .pink {
	color:#e9257d;
}
.contents .tuneselect_box_frame_point {
	background:#1c1c1c;
	color:#fff;
	border-radius:10px;
	padding:5px;
	margin-top:20px;
}
.contents .tuneselect_box_frame_point_inner {
	border:1px solid #fff;
	padding:15px;
	border-radius:5px;
}
.contents .tuneselect_box_frame_point_inner {}
.contents .tuneselect_box_frame_more {
	background:#dfdfdf url("../img/bg_stripe.jpg") repeat center top / 15px;
	padding:5px;
	border-radius:10px;
	margin-top:15px;
}
.contents .tuneselect_box_frame_more_inner {
	background:#fff;
	border-radius:5px;
	padding:15px;
	position: relative;
}
.contents .tuneselect_box_frame_more_icon-sarani {
	position: absolute;
	left:-15px;
	top:-15px;
}
.contents .tuneselect_box_frame_point_head {
	font-weight: bold;
	margin-bottom:5px;
}
.contents .tuneselect_box_frame_point_icon-vod {
	font-weight: normal;
	color:#1c1c1c;
	background:#ea2f67;
	border-radius:4px;margin-right:5px;
	padding:2px 10px;
	line-height:1em;
	font-size:0.875em;
}
.contents .request h2 {
	background:url("../img/charm_title_03.png") no-repeat center bottom / 47px;
	padding-bottom:20px;
}
.contents .request_forms {
	display:flex;
	gap:20px;
	margin-top:12px;
	justify-content: center;
}
.contents .request_subtitle {
	text-align:center;
}
.contents .request_subtitle span{
    font-size: 0.857em;
    background: url(../img/charm_subtitle_r.png) no-repeat center right / 18px, url(../img/charm_subtitle_l.png) no-repeat center left / 18px;
    padding: 0 26px;
    display: inline-block;
	margin-top: 15px;
}
.contents .request_box {
	border:1px solid #c0c0c0;
	border-radius:12px;
	padding:20px;
	margin-top:20px;
	background:#fff;
}
.contents .request_box_head {
	display:flex;
	justify-content: center;
	align-items:center;
	font-size:1.42em;
	font-weight: 500;
	position: relative;
	padding-bottom:0.5em;
	margin-bottom:15px;
}
.contents .request_box_head::after {
	content:"";
	width:10em;
	margin:auto;
	position: absolute;
	bottom:0;
	left:0;
	right:0;
	height:3px;
	background: url("../img/bg_stripe.jpg") repeat center top / 20px;
}
.contents .btn-more-type2 {
	border:1px solid #1c1c1c;
	border-radius:50px;
	min-height:45px;
	display:flex;
	justify-content: center;
	align-items: center;
	width:140px;
	margin:0 auto;
}
.contents .icon-dotted {
	width:2px;
	margin: 5px auto;
}
.contents .icon-dotted.hide {
	display:none;
}
.contents .request_list{
	list-style: disc;
	padding-left:20px;
	
}
.contents .request_list li{
	margin-bottom:5px;
}
.contents .request_notice {
	font-size:1.142em;
	font-weight: 600;
	margin-top:25px;
}