div#wrap {
	background: none;
}

#footer p,
#footer-nav p,
footer p {
	margin: 0;
}
#footer ul,
#footer-nav ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}


html {
	/*
	font-size: 90%;
	*/
	font-family: 'Hiragino Maru Gothic Pro', 'Hiragino Kaku Gothic Pro', -apple-system, 'Meiryo', sans-serif;
	line-height: 1.4;
	text-align: justify;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}
		html.SP {
			-webkit-text-size-adjust: 100%;
		}

body {
	margin: 0;
}
* {
	margin-bottom: 0;
}
p {
	line-height: 1.6;
}
p:first-child {
	margin-top: 0;
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
a {
	color: #117ce0;
	transition: all 0.1s ease;
}
a:hover {
	color: #009dff;
}

/* font */
html.WIN {
	/*
	-webkit-transform: rotate(0.1deg);
	-ms-transform: rotate(0.001deg);
	*/
}

html.WIN .typesquare_tags {
	-ms-transform: rotate(0.001deg);
	-webkit-transform: rotate(0.1deg);
}
html.WIN span.typesquare_tags {
	display: inline-block;
}
html.WIN strong {
	-ms-transform: rotate(0.001deg);
}

/* z-index */
#floating-menu {
	z-index: 3;
}
#topagetop {
	z-index: 1;
}
#topagetop button {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	cursor: pointer;
	outline: none;
}
#allmenu {
	z-index: 2;
}

	/* transition */
	html.PC #site-title .home img,
	html.PC #floating-menu .sns li img,
	html.PC #menu-btn,
	html.PC #topagetop {
		transition: transform 0.1s ease;
	}
	html.PC #site-title .home img:hover,
	html.PC #floating-menu .sns li img:hover,
	html.PC #menu-btn:hover,
	html.PC #topagetop:hover {
		transform: scale(1.1);
	}

#food-allergy {
	font-size: 90%;
	transition: opacity 400ms ease;
}
#food-allergy:not(.loaded) {
	opacity: 0;
}
#food-allergy.loaded {
	opacity: 1;
}

@media screen and (max-width: 640px) {
	#food-allergy {
		font-size: 3.84vw; /* 14.4px/375px */
	}
	#food-allergy div:after {
		font-size: inherit;
	}
}
@media screen and (min-width: 641px) {
	#food-allergy {
		min-width: 950px;
	}
}


#site-title,
#floating-menu {
	display: table;
	line-height: 0; /* 上下中央配置するために必要 */
}
#site-title > *,
#floating-menu > * {
	box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
}
#site-title .meiji-logo {
	width: 16%;
	padding-right: 2%;
}
#site-title h1 {
	margin: 0;
}
#site-title .home {
	padding-left: 4%;
	width: 28%;
}

#floating-menu {
	position: fixed;
}
#floating-menu .sns ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: table;
	table-layout: fixed;
	width: 100%;
}
#floating-menu .sns li {
	display: table-cell;
	vertical-align: middle;
	padding: 0 4%;
}
#menu-btn {
	cursor: pointer;
}
#menu-btn a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
#menu-btn a img {
	width: 100%;
}
#menu-btn a::after {
	content: ' ';
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/common/header_menubtn_close.png) no-repeat right top;
	background-size: 100% 100%;
	opacity: 0;
}
#floating-menu.close #menu-btn a::after {
	opacity: 1;
}
#floating-menu.close {
	opacity: 1 !important;
}

	html.PC #site-title {
		position: relative;
		width: 260px;
		left: 50%;
		margin-top: 1em;
		margin-left: -450px;
	}
	html.PC body.index #site-title {
		width: 86px;
	}

	html.PC #floating-menu {
		right: 0.5em;
		top: 0.5em;
		font-size: 20px;
	}

	html.PC #floating-menu .sns {
		width: 4.5em;
		padding-right: 0.5em;
	}
	html.PC #menu-btn {
		width: 2em;
	}

		html.SP body:not(.index) #food-allergy header {
			padding: 0.5em;
			background: url(../images/common/back_pink.png);
		}
		html.SP #floating-menu .sns {
			width: 4.5em;
			padding-right: 0.5em;
			vertical-align: bottom;
		}
		html.SP #floating-menu:not(.close) .sns {
			display: none;
		}
		html.SP #site-title {
			width: 14em;
		}
		html.SP body.index #site-title {
			width: 5em;
		}
		html.SP #site-title .meiji-logo {
			padding-right: 2%;
		}
		html.SP #floating-menu {
			right: 3em;
			top: 0.4em;
		}
		html.SP #menu-btn {
			width: 2.2em;
			font-size: 4vw;
		}

	/*////////// ヘッダメニュー //////////*/
	html.PC #header_menu {
		overflow: hidden;
		margin-top: 1em;
		min-width: 950px;
		height: 58px;
		background: url(../images/common/back_pink.png);
	}
	html.PC #header_menu ul {
		display: table;
		table-layout: fixed;
		/*
		border-spacing: 5px 0;
		*/
		border-collapse: collapse;
		width: 950px;
		margin: 0 auto;
		padding: 0;
		list-style-type: none;
		background-color: white;
	}
	html.PC #header_menu li {
		/*
		box-sizing: border-box;
		*/
		border: solid white;
		border-width: 0 5px;
		display: table-cell;
		vertical-align: top;
		background: url(../images/common/back_pink.png);
	}
	html.PC #header_menu li.on {
		background: white;
	}
	html.PC #header_menu li.on img {
		-webkit-transform: scale(1.05);
		transform: scale(1.05);
	}
	html.PC #header_menu a {
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
	}
	html.PC #header_menu a:before {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		border-bottom: 1px solid white;
		background: white no-repeat center center;
		background-size: 100% auto;
		opacity: 0;
		transition: all 0.1s ease;
	}
	html.PC #header_menu a:hover:before {
		opacity: 1;
		background-size: 105% auto;
	}
	html.PC #header_menu li img {
		vertical-align: bottom;
	}

	html.PC #header_menu li:nth-of-type(1) {width: calc((950px - 50px) * (121/937));}
	html.PC #header_menu li:nth-of-type(2) {width: calc((950px - 50px) * (106/937));}
	html.PC #header_menu li:nth-of-type(3) {width: calc((950px - 50px) * (122/937));}
	html.PC #header_menu li:nth-of-type(4) {width: calc((950px - 50px) * (121/937));}
	html.PC #header_menu li:nth-of-type(5) {width: calc((950px - 50px) * (120/937));}
	html.PC #header_menu li:nth-of-type(6) {width: calc((950px - 50px) * (129/937));}
	html.PC #header_menu li:nth-of-type(7) {width: calc((950px - 50px) * (102/937));}
	html.PC #header_menu li:nth-of-type(8) {width: calc((950px - 50px) * (116/937));}

	html.PC #header_menu li:nth-of-type(1) a:before{background-image: url(../images/common/header_menu_on1.svg);}
	html.PC #header_menu li:nth-of-type(2) a:before{background-image: url(../images/common/header_menu_on2.svg);}
	html.PC #header_menu li:nth-of-type(3) a:before{background-image: url(../images/common/header_menu_on3.svg);}
	html.PC #header_menu li:nth-of-type(4) a:before{background-image: url(../images/common/header_menu_on4.svg);}
	html.PC #header_menu li:nth-of-type(5) a:before{background-image: url(../images/common/header_menu_on5.svg);}
	html.PC #header_menu li:nth-of-type(6) a:before{background-image: url(../images/common/header_menu_on6.svg);}
	html.PC #header_menu li:nth-of-type(7) a:before{background-image: url(../images/common/header_menu_on7.svg);}
	html.PC #header_menu li:nth-of-type(8) a:before{background-image: url(../images/common/header_menu_on8.svg);}

	/* comingsoon */
	html.PC #header_menu li.comingsoon {
		position: relative;
		cursor: pointer;
	}
	html.PC #header_menu li.comingsoon:after {
		content: ' ';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.1) url(../images/common/headmenu_comingsoon.png) no-repeat center center;
		background-size: 4.5em auto;
		transition: all 0.1s ease;
		opacity: 0;
	}
	html.PC #header_menu li.comingsoon:hover img {
		opacity: 0.25;
	}
	html.PC #header_menu li.comingsoon:hover:after {
		background-size: 5.5em auto;
		opacity: 1;
	}


#mfallergy-footer {
	margin-top: 3em;
	padding-bottom: 3em;
}

	html.PC body.recipe #mfallergy-footer {
		margin-top: 1em;
	}

/*==================== サイトマップ ====================*/

#mfallergy-footer hr {
	display: block;
	width: 100%;
	height: 1.5em;
	border: none;
	margin: 1em 0;
	background: url(../images/common/back_pink.png);
}

/* サイトマップはallmenuで縮小するために単位をem、%で指定 */

#sitemap {
	position: relative;
}
#sitemap h2 {
	display: none;
}

body.index #mfallergy-footer #sitemap,
body.index #mfallergy-footer hr {
	display: none;
}

	html.PC #sitemap {
		width: 950px;
		margin-left: auto;
		margin-right: auto;
		font-size: 90%;
	}
		html.SP #sitemap {
			padding: 0 3%;
			overflow: hidden;
		}

/* HOME */
#sitemap .home {
}
#sitemap .home img {
	width: 5.5em;
}

/* contents */
#sitemap .contents > div > div {
	padding: 1.4em 0;
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
#sitemap .contents > div > div.recipe {
	border: none;
	margin: 0.5em auto 0;
	text-align: center;
}
	html.PC #mfallergy-footer #sitemap .contents > div > div.recipe {
		width: 95%;
	}
		html.SP #allmenu #sitemap .contents > div > div.recipe {
			width: 95%;
		}

#sitemap h3 {
	margin: 0;
	font-size: 140%;
	line-height: 1;
}
#sitemap [data-cntid="6"] h3,
#sitemap [data-cntid="7"] h3,
#sitemap [data-cntid="9"] h3 {
	font-size: 130%;
}
#sitemap ul {
	margin: 1.5em 0 0;
	padding: 0;
	list-style-type: none;
}
#sitemap li {
	line-height: 1;
	white-space: nowrap;
	overflow: visible;
}
	html.PC #sitemap li {
		font-family: 'Shin Maru Go Regular';
	}

#sitemap li:not(:first-child) {
	margin-top: 1em;
}
#sitemap h3 img {
	width: auto;
	height: 1em;
}
#sitemap li:before {
	content: ' ';
	display: inline-block;
	vertical-align: top;
	margin-right: 0.5em;
	width: 1em;
	height: 1em;
	background: url(../images/common/arrow_b.png) no-repeat;
	background-size: 100% 100%;
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
#sitemap li a {
	display: inline-block;
	border-bottom: 2px solid rgba(0,0,0,0);
	padding-bottom: 0.25em;
	text-decoration: none;
}
#sitemap li.comingsoon {
	color: #b3b3b3;
}
#sitemap li.comingsoon:before {
	background-image: url(../images/common/arrow_b_gray.png);
}

	html.PC #sitemap li:not(.comingsoon):hover:before {
		transform: scale(1.45);
		background-image: url(../images/common/arrow_b_on.png);
	}
	html.PC #sitemap li a:hover {
		border-bottom-color: #009dff;
	}
		html.SP #sitemap .contents {
			margin-top: 1em;
			border-top: 1px solid rgba(0,0,0,0.2);
		}
		html.SP #sitemap h3 a {
			display: block;
		}

#sitemap .comingsoon p {
	margin: 0.5em 0 0;
	color: rgba(0,0,0,0.3);
	font-size: 1em;
}
	html.PC #sitemap .comingsoon p {
		font-family: 'Shin Maru Go Medium';
	}

	html.PC #sitemap .contents {
		display: table;
		table-layout: fixed;
		width: 100%;
	}
	html.PC #sitemap .contents > div {
		display: table-cell;
		vertical-align: top;
		width: 50%;
	}
	html.PC #sitemap .contents > div:nth-of-type(1) {
		padding-right: 1.4em;
		border-right: 1px solid rgba(0,0,0,0.2);
	}
	html.PC #sitemap .contents > div:nth-of-type(2) {
		padding-left: 1.4em;
	}
	html.PC #sitemap .contents > div > div {
		background-repeat: no-repeat;
		background-position: right 1.4em;
		background-size: 20% auto;
	}

	html.PC #sitemap .contents > div > div[data-cntid="6"],
	html.PC #sitemap .contents > div > div[data-cntid="7"],
	html.PC #sitemap .contents > div > div[data-cntid="9"] {
		background-position: 94% 0.8em;
		background-size: auto calc(100% - 0.8em * 2);
	}
	html.PC #sitemap [data-cntid="1"] {background-image: url(../images/common/sitemap_image1.png)}
	html.PC #sitemap [data-cntid="2"] {background-image: url(../images/common/sitemap_image2.png)}
	html.PC #sitemap [data-cntid="3"] {background-image: url(../images/common/sitemap_image3.png)}
	html.PC #sitemap [data-cntid="4"] {background-image: url(../images/common/sitemap_image4.png)}
	html.PC #sitemap [data-cntid="5"] {background-image: url(../images/common/sitemap_image5.png)}
	html.PC #sitemap [data-cntid="6"] {background-image: url(../images/common/sitemap_image6.png)}
	html.PC #sitemap [data-cntid="7"] {background-image: url(../images/common/sitemap_image7.png)}
	html.PC #sitemap [data-cntid="8"] {background-image: url(../images/common/sitemap_image8.png)}
	html.PC #sitemap [data-cntid="9"] {background-image: url(../images/common/sitemap_image9.png)}

/* new */
#sitemap  a.new {
	display: inline-block;
	position: relative;
}
#sitemap a.new::after {
	content: '';
	position: absolute;
	background: url(../images/common/new.svg) no-repeat;
	background-size: contain;
	-webkit-transform: translate(1em, -50%);
	transform: translate(1em, -50%);

	-webkit-animation-name: sitemap-new;
	-webkit-animation-duration: 1s;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-timing-function: steps(2);

	animation-name: sitemap-new;
	animation-duration: 1s;
	animation-iteration-count: infinite;
	animation-timing-function: steps(2);
}
#sitemap a.new[href*="/meal/05/"]::after {
	top: 40%;
	left: calc(100% - 0.75em);
	width: 2em;
	height: 2em;
}
#sitemap a.new[href*="/recipe/"]::after {
	left: 0;
	top: 0;
	width: 3em;
	height: 3em;
}

@-webkit-keyframes sitemap-new {
	from {-webkit-transform: translate(1em, -50%) scale(0.9);}
	to {-webkit-transform: translate(1em, -50%) scale(1.1);}
}

@keyframes sitemap-new {
	from {transform: translate(1em, -50%) scale(0.9);}
	to {transform: translate(1em, -50%) scale(1.1);}
}

/*////////// allmenu //////////*/
#allmenu {
	visibility: hidden;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.2);
	font-size: 90%;
	opacity: 0;
	transform: translateY(-1%);
	-webkit-transition: all 200ms ease;
	transition: all 200ms ease;
}
#allmenu.open {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

#allmenu #sitemap {
	background-color: white;
}

	html.PC #allmenu #sitemap {
		position: absolute;
		overflow-y: auto;
		right: 0.5em;
		top: 2em;
		width: calc(680px + 3.5em);
		max-height: calc(100vh - 4em);
		box-sizing: border-box;
		border-radius: 0.5em;
		padding: 1.75em;
		padding-top: 4.5em;
		box-shadow: 0 0 1em rgba(0,0,0,0.2);
	}
	html.PC #allmenu #sitemap .home {
		position: absolute;
		left: 1.75em;
		top: 1.75em;
		width: calc(100% - 3.5em);
		border-bottom: 1px solid rgba(0,0,0,0.2);
		padding-bottom: 0.75em;
		margin-bottom: 1em;
	}
	html.PC #mfallergy-footer #sitemap .home {
		display: none;
	}
	html.PC #allmenu #sitemap .contents > div > div {
		background: none;
	}

		html.SP #allmenu {
			overflow-x: hidden;
			overflow-y: scroll;
			font-size: 3.84vw; /* 14.4px/375px */
		}
		html.SP #allmenu.open {
		}
		html.SP #allmenu #sitemap {
			position: relative;
			box-sizing: border-box;
			/*
			margin: 0.75em;
			*/
			padding-top: 1.75em;
			padding-bottom: 0.25em;
		}

/* 食育バナー */
#shokuiku-banner {
	margin: 3rem auto;
}
	html.PC #shokuiku-banner {
		width: 280px;
	}
		html.SP #shokuiku-banner {
			width: 70%;
		}

/* topagetop */
#topagetop {
	position: fixed;
	bottom: 1em;
	opacity: 0.1;
}
	html.PC #topagetop {
		right: calc((100vw - 950px) / 2);
		width: 60px;
	}
		html.SP #topagetop {
			right: 2%;
			width: 3em;
		}


html.PC .sponly,
html.SP .pconly {
	display: none;
}


/*==================== まとめ ====================*/
.summary {
	box-sizing: border-box;
	background-color: #fffce6;
	color: #872900;
	border: 4px solid #ffdf8c;
	border-radius: 2em;
	margin: 2em auto 0;
}
.summary h4 {
	margin: 0;
	color: #d94100;
	font-family: 'Shin Maru Go Medium';
	font-size: 120%;
}
.summary .link {
	color: black;
}
	html.PC .summary .link {
		text-align: right;
	}
		html.SP .summary .link {
			text-align: center;
		}

	html.PC .summary .set .image {
		vertical-align: bottom;
	}
	html.PC .summary .image img {
		display: inline-block;
		width: 5.5em;
		margin-left: 2em;
	}
	html.PC .summary .image img[src*='teacher1'] {
		width: 6em;
	}
	html.PC .summary .set .text {
		vertical-align: middle;
		padding: 1.5em;
	}
	html.PC .summary h4 br {
		display: none;
	}

		html.SP .summary {
			padding: 1em;
		}
		html.SP .summary .set .image {
			margin: 0 0.5em 0.5em 0;
		}
		html.SP .summary .image {
			display: inline-block;
			width: 4em;
			margin: 0 0.5em 0.5em 0;
			float: left;
		}

/* 保育所 */
	html.PC body.school .summary {
		width: 780px;
		margin-top: 3em;
	}
	html.PC body.school #summary1_1 .image {
		padding-top: 1em;
	}


/*==================== Q&Aリンク ====================*/
.link_qanda {
	margin-top: 3em;
	text-align: center;
}
.link_qanda h3 {
	display: inline-block;
	border: 3px solid #e0f0ff;
	border-radius: 0.5em;
	color: #2c70b3;
}
.link_qanda a {
	display: block;
	padding: 1em;
	color: inherit;
	font-family: 'Shin Maru Go Medium';
	text-decoration: none;
	background-image:
		url(../images/common/qanda_icon.png),
		url(../images/common/arrow_a.svg);
	background-repeat: no-repeat;
}

	html.PC .link_qanda h3 {
		font-size: 130%;
	}
	html.PC .link_qanda h3:hover {
		border-color: #8fc9ff;
	}
	html.PC .link_qanda h3 br {
		display: none;
	}
	html.PC .link_qanda a {
		padding-left: 2em;
		padding-right: 2.25em;
		background-position: 0.5em center, 97% center;
		background-size: auto 1.25em, auto 1.25em;
	}
	
		html.SP .link_qanda h3 {
			font-size: 110%;
		}
		html.SP .link_qanda a {
			padding-left: 3.25em;
			padding-right: 2.5em;
			background-position: 0.5em center, 97% center;
			background-size: auto 2.25em, auto 1.5em;
			text-align: left;
		}


/*==================== レシピ集バナー ====================*/
.recipeBanner {
	text-align: center;
}
	html.PC .recipeBanner {
		width: 386px;
		margin: 3rem auto;
	}

		html.SP .recipeBanner {
			width: 20em;
			margin: 3em auto;
		}

.recipeBanner2 {
	text-align: center;
}

	html.PC .recipeBanner2 {
		margin-top: 2.5em;
	}
	html.PC .recipeBanner2 img {
		display: none;
	}
	html.PC .recipeBanner2 a::before {
		content: '';
		display: inline-block;
		width: 920px;
		height: 84px;
		background: url(../images/common/recipe_banner3.png) no-repeat center center;
		background-size: contain;
	}
	html.SP .recipeBanner2 {
		margin: 1.5em 3% 0;
	}


/*==================== ミルフィーリンク ====================*/
.milfyLink {
	margin: 1em 0 0;
}

	html.PC .milfyLink {
		text-align: right;
	}
	html.PC .milfyLink img {
		width: auto;
		height: 2.75em;
	}
	
		html.SP .milfyLink {
			text-align: center;
		}
		html.SP .milfyLink img {
			width: 90vw;
			height: auto;
		}

.center {
	text-align: center;
}


/*==================== 見出し ====================*/
.Cap1 {
	position: relative;
	margin: 0;
	padding-left: 1.5em;
	color: #ff3700;
	font-size: 120%;
}
.Cap1 span {
	font-family: 'Shin Maru Go Medium';
}
.Cap1 strong {
	font-family: 'Shin Maru Go Bold';
}
.Cap1:before {
	content: '';
	display: inline-block;
	position: absolute;
	vertical-align: bottom;
	left: 0;
	top: 0;
	width: 1.4em;
	height: 1.4em;
	background: url(../images/common/caption_mark1.png) no-repeat center center;
	background-size: 100% 100%;
	-webkit-transform: scale(0.6);
	transform: scale(0.6);
}
	html.PC .Cap1 br {
		display: none;
	}
		html.SP .Cap1 {
			font-size: 110%;
		}

/* 保育所 */
body.school.p01 section:nth-of-type(1) .Cap1:before {
	background-image: url(../images/school/p01_capnum1.svg);
}
body.school.p01 section:nth-of-type(2) .Cap1:before {
	background-image: url(../images/school/p01_capnum2.svg);
}
body.school.p01 section:nth-of-type(3) .Cap1:before {
	background-image: url(../images/school/p01_capnum3.svg);
}

.Cap2 {
	margin: 0;
	color: #ff3700;
	font-family: 'Shin Maru Go Medium';
	font-size: 110%;
}

.Cap3 {
	position: relative;
	padding-left: 1.2em;
	color: #872900;
	font-family: 'Shin Maru Go Medium';
	font-size: 120%;
}
.Cap3::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0.1em;
	width: 1.2em;
	height: 1.2em;
	background: url(../images/common/cap3_head.svg) no-repeat center center;
	background-size: contain;
}

	html.PC .Cap3 br {
		display: none;
	}
		html.SP .Cap3 {
			font-size: 105%;
		}


/*==================== テキスト ====================*/
.notes,
.quot {
	font-size: 90%;
	opacity: 0.6;
}
	html.PC .quot {
		text-align: right;
	}


/*==================== サイト内リンク ====================*/

.sitelink {
	font-family: 'Shin Maru Go Medium';
	line-height: 2;
	text-align: right;
}
.sitelink a,
.sitelink.comingsoon span {
	position: relative;
	display: inline-block;
	border-bottom: 2px dotted #117ce0;
	padding-bottom: 0.25em;
	margin-right: 1.8em;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}
.sitelink.comingsoon span {
	color: #b3b3b3;
	border-color: #b3b3b3;
}
.sitelink a:not(:first-child),
.sitelink.comingsoon span:not(:first-child) {
	margin-left: 1em;
}
.sitelink a:hover {
	border-bottom-style: solid;
	border-bottom-color: #009dff;
}
.sitelink a:after,
.sitelink.comingsoon span:after {
	content: ' ';
	display: block;
	position: absolute;
	right: -1.8em;
	top: 50%;
	width: 1.5em;
	height: 1.5em;
	background: url(../images/common/arrow_b.png) no-repeat;
	background-size: 90%;
	transform: translateY(-50%);
}
.sitelink a:hover:after {
	background-image: url(../images/common/arrow_b_on.png);
	transform: translateY(-50%) scale(1.2);
}
.sitelink.comingsoon span:after {
	background-image: url(../images/common/arrow_b_gray.png);
}

/* recipe */
.sitelink.recipe a {
	color: #b55800;
	border-color: #b55800;
}
.sitelink.recipe a:hover {
	color: #e36f00;
	border-color: #e36f00;
}
.sitelink.recipe a::after {
	background-image: url(../images/common/arrow_recipe_off.svg);
}
.sitelink.recipe a:hover::after {
	background-image: url(../images/common/arrow_recipe_on.svg);
}


		html.SP #meal2-1 .sitelink {
			font-size: 75%;
		}


/*==================== ズーム ====================*/
a.zoom {
	position: relative;
	display: block;
}
a.zoom::after {
	content: '';
	display: block;
	position: absolute;
	background: url(../images/common/zoombtn.png) no-repeat;
	background-size: contain;
	opacity: 0.6;
}

	html.PC a.zoom {
		cursor: default;
	}
	html.PC a.zoom::after {
		content: none;
	}

		html.SP a.zoom {
			border: 1px dashed #ccc;
			padding: 0.5em;
		}
		html.SP a.zoom:after {
			right: 0.5em;
			top: 0.5em;
			width: 2em;
			height: 2em;
		}


/*==================== main：主文 ====================*/
.maintext {
	margin: 3em auto 0;
}
	/*
	html.PC .main {
		margin: 3em auto 0;
	}
	html.SP .main {
		margin: 2em auto 0;
	}
	*/

.maintext .head {
	border-bottom: 0.4em solid rgba(0,0,0,0.1);
	padding-bottom: 0.2em;
}

.maintext > .body {
	margin: 1em auto 0;
}

	html.PC .maintext > .body {
		padding: 0 0.5em;
	}


/*==================== テキスト＋画像 ====================*/
	html.PC .set {
		box-sizing: border-box;
		display: table;
		width: 100%;
	}
	html.PC .set > div {
		display: table-cell;
	}
	html.PC .set .text {
		vertical-align: top;
	}
	html.PC .set .text:first-child {
		padding-right: 2em;
	}
	html.PC .set .image {
		vertical-align: middle;
		text-align: center;
	}

		html.SP .set .image {
			text-align: center;
			margin: 1em auto 0;
		}


/*==================== contents-list：リスト形式 ====================*/
.contents-list {
}
.contents-list .list-item {
	border: dotted #ccc;
	border-width: 2px 0;
	padding: 1em 0.5em;
}
.contents-list .list-item:not(:nth-of-type(1)) {
	border-top-width: 0;
}


.column {
	box-sizing: border-box;
	text-align: center;
	margin: 2em auto 0;
	padding-top: 1em;
}
.column > div {
	display: inline-block;
	position: relative;
	border-radius: 1.5em;
	text-align: justify;
}

.column.red > div {
	background-color: #ffe8e8;
	color: #942000;
}
body.visit .column:not(.red) > div {
	background-color: #d4eaff;
	color: #003259;
}
body.about .column:not(.red) > div,
.column.green > div {
	background-color: #e2f5ae;
	color: #122603;
}
body.display .column:not(.red) > div {
	background-color: #ffe8ff;
	color: #8a035d;
}
body.school .column:not(.red) > div {
	background-color: #ffeae3;
	color: #9c2b25;
}
body.school #flow .column:not(.red) > div {
	color: inherit;
}

.column .title {
	position: absolute;
	margin: 0;
	left: 50%;
	top: 0;
	-webkit-transform: translate(-50%, -45%);
	transform: translate(-50%, -45%);
	font-size: 100%;
}
.column .title img {
	width: auto;
	height: 2.4em;
}

	html.PC .column > div {
		padding: 2.5em 1.5em 1.5em;
	}

	/* school */
	html.PC .column.school-1 {
		max-width: 58em;
	}

		html.SP .column > div {
			padding: 2em 1em 1em;
		}
		html.SP .column .title {
			width: 100%;
			text-align: center;
		}
		html.SP .column .title img {
			height: 2em;
		}

/* notitle */
.column.notitle {
	padding-top: 0;
}
	html.PC .column.notitle > div {
		padding-top: 1.5em;
	}
		html.SP .column.notitle > div {
			padding-top: 1em;
		}


/* アレルギー用ミルク */
#column-allergymilk .items > div {
	background-color: white;
	border-radius: 0.75em;
	padding: 1em;
}
#column-allergymilk > div > p {
	margin-top: 0;
}
#column-allergymilk .items h5 {
	margin: 0;
	color: #ff3700;
	text-align: center;
	font-size: 110%;
}
#column-allergymilk .items h5 span {
	font-family: 'Shin Maru Go Medium';
	display: block;
}
#column-allergymilk .items h5 span.pic {
	width: 65%;
	margin: 0.5em auto;
}
#column-allergymilk .items h5 a {
	color: inherit;
	text-decoration: none;
}
#column-allergymilk .items {
	margin-top: 1em;
}
#column-allergymilk .items h6 {
	width: 12em;
	margin: 1em auto 0;
	font-size: 100%;
}

	html.PC #column-allergymilk {
		width: 620px;
	}
	html.PC #column-allergymilk .items {
		display: table;
		table-layout: fixed;
		border-spacing: 1em 0;
		margin-left: -1em;
		margin-right: -1em;
		width: calc(100% + 2em);
	}
	html.PC #column-allergymilk .items p {
		font-size: 0.9em;
	}
	html.PC #column-allergymilk .items > div {
		display: table-cell;
	}

		html.SP #column-allergymilk .items > div {
			margin-top: 1em;
		}
		html.SP #column-allergymilk .items h5 span.pic {
			width: 50%;
		}


/*==================== 図表 ====================*/
.figure {
	margin: 2em auto 0;
}
.figure .title {
	color: #2b6600;
	border-left: 0.4em solid #87d100;
	padding-left: 0.4em;
	margin-bottom: 0.5em;
	font-size: 110%;
}
.figure .title span.pare {
	font-size: 80%;
	font-family: 'Shin Maru Go Regular';
}


.Column {
	margin: 2em 0;
}

.Column .title {
	margin-bottom: -1em;
	font-size: 120%;
	text-align: center;
}

.Column .title > * {
	display: inline-block;
	border-radius: 1em;
	margin: 0;
	padding: 0 1em;
	color: white;
	font-family: 'Shin Maru Go Medium';
	font-size: inherit;
	line-height: 2em;
	white-space: nowrap;
}

.Column .body {
	border-radius: 1em;
	padding: 2em;
}

.Column .body > :first-child {
	margin-top: 0;
}

.Column p {
	line-height: 1.6;
}

@media all and (min-width: 641px) {

	.Column .title > * {
		position: relative;
		padding-left: 2.25em;
	}
	.Column .title > *::before {
		content: '';
		display: block;
		position: absolute;
		left: 1em;
		top: 50%;
		width: 0.8em;
		height: 0.8em;
		border-radius: 0.5em;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		background: white;
	}
}


/* type */

body.type .Column .body {
	background-color: #e2f5ae;
}

.Column.keyword h4 {
	font-size: inherit;
}
.Column.keyword h4 img {
	width: auto;
	height: 2.2em;
}
.Column.keyword .body {
	padding: 1.25em;
}
.Column.keyword .body p {
	font-size: 85%;
}

	html.PC .Column[name="column_type1-1"] {
		margin: 0;
	}

/* meal */

body.meal .Column .title > * {
	background-color: #d94100;
}
body.meal .Column .body {
	background: #ffecd1;
}
body.meal .Column .body {
	color: #872900;
}

@media all and (min-width: 641px) {
	.Column[name="meal02-1"] p:nth-of-type(2) {
		text-align: center;
	}
}


.Figure {
	margin: 2em auto;
}

.Figure .title {
	border-left: 0.4em solid #87d100;
	padding-left: 0.4em;
	margin-bottom: 0.5em;
	font-family: 'Shin Maru Go Medium';
	font-size: 110%;
}
.Figure .title > * {
	font-size: inherit;
}

.Figure .body {
	border: 1px solid #ccc;
	padding: 1em;
}
.Figure .body figure {
	margin: 0;
}
.Figure .body figcaption {
	margin-top: 0.5em;
	color: #666;
	font-size: 80%;
}

body.visit .Figure .title {
	color: #00518f;
	border-color: #8ac9ff;
}

	html.PC .Figure .body figcaption {
		text-align: right;
	}

	html.PC .Figure[name="figure_visit4-1"] {
		width: 860px;
	}

		html.SP .Figure .title small {
			display: block;
		}


#wordpop {
	position: absolute;
	left: 0;
	top: 0;
	border: 1px solid #cccccc;
	border-radius: 1em;
	padding: 1em;
	width: 18em;
	background-color: white;
	box-shadow: 2px 2px 6px 2px rgba(0,0,0,0.2);
	-webkit-transform: translate(-50%, -105%);
	transform: translate(-50%, -105%);
}
		html.SP #wordpop {
			left: 50% !important;
		}

#wordpop button.close {
	border: none;
	margin: 0;
	padding: 0;
	background: none;
	color: #ccc;
	font-size: 220%;
	line-height: 1;
	position: absolute;
	right: 0.25em;
	top: 0;
	cursor: pointer;
	outline: none;
}
#wordpop .word {
	padding-left: 1.5em;
	font-weight: bold;
	font-size: 110%;
	background: url(../images/common/qanda_icon.png) no-repeat left center;
	background-size: auto 90%;
}
#wordpop .text {
	font-size: 90%;
	margin-top: 0.5em;
}

span.keyword {
	position: relative;
	display: inline-block;
	margin-left: 0.25em;
	padding-right: 1.25em;
	margin-right: 0.25em;
	background: url(../images/common/qanda_icon.png) no-repeat right center;
	background-size: auto 1em;
	color: #117ce0;
	cursor: pointer;
	white-space: nowrap;
}