/* SP共通 */

.pcOnly{display: none !important;}

/*====== Container Box =====*/

.main_container{
	width: 94%;
    margin: 0 auto;
    position: relative;
    height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
    overflow: hidden;
}

.main_box{width: 100%;}

section, footer, .sec_artist .gallery, .secArtist .gallery{
	position: relative;
	transform: translateX(-100%); opacity: 0; -webkit-opacity:0;
    transition: all 1s ease;
}

section.show, footer.show, .sec_artist .gallery.show, .secArtist .gallery.show{transform: translateX(0); opacity: 1; -webkit-opacity:1;}



/*====== 背景 =====*/

path.bg-circle{
	background-image: -moz-linear-gradient( 0deg, rgb(83,128,157) 0%, rgb(91,111,153) 32%, rgb(99,94,149) 48%, rgb(112,86,125) 70%, rgb(125,77,101) 100%);
	background-image: -webkit-linear-gradient( 0deg, rgb(83,128,157) 0%, rgb(91,111,153) 32%, rgb(99,94,149) 48%, rgb(112,86,125) 70%, rgb(125,77,101) 100%);
	background-image: -ms-linear-gradient( 0deg, rgb(83,128,157) 0%, rgb(91,111,153) 32%, rgb(99,94,149) 48%, rgb(112,86,125) 70%, rgb(125,77,101) 100%);
 	width: 350px; height: 350px; border-radius: 50%; zoom: .6;
	-webkit-filter: blur(160px); filter: blur(160px);
	margin: 245px; overflow: visible; position: absolute; 
}

path.bg-circle:nth-of-type(1){bottom: -500px; left: 0; animation: pukapuka 35s forwards 0s ease infinite;}
path.bg-circle:nth-of-type(2){bottom: -500px; right: -280px; animation: pukapuka 35s forwards 8s ease infinite;}
path.bg-circle:nth-of-type(3){bottom: -500px; left: -280px; animation: pukapuka 35s forwards 16s ease infinite;}
path.bg-circle:nth-of-type(4){bottom: -500px; right: 0; animation: pukapuka 35s forwards 24s ease infinite;}

@keyframes pukapuka {
	0% {
		bottom: -500px;
		transform: translateX(0);
	}
	
	15% {
		transform: translateX(20px);
	}
	
	30% {
		transform: translateX(-60px);
	}
	
	45% {
		transform: translateX(100px);
	}
	
	60% {
		transform: translateX(-200px);
	}
	
	75% {
		transform: translateX(220px);
	}
	
	85% {
		transform: translateX(-200px);
	}
	
	100% {
		bottom: calc(100% + 500px);
		transform: translateX(0);
	}
}

/*====== ボタン =====*/



/*======ヘッダー =====*/

header{position: fixed; top: 0; left: 0; width: 100%; height: 65px; z-index: 40;}
header a.menu{display: block; position: absolute; right: 15px; top: 0; bottom: 0; margin: auto; width: 33px; height: 25px;}
header a.menu path{display: block; position: absolute; left: 0; right: 0; margin: auto; width: 33px; height: 1px; background-color: #fff; transition: all .3s ease;}
header a.menu path:nth-of-type(1){top: 3px;}
header a.menu path:nth-of-type(2){top: 0; bottom: 0;}
header a.menu path:nth-of-type(3){bottom: 3px;}

header a.menu.close path:nth-of-type(1){top: 0; bottom: 0; transform: rotate(-45deg);}
header a.menu.close path:nth-of-type(2){opacity: 0; -webkit-opacity:0;}
header a.menu.close path:nth-of-type(3){top: 0; bottom: 0; transform: rotate(45deg);}


/*====== メニュー =====*/


nav#menu{
	width: 100%; height: 100vh; overflow: hidden; background-color: #000; z-index: 30;
	position: fixed; top: 0; left: 100%;
}
nav#menu.appear{left: 0 !important;}

nav#menu #menu_nav{
	display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}


nav#menu .glonav{
	display: block;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}
nav#menu .glonav a{
	display: block; font-family: "din-2014", sans-serif !important; font-weight: 600; font-size: 3.2vmax; margin-bottom: 1.6vmax;
}

nav#menu .links{
	display: flex; align-items: center; margin-top: 40px;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;}

nav#menu .links a.nav{
	display: inline-flex; height: 42.5px; align-items: center; margin-right: 50px;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
}
nav#menu .links a.nav span{display: block; font-family: "din-2014", sans-serif !important; font-weight: 400; font-size: 18px; margin-right: 20px;}
nav#menu .links a.nav path{display: block; width: 42.50px; height: 42.50px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; position: relative;}
nav#menu .links a.nav path i{
	display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}

nav#menu .links a.sns{
	display: inline-block; margin-right: 25px;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}
nav#menu .links a.sns i{font-size: 30px;}


/*====== フッター =====*/

footer{
	width: 100%; position: relative; background-color: #000; z-index: 10; overflow: hidden; padding: 100px 0 80px; 
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}

footer h1{
	display: block; position: absolute; bottom: 0; left: -.5vmax; z-index: -1;
    font-family: "din-2014", sans-serif !important; font-weight: 600;
    font-size: 35vmax; line-height: .65em;
    color: rgba(255,255,255,.03);
}

footer #footer{
	width: 95%; margin: auto; overflow: hidden;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}

footer #footer a.logo{
	display: block; margin: 0 auto; text-align: center; overflow: hidden;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;}
footer #footer a.logo div{
	float: left; position: relative;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}
footer #footer a.logo .img_logo{width: 132px; height: 122px; margin-right: 28px;}
footer #footer a.logo .img_daruma{width: 96px; height: 103px;}

footer #footer .glonav{
	width: 100%; margin-top: 40px;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;}
footer #footer .glonav a{
	display: block;
    font-family: 'BIZ UDGothic', sans-serif !important;
    margin: 0 auto 25px;
    font-size: 14px;
    width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
}

footer #footer hr{
	width: 100%; height: 1px; float: left;
	display: block; clear: both; border: none; border-bottom: 1px solid rgba(255,255,255,.3); margin: 20px auto;
}

footer #footer .info{
	float: left;
    margin-left: 2%;
    width: 100%;
    text-align: left;
    height: fit-content;
    height: -ms-fit-content;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: -o-fit-content;}

footer #footer .info h6{display: block; font-family: 'BIZ UDGothic', sans-serif !important; font-size: 16px; letter-spacing: .1em;}
footer #footer .info div, footer #footer .info a, footer #footer .info a i{font-size: 14px;}
footer #footer .info div{font-family: 'BIZ UDGothic', sans-serif !important; line-height: 26px; margin-top: 16px;}
footer #footer .info a{display: block; margin-top: 12px;}
footer #footer .info a i{margin-right: 15px;}


footer #footer .links{
	float: right;
    width: 100%;
    text-align: right;
    height: fit-content;
    height: -ms-fit-content;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: -o-fit-content;
    margin: 30px 2% 0 0;}

footer #footer .links a.nav{
	display: inline-flex; height: 42.5px; align-items: center; margin-left: 25px; margin-bottom: 25px;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
}
footer #footer .links a.nav span{display: block; font-family: "din-2014", sans-serif !important; font-weight: 400; font-size: 18px; margin-right: 20px;}
footer #footer .links a.nav path{display: block; width: 42.50px; height: 42.50px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; position: relative;}
footer #footer .links a.nav path i{
	display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}

footer #footer .links .sns{display: block;}
footer #footer .links .sns a{
	display: inline-block; margin-left: 25px;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}
footer #footer .links .sns a i{font-size: 30px;}

footer #footer .links span.copyright{display: block; font-family: 'BIZ UDGothic', sans-serif !important; font-size: 12px; margin-top: 30px; line-height: 1.2em;}

/*====== メインコンテンツ =====*/






/*====== 共通 =====*/

.divLeft, .divRight{position: absolute; overflow: hidden; top: 0; height: 100%;} .divLeft{left: 0;} .divRight{right: 0;}
img.imgbox{position: absolute; width: 100%; z-index: -1;}

h2{
	overflow: hidden;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}
h2, h2 span{display: block; letter-spacing: .1em;}
h2 span:nth-of-type(1){
	font-family: "din-2014", sans-serif !important;
    font-weight: 600;
    font-size: 3.8vmax;
    margin-bottom: 0.5vmax;
}
h2 span:nth-of-type(2){
	font-family: 'BIZ UDGothic', sans-serif !important;
    font-size: 1.5vmax;
}



p.message{
	display: block;
    font-family: 'BIZ UDGothic', sans-serif !important;
    font-size: 1.5vmax;
    line-height: 3vmax;
    word-break: break-all;
    margin-top: 2vmax;
}


.center h2, .center h2 span, .center p.message{text-align: center;}
.center h2{margin: 30px auto;}


a .circleArrow{
	display: flex; align-items: center; position: absolute; right: 15px; top: 0; bottom: 0; margin: auto;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
}
a .circleArrow span{display: block; font-family: "din-2014", sans-serif !important; font-weight: 400; font-size: 18px; margin-right: 20px;}
a .circleArrow path{display: block; width: 42.50px; height: 42.50px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; position: relative;}
a .circleArrow path i{
	display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto;
	width: fit-content; width: -ms-fit-content; width: -moz-fit-content; width: -webkit-fit-content; width: -o-fit-content;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}



ul {
	list-style: none;
}

ul li, ul li span{
	font-family: 'BIZ UDGothic', sans-serif !important; font-size: 14px; line-height: 26px;
}

ul li {
	position: relative;
	padding-left: 25px;
	padding-bottom: 10px;
}

ul li span{overflow: visible; position: relative;}
ul li span::after{
	display: block; content: ""; width: 100%; height: 1px; background-color: #fff;
	position: absolute; left: 0; right: 0; bottom: -2px; margin: auto;
}

ul li::before {
	content: '\f00c';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
}


div.lrgTxt{
	font-family: 'BIZ UDGothic', sans-serif !important;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: .1em;
}



/*====== キャンペーンボックス =====*/

.campaignBox{
	width: 95%;
    overflow: visible;
    border: 1px transparent solid;
    position: relative;
    padding: 15px 30px 60px;
    margin: 40px auto;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}

.campaignBox h2{margin: 30px auto !important;}

.campaignBox:before, .campaignBox:after{
	display: block;
    position: absolute;
    content: "";
    width: 98%;
    height: 98%;
    border: 1px rgba(255,255,255,.8) solid;
}
.campaignBox:before{left: 0; top: 0;} .campaignBox:after{right: 0; bottom: 0;}

.campaignBox .imgbox{
	display: block;
    width: 14%;
    position: absolute;
    left: 20px;
    bottom: -10px;
    transform: rotate(15deg);
    z-index: 1;
}

.ribbon-box {
	position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    height: 100px;
    overflow: hidden;
    z-index: 1;
}

.ribbon {
	display: inline-block;
    position: absolute;
    padding: 8px 0px;
    left: -20px;
    top: 18px;
    width: 215px;
    text-align: center;
    font-family: "din-2014", sans-serif !important;
    font-weight: 700;
    font-size: 14px;
	background-image: -moz-linear-gradient( 0deg, rgb(83,128,157) 0%, rgb(91,111,153) 32%, rgb(99,94,149) 48%, rgb(112,86,125) 70%, rgb(125,77,101) 100%);
	background-image: -webkit-linear-gradient( 0deg, rgb(83,128,157) 0%, rgb(91,111,153) 32%, rgb(99,94,149) 48%, rgb(112,86,125) 70%, rgb(125,77,101) 100%);
	background-image: -ms-linear-gradient( 0deg, rgb(83,128,157) 0%, rgb(91,111,153) 32%, rgb(99,94,149) 48%, rgb(112,86,125) 70%, rgb(125,77,101) 100%);
	color: #fff;
	letter-spacing: 0.05em;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}




/*====== アニメーション =====*/
.anmt_delay2{transition: all .8s ease-in .2s !important;}
.anmt_delay4{transition: all .8s ease-in .4s !important;}
.anmt_delay6{transition: all .8s ease-in .6s !important;}
.anmt_delay8{transition: all .8s ease-in .8s !important;}
.anmt_delay10{transition: all .8s ease-in 1.0s !important;}
.anmt_delay12{transition: all .8s ease-in 1.2s !important;}
.anmt_delay14{transition: all .8s ease-in 1.4s !important;}
.tranNone{transition: all 0s ease-in 0s !important;}

.anmt_opacity0, .anmt_opacity0_2, .anmt_opacity0_3{ /* 左から右に動くelement */
	-webkit-opacity: 0; opacity: 0;
}

.anmt_opacity1{ /* 左から右に動くelement */
	-webkit-opacity: 1 !important; opacity: 1 !important;
	transition: all .8s ease-in;
}

.anmt_opacity1_2{ /* 左から右に動くelement */
	-webkit-opacity: .1 !important; opacity: .1 !important;
	transition: all .8s ease-in;
}

.anmt_opacity1_3{ /* 左から右に動くelement */
	-webkit-opacity: .2 !important; opacity: .2 !important;
	transition: all .8s ease-in;
}

.anmt_l2rScale{
	-webkit-opacity: 0; opacity: 0;
	-webkit-transform:translateX(-100%) scale(-1);
	transform:translateX(-100%) scale(-1);	
}

.anmt_l2rScale_trsfrm{
	-webkit-opacity: 1 !important; opacity: 1 !important;
	-webkit-transform:translateX(0) scale(-1) !important;
	transform:translateX(0) scale(-1) !important;	
	transition: all .8s ease-in;
}

.anmt_r2lScale{
	-webkit-opacity: 0; opacity: 0;
	-webkit-transform:translateX(100%) scale(1);
	transform:translateX(100%) scale(1);	
}

.anmt_r2lScale_trsfrm{
	-webkit-opacity: 1 !important; opacity: 1 !important;
	-webkit-transform:translateX(0) scale(1) !important;
	transform:translateX(0) scale(1) !important;	
	transition: all .8s ease-in;
}

.anmt_l2r, .anmt_l2r_opa{ /* 左から右に動くelement */
	-webkit-opacity: 0; opacity: 0;
	-webkit-transform:translateX(-100%);
	transform:translateX(-100%);	
}

.anmt_r2l{ /* 右から左に動くelement */
	-webkit-opacity: 0; opacity: 0;
	-webkit-transform:translateX(100%);
	transform:translateX(100%);	
}

.anmt_l2r2l_trsfrm{ /* 左右に動くアニメーション */
	-webkit-opacity: 1 !important; opacity: 1 !important;
	-webkit-transform:translateX(0) !important;
	transform:translateX(0) !important;
	transition: all .8s ease-in;
}

.anmt_l2r_opa_trnsfrm{
	-webkit-opacity: .2 !important; opacity: .2 !important;
	-webkit-transform:translateX(0) !important;
	transform:translateX(0) !important;
	transition: all .8s ease-in;
}

.anmt_t2b, .anmt_menu{ /* 上から下に動くelement */
	-webkit-opacity: 0; opacity: 0;
	-webkit-transform:translateY(-200px);
	transform:translateY(-200px);	
}

.anmt_b2t{ /* 下から上に動くelement */
	-webkit-opacity: 0; opacity: 0;
	-webkit-transform:translateY(200px);
	transform:translateY(200px);	
}

.anmt_t2b2t_trsfrm{ /* 上下に動くアニメーション */
	-webkit-opacity: 1 !important; opacity: 1 !important;
	-webkit-transform:translateY(0) !important;
	transform:translateY(0) !important;
	transition: all .8s ease-in;
}

.anmt_lb2rt{ /* 左下から右上に動くelement */
	-webkit-opacity: 0; opacity: 0;
	-webkit-transform:translate(-250px,150px);
	transform:translate(-250px,150px);	
}

.anmt_rb2lt{ /* 右下から左上に動くelement */
	-webkit-opacity: 0; opacity: 0;
	-webkit-transform:translate(200px,100px);
	transform:translate(200px,100px);	
}

.anmt_lt2rb{ /* 左上から右下に動くelement */
	-webkit-opacity: 0; opacity: 0;
	-webkit-transform:translate(-250px,100px);
	transform:translate(-250px,100px);	
}

.anmt_rt2lb{ /* 右上から左下に動くelement */
	-webkit-opacity: 0; opacity: 0;
	-webkit-transform:translate(250px,-100px);
	transform:translate(250px,-100px);	
}

.anmt_angle_trnsfrm, .logo_trnsfrm{ /* 上下左右に動くアニメーション */ /* ロゴを動かさない場合は.logo_trnsfrmを外す */
	-webkit-opacity: 1 !important; opacity: 1 !important;
	-webkit-transform:translate(0px,0px) !important;
	transform:translate(0px,0px) !important;
	transition: all .8s ease-in;
}







