@charset 'UTF-8';
@import url('styleIcon.css');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700&subset=japanese');
@import url('https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c:700&subset=japanese');
html {
	font-size: 62.5%;
}
body {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-size: 12px;
	letter-spacing: 0.1em;
	line-height: 180%;
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', Osaka, 'ＭＳ Ｐゴシック', 'MS P Gothic', sans-serif;
	color: #002d00;
	line-height: 200%;
	background-color: #fff;
}
img.cover {
	width: 100%;
	height: auto;
}
img.cover60 {
	width: 60%;
	height: auto;
	margin: 0 20%;
}
@media screen and (max-width: 800px) {
	img.cover60 {
		width: 86%;
		height: auto;
		margin: 0 7%;
	}
}
.preload {
	display: none;
}
.dispWide {
	display: block;
}
.dispNarrow {
	display: none;
}
@media screen and (max-width: 800px) {
	.dispWide {
		display: none;
	}
	.dispNarrow {
		display: block;
	}
}
/* text decoration */
/*リンク文字色*/
a {
	display: inline-block;
	color: #002d00;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
/*リンク文字色フォーカス時*/
a:hover {
	color: #002d00;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
a.noBorder,
a.noBorder:hover {
	border-bottom: none!important;
}
.p-wysiwyg a,
.p-wysiwyg a:hover {
	color: #008200;
	border-bottom: 1px solid #008200;
}
.p-wysiwyg a:hover {
	opacity: 0.8;
}
/*文字選択時文字色＆背景色*
/
::selection {
	color: #fff;
	background-color: #58c8be;
}
.bgGreen ::selection {
	color: #58c8be;
	background-color: #fff;
}
*/
/* 文字をセンタリングする場合 */
.alignCenter,
.p-contents__title,
.p-wysiwyg h1 {
	text-align: center;
}
/* 文字数がわからないブロックをセンタリングする場合 */
.alignCenter > div.blockCenter {
	display: inline-block;
}
/* 文字を右寄せ場合 */
.alignRight {
	text-align: right;
}
/* 文字を左寄せ場合（デフォルト） */
.alignLeft,
.p-wysiwyg table tr th {
	text-align: left;
}
/* 文字を太字にする場合 */
.textBold,
.p-wysiwyg h3,
.p-wysiwyg h5,
.p-wysiwyg h6 {
	font-weight: 700;
}
/* 文字をデフォルトの太さにする場合（デフォルト） */
.textNormal,
.p-contents__title,
.p-wysiwyg h1,
.p-wysiwyg h2,
.p-wysiwyg h4,
.p-wysiwyg th {
	font-weight: normal;
}
/* 文字を細字にする場合 */
.textLight,
.p-wysiwyg p {
	font-weight: 300;
}
/* 角丸フォント指定 */
.fontRound {
	font-family: 'M PLUS Rounded 1c', sans-serif;
}
/*デフォルト文字色*/
.textDarkGray,
.textDarkGray a {
	color: #002d00;
}
/* 文字色を白にする場合 */
.textWhite,
.textWhite a,
.telLink a,
.p-wysiwyg h3 {
	color: #fff;
}
.textDarkGreen,
.textDarkGreen a {
	color: #002d00;
}
a.textDarkGreen {
	color: #002d00!important;
}
.textGreen,
.textGreen a,
.p-wysiwyg h5,
.p-wysiwyg h6 {
	color: #008200;
}
.textRed,
.textRed a {
	color: #cc4e06;
}
.textDarkBlue,
.textDarkBlue a {
	color: #12147a;
}
.textBlue,
.textBlue a {
	color: #0074bf;
}
/*リンク文字色フォーカス時に下線を引く時*/
a.undeline:hover {
	border-bottom: 1px solid #002d00;
}
.textWhite a.undeline:hover {
	border-bottom: 1px solid #fff;
}
.textBlue a.undeline:hover {
	border-bottom: 1px solid #0074bf;
}
/*ドットラインあり見出し*/
/* タイトル装飾 */
.titleWithLine {
	width: 100%;
	overflow: hidden;
}
.titleWithLine > span {
	position: relative;
	display: inline-block;
	padding: 0 0.5em 0 0;
}
.titleWithLine > span::before {
	position: absolute;
	top: 0;
	left: 100%;
	content: '';
	width: 50em;
	height: 1em;
	background-image: url("../images/bgDot.png");
	background-position: left center;
	background-repeat: repeat-x;
	background-size: 12px auto;
}
.p-wysiwyg h2 > span::before {
	top: -0.2em;
}
@media screen and (min-width: 801px) and (max-width: 1280px) {
	.titleWithLine > span::before,
	.p-wysiwyg h2 > span::before {
		background-size: 0.9375vw auto;
	}
}
@media screen and (max-width: 800px) {
	.titleWithLine > span::before,
	.p-wysiwyg h2 > span::before {
		display: none;
	}
}
/*文字強調*/
.textLine {
	padding: 0.1em 0.5em;
}
.textMarker {
	display: inline-block;
	padding: 0 0.15em;
	background: linear-gradient(transparent 60%, #f6ffd6 60%);
}
/*文字囲み*/
.textBorderYellow {
	padding: 0.25em 4em;
	border: 4px solid #ffd100;
}
/*縁取り*/
.border {
	border: 1px solid #dedede;
	box-sizing: border-box;
}
/*縁取りのあるボックス*/
.borderBox {
	padding: 1.5em;
	border: 1px solid #212a00;
	border-radius: 5px;
	box-sizing: border-box;
}
/*tag*/
.tag {
	display: inline-block;
	width: 6.4em;
	margin: 0 0.8em;
	color: #fff;
	letter-spacing: 0;
	text-align: center;
	border-radius: 1em;
	white-space: nowrap;
}
.tag.tagShiritsu {
	background-color: #d12b84;
}
.tag.tagSagamiono {
	background-color: #384da5;
}
.tag.tagHashimoto {
	background-color: #398510;
}
.tag.tagSoubudai {
	background-color: #087e8b;
}
.tag.tagShichoukaku {
	background-color: #7d38a5;
}
@media screen and (max-width: 800px) {
	.borderBox {
		padding: 1em;
	}
}
/*行間指定*/
.lineHeight100 {
	line-height: 100%;
}
.lineHeight140 {
	line-height: 140%;
}
.lineHeight160,
.p-wysiwyg p {
	line-height: 160%;
}
.lineHeight190 {
	line-height: 190%;
}
.lineHeight225 {
	line-height: 225%;
}
/*余白指定*/
.marginTopHalf {
	margin-top: 0.5em!important;
}
.marginTop1 {
	margin-top: 1em!important;
}
.marginTop1half,
.p-wysiwyg p,
.p-wysiwyg table,
.p-wysiwyg ul,
.p-wysiwyg ol,
.p-wysiwyg figure {
	margin-top: 1.5em!important;
}
.marginTop2 {
	margin-top: 2em!important;
}
.marginTop3 {
	margin-top: 3em!important;
}
.marginTop4 {
	margin-top: 4em!important;
}

/* font size */
/*大アイコン*/
.text60 {
	font-size: 60px;
}
/*中アイコン*/
.text42 {
	font-size: 42px;
}
/*セクションテキスト大*/
.text36,
.p-contents__title,
.p-wysiwyg h1,
.p-wysiwyg h2 {
	font-size: 36px;
}
/*こどもセクションテキスト大*/
.text30 {
	font-size: 30px;
}
/*セクションテキスト大*/
.text24 {
	font-size: 24px;
}
/*セクションテキスト中*/
.text20,
.p-wysiwyg h3 {
	font-size: 20px;
}
/*セクションテキスト中*/
.text18,
.p-wysiwyg h4,
.p-wysiwyg h5 {
	font-size: 18px;
}
/*セクションテキスト小：基準フォント*/
.text16,
fieldset input[type="text"],
fieldset input[type="email"],
fieldset input[type="tel"],
fieldset textarea,
fieldset select {
	font-size: 16px;
}
/*セクションテキスト極小*/
.text14 {
	font-size: 14px;
}
/*トップへ戻るボタン*/
.text12 {
	font-size: 12px;
}
@media screen and (min-width: 801px) and (max-width: 1280px) {
	/* font size */
	/*大アイコン*/
	.text60 {
		font-size: 4.6875vw;
	}
	/*中アイコン*/
	.text42 {
		font-size: 3.28125vw;
	}
	/*セクションテキスト大*/
	.text36,
	.p-contents__title,
	.p-wysiwyg h1,
	.p-wysiwyg h2 {
		font-size: 2.8125vw;
	}
	/*こどもセクションテキスト大*/
	.text30 {
		font-size: 2.34375vw;
	}
	/*セクションテキスト大*/
	.text24 {
		font-size: 1.875vw;
	}
	/*セクションテキスト中*/
	.text20,
	.p-wysiwyg h3 {
		font-size: 1.5625vw;
	}
	/*セクションテキスト中*/
	.text18,
	.p-wysiwyg h4,
	.p-wysiwyg h5 {
		font-size: 1.40625vw;
	}
	/*セクションテキスト小：基準フォン*/
	.text16,
	fieldset input[type="text"],
	fieldset input[type="email"],
	fieldset input[type="tel"],
	fieldset textarea,
	fieldset select {
		font-size: 1.25vw;
	}
	/*セクションテキスト極小*/
	.text14 {
		font-size: 1.09375vw;
	}
	/*トップへ戻るボタン*/
	.text12 {
		font-size: 0.9375vw;
	}
}
@media screen and (max-width: 800px) {
	/* font size */
	/*大アイコン*/
	.text60 {
		font-size: 12vw;
	}
	/*中アイコン*/
	.text42 {
		font-size: 7.2vw;
	}
	/*セクションテキスト大*/
	.text36,
	.p-contents__title,
	.p-wysiwyg h1,
	.p-wysiwyg h2 {
		font-size: 6.4vw;
	}
	/*こどもセクションテキスト大*/
	.text30 {
		font-size: 6.4vw;
	}
	/*セクションテキスト大*/
	.text24 {
		font-size: 6.4vw;
	}
	/*セクションテキスト中*/
	.text20,
	.p-wysiwyg h3 {
		font-size: 5.4vw;
	}
	/*セクションテキスト中*/
	.text18,
	.p-wysiwyg h4,
	.p-wysiwyg h5 {
		font-size: 4.2vw;
	}
	/*セクションテキスト小：基準フォン*/
	.text16,
	fieldset input[type="text"],
	fieldset input[type="email"],
	fieldset input[type="tel"],
	fieldset textarea,
	fieldset select {
		font-size: 4.2vw;
	}
	/*セクションテキスト極小*/
	.text14 {
		font-size: 3.7vw;
	}
	/*トップへ戻るボタン*/
	.text12 {
		font-size: 3.2vw;
	}
	/*スマホ表示時個別指定*/
	#bookSearch .text36 {
		font-size: 9.6vw;
	}
	#bookSearch .text60 {
		font-size: 18vw;
	}
	#openTimeArea td .text36 {
		font-size: 9vw;
	}
	#openTimeArea td .text24,
	#pickup .text24,
	.listBox h2.text24,
	.teensThumbGallery li > span.text24 {
		font-size: 4.2vw;
	}
	#sitemap .text36,
	#navSub .text36{
		font-size: 4.8vw;
	}
	#kidsMenu .ancherMenu li .text30 {
		font-size: 5.4vw;
	}
	.calendarWrapper .tableCalendar + p.text16 {
		font-size: 3.2vw;
	}
}
.textIndent {
	padding-left: 1em;
}
/*二行目以降一文字分段落ち指定*/
.textAttention {
	display: block;
	text-indent: -1em;
	margin-left: 1em;
}
/*一行の領域からはみ出す時に文字省略*/
.textEllipsis {
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
/*二行の領域からはみ出す時に文字省略*/
.textEllipsis2lines {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
/*flexbox指定*/
.flexBlock {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: row;
	flex-shrink: 0;
	list-style: none;
	margin: 0 auto;
}
.flexBlockReverse {
	flex-direction: row-reverse;
}
.flexBlockColumn {
	flex-direction: column;
}
.flexAround {
	justify-content: space-around;
}
.flexBetween {
	justify-content: space-between;
}
.flexStart {
	justify-content: flex-start;
}
.flexStretch {
	align-items: stretch;
}
.flexAlignCenter {
	align-items: center;
}
.iconAdjust {
	align-items: center;
}
.iconAdjust > span {
	display: inline-block;
}
.iconAdjust > span + span {
	padding-left: 0.25em;
}
.flexSplit article {
	width: 49%;
}
@media screen and (max-width: 800px) {
	.flexSplit article {
		width: 100%;
	}
}
.flexList > li + li {
	margin-left: 1.5em;
}
/*本型flexbox*/
.flexBookBox > li {
	position: relative;
	width: 18%;
	height: 7.25em;
}
.flexBookBox > li > span {
	position: absolute;
	top: 50%;
	width: 100%;
	transform: translateY(-50%);
	pointer-events: none;
}
.flexBookBox > li > a {
	display: block;
	width: 100%;
	height: 100%;
	background-image: url('../images/_svg/btnBook.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
@media screen and (max-width: 800px) {
	.flexBookBox > li {
		position: relative;
		width: 40.5vw;
		height: 30vw;
	}
	.flexBookBox > li:nth-child(n + 3) {
		margin-top: 1em;
	}
}
/*角丸型flexbox*/
.flexRoundBox {
	padding-bottom: 1.5em;
	transform: translateX(-0.5em);
}
.flexRoundBox > li {
	position: relative;
	display: block;
	/*
	width: 13%;
	height: 3em;
	line-height: 1;
	*/
	margin: 1.5em 0.5em 0;
}
/*
.flexRoundBox > li + li {
	margin-left: 1em;
}
*/
.flexRoundBox > li > a,
.flexRoundBox > li > span {
	display: block;
	/*
	width: 100%;
	height: 100%;
	color: #002d00;
	*/
	padding: 0.75em 2em;
	background-color: #fff;
	border-radius: 3em;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	cursor: pointer;
}
.flexRoundBox > li.current > a,
.flexRoundBox > li > a:hover,
.flexRoundBox > li.current > span,
.flexRoundBox > li > span:hover {
	color: #fff;
	background-color: #cc4e06;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
#navSub .flexRoundBox > li.current > span a,
#navSub .flexRoundBox > li > span a:hover {
	color: #fff;
}
@media screen and (max-width: 800px) {
  #navSub .flexRoundBox {
    transform: none;
  }
  #navSub .flexRoundBox > li > span {
    display: -webkit-flex;
    display: flex;
    background: none;
    padding: 0;
    color: #fff;
  }
  #navSub .flexRoundBox > li {
    margin: 0;
  }
}
/*角型flexbox*/
.flexSquareBox > li {
	position: relative;
	width: 31.5%;
	padding: 1em;
	box-sizing: border-box;
}
.flexSquareBox > li:nth-child(n + 4) {
	margin-top: 2em;
}
.flexSquareBox > li > a {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 100%;
	border-radius: 10px;
}
.flexSquareBox > li span {
	position: relative;
	display: block;
	width: 100%;
	pointer-events: none;
}
.flexSquareBox > li > div {
	height: 2.8em;
}
@media screen and (max-width: 800px) {
	.flexSquareBox > li {
		position: relative;
		width: 48%;
		padding: 1em 0;
		letter-spacing: 0;
		box-sizing: border-box;
	}
	.flexSquareBox:not(.flexList4) > li:nth-child(n + 3) {
		margin-top: 1em;
	}
}
/*サムネイル画像付き角型flexbox*/
/*3つ表示*/
.flexThumbSquare {
  justify-content: flex-start !important;
}

.flexThumbSquare:not(.flexList4) li {
	position: relative;
	width: 33.3333333333%;
	width: calc(100% / 3);
	padding: 1.5em;
	box-sizing: border-box;
}
.flexThumbSquare:not(.flexList4) li:nth-child(3n + 2),
.flexThumbSquare:not(.flexList4) li:nth-child(3n + 3) {
	border-left: 1px solid #e5e5e5;
}
.flexThumbSquare:not(.flexList4) li:nth-child(n + 4) {
	border-top: 1px solid #e5e5e5;
}
.flexThumbSquare:not(.flexList4) li .thumb {
	padding-top: 62%;
	background-size: 100% auto;
}
.flexThumbSquare:not(.flexList4).flexThumbGallery li .thumb {
	padding-top: 100%;
}
.flexThumbSquare:not(.flexList4) li:hover .thumb {
	background-size: 105% auto;
}
/*4つ表示*/
.flexThumbSquare.flexList4 li {
	position: relative;
	width: 25%;
	padding: 1.5em;
	box-sizing: border-box;
}
.flexThumbSquare.flexList4 li:nth-child(4n + 2),
.flexThumbSquare.flexList4 li:nth-child(4n + 3),
.flexThumbSquare.flexList4 li:nth-child(4n + 4) {
	border-left: 1px solid #e5e5e5;
}
.flexThumbSquare.flexList4 li:nth-child(n + 5) {
	border-top: 1px solid #e5e5e5;
}
.flexThumbSquare.flexList4 li .thumb {
	padding-top: 100%;
	background-size: auto 100%;
}
.flexThumbSquare.flexList4 li:hover .thumb {
	background-size: auto 105%;
}
/*サムネイル画像付き角型flexbox共通設定*/
.flexThumbSquare li .thumb {
	width: 100%;
	margin-bottom: 1em;
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
.flexThumbSquare li:hover .thumb {
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
.flexThumbSquare li .tag {
	margin-left: 0;
}
.flexThumbSquare li .tag + span {
	display: block;
	margin-top: 0.5em;
}
.flexThumbSquare li a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 800px) {
	.flexThumbSquare:not(.flexList4) li {
		width: 100%;
	}
	.flexThumbSquare:not(.flexList4) li:nth-child(3n + 2),
	.flexThumbSquare:not(.flexList4) li:nth-child(3n + 3) {
		border-left: none;
	}
	.flexThumbSquare:not(.flexList4) li:nth-child(n + 2) {
		border-top: 1px solid #e5e5e5;
	}
	.flexThumbSquare.flexList4 li {
		width: 50%;
	}
	.flexThumbSquare.flexList4 li:nth-child(4n + 3) {
		border-left: none;
	}
	.flexThumbSquare.flexList4 li:nth-child(n + 3) {
		border-top: 1px solid #e5e5e5;
	}
}
/*サムネイル画像付き角丸型flexbox*/
.flexThumbRound li {
	position: relative;
	width: 32%;
}
.flexThumbRound li .thumb {
	width: 73%;
	margin: 0 auto;
	padding-top: 73%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-color: #c2c2c2;
	border-radius: 100%;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
.flexThumbRound li:hover .thumb {
	background-size: auto 105%;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
.flexThumbRound li .thumbKids {
	background-image: url('../images/imgPickup01.png');
}
.flexThumbRound li .thumbTeens {
	background-image: url('../images/imgPickup02.png');
}
.flexThumbRound li .thumbKodomo {
	background-image: url('../images/imgPickup03.png');
}
.flexThumbRound li a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 800px) {
	.flexThumbRound li {
		width: 100%;
	}
	.flexThumbRound li .thumb {
		width: 44%;
		padding-top: 44%;
	}
}
/*テキストテーブル型flexbox*/
.textList {
	margin-top: 2em!important;
}
.textList > dl,
.textList > div {
	width: 46%;
}
.textList > dl dt {
	margin-bottom: 0.75em;
}
.textList > dl dd {
	margin-bottom: 2em;
	padding-bottom: 2em;
	border-bottom: 1px solid #adeae5;
}
/*flexbox2分割*/
.flexList2 {
	padding-bottom: 1em;
}
.flexList2 .flexList2item {
	width: 48%;
}
.flexList2 .flexList2item:nth-child(n + 3) {
	margin-top: 1em;
}
@media screen and (max-width: 800px) {
	.flexList2 {
		padding-bottom: 0;
	}
	.flexList2 .flexList2item {
		width: 100%;
	}
	.flexList2 .flexList2item:nth-child(n + 3) {
		margin-top: 0;
	}
}
/*flexbox3分割*/
.flexList3 {
	padding-bottom: 1em;
}
.flexList3 .flexList3item {
	width: 30%;
}
.flexList3 .flexList3item:nth-child(n + 4) {
	margin-top: 1em;
}
@media screen and (max-width: 800px) {
	.flexList3 {
		padding-bottom: 0;
	}
	.flexList3 .flexList3item {
		width: 100%;
	}
	.flexList3 .flexList3item:nth-child(n + 4) {
		margin-top: 0;
	}
}
/*枠組み指定*/
.sectionWrapper {
	padding: 2.5em 0;
}
.widthWrapper {
	position: relative;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 2.5em;
	box-sizing: border-box;
}
.contentsWrapper {
	width: 90%;
	margin: 0 auto;
}
@media screen and (max-width: 800px) {
	.sectionWrapper {
		padding: 5vw 0;
	}
	.widthWrapper {
		padding: 0 5vw;
		overflow: hidden;
	}
}
/*背景色*/
.bgWhite {
	background-color: #fff;
}
.bgGreen,
.p-wysiwyg h3 {
	background-color: #008200;
}
.bgDarkGreen {
	background-color: #002d00;
}
.bgLightGreen,
.p-wysiwyg h4,
.p-wysiwyg table th {
	background-color: #f6ffd6;
}
.bgBlue {
	background-color: #0074bf;
}
.bgSkyBlue {
	background-color: #e9f6ff;
}
.bgRed {
	background-color: #cc4e06;
}
.bgWhiteToSkyBlue {
	min-height: 400px;
	background-color: #fff;
	background-image: url('../images/bgWhiteToSkyBlue.png');
	background-position: center bottom;
	background-repeat: repeat-x;
}
@media screen and (max-width: 800px) {
	#sitemap.bgSkyBlue {
		background-color: #008200;
	}
	.bgWhiteToSkyBlue {
		background-size: 1px 50vw;
	}
	#navSub {
		background-color: #cc4e06;
	}
}
/*tab*/
.tabContentWrapper {
	position: relative;
}
.tabContentWrapper .tabContent {
	display: none;
}
.tabContentWrapper .tabContent.current {
	display: block;
}
/*header*/
header {
	width: 100%;
	height: 18.28125vw;
	max-height: 234px;
	z-index: 100;
}
header h1 {
	width: 100%;
	height: 12.109375vw;
	max-height: 155px;
}
header h1 a {
	display: block;
	width: 25%;
	max-width: 320px;
	height: 100%;
	margin: 0 auto;
	font-size: 0;
	background-image: url('../images/_svg/logoHeader.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
header #navWrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
header #navWrapper > .flexBlock {
	justify-content: flex-end;
	width: 100%;
	height: 12.109375vw;
	max-height: 155px;
}
header #navWrapper > .flexBlock > a {
	display: block;
	width: 25%;
	height: 12.109375vw;
	max-height: 155px;
	margin-left: auto;
}
header #navWrapper > .flexBlock .headerParts {
	flex-direction: column;
	justify-content: center;
	text-align: right;
	width: 37.5%;
	height: 12.109375vw;
	max-height: 155px;
	margin: 0;
}


@media all and (-ms-high-contrast: none){
  header #navWrapper > .flexBlock{justify-content: flex-start;}
}



header #navWrapper > .flexBlock #translateBox {
	width: 10vw;
	max-width: 128px;
	height: 2.421875vw;
	max-height: 31px;
	margin: 2em 0 0 auto;
}

header #navWrapper > .flexBlock #omojin {
	width: 29.0625vw;
	max-width: 372px;
	height: 3.59375vw;
	max-height: 46px;
	margin-left: auto;
}
header #navWrapper nav {
	width: 100%;
}
header #navWrapper nav #navGlobal > li {
	width: 18.75%;
	height: 6.171875vw;
	max-height: 79px;
	text-align: center;
}
header #navWrapper nav #navGlobal > li a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
header #navWrapper nav #navGlobal > li a span {
	display: inline-block;
	position: relative;
	height: 2.734375vw;
	max-height: 35px;
}
header #navWrapper nav #navGlobal > li a span.icon {
	display: block;
	height: 3.4375vw;
	max-height: 44px;
	line-height: 200%;
}
header #navWrapper nav #navGlobal > li a span.focusBar,
header #navWrapper nav #navGlobal > li a:hover span.focusBar,
header #navWrapper nav #navGlobal > li.current a span.focusBar {
	position: absolute;
	bottom: 0;
	left: 50%;
	height: 0.3125vw;
	max-height: 4px;
	margin: 0 auto;
	background-color: #fff;
	transform: translateX(-50%);
}
header #navWrapper nav #navGlobal > li a span.focusBar {
	width: 0;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
header #navWrapper nav #navGlobal > li a:hover span.focusBar,
header #navWrapper nav #navGlobal > li.current a span.focusBar {
	width: 100%;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
/*デザイン確認用ダミーパーツ：ここから*/
header #navWrapper > .flexBlock .dummy {
	width: 100%;
	height: 100%;
	background-position: right top;
	background-repeat: no-repeat;
	background-size: contain;
}
header #navWrapper > .flexBlock #translateBox .dummy {
	background-image: url('../images/_dummy/translate.png');
}
/*デザイン確認用ダミーパーツ：ここまで*/
@media screen and (max-width: 800px) {
	.headerMargin {
		padding-top: 20vw;
	}
	header {
		position: fixed;
		width: 100%;
		height: 20vw;
		max-height: inherit;
		z-index: 100;
	}
	header h1 {
		position: relative;
		width: 100%;
		height: 20vw;
		max-height: inherit;
		z-index: 120;
	}
	header h1.bgSkyBlue {
		/*
		background-color: #e9f6ff;
		*/
		background-color: rgba(232, 246, 255, 0.92);
	}
	header h1 a {
		width: 55%;
		max-width: inherit;
	}
	header #menuSp {
		position: absolute;
		top: 0;
		right: 0;
		width: 20vw;
		height: 20vw;
		padding: 6vw 5vw 4vw;
		box-sizing: border-box;
		z-index: 130;
	}
	header #menuSp a,
	header #menuSp a span {
		display: inline-block;
		box-sizing: border-box;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
	}
	header.showSp #menuSp a,
	header.showSp #menuSp a span {
		-webkit-transition: all 0.15s ease;
		transition: all 0.15s ease;
	}
	header #menuSp a {
		position: relative;
		width: 10vw;
		height: 5vw;
	}
	header #menuSp a span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.8vw;
		background-color: #008200;
		border-radius: 0.8vw;
	}
	header #menuSp a span:nth-of-type(1) {
		top: 0;
	}
	header #menuSp a span:nth-of-type(2) {
		top: 2vw;
	}
	header #menuSp a span:nth-of-type(3) {
		bottom: 0;
	}
	header #menuSp a::after {
		position: absolute;
		left: 8%;
		top: 130%;
		content: 'MENU';
		font-size: 2.6666vw;
		color: #008200;
		letter-spacing: 0;
		text-align: center;
	}
	header.showSp #menuSp a span:nth-of-type(1) {
		-webkit-transform: translateY(2vw) rotate(-45deg);
		transform: translateY(2vw) rotate(-45deg);
	}
	header.showSp #menuSp a span:nth-of-type(2) {
		opacity: 0;
	}
	header.showSp #menuSp a span:nth-of-type(3) {
		-webkit-transform: translateY(-2vw) rotate(45deg);
		transform: translateY(-2vw) rotate(45deg);
	}
	header.showSp #menuSp a::after {
		left: 0%;
		content: 'CLOSE';
	}
	header #navWrapper {
		display: none;
		top: 0;
		background-color: #e9f6ff;
		box-sizing: border-box;
		overflow: hidden;
		animation: menuSpOut 0.5s ease 0.1s forwards;
		z-index: 110;
	}
	header.showSp #navWrapper {
		display: block;
		top: -100vw;
		animation: menuSpIn 0.15s ease 0.1s forwards;
	}
	header #navWrapper > .flexBlock {
		justify-content: center;
		text-align: center;
		height: auto;
		max-height: inherit;
		margin-top: 20vw;
		padding-bottom: 4.266vw;
		background-color: #008200;
	}
	header #navWrapper > .flexBlock > a {
		display: none;
	}
	header #navWrapper > .flexBlock .headerParts {
		flex-direction: column;
		justify-content: center;
		text-align: center;
		width: 100%;
		height: auto;
		max-height: inherit;
		margin: 0 auto;
	}
	header #navWrapper > .flexBlock #translateBox {
		width: 32.8vw;
		max-width: inherit;
		height: 8vw;
		max-height: inherit;
		margin: 4.266vw auto 0;
	}
	header #navWrapper > .flexBlock #omojin {
		display: none;
	}
	header #navWrapper > .flexBlock #omojin a {
		color: #fff;
	}
	header #navWrapper nav {
		padding-bottom: 4.266vw;
	}
	header #navWrapper nav #navGlobal {
		padding: 0!important;
	}
	header #navWrapper nav #navGlobal > li {
		width: 100%;
		height: 3em;
		max-height: inherit;
		padding: 0;
		text-align: left;
	}
	header #navWrapper nav #navGlobal > li a {
		display: block;
		position: relative;
		width: 90vw;
		height: 100%;
		padding: 0 5vw;
	}
	header #navWrapper nav #navGlobal > li.current a {
		background-color: #002d00;
	}
	header #navWrapper nav #navGlobal > li a span {
		display: inline-block;
		position: relative;
		height: 1em;
		max-height: inherit;
		padding-top: 0;
	}
	header #navWrapper nav #navGlobal > li a span.icon {
		display: inline-block;
		max-height: inherit;
		padding-top: 0;
		line-height: 200%;
	}
	header #navWrapper nav #navGlobal > li a span.icon + span {
		transform: translateY(-0.25em);
	}
	header #navWrapper nav #navGlobal > li a span.focusBar,
	header #navWrapper nav #navGlobal > li a:hover span.focusBar,
	header #navWrapper nav #navGlobal > li.current a span.focusBar {
		background-color: transparent;
	}
}
@keyframes menuSpIn {
	0% { top: -100vw; }
	100% { top: 0; }
}
@keyframes menuSpOut {
	0% { top: 0; }
	100% { top: -100vw; }
}
/*ページトップへ戻るボタン*/
#goToTop {
	position: fixed;
	right: 50px;
	bottom: -100px;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
	z-index: 10;
}
#goToTop.show {
	bottom: 42px;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
#goToTop a {
	display: block;
	width: 6vw;
	max-width: 70px;
	height: 6vw;
	max-height: 70px;
	border-radius: 100%;
}
#goToTop a:hover {
	color: #fff;
	transform: translateY(-10px);
}
#goToTop a span {
	display: block;
}
#goToTop a span:nth-child(1) {
	padding-top: 0.25em;
}
@media screen and (min-width: 801px) and (max-width: 1280px) {
	#goToTop {
		right: 3.90625vw;
	}
	#goToTop.show {
		bottom: 3.28125vw;
	}
	#goToTop a:hover {
		transform: translateY(-0.78125vw);
	}
}
@media screen and (max-width: 800px) {
	#goToTop {
		right: 5vw;
		bottom: -200px;
	}
	#goToTop.show {
		bottom: 6.4vw;
	}
	#goToTop a {
		width: 19vw;
		height: 19vw;
	}
}
/*footer*/
footer {
	padding: 6.875em 0 0;
	background-image: url('../images/_svg/bgMountain.svg');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: auto 6.875em;
}
footer .bgGreen td {
	padding: 1em 3em 2.5em 0;
	vertical-align: middle;
}
footer .bgGreen td span.textBold {
	display: block;
}
footer .bgDarkGreen {
	padding: 2em 0;
}
@media screen and (max-width: 800px) {
	footer {
		padding: 0;
		background-image: none;
	}
	footer .bgGreen td {
		display: block;
		width: 100%;
		padding: 0 0 0.75em;
		vertical-align: middle;
		box-sizing: border-box;
	}
	footer .bgGreen td span.textBold {
		display: block;
	}
	footer .bgDarkGreen {
		padding: 6.4vw 0;
	}
}
/*btn*/
.btn {
	display: inline-block;
	position: relative;
	width: 20%;
	height: 2.5em;
	margin: 0 auto;
}
.btn > a {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 3em;
}
.btn > a:hover {
	border-radius: 3em;
}
.btn > span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 0.75em 0;
	line-height: 1;
	box-sizing: border-box;
	pointer-events: none;
}
@media screen and (max-width: 800px) {
	.btn {
		width: 100%;
		height: 3em;
	}
	.btn > span {
		padding: 1em 0;
	}
	.toggleBtn .contents {
		display: inline-block;
		width: 80vw;
	}
	.toggleBtnIcon {
		display: inline-block;
		width: 1em;
		height: 1em;
		margin-left: auto;
		font-size: 10vw;
		z-index: 100;
		cursor: pointer;
	}
	.toggleBtn .toggleBtnIcon span {
		width: 1em;
		height: 1em;
	}
	.toggleBtn .toggleBtnIcon span:nth-child(1),
	.toggleBtn.current .toggleBtnIcon span:nth-child(2) {
		display: block;
	}
	.toggleBtn.current .toggleBtnIcon span:nth-child(1),
	.toggleBtn .toggleBtnIcon span:nth-child(2) {
		display: none;
	}
	.toggleContents {
		display: none;
	}
	.toggleContents.current {
		display: block;
	}
	.widthWrapper.narrowToggle {
		margin: 1em 0 0;
		background-color: #f6ffd6;
	}
	.widthWrapper.narrowToggle h2 {
		background-color: #cc4e06;
	}
	.widthWrapper.narrowToggle .toggleContents.flexRoundBox {
		margin: 0 auto!important;
		padding: 1em;
		transform: translateX(0);
	}
	.widthWrapper.narrowToggle .toggleContents.flexRoundBox > li {
		margin: 0 auto 1em;
	}
	.widthWrapper.narrowToggle > p {
		padding: 5vw 5vw 0;
	}
}
/*ドロップシャドウ指定*/
.dropShadow .current,
.dropShadow a,
.dropShadow > span,
.dropShadowOnlyHover .current,
.dropShadowOnlyHover a:hover,
.dropShadowOnlyHover span:hover {
	filter: drop-shadow( 0 4px 10px rgba(0, 51, 43, 0.4));
}
.dropShadow a:hover,
.dropShadow > span:hover {
	filter: drop-shadow( 0 4px 14px rgba(0, 51, 43, 0.4));
	transform: scale(1.05);
}
@media screen and (min-width: 801px) and (max-width: 1280px) {
	.dropShadow .current,
	.dropShadow a,
	.dropShadow > span,
	.dropShadowOnlyHover .current,
	.dropShadowOnlyHover a:hover,
	.dropShadowOnlyHover span:hover {
		filter: drop-shadow( 0 0.3125vw 0.78125vw rgba(0, 51, 43, 0.4));
	}
	.dropShadow a:hover,
	.dropShadow > span:hover {
		filter: drop-shadow( 0 0.3125vw 1.1vw rgba(0, 51, 43, 0.4));
	}
}
@media screen and (max-width: 800px) {
	.dropShadow .current,
	.dropShadow a,
	.dropShadow > span,
	.dropShadowOnlyHover .current,
	.dropShadowOnlyHover a:hover,
	.dropShadowOnlyHover span:hover {
		filter: drop-shadow( 0 0.5vw 1.33vw rgba(0, 51, 43, 0.4));
	}
	.dropShadow a:hover,
	.dropShadow > span:hover {
		filter: drop-shadow( 0 0.5vw 2.13vw rgba(0, 51, 43, 0.4));
	}
}
/* animation */
.init {
	opacity: 0;
	-webkit-transform: translateY(20px);
	transform: translateY(20px);
}
/* animation:lineup */
.action .init.action00 {
	animation: fadeAndSlideIn 0.5s ease 0.1s forwards;
}
.action .init.action01 {
	animation: fadeAndSlideIn 0.5s ease 0.3s forwards;
}
.action .init.action02 {
	animation: fadeAndSlideIn 0.5s ease 0.5s forwards;
}
.action .init.action03 {
	animation: fadeAndSlideIn 0.5s ease 0.7s forwards;
}
.action .init.action04 {
	animation: fadeAndSlideIn 0.5s ease 0.9s forwards;
}
.action .init.action05 {
	animation: fadeAndSlideIn 0.5s ease 1.1s forwards;
}
.action .init.action06 {
	animation: fadeAndSlideIn 0.5s ease 1.3s forwards;
}
.action .init.action07 {
	animation: fadeAndSlideIn 0.5s ease 1.5s forwards;
}
.action .init.action08 {
	animation: fadeAndSlideIn 0.5s ease 1.7s forwards;
}
@keyframes fadeAndSlideIn {
	0% {
		opacity: 0;
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
/* bread crumbs */
.breadCrumbs {
	width: 100%;
	padding: 1em 0;
}
.breadCrumbs li,
.breadCrumbs li span {
	display: inline-block;
	padding-right: 1em;
}
.breadCrumbs li:not(:last-child)::after {
	content: ">";
}
@media screen and (max-width: 800px) {
  .breadCrumbs {
    overflow-x: scroll;
    white-space: nowrap;
  }
}
/*sitemap*/
#sitemap {
	padding: 0 0 3em;
}
#navSub .ico-arrow-right-circle{
  display: none;
}
#sitemap .widthWrapper.flexBlock > ul {
	width: 19%;
}
#sitemap .widthWrapper.flexBlock > ul li + li {
	margin-top: 1em;
}
#sitemap .widthWrapper.flexBlock > ul li > ul{
	padding-left: 2.25em;
	box-sizing: border-box;
}
#sitemap .widthWrapper.flexBlock > ul li > ul li,
#navSub .widthWrapper.flexBlock > ul li > ul li {
	margin-top: 0.5em;
}
#sitemap .widthWrapper #search_box {
	width: 240px;
	margin: 1em 0 1em auto;
}
#sitemap .widthWrapper #search_box input.gsc-input::-webkit-input-placeholder {
	color: #ccc;
}
#sitemap .widthWrapper #search_box input.gsc-input:-moz-placeholder {
	color: #ccc;
}
#sitemap .widthWrapper #search_box input.gsc-input::-moz-placeholder {
	color: #ccc;
}
#sitemap .widthWrapper #search_box input.gsc-input:-ms-input-placeholder {
	color: #ccc;
}
@media screen and (max-width: 800px) {
	#sitemap,
  #navSub {
		padding: 0;
	}
  #navSub .ico-arrow-right-circle{
    display: inline-block;
  }
	#sitemap .widthWrapper.flexBlock,
  #navSub .widthWrapper,
  .widthWrapper.narrowToggle {
		width: 100%;
		padding: 0;
	}
	#sitemap .widthWrapper.flexBlock h2,
  #navSub .widthWrapper h2,
  .widthWrapper.narrowToggle h2 {
		width: 100%;
		padding: 3.5vw 0 3.5vw 5vw;
		border-bottom: 1px solid #fff;
		box-sizing: border-box;
	}
	#sitemap .widthWrapper.flexBlock h2 .contents,
  #navSub .widthWrapper h2 .contents,
  .widthWrapper.narrowToggle h2 .contents {
		transform: translateY(-2vw);
	}
	#sitemap .widthWrapper.flexBlock > ul,
  #navSub .widthWrapper > ul {
		width: 100%;
		margin-top: 1em;
		padding: 0 5vw;
		color: #fff;
		box-sizing: border-box;
	}
  #navSub .widthWrapper > ul {
		margin-bottom: 1em;
  }
  #navSub .widthWrapper > ul li + li {
		margin-top: 1em;
  }
	#sitemap .widthWrapper.flexBlock > ul a,
  #navSub .widthWrapper > ul a{
		color: #fff;
	}
	#sitemap .widthWrapper #search_box {
		width: 100%;
		margin: 6.4vw 0;
		box-sizing: border-box;
	}
}
/*下層ページタイトル*/
.p-contents__title,
.p-wysiwyg h1 {
	position: relative;
	padding: 0 0 1.5em;
}
.p-contents__title {
  padding-top: 1.5em;
  line-height: 120%;
}
.p-contents__title::before,
.p-wysiwyg h1::before {
	position: absolute;
	bottom: 0;
	left: 50%;
	content: '';
	width: 60px;
	height: 1em;
	background-image: url("../images/bgDot.png");
	background-position: center center;
	background-repeat: repeat-x;
	background-size: 12px auto;
	transform: translateX(-50%);
}
@media screen and (min-width: 801px) and (max-width: 1280px) {
	.p-contents__title::before,
	.p-wysiwyg h1::before {
		width: 4.6875vw;
		background-size: 0.9375vw auto;
	}
}
@media screen and (max-width: 800px) {
	.p-contents__title::before,
	.p-wysiwyg h1::before {
		width: 15vw;
		background-size: 3vw auto;
	}
}
/*list*/
.infoList {
	padding: 1.5em;
	box-sizing: border-box;
}
.infoList li + li {
	margin-top: 2em;
}
@media screen and (max-width: 800px) {
	.infoListWrapper .widthWrapper:not(.infoBlockHeader) {
		padding: 0;
	}
	.infoListWrapper .widthWrapper.infoBlockHeader .tab.marginTop1half {
		margin-top: 0!important;
	}
	.infoListWrapper .widthWrapper .infoList {
		padding: 1em 5vw;
		line-height: 160%;
	}
	.infoList li + li {
		margin-top: 2em;
	}
	.infoList li a {
		padding-top: 0.5em;
	}
}
.icoSvg {
	display: inline-block;
	width: 1em;
	height: 1em;
	background-repeat: no-repeat;
	background-size: contain;
}
.icoSvgHome {
	margin-right: 0.25em;
	background-image: url('../images/_svg/iconHome.svg');
	background-position: center center;
}
.icoSvgInfo {
	margin-right: 0.25em;
	background-image: url('../images/_svg/iconInfo.svg');
	background-position: center center;
}
.icoSvgReading {
	margin-right: 0.25em;
	background-image: url('../images/_svg/iconReading.svg');
	background-position: center center;
}
.icoSvgSchool {
	margin-right: 0.25em;
	background-image: url('../images/_svg/iconSchool.svg');
	background-position: center center;
}
/*10代のページ*/
/*teensPageTitle*/
#teensPageTitle h2 {
	width: 50%;
	height: 128px;
	margin: 0 auto;
	font-size: 0;
	background-image: url('../images/_teens/logo.png');
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
}
@media screen and (min-width: 801px) and (max-width: 1280px) {
	#teensPageTitle h2 {
		height: 10vw;
	}
}
@media screen and (max-width: 800px) {
	#teensPageTitle h2 {
		width: 90%;
		height: 17vw;
	}
}


/*form*/
fieldset {
  width: 100%;
  /*
  margin-top: 1em;
  */
  padding: 1em 0 0;
  border: medium none !important;
  box-sizing: border-box;
}
fieldset input[type="text"],
fieldset textarea {
	background-color: #f6ffd6;
	border-radius: 3em;
	border: 2px solid #212a00;
	box-sizing: border-box;
	outline: none;
	-webkit-appearance: none;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
/*
fieldset input[type="text"],
fieldset input[type="email"],
fieldset input[type="tel"],
fieldset textarea,
fieldset select {
  width: 100%;
  margin: 0 auto;
  padding: 0.5em 2%;
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', Osaka, 'ＭＳ Ｐゴシック', 'MS P Gothic', sans-serif;
	background-color: #fff;
  border: 2px solid #008200;
  border-radius: 0;
  box-sizing: border-box;
  outline: none;
  -webkit-appearance: none;
}
*/
fieldset select {
  width: 100%;
  padding: 0.5em 10% 0.5em 2%;
  background-image: url("../images/_icon/icoSelectArrow.png");
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
  border: 2px solid #008200;
  border-radius: 0;
  box-sizing: border-box;
  outline: none;
  -webkit-appearance: none;
}
select::-ms-expand {
	display: none;
}
fieldset input[type="text"]:hover,
fieldset input[type="email"]:hover,
fieldset input[type="tel"]:hover,
fieldset textarea:hover,
fieldset select:hover {
  border: 2px solid #008200;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
fieldset textarea {
  height: 200px;
  resize: none;
}
fieldset input:focus,
fieldset textarea:focus,
fieldset select:focus {
  outline: 0;
  border: 2px solid #cc4e06;
}
.btnWrapper input[type="radio"]:checked,
.btnWrapper input[type="radio"]:not(:checked),
.btnWrapper input[type="checkbox"]:checked,
.btnWrapper input[type="checkbox"]:not(:checked) {
  opacity: 0;
}
.btnWrapper input[type="radio"]:checked + label,
.btnWrapper input[type="radio"]:not(:checked) + label,
.btnWrapper input[type="checkbox"]:checked + label,
.btnWrapper input[type="checkbox"]:not(:checked) + label {
  display: inline-block;
  position: relative;
  margin-left: -20px;
  padding: 0 0 0 30px;
  line-height: 20px;
  cursor: pointer;
}
.btnWrapper input[type="radio"]:checked + label.confirm,
.btnWrapper input[type="radio"]:not(:checked) + label.confirm,
.btnWrapper input[type="checkbox"]:checked + label.confirm,
.btnWrapper input[type="checkbox"]:not(:checked) + label.confirm {
  cursor: text;
}
.btnWrapper input[type="radio"]:checked + label:before,
.btnWrapper input[type="radio"]:not(:checked) + label:before,
.btnWrapper input[type="radio"]:checked + label:after,
.btnWrapper input[type="radio"]:not(:checked) + label:after {
  border-radius: 100%;
}
.btnWrapper input[type="radio"]:checked + label:before,
.btnWrapper input[type="radio"]:not(:checked) + label:before,
.btnWrapper input[type="checkbox"]:checked + label:before,
.btnWrapper input[type="checkbox"]:not(:checked) + label:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 16px;
  height: 16px;
  border: 2px solid #008200;
  background: #fff;
}
.btnWrapper input[type="radio"]:checked + label:before,
.btnWrapper input[type="checkbox"]:checked + label:before {
  border: 2px solid #cc4e06;
}
.btnWrapper input[type="radio"]:checked + label:after,
.btnWrapper input[type="radio"]:not(:checked) + label:after,
.btnWrapper input[type="checkbox"]:checked + label:after,
.btnWrapper input[type="checkbox"]:not(:checked) + label:after {
  content: '';
  width: 10px;
  height: 10px;
  background: #008200;
  position: absolute;
  top: 5px;
  left: 5px;
}
.btnWrapper input[type="radio"]:checked + label:after,
.btnWrapper input[type="checkbox"]:checked + label:after {
  background: #cc4e06;
}
.btnWrapper input[type="radio"]:not(:checked) + label:after,
.btnWrapper input[type="checkbox"]:not(:checked) + label:after {
  opacity: 0;
  transform: scale(0);
}
.btnWrapper input[type="radio"]:checked + label:after,
.btnWrapper input[type="checkbox"]:checked + label:after {
  opacity: 1;
  transform: scale(1);
}
fieldset button[type="submit"] {
	cursor: pointer;
	color: #fff;
	border: none;
	background-color: transparent;
}
.flexSearch fieldset:first-child {
	width: 80%;
}
.flexSearch fieldset:last-child {
	width: 12%;
}
.flexSearch fieldset input[type="text"] {
	width: 100%;
	height: 3em;
	padding: 1em;
	box-sizing: border-box;
}
.flexSearch fieldset button[type="submit"] {
	position: relative;
	width: 12.5vw;
	max-width: 160px;
	height: 3em;
	box-sizing: border-box;
}
.flexSearch fieldset button[type="submit"] span {
	display: inline-block;
}
.flexSearch fieldset button[type="submit"] > span.btnSubmit {
	width: 100%;
	height: 100%;
	border-radius: 3em;
  box-shadow: 0 4px 10px 0 rgba(0, 51, 43, 0.4);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
.flexSearch fieldset button[type="submit"] > span.btnSubmit:hover {
  box-shadow: 0 4px 16px 0 rgba(0, 51, 43, 0.4);
	transform: scale(1.05);
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
.flexSearch fieldset button[type="submit"] > span + span {
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 100%;
	box-sizing: border-box;
	pointer-events: none;
}
.flexSearch fieldset button[type="submit"] > span + span span {
	padding-right: 0.5em;
}
::-webkit-input-placeholder {
	color: #002d00;
}
:-moz-placeholder {
	color: #002d00;
}
::-moz-placeholder {
	color: #002d00;
}
:-ms-input-placeholder {
	color: #002d00;
}
@media screen and (min-width: 801px) and (max-width: 1280px) {
	.flexSearch fieldset button[type="submit"] > span.bgRed {
	  box-shadow: 0 0.3125vw 0.78125vw 0 rgba(0, 51, 43, 0.4);
	}
	.flexSearch fieldset button[type="submit"] > span.bgRed:hover {
	  box-shadow: 0 0.3125vw 1.25vw 0 rgba(0, 51, 43, 0.4);
	}
}
@media screen and (max-width: 800px) {
	.flexSearch fieldset:first-child,
	.flexSearch fieldset:last-child,
	.flexSearch fieldset button[type="submit"] {
		width: 100%;
		max-width: inherit;
	}
	.flexSearch fieldset button[type="submit"] {
		margin-top: 1em;
	}
	.flexList2item,
	.btnWrapper {
		padding: 1em 5vw 0;
	}
}
