@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap);
/* Reset */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	background: transparent;
	font-weight: inherit;
	font-size: inherit;
	font-style: inherit;
	-webkit-tap-highlight-color: transparent;
}

article,
aside,
details,
figcaption,
figure,
picture,
main,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

ul,
ol {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
}

button {
	font-family: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 1em;
}

/*----------
	vars
----------*/
:root {
	/* color */
	--color-prim: #002877;
	--color-seco-yellow: #FFD217;
	--color-seco-green: #00A861;
	--color-seco-blue: #008CD6;
	--color-seco-ultramarine: #566ED1;
	--color-txt: #222222;
	--color-txt-caption: #666666;
	--color-txt-caption-v2: #6F7579;
	--color-txt-link: #002877;
	--color-txt-hover: #002877;
	--color-border: #DDDDDD;
	--color-bg: #F5F5ED;
	--color-caution: #DC0021;
	--color-red: #CD1B2F;
	--color-prim-rgb: 0, 40, 119;
	--color-seco-yellow-rgb: 255, 210, 23;
	--color-seco-green-rgb: 0, 168, 97;
	--color-seco-blue-rgb: 0, 140, 214;
	--color-seco-ultramarine-rgb: 86, 110, 209;
	--color-txt-rgb: 34, 34, 34;
	--color-txt-caption-rgb: 102, 102, 102;
	--color-txt-caption-v2-rgb: 111, 117, 121;
	--color-txt-link-rgb: 0, 40, 119;
	--color-txt-hover-rgb: 0, 40, 119;
	--color-border-rgb: 221, 221, 221;
	--color-bg-rgb: 247, 247, 244;
	--color-caution-rgb: 220, 0, 33;
	--color-red-rgb: 205, 27, 47;
	/* font family */
	--font-sans: "Roboto", "M PLUS 1p", "Noto Sans JP", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", Hiragino Sans, "メイリオ", Meiryo, sans-serif;
	--font-serif: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	/* line height */
	--line-height-s: 1.5;
	--line-height-m: 1.6;
	--line-height-l: 2;
	/* icons */
	--icon-pen: "";
	--icon-school: "";
	--icon-book: "";
	--icon-chara: "";
	--icon-close: "";
	--icon-arrow-r: "";
	--icon-arrow-l: "";
	--icon-blank: "";
	--icon-home: "";
	--icon-arrow-back: "";
	--icon-arrow2-r: "";
	--icon-arrow2-l: "";
	--icon-arrow-anker: "";
	--icon-file: "";
	--icon-arrow-plus: "";
	--icon-arrow-minus: "";
}

/*----------
	base
----------*/
html {
	width: 100%;
	font-size: 62.5%;
	background-color: var(--color-bg);
}
html.is-locked {
	position: absolute;
	overflow: hidden;
}

body {
	font-size: 1.8rem;
	line-height: var(--line-height-l);
	font-family: var(--font-sans);
	letter-spacing: 0;
	color: var(--color-txt);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}
@media (max-width: 743px) {
	body {
		font-size: 1.4rem;
	}
}

a {
	color: var(--color-txt-link);
	text-decoration: none;
}

strong,
em,
b {
	font-weight: bold;
}

img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

/*----------
	main header
----------*/
.l-mainheader {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 500;
	width: 100%;
}
.l-mainheader__inner {
	height: 50px;
	background-color: #FFFFFF;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}
.l-mainheader__logo-company {
	position: absolute;
	left: 10px;
	top: 13.5px;
	z-index: 2;
	display: block;
}
.l-mainheader__logo-company img {
	width: 28px;
	height: 26.23px;
}
.l-mainheader__logo {
	position: absolute;
	left: calc(50% - 71px);
	top: 10px;
}
.l-mainheader__logo a {
	display: block;
}
.l-mainheader__logo img {
	width: 142px;
	height: auto;
}
.l-mainheader__menubtn {
	position: absolute;
	right: 0;
	top: 0;
}
.l-mainheader__menubtn a {
	display: block;
	width: 50px;
	height: 50px;
}
.l-mainheader__menubtn span {
	position: absolute;
	left: 15.7px;
	display: block;
	width: 20px;
	height: 2px;
	background-color: var(--color-prim);
	border-radius: 10px;
}
.l-mainheader__menubtn .l-mainheader__menu-line1 {
	top: 17.6px;
}
.l-mainheader__menubtn .l-mainheader__menu-line2 {
	top: 24px;
}
.l-mainheader__menubtn .l-mainheader__menu-line3 {
	top: 30.4px;
}
@media (min-width: 744px) {
	.l-mainheader__inner {
		height: 60px;
	}
	.l-mainheader__logo-company {
		left: 20px;
		top: 13.5px;
	}
	.l-mainheader__logo-company img {
		width: 204px;
		height: 35.43px;
	}
	.l-mainheader__logo {
		left: calc(50% - 125px);
		top: 9.5px;
	}
	.l-mainheader__logo a {
		position: relative;
		z-index: 2;
		width: 250px;
		height: 50.19px;
	}
	.l-mainheader__logo img {
		width: 250px;
		height: 50.19px;
	}
	.l-mainheader__logo::before {
		content: "";
		position: absolute;
		left: calc(50% - 140px);
		bottom: -14px;
		display: block;
		width: 280px;
		height: 61px;
		background-color: #FFFFFF;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
		border-radius: 19px;
	}
	.l-mainheader__logo::after {
		content: "";
		position: absolute;
		z-index: 1;
		left: calc(50% - 160px);
		bottom: 0;
		display: block;
		width: 320px;
		height: 60px;
		background-color: #FFFFFF;
	}
	.l-mainheader__menubtn a {
		display: block;
		width: 63px;
		height: 60px;
	}
	.l-mainheader__menubtn span {
		left: 18.2px;
		width: 26.25px;
		height: 3px;
	}
	.l-mainheader__menubtn .l-mainheader__menu-line1 {
		top: 19.5px;
	}
	.l-mainheader__menubtn .l-mainheader__menu-line2 {
		top: 28.5px;
	}
	.l-mainheader__menubtn .l-mainheader__menu-line3 {
		top: 37.5px;
	}
}

/*----------
	main navigation
----------*/
.l-mainnav {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	transition: opacity 0.3s, visibility 0.3s;
}
.is-menu-open .l-mainnav {
	visibility: visible;
	opacity: 1;
}
.is-menu-open .l-mainnav .l-mainnav__inner {
	pointer-events: auto;
}
.l-mainnav__inner {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	overflow-y: auto;
	scroll-behavior: smooth;
	background-color: #FFFFFF;
	pointer-events: none;
}
.l-mainnav__header {
	position: relative;
	display: flex;
	align-items: center;
	height: 64px;
	width: 100%;
	padding-right: 60px;
	padding-left: 20px;
}
.l-mainnav__header .l-mainnav__home {
	font-size: 1.3rem;
	font-weight: bold;
}
.l-mainnav__header .l-mainnav__home a {
	display: block;
}
.l-mainnav__header .l-mainnav__home a::before {
	position: relative;
	top: 5.5px;
	font-family: iconfont !important;
	/* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
	speak: none;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	content: var(--icon-home);
	margin-right: 8px;
	font-size: 2.4rem;
}
.l-mainnav__header .l-mainnav__header-logo {
	display: none;
}
.l-mainnav__header-close {
	position: absolute;
	right: 9px;
	top: 9px;
}
.l-mainnav__header-close a {
	display: flex;
	justify-content: center;
	align-items: center;
}
.l-mainnav__header-close a::before {
	font-family: iconfont !important;
	/* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
	speak: none;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	content: var(--icon-close);
	display: block;
	width: 28px;
	height: 28px;
	background-color: var(--color-prim);
	border-radius: 100%;
	color: #FFFFFF;
	font-size: 1.7rem;
	line-height: 28px;
	text-align: center;
}
.l-mainnav__menu {
	position: relative;
}
.l-mainnav__menu::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0.5;
	background-repeat: repeat;
	background-size: 480px auto;
}
.l-mainnav__menu-title {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 15px 20px 15px 26px;
	font-weight: bold;
}
.l-mainnav__menu-title .l-mainnav__chapter-text {
	font-size: 1.5rem;
}
.l-mainnav__menu-title .l-mainnav__chapter-text > span {
	font-size: 1.8rem;
	line-height: var(--line-height-s);
}
.l-mainnav__menu-title .l-mainnav__chapter {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 68px;
	height: 27px;
	margin-right: 13px;
	padding: 0 17px;
	background: #FFFFFF;
	color: var(--color-txt);
	font-size: 1.5rem;
	line-height: 1;
}
.l-mainnav__menu-title .l-mainnav__chapter > span {
	font-size: 1.7rem;
	transform: translateY(-1px);
}
.l-mainnav__menu-title .l-mainnav__chapter::before {
	content: "";
	position: absolute;
	left: -6.38px;
	top: 0;
	height: 27px;
	width: 8px;
	background: url(/kids/assets/img/common/bg_ribbon.png) no-repeat left center/auto 27px;
}
.l-mainnav__menu-title .l-mainnav__chapter::after {
	content: "";
	position: absolute;
	right: -6.38px;
	top: 0;
	height: 27px;
	width: 8px;
	background: url(/kids/assets/img/common/bg_ribbon.png) no-repeat left center/auto 27px;
	transform: scale(-1, 1);
}
.l-mainnav__lists {
	position: relative;
	z-index: 1;
	padding: 0 20px 20px;
	line-height: var(--line-height-s);
}
.l-mainnav__lists .l-mainnav__list-sttl {
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}
.l-mainnav__lists .l-mainnav__list-sttl a {
	display: block;
	padding: 15px;
	background-color: #FFFFFF;
	border-top-right-radius: 20px;
	border-top-left-radius: 20px;
}
.l-mainnav__lists ul {
	counter-reset: orderlist;
}
.l-mainnav__lists li a {
	position: relative;
	display: block;
	padding: 15px 15px 15px 40px;
	background-color: #FFFFFF;
	border-top: solid 1px var(--color-border);
	font-size: 1.3rem;
	font-weight: bold;
}
.l-mainnav__lists li a::before {
	counter-increment: orderlist;
	content: counter(orderlist);
	position: absolute;
	left: 15px;
	top: 14px;
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 100%;
	color: var(--color-prim);
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 20px;
	text-align: center;
}
.l-mainnav__lists li:last-child a {
	padding-bottom: 15px;
	border-bottom-right-radius: 20px;
	border-bottom-left-radius: 20px;
}
.l-mainnav__lists .l-mainnav__list-q a::before {
	content: "Q";
}
.l-mainnav__lists .l-mainnav__list-blank a::before {
	content: "";
	font-family: iconfont !important;
	/* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
	speak: none;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	content: var(--icon-blank);
	font-size: 1.3rem;
	line-height: 20px;
}
.l-mainnav__menu--area1 {
	background-color: var(--color-seco-yellow);
}
.l-mainnav__menu--area1::before {
	background-image: url(/kids/assets/img/common/bg_category1.png);
}
.l-mainnav__menu--area1 .l-mainnav__lists a::before {
	background-color: var(--color-seco-yellow);
}
.l-mainnav__menu--area2 {
	background-color: var(--color-seco-green);
}
.l-mainnav__menu--area2::before {
	opacity: 0.2;
	background-image: url(/kids/assets/img/common/bg_category2.png);
}
.l-mainnav__menu--area2 .l-mainnav__menu-title {
	color: #FFFFFF;
}
.l-mainnav__menu--area2 .l-mainnav__menu-title .l-mainnav__chapter {
	color: var(--color-seco-green);
}
.l-mainnav__menu--area2 .l-mainnav__lists a::before {
	color: #FFFFFF;
	background-color: var(--color-seco-green);
}
.l-mainnav__menu--area3 {
	background-color: var(--color-seco-blue);
}
.l-mainnav__menu--area3::before {
	opacity: 0.2;
	background-image: url(/kids/assets/img/common/bg_category3.png);
}
.l-mainnav__menu--area3 .l-mainnav__menu-title {
	color: #FFFFFF;
}
.l-mainnav__menu--area3 .l-mainnav__menu-title .l-mainnav__chapter {
	color: var(--color-seco-blue);
}
.l-mainnav__menu--area3 .l-mainnav__lists a::before {
	color: #FFFFFF;
	background-color: var(--color-seco-blue);
}
.l-mainnav__btns {
	padding: 20px;
	background-color: var(--color-bg);
}
.l-mainnav__btns ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 15px;
	width: auto;
}
.l-mainnav__footer {
	padding: 20px 20px 15px;
}
.l-mainnav__footer .l-mainnav__footer-logo {
	margin: 0 auto;
	max-width: 275px;
}
.l-mainnav__footer .l-mainnav__footer-logo a {
	display: block;
}
.l-mainnav__footer .l-mainnav__footer-logo-company {
	margin: 10.6px auto 0;
	max-width: 123px;
}
.l-mainnav__footer .l-mainnav__footer-logo-company a {
	display: block;
}
.l-mainnav__footer .l-mainnav__footer-close {
	margin-top: 25px;
}
.l-mainnav__footer .l-mainnav__footer-close a {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.6rem;
	font-weight: bold;
}
.l-mainnav__footer .l-mainnav__footer-close a::before {
	font-family: iconfont !important;
	/* stylelint-disable-line declaration-no-important,font-family-no-missing-generic-family-keyword */
	speak: none;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	content: var(--icon-close);
	display: block;
	width: 28px;
	height: 28px;
	margin-right: 5px;
	background-color: var(--color-prim);
	border-radius: 100%;
	color: #FFFFFF;
	font-size: 1.7rem;
	line-height: 28px;
	text-align: center;
}
@media (min-width: 744px) {
	.l-mainnav__inner {
		padding-bottom: 30px;
		background-color: var(--color-bg);
	}
	.l-mainnav__inner::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		display: block;
		width: 100%;
		height: 612px;
		background-color: #FFFFFF;
	}
	.l-mainnav__header {
		z-index: 10;
		display: block;
		height: 146px;
		max-width: 900px;
		margin: 0 auto;
		padding-right: 0;
		padding-left: 0;
	}
	.l-mainnav__header::before {
		content: "";
		position: absolute;
		left: 113px;
		top: 37px;
		display: block;
		width: 80px;
		height: 81px;
		background: url(/kids/assets/img/common/img_earth2.png) no-repeat 0 0/80px auto;
	}
	.l-mainnav__header::after {
		content: "";
		position: absolute;
		right: 131px;
		top: 0;
		display: block;
		width: 148px;
		height: 148px;
		background: url(/kids/assets/img/common/img_plat_a.svg) no-repeat 0 0/148px auto;
	}
	.l-mainnav__header .l-mainnav__home {
		position: absolute;
		left: 203px;
		top: 66px;
	}
	.l-mainnav__header .l-mainnav__home a::before {
		margin-right: 0;
	}
	.l-mainnav__header .l-mainnav__header-logo {
		display: block;
		width: 275px;
		margin: 0 auto;
		padding-top: 20px;
	}
	.l-mainnav__header .l-mainnav__header-logo .l-mainnav__logo {
		width: 275px;
	}
	.l-mainnav__header .l-mainnav__header-logo .l-mainnav__logo a {
		display: block;
	}
	.l-mainnav__header .l-mainnav__header-logo .l-mainnav__logo-company {
		width: 113px;
		margin: 11px auto 0;
	}
	.l-mainnav__header .l-mainnav__header-logo .l-mainnav__logo-company a {
		display: block;
	}
	.l-mainnav__header-close {
		right: 20px;
		top: 20px;
		z-index: 10;
	}
	.l-mainnav__header-close a::before {
		width: 47px;
		height: 47px;
		font-size: 2.4rem;
		line-height: 47px;
	}
	.l-mainnav__menu-wrap {
		position: relative;
		z-index: 1;
		display: flex;
		width: 100%;
		max-width: 940px;
		margin: 0 auto;
		padding: 0 20px;
	}
	.l-mainnav__menu {
		width: 100%;
	}
	.l-mainnav__menu:first-child {
		border-top-left-radius: 50px;
		border-bottom-left-radius: 50px;
	}
	.l-mainnav__menu:last-child {
		border-top-right-radius: 50px;
		border-bottom-right-radius: 50px;
	}
	.l-mainnav__menu-title {
		display: block;
		min-height: 114px;
		padding: 27px 15px 5px;
		transform: rotate(0.03deg);
	}
	.l-mainnav__menu-title .l-mainnav__chapter-text {
		width: 100%;
		margin: 5px auto 0;
		font-size: 1.7rem;
		line-height: 1.2;
		text-align: center;
	}
	.l-mainnav__menu-title .l-mainnav__chapter-text > span {
		font-size: 2rem;
	}
	.l-mainnav__menu-title .l-mainnav__chapter {
		margin: 0 auto;
	}
	.l-mainnav__lists {
		padding: 0 27px 29px;
	}
	.l-mainnav__lists .l-mainnav__list-sttl {
		font-size: 1.3rem;
		transform: rotate(0.03deg);
	}
	.l-mainnav__lists .l-mainnav__list-sttl a {
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 40px;
		padding: 5px 10px;
		border-radius: 100px;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
	}
	.l-mainnav__lists li {
		margin-top: 15px;
		transform: rotate(0.03deg);
	}
	.l-mainnav__lists li a {
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 66px;
		padding: 5px 11px 5px 44px;
		border-top: none;
		border-radius: 20px;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
	}
	.l-mainnav__lists li a::before {
		left: 10px;
		top: calc(50% - 12px);
		width: 24px;
		height: 24px;
		line-height: 24px;
	}
	.l-mainnav__lists li:last-child a {
		padding-bottom: 5px;
	}
	.l-mainnav__lists .l-mainnav__list-blank a::before {
		font-size: 1.4rem;
		line-height: 24px;
	}
	.l-mainnav__menu--area1::after {
		content: "";
		position: absolute;
		left: -26px;
		top: -57px;
		z-index: 1;
		display: block;
		width: 148px;
		height: 148px;
		background: url(/kids/assets/img/common/img_ene_a.svg) no-repeat 0 0/148px auto;
		transform: rotate(-21deg);
	}
	.l-mainnav__menu--area2::after {
		content: "";
		position: absolute;
		right: -65px;
		bottom: -29px;
		z-index: 1;
		display: block;
		width: 148px;
		height: 148px;
		background: url(/kids/assets/img/common/img_clen_a.svg) no-repeat 0 0/148px auto;
		transform: rotate(-14deg);
	}
	.l-mainnav__menu--area3::after {
		content: "";
		position: absolute;
		left: 24px;
		bottom: -31px;
		z-index: 1;
		display: block;
		width: 148px;
		height: 148px;
		background: url(/kids/assets/img/common/img_live_a.svg) no-repeat 0 0/148px auto;
		transform: rotate(17deg);
	}
	.l-mainnav__btns {
		position: relative;
		max-width: 940px;
		margin: 0 auto;
	}
	.l-mainnav__btns ul {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
	.l-mainnav__footer {
		display: none;
	}
}
@media (max-width: 830px) and (min-width: 744px) {
	.l-mainnav__header::before {
		left: 60px;
	}
	.l-mainnav__header::after {
		right: 60px;
	}
	.l-mainnav__header .l-mainnav__home {
		left: 150px;
	}
}

/*----------
	main footer
----------*/
.l-mainfooter {
	position: relative;
	z-index: 100;
	background-color: var(--color-bg);
	border-top-right-radius: 40px;
	border-top-left-radius: 40px;
}
.l-mainfooter__inner {
	padding: 0 20px;
}
.l-mainfooter__mainnav {
	position: relative;
	top: -20px;
	margin-bottom: -20px;
}
.l-mainfooter__mainnav li:not(:first-child) {
	margin-top: 15px;
}
.l-mainfooter__mainnav .l-mainfooter__navbtn > a {
	display: flex;
	width: 100%;
	height: 100%;
	min-height: 60px;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	position: relative;
	overflow: hidden;
	border-radius: 100px;
	background-color: #FFFFFF;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
	color: var(--color-prim);
	font-size: 1.6rem;
	font-weight: bold;
}
.l-mainfooter__mainnav .l-mainfooter__navbtn > a > i {
	position: absolute;
	left: 10px;
	top: calc(50% - 0.5em);
	font-size: 2.4rem;
}
.l-mainfooter__mainnav .l-mainfooter__navbtn > a span {
	font-size: 1.8rem;
}
.l-mainfooter__mainnav .l-mainfooter__navbtn--yellow > a {
	background-color: var(--color-seco-yellow);
}
.l-mainfooter__mainnav .l-mainfooter__navbtn--green > a {
	background-color: var(--color-seco-green);
	color: #FFFFFF;
}
.l-mainfooter__mainnav .l-mainfooter__navbtn--green > a > i {
	color: #FFFFFF;
}
.l-mainfooter__mainnav .l-mainfooter__navbtn--blue > a {
	background-color: var(--color-seco-blue);
	color: #FFFFFF;
}
.l-mainfooter__mainnav .l-mainfooter__navbtn--blue > a > i {
	color: #FFFFFF;
}
.l-mainfooter__subnav {
	margin-top: 25px;
}
.l-mainfooter__subnav ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 15px;
	width: auto;
}
.l-mainfooter__logo {
	margin: 38px 0 26px;
}
.l-mainfooter__logo .l-mainfooter__logo-site {
	margin: 0 auto;
	max-width: 270px;
}
.l-mainfooter__logo .l-mainfooter__logo-site a {
	display: block;
}
.l-mainfooter__logo .l-mainfooter__logo-company {
	margin: 14px auto 0;
	max-width: 128px;
}
.l-mainfooter__logo .l-mainfooter__logo-company a {
	display: block;
}
.l-mainfooter__bottom {
	border-top: solid 3px var(--color-red);
	margin: 0 -20px;
	padding: 16px 20px 10px;
	background-color: #FFFFFF;
	text-align: center;
}
.l-mainfooter__bottom .l-mainfooter__mainlink {
	font-size: 1.4rem;
}
.l-mainfooter__bottom .l-mainfooter__mainlink a {
	display: inline-block;
	padding: 2px 0;
	color: #333333;
}
.l-mainfooter__bottom .l-mainfooter__sublink {
	margin-top: 12px;
	font-size: 1.2rem;
	line-height: 1.8;
}
.l-mainfooter__bottom .l-mainfooter__sublink a {
	display: inline-block;
	color: var(--color-txt-caption);
}
.l-mainfooter__copyright {
	margin-top: 40px;
	font-size: 10px;
	color: #707070;
	transform: scale(0.8);
}
@media (min-width: 744px) {
	.l-mainfooter {
		border-top-right-radius: 50px;
		border-top-left-radius: 50px;
	}
	.l-mainfooter__inner {
		padding: 0;
	}
	.l-mainfooter__mainnav {
		top: -72px;
		margin-bottom: -75px;
	}
	.l-mainfooter__mainnav ul {
		display: flex;
		justify-content: space-between;
		width: 662px;
		margin: 0 auto;
	}
	.l-mainfooter__mainnav li {
		width: 143px;
		transform: rotate(0.03deg);
	}
	.l-mainfooter__mainnav li:not(:first-child) {
		margin-top: 0;
	}
	.l-mainfooter__mainnav .l-mainfooter__navbtn {
		width: 143px;
		height: 143px;
	}
	.l-mainfooter__mainnav .l-mainfooter__navbtn > a {
		font-size: 1.6rem;
		line-height: var(--line-height-s);
		text-align: center;
	}
	.l-mainfooter__mainnav .l-mainfooter__navbtn > a > i {
		position: static;
		display: block;
		margin-bottom: 5px;
	}
	.l-mainfooter__mainnav .l-mainfooter__navbtn > a span {
		font-size: 1.8rem;
	}
	.l-mainfooter__mainnav .l-mainfooter__navbtn--home > a {
		flex-direction: column;
	}
	.l-mainfooter__mainnav .l-mainfooter__navbtn--yellow > a {
		background: var(--color-seco-yellow) url(/kids/assets/img/common/bg_btn_crescent.png) no-repeat 4px 4px/96px auto;
	}
	.l-mainfooter__mainnav .l-mainfooter__navbtn--green > a {
		background: var(--color-seco-green) url(/kids/assets/img/common/bg_btn_crescent.png) no-repeat 4px 4px/96px auto;
	}
	.l-mainfooter__mainnav .l-mainfooter__navbtn--blue > a {
		background: var(--color-seco-blue) url(/kids/assets/img/common/bg_btn_crescent.png) no-repeat 4px 4px/96px auto;
	}
	.l-mainfooter__subnav {
		max-width: 940px;
		margin: 35px auto 0;
		padding: 0 20px;
	}
	.l-mainfooter__subnav ul {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
	.l-mainfooter__logo {
		margin: 38px 0 24px;
	}
	.l-mainfooter__logo .l-mainfooter__logo-site {
		max-width: 360px;
	}
	.l-mainfooter__logo .l-mainfooter__logo-company {
		margin-top: 17px;
		margin-bottom: 13px;
		max-width: 168px;
	}
	.l-mainfooter__bottom {
		margin: 0;
		padding: 28px 0 14px;
	}
	.l-mainfooter__bottom .l-mainfooter__mainlink {
		font-size: 1.6rem;
		line-height: var(--line-height-s);
	}
	.l-mainfooter__bottom .l-mainfooter__mainlink li {
		margin: 0 18px;
		display: inline-block;
		transform: rotate(0.03deg);
	}
	.l-mainfooter__bottom .l-mainfooter__mainlink a {
		display: block;
		padding: 0;
		border-bottom: 1px solid transparent;
		transition: border-color 0.3s;
	}
	.l-mainfooter__bottom .l-mainfooter__mainlink a:hover {
		border-color: #333333;
	}
	.l-mainfooter__bottom .l-mainfooter__sublink {
		margin: 26px 10px 0;
		line-height: var(--line-height-s);
	}
	.l-mainfooter__bottom .l-mainfooter__sublink li {
		margin: 4px 8px 0;
		display: inline-block;
		transform: rotate(0.03deg);
	}
	.l-mainfooter__bottom .l-mainfooter__sublink a {
		display: block;
		border-bottom: 1px solid transparent;
		transition: border-color 0.3s;
	}
	.l-mainfooter__bottom .l-mainfooter__sublink a:hover {
		border-color: var(--color-txt-caption);
	}
	.l-mainfooter__copyright {
		margin-top: 30px;
		transform: rotate(0.03deg);
	}
}

.l-backhead {
	opacity: 0;
	visibility: hidden;
	position: fixed;
	right: 5px;
	bottom: 0;
	z-index: 10;
	transition: opacity 0.3s ease-out, visibility 0.3s;
	will-change: opacity;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.l-backhead a {
	display: block;
	width: 59px;
	height: 81px;
	background: url(/kids/assets/img/common/btn_to_top_sp.png) no-repeat 0 0/59px auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.l-backhead.is-visible {
	visibility: visible;
	opacity: 1;
}
@media (min-width: 744px) {
	.l-backhead {
		right: 23px;
	}
	.l-backhead a {
		width: 104px;
		height: 140px;
		background: url(/kids/assets/img/common/btn_to_top.png) no-repeat 0 0/104px auto;
		transition: transform 0.2s ease-in-out;
	}
	.l-backhead a:hover {
		transform: scale(1.06);
	}
}
@media (max-width: 1023px) and (min-width: 744px) {
	.l-backhead {
		right: -10px;
	}
}

/*----------
	main content
----------*/
.l-content {
	width: 100%;
	position: relative;
	overflow: hidden;
	margin-top: 50px;
	background-color: var(--color-bg);
	border-bottom-right-radius: 40px;
	border-bottom-left-radius: 40px;
}
.l-content--cosmo {
	margin-bottom: -50px;
	padding-bottom: 50px;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	background: #004283 url(/kids/assets/img/common/bg_cosmo.png) fixed 0 0/500px auto;
	animation: cosmo 24s linear infinite;
}
@media (min-width: 744px) {
	.l-content {
		margin-top: 60px;
		border-bottom-right-radius: 50px;
		border-bottom-left-radius: 50px;
	}
	.l-content--cosmo {
		border-bottom-right-radius: 0;
		border-bottom-left-radius: 0;
	}
}

.l-main {
	padding: 0 20px;
}

.l-section {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
.l-section--full {
	width: auto;
	max-width: none;
	margin-right: -20px;
	margin-left: -20px;
}

.l-localnav {
	position: relative;
	margin-top: 40px;
	padding: 30px 20px;
	border-bottom-right-radius: 40px;
	border-bottom-left-radius: 40px;
}
.l-localnav::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0.5;
	background-repeat: repeat;
	background-size: 375px auto;
}
.l-localnav__inner {
	width: 100%;
}
.l-localnav__inner::after {
	content: "";
	display: block;
	clear: both;
}
.l-localnav__left {
	float: left;
	width: 50%;
	padding-right: 10px;
}
.l-localnav__right {
	float: right;
	width: 50%;
	padding-left: 10px;
}
.l-localnav--yellow {
	background-color: var(--color-seco-yellow);
}
.l-localnav--yellow::before {
	background-image: url(/kids/assets/img/common/bg_category1.png);
}
.l-localnav--green {
	background-color: var(--color-seco-green);
}
.l-localnav--green::before {
	opacity: 0.2;
	background-image: url(/kids/assets/img/common/bg_category2.png);
}
.l-localnav--blue {
	background-color: var(--color-seco-blue);
}
.l-localnav--blue::before {
	opacity: 0.2;
	background-image: url(/kids/assets/img/common/bg_category3.png);
}
@media (min-width: 744px) {
	.l-localnav {
		margin-top: 50px;
		padding: 50px 20px;
		border-bottom-right-radius: 50px;
		border-bottom-left-radius: 50px;
	}
	.l-localnav::before {
		background-size: 600px auto;
	}
	.l-localnav__inner {
		width: 100%;
		max-width: 900px;
		margin: 0 auto;
	}
	.l-localnav__left {
		padding-right: 15px;
		transform: rotate(0.03deg);
	}
	.l-localnav__right {
		padding-left: 15px;
		transform: rotate(0.03deg);
	}
}

.l-content-footer {
	margin: -50px 0;
	padding: 50px 20px 66px;
	background: #004283 url(/kids/assets/img/common/bg_cosmo.png) fixed 0 0/500px auto;
	animation: cosmo 24s linear infinite;
}
.l-content-footer__bnr {
	max-width: 400px;
	margin: 40px auto;
}
.l-content-footer__bnr a {
	display: block;
}
.l-content-footer__bnr img {
	display: block;
}
@media (min-width: 744px) {
	.l-content-footer {
		height: 240px;
		padding-top: 0;
		padding-bottom: 0;
	}
	.l-content-footer__bnr {
		max-width: 630px;
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 105px;
	}
}

/*----------
	margin
----------*/
/* 固定マージン */
.u-mt-none {
	margin-top: 0 !important;
	/* stylelint-disable-line declaration-no-important */
}

.u-mt-20 {
	margin-top: 20px !important;
	/* stylelint-disable-line declaration-no-important */
}
@media (min-width: 744px) {
	.u-mt-20 {
		margin-top: 30px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

.u-mt-30 {
	margin-top: 30px !important;
	/* stylelint-disable-line declaration-no-important */
}
@media (min-width: 744px) {
	.u-mt-30 {
		margin-top: 40px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

.u-mt-40 {
	margin-top: 40px !important;
	/* stylelint-disable-line declaration-no-important */
}
@media (min-width: 744px) {
	.u-mt-40 {
		margin-top: 50px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

.u-mt-50 {
	margin-top: 50px !important;
	/* stylelint-disable-line declaration-no-important */
}
@media (min-width: 744px) {
	.u-mt-50 {
		margin-top: 60px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

.u-mt-60 {
	margin-top: 60px !important;
	/* stylelint-disable-line declaration-no-important */
}
@media (min-width: 744px) {
	.u-mt-60 {
		margin-top: 80px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

/* spマージン */
@media (max-width: 743px) {
	.u-sp-mt-5 {
		margin-top: 5px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mt-10 {
		margin-top: 10px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mt-15 {
		margin-top: 15px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mt-20 {
		margin-top: 20px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mt-30 {
		margin-top: 30px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mt-40 {
		margin-top: 40px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mt-50 {
		margin-top: 50px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mt-60 {
		margin-top: 60px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mt-70 {
		margin-top: 70px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mt-80 {
		margin-top: 80px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mb-10 {
		margin-bottom: 10px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mb-20 {
		margin-bottom: 20px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mb-30 {
		margin-bottom: 30px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mb-40 {
		margin-bottom: 40px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mb-50 {
		margin-bottom: 50px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mb-60 {
		margin-bottom: 60px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mb-70 {
		margin-bottom: 70px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (max-width: 743px) {
	.u-sp-mb-80 {
		margin-bottom: 80px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

/* pcマージン */
@media (min-width: 744px) {
	.u-pc-mt-5 {
		margin-top: 5px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mt-10 {
		margin-top: 10px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mt-15 {
		margin-top: 15px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mt-20 {
		margin-top: 20px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mt-30 {
		margin-top: 30px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mt-40 {
		margin-top: 40px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mt-50 {
		margin-top: 50px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mt-60 {
		margin-top: 60px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mt-70 {
		margin-top: 70px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mt-80 {
		margin-top: 80px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mb-10 {
		margin-bottom: 10px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mb-20 {
		margin-bottom: 20px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mb-30 {
		margin-bottom: 30px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mb-40 {
		margin-bottom: 40px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mb-50 {
		margin-bottom: 50px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mb-60 {
		margin-bottom: 60px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mb-70 {
		margin-bottom: 70px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mb-80 {
		margin-bottom: 80px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

@media (min-width: 744px) {
	.u-pc-mb-110 {
		margin-bottom: 110px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

/* 汎用マージン */
.u-margin-xs {
	margin-top: 10px !important;
	/* stylelint-disable-line declaration-no-important */
}
@media (min-width: 744px) {
	.u-margin-xs {
		margin-top: 20px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

.u-margin-sm {
	margin-top: 20px !important;
	/* stylelint-disable-line declaration-no-important */
}
@media (min-width: 744px) {
	.u-margin-sm {
		margin-top: 30px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

.u-margin-md {
	margin-top: 30px !important;
	/* stylelint-disable-line declaration-no-important */
}
@media (min-width: 744px) {
	.u-margin-md {
		margin-top: 40px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

.u-margin-lg {
	margin-top: 50px !important;
	/* stylelint-disable-line declaration-no-important */
}
@media (min-width: 744px) {
	.u-margin-lg {
		margin-top: 60px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

.u-margin-xl {
	margin-top: 60px !important;
	/* stylelint-disable-line declaration-no-important */
}
@media (min-width: 744px) {
	.u-margin-xl {
		margin-top: 80px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

.u-margin-xxl {
	margin-top: 80px !important;
	/* stylelint-disable-line declaration-no-important */
}
@media (min-width: 744px) {
	.u-margin-xxl {
		margin-top: 120px !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

.u-margin-none {
	margin-top: 0 !important;
	/* stylelint-disable-line declaration-no-important */
}
@media (min-width: 744px) {
	.u-margin-none {
		margin-top: 0 !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

/*----------
	display
----------*/
@media (max-width: 743px) {
	.u-pc-v {
		display: none;
	}
}

@media (min-width: 744px) {
	.u-sp-v {
		display: none;
	}
}

/*----------
	text
----------*/
.u-talk-fz20 {
	font-size: 2rem !important;
	/* stylelint-disable-line declaration-no-important */
	line-height: 1.4;
}
@media (min-width: 744px) {
	.u-talk-fz20 {
		font-size: 2.8rem !important;
		/* stylelint-disable-line declaration-no-important */
		line-height: 1.2;
	}
}

.u-txt-center {
	text-align: center !important;
	/* stylelint-disable-line declaration-no-important */
}

@media (min-width: 744px) {
	.u-txt-pccenter {
		text-align: center !important;
		/* stylelint-disable-line declaration-no-important */
	}
}

.u-txt-right {
	text-align: right !important;
	/* stylelint-disable-line declaration-no-important */
}

.u-txt-left {
	text-align: left !important;
	/* stylelint-disable-line declaration-no-important */
}

.u-txt-bold {
	font-weight: bold !important;
	/* stylelint-disable-line declaration-no-important */
}

.u-txt-strike {
	text-decoration: line-through !important;
	/* stylelint-disable-line declaration-no-important */
}

.u-text-indent {
	text-indent: -3em;
	padding-left: 3em;
}

.u-txt-marker {
	background-image: linear-gradient(transparent 50%, #FFFF72 60%);
}
[class*="--green"] .u-txt-marker {
	background-image: linear-gradient(transparent 50%, #CEFF72 60%);
}
[class*="--blue"] .u-txt-marker {
	background-image: linear-gradient(transparent 50%, #C1FFFF 60%);
}

.u-txt-marker--yellow {
	background-image: linear-gradient(transparent 50%, #FFFF72 60%);
}

.u-txt-marker--green {
	background-image: linear-gradient(transparent 50%, #CEFF72 60%);
}

.u-txt-marker--blue {
	background-image: linear-gradient(transparent 50%, #C1FFFF 60%);
}

/*----------
	link
----------*/
@media (min-width: 744px) {
	.u-txt-link {
		border-bottom: 1px solid transparent;
		transition: border-color 0.3s;
	}
	.u-txt-link:hover {
		border-color: var(--color-txt-link);
	}
}

@media (min-width: 744px) {
	.u-block-link {
		transition: transform 0.2s ease-in-out;
	}
	.u-block-link:hover {
		transform: scale(1.06);
	}
}

/*----------
	animation
----------*/
@keyframes fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes cosmo {
	from {
		background-position: 0 0;
	}
	to {
		background-position: 0 300px;
	}
}
@keyframes rotate-left {
	0% {
		transform: rotate(0);
	}
	100% {
		transform: rotate(-360deg);
	}
}
@keyframes rotate-right {
	0% {
		transform: rotate(0);
	}
	100% {
		transform: rotate(360deg);
	}
}
@keyframes up-down {
	0% {
		transform: translateY(-12px);
	}
	100% {
		transform: translateY(12px);
	}
}
@keyframes down-up {
	0% {
		transform: translateY(12px);
	}
	100% {
		transform: translateY(-12px);
	}
}
/*----------
	buffix
----------*/
/* webfontのwindowsバグ対応 */
@media (min-width: 744px) {
	.u-bugfix-rotate {
		transform: rotate(0.03deg);
	}
}