@charset "utf-8";
@import url("./swiper-bundle.override.css?20240805");

.banner_panel
{
	padding: 0 16px;
}

.btn_help
{
	color: #FFF;
	background: #FFF;
	border: 3px solid #FFF;
	pointer-events: none;
}

.head
{
	margin: 32px 16px;
}

.head .heading
{
	font-weight: 600;
	font-size: 24px;
	color: #44403C;
	margin-bottom: 16px;
}

.head .note
{
	font-size: 14px;
	color: #78716C;
}

#selected_symp_area
{
	min-height: 46px;
	font-size: 16px;
	border: 3px #1E469B solid;
	border-radius: 6px;
    background: rgba(30, 70, 155, 0.16);
    color: #1E469B;
	margin: 32px 16px 16px;
}

#selected_symp_heading
{
	min-height: 40px;
	height: inherit;
	padding: 4px 6px;
	background-color: transparent;
	line-height: 2;
}

#selected_symp_list
{
	flex-wrap: wrap;
	flex: 1;
	min-height: 40px;
	padding-left: 8px;
    background-color: #FFF;
	border-radius: 0 3px 3px 0;
}

#selected_symp_list label
{
	margin: 4px 8px 4px 0;
	cursor: pointer;
}

#selected_symp_list label [type='checkbox']
{
	display: none;
}

#selected_symp_list label div
{
	border: 1px solid #CCC;
	border-radius: 4px;
	color: #1E469B;
	background-color: #FFF;
}

#selected_symp_list label [type='checkbox'] + div::before
{
	position: relative;
	left: 3px;
	display: block;
	width: 16px;
	height: 16px;
	background: #FFF no-repeat center;
	border: 2px solid #A8A29E;
	border-radius: 2px;
	content: '';
	margin: 4px 8px 4px 2px;
}
#selected_symp_list label [type='checkbox']:checked + div::before
{
	background-color: #1E469B;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjkxNiA2LjI4MUExLjYxNSAxLjYxNSAwIDEgMCAuMzE0IDguMTk2bDMuNzg4IDUuMTQ2Yy42Ny45MSAyLjA0Mi44NyAyLjY1Ni0uMDc5TDEzLjc0IDIuNDk0QTEuNjE1IDEuNjE1IDAgMCAwIDExLjAyOS43MzdsLTUuNzEgOC44MDh6Ii8+PC9zdmc+");
	background-size: auto 72%;
	border-color: transparent;
}

.search_panel
{
	margin: 16px;
}

.search_panel.ui_panel
{
	flex-direction: row;
	background: transparent;
}

.panel
{
	flex-direction: column;
	margin: 16px auto 32px auto;
	background: #FFF;
	padding: 16px;
	margin: 16px auto 0 auto;
	border-radius: 6px;
}

.search_area
{
	width: 49%;
	height: 100%;
}

.search_area .heading
{
	font-size: 22px;
	font-weight: 600;
}

.body_parts
{
	flex-direction: column;
	min-width: 423px;
	border-right: 1px solid #CCC;
}

.body_parts #part_container
{
	position: relative;
	height: 600px;
	background: url("../img/body.png") no-repeat 50% 65%;
	background-size: auto 74%;
}

.body_parts label
{
	position: absolute;
	display: inline-block;
	margin: 16px;
	cursor: pointer;
}

.body_parts label[part_code="001"]
{
	top: 0;
	left: calc(50% - 28px);
}

.body_parts label[part_code="002"]
{
	top: 32px;
	left: calc(50% - 110px);
}

.body_parts label[part_code="003"]
{
	top: 32px;
	left: calc(50% - 42px);
}

.body_parts label[part_code="004"]
{
	top: 64px;
	left: calc(50% - 142px);
}

.body_parts label[part_code="005"]
{
	top: 32px;
	left: calc(50% + 26px);
}

.body_parts label[part_code="006"]
{
	top: 64px;
	left: calc(50% - 74px);
}

.body_parts label[part_code="007"]
{
	top: 64px;
	left: calc(50% - 6px);
}

.body_parts label[part_code="008"]
{
	top: 132px;
	left: 0;
}

.body_parts label[part_code="010"]
{
	top: 280px;
	left: 0;
}

.body_parts label[part_code="011"]
{
	top: 540px;
	left: calc(50% - 50px);
}

.body_parts label[part_code="013"]
{
	top: 154px;
	right: 20px;
}

.body_parts label[part_code="014"]
{
	top: 200px;
	right: 20px;
}

.body_parts label[part_code="016"]
{
	top: 245px;
	right: 20px;
}

.body_parts label[part_code="018"]
{
	top: 290px;
	right: 20px;
}

.body_parts label[part_code="019"]
{
	top: 230px;
	left: 0;
}

.body_parts label[part_code="020"]
{
	top: 0;
	left: calc(50% - 100px);
}

.body_parts label[part_code="021"]
{
	top: 370px;
	left: 0;
}

.body_parts label[part_code="022"]
{
	top: 540px;
	left: calc(50% - 138px);
}

.body_parts label[part_code="023"]
{
	top: 540px;
	left: calc(50% + 22px);
}

.body_parts label[part_code="024"]
{
	top: 430px;
	right: 20px;
}

.body_parts label [type="radio"],
.body_parts label [type="checkbox"]
{
	display: none;
}

.body_parts label [type="radio"]:checked + div,
.body_parts label [type="checkbox"]:checked + div
{
	background: #1E469B;
	color: #FFF;
}

.body_parts label div
{
	min-width: 60px;
	padding: 4px 6px;
	border: 2px #1E469B solid;
	border-radius: 6px;
	background: #FFF;
	color: #1E469B;
	text-align: center;
	font-size: 16px;
}

.symptoms
{
	flex-direction: column;
	height: 634px;
}

.symptoms .list
{
	flex: 1;
	overflow: auto;
	position: relative;
}

.symptoms .list:empty::before
{
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	font-size: 18px;
	text-align: center;
	opacity: 0.64;
	content: "身体の部位を選択すると症状が表示されます";
}

.symptoms .list.search_cnt:empty::before
{
	content: "選択可能な症状がありません";
}

.symptoms .list label,
#dialog_symp .list label
{
	display: block;
}

.symptoms .list label:not(:last-child),
#dialog_symp .list label:not(:last-child)
{
	margin-bottom: 12px;
}

.symptoms .list label [type='checkbox'],
.symptoms .list label [type='radio'],
#dialog_symp .list label [type='checkbox'],
#dialog_symp .list label [type='radio']
{
	display: none;
}

.symptoms .list label [type='checkbox']:checked + div,
.symptoms .list label [type='radio']:checked + div,
#dialog_symp .list label [type='checkbox']:checked + div,
#dialog_symp .list label [type='radio']:checked + div
{
	border-color: #1E469B;
	background-color: rgba(30, 70, 155, 0.08);
}

.symptoms .list label [type='checkbox']:disabled + div,
.symptoms .list label [type='radio']:disabled + div,
#dialog_symp .list label [type='checkbox']:disabled + div,
#dialog_symp .list label [type='radio']:disabled + div
{
	opacity: 0.5 !important;
}

.symptoms .list label [type='checkbox']:disabled + div::before,
.symptoms .list label [type='radio']:disabled + div::before,
#dialog_symp .list label [type='checkbox']:disabled + div::before,
#dialog_symp .list label [type='radio']:disabled + div::before
{
	background-color: #ccc !important;
	border-color: transparent;
}

.symptoms .list label [type='checkbox'] + div,
.symptoms .list label [type='radio'] + div
{
	position: relative;
	padding: 8px 16px 8px 48px;
	background: #FFF;
	border: 2px solid #808080;
	box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.06), 0 2px 4px 0 rgba(0, 0, 0, 0.12);
	border-radius: 4px;
	line-height: 24px;
	color: #333;
	font-size: 16px;
	cursor: pointer;
}

.symptoms .list label [type='checkbox'] + div::before,
.symptoms .list label [type='radio'] + div::before,
#dialog_symp .list label [type='checkbox'] + div::before,
#dialog_symp .list label [type='radio'] + div::before
{
	position: absolute;
	left: 14px;
	display: block;
	width: 24px;
	height: 24px;
	background: #FFF no-repeat center;
	border: 2px solid #808080;
	content: '';
}

.symptoms .list label [type='checkbox']:checked + div,
#dialog_symp .list label [type='checkbox']:checked + div
{
	color: #1E469B;
}

.symptoms .list label [type='checkbox']:checked + div::before,
#dialog_symp .list label [type='checkbox']:checked + div::before
{
	background-color: #1E469B;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjkxNiA2LjI4MUExLjYxNSAxLjYxNSAwIDEgMCAuMzE0IDguMTk2bDMuNzg4IDUuMTQ2Yy42Ny45MSAyLjA0Mi44NyAyLjY1Ni0uMDc5TDEzLjc0IDIuNDk0QTEuNjE1IDEuNjE1IDAgMCAwIDExLjAyOS43MzdsLTUuNzEgOC44MDh6Ii8+PC9zdmc+");
	border-color: transparent;
}

.symptoms .list label [type='checkbox'] + div::before,
#dialog_symp .list label [type='checkbox'] + div::before
{
	border-radius: 2px;
}

.symptoms .list label [type='radio']:checked + div::before,
#dialog_symp .list label [type='radio']:checked + div::before
{
	background-color: #1E469B;
	border-color: transparent;
	box-shadow: inset 0 0 0 1px #1E469B, inset 0 0 0 4px #FFF;
}

.symptoms .list label [type='radio'] + div::before,
#dialog_symp .list label [type='radio'] + div::before
{
	border-radius: 50%;
}

#dialog_symp .list .no_symp
{
	opacity: 0.64;
}

#search_cnt_area
{
	margin: 0 0 12px 0;
	font-size: 18px;
	font-weight: 700;
}

#search_cnt_area .search_cnt
{
	margin: 0 auto;
}

#search_cnt_area .search_cnt span
{
	width: 20px;
	margin: 0 6px;
	font-size: 24px;
}

#search_cnt_area .search_cnt span.active
{
	color: #3C78D8;
}

#btn_search
{
	display: block;
	width: 376px;
	height: 64px;
	margin: 16px auto 32px auto;
    border-radius: 50px;
	font-size: 24px;
    font-weight: 700;
    background: #1E469B;
    color: #FFF;
    cursor: pointer;
}

#nav.balloon_area
{
	justify-content: flex-end;
}

#nav.balloon_area .balloon
{
	position: relative;
	background-color: #e4f2ff;
	padding: 8px;
	margin-top: 10px !important;
	margin-bottom: 5px;
	color: #1E469B;
	margin-top: 0px;
	border-radius: 6px;
}

#nav.balloon_area .balloon::before
{
	content: "";
	position: absolute;
	border: 10px solid transparent;
	border-bottom: 20px solid #e4f2ff;
	top: -29px;
	left: calc(100% - 80px);
}

#nav.balloon_area .balloon p
{
	margin: 0;
	padding: 0;
}

#search_part_symp_area
{
	margin: 0 16px 16px;
	padding-top: 32px;
	border-top: 1px solid #CCC;
}

#search_other_method_area
{
	margin: 32px 16px 64px 16px;
}

#search_part_symp_area .list_title,
#search_other_method_area .list_title
{
	font-size: 16px;
	font-weight: 700;
	color: #3C78D8;
}

#search_part_symp_area .list
{
	flex-wrap: wrap;
}


#search_part_symp_area .list_part
{
	margin-top: 16px;
	font-weight: 700;
	font-size: 12px;
}

#search_part_symp_area .list a
{
	margin: 16px 16px 0 0;
	font-size: 10px;
	text-decoration: none;
	color: inherit;
}

#search_other_method_area .list a
{
	margin: 16px 16px 0 0;
	font-size: 10px;
	text-decoration: none;
	color: inherit;
}

#search_part_symp_area .list a:hover,
#search_other_method_area .list a:hover
{
	opacity: 0.6;
}

/*	tablet	*/
@media screen and (max-width: 1000px)
{
	.head .heading
	{
		font-size: 20px;
	}

	.search_area
	{
		width: 100%;
		margin-bottom: 32px;
	}

	.search_panel.ui_panel
	{
		display: block;
		background: transparent;
	}

	.body_parts
	{
		min-width: 399px;
	}

	.body_parts label div
	{
		min-width: 54px;
	}

	.body_parts #part_container
	{
		position: relative;
		height: 500px;
		background: url("../img/body.png") no-repeat 50% 80%;
		background-size: auto 87%;
	}

	.body_parts label[part_code="001"]
	{
		top: 14px;
		left: calc(50% - 132px);
	}

	.body_parts label[part_code="002"]
	{
		top: 14px;
		left: auto;
		right: calc(50% - 206px);
	}

	.body_parts label[part_code="003"]
	{
		top: 52px;
		left: auto;
		right: calc(50% - 145px);
	}

	.body_parts label[part_code="004"]
	{
		top: 90px;
		left: auto;
		right: calc(50% - 145px);
	}

	.body_parts label[part_code="005"]
	{
		top: 52px;
		left: auto;
		right: calc(50% - 206px);
	}

	.body_parts label[part_code="006"]
	{
		top: 90px;
		left: auto;
		right: calc(50% - 206px);
	}

	.body_parts label[part_code="007"]
	{
		top: 128px;
		left: auto;
		right: calc(50% - 206px);
	}

	.body_parts label[part_code="008"]
	{
		top: 100px;
		left: calc(50% - 206px);
	}

	.body_parts label[part_code="010"]
	{
		top: 220px;
		left: calc(50% - 206px);
	}

	.body_parts label[part_code="011"]
	{
		top: 380px;
		left: calc(50% - 118px);
	}

	.body_parts label[part_code="013"]
	{
		top: 166px;
		right: calc(50% - 145px);
	}

	.body_parts label[part_code="014"]
	{
		top: 166px;
		right: calc(50% - 206px);
	}

	.body_parts label[part_code="016"]
	{
		top: 204px;
		right: calc(50% - 206px);
	}

	.body_parts label[part_code="018"]
	{
		top: 240px;
		right: calc(50% - 206px);
	}

	.body_parts label[part_code="019"]
	{
		top: 178px;
		left: calc(50% - 206px);
	}

	.body_parts label[part_code="020"]
	{
		top: 14px;
		left: calc(50% - 206px);
	}

	.body_parts label[part_code="021"]
	{
		top: 314px;
		left: calc(50% - 206px);
	}

	.body_parts label[part_code="022"]
	{
		top: 380px;
		left: calc(50% - 206px);
	}

	.body_parts label[part_code="023"]
	{
		top: 380px;
		left: auto;
		right: calc(50% - 206px);
	}

	.body_parts label[part_code="024"]
	{
		top: 314px;
		right: calc(50% - 206px);
	}

	.symptoms .list:empty::before
	{
		top: 12px;
	}

	.symptoms
	{
		height: auto;
		min-height: 74px;
	}

	#btn_search
	{
		width: 90%;
		max-width: 376px;
	}

	#nav.balloon_area .balloon::before
	{
		top: -22px;
	}
}

/*	mobile	*/
@media screen and (max-width: 640px)
{
	#nav.balloon_area .balloon::before
	{
		left: calc(100% - 80px);
	}

	#nav.balloon_area .balloon p
	{
		font-size: 12px;
	}
}

/*	mobile	*/
@media screen and (max-width: 430px)
{
	.head .heading
	{
		font-size: 16px;
	}

	#selected_symp_area
	{
		display: block;
		text-align: center;
	}

	#selected_symp_heading
	{
		height: 35px;
		min-height: 35px;
		line-height: 28px;
	}

	#selected_symp_list
	{
		min-height: 35px;
		border-radius: 0 0 3px 3px;
	}

	.search_area:last-child
	{
		display: none;
	}

	.body_parts
	{
		min-width: 290px;
	}

	.body_parts #part_container
	{
		position: relative;
		height: 500px;
		background: url("../img/body.png") no-repeat 50% 107%;
		background-size: auto 85%;
	}

	.body_parts label[part_code="001"]
	{
		top: -20px;
		left: calc(50% - 22px);
	}

	.body_parts label[part_code="002"]
	{
		top: 12px;
		left: calc(50% - 110px);
		right: auto;
	}

	.body_parts label[part_code="003"]
	{
		top: 12px;
		left: calc(50% - 42px);
		right: auto;
	}

	.body_parts label[part_code="004"]
	{
		top: 44px;
		left: calc(50% - 142px);
		right: auto;
	}

	.body_parts label[part_code="005"]
	{
		top: 12px;
		left: calc(50% + 26px);
		right: auto;
	}

	.body_parts label[part_code="006"]
	{
		top: 44px;
		left: calc(50% - 74px);
		right: auto;
	}

	.body_parts label[part_code="007"]
	{
		top: 44px;
		left: calc(50% - 6px);
		right: auto;
	}

	.body_parts label[part_code="008"]
	{
		top: 132px;
		left: calc(50% - 152px);
	}

	.body_parts label[part_code="010"]
	{
		top: 280px;
		left: calc(50% - 152px);
	}

	.body_parts label[part_code="011"]
	{
		top: 430px;
		left: calc(50% - 152px);
	}

	.body_parts label[part_code="013"]
	{
		top: 154px;
		right: calc(50% - 152px);
	}

	.body_parts label[part_code="014"]
	{
		top: 200px;
		right: calc(50% - 152px);
	}

	.body_parts label[part_code="016"]
	{
		top: 245px;
		right: calc(50% - 152px);
	}

	.body_parts label[part_code="018"]
	{
		top: 290px;
		right: calc(50% - 152px);
	}

	.body_parts label[part_code="019"]
	{
		top: 230px;
		left: calc(50% - 152px);
	}

	.body_parts label[part_code="020"]
	{
		top: -20px;
		left: calc(50% - 100px);
	}

	.body_parts label[part_code="021"]
	{
		top: 350px;
		left: calc(50% - 152px);
	}

	.body_parts label[part_code="022"]
	{
		top: 390px;
		left: calc(50% - 152px);
	}

	.body_parts label[part_code="023"]
	{
		top: 390px;
		left: auto;
		right: calc(50% - 152px);
	}

	.body_parts label[part_code="024"]
	{
		top: 335px;
		right: calc(50% - 152px);
	}

	#dialog_symp .box
	{
		width: calc(100% - 16px);
		max-height: calc(100% - 16px);
		padding: 12px;
		-webkit-overflow-scrolling: touch;
	}

	#dialog_symp .box .heading
	{
		padding-bottom: 10px;
		font-size: 22px;
		font-weight: 600;
	}

	#dialog_symp .box .list
	{
		max-height: 400px;
		overflow: auto;
		margin: 0;
		margin-bottom: 12px;
		padding: 8px;
		border: 1px solid #ccc;
		border-radius: 4px;
	}

	#dialog_symp .list label [type='checkbox'] + div
	{
		position: relative;
		padding: 8px 16px 8px 48px;
		background: #FFF;
		border: 2px solid #808080;
		box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.06), 0 2px 4px 0 rgba(0, 0, 0, 0.12);
		border-radius: 4px;
		line-height: 24px;
		color: #333;
		font-size: 16px;
	}

	#dialog_symp > div .footer
	{
		padding: 0;
	}

	#btn_search
	{
		font-size: 20px;
	}

	#nav.balloon_area .balloon::before
	{
		border-bottom: 16px solid #e4f2ff;
		top: -20px;
		left: calc(100% - 25px);
	}

	#search_other_method_area
	{
    	margin-top: 16px;
	}

	#search_part_symp_area .list_title
	{
		font-size: 16px;
	}

	#search_other_method_area .list_title
	{
		display: flex;
		align-items: center;
		padding: 8px 16px;
		background-color: rgba(30, 70, 155, 0.08);
		border: #000 solid 1px;
		font-size: 14px;
		font-weight: inherit;
		color: inherit;
	}

	#search_other_method_area .list_title::after
	{
		display: block;
  		width: 25px;
  		height: 12px;
		margin-left: auto;
		background: url("../img/icon_arrow.png") no-repeat 0;
		background-size: 25px;
		transform: rotate(90deg);
		content: "";
	}

	#search_other_method_area .list_title.disp::after
	{
		transform: rotate(270deg);
	}

	#search_part_symp_area .part_symp_list
	{
		margin-top: 16px;
	}

	#search_part_symp_area .list_part
	{
		padding: 8px 16px;
		background-color: rgba(30, 70, 155, 0.08);
		border: #000 solid 1px;
		border-bottom: none;
		font-size: 12px;
		font-weight: inherit;
	}

	#search_part_symp_area .list_part.disp,
	#search_part_symp_area .list_part:nth-last-child(2)
	{
		border-bottom: #000 solid 1px;
	}

	#search_part_symp_area .list_part:not(:first-child)
	{
		margin-top: 0;
	}

	#search_part_symp_area .list_part:after
	{
	  	display: block;
	  	width: 25px;
	  	height: 12px;
		margin-left: auto;
		background: url("../img/icon_arrow.png") no-repeat 0;
		background-size: 25px;
		transform: rotate(90deg);
		content: "";
	}

	#search_part_symp_area .list_part.disp:after
	{
		transform: rotate(270deg);
	}

	#search_part_symp_area .list
	{
		display: none;
		flex-wrap: wrap;
		padding: 0 20px 16px 8px;
		border-left: solid 1px #000;
		border-right: solid 1px #000;
		padding: 0;
	}

	#search_part_symp_area .list:last-child
	{
		border-bottom: solid 1px #000;
	}

	#search_other_method_area .list
	{
		display: none;
		border: solid 1px #000;
		border-top: none;
	}

	#search_part_symp_area .list a,
	#search_other_method_area .list a
	{
		display: block;
		margin: 0;
		padding: 8px 40px;
		border-bottom: solid 1px #000;
		background: url("../img/icon_arrow.png") no-repeat 4px;
		background-position: calc(100% - 16px) 50%;
		background-size: 16px;
		font-size: 12px;
	}

	#search_part_symp_area .list a
	{
		line-height: 1.2;
	}

	#search_part_symp_area .list a:last-child,
	#search_other_method_area .list a:last-child
	{
		border-bottom: none;
	}
}
