@charset "UTF-8";
/* otoshidama2025 */

#otoshidama { font-feature-settings: "palt"; letter-spacing: .05em;}
#otoshidama img { width: 100%;}
#otoshidama a { text-decoration: none;}

.otoshidama_header {
	background: #D7000F url("../images/2025bg_type02.png") 0 bottom no-repeat;
	background-size: 100%;
}
.title_main {}
	.title_main_text {
		color: #FFFFFF;
		padding: .5em 0;
	}
		.otoshidama_inner {
			width: 87.5vw;
			max-width: 800px;
			margin: auto;
		}
			.textbox01 {
				margin: 0 auto 2em;
				font-weight: 400;
				font-size: 1.1em;
			}
				.textbox01 p { margin: .5em 0;}
			.textbox02 {
				position: relative;
				background-color: #FFFFFF;
				color: #000000;
				border-radius: 1em;
				padding: 1.2em;
				overflow: hidden;
			}
			.textbox02::after {
				content: "";
				position: absolute;
				background-image: url("../images/2025bg_type01.png");
				background-size: 10vw auto;
				top: 0;
				right: 0;
				bottom: 0;
				left: 0;
			}
			.inner_box {
				position: relative;
				z-index: 1;
			}
				.title_sub_type01 {
					color: #D7000F;
					border-bottom: solid 2px;
					padding-bottom: .2em;
					margin-bottom: 1em;
					display: flex;
					justify-content: space-between;
					align-items: flex-end;
				}
.img_ume { display: none;}

.font01 {
	color: #D7000F;
	font-weight: 800;
	font-size: 1.5em;
}
.btnStyle01 { position: relative;}
.btnStyle01::before {
    left: -1.2em;
    width: .5em;
    height: .5em;
    border-top: 1px solid #000000;
    border-right: 1px solid #000000;
    transform: translateY(-50%) rotate(45deg);
    content: "";
    display: block;
    position: absolute;
    top: 50%;
}
	.btnStyle01 a {
		color: #000000;
		font-weight: 600;
	}

.listStyle_type01 {
	margin-left: 20px;
	list-style: decimal;
	font-size: 1.1em;
	font-weight: 800;
	padding-left: .3em;
}
	.listStyle_type01 li { margin: .3em 0;}
.btnStyle02 {
	margin: 1em auto;
	width: 80%;
	max-width: 400px;
}
	.btnStyle02 a {
		background: linear-gradient(to right, #FACE00, #FFFBD0, #CA9A0C, #F2E08B, #FFFBD0);
		border: #CA9A0C solid 2px;
		border-radius: 100px;
		text-align: center;
		display: block;
		padding: .7em;
		font-size: 1.4em;
		font-weight: 800;
		color: #000000;
		text-decoration: none;
		box-shadow: 0 10px 10px 0 rgba(0, 0, 0, .25);
	}
.btnStyle03 {
	margin: 1em auto;
	width: 80%;
	max-width: 400px;
	background: #F2E08B;
    border: #CA9A0C solid 2px;
    border-radius: 100px;
    text-align: center;
    display: block;
    padding: .7em;
    font-size: 1.4em;
    font-weight: 800;
    color: #000000;
    opacity: .6;
	box-sizing: border-box;
}
.listStyle_type02 { margin: 1em auto;}
	.listStyle_type02 li {
		position: relative;
		padding-left: 1.2em;
		margin-bottom: .3em;
/*		font-size: .8em;*/
		line-height: 1.4;
	}
	.listStyle_type02 li::before {
		content: "※";
		position: absolute;
		top: 0;
		left: 0;
	}
.textbox04 {
	text-align: center;
	font-size: 1.3em;
	font-weight: 700;
	margin-bottom: 1em;
}

.sectionMenu01 { padding: 2em 0;}
	section .font01 {
		border-bottom: solid 2px;
		padding-bottom: .2em;
		margin-bottom: 1em;
	}
	.listStyleBtn01 {
		display: flex;
		justify-content: space-between;
	}
		.listStyleBtn01 li { width: 32.5%;}
			.listStyleBtn01 li a {
				display: block;
				text-align: center;
				font-weight: 600;
				font-size: 1em;
				padding: .5em .2em;
				color: #000000;
				border-radius: 100px;
				background-color: #F0C900;
			}
				.listStyleBtn01 li a span.wordspace {
					letter-spacing: 1em;
					text-indent: 1em;
					display: inline-block;
				}
	.listStyleBtn02 {}
		.listStyleBtn02 li {
			margin: 1.5em auto;
/*			background: linear-gradient(to right, #FACE00, #D7B246, #F2E08B);*/
			background: linear-gradient(-45deg, #D7B246, #F7B300, #F2E08B, #FACE00, #D7B246);
			border: #FACE00 solid 1px;
			border-radius: .8em;
			box-shadow: 0 0 10px 0 rgba(0, 0, 0, .25);
			overflow: hidden;
		}
			.listStyleBtn02 li a {
				color: #000000;
				display: flex;
				justify-content: space-between;
				align-items: center;
			}
				.genreImg { width: 40%;}
					.genreImg figure {}
						.genreImg figure img {}
				.genreDertail {
					width: 60%;
					padding: 0 1em;
				}
					.genreDertail dt {
						font-weight: 800;
						font-size: 1.2em;
						margin-bottom: .3em;
					}
					.genreDertail dd { font-size: .9em;}

.sectionList01 { padding: 2em 0;}
	.listStyleDetail01 {}
		.listStyleDetail01 li {
			display: flex;
			justify-content: space-between;
			margin-bottom: 1em;
			padding-bottom: 1em;
			border-bottom: #D3D3D3 solid 1px;
		}
			.img_present { width: 35%;}
			.detail_present { width: calc(65% - 1em);}
				.present_title {
					color: #D7000F;
					font-weight: 600;
					font-size: 1.2em;
					line-height: 1.4;
				}
				.present_number {
					color: #D7000F;
					font-weight: 400;
					text-align: right;
				}
				.present_sponsor { margin-top: .5em;}
					#otoshidama .present_sponsor a { text-decoration: underline;}

/* detail -------- */
.otoshidama_header.detail {
	background: none;
	margin: 1em 0;
}
				.detail .title_sub_type01 {
					border-bottom: none;
					justify-content: flex-end;
				}
.sectionOtoshidama {}
.font02 {
	background-color: #D7000F;
	color: #FFFFFF;
	padding: .5em .8em;
	line-height: 1.2;
	font-weight: 700;
	font-size: 1.3em;
	letter-spacing: .2em;
	margin-bottom: 1em;
}
.otoshidama_area { margin: 2em 0;}

/* FAQ -------- */
.sectionFAQ {}
#otoshidama .sectionFAQ a { text-decoration: underline;}
.sectionFAQ .listStyle_type02 { margin: .3em auto;}
	.faq_inner {
		max-width: 800px;
		margin: auto;
	}
		.otoshidama_FAQ { margin-bottom: 1em;}
			.otoshidama_FAQ dt {
				position: relative;
				padding: .5em .5em .5em 2em;
				font-weight: 600;
				font-size: 1.1em;
				background-image: url("../images/2025bg_type01.png");
				background-color: #F0F1e5;
				background-size: 10vw auto;
			}
			.otoshidama_FAQ dt::before {
				content: "Q.";
				position: absolute;
				top: .5em;
				left: .5em;
			}
			.otoshidama_FAQ dd {
				position: relative;
				padding: .5em .5em .5em 2em;
			}
			.otoshidama_FAQ dd::before {
				content: "A.";
				position: absolute;
				top: .5em;
				left: .5em;
				font-weight: 600;
				color: #D7000F;
			}
.listStyle_type03 { margin: .8em auto;}
	.listStyle_type03 li {
		position: relative;
		padding-left: 1em;
		margin-bottom: .3em;
		line-height: 1.4;
	}
	.listStyle_type03 li::before {
		content: "・";
		position: absolute;
		top: 0;
		left: 0;
	}
.mt_1em { margin-top: 1em;}
.textbox03 {
	color: #D7000F;
	border: solid 1px;
	padding: 1em;
}

@keyframes circleRotation_L01 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg); } }
@keyframes circleRotation_R01 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

/* !PC
-------------------------------------------------- */
@media only print, screen and (min-width: 40.063em) {
.break-keep { word-break: keep-all;}

#otoshidama a,
#otoshidama a::after { transition: .2s;}
	
.title_main {}
	.title_main_text {
		padding: 2em 0;
		position: relative;
	}
/*			.textbox01 { font-size: 1.1em;}*/
			.textbox02 { padding: 2em 3em;}
			.textbox02::after { background-size: 50px auto;}
.font01 { font-size: 1.8em;}
.btnStyle01 a { font-size: 1.1em;}
.btnStyle01 a:hover { opacity: .5;}
.listStyle_type01 { font-size: 1.3em;}
.btnStyle02 { margin: 2em auto;}
	.btnStyle02 a { font-size: 1.6em;}
	.btnStyle02 a:hover { box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);}

.circleRotation_L01 {
	-webkit-animation: circleRotation_L01 infinite 10s linear;
    animation: circleRotation_L01 infinite 10s linear;
}
.circleRotation_R01 {
	-webkit-animation: circleRotation_R01 infinite 10s linear;
    animation: circleRotation_R01 infinite 10s linear;
}

.img_ume {
	display: block;
	width: 36px;
	position: absolute;
}
.img_ume.type01 {
	top: 80px;
	left: 40px;
}
.img_ume.type02 {
	top: 140px;
	left: 15px;
}
.img_ume.type03 {
	top: 250px;
	left: 35px;
}
.img_ume.type04 {
	top: 80px;
	right: 25px;
}
.img_ume.type05 {
	top: 130px;
	right: 50px;
}
.img_ume.type06 {
	top: 220px;
	right: 30px;
}


.sectionMenu01.otoshidama_inner,
.sectionList01.otoshidama_inner,
.title_sub_type01.otoshidama_inner,
.sectionOtoshidama.otoshidama_inner,
.sectionFAQ.otoshidama_inner { max-width: 990px;}
.sectionMenu01 { padding: 3em 0;}
	.listStyleBtn01 { justify-content: space-evenly;}
		.listStyleBtn01 li { width: 30%;}
			.listStyleBtn01 li a {
				font-size: 1.4em;
				padding: .8em;
			}
	.listStyleBtn01 li a { position: relative; overflow: hidden;}
	.listStyleBtn01 li a::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 10;
		width: 0;
		height: 100%;
		background-color: #D7000F;
		transition: all .3s cubic-bezier(.5, .24, 0, 1);
	}
	.listStyleBtn01 li a:hover { color: #FFFFFF;}
	.listStyleBtn01 li a:hover::before { width: 100%;}
	.listStyleBtn01 li a:hover::after { width: 0;}
		.listStyleBtn01 li a span {
			position: relative;
			z-index: 100;
		}
	.listStyleBtn02 { display: flex;}
		.listStyleBtn02 li {
			width: 30%;
			transition: transform .3s cubic-bezier(.175,.885,.32,1.275);
		}
		.listStyleBtn02 li:hover {
			transition: transform .3s cubic-bezier(.175,.885,.32,1.275);
			transform: scale(1.08);
		}
			.listStyleBtn02 li a {
				display: block;
				height: 100%;
			}
				.genreImg {
					width: auto;
					padding: 1em 1em 0 1em;
				}
					.genreImg figure {
						border-radius: .5em;
						overflow: hidden;
					}
				.genreDertail {
					width: auto;
					padding: 1.5em 1em;
					text-align: center;
				}
					.genreDertail dt {
						font-size: 1.5em;
						line-height: 1.2;
					}
					.genreDertail dt.wordspace {
						letter-spacing: 1em;
						text-indent: 1em;
						display: inline-block;
					}
					.genreDertail dd { font-size: 1em;}
	.textbox01 { text-align: center;}
	.textbox04 { font-size: 1.8em;}
	
.sectionList01 { padding: 3em 0;}
	.listStyleDetail01 {
		display: flex;
		flex-wrap: wrap;
		align-content: flex-start;
	}
	.listStyleDetail01 li {
		display: inline-block;
		width: 300px;
		border-bottom: none;
		padding: 0 15px;
	}
		.img_present { width: 100%;}
		.detail_present {
			width: 100%;
			padding: 1em 0;
		}

/* detail -------- */
	.otoshidama_area { margin: 4em 0;}
	.font02 { font-size: 1.6em;}

/* FAQ -------- */
	.faq_inner { margin-top: 3em;}
		.otoshidama_FAQ { margin-bottom: 2em;}
			.otoshidama_FAQ dt {
				font-size: 1.3em;
				background-size: 50px auto;
			}
			.otoshidama_FAQ dd { font-size: 1.1em;}
				.otoshidama_FAQ dd .listStyle_type02 li { font-size: .9em;}
}




