@charset "utf-8";

/* col:<576px / col-sm:≥576px / col-md:≥768px / col-lg:≥992px / col-xl:≥1200px */

/* Layout
----------------------------------------------- */
html{font-size:16px;}
html.fixed,
body.open{position:fixed; width:100%;}
body, html {
    line-height:1.8;
    font-family:sans-serif;
    -webkit-text-size-adjust:none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
/*     letter-spacing: .05em; */
}
#header,
#footer,
#container,
article>*{position:relative;}
/*
#header .container-fluid,
#footer .container-fluid{max-width:1140px; position:relative;}

a:not([class]){text-decoration:underline;}
a:not([class]):hover{text-decoration:none; opacity:.7;}

a.link-box:hover{
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    opacity:.7;
}

.nav-link{padding:.5rem;}

.link-box,
.link-box:hover{text-decoration:none;}

.contents{padding-top:90px; padding-bottom:90px;}
@media (max-width:991px){
    .contents{padding-top:60px; padding-bottom:60px;}
}
*/
@media (max-width:767px){
	.container{max-width:100%;}
}
@media (max-width:575px){
    html{font-size:15px;}
}
@media (min-width:376px){
}


/* common
----------------------------------------------- */
img{max-width:100%; height:auto;}
/* img[src$=".svg"]{width:100%;} for IE */

h2{text-align:center; position:relative; z-index:100; margin-bottom:68px;}
h2 img{width:662px; max-width:86%;}
h3{margin-bottom:30px;}
.h4{font-size:26px; font-weight:700;}

.c-white{color:white;}

.c{text-align:center;}
.l{text-align:left;}

a,a:hover{color:black;}
a:hover{opacity:.8;}

dl.def{line-height:1.6rem;}
dl.def dt{width:7em; font-weight:400;}
dl.def dd{margin:-1.6rem 0 1rem 0; padding:0 0 0 8em;}
dl.def dd.row2{margin-top:-3.2rem;}

@media (max-width:575px){
	h2{margin-bottom:34px;}
	.h4{font-size:18px;}
	dl.def dt{width:auto;}
	dl.def dd{margin:0 0 1rem 0; padding:0;}
}
@media (max-width:374px){
}


/* scroll fadein
----------------------------------------------- */
.fadein {
    opacity : 0;
    transform: translateY(40px);
    transition: all 1s;
}
.fadein.lazyloaded{
    opacity : 1;
    transform: translateY(0);
}

/* header
----------------------------------------------- */
/*
#header{height:180px; z-index:999; background-color:white;}

#header .brand{display:inline-block; width:90px; position:absolute; top:30px; left:50%; transform:translateX(-50%);}
#header nav{justify-content:center; align-items:center; padding-top:90px;}

#gnavi li a{text-align:center;}

@media (min-width:992px){
	#gnavi{max-width:720px; width:calc(100% - 160px);}
	#gnavi li{width:20%;}
	#gnavi li:nth-child(3){margin-left:auto;}
	#header ul.nav.sns{position:absolute; right:15px;}
	#btn-menu{display:none;}
}
@media (max-width:991px){
	#header{height:75px; position:fixed; top:0; left:0; width:100%;}
	#header .brand{
		top:-10px;
		background-color:white;
		width:118px;
		height:118px;
		padding:15px 30px 0;
		border-radius:50%;
		text-align:center;
	}
	#header nav{flex-direction:column; background-color:white; border-radius:20px; padding:30px; max-width:500px; width:90%;}
	#header nav::before{
		content:'';
		display:inline-block;
		width:100%;
		height:100px;
		background:url(../../asset/img/logo.svg) no-repeat center center/contain;
	}
	#gnavi{flex-direction:column; padding:2rem 0;}
	#header ul.nav.sns li{width:42px;}
	#header ul.nav.sns{justify-content:center;}

	.pannel{
		display:flex; justify-content:center; align-items:center; width:100%; position:fixed; top:0; left:0; background-color:rgba(0,0,0,.3);
		visibility:hidden;
		opacity:0;
		height:0;
		overflow:hidden;
		transition: all .5s;
	}
	body.open .pannel{
		height:100vh;
		visibility:visible;
		opacity:1;
	}
}
*/

/* footer
----------------------------------------------- */
#footer{font-size:.875rem; background-color:black; color:white; text-align:center;}

.footer-logo{padding:40px 0;}
.footer-logo img{width:250px; max-width:50%;}

@media (max-width:575px){
	.footer-logo{padding:0;}
}
/*
#footer-gnavi{justify-content:center;}
#footer-gnavi li{border-left:1px solid black; padding:0 1rem; line-height:1.2;}
#footer-gnavi li:first-child{border:none; padding-left:0;}
#footer-gnavi .nav-link{padding:0;}

#copylight{text-align:center; font-size:83%;}

@media (max-width:767px){
	#footer-gnavi li:first-child{padding-left:1rem;}
}
@media (max-width:575px){
	#footer-gnavi{margin-left:-15px; margin-right:-15px;}
	#footer-gnavi li{margin-bottom:1rem; font-size:12px;}
}
@media (max-width:374px){
	#footer-gnavi{margin:0;}
	#footer-gnavi li{width:50%; border:none; text-align:center;}
}
*/

/* button effect
----------------------------------------------- */
/*
#btn-menu,
#header .nav .close{padding:0;border:none;outline:0;cursor:pointer}

#btn-menu{position:fixed;z-index:1000;top:20px;right:20px;width:42px;height:26px;background-color:transparent;}
#btn-menu span,
#btn-menu::after,
#btn-menu::before{position:absolute;right:0;height:2px;content:'';-webkit-transition:width .2s cubic-bezier(.25,.46,.45,.94);transition:width .2s cubic-bezier(.25,.46,.45,.94);-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center;background:black;}

#btn-menu::before{top:0;width:42px;}
#btn-menu::after{bottom:0;width:42px;}
#btn-menu span{top:12px; display:block;width:42px;text-indent:100%; overflow:hidden;}

#btn-menu:hover:not(.open)::after,
#btn-menu:hover:not(.open)::before{width:42px}
#btn-menu:hover:not(.open) span{width:42px;}
#btn-menu.open span{opacity:0}
#btn-menu.open::before{-webkit-animation:menu-icon-1 .6s alternate forwards;animation:menu-icon-1 .6s alternate forwards}
#btn-menu.open::after{-webkit-animation:menu-icon-2 .6s alternate forwards;animation:menu-icon-2 .6s alternate forwards}
@-webkit-keyframes menu-icon-1{
    40%{top:50%;width:28px;-webkit-transform:translate(0,-50%);transform:translate(0,-50%);-webkit-transform-origin:center center;transform-origin:center center;background:#000;}
    100%{top:50%;width:28px;-webkit-transform:translate(0,-50%) rotate(135deg);transform:translate(0,-50%) rotate(135deg);-webkit-transform-origin:center top;transform-origin:center top;background:#000;}
}
@keyframes menu-icon-1{
    40%{top:50%;width:28px;-webkit-transform:translate(0,-50%);transform:translate(0,-50%);-webkit-transform-origin:center center;transform-origin:center center;background:#fff;}
    100%{top:50%;width:28px;-webkit-transform:translate(0,-50%) rotate(135deg);transform:translate(0,-50%) rotate(135deg);-webkit-transform-origin:center top;transform-origin:center top;background:#fff;}
}
@-webkit-keyframes menu-icon-2{
    40%{bottom:50%;width:28px;-webkit-transform:translate(0,50%);transform:translate(0,50%);-webkit-transform-origin:center center;transform-origin:center center;background:#000;}
    100%{bottom:50%;right:1px;width:28px;-webkit-transform:translate(0,50%) rotate(-135deg);transform:translate(0,50%) rotate(-135deg);-webkit-transform-origin:center top;transform-origin:center top;background:#000;}
}
@keyframes menu-icon-2{
    40%{bottom:50%;width:28px;-webkit-transform:translate(0,50%);transform:translate(0,50%);-webkit-transform-origin:center center;transform-origin:center center;background:#fff;}
    100%{bottom:50%;right:1px;width:28px;-webkit-transform:translate(0,50%) rotate(-135deg);transform:translate(0,50%) rotate(-135deg);-webkit-transform-origin:center top;transform-origin:center top;background:#fff;}
}

#btn-menu.txt-show span{
	border-top:2px solid #000;
	background-color:transparent;
	padding-top:12px;
	height:auto;
	overflow:visible;
	text-indent:inherit;
	font-size:13px;
}
*/

/**/
/*
.line-hover{
    position: relative;
    display: inline-block;
}
.line-hover:hover{
	text-decoration:none;
}
.line-hover::after{
    content: '';
    position: absolute;
    bottom:0;
    left: 0;
    width: 100%;
    height: 2px;
    background:white;
    transform:scale(0, 1);
    transform-origin:left top;
    transition:transform .3s;
}
.line-hover.active::after,
.line-hover:hover::after {
	transform:scale(1, 1);
}
.nav-link.line-hover::after{
    bottom:.5rem;
    left:.2rem;
    width:calc(100% - .4rem);
}

.pannel .line-hover::after{
    background:white;
}

a.line::before{
    content: '';
    position: absolute;
    bottom:0;
    left: 0;
    width: 100%;
    height: 2px;
    background:rgba(0,0,0,.2);
}
*/

.btn{border-radius:0; position:relative;}
.btn-purple{background-color:#93278F; color:white; font-weight:700; min-width:294px; padding:1.5rem; border:2px solid black; box-shadow:4px 4px 0 black;}
.btn-purple:hover{color:white; box-shadow:none;}
.btn.ic_arrow::after{
	content:'';
	display:inline-block;
	width:20px;
	height:20px;
	position:absolute;
	right:10px;
	bottom:10px;
	background:url(../../asset/img/ic_arrow.svg) no-repeat center center/cover;
}


/* slide */
/*
.btn.hover-slide{
    border-radius:0;
    border:1px solid black;
    color:black;
    min-width:260px;
    padding:1rem;
    font-weight:700;
    background-color:rgba(255,255,255,.7);
}

.hover-slide{position:relative; overflow:hidden;}
.hover-slide>*{position:relative; z-index:10;}
.hover-slide::before{
    content:'';
    width:100%;
    height:100%;
    background-color:rgba(0,0,0,.8);
    position:absolute;
    top:0;
    left:-100%;
    transition:all .3s ease;
}
.hover-slide:hover::before{left:0;}
.hover-slide:hover{color:white;}
.hover-slide.disabled{opacity:.7;}

.btn.hover-slide.btn-pink,
.btn.hover-slide.btn-conf,
.btn.hover-slide.btn-comp{
    border:1px solid #e83f38;
    color:#e83f38;
}
.btn.hover-slide.btn-pink::before,
.btn.hover-slide.btn-conf::before,
.btn.hover-slide.btn-comp::before{
    background-color:rgba(236,121,106,.5);
}
*/


/* home
----------------------------------------------- */
#cover{position:relative;max-height: 100vh}
h1{display:flex; width:100%; height:100%; margin:0; position:absolute; top:0; left:0; justify-content:center; align-items:center;}
h1>span{width:100%;text-align:center;}
h1>span>img {
    max-height: 90vh;
}

a#goto-form {
    display:inline-block;
    width:23%;
    max-width:280px;
    position:absolute;
    bottom:-25px;
    right:6%;
    filter:drop-shadow(10px 10px 10px rgba(0,0,0,.5)); z-index:1000;
}

@media (max-width:575px) {
    a#goto-form {
        bottom:-55px;
    }
}

@media (min-width:1600px) {
    a#goto-form {
        bottom: -10%;
        right: 10%;
    }
}

#pos-news{background:#6C008D url(../../asset/img/bg-news.svg) no-repeat center top/100% auto; padding-top:10px; margin-top:-2px;}
#pos-news .news-box{margin-top:-90px;}
#pos-news .news-box::before,
#pos-news .news-box::after{
	content:'';
	display:block;
	width:100%;
}
#pos-news .news-box::before{height:160px; background:url(../../asset/img/bg-news-frame-t.png) no-repeat center top/100% auto;}
#pos-news .news-box::after{height:50px; background:url(../../asset/img/bg-news-frame-b.png) no-repeat center bottom/100% auto;}

#pos-news .news-box .inner{
	padding:0 50px;
	background:url(../../asset/img/bg-news-frame-m.png) repeat-y center top/100% auto;
}

#pos-news .news-box dl{width:716px; max-width:100%; margin:0 auto 5rem;}
#pos-news dl dt{color:#4D4D4D;}
#pos-news dl dd{border-bottom:1px dotted black; padding-bottom:1rem;}

@media (max-width:767px){
	#pos-news{padding-top:3px;}
	#pos-news .news-box{margin-top:-70px;}
	#pos-news .news-box::before{height:120px;}
}
@media (max-width:575px){
	#pos-news .news-box{margin-top:-35px;}
	#pos-news .news-box::before{height:60px;}
	#pos-news .news-box::after{height:20px;}
	#pos-news .news-box .inner{padding:0 20px;}
}

.label-fb,
.label-tw{color:white; padding:.5rem; font-weight:700; text-align:center;}
.label-fb{background-color:#0071BC;}
.label-tw{background-color:#29ABE2;}

.sns{width:100%; height:400px; overflow:auto;}
@media (max-width:575px){
	.sns{height:300px;}
}

.photo{background:linear-gradient(#C2001F 50%, transparent 50%); position:relative; z-index:100;}
.photo>*{width:100%;}
.mask{
	-webkit-clip-path:url(#svgMask);
	clip-path:url(#svgMask);
}

#pos-world{
	color:white;
	font-weight:700;
	line-height:2;
	background:linear-gradient(#6C008D, #C2001F);
	position:relative; overflow:hidden;
}
#pos-world::after{
	content:'';
	display:block;
	width:120%;
	max-width:1260px;
	height:100%;
	position:absolute;
	top:50px;
	left:50%;
	transform:translateX(-50%);
	background:url(../../asset/img/bg-world.svg) no-repeat center top/contain;
}
@media (max-width:767px){
	#pos-world::after{width:140%;}
}
@media (max-width:575px){
	#pos-world::after{top:25px;}
}

.pos-event-container{background:repeating-linear-gradient(45deg, #FF6801, #FF6801 7px, #EF6202 7px, #EF6202 14px); z-index:1;}
.pos-event{margin-top:-50px; padding-bottom:50px;}
.pos-event-last{margin-top: 0x; padding-top: 50px;}
.pos-event-last::after{
	content:'';
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	bottom:0;
	left:0;
	background:url(../../asset/img/bg-event.svg) no-repeat center bottom/100% auto;
	z-index:-1;
}
.pos-event .coming-soon{position:relative; width:100%; margin:0;}
.pos-event .coming-soon:before{
    content:'';
    display:block;
    padding-top:50%;
}
.pos-event .coming-soon>*{
    position: absolute;
    top:25%;
    left:0;
    bottom:0;
    right:0;
}

@media (max-width:575px){
	.pos-event{margin-top:-35px;}
}

.pos-event-archive{background:repeating-linear-gradient(-40deg, #F58B1F, #F2B63B); z-index:1; margin-top:-2px;}
.pos-event-archive::before{
	content:'';
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	bottom:0;
	left:0;
	background:url(../../asset/img/bg-event-archive.svg) no-repeat center top/100% auto;
	z-index:-1;
}

@media (max-width:767px){
}
@media (max-width:575px){
}
@media (max-width:374px){
}

.bg-white-tp-round,
.bg-black-tp-round {
	border-radius: 2rem;
    line-height: 1.9;
}

.bg-white-tp-round {
    background: rgba(255,255,255,.85) !important;
}

.bg-black-tp-round {
    background: rgba(0,0,0,.8) !important;
	color: #fff;;
}

.bg-black-tp-round .table {
	color: #fff;
}

.bg-white-tp-round .parade-title img,
.bg-black-tp-round .parade-title img {
    max-width: 500px;
}

.bg-white-tp-round .parade-title-sub img,
.bg-black-tp-round .parade-title-sub img {
    max-width: 400px;
}

.bg-white-tp-round .takashimaya-title-sub img,
.bg-black-tp-round .takashimaya-title-sub img {
    max-height: 100px;
}

.bg-white-tp-round h1,
.bg-white-tp-round h2,
.bg-white-tp-round h3,
.bg-white-tp-round .h1,
.bg-white-tp-round .h2,
.bg-white-tp-round .h3,
.bg-white-tp-round a {
    color: #ec008c;
}
.bg-black-tp-round h1,
.bg-black-tp-round h2,
.bg-black-tp-round h3,
.bg-black-tp-round .h1,
.bg-black-tp-round .h2,
.bg-black-tp-round .h3,
.bg-black-tp-round a {
    color: #EC008C;
}

.bg-white-tp-round h1,
.bg-white-tp-round h2,
.bg-white-tp-round h3,
.bg-white-tp-round h4,
.bg-white-tp-round .h1,
.bg-white-tp-round .h2,
.bg-white-tp-round .h3,
.bg-white-tp-round .h4,
.bg-black-tp-round h1,
.bg-black-tp-round h2,
.bg-black-tp-round h3,
.bg-black-tp-round h4,
.bg-black-tp-round .h1,
.bg-black-tp-round .h2,
.bg-black-tp-round .h3,
.bg-black-tp-round .h4 {
    line-height: 1.6;
}