@charset "utf-8";

/*.fl{float: left;}
.fr{float: right;}*/
img{vertical-align: top;}
.container_rn{width: 1100px; padding-left: 15px; padding-right: 15px; margin: 0 auto;}

@media only screen and (max-width: 1199px) {
	.container_rn{width: 960px;}
}
@media only screen and (max-width: 991px) {
	.container_rn{width: 750px;}
}
@media only screen and (max-width: 767px) {
	.container_rn{width: 100%; padding: 0 15px;}
}

header{position: fixed; top: 0; left: 0; width: 100%; background-color: #fff; padding: 8px 0; z-index: 1000; box-shadow: 0 3px 6px rgba(0,0,0,0.2);}
header .inner{width: 1080px; margin: 0 auto;}
header .inner_sp{display: none;}
header .logo{margin-top: 5px; float: left;}
header .logo img{width: 100px; height: 91px;}
header section{width: 912px; position: relative; float: right;}
header .tel{position: absolute; top: 8px; width: 35%; }
header .btn_contact{position: absolute; top: 0; right: 0;}
header .btn_contact a{display: block; width: 360px; color: #fff; text-align: center; font-size: 16px; background-color: #1eaa39; border-radius: 2px; padding: 12px 0; line-height: 1;}
header .btn_contact a:hover{opacity: 0.6;}
header .snsBtn { position: absolute; top: 0; right: 375px; }
header .snsBtn a { display: inline-block; margin: 2px 3px; }
header .gmenu{text-align: center; border-top: 1px solid #1eaa39; margin-top: 50px; padding-top: 10px; font-size: 11pt; font-weight: bold; font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
header .gmenu li{position: relative;display: table-cell;vertical-align: middle; border-left: 1px dotted #1eaa39; width: 12%;}
header .gmenu li:last-child{border-right: 1px dotted #1eaa39;}
header .gmenu li a{display: block; padding: 15px 0; line-height: 15px; color: #333;}
header .gmenu li a:hover, header .gmenu li .subMenu a{background-color: #1eaa39; color: #FFF;}
header .gmenu li .subMenu{position: absolute;top: 45px;left: 0;right: 0;overflow: hidden; height: 0;}
header .gmenu li a:hover + .subMenu, header .gmenu li .subMenu:hover{height: 200px;}
header .gmenu li .subMenu a{border-top: 1px solid #FFF; font-size: 85%;}
header .gmenu li .subMenu a:hover {background-color: #5CB46B;}
header .gmenu li a .st0{fill:#495862;}
header .gmenu li a:hover .st0{fill:#fff;}
header .gmenu li a svg{height: 30px; width: auto;}

.sideBtn {
	position: fixed;
	right: 0;
	margin: auto;
	line-height: 0;
}

@media only screen and (min-width: 992px) {
	.pc-w-Site { display: block !important; }
	}
@media only screen and (max-width: 991px) {
	.pc-w-Site { display: none !important; }
	}

@media only screen and (min-width: 768px) {
	.pcSite { display: block !important; }
	.spSite { display: none !important; }
	.sideBtn {
		bottom: 15%;
		width: 60px;
		opacity: 0.8;
	}
	.sideBtn a {
		display: block;
		margin-top: 5px;
		border: 2px solid #FFF;
		border-right: none;
	}
}
@media only screen and (max-width: 767px) {
	.pcSite { display: none !important; }
	.spSite { display: block !important; }
	.sideBtn {
		bottom: 0;
		left: 0;
		display: table;
		width: 100%;
		opacity: 0.8;
	}
	.sideBtn a {
		display: table-cell;
		vertical-align: middle;
	}
	.sideBtn a:nth-child(1) { padding-right: 2px; }
	.sideBtn a:nth-child(2) { padding: 0 1px; }
	.sideBtn a:nth-child(3) { padding-left: 2px; }
}

/*.company .gmenu li:nth-child(1) a,
.brand .gmenu li:nth-child(2) a,
.workspage .gmenu li:nth-child(3) a,
.single-workspage .gmenu li:nth-child(3) a,
.voicelist .gmenu li:nth-child(4) a,
.voicelist-child .gmenu li:nth-child(4) a,
.casebooklist .gmenu li:nth-child(5) a,
.single-casebook .gmenu li:nth-child(5) a,
.proposal .gmenu li:nth-child(5) a,
.customervoice .gmenu li:nth-child(6) a,
.single-customervoice .gmenu li:nth-child(6) a{background-color: #1eaa39;}
.company .gmenu li:nth-child(1) a .st0,
.brand .gmenu li:nth-child(2) a .st0,
.workspage .gmenu li:nth-child(3) a .st0,
.single-workspage .gmenu li:nth-child(3) a .st0,
.voicelist .gmenu li:nth-child(4) a .st0,
.voicelist-child .gmenu li:nth-child(4) a .st0,
.casebooklist .gmenu li:nth-child(5) a .st0,
.single-casebook .gmenu li:nth-child(5) a .st0,
.proposal .gmenu li:nth-child(5) a .st0,
.customervoice .gmenu li:nth-child(6) a .st0,
.single-customervoice .gmenu li:nth-child(6) a .st0{fill:#fff;}*/


.pagetop{text-align: right; margin-top: 60px;}
.pagetop img{width: auto; height: 50px;}

footer{background-color: #259b3a; font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
footer .foot_top{text-align: center; padding: 30px 0; line-height: 1.8;}
footer .foot_top li{display: inline-block; text-align: center; margin: 0 5px;}
footer .foot_top a{color: #fff; font-size: 13px;}
footer .foot_top a:hover{text-decoration: underline;}
footer .foot_bottom{background: url(../images/bg_foot_bottom.gif) repeat-x top left;}
footer .company_col{padding: 20px 0;}
footer .company_col li{float: left; margin-right: 30px;}
footer .company_col p.mds01{color: #fff; font-size: 16px; margin: 14px 0 5px;}
footer .company_col p{color: #fff; font-size: 14px; line-height: 21px; letter-spacing: 0.05em;}
footer .company_col .tel{margin-top: 14px; width: 30%;}
footer .company_col .btn_contact{text-align: center; width: 250px; float: right; margin-right: 0; margin-top: 10px;}
footer .company_col .btn_contact a{display: block; color: #1eaa39; padding: 26px 0; font-size: 15px; line-height: 1; background-color: #fff; border-radius: 2px;}
footer .company_col .btn_contact a:hover{opacity: 0.6;}
footer .main_office p.mds02{background-color: #5cb46b; color: #fff; text-align: center; padding: 5px 0; font-size: 13px; line-height: 1;}
footer .main_office p{font-size: 13px; line-height: 19px; color: #fff; letter-spacing: 0.05em; margin-top: 5px;}
footer .main_office li{position: relative;}
footer .main_office .link-shikoku{color: #fff; text-decoration: underline; font-size: 13px; line-height: 20px; position: absolute; bottom: 0; right: -70px}
footer .other_office{text-align: center; font-size: 12px; color: #fff; border-top: 1px solid #67b975; padding: 25px 0; margin-top: 25px;}
footer .other_office span{font-size: 13px;}
footer .copyright{ position: relative; background-color: #000; text-align: center; color: #ddd; font-family: 'Open Sans', sans-serif!important; padding: 20px 0; font-size: 12px; letter-spacing: 0.1em;}
footer .copyright.tal { text-align: left !important; padding: 20px 2%; }
footer .copyright .snsBtn { position: absolute; top: 0; bottom: 0; right: 2%; margin: auto; height: 30px; }
footer .copyright .snsBtn a { display: inline-block; margin-left: 5px; width: 30px; }

@media only screen and (max-width: 1199px) {
	header .inner{width: 950px;}
	header section{width: 800px;}
	header .btn_contact a{width: 300px;}
	header .snsBtn { right: 310px; }
	footer .company_col li{margin-right: 20px;}
	footer .main_office .link-shikoku{right: -110px;}
}
@media only screen and (max-width: 991px) {
	header .inner{width: 720px;}
	header section{width: 605px;}
	header .tel{top: 12px; left: 0px;}
	header .btn_contact a{width:180px; font-size: 14px; padding: 14px 0;}
	header .snsBtn { right: 190px; }
	header .gmenu{margin-top: 55px; padding-top: 10px; font-size: 9.5pt;}
	header .gmenu li a{padding: 5px 0;}
	header .gmenu li a img,
	header .gmenu li a svg{height: 21px; width: auto; max-width: 100px!important;}

	.pagetop{margin-top: 40px;}
	.pagetop img{width: auto; height: 40px;}

	footer .foot_top{padding: 24px 0;}
	footer .foot_top li{margin: 0 7px;}
	footer .foot_top a{color: #fff; font-size: 12px;}
	footer .company_col{padding: 15px 0;}
	footer .company_col li{margin-right: 15px;}
	footer .company_col li:first-child img{width: 73px; height: auto;}
	footer .company_col p.mds01{font-size: 13px; margin: 5px 0 5px;}
	footer .company_col p{font-size: 12px; line-height: 18px;}
	footer .company_col .tel{margin-top: 10px;}
	footer .company_col .tel img{width: 230px; height: auto;}
	footer .company_col .btn_contact{width: 170px; margin-top: 5px;}
	footer .company_col .btn_contact a{padding: 20px 0; font-size: 13px;}
	footer .main_office p.mds02{font-size: 12px;}
	footer .main_office p{font-size: 11px; line-height: 17px; letter-spacing: 0.05em; margin-top: 5px;}
	footer .main_office .link-shikoku{right: -70px; font-size: 11px; line-height: 18px;}
	footer .other_office{font-size: 11px; padding: 20px 0; margin-top: 20px;}
	footer .other_office span{font-size: 11px;}
	footer .copyright{padding: 15px 0; font-size: 11px;}
}
@media only screen and (max-width: 767px) {
	header{padding: 0;}
	header .inner{display: none;}
	header .inner_sp{display: block; padding: 11px 10px; border-bottom: 1px solid #1eaa39;}
	header .inner_sp .logo_sp{margin-top: 0;}
	header .inner_sp .logo_sp img{height: 23px; width: auto;}
	header .inner_sp ul{position: absolute; top: 0; right: 50px;}
	header .inner_sp li{float: left; width: 50px; text-align: center;}
	header .inner_sp li.tel a{padding-top: 8px;}
	header .inner_sp li.tel{top: auto; position: static;}
	header .inner_sp li.tel img{height: 25px; width: auto;}
	header .inner_sp li.mail a{padding-top: 13px;}
	header .inner_sp li.mail img{height: 17px; width: auto;}
	header .inner_sp li a{display: block; height: 45px; border-left: 1px solid #92cd9d;}
	header .inner_sp .toggle{width: 50px; height: 45px; cursor: pointer; outline: none; background-color: #1eaa39; border: none; position: absolute; top: 0; right: 0;}
	header .inner_sp .toggle:after{content: ''; position: absolute; width: 60%; height: 3px; background-color: #fff; top: 11px; left: 20%; box-shadow: 0 10px 0 #fff, 0 20px 0 #fff;}
	header .inner_sp .gnavi_sp{font-size: 11pt; display: none; position: absolute; top: 46px; width: 100%; left: 0;font-weight: bold;}
	header .inner_sp .gnavi_sp li{float: none; background-color: #fff; width: 100%; padding: 0; border-top: 1px solid #92cd9d;}
	header .inner_sp .gnavi_sp li a{display: block; padding: 15px 0;width: 100%; text-align: center; height: auto; border-left: none;color: #000;}
	header .inner_sp .gnavi_sp li p{font-size: 11px; color: #fff; margin-top: 5px; line-height: 1;}
	.snsBtn_sp a { display: inline-block!important; width: 50px!important; border: none!important; }
	.pagetop{margin-top: 30px;}
	.subMenu {border-top: 1px solid #92cd9d;}
	.subMenu:after { display: block; content: ""; clear: both; }
	header .inner_sp .gnavi_sp li .subMenu a {font-size: 75%; padding: 12px 0; float: left; width: 33%; margin-left: 0.5%; background-color: #1eaa39; color: #FFF!important;}
	header .inner_sp .gnavi_sp li .subMenu a:nth-child(3n+1) { clear: both; margin-left: 0; }

	footer .foot_top{padding: 0;}
	footer .foot_top li{margin: 0; float: left; display: inline-block; width: 50%; border-bottom: 1px solid #1eaa39;}
	footer .foot_top li:nth-child(odd){border-right: 1px solid #1eaa39;}
	footer .foot_top li.w100 { border-right: none; width: 100%; }
	footer .foot_top a{color: #fff; font-size: 12px; display: block; padding: 14px 0;}
	footer .foot_bottom{background: none;}
	footer .company_col li{margin-right: 0;}
	footer .company_col li:first-child{margin-right: 20px;}
	footer .company_col li:first-child img{width: 73px; height: auto;}
	footer .company_col p.mds01{font-size: 13px; margin: 5px 0 5px;}
	footer .company_col p{font-size: 12px; line-height: 18px;}
	footer .company_col .tel{float: none; clear: both; padding-top: 15px;}
	footer .company_col .tel img{width: 270px; height: auto; display: block; margin: 0 auto ;}
	footer .company_col .btn_contact{display: none;}
	footer .main_office p.mds02{margin-top: 10px;}
	footer .main_office p{font-size: 12px; line-height: 18px;}
	footer .main_office .link-shikoku{right: auto; bottom: auto; position: relative; font-size: 12px; line-height: 20px;}
	footer .main_office .link-shikoku br{display: none;}
	footer .other_office{font-size: 12px; padding: 15px 0; margin-top: 15px; text-align: left; line-height: 18px;}
	footer .other_office span{font-size: 13px;}
}