@charset "utf-8";
/*-----------------------------------------------
 *  body
 *  ヘッダー
 *  メニュー
 *  フッター
 *  コンテンツ
 *  タイトル
 *  背景
 *  HOME
 -----------------------------------------------*/

body {
	color: #121212;	
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
}

a {color:#005032;}
a.txtLink01 {
	color: #121212;
	transition: .4s;
}
a.txtLink01:hover {
	color: #c0758e;	
}

@keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}

/*pc */
@media print, screen and (min-width: 768px) {
	body {padding-top: 0;}
	.wrap {
    	width: 900px;
		padding: 15px;
    	margin: 0 auto;
	}
	.wrapTop0 {
    	width: 900px;
		padding: 0 15px 15px;
    	margin: 0 auto;
	}
}

/* sp */
@media only screen and (max-width: 767px) {
	body{padding-top: 44px;}
	.wrap{
		width: 100%;
		margin: 0 auto;
		padding: 15px 10px;
		background: url("../images/topBg.png") repeat-y;
	}
}

/*-----------------------------------------------
 *  ヘッダー
 -----------------------------------------------*/
header {
	width: 100%;
}
header.bg {
		background: url("../images/headerBg.png") repeat-x #fff bottom left;
	}

/*pc */
@media print, screen and (min-width: 768px) {
	body, html {min-width: 940px;}
	html {overflow: auto;}
	header {
		position: relative;
		padding: 20px 0 32px;
	}
	.header_inner {
		width: 900px;
		margin: 0 auto;
		background: #fff;
	}
	.logo {
		width: 462px;
		height: 76px;
		margin-top: 6px;
		float: left;
		transition: .4s;
	}
	.header_tel {
		margin-top: 4px;
		transition: .4s;
	}
}
	
/* sp */
@media only screen and (max-width: 767px) {
	header {
		position: fixed;
		z-index: 200;
		top: 0px;
		width: 100%;
		height: 90px;
	}
	.logo {
		width: 420px;
		margin-top: 10px;
		margin-left: 1%;
		float: left;
	}
	button.drawer-hamburger,
	button.drawer-hamburger a:hover {
		background: #005032 !important;
	}
	nav li a span.crimson {
		font-size: 24px;	
		line-height: 1.0em;
	}
	nav li a span.ruby {
		font-size: 13px;
		display: block;
	}
	nav li{
		margin: 0 10px;
		text-align: center;
	}
	nav li.navi {
		width: 92%;
		border-bottom: 1px solid #a8a19f;
		padding: 10px 0;
	}
	.drawer-dropdown-menu li {
		margin: 0px;	
	}
	header.is-animation nav li.navi {
		margin: 0px;
	}
}
	
@media only screen and (max-width: 640px) {
	header {
		height: 85px;
	}
	.logo {
		max-width: 395px;
		margin-top: 10px;
		margin-left: 1%;
		float: left;
	}
}

@media only screen and (max-width: 480px) {
	header {
		height: 70px;
	}
	.logo {
		width: 80%;
		margin-top: 2%;
		margin-left: 1%;
		float: left;
	}
}

/*-----------------------------------------------
 *  メニュー
 -----------------------------------------------*/
nav.drawer-nav {
	display: block !important;
	margin: 10px 0;
}
nav li {
	float: left;
	text-align: center;
	margin-right: 7px;
	transition: .4s;
}
nav li:last-child {
	margin-right: 0;
}
nav li a.drawer-menu-item {
	color: #fff;
}
nav li a:hover.drawer-menu-item {
	color: #d2d2d3;	
}
nav li a span.crimson {
	font-size: 22px;	
	line-height: 1.0em;
}
nav li a span.ruby {
	font-size: 10px;
	display: block;
}
.drawer-dropdown{
	position: relative;	
}
nav li.drawer-dropdown ul.drawer-dropdown-menu {
	opacity: 0;
	visibility: hidden;
	transition: .4s;
	list-style: none;
	position: absolute;
	z-index: 9999;
	top: 50%;
	left: -100%;
	margin: 0;
	padding: 0;
	background-color: rgba(192,117,142,0.6);
	width: 13em;
}
nav li.drawer-dropdown:hover .drawer-dropdown-menu {
	top: 110%;
	visibility: visible;
	opacity: 1;
}
/*pc */
@media print, screen and (min-width: 768px){
	nav.drawer-nav {
		width: 900px;
		margin: 10px 0 20px;
	}
	nav li.navi01 {
		background: url("../images/navi01R.png")no-repeat;
		background-size: 174px 70px;
	}
	nav li.navi02 {
		background: url("../images/navi02R.png")no-repeat;
		background-size: 174px 70px;
	}
	nav li.navi03 {
		background: url("../images/navi03R.png")no-repeat;
		background-size: 174px 70px;
	}
	nav li.navi04 {
		background: url("../images/navi04R.png")no-repeat;
		background-size: 174px 70px;
	}
	nav li.navi05 {
		background: url("../images/navi05R.png")no-repeat;
		background-size: 174px 70px;
	}
	nav li.navi01 a, nav li.navi02 a, nav li.navi03 a, nav li.navi04 a, nav li.navi05 a {
  		display: block;
	}
	nav li.navi01 a img, nav li.navi02 a img, nav li.navi03 a img, nav li.navi04 a img, nav li.navi05 a img {
  		width: 174px;
  		height: 70px;
	}
	nav li.navi01 a:hover img, nav li.navi02 a:hover img, nav li.navi03 a:hover img, nav li.navi04 a:hover img, nav li.navi05 a:hover img {
  		opacity: 0.3;
	}
	
/* スクロール後のメニュー */
	header.is-animation nav li.navi{
		margin: 10px 0;
	}
	header.is-animation .logo{
		width: 100px;
		margin-top: 10px;
		margin-left: 1%;
		float: left;
	}
}

/* **ボタン・テキストリンク************* */
.btn a {
	border: 3px solid #e60517;
	text-align: center;
	display: block;
	transition: .4s;
	border-radius: 10px;
	color: #e60517;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
}
.btn a:hover {
	border: 3px solid #e60517;
	text-align: center;
	background: #fffbda;	
	display: block;
}
.mado span{
	position: relative;
	display: inline-block;
}
.mado span::after {
	content: " ";
	width: 12px;
	height: 12px;
	background: url(../images/icon-mado.png) no-repeat;
	background-size: 100%;
	position: absolute;
	top: 24%;
	right: -20px;
	transition: .4s;
}
.mado a:hover span::after {
	background: url(../images/icon-madoOn.png) no-repeat;
	background-size: 100%;
}

/*pc */
@media print, screen and (min-width: 768px){
	.btnL a {
		height: 80px;
		line-height: 80px;
		margin: 0 auto;
	}
	.btnM a {
		width: 220px;
		height: 45px;
		line-height: 45px;
		margin: 0 auto;
	}
	.btnS a {
		width: 110px;
		height: 30px;
		line-height: 30px;
		margin: 0 auto;
	}
}

/* sp */
@media only screen and (max-width: 767px) {
	.btnL a {
		width: 100%;
		padding: 20px 0;
		margin: 0 auto;
	}
	.btnM a {
		width: 70%;
		padding: 10px 0;
		margin: 0 auto;
	}
	.btnS a {
		width: 30%;
		padding: 3px 0 6px;
		margin: 0 auto;
		font-size: 14px;
	}	
}

/*-----------------------------------------------
 *  フッター
 -----------------------------------------------*/
.foot {
	background: #d2d2d3;
	color: #fff;
}
address {text-align: center;}


#forTop{
  width: 45px;
  height: 45px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #005032;
  opacity: 0.7;
}
#forTop a{
  position: relative;
  display: block;
  width: 45px;
  height: 45px;
  text-decoration: none;
	color: #fff;
	line-height: 1;
	text-align: center;
}
#forTop a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/*pc */
@media print, screen and (min-width: 768px) {
	.foot {
		padding: 6px 0;
	}
	address {
		font-size: 16px;
		font-family:'serif','メイリオ','Arial';
	}
	.footInner {position: relative;	}
	#forTop {
		position: fixed;
		bottom: 45px;
		right: 30px;
	}
}

/* sp */
@media only screen and (max-width: 767px) {
	.foot {padding: 8px 0 12px;}
	address {
		font-size: 14px;
		line-height: 1;
		font-family:'serif','メイリオ','Arial';
	}
	#forTop {
		position: fixed;
		bottom: 8px;
		right: 10px;
	}
	.logoBgSp {
		width: 100%;
		padding: 8px 0 5px;
		line-height: 1;
		background-color: #005032;
		text-align: center;
		margin-top: 46px;
		display: block;
	}
	.logoBgSp a {
		font-size: 20px;
		color: #fff;
	}
}

/*-----------------------------------------------
 *  コンテンツ
 -----------------------------------------------*/
.infoBox {
	border: solid #c8c5c4 1px;
}
hr {
	height: 0;
	line-height: 0;
	padding-bottom: 8px;
	margin-bottom: 15px;
	border: none;
	text-align: left;
	background: url("../images/line_ten.png") repeat-x left bottom;
}

/*-----------------------------------------------
 *  タイトル
 -----------------------------------------------*/
.titleBg {
	width: 100%;
	padding: 8px 15px 4px;
	font-size: 25px;
	line-height: 1;
	background-color: #005032;
	color: #fff;
	border-radius: 10px;
	box-shadow: 3px 3px 6px 0px #363636;
}
.titleBg-Lgreen {
	width: 96%;
	padding: 8px 0;
	margin-left: auto;
	margin-right: auto;
	font-size: 29px;
	line-height: 1;
	background-color: #009944;
	color: #fff;
	border-radius: 25px;
	text-align: center;
}
.subtitleBg {
	width: 100%;
	margin: 0;
	padding: 15px 0 2px 50px;
	color: #005032;
	line-height: 1;
	font-size: 27px;
	font-weight: bold;
	background: url("../images/title_icon.png") no-repeat left top;
}
.subtitle-gr {
	width: 40%;
	border: 2px solid #007440;
	text-align: center;
	display: block;
	transition: .4s;
	border-radius: 10px;
	color: #005032;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	padding: 8px 0 4px;
}

/*pc */
@media print, screen and (min-width: 768px) {
	.contentBox {
		width: 940px;
		margin: 0 auto;
		padding: 0 20px 20px;
	}
	.infoBox {
/*		width: 324px;*/
		height: 290px;
		padding: 5px;
	}
	.infoBox p {
		line-height: 1.4;
	}
	.titleBg60, .titleBg60Pc {
		width: 60%;
		padding: 8px 15px 4px;
		font-size: 25px;
		line-height: 1;
		background-color: #005032;
		color: #fff;
		border-radius: 10px;
		box-shadow: 3px 3px 6px 0px #363636;
	}

}

/* sp */
@media only screen and (max-width: 767px) {
	.contentBox {
		width: 100%;
		margin: 0 auto;
		padding: 12px 10px 20px;
	}
	.infoBox {
		padding: 10px;
	}
	.titleBg-red {
		width: 94%;
		padding: 6px 0 9px;
		margin: 0 auto;
		font-size: 19px;
		line-height: 1;
		background-color: #e60012;
		color: #fff;
		text-align: center;
		border-radius: 10px;
		box-shadow: 2px 2px 5px rgba(0,0,0,0.5), 0 -6px 5px -4px #380507 inset;
		transition: .3s;
	}
	.titleBg60, .titleBg60Sp {
		width: 60%;
		padding: 7px 10px;
		font-size: 18px;
		line-height: 1;
		background-color: #005032;
		color: #fff;
		border-radius: 10px;
		box-shadow: 3px 3px 6px 0px #363636;
		text-align: center;
	}
	.titleBg100, .titleBg100Sp {
		width: 100%;
		padding: 7px 0;
		font-size: 17px;
		line-height: 1;
		background-color: #005032;
		color: #fff;
		border-radius: 10px;
		box-shadow: 3px 3px 6px 0px #363636;
		text-align: center;
	}
	.subtitleBg {
		font-size: 18px;
		padding: 20px 0 6px 48px;
	}
	.subtitle-gr {
		width: 100%;
		font-size: 17px;
		padding: 6px 0;
	}
}

/*-----------------------------------------------
 *  背景
 -----------------------------------------------*/
.topBg {background: url("../images/topBg.png") repeat-y;}
.supportBg {background: url("../images/supportBg.png") repeat-y;}
.businessBg {background: url("../images/businessBg.png") repeat-y;}

/*-----------------------------------------------
 *  HOME
 -----------------------------------------------*/
ol.listNo {
	list-style-type: decimal;
}
table.gaiyou th, table.gaiyou td {
	padding-bottom: 0.5em;
}

/*pc */
@media print, screen and (min-width: 768px) {
	.mascotBg {
		background: url("../images/img-mascot.png") no-repeat right 5px;
	}
	ol.listNo li {
		margin-left: 35px;
		margin-bottom: 0.5em;
	}
}

/* sp */
@media only screen and (max-width: 767px) {
	.mascotBg {
		background: url("../images/img-mascot.png") no-repeat right top;
		background-size: 30%;
	}
	ol.listNo li {
		margin-left: 1.8em;
		margin-bottom: 0.5em;
}
	table.gaiyou th {
		width: 6em;
	}
	.telBgSp {
		width: 100%;
		padding: 8px 0 5px;
		line-height: 1;
		background-color: #005032;
		text-align: center;
		margin-top: 46px;
		display: block;
	}
	.telBgSp a {
		font-size: 16px;
		color: #fff;
	}
	.head_iconTel {
		padding-left: 34px;
		background: url("../images/tel_iconWh.png") no-repeat 10px 0;
		background-size: 21px;
		line-height: 1;
	}
}

@media only screen and (max-width: 640px) {
	.telBgSp {
		margin-top: 40px;
	}
}
	
@media only screen and (max-width: 480px) {
	.telBgSp {
		margin-top: 25px;
	}
}

/*-----------------------------------------------
 *  待遇・福利厚生
 -----------------------------------------------*/
.shikaku dl {
  	width: 100%;
  	overflow: hidden;
  	border-top: none;
}
.shikaku dt {
  	width: 50%;
  	float: left;
  	padding: 0px 10px 0px;
  	box-sizing: border-box;
	font-weight: bold;
	font-size: medium;
}
.shikaku dd {
  	margin-left: 50%;
  	padding: 0px 10px 0px;
	font-size: medium;
	margin-top: -80px;
}
.shikaku dd:after{
  	display: block;
  	content: "";
  	clear: both;
}

/*pc */
@media print, screen and (min-width: 768px) {
	.shikaku dl {margin-left: 25px;}
}

/* sp */
@media only screen and (max-width: 767px) {
	.shikaku dt {
  		width: 19em;
	}
	.shikaku dd {
  		margin-left: 19em;
	}
}
@media only screen and (max-width: 640px) {
	.shikaku dt {
    	width: 100%;
    	float: none;
		padding: 0 0 5px 10px;
		margin-top: 0px;

  	}
	.shikaku dd {
    	margin-left: auto;
    	border-left: none;
		font-weight: normal;
		/*padding: 0 0 15px 1.5em;*/
		margin-top: 0px;
  	}
}

/*-----------------------------------------------
 *  お問い合わせ
 -----------------------------------------------*/
.contact dl{
  width: 100%;
  overflow: hidden;
  border: 1px solid #231815;
  border-top: none;
  background: #dadbdb;
}
.contact dt{
  width: 30%;
  float: left;
  padding: 8px 10px 7px;
  border-top: 1px solid #231815;
  box-sizing: border-box;
}
.contact dd{
  margin-left: 30%;
  padding: 10px 10px 5px;
  border-left: 1px solid #231815;
  border-top: 1px solid #231815;
  background: #fff;
}
.contact dd:after{
  display: block;
  content: "";
  clear: both;
}
.addressBtn a {
	width: 24%;
	padding: 5px;
	margin: 10px 0 6px 5px;
	text-align: center;
	display: block;
	transition: .4s;
	border-radius: 5px;
	color: #fff;
	line-height: 1;
	background-color: #a9aaaa;
	box-shadow: 0 -6px 5px -4px #666666 inset;
	transition: .3s;
}
.contact dd input.wS {
	width: 18%;
}
.contact select {
	font-size: 16px;
	padding: 1px 3px 5px;
}
.contact dd input,
.contact dd textarea {
	font-size: 16px;
	padding: 3px 5px;
}

.btn_soushin a {
	display: block;
}
.btn_soushin a:hover {
	opacity: 0.6; filter: brightness(110%); 
}


/*pc */
@media print, screen and (min-width: 768px) {
	.contact dd input.wL,
	.contact dd textarea {
		width: 80%;
	}
	.cont_btn {
		width: 55%;
		margin: 0 auto;
		padding-top: 25px;
	}
	.btn_soushin {
		width: 195px;
		margin: 0 auto;
	}
}

/* sp */
@media only screen and (max-width: 767px) {
	.contact dt{
    	width: 100%;
    	float: none;
		padding: 10px;
  	}
	.contact dd{
    	margin-left: auto;
    	border-left: none;
		padding: 10px;
  	}
	.contact dd input.wL,
	.contact dd textarea {
		width: 97%;
	}
	.addressBtn a {
		width: 40%;
		padding: 6px 0;
	}
	.cont_btn {
		width: 90%;
		margin: 0 auto;
		padding-top: 15px;
	}
	.btn_soushin {
		width: 45%;
		margin: 0 auto;
	}
}


.qr_border{
	border: 1px solid #000;
}
