

@charset "utf-8";

:root {
	--color-cham: #C681C7;
	--color-yangnyom: #56C4CE;
	--color-pink: #E268A0;
	--color-orange: #EA5404;
	--color-yellow: #FFF100;
	--color-brown: #470000;
	--mask-wave-both: url("../images/mask_wave_t.svg") no-repeat top center / 1600px 50px,
	linear-gradient(to bottom, transparent 48px, #000 48px, #000 calc(100% - 48px), transparent calc(100% - 48px)),
	url("../images/mask_wave_b.svg") no-repeat bottom center / 1600px 50px;
	--mask-wave-top: url("../images/mask_wave_t.svg") no-repeat top center / 1600px 50px,
	linear-gradient(to bottom, transparent 48px, #000 48px);
	--mask-wave-bottom: linear-gradient(to bottom, #000 calc(100% - 48px), transparent calc(100% - 48px)),
	url("../images/mask_wave_b.svg") no-repeat bottom center / 1600px 50px;
}

@media screen and (min-width:768px) {
	[sp] {
		display: none;
	}
}

@media screen and (max-width:767px) {
	:root {
		--mask-wave-both: url("../images/mask_wave_t_sp.svg") no-repeat top center / 767px 20px,
		linear-gradient(to bottom, transparent 18px, #000 18px, #000 calc(100% - 18px), transparent calc(100% - 18px)),
		url("../images/mask_wave_b_sp.svg") no-repeat bottom center / 767px 20px;
		--mask-wave-top: url("../images/mask_wave_t_sp.svg") no-repeat top center / 767px 20px,
		linear-gradient(to bottom, transparent 18px, #000 18px);
		--mask-wave-bottom: linear-gradient(to bottom, #000 calc(100% - 18px), transparent calc(100% - 18px)),
		url("../images/mask_wave_b_sp.svg") no-repeat bottom center / 767px 20px;
	}

	[pc] {
		display: none;
	}

	.cp-kankokukibun-spcenter {
		text-align: center;
	}
}


/* ----------------------------------------------------------------------
 theme-setting
---------------------------------------------------------------------- */
/* theme color */
.cp-kankokukibun-color-pink {
	color: var(--color-pink);
}

/* theme tag */
.cp-kankokukibun-tag {
	position: relative;
	top: -2px;
	display: inline-block;
	padding: 7px 15px 9px;
	margin-inline: 5px;
	background: var(--color-cham);
	border-radius: 40px;
	color: #fff;
	font-size: 20px;
	line-height: 1;
}

.cp-kankokukibun-tag::before {
	content: '#';
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-tag {
		top: -2px;
		padding: 6px 14px 8px;
		margin-inline: 5px;
		font-size: 16px;
	}
}

/* theme heading */
.cp-kankokukibun-heading-lv2 {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

.cp-kankokukibun-heading-lv2:only-child {
	padding-bottom: 0;
}

.cp-kankokukibun-heading-lv2::before,
.cp-kankokukibun-heading-lv2::after {
	display: block;
	content: '';
	height: 60px;
	aspect-ratio: 34 / 60;
	background: url(../images/ico_love.svg) no-repeat 0 0 / contain;
}

.cp-kankokukibun-heading-lv2 .cp-heading-title {
	color: var(--color-pink);
	font-weight: 900;
}

.cp-kankokukibun-heading-lv2 .cp-heading-title::before {
	content: '# ';
	color: #3AB1BA;
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-heading-lv2 {
		gap: 15px;
	}

	.cp-kankokukibun-heading-lv2::before,
	.cp-kankokukibun-heading-lv2::after {
		height: 32px;
	}
}

/* theme font */
.cp-kankokukibun-zenmaru {
	font-family: 'Zen Maru Gothic', serif;
}

/* theme fill */
.cp-kankokukibun-bg-cham {
	background: var(--color-cham);
}

.cp-kankokukibun-bg-yangnyom {
	background: var(--color-yangnyom);
}

/* theme button */
.cp-kankokukibun-button-cham .cp-button_inner {
	background: var(--color-cham);
	border-color: var(--color-cham);
}

.cp-kankokukibun-button-cham .cp-button_inner::before {
	background: #fff;
	mask: url(/assets/img/cms_parts/ico_arrow-white.svg);
}

.cp-kankokukibun-button-cham .cp-button_inner:hover {
	background: #fff;
	border-color: var(--color-cham);
	color: var(--color-cham);
}

.cp-kankokukibun-button-cham .cp-button_inner:hover::before {
	background: var(--color-cham);
}

.cp-kankokukibun-button-yangnyom .cp-button_inner {
	background: var(--color-yangnyom);
	border-color: var(--color-yangnyom);
}

.cp-kankokukibun-button-yangnyom .cp-button_inner::before {
	background: #fff;
	mask: url(/assets/img/cms_parts/ico_arrow-white.svg);
}

.cp-kankokukibun-button-yangnyom .cp-button_inner:hover {
	background: #fff;
	border-color: var(--color-yangnyom);
	color: var(--color-yangnyom);
}

.cp-kankokukibun-button-yangnyom .cp-button_inner:hover::before {
	background: var(--color-yangnyom);
	mask: url(/assets/img/cms_parts/ico_arrow-white.svg);
}


/* ----------------------------------------------------------------------
 block-setting
---------------------------------------------------------------------- */

/* .inner_container override */
[class*="cp-kankokukibun"] .inner_container {
	max-width: 1153px;
}


/* KV
-------------------------------------------------- */
.cp-kankokukibun-kv {
	position: relative;
	display: flex;
	max-width: 1600px;
	height: min(700px, calc(700/1440*100vw));
	margin-inline: auto;
	background: url(../images/bg_kv_pc.jpg) no-repeat top center / cover;
}

.cp-kankokukibun-kv::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	display: block;
	content: '';
	width: 100%;
	height: 70px;
	background: linear-gradient(to right, var(--color-cham) 50%, var(--color-yangnyom) 50%);
	mask: var(--mask-wave-bottom);
}

.cp-kankokukibun-kv::after {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 60px;
	background: linear-gradient(rgba(0, 0, 0, 0) 0%, #000 100%);
	mix-blend-mode: overlay;
}

.cp-kankokukibun-kv_image {
	width: 630px;
	margin-block: auto;
	margin-left: calc(50% + 15px);
}

.cp-kankokukibun-kv_image img {
	width: 100%;
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-kv {
		height: calc(470/375*100vw);
		background: url(../images/bg_kv_sp.jpg) top center / cover;
	}

	.cp-kankokukibun-kv::before {
		height: 34px;
	}

	.cp-kankokukibun-kv::after {
		bottom: calc(60/375*100vw);
	}

	.cp-kankokukibun-kv_image {
		position: absolute;
		z-index: 3;
		bottom: calc(-50/375*100vw);
		width: calc(100% - 30px);
		margin: 0;
	}
}

/* INTRO
-------------------------------------------------- */
.cp-kankokukibun-intro {
	position: relative;
	margin-top: -50px;
	padding-block: 160px 190px;
	max-width: 1600px;
	margin-inline: auto;
	background: #FFF9E3;
	mask: var(--mask-wave-top);
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-intro {
		margin-top: calc(-70/375*100vw);
		padding-block: calc(162/375*100vw + 183px) 280px;
	}
}

/* INTRO logo */
.cp-kankokukibun-intro_logo img {
	width: 446px;
}

.cp-kankokukibun-intro_logotype {
	display: inline-block;
	width: auto;
	height: 26px;
	margin-right: 5px;
}

.cp-kankokukibun-intro_logotype img {
	width: auto;
	height: 100%;
	vertical-align: -3px;
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-intro_logo img {
		width: 160px;
	}

	.cp-kankokukibun-intro_logotype {
		height: 22px;
		margin-right: 3px;
	}

	.cp-kankokukibun-intro_logotype img {
		vertical-align: -2px;
	}
}

/* INTRO lead */
.cp-kankokukibun-intro_lead {
	color: var(--color-brown);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.8;
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-intro_lead {
		font-size: 20px;
		font-weight: 700;
	}
}

/* INTRO deco */
.cp-kankokukibun-intro-deco {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
}

.cp-kankokukibun-intro-deco1 {
	position: absolute;
	top: 516px;
	left: 50%;
	transform: translateX(273px) rotate(-8deg);
	width: 276px;
	aspect-ratio: 210 / 196;
	background: url(../images/img_intro_01.png) no-repeat 0 0 / contain;
	box-shadow: 0px 3px 36px rgba(121, 51, 34, 0.1);
}

.cp-kankokukibun-intro-deco2 {
	position: absolute;
	top: 73px;
	left: 50%;
	transform: translateX(317px) rotate(12deg);
	width: 200px;
	aspect-ratio: 210 / 196;
	background: url(../images/img_intro_02.png) no-repeat 0 0 / contain;
	box-shadow: 0px 3px 36px rgba(121, 51, 34, 0.1);
}

.cp-kankokukibun-intro-deco3 {
	position: absolute;
	top: 192px;
	left: 50%;
	transform: translateX(-529px) rotate(-16deg);
	width: 210px;
	aspect-ratio: 210 / 196;
	background: url(../images/img_intro_03.png) no-repeat 0 0 / contain;
	box-shadow: 0px 3px 36px rgba(121, 51, 34, 0.1);
}

.cp-kankokukibun-intro-deco4 {
	position: absolute;
	top: 558px;
	left: 50%;
	transform: translateX(-458px) rotate(-16deg);
	width: 162px;
	aspect-ratio: 1 / 1;
	background: url(../images/img_intro_04.png) no-repeat 0 0 / contain;
}

.cp-kankokukibun-intro-deco5 {
	position: absolute;
	top: 267px;
	left: 50%;
	transform: translateX(463px) rotate(12deg);
	width: 94px;
	aspect-ratio: 1 / 1;
	background: url(../images/img_intro_05.png) no-repeat 0 0 / contain;
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-intro-deco1 {
		top: auto;
		right: 11px;
		bottom: 77px;
		left: auto;
		transform: rotate(-8deg);
		width: 200px;
		box-shadow: 0px 3px 20px rgba(121, 51, 34, 0.1);
	}

	.cp-kankokukibun-intro-deco2 {
		top: calc(162/375*100vw);
		right: 27px;
		left: auto;
		transform: rotate(12deg);
		width: 140px;
		box-shadow: 0px 3px 20px rgba(121, 51, 34, 0.1);
	}

	.cp-kankokukibun-intro-deco3 {
		top: calc(162/375*100vw + 56px);
		left: 4px;
		transform: rotate(-16deg);
		width: 120px;
		box-shadow: 0px 3px 20px rgba(121, 51, 34, 0.1);
	}

	.cp-kankokukibun-intro-deco4 {
		position: absolute;
		top: auto;
		bottom: 213px;
		left: 25px;
		transform: rotate(-16deg);
		width: 90px;
	}

	.cp-kankokukibun-intro-deco5 {
		position: absolute;
		top: calc(162/375*100vw + 109px);
		right: 22px;
		left: auto;
		transform: rotate(12deg);
		width: 70px;
	}
}

/* KODAWARI
-------------------------------------------------- */
/* KODAWARI head */
.cp-kankokukibun-kodawari {
	margin-top: -50px;
	padding-block: 130px 124px;
	max-width: 1600px;
	margin-inline: auto;
	background: #fff;
	mask: var(--mask-wave-top);
}

.cp-kankokukibun-kodawari1 .cp-imageset_content,
.cp-kankokukibun-kodawari2 .cp-imageset_content {
	margin-block: auto;
}

.cp-kankokukibun-kodawari1 .cp-imageset_title,
.cp-kankokukibun-kodawari2 .cp-imageset_title {
	color: var(--color-yellow);
	font-size: 32px;
	font-weight: 900;
}

.cp-kankokukibun-kodawari1 .cp-imageset_text,
.cp-kankokukibun-kodawari2 .cp-imageset_text {
	color: #fff;
	font-weight: 500;
}

.cp-kankokukibun-kodawari1 .cp-imageset_text strong,
.cp-kankokukibun-kodawari2 .cp-imageset_text strong {
	color: var(--color-yellow);;
	font-weight: 700;
}

.cp-kankokukibun-kodawari1,
.cp-kankokukibun-kodawari2 {
	position: relative;
	z-index: 2;
	margin-top: -50px;
	padding-block: 84px;
	max-width: 1600px;
	margin-inline: auto;
}

.cp-kankokukibun-kodawari1-photo,
.cp-kankokukibun-kodawari2-photo {
	position: relative;
	margin-top: -50px;
	max-width: 1600px;
	padding-bottom: 130px;
	margin-inline: auto;
	position: relative;
}

.cp-kankokukibun-kodawari1-photo::before,
.cp-kankokukibun-kodawari2-photo::before {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	content: '';
	height: 440px;
}

.cp-kankokukibun-kodawari1-photo .cp-content,
.cp-kankokukibun-kodawari2-photo .cp-content {
	position: relative;
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-kodawari {
		margin-top: -20px;
		padding-block: 50px;
	}

	.cp-kankokukibun-kodawari1,
	.cp-kankokukibun-kodawari2 {
		margin-top: -20px;
		padding-block: 50px;
	}

	.cp-kankokukibun-kodawari1 .cp-imageset_title,
	.cp-kankokukibun-kodawari2 .cp-imageset_title {
		font-size: 28px;
	}

	.cp-kankokukibun-kodawari1-photo,
	.cp-kankokukibun-kodawari2-photo {
		margin-top: -20px;
		padding-bottom: 90px;
	}
}

/* KODAWARI cham */
.cp-kankokukibun-kodawari1 {
	background: var(--color-cham);;
	mask: var(--mask-wave-both);
}

.cp-kankokukibun-kodawari1-photo {
	background: #FFFAC5;
}

.cp-kankokukibun-kodawari1-photo::before {
	background: linear-gradient(to bottom, rgba(255, 215, 139, 0), rgba(255, 215, 139, .5));
}

/* KODAWARI yangnyom */
.cp-kankokukibun-kodawari2 {
	background: var(--color-yangnyom);
	mask: var(--mask-wave-both);
}

.cp-kankokukibun-kodawari2-photo {
	background: #FFEDDE;
}

.cp-kankokukibun-kodawari2-photo::before {
	background: linear-gradient(to bottom, rgba(255, 187, 186, 0), rgba(255, 187, 186, .5));
}


/* RECIPE
-------------------------------------------------- */

/* RECIPE head */
.cp-kankokukibun-recipe {
	margin-top: -50px;
	padding-block: 130px 90px;
	background: #fff;
	mask: var(--mask-wave-top);
}

.cp-kankokukibun-recipe .cp-text {
	color: var(--color-brown);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.8;
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-recipe {
		margin-top: -20px;
		padding-block: 60px;
	}

	.cp-kankokukibun-recipe .cp-text {
		font-size: 20px;
	}
}

/* RECIPE bg */
.cp-kankokukibun-recipe1 {
	max-width: 1600px;
	margin-inline: auto;
	position: relative;
	padding-block: 110px 130px;
	background: var(--color-cham);;
	mask: var(--mask-wave-top);
}

.cp-kankokukibun-recipe1::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	display: block;
	content: '';
	height: 1200px;
	background: linear-gradient(to bottom, rgba(228, 161, 229, 1), rgba(228, 161, 229, 0));
}

.cp-kankokukibun-recipe2 {
	position: relative;
	max-width: 1600px;
	margin-top: -50px;
	margin-inline: auto;
	padding-block: 110px 130px;
	background: var(--color-yangnyom);
	mask: var(--mask-wave-top);
}

.cp-kankokukibun-recipe2::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	display: block;
	content: '';
	height: 1200px;
	background: linear-gradient(to bottom, rgba(163, 227, 215, 1), rgba(163, 227, 215, 0));
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-recipe1,
	.cp-kankokukibun-recipe2 {
		margin-top: -20px;
		padding-block: 60px;
	}

	.cp-kankokukibun-recipe1::before,
	.cp-kankokukibun-recipe2::before {
		height: 600px;
	}
}

/* RECIPE flavor logo */
.cp-kankokukibun-recipe_logo img {
	width: 300px;
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-recipe_logo img {
		width: 260px;
	}
}

/* RECIPE flavor heading */
.cp-kankokukibun-recipe_heading {
	position: relative;
	padding: 12px 40px;
	color: #fff;
}

.cp-kankokukibun-recipe1 .cp-kankokukibun-recipe_heading::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	content: '';
	background: rgba(194, 138, 195, .5);
	border-radius: 100px;
	mix-blend-mode: multiply;
}

.cp-kankokukibun-recipe2 .cp-kankokukibun-recipe_heading::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	content: '';
	background: rgba(107, 192, 200, .5);
	border-radius: 100px;
	mix-blend-mode: multiply;
}

.cp-kankokukibun-recipe_heading .cp-heading-title {
	position: relative;
	color: #fff;
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-recipe_heading {
		padding: 10px 20px 12px;
	}

	.cp-kankokukibun-recipe_heading .cp-heading-title {
		font-size: 21px;
	}
}

/* RECIPE list */
.cp-kankokukibun-recipe_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 40px;
	margin-left: 0;
}

.cp-kankokukibun-recipe_list .cp-grid_item {
	width: calc((100% - 80px)/ 3);
	margin-left: 0;
}

.cp-kankokukibun-recipe_list .cp-imageset_title,
.cp-kankokukibun-recipe_list .cp-imageset_text {
	color: #fff;
}

.cp-kankokukibun-recipe_list .cp-imageset_image {
	border-radius: 20px;
	overflow: hidden;
	border: 2px solid #fff;
}

.cp-kankokukibun-recipe_list .cp-imageset_image img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transform: scale(1);
	transition: transform .2s;
	transform-origin: center;
}

.cp-kankokukibun-recipe_list .cp-kankokukibun-recipe_badge {
	position: relative;
}

.cp-kankokukibun-recipe_list .cp-kankokukibun-recipe_badge::after {
	position: absolute;
	top: -20px;
	left: -20px;
	display: flex;
	align-items: center;
	justify-content: center;
	content: '';
	width: 80px;
	height: 80px;
	background: #fff;
	border-radius: 50%;
	font-family: 'Zen Maru Gothic', serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -.08px;
	line-height: 1.2;
	text-align: center;
	white-space: pre;
}

.cp-kankokukibun-recipe1 .cp-kankokukibun-recipe_list .cp-grid_item:nth-of-type(1) .cp-kankokukibun-recipe_badge::after {
	content: '玉ねぎ\Aスライス';
	padding-bottom: 3px;
	color: var(--color-pink);
}

.cp-kankokukibun-recipe1 .cp-kankokukibun-recipe_list .cp-grid_item:nth-of-type(2) .cp-kankokukibun-recipe_badge::after {
	content: '豚バラ肉';
	color: var(--color-pink);
}

.cp-kankokukibun-recipe1 .cp-kankokukibun-recipe_list .cp-grid_item:nth-of-type(3) .cp-kankokukibun-recipe_badge::after {
	content: '冷凍餃子';
	color: var(--color-pink);
}

.cp-kankokukibun-recipe2 .cp-kankokukibun-recipe_list .cp-grid_item:nth-of-type(1) .cp-kankokukibun-recipe_badge::after {
	content: '惣菜\Aから揚げ';
	padding-bottom: 3px;
	color: var(--color-orange);
}

.cp-kankokukibun-recipe2 .cp-kankokukibun-recipe_list .cp-grid_item:nth-of-type(2) .cp-kankokukibun-recipe_badge::after {
	content: '大根\Aサラダ';
	padding-bottom: 3px;
	color: var(--color-orange);
}

.cp-kankokukibun-recipe2 .cp-kankokukibun-recipe_list .cp-grid_item:nth-of-type(3) .cp-kankokukibun-recipe_badge::after {
	content: '冷凍\Aうどん';
	padding-bottom: 3px;
	color: var(--color-orange);
}

@media screen and (min-width:768px) {
	.cp-kankokukibun-recipe_list a:hover .cp-imageset_title {
		text-decoration: underline;
	}

	.cp-kankokukibun-recipe_list a:hover .cp-imageset_image img {
		transform: scale(1.1);
	}
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-recipe_list {
		gap: 0;
	}

	.cp-kankokukibun-recipe_list .cp-grid_item {
		width: 100%;
		margin-left: 0;
	}

	.cp-kankokukibun-recipe_list-sp2 {
		gap: 30px 25px;
	}

	.cp-kankokukibun-recipe_list-sp2 .cp-grid_item {
		width: calc((100% - 25px)/ 2);
		margin-left: 0;
		margin-top: 0;
	}

	.cp-kankokukibun-recipe_list .cp-kankokukibun-recipe_badge::after {
		left: -10px;
	}
}

/* DAITAL
-------------------------------------------------- */
.cp-kankokukibun-detail {
	max-width: 1600px;
	margin-top: -50px;
	margin-inline: auto;
	padding-block: 130px 90px;
	background: #fff;
	mask: var(--mask-wave-top);
}

@media screen and (min-width:768px) {
	.cp-kankokukibun-detail .cp-imageset_title {
		font-size: 24px;
	}
}

@media screen and (max-width:767px) {
	.cp-kankokukibun-detail {
		margin-top: -20px;
		padding-block: 60px 40px;
	}
}


/* EC
-------------------------------------------------- */
.cp-kankokukibun-ec .cp-ecset_header {
	background-color: var(--color-pink);
}

.cp-kankokukibun-ec .cp-ecset_body {
	background: #FFF9E3;
}




