@charset "UTF-8";
/* CSS Document */
.text_samll {
	font-size: 80%;
}
.fancamp_bg01 {
	background-color: #ffe39d;
	background-image: linear-gradient(45deg, #fcd000 25%, transparent 25%, transparent 75%, #fcd000 75%, #fcd000), linear-gradient(45deg, #fcd000 25%, transparent 25%, transparent 75%, #fcd000 75%, #fcd000);
	background-size: 60px 60px;
	background-position: 0 0, 30px 30px;
}
.fancamp_bg02 {
	background-color: #ffe39d;
}
/* -- キャンペーン期間ボックス --*/
.fancamp_box01 {
	position: relative;
	padding: 2rem 1rem .5rem;
	background-color: #efefef;
	background-image: repeating-linear-gradient(45deg, #EBBB2F 0 5px, #333 5px 10px);
	background-position: top;
	background-size: 100% 1rem;
	background-repeat: no-repeat;
}
.fancamp_box01::before {
	position: absolute;
	top: -1.2rem;
	left: 50%;
	padding: 0.5rem 1rem;
	transform: translateX(-50%);
	border-radius: 30px;
	background-color: #333;
	box-shadow: 0 0 5px black;
	color: #EBBB2F;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
	content: attr(data-title);
	font-size: 1.3em;
}
.fancamp_box01 p {
	color: #333;
	line-height: 1.5;
	font-size: 1.2em;
}
@media (max-width: 600px) {
	.fancamp_box01 {
		padding: 2rem 0 .25rem;
	}
	.fancamp_box01::before {
		top: -1rem;
		font-size: .9em;
		width: 80%;
	}
	.fancamp_box01 p {
		font-size: 1.05em;
	}
}
/* -- 囲みボックス -- */
.fancamp_box02 {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    position: relative;
    padding: 3rem 1rem 1rem;
    border-box: box-sizing;
    background-color: #fff;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
}

.fancamp_box02::before {
    position: absolute;
    top: 0.5rem;
    left: 50%;
    transform: translateX(-50%);
    padding: 0.5rem;
    border-radius: 10px;
    background-color: #fcd000;
    color: #333;
    content: attr(data-title);
}


.box p {
    color: #333;
    line-height: 1.5;
}

/* -- 見出しデザイン00 -- */
.fancamp_midashi00 {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	padding: 15px 20px 10px;
	border: 3px solid #fcd000;
	border-radius: 50px;
	background-image:
		linear-gradient(90deg, transparent 30px, #fff 32px calc(100% - 32px), transparent calc(100% - 30px)), repeating-linear-gradient(45deg, #fcd000, 6px, #fff 6px 12px);
	color: #333;
	text-align: center;
}
/* -- 見出しデザイン01 -- */
.fancamp_midashi01 {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	padding: .5rem 0;
	background-image: linear-gradient(90deg, #b2d5de 0 25%, #ddcfb3 25% 50%, #b3ddb4 50% 75%, #ddbab3 75%);
	background-repeat: no-repeat;
	background-size: 50% 0.2rem;
	background-position: bottom;
	font-weight: bold;
	text-align: center;
}
/* -- イベントカード -- */
figure.fancamp_eventcard01 {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	color: #fff;
	position: relative;
	overflow: hidden;
	margin: 1em 0;
	width: 100%;
	background-color: #fff;
	color: #333;
	text-align: left;
	font-size: 1em;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
}
figure.fancamp_eventcard01 * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
figure.fancamp_eventcard01 img {
	max-width: 100%;
	vertical-align: top;
	-webkit-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
figure.fancamp_eventcard01 figcaption {
	padding: 45px 25px 25px;
	position: relative;
}
figure.fancamp_eventcard01 .date {
	background-color: #be9c00;
	top: 0;
	color: #fff;
	left: 0;
	min-height: 80px;
	min-width: 80px;
	position: absolute;
	text-align: center;
}
figure.fancamp_eventcard01 .date {
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
	font-size: 1em;
	font-weight: 700;
	text-transform: uppercase;
}
figure.fancamp_eventcard01 .date span {
	display: block;
	line-height: 40px;
}
figure.fancamp_eventcard01 .date .month {
	font-size: 1em;
	background-color: rgba(0, 0, 0, 0.1);
}
figure.fancamp_eventcard01 .place {
	position: absolute;
	top: 0;
	right: 0;
	color: #fff;
	background-color: #000;
	padding: 0 2em;
	line-height: 40px;
	font-weight: bold;
	font-size: .9em;
}
figure.fancamp_eventcard01 .place:before {
	position: absolute;
	right: 100%;
	border-style: solid;
	border-width: 0 12px 40px 0;
	border-color: transparent #000 transparent;
	content: '';
	top: 0;
}
figure.fancamp_eventcard01 h4, figure.fancamp_eventcard p {
	margin: 0;
	padding: 0;
}
figure.fancamp_eventcard01 h4 {
	margin-bottom: 10px;
	display: inline-block;
	color: #333;
	font-size: 1.1em;
	line-height: 1.2em;
	background: linear-gradient(transparent 70%, #ff0 30%)
}
figure.fancamp_eventcard01 h5 {
	font-size: 1em;
	font-weight: bolder;
}
figure.fancamp_eventcard01 h4 span {
	font-size: 80%;
}
figure.fancamp_eventcard01 p {
	font-size: 0.9em;
	margin-bottom: 5px;
	line-height: 1.2em;
}
figure.fancamp_eventcard01 button {
	border: medium none;
	border-radias: 10px;
	padding: 10px 20px;
	background-color: #be9c00;
	font-weight: 800;
	color: #fff;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-size: 0.8em;
}
figure.fancamp_eventcard01 a {
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	position: absolute;
	z-index: 1;
}
figure.fancamp_eventcard01:hover img, figure.fancamp_eventcard01.hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
figure.fancamp_eventcard01:hover button, figure.fancamp_eventcard01.hover button {
	background-color: #fdd000;
}
/* -- 参加方法カード -- */
.fancamp_eventcard02 {
	font-family: 'Oswald', Arial, sans-serif;
	position: relative;
	margin: 0;
	width: 100%;
	background: #fff;
	text-align: center;
	color: #333;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
	font-size: 16px;
}
.fancamp_eventcard02 * {
	-webkit-box-sizing: border-box;
	box-sizing: padding-box;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.fancamp_eventcard02 img {
	max-width: 100%;
	vertical-align: top;
	position: relative;
	background-color: #fcd000;
	padding-top: 40px;
}
.fancamp_eventcard02 figcaption {
	padding: 20px;
}
.fancamp_eventcard02 h3, .fancamp_eventcard02 p {
	margin: 0;
}
.fancamp_eventcard02 h3 {
	font-size: 1.3em;
	font-weight: 400;
	margin-bottom: 5px;
	text-transform: uppercase;
}
.fancamp_eventcard02 p {
	font-size: 0.9em;
	letter-spacing: 1px;
	font-weight: 300;
}
.fancamp_eventcard02 span {
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
	width: 56px;
	line-height: 56px;
	text-align: center;
	border-radius: 50%;
	background-color: #fcd000;
	color: #ffffff;
	font-size: 1.3em;
	font-weight: bolder;
}
.fancamp_eventcard02 a {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}
.fancamp_eventcard02:hover i, .fancamp_eventcard02.hover i, .fancamp_eventcard02:hover img, .fancamp_eventcard02.hover img {
	background-color: #feec99;
}
.fancamp_eventcard02:hover i, .fancamp_eventcard02.hover i {
	-webkit-transform: translate(-50%, 5px);
	transform: translate(-50%, 5px);
}
/* -- 賞品カード -- */
.fancamp_syohin_card {
	position: relative;
	width: 100%;
	height: 450px;
	background: #232323;
	border-radius: 20px;
	overflow: hidden;
}
.fancamp_syohin_card:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fcd000;
	clip-path: circle(150px at 80% 20%);
	transition: 0.5s ease-in-out;
}
.fancamp_syohin_card:hover:before {
	clip-path: circle(300px at 80% -20%);
}
.fancamp_syohin_card:after {
	content: '米袋';
	position: absolute;
	top: 30%;
	left: -20%;
	font-size: 12em;
	font-weight: 800;
	font-style: italic;
	color: rgba(255, 255, 25, 0.05)
}
.fancamp_syohin_card .imgBx {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	width: 100%;
	height: 250px;
	transition: 0.5s;
}
.fancamp_syohin_card:hover .imgBx {
	top: 2%;
	transform: translateY(2%);
}
.fancamp_syohin_card .imgBx img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-5deg);
	width: 250px;
}
.fancamp_syohin_card .contentBx {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100px;
	text-align: center;
	transition: 1s;
	z-index: 10;
}
.fancamp_syohin_card:hover .contentBx {
	height: 210px;
}
.fancamp_syohin_card .contentBx h2 {
	position: relative;
	font-weight: 600;
	letter-spacing: 1px;
	color: #fff;
	margin: 0;
}
.fancamp_syohin_card .contentBx .size, .fancamp_syohin_card .contentBx .hanko {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 8px 20px;
	transition: 0.5s;
	opacity: 0;
	visibility: hidden;
	padding-top: 0;
	padding-bottom: 0;
}
.fancamp_syohin_card:hover .contentBx .size {
	opacity: 1;
	visibility: visible;
	transition-delay: 0.5s;
}
.fancamp_syohin_card:hover .contentBx .hanko {
	opacity: 1;
	visibility: visible;
	transition-delay: 0.6s;
}
.fancamp_syohin_card .contentBx .size h3, .fancamp_syohin_card .contentBx .hanko h3 {
	color: #fff;
	font-weight: 300;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-right: 10px;
}
.fancamp_syohin_card .contentBx .size span {
	width: 26px;
	height: 26px;
	text-align: center;
	line-height: 26px;
	font-size: 14px;
	display: inline-block;
	color: #111;
	background: #fff;
	margin: 0 5px;
	transition: 0.5s;
	color: #111;
	border-radius: 4px;
	cursor: pointer;
}
.fancamp_syohin_card .contentBx .size span:hover {
	background: #fcd000;
}
.fancamp_syohin_card .contentBx .hanko span {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	margin: 0 5px;
	cursor: pointer;
	background: #e91e63;
}
.fancamp_syohin_card:hover .contentBx a {
	opacity: 1;
	transform: translateY(0px);
	transition-delay: 0.75s;
}