@charset "utf-8";
/* CSS Document */

@media screen and (max-width: 768px) {
	body {
	}
	#wrap{
		margin:0;
		padding:0;
	}
	.img-100{
		width:100%;
		height:auto;
	}
	.img-80{
		width:80%;
		height:auto;
	}
	.img-50{
		width:50%;
		height:auto;
		margin:0 25%;
	}
	.img-w40{width:40px;}
	.img-w80{width:80px;}
	.sp-none{
		display:none;
	}
	#wrap section{
		width:94%;
		margin:0 3%;
	}
	.flex-bt{
		display: block;
	}
	
	/*font*/
	.f-center-sp{text-align:center !important;}
	.f-line-sp{line-height:1.4;}
	.f-left-sp{text-align:left !important;}
	.f-right-sp{text-align: right !important;}
	
	/*font*/
	.fs-14{font-size:1.2rem;}
	.fs-18{font-size:1.4rem;}
	.fs-24{font-size:2rem;}
	.fs-28{font-size:2.2rem;}
	.fs-56{font-size:4.4rem;}
	.fs-64{font-size:5rem;}
	
	/*margin*/
	.mt10{ margin-top:10px;}
	.mb10{margin-bottom:5px;}
	.mb20{margin-bottom:10px;}
	.mb40{margin-bottom:20px;}
	.mb80{margin-bottom:40px;}
	.mg40{margin:20px;}
	.mr20{ margin-right:10px;}
	.mr40{ margin-right:20px;}
	.sp-mb10{margin-bottom:10px;}
	.sp-mr10{ margin-right:10px;}
	
	/*padding*/
	.pd20{padding:10px 3%;}
	.pd30{padding:15px 4%;}
	.pd40{padding:10px 5%;}
	.ptb40{padding:20px 0;}
	.ptb80{padding:40px 0;}
	
	.sp-block{display:block;}

	/*====================================
	 midashi
	====================================*/
	h2{
		font-size:3.2rem;
	}
	.blue_ttl h2:before, .blue_ttl h2:after,
	.white_ttl h2:before, .white_ttl h2:after{
		-webkit-background-size:20px 20px;
		width: 20px;
		height: 20px;
		position:absolute;
		bottom:10px;
	}
	.blue_ttl h2:before, .white_ttl h2:before{
		left:0px;
	}
	.blue_ttl h2:after, .white_ttl h2:after{
		right:0px;
	}
	/*h3*/
	h3, h4{
		font-size:2.5rem;
	}
	
	/*fuki_y*/
	.fuki_y p{
		font-size: 2rem;
		line-height:1.4;
	}
	.btn_01 a{
		padding: 0.5em 1em;
		font-size: 2rem;
	}

	/*====================================
	 header
	====================================*/
	header {
		padding: 5px 0;
		height:30px;
		position:relative;
	}
	header .container {
		max-width: 94%;
		padding:0 3%;
	}
	header .container .logo img {
		height: 20px;
	}
	header .container .tel img {
		height: 20px;
	}
	/*main*/
	.main{
		height:auto;
		position:relative;
	}
	.main h2{
		padding:15px 0 0 0;
	}
	.main p{
		position:absolute;
		right:5%;
		bottom:10px;
		z-index:10;
	}
	.main p img{
		width:120px;
	}
	/*line_block*/
	.line_block{
		background:#f9f8cb;
	}
	.line_block dl{
		line-height:1.4;
	}
	.line_block dt {
		padding:10px 0;
		font-size:2rem;
		color:#fff;
		font-weight:bold;
		text-align:center;
	}
	.line_block .btn_toggle {
		background: url(../images/arrow_w_down.png) no-repeat 95% center #00b900;
		background-size: auto;
		background-size: 13px 7px;
	}
	.line_block .btn_toggle.active {
		background: url(../images/arrow_w_up.png) no-repeat 95% center #00b900;
		background-size: auto;
		background-size: 13px 7px;
	}
	.line_block dd {
		display: none;
		padding:10px 4%;
		border:5px solid #00b900;
		box-sizing:border-box;
		background:#fff;
	}
	.line_block dd p{
		float:left;
	}
	.line_block dd .img{
		width:40%;
		margin:0 3% 0 0;
	}
	.line_block dd .txt{
		width:57%;
	}
	
	/*menu_ttl*/
	.menu_ttl{
		margin:10px 0;
		padding:0.25em 0.5em;
		font-size:2.8rem;
	}

	/*samatage*/
	.samatage_bg{
		margin:0 0 350px 0;
	}
	.samatage_inner{
		padding:40px 0 0 0;
	}
	.samatage dd{
		font-size:1.6rem;
		margin:0 6%;
	}
	.samatage dd .mr40{margin:0;}

	/*menu*/
	.menu_bg{
		margin:300px 0 0 0;
	}
	.menu_inner{
		padding:0 0 40px 0;
	}
	.menu_mini dt{
		font-size:1.8rem;
	}

	/*hosho*/
	.hosho li{
		width:100%;
		font-size:1.6rem;
		margin:0 0 20px 0;
	}
	/*voice*/
	.voice{
		padding:20px 5%;
	}
	.voice dt{
		margin:0 0 10px 10px;
	}

	/*media*/
	.media{
		box-sizing:border-box;
	}
	.media_tv{
		padding:0px 5% 20px 5%;
	}
	.media_tv .fuki_y{
		top:-10px;
	}

	/*staff*/
	.staff{
		padding:0 0 40px 0;
		background: none;
	}
	.staff .mr40, .staff .ml40{margin:0 0 20px 0;}
	.arrow_box_r:after {
		top: 100%;
		left: 50%;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(249, 248, 203, 0);
		border-top-color: #f9f8cb;
		border-width: 15px;
		margin-left: -15px;
	}
	.arrow_box_l:after {
		top: 100%;
		left: 50%;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(249, 248, 203, 0);
		border-top-color: #f9f8cb;
		border-width: 15px;
		margin-left: -15px;
	}
	.arrow_box_r, .arrow_box_l {
		padding: 1em;
		font-size: 1.6rem;
	}
	/*cv*/
	.cv{
		padding:10px 5%;
		background:#fff100;
	}
	
	
	/*====================================
	 FOOTER
	====================================*/
	footer {
		font-size:1.2rem;
	}
	footer nav ul {
		overflow: hidden;
		background-color: #fff;
		-webkit-border-radius: 12px;
		-moz-border-radius: 12px;
		-ms-border-radius: 12px;
		-o-border-radius: 12px;
		border-radius: 12px;
		display: inline-block;
		padding: 0 0px;
		letter-spacing: -0.4em;
	}
	footer nav ul li {
		display: inline-block;
		letter-spacing: normal;
		text-align: center;
		vertical-align: middle;
		width: 100%;
		border-bottom: 1px solid #f0ddbd;
	}
	footer nav ul li a {
		display: inline-block;
		text-align: center;
		padding: 10px;
		font-size: 17px;
		padding: 15px;
		color: #0264b0;
		text-decoration: none;
	}
	footer nav ul li span {
		display: none;
	}
	footer .companyList {
		width: 94%;
		padding: 0 3%;
	}
	footer .companyList li {
		margin:0 auto 10px auto;
		width: 90%;
		display:block;
	}
	/*btm-bnr*/
	#scrollUp{
		display:none;
	}
	.to-top{
		position: fixed;
		display: flex;
		right: 15px;
		bottom:35px;
		cursor: pointer;
		z-index:100;
		display:none;
	}
	.to-top img{
		width:110px;
	}
	.btm-bnr {
		position: fixed;
		bottom: 35px;
		right:15px;
		width: 100%;
		cursor: pointer;
	}
	.btm-bnr p{
		text-align: right;
	}
	.btm-bnr p img{
		width:110px;
	}

	.flex-bt-sp{
		display: -webkit-flex;
		display: flex; 
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}


}
