@charset "UTF-8";

/*==============================================================

	Reset

==============================================================*/
html,
body,article,section,nav,aside,h1,h2,h3,h4,h5,h6,hgroup,header,footer,address,
p,ol,ul,li,dl,dt,dd,figure,figcaption,div,
em,strong,small,sub,sup,i,b,mark,span,
img,iframe,object,video,audio,
table,caption,tbody,thead,tfoot,tr,td,th,
canvas {
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	border:0;
	padding:0;
	margin:0;
	outline:0;
}
article,section,nav,aside,hgroup,header,footer,
figure,figcaption,main { 
	display:block;
}
h1,h2,h3,h4,h5,h6 {
	font-weight:normal;
}
address {
	font-weight:normal;
	font-style:normal;
}
ol,ul {
	list-style:none;
}
em {
	font-style:normal;
}
a {
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	padding:0;
	margin:0;
}
table {
	vertical-align:middle;
	border-collapse:collapse;
	border-spacing:0;
}
th {
	font-weight:normal;
	text-align:left;
	vertical-align:middle;
}
td {
	vertical-align:middle;
}

/*==============================================================

	Global

==============================================================*/
*,*:before,*:after {
	-ms-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	/*font-feature-settings:'palt';*/
}
html,body {
	height:100%;
	-webkit-text-size-adjust:100%;
}
html {
	font-size:10px;
	transition:font-size 0.1s ease-out;
	overflow-y:scroll;
}
html.is-font-size-large {
	font-size:11px;
}
body {
	position:relative;
	height:100%;
	font-family:'Noto Sans JP', serif;
	font-weight:400;
	font-size:1.6rem;
	text-align:left;
	line-height:1.8;
	letter-spacing:0;
	word-wrap:break-word;
	overflow-wrap:break-word;
	color:#000;
	background-color:#fff;
}
a {
	color:#000;
	text-decoration:none;
	transition:opacity 0.4s ease-out;
}
a:hover {
	color:#777;
}
img {
	width:auto;
	max-width:100%;
	height:auto;
	vertical-align:middle;
}
a img {
	transition:opacity 0.4s ease-out;
}
button {
	border:0;
}
@media screen and (max-width:1280px) {

}
@media screen and (max-width:1120px) {
html {
	/*font-size:0.9vw;*/
}
}
@media screen and (max-width:1024px) {
html {
	font-size:9px;
}
}
@media screen and (max-width:767px) {

}
@media screen and (max-width:390px) {
html {
	font-size:8px;
}
}
@media screen and (max-width:375px) {
html {
	font-size:7px;
}
}
@media screen and (max-width:320px) {
html {
	font-size:6px;
}
}


/*==============================================================

	Common

==============================================================*/
/*==============================================================
	Effect
==============================================================*/
.fadein {
	transform:translateY(50px);
	opacity:0;
}
.fadein.show {
	animation:fadeIn 1s ease 0s forwards;
}

@keyframes fadeIn {
	0% {
		transform:translateY(50px);
		opacity:0;
		}
	100% {
		transform:translateY(0);
		opacity:1;
	}
}



.zoomin {
	transform:translateY(50px);
	opacity:0;
}
.zoomin.show {
	animation:zoomIn 1s ease 0s forwards;
}
@keyframes zoomIn {
	0% {
		transform:scale(1.05);
		opacity:0;
		}
	100% {
		transform:scale(1);
		opacity:1;
	}
}

/*==============================================================

	Main

==============================================================*/
.main {
	overflow:hidden;
}
.main .container {
	position:relative;
	width:100%;
	max-width:calc(1080px + 40px);
	margin:0 auto;
	padding:0 20px;
}
@media screen and (max-width:1280px) {
.main .container {
	
}
}
/*==============================================================

	MV

==============================================================*/



.mv {
	position:relative;
	overflow:hidden;
	font-size:0;	/*隙間対策*/
	background-color:#C31923;
}

.mv_bg img {
	width:100%;

}



h1 {
	position:absolute;
	top:9.7vw;
	left:22.2vw;
	width:57.4vw;
}
@media screen and (max-width:767px) {
h1 {
	position:absolute;
	top:43.8vw;/*53.8vw*/
	left:6.4vw;
	width:89.7vw;
}


}


h1 > span {
	display:block;
	width:100%;
}
h1 > span:last-child {
	padding-left:24.1%;
}

h1 > span > span {
	display:inline-block;
	width:100%;
}


h1 .title01 {
	width:20.9%;
	transition-delay:0.75s
}
h1 .title02 {
	width:20.9%;
	transition-delay:0.85s
}
h1 .title03 {
	width:20.9%;
	transition-delay:0.95s
}
h1 .title04 {
	width:17.7%;
	transition-delay:1.05s
}
h1 .title05 {
	width:16.1%;
	transition-delay:1.15s
}

h1 .title06 {
	width:25.5%;
	transition-delay:1.25s
}
h1 .title07 {
	width:20.2%;
	transition-delay:1.35s
}
h1 .title08 {
	width:18.0%;
	transition-delay:1.45s
}
h1 .title09 {
	width:36.1%;
	transition-delay:1.55s
}


h1 span img {
	width:100%;
	filter:drop-shadow(5px 5px 10px rgba(0,0,0,1));
}




h1 span {
	transform:translate3d(2.5em, 0, 0) rotate(10deg) rotateY(120deg) rotateX(-30deg) scale(1.1);
	transform-origin:left bottom;
	opacity:0;
	transition:transform 0.5s, opacity 0.5s;
}
h1.show span {
	transform:none;
	opacity:1;
}

/*	Period
==============================================================*/
.period {
	position:absolute;
	top:37.0vw;
	left:34.7vw;
	width:30.5vw;
	opacity:0;
	transition:opacity 1.0s;
	transition-delay:1.65s
}
@media screen and (max-width:767px) {
.period {
	top:87.5vw;/*102.5vw*/
	left:51.2vw;
	width:44.8vw;
}
}

.period img {
	width:100%;
}
.period.show {
	opacity:1;
}

/*	Finished
==============================================================*/
.finished {
	position:absolute;
	top:20.0vw;
	left:30.5vw;
	width:38.8vw;
	filter:drop-shadow(5px 5px 10px rgba(0,0,0,0.5));

	transform:translateY(50px);
	transform:translate3d(0,50px,0);
	opacity:0;
	transition:transform 1.0s, opacity 1.0s;
	transition-delay:1.5s;/*1.65s*/

	z-index:9999;
}
@media screen and (max-width:767px) {
.finished {
	top:69.2vw;
	left:17.6vw;
	width:64.6vw;
}
}

.finished img {
	width:100%;
}
.finished.show {
	transform:translateY(0);
	transform:translate3d(0,0,0);
	opacity:1;
}


/*	Present Button (Sticky)
==============================================================*/
/* PC */
.btn-present_pc {
	position:fixed;
	width:14.8vw;
	bottom:10px;
	right:10px;
	background:url(/assets/images/present_pc_hover.svg);
	background-size:cover;
	filter:drop-shadow(5px 5px 10px rgba(0,0,0,0.5));

	transform:translateY(50px);
	transform:translate3d(0,50px,0);
	opacity:0;
	transition:transform 1.0s, opacity 1.0s;
	transition-delay:0.8s;/*1.65s*/
	
	z-index:1000;
}
.btn-present_pc img {
	width:100%;
}
.btn-present_pc a:hover > img {
	opacity:0.75;
}


.btn-present_pc.show {
	transform:translateY(0);
	transform:translate3d(0,0,0);
	opacity:1;
}

/* SP */
.btn-present_sp {
	display:none;
	z-index:1000;
}



@media screen and (max-width:767px) {
.btn-present_pc {
	display:none;
}
.btn-present_sp {
	display:block;
	position:fixed;
	right:0;
	bottom:0;
	width:100%;
	background-color:#fff;
	visibility:hidden;
	opacity:0;
	transition:opacity 0.5s cubic-bezier(.25,1,.5,1), visible 0.5s cubic-bezier(.25,1,.5,1);/*easeOutQuart*/;
}
.is-scroll .btn-present_sp {
	visibility:visible;
	opacity:1;
}
.btn-present_sp a {
	display:block;
}
.btn-present_sp a:hover img {
	opacity:0.75;
}
}


/*	SNS
==============================================================*/
.svg-symbol {
	display:none;
}

.mv .sns {
	position:absolute;
	top:24px;
	left:20px;
}
.mv .sns a {
	display:inline-block;
	width:1.8vw;
	min-width:20px;
}
.mv .sns a svg {
	width:100%;
	transition:opacity 0.4s ease-out;
}
.mv .sns a:hover svg {
	opacity:0.75;
}

.mv .sns-ico {
	fill:#fff;
}
.mv .sns a:first-child {
	margin-right:1.4vw;
}


/*
.header,
.header_container {
	transition:height 0.5s cubic-bezier(.25,1,.5,1);easeOutQuart;
}
.sp .header.is-scroll,
.sp .header.is-scroll .header_container {
	height:50px;
}
.header_logo img {
	width:180px;
	transition:width 0.5s cubic-bezier(.25,1,.5,1);easeOutQuart;
}
*/




/*==============================================================

	Intro

==============================================================*/
.intro {
	width:100%;
	font-family:'Shippori Mincho B1',serif;
	font-weight:500;
	font-size:1.6rem;
	text-align:center;
	line-height:2.5;
	color:#fff;
	background-color:#C31923;
	padding:6vw 0;

}
.intro-strong {
	font-size:2.8rem;
	margin-bottom:1em;
}



@media screen and (max-width:1024px) {

}


/*==============================================================
	Section Header
==============================================================*/
.section {
	padding:2vw 0;
}
.section-title {
	display:flex;
	align-items:center;

	font-family:'Bodoni Moda',serif;
	font-weight:500;
	font-size:5.0rem;
	text-align:center;
	letter-spacing:0.1em;


		
}

.section-title::before,
.section-title::after {
	content:'';
	display:block;
	flex-grow:1;
	height:3px;
	background-color:#F0AA19;
}
.section-title::before {
	margin-right:2.5rem;
}

.section-title::after {
	margin-left:2.5rem;
}

h2 {
	display:block;
	font-family:'Shippori Mincho B1',serif;
	font-weight:600;
	font-size:2.8rem;
	text-align:center;

}




/*==============================================================

	ABOUT

==============================================================*/

.about-title {

	color:#C31923;

		
}


.about-header h2 {
	color:#C31923;

}







.about-container {
	display:flex;
	padding-top:5.0rem;
	overflow:visible;
}


.about-image {
	position:relative;
	width:37.0%;/*400px*/
	z-index:100;


}
.about-image,
.about-text {
	opacity:0;
	transition:transform 0.5s, opacity 0.5s;
}
.about-image {
	filter:drop-shadow(5px 5px 10px rgba(0,0,0,0.5));
	transform:translateY(0);
	transform:translate3d(0,0,0);
	transition-delay:0.0s;
}
.about-text {
	transform:translateY(5.0rem);
	transform:translate3d(0,5.0rem,0);
	transition-delay:0.4s;
}

.about-image.show,
.about-text.show {
	opacity:1;
}
.about-image.show {
	transform:translateY(-5.0rem);/*50px*/
	transform:translate3d(0,-5.0rem,0);
}
.about-text.show {
	transform:translateY(0);
	transform:translate3d(0,0,0);
}
@media screen and (max-width:767px) {
.about-image {
	transform:translateY(5.0rem);
	transform:translate3d(0,5.0rem,0);
}
.about-image.show {
	transform:translateY(0);
	transform:translate3d(0,0,0);
}
}

.about-text {
	display:flex;
	justify-content:center;
	flex-direction:column;
	font-family:'Shippori Mincho B1', serif;
	font-weight:400;
	text-align:left;
	background-color:#FCEED1;
	padding-left:22.8%;/*167+80px=247px*/
	margin-left:-15.4%;/*167px*/
	margin-right:calc(50% - 50vw);
	overflow:visible;

}
.about-text p {
	text-align:left;
	border-bottom:1px solid #F0AA19;
	padding-top:1em;
	padding-right:calc( 50vw - 540px + 5% );
	padding-bottom:1em;
}
.about-text p:last-of-type {
	border-bottom:none;
	
}

@media screen and (max-width:767px) {
.about-container {
	display:block;
	padding-top:1.0rem;
}
.about-image {
	width:62.5%;
	margin:0 auto;
}

.about-text {
	padding:2.0rem 8% 3.0rem;

	margin-left:0;
	margin-right:0;
	padding-top:calc(50% + 2.0rem);
	margin-top:-50%;
}
.about-text {
	text-align:center;
}
.about-text p {
	padding-right:0;
}
}






/* Button */
.more {
	display:inline-block;
	font-size:2.0rem;
	font-family:'Noto Sans JP', serif;
	font-weight:700;
	line-height:1;
	margin-top:1.0rem;
}
.more a {
	display:flex;
	justify-content:center;
	align-items:center;
	min-width:22rem;
	height:3.6rem;
	background-color:#F0AA19;
	border-radius:1.8rem;
	text-align:center;
	color:#fff;
	transition:background-color 0.4s ease-out;
}
.more a:hover {
	background-color:#F7D48C;
}

.more-text {
	vertical-align:middle;
	padding-right:0.5rem;
}

.external-link {
	width:2.0rem;
	vertical-align:middle;
	fill:#fff;
}



/*==============================================================
	MESSAGE
==============================================================*/
.message {
	padding:2vw 0;
}
.header-sub {
	margin-top:2.0rem;
}
.message-title {
	display:flex;
	align-items:center;

	font-family:'Bodoni Moda',serif;
	font-weight:500;
	font-size:3.2rem;
	text-align:center;
	letter-spacing:0.1em;
	color:#F0AA19;
		
}
.message-title::before,
.message-title::after {
	content:'';
	display:block;
	flex-grow:1;
	height:1px;
	border-bottom:2px dotted #F0AA19;
}
.message-title::before {
	margin-right:2.5rem;
}
.message-title::after {
	margin-left:2.5rem;
}

.message h3 {
	display:block;
	font-family:'Shippori Mincho B1',serif;
	font-weight:600;
	font-size:1.6rem;
	text-align:center;
	color:#F0AA19;

}



.message-container {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}




.message-container > div {
	width:45%;/*486px*/

	/*display:flex;
	justify-content:space-between;*/
	border-bottom:2px dotted #F0AA19;
	padding:2.0rem 0;
}
.message-container > div:nth-child(2n+1) .grid::after {
	content:'';
	display:block;
	position:absolute;
	top:0;
	right:-11.1%;
	height:100%;
	width:11.1%;/*54px*/
	border-right:2px dotted #F0AA19;
}

.message-container .grid {
	position:relative;
	display:grid;
	grid-template-columns:32.9% 63.7%;
	grid-template-rows:auto auto;
}
.message-portrait {
	grid-column:1 / 2;
	grid-row:1 / 3;
	margin-right:3.4%;
}
.name {
	grid-column:2 / 3;
	grid-row:1 / 2;
}
.message-text {
	grid-column:2 / 3;
	grid-row:2 / 3;
}

.name {
	font-size:1.4rem;
	margin-bottom:1.0rem;
}
.name span {
	font-size:2.1rem;
	font-weight:500;
}




@media screen and (max-width:767px) {
.message-container .grid {
	display:grid;
	grid-template-columns:40% 55%;
	grid-template-rows:auto auto;
}
.message-portrait {
	grid-column:1 / 2;
	grid-row:1 / 2;
}
.name {
	grid-column:2 / 3;
	grid-row:1 / 2;
	align-self:center;
}
.message-text {
	grid-column:1 / 3;
	grid-row:2 / 3;
}
.name span {
	font-size:1.8rem;
}
}






/*==============================================================

	LINE UP

==============================================================*/
.lineup {
	background-color:#C31923;
	padding-top:4vw;
}
.lineup-title {
	color:#fff;
}
.lineup-header h2 {
	color:#fff;

}
.lineup-header p {
	color:#fff;
	text-align:center;
	font-weight:300;
	margin-bottom:1.0rem;
}


.lineup .container {
	filter:drop-shadow(5px 5px 10px rgba(0,0,0,0.5));
	transform:translate3d(0,0,0);
}

.container-wave-top,
.container-wave-bottom {
	line-height:0;


}
.container-wave-top {
	margin-bottom:-1px;
}
.container-wave-bottom {
	margin-top:-1px;
}

.lineup .wave-top,
.lineup .wave-bottom {
	fill:#EDBABD;
	line-height:0;
}



.lineup-list {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	background-color:#EDBABD;
	padding:4.6%;/*50px*/
}

@media screen and (max-width:767px) {
.lineup-list {
	display:block;
}
}
.lineup-list li {

	flex:0 1 47.9%;/*470px*/

	display:flex;
	flex-direction:column;

	margin-bottom:7.5rem;

}
.lineup-list li:last-child {
	margin-left:auto;
	margin-right:auto;
}
.lineup-list li > div {
	position:relative;
}
.lineup-list li a {
	display:block;
	perspective:100.0rem;
}


.lineup-front {
	position:relative;


	background-color:#fff;
	color:#fff;
	z-index:1;
	transform:rotateY(0deg);
	transition:opacity 0.4s cubic-bezier(.34,1.56,.64,1), transform 0.4s cubic-bezier(.34,1.56,.64,1);/*easeOutBack*/
	
	opacity:1;
	backface-visibility:hidden;
	transform-style:preserve-3d;
	
	overflow:hidden;

}
.lineup-front:hover img {
	opacity:0.75;
}
.flip-active .lineup-front {
	opacity:0;
	transform:rotateY(180deg);
	transform:rotateY(179.9deg);
}


.lineup-back {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#F0AA19;
	color:#fff;
	opacity:0;
	transform:rotateY(-180deg);
	transition:opacity 0.4s cubic-bezier(.34,1.56,.64,1), transform 0.4s cubic-bezier(.34,1.56,.64,1);


	backface-visibility:hidden;
	transform-style:preserve-3d;
	overflow:hidden;

	padding:4.2%;

}
.flip-active .lineup-back {
	opacity:1;
	transform:rotateY(0deg);
}

.lineup-front img {
	width:100%;
}

.lineup-front .more,
.lineup-back .more {
	position:absolute;
	right:2%;
	bottom:2%;



	
}
.lineup-front .more > span,
.lineup-back .more > span {
	display:flex;
	justify-content:center;
	align-items:center;
	min-width:22rem;
	height:3.6rem;

	border-radius:1.8rem;
	text-align:center;
	transition:background-color 0.4s ease-out, border 0.4s ease-out;
}
.lineup-front .more > span {
	background-color:#fff;
	border:1px solid #F0AA19;
	color:#F0AA19;
}
.lineup-back .more > span {
	background-color:#F0AA19;
	border:1px solid #fff;
	color:#fff;
}

.lineup-front:hover .more > span {
	border:1px solid #F7D48C;
	color:#F7D48C;
}
.lineup-back .more:hover > span {
	background-color:#F7D48C;
}


/*	Shop
==============================================================*/
.shop dt {
	font-size:2.8rem;
	font-weight:700;
	line-height:1.4;
	margin-bottom:1.0rem;
}
.shop dt span {
	font-size:1.8rem;
}


/*	Menu
==============================================================*/
.menu {
	flex-grow:1;
	/*height:100%;*/
	/*min-height:0%;*/
	text-align:center;
	border-top:1px solid #C31923;
	padding:1.5rem 0;
	margin-top:1.5rem;

	display:flex;
	justify-content:center;
	align-items:center;
}
.menu dt {
	font-family:'Shippori Mincho B1', serif;
	font-weight:700;
	font-size:2.75rem;
	line-height:1.5;
}
.menu .price {
	font-size:2.0rem;
}
@media screen and (max-width:1120px) {
.menu dt {
	font-size:2.4rem;
}
}

/*	Style
==============================================================*/
.style {
	flex-grow:1;
	/*height:100%;*/
	/*min-height:0%;*/
	/*padding-bottom:2.5rem;*/
	border-bottom:1px solid #C31923;
}
.style > dl {
	/*height:100%;*/
}
.style dt {
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:2.0rem;

}
.style dt > span {
	display:flex;
	justify-content:center;
	align-items:center;
	min-width:30.0rem;
	height:3.0rem;
	background-color:#C31923;
	border-radius:1.5rem;
	text-align:center;
	color:#fff;
}
.style dt::before,
.style dt::after {
	content:'';
	display:block;
	flex-grow:1;
	height:1px;
	border-bottom:2px dotted #C31923;
}
.style dt::before {
	margin-right:0.5rem;
}

.style dt::after {
	margin-left:0.5rem;
}

.style dt .note {
	font-size:1.6rem;
	font-weight:400;
}


.style dd {
	/*height:100%;*/
}
.style dd p {
	padding-top:1.5rem;
	padding-bottom:1.5rem;
}





/*==============================================================

	NEWS

==============================================================*/
.news {
	padding-top:3.5vw;
	padding-bottom:3vw;
}
.news-title {
	color:#C31923;
}
.news-title::before,
.news-title::after {
	background-color:#fff;
}

/*	Feed
==============================================================*/
.feed {
	width:75%;
	margin:0 auto;
}
@media screen and (max-width:767px) {
	width:100%;
}

/*	SNS
==============================================================*/

.news .sns {
	display:flex;
	justify-content:center;
	text-align:center;
}
.news .sns a {
	display:flex;
	justify-content:center;
	align-items:center;
	width:4.8rem;
	height:4.8rem;
	background-color:#F0AA19;
	border-radius:50%;
	transition:background-color 0.4s ease-out;
}
.news .sns a:hover {
	background-color:#F7D48C;
}
.news .sns a svg {
	width:50%;
}

.news .sns-ico {
	fill:#fff;
}
.news .sns a:first-child {
	margin-right:1.4vw;
}


/*==============================================================

	EVENTS

==============================================================*/
.events {
	text-align:center;
	background-color:#C31923;
	padding-top:4vw;
}
.events-title {
	color:#fff;
}
.events-header h2 {
	color:#fff;
	margin-bottom:1.0rem;
}


.events .container {
	filter:drop-shadow(5px 5px 10px rgba(0,0,0,0.5));
	transform:translate3d(0,0,0);
}
.events .wave-top,
.events .wave-bottom {
	fill:#F09619;
	line-height:0;
}

/* Events Title */
.stamprally-header,
.hashtag-header {
	display:flex;
	justify-content:center;
	align-items:center;
	padding:2.0rem 2% 0;
}


.stamprally-header::before,
.stamprally-header::after,
.hashtag-header::before,
.hashtag-header::after {
	content:'';
	display:inline-block;
	height:100px;
	flex:2 1 25%;
}
.stamprally-header::before,
.hashtag-header::before {
	background:url('/assets/images/events-orn-l.png') 50% 80% no-repeat;
	background-size:contain;
}
.stamprally-header::after,
.hashtag-header::after {
	background:url('/assets/images/events-orn-r.png') 50% 80% no-repeat;
	background-size:contain;
}

.events h3 {
	display:inline-block;
	flex:0 1 50%;

	font-family:'Shippori Mincho B1', serif;
	font-weight:600;
	font-size:5.0rem;
	line-height:1.4;
	color:#fff;
}
.events h3 span {
	display:inline-block;
}

@media screen and (max-width:1120px) {
.events h3 {
	font-size:4.8rem;
}
}
@media screen and (max-width:767px) {
.stamprally-header::before,
.stamprally-header::after,
.hashtag-header::before,
.hashtag-header::after {
	flex:2 1 15%;
}
.events h3 {
	display:inline-block;
	flex:0 1 70%;
	font-size:3.2rem;
}
}



/* Period */
.event-period {
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:1.8rem;
	margin:3.0rem 0;
}
.event-period span {
	display:flex;
	justify-content:center;
	align-items:center;
	min-width:5.4rem;
	height:2.6rem;
	line-height:1;
	color:#C31923;
	background-color:#fff;
	margin-right:0.5em;

}
.event-text {
	font-family:'Shippori Mincho B1', serif;
	font-weight:500;
	margin-bottom:3.0rem;
}
.event-text span {
	display:inline-block;
	
}
.hashtag .event-text strong {
	color:#F0AA19;
}

/* Present */
.event-present {
	margin-bottom:4.5rem;
}
.event-present p {
	font-family:'Shippori Mincho B1', serif;
	font-size:2.8rem;
	font-weight:700;
}
@media screen and (max-width:767px) {
.event-present p {
	font-size:2.0rem;
}
}

.stamprally .event-present img {
	width:24%;
}

.hashtag .event-present {
	display:flex;
	justify-content:center;
	align-items:center;
	color:#F0AA19;
}
.hashtag .event-present .prize {
	width:7.0rem;
	flex:0 1 7.0rem; 
	margin-right:1.0em;
}


/*	Stamp Rally
==============================================================*/
.stamprally {
	background-color:#F09619;
	color:#fff;
}
.stamprally-container {
	padding:0 8%;
}
@media screen and (max-width:767px) {
.stamprally-container {
	padding:0 2%;
}
}

/* Button */
.entry {
	display:inline-block;
	margin:6.0rem 0;
}
.entry a {
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;

	min-width:50.0rem;
	height:12.0rem;
	
	font-family:'Shippori Mincho B1', serif;
	font-size:2.8rem;
	font-weight:800;
	line-height:1.4;
	color:#fff;
	border:1px solid #fff;
	border-radius:6.0rem;

	background:linear-gradient(90deg, #611923 0%, #C31923 50%, #611923 100%);
	background-position:1%;
	background-size:200% auto;

	transition:0.6s;

}
@media screen and (max-width:767px) {
.entry a {
	font-size:2.0rem;
	min-width:40.0rem;
	height:9.6rem;
	border-radius:4.8rem;
}
}
.entry a:hover {
    background-position:100%;
    opacity:1
}

.entry .external-link {

	width:3.0rem;
	height:3.0rem;
}



/*	Hash Tag
==============================================================*/
.hashtag {
	color:#fff;
	background-color:#763C2F;
	padding-bottom:6.0rem;
}
.hashtag-container {
	padding:0 8%;
}
@media screen and (max-width:767px) {
.hashtag-container {
	padding:0 2%;
}
}

/* How to */
.howto {
	color:#000;
	text-align:center;
	background-color:#fff;
	padding:5% 10%;
	border-radius:18px;
	text-align:center;
}
@media screen and (max-width:767px) {
.howto {
	padding:5%;
}
}
.howto-title {
	display:inline-block;
}
.howto-title span {
	display:flex;
	justify-content:center;
	align-items:center;
	min-width:12.5rem;
	height:3.6rem;
	font-size:2.0rem;
	font-weight:500;
	color:#fff;

	border-radius:1.8rem;
	margin-bottom:1.8rem;
}
.stamprally .howto-title span {
	background-color:#C31923;
}
.hashtag .howto-title span {
	background-color:#763C2F;
}

.step {
	text-align:left;
	margin-bottom:2.5rem;
}
.step li {
	position:relative;
	margin-bottom:1.5rem;
	padding-left:4.0rem;
}

.step .num {
	position:absolute;
	left:0;
	width:3.0rem;
	height:3.0rem;
}
.stamprally .step-num {
	fill:#C31923;
}
.hashtag .step-num {
	fill:#763C2F;
}


.stamprally .step b {
	font-weight:700;
}
.hashtag .step strong {
	font-weight:700;
	color:#F0AA19;
}
.hashtag .step a {
	text-decoration:underline;
}

.step a {
	text-decoration:underline;
}
/* QR 
.step li:nth-child(2) {
	display:flex;
	justify-content:space-between;
}
.step-qr {
	flex:0 0 10rem;
	text-align:right;
}
.step-qr img {
	width:10rem;
	height:10rem;
}
*/


/* Note */
.events .note {
	text-align:left;
	font-size:1.4rem;
	font-weight:300;
	line-height:1.5;
	padding-left:1em;
	text-indent:-1em;
}





/*==============================================================

	HEGURI

==============================================================*/
.heguri {
	text-align:center;
	background-color:#C31923;
}
.heguri-title {
	color:#fff;
}
.heguri-header h2 {
	color:#fff;

}

.heguri-container {
	position:relative;
	padding:2.0rem 20px;
}


.heguri-text {
	width:59.2%;/*640px*/
	line-height:2.5;
	margin:0 auto 4.0rem;
	font-family:'Shippori Mincho B1', serif;
	font-weight:500;
	color:#fff;
}
@media screen and (max-width:767px) {
.heguri-text {
	width:100%;
	margin-top:10.0rem;
}
}

.heguri-text span {
	display:inline-block;
}

.heguri-image {
	filter:drop-shadow(5px 5px 10px rgba(0,0,0,0.5));
}
.heguri-image1 {
	position:absolute;
	width:18.1%;/*196px*/
	top:-7%;
	right:1%;
}
.heguri-image2 {
	position:absolute;
	width:16.8%;/*182px*/
	top:0;
	left:1%;
}
.heguri-image3 {
	position:absolute;
	width:15%;/*162px*/
	right:5%;
	bottom:10%;
}
.heguri-image4 {
	position:relative;
	width:12.7%;/*138px*/
	left:20%;
}
@media screen and (max-width:767px) {
.heguri-image1 {
	width:28%;
}
.heguri-image2 {
	width:26%;
}
.heguri-image3 {
	width:23.1%;
	bottom:5%;
}
.heguri-image4 {
	width:19.7%;
	left:12%;
}
}

.heguri-text,
.heguri-image {
	transform:translateY(50px);
	transform:translate3d(0,50px,0);
	opacity:0;
	transition:transform 0.5s, opacity 0.5s;

}
.heguri-text.show,
.heguri-image.show {
	opacity:1;
	transform:translateY(0);
	transform:translate3d(0,0,0);
}
.heguri-text {
	transition-delay:0.6s
}
.heguri-image1 {
	transition-delay:0.2s
}
.heguri-image2 {
	transition-delay:0.4s
}
.heguri-image3 {
	transition-delay:0.8s
}
.heguri-image4 {
	transition-delay:1.0s
}



/*==============================================================
	Link
==============================================================*/
.link {
	display:flex;
	justify-content:center;
	margin-top:8.0rem;
}
.link > div {
	width:13.8%;/*150px*/
	margin:0 2%;
}
.link a {
	display:block;
	background-color:#fff;
}
.link a img {
	opacity:1;
}
.link a:hover img {
	opacity:0.75;
}
@media screen and (max-width:767px) {
.link > div {
	width:30%;


}
}




/*==============================================================

	Footer

==============================================================*/
.footer {
	position:relative;
	text-align:left;
	color:#fff;
	background-color:#C31923;
	padding:5.0rem 0 4.0rem;
	border-top:3px solid #F0AA19;
	z-index:5;
}
.footer .container {
	position:relative;
	width:100%;
	max-width:calc(1080px + 40px);
	margin:0 auto;
	padding:0 20px;
}
@media screen and (max-width:767px) {
.footer {
	padding-bottom:calc(2.0rem + 17.2%);
}
}


/*==============================================================
	Page top
==============================================================*/
.pagetop {
	position:fixed;
	bottom:2.0rem;
	right:2.0rem;
	width:6.0rem;
	height:6.0rem;
}
.pagetop a {
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:rgba(179, 104, 159, 0.5);
	border-radius:50%;
	visibility:hidden;
	opacity:0;
	transition:opacity 0.5s cubic-bezier(.25,1,.5,1), visible 0.5s cubic-bezier(.25,1,.5,1);/*easeOutQuart*/;
}
.pagetop.is-scroll a {
	visibility:visible;
	opacity:1;
}


/*==============================================================
	Footer Contact
==============================================================*/
.contact-title {
	display:inline-block;

}
.contact-title span {
	display:flex;
	justify-content:center;
	align-items:center;
	height:3.0rem;
	min-width:13.0rem;
	border:1px solid #fff;
	border-radius:1.5rem;
}
.contact dt {
	font-size:2.0rem;
	font-weight:500;
	padding:1.0rem 0 0.5rem;
}

@media screen and (max-width:767px) {
.footer_contact-title {
	font-size:2.2rem;
}
.footer_address {
	font-size:1.6rem;
}
}

/*==============================================================
	Footer Info
==============================================================*/
.footer_info {
	padding:3.0rem 0 2.0rem;
	margin:0 auto;
}

/* Copyright */
.copyright {
	font-size:1.2rem;
	text-align:right;
}
@media screen and (max-width:767px) {
.copyright {
	text-align:left;
}
}
















/*==============================================================

	News

==============================================================*/
/*==============================================================
	News List
==============================================================*/
.news-list {
	max-width:1170px;
	display:flex;
	flex-wrap:wrap;
	/*justify-content:space-between;*/
	padding:0 5%;
}
.news-list li {
	flex:0 1 33.3%;
	padding:1.5% 3.8% 1.5%;
	margin-bottom:4.0rem;
}
.entry-tmb {
	overflow:hidden;
}
.entry-tmb-inner {
	background-position:50% 50%;
	background-size:cover;
	padding-top:60%;
	transition:transform 0.3s ease-out;
}
.entry-tmb:hover .entry-tmb-inner {
	transform:scale(1.1);
}
.entry-date {
	margin:1.0rem 0 0.5rem;
}
.entry-title {
	font-size:2.0rem;
	font-weight:600;
	line-height:1.4;
}

@media screen and (max-width:1024px) {
.news-list li {
	flex:0 1 50%;
}
.news-list {
	/*flex-direction:column;*/
}
}



/*==============================================================

	Loading

==============================================================*/
#loading {
	display:flex;
	justify-content:center;
	align-items:center;
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	background:#C31923;
	z-index:9999; 
	transition:all 0.6s ease 0.75s;
}
.loading_logo {
	width:120px;
	transition:all 0.6s ease 0.5s;
}

.loading_logo {
  animation:rotation 4.0s linear infinite;
}
@keyframes rotation {
  0% {
    transform:rotate(0deg);
  }
  100% {
    transform:rotate(360deg);
  }
}


@media screen and (max-width:767px) {
.loading_logo {
	width:120px;
}
}

.ready #loading,
.ready .loading_logo {
	opacity:0;
	visibility:hidden;

}


/*==============================================================

	Not Found

==============================================================*/
.not-found {
	padding:8em 0 4em;
}


/*==============================================================

	for IE

==============================================================*/
.for-ie {
	display:none;
}
.ie #loading,
.ie main,
.ie footer {

	display:none;
	

}
.ie .for-ie {
	display:block;
}