@charset "UTF-8";

/*======================================
	base
=======================================*/
* {
	margin: 0;
	padding: 0;
	line-height: 1.6;
	font-family: '游ゴシック体','Yu Gothic',YuGothic,'メイリオ','ヒラギノ角ゴシック Pro','Hiragino Kaku Gothic Pro',Meiryo,Osaka,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
body {
	margin: 0;
	padding: 0;
	background-color: #fff;
	font-size: 16.5px;
	color: #333;
	min-width: 320px; /* 320px以下縮小 */
}

a:link, a:visited {
	color: #000;
	text-decoration: none;
}
a:hover {
	color: blue;
	text-decoration: underline;
}
a img {
	border: 0;
}
a:hover img {
	opacity: 0.7;
}
ul,ol,dl {
	list-style-type: none;
}
div,p,form,h1,h2,h3,h4 {
	margin: 0;
	padding: 0;
}
main {
	display: block;
}
hr {
	/*
	display: none;
	*/
	margin: 0.5em 0 1em;
}
strong * {
	font-weight: bold;
}
strile * {
	text-decoration: line-through;
}
b {
	font-weight: bold;
}
img {
	max-width: 100%;
	vertical-align: top;
}
br{
	line-height: 1.5;
}

/* 全体幅 */
#header, #contents, #gmenu, #footer {
	max-width: 1080px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* 個別指定 全体幅 */
.content_wrap{
	max-width: 1080px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 0 30px;
}

/* コンテンツ内側寄せ */
.main_wrap{
	padding: 0 30px;
}

/* セクション毎 */
.chapter_wrap{
	padding-bottom: 60px;
}

@media screen and (max-width:768px) {
	/* 個別指定 全体幅 */
	.content_wrap{
		padding-left: 15px;
		padding-right: 15px;
	}
	/* コンテンツ内側寄せ */
	.main_wrap{
		padding-left: 15px;
		padding-right: 15px;
	}
}


/*======================================
	clearfix
=======================================*/
.clearfix:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.clearfix{
	zoom:1;
}


/*======================================
	ヘッダー フッター
=======================================*/
/* ヘッダー */
#header_wrap{
	border-top: solid 5px #52a533;
	padding-bottom: 15px;
	border-bottom: solid 1px #dcdddd;
}
#header{
	padding-top: 15px;
	position: relative;
}
#hd_logo{
	float: left;
	clear: left;
}
#hd_info{
	float: right;
	max-width: 350px;
	width: 100%;
	padding-top: 8px;
}
#hd_info .img{
	margin-bottom: 5px;
	text-align: right;
}
#hd_info ul{
	float: right;
}
#hd_info ul li{
	background: url(../img/common/mk.png) no-repeat;
	background-position-x: 0px;
	background-position-y: 3px;
	padding-left: 25px;
	margin-right: 20px;
	float: left;
}
#hd_info ul li:last-child{
	margin-right: 0;
}
#hd_inquiry, #hd_link{
	background: url(../img/common/mk.png) no-repeat;
	background-position-x: 0px;
	background-position-y: 3px;
	padding-left: 25px;
}
/* #hd_inquiry{
	float: right;
} */
/*
#hd_link{
	float: right;
}
*/
#btn_sp_menu{
	display: none;
}

/* フッター */
#footer_wrap{
	background-color: #e9e9e9;
	border-top: solid 3px #b4b4b5;
	position: relative;
}
#footer{
	padding-top: 20px;
	padding-bottom: 20px;
}
#footer_info{
	float: left;
}
#footer_menu{
	float: right;
	text-align: right;
	font-size: 92%;
}
.ft_menu{
	display: inline-block;
	vertical-align: top;
	text-align: left;
	margin-right: 20px;
}
#footer_menu .list1 li, #footer_menu .title{
	background: url(../img/common/mk_m.png) no-repeat;
	background-position-y: 6px;
	font-weight: bold;
}
#footer_menu .list2 li{
	background: url(../img/common/mk_g.png) no-repeat;
	background-position-y: 7px;
}
#footer_menu .list1 li, #footer_menu .list2 li, #footer_menu .title{
  background-position-x: 0px;
	padding-left: 10px;
	margin-bottom: 5px;
}
#ft_menu_4.ft_menu{
	margin-right: 0;
}
#footer_info img{
	margin-bottom: 13px;
}
p#ft_number{
	font-size: 120%;
	font-weight: bold;
	margin-top: 5px;
}
p#ft_number > a{
	color: #333;
}
p.ft_mail {
  margin-top: 6px;
	width: 215px;
}

/* pagetop */
#pagetop {
	position: absolute;
  top: 23px;
  right: 17px;
  width: 100%;
}
#pagetop a {
	display: inline-block;
	position: absolute;
	right: -10px;
	top: -60px;
}

@media screen and (max-width:950px) {
	/* フッター */
	.ft_menu{
		margin-right: 2%;
	}
	.ft_address > span{
		display: block;
	}
	#footer_info{
		max-width: 300px;
		width: 29%;
		margin-right: 3%;
	}
	#footer_menu{
		max-width: 100%;
		width : -webkit-calc(100% - 32%) ;
	  width : calc(100% - 32%);
	}
	#ft_menu_1{
		width: 23.75%;
	}
	#ft_menu_2{
		width: 20%;
	}
	#ft_menu_3{
		width: 23.75%;
	}
	#ft_menu_4{
		width: 22.5%;
	}

	/* pagetop */
	#pagetop a {
		right: 0;
	}
}

@media screen and (max-width:850px) {
	#hd_info{
		max-width: 310px;
		font-size: 90%;
	}
	#hd_info ul li{
		margin-right: 10px;
	}
}

@media screen and (max-width:768px) {
	/* ヘッダー */
	#hd_logo, #hd_logo > a img{
		display: inline-block;
		vertical-align: middle;
	}
	#hd_logo{
		width: 280px;
	}
	#hd_info{
		display: none;
	}
	#btn_sp_menu{
		display: inline-block;
		vertical-align: middle;
		position: absolute;
		right: 0px;
		top: 0px;
	}
	/* フッター */
	#header > .clearfix{
		position: relative;
	}
	#footer_info{
		width: 100%;
		margin-right: 0;
	}
	#footer_menu{
		display: none;
	}
}
@media screen and (max-width:380px) {
	/* ヘッダー */
	#hd_logo {
		width: 74%;
	}
}

/* コピーライト */
#copyright {
  color: #fff;
  background-color: #3e3e3e;
  text-align: center;
  padding: 0.5em 0;
}

/* ヘッダー・フッター 共通 */
#header_wrap, #footer_wrap {
	min-width: 320px;
}


/*======================================
	グローバルメニュー
=======================================*/
#hd_menu{
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 26%, rgba(244,244,244,1) 67%, rgba(236,237,237,1) 91%, rgba(220,221,221,1) 100%);
}
#gmenu li{
	position: relative;
	float: left;
	width: 16.66%;
	text-align: center;
	min-height: 50px;
}
#gmenu li:before{
	position: absolute;
  content: url(../img/common/menu_line.png);
	top: 9px;
  left: 0px;
}
#gmenu li:last-child:after{
	position: absolute;
  content: url(../img/common/menu_line.png);
	top: 9px;
  right: 0px;
}

#gmenu li a{
	display: block;
	padding: 10.5px 0;
}
#gmenu li a:hover{
	color: #000;
	display: block;
	padding: 10.5px 0;
	opacity: 0.7;
}
#gmenu li a:link, #gmenu li a:visited {
	text-decoration: none;
}

@media screen and (max-width:768px) {
	#hd_menu{
		display: none;
	}
}


/*======================================
	スマホメニュー
=======================================*/
#hd_sub_wrap, .sub_menu, #hd_sub_bk, .hd_sub .sub_sp{
  display: none;
}

@media screen and (max-width: 768px) {
  ul.company.s_menu, ul.business.s_menu{
    display: none;
  }
  .sub_menu, #hd_sub_bk, .hd_sub .sub_sp{
    display: block;
  }
  .sub_menu{
    padding: 12px;
    background: #52a533;
  }
  .hd_sub {
    background: #fff;
    font-size: 110%;
  }
	ul#hd_sub1 { /* IE・Edgeでのリストマーク削除用 */
		list-style-image: url(data:0);
	}
  .hd_sub li a {
    padding: 7px 15px;
    display: block;
    color: #333;
    text-decoration: none;
  }
  li.m_menu a:before,
	ul.s_menu > li a:before{
    content: '';
    display: inline-block;
    background-size: contain;
    vertical-align: middle;
    margin-top: -4px;
    margin-right: 8px;
    width: 9px;
    height: 14px;
  }
	li.m_menu a:before{
		background: url(../img/common/mk_m.png) left top no-repeat;
	}
	ul.s_menu > li a:before{
    background: url(../img/common/mk_g.png) left top no-repeat;
	}
  .hd_sub li:hover {
    background: #fffdee;
  }
  .sub_menu li {
    margin-bottom: 0;
    border-bottom: solid 3px #52a533;
    position: relative;
  }
  .sub_menu li:last-child {
    border-bottom: none;
  }

  /* 下層メニューデザイン */
  .s_menu li, .s_menu li:last-child {
    margin-bottom: 0;
    position: relative;
  }
  .s_menu li, .s_menu li:last-child {
    border-bottom: dotted 2px #949595;
  }
  .s_menu li:last-child {
    border-bottom: solid 3px #52a533;
  }

  /* 下層メニューボタン */
  .ac_button {
    position: absolute;
    width: 35px;
    height: 35px;
    background: #fff;
    top: 5px;
    right: 20px;
    border: solid 2px #949595;
    border-radius: 5px;
    cursor: pointer;
    z-index: 100;
  }
  .ac_button:after {
    content: '';
		display: inline-block;
    vertical-align: middle;
    background: url(../img/common/ac_btn3.png) left top no-repeat;
		width: 35px;
    height: 35px;
		margin-left: 23%;
		margin-top: 23%;
  }
	.ac_button.clicked:after {
    content: '';
		display: inline-block;
    vertical-align: middle;
    background: url(../img/common/ac_btn2.png) left top no-repeat;
		width: 35px;
    height: 35px;
		margin-left: 27%;
		margin-top: 27%;
  }
	/*
  .ac_button:before {
    content: '';
		display: inline-block;
    vertical-align: middle;
    background: url(../img/common/ac_btn1.png) left top no-repeat;
    width: 35px;
    height: 35px;
		margin-left: 25%;
		margin-top: 25%;
  }
	*/
  .ac_button.clicked {
    background: #fff;
  }
  .ac_button.clicked:before {
    width: 0;
  }
	.ac_button:hover{
		background-color: #ecf4e4;
		border: solid 2px #52a533;
	}
}


/*======================================
	パンくず
=======================================*/
#pankuzu {
	margin-top: 20px;
	margin-bottom: 40px;
}
#pankuzu li {
	display: inline-block;
	padding-right: 6px;
	font-size: 90%;
	text-decoration: underline;
}
#pankuzu li:last-child {
	color: #e25514;
	text-decoration: none;
}
#pankuzu li:after {
	content: url('../img/common/pankuzu.png');
	padding-left: 9px;
}
#pankuzu img {
	padding-top: 3px;
}
#pankuzu li:last-child:after {
	display: none;
}


/*======================================
	ページ見出し タイトル
=======================================*/
#page_title{
	height: 66px;
	background: rgb(0,137,67);
	background: linear-gradient(90deg, rgba(0,137,67,1) 0%, rgba(92,173,67,1) 50%, rgba(0,137,67,1) 100%);
	text-align: center;
	padding: 0 15px;
}
#page_title h2{
	font-size: 160%;
	font-weight: bold;
	color: #fff;
	text-align: center;
	display: inline-block;
	position: relative;
	padding-left: 42px;
	padding-top: 13px;
}
#page_title h2:before{
	content: url('../img/common/mk_midashi.png');
	position: absolute;
	top: 13px;
	left: -2px;
}
.newitems_ttl br.sp{
	display: none;
}

@media screen and (max-width:500px) {
	#page_title.newitems_ttl{
		height: 120px;
	}
	.newitems_ttl br.sp{
		display: block;
	}
	#page_title.newitems_ttl h2{
		text-align: left;
	}
	#page_title.newitems_ttl h2:before{
		top: 34px;
	}
}

@media screen and (max-width:380px) {
	#page_title h2{
		font-size: 140%;
		padding-top: 15px;
	}
	#page_title.newitems_ttl {
		height: 104px;
	}
}


/*======================================
	チャプタータイトル 縦線
=======================================*/
.chapter_title{
	border-bottom: solid 2px #b4b4b5;
	padding-bottom: 10px;
	margin-bottom: 30px;
}
.deco_title{
	font-size: 160%;
	font-weight: bold;
	border-left: solid 6px #52a533;
	line-height: 1.3;
	padding: 4px 0 2px 15px;
}


/*======================================
	ポイントタイトル 四角
=======================================*/
.point_title{
	font-size: 145%;
	font-weight: bold;
	padding-left: 27px;
}
.point_title::before{
	content: url(../img/common/mk_s.png);
	margin-left: -27px;
	margin-right: 7px;
}

/*======================================
	表基本（会社案内-会社概要・沿革共通 / 採用情報-募集要項）
=======================================*/
dl.main_list{
  background-color: #ecf4e4;
  border-bottom: solid 1px #b4b4b5;
}
dl.main_list dt{
  float: left;
	clear: both;
  padding-left: 20px;
	padding-bottom: 20px;
}
dl.main_list dd{
  background-color: #fff;
  padding-left: 20px;
}
dl.main_list dd::after { /* dtddの高さを揃える */
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
	margin-top: 20px; /* ddのpadding-topと同じ値を入れることでddが縦中央寄せになる */
}
dl.main_list dt, dl.main_list dd{
  padding-top: 20px;
  border-top: solid 1px #b4b4b5;
}

@media screen and (max-width:768px) {
	dl.main_list{
	  background-color: #fff;
	  border-bottom: solid 1px #b4b4b5;
	}
	dl.main_list dt{
		font-weight: bold;
		padding-top: 15px;
    padding-bottom: 5px;
	  float: none;
		padding-left: 0;
	}
  dl.main_list dd{
    padding-top: 0;
		border-top: none;
		padding-left: 0;
  }
	dl.main_list dd::after { /* dtddの高さを揃える */
		margin-top: 15px; /* ddのpadding-topと同じ値を入れることでddが縦中央寄せになる */
	}
}

/*======================================
	ボタン
=======================================*/
a.btn {
	display: inline-block;
	color: #fff;
	background-color: #52a533;
	line-height: 1;
	padding: 0.5em 1.2em 0.4em;
	text-decoration: none;
	max-width: 100%;
	text-align: center;
}
a.btn_out {
	background-color: #3e4a6b;
}
a.btn:hover {
	opacity: 0.7;
}
a.btn::before {
	display: inline-block;
	content: url(../img/common/mk_w.png);
	vertical-align: middle;
	padding-right: 5px;
}
a.btn[target=_blank]::after {
	display: inline-block;
	content: url(../img/common/mk_link.png);
	vertical-align: middle;
	padding-left: 5px;
}

/*======================================
	TEL FAX テキスト
=======================================*/
.tel_fax{
  font-size: 120%;
  font-weight: bold;
}
.tel_fax span{
  color: #52a533;
}


/*======================================
	リンク 丸と矢印
=======================================*/
.link_name{
  background: url(../img/common/maru.png) no-repeat;
  background-position-x: 0px;
  background-position-y: 3px;
	padding-left: 25px;
  font-weight: bold;
}
.link_url{
  text-decoration: underline;
  background: url(../img/link/yaji.png) no-repeat;
  background-position-x: 0px;
  background-position-y: 10px;
	padding-left: 25px;
}
