@charset "UTF-8";
@media screen and (max-width: 640px) {
	.forSP {
		display: block;
	}
	.forPC {
		display: none;
	}
	.txt--clinicfor {
		font-size: 12px;
		text-align: right;
		width: 100%;
		/* padding: 0 15px; */
	  }
	.adTxt {
		text-align: right;
		max-width: 100%;
		padding: 0 8px; /* 左右余白 LPに合わせて調整 */
		margin: 0 auto;
	}
	.adTxt span {
		font-size: 14px;
		font-weight: bold;
		border: 1px solid var(--Text); /* 枠色 変数名がTextでない場合は変更 */
		padding: 2px 14px;
	}
	/* ------------------------------
TYPE
------------------------------ */
section.type {
    padding-bottom: 14px;
	margin-top: 30px;
}
.type__wrap {
	grid-template-columns: 35% 1fr 1fr;
	gap: 8px;
	padding: 0 14px;
	margin-top: 18px;
}
.type__box__logo{
	padding: 0;
	height: 37px;
}
.type__box__inner {
    padding: 10px;
	gap: 6px;
	grid-template-rows: 82px 29px 33px 1fr;
}
.type__head__num {
    font-size: 20px;
    margin-right: 2px;
}
.type__box__head {
    font-size: 14px;
}
.type__box__ttl {
    font-size: 12px;
}
.type__box__txt {
    font-size: 10px;
	line-height: 1.3;
}
.type__box__txt .price__num {
    font-size: 14px;
}
.type__box__logo img {
    width: auto;
    padding: 4px 0;
}
a.cta {
    padding: 4px 4px;
    font-size: 14px;
}
.type__annotation{
	padding: 0 14px;
	margin-top: 4px;
}
.type__annotation small{
	font-size: 10px;
}
	/* ------------------------------
REVIEW
------------------------------ */
.review__wrap {
	padding: 0 10px 12px;
}
.review__wrap dt {
	font-size: 16px;
	padding: 6px 20px 6px 84px;
	width: 100%;
	box-shadow: 3px 4px 0px 0px var(--Main);
	text-align: left;
	line-height: 1.6;
}
.review__wrap .review_graph dt {
    padding: 20px 30px 20px 80px;
}
.review__icon {
    height: 40px;
    width: 40px;
}
.review__ico {
    font-size: 12px;
}
.review__wrap .review_kuchikomi dd:first-of-type {
    margin-top: 14px;
}
.review__wrap .review_kuchikomi dd {
    gap: 20px;
}
.review__wrap .review_kuchikomi dd:not(:first-of-type) {
    margin-top: 8px;
}
.review__wrap .review_kuchikomi dd:nth-of-type(odd) {
    grid-template-columns: 1fr 60px;
	padding: 0;
}
.review__wrap .review_kuchikomi dd:nth-of-type(even) {
    grid-template-columns: 60px 1fr;
	padding: 0;
}
.review__wrap .review_kuchikomi dd:nth-of-type(even) .review__txt{
	text-align: left;
}
.review_kuchikomi .review__txt {
    font-size: 14px;
	line-height: 1.6;
}
.review__wrap dl.review_kuchikomi  {
    margin-top: 26px;
}
.review__wrap .review_graph .review__txt .fukidashi {
    font-size: 14px;
    padding: 10px 8px;
}
.review__wrap .review_graph dd {
	gap: 0px;
	margin-top: 14px;
	grid-template-columns: 1.3fr 1fr;
	display: grid;
}
.review__wrap .review_graph .review__txt .bottom__tx {
    font-size: 14px;
}
.review__wrap .review_graph .review__txt {
    gap: 8px;
}
.review__ico img.review_graph{
	width: auto;
	height: auto;
}
/* ------------------------------
MIN
------------------------------ */
section.min {
    padding-bottom: 14px;
}
.min__wrap{
	padding: 0 14px;
}
.min__table {
    margin-top: 8px;
}
.min__table th {
    font-size: 11px;
    padding: 0 4px;
}
.min__table td {
    padding: 4px 4px;
	font-size: 12px;
}
.min__table__name {
    font-size: 12px;
	margin-top: 8px;
}
.min__table__name.forSP {
    display: block;
}
.min__table__name.single {
    height: 28px;
    line-height: 28px;
}
.min__eva {
    width: 28px;
	margin-bottom: 4px;
}
.min__cta__catch{
	font-size: 11px;
}
.min__annotation {
    padding: 0 14px;
	margin-top: 2px;
}
.min__annotation small{
	font-size: 10px;
}
.min__table .cta{
	padding: 10px 4px;
	font-size: 12px;
}
/* ------------------------------
RANKING
------------------------------ */
.rank__wrap {
    margin-top: 30px;
}
.rank__box {
    border-radius: 40px;
    padding: 16px 14px 20px;
}
.rank__box:not(:first-of-type) {
    margin-top: 40px;
}
.rank__head {
    grid-template-columns: 55px 1fr;
	gap: 16px;
	height: 50px;
}
.rank__num {
	font-size: 38px;
	width: 55px;
	justify-content: left;
	padding-left: 6px;
}
.rank__name {
    font-size: 20px;
}
.rank__box .rank__num__tail {
    font-size: 20px;
    margin-top: 14px;
}
.rank__name__catch {
    font-size: 14px;
}
.rank__wrap > .rank__box:nth-of-type(1) .rank__head::after,
.rank__wrap > .rank__box:nth-of-type(2) .rank__head::after,
.rank__wrap > .rank__box:nth-of-type(3) .rank__head::after {
    width: 46px;
    height: 29px;
    left: 10%;
	top: -32px;
}
.rank__box__bnr {
    margin-top: 12px;
}
.rank__box__small{
	display: block;
	line-height: 1.3;
	margin-top: 6px;
}
.rank__table {
    margin-top: 12px;
}
.rank__table th {
    width: 28%;
    font-size: 12px;
}
.rank__table td {
    font-size: 14px;
}
.rank__tag__list {
	gap: 4px 2px;
}
.rank__tag {
	font-size: 10px;
	padding: 0px 6px;
}
.rank__point__wrap {
    padding: 16px 14px 16px;
	margin-top: 26px;
}
.rank__point__head {
    font-size: 20px;
    top: -24px;
}
.rank__point__wrap::before {
    width: 118px;
}
.rank__point__ttl {
	font-size: 14px;
	padding-left: 18px;
}
.rank__point__ttl:not(:first-of-type) {
    margin-top: 6px;
}
.rank__point__ttl::before {
    background-size: 100%;
    width: 16px;
    height: 16px;
}
.rank__point__txt {
    font-size: 12px;
}
.ranking__calender {
    margin-top: 20px;
}
.rank__cta__wrap {
    margin-top: 14px;
}
.cta.rank {
    font-size: 16px;
}
.cta__catch {
    font-size: 14px;
	padding: 0 14px;
}
.rank__more__btn {
    margin: 30px auto;
	width: calc(100% - 28px);
}
.rank__table__wrap small{
	font-size: 10px;
	display: block;
}
	/* ------------------------------
HIKAKU
------------------------------ */
.hikaku__container {
    padding-bottom: 14px;
}
.hikaku__container>small{
	padding: 0 14px;
	line-height: 1.3;
	display: block;
	margin-top: 6px;
}
.hikaku__wrap {
    padding: 0 14px;
	overflow-x: scroll;
}
.hikaku__table{
	width: 600px;
}
.hikaku__table th {
    font-size: 14px;
}
.hikaku__table td{
	font-size: 12px;
	padding: 10px 6px;
}
.hikaku__table th:nth-of-type(1),
.hikaku__table td:nth-of-type(1) {
	position: sticky;
	left: -14px;
	width: 16%;
}
.hikaku__table th:nth-of-type(3),
.hikaku__table th:nth-of-type(4){
	width: 11%;
}

.hikaku__table__logo__wrap img {
    height: 33px;
    width: auto;
    margin-inline: auto;
    display: block;
	object-fit: contain;
}
a.cta.hikaku {
    padding: 6px 10px;
    font-size: 12px;
    width: 100%;
	margin-top: 6px;
}
	/* ------------------------------
SUMMARY
------------------------------ */
section.summary {
    margin-top: 22px;
	border-radius: 30px;
}

.summary__wrap {
    border-right: solid 2px var(--Sub);
    border-left: solid 2px var(--Sub);
    border-bottom: solid 2px var(--Sub);
	border-radius: 0 0 30px 30px;
	padding: 0 14px 14px;
}
.sumary__ttl {
    padding: 12px 20px;
    font-size: 20px;
    line-height: 1.4;
    width: 100%;
    box-sizing: border-box;
}
.summry__bnr {
    margin-top: 30px;
}
.summary__txt__wrap {
    margin-top: 10px;
	font-size: 14px;
}
.summary__txt__wrap p {
    margin-bottom: 0;
    line-height: 1.5;
	font-size: 14px;
}
.summary__txt__wrap p:not(:first-of-type){
	margin-top: 10px;
	line-height: 1.4;
}
/* ------------------------------
FORM
------------------------------ */
.Refine_Search_conditions_Area:not(:first-of-type) {
    margin-top: 14px;
}
.Refine_Search_Box_Inner{
	padding: 0 14px;
}
.condition_ttl {
    font-size: 14px;
}
.form__shinkou__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.form__shinkou__ttl {
    padding-left: 18px;
    font-size: 13px;
	margin-top: 6px;
}
.shinkou__list:not(:first-of-type) .form__shinkou__ttl {
	margin-top: 4px;
}
.form__shinkou__ttl::before {
    width: 15px;
    height: 15px;
}
.form__shinkou__grid .multi-item .checkbox_text{
	padding: 0;
	aspect-ratio: 6 / 3;
}
.form_icon {
    padding: 8px;
    width: 30px;
}
.mokuteki__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    font-size: 12px;
    align-items: center;
    line-height: 1.3;
	margin-top: 4px;
}
.mokuteki__list .checkbox_text{
	display: flex;
	height: 20px;
	align-items: center;
}
.medicine__list {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    font-size: 12px;
	margin-top: 4px;
}
.shinsatsu__list {
    grid-template-columns: repeat(2, 1fr);
    font-size: 12px;
	margin-top: 4px;
}
.mokuteki__list .radiobtn_text,
.medicine__list .radiobtn_text,
.shinsatsu__list .radiobtn_text{
	padding: 6px 0 6px 34px;
}
.Refine_Search_submit {
    gap: 0px;
    margin-top: 20px;
}
.Refine_Search_submit span {
    font-size: 18px;
    padding: 8px 0;
}
.Refine_Search_cta button {
    font-size: 14px;
	width: 80px;
}
.shindan__block.re_form {
    margin-top: 20px;
}
.Refine_Search_Title {
    font-size: 18px;
}
/* ------------------------------
検索結果
------------------------------ */
.searchConditions__ttl {
    font-size: 14px;
}
.searchConditions::before {
    width: 56%;
}
.searchConditions__wrap dl::before {
    width: 14px;
    height: 14px;
}
.searchConditions__wrap dl {
    font-size: 14px;
    padding-left: 18px;
}

.result__sort-list {
    gap: 30px;
	margin-top: 20px;

}
.result__sort-listItem {
    font-size: 14px;
}
.result.ng-scope {
    margin-top: 20px;
}
	/* ------------------------------
FOOTER
------------------------------ */
.footer_menu {
    font-size: 12px;
    margin-top: 40px;
}
.footer_menu_inner {
	width: 100%;
	padding: 10px 14px;
	box-sizing: border-box;
}
.footer {
    font-size: 12px;
}
.copyright_inner {
    font-size: 10px;
}

	/* ========================================================
コラム
=========================================================*/
.page-lower .header{
	padding: 0 20px;
	box-sizing: border-box;
}
.inner {
    padding-right: 15px;
    padding-left: 15px;
}
.page-lower h1 {
    font-size: 2.2rem;
	box-shadow: 3px 4px 0px 0px var(--Main);
	padding: 0;
}
.pankuz ul a {
    padding-right: 19px;
}
.page-lower dl {
    padding: 14px;
}
.cm_check_num {
    width: 24px;
}
.page-lower .cmn__table {
    flex-wrap: wrap;
}
.page-lower .cmn__table dl {
    flex: initial;
	max-width: 49.7%;
    width: 100%;
}
.page-lower .cmn__table dl.size-full {
    width: 100%;
    max-width: 100%;
}
.column__table{
	width: 600px;
}
.column__table__scroll{
	overflow-x: scroll;
}
.column__table .column__table__ttl:first-of-type {
    width: 16%;
}
.column__table .column__table__ttl:first-of-type,
.column__table tbody th{
	position: sticky;
	left: 0;
}
.textwidget{
	display: block;
}
/* 20241207 /注意事項 */
section.caution {
    margin-top: 28px;
}
.caution__ttl{
	font-size: 20px;
	padding: 2px 16px;
}
.caution__sub__ttl{
	font-size: 16px;
}
.caution__dl {
    padding: 0px 16px;
}
.caution__inside dt{
	font-size: 14px;
}
.caution__inside dd{
	font-size: 12px;
}
.caution__sub__ttl_wrap+.caution__dl {
    margin-top: 10px;
}
.caution__dl+.caution__dl {
    margin-top: 10px;
}
.rank__item.result__item .cta__area.result__cta{
	margin-top: 0px;
}

}
@media screen and (max-width: 412px) {
	.viewport {
		width: 392px;
		overflow: hidden;
		border: 1px solid #ccc;
		margin: 0 auto 20px;
		box-sizing: border-box;
		-webkit-transform: translateZ(0);
	}

	.item {
		width: 392px;
		margin: 0;
		text-align: center;
		float: left;
	}
}

@media screen and (max-width: 375px) {
	.viewport {
		width: 355px;
		overflow: hidden;
		border: 1px solid #ccc;
		margin: 0 auto 20px;
		box-sizing: border-box;
		-webkit-transform: translateZ(0);
	}

	.item {
		width: 355px;
		margin: 0;
		text-align: center;
		float: left;
	}
}

@media screen and (max-width: 360px) {
	.viewport {
		width: 340px;
		overflow: hidden;
		border: 1px solid #ccc;
		margin: 0 auto 20px;
		box-sizing: border-box;
		-webkit-transform: translateZ(0);
	}

	.item {
		width: 340px;
		margin: 0;
		text-align: center;
		float: left;
	}
}

/*///////////////////////////////////////////250107 追記///////////////////////////////////////////*/

@media screen and (max-width: 640px) {
	
.min__wrap {
    padding: 0;
}
	
.min__table tr:first-of-type th {
    width: 16%;
}
.min__table td{
	width: calc(84% / 3);
}
	
.hikaku__tag__list {
    flex-wrap: wrap;
    gap: 4px 2px;
}
	
.hikaku__tag {
    border-radius: 20px;
    padding: 2px 10px 3px;
    font-size: 12px;
}
	
.min__table th {
    font-size: 11px;
    padding: 11px 4px;
}
	
.min__table td {
    font-size: 14px;
    padding: 12px 4px;
}
	
.hikaku__th__tag.g {
    display: ruby-text;
}
	
.hikaku__th__tag.b {
    display: ruby-text;
}
	
}