@charset "UTF-8";
/* CSS Document */

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main,
summary,
time,
mark,
audio,
video,
a,
input,
textarea,
section {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	background: transparent;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
	display: block;
}

nav ul {
	list-style: none;
}

ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

pre,
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: inherit;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
	font-style: normal;
	font-weight: normal;
}

caption,
th {
	text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal
}

sup {
	vertical-align: text-top;
	font-size: 75%;
}

sub {
	vertical-align: text-bottom;
	font-size: 75%;
}

input,
textarea,
select {
	z-index: auto;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	vertical-align: middle;
}

a {
	outline: none;
}

audio:not([controls]) {
	display: none;
}

time {
	display: inline;
}

[hidden] {
	display: none;
}

input::-ms-clear,
input::-ms-reveal,
input:focus::-ms-clear,
input:focus::-ms-reveal {
	visibility: hidden;
	display: none;
}

button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="file"]>input[type="button"]::-moz-focus-inner {
	padding: 0;
	border: 0;
	outline: none;
}

/*==================================================== */
body {
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-family: 'Roboto', 'Droid Sans', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
	line-height: 1.8;
}

button {
	font-family: 'Roboto', 'Droid Sans', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
	cursor: pointer;
}

a:link {
	color: #333;
	text-decoration: none;
}

a:visited {
	color: #333;
	text-decoration: none;
}

a:hover {
	color: #ff9300;
	text-decoration: none;
}

a:active {
	color: #ff9300;
	text-decoration: none;
}

* {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.clr {
	clear: both;
}

.hide {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
}

section {
	clear: both;
	zoom: 1;
}

header:after,
footer:after,
nav:after,
article:after,
section:after,
.clrFx:after {
	content: '';
	clear: both;
	display: block;
}

img {
	-ms-interpolation-mode: bicubic;
}

/* chrome bug fix*/
* {
	max-height: 999999px;
}

*,
*::before,
*::after {
	will-change: all;
}

textarea,
input[type="email"],
input[type="password"],
input[type="text"],
input[type="button"],
input[type="submit"] {
	-webkit-appearance: none;
}

textarea {
	resize: vertical;
}

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px rgba(255, 255, 255, 1) inset;
	outline: none;
}

input,
button {
	outline: none;
}

/* BASE SET
__________________________________________________*/
html {
	overflow: visible;
}

body {
	position: static;
	overflow: auto;
	width: auto;
	*overflow-y: hidden;
	color: #333;
	background: #fff url(/images/common/bg_repeat.png) center repeat;
	font-variant-ligatures: none;
}

.mincho {
	font-family: 'Kozuka Mincho Pro', 'Kozuka Mincho Std', '小塚明朝 Pro R', '小塚明朝 Std R', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", 'Hiragino Mincho Pro', 'ヒラギノ明朝 Pro W3', 'ＭＳ Ｐ明朝', 'Times', 'Times New Roman', serif;
}

/* layout block */
header,
footer,
section,
main,
.fat-nav {
	font-size: 0;
}

header img,
footer img,
section img,
main img {
	width: 100%;
	height: auto;
}


/*
	for PC

*****************************************************/
@media screen and (min-width:641px) {

	.spbr {
		display: none;
	}

	.fat-nav {
		display: none;
	}

	/* header */
	header {
		background: #fff;
		border-top: 4px solid #66d226;
		padding: 7px 0 17px;
		position: relative;
		min-width: 1140px;
		z-index: 11;
	}

	header h1 {
		padding-left: 20px;
		float: left;
	}

	header h1 a {
		background: url(/images/common/h_logo.png) left top no-repeat;
		background-size: 100% auto;
		width: 180px;
		height: 83px;
		display: block;
	}

	header nav {
		float: right;
		padding: 49px 20px 0 0;
	}

	header nav p {
		border-left: 1px solid #727171;
		padding: 0 35px;
		float: left;
	}

	header nav p:last-child {
		border-right: 1px solid #727171;
	}

	header nav .nav01 a {
		background: url(/images/common/h_nav01.png) left top no-repeat;
		background-size: 100% auto;
		width: 46px;
		height: 28px;
		display: block;
	}

	header nav .nav01 a:hover {
		background: url(/images/common/h_nav01_ov.png) left top no-repeat;
		background-size: 100% auto;
	}

	header nav .nav02 a {
		background: url(/images/common/h_nav02.png) left top no-repeat;
		background-size: 100% auto;
		width: 130px;
		height: 26.5px;
		display: block;
	}

	header nav .nav02 a:hover {
		background: url(/images/common/h_nav02_ov.png) left top no-repeat;
		background-size: 100% auto;
	}

	header nav .nav03 a {
		background: url(/images/common/h_nav03.png) left top no-repeat;
		background-size: 100% auto;
		width: 128px;
		height: 28.5px;
		display: block;
	}

	header nav .nav03 a:hover {
		background: url(/images/common/h_nav03_ov.png) left top no-repeat;
		background-size: 100% auto;
	}

	header nav .nav04 a {
		background: url(/images/common/h_nav04.png) left top no-repeat;
		background-size: 100% auto;
		width: 94px;
		height: 28.5px;
		display: block;
	}

	header nav .nav04 a:hover {
		background: url(/images/common/h_nav04_ov.png) left top no-repeat;
		background-size: 100% auto;
	}

	header nav .nav05 a {
		background: url(/images/common/h_nav05.png) left top no-repeat;
		background-size: 100% auto;
		width: 74.5px;
		height: 29px;
		display: block;
	}

	header nav .nav05 a:hover {
		background: url(/images/common/h_nav05_ov.png) left top no-repeat;
		background-size: 100% auto;
	}

	#top header nav .nav01 a {
		background: url(/images/common/h_nav01_ov.png) left top no-repeat;
		background-size: 100% auto;
	}

	#aboutus header nav .nav02 a {
		background: url(/images/common/h_nav02_ov.png) left top no-repeat;
		background-size: 100% auto;
	}

	#service header nav .nav03 a {
		background: url(/images/common/h_nav03_ov.png) left top no-repeat;
		background-size: 100% auto;
	}

	#voice header nav .nav04 a {
		background: url(/images/common/h_nav04_ov.png) left top no-repeat;
		background-size: 100% auto;
	}

	#recruit header nav .nav05 a {
		background: url(/images/common/h_nav05_ov.png) left top no-repeat;
		background-size: 100% auto;
	}

	header .company_btn a {
		background: url("/images/common/h_btn_contact.png") left top no-repeat;
		width: 168px;
		height: 26px;
		display: block;
		position: absolute;
		top: 13px;
		right: 20px;
	}

	header .company_btn a:hover {
		opacity: 0.5;
	}

	/* main */
	main {
		min-width: 1140px;
	}

	main#contents_wrap #title {
		background: #66d226;
		width: 100%;
		height: 140px;
		padding-top: 35px;
	}

	/* footer */
	footer {
		background: #59be1d;
		color: #fff;
		min-width: 1140px;
	}

	footer .container01 {
		padding: 50px 0;
		border-bottom: 1px solid #fff;
	}

	footer .container01 .f_nav {
		text-align: center;
		position: relative;
		z-index: 11;
	}

	footer .container01 .f_nav li {
		display: inline-block;
		font-size: 15px;
		font-weight: bold;
		margin-right: 40px;
	}

	footer .container01 .f_nav li:last-child {
		margin-right: 0;
	}

	footer .container01 .f_nav li a:link,
	footer .container01 .f_nav li a:active,
	footer .container01 .f_nav li a:visited {
		color: #fff;
		text-decoration: none;
	}

	footer .container01 .f_nav li a:hover {
		text-decoration: underline;
	}

	footer .container01 .f_nav li a:before {
		content: url("/images/common/f_icon.png");
		display: inline-block;
		vertical-align: middle;
		-webkit-transform: scale(0.5);
		transform: scale(0.5);
	}

	footer .container01 .f_nav dl dd .service_list {
		font-size: 13px;
		line-height: 20px;
		width: 330px;
	}

	footer .container01 .f_nav dl dt {
		text-align: left;
	}

	footer .container01 .f_nav dl dd .service_list li {
		list-style: disc;
		float: left;
		text-align: left;
		margin-right: 0;
	}

	footer .container01 .f_nav dl dd .service_list li:nth-child(odd) {
		width: 130px;
	}

	footer .container01 .f_nav dl dd .service_list li:nth-child(even) {
		width: 200px;
	}

	footer .container01 .f_nav dl dd .service_list li a {
		font-size: 13px;
		line-height: 20px;
		font-weight: normal;
	}

	footer .container01 .f_nav dl dd .service_list li a:before {
		content: "・";
		display: inline-block;
		vertical-align: middle;
		font-weight: bold;
	}

	footer .container02 {
		text-align: center;
		padding: 50px 0;
	}

	footer .container02 h1 {
		width: 137px;
		margin: 0 auto;
	}

	footer .container02 dl {
		font-size: 15px;
		letter-spacing: 0.2em;
		padding: 10px;
	}

	footer .container02 dl dt {
		font-weight: bold;
		display: inline-block;
	}

	footer .container02 dl dt,
	footer .container02 dl dd {
		display: inline-block;
		padding-left: 4px;
	}

	footer .container02 .copyright {
		font-size: 13px;
	}
}


/*
	for SP

*****************************************************/
@media screen and (max-width:640px) {

	.pcbr {
		display: none;
	}

	/* header */
	header {
		background: #fff;
		border-top: 4px solid #59be1d;
		padding: 1.40625vw 3.125vw 2.65625vw;
	}

	header h1 a {
		background: url(/images/common/h_logo_sp.png) left top no-repeat;
		background-size: 29.84375vw auto;
		width: 29.84375vw;
		height: 13.28125vw;
		display: block;
	}

	/* menu */
	.hamburger {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 10.9375vw;
		height: 10.9375vw;
		background-color: #66d226;
		position: fixed;
		top: 3.4vw;
		right: 3.125vw;
		z-index: 10000;
		padding: 0;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-tap-highlight-color: transparent;
		-webkit-tap-highlight-color: transparent;
		-ms-touch-action: manipulation;
		touch-action: manipulation;
	}

	.hamburger__icon {
		position: relative;
		margin: 0;
	}

	.hamburger__icon,
	.hamburger__icon:before,
	.hamburger__icon:after {
		display: block;
		width: 7.8125vw;
		height: 0.625vw;
		background-color: #fff;
		-moz-transition-property: background-color, -moz-transform;
		-o-transition-property: background-color, -o-transform;
		-webkit-transition-property: background-color, -webkit-transform;
		transition-property: background-color, transform;
		-moz-transition-duration: 0.4s;
		-o-transition-duration: 0.4s;
		-webkit-transition-duration: 0.4s;
		transition-duration: 0.4s;
	}

	.hamburger__icon:before,
	.hamburger__icon:after {
		position: absolute;
		content: "";
	}

	.hamburger__icon:before {
		top: -2.2vw;
	}

	.hamburger__icon:after {
		top: 2.2vw;
	}

	.hamburger.active .hamburger__icon {
		background-color: transparent;
	}

	.hamburger.active .hamburger__icon:before,
	.hamburger.active .hamburger__icon:after {
		background-color: #fff;
	}

	.hamburger.active .hamburger__icon:before {
		-moz-transform: translateY(2.2vw) rotate(45deg);
		-ms-transform: translateY(2.2vw) rotate(45deg);
		-webkit-transform: translateY(2.2vw) rotate(45deg);
		transform: translateY(2.2vw) rotate(45deg);
	}

	.hamburger.active .hamburger__icon:after {
		-moz-transform: translateY(-2.2vw) rotate(-45deg);
		-ms-transform: translateY(-2.2vw) rotate(-45deg);
		-webkit-transform: translateY(-2.2vw) rotate(-45deg);
		transform: translateY(-2.2vw) rotate(-45deg);
	}

	.fat-nav {
		top: 0;
		left: 0;
		z-index: 9999;
		position: fixed;
		display: none;
		width: 100%;
		height: 100%;
		background: rgba(255, 255, 255, 1);
		-moz-transform: scale(1.4);
		-ms-transform: scale(1.4);
		-webkit-transform: scale(1.4);
		transform: scale(1.4);
		-moz-transition-property: -moz-transform;
		-o-transition-property: -o-transform;
		-webkit-transition-property: -webkit-transform;
		transition-property: transform;
		-moz-transition-duration: 0.4s;
		-o-transition-duration: 0.4s;
		-webkit-transition-duration: 0.4s;
		transition-duration: 0.4s;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
	}

	.fat-nav.active {
		display: block;
	}

	/* When menu is open, lock body scroll (modern browsers) */
	body:has(.fat-nav.active) {
		overflow: hidden;
	}

	/* iOS specific smoothing without JS */
	@supports (-webkit-touch-callout: none) {
		.fat-nav.active>* {
			height: 110%;
			transform: translateY(-5%);
		}
	}

	.fat-nav__wrapper {
		width: 100%;
		height: 100%;
		table-layout: fixed;
	}

	.fat-nav.active {
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	.fat-nav h1 {
		padding: 12.125vw 0 2.34375vw 2.03125vw;
	}

	.fat-nav h1 a {
		background: url(/images/common/h_logo_sp.png) left top no-repeat;
		background-size: 29.84375vw auto;
		width: 29.84375vw;
		height: 13.28125vw;
		display: block;
	}

	.fat-nav nav {
		width: 100vw;
		display: table-cell;
		vertical-align: middle;
		margin: 0;
		padding: 0;
	}

	.fat-nav nav p {
		font-size: 0;
		border-bottom: 0.3125vw solid #f4a944;
	}

	.fat-nav nav p:first-child {
		border-top: 0.3125vw solid #f4a944;
	}

	.fat-nav nav p a {
		width: 100vw;
		height: 21.875vw;
		display: block;
	}

	.fat-nav nav .nav01 a {
		background: url(/images/common/sp_menu01.png) center no-repeat;
		background-size: 100vw auto;
	}

	.fat-nav nav .nav01 a:active {
		opacity: 0.7;
	}

	.fat-nav nav .nav02 a {
		background: url(/images/common/sp_menu02.png) center no-repeat;
		background-size: 100vw auto;
	}

	.fat-nav nav .nav02 a:active {
		opacity: 0.7;
	}

	.fat-nav nav .nav03 a {
		background: url(/images/common/sp_menu03.png) center no-repeat;
		background-size: 100vw auto;
	}

	.fat-nav nav .nav03 a:active {
		opacity: 0.7;
	}

	.fat-nav nav .nav04 a {
		background: url(/images/common/sp_menu04.png) center no-repeat;
		background-size: 100vw auto;
	}

	.fat-nav nav .nav04 a:active {
		opacity: 0.7;
	}

	.fat-nav nav .nav05 a {
		background: url(/images/common/sp_menu05.png) center no-repeat;
		background-size: 100vw auto;
	}

	.fat-nav nav .nav05 a:active {
		opacity: 0.7;
	}

	#top .fat-nav nav .nav01 a {
		background: url(/images/common/sp_menu01_ov.png) center no-repeat;
		background-size: 100vw auto;
	}

	#aboutus .fat-nav nav .nav02 a {
		background: url(/images/common/sp_menu02_ov.png) center no-repeat;
		background-size: 100vw auto;
	}

	#service .fat-nav nav .nav03 a {
		background: url(/images/common/sp_menu03_ov.png) center no-repeat;
		background-size: 100vw auto;
	}

	#voice .fat-nav nav .nav04 a {
		background: url(/images/common/sp_menu04_ov.png) center no-repeat;
		background-size: 100vw auto;
	}

	#recruit .fat-nav nav .nav05 a {
		background: url(/images/common/sp_menu05_ov.png) center no-repeat;
		background-size: 100vw auto;
	}

	.fat-nav .company_btn a {
		background: url("/images/common/sp_menu_contact.png") top center no-repeat;
		background-size: 93.75vw auto;
		width: 93.75vw;
		height: 14.0625vw;
		display: block;
		margin: 7.03125vw auto;
	}

	.fat-nav .company_btn a:active {
		opacity: 0.7;
	}

	/* main */
	main#contents_wrap #title {
		background: #66d226;
		width: 100%;
		height: 21.875vw;
		padding-top: 5.15625vw;
	}

	#company main#contents_wrap #title {
		background: #4bb60b;
	}

	/* footer */
	footer {
		background: #59be1d;
		color: #fff;
		text-align: center;
		padding: 7.8125vw 0;
	}

	footer h1 {
		width: 31.25vw;
		margin: 0 auto;
	}

	footer .container02 dl {
		font-size: 3.125vw;
		letter-spacing: 0.1em;
		padding: 3.125vw 0;
	}

	footer .container02 dl dt {
		font-weight: bold;
	}

	footer .copyright {
		font-size: 3.125vw;
	}
}
