@charset "UTF-8";
/* ========================================================
ベース設定
=========================================================*/
:root {
  /* カラー */
  --Text: #364048;
  --Text_blue: #1a0dab;
  --Main: #3777cb;
  --Sub: #71c7f7;
  --Accent: #5bc1cc;
  --Back: #e5ecf6;
  --gray: #364048;
  --blue01: #e4f6fc;
  --blue02: #6cb5fa;
  --red: #dd0d00;
  --yellow: #fffbdb;
  /* 文字サイズ */
  --FontSizePC: 20px;
  /* 1010px(inner+padding*2) 〜 max-screen */
  --FontSizeTab: 1.5841584158vw;
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../font/Noto Sans JP Bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../font/Noto Sans JP Regular.woff") format("woff");
  font-display: swap;
}

html {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  color: var(--Text);
}

.body {
  counter-reset: number 0;
  /* font-feature-settings: "palt"; */
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.forPC {
  display: none;
}
.forPC-inline {
  display: none;
}
.forSP {
  display: block;
}
p {
  font-size: 0.875rem;
}
p + p {
  margin-top: 0.5em;
}

a {
  font-weight: bold;
  text-decoration: underline;
  color: var(--Text_blue);
}
.adTxt {
  text-align: right;
  max-width: 100%;
  padding: 0 8px; /* 左右余白 LPに合わせて調整 */
  margin: 8px auto;
}
.adTxt span {
  font-size: 14px;
  font-weight: bold;
  border: 1px solid var(--Text); /* 枠色 変数名がTextでない場合は変更 */
  padding: 2px 14px;
}
.txt--clinicfor {
  font-size: 10px;
  text-align: right;
  padding: 0 8px;
}

.result_page .txt--clinicfor {
  margin-top: -14px;
}

/* ========================================================
共通パーツ
=========================================================*/
/* インナー */
.inner {
  padding: 0 15px;
}

/* 文字装飾 */
.bold {
  font-weight: bold;
}
.blue {
  font-weight: bold;
  color: var(--Main);
}
.body .fontSize--10px {
  font-size: 0.625rem;
}
.body .fontSize--11px {
  font-size: 0.687rem;
}
.body .fontSize--12px {
  font-size: 0.75rem;
}
.body .fontSize--13px {
  font-size: 0.812rem;
}
.body .fontSize--14px {
  font-size: 0.875rem;
}
.body .fontSize--15px {
  font-size: 0.937rem;
}
.body .fontSize--16px {
  font-size: 1rem;
}
.marker {
  background: linear-gradient(transparent 68%, var(--yellow) 68%);
  display: inline;
  font-weight: bold;
}

/* CTAボタン */
.ctaBtn {
  font-size: 1rem;
  color: #fff;
  text-decoration: none;
  text-align: center;
  display: inline-block;
  background: var(--red);
  border-radius: 0.312rem;
  width: 100%;
  padding: 0.937rem 15%;
  margin-top: 0.625rem;
  position: relative;
}
.ctaBtn::after {
  content: "";
  display: inline-block;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  width: 0.625rem;
  height: 0.625rem;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%) rotate(-45deg);
}
.ctaBtn--s {
  font-size: 0.75rem;
  color: #fff;
  text-decoration: none;
  text-align: center;
  display: inline-block;
  background: var(--red);
  border-radius: 0.1875rem;
  width: 100%;
  padding: 7px 15%;
  margin-top: 0.625rem;
  position: relative;
}
.ctaBtn--s::after {
  content: "";
  display: inline-block;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  width: 0.4375rem;
  height: 0.4375rem;
  position: absolute;
  top: 50%;
  right: 0.625rem;
  transform: translateY(-50%) rotate(-45deg);
}

/* テーブル */
.table {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
  margin-top: 1.875rem;
}
.table th,
.table td {
  font-size: 0.75rem;
  border-top: 1px solid var(--Text);
  border-bottom: 1px solid var(--Text);
  padding: 0.625rem;
  word-break: break-all;
}
.table th p,
.table td p {
  font-size: 0.75rem;
}
.table th + th,
.table th + td,
.table td + th,
.table td + td {
  border-left: 1px solid var(--Text);
}
.table th {
  background: var(--Back);
  width: 32%;
  padding-left: 5px;
  padding-right: 5px;
}
.ranking__table {
  width: calc(100% - 24px);
  margin: 0.9375rem auto 0;
}

.ranking__table td {
  padding: 0 4px;
}

/* テーブルテキスト */
.body table .table__txt--center {
  text-align: center;
}
.body table .table__txt--left {
  text-align: left;
}
.body table .table__txt--top {
  vertical-align: top;
}
.body table .table__txt--middle {
  vertical-align: middle;
}

/* テーブル黒 */
.table--bk {
  table-layout: fixed;
  border-collapse: collapse;
}
.table--bk th {
  font-size: 12px;
  font-weight: normal;
  color: #fff;
  text-align: center;
  background: var(--Text);
}
.table--bk th + th {
  border-left: 1px solid #fff;
}
.table--bk td {
  font-size: 12px;
  padding: 10px 5px;
  border-bottom: 1px solid var(--Text);
}
.table--bk td + td {
  border-left: 1px solid var(--Text);
}

/* 区切り線 */
.line {
  background-image: linear-gradient(
    to right,
    var(--Text),
    var(--Text) 1px,
    transparent 1px,
    transparent 3px
  );
  background-size: 3px 0.625rem;
  background-repeat: repeat-x;
  width: calc(100% - 16px);
  height: 0.625rem;
  position: absolute;
}

/* アコーディオン */
.aco__contents {
  display: none;
  margin-top: 1.875rem;
}

/* ========================================================
記事ページ
=========================================================*/
.page-lower {
  padding-top: 5rem;
}
.page-lower .inner {
  padding: 0 15px;
}
.page-lower .header {
  background: none;
}
.page-lower h1 {
  position: relative;
  text-align: center;
  max-width: 100vw;
  font-size: 1.5rem;
  font-weight: bold;
  padding: 0 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-lower h1::before,
.page-lower h1::after {
  content: "";
  display: block;
  background-image: url(../img/icon_dot_sp.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  width: 1.875rem;
  height: 3.625rem;
  z-index: -1;
}
.page-lower h1::before {
  left: 0.9375rem;
}
.page-lower h1::after {
  right: 0.9375rem;
}
.page-lower h2 {
  background-color: #f7f6f2;
  width: 100%;
  text-align: center;
  position: relative;
  border-right: 3px solid var(--Main);
  border-left: 3px solid var(--Main);
  font-weight: bold;
  font-size: 1.125rem;
  padding: 1rem 0;
  margin-top: 5rem;
}
.page-lower h2::before,
.page-lower h2::after {
  content: "";
  width: 3px;
  height: 50%;
  background-color: #2850aa;
  position: absolute;
  bottom: 0;
  z-index: 2;
}
.page-lower h2::before {
  left: -3px;
}
.page-lower h2::after {
  right: -3px;
}
.page-lower h3 {
  font-size: 1rem;
  border-left: 4px solid var(--Main);
  padding-left: 0.625rem;
  margin-top: 2.5rem;
}
.page-lower p {
  margin-top: 1rem;
}
.page-lower .cm__check {
  margin-top: 1.5rem;
}
.page-lower .cm__check + p {
  margin-top: 0.5rem !important;
}
.page-lower .cm__box {
  margin-top: 1.5rem;
}
.page-lower .cm__point {
  margin-top: 2rem;
}
.page-lower .cm__point__list {
  border: 2px solid var(--Main);
  border-radius: 6px;
  padding: 1.875rem 0.9375rem 0.9375rem;
  margin-top: -1rem;
}
.page-lower .cm__point__list li {
  position: relative;
  font-size: 0.875rem;
  line-height: 1.5;
  padding-left: 1rem;
}
.page-lower .cm__point__list li + li {
  margin-top: 0.9375rem;
}
.page-lower .cm__point__list li::before {
  content: "";
  background-color: var(--Main);
  max-width: 5px;
  min-width: 5px;
  height: 5px;
  border-radius: 100px;
  position: absolute;
  top: 0.475rem;
  left: 0;
}
.page-lower .cmn__table {
  margin-top: 1.5rem;
  width: 100%;
  display: flex;
  margin-top: 0.625rem;
  border: 1px solid var(--Text);
  border-right: 0;
  flex-wrap: wrap;
}
.page-lower .cmn__table dl {
  flex: initial;
  max-width: 50%;
  width: 100%;
  border-right: 1px solid var(--Text);
}
.page-lower .cmn__table dt {
  background-color: var(--Back);
  text-align: center;
  font-size: 0.875rem;
  font-weight: bold;
}
.page-lower .cmn__table dd {
  text-align: center;
  padding: 0.625rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: calc(100% - 20px);
}
.page-lower .cmn__table dd p {
  margin-top: 0;
  font-size: 0.875rem;
}
.page-lower .cmn__table dl.size-full {
  width: 100%;
  max-width: 100%;
}
.cm__check {
  font-weight: bold;
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
}
.cm__check::before {
  content: "";
  display: inline-block;
  border-left: 2px solid var(--Accent);
  border-bottom: 2px solid var(--Accent);
  width: 0.812rem;
  height: 0.437rem;
  transform: rotate(-45deg);
  margin-top: 0.5em;
}
.cm__box {
  border: 1px solid var(--Text);
  border-radius: 6px;
  padding: 0.9375rem;
  margin-top: 0.9375rem;
}

/* パンくず */
.pankuz {
  margin-bottom: 24px;
}
.pankuz.inner {
  padding-right: 0;
}
.pankuz__home {
  text-decoration: underline;
}
.pankuz ul {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: scroll;
}
.pankuz ul a {
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 4px;
  color: inherit;
}
.pankuz li {
  font-size: 14px;
  white-space: nowrap;
}
.pankuz ul a img {
  width: 20px;
  height: 20px;
}

/* ========================================================
ヘッダー
=========================================================*/
.header {
  max-width: 100vw;
  background-color: #fbf7da;
}
.header img {
  display: block;
}

/* ロゴスライダー */
.slider.clinicLogo {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  background: #fff;
}
.slider.clinicLogo img {
  height: 35px;
  width: auto;
  padding: 10px 0;
  object-fit: contain;
}
.slider.clinicLogo .slick-slide {
  width: auto !important;
  margin: 0 8px;
}

/* .clinicLogo {
  background: #fff;
  overflow-x: hidden;
}
.autoplay-slider{
  display: flex;
  width: 100%;
}
.slide {
  padding-left: 15px;
}
.slide img {
  height: 35px;
  width: auto;
  padding: 10px 0;
  object-fit: contain;
  position: relative;
}

@keyframes sliderAnimation {
  100% {
    transform: translateX(-50%);
  }
}

.autoplay-slider{
  display: flex;
  min-width: 100%;
  width: min-content;
  animation: 20s linear infinite sliderAnimation;
} */

/* ========================================================
fv
=========================================================*/
.fv {
  background: var(--blue01);
}
.fv__ttl {
  background: linear-gradient(transparent 69%, #fff 69%);
}
.inner.fv__inner {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: calc((100% - 40px) / 3 + 20px) calc((100% - 40px) / 3) calc(
      (100% - 40px) / 3
    );
  gap: 10px;
  padding: 15px 10px;
}
.fv__item {
  text-align: center;
  padding: 10px 0;
}
.fv__item:nth-child(1) {
  grid-row: 1;
  grid-column: 1;
  /* background: var(--yellow);
  box-shadow: 0 0 0 2px var(--Main); */
  border-radius: 7px;
  padding: 10px;
}
.fv__item02:nth-child(2) {
  grid-row: 1;
  grid-column: 2;
}
.fv__item03:nth-child(3) {
  grid-row: 1;
  grid-column: 3;
}
img.fv__item-rank {
  display: block;
  width: 60px;
  height: auto;
  margin: 0 auto;
}
.fv__txt {
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 1.5;
  border-bottom: 1px solid var(--Grey);
  height: 4.625rem;
  margin-top: 10px;
  position: relative;
}
.fv__txt::after {
  content: "";
  display: inline-block;
  background: url(../img/ct_img_fv_line_sp.png) no-repeat center / 100% auto;
  width: 100%;
  aspect-ratio: 105 / 8;
  margin-top: 0.5rem;
}
.fv__item-ttl {
  font-size: 0.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.125rem;
  margin-bottom: 0;
}
.fv__item-img {
  border: 1px solid var(--Text);
  margin-top: 10px;
}

/* ========================================================
EDを治療できるのはクリニックだけ
=========================================================*/
.clinic {
  padding-bottom: 30px;
}
.clinic__table {
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 12px;
  border: 2px solid var(--Text);
  width: 100%;
}
.clinic__table-th--wh {
  font-weight: normal;
  border: 1px solid var(--Text);
  padding: 2px;
}
.clinic__table-th--gr {
  background: var(--Back);
  border-top: 1px solid var(--Text);
  border-bottom: 1px solid var(--Text);
  padding: 5px;
}
.clinic__table-th--gr + .clinic__table-th--gr {
  border-left: 1px dotted var(--Text);
}
.clinic__table-th--bl {
  font-size: 14px;
  color: #fff;
  background: var(--Main);
  border: 1px solid var(--Text);
  width: 36%;
  padding: 5px;
}
.clinic__table td {
  text-align: center;
  padding: 10px;
  vertical-align: top;
}
.clinic__table-td + .clinic__table-td {
  border-left: 1px dotted var(--Text);
}
.clinic__table-td--yl {
  background: var(--yellow);
  border: 1px solid var(--Text);
  padding: 10px;
}
.clinic__table-td_ttl,
.clinic__table-td_ttl--triangle {
  font-size: 12px;
  font-weight: bold;
}
.clinic__table-td_ttl::before {
  content: "●";
  color: var(--Accent);
  margin-right: 0.25em;
}
.clinic__table-td_ttl--triangle::before {
  content: "▲";
  color: var(--Accent);
  margin-right: 0.25em;
}
.clinic__table-td_img {
  width: auto;
  height: 90px;
  margin: 10px auto 0;
}
.clinic__table-td_label {
  font-size: 10px;
  color: #fff;
  display: inline-block;
  background: var(--Text);
  border-radius: 8px;
  padding: 0 15px;
  margin-top: 10px;
}
.clinic__table-td--yl .clinic__table-td_label {
  background: var(--Accent);
}
.clinic__table-td_txt {
  font-size: 12px;
  margin-top: 8px;
}
.clinic__table-td--yl .clinic__table-td_txt {
  font-size: 14px;
  font-weight: bold;
}
.clinic__table-img {
  margin-top: 10px;
}

/* ========================================================
市販NG
=========================================================*/
.ng {
  background: #f0f3f5;
  padding-bottom: 30px;
}
.ng__box-ttl {
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  background: var(--Text);
  border-radius: 7px 7px 0 0;
  padding: 10px 0;
}
.ng__box-txt {
  font-size: 0.875rem;
  background: #fff;
  border: 2px solid var(--Text);
  border-radius: 0 0 7px 7px;
  padding: 13px 15px 15px;
}

/* ========================================================
比較表BEST3
=========================================================*/
.comparisonBest3 {
  border-top: 3px solid var(--Main);
  padding-bottom: 30px;
}
.inner.comparisonBest3__inner {
  padding: 0;
  overflow-x: scroll;
}
.comparisonBest3__table {
  border-top: 2px solid var(--Text);
  border-left: 2px solid var(--Text);
  border-right: 2px solid var(--Text);
  margin-top: 0;
  margin-left: 15px;
  position: relative;
}
.comparisonBest3__table::after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 15px;
  height: 1px;
}
.comparisonBest3__table th,
.comparisonBest3__table td {
  text-align: center;
}
.comparisonBest3__table th {
  font-size: 12px;
  width: 85px;
  background-color: #2e6bc4;
  color: #fff;
}
.comparisonBest3__table td {
  width: 200px;
  padding: 10px;
}
.comparisonBest3__table tr td:first-of-type {
  background-color: #fffee2;
}
.comparisonBest3__table-logo {
  width: 100%;
  height: auto;
  padding: 12px 0;
  object-fit: contain;
}
.comparisonBest3__table-txtLInk {
  display: inline-block;
  margin-top: 5px;
}
.comparisonBest3__table-icon {
  width: 30px;
  aspect-ratio: 1 / 1;
  margin: 0 auto 5px;
}

.comparisonBest3__table > tbody > tr:last-child > th,
.comparisonBest3__table > tbody > tr:last-child > td {
  border-bottom: 2px solid var(--Text);
}

.inner.comparisonBest3__inner.no_scroll {
  padding: 0;
  overflow-x: hidden;
}

.comparisonBest3__inner.no_scroll .comparisonBest3__table {
  width: 100%;
  margin-left: 0px;
}

.comparisonBest3__inner.no_scroll .comparisonBest3__table th {
  width: 17%;
}
.comparisonBest3__inner.no_scroll .comparisonBest3__table tr td:first-of-type {
  width: 33%;
}
.comparisonBest3__inner.no_scroll
  .comparisonBest3__table
  tr
  td:not(:first-of-type) {
  width: calc(50% / 2);
}
.comparisonBest3__inner.no_scroll .comparisonBest3__table .ctaBtn--s {
  font-size: 0.65rem;
}
.comparisonBest3__inner.no_scroll .comparisonBest3__table .ctaBtn--s::after {
  right: 0.505rem;
}
.comparisonBest3__inner.no_scroll .comparisonBest3__table-logo {
  width: 100%;
  height: 48px;
  object-fit: contain;
  padding: 0;
}
.edComparison__table__medsImg {
  width: 47px;
  height: auto;
  display: block;
  margin-inline: auto;
}
/* ========================================================
クリニック選びのポイント
=========================================================*/
.point {
  background-color: #f1f3f5;
  position: relative;
  padding-bottom: 25px;
}
.point__inner {
  padding: 0;
}
.point__list {
  display: grid;
  grid-template-columns: repeat(3, 240px);
  justify-content: flex-start;
  gap: 15px;
  padding: 0 15px;
  overflow-x: scroll;
}
.point__item {
  background: #fff;
  border-radius: 25px;
  width: 100%;
  padding: 14px 15px 15px;
  flex-shrink: 0;
  position: relative;
  margin-top: 10px;
  margin-bottom: 5px;
}
.point__item-point {
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #32a9e2;
  color: #fff;
  border-radius: 50%;
}
.point__item-ttl {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  display: flex;
  justify-content: left;
  align-items: center;
  gap: 8px;
}
/* .point__item-ttl::before {
  content: "";
  display: inline-block;
  background: url(../img/ct_img_brackets_left.svg) no-repeat center / 10px 55px;
  width: 10px;
  height: 55px;
  margin-right: 30px;
}
.point__item-ttl::after {
  content: "";
  display: inline-block;
  background: url(../img/ct_img_brackets_right.svg) no-repeat center / 10px 55px;
  width: 10px;
  height: 55px;
  margin-left: 30px;
} */
.point__item-img {
  width: 140px;
  aspect-ratio: 1 / 1;
  margin: 10px auto 0;
}
.point__item-txt {
  line-height: 1.57;
  margin-top: 10px;
}

/* ========================================================
おすすめNo1
=========================================================*/
.recommend {
  padding-top: 0.625rem;
}
.recommend__item {
  background: 0.625rem;
  border: 2px solid var(--Text);
  border-radius: 0.1875rem;
  position: relative;
  margin-top: 2.375rem;
}
.recommend__item + .recommend__item {
  margin-top: 45px;
}

.recommend__item-ttl {
  font-size: 1.125rem;
  text-align: center;
  padding: 12px 15px;
  position: relative;
}
.recommend__item-ttl::before {
  width: 2.4rem;
  height: 54px;
  position: absolute;
  content: "";
  background: url(../img/icon.svg) no-repeat;
  background-size: 100%;
  top: 0;
  left: 0;
}
.recommend__item-contents {
  background: var(--blue01);
  padding: 15px;
}

.recommend__item-bnr {
  border: 1px solid var(--Text);
}
.recommend__item-table {
  width: calc(100% + 30px);
  margin: 15px -15px 0;
}
.recommend__item-table td {
  font-weight: bold;
  text-align: center;
  vertical-align: top;
}
.recommend__item-table td small {
  font-weight: normal;
}
.recommend__item-icon {
  width: 40px;
  aspect-ratio: 1 / 1;
  margin: 0 auto 10px;
}
.recommend__item-ctaArea_catch {
  font-size: 12px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  margin-top: 0.5rem;
}
.recommend__item-ctaArea_catch::before {
  content: "";
  display: inline-block;
  background: var(--Text);
  width: 1px;
  height: 0.8em;
  transform: rotate(-35deg);
  margin-top: 0.3em;
}
.recommend__item-ctaArea_catch::after {
  content: "";
  display: inline-block;
  background: var(--Text);
  width: 1px;
  height: 0.8em;
  transform: rotate(35deg);
  margin-top: 0.3em;
}
.recommend__item-ctaArea_wrap {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 10px;
  margin-top: 0.312rem;
}
.recommend__item-ctaArea_toRank {
  font-size: 0.75rem;
  font-weight: bold;
  color: var(--Text);
  text-align: center;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--Text);
  border-radius: 5px;
  padding: 15px 0 23px;
  position: relative;
}
.recommend__item-ctaArea_toRank::after {
  content: "";
  display: inline-block;
  border-bottom: 2px solid var(--Text);
  border-right: 2px solid var(--Text);
  width: 7px;
  height: 7px;
  position: absolute;
  top: 64%;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}
.recommend__item-ctaArea_wrap .ctaBtn {
  font-size: 0.875rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0.4375rem 15%;
  margin-top: 0;
}
.recommend__item-ctaArea_wrap .ctaBtn::after {
  width: 0.625rem;
  height: 0.625rem;
}
.recommend__item-ctaArea_wrap .ctaBtn .fontSize--10px {
  font-weight: normal;
}

/* ========================================================
ランキング
=========================================================*/
.ranking {
  background: linear-gradient(
    145deg,
    var(--blue02) 0%,
    var(--blue02) 3.1%,
    var(--Sub) 3.1%,
    var(--Sub) 100%
  );
  padding-bottom: 1.875rem;
}
.ranking .inner {
  padding: 0 8px;
}
.ranking__contents {
  padding: 0 0.9375rem 1.875rem;
}
.ranking__item {
  background: #fff;
  border: 2px solid var(--Text);
  border-radius: 0.437rem;
  padding: 0;
}
.ranking__item:not(:first-of-type) {
  margin-top: 5%;
}
.ranking__item > div:last-child {
  border-radius: 0 0 0.625rem 0.625rem;
}
.ranking__item + .ranking__item {
  margin-top: 1.875rem;
}
.ranking__item-top {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  position: relative;
  background: var(--blue01);
  position: relative;
  border-radius: 4px 4px 0 0;
}
.ranking__item-rank--img {
  width: 2.4rem;
  height: auto;
  position: absolute;
  top: 0;
}
.ranking__item-rank--txt {
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 2.875rem;
  color: #fff;
  vertical-align: baseline;
  display: inline-flex;
  justify-content: center;
  align-items: baseline;
  background: var(--Main);
  border-radius: 50%;
  width: 2.875rem;
  height: 2.875rem;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}
.ranking__item-rank_num {
  font-size: 1.3125rem;
  font-weight: bold;
  margin-right: 0.08em;
}
.ranking__item-rank--txt + .ranking__item-top_txt {
  padding-left: 3.625rem;
}
.ranking__item-top_txt {
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.3;
}
.ranking__name {
  font-size: 1.125rem;
  background: var(--blue01);
  padding-left: 46px;
}

/* バナー */
.bnr_link {
  text-decoration: none;
}
.bnr__img {
  border: 1px solid var(--Text);
}
.bnr__txt {
  font-size: 0.75rem;
  font-weight: normal;
  color: #fff;
  background: var(--Text);
  padding: 0.625rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 5px;
}
.bnr__txt .ctaBtn--s {
  display: inline-block;
  width: 6.5625rem;
  min-width: 40%;
  margin-top: 0;
  padding: 0.4375rem 7% 0.4375rem 5%;
}

/* ランキングバナー */
.ranking__bnr {
  padding: 0 10px;
  margin-top: 0.9375rem;
}

/* タグ */
.ranking__tag {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3125rem;
  padding: 0 0.9375rem;
  margin-top: 0.9375rem;
}
.ranking__tag li {
  font-size: 0.75rem;
  font-weight: bold;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 0.25em;
  background: var(--Accent);
  border-radius: 0.187rem;
  padding: 0.25rem 0.375rem;
  opacity: 0.4;
}
.ranking__tag li::before {
  content: "";
  background: url(../img/ct_ico_check_wh.svg) no-repeat center / 0.625rem 0.5rem;
  width: 0.625rem;
  height: 0.5rem;
  margin-top: 0.2em;
}
.ranking__tag li.on {
  opacity: 1;
}

/* ポイント */
.ranking__point {
  margin-top: 1.875rem;
  padding: 0 12px;
}
.ranking__point .cm__check {
  margin-top: 1rem;
}
.ranking__point-contents {
  line-height: 1.57;
  margin-top: 0.9375rem;
}
.ranking__point-item_txt {
  font-size: 0.875rem;
  margin-top: 1rem;
}
.ranking__point-item + .ranking__point-item {
  margin-top: 1.875rem;
}
.ranking__ctaArea {
  text-align: center;
  background: var(--blue01);
  padding: 1.25rem 0.937rem 0.937rem;
  margin-top: 1.875rem;
}

.ranking__ctaArea-catch {
  font-size: 1rem;
  font-weight: bold;
  display: inline;
  background: linear-gradient(transparent 80%, #fff 80%);
}
.ranking__ctaArea-logo {
  height: 4.375rem;
  object-fit: contain;
  padding: 0.937rem;
  margin-top: 0.937rem;
}
.ranking__ctaArea .ctaBtn {
  font-size: 1rem;
  padding-top: 15px;
  padding-bottom: 15px;
}
.ranking__ctaArea .ctaBtn::after {
  width: 0.625rem;
  height: 0.625rem;
}

/* 4位以下を見る */
.ranking__aco-btn {
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  background: #fff;
  border: 1px solid var(--Text);
  border-radius: 0.312rem;
  box-shadow: 0 0.3125rem 0.625rem #2c386626;
  padding: 1.125rem 0;
  margin-top: 1.875rem;
  position: relative;
}
.ranking__aco-btn::after {
  content: "";
  display: inline-block;
  border-right: 2px solid var(--Text);
  border-bottom: 2px solid var(--Text);
  width: 0.625rem;
  height: 0.625rem;
  position: absolute;
  top: 46%;
  right: 7%;
  transform: translateY(-50%) rotate(45deg);
}
.ranking__aco-btn.close::after {
  top: 54%;
  transform: translateY(-50%) rotate(225deg);
}

/* ========================================================
比較表
=========================================================*/
.comparison {
  padding-bottom: 30px;
}
.inner.comparison__inner {
  padding: 0;
  overflow-x: scroll;
}
.comparison__table {
  border-top: 2px solid var(--Text);
  border-left: 2px solid var(--Text);
  border-right: 2px solid var(--Text);
  margin-top: 0;
  margin-left: 15px;
  position: relative;
}
.comparison__table::after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 15px;
  height: 1px;
}
.comparison__table th {
  padding: 5px;
}
.comparison__table > thead > tr > th:nth-child(1) {
  width: 130px;
}
.comparison__table > thead > tr > th:nth-child(2) {
  width: 160px;
}
.comparison__table > thead > tr > th:nth-child(3) {
  width: 140px;
}
.comparison__table > thead > tr > th:nth-child(4) {
  width: 240px;
}
.comparison__table td {
  vertical-align: top;
}
.comparison__table > tbody > tr > td:nth-child(1) {
  vertical-align: middle;
}
.comparison__table > tbody > tr > td:nth-child(2) {
  position: relative;
  padding-bottom: 52px;
}
.comparison__table .ctaBtn--s {
  width: calc(100% - 20px);
  position: absolute;
  left: 10px;
  bottom: 10px;
}
.comparison__table-logo {
  height: 50px;
  object-fit: contain;
  padding: 10px 0;
}
.comparison__table-logo--m {
  min-width: 90px;
  height: 50px;
  object-fit: contain;
  padding: 10px;
}
.comparison__table-logo--s {
  min-width: 90px;
  height: 50px;
  object-fit: contain;
  padding: 10px 20px;
}
.comparison__table-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
.comparison__table-icon img {
  width: 50px;
}
.comparison__table-txtLink {
  font-size: 12px;
  text-align: center;
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.comparison__table > tbody > tr:last-child > th,
.comparison__table > tbody > tr:last-child > td {
  border-bottom: 2px solid var(--Text);
}

/* ========================================================
まとめ
=========================================================*/
.matome__ttl {
  font-size: 22px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.05em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70px;
  background: linear-gradient(
    145deg,
    var(--blue02) 0%,
    var(--blue02) 52%,
    var(--Sub) 52%,
    var(--Sub) 100%
  );
  margin-bottom: 10px;
  position: relative;
}
.matome__ttl::after {
  content: "";
  display: inline-block;
  border-top: 11px solid var(--Sub);
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
}
.matome__catch {
  font-weight: bold;
  text-align: center;
  padding: 5px 0 15px;
}
.matome__contents {
  background: var(--blue01);
  padding: 15px 0 30px;
}
.matome__txt {
  line-height: 1.57;
  background: #fff;
  border: 1px solid var(--Text);
  border-radius: 0.312rem;
  padding: 15px;
  margin-top: 15px;
}
.matome__contents .ctaBtn {
  margin-top: 15px;
}

/* ========================================================
絞り込み検索フォーム
=========================================================*/
.Refine_Search {
  margin: 20px auto 0;
  background-color: #f0f3f5;
  padding: 0 0 40px;
}

.Refine_Search .inner {
  padding: 0;
}

.Refine_Search_ttl {
  border-bottom: 2px solid #fff;
  padding: 10px 0 20px;
}

.Refine_Search_ttl img {
  display: block;
  max-width: 900px;
  margin: 0 auto;
}

#re_form {
  margin-top: 40px;
  padding: 0 0 20px;
  background-color: #f0f3f5;
}

.shindan__block.re_form {
  max-width: 910px;
  margin: 30px auto 0;
}

.forSP {
  display: none;
}

.Refine_Search_Title {
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
  text-indent: -9999px;
  width: 100%;
  height: 58px;
  background-image: url(../img/result_form_ttl_pc.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  top: 80px;
  margin-bottom: 110px;
}

#Refine_Search_Area .Refine_Search_Box {
  overflow: hidden;
}

#Refine_Search_Area dl.Refine_Search_conditions_Area {
  max-width: 1000px;
}

#Refine_Search_Area dl.Refine_Search_conditions_Area {
  box-sizing: border-box;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multile;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

#Refine_Search_Area dl.Refine_Search_conditions_Area dt {
  font-weight: bold;
  margin-bottom: 4px;
}

#Refine_Search_Area .condition_ttl {
  position: relative;
  display: flex;
  padding-left: 22px;
  align-items: center;
  margin-bottom: 8px;
}

#Refine_Search_Area .condition_ttl span {
  line-height: 1.7;
  font-weight: bold;
}

#Refine_Search_Area .condition_ttl:after {
  content: "";
  display: block;
  background-size: cover;
  position: absolute;
  width: 14px;
  height: 14px;
  background-repeat: no-repeat;
  background-size: contain;
  left: 0;
}

.age__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.consultation__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.treatment__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

#Refine_Search_Area dl.Refine_Search_conditions_Area dd {
  width: 100%;
}

#Refine_Search_Area dl.Refine_Search_conditions_Area label {
  display: flex;
  align-items: center;
}

#Refine_Search_Area dl.Refine_Search_conditions_Area input[type="radio"],
#Refine_Search_Area dl.Refine_Search_conditions_Area input[type="checkbox"] {
  margin-right: 0.5em;
  margin-top: 0;
  margin-left: 0;
  width: 16px;
  height: 16px;
}

#Refine_Search_Area input[type="radio"] {
  display: none;
}

#Refine_Search_Area .age__list input[type="radio"] + span.radiobox {
  position: relative;
  width: 13px;
  height: 12px;
  border-radius: 100px;
  background-color: #fff;
  border: 1px solid #333;
}

#Refine_Search_Area
  .age__list
  input[type="radio"]:checked
  + span.radiobox:after {
  background-color: #5bc1cc;
}

#Refine_Search_Area
  .age__list
  input[type="radio"]:checked
  + span.radiobox:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 47.2%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 100px;
  background-color: #5bc1cc;
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

.consultation__list .consultation,
.treatment__list .treatment,
.age__list .age,
.price__list .price,
.type__list .type,
.mokuteki__list .mokuteki {
  position: relative;
  left: 0px;
  width: 100%;
  text-align: center;
}

.age__list .age {
  left: -10px;
}

.mokuteki__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  position: relative;
}

.type__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
}

.multi-item {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  background-color: #fff;
  border: 1px solid #98a6b5;
  margin-bottom: 8px;
}

.multi-item label {
  width: 100%;
}

#Refine_Search_Area .multi-item .checkbox_text {
  background: none;
  border: none;
}

#Refine_Search_Area dl.Refine_Search_conditions_Area label {
  display: flex;
  align-items: center;
}

#Refine_Search_Area .radiobtn_text,
#Refine_Search_Area .checkbox_text {
  border: 1px solid #98a6b5;
  background-color: #fff;
  font-weight: normal;
}

.consultation__list label,
.treatment__list label,
.age__list label,
.price__list label,
.type__list label,
.mokuteki__list label {
  height: 40px;
  line-height: 30px;
  text-align: center;
  padding-left: 8px;
}

#Refine_Search_Area dl.Refine_Search_conditions_Area input[type="radio"],
#Refine_Search_Area dl.Refine_Search_conditions_Area input[type="checkbox"] {
  margin-right: 0.5em;
  margin-top: 0;
  margin-left: 0;
  width: 16px;
  height: 16px;
}

.multi-item input[type="checkbox"] {
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
  margin: 0 !important;
}

.Refine_Search_reset {
  border: none;
  padding: 0;
  background: none;
}

.kodawari__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3px 10px;
}

.kodawari__list > .multi-item .checkbox_icon {
  background-image: url(../img/kodawari_icon01.svg);
  width: 44px;
  height: 30px;
  margin-left: 9.7px;
  background-repeat: no-repeat;
}

.kodawari__list > .multi-item:nth-child(1) > label > span.checkbox_icon {
  background-image: url(../img/kodawari_icon01.svg);
}

.kodawari__list > .multi-item:nth-child(2) > label > span.checkbox_icon {
  background-image: url(../img/kodawari_icon02.svg);
}

.kodawari__list > .multi-item:nth-child(3) > label > span.checkbox_icon {
  background-image: url(../img/kodawari_icon03.svg);
}

.kodawari__list > .multi-item:nth-child(4) > label > span.checkbox_icon {
  background-image: url(../img/kodawari_icon04.svg);
}

.kodawari__list > .multi-item:nth-child(5) > label > span.checkbox_icon {
  background-image: url(../img/kodawari_icon05.svg);
}

.kodawari__list > .multi-item:nth-child(6) > label > span.checkbox_icon {
  background-image: url(../img/kodawari_icon06.svg);
}

.kodawari__list > .multi-item:nth-child(7) > label > span.checkbox_icon {
  background-image: url(../img/kodawari_icon07.svg);
}

.kodawari__list > .multi-item:nth-child(8) > label > span.checkbox_icon {
  background-image: url(../img/kodawari_icon08.svg);
}

#Refine_Search_Area input[type="checkbox"] + span.checkbox_icon {
  display: block;
  margin-right: 8px;
  margin-left: 9px;
  position: relative;
}

#Refine_Search_Area span.kodawari {
  display: inline-block;
  width: 100%;
  text-align: center;
  margin-left: -62px;
}

.Refine_Search_Box_wrap {
  padding: 10px;
  box-sizing: border-box;
  /* margin: 0 auto 10px auto; */
}

#Refine_Search_Area {
  font-size: 14px;
  color: var(--Text);
}

.result_data__area .Refine_Search_conditions_Area {
  max-width: 740px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.Refine_Search_submit {
  float: right;
  display: inline-block;
  vertical-align: bottom;
  line-height: 1;
}

.Refine_Search_submit input[type="submit"] {
  background: #9f0900;
  padding: 0;
  color: #fff;
  border: none;
  text-decoration: none;
  font-weight: bold;
  transition: 0.3s;
  display: inline-block;
  font-size: 16px;
  text-align: center;
  border-radius: 0.5rem;
  position: relative;
  height: 48px;
  line-height: 48px;
  width: 400px;
  border-radius: 4px;
  display: inline-block;
  position: relative;
}

.Refine_Search_submit input[type="submit"]:hover {
  opacity: 0.6;
  cursor: pointer;
}

span.noSubmit {
  background: #888;
  padding: 0;
  color: #fff;
  border: none;
  text-decoration: none;
  font-weight: bold;
  transition: 0.3s;
  display: inline-block;
  font-size: 16px;
  text-align: center;
  border-radius: 0.5rem;
  position: relative;
  height: 48px;
  line-height: 48px;
  width: 400px;
  border-radius: 4px;
  display: inline-block;
  position: relative;
  right: 48%;
  opacity: 0.6;
}

.ed #Refine_Search_Area dl.Refine_Search_conditions_Area dt {
  margin-bottom: 7px;
}

.ed #Refine_Search_Area .consultation__list,
.ed #Refine_Search_Area .treatment__list,
.ed #Refine_Search_Area .age__list {
  gap: 10px;
  margin-bottom: 10px;
}

.ed #Refine_Search_Area dl.Refine_Search_conditions_Area label {
  border-radius: 4px;
}

.ed #Refine_Search_Area .consultation__list .on01,
.ed #Refine_Search_Area .treatment .on02,
.ed #Refine_Search_Area .type__list .selected,
.ed #Refine_Search_Area .on,
#Refine_Search_Area .on02,
.ed #Refine_Search_Area .kodawari__list .selected,
.mokuteki__list .selected {
  background-color: #fdf8c8 !important;
  color: #333 !important;
}

.ed #Refine_Search_Area .type__list label {
  display: block;
  text-align: center;
  line-height: 48px;
  padding: 0;
  position: relative;
  text-indent: -6px;
}

.ed #Refine_Search_Area .input[type="radio"]:checked + span.radiobox:after,
.ed #Refine_Search_Area .on input[type="radio"] + span.radiobox:after,
.ed #Refine_Search_Area .on01 input[type="radio"] + span.radiobox:after {
  left: 50%;
}

.ed #Refine_Search_Area .input[type="radio"]:checked + span.radiobox:after,
.ed #Refine_Search_Area .on input[type="radio"] + span.radiobox:after,
.ed #Refine_Search_Area .on01 input[type="radio"] + span.radiobox:after {
  background-color: #5bc1cc;
}

.ed #Refine_Search_Area .condition_ttl:after {
  border-left: 6px solid #3777cb;
  background: none;
  height: 6px;
}

.ed #Refine_Search_Area .condition_ttl {
  padding-left: 10px;
  font-weight: normal;
}

.ed #Refine_Search_Area .multi-item {
  border: none;
}

.ed #Refine_Search_Area dl.Refine_Search_conditions_Area label {
  border: 1px solid #333;
  border-radius: 4px;
}

.ed #Refine_Search_Area .mokuteki__list {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2px 10px;
}

.ed #Refine_Search_Area .type__list {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 2px 10px;
}

.ed #Refine_Search_Area .input[type="radio"] + span.radiobox {
  border-color: #333;
}

.ed #Refine_Search_Area .Refine_Search_cta {
  position: relative;
  margin-top: 25px;
}

.ed #Refine_Search_Area .Refine_Search_number {
  display: inline-block;
  height: 48px;
  line-height: 48px;
  font-size: 16px;
  padding: 0 20px;
  vertical-align: bottom;
  /* float: left; */
  position: absolute;
  left: 100px;
  font-weight: bold;
}

.result_page.ed .bnr__txt .ctaBtn--s {
  box-sizing: border-box;
}

#Refine_Search_Area .consultation__list span.radiobox {
  display: block;
  position: absolute;
}

.consultation__list > .radiobtn_text:nth-child(1) > .radiobox {
  background-image: url(../img/consultation_icon01.svg);
  width: 30px;
  height: 30px;
  position: relative;
}

.consultation__list > .radiobtn_text:nth-child(2) > .radiobox {
  background-image: url(../img/consultation_icon02.svg);
  width: 30px;
  height: 30px;
  position: relative;
}

.treatment__list > .radiobtn_text:nth-child(1).on02 > .radiobox:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -57%);
  width: 8px;
  height: 8px;
  border-radius: 100px;
  background-color: #5bc1cc;
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

.treatment__list > .radiobtn_text:nth-child(1) > .radiobox {
  position: relative;
  width: 13px;
  height: 13px;
  border-radius: 100px;
  background-color: #fff;
  border: 1px solid #333;
}

.treatment__list > .radiobtn_text:nth-child(2) > .radiobox {
  background-image: url(../img/treatment_icon01.svg);
  width: 30px;
  height: 30px;
  margin-right: 8px;
  margin-left: 9px;
  position: absolute;
}

.treatment__list > .radiobtn_text:nth-child(3) > .radiobox {
  background-image: url(../img/treatment_icon02.svg);
  width: 30px;
  height: 30px;
  margin-right: 8px;
  margin-left: 9px;
  position: absolute;
}

/*sp*/
.Refine_Search_Box_wrap {
  padding-top: 0;
}
.Refine_Search_Title {
  padding-bottom: 0;
  font-weight: bold;
}
.Refine_Search_Box_wrap {
  margin-top: 16px;
}
#Refine_Search_Area dl.Refine_Search_conditions_Area label {
  height: 48px;
}

#Refine_Search_Area dl.Refine_Search_conditions_Area {
  margin-bottom: 20px;
}

.ed #Refine_Search_Area .age__list {
  grid-template-columns: 1fr 1fr 1fr;
}

.ed #Refine_Search_Area .treatment__list,
.ed #Refine_Search_Area .mokuteki__list {
  grid-template-columns: 1fr 1fr;
}

.ed #Refine_Search_Area .consultation__list {
  grid-template-columns: 1fr 1fr;
}

.ed #Refine_Search_Area .type__list {
  grid-template-columns: 1fr 1fr;
}

.kodawari__list {
  grid-template-columns: 1fr 1fr;
}

#Refine_Search_Area
  > form
  > div
  > dl:nth-child(8)
  > dd
  > label:nth-child(1)
  > span.treatment {
  left: -10px;
  position: relative;
}

#Refine_Search_Area dl.Refine_Search_conditions_Area label {
  min-height: 48px;
}

#Refine_Search_Area dl.Refine_Search_conditions_Area .kodawari__list label {
  min-height: 58px;
}

.span.noSubmit,
.Refine_Search_submit input[type="submit"] {
  width: 200px;
}

.Refine_Search_submit {
  width: calc(100% - 236px);
}

span.noSubmit,
.Refine_Search_submit input[type="submit"] {
  width: calc(100% - 180px);
  position: absolute;
  right: 0;
}

#Refine_Search_Area .kodawari__list {
  gap: 2px 10px;
}

.Refine_Search_Title {
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
  text-indent: -9999px;
  width: 160px;
  margin: 0 auto;
  height: 58px;
  background-image: url(../img/result_form_ttl_sp.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
  background-position: center;
  top: 30px;
}

.forSP {
  display: block;
}

#Refine_Search_Area span.kodawari {
  display: inline-block;
  width: 100%;
  margin-left: 0;
  text-align: left;
}

/* ========================================================
検索結果ページ
=========================================================*/

#CONTENTS #PANKUZU {
  background: #fff;
}

#PANKUZU .pankuzu {
  width: 1000px;
  margin: 10px auto 10px;
  color: #7e7e7e;
  font-size: 0.8rem;
  font-weight: bold;
  line-height: 1.2;
}

#CONTENTS #PANKUZU .pankuzu span {
  font-weight: bold;
  color: var(--Text);
}

#CONTENTS #PANKUZU .pankuzu_arrow {
  margin: 0 1em;
}

#CONTENTS {
  background: linear-gradient(
    160deg,
    var(--blue02) 0%,
    var(--blue02) 3.1%,
    var(--Sub) 3.1%,
    var(--Sub) 100%
  );
}

#CONTENTS .contents {
  width: 1000px;
  margin: 0 auto;
  max-width: 100%;
}

#CONTENTS .contents #SIDE {
  width: 204px;
  float: right;
}

#CONTENTS .contents #SIDE.top_1col {
  display: none !important;
}

#CONTENTS .contents #SIDE.top_1col .widget {
  display: none !important;
}

#CONTENTS .contents #MAIN {
  width: 785px;
  float: left;
  min-height: 500px;
}

.result_page.ed footer {
  background: #fff;
}

.result {
  padding: 0;
}

.result .card {
  overflow: hidden;
  padding-bottom: 36px;
}

.imgttl_searchresult {
  width: 100%;
  margin: 0 auto;
  height: 400px;
  background-image: url(<?= IMG_URL; ?>/result_fv_bg_pc.png);
  background-size: 900px 281px;
  background-repeat: no-repeat;
  background-position: top center;
}

.imgttl_searchresult a:hover,
.imgttl_searchresult img:hover {
  opacity: 0.6 !important;
  cursor: pointer;
}

.imgttl_searchresult img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.searchresult_Search_number .Refine_Search_number {
  display: block;
  height: 46px;
  text-align: center;
}

.searchresult_Search_number
  .Refine_Search_number
  .searchresult_Search_number_text {
  font-size: 1.4rem;
  font-weight: bold;
  vertical-align: 0.15em;
}

.searchresult_Search_number
  .Refine_Search_number
  .searchresult_Search_number_red {
  font-size: 2.5rem;
  font-weight: bold;
  color: var(--Accent);
  margin-right: 4px;
  vertical-align: baseline;
}

.Refine_Result_Count {
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  margin: 20px;
}

.Refine_Result_Count span {
  font-size: 1rem;
}

.Refine_Result_Count {
  display: block;
  text-align: left;
}

.Refine_Result_Count .Refine_Result_Count_red {
  font-size: 1.4rem;
  font-weight: bold;
  margin-right: 4px;
  vertical-align: baseline;
  position: relative;
  top: -1px;
}

.Refine_Result_Count .Refine_Result_Count_text {
  font-size: 1rem;
  font-weight: bold;
  vertical-align: 0.2em;
}

/*検索条件*/

.searchConditions {
  width: auto;
  border-radius: 8px;
  margin: 20px 40px;
  padding: 20px 20px 10px;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #000000;
  font-size: 12px;
  margin-top: -115px;
  margin-bottom: 0px;
  line-height: 1.5;
  position: relative;
}

.searchConditions::before {
  content: "";
  width: 230px;
  height: 22px;
  background-image: url(../img/searchConditions_ttl.svg);
  display: inline-block;
  background-repeat: no-repeat;
  background-size: 230px 22px;
  position: absolute;
  top: -15px;
  left: 50%;
  margin-left: -115px;
  z-index: 10;
}

.searchConditions::after {
  content: "";
  width: 230px;
  height: 8px;
  background-color: #fff;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: 230px 22px;
  position: absolute;
  top: -2px;
  left: 50%;
  margin-left: -115px;
  z-index: 5;
}

.searchConditions__list-title {
  color: #3777cb;
  font-size: 14px;
  font-weight: bold;
}

.searchConditions__list {
  margin-bottom: 10px;
}

.searchConditions__list:nth-last-oy-type(1) {
  margin-bottom: 0;
}

#age_group_txt,
#consultation_group_txt,
#treatment_group_txt,
#type_txt,
#kodawari_txt {
  display: inline-block;
  margin-left: 5px;
  font-size: 14px;
}

.return_form_area {
  background: #fff;
  padding: 40px 0 0;
}

.return_form_area a {
  width: 400px;
  line-height: 40px;
  display: block;
  border-radius: 4px;
  color: #000;
  margin: 0px auto;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
  background-color: #fff;
  text-decoration: none;
  border: 1px solid #000;
  position: relative;
}

.return_form_area a::before {
  content: "";
  width: 8px;
  height: 12px;
  background-image: url("../img/ico_back.svg");
  display: inline-block;
  margin-right: 10px;
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top: -4px;
}

/* ranking */

.ranking.result {
  background: none;
}

.result_page.ed .ranking__ctaArea-logo {
  box-sizing: border-box;
}

.ranking__item.id_1 .ranking__item-top::before {
  content: "";
  background-image: url("../img/ct_ico_rank01.png");
  width: 120px;
  height: 80px;
  position: absolute;
  display: inline-block;
  bottom: -56px;
  left: 30px;
}

.result_page.ed .ranking__item .bnr__txt {
  display: none;
}

.result_page.ed .ranking__item.id_1 .bnr__txt,
.result_page.ed .ranking__item.id_2 .bnr__txt,
.result_page.ed .ranking__item.id_3 .bnr__txt,
.result_page.ed .ranking__item.id_4 .bnr__txt,
.result_page.ed .ranking__item.id_5 .bnr__txt {
  display: flex;
}

.result_page.ed .cm__check {
  font-size: 1rem;
}

.result_page.ed .ranking__point-contents {
  font-size: 0.85rem;
}

.imgttl_searchresult {
  width: 100%;
  margin: 0;
  height: 134px;
  background-image: url("../img/result_fv_bg_sp.png");
  background-size: contain;
  background-repeat: no-repeat;
}

.searchConditions {
  margin-top: -176px;
  margin-bottom: 30px;
  margin: 20px;
}

#PANKUZU {
  padding: 0 10px;
}

#PANKUZU .pankuzu {
  width: auto;
}

.options_accordion_ul {
  margin-bottom: 0;
}

.result_page a.btn-main {
  box-sizing: border-box;
}

.Refine_Result_Count .Refine_Result_Count_text {
  font-size: 1rem;
}

.Refine_Result_Count .Refine_Result_Count_red {
  font-size: 1.5rem;
}

.Refine_Search_Box_wrap {
  padding: 10px 15px;
}

.return_form_area {
  padding: 20px 0 0;
}

.return_form_area a {
  width: calc(100% - 40px);
  margin: 0px auto;
}

.result_page.ed .ranking__item-top_txt {
  text-align: left;
}

.ranking__item.id_1 .ranking__item-top::before {
  display: none;
}

.ranking__item.id_1 .ranking__item-top_txt {
  position: relative;
}

/* ========================================================
フッター
=========================================================*/
.footer {
  position: relative;
  z-index: 9999;
}
.footer__bottom {
  margin-top: 1.875rem;
}
.footer__links {
  font-size: 0.75rem;
  color: var(--Text);
  text-align: center;
}
.footer__links a {
  color: var(--Text);
  font-weight: normal;
  text-decoration: none;
}
.footer__copy {
  color: #fff;
  text-align: center;
  font-size: 0.625rem;
  background: var(--Text);
  padding: 0.5rem 0;
  margin-top: 0.75rem;
}
.footer__links-wrapper {
  padding-top: 1.875rem;
}
.footer__links-inner {
  display: block;
  padding: 0 1.875rem;
}
.footer__links-inner dl {
  padding-right: 0;
}
.footer__links-inner dl:nth-child(n + 2) {
  margin-top: 2rem;
}
.footer__links-inner dt {
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  transition: all 0.3s;
  width: 100%;
}
.footer__links-inner dd ul li {
  font-size: 0.75rem;
  font-weight: normal;
  line-height: 1.5;
  list-style: none;
  position: relative;
  margin-top: 0.437rem;
}
.footer__links-inner dl:nth-child(2):last-child dd ul li {
  white-space: normal;
}
.footer__links-inner dd ul li a {
  font-weight: normal;
  text-decoration: none;
  color: var(--Text);
}
.footer__info-links {
  text-align: center;
}
.footer__info-links a {
  color: var(--Text);
  text-decoration: none;
  transition: 0.3s;
}
.footer__info-links a:hover {
  opacity: 0.6;
}

/* ========================================================
20230215 地域名追加
=========================================================*/
.header {
  position: relative;
}
.tiiki {
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  position: absolute;
  top: 10.5%;
  left: 28.5%;
}

/* ========================================================
20230216 ED治療薬の比較
=========================================================*/

.edComparison {
  margin: 40px auto 0px;
  position: relative;
  padding: 50px 0 0;
}

.edComparison .line {
  top: 0;
}

.edComparison__ttl {
}

.edComparison__img {
  margin-top: 20px;
}

.edComparison__txt {
  margin-top: 20px;
  text-align: center;
  padding: 10px 20px;
  font-weight: bold;
  line-height: 1.7;
  font-size: 0.875rem;
}

/* .edComparison__txt .marker{
  background: none;
  text-decoration: underline;
  text-decoration-color: #E6C379;
  font-weight: bold;
  color: #E6C379;
} */

/* ========================================================
20230216 修正
=========================================================*/
.Refine_Search {
  /* margin-top: 0; */
}
.edComparison {
  padding-top: 35px;
  padding-bottom: 25px;
  margin-top: 25px;
}
.edComparison__img {
  margin-top: 15px;
}
.edComparison__txt {
  padding: 0 20px;
  margin-top: 12px;
}
.main .section:first-of-type.edComparison .line {
  display: none;
}
.main .section:first-of-type.edComparison {
  padding-top: 0;
  margin-top: 10px;
}

/* ========================================================
20230222 修正
=========================================================*/
.txtBox {
  background: #fff;
  border: 2px solid var(--Text);
  border-radius: 7px;
  padding: 13px 15px 15px;
}
.ed_nayami {
  background: var(--Back);
  padding-bottom: 20px;
}
.ed_nayami .txtBox {
  font-size: 0.875rem;
}

/* ========================================================
20230227 edComparison修正
=========================================================*/
.edComparison {
  background: linear-gradient(
    105deg,
    #3067c3 0%,
    #3067c3 49%,
    #3678ca 49%,
    #3678ca 100%
  );
  padding-top: 0;
  padding-bottom: 15px;
}
.main .section:first-of-type.edComparison {
  margin-top: 0;
}
.edComparison__img {
  margin-top: 0;
  padding-top: 10px;
}
.edComparison__txt {
  text-align: left;
  background: #fff;
  border: 2px solid var(--Text);
  border-radius: 7px;
  padding: 10px;
}

/* ========================================================
20230302 ボタンアニメーション追加
=========================================================*/
/* アニメーション */
@keyframes anime_cvbtn01 {
  0% {
    left: -20%;
  }
  10% {
    left: 120%;
  }
  100% {
    left: 120%;
  }
}

.btn_anime01 {
  overflow: hidden;
  position: relative;
}
.btn_anime01::before {
  animation: anime_cvbtn01 3s ease-in-out infinite;
  content: "";
  position: absolute;
  top: -20%;
  left: -10%;
  width: 30px;
  height: 140%;
  transform: scale(2) rotate(45deg);
  background-image: linear-gradient(
    100deg,
    rgba(255, 255, 255, 0) 10%,
    rgba(255, 255, 255, 0.5) 100%,
    rgba(255, 255, 255, 0) 0%
  );
}
/* ========================================================
20251014 Yahoo!審査対応を一時停止
=========================================================*/
/* .result_page.ed .ranking__item.id_2 a {
  pointer-events: none;  クリックイベントを無効化 
  cursor: default; カーソルを通常の矢印に変更
  text-decoration: none; 下線を除去
  color: inherit; 親要素の色を継承
} */
/* .result_page.ed .ranking__item.id_2 .ctaBtn,
.result_page.ed .ranking__item.id_2 .ctaBtn--s,
.result_page.ed .ranking__item.id_2 .ranking__ctaArea {
  display: none;
} */
/* .recommend {
  padding-top: 0;
  margin-top: -30px;
} */
/* .recommend > div > ol > li:nth-child(1) {
  margin-top: 0;
} */
/* .medicine .txt--clinicfor,
.result_page.ed .txt--clinicfor {
  display: none;
} */
/* ========================================================
20241021 検索結果ソート追加
=========================================================*/
.options_accordion_ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  box-sizing: border-box;
  justify-content: space-between;
  width: 100%;
  padding: 15px;
}
.options_accordion_ul li {
  text-align: center;
  font-size: 14px;
  border-radius: 4px;
  background-color: #fff;
}
.options_accordion_ul li.active {
  background-color: var(--Main);
}
.options_accordion_ul li.active a {
  color: #fff;
  opacity: 1;
}
.options_accordion_ul li a {
  display: block;
  text-decoration: none;
  border-radius: 4px;
  height: 32px;
  line-height: 32px;
  color: var(--Text);
}

/* ========================================================
20250212 薬注意事項追加
=========================================================*/
section.caution {
  margin-top: 28px;
}
section.caution p {
  margin-bottom: 0;
}
.caution__ttl {
  font-weight: bold;
  text-align: center;
  font-size: 20px;
  padding: 2px 16px;
}
.caution__inside {
  margin-top: 10px;
}
.caution__inside .caution__inside__dl:last-of-type {
  margin-top: 28px;
}
.caution__sub__ttl_wrap {
  background-color: #efefef;
}
.caution__sub__ttl {
  font-size: 16px;
  padding: 2px 14px;
  font-weight: bold;
}
.caution__dl {
  padding: 0px 16px;
}
.caution__dl + .caution__dl {
  margin-top: 14px;
}
.caution__sub__ttl_wrap + .caution__dl {
  margin-top: 10px;
}
.caution__inside dt {
  font-size: 14px;
  font-weight: bold;
}
.caution__inside dd {
  font-size: 12px;
  margin-top: 4px;
}
/* ========================================================
20250214 クリニック選びのポイント
=========================================================*/

.edComparison {
  margin: 40px auto 0px;
  position: relative;
  padding: 50px 0 0;
}
.edComparison_fb .inner {
  padding: 0;
}
.edComparison__table__meds {
  height: 40px;
  width: auto;
  margin-inline: auto;
  display: block;
  margin-top: 6px;
}
.edComparison_fb .edComparison__table-wrap {
  overflow-x: hidden;
}
.edComparison__table {
  width: 500px;
  border-collapse: collapse;
  border: solid 2px var(--Text);
}
.edComparison_fb .edComparison__table {
  width: 100%;
  margin-top: 0;
}
.edComparison_fb .table th {
  padding: 8px 2px;
  font-size: 11px;
  background: var(--Back);
}
.edComparison__table th,
.edComparison__table td {
  position: relative;
}
.edComparison__table thead th {
  background-color: #30a9e2;
  color: #fff;
  font-size: 1rem;
}
.edComparison_fb .edComparison__table thead th:nth-of-type(2) {
  width: 20%;
}
.edComparison__table tbody th:first-of-type {
  background-color: #2e6bc4;
  color: #fff;
}

.edComparison_fb .table td {
  width: calc(80% / 3);
  padding: 8px 2px;
  font-size: 11px;
  text-align: center;
}

.edComparison__table tbody tr th:first-of-type {
  position: sticky;
  left: 0;
  z-index: 10;
  width: 20%;
}
.edComparison__table thead th:nth-of-type(3),
.edComparison__table thead th:nth-of-type(4),
.edComparison__table thead th:nth-of-type(5) {
  width: 19%;
}
.arrow__down {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 40px 80px 0 80px;
  border-color: #30a9e2 transparent transparent transparent;
  margin: 20px auto 0;
}
.edComparison__table__txt {
  padding: 0 15px;
  font-size: 16px;
  margin-top: 14px;
  line-height: 1.7;
}

.edComparison .line {
  top: 0;
}

.edComparison__ttl {
}

.edComparison__img {
  margin-top: 20px;
}

.edComparison__table__txt {
  padding: 0 15px;
  font-size: 16px;
  margin-top: 14px;
  line-height: 1.7;
}
/* ========================================================
20250228 fvコンテンツ追加
=========================================================*/
.fv2 {
  background: var(--blue01);
}
.fv2__ttl {
  background: linear-gradient(transparent 69%, #fff 69%);
}
.inner.fv2__inner {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: calc((100% - 40px) / 3 + 20px) calc((100% - 40px) / 3) calc(
      (100% - 40px) / 3
    );
  gap: 10px;
  padding: 15px 10px;
}
.fv2__item {
  text-align: center;
  padding: 10px 0;
}
.fv2__item:nth-child(1) {
  grid-row: 1;
  grid-column: 1;
  background: #fffee2;
  box-shadow: 0 0 0 2px #2371e5;
  border-radius: 7px;
  padding: 10px;
}
.fv2__item02:nth-child(2) {
  grid-row: 1;
  grid-column: 2;
}
.fv2__item03:nth-child(3) {
  grid-row: 1;
  grid-column: 3;
}
img.fv2__item-rank {
  display: block;
  width: 60px;
  height: auto;
  margin: 0 auto;
}
.fv2__txt {
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 1.5;
  border-bottom: 1px solid var(--Grey);
  height: 4.625rem;
  margin-top: 10px;
  position: relative;
}
.fv2__txt::after {
  content: "";
  display: inline-block;
  background: url(../img/ct_img_fv_line_sp.png) no-repeat center / 100% auto;
  width: 100%;
  aspect-ratio: 105 / 8;
  margin-top: 0.5rem;
}
.fv2__item-ttl {
  font-size: 0.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.125rem;
  margin-bottom: 0;
}
.fv2__item-img {
  border: 1px solid var(--Text);
  margin-top: 10px;
}

.fv2__item-img.clinicfor {
  width: 100%;
  aspect-ratio: 1.19 / 1; /* 横:縦の比率を指定（例: 3:2） */
  object-fit: cover;
  display: block;
}
