@charset "utf-8";
/*-----------------------------------------------
 * Camera - About
-------------------------------------------------*/
.cameraContentHead{
	position: relative;
	width: 100%;
	z-index: 2;
}
.cameraContentHead--cont{
	position: relative;
	padding: min(calc(80 / var(--vw-min) * 100vw), 80px) 0;
	text-align: center;
	z-index: 1;
}

.camera__title{
	width: min(calc(317 / var(--vw-min) * 100vw), 317px);
	margin: 0 auto;
}
.camera__title img{
	width: 100%;
}
.camera__boot{
	margin-top: min(calc(80 / var(--vw-min) * 100vw), 80px);
	text-align: center;
}
.camera__boot--linkWrap{
	width: min(calc(281 / var(--vw-min) * 100vw), 281px);
	margin: 0 auto;
}
.camera__boot--link{
	display: block;
	position: relative;
	width: 100%;
	padding-top: 71.1744%;/* 200 */
	text-decoration: none;
}
.camera__boot--link_txt{
	width: 100%;
	height: 45%;/* 90 */
	position: absolute;
	inset: 0;
	margin: auto;
	display: block;
}
.camera__boot--link_txt img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.camera__boot--link:before{
	content: '';
	position: absolute;
	inset: 0;
	background: url(../img/camera/icon_boot-bg.png) no-repeat center / contain;
	animation: ani_rotate01 linear 20s infinite;
	pointer-events: none;
}

@media screen and (hover:hover) and (pointer: fine){
	.camera__boot--link_txt{
		transition: transform .25s ease;
	}
	.camera__boot--link:hover .camera__boot--link_txt{
		transform: scale(1.05);
	}
	.camera__boot--link:hover::before{
		animation-play-state: paused;
	}
}

.cameraContentHead-bg{
	position: absolute;
	inset: 0;
	mask: linear-gradient(180deg,#000 0%, #000 70%, transparent 100%);
}
.cameraContentHead-bg:before,
.cameraContentHead-bg:after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	background-image: url(../img/common/deco/deco_curtain.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: min(calc(160 / var(--vw-min) * 100vw), 160px);
}
.cameraContentHead-bg:before{
	left: 0;
	background-position: right center;
}
.cameraContentHead-bg:after{
	right: 0;
	background-position: left center;
	transform: scale(-1,1);
}

@media screen and (max-width:768px){
	.cameraContentHead--cont{
		padding: calc(48 / var(--vw-min) * 100vw) 0;
	}
	.camera__title{
		width: calc(160 / var(--vw-min) * 100vw);
	}
	.camera__boot{
		margin-top: calc(32 / var(--vw-min) * 100vw);
	}
	.camera__boot--linkWrap{
		width: calc(136 / var(--vw-min) * 100vw);
	}
	.cameraContentHead-bg:before,
	.cameraContentHead-bg:after{
		width: calc(80 / var(--vw-min) * 100vw);
	}
}



.specialContent.-inBg .specialContentIn{
	padding-top: 0;
}
.specialContentIn__cont{
	padding-left: min(calc(80 / var(--vw-min) * 100vw), 80px);
	padding-right: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
@media screen and (max-width:768px){
	.specialContentIn__cont{
		padding-top: calc(12 / var(--vw-min) * 100vw);
		padding-left: calc(24 / var(--vw-min) * 100vw);
		padding-right: calc(24 / var(--vw-min) * 100vw);
	}
}


/**
* camera - head
**/
.camera__head{
	text-align: center;
}
.camera__head--text{
	font-size: min(calc(32 / var(--vw-min) * 100vw), 32px);
	font-weight: 700;
	line-height: 2;
	color: #6e1e23;
	text-align: center;
}
.camera__head--text small{
	font-size: 75%;
}
.camera__head--text small.c_red{
	color: #b91703;
}
@media screen and (max-width:768px){
	.camera__head--text{
		font-size: calc(22 / var(--vw-min) * 100vw);
	}
	.camera__head--text small.c_red{
		display: inline-block;
		padding-top: 1em;
	}
}

/**
* camera - Main
**/
.camera__main{
	position: relative;
	padding-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
	color: #6e1e23;
}
.cameraCont__section{
	--cameraCont-frame-color: #CA2738;
	width: 100%;
	position: relative;
	padding: 6px;
	background-color: var(--cameraCont-frame-color);
}
.cameraCont__section:before{
	content: '';
	position: absolute;
	top: 4px;
	left: 4px;
	bottom: 4px;
	width: 8px;
	background-image: url(../img/special/supporters/deco_diamond.svg), url(../img/special/supporters/deco_diamond.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: left top, left bottom;
	background-size: contain;
	z-index: 1;
}
.cameraCont__section:after {
	content: '';
	position: absolute;
	top: 4px;
	right: 4px;
	bottom: 4px;
	width: 8px;
	background-image:url(../img/special/supporters/deco_diamond.svg),url(../img/special/supporters/deco_diamond.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: right top, right bottom;
	background-size: contain;
	z-index: 1;
}
.cameraCont__sectionIn{
	width: 100%;
	position: relative;
	--supporters-inner-notch-w: 14px;
	--supporters-inner-notch-h: 14px;
	background-image: url(../img/special/supporters/stamp_bg.png);
	background-repeat: repeat-y;
	background-position: left top;
	background-size: 100% auto;
	padding: min(calc(72 / var(--vw-min) * 100vw), 72px);
}
/*
 * 角の切り欠きは mask-composite を使わず、枠色の円を重ねて再現する
 * （iOS 15 では複数レイヤーの mask-composite が全面透明になる）
 */
.cameraCont__sectionIn::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
	background-image:
		radial-gradient(ellipse 16px 16px at calc(100% + 4px) -4px, var(--cameraCont-frame-color) 99%, rgba(0,0,0,0) 100%),
		radial-gradient(ellipse 16px 16px at calc(100% + 4px) calc(100% + 4px), var(--cameraCont-frame-color) 99%, rgba(0,0,0,0) 100%),
		radial-gradient(ellipse var(--supporters-inner-notch-w) var(--supporters-inner-notch-h) at -3px 0, var(--cameraCont-frame-color) 99%, rgba(0,0,0,0) 100%),
		radial-gradient(ellipse var(--supporters-inner-notch-w) var(--supporters-inner-notch-h) at -3px 100%, var(--cameraCont-frame-color) 99%, rgba(0,0,0,0) 100%);
	background-repeat: no-repeat;
}
.cameraCont__sectionIn > *{
	position: relative;
	z-index: 1;
}

.cameraCont__title{
	text-align: center;
	color: #6e1e23;
	line-height: 1;
}
.cameraCont__titleIn{
	display: inline-block;
	position: relative;
	min-width: min(calc(440 / var(--vw-min) * 100vw), 440px);
	padding-left: min(calc(48 / var(--vw-min) * 100vw), 48px);
	padding-right: min(calc(48 / var(--vw-min) * 100vw), 48px);
	padding-bottom: min(calc(48 / var(--vw-min) * 100vw), 48px);
}
.cameraCont__title--txt{
	display: inline-block;
	font-size: min(calc(24 / var(--vw-min) * 100vw), 24px);
	font-weight: 700;
	line-height: 1;
}
.cameraCont__deco{
	display: inline-flex;
	align-items: center;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}
.cameraCont__deco:before,
.cameraCont__deco:after{
	content: '';
	width: 100%;
	height: 1px;
	background-color: #6e1e23;
}
.cameraCont__deco > span{
	flex-shrink: 0;
	display: inline-block;
	width: min(calc(72 / var(--vw-min) * 100vw), 72px);
	height: min(calc(16 / var(--vw-min) * 100vw), 16px);
	background: url(../img/camera/deco_3star.png) no-repeat center / contain;
}

.cameraCont__In{
	position: relative;
	width: 100%;
	padding-top: min(calc(32 / var(--vw-min) * 100vw), 32px);
}

.cameraCont__section:not(:first-child){
	margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
}

.camera__howtoLists{
	display: flex;
	flex-wrap: wrap;
	gap: min(calc(22 / var(--vw-min) * 100vw), 22px);
}
.camera__howtoList{
	width: calc((100% - (min(calc(22 / var(--vw-min) * 100vw), 22px) * 3)) / 4);
}


.camera__howto--num{
	width: 100%;
	position: relative;
	text-align: center;
}
.camera__howto--numTxt{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-ultra);
	font-size: min(calc(30 / var(--vw-min) * 100vw), 30px);
	line-height: 1;
    letter-spacing: 0;
	width: min(calc(68 / var(--vw-min) * 100vw), 68px);
	height: min(calc(68 / var(--vw-min) * 100vw), 68px);
}
.camera__howto--numTxt:before{
	content: '';
	position: absolute;
	inset: 0;
	background: url(../img/common/bg/bg_title3.svg) no-repeat center / contain;
}

.camera__howto--num:after{
	content: '';
	position: absolute;
	top: 0;
	right: max(calc(-32 / var(--vw-min) * 100vw), -32px);
	bottom: 0;
	width: min(calc(40 / var(--vw-min) * 100vw), 40px);
	height: min(calc(32 / var(--vw-min) * 100vw), 32px);
	mask: url(../img/common/deco/deco_arrow.svg) no-repeat center / contain;
	background-color: #b91703;
	margin: auto 0;
}
.cameraCont__In .camera__howtoList:last-child .camera__howto--num:after{
	content: unset;
}

.camera__howto--image{
	width: 100%;
	padding-top: min(calc(16 / var(--vw-min) * 100vw), 16px);
	padding-bottom: min(calc(16 / var(--vw-min) * 100vw), 16px);
}
.camera__howto--image img{
	width: 100%;
}
.camera__howto--text{
	line-height: 2;
}


@media screen and (max-width:768px){
	.camera__main{
		padding-top: calc(24 / var(--vw-min) * 100vw);
	}
	.cameraCont__section{
		padding: 6px;
	}
	.cameraCont__sectionIn{
		padding: calc(48 / var(--vw-min) * 100vw) calc(24 / var(--vw-min) * 100vw);
	}
	.cameraCont__titleIn{
		min-width: calc(248 / var(--vw-min) * 100vw);
		padding-left: calc(12 / var(--vw-min) * 100vw);
		padding-right: calc(12 / var(--vw-min) * 100vw);
		padding-bottom: calc(32 / var(--vw-min) * 100vw);
	}
	.cameraCont__title--txt{
		font-size: calc(18 / var(--vw-min) * 100vw);
	}
	.cameraCont__deco > span{
		width: calc(54 / var(--vw-min) * 100vw);
		height: calc(12 / var(--vw-min) * 100vw);
	}
	.cameraCont__In{
		padding-top: calc(16 / var(--vw-min) * 100vw);
	}
	.cameraCont__section:not(:first-child){
		margin-top: calc(24 / var(--vw-min) * 100vw);
	}
	.camera__howtoLists{
		gap: calc(12 / var(--vw-min) * 100vw);
	}
	.camera__howtoList{
		width: calc((100% - calc(12 / var(--vw-min) * 100vw)) / 2);
	}
	.camera__howto--numTxt{
		font-size: calc(16 / var(--vw-min) * 100vw);
		width: calc(32 / var(--vw-min) * 100vw);
		height: calc(32 / var(--vw-min) * 100vw);
	}
	.camera__howto--num:after{
		right: calc(-15 / var(--vw-min) * 100vw);
		width: calc(20 / var(--vw-min) * 100vw);
		height: calc(16 / var(--vw-min) * 100vw);
	}
	.cameraCont__In .camera__howtoList:nth-of-type(2n) .camera__howto--num:after{
		content: unset;
	}
	.camera__howto--image{
		padding-top: calc(8 / var(--vw-min) * 100vw);
		padding-bottom: calc(8 / var(--vw-min) * 100vw);
	}
}




/**
* btnBox
**/
.btnBox{
	text-align: center;
	position: relative;
	margin-top: min(calc(60 / var(--vw-min) * 100vw), 60px);
}
.btnBox--link{
	position: relative;
	display: inline-block;
	min-width: min(calc(360 / var(--vw-min) * 100vw), 360px);
	font-family: var(--main-font-family);
	font-size: min(calc(26 / var(--vw-min) * 100vw), 26px);
	font-weight: 700;
	color: var(--color-cream);
	line-height: 1;
	padding: min(calc(25 / var(--vw-min) * 100vw), 25px) min(calc(32 / var(--vw-min) * 100vw), 32px);
	border-radius: min(calc(80 / var(--vw-min) * 100vw), 80px);
	border: 2px solid #6e1e23;
	overflow: hidden;
	text-decoration: none;
	text-align: center;
	transition: transform .2s ease, filter .3s ease, opacity .3s ease;
}
.btnBox--link.--none{
	pointer-events: none;
	filter: grayscale(100%);
	opacity: 60%;
}
.btnBox--txt{
	display: block;
	position: relative;
	padding: 0 min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.btnBox--txt:after{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto 0;
	width: min(calc(22 / var(--vw-min) * 100vw), 22px);
	height: min(calc(16 / var(--vw-min) * 100vw), 16px);
	-webkit-mask: url(../img/common/deco/deco_arrow.svg) no-repeat center / contain;
	mask: url(../img/common/deco/deco_arrow.svg) no-repeat center / contain;
	background-color: var(--color-cream);
}
.btnBox--link.-link_back .btnBox--txt:after{
	right: unset;
	left: 0;
	transform: scale(-1);
}
.btnBox--bg{
	position: absolute;
	inset: 0;
	border-radius: min(calc(40 / var(--vw-min) * 100vw), 40px);
	background-color: var(--color-red);
	z-index: -1;
}
.btnBox--bg:before{
	content: '';
	position: absolute;
	inset: 0;
	-webkit-mask: url(../img/special/quiz/bg_list.png) no-repeat left center;
	mask: url(../img/special/quiz/bg_list.png) no-repeat left center;
	mask-size: 992px 515px;
	background-color: #B91338;
}
.btnBox--bg:after{
	content: '';
	position: absolute;
	inset: min(calc(2 / var(--vw-min) * 100vw), 2px);
	border: 1px solid var(--color-cream);
	border-radius: 80px;
}

@media screen and (hover:hover) and (pointer: fine){
	.btnBox--link:hover{
		transform: scale(104%);
	}
}

@media screen and (max-width:768px){
	.btnBox{
		margin-top: calc(30 / var(--vw-min) * 100vw);
	}
	.btnBox--link{
		min-width: calc(240 / var(--vw-min) * 100vw);
		max-width: 100%;
		font-size: calc(16 / var(--vw-min) * 100vw);
		padding: calc(14 / var(--vw-min) * 100vw) calc(24 / var(--vw-min) * 100vw);
		border-width: max(calc(1 / var(--vw-min) * 100vw), 1px);
	}
	.btnBox--txt{
		padding: 0 calc(24 / var(--vw-min) * 100vw);
	}
	.btnBox--txt:after{
		width: calc(14 / var(--vw-min) * 100vw);
		height: calc(10 / var(--vw-min) * 100vw);
	}
	.btnBox--bg:before{
		mask-size: calc(496 / var(--vw-min) * 100vw) calc(256 / var(--vw-min) * 100vw);
	}
}


/* backT */
.btnBox__backT{
	display: block;
	text-align: center;
	margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.btnBox__backT--link{
	display: inline-block;
	position: relative;
	padding-left: min(calc(40 / var(--vw-min) * 100vw), 40px);
	font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	color: #6E1E23;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
}
.btnBox__backT--link:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto 0;
	height: min(calc(16 / var(--vw-min) * 100vw), 16px);
	width: min(calc(22 / var(--vw-min) * 100vw), 22px);
	-webkit-mask: url(../img/common/deco/deco_arrow.svg) no-repeat center / contain;
	mask: url(../img/common/deco/deco_arrow.svg) no-repeat center / contain;
	transform: scale(-1);
	background-color: #6E1E23;
}


@media screen and (hover:hover) and (pointer: fine){
	.btnBox__backT--txt > span{
		position: relative;
		display: inline-block;
		padding-bottom: 4px;
	}
	.btnBox__backT--txt > span:before{
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		width: 0%;
		height: 2px;
		margin: 0 auto;
		background-color: #6E1E23;
		transition: width .3s ease;
	}
	.btnBox__backT--link:hover .btnBox__backT--txt > span:before{
		width: 100%;
	}
	.btnBox__backT--link:before{
		transition: transform .3s ease;
	}
	.btnBox__backT--link:hover::before{
		transform: scale(-1) translateX(40%);
	}
}

@media screen and (max-width:768px){
	.btnBox__backT{
		margin-top: calc(20 / var(--vw-min) * 100vw);
	}
	.btnBox__backT--link{
		padding-left: calc(24 / var(--vw-min) * 100vw);
		font-size: calc(15 / var(--vw-min) * 100vw);
	}
	.btnBox__backT--link:before{
		top: calc(2 / var(--vw-min) * 100vw);
		width: calc(14 / var(--vw-min) * 100vw);
        height: calc(10 / var(--vw-min) * 100vw);
	}
}