@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; */
    right: 4px;
  }
  body:not(.result_page) .adTxt {
    text-align: right;
    max-width: 100%;
    padding: 2px 4px;
    margin: 0 auto;
    top: 20px;
  }
  body:not(.result_page) .adTxt span {
    font-size: 12px;
    font-weight: bold;
    border: 1px solid var(--Text); /* 枠色 変数名がTextでない場合は変更 */
    padding: 2px 14px;
  }

  .adTxt {
    text-align: right;
    max-width: 100%;
    padding: 2px 8px;
    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: 122px 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__table {
    margin-top: 2px;
  }
  #area .min__table {
    width: 464px;
  }
  .min__table th {
    font-size: 12px;
    padding: 0 4px;
  }
  .min__table tr:first-of-type th {
    width: 10%;
  }
  .min__table td {
    padding: 12px 4px;
    font-size: 14px;
  }
  .min__table__name {
    font-size: 12px;
    margin-top: 4px;
  }
  .min__table__name.forSP {
    display: block;
  }
  .min__table__name.single {
    height: 28px;
    line-height: 28px;
  }
  .min__eva {
    width: 37px;
    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: 14px;
  }
  .min__table tr:first-of-type td:first-of-type::after,
  .min__table tr:first-of-type td:nth-of-type(2)::after,
  .min__table tr:first-of-type td:nth-of-type(3)::after {
    height: 50px;
    width: 50px;
    background-size: 100%;
  }
  /* ------------------------------
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__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__wrap {
    padding: 0 14px;
  }
  .hikaku__table th {
    font-size: 14px;
  }
  .hikaku__table td {
    font-size: 12px;
    width: calc(100% / 3);
    padding: 10px 6px;
  }
  .hikaku__table th:nth-of-type(1) {
    width: unset;
  }
  .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_submit input {
    width: 40%;
  }
  .Refine_Search_cta button {
    font-size: 14px;
    width: 80px;
  }
  .shindan__block.re_form {
    margin-top: 20px;
  }
  .Refine_Search_Title {
    font-size: 18px;
  }
  /* 20250219 検索項目こだわり条件追加 */
  .kodawari__list {
    grid-template-columns: repeat(2, 1fr);
    font-size: 12px;
    margin-top: 4px;
  }
  /* ------------------------------
検索結果
------------------------------ */
  .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_page .footer {
    margin-top: 30px;
  }
  /* ------------------------------
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;
  }
  /* ========================================================
20240609 追加
=========================================================*/
  .min__wrap {
    overflow-x: scroll;
  }
  .min__table {
    width: 630px;
  }
  .min__table th {
    position: sticky;
    left: 0;
    z-index: 10;
    height: 60px;
  }
  #area .min__table th {
    height: unset;
  }
  .hikaku__tag__list {
    flex-wrap: wrap;
    gap: 4px 2px;
  }
  .min__table tr:first-of-type td {
    padding: 6px;
  }
  .min__table td.hikaku__btm__pad {
    padding-bottom: 4px;
  }
  .min__table td.hikaku__btm__pad.mr {
    padding-bottom: 16px;
  }
  .hikaku__scroll__txt {
    margin: 4px auto auto;
    padding-right: 14px;
    font-size: 12px;
    text-align: right;
  }
  .hikaku__tag {
    border-radius: 20px;
    padding: 2px 10px 3px;
    font-size: 12px;
  }
  .min__table .min__table__logo {
    object-fit: cover;
  }
  /* ========================================================
20240606 header ロゴ追加
=========================================================*/
  .header__logo {
    height: 46px;
    width: 100%;
  }
  .header__logo::before {
    width: 140px;
    height: 46px;
  }

  /* ========================================================
20240625 地域LP
=========================================================*/
  .tiiki {
    font-size: 1.5rem;
    width: 100px;
    height: 20px;
    top: 28%;
    left: 11%;
  }
}
@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;
  }
}
/* ========================================================
20241030 dutas 比較表追加
=========================================================*/
@media screen and (max-width: 640px) {
  .arrow_down {
    width: 180px;
    margin: 0 auto 10px;
  }
  .hikaku_dutas .hikaku__wrap {
    padding: 0;
  }
  .hikaku_dutas .hikaku__table th {
    width: 25%;
    font-size: 12px;
    padding: 5px 3px;
  }
  .hikaku_dutas .hikaku__table td {
    padding: 10px 5px;
  }

  /* ========================================================
20250220 jump追加
=========================================================*/
  .jump {
    padding-bottom: 18px;
  }

  .jump__list {
    gap: 6px;
    padding-inline: 14px;
  }
  /* ========================================================
20250626 usuge_taisaku追加
=========================================================*/
  .taisaku__container {
    padding-bottom: 14px;
  }
  .taisaku___wrap {
    overflow-x: scroll;
  }
  .usuge_taiskau table.taisaku___table {
    margin-top: 5px;
  }

  .taisaku___table {
    width: 640px;
  }
  .taisaku___table th {
    font-size: 12px;
  }
  .taisaku___table td {
    font-size: 14px;
    width: calc(100% / 6);
    padding: 15px 6px;
  }
  .taisaku___table th:nth-of-type(1) {
    width: unset;
  }
  .taisaku___table__logo__wrap img {
    height: 33px;
    width: auto;
    margin-inline: auto;
    display: block;
    object-fit: contain;
  }
  a.cta.usuge_taiskau {
    padding: 6px 10px;
    font-size: 12px;
    width: 100%;
    margin-top: 6px;
  }

  .taisaku__container th {
    padding: 8px 8px;
  }

  .taisaku__container .taisaku___table {
    font-size: 12px;
  }

  .bg_gray {
    background-color: #a6a6a6;
  }

  .bg_yellow {
    background-color: #f4f1ae;
  }

  .clinic_color {
    color: #333;
  }

  .bg_black {
    background-color: black;
  }

  /* .background_dott {
    background-image: radial-gradient(#dfdddd 2px, transparent 1px);
    background-size: 20px 20px;
  } */

  .taisaku_text {
    font-size: 20px;
    text-align: center;
  }

  .usuge_scroll_text {
    margin: 4px auto auto;
    padding-right: 14px;
    font-size: 12px;
    text-align: right;
  }

  .usuge_taiskau table.taisaku___table th:first-child,
  .usuge_taiskau table.taisaku___table td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    background-color: #f3f3f3; /* ← 背景は必須（透明だと裏が見える） */
  }
}
