/*------------------------------------------
  Reset
------------------------------------------*/
/* 
html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    vertical-align:baseline;
    background:transparent;
}
body {
    line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
ul li {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    vertical-align:baseline;
		background:transparent;
		color: #000000;
}
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:top;
}
/*------------------------------------------
  Reset Add
------------------------------------------*/
a{
	text-decoration: none;
}

/*------------------------------------------
  Base
------------------------------------------*/
html {
  font-size: 62.5%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
img{
	width: 100%;
}
body {
  background: #fff none;
  font-family: "Hiragino Kaku Gothic ProN", Hiragino Sans, "ヒラギノ角ゴ ProN W3", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  word-wrap: break-word;
  color: #5e5e5e;
}
.top__logo{
	width: 176px;
	position: absolute;
	top: 25px;
	left: 25px;
	z-index: 3;
}
footer .footer__logo{
	width: 242px;
	margin: 40px auto 50px;
}
footer .footer__copyright{
	font-size: 12px;
	line-height: 2;
	text-align: center;
	margin-bottom: 20px;
}
#pagetop {
	position: fixed;
	bottom: 58px;
	right: 25px;
}
#pagetop img{
	width: auto;
}

@media screen and (max-width: 767px){
	footer .footer__logo{
		width: 39.33%;
		margin: 6% auto 7.3%;
	}
	footer .footer__copyright{
		font-size: 1rem;
		line-height: 1.2;
		text-align: center;
		margin-bottom: 20px;
	}
}


/*------------------------------------------
  Clearfix
------------------------------------------*/
.clearfix {
  *zoom: 1;
}
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}



/*  .main-contents
-------------------------*/
.main-contents{
	color: #552d35;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.5;
	overflow: hidden;
	background: #fef8ea;
}

/*  .main
-------------------------*/

.mainWrap{
	width: 100%;
	height: 1054px;
	background: url(../images/bg_main.png)no-repeat center top /1480px 1054px,
							url(../images/bg.gif)repeat-x left top /auto 1054px;
	position: relative;
}
.mainWrap .main{
	width: 352px;
	margin: 0 auto;
	padding-top: 75px;
}
.fade-item{
	position: absolute;
	top: 0;
	left: 50%;
	right: 0;
	margin: auto;
	margin-left: -740px;
	width: 1480px;
}
.main.fade-item{
	left: 0;
}
.fade-item .under{
	display: none;
}
.intro .txt{
	text-align: center;
	font-size: 1.8rem;
	line-height: 4rem;
	font-weight: bold;
	margin-top: 50px;
}

/* animation */
.fade-side,
.is-anm {
	opacity: 0;
	-moz-transition: opacity ease-out .6s,transform ease-out .6s;
	-o-transition: opacity ease-out .6s,transform ease-out .6s;
	-webkit-transition: opacity ease-out .6s,transform ease-out .6s;
	transition: opacity ease-out .6s,transform ease-out .6s;
}
.fade-anm.main{
	opacity: 0;
	transition: opacity ease-out 1.5s 1.0s;
}
.fade-side.left{
	transform: translate(-20px, 0px);
}
.fade-side.right{
	transform: translate(20px, 0px);
}
.fade-side.is-done,
.is-anm.is-done {
	opacity: 1;
	-moz-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0)
}
.fade-anm.main.is-done {
	opacity: 1;
	-moz-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0)
}

@media (min-width: 768px) and (max-width: 1279px){
	.mainWrap{
		height: 76.1vw;
		background: #fef8ea url(../images/bg_main_1280.png)no-repeat center top /100vw 76.1vw;
	}
	.mainWrap .main{
		width: 27.5vw;
		/* padding-top: 5.78125vw; */
		padding-top: 3.78125vw;
	}
	.intro .txt{
		/* margin-top: 10.15625vw; */
		margin-top: 3vw;
	}
	.fade-item{
		width: 100%;
		top: 0;
		left: 0;
		right: 0;
		margin-left: 0;
		margin-top: -4.6%;
	}
	.fade-item .over{
		display: none;
	}
	.fade-item .under{
		display: block;
	}
}

@media screen and (max-width: 767px){
	.top__logo{
		width: 39.33%;
    top: 0;
    left: 4%;
    margin-top: 4%;
	}
	.fade-item{
		width: 100%;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
	}
	.intro .txt{
		margin-top: 10.15625vw;
	}
}

/*  .cp
-------------------------*/
.sp,
.tab{
	display: none;
}
.pc{
	display: block;
}

.br{
	display: inline-block;
}
.cp{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	margin-top: 50px;
}
.cp a:hover{
	opacity: 0.7;
	transition: opacity 0.1s linear;
}
.cp-inner{
	position: relative;
	padding: 0 10%;
}
.deco{
	position: absolute;
}
.cp .img,
.cp .btn{
	line-height: 0;
}
.cp .cp-inner{
	background: url(../images/bg-body_01.png) no-repeat top center/ 100% auto,
							url(../images/bg-body_03.png) no-repeat bottom center/ 100% auto,
							url(../images/bg-body_02.png) repeat-y top center/ 100% auto;
	text-align: left;
}
.cp .cp-txt{
	text-align: center;
	font-size: 1.6rem;
	line-height: 3rem;
	padding: 2.0% 0 3.5%;
}
.cp .cp-date-box{
	display: block;
}
.cp .cp-detail-btn{
	padding-bottom: 10%;
	position: relative;
}
.cp .cp-detail-btn a{
	background: #de135b;
	display: block;
	margin: 0 auto;
	padding: 2% 0;
	color: #ffffff;
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 4rem;
	border-bottom: 7px solid #bf133a;
	text-align: center;
}
.cp .cp-detail-btn.cp-instagram-btn a{
	border-bottom: none;
	padding: 0;
}
.cp .cp-caution{
	font-size: 1.4rem;
	line-height: 2.2rem;
}
.cp .txt{
	font-size: 1.6rem;
	line-height: 3.0rem;
	text-align: justify;
}
.cp .cp-border{
	border-top: 1px solid #552d35;
}
.cp .triangle::before {
	content: "";
	display: inline-block;
	margin-left: 15px;
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-right: 0px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 9px solid #ffffff;
	vertical-align: middle;
}
.cp a:hover{
	opacity: 0.7;
	transition: opacity 0.1s linear;
}
.cp .flex-outer{
	display: flex;
	justify-content: space-between;
}
/*  .cp01
-------------------------*/

.cp01{
	margin-top: 70px;
}
.cp01 .cp-title{
	/* width: 57.8%; */
	width: 72.25%;
	margin: 0 auto;
	padding-top: 9.375%;
}
.cp01-movie{
	margin: -16.5% auto 11.25%;
	padding: 0 3.125%;
	box-sizing: border-box;
}
.cp01-movie .movie{
	position: relative;
}
.cp01-movie .yt-wrap{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	text-align: center;
	margin: 26% auto 0;
	width: 96%;
  height: 0;
  padding-top: 54%;
  overflow: hidden;
}

.cp01-movie .yt-wrap iframe{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 101% !important;
	height: 101% !important;
}
.cp01 .triangle::before{
	border-left: 7px solid #de135b;
	padding-left: 5px;
}
.cp01 .link-list a{
	color: #de135b;
	text-decoration: underline;
	font-weight: bold;
}

.cp01-cora{
	margin-bottom: 12.5%;
}
.cp01-cora .img{
	width: 62.5%;
	margin: 0 auto;
	box-shadow: 10px 20px 20px 0px rgba(0,0,0,0.2)
}
.cp01-cora .title-sub{
	margin-bottom: 3.75%;
}


.cp01-song{
	margin-bottom: 16.25%;
}
.cp01-song .title-sub{
	margin-bottom: 2.5%;
}
.cp01-song .date-img{
	width: 90.75%;
	margin: 0 auto 4.375%;
	text-align: center;
}
.cp01-song .date-img .caution{
	padding-top: 10px;
	display: inline-block;
}
.cp01-song .content-box{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.cp01-song .content-box .img{
	width: 40%;
}
.cp01-song .content-box .btns{
	width: 54%;
}
.cp01-song .content-box .caution{
	display: inline-block;
	text-indent: -1em;
	margin-left: 1em;
}
.cp01-song .content-box .btn{
	margin-bottom: 3.7%;
}
.cp01-song .txt{
	text-align: center;
	margin-bottom: 2.5%;
}
.remodal.popupYT .movie-wrap{
	position: relative;
}
.remodal.popupYT iframe{
	position: absolute;
	left: 0;
	right: 0;
	margin: 8.3% auto 0;
	
}




.cp01-profile{
	padding-bottom: 13.75%;
}
.cp01-profile .title-sub{
	margin-bottom: 4.75%;
}

.cp01-profile .item-title{
	font-weight: bold;
	font-size: 2rem;
	line-height: 3.4rem;
	margin-bottom: 1%;
}
.cp01-profile .item-title .middle{
	font-size: 1.8rem;
	line-height: 3.4rem;
}
.cp01-profile .txt{
	font-size: 1.6rem;
	line-height: 3rem;
	margin-bottom: 2.5%;
}
.cp01-profile .link-list{
	display: flex;
	justify-content: flex-end;
}
.cp01-profile .link-list li{
	margin-left: 3%;
}
.cp01-profile .link-list a{
	font-size: 1.6rem;
	line-height: 3.0rem;
}
.cp01-profile .content-box{
	margin-bottom: 8%;
}
.cp01-profile .content-box:last-child{
	margin-bottom: 0;
}
.cp01-profile .content-box02 .txt{
	width: 73%;
	letter-spacing: -0.04em;
}
.cp01-profile .content-box02 .img{
	width: 20.875%;
}




/*  .cp02
-------------------------*/
.cp02 .txt{
	margin-bottom: 5%;
}
.cp02 .intro{
	text-align: center;
	margin-bottom: 6.25%;
}
.cp02 .content-box{
	width: 50%;
}
.cp02 .content-box .item-title{
	margin-bottom: 3%;
}
.cp02 .content-box01{
	border-right: 1px solid #ffffff;
	padding-right: 5%;
}
.cp02 .content-box02{
	border-left: 1px solid #ffffff;
	padding-left: 5%;
}
.cp02 .cp-title{
	padding-top: 6.25%;
	margin-bottom: 2.5%;
}
.cp02 .caution{
	font-size: 1rem;
	line-height: 2rem;
	color: #000000;
}
.cp02 .artist{
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.cp02 .artist .name{
	font-size: 1.4rem;
	line-height: 2rem;
	font-weight: bold;
}
.cp02 .artist .img{
	width: 22.22%;
	margin-left: 1.2rem;
}
.cp02 .flex-outer{
	margin-bottom: 4.75%;
}
.cp02 .cp-detail-btn.cp-instagram-btn{
	margin-bottom: 3%;
	padding-bottom: 0;
}



/*  .cp03
-------------------------*/
.cp03 .cp-title{
	padding-top: 7.5%;
	margin-bottom: 2.5%;
}
.cp03 .intro{
	text-align: center;
	margin-bottom: 3.75%;
}

.cp03 .lightup-img{
	margin-bottom: 3.75%;
}
.cp03 .cp-program dl{
	display: flex;
	color: #552d35;
	margin-bottom: 2.75%;
}
.cp03 .cp-program dt{
	width: 4em;
	/* height: max-content; */
	text-align: center;
	margin-right: 10px;
	font-size: 1.6rem;
	/* line-height: 3.4rem; */
	line-height: 2.6rem;
	font-weight: bold;
	background: #552d35;
	color: #ffffff;
	height: 100%;
}
.cp03 .cp-program .resche{
	font-size: 1.6rem;
	/* line-height: 3.4rem; */
	line-height: 2.6rem;
}
.cp03 .cp-program dd{
	width: 90%;
	font-size: 1.8rem;
	/* line-height: 3.4rem; */
	line-height: 2.6rem;
	font-weight: bold;
}
.cp03 .cp-program .caution{
	font-size: 1.4rem;
	line-height: 2.2rem;
	font-weight: normal;
	display: block;
}
.cp03 .cp-program{
	margin-bottom: 6.25%;
}


.cp04 .cp-title{
	padding-top: 6.25%;
	margin-bottom: 3.75%;
}
.cp04 .pos-rel{
	position: relative;
}
.cp04 .pos-abs{
	position: absolute;
	right: 0;
	top: 0;
	width: 34.875%;
	margin-top: -1.5%;
	margin-right: -1.75%;
}
.cp04 .cp-program{
	margin-bottom: 5%;
}
.cp04 .cp-program dl{
	display: flex;
	color: #552d35;
	margin-bottom: 2%;
}
.cp04 .cp-program dt,
.cp04 .cp-program dl.shop > dt{
	width: 9em;
	/* height: max-content; */
	text-align: center;
	margin-right: 10px;
	font-size: 1.6rem;
	/* line-height: 3.4rem; */
	line-height: 2.6rem;
	font-weight: bold;
	background: #552d35;
	color: #ffffff;
	height: 100%;
}
.cp04 .cp-program dl.shop > dt{
	margin-bottom: 2.5%;
}
.cp04 .cp-program dd{
	width: 60%;
	font-size: 1.8rem;
	/* line-height: 3.4rem; */
	line-height: 2.6rem;
	/* font-weight: bold; */
}
.cp04 .cp-program .caution{
	font-size: 1.4rem;
	line-height: 2.2rem;
	font-weight: normal;
	display: block;
	text-indent: -1em;
	padding-left: 1em;
}
.cp04 .cp-program .caution-list{
	margin-bottom: 5%;
	width: 66%;
}
.cp04 .cp-program dl.shop{
	display: block;
}
.cp04 .cp-program li.shop{
	margin-bottom: 2.2%;
}
.cp04 .cp-program li.shop dl{
	margin-bottom: auto;
}
.cp04 .cp-program .shop dt{
	background-color: transparent;
	border: 1px solid #552d35;
	color: #552d35;
	font-size: 1.2rem;
	line-height: 2.4rem;
	width: 11em;
}
.cp04 .cp-program .shop dd{
	font-size: 1.4rem;
	line-height: 2.4rem;
	width: 100%;
}


.cp05 .cp-title{
	padding-top: 7.5%;
	margin-bottom: 3.75%;
}
.cp05 .intro{
	text-align: center;
} 
.cp05 .cp05-icon01{
	width: 22.5%;
	position: absolute;
	top: 0;
	left: -2.125%;
	margin-top: -2.75%;
}
.cp05 .cp05-map{
	margin-bottom: 8.5%;
	margin-top: 5%;
}

.cp05 .map{
	position: relative;
}
.cp05 .map .img.move{
	position: absolute;
	width: 26.25%;
	top: 0;
	margin-top: 43.125%;
	left: 3.25%;
}
.cp05 .map .btn{
	cursor: pointer;
	width: 9.25%;
	position: absolute;
	top: 0;
	left: 0;
}
.cp05 .map .btn01{
	margin-top: 38%;
	left: 72.5%;
}
.cp05 .map .btn02{
	margin-top: 48.375%;
	left: 70%;
}
.cp05 .map .btn03{
	margin-top: 65.5%;
	left: 78.75%;
}
.cp05 .map .btn04{
	margin-top: 71.5%;
	left: 60.5%;
}
.cp05 .map .btn05{
	margin-top: 78%;
	left: 36.25%;
}
.cp05 a:hover{
	opacity: 1;
}
.cp05 .map .btn a img {
	-moz-transition: -moz-transform 0.3s cubic-bezier(0,.78,.33,1);
	-webkit-transition: -webkit-transform 0.3s cubic-bezier(0,.78,.33,1);
	-o-transition: -o-transform 0.3s cubic-bezier(0,.78,.33,1);
	-ms-transition: -ms-transform 0.3s cubic-bezier(0,.78,.33,1);
	transition: transform 0.3s cubic-bezier(0,.78,.33,1);
	transform-origin: center;
	filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.3));
}

.cp05 .map .btn a:hover img {
	opacity: 1;
	filter: alpha(opacity=100);
  -ms-filter: "alpha(opacity=100)";
	-webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
	transform-origin: center;
}

.cp05 .cp05-profile{
	padding-bottom: 8.5%;
}
.cp05 .cp05-profile .title-sub{
	margin-bottom: 5.25%;
}
.cp05 .content-box .flex-outer{
	align-items: center;
}
.cp05 .content-box .img-name{
	width: 19.5%;
}

.cp05 .content-box .txt-box .name{
	font-weight: bold;
	font-size: 2rem;
	line-height: 3rem;
	margin-bottom: 15px;
}

/*  POP
-------------------------*/
.remodal {
	padding: 0;
	width: 100%;
	max-width: 906px;
	height: 100%;
	max-height: 606px;
	background: url(../images/cp05-bg-map.png) no-repeat center top/100% 100%;
}
.remodal .img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform:translateX(-50%) translateY(-50%);
}
.remodal .txt {
	position: absolute;
	left: 0;
	top: 45px;
	width: 100%;
	text-align: center;
	font-size: 1.6rem;
	line-height: 3rem;
	color: #552d35;
	/* font-weight: bold; */
}
.remodal .img{
	/* width: calc(100% - 20px); */
	width: calc(100% - 60px);
	margin: -15px auto;
}
.remodal-close {
	position: absolute;
	top: auto;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	overflow: visible;
	width: 126px;
	height: 30px;
	margin: 0;
	padding: 0;
	cursor: pointer;
	border: 0;
	outline: 0;
	background: url(../images/btn_close.svg) no-repeat 0 0/100% auto;
}
	.remodal-close::before{
		display: none;
	}


/*  .deco
-------------------------*/
.cp01 .deco-item01{
	top: 0;
	margin-top: 43.2%;
	right: 3.2%;
	width: 8%;
}
.cp01 .deco-item02{
	top: 0;
	margin-top: 87.2%;
	right: 6.6%;
	width: 10.6%;
}
.cp01 .deco-item03{
	top: 0;
	margin-top: 107.2%;
	left: 16%;
	width: 5.2%;
}
.cp01 .deco-item04{
	top: 0;
	margin-top: 115.2%;
	left: 5.4%;
	width: 10.3%;
}
.cp01 .deco-item05{
	bottom: 0;
	margin-bottom: 101%;
	right: 2.2%;
	width: 5.2%;
}
.cp01 .deco-item06{
	bottom: 0;
	margin-bottom: 85%;
	right: -6%;
	width: 12.8%;
}
.deco-out-item01{
	right: 100%;
	top: 0;
	width: 12.4%;
}
.cp01 .deco-out-item02{
	right: 100%;
	top: 0;
	margin-top: 33.6%;
	width: 12.4%;
}
.cp01 .deco-out-item03{
	left: 100%;
	top: 0;
	margin-top: 21%;
	width: 12.4%;
}
.cp01 .deco-out-item04{
	left: 100%;
	top: 0;
	margin-top: 113%;
	width: 12.4%;
}
.cp01 .deco-out-item05{
	right: 100%;
	top: 0;
	margin-top: 148%;
	width: 12.4%;
}
.cp01 .deco-out-item06{
	left: 100%;
	bottom: 0;
	margin-bottom: 113.4%;
	width: 12.4%;
}
.cp01 .deco-out-item07{
	left: -6.8%;
	bottom: 0;
	width: 11.2%;
}
.cp01 .deco-out-item08{
	left: 5.8%;
	bottom: 0;
	width: 10.8%;
}
.cp01 .deco-out-item09{
	right: -5%;
	bottom: 0;
	width: 13.8%;
}





.cp02 .deco-item01{
	top: 0;
	margin-top: 6.2%;
	left: 3%;
	width: 10.3%;
}
.cp02 .deco-item02{
	top: 0;
	margin-top: 2.7%;
	left: 15%;
	width: 5.2%;
}
.cp02 .deco-item03{
	top: 0;
	margin-top: 23.4%;
	left: 5%;
	width: 4.8%;
}
.cp02 .deco-item04{
	top: 0;
	margin-top: 2.3%;
	right: 2.8%;
	width: 14.4%;
}
.cp02 .deco-item05{
	bottom: 0;
	margin-bottom: 6.4%;
	left: -5.8%;
	width: 10.5%;
}
.cp02 .deco-out-item02{
	left: 100%;
	top: 0;
	margin-top: 21%;
	width: 12.4%;
}
.cp02 .deco-out-item03{
	left: 100%;
	top: 0;
	margin-top: 61%;
	width: 12.4%;
}
.cp02 .deco-out-item04{
	right: 100%;
	top: 0;
	margin-top: 90%;
	width: 12.4%;
}
.cp02 .deco-out-item05{
	left: 100%;
	top: 0;
	margin-top: 114%;
	width: 12.4%;
}
.cp02 .deco-out-item06{
	right: 1.8%;
	bottom: 0;
	width: 7.3%;
}


.cp03 .deco-item01{
	top: 0;
	margin-top: 4.6%;
	left: 5.3%;
	width: 5.2%;
}
.cp03 .deco-item02{
	top: 0;
	margin-top: 3.5%;
	right: -5%;
	width: 12.8%;
}
.cp03 .deco-item03{
	top: 0;
	margin-top: 18.8%;
	right: 6.7%;
	width: 4.8%;
}
.cp03 .deco-item04{
	top: 0;
	margin-top: 35.7%;
	left: -3%;
	width: 10.3%;
}
.cp03 .deco-item05{
	top: 0;
	margin-top: 79%;
	right: 7.8%;
	width: 5.2%;
}
.cp03 .deco-item06{
	bottom: 0;
	margin-bottom: 21%;
	right: 28%;
	width: 3.6%;
}
.cp03 .deco-item07{
	bottom: 0;
	margin-bottom: 14%;
	right: 14.2%;
	width: 11%;
}
.cp03 .deco-out-item02{
	left: 100%;
	top: 0;
	margin-top: 21%;
	width: 12.4%;
}
.cp03 .deco-out-item03{
	left: 100%;
	top: 0;
	margin-top: 60%;
	width: 12.4%;
}
.cp03 .deco-out-item04{
	right: 100%;
	top: 0;
	margin-top: 66.2%;
	width: 12.4%;
}
.cp03 .deco-out-item05{
	right: 95%;
	bottom: 0;
	width: 11.2%;
	line-height: 0;
}




.cp04 .deco-item01{
	top: 0;
	margin-top: 2.8%;
	left: 2.4%;
	width: 14.3%;
}
.cp04 .deco-item02{
	top: 0;
	margin-top: 6%;
	right: -2.5%; 
	width: 10.3%;
}
.cp04 .deco-item03{
	top: 0;
	margin-top: 18.2%;
	right: 10%;
	width: 4.8%;
}
.cp04 .deco-item04{
	bottom: 0;
	margin-bottom: 4.3%;
	right: -5.6%;
	width: 12.8%;
}
.cp04 .deco-out-item02{
	left: 100%;
	top: 0;
	margin-top: 21%;
	width: 12.4%;
}
.cp04 .deco-out-item03{
	left: 100%;
	top: 0;
	margin-top: 50%;
	width: 12.4%;
}
.cp04 .deco-out-item04{
	right: 100%;
	top: 0;
	margin-top: 61%;
	width: 12.4%;
}



.cp05 .deco-item01{
	top: 0;
	margin-top: 3.6%;
	right: 3.2%;
	width: 4.8%;
}
.cp05 .deco-item02{
	top: 0;
	margin-top: 20%;
	left: 4%; 
	width: 5.2%;
}
.cp05 .deco-item03{
	top: 0;
	margin-top: 51%;
	left: -5%;
	width: 10.3%;
}
.cp05 .deco-item04{
	top: 0;
	margin-top: 63%;
	left: 2.4%;
	width: 4.8%;
}
.cp05 .deco-item05{
	bottom: 0;
	margin-bottom: 46.6%;
	right: 4.3%;
	width: 12.8%;
	z-index: 10;
}
.cp05 .deco-out-item02{
	left: 100%;
	top: 0;
	margin-top: 21%;
	width: 12.4%;
}
.cp05 .deco-out-item03{
	left: 100%;
	top: 0;
	margin-top: 63%;
	width: 12.4%;
}
.cp05 .deco-out-item04{
	right: 100%;
	top: 0;
	margin-top: 95%;
	width: 12.4%;
}
.cp05 .deco-out-item05{
	left: 100%;
	top: 0;
	margin-top: 120%;
	width: 12.4%;
}
.cp05 .deco-out-item06{
	right: 94.2%;
	bottom: 0;
	width: 11.2%;
}
.cp05 .deco-out-item07{
	left: 91.6%;
	bottom: 0;
	width: 13.8%;
}






.contents-bottom.cp{
	margin: 0 auto 80px;
	text-align: right;
}
.contents-bottom .event-caution{
	margin-top: 30px;
	font-size: 1.4rem;
	line-height: 2.4rem;
}


/* TAB */
@media (min-width: 768px) and (max-width: 999px){
	/* 画面サイズが768px以上、999px未満の設定 */
	.pc{
		display: none;
	}
	.sp{
		display: none;
	}
	.tab{
		display: block;
	}

	.cp01-song .content-box .caution{
		font-size: 1.2rem;
	}
	.remodal.popupYT iframe{
		width: 80%;
		margin-top: 3%;
	}
	.cp .flex-outer{
		align-items: center;
	}
	.cp01{
		margin-top: 40px;
	}

	.cp04 .pos-abs {
		width: 25%;
	}
	.cp05 .content-box .img {
    width: 100%;
	}
	.cp05 .content-box .img-name {
    width: 28%;
}
	.cp05 .content-box .txt-box{
		width: 65%;
	}
	.cp01 .deco-item06 {
		margin-bottom: 42%;
    right: 3%;
    width: 6.8%;
	}
	.cp01 .deco-out-item07 {
		left: 1.2%;
	}
	.cp01 .deco-out-item08 {
		left: 11.8%;
	}
	.cp01 .deco-out-item09 {
    right: 0%;
    bottom: 0;
		width: 10.8%;
	}
	.cp02 .deco-item05 {
    margin-bottom: 29.4%;
    left: 3%;
		width: 7.5%;
	}
	.cp03 .deco-out-item05 {
    right: 90%;
    width: 8.2%;
	}
	.cp03 .deco-item02 {
    right: 2%;
    width: 7.8%;
	}
	.cp03 .deco-item04 {
    left: 2%;
    width: 7.3%;
	}
	.cp03 .deco-item05 {
	right: 3.8%;
	}
	.cp04 .deco-item02 {
		right: 1.5%;
	}
	.cp04 .deco-item04 {
    margin-bottom: 19.3%;
    right: 1.4%;
    width: 9.8%;
	}
	.cp05 .deco-item03 {
    margin-top: 45%;
    left: 2%;
    width: 6.3%;
	}
	.cp05 .deco-out-item06 {
    left: 1%;
    width: 8.2%;
	}
	.cp05 .deco-out-item07 {
		right: 4%;
		left: auto;
	}
	.remodal {
    width: 90%;
    height: 100%;
    max-height: 500px;
	}




 }

/* SP */
@media screen and (max-width: 767px) {
	/* 767px以下に適用されるCSS（スマホ用） */
	.pc{
		display: none;
	}
	.tab{
		display: none;
	}
	.sp{
		display: block;
	}
	/* .cp01 .deco-item09,
	.cp01 .deco-item11,
	.cp02 .deco-item09,
	.cp02 .deco-item11,
	.cp03 .deco-item14,
	.cp03 .deco-item11{
		display: none;
	} */

	.mainWrap{
		background: url(../images/bg_main-sp.png)no-repeat center top / 100% auto;
		height: auto;
	}
	.mainWrap .main{
		width: 35.2%;
		padding: 26% 0 45%;
		margin-bottom: 6%;
		position: static;
	}
	.intro .txt{
		margin: 14.5% 0 0;
		font-size: 1.4rem;
		line-height: 3rem;
		font-weight: bold;
	}




	.cp{
		margin-top: 6%;
	}
	.cp .cp-inner{
		width: 93.33%;
		margin: 0 auto;
		margin-top: -5px;
    position: relative;
		z-index: 2;
		padding: 0 3.6%;
		box-sizing: border-box;
		background: url(../images/bg-body_01-sp.png) no-repeat top center/ 100% auto,
		url(../images/bg-body_03-sp.png) no-repeat bottom center/ 100% auto,
		url(../images/bg-body_02-sp.png) repeat-y top center/ 100% auto;
	}
	.cp .cp-title{
		/* width: 92.857%; */
		width: 100%;
		padding-top: 9%;
	}
	.cp .txt{
		text-align: left;
    font-size: 1.3rem;
    line-height: 2rem;
    padding: 2.0% 0 3.5%;
    width: 100%;
	}
	.cp .txt.intro{
		width: 92.3%;
    margin: 0 auto 14%;
	}
	.cp .flex-outer{
		display: block;
	}
	.cp .cp-detail-btn a{
		font-size: 1.8rem;
		line-height: 3rem;
		padding: 4.7% 0;
	}
	.sp-cp-inner{
		width: 92.3%;
		margin: 0 auto;
	}


/*  .cp01
-------------------------*/
	.cp01{
	margin-top: 8%;
	}
	.cp01 .cp-title{
		padding: 0;
	}
	.cp01 .cp01-movie {
    margin: 0 auto 64.6%;
    padding: 0;
		width: 92.3%;
	}
	.cp01-movie .yt-wrap{
		width: 100%;
		margin-top: 27%;
		/* padding-top: 56.5%; */
		padding-top: 56.25%;
	}

	.cp01-cora .img {
		width: 77%;
		box-shadow: 5px 10px 10px 0px rgba(0,0,0,0.2);
	}
	.cp01-song .date-img {
		width: 100%;
		margin-bottom: 6.9%;
	}
	.cp01-song .date-img img{
		margin-bottom: 3%;
	}
	.cp01-song .date-img .caution{
		font-size: 1.2rem;
		line-height: 1.2rem;
		padding-top: 0;
	}
	.cp01-song .content-box {
		display: block;
	}

	.cp01-song .txt{
		width: 92.3%;
		margin: 0 auto;
		text-align: justify;
	}
	.cp01-song .content-box .img{
		width: 77%;
		margin: 0 auto 12%;
	}
	.cp01-song .content-box .btns{
		width: 92.3%;
		margin: 0 auto;
	}
	.cp01-song .content-box .caution{
		font-size: 1.2rem;
		line-height: 1.8rem;
		letter-spacing: -0.02em;
	}
	.cp01-profile{
		padding-bottom: 30%;
	}
	.cp01-profile .content-box{
		width: 92%;
		margin: 0 auto 12.3%;
	}
	.cp01-profile .item-title{
		font-size: 1.5rem;
		line-height: 2.5rem;
		letter-spacing: -0.02em;
		margin-bottom: 0;
	}
	.cp01-profile .item-title .middle{
		font-size: 1.3rem;
	}
	.cp01-profile .content-box02 .img{
		width: 100%;
		margin: 0 auto 12%;
	}
	.cp01-profile .content-box02 .txt{
		width: 100%;
	}
	.cp01-profile .link-list {
		display: block;
		width: 60%;
	}
	.cp01-profile .sp-flex{
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		margin-top: -5%;
	}
	.cp01-profile .sp-flex .sp{
		width: 26%;
		margin: 0;
	}
	.cp01 .link-list a{
		font-size: 1.4rem;
		line-height: 2.7rem;
	}
	.cp01 .triangle::before {
		margin-left: 0;
	}

	.cp01 .deco-out-item07 {
		width: 16%;
		left: 6%;
		line-height: 0;
	}
	.cp01 .deco-out-item08 {
		width: 15.7%;
		left: 24%;
		line-height: 0;
	}
	.cp01 .deco-out-item09 {
		width: 20%;
		right: 4%;
		line-height: 0;
	}
	.cp01 .deco-item03{
		bottom: 0;
    left: auto;
    top: auto;
    margin: auto 0 120%;
    right: 4.57%;
    width: 7.43%;
	}
	.cp01 .deco-item04{
		bottom: 0;
    top: auto;
    margin: auto 0 107.8%;
    right: 14.7%;
    left: auto;
		width: 14.7%;
		line-height: 0;
	}
	.remodal.popupYT iframe{
		width: 88%;
    margin-top: 20%;
	}
	.remodal-close{
		width: 30%;
	}


	/*  .cp02
	-------------------------*/

	.cp02 .txt.intro{
		margin-bottom: 6%;
	}
	.cp02 .content-box01,
	.cp02 .content-box02{
		border: none;
		padding: 0;
	}
	.cp02 .txt {
		margin-bottom: 0;
		padding-top: 0;
	}
	.cp02 .content-box {
    width: 92.3%;
		margin: 0 auto;
		padding-bottom: 7%;
	}
	.cp02 .content-box01 {
		border-bottom: 2px solid #ffffff;
	}
	.cp02 .content-box02 {
		margin-top: 10%;
	}
	.cp02 .btn{
		width: 92.3%;
    margin: 0 auto 6%;
	}
	.cp02 .artist .name {
    font-size: 1.2rem;
		line-height: 1.7rem;
	}
	
	
	.cp02 .deco-item01 {
    top: 0;
    margin-top: 47%;
		right: 3%;
		left: auto;
    width: 14.7%;
	}
	.cp02 .deco-item03 {
    top: auto;
		margin-top: auto;
		bottom: 0;
		margin-bottom: 62.57%;
		right: auto;
    left: 25%;
    width: 6.85%;
	}
	.cp02 .deco-item05 {
    bottom: 0;
    margin-bottom: 65.71%;
    left: 5.14%;
		width: 15.14%;
		line-height: 0;
	}
	.cp02 .deco-out-item06 {
    right: -3%;
    bottom: 0;
    width: 10.42%;
	}

	/*  .cp03
	-------------------------*/
	.cp03 .txt.intro {
		padding-bottom: 0;
		width: 100%;
		margin-bottom: 6%;
	}
	.cp03 .cp-program dt,
	.cp04 .cp-program dt,
	.cp04 .cp-program dl.shop > dt{
    font-size: 1.3rem;
		/* line-height: 2.75rem; */
		line-height: 2.2rem;
	}
	.cp03 .cp-program dd,
	.cp04 .cp-program dd{
    width: 80%;
    font-size: 1.5rem;
		line-height: 2.2rem;
	}
	.cp03 .cp-program .resche{
		font-size: 1.3rem;
		line-height: 2.3rem;
	}
	.cp03 .cp-program .caution,
	.cp04 .cp-program .caution{
		font-size: 1.2rem;
		line-height: 1.8rem;
		text-indent: -1em;
		padding-left: 1em;
	}
	.cp03 .cp-program{
		position: relative;
	}
	.cp03 .deco-item02 {
    margin-top: 90%;
    right: -2%;
		width: 10.7%;
	}
	.cp03 .deco-item04 {
		top: 0;
    margin-top: 2em;
    left: -12%;
    width: 10%;
    line-height: 0;
	}
	.cp03 .deco-item08{
		bottom: 0;
		margin-bottom: 40.7%;
		right: 5.7%;
		width: 16%;
	}


	/*  .cp04
	-------------------------*/

	.cp04 .campaign-img{
		width: 77%;
		margin: 0 auto 4.3%;
	}
	.cp04 .cp-program dt{
		width: 9em;
	}
	.cp04 .cp-program dd{
		width: calc(100% - 9em);
	}
	.cp04 .cp-program .caution-list{
		width: 100%;
	}

	.cp04 .cp-program .shop dl {
		display: block;
	}
	.cp04 .cp-program .shop dd dt{
		width: 9em;
		padding: 0 1.5%;
		line-height: 2.2rem;
	}
	.cp04 .cp-program .shop dd{
		font-size: 1.3rem;
		line-height: 2rem;
		margin-top: 5px;
		margin-bottom: 15px;
	}
	.cp04 .deco-item01 {
    top: auto;
    margin-top: auto;
    left: auto;
    width: 18%;
    right: 4%;
    margin-bottom: 28%;
		bottom: 0;
	}

	/*  .cp05
	-------------------------*/
	.cp05 .cp05-icon01 {
    width: 32%;
    position: absolute;
    top: 0;
    left: -4.5%;
		margin-top: -13%;
	}
	.cp05 .content-box .img-name{
		display: flex;
		flex-direction: row;
		align-items: center;
		width: 100%;
	}
	.cp05 .content-box{
		width: 92.3%;
		margin: 0 auto;
	}
	.cp05 .content-box .img {
		width: 32%;
		margin-right: 7%;
	}
	.cp05 .content-box .name{
		font-size: 1.5rem;
		line-height: 2.5rem;
		padding-right: 2%;
	}
	.cp05 .txt-box .txt{
		text-align: justify;
    padding-top: 4%;
	}
	.cp05 .cp05-profile {
		padding-bottom: 22%;
	}
	.cp05 .deco-out-item06 {
    right: auto;
    width: 16%;
    left: 6%;
		line-height: 0;
	}
	.cp05 .deco-out-item07 {
    left: auto;
    width: 22%;
    right: 4%;
		line-height: 0;
	}


.contents-bottom.cp{
	margin: 0 auto 8%;
}
.contents-bottom .event-caution{
	font-size: 1.2rem;
	line-height: 1.7rem;
	width: calc(93.33% - 1.2rem);                 
	margin: 20px auto 0;
	text-align: right;
	text-indent: -1.2rem;
  padding-left: 1.2rem;
}
.contents-bottom .event-caution .br{
	padding-left: 1em;
}

#pagetop{
	z-index: 20;
}

/*  POP
-------------------------*/
.remodal {
	padding: 0;
	width: 100%;
	max-width: 906px;
	height: 100%;
	/* max-height: 606px; */
	background: url(../images/cp05-bg-map-sp.png) no-repeat center top/100% 100%;
	margin-bottom: 0px;
	margin-top: -10px;
}
.remodal .txt {
	font-size: 1.3rem;
	line-height: 2rem;
	/* margin-top: 28%; */
	/* margin-top: 34%; */
	margin-top: 20%;
  top: 0;
}
.remodal .img {
	margin: -20px auto;
}
.remodal.popupYT iframe{
	margin: 0 auto;
	position: absolute;
	top: 0;
	left: 0;
	width: 88% !important;
	height: 88% !important;
}
.remodal.popupYT .movie-wrap{
	margin-top: 50%;
	/* padding-top: 56.5%; */
	padding-top: 56.25%;

}

}




/*  animation select
-------------------------*/
.rorateL{
	-webkit-animation: rorateL 6.0s ease 2.5s infinite;
	-moz-animation: rorateL 6.0s ease 2.5s infinite;
	-o-animation: rorateL 6.0s ease 2.5s infinite;
	animation: rorateL 6.0s ease 2.5s infinite;
}
.rorateR{
	-webkit-animation: rorateR 6.0s ease 2.5s infinite;
	-moz-animation: rorateR 6.0s ease 2.5s infinite;
	-o-animation: rorateR 6.0s ease 2.5s infinite;
	animation: rorateR 6.0s ease 2.5s infinite;
}
.vertical{
	-webkit-animation: vertical 2.0s ease 1s infinite;
	-moz-animation: vertical 2.0s ease 1s infinite;
	-o-animation: vertical 2.0s ease 1s infinite;
	animation: vertical 2.0s ease 1s infinite;
}

/*  animation set
/*  rorateR
-------------------------*/
@-webkit-keyframes rorateR {
	0% {
		-webkit-transform:rotate(0deg);
		transform:rotate(0deg);
	}
	
	60% { 
	  -webkit-transform:rotate(720deg);
	  transform:rotate(720deg);
	}
	
	100% { 
	  -webkit-transform:rotate(720deg);
	  transform:rotate(720deg);
	}
}

@keyframes rorateR {
    0% {
		-webkit-transform:rotate(0deg);
		transform:rotate(0deg);
	}
	
	60% { 
	  -webkit-transform:rotate(720deg);
	  transform:rotate(720deg);
	}
	
	100% { 
	  -webkit-transform:rotate(720deg);
	  transform:rotate(720deg);
	}
}

/*  rorateL
-------------------------*/
@-webkit-keyframes rorateL {
	0% {
		-webkit-transform:rotate(0deg);
		transform:rotate(0deg);
	}
	
	60% { 
	  -webkit-transform:rotate(-720deg);
	  transform:rotate(-720deg);
	}
	
	100% { 
	  -webkit-transform:rotate(-720deg);
	  transform:rotate(-720deg);
	}
}

@keyframes rorateL {
    0% {
		-webkit-transform:rotate(0deg);
		transform:rotate(0deg);
	}
	
	60% { 
	  -webkit-transform:rotate(-720deg);
	  transform:rotate(-720deg);
	}
	
	100% { 
	  -webkit-transform:rotate(-720deg);
	  transform:rotate(-720deg);
	}
}


/*  vertical
-------------------------*/
@-webkit-keyframes vertical {
	0% {
		-webkit-transform:translateY(0px);
		transform:translateY(0px);
	}
	
	50% { 
	  -webkit-transform:translateY(-10px);
	  transform:translateY(-10px);
	}
	
	100% { 
	  -webkit-transform:translateY(0px);
	  transform:translateY(0px);
	}
}

@keyframes vertical {
    0% {
		-webkit-transform:translateY(0px);
		transform:translateY(0px);
	}
	
	50% { 
	  -webkit-transform:translateY(-10px);
	  transform:translateY(-10px);
	}
	
	100% { 
	  -webkit-transform:translateY(0px);
	  transform:translateY(0px);
	}
}
