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

@import url("reset.css");
@import url("common.css");

/**********************************
　　　　　　共通
**********************************/
body {position: relative; }
body,a { color: #333333; }
.marker-yellow { background-color: #f5ff66; }
.bg-blue { background-color: #d1e4fa; }
.text-red { color: #cc0000; }
.text_bold { font-weight: bold; }
.text_underline { text-decoration: underline; }

@media only screen and (max-width: 419px) {
	#contents {
		font-size: 4vw;
		line-height: 1.65;
		margin: 0;
		padding: 10px;
	}
	.dp-pc { display: none; }
	}
@media only screen and (min-width: 420px) {
  /* 横幅420px以上の場合 */
	.dp-sp { display: none; }
	#mainimg {
		width: 1200px;
		margin: auto;
	}
	header .title,
	header .header_area,
	#contents {
		width: 1100px;
		margin: auto;
		font-size: 16px;
		line-height: 1.5;
	}
}

/**********************************
　　　　　　ヘッダー
**********************************/
header { background-color: #d8d8d8; }
header .title h1 {
	font-weight: normal;
}
header .header {
	border-top: solid 5px #fa8c21;
	border-bottom: solid 5px #88d0fd;
	background-color: #ffffff;
}
.header_area {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media only screen and (max-width: 419px) {
	/* 横幅420px以下の場合 */
header .title {
	font-size: 3.2vw;
	text-align: center;
	padding: 5px 0;
}
header .title h1 + p {
	margin-top: 1vw;
}
	.header_area {
		text-align: center;
		padding: 5px;
		justify-content: center;
	}
	header .header .header_logo {
		width: 18vw;
		margin-right: 2vw;
	}
	header .header p {
		font-size: 4vw;
		font-weight: bold;
		line-height: 1.3;
	}
}
@media only screen and (min-width: 420px) {
  /* 横幅420px以上の場合 */
	header .title h1,
	header .title p {
		display: inline-block;
		font-size: 14px;
		line-height: 20px;
	}
	header .header {
		padding: 5px 0 4px;
	}
	header .header .header_area {
		align-items: flex-end;
		line-height: 1;
	}
	header .header .header_area_left img {
		margin-right: 5px;
	}
}

/**********************************
　　　　　　フッター
**********************************/
footer {
	position: relative;
	border-top: solid 5px #fa8c21;
	text-align: center;
}
footer::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	border-bottom: solid 5px #88d0fd;
}
@media only screen and (max-width: 419px) {
	/* 横幅420px以下の場合 */
	footer {
		padding: 15px 0 10px;
		margin-top: 40px;
	}
	.footer_copy {
		font-size: 3vw;
	}
	footer .footer_logo {
		width: 35vw;
		margin-bottom: 7px;
	}
}
@media only screen and (min-width: 420px) {
  /* 横幅420px以上の場合 */
	footer {
		padding: 15px 0;
		margin-top: 80px;
	}
	footer .footer_logo {
		margin-bottom: 10px;
	}
	.footer_copy {
		font-size: 14px;
	}
}



/**********************************
　　　　　　ページの先頭へ
**********************************/
.gotop {
	position: fixed;
	right: 0;
	bottom: 0px;
}
@media only screen and (max-width: 419px) {
	/* 横幅420px以下の場合 */
	.gotop img {
		width: 30vw;
	}
}
@media only screen and (min-width: 420px) {
	/* 横幅420px以上の場合 */
}



/**********************************
　　　　　　メインイメージ
**********************************/

.tell .tell_catch {
	display: flex;
	justify-content: space-between;
}
.tell .tell_catch_item {
	border-radius: 5px;
	background-color: #fa8c21;
	color: #ffffff;
}
.tell .tell_call {
	text-decoration: none;
	border-bottom: solid 2px #cc0000;
	text-align: center;
}
.tell .tell_call .tell_redbox,
.tell .tell_call .tell_number {
	display: inline-block;
	vertical-align: middle;
}
.tell .tell_call .tell_redbox {
	background-color: #cc0000;
	color: #ffff;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.1;
}
.tell .tell_call .tell_number {
	color: #cc0000;
	font-family: 'Impact';
}
.tell .tell_address {
	text-align: center;
	line-height: 1.5;
}
@media only screen and (max-width: 419px) {
	/* 横幅420px以下の場合 */
	.tell {
		padding: 10px;
		margin: 2vw 0;
	}
	.tell .tell_catch_item {
		font-size: 3.8vw;
		padding: 2vw 2.2vw;
	}
	.tell .tell_call {
		padding: 10px 0;
	}
	.tell .tell_call a {
		display: block;
	}
	.tell .tell_call .tell_redbox {
		font-size: 4vw;
		padding: 1.7vw 1.5vw 1.5vw 1.7vw;
		margin-right: 2vw;
	}
	.tell .tell_call .tell_number {
		width: 100%;
		max-width: 100%;
	}
	.tell .tell_address {
		font-size: 3.2vw;
		line-height: 1.75;
		padding-top: 2vw;
	}
}
@media only screen and (min-width: 420px) {
  /* 横幅420px以上の場合 */
	.tell {
		width: 700px;
		margin: 0 auto;
	}
	.tell .tell_catch_item {
		font-size: 24px;
		line-height: 50px;
		padding: 0 27px;
		font-weight: bold;
	}
	.tell .tell_call {
		padding: 15px 0;
	}
	.tell .tell_call .tell_redbox {
		font-size: 20px;
		padding: 10px;
		margin-right: 20px;
	}
	.tell .tell_call .tell_number {
		font-size: 80px;
	}
	.tell .tell_address {
		font-size: 22px;
		padding-top: 10px;
	}
}



/**********************************
　　　　　　コンテンツ
**********************************/

/*＝＝＝＝＝＝サービス＝＝＝＝＝＝*/
.service .catch {
	text-align: center;
	font-weight: bold;
}
@media only screen and (max-width: 419px) {
	/* 横幅420px以下の場合 */
	.service .catch {
		font-size: 4.2vw;
		margin: 0 -10px 8vw;
		padding: 5vw 0;
	}
}
@media only screen and (min-width: 420px) {
  /* 横幅420px以上の場合 */
	.service .catch {
		font-size: 24px;
		padding: 20px 0;
		line-height: 1.75;
		margin: 30px 0;
	}
}


/*カテゴリー*/
.service .service_category .service_category_item {
	border-radius: 5px;
}
.service .service_category .service_category_item + .service_category_item {
	margin: 15px 0 0;
}
.service .service_category .service_category_item h2 {
	margin: -1px;
	text-align: center;
}

@media only screen and (max-width: 419px) {
	/* 横幅420px以下の場合 */
	.service .service_category {
		margin-bottom: 5vw;
	}
	.service .service_category .service_category_item h2 {
		font-size: 6vw;
		padding: 5px;
	}
	.service .service_category .service_category_item .service_category_item_details {
		padding: 10px;
	}
}
@media only screen and (min-width: 420px) {
  /* 横幅420px以上の場合 */
	.service .service_category {
		display: flex;
		margin-bottom: 10px;
	}
	.service .service_category .service_category_item + .service_category_item {
		margin: 0 0 0 15px;
	}
	.service .service_category .service_category_item.kagizaru,
	.service .service_category .service_category_item.mizuzaru_mizu {
		width: 355px;
	}
	.service .service_category .service_category_item.mizuzaru_kyutou {
		width: 440px;
	}
	.service .service_category .service_category_item h2 {
		font-size: 30px;
		line-height: 50px;
	}
	.service .service_category .service_category_item .service_category_item_details {
		padding: 15px 20px;
	}
}



/*作業料金*/
.ryoukin_title {
	display: flex;
	justify-content: center;
	align-items: center;
}
.ryoukin_title .ryoukin_title_character img {
	vertical-align: middle;
	width: auto;
}
.ryoukin_various {
	text-align: center;
}
.ryoukin_various_item {
	display: flex;
	border-radius: 5px;
}
.ryoukin_various .plus {
	display: block;
	font-weight: bold;
}
.ryoukin_various_item .ryoukin_various_item_title,
.ryoukin_various_item .ryoukin_various_item_price {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	line-height: 1.5;
}

@media only screen and (max-width: 419px) {
	/* 横幅420px以下の場合 */
	.ryoukin_title {
		margin: 6vw 0 3vw;	
	}
	.ryoukin_title .ryoukin_title_character img {
		height: 30vw;
	}
	.ryoukin_title .ryoukin_title_text {
		font-size: 8vw;
		padding-top: 5vw;
	}
	.ryoukin_various_item + .ryoukin_various_item {
		margin-top: 3vw;
	}
	.ryoukin_various .plus {
		font-size: 7vw;
		line-height: 1.25;
	}
	.ryoukin_various_item .ryoukin_various_item_title,
	.ryoukin_various_item .ryoukin_various_item_price {
		padding: 4vw 0;
		min-height: 15vw;
		font-size: 5.5vw;
	}
	.ryoukin_various_item .ryoukin_various_item_title {
		width: 55%;
	}
	.ryoukin_various_item .ryoukin_various_item_price {
		width: 45%;
		line-height: 1.1;
	}
	.ryoukin_various_item .ryoukin_various_item_title .sub,
	.ryoukin_various_item .ryoukin_various_item_price .sub {
		font-size: 4vw;
	}
}
@media only screen and (min-width: 420px) {
  /* 横幅420px以上の場合 */
	.ryoukin_title {
		margin: 30px 0 20px;	
		height: 100px;
	}
	.ryoukin_title .ryoukin_title_text {
		font-size: 30px;
		padding-top: 10px;
	}
	.ryoukin_various_item + .ryoukin_various_item {
		margin-top: 15px;
	}
	.ryoukin_various .plus {
		font-size: 30px;
		line-height: 30px;
		margin: 4.5px 0;
	}
	.ryoukin_various_item .ryoukin_various_item_title,
	.ryoukin_various_item .ryoukin_various_item_price {
		padding: 15px 0;
		font-size: 22px;
		line-height: 28px;
	}
	.ryoukin_various_item .ryoukin_various_item_title {
		width: 55%;
	}
	.ryoukin_various_item .ryoukin_various_item_title .sub {
		font-size: 16px;
		font-weight: normal;
	}
	.ryoukin_various_item .ryoukin_various_item_price {
		width: 45%;
		line-height: 1.1;
	}
	.ryoukin_various_item .ryoukin_various_item_title .sub,
	.ryoukin_various_item .ryoukin_various_item_price .sub {
		font-size: 16px;
	}
}






/*＝＝＝＝＝＝地域一覧＝＝＝＝＝＝*/
.shop {
	margin: 30px 0 0;
}
.shop_tiiki .shop_tiiki_title {
	text-align: center;	
}
.shop_tiiki .shop_tiiki_title h3 {
	color: #076fb3;
}
.shop_tiiki_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.shop_tiiki_list_box {
	border-radius: 5px;
}
.shop_tiiki_character {
	display: flex;
	align-items: center;
}
.shop_tiiki_list_box h4 {
	text-align: center;
	margin: -1px;
}
.shop_tiiki_list_box ul.shop_box_list {
	display: flex;
	flex-wrap: wrap;
}

@media only screen and (max-width: 419px) {
	/* 横幅420px以下の場合 */
	.shop_tiiki {
		margin: 0 -10px;
	}
	.shop_tiiki .shop_tiiki_title {
		padding: 5vw 0;
	}
	.shop_tiiki .shop_tiiki_title h3 {
		font-size: 5vw;
	}
	.shop_tiiki .shop_tiiki_title .sub {
		font-size: 3.5vw;
	}
	.shop_tiiki_list {
		width: 100%;
		padding: 0 10px;
	}
	.shop_tiiki_list_box {
		width: calc((100% - 10px) / 2);
		background: #999;
		margin-bottom: 10px;
	}
	.shop_tiiki_character {
		width: calc((100% - 10px) / 2);
	}
	.shop_tiiki_list_box h4 {
		font-size: 4.5vw;
		line-height: 2;
	}
	.shop_tiiki_list_box li {
		text-align: center;
		width: 50%;
		border-bottom: solid 1px #999;
		background-color: #ffffff;
	}
	.shop_tiiki_list_box li:nth-child(2n+1) {
		border-right: solid 1px #999;
	}
	.shop_tiiki_list_box li:last-child,
	.shop_tiiki_list_box li.bb-non {
		border-bottom: none;
	}
	.shop_tiiki_list_box li a {
		display: block;
		line-height: 15vw;
	}
}
@media only screen and (min-width: 420px) {
  /* 横幅420px以上の場合 */
	.shop_tiiki {
		margin: 30px 0;
		padding-bottom: 10px;
	}
	.shop_tiiki .shop_tiiki_title {
		padding: 20px 0;
	}
	.shop_tiiki .shop_tiiki_title h3 {
		font-size: 30px;
	}
	.shop_tiiki .shop_tiiki_title .sub {
		font-size: 16px;
	}
	.shop_tiiki_list {
		padding: 0 20px;
	}
	.shop_tiiki_list_box,
	.shop_tiiki_character {
		width: calc((100% - 45px) / 4);
	}
	.shop_tiiki_character img {
		width: 200px;
		margin: auto;
	}
	.shop_tiiki_list_box {
		margin-bottom: 15px;
		background-color: #FFFFFF;
	}
	.shop_tiiki_list_box h4 {
		font-size: 16px;
		line-height: 2;
	}
	.shop_tiiki_list_box ul {
		font-size: 16px;
		padding: 10px 0 10px 40px;
	}
	.shop_tiiki_list_box li {
		width: 4.5em;
		margin-right: 10px;
		line-height: 2;
	}
	.shop_tiiki_list_box li.count4 {
		width: 5.5em;
	}
	.shop_tiiki_list_box li a {
		display:inline-block;
		list-style: disc inside;
		text-decoration: underline;
		padding-right: 0.5em;
	}
	.shop_tiiki_list_box li a::before {
		display: inline-block;
		content: "・";
	}
	.shop_tiiki_list_box li a:hover {
		color: #076fb3;
	}
	.shop_tiiki_list_box li a:hover::before {
		content: "〇";
	}
}



/***出張所一覧***/
.shop_list h3 {
	text-align: center;
}
.shop_list_tiiki_list h4 {
	text-align: center;
	margin-bottom: 10px;
}
.shop_list_tiiki_list .shop_list_tiiki_list_shop {
	border-radius: 5px;
	margin-top: 10px;
}
.shop_list_tiiki_list .shop_list_tiiki_list_shop a {
	display: flex;
	justify-content: space-between;
	height: 100%;
}
.shop_list_tiiki_list .shop_list_tiiki_list_shop .shop_deco {
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center; 
}
.shop_list_tiiki_list .shop_list_tiiki_list_shop .shop_text .jigyousyo {
	font-weight: bold;
}

@media only screen and (max-width: 419px) {
  /* 横幅420px以下の場合 */
	.shop_list {
		margin-top: 50px;
	}
	.shop_list h3 {
		font-size: 5vw;
	}
	.shop_list_tiiki_list + .shop_list_tiiki_list {
		margin-top: 40px;
	}
	.shop_list_tiiki_list h4 {
		font-size: 5vw;
		line-height: 2.5;
	}
	.shop_list_tiiki_list .shop_list_tiiki_list_shop .shop_deco {
		width: 8vw;
	}
	.shop_list_tiiki_list .shop_list_tiiki_list_shop .shop_text {
		padding: 5px 8px;
	}
	.shop_list_tiiki_list .shop_list_tiiki_list_shop .shop_text .jigyousyo {
		font-size: 5vw;
	}
	.shop_list_tiiki_list .shop_list_tiiki_list_shop .shop_text .jyusyo {
		line-height: 1.35;
	}
}
@media only screen and (min-width: 420px) {
  /* 横幅420px以上の場合 */
	.shop_list {
		margin: 80px 0 120px;
	}
	.shop_list h3 {
		font-size: 30px;
		margin-bottom: 30px;
		
	}
	.shop_list_tiiki_list + .shop_list_tiiki_list {
		margin-top: 80px;
	}
	.shop_list_tiiki_list h4 {
		font-size: 30px;
		line-height: 60px;
	}
	.shop_list_tiiki {
		display: flex;
		flex-wrap: wrap;
		margin-left: -20px;
	}
	.shop_list_tiiki .shop_list_tiiki_list_shop {
		width: 540px;
		margin-left: 20px;
	}
	.shop_list_tiiki_list .shop_list_tiiki_list_shop:hover {
		background-color: #f5ff66;
	}
	.shop_list_tiiki_list .shop_list_tiiki_list_shop .shop_text {
		padding: 10px 15px;
	}
	.shop_list_tiiki_list .shop_list_tiiki_list_shop .shop_text .jigyousyo {
		font-size: 20px;
	}
	.shop_list_tiiki_list .shop_list_tiiki_list_shop .shop_text .jyusyo {
		line-height: 1.35;
	}
	.shop_list_tiiki_list .shop_list_tiiki_list_shop .shop_deco {
		width: 40px;
	}
	.shop_list_tiiki_list .shop_list_tiiki_list_shop .shop_deco span::before {
		content: "▶";
	}
	.shop_list_tiiki_list .shop_list_tiiki_list_shop:hover .shop_deco span::before {
		content: "✔";
		color: #f5ff66;
	}
}
