@charset "utf-8";

/**********************************************
 *
 * common
 * sidebar
 * header
 * footer
 * system
 *
 ***********************************************/

/**********************************************
 *
 * common
 *
 ***********************************************/

/* Btn
***************************************/
.Btn {
	border: 1px solid #3b683d;
	text-align: center;
	color: #3b683d;
	display: inline-block;
	padding: 8px 20px 9px 40px;
	width: 100%;
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	background: none;
	border-radius: 10rem;
	line-height: 1.2;
	transition: color 0.2s ease-out, background-color 0.2s ease-out, border-color 0.2s ease-out;
}

.Btn::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f0da";
	font-size: 1.8rem;
	position: absolute;
	display: flex;
	align-items: center;
	top: 0;
	bottom: 0;
	left: 20px;
	margin: auto;
	font-weight: bold;
}

html.desktop .Btn:hover {
	background: #3b683d;
	color: #fff;
}

html.desktop .Btn:hover::before {
	color: #fff;
}

.Btn.-white {
	border-color: #fff;
	color: #fff;
}

html.desktop .Btn.-white:hover {
	border-color: #3b683d;
}

.Btn.-green {
	border: 0;
	background: #80b149;
	color: #fff;
	font-weight: bold;
}

.Btn.-back {
	color: #666;
	border-color: #666;
}

.Btn.-back::before {
	transform: rotate(180deg);
}

html.desktop .Btn.-back:hover {
	background: #666;
	color: #fff;
}

.Btn.-sizeS {
	width: 270px;
}

.Btn.-sizeM {
	width: 400px;
}

.Btn.-sizeL {
	width: 550px;
}

.Btn.-large {
	padding: 20px 20px 20px 40px;
}

@media (max-width: 767px) {
	.Btn {
		min-width: auto;
		min-width: initial;
	}

	.Btn.-sizeS {
		width: 100%;
	}

	.Btn.-sizeM {
		width: 100%;
	}

	.Btn.-sizeL {
		width: 100%;
	}
}

/* FirstTitle
***************************************/
.FirstTitle {
	font-size: 2.2rem;
	color: #80b149;
	margin-bottom: 30px;
	padding-bottom: 25px;
	background-image: linear-gradient(to right, #ccc, #ccc 2px, transparent 2px, transparent 7px);
	background-size: 7px 2px;
	background-position: bottom;
	background-repeat: repeat-x;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	display: flex;
    justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.FirstTitle.-small {
	font-size: 2rem;
}

.FirstTitle.-center {
	text-align: center;
}

.FirstTitle.-withLink {
	padding-bottom: 35px;
}

.FirstTitle.-withIcon {
	text-align: center;
	position: relative;
	padding-top: 90px;
}

.FirstTitle_icon {
	position: absolute;
	width: 74px;
	height: 74px;
	left: 0;
	right: 0;
	top: 8px;
	margin: auto;
	background: #80b149;
	border-radius: 100%;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.FirstTitle_icon::before {
	position: absolute;
	content: "";
	width: 167px;
	height: 45px;
	background: url(../images/common/i_titleicon_leaf.png) no-repeat;
	left: -49px;
	right: 0;
	margin: auto;
}

.FirstTitle_icon::after {
	position: absolute;
	content: "";
	width: 70px;
	height: 70px;
	border: 2px solid #fff;
	border-radius: 100%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.FirstTitle_iconText {
	font-size: 2rem;
	line-height: 1;
	font-weight: 400;
}

.FirstTitle_iconSubText {
	font-size: 1.4rem;
	line-height: 1;
	font-weight: 400;
}

.FirstTitle_iconNum {
	font-size: 2.6rem;
	line-height: 1;
}

.FirstTitle_iconNum.-large {
	font-size: 3rem;
}

@media (max-width: 767px) {
	.FirstTitle {
		padding-bottom: 15px;
		margin-bottom: 15px;
		text-align: center;
		line-height: 1.6;
	}

	.FirstTitle.-withIcon {
		padding-top: 65px;
		font-size: 1.8rem;
		padding-bottom: 10px;
	}

	.FirstTitle_icon {
		width: 50px;
		height: 50px;
		top: 10px;
	}

	.FirstTitle_icon::before {
		width: 123px;
		height: 38px;
		background: url(../images/common/i_titleicon_leaf_sp.png) no-repeat;
		background-size: contain;
		left: -37px;
		top: 10px;
	}

	.FirstTitle_icon::after {
		width: 48px;
		height: 48px;
	}

	.FirstTitle_iconText {
		font-size: 1.6rem;
	}

	.FirstTitle_iconSubText {
		font-size: 1.1rem;
	}

	.FirstTitle_iconNum {
		font-size: 1.7rem;
		margin-top: 2px;
	}

	.FirstTitle_iconNum.-large {
		font-size: 2rem;
	}
}

/* SecondTitle
***************************************/
.SecondTitle {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2rem;
	color: #3b683d;
	font-weight: bold;
	padding: 13px 18px;
	border-radius: 8px;
	background: #f4f3e8;
	margin-bottom: 30px;
}

.SecondTitle_link {
	position: relative;
	color: #3b683d;
}

.SecondTitle_link::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f0da";
	font-size: 1.6rem;
	position: relative;
	margin-right: 10px;
	font-weight: bold;
}

.SecondTitle_normalText {
	color: #444444;
	font-weight: 400;
	transition: opacity .2s;
}

html.desktop .SecondTitle_normalText:hover {
	opacity: 0.75;
}

/* SecondTitleBox */
.SecondTitleBox {
	padding: 13px 18px;
	border-radius: 8px;
	background: #f4f3e8;
	margin-bottom: 30px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	color: #3b683d;
}

.SecondTitleBox_title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2rem;
	font-weight: bold;
	margin-right: 20px;
}

.SecondTitleBox_time {
	margin-left: auto;
}

@media (max-width: 767px) {
	.SecondTitle {
		padding: 7px 9px;
		font-size: 1.7rem;
		margin-bottom: 20px;
		line-height: 1.6;
	}

	/* SecondTitleBox */
	.SecondTitleBox {
		padding: 7px 9px;
		margin-bottom: 15px;
	}

	.SecondTitleBox_title {
		font-size: 1.7rem;
		line-height: 1.6;
	}
}

/* ThirdTitle
***************************************/
.ThirdTitle {
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 15px;
	padding-left: 2em;
}

.ThirdTitle::before {
	position: absolute;
	content: "";
	left: 0;
	top: 0.7em;
	width: 20px;
	height: 2px;
	background: #80b149;
}

.ThirdTitle.-small {
	font-size: 1.6rem;
	margin-bottom: 10px;
}

.ThirdTitle.-narrow {
	margin-bottom: 5px;
}

@media (max-width: 767px) {
	.ThirdTitle {
		font-size: 1.6rem;
		margin-bottom: 10px;
		line-height: 1.6;
	}

	.ThirdTitle.-small {
		font-size: 1.5rem;
		margin-bottom: 5px;
	}
}

/* FourthTitle
***************************************/
.FourthTitle {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.7rem;
	font-weight: bold;
	color: #3b683d;
	margin-bottom: 10px;
}

.FourthTitle.-large {
	font-size: 2rem;
	margin-bottom: 20px;
}

@media (max-width: 767px) {
	.FourthTitle {
		font-size: 1.5rem;
		line-height: 1.6;
		margin-bottom: 5px;
	}

	.FourthTitle.-large {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
}

/* FifthTitle
***************************************/
.FifthTitle {
	font-weight: bold;
	font-size: 1.8rem;
}

.FifthTitle.-large {
	font-size: 2.2rem;
}

@media (max-width: 767px) {
	.FifthTitle {
		font-size: 1.4rem;
	}

	.FifthTitle.-large {
		font-size: 2rem;
	}
}

/* NotesText
***************************************/
.NotesText {
	font-size: 1.4rem;
}

.NotesText.-red {
	color: #c12405;
}

@media (max-width: 767px) {
	.NotesText.-red {
		font-size: 1.2rem;
	}
}

/* EmText
***************************************/
.EmText {
	font-size: 2rem;
	font-weight: bold;
}

.EmText_color {
	color: #3b683d;
}

@media (max-width: 767px) {
	.EmText {
		line-height: 1.6;
	}
}

/* IndentText
***************************************/
.IndentText {
	padding-left: 35px;
}

.IndentText.-small {
	padding-left: 18px;
}

/* JustifyText
***************************************/
.JustifyText {
	text-align: justify;
	text-justify: inter-ideograph;
}

/* CountsText
***************************************/
.CountsText {
	font-size: 1.4rem;
}

@media (max-width: 767px) {
	.CountsText {
		text-align: right;
	}
}

/* LabelText
***************************************/
.LabelText {
	color: #3b683d;
	font-weight: bold;
	font-size: 1.6rem;
	margin-left: 10px;
}

@media (max-width: 767px) {
	.LabelText {
		display: block;
		margin: 3px 0 0 0;
		font-size: 1.4rem;
	}
}

/* Label
***************************************/
.Label {
	padding: 1px 5px 0;
	vertical-align: middle;
	display: inline-block;
}

.Label.-new {
	background: #80b149;
	color: #fff;
	padding: 2px 11px;
}

.Label.-important {
	border: 1px solid #c12405;
	color: #c12405;
	font-size: 1.2rem;
	margin-left: 1rem;
}

.Label.-point {
	position: relative;
	border-radius: 8px;
	background: #3b683d;
	color: #fff;
	font-size: 1.3rem;
	padding: 2px 15px 1px;
}

.Label.-point::after {
	position: absolute;
	content: "";
	width: 98%;
	height: 93%;
	border: 1px solid #fff;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	border-radius: 8px;
}

.Label.-small {
	font-size: 1.1rem;
	padding: 2px 6px;
}

@media (max-width: 767px) {
	.Label.-small {
		font-size: 1rem;
		padding: 2px 4px 0px;
	}
}

/* TextLink
***************************************/
.TextLink {
	color: #3b683d;
	text-decoration: underline;
	transition: opacity .2s;
}

.TextLink:hover {
	opacity: 0.75;
}

/* HoverLink
***************************************/
.HoverLink {
	display: inline-block;
	color: inherit;
	transition: opacity .2s;
}

html.desktop .HoverLink:hover {
	opacity: 0.75;
}

/* IconLink
***************************************/
.IconLink {
	position: relative;
	color: #3b683d;
	transition: opacity .2s;
}

html.desktop .IconLink:hover {
	opacity: 0.75;
}

.IconLink.-small {
	font-size: 1.4rem;
}

.IconLink::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f0da";
	font-size: 1.4rem;
	position: relative;
	margin-right: 3px;
	font-weight: bold;
}

.IconLink.-back::before {
	content: "\f0d9";
}

.IconLink.-pdf::after {
	font-family: "Font Awesome 5 Pro";
	content: "\f1c1";
	font-size: 1.6rem;
	position: relative;
	margin-left: 3px;
	font-weight: 300;
}

.IconLink.-blank::after {
	font-family: "Font Awesome 5 Pro";
	content: "\f08e";
	font-size: 1.4rem;
	position: relative;
	margin-left: 3px;
	font-weight: 300;
}

.IconLink_underline {
	text-decoration: underline;
}

@media (max-width: 767px) {
	.IconLink.-small {
		font-size: 1.1rem;
	}
}

/* FloatLink
***************************************/
.FloatLink_wrap {
	position: relative;
}

.FloatLink_link {
	position: absolute;
	right: 0;
	top: 0.5em;
}

@media (max-width: 767px) {
	.FloatLink_title {
		padding-bottom: 30px;
	}

	.FloatLink_link {
		top: auto;
		bottom: 10px;
		left: 0;
		text-align: center;
	}
}

/* AnchorLink
***************************************/
.AnchorLink {
	display: flex;
	flex-wrap: wrap;
	margin-top: -10px;
}

.AnchorLink_child {
	margin-top: 10px;
}

.AnchorLink_child:not(:last-of-type) {
	border-right: 1px solid #bbbbbb;
}

.AnchorLink_link {
	position: relative;
	display: inline-block;
	padding: 0px 30px 0px 50px;
	color: #3b683d;
	transition: opacity .2s;
}

html.desktop .AnchorLink_link:hover {
	opacity: 0.75;
}

.AnchorLink_link::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f0d7";
	font-size: 1.4rem;
	position: absolute;
	display: flex;
	align-items: center;
	top: 0;
	bottom: 0;
	left: 30px;
	margin: auto;
	font-weight: bold;
}

.AnchorLink_link.-disable {
	pointer-events: none;
	color: #ccc;
}

html.desktop .AnchorLink_link.-disable:hover {
	opacity: 1;
}

@media (max-width: 767px) {
	.AnchorLink_link {
		padding: 0px 20px 0 25px;
	}

	.AnchorLink_link::before {
		left: 7px;
	}

	.AnchorLink.-spColumn {
		display: block;
	}

	.AnchorLink.-spColumn .AnchorLink_child {
		margin-top: 5px;
	}

	.AnchorLink.-spColumn .AnchorLink_child:not(:last-of-type) {
		border: 0;
	}
}

/* NumAnchorLink
***************************************/
.NumAnchorLink {
	counter-reset: number;
	display: flex;
	flex-wrap: wrap;
	margin: -10px 0 2px;
}

.NumAnchorLink_child {
	margin-top: 10px;
}

.NumAnchorLink_child:not(:last-of-type) {
	border-right: 1px solid #bbbbbb;
}

.NumAnchorLink_link {
	position: relative;
	display: inline-block;
	padding: 0px 30px;
	color: #444444;
	transition: opacity .2s;
}

html.desktop .NumAnchorLink_link:hover {
	opacity: 0.75;
}

.NumAnchorLink_text {
	position: relative;
	font-family: "Noto Sans JP", serif;
	font-weight: bold;
}

.NumAnchorLink_text::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background: #444444;
	left: 0;
	right: 0;
	bottom: -5px;
	margin: auto;
}

.NumAnchorLink_num {
	position: relative;
	width: 28px;
	height: 28px;
	background: #80b149;
	border-radius: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	margin-right: 10px;
	font-family: "Noto Sans JP", serif;
	font-weight: bold;
	color: #fff;
	font-size: 1.4rem;
}

.NumAnchorLink_num::after {
	position: absolute;
	content: "";
	border: 1px solid #fff;
	border-radius: 100%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 93%;
	height: 93%;
}

@media (max-width: 767px) {
	.NumAnchorLink {
		display: block;
	}

	.NumAnchorLink_link {
		padding: 0;
	}

	.NumAnchorLink_child:not(:last-of-type) {
		border: 0;
	}
}

/* ThumbLink
***************************************/
.ThumbLink {
	position: relative;
	display: block;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	color: #444444;
	height: 100%;
	background: #fff;
	transition: opacity .2s;
}

html.desktop .ThumbLink:hover {
	opacity: 0.75;
}

.ThumbLink::after {
	position: absolute;
	text-align: center;
	font-family: "Font Awesome 5 Pro";
	content: "\f178";
	font-size: 1.4rem;
	right: 15px;
	bottom: 10px;
	font-weight: 300;
	color: #3b683d;
}

.ThumbLink.-row {
	display: flex;
	flex-direction: row;
}

.ThumbLink_thumb.-small {
	width: 35%;
	padding: 1px;
	flex-shrink: 0;
}

.ThumbLink_thumb.-medium {
	width: 44%;
	flex-shrink: 0;
}

.ThumbLink_img {
	width: 100%;
}

.ThumbLink_label {
	position: absolute;
	left: 0;
	top: 0;
}

.ThumbLink_content {
	padding: 20px 20px 30px;
	background: #fff;
	flex-grow: 1;
}

.ThumbLink_content.-small {
	padding: 15px;
}

.ThumbLink_content.-wide {
	padding: 21px 40px 20px 30px;
}

.ThumbLink_content.-justifyCenter {
	justify-content: center;
}

.ThumbLink_title {
	font-size: 1.6rem;
	font-weight: bold;
}

.ThumbLink_title.-large {
	font-size: 1.8rem;
}

.ThumbLink_richTitle {
	font-family: "Noto Sans JP", serif;
	font-size: 1.8rem;
	color: #80b149;
}

.ThumbLink_richTitle.-large {
	font-size: 2.2rem;
	margin: -0.1em 0;
	font-weight: bold;
}

.ThumbLink_richEnTitle {
	font-size: 1.4rem;
	margin-left: 20px;
	font-weight: 400;
}

.ThumbLink_text {
	margin-top: 10px;
}

.ThumbLink_smallText {
	font-size: 1.3rem;
}

.ThumbLink_supplement {
	margin-top: 10px;
	color: #777777;
	font-size: 1.4rem;
}

.ThumbLink_time {
	font-size: 1.4rem;
	color: #3b683d;
	font-weight: bold;
}

@media (max-width: 767px) {
	.ThumbLink::after {
		right: 10px;
		bottom: 0px;
	}

	.ThumbLink.-spColumn {
		display: block;
	}

	.ThumbLink_thumb.-spColumn {
		width: 100%;
		padding: 5px;
	}

	.ThumbLink_thumb.-medium {
		width: 40%;
	}

	.ThumbLink_content {
		padding: 10px 10px 15px;
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.ThumbLink_content.-wide {
		padding: 15px 30px 15px 20px;
	}

	.ThumbLink_title {
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.ThumbLink_richTitle {
		font-size: 1.6rem;
		line-height: 1.6;
	}

	.ThumbLink_richTitle.-large {
		font-size: 1.8rem;
	}

	.ThumbLink_text {
		line-height: 1.6;
	}

	.ThumbLink_text.-spNone {
		display: none;
	}

	.ThumbLink_smallText {
		line-height: 1.6;
	}
}

/* ThumbLink img
***************************************/
.ThumbLink_img.-objectFit {
	object-fit: contain;
	font-family: "object-fit: contain;";
}

.ThumbLink_img.-h120 {
	height: 120px;
}

.ThumbLink_img.-h180 {
	height: 180px;
}

@media (max-width: 767px) {
	.ThumbLink_img.-h120 {
		height: 100px;
	}

	.ThumbLink_img.-h180 {
		height: 120px;
	}
}

/* ObjectFit
***************************************/
.ObjectFit {
	object-fit: contain;
	font-family: "object-fit: contain;";
}

.ObjectFit.-h280 {
	height: 280px;
}

@media (max-width: 767px) {
	.ObjectFit.-h280 {
		height: 110px;
	}
}

/* List
***************************************/
.List_child {
	position: relative;
	padding-left: 2em;
	line-height: 1.6;
}

.List_child:not(:last-of-type) {
	margin-bottom: 5px;
}

.List_child::before {
	position: absolute;
	content: "";
	left: 0;
	top: 0.7em;
	width: 20px;
	height: 2px;
	background: #80b149;
}

.List_child.-small {
	font-size: 1.4rem;
	text-align: left;
}

/* NumList
***************************************/
.NumList {
	counter-reset: number;
}

.NumList_child {
	position: relative;
	padding-left: 2em;
	margin-bottom: 5px;
	line-height: 1.6;
}

.NumList_child::before {
	position: absolute;
	counter-increment: number;
	content: counter(number, decimal-leading-zero) ".";
	left: 0;
	top: 0;
	color: #80b149;
	font-weight: bold;
}

/* DotsList
***************************************/
.DotsList_child {
	position: relative;
	padding-left: 1.2em;
	line-height: 1.6;
}

.DotsList_child:not(:last-of-type) {
	margin-bottom: 5px;
}

.DotsList_child::before {
	position: absolute;
	content: "";
	left: 0;
	top: 0.5em;
	width: 7px;
	height: 7px;
	border-radius: 100%;
	background: #80b149;
}

.DotsList_child.-small {
	font-size: 1.4rem;
	text-align: left;
}

/* DefinitionList
***************************************/
.DefinitionList_child:not(:first-of-type) {
	margin-top: 20px;
}

.DefinitionList_term {
	font-size: 1.4rem;
	font-weight: bold;
	margin-top: 20px;
}

.DefinitionList_descri {
	font-size: 1.4rem;
}

/* RowDefinitionList
***************************************/
.RowDefinitionList_child {
	display: flex;
	margin-bottom: 5px;
	font-size: 1.6rem;
}

.RowDefinitionList_term {
	width: 5.5em;
	font-weight: bold;
	color: #3b683d;
	padding-right: 15px;
}

.RowDefinitionList_term.-auto {
	width: auto;
	padding-right: 40px;
}

@media (max-width: 767px) {
	.RowDefinitionList_child.-sp-block {
		display: block;
	}

	.RowDefinitionList_child {
		font-size: 1.4rem;
		margin-bottom: 0;
	}
}

/* BorderList
***************************************/
.BorderList_child {
	position: relative;
}

.BorderList_child:not(:last-of-type)::after {
	position: absolute;
	content: "";
	width: 1px;
	height: 70px;
	background: #bbbbbb;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.BorderList.-column3 .BorderList_child:nth-of-type(3n)::after {
	display: none;
}

.BorderList_justify {
	text-align: justify;
	text-justify: inter-ideograph;
}

@media (max-width: 767px) {
	.BorderList_child:not(:last-of-type) {
		padding-bottom: 15px;
		border-bottom: 1px solid #bbbbbb;
	}

	.BorderList_child::after {
		display: none;
	}
}

/* NewsList
***************************************/
.NewsList_child:not(:last-of-type) {
	border-bottom: 1px solid #d5d5d5;
}

.NewsList_link {
	padding: 20px 0;
	display: flex;
	font-size: 1.4rem;
	color: #444444;
	transition: opacity .2s;
}

html.desktop .NewsList_link:not(.-noHover):hover {
	opacity: 0.75;
}

.NewsList_date {
	font-weight: bold;
	margin-right: 20px;
	min-width: 86px;
}

.NewsList_date.-green {
	color: #3b683d;
}

.NewsList_title.-link {
	color: #444444;
	transition: opacity .2s;
}

html.desktop .NewsList_title.-link:hover {
	opacity: 0.75;
}

@media (max-width: 767px) {
	.NewsList_link {
		flex-direction: column;
		padding: 15px 0;
	}

	.NewsList_date {
		margin-right: 0;
		min-width: auto;
		min-width: initial;
	}

	/* NewsList_child.-small */
	.NewsList_child.-small .NewsList_link {
		flex-direction: row;
		padding: 10px 0;
	}

	.NewsList_child.-small .NewsList_date {
		min-width: 100px;
		padding-right: 5px;
	}
}

/* SpecList
***************************************/
.SpecList {
	display: flex;
}

.SpecList_child {
	width: 25%;
}

.SpecList_title {
	color: #3b683d;
	font-weight: bold;
	font-family: "Noto Sans JP", sans-serif;
}

.SpecList_secondContents {
	font-size: 1.4rem;
	margin-top: 8px;
}

.SpecList_em {
	font-weight: bold;
	display: block;
}

@media (max-width: 767px) {
	.SpecList {
		display: block;
	}

	.SpecList_child {
		width: 100%;
	}

	.SpecList_child:not(:first-of-type) {
		margin-top: 25px;
	}

	.SpecList_title {
		font-size: 1.6rem;
		line-height: 1.6;
	}

	.SpecList_secondContents {
		line-height: 1.6;
	}
}

/* StepList
***************************************/
.StepList {
	display: flex;
	width: 100%;
}

.StepList_child {
	position: relative;
	width: 100%;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
    padding: 14px;
	background: #f4f3e8;
	color: #888888;
}

.StepList_child:not(:last-of-type)::after,
.StepList_child:not(:last-of-type)::before {
	position: absolute;
    content: "";
	display: block;
    width: 20px;
    height: 50%;
    content: "";
    background-color: #f4f3e8;
    border-right: 4px solid #fff;
	transform: skew(30deg);
	top: 0;
	right: -10px;
	z-index: 1;
}

.StepList_child:not(:last-of-type)::before {
	transform: skew(-30deg);
	bottom: 0;
	top: auto;
}

.StepList_child.is-active {
	color: #fff;
	background: #3b683d;
}

.StepList_child.is-active:not(:last-of-type)::after,
.StepList_child.is-active:not(:last-of-type)::before {
	background-color: #3b683d;
}

@media (max-width: 767px) {
	.StepList_child {
		font-size: 1.6rem;
		padding: 10px;
	}
}

/* BgBox
***************************************/
.BgBox {
	background: #f4f3e8;
	padding: 35px;
	border-radius: 8px;
}

.BgBox.-small {
	padding: 20px;
}

.BgBox.-narrow {
	padding-left: 100px;
	padding-right: 100px;
}

.BgBox_title {
	font-size: 1.7rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	text-align: center;
}

.BgBox_title.-large {
	font-size: 2rem;
}

.BgBox_title.-green {
	color: #3b683d;
}

.BgBox_point {
	margin-left: 30px;
}

.BgBox_text {
	margin-top: 15px;
}

.BgBox_text.-rich {
	line-height: 1.8;
	text-align: center;
}

.BgBox_notes {
	text-align: center;
	font-size: 1.2rem;
	margin-top: 5px;
}

.BgBox_list {
	margin-top: 20px;
	padding: 0 115px;
}

@media (max-width: 767px) {
	.BgBox {
		padding: 30px 20px;
	}

	.BgBox.-narrow {
		padding-left: 15px;
		padding-right: 15px;
	}

	.BgBox_list {
		padding: 0;
	}
}

/* BorderBox
***************************************/
.BorderBox {
	border: 2px solid #80b149;
	box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.2);
	padding: 30px 40px;
	border-radius: 10px;
	background: #fff;
	height: 100%;
}

.BorderBox_title {
	font-size: 2.2rem;
	background-image: linear-gradient(to right, #ccc, #ccc 2px, transparent 2px, transparent 7px);
	background-size: 7px 2px;
	background-position: bottom;
	background-repeat: repeat-x;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	color: #444444;
	text-align: center;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

.BorderBox_title.-quiz {
	position: relative;
	padding-left: 50px;
	text-align: left;
}

.BorderBox_title.-quiz::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f059";
	font-size: 3.2rem;
	position: absolute;
	top: 0;
	left: 0;
	margin-right: 3px;
	font-weight: 300;
	color: #80b149;
}

.BorderBox_subTitle {
	display: block;
	font-size: 1.4rem;
	color: #80b149;
	line-height: 1;
}

.BorderBox_text {
	text-align: center;
}

@media (max-width: 767px) {
	.BorderBox {
		padding: 25px 15px;
	}

	.BorderBox_title {
		font-size: 1.8rem;
		padding-bottom: 15px;
		margin-bottom: 15px;
		line-height: 1.6;
	}

	.BorderBox_title.-quiz {
		text-align: center;
		padding-left: 0;
		padding-top: 20px;
		font-size: 1.8rem;
	}

	.BorderBox_title.-quiz::before {
		left: 0;
		right: 0;
		margin: auto;
		text-align: center;
		top: -20px;
		font-size: 2.4rem;
	}

	.BorderBox_subTitle {
		font-size: 1.1rem;
	}

	.BorderBox_text {
		text-align: left;
	}
}

/* Quiz
***************************************/
.Quiz_inputWrap {
	margin-top: 5px;
	display: flex;
	flex-wrap: wrap;
}

.Quiz_inputChild {
	margin-top: 5px;
}

.Quiz_inputChild:not(:last-of-type) {
	margin-right: 30px;
}

.Quiz_radio {
	margin-right: 10px;
}

.Quiz_radioLabel {
	font-weight: bold;
	font-size: 1.8rem;
}

.Quiz_submit {
	text-align: center;
	display: block;
	margin: 15px auto 0;
}

.Quiz_cv {
	margin-top: 20px;
}

.Quiz_cvText {
	font-size: 1.4rem;
	color: #3b683d;
	text-align: center;
	font-weight: bold;
	margin-bottom: 7px;
}

.Quiz_cvTextInner {
	position: relative;
	display: inline-block;
}

.Quiz_cvTextInner::before,
.Quiz_cvTextInner::after {
	position: absolute;
	content: "";
	width: 1px;
	height: 20px;
	background: #3b683d;
	top: -2px;
	bottom: 0;
	margin: auto;
}

.Quiz_cvTextInner::before {
	transform: rotate(-45deg);
	left: -15px;
}

.Quiz_cvTextInner::after {
	transform: rotate(45deg);
	right: -15px;
}

.Quiz_cvLinkList {
	display: flex;
	align-items: center;
	justify-content: center;
}

.Quiz_cvLinkChild {
	padding: 0 20px;
}

.Quiz_resultImg {
	width: 48%;
}

@media (max-width: 767px) {
	.Quiz_cvText {
		font-size: 1.2rem;
	}

	.Quiz_cvLinkList {
		display: block;
		text-align: center;
	}

	.Quiz_cvLinkChild {
		margin-top: 10px;
	}

	.Quiz_radioLabel {
		font-size: 1.6rem;
		line-height: 1.6;
	}
}

/* Table
***************************************/
.Table {
	border: 2px solid #d8d8d8;
	width: 100%;
	vertical-align: top;
	table-layout: fixed;
}

.Table.-center {
	text-align: center;
}

.Table_inner {
	width: 100%;
}

.Table_row {
	border-bottom: 1px solid #d8d8d8;
}

.Table_row:last-of-type,
.Table_row.-noBorder {
	border: 0;
}

.Table_cel {
	padding: 10px 20px;
	border-left: 1px solid #d8d8d8;
}

.Table_cel.-small {
	font-size: 1.4rem;
}

.Table_cel.-size240 {
	width: 240px;
}

.Table.-narrowCel .Table_cel {
	padding: 10px;
}

.Table_rowHead {
	background: #80b149;
	color: #fff;
	font-weight: bold;
	padding: 10px 20px;
}

.Table_rowHead:not(:first-of-type) {
	border-left: 1px solid #ccc;
}

.Table_colHead {
	background: #f4f3e8;
	font-weight: bold;
	padding: 10px 20px;
}

.Table_colHead.-small {
	width: 170px;
	font-size: 1.4rem;
	vertical-align: top;
}

.Table_colHead.-large {
	width: 270px;
}

/* .Table.-scroll */
.Table.-scroll {
	text-align: center;
}

@media (max-width: 767px) {
	.Table_colHead {
		padding: 10px 15px;
	}

	.Table_cel {
		padding: 10px 15px;
	}

	.Table_colHead.-small {
		width: 30%;
	}

	.Table_colHead.-large {
		width: 100%;
	}

	/* .Table.-scroll */
	.Table.-scroll {
		overflow: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}

	.Table.-scroll::-webkit-scrollbar {
		height: 8px;
	}

	.Table.-scroll::-webkit-scrollbar-track {
		margin: 2px;
		background: #ccc;
		border-radius: 8px;
	}

	.Table.-scroll::-webkit-scrollbar-thumb {
		border-radius: 8px;
		background: #666;
	}

	/* .Table.-spBlock */
	.Table.-spBlock .Table_row {
		display: block;
		border: 0;
	}

	.Table.-spBlock .Table_cel {
		display: block;
		border: 0;
	}

	.Table.-spBlock .Table_rowHead {
		display: block;
	}

	.Table.-spBlock .Table_colHead {
		display: block;
	}
}

/* DefinitionTable
***************************************/
.DefinitionTable {
	border: 2px solid #d8d8d8;
	display: flex;
}

.DefinitionTable_child {
	width: 100%;
}

.DefinitionTable_child:not(:first-of-type) {
	border-left: 1px solid #ccc;
}

.DefinitionTable_title {
	background: #80b149;
	color: #fff;
	font-weight: bold;
	text-align: center;
	padding: 10px 20px;
}

.DefinitionTable_contents {
	padding: 20px 10px;
}

@media (max-width: 767px) {
	.DefinitionTable {
		display: block;
	}

	.DefinitionTable_child:not(:first-of-type) {
		border-left: 0;
	}
}

/* Tab
***************************************/
.Tab {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin: 0 -15px;
}

.Tab::after {
	position: absolute;
	content: "";
	width: calc(100% - 30px);
	height: 2px;
	background: #80b149;
	bottom: -2px;
	left: 0;
	right: 0;
	margin: auto;
}

.Tab_child {
	background: #f4f3e8;
	border-radius: 8px 8px 0 0;
	padding: 15px 15px 10px;
	margin: 0 15px;
	text-align: center;
	flex-grow: 1;
	cursor: pointer;
	color: #444;
}

.Tab_child.is-active {
	background: #80b149;
	color: #fff;
	font-weight: bold;
}

.Tab_contents {
	display: none;
}

.Tab_contents.is-active {
	display: block;
}

@media (max-width: 767px) {
	.Tab {
		margin: 0 -5px;
	}

	.Tab::after {
		width: calc(100% - 10px);
	}

	.Tab_child {
		margin: 0 5px;
		font-size: 1.2rem;
		padding: 10px 10px 5px;
	}
}

/* Form
***************************************/
.Form_input {
	border: 1px solid #ccc;
	border-radius: 8px;
	width: 100%;
	padding: 10px;
}

.Form_select {
	text-overflow: ellipsis;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid #ccc;
	border-radius: 8px;
	width: 100%;
	padding: 10px;
}

.Form_select.-small {
	padding: 3px 40px 3px 10px;
}

.Form_select::-ms-expand {
	display: none;
}

.Form_selectWrap {
	position: relative;
}

.Form_selectWrap::after {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: "";
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid #777777;
	pointer-events: none;
}

.Form_textarea {
	border: 1px solid #ccc;
	border-radius: 8px;
	min-height: 3rem;
	resize: vertical;
	width: 100%;
	padding: 10px;
}

.Form_checkbox,
.Form_radio {
	margin-right: 5px;
}

.Form_Label {
	margin-right: 3px;
}

/* Form
***************************************/
.error-message {
	font-weight: 1.4rem;
	color: red;
	margin-top: 5px;
	font-weight: bold;
}

/* Heading
***************************************/
.Heading {
	padding-bottom: 20px;
	background: url(../images/common/bg_heading_leaf.png) no-repeat left -60px, #3b683d;
}

.Heading.-craftsmanship {
	background: url(../images/common/bg_heading_leaf.png) no-repeat left -60px, url(../images/craftsmanship/bg_craftsmanship_heading.jpg) no-repeat center;
	background-size: auto, cover;
}

.Heading.-faq {
	background: url(../images/common/bg_heading_leaf.png) no-repeat left -60px, url(../images/faq/bg_faq_heading.jpg) no-repeat center;
	background-size: auto, cover;
}

.Heading.-method {
	background: url(../images/common/bg_heading_leaf.png) no-repeat left -60px, url(../images/method/bg_method_heading.jpg) no-repeat center;
	background-size: auto, cover;
}

.Heading.-mission {
	background: url(../images/common/bg_heading_leaf.png) no-repeat left -60px, url(../images/mission/bg_mission_heading.jpg) no-repeat center;
	background-size: auto, cover;
}

.Heading.-voice {
	background: url(../images/common/bg_heading_leaf.png) no-repeat left -60px, url(../images/voice/bg_voice_heading.jpg) no-repeat center;
	background-size: auto, cover;
}

.Heading.-works {
	background: url(../images/common/bg_heading_leaf.png) no-repeat left -60px, url(../images/works/bg_works_heading.jpg) no-repeat center;
	background-size: auto, cover;
}

.Heading.-other {
	background: url(../images/common/bg_heading_leaf.png) no-repeat left -60px, url(../images/common/bg_other_heading.jpg) no-repeat center;
	background-size: auto, cover;
}

.Heading_title {
	color: #fff;
	font-size: 3.2rem;
	font-family: "Noto Sans JP", sans-serif;
	padding: 100px 0 80px;
}

.Heading_title.-narrow {
	padding: 50px 0 30px;
}

@media (max-width: 767px) {
	.Heading {
		position: relative;
		padding-bottom: 0;
		background-size: 120px;
		z-index: 1;
	}

	.Heading.-craftsmanship,
	.Heading.-faq,
	.Heading.-method,
	.Heading.-mission,
	.Heading.-voice,
	.Heading.-works,
	.Heading.-other {
		background-position: left -30px, center;
		background-size: 20%, cover;
	}

	.Heading.-craftsmanship::after,
	.Heading.-faq::after,
	.Heading.-method::after,
	.Heading.-mission::after,
	.Heading.-voice::after,
	.Heading.-works::after,
	.Heading.-other::after {
		position: absolute;
		content: "";
		width: 100%;
		height: 100%;
		top: 0;
		background: rgba(0, 0, 0, 0.3);
		z-index: -1;
	}

	.Heading_title {
		text-align: center;
		font-size: 2.2rem;
		padding: 50px 0 10px;
	}

	.Heading_title.-narrow {
		padding: 40px 0 10px;
	}
}

/* CopyArea
***************************************/
.CopyArea {
	background: url(../images/common/bg_copy_leaf.png) no-repeat bottom -40px right 0px, #f4f3e8;
	padding: 60px 15px 50px;
}

.CopyArea_title {
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	color: #3b683d;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 60px;
	text-align: center;
}

.CopyArea_title::after {
	position: absolute;
	content: "";
	width: 155px;
	height: 22px;
	background: url(../images/common/bg_copytitle_leaf.png) no-repeat;
	background-size: cover;
	left: 0;
	right: 0;
	margin: auto;
	bottom: -35px;
}

.CopyArea_text {
	text-align: center;
}

@media (max-width: 767px) {
	.CopyArea {
		padding: 40px 10px;
		background: url(../images/common/bg_copy_leaf_sp.png) no-repeat bottom -45px right 0px, #f4f3e8;
		background-size: 50%;
	}

	.CopyArea_title {
		font-size: 1.9rem;
		margin-bottom: 45px;
		line-height: 1.6;
	}

	.CopyArea_title::after {
		width: 125px;
		height: 17px;
		bottom: -30px;
	}
}

/* Breadcrumb
***************************************/
.Breadcrumb {
	display: flex;
	flex-wrap: wrap;
	font-size: 1.4rem;
}

.Breadcrumb_child {
	position: relative;
	color: #fff;
}

.Breadcrumb_child:not(:first-of-type)::before {
	position: relative;
	content: "/";
	margin: 0 10px;
}

.Breadcrumb_link {
	color: #fff;
	text-decoration: underline;
	transition: opacity .2s;
}

html.desktop .Breadcrumb_link:hover {
	opacity: 0.7;
}

@media (max-width: 767px) {
	.Breadcrumb {
		font-size: 1rem;
		padding: 10px 0;
	}
}

/* RelatedLinks
***************************************/
.RelatedLinks {
	position: relative;
	background: #f4f3e8;
	padding: 60px 0;
}

.RelatedLinks.-noBg {
	background: none;
}

.RelatedLinks_btn {
	font-size: 1.8rem;
	color: #80b149;
	background: #fff;
	display: block;
	position: relative;
	padding: 20px 40px 20px 20px;
	font-family: "Noto Sans JP", sans-serif;
	height: 100%;
	display: flex;
	align-items: center;
	transition: opacity .2s;
}

.RelatedLinks_btn.-shadow {
	box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.2);
}

html.desktop .RelatedLinks_btn:hover {
	opacity: 0.75;
}

.RelatedLinks_btn::after {
	position: absolute;
	font-family: "Font Awesome 5 Pro";
	content: "\f178";
	font-size: 1.8rem;
	right: 15px;
	top: 0;
	color: #3b683d;
	height: 100%;
	display: flex;
	align-items: center;
	font-weight: 300;
}

@media (max-width: 767px) {
	.RelatedLinks {
		padding: 35px 0;
	}

	.RelatedLinks_btn {
		padding: 15px 30px 15px 10px;
		font-size: 1.5rem;
		line-height: 1.2;
	}

	.RelatedLinks_btn::after {
		align-items: flex-end;
		right: 10px;
		line-height: 1.6;
	}
}

/* pager
***************************************/
.pager ul {
	display: flex;
	justify-content: center;
	align-items: center;
}

.pager ul li {
	margin: 0 10px;
}

.pager ul li .current {
	font-weight: bold;
}

.pager ul li a {
	text-decoration: underline;
	color: #3b683d;
	padding: 3px;
	transition: opacity .2s;
}

html.desktop .pager ul li a:hover {
	opacity: 0.75;
}

@media (max-width: 767px) {
	.pager ul {
		flex-wrap: wrap;
	}
}

/* Pagetop
***************************************/
.Pagetop {
	position: fixed;
	right: 20px;
	bottom: 30px;
	width: 70px;
	height: 70px;
	z-index: 10;
}

.Pagetop_Link {
	color: #fff;
	display: block;
	height: 100%;
	width: 100%;
	border-radius: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #3b683d;
	font-family: "Noto Sans JP", sans-serif;
	padding-top: 25px;
	font-size: 1.4rem;
	transition: opacity .2s;
}

.Pagetop_Link::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f341";
	font-size: 2.3rem;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	text-align: center;
	margin: auto;
	font-weight: 300;
	color: #fff;
	padding-top: 8px;
}

html.desktop .Pagetop_Link:hover {
	opacity: 0.75;
}

@media (max-width: 767px) {
	.Pagetop {
		width: 45px;
		height: 45px;
	}

	.Pagetop_Link {
		font-size: 1.2rem;
		padding-top: 20px;
	}

	.Pagetop_Link::before {
		padding-top: 5px;
		font-size: 1.6rem;
	}
}

/* SwitchSwiper
***************************************/
.SwitchSwiper {
	overflow: visible;
}

.SwitchSwiper_list {
	display: flex;
	flex-wrap: wrap;
	margin: -30px 0 0;
}

.SwitchSwiper_child {
	margin-top: 30px;
	padding: 0 15px;
	width: 25%;
}

.SwitchSwiper_child.-small {
	width: calc(100% / 6 - 1px);
}

@media (max-width: 767px) {
	.SwitchSwiper {
		overflow: hidden;
		padding: 0 10px 10px;
		margin: 0 0 -10px -10px;
	}

	.SwitchSwiper_list {
		margin: 0 -5px;
		flex-wrap: nowrap;
	}

	.SwitchSwiper_child {
		margin-top: 0;
		padding: 0 5px;
		width: 160px;
	}

	.SwitchSwiper_child.-small {
		width: 160px;
	}
}

/* Lnav
***************************************/
.Lnav {
	background: #e7e6d9;
	padding: 10px 0;
}

.Lnav_inner {
	display: flex;
	justify-content: center;
}

.Lnav_child {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.4rem;
	line-height: 1.3;
	padding: 2px 10px;
	border-right: 1px solid #c5c4b9;
	width: 100%;
	max-width: 150px;
}

.Lnav_link {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
	color: #444444;
	position: relative;
	min-height: 36px;
}

.Lnav_child.is-current .Lnav_link::after,
html.desktop .Lnav_link:hover::after {
	position: absolute;
	content: "";
	width: 50px;
	height: 3px;
	background: #3b683d;
	left: 0;
	right: 0;
	bottom: -5px;
	margin: auto;
}

.Lnav_child:first-of-type {
	border-left: 1px solid #c5c4b9;
}

@media (max-width: 767px) {
	.Lnav {
		display: none;
	}
}

/**********************************************
* 
* sidebar
*
***********************************************/
/* SidebarList
***************************************/
.SidebarList_child {
	border-bottom: 1px solid #d8d8d8;
}

.SidebarList_child.is-active {
	font-weight: bold;
}

.SidebarList_child.-title {
	padding: 15px 20px 10px 15px;
	margin-top: 20px;
}

.SidebarList_link {
	position: relative;
	display: block;
	padding: 15px 20px 15px 30px;
	color: #3b683d;
	text-indent: -0.85em;
	transition: opacity .2s;
}

html.desktop .SidebarList_link:hover {
	opacity: 0.75;
}

.SidebarList_link::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f0da";
	font-size: 1.4rem;
	position: relative;
	margin-right: 3px;
	font-weight: bold;
}

/* SidebarPoint
***************************************/
.SidebarPoint_link {
	position: relative;
	display: block;
	padding: 20px 20px 20px 40px;
	color: #444;
	border: 1px solid #3b683d;
	transition: opacity .2s;
}

html.desktop .SidebarPoint_link:hover {
	opacity: 0.75;
}

.SidebarPoint_link::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f0da";
	font-size: 1.4rem;
	position: absolute;
	height: 100%;
	left: 15px;
	top: 0;
	display: flex;
	align-items: center;
	font-weight: bold;
}

.SidebarPoint_title {
	color: #3b683d;
}

.SidebarPoint_textNum {
	font-weight: bold;
}

/* SidebarBanner
***************************************/
.SidebarBanner_link {
	display: block;
	border: 1px solid #d8d8d8;
}

.SidebarBanner_linkImg {
	width: 100%;
}

/* SidebarMobile
***************************************/
.SidebarMobile {
	border: 1px solid #d8d8d8;
	padding: 15px;
	font-size: 1.4rem;
}

.SidebarMobile_text {
	font-size: 1.4rem;
	margin-bottom: 5px;
}

.SidebarMobile_imgArea {
	text-align: center;
}

@media (max-width: 767px) {
	.SidebarMobile {
		display: none;
	}
}

/**********************************************
* 
* header
*
***********************************************/
/* Header
***************************************/
.Header {
	background: #fff;
	border-top: 2px solid #80b149;
	box-shadow: 0px 1px 12px 1px rgba(0, 0, 0, 0.1);
	position: relative;
	z-index: 10;
}

.Header_fixedLink {
	position: fixed;
	right: 0;
	top: 100px;
	z-index: 10;
}

.Header_inner {
	display: flex;
	justify-content: space-between;
	position: relative;
}

.Header_logo {
	padding: 10px 0;
	display: flex;
	align-items: center;
}

.Header_logoImg {
	max-width: 100%;
}

.Header_linkArea {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

@media (max-width: 767px) {
	.Header {
		position: fixed;
		z-index: 100;
		width: 100%;
		height: 60px;
		border-top: 3px solid #80b149;
		box-shadow: 0px 1px 12px 1px rgba(0, 0, 0, 0.3);
	}

	.Header_fixedLink {
		display: none;
	}

	.Header_inner {
		padding-right: 0;
	}

	.Header_logo {
		padding: 5px 0;
	}

	.Header_logoImg {
		width: 150px;
		height: auto;
	}
}

/* HeaderLinks
***************************************/
.HeaderLinks {
	display: flex;
}

.HeaderLinks_child {
	margin-left: 30px;
}

.HeaderLinks_child.-small {
	margin-left: 3px;
}

.HeaderLinks_child.-sp {
	display: none;
}

@media (max-width: 767px) {
	.HeaderLinks_child {
		margin-left: 0;
	}

	.HeaderLinks_child.-pc {
		display: none;
	}

	.HeaderLinks_child.-sp {
		display: block;
	}
}

/* SquareBtn
***************************************/
.SquareBtn {
	display: block;
	background: #3b683d;
	color: #fff;
	border-radius: 10px;
	padding: 7px 17px 7px 38px;
	margin-top: 20px;
	position: relative;
	font-size: 1.2rem;
	font-weight: bold;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1;
	transition: opacity .2s;
}

html.desktop .SquareBtn:hover {
	opacity: 0.75;
}

.SquareBtn::before {
	position: absolute;
	content: "";
	left: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 4px;
	height: 4px;
	border: 4px solid transparent;
	border-left: 4px solid #fff;
}

/* TelGuide
***************************************/
.TelGuide {
	position: relative;
	display: block;
	padding-left: 40px;
	padding-bottom: 2px;
	margin-top: 18px;
}

.TelGuide::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f095";
	font-size: 3rem;
	position: absolute;
	display: flex;
	align-items: center;
	height: 100%;
	left: 0;
	color: #444444;
	font-weight: 300;
}

.TelGuide_num {
	font-size: 2.7rem;
	font-weight: bold;
	color: #444444;
	line-height: 1;
}

.TelGuide_detail {
	font-size: 1.2rem;
	color: #3b683d;
	line-height: 1;
}

/* MemberBtn
***************************************/
.MemberBtn {
	position: relative;
	border-radius: 0px 0 10px 10px;
	border: 2px solid #80b149;
	border-top: 0;
	display: block;
	padding: 30px 10px 5px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	font-size: 1.1rem;
	text-align: center;
	color: #80b149;
	line-height: 1;
	transition: opacity .2s;
}

html.desktop .MemberBtn:hover {
	opacity: 0.75;
}

.MemberBtn::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f059";
	font-size: 1.8rem;
	position: absolute;
	left: 0;
	right: 0;
	text-align: center;
	top: 7px;
	color: #80b149;
	font-weight: 300;
}

@media (max-width: 767px) {
	.MemberBtn {
		border-radius: 0;
		border: 0;
		border-left: 2px solid #80b149;
		padding: 25px 10px 5px;
		height: 100%;
	}
}

/* MypageBtn
***************************************/
.MypageBtn {
	position: relative;
	border-radius: 0px 0 10px 10px;
	display: block;
	padding: 35px 10px 5px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	font-size: 1.3rem;
	text-align: center;
	color: #fff;
	line-height: 1;
	background: #e8893c;
	height: 100%;
	transition: opacity .2s;
}

html.desktop .MypageBtn:hover {
	opacity: 0.75;
}

.MypageBtn::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f007";
	font-size: 1.8rem;
	position: absolute;
	left: 0;
	right: 0;
	text-align: center;
	top: 7px;
	color: #fff;
	font-weight: 300;
}

@media (max-width: 767px) {
	.MypageBtn {
		border-radius: 0;
		border: 0;
		border-left: 2px solid #e8893c;
		padding: 35px 5px 5px;
		height: 100%;
		background: #fff;
		color: #e8893c;
		font-size: 1.1rem;
	}

	.MypageBtn::before {
		color: #e8893c;
		font-size: 2.2rem;
	}
}

/* LoginBtn　Logout
***************************************/
.LoginBtn,
.LogoutBtn {
	position: relative;
	border-radius: 0px 0 10px 10px;
	background: #80b149;
	display: block;
	padding: 35px 10px 5px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	font-size: 1.3rem;
	text-align: center;
	color: #fff;
	line-height: 1;
	height: 59px;
	transition: opacity .2s;
}

.LogoutBtn {
	background: #fff;
	border: 2px solid #e8893c;
	border-top: 0;
	color: #e8893c;
}

html.desktop .LoginBtn:hover,
html.desktop .LogoutBtn:hover {
	opacity: 0.75;
}

.LoginBtn::before,
.LogoutBtn::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f090";
	font-size: 1.8rem;
	position: absolute;
	left: 0;
	right: 0;
	text-align: center;
	top: 7px;
	color: #fff;
	font-weight: 300;
}

.LogoutBtn::before {
	color: #e8893c;
	content: "\f08b";
}

/* FixedLink
***************************************/
.FixedLink_child {
	margin-bottom: 10px;
}

.FixedLink_link {
	display: inline-block;
	position: relative;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	padding: 40px 10px 15px;
	color: #fff;
	background: #80b149;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	border-radius: 8px 0 0 8px;
	width: 45px;
	transition: opacity .2s;
}

.FixedLink_link:hover {
	opacity: 0.75;
}

.FixedLink_link::before {
	position: absolute;
	font-family: "Font Awesome 5 Pro";
	font-size: 2rem;
	top: 13px;
	left: 0;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 300;
}

.FixedLink_link.-claim::before {
	content: "\f518";
}

.FixedLink_link.-contact::before {
	content: "\f0e0";
}

html.ie .FixedLink_link::before {
	transform: rotate(-90deg);
	top: 0;
}

@media (max-width: 767px) {
	.FixedLink {
		display: none;
	}
}

/* HeadSpBtn
***************************************/
@media (max-width: 767px) {
	.HeadSpBtn {
		display: block;
		text-align: center;
		padding-top: 25px;
		position: relative;
		z-index: 100;
		width: 57px;
		height: 57px;
		background: #80b149;
		right: 0;
		color: #fff;
	}

	.HeadSpBtn::after {
		position: absolute;
		font-family: "Font Awesome 5 Pro";
		content: "\f0c9";
		font-size: 1.6rem;
		color: inherit;
		top: 6px;
		left: 0;
		right: 0;
		margin: auto;
		font-weight: 300;
	}

	body.is-spnav-active .HeadSpBtn::after {
		content: "\f00d";
	}

	.HeadSpBtn_Text {
		font-size: 1.1rem;
		display: inline-block;
		margin: auto -10px;
		color: #fff;
	}

	body.is-spnav-active .HeadSpBtn_Text.-open {
		display: none;
	}

	.HeadSpBtn_Text.-close {
		display: none;
	}

	body.is-spnav-active .HeadSpBtn_Text.-close {
		display: inline-block;
	}
}

/* Gnav
***************************************/
.Gnav {
	display: flex;
}

.Gnav_child {
	cursor: pointer;
	padding: 17px;
}

.Gnav_text {
	position: relative;
	color: #444444;
	font-size: 1.5rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	display: block;
}

html.desktop .Gnav_child:hover .Gnav_text::after,
.Gnav_child.is-active .Gnav_text::after,
.Gnav_child.is-current .Gnav_text::after {
	position: absolute;
	content: "";
	width: 50px;
	height: 3px;
	background: #80b149;
	left: 0;
	right: 0;
	margin: auto;
	bottom: -17px;
}

html.desktop .Gnav_child:hover .Gnav_text,
.Gnav_child.is-active .Gnav_text,
.Gnav_child.is-current .Gnav_text {
	color: #80b149;
}

.Gnav_innerList {
	display: none;
}

.Gnav_child.is-active .Gnav_innerList {
	display: block;
}

@media (max-width: 767px) {
	.Gnav {
		display: none;
	}
}

/* SecondGnav
***************************************/
.SecondGnav {
	position: absolute;
	top: 117px;
	width: 100vw;
	color: #fff;
	background: rgba(244, 243, 232, 0.95);
	left: calc((100vw - 1200px) / -2);
	right: 0;
	z-index: 10;
	box-shadow: 0px 1px 12px 1px rgba(0, 0, 0, 0.1) inset;
}

.SecondGnav_inner {
	position: relative;
	height: 100%;
	z-index: 10;
	width: 1200px;
	padding: 15px 15px 20px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
}

.SecondGnav_child.-large {
	width: 100%;
	border-bottom: 1px solid #80b149;
	margin-bottom: 10px;
}

.SecondGnav_link {
	padding: 10px 25px;
	color: #444444;
	position: relative;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	transition: color .2s;
}

.SecondGnav_link::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f0da";
	font-size: 1.4rem;
	position: relative;
	margin-right: 5px;
	color: #80b149;
	font-weight: bold;
}

html.desktop .SecondGnav_link:hover {
	color: #80b149;
}

.SecondGnav_link.-large {
	padding: 15px 0;
	font-size: 1.9rem;
}

/* SpNav
***************************************/
.SpNav {
	display: none;
}

@media (max-width: 767px) {
	.SpNav {
		display: block;
		position: fixed;
		width: 100%;
		height: 100%;
		transition: transform 0.5s;
		z-index: 10;
		background: #353431;
		overflow: scroll;
		right: -100%;
		top: 60px;
		padding-bottom: 100px;
		-webkit-overflow-scrolling: touch;
	}

	body.is-spnav-active .SpNav {
		transform: translateX(-100%);
	}

	.SpNav_trigger {
		display: block;
		position: relative;
		background: #353431;
		color: #fff;
		font-size: 1.6rem;
		padding: 20px 10px;
		font-family: "Noto Sans JP", sans-serif;
	}

	.SpNav_trigger::after {
		font-family: "Font Awesome 5 Pro";
		content: "\f067";
		font-size: 1.8rem;
		position: absolute;
		right: 20px;
		font-weight: 300;
	}

	.SpNav_trigger.is-active::after {
		content: "\f068";
	}

	.SpNav_trigger.-link::after {
		content: "\f178";
	}

	.SpNav_innerListLink {
		display: block;
		background: #262420;
		color: #fff;
		font-size: 1.5rem;
		padding: 15px 13px;
		font-family: "Noto Sans JP", sans-serif;
	}

	.SpNav_btnList {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 20px 10px 0;
	}

	.SpNav_btnListChild {
		width: calc(50% - 5px);
	}

	.SpNav_btnListChild.-tel {
		width: 100%;
	}

	.SpNav_btnListLink {
		border: 1px solid #fff;
		text-align: center;
		color: #fff;
		display: inline-block;
		padding: 10px 20px;
		width: 100%;
		position: relative;
		font-family: "Noto Sans JP", sans-serif;
		background: none;
		border-radius: 8px;
	}

	.SpNav_btnListLink.-green {
		background: #80b149;
		border: 0;
	}

	.SpNav_btnListLink.-simulator {
		line-height: 1;
		padding: 7px 0;
	}

	.SpNav_btnListLink::before {
		font-family: "Font Awesome 5 Pro";
		content: "\f0da";
		font-size: 1.4rem;
		position: absolute;
		left: 10px;
		top: 0;
		bottom: 0;
		display: flex;
		align-items: center;
		font-weight: bold;
	}

	.SpNav_btnListLink.-login::before {
		content: "\f090";
		font-weight: 300;
	}

	.SpNav_btnListLink.-logout::before {
		content: "\f08b";
		font-weight: 300;
	}

	.SpNav_btnListLink.-claim::before {
		content: "\f518";
		font-weight: 300;
	}

	.SpNav_btnListLink.-contact::before {
		content: "\f0e0";
		font-weight: 300;
	}

	/* SpNav_btnListTel */
	.SpNav_btnListTel {
		display: block;
		text-align: center;
		color: #fff;
		padding: 10px;
		margin: 10 auto;
	}

	.SpNav_btnListTelNum {
		font-size: 2.3rem;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
		line-height: 1;
		position: relative;
	}

	.SpNav_btnListTelNum::before {
		font-family: "Font Awesome 5 Pro";
		content: "\f095";
		font-size: 2.1rem;
		position: relative;
		color: #80b149;
		font-weight: 300;
	}

	.SpNav_btnListTelTime {
		font-size: 1.4rem;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
	}
}

/**********************************************
* 
* footer
*
***********************************************/
/* CvArea
***************************************/
.CvArea {
	background: url(../images/common/bg_cvarea.jpg) no-repeat;
	background-size: cover;
	color: #fff;
	text-align: center;
	padding: 39px 0;
}

.CvArea_inner {
	display: flex;
	width: 1000px;
	margin: auto;
}

.CvArea_child {
	width: 50%;
	position: relative;
}

.CvArea_child:first-of-type::after {
	position: absolute;
	content: "";
	width: 1px;
	height: 205px;
	right: 0;
	bottom: 0;
	top: 0;
	margin: auto;
	background: rgba(255, 255, 255, 0.4);
}

.CvArea_title {
	font-size: 2.2rem;
	font-family: "Noto Sans JP", sans-serif;
	margin-bottom: 25px;
}

.CvArea_icon {
	font-size: 5rem;
	margin-bottom: 30px;
}

.CvArea_icon.-tel {
	margin-bottom: 20px;
}

.CvArea_telNum {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 3rem;
	line-height: 1;
}

.CvArea_telDetail {
	font-size: 1.3rem;
	display: block;
	line-height: 1;
}

@media (max-width: 767px) {
	.CvArea {
		padding: 25px 0 35px;
	}

	.CvArea_inner {
		width: 100%;
		display: block;
	}

	.CvArea_child {
		width: 100%;
		padding: 30px;
	}

	.CvArea_child:first-of-type::after {
		width: 80%;
		height: 1px;
		left: 0;
		top: auto;
	}

	.CvArea_title {
		font-size: 2rem;
		margin-bottom: 10px;
	}

	.CvArea_icon {
		font-size: 4rem;
		margin-bottom: 5px;
	}

	.CvArea_icon.-tel {
		margin-bottom: 5px;
	}
}

/* FooterInfo
***************************************/
.FooterInfo {
	padding: 20px 0;
	color: #fff;
	background: url(../images/common/bg_footer_info.png) no-repeat right bottom, #353431;
}

.FooterInfo_title {
	font-weight: bold;
}

.FooterInfo_text {
	font-size: 1.2rem;
	line-height: 1.8;
}

.FooterInfo_copyright {
	text-align: center;
	font-size: 1rem;
	margin: 20px auto 0;
}

@media (max-width: 767px) {
	.FooterInfo_copyright {
		margin: 35px auto 0;
	}
}

/* FooterLinks
***************************************/
.FooterLinks {
	display: flex;
	align-items: center;
	width: 1060px;
	margin: auto;
}

.FooterLinks_list {
	display: flex;
}

.FooterLinks_listChild {
	position: relative;
}

.FooterLinks_listChild:not(:last-of-type)::after {
	position: absolute;
	content: "";
	height: 14px;
	width: 1px;
	background: #fff;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.FooterLinks_listLink {
	color: #fff;
	font-size: 1.4rem;
	padding: 5px 15px;
	transition: opacity .2s;
}

html.desktop .FooterLinks_listLink:hover {
	opacity: 0.75;
}

.FooterLinks_banner {
	display: flex;
}

.FooterLinks_bannerChild:not(:last-of-type) {
	margin-right: 5px;
}

.FooterLinks_bannerLink {
	transition: opacity .2s;
}

html.desktop .FooterLinks_bannerLink:hover {
	opacity: 0.75;
}

@media (max-width: 767px) {
	.FooterLinks {
		display: block;
		width: 100%;
	}

	.FooterLinks_list {
		flex-wrap: wrap;
		justify-content: center;
		margin-bottom: 20px;
	}

	.FooterLinks_banner {
		margin: auto;
	}

	.FooterLinks_img {
		width: 100%;
	}
}

/**********************************************
 * 
 * system
 *
 ***********************************************/
/* thick
***************************************/
iframe html {
	overflow: auto;
}
#thick {
	background: none;
}
#thick h1 {
	width: 722px;
	margin: 25px auto 0px auto;
	text-align: left;
	color: #82ae46;
	font-size: 134%;
	font-weight: bold;
	border-bottom: solid 1px #82ae46;
}
#thick h1 span {
	margin-right: 10px;
	color: #000000;
	font-size: 75%;
}

#thick .block {
	width: 722px;
	margin: 25px auto 0px auto;
	text-align: left;
}
#thick .blockLeft {
	float: left;
	width: 385px;
}
#thick .blockRight {
	float: right;
	width: 318px;
}
#thick .blockLeft div img {
	border: solid 1px #808080;
}
#thick .blockLeft ul {
	float: left;
	list-style: none;
	margin: 10px 0;
	padding: 0;
}
#thick .blockLeft ul li {
	float: left;
	margin-right: 5px;
}
#thick .blockLeft p {
	float: right;
	width: 143px;
	margin-top: 10px;
	text-align: right;
	width: 200px;
}
#thick .blockRight table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 12px;
}
#thick .blockRight th {
	width: 90px;
	padding: 5px;
	text-align: center;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	border: solid 1px #dddddd;
}
#thick .blockRight td {
	padding: 5px;
	vertical-align: top;
	border: solid 1px #dddddd;
}

#thick #link {
	width: 722px;
	margin: 30px auto 0px auto;
	text-align: left;
	color: #333333;
	font-size: 117%;
	font-weight: bold;
}
#thick #link .pager {
	float: left;
	width: 385px;
	line-height: 1.2em;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 14px;
}
#thick #link .pager li {
	float: left;
	margin-right: 15px;
	padding-right: 15px;
	border-right: 2px #333333 solid;
}
#thick #link .pager li.next {
	margin-right: 0px;
	padding-right: 0px;
	border-right: none;
}
#thick #link .pager li em {
	color: #333333;
	font-style: normal;
	font-weight: bold;
}
#thick #link a:link,
#thick #link a:visited {
	color: #333333;
	text-decoration: underline;
}
#thick #link a:hover,
#thick #link a:active {
	color: #333333;
	text-decoration: none;
}
#thick #link p {
	float: right;
	font-size: 14px;
}
#TB_title {
	display: none;
}

/* 20101130 add */
#thick .rankIn {
	font-size: 150%;
	font-weight: bold;
	width: 722px;
	text-align: right;
	margin: -40px auto 35px;
}
#thick .rankIn img {
	margin-right: 5px;
	vertical-align: middle;
}

#thick #comment {
	float: left;
	width: 290px;
	height: 85px;
	padding: 8px 12px;
	border: 1px solid #d5d5d5;
	overflow: auto;
	margin-top: 10px;
}
#thick #comment div {
	float: right;
	width: 100px;
}
#thick #comment div span {
	font-size: 85%;
	line-height: 1.1em;
	display: block;
	margin-top: 5px;
	text-align: center;
}
#thick #comment p {
	float: left;
	width: 160px;
	line-height: 1.4em;
}
#thick #comment p span {
	display: block;
	margin-bottom: 8px;
}

/* /20101130 add */

#thick .social_box {
	width: 100%;
	text-align: left;
}

#thick .social_box p {
	margin-left: 6px;
	margin-right: 0px;
}

#thick .social_inner_box {
	width: 400px;
	margin-left: 37px;
	margin-right: auto;
	margin-top: 15px;
}

#thick .social_feedback {
	float: left;
}

#thick .social_bookmark {
	float: left;
}

#thick .mixi {
	float: left;
}

#thick .facebook_share {
	float: left;
}

#thick .facebook {
	float: left;
}

#thick .twitter {
	float: left;
}

#thick .hatena {
	float: left;
}

#thick .yahoo {
	float: left;
}

#thick .delicious {
	float: left;
}

#thick .livedoor {
	float: left;
}

#thick .buzzurl {
	float: left;
}

@media (max-width: 767px) {
	#thick h1 {
		width: 100%;
	}

	#thick .block {
		width: 100%;
	}

	#thick .blockLeft {
		float: none;
		width: 100%;
	}

	#thick .blockLeft div img {
		width: 100%;
	}

	#thick .blockRight {
		float: none;
		width: 100%;
	}

	#thick #link {
		width: 100%;
	}

	#thick #link .pager {
		width: 100%;
	}
}
