@charset "utf-8";


/* General
--------------------- */

/* reset */
html{height:100%;overflow-y:scroll;width:100%}body{height:100%;margin:0;overflow:visible;padding:0;vertical-align:top;width:100%}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;margin:0}p{margin:0}a img,img{border:0;vertical-align:middle}strong{font-style:normal;font-weight:bold}small{font-size:100%}ol,ul{list-style-type:none}dd,dl,dt,li,ol,ul{margin:0;padding:0}hr{background-color:#CCCCCC;border:0;color:#CCCCCC;height:1px;margin:0;padding:0}table{border-collapse:collapse;border-spacing:0;font-size:100%}th{font-style:normal;font-weight:normal;margin:0;padding:0;text-align:left}td{margin:0;padding:0}blockquote,div,span{margin:0;padding:0}pre{font-family:monospace;line-height:1.0;margin:0;padding:0}button{background:0;border:0;cursor:pointer;padding:0}button,fieldset,form,input,label,legend,select,textarea{font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit;margin:0;padding:0;vertical-align:middle}label{cursor:pointer}textarea{resize:vertical}* html textarea{margin-top:-2px}*:first-child+html textarea{margin-top:-2px}abbr,acronym{border:0}address,caption,cite,code,dfn,em,var{font-style:normal;font-weight:normal}caption{text-align:left}code,kbd,pre,samp,tt{font-family:monospace;line-height:1.0}*+html code,*+html kbd,*+html pre,*+html samp,*+html tt{font-size:108%}q:after,q:before{content:''}article,aside,audio,canvas,details,figcaption,figure,footer,header,hgroup,mark,menu,nav,section,summary,time,video{background:transparent;border:0;font-size:100%;margin:0;outline:0;padding:0;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}

html {
	color: #000;
	font-size: 16px;
	font-size: 1.11vw;
	-webkit-text-size-adjust: 100%;
	    -ms-text-size-adjust: 100%;
}

@media (max-width: 768px) and (orientation: portrait) {
	html {
		font-size: 4.26vw;
	}
}

html * {
	font-family: "Rounded Mplus 1c", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-weight: 900;
	font-kerning: normal;
  font-feature-settings: "palt";
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

body {
	background: #fff;
}

body * {
	-webkit-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}



/* common
--------------------- */
a {
	color: #f70685;
  outline: 0;
  text-decoration: underline;
  cursor: pointer;
}

a:visited { text-decoration: none;}
a:hover { text-decoration: none;}
a:focus { text-decoration: none;}
a:active { text-decoration: none;}

br {
  font-size: 0 !important;
}

.horizontal {
  display: inline;
}

.vertical {
  display: none;
}

@media (max-width: 768px) and (orientation: portrait) {
  .horizontal {
    display: none;
  }

  .vertical {
    display: inline;
  }
}

.roundedmplus1c {
	font-family: "Rounded Mplus 1c";
}

.txt {
	letter-spacing: 0.05em;
	line-height: 1.6;
}

.txt em {
	color: #f70685;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
}

@media (max-width: 768px) and (orientation: portrait) {
	.txt {
		line-height: 1.5;
	}
}


.btn.link {
	display: inline-block;
	color: #fff;
	font-size: 100%;
	line-height: 1;
	text-decoration: none;
	background: #f70685;
	background: -moz-linear-gradient(0deg, #f70685 0%, #de0578 100%);
  background: -webkit-linear-gradient(0deg, #f70685 0%,#de0578 100%);
  background: linear-gradient(180deg, #f70685 0%,#de0578 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f70685', endColorstr='#de0578', GradientType=1 );
	border-radius: 5em;
	padding: 0.4em 3em 0.4em 3.5em;
	position: relative;
}

a.btn.link:hover {
	opacity: 0.5;
}

.btn.link:before {
	content: "";
	display: block;
	width: 1.3em;
	height: 1.3em;
	background-color: #c20066;
	border-radius: 50%;
	margin: auto 0;
	position: absolute;
	left: 0.25em;
	top: 0;
	bottom: 0;
}

.btn.link:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border: 0.2em solid transparent;
	border-left: 0.4em solid #fff;
	margin: auto 0;
	position: absolute;
	left: 0.76em;
	top: 0;
	bottom: 0;
}



.btn.more {
	display: inline-block;
	color: #f70685;
	font-size: 100%;
	line-height: 1;
	text-decoration: none;
	background: #ffd7ec;
	border-radius: 5em;
	padding: 0.4em 3em 0.4em 3.5em;
	position: relative;
}

.btn.more:hover {
	opacity: 0.5;
}

.btn.more:before {
	content: "";
	display: block;
	width: 1.3em;
	height: 1.3em;
	background-color: #f70685;
	border-radius: 50%;
	margin: auto 0;
	position: absolute;
	left: 0.25em;
	top: 0;
	bottom: 0;
}

.btn.more:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border: 0.2em solid transparent;
	border-top: 0.4em solid #fff;
	margin: auto 0;
	position: absolute;
	left: 0.725em;
	top: 0.2em;
	bottom: 0;
}


@media (max-width: 768px) and (orientation: portrait) {
	.btn.link,
	.btn.more {
		font-size: 87.5%;
	}
}




/* #layout
--------------------- */
#layout {
	background: url(../img/bg_layout.png) 0% 0% repeat;
	width: 100%;
	overflow: hidden;
}




/* #layout > footer
--------------------- */
#layout > footer {
	background: #f70685;
	display: table;
	padding: 15px 0 13px 32px;
	width: 100%;
}

#layout > footer > div {
	display: table-row;
}

#layout > footer .footer--col {
	display: table-cell;
	vertical-align: middle;
}

#layout > footer .footer--col__1 {
	width: 121px;
}

#layout > footer .footer--col__2 {
	text-align: left;
}

#layout > footer .footer--logo img {
	width: 91px;
}

#layout > footer .footer--copyright {
	color: #fff;
	font-size: 62.5%;
	line-height: 1.4 !important;
}

@media (max-width: 768px) and (orientation: portrait) {
	#layout > footer {
		display: block;
		padding: 25px 0 17px;
	}
	
	#layout > footer > div {
		display: block;
	}
	
	#layout > footer .footer--col {
		display: block;
		text-align: center;
	}
	
	#layout > footer .footer--col__1 {
		margin-bottom: 21px;
		width: 100%;
	}

	#layout > footer .footer--col__2 {
		text-align: center;
	}
	
	#layout > footer .footer--logo img {
		width: 89px;
	}

	#layout > footer .footer--copyright {
		font-size: 62.5%;
		line-height: 1.8 !important;
	}
}

@media (max-width: 320px) and (orientation: portrait) {
	#layout > footer .footer--copyright {
		font-size: 50%;
	}
}


/* #header
--------------------- */
#header {
	background: url(../img/header_bg_h@1x.jpg) 0% 0% no-repeat;
	-webkit-background-size: 100% 100%;
	        background-size: 100% 100%;
	height: 63.5vw;
	width: 100%;
	position: relative;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	#header {
		background-image: url(../img/header_bg_h@2x.jpg);
	}
}

@media (max-width: 768px) and (orientation: portrait) {
	#header {
		background-image: url(../img/header_bg_v@1x.jpg);
		height: 176vw;
	}

	@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
		#header {
			background-image: url(../img/header_bg_v@2x.jpg);
		}
	}
}


#header:after {
	content: "";
	display: block;
	width: 12.6%;
	padding-top: 16.8%;
	margin-left: 9%;
	background: url(../img/header_bear@1x.png) center center no-repeat;
	background-size: contain;
	position: absolute;
	left: 0;
	bottom: 0;
	-webkit-transform: translateY(5%);
	   -moz-transform: translateY(5%);
	    -ms-transform: translateY(5%);
	     -o-transform: translateY(5%);
	        transform: translateY(5%);
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	#header:after {
		background-image: url(../img/header_bear@2x.png);
	}
}

@media (max-width: 768px) and (orientation: portrait) {
	#header:after {
		width: 24.75%;
		padding-top: 33%;
		margin-left: 6%;
		-webkit-transform: translateY(11%);
		   -moz-transform: translateY(11%);
		    -ms-transform: translateY(11%);
		     -o-transform: translateY(11%);
		        transform: translateY(11%);
	}
}



#header #logo {
	padding: 2.46vw 0 0.75vw 2.96vw;
}

#header #logo img {
	height: auto;
	width: 11.57vw;
}

@media (max-width: 768px) and (orientation: portrait) {
	#header #logo {
		padding: 14.4vw 0 4vw;
		text-align: center;
	}

	#header #logo img {
		width: 29.6vw;
	}
}

#header img {
	width: 100%;
}

#header .header--message {
	display: block;
	width: 69.2%;
	padding-top: 23.6%;
	margin: 0 auto;
	position: relative;
}

#header .header--message--board {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

#header .header--message--body {
	display: table;
	width: 100%;
	height: 100%;
}

#header .header--message--body p.txt {
	display: table-cell;
	width: 100%;
	height: 100%;
	font-size: 1.25em;
	text-align: center;
	vertical-align: middle;
}

@media (max-width: 768px) and (orientation: portrait) {
	#header .header--message {
		width: 92%;
		padding-top: 74%;
	}

	#header .header--message--body p.txt {
		font-size: 87.5%;
	}
}



/* #contents
--------------------- */
#contents {
	text-align: center;
}





/* #campaign
--------------------- */
#campaign {
}

#campaign .campaign--title {
	width: 60%;
	margin: 0 auto 1%;
}

#campaign .campaign--title img {
	width: 100%;
	height: auto;
}

@media (max-width: 768px) and (orientation: portrait) {
	#campaign .campaign--title {
		width: 78.6%;
		margin-bottom: 4%;
	}
}





/* .campaign board
--------------------- */
.campaign--board {
	background: url(../img/top_campaign_bg_05.png) 0% 0% repeat;
	-webkit-background-size: 303px 303px;
	        background-size: 303px 303px;
	-webkit-box-shadow: inset 0 0 0.1vw 1.2vw rgba(0,0,0,0.5);
	        box-shadow: inset 0 0 0.1vw 1.2vw rgba(0,0,0,0.5);
	margin: 0 auto;
	max-width: 85.71%;
}

@media (max-width: 768px) and (orientation: portrait) {
	.campaign--board {
		background-image: url(../img/top_campaign_bg_05@1x.png);
		-webkit-background-size: 125px 125px;
				background-size: 125px 125px;
		-webkit-box-shadow: inset 0 0 0.2vw 2.6vw rgba(0,0,0,0.3);
				box-shadow: inset 0 0 0.2vw 2.6vw rgba(0,0,0,0.3);
		max-width: 92%;
	}

	@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
		.campaign--board {
			background-image: url(../img/top_campaign_bg_05@2x.png);
		}
	}
}

.campaign--board > div {
	background: url(../img/top_campaign_bg_01.png) 0% 0% repeat-x, url(../img/top_campaign_bg_02.png) 0% 100% repeat-x, url(../img/top_campaign_bg_03.png) 0% 0% repeat-y, url(../img/top_campaign_bg_04.png) 100% 0% repeat-y;
	-webkit-background-size: 100% auto, 100% auto, 1.45% auto, 1.45% auto;
	        background-size: 100% auto, 100% auto, 1.45% auto, 1.45% auto;
	margin: 0 auto;
	padding: 4.66% 3.16% 4.16% 3.25%;
	position: relative;
}
@media (max-width: 768px) and (orientation: portrait) {
	.campaign--board > div {
		background: url(../img/top_campaign_bg_01@1x.png) 0% 0% repeat-x, url(../img/top_campaign_bg_02@1x.png) 0% 100% repeat-x, url(../img/top_campaign_bg_03@1x.png) 0% 0% repeat-y, url(../img/top_campaign_bg_04@1x.png) 100% 0% repeat-y;
		-webkit-background-size: 100% auto, 100% auto, 2.17% auto, 2.17% auto;
				background-size: 100% auto, 100% auto, 2.17% auto, 2.17% auto;
		padding: 5.5% 5.94% 8.11% 6.23%;
	}

	@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
		.campaign--board > div {
			background: url(../img/top_campaign_bg_01@2x.png) 0% 0% repeat-x, url(../img/top_campaign_bg_02@2x.png) 0% 100% repeat-x, url(../img/top_campaign_bg_03@2x.png) 0% 0% repeat-y, url(../img/top_campaign_bg_04@2x.png) 100% 0% repeat-y;
			-webkit-background-size: 100% auto, 100% auto, 2.17% auto, 2.17% auto;
					background-size: 100% auto, 100% auto, 2.17% auto, 2.17% auto;
		}
	}
}

.campaign--board--ico {
	left: -0.64vw;
	position: absolute;
	top: -0.64vw;
	z-index: 1;
}

.campaign--board--ico img {
	height: auto;
	width: 12.78vw;
}

@media (max-width: 768px) and (orientation: portrait) {
	.campaign--board--ico {
		left: -1.2vw;
		top: -1.2vw;
	}

	.campaign--board--ico img {
		width: 23.86vw;
	}
}

.campaign--row:before,
.campaign--row:after {
	content: "";
	display: table;
}

.campaign--row:after {
	clear: both;
}

.campaign--row {
	zoom: 1;
}

.campaign--item {
	background: url(../img/top_campaign_bg_06.png) 0% 0% no-repeat;
	-webkit-background-size: 100% auto;
	        background-size: 100% auto;
	float: left;
	margin: 0 1.52% 2.67% 0;
	width: 32.32%;
	position: relative;
}

.campaign--item.end:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url(../img/top_ico_end.png) center center no-repeat;
	-webkit-background-size: contain;
	        background-size: contain;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

.campaign--item--title {
	display: table;
	width: 100%;
	height: 5em;
}

.campaign--item--title > strong {
	display: table-cell;
	width: 100%;
	height: 100%;
	font-size: 1.25em;
	text-align: center;
	vertical-align: middle;
}

.campaign--item--title > strong > span {
	font-size: 75%;
}

.campaign--item--title > strong > em {
	font-size: 70%;
}

.campaign--item.end .campaign--item--title * {
	color: #888;
}


@media (max-width: 768px) and (orientation: portrait) {
	.campaign--item {
		background-image: url(../img/top_campaign_bg_06@1x.png);
		float: none;
		margin: 0 0 2.8vw;
		width: 100%;
	}

	.campaign--item--title {
		height: 4em;
	}

	.campaign--item--title > strong {
		font-size: 100%;
	}

	@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
		.campaign--item {
			background-image: url(../img/top_campaign_bg_06@2x.png);
		}
	}
}

.campaign--item img {
	width: 100%;
}

.campaign--row__2 {
	padding: 0 16.91%;
}

.campaign--row__2 .campaign--item {
	margin: 0 2.29% 0 0;
	width: 48.85%;
}

@media (max-width: 768px) and (orientation: portrait) {
	.campaign--row__2 {
		padding: 0;
	}

	.campaign--row__2 .campaign--item {
		margin: 0 0 2.67% 0;
		width: 100%;
	}
}

.campaign--item:last-child {
	margin-right: 0;
}

.campaign--item--fig {
	position: relative;
}

.campaign--item--btn {
	margin-bottom: 6.47%;
}

.campaign--item.end .campaign--item--btn {
	background: #bbb;
	background: -moz-linear-gradient(0deg, #bebebe 0%, #b8b8b8 100%);
  background: -webkit-linear-gradient(0deg, #bebebe 0%,#b8b8b8 100%);
  background: linear-gradient(180deg, #bebebe 0%,#b8b8b8 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bebebe', endColorstr='#b8b8b8', GradientType=1 );
}

.campaign--item.end .campaign--item--btn:before {
	background-color: #afafaf;
}





/* movie
--------------------- */
#movie {
	width: 100%;
	margin-top: 5%;
}

#movie .movie--title {
	width: 49%;
	margin: 0 auto;
}

#movie .movie--title img {
	width: 100%;
	height: auto;
}

#movie .movie--copy {
	display: block;
	width: 100%;
	margin: 0.5em 0 4%;
	position: relative;
}

#movie .movie--copy p.txt {
	font-size: 1.25em;
	margin-bottom: 0.6em;
	position: relative;
	z-index: 1;
}

#movie .movie--copy:before,
#movie .movie--copy:after {
	content: "";
	display: block;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	z-index: 0;
}

#movie .movie--copy:before {
	width: 11%;
	padding-top: 20%;
	background-image: url(../img/movie_bg_hanabi_01@1x.png);
	left: 10%;
	bottom: -5em;
}

#movie .movie--copy:after {
	width: 18%;
	padding-top: 32%;
	background-image: url(../img/movie_bg_hanabi_02@1x.png);
	right: 6%;
	bottom: -4em;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	#movie .movie--copy:before {
		background-image: url(../img/movie_bg_hanabi_01@2x.png);
	}

	#movie .movie--copy:after {
		background-image: url(../img/movie_bg_hanabi_02@2x.png);
	}
}


#movie .movie--board {
	width: 100%;
	height: 43.4vw;
	padding-top: 5%;
	background: url(../img/movie_bg_h@1x.png) center center no-repeat;
	-webkit-background-size: contain;
	        background-size: contain;
	position: relative;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	#movie .movie--board {
		background-image: url(../img/movie_bg_h@2x.png);
	}
}

#movie .movie--video {
	width: 50.7%;
	padding-top: 28.518%;
	margin: 0 auto;
	position: relative;
}

#movie .movie--video > iframe {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

#movie .movie--notes {
	display: inline-block;
	border-radius: 30em;
	background: url(../img/bg_layout.png) 0% 0% repeat;
	padding: 2em 3em;
	margin-top: -3em;
	position: relative;
}

#movie .movie--notes dt {
	font-size: 1.125em;
	margin-bottom: 1em;
}

#movie .movie--notes dt > span {
	font-size: 80%;
}

#movie .movie--notes dd.txt {
	font-size: 87.5%;
	font-weight: 700;
}

#movie .movie--notes dd.txt a {
	font-weight: 900;
}

#movie .movie--notes a.btn.link {
	margin-top: 1em;
}

@media (max-width: 768px) and (orientation: portrait) {
	#movie {
		position: relative;
	}

	#movie .movie--title {
		width: 77%;
	}

	#movie .movie--copy {
		margin-bottom: 8%;
	}

	#movie .movie--copy p.txt {
		font-size: 87.5%;
	}

	#movie .movie--copy:before {
		width: 16.5%;
		padding-top: 30%;
		left: 1%;
		bottom: -2.5em;
	}

	#movie .movie--copy:after {
		width: 27%;
		padding-top: 48%;
		right: -3%;
		bottom: -3em;
	}

	#movie .movie--board {
		height: 72.2vw;
		background-image: url(../img/movie_bg_v@1x.png);
		padding-top: 10%;
	}

	@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
		#movie .movie--board {
			background-image: url(../img/movie_bg_v@2x.png);
		}
	}

	#movie .movie--video {
		width: 83.2%;
		padding-top: 46.8%;
	}

	#movie .movie--notes {
		border-radius: 3em;
		padding: 1.5em 4%;
		margin-top: -1em;
	}

	#movie .movie--notes dt {
		font-size: 100%;
	}

	#movie .movie--notes dt > span {
		display: block;
	}

	#movie .movie--notes dd.txt {
		font-size: 68.75%;
	}
}

@media (max-width: 320px) and (orientation: portrait) {
	#movie .movie--notes dd.txt {
		font-size: 62.5%;
	}
}



/* #relay
--------------------- */
#relay {
	width: 100%;
	padding-bottom: 2%;
	background: url(../img/relay_heading_bg_h@1x.png) center top no-repeat;
	-webkit-background-size: 100% auto;
	        background-size: 100% auto;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	#relay {
		background-image: url(../img/relay_heading_bg_h@2x.png);
	}
}

@media (max-width: 768px) and (orientation: portrait) {
	#relay {
		background-image: url(../img/relay_heading_bg_v@1x.jpg);
	}

	@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
		#relay {
			background-image: url(../img/relay_heading_bg_v@2x.jpg);
		}
	}
}

#relay .relay--title {
	width: 44.6%;
	margin: 0 auto 3.4%;
}

#relay .relay--title img {
	width: 100%;
	height: auto;
}

#relay .relay--title-sub {
	width: 75%;
	color: #fff;
	font-size: 1.5em;
	background-color: #f70685;
	border-radius: 10em;
	box-shadow: 1px 1px 0 0 rgba(0,0,0,0.3);
	padding: 0.1em 0;
	margin: 0 auto;
}

#relay .relay--bestaward .relay--title-sub,
#relay .relay--award .relay--title-sub {
	padding-left: 2em;
}

#relay .relay--title-sub > span {
	display: inline-block;
	font-size: 70%;
	vertical-align: middle;
}

#relay .relay--title-sub > span:before {
	content: "［";
	font-weight: 400;
	margin-right: 0.1em;
}

#relay .relay--title-sub > span:after {
	content: "］";
	font-weight: 400;
	margin-left: 0.1em;
}


@media (max-width: 768px) and (orientation: portrait) {
	#relay .relay--title {
		width: 83%;
		margin-bottom: 5%;
	}

	#relay .relay--title-sub {
		width: 80%;
		font-size: 100%;
		padding-top: 0.15em;
	}
}

#relay .campaign--board > div {
	padding-bottom: 1.4%;
}

@media (max-width: 768px) and (orientation: portrait) {
	#relay .campaign--board > div {
		padding-top: 10%;
		padding-bottom: 4%;
	}
}

#relay .relay--bestaward {
	text-align: center;
}

#relay .relay--bestaward:before {
	content: "";
	display: block;
	width: 54%;
	padding-top: 22%;
	background: url(../img/relay_award_confetti@1x.png) center top no-repeat;
	-webkit-background-size: 100% auto;
	        background-size: 100% auto;
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 3;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	#relay .relay--bestaward:before {
		background-image: url(../img/relay_award_confetti@2x.png);
	}
}

@media (max-width: 768px) and (orientation: portrait) {
	#relay .relay--bestaward:before {
		width: 90%;
		padding-top: 36%;
		margin-top: 2%;
	}
}


#relay .relay--message {
	width: 22%;
	position: absolute;
	right: 0;
	bottom: 8%;
	z-index: 4;
	-webkit-transform: translateX(65%);
	   -moz-transform: translateX(65%);
	    -ms-transform: translateX(65%);
	     -o-transform: translateX(65%);
	        transform: translateX(65%);
}

#relay .relay--message .bear {
	width: 100%;
	height: auto;
}

#relay .relay--message .message {
	display: block;
	width: 180%;
	height: auto;
	position: absolute;
	right: 0;
	top: 0;
	-webkit-transform: translate(75%,-80%);
	   -moz-transform: translate(75%,-80%);
	    -ms-transform: translate(75%,-80%);
	     -o-transform: translate(75%,-80%);
	        transform: translate(75%,-80%);
}

#relay .relay--bestaward .photo--item {
	margin-top: 5%;
}

@media (max-width: 768px) and (orientation: portrait) {
	#relay .relay--message {
		width: 24%;
		right: 0;
		top: 5%;
		bottom: auto;
		-webkit-transform: translate(65%,-60%);
		   -moz-transform: translate(65%,-60%);
		    -ms-transform: translate(65%,-60%);
		     -o-transform: translate(65%,-60%);
		        transform: translate(65%,-60%);
	}

	#relay .relay--message .message {
		width: 140%;
		right: 0;
		-webkit-transform: translate(30%,-100%);
		   -moz-transform: translate(30%,-100%);
		    -ms-transform: translate(30%,-100%);
		     -o-transform: translate(30%,-100%);
		        transform: translate(30%,-100%);
	}

	#relay .relay--bestaward .photo--item {
		margin-top: 12%;
	}
}



#relay .relay--award {
	margin-top: 4%;
}

#relay .relay--award .photo--item {
	margin-top: 4%;
}

@media (max-width: 768px) and (orientation: portrait) {
	#relay .relay--award {
		margin-top: 12%;
	}

	#relay .relay--award .photo--item {
		margin-top:  8%;
	}
}



#relay .relay--list {
	max-width: 85.71%;
	margin: 6% auto;
}

@media (max-width: 768px) and (orientation: portrait) {
	#relay .relay--list {
		max-width: 92%;
		margin: 12% auto;
	}
}



/* .photo item
--------------------- */
.photo--item > li {
	display: inline-block;
	border-radius: 0.3125em;
	background-color: #fff;
	box-shadow: 1px 2px 2px 0 rgba(0,0,0,0.4);
	position: relative;
}

.photo--item.bestaward > li {
	width: 35%;
	text-align: center;
}

.photo--item.bestaward > li:before {
	content: "";
	display: block;
	width: 52%;
	padding-top: 52%;
	border-radius: 50%;
	background-color: #fff;
	margin: -8% auto 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
}

.photo--item.bestaward > li:after {
	content: "";
	display: block;
	width: 32%;
	padding-top: 18%;
	background: url(../img/ico_award_ribbon@1x.png) center top no-repeat;
	-webkit-background-size: contain;
	        background-size: contain;
	margin: -10% auto 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 2;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	.photo--item.bestaward > li:after {
		background-image: url(../img/ico_award_ribbon@2x.png);
	}
}

@media (max-width: 768px) and (orientation: portrait) {
	.photo--item.bestaward > li {
		width: 74%;
	}
}

.photo--item.award {
	text-align: left;
}

.photo--item.award > li {
	width: 17.6%;
	margin: 0 1.2% 2.4%;
}

.photo--item.award > li:before {
	content: "";
	display: block;
	width: 7.6%;
	padding-top: 14.4%;
	background: url(../img/ico_pin_01@1x.png) center top no-repeat;
	-webkit-background-size: contain;
	        background-size: contain;
	margin: 0 auto 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 2;
	-webkit-transform: translate(48%,-48%);
	   -moz-transform: translate(48%,-48%);
	    -ms-transform: translate(48%,-48%);
	     -o-transform: translate(48%,-48%);
	        transform: translate(48%,-48%);
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	.photo--item.award > li:before {
		background-image: url(../img/ico_pin_01@2x.png);
	}
}

@media (max-width: 768px) and (orientation: portrait) {
	.photo--item.award > li {
		width: 44%;
		margin: 0 3% 6%;
	}
}

.photo--item.list {
	text-align: left;
	padding: 0 0.2%;
	margin-top: 4%;
}

.photo--item.list > li {
	width: 14%;
	margin: 0 1.3% 2.6%;
}

.photo--item.list > li:nth-of-type(n+13) {
	display: none;
}

.photo--item.list.all > li:nth-of-type(n+13) {
	display: inline-block;
	-webkit-animation: fadein 0.3s both;
	   -moz-animation: fadein 0.3s both;
	    -ms-animation: fadein 0.3s both;
	     -o-animation: fadein 0.3s both;
	        animation: fadein 0.3s both;
}

@keyframes fadein {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

.photo--item.list > li:before {
	content: "";
	display: block;
	width: 5%;
	padding-top: 8%;
	background: url(../img/ico_pin_02@1x.png) center top no-repeat;
	-webkit-background-size: contain;
	        background-size: contain;
	margin: 0 auto 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 2;
	-webkit-transform: translate(50%,-40%);
	   -moz-transform: translate(50%,-40%);
	    -ms-transform: translate(50%,-40%);
	     -o-transform: translate(50%,-40%);
	        transform: translate(50%,-40%);
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	.photo--item.list > li:before {
		background-image: url(../img/ico_pin_02@2x.png);
	}
}

@media (max-width: 768px) and (orientation: portrait) {
	.photo--item.list {
		padding: 0 0.5%;
		margin-top: 6%;
		margin-bottom: 2%;
	}

	.photo--item.list > li {
		width: 30%;
		margin: 0 1.5% 3%;
	}
}



.photo--item a {
	display: block;
	width: 92%;
	border-radius: 0.125em;
	padding-top: 92%;
	margin: 4%;
	position: relative;
	overflow: hidden;
	cursor: default;
}

.photo--item a[href] {
	cursor: pointer;
}

.photo--item a[href]:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.1);
	opacity: 0;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

.photo--item a[href]:hover:before {
	opacity: 1;
}

.photo--item a:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0.125em;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,0.1);
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}

.photo--item a > div {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
}

.photo--item a > img {
	width: auto;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	-webkit-transform: translateX(-50%);
	   -moz-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	     -o-transform: translateX(-50%);
	        transform: translateX(-50%);
}





/* #sns
--------------------- */
#sns {
	width: 100%;
	padding-bottom: 14.4%;
	background: url(../img/sns_bg_h@1x.png) center bottom no-repeat;
	-webkit-background-size: 100% auto;
	        background-size: 100% auto;
}


@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	#sns {
		background-image: url(../img/sns_bg_h@2x.png);
	}
}

#sns .sns--title {
	width: 32%;
	margin: 0 auto 1.4%;
}

#sns .sns--title img {
	width: 100%;
	height: auto;
}

#sns .sns--account {
	display: inline-block;
	background-color: #fff;
	border-radius: 60em;
	padding: 2.8em;
	position: relative;
}

#sns .sns--account:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border: 0.8em solid transparent;
	border-top: 1.3em solid #fff;
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2em;
}

#sns .sns--account > li {
	display: inline-block;
}

#sns .sns--account > li + li {
	margin-left: 2em;
}

#sns .sns--account .sns--icon {
	display: inline-block;
	width: 3.6em;
	vertical-align: middle;
	margin-right: 0.8em;
}

#sns .sns--account .sns--icon > img {
	width: 100%;
	height: auto;
}

#sns .sns--account > li a {
	display: inline-block;
	color: #000;
	font-size: 1.4em;
	text-decoration: none;
	text-align: left;
	vertical-align: middle;
	margin-top: -0.4em;
}

#sns .sns--account > li a > span {
	font-size: 75%;
	margin-right: 0.2em;
}

#sns .sns--account > li a > em {
	font-size: 125%;
}

#sns .sns--account > li a > i.arrow {
	display: inline-block;
	width: 1.3em;
	height: 1.3em;
	font-size: 1rem;
	background-color: #f70685;
	border-radius: 50%;
	margin-left: 0.4em;
	margin-top: -0.18em;
	vertical-align: middle;
	position: relative;
}

#sns .sns--account > li a > i.arrow:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border: 0.2em solid transparent;
	border-left: 0.4em solid #fff;
	margin: auto;
	position: absolute;
	left: 0.3em;
	right: 0;
	top: 0;
	bottom: 0;
}

@media (max-width: 768px) and (orientation: portrait) {
	#sns {
		padding-bottom: 38.6%;
		background-image: url(../img/sns_bg_v@1x.png);
	}

	@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
		#sns {
			background-image: url(../img/sns_bg_v@2x.png);
		}
	}

	#sns .sns--title {
		width: 72%;
		margin-bottom: 2.4%;
	}

	#sns .sns--account {
		text-align: left;
		border-radius: 1.6em;
		padding: 1.6em;
	}

	#sns .sns--account:after {
		border: 0.6em solid transparent;
		border-top: 1em solid #fff;
		bottom: -1.5em;
	}

	#sns .sns--account > li {
		display: block;
	}

	#sns .sns--account > li + li {
		margin-left: 0;
		margin-top: 1em;
	}

	#sns .sns--account .sns--icon {
		width: 2.6em;
		margin-right: 0.8em;
	}

	#sns .sns--account > li a {
		font-size: 100%;
		margin-top: -0.4em;
	}

	#sns .sns--account > li a > i.arrow {
		font-size: 0.75rem;
	}
}



