/*
Theme Name:k-force
*/
/*----- Initialize -----*/
body {
	padding: 0;
	margin: 0;
}
header,footer,main,article,div,p,dl,dt,dd,ul,ol,li {
	box-sizing: border-box;
}
h1,h2,h3,h4,h5,h6,p,span {
	font-family: sans-serif;
	margin: 0%;
}
a,a:hover { text-decoration: none; }
p {
	font-size: 15px;
	color: #000;
}

/*----- Page Layout -----*/
.content-area {
	padding-top: 80px;
}

main {
	display: block;
	width: 1100px;
	padding: 0;
	margin: 0 auto 128px auto;
}


/* ---------- common functions ----------*/
.fs-72 { font-size: 72px !important; }
.fs-48 { font-size: 48px !important; }
.fs-36 { font-size: 36px !important; }
.fs-32 { font-size: 32px !important; }
.fs-30 { font-size: 30px !important; }
.fs-28 { font-size: 28px !important; }
.fs-26 { font-size: 26px !important; }
.fs-24 { font-size: 24px !important; }
.fs-22 { font-size: 22px !important; }
.fs-20 { font-size: 20px !important; }
.fs-18 { font-size: 18px !important; }
.fs-16 { font-size: 16px !important; }
.fs-14 { font-size: 14px !important; }
.fs-12 { font-size: 12px !important; }

.fc-green { color: #00C983 }
.fc-bk	{ color: #000	}
.fc-wh	{ color: #fff	}

.bg-wh		{ background-color: #fff;	}
.bg-green	 { background-color: #00C983; }
.bg-green2	{ background-color: #ECF4EE; }
.bg-green2-r {
	background: linear-gradient(-90deg, rgba(236,244,238,1) 50%, rgba(255,255,255,1) 50%);
}


.text-left   { text-align: left;  }
.text-right  { text-align: right; }
.text-center { text-align: center; }
.text-just   { text-align: justify; }
.bold		{ font-weight: bold; }
.non-bold	 { font-weight: normal; }

.mb-8p  { margin-bottom:  8px !important; } 
.mb-16p { margin-bottom: 16px !important; }
.mb-32p { margin-bottom: 32px !important; }
.mb-40p { margin-bottom: 40px !important; }
.mb-64p { margin-bottom: 64px !important; }
.mb-96p { margin-bottom: 96px !important; }
.mb-0   { margin-bottom: 0 !important; }

.pt-32p { padding-top:	32px !important; }
.pb-32p { padding-bottom: 32px !important; }
.pr-32p { padding-right:  32px !important; }

.block { display: block; }
.flex {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
}
.fullwidth-img {
	display: block;
	width: 100%;
}

/*----- Common Items -----*/
.title-main {
	text-align: center;
	font-family: sans-serif;
	color: #00C983;
}
.title-main > span {
	background-image: url(img/icon-h.png),url(img/icon-h.png);
	background-position: left center,right center;
	background-size: 1em;
	background-repeat: no-repeat;
	font-size: 32px;
	padding: 0 2em;
}
.title-sub {
	position: relative;
	text-align: center;
	font-family: sans-serif;
	color: #ccc;
	padding: 0;
}
.title-sub:before {
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #ccc;
}
.title-sub  span {
	position: relative;
	background-color: #fff;
	font-size: 22px;
	padding: 0 2em;
}
.title-circle-green,
.title-circle-green2 {
	background-image: url(img/icon-h.png);
	background-size: 1em;
	background-repeat: no-repeat;
	font-size: 38px;
	font-weight: bold;
	color: #00c983;
	letter-spacing: 2px;
}
.title-circle-green {
	background-position: center left;
	padding: 0 0 0 2em;
}
.title-circle-green2 {
	text-align: left;
	background-position: center right;
	padding: 0;
}
.title-large-green {
	text-align: center;
	font-size: 72px;
	font-weight: bold;
	color: #00C983;
}
.title-bg-green {
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	color: #fff;
	background-color: #00C983;
	padding: 8px 1em;
}
.title-mid-border {
	position: relative;
	text-align: right;
	font-size: 20px;
	font-weight: bold;
	color: #000;
}
.title-mid-border::before {
	content: "";
	width: calc(100% - 7.5em);
	height: 2px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	background-color: #000;
}
.list-border {
	display: flex;
	flex-wrap: wrap;
	font-family: sans-serif;
	margin: 0;
}
.list,
.list li {
	padding: 0;
	margin: 0;
	list-style-type: none;
}
.list-border dt,
.list-border dd {
	border-bottom: 2px solid #ddd;
	font-size: 15px;
	color: #000;
}
.list-border dt {
	width: 192px;
	font-weight: bold;
	padding: 16px 0 16px 16px;
	margin: 0;
}
.list-border dd {
	width: 908px;
	padding: 16px 0;
	margin: 0;
}
.list-colum {
	justify-content: space-between;
	align-items: flex-start;
}
.title-borderbox {
	font-size: 26px;
	border: 2px solid #000;
	text-align: center;
	padding: 0.5em 0;
	margin: 0;
}
.list-colum .title-borderbox {
	width: 27%;
}
.list-colum .list-text {
	width: 70%;
	margin: 0 0 32px 0;
}
.hr-bk {
	display: block;
	width: 100%;
	height: 2px;
	background-color: #000;
	line-height: 1;
}
.btn {
	display: block;
	text-align: center;
	width: 10em;
	background: linear-gradient(90deg, rgba(0,206,143,1) 0%, rgba(4,157,157,1) 100%);	
	border-radius: 8px;
	border: 2px solid rgba(255,255,255,1);
	font-family: sans-serif;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	padding: 16px 0;
	/*margin: 0 auto;	*/
}
.btn-center {
	margin: 0 auto;
}
.btn:hover {
	background: #fff;
	border: 2px solid rgba(0,206,143,1);
	color: #00C983;
}

/*----- header -----*/
.site-header {
	position: fixed;
	top: 0;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	background-color: #00C983;
	padding: 22px;
	margin: 0 auto;
	transition: all 0.5s 0s ease;
	z-index: 10000;
}
.front-page .site-header {
	background-color: rgba(255,255,255,0);
}
.site-header.header-scrolled {
	background-color: #00C983;
}
.site-header .header-logo {
	display: block;
	width: 163px;
}
.site-header .header-menu {
	display: block;
	padding: 0;
	margin: 0 0 0 auto;
}
.site-header .header-menu ul {
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.site-header .header-menu ul li {
	list-style-type: none;
	padding: 6px 0;
	margin: 0 2em 0 0;
}
.site-header .header-menu ul li:last-of-type {
	margin-left: 0;
}
.site-header .header-menu	ul li a,
.site-header .header-menu-sp ul li a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color: #fff;
	font-family: sans-serif;
	font-weight: bold;
	font-size: 15px;
}
.site-header .header-menu	ul li a::after,
.site-header .header-menu-sp ul li a::after {
	content: '';
	width: 0;
	position: absolute;
	bottom: 0;
	z-index: -1;
	height: 100%;
	-webkit-transition: width 0.5s;
	transition: width 0.5s;
	left: 0;
	border-bottom: 1px solid #fff;
}
.site-header .header-menu	ul li a:hover,
.site-header .header-menu-sp ul li a:hover {
	text-decoration: none;
}
.site-header .header-menu	ul li a:hover::after,
.site-header .header-menu-sp ul li a:hover::after {
	width: 100%;
}
.site-header #menu-icon {
	display: none;
	cursor: pointer;
	position: absolute;
	right: 20px;
	top: 22px;
	width: 30px;
	height: 30px;
	background-image: url(img/menu-icon.png);
	background-size: cover;
	margin: 0;
	padding: 0;
	z-index: 10000;
}
.site-header .active#menu-icon {
	background-image: url(img/menu-icon2.png);
}
.site-header .header-menu-sp {
	display: none;
}


.breadcrumb-area {
	width: 100%;
	background-color: #f7f7f7;
	margin: 0 0 64px 0;
}
.breadcrumb {
	width: 1100px;
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	padding: 16px 0;
	margin: 0 auto;
}
.breadcrumb li {
	list-style-type: none;
	font-family: sans-serif;
	font-size: 12px;
	color: #000;
	line-height: 1.2;
	letter-spacing: 1px;
	padding: 0 0.5em 0 0;
	margin: 0;
}
.breadcrumb li::after {
	content: '>';
	padding-left: 0.5em;
}
.breadcrumb li:last-of-type::after {
	content: '';
	padding-left: 0;
}
.breadcrumb ol li a {
	line-height: 1.2;
	font-size: 12px;
	color: #00C983;
}


/*----- footer -----*/
footer {
	width: 100%;
	background-color: #606060;
	padding: 64px 0 32px 0;
	margin: 0;
}
footer .footer-menu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style-type: none;
	padding: 0;
	margin: 0 0 16px 0;
}
footer .footer-menu ul li {
	list-style-type: none;
	padding: 0;
	margin: 0 2em 0 0 ;
}
footer .footer-menu ul li:last-of-type {
	margin-left: 0;
}
footer .footer-menu ul li a {
	font-family: sans-serif;
	text-decoration: none;
	color: #fff;
	font-weight: bold;
	font-size: 15px;
}
footer .footer-menu ul li a:hover {
	text-decoration: none;
	color: #00C983;
}
.footer-comlist {
	width: 100%;
	padding: 16px 0 2em 0;
}
.footer-comlist ul {
	display: flex;
	justify-content: center;
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.footer-comlist ul li {
	padding: 0 1em;
	margin: 0;
}
.footer-comlist ul li:last-of-type {
	border-right: none;
}
.footer-comlist ul li a {
	color: #fff;
	font-family: sans-serif;
	font-size: 15px;
	font-weight: bold;
}
.footer-comlist ul li a:hover {
	color: #00C983;
}
footer .footer-logo {
	width: 80px;
	margin: 0;
}
footer .copyright {
	font-size: 11px;
	color: #fff;
}

/*----- TOP -----*/
.front-page .content-area {
	padding-top: 0;
}
.front-page main {
	width: 100%;
	padding: 0;
	margin: 0;
}
.top-slider {
	position: relative;
}
.slider {
	padding: 0;
	margin: 0;
}
.slider li {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 100vh;
	margin: 0;
}
.slider .img01 { background-image: url(img/slider1.jpg); }
.slider .img02 { background-image: url(img/slider2.jpg); }
.slider .img03 { background-image: url(img/slider3.jpg); }
.slider .slick-dots {
	bottom: 4%;
	z-index: +1;
}
.top-slider-cont {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100vh;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: +1;
	margin: auto;
}
.top-slider-logo {
	display: block;
	width: 352px;
	margin: 0 auto 32px auto;
}
.top-slider-text {
	text-align: center;
	font-size: 22px;
	color: #fff;
}
.front-page .title-large-green {
	text-shadow: 3px 3px 6px rgba(0,0,0,0.2);
}
.section1,
.section2,
.section3 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 1440px;
	padding: 64px;
	margin: 0 auto;
}
.section1 {
	position: relative;
	background: linear-gradient(-90deg, rgba(236,244,238,1) 80%, rgba(255,255,255,1) 80%);
}
.section1::before {
	content: "";
	position: absolute;
	width: 8px;
	height: 96px;
	top: -48px;
	left: 128px;
	background-color: #00C983;
	z-index: 1000;
}
.section1::after {
	content: "";
	position: absolute;
	width: 8px;
	height: 96px;
	bottom: -64px;
	right: 80px;
	background-color: #00C983;
	z-index: 1000;
}
.section1 .left {
	width: 42%;
	padding: 0 0 0 4%;
	margin: 0 3% 0 0 ;
}
.section1 .left > div {
	padding: 0 0 0 5em;
}
.section1 .right,
.section3 .right {
	width: 55%;
}
.section2 {
	position: relative;
	background-color: #fff;
	padding-bottom: 128px;
}
.section2::after {
	content: "";
	position: absolute;
	width: 8px;
	height: 96px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	background-color: #00C983;
	z-index: 1000;
}
.section2 .left {
	width: 40%;
	margin: 0 5% 0 0;
}
.section2 .right {
	width: 50%;
}
.section2 .right div {
	padding: 0 3em 0 0;
}
.section3 {
	position: relative;
	background-color: #ECF4EE;
}
.section3::before {
	content: "";
	position: absolute;
	width: 36px;
	height: 36px;
	top: -18px;
	left: 0;
	right: 0;
	margin: 0 auto;
	background-image: url(img/icon-h.png);
	background-position: center;
	background-size: 100%;
	background-repeat: no-repeat;
	z-index: 1000;
}
.section3 .left {
	text-align: center;
	margin: 0 0 0 auto;
	width: 30%;
}
.section3 .left .btn {
	margin: 0 auto;
}

/*----- Company -----*/
.map > iframe {
	width: 100%;
	height: 420px;
}

/*----- Contact -----*/
.container {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-top: 100%;
}
.responsive-iframe {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* ---------- SP / PC Chenge Class ----------*/
@media only screen and (min-width: 750px) {
	.pc-item  { display: block; }
	.sp-item { display: none;  }
}
@media only screen and (max-width: 750px) {
	.pc-item  { display: none; }
	.sp-item { display: block;  }
}

/* ------------------------------ SP ------------------------------ */
@media only screen and (max-width: 750px) {
/*----- Page Layout -----*/
	main {
		width: 100%;
		padding: 0 4%;
		margin: 8% auto 16% auto;
	}

	/* ---------- common functions ----------*/
	.fs-72 { font-size: 8vw   !important; }
	.fs-48 { font-size: 4.8vw !important; }
	.fs-36 { font-size: 4.5vw !important; }
	.fs-32 { font-size: 4.4vw !important; }
	.fs-30 { font-size: 4.3vw !important; }
	.fs-28 { font-size: 4.0vw !important; }
	.fs-26 { font-size: 3.8vw !important; }
	.fs-24 { font-size: 3.1vw !important; }
	.fs-22 { font-size: 2.8vw !important; }
	.fs-20 { font-size: 2.6vw !important; }
	.fs-18 { font-size: 2.4vw !important; }
	.fs-16 { font-size: 2.2vw !important; }
	.fs-14 { font-size: 2vw   !important; }
	.fs-12 { font-size: 1.8vw !important; }

	.mb-8p  { margin-bottom: 2% !important; }
	.mb-16p { margin-bottom: 4% !important; }
	.mb-24p { margin-bottom: 6% !important; }
	.mb-32p { margin-bottom: 8% !important; }
	.mb-40p { margin-bottom: 10% !important; }
	.mb-48p { margin-bottom: 12% !important; }
	.mb-64p { margin-bottom: 16% !important; }
	.mb-96p { margin-bottom: 24% !important; }
	.mb-0   { margin-bottom: 0 !important; }

	/*----- SP : Common Items -----*/
	.title-main > span {
		font-size: 4.4vw;
	}
	.title-sub  span {
		font-size: 2.8vw;
	}
	.title-circle-green,
	.title-circle-green2 {
		font-size: 4.6vw;
	}
	.title-large-green {
		font-size: 8vw;
	}
	.title-bg-green {
		font-size: 2.8vw;
	}
	.title-mid-border {
		font-size: 2.6vw;
	}
	.list-border dt,
	.list-border dd {
		font-size: 3vw;
	}
	.list-border dt {
		width: 100%;
		padding: 0 0 4px 0;
		border-bottom: none;
	}
	.list-border dd {
		width: 100%;
		padding: 0 0 12px 0;
		margin: 0 0 12px 0;
	}
	.title-borderbox {
		font-size: 3.8vw;
	}
	.list-colum {
		flex-flow: column;
	}
	.list-colum .title-borderbox {
		width: 60%;
		margin: 0 auto 4% auto;
	}
	.list-colum .list-text {
		width: 100%;
		margin: 0 0 8% 0;
	}
	.btn {
		font-size: 2.8vw;
		padding: 4% 0;
	}

	/*----- SP : header -----*/
	header {
		padding: 4%;
	}
	.site-header .header-menu {
		display: none;
	}
	.site-header .header-menu-sp {
		display: none;
		position: fixed;
		width: 100%;
		height: 100vh;
		background-color: #00C983;
		top: 0px;
		left: 0px;
		margin: 0px;
	}
	.site-header .header-menu-sp ul {
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%); /* Safari用 */
		transform: translate(-50%, -50%);
	}
	.site-header .header-menu-sp ul li {
		text-align: center;
		list-style-type: none;
		width: 100%;
		padding: 0;
		margin: 0 0 4% 0;
	}
	.site-header .header-menu-sp ul li:last-of-type {
		margin-bottom: 0;
	}
	.site-header .header-menu-sp ul li a {
		font-size: 3vw;
	}
	.site-header #menu-icon {
		display: block;
	}

	.breadcrumb-area {
		width: 100%;
		margin: 0 auto 8% auto;
	}
	.breadcrumb {
		width: 100%;
		padding: 2% 4%;
	}
	.breadcrumb li a {
		font-size: 2.2vw;
	}

	/*----- SP : footer -----*/
	footer {
		padding: 10% 0 6% 0;
		margin: 0;
	}
	footer .footer-menu ul {
		flex-flow: column;
		margin: 0;
	}
	footer .footer-menu ul li {
		text-align: center;
		margin: 0 0 4% 0;
	}
	footer .footer-menu ul li a {
		font-size: 2.2vw;
	}
	footer .footer-logo {
		width: 17%;
		margin: 0 0 4% 0;
	}
	.footer-comlist {
		padding: 0 0 6% 0;
	}
	.footer-comlist ul {
		flex-wrap: wrap;
	}
	.footer-comlist ul li {
		width: 100%;
		text-align: center;
		margin: 0 0 4% 0;
	}
	.footer-comlist ul li:last-of-type {
		margin-bottom: 0;
	}
	.footer-comlist ul li a {
		font-size: 2.2vw;
	}
	footer .copyright {
		font-size: 2vw;
	}

	/*----- SP : top -----*/
	.front-page .bg-green2-r {
		background: #fff;
		padding: 8% 0 0 0;
	}
	.front-page .title-large-green {
		width: 80%;
		text-align: left;
		font-size: 16vw;
		line-height: 1;
	}
	.front-page .title-bg-green {
		font-size: 5.5vw;
	}
	.top-slider-logo {
		width: 50%;
		margin: 0 auto 4% auto;
	}
	.top-slider-text {
		text-align: left;
		font-size: 5vw
	}
	.section1 {
		padding: 0;
		flex-wrap: wrap;
		background: linear-gradient(-90deg, rgba(236,244,238,1) 72%, rgba(255,255,255,1) 72%); 
	}
	.section1::before {
		top: calc(-40px - 8%);
		left: 5.25vw;
		height: 80px;
	}
	.section1::after {
		right: 5.25vw;
		height: 80px;
		bottom: -40px;
	}
	.section1 .left {
		width: 100%;
		padding: 0 0 8% 4%;
		margin: 0;
	}
	.section1 .left .title-circle-green {
		padding: 0 0 0 1.5em;
	}
	.section1 .left .title-mid-border {
		text-align: left;
	}
	.section1 .left .title-mid-border::before {
		position: static;
		display: block;
		width: 100%;
		margin: 0 0 16px 0;
	}
	.section1 .left .btn {
		margin: 0 auto;
	}
	.section1 .left > div {
		padding: 0 10%;
	}
	.section1 .right {
		width: 100%;
	}
	.section2 {
		flex-flow: column-reverse;
		padding: 12% 0 20% 0;
	}
	.section2 .left {
		width: 100%;
		padding: 0;
		margin: 0;
	}
	.section2 .right {
		width: 100%;
		text-align: center;
		padding: 0 4% 6% 4%;
	}
	.section2 .right .title-circle-green2 {
		text-align: right;
		padding: 0 8% 0 0;
	}
	.section2 .right div {
		padding: 0 8%;
	}
	.section2 .right .btn {
		margin: 0 auto;
	}
	.section3 {
		padding: 16% 0;
		flex-wrap: wrap;
	}
	.section3 .left,
	.section3 .right {
		width: 100%;
	}
	.section3 .left {
		padding: 0 4%;
		margin: 0 0 8% 0;
	}

}