/*
Theme Name: Instleap
*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
p{word-break:break-all;}
q:before,q:after{content:'';}
a{transition:0.4s;color:#36A37B;}
object,embed{vertical-align:top;}
legend{display:none;}
figure{margin:0;}
img,abbr,acronym,fieldset{border:0;}
p,th,td,li,dt,dd {font-size:16px;line-height:1.8;}
p {margin-bottom:20px;}
p:last-of-type {margin-bottom:0;}
img{height:auto;max-width:100%;}
section{margin:0 auto 45px;}
blockquote {
	background-color: #FFFBF6;
	font-family: 'Dosis';
	margin: 0 0 20px;
	padding: 15px 25px;
	border-left: 5px solid #60B571;
}
blockquote, blockquote p {
	font-size: 18px;
	font-style: italic;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 1px;
}
blockquote p {
	margin-bottom: 0!important;
}
blockquote cite, blockquote small {
	color: #242526;
	font-size: 15px;
	display: block;
	line-height: 20px;
	padding-top: 15px;
}
blockquote em, blockquote i, blockquote cite {
	font-style: normal;
}
blockquote strong, blockquote b {
	font-weight: 600;
}
.post_single p {
	margin-bottom: 25px;
}
table {
	border-collapse: collapse;
	margin: 20px 0;
}
th, td {
	border: 1px solid #ddd;
	padding: 10px 1.2em;
	vertical-align: middle;
}
th {
	background-color: #f9f9f9;
	color: #36A37B;
	font-weight: 400;
}
td {
	background: #FFF;
}
.inner {
	max-width: 1100px;
	margin: 0 auto;
}
.cen_txt {
	text-align: center;
}
.res_block {
	display: none;
}
#header {
	box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);
	z-index: 99;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: #fff;
}
.h_logo {
	line-height: 0;
}
.container {
	margin: 0 auto;
}
#gNav ul {
	margin: 0;
	padding: 0;
}
#gNav li {
	list-style: none;
}

#gNav a:hover {
	color: #999;
}
nav li a {
	font-size: 12px;
	letter-spacing: 0.2em;
	position: relative;
	text-decoration: none;
	color: #2C3841;
}
nav .sub-menu, .mean-container .mean-nav ul ul {
	background: #E3F6E6;
	/* background-image: linear-gradient(to top, #fff1eb 0%, #ace0f9 100%); */
}
a.meanmenu-reveal {
	display: none;
}
.mean-container .mean-bar {
	width: 100%;
	position: fixed;
	background: none;
	min-height: 60px;
	z-index: 999998;
	top: 0;
	left: 0;
}
.mean-container .mean-bar {
	width: 100%;
	position: fixed;
	background: none;
	min-height: 60px;
	z-index: 98;
	top: 0;
	left: 0;
}
.meanmenu-reveal-btn {
	position: absolute;
	display: block;
	z-index: 99999;
	box-sizing: border-box;
	width: 60px;
	height: 60px;
	right: 0;
	top: 0;
}
.meanmenu-reveal {
	width: 26px;
	height: 34px;
	margin: 13px 17px 13px 17px;
	display: block !important;
	position: relative;
}
.meanmenu-reveal span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	margin: 0 auto;
}
.meanmenu-reveal span:nth-of-type(1) {
	top: 6px;
	background: #1ABAA2;
}
.meanmenu-reveal span:nth-of-type(2) {
	top: 14px;
	background: #1ABAA2;
}
.meanmenu-reveal span:nth-of-type(3) {
	top: 22px;
	background: #1ABAA2;
}
.meanmenu-reveal span:nth-of-type(1) {
	-webkit-animation: menu-ber01 .75s forwards;
	animation: menu-ber01 .75s forwards;
}
.meanmenu-reveal span:nth-of-type(2) {
	transition: all .25s .25s;
	opacity: 1;
}
.meanmenu-reveal span:nth-of-type(3) {
	-webkit-animation: menu-ber02 .75s forwards;
	animation: menu-ber02 .75s forwards;
}
.meanclose span:nth-of-type(1) {
	-webkit-animation: active-menu-ber01 .75s forwards;
	animation: active-menu-ber01 .75s forwards;
	top: 4px;
}
.meanclose span:nth-of-type(2) {
	opacity: 0;
}
.meanclose span:nth-of-type(3) {
	-webkit-animation: active-menu-ber03 .75s forwards;
	animation: active-menu-ber03 .75s forwards;
}
.mean-container .mean-nav {
	width: 100%;
	margin-top: 60px;
	max-height: 100vh;
	overflow-y: auto;
}
.mean-container .mean-nav ul {
	padding: 0;
	margin: 0;
	width: 100%;
	list-style-type: none;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	position: relative;
	z-index: 99;
	max-height: 100vh;
	max-height: calc(100vh - 60px);
	background: #D7F0E0;
}
.mean-container .mean-nav ul ul {
	padding-bottom: 0;
	margin-bottom: 0;
}
.mean-container .mean-nav ul li {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}
.mean-container .mean-nav ul li a, .mean-container .mean-nav ul li span.pre {
	display: block;
	width: 100%;
	padding: 1em;
	margin: 0;
	text-align: left;
	text-decoration: none;
	text-transform: uppercase;
	color: #1ABAA2;
	box-sizing: border-box;
}
.mean-container .mean-nav ul li li a {
	width: 100%;
	padding: 1em 10%;
	text-shadow: none !important;
	visibility: visible;
}
.mean-container .mean-nav ul li.mean-last a {
	border-bottom: none;
	margin-bottom: 0;
}
.mean-container .mean-nav ul li li li a {
	width: 70%;
	padding: 1em 15%;
}
.mean-container .mean-nav ul li li li li a {
	width: 60%;
	padding: 1em 20%;
}
.mean-container .mean-nav ul li li li li li a {
	width: 50%;
	padding: 1em 25%;
}
.mean-container .mean-nav ul li a:hover {
	background: #252525;
	background: rgba(255, 255, 255, 0.1);
}
.mean-container .mean-nav ul li a.mean-expand {
	/*margin-top:1px;*/
	width: 60px;
	text-align: center;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
	padding: 0.1em 0.2em;
	font-size: 24px;
	color: #1ABAA2;
}
.mean-container .mean-nav ul li a.mean-expand:hover {
	background: #1ABAA2;
	color: #fff;
}
.mean-container .mean-push {
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
	clear: both;
}
.mean-nav .wrapper {
	width: 100%;
	padding: 0;
	margin: 0;
}
.mean-container .mean-bar, .mean-container .mean-bar * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
.mean-remove {
	display: none !important;
}
#header_button {
	float: right;
}
#header_button a {
	background: #FF8C1A;
	padding: 10px 1em;
	text-align: center;
	color: #FFF;
	border-radius: 25px;
	text-decoration: none;
	line-height: 50px;
}
#header_button a:hover {
	background: #D83900;
	color: #FFF;
}
#header_button span {
	padding-left: 10px;
}
#main-visual {
	margin-top: 60px;
	padding: 0 10px;
	position: relative;
}
#main-visual img {
	width: 100%;
}
#main-visual .top-slider {
	margin: 0 auto;
	width: 100%;
}
#main-visual .slider-image {
	height: 350px;
	/* background-size: cover; */
	background-repeat: no-repeat;
	background-position: center;
}
#main-visual .sp-slick {
	margin-top: 90px;
}
#main-visual .sp-slick .slick-dots {
	display: none!important;
}
#main-visual .top-text {
	position: absolute;
	z-index: 50;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 80%;
	width: 65%;
	position: absolute;
	top: 0;
	left: 10%;
}
#main-visual h2 {
	margin-bottom: 20px;
	color: #FFF;
	white-space: pre-wrap;
}
#main-visual p {
	color: #FFF;
	/* white-space: pre-wrap; */
}
#about {
	margin: 0;
	width: 100%;
	padding: 0;
	display: flex;
	flex-direction: column-reverse;
}
#about .about-img {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	height: 240px;
}
#about .about-txt {
	position: relative;
	background: #E3F6E6;
	background: linear-gradient(0deg, rgba(227,246,230,1) 0%, rgba(245,252,248,1) 100%);
}
#about h2 {
	font-size: 25px;
	color: #2C3841;
	margin-bottom: 20px;
}
#about h2 span {
	color: #36A37B;
	position: relative;
	overflow: hidden;
	display: block;
	margin-bottom: 15px;
	font-size: 20px;
}
#about h2 span::after {
	content: "";
	position: absolute;
	top: 45%;
	border-bottom: 2px solid #36A37B;
	width: 100%;
}
#about p {
	white-space: pre-wrap;
}
#about .about-content {
	padding: 4em 20px;
}
#about .button {
	margin: 40px auto 0;
}
#about a {
	margin: 0 auto;
}
#service {
	margin: 3.2em 0;
	padding: 0 20px;
}
#service h2 {
	max-width: 1100px;
	margin: 0 auto;
	font-size: 25px;
	color: #2C3841;
	margin-bottom: 30px;
}
#service h2 span {
	color: #36A37B;
	position: relative;
	overflow: hidden;
	display: block;
	max-width: 500px;
	margin-bottom: 15px;
	font-size: 20px;
}
#service h2 span::after {
	content: "";
	position: absolute;
	top: 45%;
	border-bottom: 2px solid #36A37B;
	width: 100%;
}
#service .service-box {
	max-width: 1100px;
	margin: 0 auto;
	width: 100%;
}
#service article {
	width: 100%;
	margin: 0 auto 25px;
	position: relative;
}
#service article:last-of-type {
	margin: 0;
}
#service figure {
	line-height: 0;
}
#service .service-txt {
	padding: 15px 0;
}
#service .service-txt h3 {
	color: #36A37B;
}
#service .service-txt .money {
	font-weight: 600;
	font-size: 20px;
	text-align: right;
}
#items {
	padding: 3em 20px;
	background: #EFFAF5;
	background: linear-gradient(0deg, rgba(239,250,245,1) 0%, rgba(207,240,213,1) 100%);
}
#items h2 {
	text-align: center;
	font-size: 25px;
	margin-bottom: 30px;
	color: #36A37B;
	white-space: pre-wrap;
}
#items .item-grid {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}
#items figure {
	padding: 10px;
	background: #FFF;
	line-height: 0;
	position: relative;
	display: table;
	text-align: center;
	width: calc(100% - 20px);
	margin: 0 auto 15px;
}
#items figure img {
	width: calc(40% - 10px);
	margin-right: 10px;
	float: left;
	display: table-column;
	vertical-align: middle;
}
#items figcaption {
	line-height: 1.8;
	white-space: pre-wrap;
}
#case {
	margin: 4em 0;
	padding: 0 20px;
}
#case h2 {
	max-width: 1100px;
	margin: 0 auto 40px;
	font-size: 25px;
	color: #2C3841;
	text-align: center;
}
#case h2 span {
	color: #36A37B;
	display: block;
	margin-bottom: 10px;
	font-size: 20px;
}
#case .case-grid {
	max-width: 1100px;
	margin: 0 auto;
	width: 100%;
}
#case .slick-prev,
#case .slick-next {
	top: 30%;
}
#case article {
	width: 100%;
	margin: 0 auto 25px;
	position: relative;
}
#case article:last-of-type {
	margin: 0;
}
#case figure {
	line-height: 0;
}
#case .case-txt {
	padding: 15px;
}
#case .case-txt h3 {
	color: #163B4B;
	font-size: 20px;
}
#case .cate-text a {
	margin-bottom: 10px;
	color: #5A747F;
	font-weight: 600;
	text-decoration: none;
}
#case .cate-text a:hover {
	color: #FF8C1A;
}
#case .button {
	max-width: 1100px;
	margin: 30px auto 0;
}
#case .button a {
	margin: 0 auto;
}
#flow {
	padding: 3em 20px;
	background: #E3F6E6;
	background: linear-gradient(0deg, rgba(227,246,230,1) 0%, rgba(245,252,249,1) 100%);
}
#flow h3 {
	font-size: 22px;
	margin-bottom: 20px;
}
#flow h3 span {
	color: #36A37B;
	display: block;
	margin-bottom: 10px;
	font-size: 20px;
}
#flow p {
	white-space: pre-wrap;
}
#flow .flow-box:last-of-type {
	margin-bottom: 0;
}
#flow .flow-box {
	margin-bottom: 30px;
	display: flex;
	flex-direction: column-reverse;
}
#flow .flow-rec {
	padding: 30px 20px;
}
#flow .flow-img {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	height: 200px;
}
#flow .flow-cnt {
	position: relative;
	background: #FFF;
}
#flow .button {
	margin: 40px 0 0;
}
#contact {
	margin: 0;
	width: 100%;
	padding: 0;
	display: flex;
	flex-direction: column-reverse;
}
#contact h2 {
	font-size: 22px;
	color: #FFF;
	margin-bottom: 25px;
	text-align: center;
}
#contact h2 span {
	display: block;
	margin-bottom: 10px;
	font-size: 18px;
}
#contact .contact-txt {
	background: rgb(16,196,113);
	background: linear-gradient(90deg, rgba(16,196,113,1) 0%, rgba(26,186,162,1) 100%);
	padding: 1em 20px;
	position: relative;
}
#contact .contact-inner {
	padding: 2em 0;
}
#contact .contact-img {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	height: 150px;
}
#contact li {
	margin-bottom: 20px;
}
#contact li a {
	display: table;
	max-width: 300px;
	width: 100%;
	height: 55px;
	line-height: 1.2;
	text-align: center;
	margin: 0 auto;
	border-radius: 30px;
	text-decoration: none;
	color: #57A07E;
	position: relative;
	background: #FFF;
}
#contact li a:hover {
	background: #0C7C7C;
}
#contact li a span {
	line-height: 1;
}
#contact li a .main {
	display: block;
	font-weight: 600;
	font-size: 25px;
	width: 100%;
	margin: 6px 0 0;
}
#contact li a .sub {
	font-size: 12px;
}
#contact li a .form {
	display: block;
	font-weight: 600;
	font-size: 18px;
	display: table-cell;
	width: 100%;
	vertical-align: middle;
}
#contact li a:hover span {
	color: #FFF;
}
#column  {
	margin: 3em 0;
	padding: 0 20px;
}
#column h2 {
	max-width: 1100px;
	margin: 0 auto 40px;
	font-size: 25px;
	color: #2C3841;
	text-align: center;
}
#column h2 span {
	color: #36A37B;
	display: block;
	margin-bottom: 10px;
	font-size: 20px;
}
#column h3 {
	color: #163B4B;
	margin-bottom: 10px;
}
#column time {
	color: #36A37B;
	font-weight: 600;
	display: block;
	font-size: 18px;
}
#column .column-grid {
	max-width: 1100px;
	margin: 0 auto;
	width: 100%;
}
#column article {
	width: 100%;
	margin: 0 auto 25px;
	position: relative;
}
#column article:last-of-type {
	margin: 0;
}
#column figure {
	line-height: 0;
}
#column .column-txt {
	padding: 15px;
}
#column .case-txt h3 {
	color: #163B4B;
	font-size: 20px;
}
#column .cate-text {
	margin: 0 0 10px;
}
#column .cate-text a {
	margin-bottom: 10px;
	color: #5A747F;
	font-weight: 600;
}
#column .button {
	max-width: 1100px;
	margin: 30px auto 0;
}
#column .button a {
	margin: 0 auto;
}
#footer {
	background-color: #2C3841;
	padding: 30px 20px 70px;
}
#footer .foot-inner {
	max-width: 1100px;
	margin: 0 auto;
	display: table;
	width: 100%;
}
#footer .f-logo {
	margin: 0 0 20px;
	text-align: center;
}
#footer nav {
	/*display: none;*/
	padding: 16px 0;
}
#footer nav a {
	color: #FFF;
	text-decoration: none;
}
#footer ul {
	display: table;
	margin: 0 0 0 auto;
}
#footer ul li {
	float: left;
	width: calc(50% - 10px);
	margin-right: 20px;
}
#footer ul li:nth-of-type(even) {
	margin-right: 0;
}
#footer .copy {
	padding: 10px 0 0;
	text-align: center;
	max-width: 1100px;
	margin: 10px auto 0;
	border-top: 1px solid #FFF;
	color: #FFF;
	font-size: 12px;
}
.imgWrap {
	overflow: hidden;
}
.imgWrap img {
	display: block;
	transition-duration: 0.8s;
	margin: 0;
	width: 100%;
}
.imgWrap img:hover {
	transform: scale(1.2);
	transition-duration: 0.8s;
}
.button a {
	display: block;
	max-width: 270px;
	width: 100%;
	padding: 14px 0;
	text-align: center;
	border: 2px solid #57A07E;
	border-radius: 30px;
	text-decoration: none;
	color: #57A07E;
	background: #FFF;
	font-size: 18px;
	font-weight: 600;
}
.button a:hover {
	background: #57A07E;
	color: #FFF;
}
#page_top {
	position: fixed;
	right: 0;
	top: 30%;
}
#page_top a {
	position: relative;
	display: block;
	text-decoration: none;
	writing-mode: vertical-rl;
	color: #FFF;
	font-size: 18px;
	padding: 2.5em 10px 10px 10px;
	background-repeat: no-repeat;
	background-position: top 8% center;
	border-radius: 15px 0 0 15px;
}
#page_top .a-btn {
	background-color: #FF8C1A;
	margin: 0 0 15px 0;
	background-image: url(images/mail-icon.png);
}
#page_top .a-btn:hover  {
	background-color: #D83900;
}
#page_top .b-btn {
	background-color: #00B900;
	margin: 15px 0 0 0;
	background-image: url(images/line-icon.png);
}
#page_top .b-btn:hover  {
	background-color: #0B7D6C;
}
.under-btn {
	background: #36A37B;
	padding: 3em 20px;
}
.btn-area {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0;
	display: table;
}
.btn-area .btn-box img {
	width: 100%;
}
.btn-area .btn-box {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
}
.btn-area .img-btn {
	width: 100%;
	line-height: 0;
	margin-bottom: 0;
}
.btn-area .txt-btn {
	padding: 20px 0;
	position: relative;
	display: table;
	width: 100%;
	margin: 0;
	background: #FFF;
}
.btn-area .btn-box:nth-child(even) {
	margin: 0;
}
.btn-area .btn-box:nth-child(odd) {
	margin: 0 0 16px;
}
.btn-area .txt-btn a {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	color: #36A37B;
	font-weight: 600;
	text-decoration: none;
}
.calculate {
	padding: 20px;
	margin: 0 0 25px;
	background-color: #EFFAF2;
	border: 1px solid #57A07E;
}
.calculate p {
	margin: 0;
	color: #397A59;
	font-weight: 600;
}
.app-font {
	color: #444;
	padding: 0 5px;
	background: #f7d745;
	font-weight: 600;
}

/* header非表示 */
.page-id-90 #page_header, .post-type-archive #page_header, .page-id-86 #page_header, .page-id-84 #page_header, .page-id-432 #page_header {
    display: none;
}
#post-90, #post-1183, #post-86, #post-84, #post-432 {
    margin-top: 80px;
}
/* slider ドット非表示 */
.slick-dots li.slick-active button:before {
    display: none !important;
}
/* flex並び */
@media screen and (max-width: 768px) {
.flex2 {
	display: flex;
    flex-flow: column;
}
.flex-item-1 {
	order: 1;
}

.flex-item-2 {
	order: 2;
}

.flex-item-3 {
	order: 3;
}
.flex-item-4 {
	order: 4;
}
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc-needs { display: block !important; }
.sp-needs { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc-needs { display: none !important; }
    .sp-needs { display: block !important; }
}