@charset "utf-8";
/* 
=================================================================================

▼▼▼テンプレ▼▼▼

=================================================================================
*/
@media screen and (min-width: 769px) {
	/* PC用 */
	html {
		font-size: 10px;
	}
	.inner {
		position: relative;
		max-width: 100%;
		display: block;
		margin: 0 auto;
	}
}
@media screen and (max-width: 768px) {
	/* SP用 */
	html {
		font-size: calc(10vw / 320 * 100);
		/* 最大値768px、文字サイズ10pxの場合 */
	}
	.inner {
		width: 100%;
		padding: 0 5rem;
		max-width: 100%;
		margin: auto;
	}
}
html {
	scroll-behavior: smooth;
}
/* 
=================================================================================

▼▼▼　ちらつき対策（CSS）　▼▼▼

=================================================================================
*/
.loading {
	position: fixed;
	background: #fff;
	z-index: 9999;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 1s all;
	opacity: 1;
	pointer-events: all;
}
/* 
=================================================================================

▼▼▼　文字　▼▼▼

=================================================================================
*/
html {
	font-family: "Noto Sans JP", sans-serif;
	font-feature-settings: "palt";
}
.go {
	font-family: "Noto Sans JP", sans-serif;
}
.b {
	font-weight: bold;
}
.m {
	font-weight: 500;
}
/* 
=================================================================================

▼▼▼　カスタム　▼▼▼

=================================================================================
*/
html {
	font-weight: 500;
	line-height: 1.5;
}
body {
	width: 100%;
}
@media screen and (min-width: 769px) { /* PC用 */
	body {
		min-width: 100rem;
	}
}
.wrapper {
	width: 100%;
	overflow: hidden;
	position: relative;
}
/* mv */
.mv {
	position: relative;
}
.mv > .content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* mv */
/* コンテンツ */
.mv {
	width: 100%;
}
.contents_bg {
	background: #d80c18;
}
.contents_wide {
	max-width: 100rem;
	margin: auto;
	padding: 4rem 0 0 0;
}
.contents_common {
	position: relative;
}
.cam_btn01 {
	width: 57rem;
	margin: 5rem auto 0;
	font-size: 3.4rem;
	text-align: center;
	color: #ffffff;
	  text-shadow: 2px 2px 2px #d80c18, -2px -2px 2px #d80c18,
              -2px 2px 2px #d80c18, 2px -2px 2px #d80c18,
              0px 2px 2px #d80c18,  0 -2px 2px #d80c18,
              -2px 0 2px #d80c18, 2px 0 2px #d80c18;
	background-color: #ffffff;
	border-radius: 6rem;
	padding: 2.45rem 0;
	font-weight: bold;
}
.cam_btn03 {
	width: 57rem;
	margin: 5rem auto 0;
	font-size: 3.4rem;
	text-align: center;
	color: #ffffff;
	background-color: #d80c18;
	border-radius: 6rem;
	padding: 2.45rem 0;
	font-weight: bold;
}
.cam_month_detail_bg {
	background-color: #fff;
	padding: 7.5rem;
	margin-top: 10rem;
	margin-bottom: 8rem;
	border-radius: 3rem;
	text-align: center;
}
.cam_link {
	font-size: 2rem;
	color: #d7000f;
	display: flex;
	justify-content: center;
	gap: 3rem;
	margin-top: 5.5rem;
}
.cam_link li {
	width: 25rem;
	height: 6.4rem;
	background-color: #fff;
	border: solid #d7000f 2px;
	border-radius: 3rem;
}
.cam_link li a {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	height: 100%;
}
.material-symbols-outlined {
	font-size: 3.2rem;
	color: #d7000f;
	position: absolute;
	top: calc(50% - 1.6rem);
	right: 1rem;
}
.cam_prize_box {
	width: 70rem;
	margin: 3rem auto 0;
	border: solid #d7000f 3px;
	border-radius: 2rem;
	padding: 0 5rem 3rem;
	position: relative;
}
.cam_prize_box_inner {
	max-width: 51rem;
	margin: auto;
}
.cam_prize_name {
	width: 59rem;
	margin: auto;
	font-size: 3.6rem;
	line-height: 1.1;
	padding: 0.5em;
	color: #d7000f;
	border: solid #d7000f 3px;
	border-top: none !important;
	border-radius: 0 0 3rem 3rem;
	position: relative;
}
.cam_text1 {
	font-size: 2rem;
	margin-top: 5.5rem;
}
.cam_text_box1 {
	font-size: 3.6rem;
	color: #d7000f;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin-top: 3rem;
	position: relative;
	z-index: 1;
}
.cam_img2 {
	width: 16rem;
}
.cam_text_box1 p {
	position: relative;
	top: 4rem;
}
.cam_text_box2 {
	display: flex;
	align-items: center;
	justify-content: center;
}
.cam_text_box3 {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin-top: 5rem;
	margin-bottom: -2rem;
}
.cam_prize_badge {
	width: 12rem;
	position: absolute;
	top: -30%;
	left: -13%;
}
.cam_prize_badge_text {
	font-size: 3.6rem;
	line-height: 1.2;
	color: #d7000f;
}
.cam_prize_name1 {
	font-size: 2.8rem;
	line-height: 1.1;
	padding-top: 1.5rem;
}
.cam_prize_name1 span {
	font-size: 5rem;
	position: relative;
	bottom: -.3rem;
}
.cam_prize_name2 {
	font-size: 3.6rem;
	line-height: 1.1;
	background-color: #FFE0E2;
	border-radius: 3rem;
	padding: 1rem;
	margin-top: 3rem;
}
.cam_prize_name2 span {
	font-size: 2.8rem;
}
.cam_prize_name3 {
	position: relative;
}
.cam_prize_note {
	padding: 5rem 1rem;
	background-color: #fbe7ea;
	border-radius: 3rem;
	position: relative;
	margin-top: 12rem;
}
.cam_prize_item {
	margin-top: 2rem;
	margin-bottom: 1rem;
}
.cam_prize_detail_btn {
	font-size: 2.4rem;
	height: 6rem;
	color: #ffffff;
	background-color: #d7000f;
	border-radius: 3rem;
	margin-top: 2.5rem;
}
.cam_prize_detail_btn.cam_img_new_btn {
	width: 60%;
	margin-inline: auto;
}
.cam_prize_detail_btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.cam_detail_note_box {
	max-width: 47rem;
	margin: auto;
	margin-top: 2.5rem;
}
.cam_detail_note {
	font-size: 2rem;
	text-align: start;
}
.indent2 {
	text-indent: -2rem;
	padding-left: 2rem;
}
.text_c {
	text-align: center !important;
}
.c_b {
	color: #000000 !important;
}
.cam_img5 {
	width: 20rem;
	position: relative;
	right: 1rem;
	z-index: -1;
}
.cam_text_fix1 {
	gap: 0;
}
.cam_text_fix2 {
	font-size: 2rem;
	padding-left: 1.5rem;
	color: #000000;
	top: 4.8rem !important;
}
.cam_img6 {
	width: 70rem;
	margin: 2rem auto 0;
}
.cam_img7 {
	margin-top: 3rem;
}
.products_box h2 {
	font-size: 3.6rem;
	margin-top: 7rem;
}
.products_box ul {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-top: 3.5rem;
}
.products_box ul.product_list,
.products_box ul.product_list2 {
	margin-top: 1rem;
}
.products_box ul.product_list1 li {
	width: 32%;
}
.products_box ul li img {
	width: 17rem;
}
.products_box ul li p {
	font-size: 2rem;
	margin-top: 2rem;
}
.product_new{
  position: relative;
}
.product_new::before{
  content: "";
  position: absolute;
  width: 8rem;
  height: 8rem;
  background-image: url(../img/product_new.webp);
  background-repeat: no-repeat;
  background-size: contain;
  top: 1rem;
  left: -1rem;
}
.product_text_fix {
}
.products_box p {
	font-size: 3.0rem;
	margin-top: 5.5rem;
}
.product_list2 img {
	width: 22.6rem !important;
}
.shops_text1 {
	font-size: 3.6rem;
	margin-top: 5rem;
}
.apply_text1 {
	font-size: 3.6rem;
	margin-top: 5rem;
	margin-bottom: 5rem;
}
.apply_text2 {
	font-size: 2.6rem;
	text-indent: -2.6rem;
	padding-left: 2.6rem;
}
.txt_c {
	text-align: left;
}
.f_red {
	color: #d7000f;
}
ul.top_class04 {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	gap: 1rem;
	flex-wrap: wrap;
}
ul.top_class04 > li {
	width: calc((99.99% - 3rem) / 4);
}
ul.top_class04 > li .img {
	position: relative;
}
.cam_term_box {
	margin-top: 10rem;
}
.cam_term_title {
	font-size: 3.2rem;
	color: #d7000f;
	text-align: center;
	padding: 2rem 0;
	border-top: solid #333333 1px;
	border-bottom: solid #333333 1px;
}
.cam_term_month_box {
	margin: 5rem 0;
}
.cam_term_month_title {
	font-size: 3.2rem;
	color: #d7000f;
	text-align: center;
	background-color: #fbd9df;
	border-radius: 3rem;
}
.cam_term_month_detail {
	font-size: 2.6rem;
	font-weight: bold;
	margin-top: 2.5rem;
}
.cam_btn02 {
	width: 38rem;
	margin: 5rem auto 0;
	font-size: 2.4rem;
	text-align: center;
	color: #ffffff;
	background-color: #d7000f;
	border-radius: 5rem;
	padding: 1.5rem 0;
}
.cam_movie_box {
	margin-top: 10rem;
}
.cam_movie {
	position: relative;
	background: #000;
	margin-top: 5rem;
}
.cam_movie:before {
	top: 0;
	left: 0;
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	content: "";
	display: block;
}
.cam_movie > * {
	top: 0;
	left: 0;
	position: absolute;
	width: 100%;
	height: 100%;
}
.terms_title {
	font-size: 3rem;
	color: #d7000f;
	margin-bottom: 4rem;
	font-weight: bold;
}
.terms_text_box {
	font-size: 2rem;
	height: 40rem;
	overflow: scroll;
	overflow-x: hidden;
}
.terms_text_box::-webkit-scrollbar {
	width: 10px;
}
.terms_text_box::-webkit-scrollbar-thumb {
	background-color: #d7000f;
	border-radius: 5px;
}
.terms_text_box::-webkit-scrollbar-track {
	background: #d6d6d6;
}
.terms_text_box h3 {
	margin-top: 1em;
	font-weight: bold;
}
.terms_text_box p {
	margin-top: 0.5em;
}
.terms_text_box p.indent01 {
	margin-top: 0;
}
.terms_text_box ul {
	list-style-type: disc;
	padding-left: 1.5em;
}
.terms_text_box ul li {
	padding-top: 0.3em;
}
.terms_text_box a:link,
.terms_text_box a:visited,
.terms_text_box a:active {
	text-decoration: underline;
}
.terms_text_box a:hover {
	text-decoration: none;
}
.indent18 {
	text-indent: -1.8rem;
	padding-left: 1.8rem;
}
.cam_contact_box {
	padding: 0 6.5rem;
}
.cam_contact_title {
	font-size: 2.4rem;
	text-align: center;
	margin-top: 5rem;
	font-weight: bold;
}
.contact_address {
	color: #333333 !important;
	font-size: 2rem !important;
	margin-top: 3rem;
}
.contact_text {
	font-size: 1.8rem;
	text-align: start;
	margin-top: 3rem;
}
.copy_right {
	padding: 5rem 0;
	background-color: #d80c18;
}
.apply_font {
	font-size: 1.8rem;
}
.mb0 {
	margin-bottom: 0 !important;
}
/* コンテンツ */
/* スマホ */
@media screen and (max-width: 768px) {
	.contents_wide {
		max-width: 30rem;
		margin: auto;
	}
	.cam_btn01,
	.cam_btn03 {
		width: 28rem;
		font-size: 2rem;
		padding: 1rem 0;
		border-radius: 10rem;
		margin: 0 auto;
	}
	.cam_btn02 {
		width: 24rem;
		margin: 3.5rem auto 0;
		font-size: 1.5rem;
		background-color: #d7000f;
		padding: 1rem 0;
	}
	.cam_month {
		justify-content: center;
		gap: 2rem;
	}
	.cam_link {
		font-size: 1.4rem;
		gap: 1rem;
		margin-top: 3.5rem;
	}
	.cam_link li {
		width: 10rem;
		height: 5rem;
		border-radius: 2.5rem;
	}
	.material-symbols-outlined {
		font-size: 2rem;
		position: relative;
		top: 0;
		right: 0;
	}
	.cam_month_detail_bg {
		padding: 2rem 1rem;
		margin: 3.5rem 0;
		border-radius: 1rem;
	}
	.cam_text1 {
		font-size: 1.2rem;
		margin-top: 3rem;
	}
	.cam_text_box1 {
		font-size: 1.4rem;
		flex-direction: column;
		gap: 0;
	}
	.cam_text_box1 p {
		position: relative;
		top: 0rem;
	}
	.cam_img2 {
		width: 10rem;
	}
	.cam_prize_box {
		width: 100%;
		padding: 0 1rem 1.5rem;
		border-radius: 1rem;
		margin: 1.5rem auto 0;
	}
	.cam_prize_name {
		width: 23rem;
		font-size: 1.4rem;
		border-radius: 0 0 1rem 1rem;
	}
	.cam_prize_name1 {
		font-size: 1.1rem;
		padding-top: 1rem;
	}
	.cam_prize_name1 span {
		font-size: 2rem;
		bottom: -.1rem;
	}
	.cam_prize_name2 {
		font-size: 1.4rem;
		width: 23rem;
		border-radius: 1rem;
		margin: 1.5rem auto 0;
	}
	.cam_prize_name2 span {
		font-size: 1.1rem;
	}
		.cam_text_box3 {
		gap: .5rem;
		margin-top: 3rem;
		margin-bottom: -1rem;
	}
	.cam_prize_badge {
		width: 5rem;
	}
	.cam_prize_badge_text {
		font-size: 1.4rem;
	}
	.cam_prize_item {
		width: 23rem;
		margin: 1.5rem auto;
	}
	.cam_detail_note_box {
		margin-top: 1.5rem;
	}
	.cam_detail_note {
		font-size: 1.1rem;
	}
	.cam_prize_detail_btn {
		height: 3.5rem;
		font-size: 1.4rem;
		margin-top: 1.5rem;
	}
	.cam_prize_detail_btn.cam_img_new_btn {
		width: 90%;
		margin-inline: auto;
	}
	.indent2 {
		text-indent: -1.2rem;
		padding-left: 1.2rem;
	}
	.cam_img2 {
		width: 9rem;
	}
	.cam_img5 {
		width: 11.5rem;
		right: 0.5rem;
	}
	.cam_text_box1 p {
		font-size: 1.2rem;
	}
	.cam_text_fix2 {
		top: 2.5rem !important;
		right: 0 !important;
		padding-left: 1.5rem !important;
	}
	.cam_img7 {
		width: 18.2rem;
		margin-top: 1rem;
	}
	.products_box h2 {
		font-size: 1.6rem;
		margin-top: 3rem;
	}
	.products_box ul {
		gap: 1rem;
	}
	.products_box ul.product_list,
	.products_box ul.product_list2 {
		display: block;
		margin-top: 1em;
	}
	.products_box ul.product_list1 li {
		width: 45%;
	}
	.products_box ul li p {
		font-size: 1.1rem;
		margin-top: 0.5rem;
	}
	.products_box ul li.cam_img_new p.f_red {
		font-size: 1.1rem;
		letter-spacing: 0;
	}
	.products_box ul li img {
		width: 8.5rem;
	}
	.products_box ul li.cam_img_new {
		width: 100%;
	}
	.products_box ul li.cam_img_new img {
		width: 28rem;
	}
	.product_new::before{
		width: 4rem;
		height: 4rem;
		top: 1rem;
		left: -1rem;
	}
	.product_list2 img {
		width: 11.3rem !important;
	}
	.products_box p {
		font-size: 1.6rem;
		margin-top: 3rem;
	}
	.shops_text1 {
		font-size: 1.4rem;
		margin-top: 4rem;
		margin-bottom: 3rem;
	}
	.apply_text1 {
		font-size: 1.4rem;
		margin-top: 4rem;
		margin-bottom: 3rem;
	}
	.apply_text2 {
		font-size: 1.2rem;
		text-indent: -1.2rem;
		padding-left: 1.2rem;
	}
	ul.top_class04 > li {
		width: calc((99.99% - 1rem) / 2);
	}
	.apply_font {
		font-size: 1.15rem;
	}
	.cam_term_box {
		margin-top: 3.5rem;
	}
	.cam_term_title {
		font-size: 1.9rem;
	}
	.cam_term_month_title {
		font-size: 1.4rem;
	}
	.cam_term_month_box {
		margin: 3rem 0;
	}
	.cam_term_month_detail {
		margin-top: 1.5rem;
	}
	.cam_term_month_detail_text2 {
		font-size: 1.2rem;
		display: flex;
		flex-wrap: wrap;
	}
	.cam_movie_box {
		margin-top: 3.5rem;
	}
	.terms_title {
		font-size: 1.6rem;
	}
	.terms_text_box {
		font-size: 1.4rem;
	}
	.cam_contact_box {
		padding: 0;
	}
	.cam_contact_title {
		font-size: 1.4rem;
		margin-top: 3.5rem;
	}
	.contact_address {
		font-size: 1.4rem !important;
		padding: 1rem 0;
		margin-top: 1.5rem;
	}
	.contact_text {
		font-size: 1.4rem;
	}
	.indent18 {
		text-indent: -1.4rem;
		padding-left: 1.4rem;
	}
	.copy_right {
		padding: 3rem 0;
	}
}