@charset "utf-8";
/*
 * CSS base.css
 */
 
/* ---------------------------------------
base
--------------------------------------- */
body{
	color: #474747;
	font-size: 15px;
	line-height: 1.8;
	text-align: left;
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','メイリオ',Meiryo,sans-serif;
	-webkit-text-size-adjust: 100%;
	letter-spacing: 0.001em;
	max-height: 999999px;
}
@media screen and (max-width: 959px) {
	body { width: 100%; overflow: hidden; }
}
@media screen and (max-width: 639px) {
	body { font-size: 13px; }
}
@media screen and (max-width: 479px) {
}


/* 
---------------------------------------
#header
--------------------------------------- */
#header {
	width: 100%;
	height: 105px;
	background: #fff;
	border-top: 6px solid #b2e0ca;
}
#header:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0.1em; overflow:hidden; line-height:0; font-size: 0.1em; }
#header .logo { position: absolute; top: 18px; left: 0px; }
#header .cap { position: absolute; top: 0px; right: 0px; font-size: 0.9em; }
#header .tel { position: absolute; top: 40px; right: 0px; }
#menubtn, #closebtn { display: none; }
@media screen and (max-width: 959px) {
	#header { position: absolute; z-index: 1000; }
	#header .cap { display: none; }
	#header .tel { top: 25px; right: 60px; width: 50px; }
	#menubtn, #closebtn { position: absolute; top: 25px; right: 0; width: 50px; }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 639px) {
	#header { height: 90px; border-top: 3px solid #b2e0ca; }
	#header .logo { width: 160px; top: 15px; }
	#header .tel { right: 45px; width: 40px; }
	#menubtn, #closebtn { right: 0; width: 40px; }
}





/* 
---------------------------------------
#gnav
--------------------------------------- */
#gnav {
	width: 100%; 
}
#gnav:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0em; overflow:hidden; line-height:0; font-size: 0.1em; }
#gnav li { float: left; width: auto; }
#gnav li a { text-align: center; line-height: 0.1em; font-size: 0.1em; width: 100%; display: block; padding: 10px 0; }
@media screen and (max-width: 959px) {
	#gnav { height: auto; padding: 0px 0; position: absolute; top: 0; right: 0; width: 100%; z-index: 999; overflow-y: auto; background: #32AC72; }
	#gnav .incnt { width: 100%!important; margin: 0!important; }
	#gnav li { float: none; width: 100%; border-top: 1px dotted #7FCBA7; }
	#gnav #closebtn_innav a { line-height: 0.1em; font-size: 0.1em; width: 100%; display: block; padding: 10px 0; text-align: right; }
	#gnav li img { height: 17px; }
	#gnav li a { width: 92%; text-align: left; padding: 20px 4%; position: relative; }
	/*#gnav li.current { background: #ffb465; }*/
	#gnav #closebtn_innav a { line-height: 0.1em; font-size: 0.1em; width: 100%; display: block; padding: 10px 0; text-align: right; }
	#gnav li a:after { content: "\e607"; font-family:"icon"; position: absolute; top: 50%; margin-top: -9px; right: 3%; font-size: 18px; line-height: 18px; color: #fff; }
}





/*

---------------------------------------
#gnav
--------------------------------------- 
#gnav {
	width: 100%; 
	margin-top: 120px;
}
#index #gnav { margin-top: 380px; }
#gnav:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0em; overflow:hidden; line-height:0; font-size: 0.1em; }
#gnav li { float: left; border-top: 1px dotted #fff; }
#gnav li:first-child { border-top: none; }
#gnav li a { text-align: center; line-height: 0.1em; font-size: 0.1em; width: 100%; display: block; padding: 10px 0; }
@media screen and (max-width: 959px) {
	#gnav li img { height: 15px; }
	#gnav li a { width: 92%; text-align: left; padding: 20px 4%; position: relative; }
	#gnav li a:before { content: url(../img/common/icon2.png); position: absolute; top: 50%; right: 4%; margin-top: -10px; font-size: 9px; }
	#gnav li.current { background: #ffb465; }
	#gnav #closebtn_innav a { line-height: 0.1em; font-size: 0.1em; width: 100%; display: block; padding: 10px 0; text-align: right; }
}
*/








/* ---------------------------------------
#mainv
--------------------------------------- */
#mainv { height: 85px; width: 100%; background: #33ad73; }
@media screen and (max-width: 959px) {
	#mainv { margin-top: 110px; }
}
@media screen and (max-width: 639px) {
	#mainv { margin-top: 93px; height: 70px; }
}
@media screen and (max-width: 479px) {
}




/* ---------------------------------------
#mainv_index
--------------------------------------- */
#mainv_index { height: auto; width: 100%; background: #CBEADB; position: relative; }
#mainv_index .img1 { position: absolute; right: 0; top: 30px; width: 525px; }
#mainv_index .copy { position: absolute; left: 0; top: 60px; }
#mainv_index .img3 { position: absolute; right: 2%; top: 177px; }
#mainv_index .topic { height: 170px; width: 100%; background: url(../img/index/mv_bg.png) center top; margin-top: 230px; }
#mainv_index .txt { position: absolute; left: 50%; top: 40px; margin-left: -462px; }
@media screen and (max-width: 959px) {
	#mainv_index { margin-top: 110px; }
	#mainv_index .copy { left: 50%; top: 40px; width: 550px; margin-left: -275px; }
	#mainv_index .img1 { left: 50%; top: 155px; width: 470px; margin-left: -235px; }
	#mainv_index .img3 { top: 197px; }
	#mainv_index .topic { height: 280px; width: 100%; background: url(../img/index/mv_bg.png) center top; margin-top: 250px; }
	#mainv_index .txt { top: 90px; margin-left: -235px; width: 470px; }
}
@media screen and (max-width: 639px) {
	#mainv_index { margin-top: 93px; height: 220px; margin-bottom: 0px; background: url(../img/index/mv_bg_l.png) no-repeat center bottom; }
	#mainv_index .copy { top: 30px; width: 420px; margin-left: -210px; }
	#mainv_index .img1 { top: 120px; width: 400px; margin-left: -200px; }
	#mainv_index .topic, #mainv_index .img3 { display: none; }
}
@media screen and (max-width: 479px) {
	#mainv_index { height: auto; margin-bottom: 0px; background: url(../img/index/mv_bg_s.png) no-repeat center bottom; text-align: center; }
	#mainv_index .copy { position: static; width: 90%; padding: 25px 0 20px; margin: 0 auto; text-align: center; max-width: 380px; }
	#mainv_index .img1 { position: static; width: 90%; margin: 0 auto; text-align: center; max-width: 380px;}
}
@media screen and (max-width: 400px) {
	#mainv_index { background: url(../img/index/mv_bg_p.png) no-repeat center bottom; }
}




/* ---------------------------------------
#content
--------------------------------------- */
#content {
	width: 100%;
	padding-top: 40px;
	margin-bottom: 120px;
}

#cnt_main {
	float: left;
	width: 630px;
}
@media screen and (max-width: 959px) {
	#cnt_main { float: none; width: 100%; margin-bottom: 80px; }
	#content { margin-bottom: 80px; padding-top: 30px; }
}
@media screen and (max-width: 639px) {
	#cnt_main { margin-bottom: 50px; }
	#content { margin-bottom: 40px; }
}
@media screen and (max-width: 479px) {
	#content { padding-top: 20px; }
}




/* ---------------------------------------
#cnt_side
--------------------------------------- */
#cnt_side {
	float: right;
	width: 260px;
}
@media screen and (max-width: 959px) {
	#cnt_side { float: none; width: 100%; padding-top: 0px; }
}

/* #cs_1 */
#cs_1.insec { margin-bottom: 10px;}
@media screen and (max-width: 959px) {
	#cs_1.insec { display: none; }
}
@media screen and (max-width: 639px) {
	#cs_1.insec { margin-bottom: 0px; }
}

/* #cs_2 */
@media screen and (max-width: 959px) {
	#cs_2.insec { max-width: 320px; margin: 0 auto 30px; }
	#index #cs_2.insec { display: none; }
}
@media screen and (max-width: 639px) {
}

/* #cs_3 */
#cs_3 .cstitle { background: #32AC72; margin-bottom: 10px; text-align: center; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; }
#cs_3 .cstitle img { width: 106px; }
#cs_3 .txt1 { color: #00974F; font-size: 16px; font-weight: bold; }
#cs_3 .txt2 { font-size: 0.87em; line-height: 1.4em; margin-bottom: 15px; }
#cs_3 .bgbox { background: #E5F4ED; padding: 5px 10px; }
#cs_3 .bgbox .txt3 { font-weight: bold; color: #00974F; border-bottom: 2px dotted #7FCBA7; text-align: center; padding-bottom: 5px; margin-bottom: 5px; }
#cs_3 .bgbox .txt4 { font-weight: bold; text-align: center; }
@media screen and (max-width: 959px) {
	#cs_3.insec { margin-bottom: 40px; }
	#cs_3 .bgbox { padding: 10px 4%; }
	#cs_3 .txt2 { font-size: 1em; margin-bottom: 20px; }
}
@media screen and (max-width: 639px) {
	#cs_3 .cstitle { padding: 2px 0 4px; }
	#cs_3 .bgbox { padding: 6px 4%; }
}

/* #cs_4 */
#cs_4 { padding-bottom: 10px; border-bottom: 2px solid #00974F; border-top: 3px solid #00974F;  }
#cs_4 .img1 { margin: 1px auto 20px; width: 100%; border-top: 1px solid #00974F; text-align: center; }
#cs_4 .img1 img { width: 220px; margin: 15px auto 0; }
#cs_4 .txt1 { font-weight: bold; margin:8px 0 5px; }
#cs_4 .txt1 img { height: 23px; vertical-align: middle; margin-right: 8px; }
#cs_4 .txt2 { font-size: 0.93em; line-height: 1.7em; }
#cs_4 .txt2 span { display: inline-block; }
@media screen and (max-width: 959px) {
	#cs_4 .img1 { }
	#cs_4 .img1 img { width: 280px; }
	#cs_4 .txt2 { font-size: 1em; }
}
@media screen and (max-width: 639px) {
	#cs_4 .img1 img { width: 250px; }
}





/* ---------------------------------------
#pagetop
--------------------------------------- */
#pagetop {
	width: 124px;
	height: 58px;
	position: absolute;
	top: 0px;
	right: 4%;
	z-index: 1001;
}
@media screen and (max-width: 959px) {
	#pagetop { position: static; text-align: right; margin: 0 4%; width: 92%; height: auto; }
	#pagetop img { width: 100px; }
}



/* ---------------------------------------
#footer
--------------------------------------- */
#footer {
	width: 100%;
	position: relative;
}
#footer .cap span { display: inline-block; }
#footer .copyright { text-align: center; font-size: 0.9em; background: #CBEADB; color: #474747; }
#footer .copyright span { display: inline-block; }

#footer .inbox { width: 100%; background: url(../img/common/bg1.png) repeat-x bottom center; }
#footer .box { width: 100%; background: #19A261; text-align: center; color:#fff; font-size: 0.93em; padding: 15px 0; }
@media screen and (max-width: 959px) {
	#footer .inbox { background: none; }
	#footer .box { margin: 0px!important; padding: 0px 4%; width: 92%!important; background: #CBEADB; color:#474747; }
	#footer .cap { padding-top: 10px; }
	#footer .copyright { padding: 5px 0 10px; }
}



/* #fnav */
#footer #fnav { padding-bottom: 35px; }
#footer #fnav ul { text-align: center; }
#footer #fnav li { padding: 0 15px; display: inline-block; }
#footer #fnav li a { text-decoration: none; font-size: 15px; font-weight: bold; }
#footer #fnav li a:before{ content: "\e601"; font-family:"icon"; display: inline-block; vertical-align: middle; color: #323232; font-size: 0.5em; padding-right: 2px; }
@media screen and (max-width: 959px) {
	#footer #fnav { width: 110%; margin: 0 -5%; padding-bottom: 0px; background: url(../img/common/bg_sp.png) repeat-x top left; padding-top: 10px;}
	#footer #fnav ul { text-align: left; }
	#footer #fnav li { float: none; display: inline-block; margin-left: 0px; border-bottom: 1px dotted #fff; width: 100%; position: relative; padding: 0px; }
	#footer #fnav li a { width: 93%; display: block; background: #1aa262; color: #fff; font-weight: bold; padding: 10px 4%; font-size: 16px; }
	#footer #fnav li a:before{ content: ""; position: static; display: none; }
	#footer #fnav li a:after { content: "\e607"; font-family:"icon"; position: absolute; top: 50%; margin-top: -9px; right: 3%; font-size: 18px; line-height: 18px; color: #fff; }
}









