@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Pacifico');
html {
	font-size: 62.5%;
}
body {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-size: 12px;
}
.bgNoPattern {
	background-color: #ffffff;
}
#contentsWrapper .fontJp {
	font-family: "heisei-maru-gothic-std",sans-serif;
}
#contentsWrapper .fontEn {
	font-family: 'Pacifico', cursive;
}
#contentsWrapper a {
	color: #f73d76;
	text-decoration: none;
	transition: all 300ms linear;
}
#contentsWrapper a:hover {
	color: #f00;
}
#contentsWrapper .btn a {
	display: block;
	width: 95%;
	margin: 1.3em auto;
	padding: 0.75em 0;
	color: #fff;
	background-color: #fb90b0;
	border-radius: 4px;
	transition: all 200ms linear;
}
#contentsWrapper .btn a:hover {
	margin: 1.6em auto 1em;
	text-decoration: none;
}
img.cover {
	width: 100%;
	height: auto;
}
img.cover2 {
	width: 85%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 800px){
	img.cover2 {
		width: 100%;
		height: auto;
	}
}
#loaderBase {
	display: none;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0px;
	left: 0px;
	background-color: #fff;
	z-index: 200;
}
.init {
	opacity: 0;
	-webkit-transform: translateY(20px);
	transform: translateY(20px);
}
.preload {
	display: none;
}
.dispWide {
	display: block;
}
.dispNarrow {
	display: none;
}
.alignCenter {
	text-align: center;
}
h1 .fontEn {
	display: block;
}
.alignCenter {
	text-align: center;
}
.alignLeft {
	text-align: left;
}
.marginTop1em{
	margin-top: 1em;
}
.marginTop2em{
	margin-top: 2em;
}
.textIndent {
	margin-left: 1em;
	text-indent: -1em;
}
.textBrown {
	color: #67081f!important;
}
.textPink {
	color: #f73d76;
}
.textRed {
	color: #f00;
}
.textBold {
	font-weight: bold;
}
.textNormal {
	font-weight: normal;
}
.textXXLarge {
	font-size: 44px;
	letter-spacing: 0.04em;
}
.textXXLarge .icon {
	width: auto;
	height: 44px;
}
.textXLarge {
	font-size: 30px;
}

#about .textXLarge {
	font-size: 34px;
}
.textXLarge .icon {
	width: 30px;
	height: 30px;
	vertical-align: bottom;
}
.textLarge {
	font-size: 21px;
}
.textLarge .icon {
	width: 21px;
	height: 21px;
}
.textRegular {
	font-size: 19px;
	line-height: 200%;
}
.textSmall {
	font-size: 18px;
	line-height: 200%;
}
.textXSmall {
	font-size: 12px;
}
h1.titleWithIcon {
	line-height: 360%;
}
.flexBlock {
	display: -webkit-flex;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	flex-direction: row;
	list-style: none;
	margin: 0 auto;
}
.flexBlockColumn {
	flex-direction: column;
}
#contentsWrapper {
	position: relative;
	min-height: 120vh;
	line-height: 200%;
	font-family:  "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #67081f;
	background-image: url("../images/bgLoop.jpg");
	overflow: hidden;
}
.widthWrapper {
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.widthWrapper2nd {
	position: relative;
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
}
.maxWidthKv {
	max-width: 1500px;
}
.section .widthWrapper {
	padding: 40px 0;
}
.container {
	position: relative;
	width: 100%;
	margin: 0 auto;
	z-index: 1;
}
#mainVisual {
	width: 100%;
	height: 100vh;
	margin: 0 auto;
	padding: 0;
	border: 20px solid #fff;
	box-sizing: border-box;
	background-image: url("../images/pc/mainVisual.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	display: block;
	position: relative;
}
#mainVisual .container {
	height: 97.902%;
}
#mainVisual .container img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#mainVisual .container h1 {
	position: absolute;
	top: 0;
	left: 0;
	width: 13%;
	height: 13%;
	background-image: url("../../images/logoAssorted.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
#mainVisual .container {
	background-image: url("../images/pc/mainTitle.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
#mainVisual .container h2 {
	position: relative;
	width: 100%;
	height: 30%;
}
#mainVisual .container .date {
	position: relative;
	width: 25%;
	height: 50%;
	margin-left: 75%;
	background-image: url("../images/pc/mainDate.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
#mainVisual .container .catch {
	position: relative;
	width: 100%;
	height: 15%;
	background-image: url("../images/pc/mainCatch.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
#mainVisual .container .arrow {
	position: relative;
	width: 100%;
	height: 5%;
	background-image: url("../images/pc/mainArrow.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
@media screen and (min-width: 801px) and (max-width: 1200px) {
	#mainVisual .container {
		background-size: 140%;
	}
}
@media screen and (max-width: 800px) {
	#mainVisual .container {
		background-image: none;
	}
}
#about {
	height:112em;
	background-image: url("../images/pc/bgAbout.jpg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}
@media screen and (min-width: 801px) and (max-width: 1200px) {
	#about {
		height:120vw;
	}
}
#about.action .widthWrapper {
	animation: fadeAndSlideIn 0.75s linear forwards;
}
#about .flexBlock h2 {
	margin: 1em auto 0;
}
#about .flexBlock {
	line-height: 230%;
}
#about .flexBlock .aboutTextBox {
	width: 100%;
	padding: 2em 0 0 47%;
	background-image: url("../images/pc/bgAboutObj.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 89%;
	box-sizing: border-box;
}
#about .flexBlock .aboutTextBox > p:nth-child(1) {
	padding-bottom: 1.5em;
}
#about .radius4em{
	border-radius: 4em;
}
#about .radius4em img {
	border: #fff solid 10px;
	border-radius: 40px;
}
@media screen and (max-width:800px) {
	#about {
		height:240vw;
	}
	#about .radius4em{
		text-align: center;
		width:95%;
	}
}
#items .itemDetail .widthWrapper {
	padding: 0;
}
#items h1 > span + span {
	display: block;
	margin-top: 0.5em;
}
#items .itemDetail .wrapper li {
	width: 50%;
}
#items .itemDetail .widthWrapper.action h2 {
	animation: fadeAndSlideIn 0.25s linear 0.25s forwards;
}
#item01.action .itemKeyVisual {
	animation: fadeAndSlideIn 0.25s linear forwards;
}
#item01.action .wrapper {
	animation: fadeAndSlideIn 0.25s linear forwards;
}
#item01 .widthWrapper.action li {
	animation: fadeAndSlideIn 0.25s linear 0.5s forwards;
}
#item01 .widthWrapper.action li + li {
	animation: fadeAndSlideIn 0.25s linear 0.75s forwards;
}
#item01 .widthWrapper.action .flexBlock + p {
	width: 80%;
	margin: 0 auto;
	animation: fadeAndSlideIn 0.25s linear 1s forwards;
	margin-top: 2em;
}
#item01 .widthWrapper.action .flexBlock + p > span {
	display: block;
	width: 100%;
	box-sizing: border-box;
}
#item01 .widthWrapper.action ul p {
	position:absolute;
	bottom:620px;
}
@media screen and (min-width: 801px) and (max-width: 1200px) {
	#item01 .widthWrapper.action ul p {
		bottom:50vw!important;
	}
}
@media screen and (max-width:800px){
		#item01 .widthWrapper.action ul p {
	    bottom: 88vw!important;
			margin-right: auto!important;
	    margin-left: auto!important;
	    width: 100%!important;
	}
	#item01 .widthWrapper.action .flexBlock + p {
		margin-top: 6em;
	}
}
#spec {
	line-height: 170%;
}
#spec .flexBlock > div {
	width: 50%;
}
#spec h1 {
	align-items: center;
}
#spec h1.flexBlock div {
	width: 30%;
}
#spec h1.flexBlock div + div {
	width: 70%;
	line-height: 140%;
}
#spec .specDetail {
	width: 95%;
	margin: 0;
	padding: 1.3em 0 1em;
	border-top: 1px solid #baa295;
	clear: both;
}
#spec .specDetail + .specDetail {
	margin: 0 0 1.3em;
	padding: 0 0 1.3em;
	border-top: none;
	border-bottom: 1px solid #baa295;
}
#spec p {
	margin-top: 1.8em;
	line-height: 160%;
}
#spec .textXSmall {
	margin-top: 1.8em;
}
#spec .specPhoto img {
	border-radius: 40px;
}
#spec.action .specPhoto {
	animation: fadeAndSlideIn 0.25s linear forwards;
}
#spec.action .specPkg {
	animation: fadeAndSlideIn 0.25s linear 0.25s forwards;
}
#spec .container {
	width: 90%;
}
#snsInfo {
	height: 45vw;
	max-height: 540px;
	background-image: url("../images/bgSnsLoop.jpg");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
}
#snsInfo .obj {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 45vw;
	max-height: 540px;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
}
#snsInfo .obj01 {
	background-image: url("../images/pc/snsPhoto01.png");
}
#snsInfo.action .container {
	animation: fadeAndSlideIn 0.25s linear forwards;
}
#snsInfo.action .obj01 {
	animation: fadeAndSlideIn 0.25s linear 0.25s forwards;
}
#snsInfo .widthWrapper {
	height: 45vw;
	max-height: 540px;
	padding: 0;
}
#snsInfo .widthWrapper .container {
	width: 67.5%;
	height: 30vw;
	max-height: 360px;
	margin-left: 32%;
	padding: 180px 0 0;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("../images/pc/snsPhoto02.png");
}
#snsInfo .widthWrapper .container h1 {
	line-height: 135%;
}
#survey .widthWrapper {
	padding-bottom: 0;
}
#survey .container {
	width: 70%;
	background-image: url("../images/pc/bgSurvey.png");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
}
#survey .container .textIndent {
	margin-top: 3.5em;
	padding-bottom: 4.5em;
	line-height: 180%;
}
#itemInfo {
	line-height: 170%;
}
#itemInfo .container {
	padding-bottom: 1em;
}
#itemInfo h2 {
	margin: 1.5em 0 0.5em;
}
#itemInfo dt {
	width: 100%;
	font-weight: bold;
}
#itemInfo dd {
	width: 98%;
	padding-left: 2%;
}
#itemInfo dd + dt {
	padding: 1em 0 0;
}
#itemInfo dl + h2 {
	padding: 2em 0 0;
}
#itemInfo .container {
	width:90%;
}
footer {
	padding: 3em 0 2em;
	background-color: #ebf6fb;
}
footer p {
	margin-bottom: 1em;
}
.snsBlock .snsIcon {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.snsBlock .snsIcon img {
	position: relative!important;
	width: 100%!important;
	height: 100%!important;
}
#mainVisual .snsBlock {
	position: absolute;
	top: 10px;
	right: 0;
}
footer .snsBlock {
	justify-content: center;
	margin-bottom: 2em;
}
#mainVisual .snsBlock .snsIcon,
footer .snsBlock .snsIcon {
	width: 3.5vw;
	max-width: 40px;
	height: 3.5vw;
	max-height: 40px;
}
#mainVisual .snsBlock .snsIcon {
	margin-left: 4px;
}
footer .snsBlock .snsIcon {
	margin: 0 4px;
}
#mainVisual .snsBlock .twitter {
	background-image: url("../images/_svg/iconTwitterColor.svg");
}
#mainVisual .snsBlock .facebook {
	background-image: url("../images/_svg/iconFacebookColor.svg");
}
footer .snsBlock .twitter {
	background-image: url("../images/_svg/iconTwitterBrown.svg");
}
footer .snsBlock .facebook {
	background-image: url("../images/_svg/iconFacebookBrown.svg");
}
#snsInfo .snsBlock {
	justify-content: center;
	margin-top: 15px;
}
#snsInfo .snsBlock .snsIcon {
	width: 10%;
	max-width: 80px;
	height: 10%;
	max-height: 80px;
	margin: 0 5px;
}
#snsInfo .snsBlock .twitterList {
	background-image: url("../images/_svg/iconTwitterBrown.svg");
}
#snsInfo .snsBlock .instagram {
	background-image: url("../images/_svg/iconInstaBrown.svg");
}
#goBack {
	position: fixed;
	right: 10px;
	bottom: 45px;
	width: 10vw;
	max-width: 100px;
	z-index: 100;
}
#goTop {
	padding: 1em 0;
	background-color: #c9ecfd;
}
.footerBanner {
	width: 92%;
	max-width: 490px;
	margin: 0 auto 30px;
}
@media screen and (min-width: 801px) and (max-width: 1200px) {
	.textXXLarge {
		font-size: 3.666666vw;
	}
	.textXXLarge .icon {
		width: auto;
		font-size: 3.666666vw;
	}
	.textXLarge {
		font-size: 2.5vw;
	}
	.textXLarge .icon {
		width: 2.5vw;
		height: 2.5vw;
	}
	#about .textXLarge {
		font-size: 2.83333333vw;
	}
	.textLarge {
		font-size: 1.75vw;
	}
	.textLarge .icon {
		width: 2vw;
		height: 2vw;
		vertical-align: text-bottom;
	}
	.textRegular {
		font-size: 1.6vw;
	}
	.textSmall {
		font-size: 1.5vw;
	}
	.textXSmall {
		font-size: 1vw;
	}
	.section .widthWrapper {
		padding: 3.33vw 0;
	}
	#snsInfo {
		min-height: 45vw;
	}
	#snsInfo .obj {
		max-height: 45vw;
	}
	#snsInfo .widthWrapper {
		max-height: 45vw;
	}
	#snsInfo .widthWrapper .container {
		padding: 15vw 0 0;
	}
	footer {
		padding: 1.5em 0 1em;
	}
	footer p {
		margin-bottom: 1em;
	}
	#mainVisual .snsBlock {
		top: 2.5vw;
	}
	footer .snsBlock {
		margin-bottom: 1em;
	}
	#snsInfo .snsBlock {
		margin-top: 1.25vw;
	}
}
@media screen and (max-width: 800px) {
	#contentsWrapper .btn a,
	#contentsWrapper .btn a:hover {
		width: 100%;
		margin: 0.75em auto;
	}
	#loader {
		width: 100px;
		height: 100px;
		margin-top: -50px;
		margin-left: -50px;
	}
	.dispWide {
		display: none;
	}
	.dispNarrow {
		display: block;
	}
	.textXXLarge {
		font-size: 7vw;
	}
	.textXXLarge .icon {
		width: auto;
		height: 7vw;
	}
	#snsInfo .textXXLarge {
		font-size: 5vw;
	}
	.textXLarge {
		font-size: 5.1vw;
	}
	.textXLarge .icon {
		width: 5.1vw;
		height: 5.1vw;
		vertical-align: top;
	}
	#about .textXLarge {
		font-size: 5.1vw;
	}
	.textLarge {
		font-size: 4vw;
	}
	.textLarge .icon {
		width: 6vw;
		height: 6vw;
	}
	.textRegular {
		font-size: 3.2vw;
	}
	.textSmall {
		font-size: 3.6vw;
	}
	.textXSmall {
		font-size: 2.4vw;
	}
	.lineHeight100{
		line-height: 100%;
	}
	.lineHeight130{
		line-height: 130%;
	}
	#itemInfo dl + p {
		font-size: 3.4vw;
		line-height: 180%;
	}
	h1.titleWithIcon {
		line-height: 200%;
	}
	.section .widthWrapper {
		padding: 5.33vw 0 4vw;
	}
	.container {
		width: 90%;
	}
	#mainVisual {
		position: relative;
		max-height: 157vw;
		background-image: url("../images/sp/mainVisual.jpg");
		background-position: center top;
		background-size: cover;
		border: none;
	}
	#mainVisual .titleNarrow,
	#mainVisual .catchNarrow {
		position: absolute;
		left: 0;
		width: 100%;
		padding-top: 75%;
		background-repeat: no-repeat;
		background-size: 100% auto;
	}
	#mainVisual .titleNarrow {
		top: 20px;
		background-image: url("../images/sp/mainTitle.png");
		background-position: center top;
	}
	#mainVisual .catchNarrow {
		bottom: 20px;
		background-image: url("../images/sp/mainCatch.png");
		background-position: center bottom;
		background-size: 90%;
	}
	#mainVisual .widthWrapper2 {
		width: calc(100% - 40px);
		max-height: calc(157vw - 40px);
		border: 20px solid #fff;
	}
	#mainVisual .container {
		width: 90%;
		max-height: calc(157vw - 40px);
		padding-top: 3vw;
	}
	#mainVisual .container h1 {
		position: relative;
		width: 38vw;
		height: 88vw;
		margin-left: 1vw;
		background-image:  url("../../images/logoAssorted.png");
		background-position: left top;
		background-repeat: no-repeat;
		background-size:  auto 16.5vw;
	}
	#mainVisual .container .arrow {
		position: absolute;
		left: 0;
		bottom: 0;
		height: 20vw;
		background-image: none;
	}
	#about {
		background-image: url("../images/sp/bgAbout.jpg");
	}
	#about .flexBlock {
		justify-content: flex-start;
	}
	#about .flexBlock h2 {
		margin: 1em auto 0.5em;
	}
	#about .flexBlock .aboutTextBox {
		padding: 1em 0 56.52%;
		text-align: center;
		background-image: url("../images/sp/bgAboutObj.png");
		background-position: center bottom;
		background-repeat: no-repeat;
		background-size: 100% auto;
		box-sizing: border-box;
	}
	#about .flexBlock .aboutTextBox > p:nth-child(1) {
		padding-bottom: 0.5em;
	}
	#items .itemDetail .wrapper .flexBlock {
		flex-direction: column;
	}
	#items .itemDetail .wrapper li {
		width: 100%;
	}
	#item01 .widthWrapper.action .flexBlock + p {
		width: 100%;
	}
	#item01 .widthWrapper.action .flexBlock + p > span {
		display: block;
		width: 90%;
		margin: -1.5em auto 0;
		padding: 0;
		box-sizing: border-box;
	}
	#spec {
		line-height: 170%;
	}
	#spec .widthWrapper {
		padding-bottom: 0;
	}
	#spec .flexBlock > div {
		width: 100%;
	}
	#spec h1.flexBlock div {
		width: 30%;
	}
	#spec h1.flexBlock div + div {
		width: 70%;
	}
	#spec .specDetail {
		width: 100%;
		margin: 0 0 1.3em;
		padding: 1.3em 0;
	}
	#spec .textXSmall {
		margin: 1.8em auto;
		line-height: 160%;
	}
	#spec .specPhoto img {
		border-radius: 5.34vw;
	}
	#snsInfo {
		height: 78vw;
	}
	#snsInfo .obj {
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 78vw;
		background-position: center bottom;
		background-repeat: no-repeat;
		background-size: contain;
	}
	#snsInfo .obj01 {
		z-index: 10;
		background-image: url("../images/sp/snsPhoto01.png");
	}
	#snsInfo .widthWrapper {
		height: 78vw;
		padding: 0;
	}
	#snsInfo .widthWrapper .container {
		width: 50%;
		height: 54vw;
		margin-left: 0;
		padding: 24vw 0 0 50%;
		background-position: center bottom;
		background-repeat: no-repeat;
		background-size: contain;
		background-image: url("../images/sp/snsPhoto02.png");
	}
	#survey .container {
		width: 92%;
		padding: 0 0 48vw;
		background-image: url("../images/sp/bgSurvey.png");
		background-position: center bottom 1vw;
		background-size: 100% auto;
	}
	#survey .container h2 {
		font-size: 4.2vw;
	}
	#survey .container .textIndent {
		text-align: center;
		margin-top: 1em;
		padding-bottom: 0;
		line-height: 180%;
	}
	#itemInfo {
		line-height: 170%;
	}
	#itemInfo h2 {
		margin: 1.5em 0 0.5em;
	}
	footer {
		padding: 3em 0 2em;
	}
	footer p {
		margin-bottom: 1em;
	}
	#mainVisual .snsBlock {
		position: absolute;
		top: 6.67vw;
		right: 4vw;
	}
	#mainVisual .snsBlock .snsIcon,
	footer .snsBlock .snsIcon {
		width: 7.8vw;
		max-width: 7.8vw;
		height: 7.8vw;
		max-height: 7.8vw;
	}
	#mainVisual .snsBlock .snsIcon {
		margin-left: 1.335vw;
	}
	footer .snsBlock .snsIcon {
		margin: 0 1vw;
	}
	.footerBanner img{
		width:101%;
	}
	#snsInfo .snsBlock {
		margin-top: 0;
	}
	#snsInfo .snsBlock .snsIcon {
		width: 11vw;
		max-width: 11vw;
		height: 11vw;
		max-height: 11vw;
		margin: 0 0.75vw;
	}
	#goBack {
		bottom: 60px;
		width: 15vw;
	}
}
/* animation */
@keyframes fadeAndSlideIn {
	0% {
		opacity: 0;
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
