/* PC共通 */

.spOnly{display: none !important;} /** パソコンのみ **/

.inactive{pointer-events: none !important;}

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

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

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;}


a.moveX, button.moveX, a.moveY, button.moveY{transition: all .3s ease;}
a:hover, button:hover{
	cursor: pointer; opacity: .8; -webkit-opacity: .8;
}
a.moveX:hover, button.moveX:hover{
	transform: translateX(10px);
}
a.moveY:hover, button.moveY:hover{
	transform: translateY(-5px);
}


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

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: 800px; height: 800px; border-radius: 50%; 
	-webkit-filter: blur(200px); filter: blur(200px);
	margin: 245px; overflow: visible; position: absolute; 
}

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

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


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


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

header{position: fixed; top: 0; left: 0; width: 100%; height: 0; overflow: visible; z-index: 40;}
header a.menu{display: block; position: absolute; right: 65px; top: 25px; 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: 170px; left: 15%; right: 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; padding-top: 95px; overflow: hidden; 
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}

footer h1{
	display: block; position: relative; z-index: -1;
    font-family: "din-2014", sans-serif !important; font-weight: 600;
    font-size: 25vmax; line-height: .68em; margin-left: -1.4vmax; 
    color: rgba(255,255,255,.03);
}

footer #footer{
	width: 75%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}

footer #footer a.logo{width: 40%;}
footer #footer a.logo div{float: left; position: relative;}
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{
	float: right; text-align: right; margin-top: 70px; width: 50vmax;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;}
footer #footer .glonav a{display: inline-block; font-family: 'BIZ UDGothic', sans-serif !important; margin-left: 25px; margin-bottom: 10px; font-size: 14px;}
footer #footer .glonav a:first-of-type{margin: 0 !important;}

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: 40px auto 30px;
}

footer #footer .info{
	float: left; clear: both; width: 55%; 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: 45%; text-align: right;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;}

footer #footer .links a.nav{
	display: inline-flex; height: 42.5px; align-items: center; margin-left: 45px; 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: 14px; margin-top: 50px; 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: 1.2vmax;}
h2 span:nth-of-type(2){font-family: 'BIZ UDGothic', sans-serif !important; font-size: 1.12vmax;}


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


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



a .circleArrow{
	display: flex; align-items: center; position: absolute; right: 30px; 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;
}

a.btnCircleArrow .circleArrow{transition: all .3s ease;}
a.btnCircleArrow:hover{opacity: 1 !important; -webkit-opacity: 1 !important;}
a.btnCircleArrow:hover .circleArrow{
	transform: translateX(10px);
}




ul {
	list-style: none;
}

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

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

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: 22px; line-height: 34px; letter-spacing: .1em;
}



/*====== キャンペーン =====*/

.campaignBox{
	width: 75vmax; padding-bottom: 90px; margin: 100px auto; overflow: visible; border: 1px transparent solid; position: relative;
	height: fit-content; height: -ms-fit-content; height: -moz-fit-content; height: -webkit-fit-content; height: -o-fit-content;
}

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

.campaignBox:before, .campaignBox:after{
	display: block; position: absolute;
	content: ""; width: calc(100% - 10px); height: calc(100% - 10px); 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: 10%;
    position: absolute;
    left: 20px;
    bottom: -20px;
    transform: rotate(15deg);
    z-index: 1;
}

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

.ribbon {
	display: inline-block;
    position: absolute;
    padding: 12px 0;
    left: -22px;
    top: 20px;
    width: 200px;
    text-align: center;
	font-family: "din-2014", sans-serif !important;
    font-weight: 700;
    font-size: 16px;
	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);
}


/*====== アニメーション =====*/
/* scroll-fade anmt_lb2rt anm_delay4 */

.anmt_delay1{transition: all 1.2s ease-in .1s !important;}
.anmt_delay2{transition: all 1.2s ease-in .2s !important;}
.anmt_delay3{transition: all 1.2s ease-in .3s !important;}
.anmt_delay4{transition: all 1.2s ease-in .4s !important;}
.anmt_delay5{transition: all 1.2s ease-in .5s !important;}
.anmt_delay6{transition: all 1.2s ease-in .6s !important;}
.anmt_delay7{transition: all 1.2s ease-in .7s !important;}
.anmt_delay8{transition: all 1.2s ease-in .8s !important;}
.anmt_delay9{transition: all 1.2s ease-in .9s !important;}
.anmt_delay10{transition: all 1.2s ease-in 1.0s !important;}
.anmt_delay11{transition: all 1.2s ease-in 1.1s !important;}
.anmt_delay12{transition: all 1.2s ease-in 1.2s !important;}
.anmt_delay13{transition: all 1.2s ease-in 1.3s !important;}
.anmt_delay14{transition: all 1.2s ease-in 1.4s !important;}
.tranNone{transition: all 0s ease-in 0s !important;}

.anmt_opacity0, .anmt_opacity0_2, .anmt_opacity0_3{ 
	-webkit-opacity: 0; opacity: 0;
}

.anmt_opacity1{
	-webkit-opacity: 1 !important; opacity: 1 !important;
	transition: all .8s ease-in;
}

.anmt_opacity1_2{
	-webkit-opacity: .1 !important; opacity: .1 !important;
	transition: all .8s ease-in;
}

.anmt_opacity1_3{
	-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_menu, .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{ /* 上から下に動く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;
}



