@charset "utf-8";
/*==================================================
	スマホのみに適用
==================================================*/
@media only screen and (max-width: 640px){
	body { font-size: 90%; }
	.dsp_hp, .dsp_hpt { display: none; }

	/* コンテナ */
	#wrap, #footer {
		min-width: 320px;
	}
	

	#header h1.title {
		font-size: 20px;
		width: 230px;
		max-height: 20px;
	}
	#header .title span {
		font-size: 14px;
	}

	#container .main .sub {
	/*	margin-bottom: 5px;*/
		font-size: 20px;
	}
	#container .main .ing {
		margin-bottom: 15fpx;
		padding-bottom: 5px;
		font-size: 20px;
	}

	/* フッター */
	#footer .footer_in .box_flex {
		padding: 15px;
	
	}
	#footer .footer_in .box_flex .box dt a {
		font-size: 30px;
		/* color: #fff; */
	}

	#footer .footer_in .box_flex .box .ing {
		font-size: 25px;
	}
	#footer .footer_in .box_flex .box dd p.sp {
		margin-left: 1.5em;
	} 
	#footer .contact .txt {
		font-size: 18px;
		/* color: #040; */
	}
	#footer .contact .btn a {
		width: 60%;
		font-size: 20px;
	}
	#copyright {
		height: auto;
		line-height: 1.6;
		padding: 5px 0;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 30px; }
	.pt { padding-top: 30px; }
	.pb { padding-bottom: 30px; }
	.cmn_btn a {
		letter-spacing: 0;
		font-size: 16px;
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/

	#top_ttl_top p.c_name {
		background-color: rgba(0, 0, 0, 0.3);
		font-size: 22px;
		/* color: #0F0; */
		margin-top: -50px;
		margin-left: 120px;
		padding: 5px;
		line-height: 15px;
	}
	#top_ttl_top p.c_name span {
		font-size: 18px;
	}
	#top_ttl_top p.c_name txt {	
		font-size: 14px;
		color: aqua;
	}
		
	#top_ttl_top p.sub_t {
		font-size: 16px;
		margin-top: -100px;
		margin-left: 5px;
		padding: 5px;
	}

	#msg {
		width: 100%;
		margin-top: 1em;
		padding: 0;
	}
	#msg .img_sp {
		width: 95%;
		margin: 1em auto;	
	}

	#msg .img_pc {
		display: none;		
	}
	#msg p.sub_t {
		font-size: 18px;
		font-weight: 600;
	}
	#msg .msg .title_pc {
		width: 90%;
		font-size: 18px;
		color: #00f;
		font-weight: 600;
		/* text-align: center; */
		padding: .4em;
		margin-top: -10em;
	}
	#msg .msg .title_pc span {
		font-size: 15px;
	}
	/* mobile */
	

	#msg .msg .txt {
		margin-top: 0em;
		font-size: 15px;
		color: #00f;
		font-weight: 550;
		/* padding: 1em; */
	}
	#msg .msg .txt2 {
		margin-top: 1em;
		font-size: 15px;
	}
	#msg .msg .txt2 span {
		font-size: 15px;
		font-weight: 550;
	}
	#msg .msg .txt3 {
		margin-top: 2em;
		margin-bottom: 4em;
		font-size: 15px;
		color: #00f;
	}
	#msg .cmn_btn {
		margin-bottom: 0%;
	}

	#top_greeting:before {
		background-position: left -20px top, right -20px top, left calc(50% - 20px) top 15px;
		background-size: auto, auto, 65% auto;
	}
	#top_menu {
		padding: 30px 0;
	}
	#top_menu:before {
		height: 100%;
	}
	#top_menu .box {
		width: 100%;
	}
	#top_menu .box .cmn_btn a {
		width: 80%;
		max-width: 245px;
	}
	#top_info h3.sub {
		font-size: 40px;
	}

	/* notice */
	#notice {
		width: 90%;
		margin-bottom: 20px;
	
	}
	#notice .title {
		width: 95%;
		font-size: 18px;
	} 

	/*--------------------------------------------------
		事業内容・実績
	--------------------------------------------------*/
	#svc {
		/* width: 100%; */
		/* margin: 0 auto; */
	}
	#svc .tbl {
		width: 100%;
	}
	#svc .tbl .td_ttl {
		display: none;
	}

	
	
	#midasi .naiyo {
		display: block;
	}
	#click p {
		font-size: 18px;
		color: #F00;
		/* font-weight: 600; */
		text-align: left;
	}
	#midasi p.txt {
		width: 90%;
		margin: 0 auto;
		font-size: 20px;
	}
	#midasi p.link {
		width: 90%;
		padding-left: 20px;
	}
	#midasi p.link img {
		width: 100%;
	}

	#jiseki .box p {
		font-size: 20px;
	}
	#jiseki .box p span  {
		font-size: 20px;
	}
	
	


	#service .pr .box img {
		background: none;
	}
	#service .pr .text {
		width: 100%;
	}
	#service .pr .text .mp {
		font-size: 18px;
		line-height: 40px;
		letter-spacing: 2px;
	}
	#service .pr .text .sentence {
		line-height: 25px;
	}
	#service .pr .text .nm_sentence {
		line-height: 25px;
	}
	#service .pr .photo {
		margin-top: 1em;
	}
	#service .flow {
		background: url(../img/service/square.png),rgba(106,197,242,0.5);
	}
	#service .flow .text {
		width: 100%;
	}
	#service .flow .text p {
		font-size: 18px;
		letter-spacing: 2px;
	}
	#service .flow .text ol::before {
		left: 15px;
	}
	#service .flow .text li {
		line-height: 40px;
		margin-bottom: 15px;
		padding-left: 10px;
	}
	#service .flow .text li span {
		top: -2px;
		font-size: 16px;
		letter-spacing: 2px;
	}
	#service .flow .text li::before {
		font-size: 23px;
		margin-right: 10px;
	}
	#service .flow .photo {
		margin-top: 1em;
	}
	#works .txt {
		margin-bottom: 20px;
	}
	#works .flex p {
		width: 31%;
	}
}
