@charset "utf-8";
/* CSS Document */

@media screen and (max-width:1290px) {
	header dd{
		width: 10.6rem;
	}
	header dd:last-child{
		float: left;
		width: 11.3rem;
	}
	header a.btn01 {
		background: #008f64;
		font-size: 1.0rem;
	}
	header dl {
		margin: 0.5rem 0 0 0;
	}
	
	/*----- header ----- */
	
	
}

@media screen and (max-width:1024px) {
	
	/*----- header ----- */
	header {
		padding: 0.9rem 1.0rem 0.3rem 1.0rem;
	}
	header .inner{
		width: 100%;
	}
	header dl,
	header h4,
	header nav{
		display: none;
	}
	header .drawer-hamburger{
		display: inline;
	}
	header .drawer nav h2{
		width: 67%;
		margin: 0.5rem auto 0 auto;
	}
	header .drawer nav h3{
		width: 44%;
		text-align: center;
		position: relative;
		margin: -0.2rem auto 0 auto;
	}
	header .drawer nav dl{
		display: block;
		position: relative;
		
	}
	header .drawer nav dt{
		margin: 1.2rem 0 0.6rem 0;
		font-size: 1.1rem;
		line-height: 1.6rem;
	}
	header .drawer nav dd{
		width: 61%;
		float: none;
		margin: 0 auto 0.5rem auto;
	}
	header .drawer ul,
	header .drawer dl,
	header .drawer nav{
		display: inline;
	}
	header .drawer ul{
		margin: 0.8rem auto;
		display: block;
		width: 100%;
		background: url(../images/bg02.png) repeat-x 0 top,
			 url(../images/bg02.png) repeat-x 0 bottom;
		padding: 10px 0;
	}
	header nav ul li{
		display: block;
	}
	header nav ul li a{
		display: block;
		padding: .5rem;
		font-size: 1.2rem;
		border-bottom: solid 1px #f6f6f6;
	}
	header nav ul li:last-child a{
		border-bottom: none;
	}
	
	/*----- 共通パーツ ----- */
	.inner{
		width: 90%;
	}
	
	/* --------------------
		  faq
	--------------------- */
	.faq_01{
		width: 94%;
	}
	
	
}











@media screen and (max-width: 768px) {
/* SP (ipad)*/

	img{width: 100%;}
	
	/*----- header ----- */

	
	
	/*----- footer ----- */
	footer h3{
		width: 40%;
		margin: 0 auto;
	}
	footer h4{
		width:25.5%;
		margin: 0 auto;
	}
	
	/*----- 共通パーツ ----- */

	
	/* --------------------
		   index.html
	--------------------- */	
	.news{
		border: none;
	}
	.news h3{
		float: none;
		text-align: center;
		width: 12.5%;
		margin: 0 auto;
	}
	.news ul{
		display: block;
		width: 90%;
		margin: 0 auto;
	}
	.news li{
		width: 100%;
		border: none;
		padding: 0 0 0.3rem 0;
		margin: 0 0 0.2rem 0;
		border-bottom: solid 1px #008f64;
	}	
	.menu li{
		width: 49.9%;
	}
	
	/* --------------------
		  faq
	--------------------- */
	.faq_01 .btn{
		width: auto;
	}
	.faq_01 .btn li{
		display: block;
	}
	.faq_01 a.btn01 {
		width: 100%;
		min-width: auto;
		display: block;
		padding: 0.8rem 0;
		margin: 0 0 0.5rem 0;
		font-size: 1.1rem;
		min-width: 200px;
	}
	/* --------------------
		  recruit
	--------------------- */
	.recruit_01 .btn li{
		display: block;
	}
	.recruit_01 a.btn01 {
		width: 100%;
		min-width: auto;
		display: block;
		padding: 0.8rem 0;
		margin: 0 0 0.5rem 0;
		font-size: 1.1rem;
		min-width: 200px;
	}
	/* --------------------
		  works
	--------------------- */
	.works_01 li{
		width: 29.5%;
	}
	
	/* --------------------
		  strength
	--------------------- */	
	.strength_01 h4{
		width: 8%;
		margin: 0 auto 2.0rem auto;
	}
	.strength_01 dt img{
		width: 90%;
	}
	
	
	/* --------------------
		  contact
	--------------------- */		
	.contact_01 p img{
		width: auto;
	}

	/* --------------------
		  partner
	--------------------- */		
	.partner_01 .youkou li{
		width: 20%;
		margin-bottom: 2.0rem;
	}
	
}








@media screen and (max-width: 480px) {
/* SP */
	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td{
		font-size: 13px;
	}
	
	/*----- header ----- */
	header{
		position: relative;
	}
	header h2{
		display: block;
		margin:-.5rem 0 0 0;
	}
	/*----- footer ----- */
	footer h3{
		width: 70.54%;
		margin: 0 auto;
	}
	footer h4{
		width: 35.56%;
		margin: 0 auto;
	}
	footer dd img{
		width: 70%;
	}
	footer h6 a.btn01{
		width: 80%;
		min-width: auto;
		display: block;
		padding: 0.8rem 0;
		margin: 0 auto 0.5rem auto;
		font-size: 1.1rem;
		min-width: 200px;
	}
	/*----- 共通パーツ ----- */
	table td, table th {
	  display: block;
	  width: 92%;
    padding: 0.5rem 4%;
	}
	table td{
		border-bottom: none;
	}
	
	.pc_only{display: none;}
	.sp_only{display: inline;}

	/* --------------------
		   index.html
	--------------------- */
	.news h3{
		width: 20%;
	}
	.main_vis{
		min-height: 200px;
	}
	.top_01 p br{
		display: none;
	}
	.top_01 h4 a{
		width: 80%;
		display: block;
		margin: 0 auto;
		font-size: 1.3rem;
		padding: 0.5rem 0;
	}
	.top_02{
		border-bottom: none;
	}
	.top_02 .left,
	.top_03 .left{
		width: 100%;
		display: block;
		margin: 0 0 0.9rem 0;
	}
	.top_02 .right,
	.top_03 .right{
		width: 100%;
		display: block;
		margin: 0 0 0.9rem 0;
	}	
	.top_03 .left h4{
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	.top_03 .left h4 img{
		width: 100%;
	}
	.top_03 h5 a{
		width: 80%;
		display: block;
		margin: 0 auto 1.8rem auto;
		text-align: center;
		font-size: 1.3rem;
		padding: 0.5rem 0;
	}
	/* --------------------
		  faq
	--------------------- */
	.faq_01 dl {
		margin-bottom: 3.0rem;
	}
	.faq_01 dt {
		background: url(../images/faq/icon_q.png) no-repeat 0.5rem 1.2rem;
		padding: 1.9rem 0 1.0rem 4.0rem;
		font-weight: 600;
	}
	.faq_01 dd {
		background: url(../images/faq/icon_a.png) no-repeat 0.5rem 0.8rem;
		padding: 1.5rem 0 1.5rem 4.0rem;
		border-bottom: solid 2px #E6E6E6;
	}
	/* --------------------
		  recruit
	--------------------- */
	.recruit_01 .btn{
		margin: 3rem 0 3rem 0;
	}
	.recruit_02 .inner{
	    padding: 2rem 0;	
	}
	.recruit_02 .left,
	.recruit_02 .right{
		width: 100%;
		display: block;
		margin: 0 0 1.1rem 0;
	}
	.recruit_02 .contact_area{
		width: 80%;
		margin: 0 auto;
	}
	.recruit_02 .contact_area li{
		display: block;
		margin-bottom: 0.5rem;
	}
	.recruit_02 .contact_area li img{
		width: 70%;
	}
	
	
	/* --------------------
		  company
	--------------------- */
	.company_01 .inner {
		margin: 2rem auto;
	}
	.company_01 .left,
	.company_01 .right{
		width: 100%;
		display: block;
		margin: 0 0 1.1rem 0;
	}
	/* --------------------
		  works
	--------------------- */
	.works_01 .inner {
		margin: 2rem auto;
	}
	.works_01 .left,
	.works_01 .right{
		width: 100%;
		display: block;
		margin: 0 0 1.1rem 0;
	}
	.works_01 li{
		width: 47%;
		margin: 0 .2rem 1.5rem .2rem;
	}
	.inline_content{
		padding: 16% 7% 5% 7%;
	}
	/* --------------------
		  strength
	--------------------- */	
	.strength_01 h4{
		width: 15%;
		margin: 0 auto 2.0rem auto;
	}
	.strength_01 dl{
		margin: 1.5rem 0 3.5rem 0;
	}	
	.strength_01 dd br{
		display: none;
	}
	/* --------------------
		  business
	--------------------- */
	.business_01 .inner {
		margin: 2rem auto;
	}
	.business_01 .left,
	.business_01 .right{
		width: 100%;
		display: block;
		margin: 0 0 1.1rem 0;
	}
	.business_01 .type_box .left{
		width: 100%;
		margin-right: 0%;
		display: block;
	}
	.business_01 .type_box .right{
		width: 60%;
		display: block;
		margin: 0 auto;
	}
	.business_01 .management{
		width: 100%;
		display: block;
		vertical-align: top;
		margin: 0 0%;
	}
	.business_01 .management dt{
	    min-height: 33px;	
	}
	.business_01 h5 {
		margin: 3.5rem 0 1.0rem 0;
	}
	
	/* --------------------
		  privacy
	--------------------- */
	.main_vis_under.privacy h2 img{
		max-width: 539px;
		width: 80%;
	}
	
	/* --------------------
		  contact
	--------------------- */
	.main_vis_under.contact h2 img{
		max-width: 351px;
		width: 80%;
	}
	.contact_01 .inner {
		margin: 2rem auto;
	}
	.contact_01 .contact_tb th{
		text-align: left;
	}
	
	
	/* --------------------
		  partner
	--------------------- */
	.partner_01 .inner {
		margin: 2rem auto;
	}
	.main_vis_under.partner h2 img{
		max-width: 367px;
		width: 80%;
	}	
	.partner_01 .contact_tb th{
		text-align: left;
	}
	.partner_01 .youkou li{
		width: 42%;
		margin-bottom: 2.0rem;
	}
	.partner_01 .youkou li img{
		width: 80%;
	}
	
	
}	
	
	
	