@charset "utf-8";

/*全体*/
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.flex {
	display: flex;
}
.el-d-section,
.el-d-section--fullWidth {
	text-align: center;
}
@media screen and (max-width:699px) {
	.flex {
		display: block;
	}
}
a:hover {
	opacity: 0.7;
}
.indent {
	padding-left: 1em;
	text-indent: -1em;
}
.mgb1em {
	margin-bottom: 1em;
}
.mgb05em {
	margin-bottom: 0.5em
}
br.forsp {
	display: none;
}
br.forpc {
	display: inline-block;
}
@media screen and (max-width:699px) {
	br.forsp {
		display: inline-block;
	}
	br.forpc {
		display: none;
	}
}

/*----------kirekira--------------*/
.kirekira {
	overflow-x: hidden;
}
/*bg*/
.border__bg {
	background-image: url(/_var/kirekira/campaign/cafesweets2025/img/border-bg.png);
	background-repeat: repeat-y;
	background-size: contain;
	padding-bottom: 1px;
}

/*kv*/
.kv__sec {
	margin-bottom: 30px;
}
.kirekira__logo {
	max-width: 800px;
	margin: 0 auto;
}
.kirekira__ttl {
	position: relative;
	max-width: 580px;
	margin: 0 auto 180px;
}
.main__ttl {
	position: absolute;
	top: -10px;
}
.hit {
	max-width: 500px;
	margin: 0 auto 10px;
}
.prezent__list {
	max-width: 800px;
	margin: 0 auto 30px;
}
.lottery {
	max-width: 900px;
	margin: 0 auto;
}
/*period*/
.white__bg {
	background: #fff;
	padding: 24px 0;
}
.period {
	max-width: 860px;
	margin: 0 auto;
}
@media screen and (max-width:699px) {
	.kv__sec {
		margin-bottom: 3.38vw;
	}
	.kirekira__ttl {
		margin: 0 auto 25vw;
	}
	.main__ttl {
		top: -5.1vw;
	}
	.hit {
		max-width: 71.53vw;
		margin: 0 auto 1.3vw;
	}
	.prezent__list {
		margin: 0 auto 3vw;
	}
	.white__bg {
		padding: 2.23vw 0;
	}
}
/*line__contents*/
.line__contents {
	max-width: 680px;
	margin: 80px auto;
}
.line__contents .hit {
	max-width: 680px;
}
@media screen and (max-width:699px) {
	.line__contents {
		margin: 11.1vw auto 10.7vw;
		max-width: 76.92vw;
	}
}

/*white__box*/
.white__box {
	max-width: 1000px;
	margin: 0 auto 136px;
	background-image: url(/_var/kirekira/campaign/cafesweets2025/img/white-box.png);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding: 70px 50px 112px;
}
.whiteBox__ttl {
	max-width: 705px;
	margin: 0 auto 93px;
}
@media screen and (max-width:699px) {
	.white__box {
		margin: 0 auto 16.15vw;
		padding: 6.15vw 3.84vw 5.38vw;
	}
	.whiteBox__ttl {
		margin: 0 auto 9.53vw;
		max-width: 69.23vw;
	}
}

/*step__list*/
.step__list {
	position: relative;
	background: #FFF100;
	margin-bottom: 59px;
	padding: 44px 56px 44px 0px;
}
.step__list:after {
	position: absolute;
	content: '';
	background: url(/_var/kirekira/campaign/cafesweets2025/img/arrow-down.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	bottom: -38px;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 28px;
}
.step__list:last-of-type {
	margin-bottom: 30px;
}
.step__list:last-of-type:after {
	content: none;
}
.boxTop {
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	max-width: 136px;
}
.step__flex {
	display: flex;
	gap: 40px;
}
.step__flex .step--read {
	width: 75%;
	margin-left: 25%;
}
.step--img {
	display: block;
	width: 20%;
	/*
	margin-top:-20px;
	margin-left:-10px;*/
	position: absolute;
	top: -20px;
	left: -10px;
}
.step--txt {
	display: block;
	/*margin-top: 40px;*/
}
.step--attention {
	padding-top: 28px;
}
.attention {
	font-size: 16px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: bold;
	text-align: left;
	line-height: 1.6;
}
.step--attention.pcNone {
	display: none;
}
.step--attention.spNone {
	display: block;
}
@media screen and (max-width:699px) {
	.step__list {
		margin-bottom: 10.15vw;
		padding: 6vw 2.76vw 4.23vw 0;
	}
	.step__list:after {
		bottom: -6.15vw;
		background-repeat: no-repeat;
		width: 5vw;
		height: 3.4vw;
	}
	.step__list:last-of-type {
		margin-bottom: 3.84vw;
	}
	.boxTop {
		top: -3vw;
		max-width: 20vw;
	}
	.step__flex {
		gap: 3.38vw;
	}
	.step__flex .step--read {
		width: 70%;
		margin-left: 34%;
	}
	.step--img {
		top: -2.61vw;
		left: -1vw;
		width: 30%;
	}
	.step--attention {
		padding-top: 8.46vw;
	}
	.step--attention.spNone {
		display: none;
	}
	.step--attention.pcNone {
		display: block;
		padding-left: 4.38vw;
	}
	.attention {
		font-size: 3vw;
	}
}

/*gift*/
.gift {
	position: relative;
	padding: 53px 100px;
	margin: 0 auto 80px;
}
.gift .boxTop {
	max-width: 278px;
	top: -30px;
}
.gift .whiteBox__ttl {
	margin-bottom: 53px;
}
.gift__lists {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 760px;
	margin: 0 auto;
}
.gift__list {
	width: 44%;
}
.gift__txt {
	margin: 20px 0 38px;
	font-size: 20px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: bold;
}
@media screen and (max-width:699px) {
	.gift {
		padding: 4vw 5.9vw;
		margin: 0 auto 10.76vw;
	}
	.gift .boxTop {
		max-width: 33.38vw;
		top: -3.6vw;
	}
	.gift .whiteBox__ttl {
		margin-bottom: 5.23vw;
	}
	.gift__list {
		width: 47%;
	}
	.gift__txt {
		margin: 2.3vw 0 4.53vw;
		font-size: 2.8vw;
	}
}

/*targetProduct*/
.targetProduct {
	position: relative;
	margin-bottom: 100px;
}
.secTop {
	max-width: 281px;
	margin: 0 auto 26px;
}
.targetProduct__ttl {
	max-width: 700px;
	margin: 0 auto 64px;
}
.product__box {
	max-width: 960px;
	margin: 0 auto;
}
.product__ttl {
	display: flex;
	align-items: center;
	background: #fff;
	border-radius: 30px;
	margin-bottom: 10px;
	padding: 15px 0;
}
.product__ttl img {
	margin: 0 auto;
}
.tc .product__ttl img {
	max-width: 246px;
}
.fw .product__ttl img {
	max-width: 211px;
}
.kc .product__ttl img {
	max-width: 286px;
}
.bc .product__ttl img {
	max-width: 306px;
}
.product__lists {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 7%;
	padding: 0 2%;
	margin-bottom: 80px;
}
.product__list {
	width: 28%;
}
.product__list picture {
	display: flex;
	align-items: center;
}
.product__txt {
	font-size: 16px;
	line-height: 1.4;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: bold;
	text-align: center;
	color: #002268;
	text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0 -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.product__attention .attention {
	margin-left: 2em;
}
@media screen and (max-width:699px) {
	.targetProduct {
		margin-bottom: 6.92vw;
	}
	.secTop {
		max-width: 33.38vw;
		margin: 0 auto 4vw;
	}
	.targetProduct__ttl {
		max-width: 70.3vw;
		margin: 0 auto 9.23vw;
	}
	.product__ttl {
		margin-bottom: 3.84vw;
		padding: 1.53vw 0;
	}
	.tc .product__ttl img {
		max-width: 30.4vw;
	}
	.fw .product__ttl img {
		max-width: 26.15vw;
	}
	.kc .product__ttl img {
		max-width: 33.84vw;
	}
	.bc .product__ttl img {
		max-width: 37.76vw;
	}
	.product__lists {
		justify-content: space-between;
		gap: 4%;
		padding: 0 2%;
		margin-bottom: 10.61vw;
	}
	.product__list {
		width: 48%;
	}
	.product__list picture {
		display: flex;
		align-items: center;
	}
	.product__txt {
		font-size: 2.7vw;
	}
}

/*応募要項*/
.applicationGuideline {
	padding-top: 80px;
}
.applicationGuideline__ttl {
	max-width: 281px;
	margin: 0 auto 40px;
}
.applicationGuideline__wrap {
	position: relative;
	background: #fff;
	border-radius: 10px;
	padding: 24px 20px 24px 24px;
	height: 400px;
}
.applicationGuideline__wrap .scroll-box {
	height: 100%;
}
.applicationGuideline__contents {
	text-align: left;
	padding-right: 20px;
	word-break: break-all;
	overflow-wrap: break-word;
}
.applicationGuideline__contents dl {
	margin-top: 30px;
}
.applicationGuideline__contents dt {
	font-weight: bold;
}
.applicationGuideline__contents * {
	font-size: 20px;
}
.disc li {
	list-style-type: disc;
	margin-left: 1.5em;
}
.border--blue {
	border: solid 4px #1A2C7A;
}
@media screen and (max-width:699px) {
	.applicationGuideline {
		padding-top: 8.69vw;
	}
	.applicationGuideline__ttl {
		max-width: 33.38vw;
		margin: 0 auto 4.07vw;
	}
	.applicationGuideline__wrap {
		padding: 4.6vw 1.9vw 3.07vw 1.84vw;
	}
	.applicationGuideline__wrap .scroll-box {
		height: 100%;
	}
	.applicationGuideline__contents {
		padding-right: 1.9vw;
	}
	.applicationGuideline__contents dl {
		margin-top: 5.38vw;
	}
	.applicationGuideline__contents * {
		font-size: 14px;
	}
}

/*-----scroll-box------*/
.scroll-box {
	overflow-y: scroll;
}
.scroll-box::-webkit-scrollbar {
	background: #1A2C7A;
	width: 20px;
	border-radius: 10px;
}
.scroll-box::-webkit-scrollbar-thumb {
	background-color: #fff;
	border-radius: 10px;
	height: 50px;
	border: 3px solid #1A2C7A;
}
.scroll-box::-webkit-scrollbar-thumb:hover {
	background-color: #fff;
}
@media screen and (max-width:699px) {
	.scroll-box::-webkit-scrollbar {
		width: 10px;
	}
	.scroll-box::-webkit-scrollbar-thumb {
		border: 1px solid #1A2C7A;
	}
}