@charset "utf-8";

body,h1,h2,h3,h4,h5,h6,p,ol,ul,li,dl,dt,dd,form,fieldset,legend {
	border-collapse:collapse;
	border-spacing:0;
	font-style: normal;
	margin:0;
	padding:0;
	font-weight: normal;
	color:#363636;
	font-family: 'Noto Sans Japanese','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

html{
	font-size:62.5%;
}

body{
	font-size:1.4em;
	-webkit-text-size-adjust: 100%;
}

address{
	font-style: normal;
}
p,li,address,table,dt,dd{
	line-height: 1.5;
}
img {
	vertical-align: top;
	border:0;
}
ul,ol{
	list-style: none;
	margin: 0;
	padding: 0;
}
li{
	margin: 0;
}
table{
	border-collapse: collapse;
}
th{
	font-weight:normal;
}
a:link{
	color:#52b8ec;
	text-decoration: underline;
}

a:visited{
	color:#52b8ec;
	text-decoration: underline;
}

a:hover{
	color:#52b8ec;
	text-decoration: none;
	opacity: 0.8;
}

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

strong{
	font-weight:bold;
}
em{
	color:#FF0000;
	font-style:normal;
}


/*-------------------------------------------------------------------
clear-fix
-------------------------------------------------------------------*/
.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}
/*---------------------------------------------------- */

/* 共通 */
/* ヘッダー */
#main_contents,
.footer_nav ul,
.return_toppage_box {
	width: 960px;
	margin: 0 auto;
}

#header_inner,
.header_nav_inner,
.addres {
	width: 980px;
	margin: 0 auto;
}

#header_inner {
	display: flex;
	justify-content: space-between;
}

.logo {
	float: left;
}

#header_inner h2{
	display: inline-block;
	font-size: 1.2rem;
	margin-top: 10px;
	margin-left: 10px;
}

.header_left_box {
	display: inline-block;
	margin-top: 25px;
	width: 380px;
}

.header_contact {
	float: right;
}

.header_right_box {
	width: 50%;
}

.header_left_box img:last-child {
	margin-left: 10px;
	margin-top: 5px;
}

.addres {
	font-size: 1.4rem;
	text-align: right;
	margin-top: -10px;
}

.header_right_box_inner {
	background-image: url(../image/common/header_shadow.png);
	background-repeat: no-repeat;
	background-size: contain;	
	padding-left: 50px;
}

.header_right_box .contanct_form {
	display: inline-block;
	height: 20px;
	background-color: #18b47d;
	padding: 35px 15px 15px 15px;
	background-image: url(../image/common/mail_icon.png);
	background-position: 50% 25%;
	background-repeat: no-repeat;

}

.header_right_box .contanct_form p {
	display: inline-block;
	font-size: 1.8rem;
	color: #fff;
}

.header_right_box .addres {
	text-align: right;
	font-weight: 400;
	margin-top: 15px;
}
/* ヘッダーナビゲーション */
#header_nav {
	background-color: #363636;
	margin-top: 10px;
}

#header_nav .header_nav_inner ul{
	display: flex;
}

.active {
	background-color: #282828 !important;
}

#header_nav .header_nav_inner ul li{
	font-size: 1.6rem;
	line-height: 19px;
	color: #fff;
	width: 200px;
	text-align: center;
	letter-spacing: 3px;
}

#header_nav .header_nav_inner ul a{
	text-decoration: none;
	padding: 10px 0 7px 0;
	color: #fff;
	display: block;
}

#header_nav .header_nav_inner ul a:hover{
	opacity: 0.5;
}

#header_nav .header_nav_inner ul li .nav_color{
	font-size: 1.2rem;
	color: #929292;
	letter-spacing: 1px;
}

/* サイドバー */
#side_bar {
	width: 240px;
}

#side_bar img{
	margin-top: 15px;
}

#side_bar .side_bar_adress {
	background-color: #363636;
	padding: 25px 15px;
}

#side_bar .side_bar_adress h3,
#side_bar .side_bar_adress p {
	color: #fff;
	margin-bottom: 5px;
}

.side_bar_contact {
	background-color: #18b47d;
	padding: 9px 10px;
	background-image: url(../image/buisiness/mail_icon.png);
	background-repeat: no-repeat;
	background-position: 7% 50%;
}

.side_bar_contact p {
	margin-left: 40px;
	margin-bottom: 0 !important;
}

/* トップページ */

/* メイン画像 */
.index_top_main_image {
	width: 100%;
	height: 450px;
	background-image: url(../image/index/top_bg.png);
	background-size: cover;
	background-position: center;
	margin-bottom: 40px;
}

.top_main_image {
	width: 100%;
	height: 120px;
	background-image: url(../image/common/page_bg.png);
	background-size: cover;
	background-position: center;
	margin-bottom: 40px;
}

.width {
	width: 980px;
	margin: 0 auto;
	position: relative;
}

.top_main_image img {
	position: absolute;
	left: 15px;
	top: 40px;
}

.index_top_main_image img {
	position: absolute;
	left: 0;
	top: 280px;
}

/* メインコンテンツ */
.business .container article {
	width: 290px;
	margin-bottom: 40px;
	background-image: url(../image/index/bg_line.png);
	background-position: bottom;
	background-repeat: repeat-x;
	position: relative;
	padding-bottom: 50px;
}

#main_contents .business {
	margin-bottom: 80px;
}

#main_contents p {
	font-weight: 300;
}

.business h2,
.news h2,
.top_right_company h2 {
	background-image: url(../image/index/bg_line.png);
	background-position: bottom;
	background-repeat: repeat-x;
	margin-bottom: 40px;
	padding-bottom: 3px;
}

.business .container article h3{
	font-size: 2.4rem;
	margin-bottom: 5px;
}

.business .container img {
	margin-bottom: 15px;
}

.business .container a {
	color: #1e76d4;
	text-align: left;
	text-decoration: none;
	border-bottom: 1px solid #1e76d4;
	background-image: url(../image/index/nav_business.png);
	background-position: left 2px;
	background-repeat: no-repeat;
	position: absolute;
	bottom: 22px;
	padding-left: 15px;
}

.container {
	display: flex;
	justify-content: space-between;
}

.business_last_image {
	margin-top: 25px;
}

/* 新着情報・会社概要ページ */
.news {
	width: 500px;
}

.top_right_company {
	width: 400px;
}

.news dl.box{
    height: 220px;
    overflow: auto;
	border: 1px solid #dbdbdb;
	padding: 30px;
}

.news dl.box dt{
	color: #18b47d;
    float: left;
    width: 100px;
	font-weight: bold;
}

.news dl.box dd{
    margin: 0 0 10px 0;
    padding: 0 0 10px 100px;
}

.top_right_company h3 {
	font-size: 22px;
	color: #167352;
	margin-top: -18px;
}

.top_right_company p {
	font-size: 1.4rem;
	font-weight: 200;
	margin-top: 10px;
}

.top_right_company a {
	text-decoration: none;
}

.top_right_company h2 {
	background-image: none;
}

.top_right_company .company_contact {
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	color: #167352;
	margin-bottom: 4px;
	margin-top: 20px;
}

.top_right_company .container p {
	display: inline-block;
}
.left_tel {
	margin: 0 auto;
}

.left_tel .left_tel_tel {
	font-size: 2.0rem;
	font-weight: 500;
	padding: 3px 10px;
	background-color: #fcc800;
}

.left_tel .number {
	font-size: 2.6rem;
	font-weight: 500;
	padding-left: 10px;
}

.contact_form {
	background-color: #18b47d;
	padding: 10px 15px 10px 30px;
	margin-top: 15px;
	background-image: url(../image/common/mail_icon.png);
	background-repeat: no-repeat;
	background-position: top 15px left 40px;
}

.contact_form p{
	font-size: 2rem;
	color: #fff;
	text-align: center;
	margin-left: 30px;
	margin-top: 2px;
}

.news .blue {
	color: #1e76d4;
}

footer .return_pagetop {
	position: absolute;
	right: 0;
	top: -50px;
}

.footer_nav {
	background-color: #0a6847;
}

.return_toppage_box {
	background-color: #0a6847;
	position: relative;
}

.footer_nav li {
	color: #FFF;
}

.return_toppage_box a {
	display: block;
}

.return_toppage_box a:hover img {
	opacity: 0.8;
}

.footer_nav ul {
	display: flex;
	justify-content: space-between;
	padding: 50px 20px;
	margin-top: 130px;
	box-sizing: border-box;
}

.footer_nav ul li {
	text-decoration: none;
	border-bottom: 1px solid #fff;
	text-decoration: none;
}

.footer_nav ul a {
	text-decoration: none;
}

footer p {
	background-color: #085339;
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	padding: 50px 0 100px 0;
	font-weight: 100;
}

/* 業務内容ページ */
.page_main_image img {
	width: 100vw;
	height: auto;
}

#page_main_contents {
	display: flex;
	width: 960px;
	margin: 0 auto;
}

/* 業務内容メインコンテンツ */
.page_wrap {
	width: 670px;
	margin-right: 50px;
}

.business_header_nav h2 {
	font-size: 3rem;
	color: #3e5d7f;
	margin-bottom: 15px;
}

.business_header_nav_container,
.down_business_header_nav_container {
	display: flex;
	margin-bottom: 25px;
}

.down_business_header_nav_container {
	margin-bottom: 40px;	
}

.business_header_nav a {
	text-decoration: none;
}

.business_header_nav p {
	width: 165px;
	font-size: 1.6rem;
	color: #fff;
	padding: 5px 5px 5px 30px;
	background-color: #1e76d4;
	box-sizing: border-box;
	background-image: url(../image/buisiness/arrow.png);
	background-repeat: no-repeat;
	background-position: 10% 50%;
}

.business_header_nav .not_first_nav {
	margin-left: 30px;
}

#open img {
	width: 100%;
}

.article_inner {
	width: 650px;
	padding: 0 10px;
}

.article_inner img {
	width: auto;
	height: auto;
}

.article_inner img:first-child {
	margin-right: 10px;
}

.article_inner .container {
	justify-content: inherit;
}

#page_main_contents article h1 {
	margin-bottom: 20px !important;
	font-size: 3rem !important;
	color: #18b47d !important;
	background-image: url(../image/index/bg_line.png) !important;
	background-position: bottom !important;
	background-repeat: repeat-x !important;
	margin-top: 0;
	text-align: inherit !important;
	background-color: inherit !important;
	font-weight: bold;
}

#page_main_contents article p {
	margin-bottom: 30px;
	margin-top: 30px;
	font-weight: 300;
}

#page_main_contents article nav {
	display: inline-block;
	color: #fff;
	background-color: #18b47d;
	padding: 5px 10px 5px 30px;
	background-image: url(../image/buisiness/arrow.png);
	background-repeat: no-repeat;
	background-position: 10% 50%;
	margin-bottom: 20px;
}

#page_main_contents article h2 {
	color: #fff;
	background-color: #363636;
	font-size: 3rem;
	text-align: center;
	margin-top: 15px;
	margin-bottom: 40px;
}

#page_main_contents article .assessment {
	color: #fff;
	background-color: #363636;
	background-image: url(../image/buisiness/top_icon.png);
	background-repeat: no-repeat;
	background-position: 83% 65%;
	font-size: 3rem;
	text-align: center;
	padding: 10px;
}

.performance_padding {
	padding: 0 10px;
}

.down_arrow {
	background-image: url(../image/buisiness/down_icon.png) !important;
	background-position: 82% 50% !important;
}

#acMenu dt {
	display: block;
	line-height: inherit;
}

#acMenu dd{
	display: none;
}

#life h1 {
	margin-top: 50px !important;
}

.business_bottom {
	margin-bottom: 50px !important;
}

/* 業務実績 */
.bg_earth {
	background-image: url(../image/company/bk_the_earth.png);
	background-repeat: no-repeat;
	background-position: 98% 95%;
	padding-bottom: 40px;
}

.bg_earth p {
	padding: 0 10px;
}

.performance {
	font-weight: bold;
	padding: 10px;
}

.performance_top {
	margin-top: 30px;
}

.bg_earth .turn {
	width: 58%;
}

.page_wrap article li {
	padding: 11px 0 11px 15px;
}

.page_wrap article .color_black {
	color: #fff;
	background-color: #363636;
}

.page_wrap article .color_blue {
	background-color: #f4fbff;
}

.page_wrap article li:last-child {
	margin-bottom: 2px;
}

/* 会社概要 */
.company_padding {
	padding: 10px;
}

table.type04 {
	width: 100%;
	border-spacing: 1px;
	text-align: left;
	line-height: 1.5;
	border-top: 1px solid #929292;
}

table.type04 th {
	width: 150px;
	padding: 20px;
	vertical-align: top;
	border-bottom: 1px solid #929292;
	background-color: #f5f5f5;
}
table.type04 td {
	width: 350px;
	padding: 20px;
	vertical-align: top;
	border-bottom: 1px solid #929292;
}

table.type04 td iframe {
	margin-top: 15px;	
}

/* リンクページ */
.link_bold {
	font-weight: bold;
}

.link article h3 {
	color: #fff;
	padding: 10px 0 10px 10px;
	background-color: #363636;
}

.link li {
	display: inline-block;
	background-image: url(../image/link/arrow.png);
	background-repeat: no-repeat;
	background-position: 0% 50%;
	text-decoration: underline;
}

.link article ul {
	width: 300px;
	margin-top: 9px;
	float: left;
}

.link article li {
	padding: 11px 0 11px 25px;
}

/* プライバシーポリシー */
.policy_inner {
	padding: 0 10px;
}

.policy_inner h3 {
	font-size: 2.2rem;
	padding-left: 5px;
	border-left: 5px solid #e5e5e5;
	font-weight: bold;
	margin-top: 30px;
}

.policy_inner p {
	margin-bottom: 0 !important;
}
.bg_gray {
	margin-top: 15px;
	margin-bottom: 40px;
	padding: 20px !important;
	background-color: #f4f4f4;
}

.bg_gray li {
	margin: 0 !important;
	padding: 0 !important;
}

.bg_gray ul {
	padding: 20px !important;
}

.policy_ul {
	margin-top: 10px;
	padding: 0 !important;
}

.policy_inner li {
	padding: 0 !important;
}

.policy_inner p {
	font-weight: inherit !important;
}

.policy_inner h4 {
	margin-top: 30px;
	padding: 30px;
	border: 4px solid #18b47d;
	text-indent: 1em;
}

/* お問い合わせ */
.contact_weight p {
	font-weight: inherit !important;
}

.contact_question {
	width: 65%;
}

.contact .contact_padding {
	background-image: url(../image/contact/hands.png);
	background-repeat: no-repeat;
	background-position: 98% 85%;
}

.contact_margin_bottom {
	margin-bottom: 40px !important;
}

.contact_padding {
	padding: 0 10px;
}

.tel {
	display: block;
}

.bg_gray_small {
	display: inline-block;
	font-size: 16px;
	margin-top: 0 !important;
	margin-bottom: 65px !important;
	padding: 5px 15px;
	background-color: #f2f2f2;
}

form.contact {
	font-size: 80%;
	padding: 0 10px;
}

form.contact p {
	line-height: 130%;
}

form.contact p.attention img {
	vertical-align: middle;
}

form.contact table {
	width: 100%;
	height: 500px;
	background-color: #f9f9f9;
	border: 1px #a1a1a1 solid;
}

form.contact td.required {
	width: 26px;
	padding: 10px 15px;
	background-color: #f5f5f5;
	text-align: center;
}

form.contact td.arbitrary{
	background-color: #f5f5f5;
}
.contact_message {
	height: 190px;
}

.contact_message th {
	padding-bottom: 130px ;
}

.contact_message .required {
	padding-bottom: 137px !important;
}

table input {
	font-family: 'Noto Sans Japanese','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	height: 100%;
	border: 1px solid #d9d9d9;
	border-radius: 2px;
	padding: 5px;
}
table textarea {
	font-family: 'Noto Sans Japanese','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	width: 100%;
	border: 1px solid #d9d9d9;
	border-radius: 2px;
	min-height: 320px;
	box-sizing: border-box;
	padding: 5px;
}

form.contact th {
	width: 150px;
	padding-left: 10px;
	background-color: #f5f5f5;
	border-bottom: 1px #a1a1a1 solid;
	text-align: left;
	line-height: 130%;
	font-size: 14px;
}

form.contact td {
	padding: 15px;
	background-color: #ffffff;
	border-bottom: 1px #a1a1a1 solid;
}

form.contact p.button {
	margin: 20px 0 0;
	text-align: center;
}

input{
	-webkit-appearance: none;
	border:none;
	background:none;
}

form.contact p.button input {
	padding: 5px 20px;
	background: linear-gradient(#f7fbfc, #cbcbcb);
	border: 1px solid #c3c3c3;
	border-radius: 5px;
	margin-top: 10px;
}
div.contact2 {
	font-size: 100%;
	padding: 0 10px;
}
div.contact2 p.attention img {
	vertical-align: middle;
}
div.contact2 table {
	width: 100%;
	border: 1px #a1a1a1 solid;
	margin: 10px 0;
}
div.contact2 th {
	width: 220px;
	padding-left: 10px;
	background-color: #f5f5f5;
	border-bottom: 1px #a1a1a1 solid;
	text-align: left;
	line-height: 130%;
	font-size: 14px;
}
div.contact2 td {
	padding: 15px;
	background-color: #ffffff;
	border-bottom: 1px #a1a1a1 solid;
}
div.contact2 .button input {
	padding: 5px 20px;
	background: linear-gradient(#f7fbfc, #cbcbcb);
	border: 1px solid #c3c3c3;
	border-radius: 5px;
	margin-top: 10px;
}