@charset "utf-8";
/*------------------------------------------------------------
	nutritioncolumn
------------------------------------------------------------*/
.l-breadcrumb {
	display: none;
}
.l-main {
	margin-bottom: 0;
	padding: 109px 0 135px;
	background-image: url(../img/nutritioncolumn/bg01.png);
	background-position: center top 50px;
}
.l-main h1 {
	margin-bottom: 147px;
}
.l-main h1 .txt-img {
	margin: 0 auto 21px;
	display: block;
	max-width: 201px;
}
.l-main h1 .sub-box {
	padding-bottom: 2px;
	display: block;
	font-size: 55px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 100px;
	text-align: center;
	border-top: 3px solid #646464;
	border-bottom: 3px solid #646464;
}
.l-main h1 .sub-box .col {
	margin: -5px 0 -5px;
	padding-bottom: 5px;
	color: #ED7A97;
	display: block;
	letter-spacing: 0.06em;
	background: url(../img/nutritioncolumn/line01.png) left top 102px / 21px;
}
.l-main .l-main-box01 {
	margin-bottom: 133px;
}
.l-main .l-main-box01 .text {
	margin-bottom: 18px;
	font-size: 22px;
	text-align: center;
	letter-spacing: 0.02em;
}
.l-main .l-main-box01 .note {
	margin: 0 0 35px;
	color: #ED7A97;
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.06em;
}
.l-main .l-main-box01 .photo-list {
	margin-bottom: 25px;
	padding: 0;
	gap: 6px;
	display: flex;
	flex-wrap: wrap;
}
.l-main .l-main-box01 .photo-list li {
	padding: 3px 0 0;
	width: calc((100% - 24px) / 5);
	background-color: #F3F2E6;
	border-radius: 50%;
	box-sizing: border-box;
	aspect-ratio: 1 / 1;
}
.l-main .l-main-box01 .photo-list li .ttl {
	margin-bottom: 15px;
	color: #ED7A97;
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.05em;
}
.l-main .l-main-box01 .photo-list li .pho {
	margin: 0 auto;
	max-width: 147px;
}
.l-main .l-main-box01 .bottom-text {
	font-size: 20px;
	line-height: 2.5;
	letter-spacing: 0.05em;
}
.l-main .l-main-box02 .head-line01 {
	margin-bottom: 33px;
}
.l-main .l-main-box02 .text {
	margin-bottom: 34px;
	font-size: 20px;
	text-align: center;
	letter-spacing: 0.05em;
}
.l-main .l-main-box02 .link-list {
	margin-bottom: 94px;
	padding: 0;
	gap: 17px;
	display: flex;
	flex-wrap: wrap;
}
.l-main .l-main-box02 .link-list li {
	width: calc((100% - 34px) / 3);
}
.l-main .l-main-box02 .link-list li a {
	padding: 0 0 8px;
	min-height: 183px;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	color: #ED7A97;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.54;
	text-align: center;
	border: 3px solid #ED7A97;
	text-decoration: none;
	border-radius: 50px;
	box-sizing: border-box;
}
.l-main .l-main-box02 .link-list li a::before {
	margin-left: -25px;
	position: absolute;
	bottom: -18px;
	left: 50%;
	width: 41px;
	height: 19px;
	background: url(../img/common/icon07.png) no-repeat left top / 100%;
	content: '';
}
.l-main .l-main-box02 .link-list li a .sub {
	padding: 0 10px 38px;
	display: inline-block;
	background: url(../img/common/icon08.png) no-repeat center bottom / 26px;
}
.l-main .l-main-box02 .photo-list {
	padding: 0;
	gap: 15px;
	display: flex;
	flex-wrap: wrap;
}
.l-main .l-main-box02 .photo-list li {
	padding: 30px 10px 28px;
	width: calc((100% - 45px) / 4);
	background-color: #F3F2E6;
	border-radius: 20px;
	box-sizing: border-box;
}
.l-main .l-main-box02 .photo-list li .sub {
	margin-bottom: 17px;
}
.l-main .l-main-box02 .photo-list li .pho {
	margin: 0 auto 8px;
	max-width: 173px;
	min-height: 201px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.l-main .l-main-box02 .photo-list li .txt {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	line-height: 1.375;
	letter-spacing: -0.05em;
}
.l-main .l-main-box02 .photo-list li .note {
	margin: 0 22px;
	padding-bottom: 9px;
	color: #ED7A97;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 1.1;
	border-top: 1px solid #ED7A97;
	border-bottom: 1px solid #ED7A97;
}
.l-main .l-main-box02 .photo-list li .note .num {
	margin-left: 0;
	font-size: 35px;
	vertical-align: -2px;
}
.l-main .cover {
	position: fixed;
	
	content: '';
	z-index: 1000;
}
.pop-box {
	margin: 0 auto;
	position: relative;
	display: none;
	padding: 94px 0 0;
	max-width: 1000px;
	background-color: rgba(255, 255, 255, 0.9);
	font-family: "Zen Kaku Gothic Antique", sans-serif !important;
}
body.fixed .pop-box {
	display: block;
}
.pop-box .close {
	position: absolute;
	top: -8.2%;
    right: -9.7%;
	width: 42px;
	cursor: pointer;
	transition: 0.3s;
}
.pop-box .inner {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 840px;
	box-sizing: border-box;
}
.pop-box h2 {
	margin: 0 0 39px;
	color: #646464;
	font-size: 45px;
	font-weight: 500;
	text-align: center;
	line-height: 1.11;
	letter-spacing: 0.06em;
}
.pop-box .text {
	margin: 0 0 43px;
	color: #646464;
	font-size: 20px;
	line-height: 2.5;
	letter-spacing: 0.02em;
}
.pop-box .photo {
	margin: 0 auto;
	max-width: 550px;
	line-height: 0;
}
#pop02 {
	padding-bottom: 93px !important;
}
#pop03 {
	padding-bottom: 100px !important;
}
.mfp-bg {
	background-color: rgba(208, 208, 208, 0.9) !important;
	opacity: 1 !important;
	z-index: 10000 !important;
}
.mfp-wrap {
	z-index: 10002 !important;
}
.mfp-container {
	padding: 150px 20px 0 !important;
}
.mfp-content {
	padding-bottom: 148px !important;
}
@media screen and (min-width: 768px) and (max-width: 1240px) {
	.pop-box .close {
		top: -55px;
		right: 0;
	}
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
	.l-main h1 .sub-box {
		font-size: 5vw;
	}
	.l-main .l-main-box01 .photo-list li .ttl {
		margin-bottom: 8px;
	}
	.l-main .l-main-box01 .photo-list li .pho {
		max-width: 11vw;
	}
	.l-main .l-main-box02 .photo-list li .note {
		font-size: 16px;
	}
	.l-main .l-main-box02 .photo-list li .note .num {
		font-size: 25px;
	}
	.l-main .l-main-box02 .link-list li a {
		font-size: 2.3vw;
	}
	.l-main .l-main-box02 .photo-list li .txt {
		font-size: 1.5vw;
	}
	.l-main .l-main-box02 .photo-list li .pho.spec {
		min-height: 20vw;
	}
}
@media screen and (min-width: 768px) and (max-width: 900px) {
	.pop-box h2 {
		font-size: 5vw;
	}
	.l-main .l-main-box02 .photo-list li .pho.spec {
		min-height: 24vw;
	}
	.l-main .l-main-box02 .photo-list li .note {
		padding-bottom: 4px;
		font-size: 12px;
	}
	.l-main .l-main-box02 .photo-list li .note .num {
		font-size: 18px;
	}
}
@media screen and (min-width: 1024px) {
	.l-main .l-main-box02 .link-list li a:hover,
	.pop-box .close:hover {
		opacity: 0.7 !important;
	}
}
@media screen and (max-width: 767px) {
	.l-main {
		padding: 43px 0 34px;
		background-image: url(../img/nutritioncolumn/bg01_sp.png);
		background-position: center top 38px;
	}
	.l-main h1 {
		margin-bottom: 24px;
	}
	.l-main h1 .txt-img {
		margin: 0 auto 20px;
		max-width: 101px;
	}
	.l-main h1 .sub-box {
		padding-bottom: 1px;
		font-size: 27px;
		letter-spacing: 0.02em;
		line-height: 45px;
		border-top: 2px solid #646464;
		border-bottom: 2px solid #646464;
	}
	.l-main h1 .sub-box .col {
		margin: -3px 0 -5px;
		letter-spacing: 0.04em;
		background: url(../img/nutritioncolumn/line01_sp.png) left top 46px / 21px;
	}
	.l-main .l-main-box01 {
		margin-bottom: 42px;
	}
	.l-main .l-main-box01 .text {
		margin-bottom: 3px;
		font-size: 12px;
		line-height: 2;
	}
	.l-main .l-main-box01 .note {
		margin: 0 0 18px;
		font-size: 12px;
	}
	.l-main .l-main-box01 .photo-list {
		margin: 0 auto 10px;
		padding: 0;
		gap: 0 6px;
		justify-content: center;
		max-width: 307px;
	}
	.l-main .l-main-box01 .photo-list li {
		padding: 0;
		width: calc((100% - 12px) / 3);
	}
	.l-main .l-main-box01 .photo-list li .ttl {
		margin-bottom: 8px;
		font-size: 12px;
	}
	.l-main .l-main-box01 .photo-list li .pho {
		max-width: 74px;
	}
	.l-main .l-main-box01 .bottom-text {
		font-size: 12px;
		line-height: 2;
		letter-spacing: 0;
	}
	.l-main .l-main-box02 .head-line01 {
		margin-bottom: 10px;
	}
	.l-main .l-main-box02 .text {
		margin-bottom: 8px;
		font-size: 12px;
		line-height: 2;
		text-align: left;
		letter-spacing: 0.03em;
	}
	.l-main .l-main-box02 .link-list {
		margin: 0 0 56px;
		padding: 0;
		gap: 5px;
		display: flex;
		flex-wrap: wrap;
	}
	.l-main .l-main-box02 .link-list li {
		width: calc((100% - 10px) / 3);
	}
	.l-main .l-main-box02 .link-list li a {
		padding: 0 0 4px;
		min-height: 124px;
		font-size: 12px;
		line-height: 1.41;
		border: 2px solid #ED7A97;
		border-radius: 20px;
	}
	.l-main .l-main-box02 .link-list li a::before {
		margin-left: -12px;
		bottom: -9px;
		width: 19px;
		height: 10px;
		background-image: url(../img/common/icon07_sp.png);
	}
	.l-main .l-main-box02 .link-list li a .sub {
		padding: 0 10px 22px;
		min-height: 94px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		background: url(../img/common/icon08.png) no-repeat center bottom / 18px;
	}
	.l-main .l-main-box02 .photo-list {
		gap: 7px;
	}
	.l-main .l-main-box02 .photo-list li {
		padding: 20px 10px 20px;
		width: calc((100% - 7px) / 2);
		border-radius: 10px;
	}
	.l-main .l-main-box02 .photo-list li .sub {
		margin-bottom: 7px;
	}
	.l-main .l-main-box02 .photo-list li .pho {
		margin: 0 auto 5px;
		max-width: 87px;
		min-height: 102px;
	}
	.l-main .l-main-box02 .photo-list li .txt {
		margin: 0;
		font-size: 9px;
		line-height: 1.56;
	}
	.l-main .l-main-box02 .photo-list li .note {
		margin: 0 10px;
		padding: 3px 0 7px;
		font-size: 12px;
	}
	.l-main .l-main-box02 .photo-list li .note .num {
		margin-left: 0;
		font-size: 21px;
		vertical-align: 0;
	}
	.mfp-container {
		padding: 34px 34px 0 !important;
	}
	.pop-box {
		margin: 0;
		padding: 45px 0 0;
		max-width: inherit;
	}
	.pop-box .close {
		position: fixed;
		top: 4px;
        right: 11px;
		width: 11px;
	}
	.pop-box .inner {
		margin: 0;
		padding: 0 25px;
		max-width: inherit;
	}
	.pop-box h2 {
		margin: 0 -10px 7px;
		font-size: 17px;
		font-weight: 700;
		line-height: 1.51;
		letter-spacing: -0.02em;
	}
	.pop-box .text {
		margin: 0 -5px 18px 0;
		font-size: 12px;
		line-height: 2;
		letter-spacing: -0.02em;
	}
	.pop-box .text .com-bg-txt {
		background: linear-gradient(to bottom, transparent calc(100% - 2px), #ED7A97 calc(100% - 2px), #F4AFC0 100%);
		background-size: 100% 1.2em;
	}
	.pop-box .photo {
		margin: 0;
		max-width: inherit;
	}
	.pop-box .photo img {
		width: 100%;
	}
	#pop02 {
		padding-bottom: 24px !important;
	}
	#pop03 {
		padding-bottom: 50px !important;
	}
}
@media screen and (max-width: 374px) {
	.l-main .l-main-box02 .link-list li a {
		font-size: 3.1vw;
	}
	.l-main .l-main-box02 .link-list li a .sub {
		padding: 0 5px 15px;
	}
	.l-main .l-main-box02 .photo-list li .note {
		font-size: 3.2vw;
	}
	.l-main .l-main-box02 .photo-list li .note .num {
		font-size: 4.5vw;
	}
	.pop-box h2 {
		font-size: 4.4vw;
	}
}
@media screen and (max-width: 359px) {
	.l-main h1 .sub-box {
		font-size: 7vw;
	}
	.l-main .l-main-box01 .photo-list li .pho {
		max-width: 19vw;
	}
	.l-main .l-main-box02 .photo-list li .txt {
		font-size: 2.4vw;
	}
}
