@charset "UTF-8";

/*---------------------------------------------------------
bg
---------------------------------------------------------*/
.single_content {
	position: relative;
	background: linear-gradient(rgba(250,246,245,0.8), rgba(255,246,245,0));
	background-repeat: no-repeat;
	background-size: 100% 500px;
	padding-top: min(7vw,65px);
	padding-bottom: min(10vw,110px);
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.single_content {
	padding-top: 10%;
	padding-bottom: 15%;
}
}


/* ========================================================
  
  free_area

======================================================== */
.free_area [id] {
	display: block;
	scroll-margin-top: min(15vw,200px);
}

/*---------------------------------------------------------
heading
---------------------------------------------------------*/
.free_area h3,
.free_area h4,
.free_area h5,
.free_area h6 {
	box-sizing: border-box;
}
/* .free_area h3 {
	text-align: center;
	background: #63a665;
	color: #fff;
	font: var(--font_min);
	font-size: min(3vw,176%);
	letter-spacing: .12em;
	line-height: 1.4em;
	padding: .8em 3%;
	margin-bottom: 2em;
} */
.free_area h4 {
	position: relative;
	color: var(--color_dgrn);
	font: var(--font_min);
	font-size: min(2.8vw,176%);
	letter-spacing: .12em;
	line-height: 1.4;
	border-left: 5px solid currentColor;
	padding: .2em 1.2em;
	margin-bottom: 1em;
}
.free_area h5 {
	text-align: left;
	color: #FFF;
	font-size: min(2.2vw,123%);
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.4;
	background-color: #8db863;
	border-radius: .5em;
	padding: .6em 1.2em;
	margin-bottom: 1em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/* .free_area h3, */
.free_area h4,
.free_area h5,
.free_area h6 {
	letter-spacing: .08em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* .free_area h3, */
.free_area h4,
.free_area h5,
.free_area h6 {
	letter-spacing: .03em;
	margin-top: 1.5em;
}
/* .free_area h3 {
	font-size: 125%;
	line-height: 1.4em;
	margin-bottom: 8%;
} */
.free_area h4 {
	font-size: 120%;
	line-height: 1.4em;
	margin-bottom: 4%;
}
.free_area h5 {
	font-size: 110%;
	margin-bottom: .8em;
}
.free_area h6 {
	font-size: 105%;
	line-height: 1.4em;
	margin-bottom: 6%;
}
}

/*free_area:space
---------------------------------------------------------*/
.free_area > * {
	margin-top: 1.2em;
}
.free_area > *:not(.com_h__bg) {
	width: 96%;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
}
.free_area > *:first-child {
	margin-top: 0 !important;
}
.free_area h4,
.free_area h5,
.free_area h6,
.free_area ul,
.free_area ol,
.free_area .free_line,
.free_area .free_line__chk {
	margin-top: 2.5em;
}
.com_h__bg {
	margin-top: 3em;
}
.free_area a {
	text-decoration: underline;
}
.free_area a:hover {
	color: var(--color_dgrn);
	text-decoration: none;
}
.free_area hr {
	height: 1px;
	background-color: #a3a3a3;
	width: 100%;
	border: none;
	margin: 5.0rem 0 6.0rem;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.free_area h4,
.free_area h5,
.free_area h6,
.free_area ul,
.free_area ol,
.free_area .free_line,
.free_area .free_line__chk {
	margin-top: 1.5em;
}
.free_area hr {
	margin: 12% 0;
}
.com_h__bg {
	margin-top: 2em;
}
}
/*free_area:list
---------------------------------------------------------*/
.free_area ul,
.free_area ol {
	list-style: none;
}
.free_area li,
.free_line,
.free_line__chk {
	position: relative;
	font-size: 120%;
	line-height: 1.4;
	box-sizing: border-box;
	border-bottom: 1px solid #a3a3a3;
	padding: 0 .5em 1em;
	margin-bottom: 1.2em;
}
.free_area li:last-of-type {
	margin-bottom: 0;
}
.free_area li a {
	transition: all 0.8s;
}
.free_area li a:hover {
	transition: all 0.4s;
	text-decoration: none;
	opacity: 0.5;
}
.free_area ol {
	counter-reset: mycounter;
}
.free_area ol > li {
	padding-left: 3.2em;
}
.free_area ol > li::before {
	position: absolute;
	display: block;
	counter-increment: mycounter;
	content: counter(mycounter, decimal-leading-zero);
	font: var(--font_fut);
	color: #98959c;
	font-size: 147%;
	letter-spacing: .05em;
	left: .5em;
	top: 0;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.free_area li,
.free_line,
.free_line__chk {
	letter-spacing: .05em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.free_area li,
.free_line,
.free_line__chk {
	font-size: 100%;
	letter-spacing: .05em;
	padding-bottom: .8em;
	margin-bottom: 1em;
}
.free_area ol > li {
	padding-left: 2.8em;
}
.free_area ol > li::before {
	left: .3em;
}
}
/*free_area:custom
---------------------------------------------------------*/
.free_line,
.free_line__chk {
	font-style: normal !important;
	font-weight: normal !important;
	padding-bottom: 1.0em;
	margin-bottom: 1.0em !important;
}
.free_line {
	padding-left: .5em !important;
}
.free_line__chk {
	padding-left: 2.0em !important;
}
.free_line__chk::before {
	position: absolute;
	content: "";
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 17"><path fill="%2363a665" d="M4.5008283,17.0001756c-.0742188,0-.1489258-.0054932-.2236328-.0167236-.5576172-.0838623-1.0214844-.4737549-1.199707-1.0089111L.0774885,6.9745408c-.262207-.7858887.1625977-1.635376.9487305-1.8973389.7866211-.262085,1.6352539.1628418,1.8969727.9486084l2.0688477,6.2055664L13.2796369.6283494c.4819336-.6739502,1.4174805-.8305664,2.0927734-.3487549.6738281.4814453.8300781,1.418335.3486328,2.0924072l-10,14c-.2841797.3977051-.7407227.6281738-1.2202148.6281738Z" /></svg>');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 76% auto;
	width: 1em;
	height: 1em;
	top: .2em;
	left: .5em;
}
/*リンクボタン*/
.free_area a.free_btn1 {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	height: 3.5em;
	width: 15em;
	min-width: max-content;
	max-width: 100%;
	text-align: left;
	font: var(--font_min);
	font-size: min(1.4vw,0.89rem);
	letter-spacing: .1em;
	line-height: 1.3;
	background-color: #fff;
	border-radius: 100vmax;
	box-sizing: border-box;
	border: 1px solid #838080;
	padding: .2em 4em .2em 2em;
	text-decoration: none;
}
.free_area a.free_btn1::before {
	position: absolute;
	display: block;
	font-family: 'fontello';
	content: '\e800';
	color: #FFF;
	text-align: center;
	font-weight: normal;
	letter-spacing: normal;
	line-height: 2.5;
	width: 2.5em;
	background-color: var(--color_dgrn);
	border-radius: 50%;
	right: .5em;
	top: 50%;
	translate: 0 -50%;
	transition: all .4s;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.free_line,
.free_line__chk {
	padding-bottom: .6em;
	margin-bottom: .8em !important;
}
/*リンクボタン*/
.free_area a.free_btn1 {
	letter-spacing: .08em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.free_line,
.free_line__chk {
	padding-bottom: .6em;
	margin-bottom: .6em !important;
}
.free_line__chk {
	padding-left: 1.3em !important;
}
.free_line__chk::before {
	left: 0;
}
/*リンクボタン*/
.free_area a.free_btn1 {
	font-size: 3vw;
}
}
/*free_area:table
---------------------------------------------------------*/
.free_area table  {
	width: 100%;
	max-width: 1240px;
	font-size: 117%;
	letter-spacing: .08em;
	line-height: 1.6;
	border: 1px solid #98959c;
	border-collapse: collapse;
	margin-left: auto;
	margin-right: auto;
}
.free_area table th,
.free_area table td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
	box-sizing: border-box;
	padding: 1.2em 3%;
	border: 1px solid #98959c;
}
.free_area table th {
	color: #FFF;
	background-color: #b2afb5;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.free_area table  {
	letter-spacing: .04em;
}
.free_area table th,
.free_area table td {
	padding: 1.0em 3%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.free_area table  {
	font-size: 95%;
	line-height: 1.4;
	letter-spacing: .02em;
}
.free_area table th,
.free_area table td {
	padding: .8em 4%;
}
}

/*free_area:image
---------------------------------------------------------*/
.free_area img {
	display: block;
	width: 70%;
	max-width: 740px;
	margin: 2em auto;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.free_area img.alignright,
.free_area img.alignleft {
	width: 35%;
	max-width: 340px;
	margin-top: 0;
	margin-bottom: .5em;
}
.free_area img.alignright {
	float: right;
	margin-left: 4%;
}
.free_area img.alignleft {
	float: left;
	margin-right: 4%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.free_area img {
	float: none;
	width: 70%;
	padding: 0;
	margin: 1em auto;
}
.free_area img.size-large {
	width: 90%;
}
}

 

/* ========================================================
  
  404

======================================================== */
.no_page {
    padding-bottom: 150px;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.no_page {
    padding-bottom: 15%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.no_page {
    padding-bottom: 18%;
}	
}



/*---------------------------------------------------------

---------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}



