
body{
	position: relative;
    color: #333;
    font-family: '游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3',"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
    font-size: 1.6em;
    background-color: #fffaf1;
    width: 100%;
    }

a:hover img{
	opacity: 0.8;
}

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

a{
	color: #69a537;
}

.external:after {
	content:"";
	padding-right: 20px;
	background: url(../images/external-link.png) right center no-repeat;
}

img{width:100%;}

.pc-none{
	display:none;
}

.m_top_20{margin-top: 20px;}
.m_top_40{margin-top: 40px;}
.m_bottom_20{margin-bottom: 20px;}
.m_bottom_40{margin-bottom: 40px;}
.p_top_20{padding-top: 20px;}
.p_top_40{padding-top: 40px;}
.p_bottom_20{padding-bottom: 20px;}
.p_bottom_40{padding-bottom: 40px;}

.header{
	background: url(../images/header_bg.png) no-repeat top center;
	width: 100%;
	min-height: 200px;
	position: relative;	
}

.header-inner{
	position: relative;
	max-width: 1000px;
	min-height: 220px;
	margin: 0 auto;
}

.header-inner h1{
	margin: 0;
}

.header img.logo{
	display: block;
	position: absolute;
	top: 110px;
	left: 20px;
	max-width: 279px;
}

.header .tel{
	position: absolute;
	top:115px;
	right: 20px;
}

.header .tel img{
	max-width: 309px;
}

.snav ul{
	margin:0;
}
.snav li{
	list-style: none;
	display: inline-block;
	margin:0;
}

.snav a{
	font-size: 13px;
	padding: 0 5px;
	color: #fff;
	display: inline-block;	
}

.head_line{
	margin-bottom: -30px;
	background-color :rgba(118,167,36,0.5); 
	width: 100%;
	min-height: 30px;
}

.head_line .snav{
	float: right;
	position: relative;
	z-index: 999;
}

.head_line-inner{
	position: relative;	
	margin: 0 auto;
}

.gnav{
	overflow: hidden;	
	margin: 20px auto 0;

}

.gnav ul li{
	text-align: center;	
	list-style: none;
}

.gnav li a{
	width: 100%;
	display: block;
	text-align: center;
	color: #fff;
}

.gnav li a img{
	width: 90%;
}

/*.gnav li.company img{max-width: 115px;}
.gnav li.staff img{max-width: 115px;}
.gnav li.insurance img{max-width: 115px;}
.gnav li.policy img{max-width: 115px;}
.gnav li.link img{max-width: 115px;}
.gnav li.contact img{max-width: 115px;}
*/
.main-img{
	clear: both;
	height: 418px;
	background: url(../images/index_main_tr.png) no-repeat top center;
	z-index: -1;
}

.main-content{
	position: relative;
	margin-top: -30px;
	background: url(../images/main_top_bg.png) top center no-repeat;
	z-index: 100;
	padding-top: 100px;
}



.index_h_01{
	margin: 0 auto 40px;
	max-width: 812px;
}

.index_img_01{
	display: block;
	margin: 0 auto 40px;
}

.banner-row{
	clear: both;
	margin-top: 40px;
	margin-left: -20px;
}
.banner-row .banner{
	max-width:340px;
	float: left;
}

#map{
	clear: both;	
	position: relative;
	padding: 80px 0 0;
	overflow: hidden;
	margin-top: 80px;
	margin-bottom: 0;	
	height: 360px !important;
	width: 100% !important;
}

.maplink{
	text-align: center;
	display: block;
	margin-bottom: 80px;
	width:100%;
}

.maplink a{
	font-size: 14px;
}

.footer_img{
	position: relative;
	z-index: 1;
	margin: 0 auto;
	display: block;	
	background: url(../images/footer_bg_01.png) no-repeat top center;
	background-size: 736px;
	max-width: 736px;
	min-height: 450px;
	z-index: 1;
}

.contact .footer_img{
	background-image: url(../images/footer_contact_bg_01.png);
}

.contact .link_balloon{
	position: absolute;
	right:40px;
	top:0;
	display: block;
	max-width: 50px;
}

.sp-title {
	text-align:left;
	color: #69a537;
	font-weight: bold;
	line-height: 1.5;
	font-size: 17px !important;
}

.footer{
	position: relative;
	z-index: 2;
	width: 100%;
	background: url(../images/footer_bg.png) no-repeat top center;
	padding-top: 40px;
	margin-top: -40px;
	margin-bottom: -40px;
	min-height: 400px;
}

.footer_bottom{
	width: 100%;
	background-color: #76a724;
	min-height: 400px;
	padding-bottom: 40px;
}

.footer .gnav{
	overflow: hidden;
	margin-top: 40px;	
	margin-bottom: 40px;	
}
.footer_logo {
	clear: both;	
	margin: 0 auto;
	max-width: 279px;
}

.footer_logo .logo{
	max-width: 279px;
}

.footer-address {
	text-align: center;
	color: #fff;
	margin: 20px auto;
}

.footer .snav{
	text-align: center;
	color: #fff;
	margin: 0 auto
	padding-bottom: 0;
}

.footer .snav ul{
	text-align: center;	
}

.footer .snav a{
	color: #fff;
}

/* company */
.ta_l {text-align: left;}
.ta_c {text-align: center;}
.ta_r {text-align: right;}

.subpage h3{
	text-align: center;	
}
.main-top h2 img {
	max-width: 100%;
}
.subpage.company .main-top h2 img{
	width:153.5px;
}
.subpage.staff .main-top h2 img{
	width:229.5px;
}
.subpage.insurance .main-top h2 img{
	width:193px;
}
.subpage.policy .main-top h2 img{
	width:155px;
}
.subpage.link .main-top h2 img{
	width:106px;
}
.subpage.contact .main-top h2 img{
	width:229px;
}
.subpage.p_policy .main-top h2 img{
	width:309px;
}
.subpage.s_policy .main-top h2 img{
	width:507px;
}
.subpage.o_policy .main-top h2 img{
	width:693px;
}
.sub_company_h_01{
	width:207px;
}

.sub_company_h_02{
	margin-top: 60px;
	width:168px;
}

.sub_company_h_03{
	margin-top: 20px;
	width:270px;
}

.sub_company_h_03{
	margin-top: 20px;
	width:270px;
}

.sub_company_img_02{
	max-width: 480px;
	text-align: center;
	margin: 0 auto 60px;
	display: block;
}


table.c_info {
	margin: 0 auto;
}
table.c_info th{
	min-width: 100px;
	color: #577b2a;
}

.subpage .main-top{
	padding: 60px 0 40px;
	background-image:
		url(../images/sub_head_bg_01.png),
		url(../images/sub_head_bg_02.png);
	background-repeat:
		no-repeat,
		repeat-x;
	background-position:
		top center,
		top center;
}

/* staff */

.container.staff{
	margin-bottom: 60px;
}

img.staff_face{
	width: 70% !important;
	display: block;
	margin: 0 auto;
}

p.staff_name{
	margin-top: 20px;
	margin-bottom: 0;
	padding-bottom: 0;
}

p.staff_name img{
	vertical-align: bottom;
}

table.s_info{
	width: 100%;
	border-top: 1px solid #ccc;
}

table.s_info th{
	min-width: 30px;
	color: #577b2a;
}

/*insurance*/

.insurance_h_01{
	width: 206px;
}

.insurance_h_02{
	width: 215px;
}

.insurance_icon{
	max-width: 116px;
}

/*policy*/
.policy_h_01{max-width: 306px;}
.policy_h_02{max-width: 347px;}
.policy_h_03{max-width: 372.5px;}
.policy_txt_01{max-width:693.5px;}
.policy_txt_02{max-width:680px;}
.policy_txt_03{max-width:699px;}
.p_president {
	padding-top: 20px;
}
.p_president p{
	line-height: 2 !important;
}

/*link*/
.link_h_01{max-width: 433px;}
.link_list{
	margin: 0 auto 60px;
	max-width: 470px;
	padding: 0 10px;
}

.link_list li{
	list-style: circle;
}

.link_list li a{
	font-size: 20px;
}

/*contact*/

.contact_h_01{max-width:386px;}

.caution{
	color: #76a724;
}
.formTable{
	width: 100%;
	text-align: center;
	margin: 0 auto;
}
.formTable th{
	padding: 10px 15px 0;
}
.formTable th,
.formTable td{
	text-align: center;	
	border: none;
}


.formTable input,
.formTable textarea{
	width: 100%;
	max-width: 500px;
	border: 2px solid #76a724;
}

.formTable textarea{
	min-height: 300px;
}

/*p_policy*/

.p_policy .txt_h3,
.s_policy .txt_h3,
.o_policy .txt_h3{
	text-align: left !important; 
	background-color: #69a537;
	color: #fff;
	padding: 10px 15px;
	font-size: 1.2em;
}

.p_policy h4,
.s_policy h4,
.o_policy h4{
	background-color: #fff;
	border-left: 3px solid #69a537;
	font-size: 1em;
	padding: 10px 12px;
	font-weight: bold;
}

.p_box{
	background-color: #fff;
	padding: 20px 25px 5px;
	margin-bottom: 20px;
}

.p_policy h5,
.s_policy h5,
.o_policy h5{
	font-size: 1em;
	font-weight: bold;
	color: #666;
}



@media screen and (max-width: 1060px) {
	.main-img{
		background-size: 180%;
		height: 370px;
	}

}
@media screen and (max-width: 768px) {
	.header-inner{
	position: relative;
	margin: 0 auto;
	padding: 0 20px;
	text-align: center;	
	}
	.gnav ul li{
	text-align: center;	
	list-style: none;
	padding: 0 3%;}

	.gnav li a img{
	width: 100%;
	}

	.header img.logo{
	display: block;
	position: relative;
	margin: 0 auto;
	top: auto;
	left: auto;
	padding-top: 90px;
}

.header .tel{
	position: relative;
	top:auto;
	right: auto;
	margin: 20px auto;
}

.head_line {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background-color: rgba(118,167,36,0.5);
    width: 100%;
    height: auto;
}

.head_line .snav {
    float:none;
    position: relative;
    margin: 0 auto;
    width: 100%;
}
.head_line .snav li{
	display: inline-block;	
}

.banner-wrapper .columns{
	margin-left: -4%;
	margin-bottom: 10px;
}
.main-img{
	height: auto;
	min-height: 0;
	max-height: auto;
	background:none;
	z-index: -1;
}

.main-content{
	background: none;
	margin-top: 20px;
	padding-top: 0;
}

.sp-none{
	display:none;
}
.pc-none{
	display:block;
}
.header{
	background-position: center -20px
}
.footer_img{
	background-size: 80% auto;
	height: 0;
	min-height: 0;
	padding-top: 50%;
	background-position: bottom center;
}
.footer-address {
	font-size: 12px;}

/* sp company */
	table.c_info{
		font-size: 14px;
		width: 100%;
	}
	table.c_info th{
	min-width: 80px;
	}

	table.c_info th, td {
   		 padding: 12px 7px;
	}
}
.policy_table_container {
    overflow-x: auto; /* 横スクロールを有効にする */
    margin-top: 0;
    margin-bottom: 2em;
}

.policy_table {
    width: 100%; /* テーブルの幅を100%に設定 */
    min-width: 800px; /* テーブルの最小幅を設定 */
    border-collapse:  collapse;
    margin: 0;
}

.policy_table td,
.policy_table th {
	border: 1px solid #c4c0bc !important;
	text-align: left !important;
	padding: 6px 14px;
}

/* スマートフォン表示時のスタイル */
@media (max-width: 768px) {
    .policy_table {
        overflow-x: auto; /* 横スクロールを有効にする */
        display: block;  /* ブロック要素として表示することで、overflow-xが機能する */
    }

    .policy_table td,
    .policy_table th {
        font-size: 0.9em; /* 文字サイズを90%にする */
    }
}


.policy_table th {
	text-align: center !important;
}

.table_wrapper {
    display: inline-block;
    margin: 16px auto;
}

.main-content li{
	list-style-position: outside;
	margin-left: 1em;
}