@charset "utf-8";

body{
	position:relative;
	font-family:"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, "游ゴシック", YuGothic, sans-serif;
	font-size:12px;
	color:#333333;
	line-height:1.7;
	-webkit-text-size-adjust:100%;
	padding-top:49px;
}

a:hover{filter: alpha(opacity=70); -moz-opacity:.7; opacity:.7;}

input[type="text"],
input[type="email"],
input[type="button"],
input[type="submit"],
input[type="tel"],
textarea,
select{
	font-size:16px;
	-webkit-appearance: none;
}

img{max-width:100%; width:auto; height:auto;}


/* グローバルメニュー
--------------------------------------------------------------- */

#g_header.scroll_wrap{
	top:0;
	left:0;
	right:0;
	bottom:0;
	overflow-y: auto;
}

#g_header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:1000;
}

#g_header > .inner{
	box-sizing:border-box;
	position:relative;
	height:49px;
	background:#FFF;
	padding:13px 15px 17px;
	line-height:1;
	border-bottom:1px solid #00834B;
}

#g_header h1{
	width:120px;
}

#g_header nav{
	display:none;	
	
	box-sizing:border-box;
	position:absolute;
	top:49px;
	left:0;
	width:100%;
	padding:0;
	background:#FFF;
	font-weight:bold;
	z-index:100;
	box-shadow: 0 5px 4px 0 rgba(0, 0, 0, 0.2);	
}

#g_header .g_menu{
	margin:0 auto;
	padding:0;
	text-align:center;
}

#g_header .g_menu > li{
	position:relative;
	text-align:center;
}

#g_header .g_menu > li > a{
	box-sizing:border-box;
	position:relative;
	display:block;
	padding:18px 0;
	line-height:1;
	text-decoration:none;
}

#g_header .g_menu > li > a:before{
	content:"";
	width:40px;
	height:1px;
	background:#00834B;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
}

#g_header .g_menu > li > a.arrow{
	text-indent:1.5em;
}

#g_header .g_menu > li > a.arrow:after{
	content:"";
	display:inline-block;
	position:relative;
	width:6px;
	height:6px;
	top:-2px;
	margin-left:12px;
	border-top: 1px solid #00834B;
	border-right: 1px solid #00834B;
	transform: rotate(135deg);
}

#g_header .g_menu > li.arrow_open > a.arrow:after{
	transform: rotate(-45deg);
	top:2px;
}

#g_header .g_menu > li:last-child > a:before{
	content:normal;
}

#g_header .g_menu .open_flg + ul{
	position:relative;
	width:100%;
	background:#FFF;
}

#g_header .g_menu .open_flg + ul > li a{
	position:relative;
	display:block;
	line-height:1.2;
	padding:18px 18px 18px 45px;
	background:#FFF;
	text-align:left;
	text-decoration:none;
}

#g_header .g_menu .open_flg + ul > li:nth-child(even) a{
	background-color:#F6F6F6;
}

#g_header .g_menu .open_flg + ul > li a:before{
	content:"";
	display:block;
	position:absolute;
	left:23px;
	top:0;
	bottom:0;
	margin:auto;
	width:6px;
	height:6px;
	border-top: 1px solid #00834B;
	border-right: 1px solid #00834B;
	transform: rotate(45deg);	
}

#g_header .g_sub_menu{
	text-align:center;
	margin:0 40px;
	border-top:1px solid #00834B;
}

#g_header .g_sub_menu li{
	display:inline-block;
	margin:0 13px 0 0;
}

#g_header .g_sub_menu li:nth-of-type(2n){
	margin:0 0 0 13px;
}

#g_header .g_sub_menu li a{
	display:block;
	padding:18px 0 18px 30px;
	text-decoration:none;
	background-position:left center;
	background-repeat:no-repeat;
	background-size:22px auto;
}

#g_header .g_sub_menu li.s_group a{display:block; padding:15px 0;}
#g_header .g_sub_menu li.s_group img{width:auto; height:25px; position:relative; top:2px;}
#g_header .g_sub_menu li.s_access a{background-image:url(../img/common/ic_access.png);}
#g_header .g_sub_menu li.s_contact a{background-image:url(../img/common/ic_contact.png);}


/* グローバルメニューSP
--------------------------------------------------------------- */

.sp_menu_btn{
	position: absolute;
	top: 0;
	right:  0;
	width: 20px;
	height: 20px;
	margin:  auto;
	padding:15px;
	z-index:999;
	line-height:1;
}

.sp_menu_btn .btn{
	overflow: hidden;
	display: block;
	position: relative;
	z-index: 0;
	width: 20px;
	height: 20px;
	cursor: pointer;
}

.sp_menu_btn .btn span,
.sp_menu_btn .btn:before,
.sp_menu_btn .btn:after {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left:0;
	right: 0;
	width: 20px;
	height: 2px;
	margin: auto;
	background: #00834B;
}

.sp_menu_btn .btn span{overflow:hidden; z-index:1; text-indent:-999px;}
.sp_menu_btn .btn:before{z-index:2; transform:translate(0, -8px); content:"";}
.sp_menu_btn .btn:after{z-index:2; transform:translate(0, 8px); content: "";}

.sp_menu_btn.on .btn span{opacity:0; width:22px;}
.sp_menu_btn.on .btn:before{transform: rotate(45deg); width:22px;}
.sp_menu_btn.on .btn:after{transform: rotate(-45deg); width:22px;}


/* グローバルコンテナ
--------------------------------------------------------------- */

.main_content{
	margin:0 auto;
	padding:0 10px;
	overflow:hidden;
}


/* トップおくやみ
--------------------------------------------------------------- */

.top-message {
	padding: 20px;
	background: #f6f6f6;
}
.top-message .tophead-mess {
	padding: 30px;
	margin: 0 auto;
	text-align: center;
	border-radius: 5px;
	background: #fff;
}
.top-message .tophead-mess h2 {
	font-size: 130%;
	font-weight: 700;
	margin: .65em 0;
}


/* ぱんくず
--------------------------------------------------------------- */

.breadcrumb{
	background:#00834B;
	color:#FFF;
	padding:4px 10px;
	margin-bottom:40px;
	font-size:0;
}

.breadcrumb ul{
	margin:0 auto;
}

.breadcrumb li{
	display:inline-block;
	font-size:10px;
}

.breadcrumb li:not(:last-child){
	margin-right:1em;
}

.breadcrumb li:not(:last-child):after{
	display:inline-block;
	content:">";
	margin-left:1em;
}

.breadcrumb li a{
	color:#FFF;
}


/* グローバルフッター
--------------------------------------------------------------- */

#g_footer{
	margin-top:40px;
	border-top:1px solid #00834B;
}

#g_footer > .inner{
	position:relative;
	margin:0 auto;
	padding:20px 0 30px;
	line-height:1.3;
}

#g_footer ul{
	text-align:center;
	margin-bottom:15px;
}

#g_footer li{
	box-sizing:border-box;
	float:left;
	width:50%;
	position:relative;
	font-weight:bold;
	padding:0 20px;
	margin-bottom:15px;
}

#g_footer li:nth-child(odd):after{
	content:"";
	position:absolute;
	top:0;
	right:0;
	width:1px;
	height:16px;
	background:#333;
}

#g_footer li a{
	display:inline-block;
	text-decoration:none;
	border-bottom:2px solid #FFF;
	padding-bottom:3px;
}

#g_footer li.on a{
	border-color:#00834B;
}

#g_footer .copy_area{
	font-size:10px;
	text-align:center;
}

#g_footer .copy_area .pp{
	margin-bottom:10px;
}

#g_footer .copy_area .pp,
#g_footer .copy_area small{
	display:block;
}

/*#g_footer .totop{
	position:absolute;
	top:-32px;
	right:5px;
}*/

#g_footer .totop{
	display:none;
	position:fixed;
	bottom:10px;
	right:10px;
}

#g_footer .totop a{
	position:relative;
	display:block;
	box-sizing:border-box;
	width:40px;
	height:40px;
	border-radius:20px;
	border:1px solid #00834B;
	background:#FFF;
}

#g_footer .totop a:after{
	content:"";
	display:block;
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:16px auto 0;
	width:8px;
	height:8px;
	border-top: 1px solid #00834B;
	border-right: 1px solid #00834B;
	transform: rotate(-45deg);	
}

#g_footer .totop a:hover{
	opacity:1;
	background-color:#00834B;
}

#g_footer .totop a:hover:after{
	border-color:#FFF;
}


/* 各種パーツ - コンテンツボックス
--------------------------------------------------------------- */

.content_box1{
	margin-bottom:4em;
}


/* 各種パーツ - 見出し
--------------------------------------------------------------- */

.h_type1, .h_machine {
	position:relative;
	font-size:16px;
	font-weight:bold;
	text-align:center;
	font-family:"Roboto Condensed","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, "游ゴシック", YuGothic, sans-serif;
	letter-spacing:.05em;
	margin-bottom:30px;
	color:#444;
}

.h_type1.en{font-size:18px; letter-spacing:.1em;}

.h_type1 span{
	position:relative;
	display:inline-block;
}

.h_type1 span:before{
	content:"";
	position:absolute;
	left:-50px;
	top:0;
	bottom:0;
	margin:auto;	
	width:40px;
	height:2px;
	background:#00834B;
}

.h_type1 span:after{
	content:"";
	position:absolute;
	right:-50px;
	top:0;
	bottom:0;
	margin:auto;
	width:40px;
	height:2px;
	background:#00834B;
}

.h_type1.style_small{
	font-size:12px;
}

.h_type2{
	font-size:13px;
	font-weight:bold;
	padding-bottom:10px;
	margin-bottom:10px;
	border-bottom:1px solid #33A757;
}

.h_machine:before{
	content:"";
	position:absolute;
	z-index: 1;
	left:0;
	top:0;
	bottom:0;
	margin:auto;	
	width:100%;
	height:2px;
	background:#00834B;
}

.h_machine>span {
	position: relative;
	z-index: 2;
	display: inline-block;
	padding: 0 10px;
	margin: 0 6px;
	background: #fff;
}


/* 各種パーツ - ロゴ
--------------------------------------------------------------- */

.ic_logo{	
	background-position:left center;
	background-size:20px auto;
	background-repeat:no-repeat;
	padding-left:25px;
}

.ic_logo.s_kaihatsu{background-image:url(../img/common/mark_kaihatsu.png);}
.ic_logo.s_eco{background-image:url(../img/common/mark_eco.png);}
.ic_logo.s_line{background-image:url(../img/common/mark_line.png);}


/* 各種パーツ - リンクボタン
--------------------------------------------------------------- */

.btn_type1{
	box-sizing:border-box;
	position:relative;
	display:block;
	min-width:200px;
	margin:0 auto;
	text-align:center;
	border:1px solid #888;
	border-radius:2.5px;
	line-height:1;
	padding:15px 30px;
	font-weight:bold;
	text-decoration:none;
}

.btn_type1:after{
	content:"";
	display:block;
	position:absolute;
	right:15px;
	top:0;
	bottom:0;
	margin:auto;
	width:8px;
	height:8px;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(45deg);
}

.btn_type1:hover{
	opacity:1;
	background-color:#888;
	color:#FFF;
}

.btn_type1:hover:after{
	border-color:#FFF;	
}

.btn_type1.style_return{
	box-sizing:border-box;
	min-width:0;
	width:45%;
	margin:0 auto;
	padding:12.5px;
	color:#33A757;
}

.btn_type1.style_return:after{
	transform: rotate(-135deg);
	right:auto;
	left:calc(50% - 3em);
	width:6px;
	height:6px;
}

.btn_type1.style_return:hover{
	opacity:1;
	background-color:#C6ECD2;
	color:#33A757;
}

.btn_type1.style_return:hover:after{
	border-color:#33A757;
}

.blanklink{
	display:inline-block;
	text-align:center;
	padding-right:15px;
	background:url(../img/common/ic_blank.png) right center / 10px auto no-repeat;
	margin:10px 0 15px;
}

.btn_type2{
	position:relative;
	display:block;
	text-align:center;
	border:1px solid #888;
	border-radius:2.5px;
	background:#FFF;
	line-height:1;
	padding:10px;
	font-weight:bold;
	text-decoration:none;
}

.btn_type2:after{
	content:"";
	display:block;
	position:absolute;
	right:13px;
	top:0;
	bottom:0;
	margin:auto;
	width:6px;
	height:6px;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(45deg);
}

.btn_type2:hover{
	opacity:1;
	background-color:#ccc;
}



/* 各種パーツ - リスト
--------------------------------------------------------------- */

.dl_type1{

}

.dl_type1 > dt{
	position:relative;
	font-size:16px;
	font-weight:bold;
	margin:1.5em 0 1em;
	text-align:center;
}

.dl_type1 > dt span{
	position:relative;
	display:inline-block;
}

.dl_type1 > dt span:before{
	content:"";
	position:absolute;
	left:-50px;
	top:0;
	bottom:0;
	margin:auto;	
	width:40px;
	height:2px;
	background:#00834B;
}

.dl_type1 > dt span:after{
	content:"";
	position:absolute;
	right:-50px;
	top:0;
	bottom:0;
	margin:auto;
	width:40px;
	height:2px;
	background:#00834B;
}

.dl_type2 dt{
	color:#00834B;
}

.style_disc dd:before,
.style_disc li:before{
	content:"・";
}

.flex_wrap{

}


/* 各種パーツ - 矢印
--------------------------------------------------------------- */

.bg_arrow_r:after{
	content:"";
	display:block;
	position:absolute;
	right:10px;
	top:0;
	bottom:0;
	margin:auto;
	width:6px;
	height:6px;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(45deg);
}

.bg_arrow_r:hover:after{
	border-color:#fff;
}


/* 固定メニュー用 アンカー位置調整
--------------------------------------------------------------- */

.anchor_block{
    margin-top:-49px;
    padding-top:49px;
}