@charset "utf-8";

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
スマホ　タブレット用
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

@media only screen and (max-width: 1024px) { 
	body {font-size: 16px;}

	#main {
		padding-bottom: 50px;
	}
	.header_inner {
		padding: 0 3.25%;
	}
	#logo {
		width: 40%;
		padding: 20px 0 0;
	}
	.line_id {
		display: none;
	}
	.line_id_sp {
		display: inline-block;
		width: 30%;
	}
	.line_id_sp img {
		width: 100%;
	}

	.topimginner {
		position: static;
		width: auto;
		margin: 0 3.125%;
	}
	.topimg img {
		margin: 0px auto;
		width: 100%;
	}
	.top3C {
		position: static;
		width: 100%;
		margin-top: -140px;
	}
	.top3C img {
		width: 80%;
	}
	.topketteiteki img {
		width: 100%;
	}
	.toptaisetsu {
		margin: 0 3.125%;
	}
	.topyen img {
		width: 80%;
	}
	#ban1.ban {
		margin: 0 auto 60px;
	}

	/* ---------------------------------------------------------------------- */
	#box2.box {
		margin-bottom: 50px;
	}
	#box4.box {
		margin-bottom: 30px;
	}
	#box5.box {
		margin-bottom: 0;
	}
	.boxtitle h2 {
		width: 90%;
	}
	.boxtitle h2 strong {
		font-size: 5vw;
		padding-left: 170px;
	}
	.boxtitle img {
		position: absolute;
		left: 0px;
		top: -40%;
		width: 40%;
		max-width: 300px;
	}
	.box3boxtitle h3 {
		font-size:30px;
		font-weight: 900;
		line-height: 1.2;
	}
	.box3boxtitle h3 strong {
		font-size: 40px;
	}
	/* --新設　タイトル-------------------------------------------------------------------- */
	.title01 h2 {
		width: 95%;
		min-height: 120px;
	}
	.title01 h2 span {
		font-size: 5vw;
		padding-left: 170px;
	}
	.title01 h2 img {
		position: absolute;
		left: 0;
		top: -3.5vh;
			max-width: 300px;
	}

	.box5box img {
		width: 100px;
	}

	/* ---------------------------------------------------------------------- */
	.voicetitle img {
		width: 80%;
	}

	/* ---------------------------------------------------------------------- */
	.compdetlogo img {
		width: 400px;
	}

	/* ---------------------------------------------------------------------- */
	.bengoshititle h2 {
		font-size: 45px;
	}
	#company.box {
		margin-bottom: 50px;
	}
	.compdetex4 dt {
	}
	.compdetex4 dt,
	.compdetex4 dd {
		font-size: 14px;
	}
	#faq.box {
		margin-bottom: 50px;
	}

	/* ---------------------------------------------------------------------- */
	.contacttitle h2 {
	}

	.sptb_break {
		display: block;
	}

	/* iOSでのデフォルトスタイルをリセット */
	input[type="submit"],
	input[type="button"] {
	  border-radius: 0;
	  -webkit-box-sizing: content-box;
	  -webkit-appearance: button;
	  appearance: button;
	  border: none;
	  box-sizing: border-box;
	  cursor: pointer;
	}
	input[type="submit"]::-webkit-search-decoration,
	input[type="button"]::-webkit-search-decoration {
	  display: none;
	}
	input[type="submit"]::focus,
	input[type="button"]::focus {
	  outline-offset: -2px;
	}
	.form table select {
		font-size: 16px;
		height: 40px;
		border: 1px solid #666;
	}

}/* Media Queries END */


@media only screen and (max-width: 768px) { 

	#logo {
		display: none;
		padding: 0;
	}
	#logo_sp {
		display: block;
		float: left;
		width: 30%;
	}
	#logo_sp img {
		width: 100%;
	}
	.header_right {
		width: 70%;
	}
	.header_tel {
		width: 40%;
	}
	.header_tel img {
		width: 100%;
	}
	.line_id {
		display: none;
	}

	.toppricebtn img {
		position: absolute;
		right: 10px;
		top: -15px;
	}
	.toppricebtn {
		width: auto;
	}
	.toppricebtn img {
		width: 30%;
	}
	.box1box {width: 95%;}
	.box4arrow {width: 95%;}
	.box4arrow img {width: 70px;}
	.box4btminner strong {font-size: 21px;}
	.box4btminner p {font-size: 14px;}
	.box4photo {
		display: table-cell;
		width: 200px;
	}
	.box4btm {
		padding: 20px 0;
	}
	.box4title {
		width: 180px;
	}
	.box4title h3 {
		font-size: 20px;
		padding: 20px 0;
	}
	.free .box4title h3 {
		padding: 20px 0;
	}
	.free .box4title h3::before {
		width: 60px;
		height: 60px;
	}

	/* ---------------------------------------------------------------------- */
	.compdetlogo img {
		width: 300px;
	}

	/* ---------------------------------------------------------------------- */
	.bengoshititle h2 {
		font-size: 32px;
	}

	/* ---------------------------------------------------------------------- */
	.form table th {font-size: 14px;}

}/* Media Queries END */




@media only screen and (max-width: 767px) { 
	.for_pc {
		display: none;
	}
	.for_sp {
		display: block;
	}
	#logo_sp {
		width: 50%;
	}
	.header_right {
		width: 50%;
	}
	.header_tel {
		display: none;
	}
	.line_id_sp {
		width: 60%;
	}
	#main {
		padding-bottom: 30px;
	}
	.box {
		margin-bottom: 50px;
	}

	/* ヘッダーチェンジ */
	#fade {}
	.back {
		position: fixed;
		top: 0px;
		display: block;
		width:100%;
		text-align:center;
		margin:0 auto;
		background-color: rgba(255,255,255,0.95);
		box-shadow: 2px 2px 4px rgba(0,0,0,0.3);
		z-index: 100;
	}
	.header-change {
		margin: 0 auto;
		padding: 15px;
	}
	.header-change ul li.fixedfree img {
		float: left;
		width: 40%;
	}
	.header-change ul li.fixedtel img {
		float: right;
		width: 55%;
	}
	/* ---------------------------------------------------------------------- */

	body {font-size: 14px;}

	.toppricebtn {
		position: static;
		width: auto;
		margin: 10px 0;
	}
	.toppricebtn img {
		position: static;
		width: 90%;
	}
	.top3B {
		padding: 0;
	}
	.top3C {
		margin-top: 0;
	}
	.toptaisetsuinner {
		padding: 10px;
	}
	.toptaisetsuinner p {
		padding: 0;
	}
	.fittext1b {
		font-size: 20px;
		color: #d42d26;
		font-weight: 900;
	}
	.topyen {
		margin-bottom: 20px;
		padding: 0 3.125%;
	}
	 .topyen img {
		width: 100%;
	}
	.topex {
		background-image: none;
	}
	.toptextex {
		width: auto;
		text-align: center;
		padding: 0 3.125%;
	}
	.toptextex strong {
		font-size: 18px !important;
	}
	.toptext_sp {
		background: #ffcc00;
		padding: 10px 3.125% 0;
		margin: 10px 0 0;
	}
	.toptext_sp img {
		margin: 0 0 15px;
	}
	.triangle{
		width: 0;
		height: 0;
		margin: 0 auto 0;
		background: #cbe7f8;
		border-top: 16vw solid #ffcc00;
		border-right: 50vw solid transparent;
		border-left: 50vw solid transparent;
	}

	.form table input.input1 {width: 200px;}
	.form table input.input2 {width: 200px;}
	.footerlink {font-size: 10px;}

	#ban1_sp img,
	#ban2_sp img,
	#ban3_sp img,
	#contacttop_sp img,
	.footerinner_sp img {
		width: 100%;
	}
	.info_sp {
		background: #be8d34;
	}
	.info_btn {
		padding: 0 10px 10px;
	}
	.sp_tel {
		margin: 0 0 15px;
	}
	.boxtitle {
		background-color: #ffcc00;
		background-image:url("image/title1_sp.png");
		background-repeat: no-repeat;
		background-position: right center;
		background-size: contain;
		min-height: 80px;
		margin-bottom: 20px;
	}
	.boxtitle2 {
		background-image:url("image/title2_2.png");
		background-position: left center;
	}
	.boxtitle h2 {
		position: relative;
		width: auto;
		margin: 0px auto;
		padding: 3vh 2vh 0 0;
	}
	.boxtitle h2 strong {
		padding-left: 110px;
		font-size: 7.5vw;
	}
	.boxtitle img {
		position: absolute;
		left: 2vw;
		top: -3vh;
		width: 170px;
	}


	/* --新設　タイトル-------------------------------------------------------------------- */
	.title01 {
		background-color: #ffcc00;
		background-image:url("image/title1_sp.png");
		background-repeat: no-repeat;
		background-position: right center;
		background-size: contain;
		margin-bottom: 20px;
	}
	.title02 {
		background-image:url("image/title2_sp.png");
		background-position: left center;
	}
	.title01 h2 {
		position: relative;
		width: 100%;
		display: table;
		min-height: 80px;
	}
	.title01 h2 span {
		display: table-cell;
		vertical-align: middle;
		line-height: 1.3;
		color: #fff;
		font-size: 22px;
		padding-left: 110px;
		padding-right: 10px;
		height: 100%;
	}
	.title01 h2 img {
		position: absolute;
		left: 2vw;
		top: -3.5vh;
		width: 170px;
	}


	.box1img {
		display: none;
	}
	.box1no {
		display: table-cell;
		width: 10%;
		padding-top: 20px;
	}
	.box2box ul {
		display: block;
		width: auto;
		padding: 0 3.125%;
		/*table-layout: fixed;
		border-spacing: 10px 0px;*/
	}
	.box2box li {
		display: block;
		margin: 0 0 20px;
		padding: 0;
	}
	.box2box li img {
		width: 70%;
		margin: 0 auto 10px;
	}
	.box2box li h3 {
		font-size: 18px;
	}
	.box2kanzenfree_sp {
		text-align: center;
	}
	.box2kanzenfree_sp img {
		width: 90%;
	}
	.box3boxtitle {
		display: table;
		background-repeat: no-repeat;
		background-position: left center;
		background-size: 50px auto;
		margin-bottom: 10px;
		padding: 0 0 0 60px;
		min-height: 50px;
	}
	.box3boxtitle h3 {
		font-size:30px;
		display: table-cell;
		vertical-align: middle;
	}
	.box3boxtitle h3 strong {
		font-size: 30px;
	}
	.box3boxtex {
		padding: 10px;
	}
	.box3boxtex p {
		font-size: 14px;
	}
	.box4 {
		padding: 0 3.125%;
	}
	.box4box {
		display: block;
		width: auto;
		padding: 0;
	}
	.box4title {
		display: block;
		width: auto;
		text-align: left;
		margin-bottom: 15px;
	}
	.box4title h3 {
		font-size: 20px;
		padding: 10px;
	}
	.free .box4title h3 {
		padding: 10px 10px 10px 50px;
	}
	.free .box4title h3::before {
		position: absolute;
		left: -10px;
		top: -5px;
		content: '';
		width: 60px;
		height: 60px;
		background-image:url("image/freebadge.png");
		background-repeat: no-repeat;
		background-position: left top;
		background-size: contain;
	}
	.box4tex {
		display: block;
		padding: 0;
		margin-bottom: 10px;
	}
	.box4photo {
		display: block;
		width: auto;
		text-align: center;
	}
	.box4photo img {
		margin: 0 auto 10px;
		width: 300px;
	}
	.box4photo p {
		font-size: 0.85em;
		line-height: 1.4em;
		text-align: center;
		margin-bottom: 20px;
	}
	.box4btm {
		padding: 0;
	}
	.box4btminner {
		padding: 0;
	}
	.box4btminner img {
		display: none;
	}
	.box4btminner strong {
		display: inline-block;
		color: #e60012;
		font-size: 25px;
		font-weight: bold;
		line-height: 1.3;
		padding: 0;
	}
	.box5top img {
		width: 80%;
		margin-bottom: 10px;
	}
	.box5box {
		margin-bottom: 30px;
		padding: 0 3.125%;
	}
	.box5btm {
		margin-bottom: 30px;
	}
	.box5btm img {
		width: 80%;
	}
	.voicetitle_sp {
		text-align: center;
		margin: 20px 0;
	}
	.voicetitle_sp img {
		width: 80%;
	}
	#voice {
		padding: 15px 3.125%;
	}
	.voiceboxinner {
		margin: 0;
		padding: 10px;
		border: 1px solid #ccc;
	}
	.voicebloc1 .voiceboxinner strong {
		font-size: 20px;
		line-height: 1.4;
		margin-bottom: 10px;
	}
	.voicebloc1 .voiceboxinner ul {
		padding: 0;
	}
	.voicebloc2 .voicebox2,
	.voicebloc2 .voicebox3 {
		display: block;
		width: auto;
		margin: 0 10px;
	}
	.voicebloc2 .voicebox2 .voicetex,
	.voicebloc2 .voicebox3 .voicetex {
		display: block;
		width: auto;
		margin: 0 0 10px;
	}
	.aisatsu {
		padding: 0px 3.125%;;
	}
	.aisatsutitle strong {
		font-size: 22px;
		line-height: 1;
		margin-bottom: 10px;
	}
	.aisatsutitle strong b {
		padding-bottom: 10px;
	}
	.aisatsutitle .aisatsutitle02 {
		font-size: 26px;
		line-height: 1.3;
	}
	.aisatsutex b {
		font-size: 18px;
		margin-bottom: 15px;
	}
	.aisatsutex strong {
		line-height: 1.3;
		font-size: 16px;
		margin-bottom: 10px;
	}
	.compdetex4 {
		float: none;
		width: 100%;
		margin-bottom: 20px;
	}
	.googlemap {
		float: none;
		width: 100%;
	}
	.googlemap iframe {
		height: 350px;
	}
	.compdetlogo_sp {
		width: auto;
		margin-bottom: 15px;
	}
	.compdetlogo_sp img {
		width: 80%;
	}
	.compdet {
		padding: 10px 3.125%;
	}
	.compdetex5 {
		display: block;
		width: 100%;
		padding: 20px 0 0;
	}
	.compdetex5 div {
		display: block;
		width: auto;
	}
	.compdetex5 .com_left {
		padding-right: 0;
		margin-bottom: 15px;
	}
	.compdetex5 .com_right {
		padding-left: 0;
	}
	.bengoshi {
		padding: 0;
	}
	.bengoshititle {
		margin-bottom: 30px;
		padding: 0 3.125%;
	}
	.bengoshititle h2 {
		font-size: 30px;
		line-height: 1.3;
		padding-bottom: 10px;
	}
	.bengoshiboxinner {
		display: block;
		width: 100%;
	}
	.bengoshiprof {
		display: block;
		width: auto;
		padding: 10px 0 0;
	}
	.bengoshiprof strong b {
		font-size: 20px;
	}
	.bengoshiprof dl {
		padding: 10px;
		margin: 0 3.125% 15px;
	}
	.bengoshiprof dt {
		font-size: 12px;
		line-height: 1.3;
		margin-bottom: 5px;
	}
	.bengoshiprof dd {
		padding: 0;
		margin: 0;
	}
	.bengoshiprof dd p {
		font-size: 0.8em;
		margin: 0;
	}
	.bengoshitex {
		display: block;
		padding: 0 3.125% 10px;
	}
	.bengoshitex p {
		font-size: 14px;
		margin-bottom: 10px;
		line-height: 1.5;
	}
	.btn_bengoshi_more {
		font-size: 18px;
		width: 80%;
		margin-top: 20px;
	}
	.btn_bengoshi_more:hover {
		background: #7f3d01;
	}
	.faq {
		padding: 0 3.125%;
	}
	#contact_sp {
		margin-top: -5vh;
		padding-top: 5vh;
	}
	.contacttitle {
		padding: 15px 3.125%;
	}
	.contacttitle h2 {
		font-size: 22px;
		padding: 10px;
	}
	#form {
		padding: 0;
		margin: 0 3.125%;
	}
	.form table {
		width: 100%;
		margin: 0;
		padding: 0;
	  -webkit-box-sizing: border-box;
	  -moz-box-sizing: border-box;
	  box-sizing: border-box;
	}
	.form table th {
		display: block;
		width: auto;
		font-size: 16px;
		border-bottom: none;
		background: #666;
		color: #fff;
		margin-bottom: 10px;
	}
	.form table td {
		display: block;
		width: auto;
		border-bottom: none;
		padding: 0;
		margin-bottom: 15px;
	}
	.form input,
	.form select,
	.form textarea {
	  -webkit-box-sizing: border-box;
	  -moz-box-sizing: border-box;
	  box-sizing: border-box;
	}
	.form table label {
		display: block;
	}
	.form table input {
		display: inline-block;
		font-size: 1.2em;
		width: 100%;
		margin-bottom: 5px;
	}
	.form table input.input1 {
		width: 100%;
		margin-right: 0;
	}
	.form table input.input2 {
		width: 100%;
	}
	.form table input.input3 {
		width: 100%;
	}
	.form table select {
		width: 100%;
		font-size: 16px;
		height: 40px;
		border: 1px solid #666;
	}
	.form table textarea {
		width: 100%;
		height: 250px;
		font-size: 1.2em;
		padding: 5px 5px;
	}

	.footer_logo {
		margin: 20px auto;
		width: 70%;
	}
	.footerlink .for_sp {
		display: inline-block;
	}
	.footerlink a {
		font-size: 12px;
	}

	.gotop a {
		width: 40px;
		height: 40px;
		background-size: contain;
	}

	.error {
		display: block !important;
	}
	.br-sp {
		display: block;
	}
}/* Media Queries END */


@media only screen and (max-width: 320px) { 
	.compdetex4 dt {
		width: 40%;
	}
}/* Media Queries END */
