@charset "UTF-8";

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

:root {
  --main-color: #00a6c7;
  --sub-color: #a9e2ed;
  --accent-color: #ff6c83;
  --accent-color02: #ef4b72;
  --link-color: #1a0dab;
  --bg-color: #efebf1;
  --grey: #707070;
  --blue01: #19a7ce;
  --blue02: #d6f1f6;
  --yellow01: #fefce0;
  --yellow02: #ffe100;
  --black: #333333;
  --text: #808080;
  font: 62.5% "Noto Sans JP";
  color: var(--text);
  line-height: 1.33;
  font-style: normal;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-size: 1.2rem;
  color: var(--text);
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
  font-feature-settings: "palt";
  counter-reset: number 0;
}

.forPC {
  display: none;
}
.forPC--inline {
  display: none;
}
.txt-bold{
  font-weight: bold;
}
/* .contents {
  overflow-x: hidden;
} */

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

/* ========================================================
sectionの設定
=========================================================*/
.contents > .section:not(.hikaku):first-child {
  margin-top: 20px;
}
/* .contents > .section {
  margin-top: 32px;
} */
.contents > .section + .section {
  border-top: 4px solid var(--text);
  padding-top: 32px;
}

/* ========================================================
共通パーツ
=========================================================*/
p {
  margin-top: 1em;
}
p + p {
  margin-top: 0.5em;
}

/* インナー */
.inner {
  padding: 0 15px;
}

/* テキストリンク */
a.txtLink {
  color: var(--link-color);
  text-decoration: underline;
}

/* マーカー */
.marker {
  font-weight: 900;
  background: linear-gradient(
    transparent 65%,
    var(--yellow02) 65% 95%,
    transparent 95%
  );
}
.marker--blue {
  background: linear-gradient(transparent 90%, var(--main-color) 90%);
}

/* ctaボタン */
a.ctaBtn {
  font-weight: bold;
  color: #fff;
  text-align: center;
  display: block;
  background: var(--accent-color);
  border: 2px solid #000;
  /* border-bottom: 5px solid #000;
  border-right: 5px solid #000; */
  border-radius: 6px;
  padding: 10px;
  position: relative;
}
a.ctaBtn::after {
  content: "";
  display: inline-block;
  background: url(../img/cm_icon_chevron_right_wh.svg) no-repeat center / 0.6rem
    1rem;
  width: 0.6rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

/* テーブル */
.table {
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 1.2rem;
  font-weight: 200;
  width: 100%;
  margin-top: 24px;
  border: 3px solid #000;
}
.table th,
.table td {
  text-align: center;
  background: #fff;
  border: 2px solid #000;
  color: #000;
}
.table th {
  font-weight: 900;
}
.table td {
  padding: 8px;
  text-align: left;
}
.table thead th {
  background: var(--sub-color);
}
.table thead > tr > th:first-child {
  width: 13%;
}
.table tbody th {
  background: #eee;
}

/* アコーディオン */
.aco__contents {
  display: none;
}

/* 文字色 */
.green {
  font-weight: bold;
  color: #36767e;
}

.bold {
  font-weight: bold;
}

/* ========================================================
目的別
=========================================================*/
.purpose__contents {
  width: 100%;
}

/* タブ */
.purpose__tab {
  background: var(--main-color);
  margin-top: 16px;
}
.purpose__tab-list {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
.purpose__tab-list li {
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  display: inline-block;
  width: auto !important;
  padding: 8px 20px;
  opacity: 0.55;
}
.purpose__tab-list li.swiper-slide-thumb-active {
  opacity: 1;
  position: relative;
}
.purpose__tab-list li.swiper-slide-thumb-active::after {
  content: "";
  border-top: 7px solid var(--main-color);
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
}

/* タブ内コンテンツ */
.purpose__tabArea {
  overflow: hidden;
}
.purpose__tabContents {
  padding: 15px 15px 56px;
  overflow: hidden;
  /* width: calc(250px + 30px);
  margin-left: 15px;
  overflow: visible; */
}
.purpose__tabContents-item {
  background: var(--sub-color);
  width: calc(250px + 30px) !important;
  padding: 32px 15px 16px;
  /* width: auto !important; */
}
.purpose__list li {
  background: #fff;
  border-radius: 6px;
  width: 250px !important;
  max-width: 250px !important;
  height: 182px;
  padding: 10px 15px;
  overflow: visible !important;
}
.purpose__list li:nth-child(1) {
  border: 2px solid var(--text);
  border-bottom: 5px solid var(--text);
  border-radius: 8px;
  height: 204px;
  position: relative;
}
.purpose__list li:nth-child(1)::before {
  content: "";
  display: inline-block;
  background: var(--yellow01);
  width: 95px;
  height: 10px;
  position: absolute;
  top: -2px;
  left: 50%;
  transform: translateX(-50%);
}
.purpose__list li:nth-child(2) {
  margin-top: 12px;
}
.purpose__list li:nth-child(3) {
  margin-top: 10px;
}
.purpose__list-ttl {
  display: flex;
  gap: 6px;
  align-items: center;
  height: 25px;
}
.purpose__list-rank {
  width: 30px;
  height: auto;
}
.purpose__list li:nth-child(1) .purpose__list-ttl {
  display: flex;
  justify-content: center;
  position: relative;
}
.purpose__list li:nth-child(1) .purpose__list-rank {
  width: 89px;
  height: auto;
  position: absolute;
  left: 50%;
  top: -28px;
  transform: translateX(-50%);
}
.purpose__list-logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: 108px;
  margin: 4px auto 0;
}
.purpose__list-name {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.2;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 0.1em;
}
.purpose__list-name::after {
  content: "";
  display: inline-block;
  background: url(../img/cm_icon_chevron_right_bk.svg) no-repeat center / auto
    1.2rem;
  width: 0.6rem;
  height: 1.2rem;
}
/* .purpose__list li:nth-child(1) .purpose__list-ttl {
  background: var(--yellow01);
  margin-left: -15px;
  margin-right: -15px;
} */
.purpose__list li:nth-child(1) {
  background: var(--yellow01);
}
.purpose__list li:nth-child(1) .purpose__list-name {
  font-size: 1.8rem;
  color: var(--link-color);
  text-decoration: underline;
  margin: 0 -15px 0;
  padding: 0 0 2px 15px;
}
.purpose__list li:nth-child(1) .purpose__list-name::after {
  background: url(../img/cm_icon_chevron_right_bk.svg) no-repeat center / auto
    1.8rem;
  width: 1.2rem;
  height: 1.8rem;
  margin-top: 0.2em;
}
.purpose__list-txt {
  font-size: 1rem;
  margin-top: 8px;
}

/* ページネーション */
/* .swiper-pagination-bullets {
  bottom: auto !important;
  top: 125% !important;
} */
.swiper-pagination-bullet {
  background: transparent !important;
  border: 2px solid var(--text);
  width: 10px !important;
  height: 10px !important;
  margin: 0 8px !important;
  opacity: 1 !important;
}
.swiper-pagination-bullet-active {
  background: var(--main-color) !important;
  border: none !important;
}

/* ========================================================
クリニックの選びのポイント
=========================================================*/
.point {
  padding-top: 32px;
}
.point__contents {
  background: linear-gradient(transparent 20px, var(--main-color) 20px);
  margin-top: 20px;
  padding-bottom: 40px;
}
.point__list {
  display: flex;
  justify-content: flex-start;
  gap: 15px;
  overflow-x: scroll;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 5px;
}
.point__list li {
  background: #fff;
  border: 2px solid var(--text);
  border-radius: 6px;
  box-shadow: 0px 5px 0px 0px rgba(0, 0, 0, 0.2);
  width: 220px;
  /* height: 300px; */
  padding: 30px 15px 15px;
  position: relative;
}
.point__list li::before {
  content: "";
  display: inline-block;
  background: url(../img/ct_point_01.png.webp) no-repeat center / 91px 14px;
  width: 91px;
  height: 14px;
  position: absolute;
  top: 14px;
  left: 20px;
}
.point__list li:nth-child(1)::before {
  background: url(../img/ct_point_01.png.webp) no-repeat center / 91px 14px;
}
.point__list li:nth-child(2)::before {
  background: url(../img/ct_point_02.png.webp) no-repeat center / 91px 14px;
}
.point__list li:nth-child(3)::before {
  background: url(../img/ct_point_03.png.webp) no-repeat center / 91px 14px;
}
.point__list-img {
  display: block;
  width: 216px;
  height: 140px;
  object-fit: contain;
  margin: 8px -15px 0;
}
.point__list-ttl {
  font-size: 1.6rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 -15px;
}
.point__list-ttl::before {
  content: "[";
  font-size: 2rem;
  margin-top: -0.1em;
  margin-right: 6px;
}
.point__list-ttl::after {
  content: "]";
  font-size: 2rem;
  margin-top: -0.1em;
  margin-left: 6px;
}
.point__list-txt {
  margin-top: 24px;
  position: relative;
}
.point__list-txt::before {
  content: "";
  display: inline-block;
  background: var(--text);
  width: 100%;
  height: 1px;
  position: absolute;
  top: -9px;
  left: 0;
}

/* ========================================================
ランキング
=========================================================*/
.ranking {
  margin-top: 32px;
}
.ranking .inner {
  background: var(--bg-color);
  padding-top: 20px;
  padding-bottom: 32px;
}
.ranking__list > li {
  background: #fff;
  border: 1px solid #000;
  border-right-width: 1px;
  border-bottom-width: 1px;
  padding: 0 15px 15px;
}
.ranking__list > li:first-child {
  background: var(--yellow01);
}
.ranking__list > li + li {
  margin-top: 15px;
}

/* タイトル */
.ranking__ttl {
  background: #000;
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: 50px 1fr;
  justify-items: center;
  align-items: center;
  margin: 0 -15px;
  padding: 10px 32px;
}
.ranking__ttl-rank {
  width: 50px;
  height: auto;
}
.ranking__ttl-name {
  font-size: 15px;
  font-weight: bold;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 0;
  position: relative;
  background: linear-gradient(transparent 86%, #fff 86% 90%, transparent 90%);
}
.result_page .ranking__ttl-name {
  line-height: 1.3;
}
/* .ranking__ttl-name::before {
  content: "";
  background: #fff;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: -1px;
  left: 0;
} */

.ranking__ttl-name::after {
  content: "";
  display: inline-block;
  border-left: 8px solid #fff;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  margin-top: 0.1em;
}

/* キャッチ */
.ranking__catch {
  font-size: 13px;
  color: #000;
  font-weight: bold;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 12px;
}
.ranking__catch::before,
.ranking__catch::after {
  content: "";
  display: inline-block;
  background: url(../img/ct_brackets.png) no-repeat center / 16px 32px;
  width: 16px;
  height: 32px;
  margin-top: 0.2em;
}
.ranking__catch::before {
  margin-right: 6px;
}
.ranking__catch::after {
  transform: scale(-1, 1);
  margin-left: 6px;
}

/* バナー */
.ranking__bnr {
  width: 100%;
  margin-top: 10px;
}

/* テーブル */
.ranking__table th {
  font-size: 15px;
  color: #666;
  border-right: none;
  width: 34%;
  padding: 8px;
}
.ranking__table td {
  font-size: 17px;
  line-height: 1.2;
  text-align: left;
  border-left: none;
  padding: 12px 8px;
}
.ranking__table td p:not(.ranking__table-smallTxt) {
  margin-top: 0;
}
.ranking__table td a {
  font-size: 15px;
}
.ranking__table-smallTxt {
  font-size: 13px;
  line-height: 1.33;
}
.ranking__table-mark {
  display: block;
  width: 28px;
  aspect-ratio: 1 / 1;
  margin-left: 35%;
}

/* グリッド */
.ranking__grid {
  display: grid;
  grid-template-columns: 34% 1fr;
  border: 1px solid #000;
  margin-top: 15px;
  width: 100%;
}
.ranking__grid-ttl {
  font-size: 12px;
  /* color: #666; */
  color: #000;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: none;
  padding: 8px 0;
  background: var(--sub-color);
}
.ranking__grid-ttl:nth-of-type(n + 2) {
  border-top: 1px solid #000;
}
.ranking__grid-txt {
  font-size: 12px;
  color: #000;
  line-height: 1.1;
  text-align: left;
  border-left: none;
  padding: 12px 8px;
  background: #fff;
}
.ranking__grid-txt:nth-of-type(n + 4) {
  border-top: 1px solid #000;
}
.ranking__grid-txt p {
  margin-top: 0;
}
.ranking__grid-txt p + p {
  margin-top: 0.5em;
}
.ranking__grid-txt a {
  font-size: 13px;
  font-weight: bold;
}
.ranking__table-smallTxt {
  font-size: 12px;
  line-height: 1.6;
}
.ranking__table-mark {
  display: block;
  width: 28px;
  aspect-ratio: 1 / 1;
  margin-left: 35%;
}

/* おすすめポイント */
.ranking__point {
  background: #fff;
  border: 1px solid #000;
  border-radius: 4px;
  margin-top: 40px;
  position: relative;
}
.ranking__point::before {
  content: "";
  display: inline-block;
  background: url(../img/ct_ranking_point_sp.png) no-repeat center / 122px auto;
  width: 122px;
  height: 42px;
  position: absolute;
  top: -27px;
  left: -1px;
}
.ranking__point-catch {
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding: 15px 0;
  background: #f499be;
  border-radius: 2px 2px 0 0;
}
.ranking__point-list {
  counter-reset: number 0;
  padding: 14px 12px 14px 8px;
}
.ranking__point-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.ranking__point-list li:nth-of-type(n + 2) {
  margin-top: 16px;
}
.ranking__point-list li::before {
  /* counter-increment: number 1;
  content: counter(number) " "; */
  content: "";
  display: inline-block;
  width: 40px;
  aspect-ratio: 1 / 1;
  background-size: 40px 40px;
  flex-shrink: 0;
}
.ranking__point-list li:nth-of-type(1):before {
  background-image: url(../img/ct_img_ranking_point01.png);
}
.ranking__point-list li:nth-of-type(2):before {
  background-image: url(../img/ct_img_ranking_point02.png);
}
.ranking__point-list li p {
  font-size: 12px;
  color: #000;
  font-weight: normal;
  line-height: 1.6;
  margin-top: 0;
}

/* CTAボタン */
.ranking__ctaCatch {
  font-size: 12px;
  color: var(--main-color);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  margin-top: 14px;
}
.ranking__ctaCatch::before {
  content: "";
  background: url(../img/cm_ico_deco.png) no-repeat center / auto 14px;
  width: 14px;
  height: 14px;
}
.ranking__ctaCatch::after {
  content: "";
  background: url(../img/cm_ico_deco.png) no-repeat center / auto 14px;
  width: 14px;
  height: 14px;
  transform: scale(-1, 1);
  font-variant-ligatures: ;
}

.ranking__ctaLogo {
  width: 226px;
  height: 40px;
  object-fit: contain;
  margin: 8px auto 0;
}

.ranking a.ctaBtn,
.page a.ctaBtn {
  font-size: 14px;
  margin-top: 12px;
  padding-top: 12px;
  padding-bottom: 12px;
  border-width: 1px;
  /* border-bottom-width: 2px; */
  border-radius: 4px;
}
.ranking a.ctaBtn::after,
.page a.ctaBtn::after {
  background-size: 1rem 12px;
  width: 1rem;
  height: 12px;
  right: 8px;
  margin-top: 0.1em;
}

.page a.ctaBtn {
  font-size: 18px;
  margin-top: 15px;
}

.ranking__grid-flex {
  display: flex;
  gap: 2em;
}
.ranking__grid-flex *:first-child {
  flex-shrink: 0;
  margin-top: 0.2em;
}
.ranking__grid-flex *:nth-child(2) {
  text-indent: -1em;
}

/* ========================================================
比較表
=========================================================*/
.contents > .section + .section.hikaku {
  padding-top: 0;
  padding-bottom: 40px;
}
.hikaku {
  padding-bottom: 12px;
}
body .hikaku + * {
  margin-top: 0;
}
.hikaku__contents {
  overflow-x: scroll;
  padding-bottom: 20px;
}
.hikaku__table {
  table-layout: fixed;
  border-collapse: collapse;
  border: 3px solid #000;
  border-bottom: none;
  width: 894px;
  margin-left: 20px;
  margin-right: 20px;
  position: relative;
}
.hikaku__table::after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 20px;
  height: 1px;
}
.hikaku__table th,
.hikaku__table td {
  font-size: 1.4rem;
}
.hikaku__table th {
  background: var(--blue02);
  border: 3px solid #000;
  width: 124px;
  padding: 4px;
  font-weight: bold;
}
.hikaku__table td {
  text-align: center;
  border: 3px solid #000;
  border-right-width: 2px;
  padding: 10px;
}
.hikaku__table tr:first-of-type td {
  padding: 16px 0 18px;
}
.hikaku__table tr td:first-of-type {
  background: var(--yellow01);
}
.hikaku__table-logo {
  position: relative;
}
.hikaku__table-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  height: 40px;
  padding: 4px 10px;
}
.hikaku__table .txtLink {
  font-weight: 900;
  display: inline-block;
  margin-top: 8px;
  font-weight: bold;
}
.hikaku__table-icon {
  width: 20px;
  aspect-ratio: 1 / 1;
  margin: 0 auto 4px;
}
.hikaku__table-icon + * {
  margin-top: 4px;
}
.hikaku__table-catch {
  margin: 0 -10px;
}
.hikaku__table tr:last-of-type td:first-of-type .hikaku__table-catch {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.hikaku__table tr:last-of-type td:first-of-type .hikaku__table-catch::before {
  content: "";
  background: url(../img/cm_ico_deco.png) no-repeat center / auto 18px;
  width: 18px;
  height: 24px;
  margin-bottom: -5px;
}
.hikaku__table tr:last-of-type td:first-of-type .hikaku__table-catch::after {
  content: "";
  background: url(../img/cm_ico_deco.png) no-repeat center / auto 18px;
  width: 18px;
  height: 24px;
  margin-bottom: -5px;
  transform: scale(-1, 1);
}
.hikaku__table .ctaBtn {
  margin-top: 8px;
}
.hikaku__table .paddingNone {
  font-size: 12px;
  margin-left: -10px;
  margin-right: -10px;
}
/* ========================================================
20230830比較表修正
=========================================================*/
.hikaku__table {
  border: 1px solid #000;
  border-bottom: 1px;
}
.hikaku__table th,
.hikaku__table td {
  font-size: 1.1rem;
  color: #000;
  border: 1px solid #000;
}
.hikaku__table tr:last-of-type td:first-of-type .hikaku__table-catch {
  justify-content: center;
}
/* 20230905 追記 */
a.ctaBtn.detail {
  background: var(--bg-color);
  color: #000;
  border: 1px solid #000;
  font-weight: lighter;
}
a.ctaBtn.detail::after {
  display: none;
}
.hikaku__detail-arrow {
  border-bottom: solid 1.5px #000;
  border-right: solid 1.5px #000;
  width: 6px;
  height: 6px;
  display: block;
  transform: rotate(45deg);
  margin: 0 0 2px 0px;
  position: absolute;
  top: 40%;
  right: 7%;
}
.hikaku__table td:nth-of-type(1) {
  font-weight: bold;
}

/* ========================================================
比較表2
=========================================================*/
.hikaku__table-txt--left td {
  text-align: left;
  vertical-align: top;
  padding-left: 12px;
  padding-right: 12px;
}
.hikaku02 .hikaku__table {
  border: none;
  width: 1000px;
}
.hikaku02 .hikaku__table th,
.hikaku02 .hikaku__table td {
  /* border-width: 1px; */
}
.hikaku02 .hikaku__table th {
  font-size: 16px;
  width: 120px;
}
.hikaku02 .hikaku__table tr:first-child .txtLink {
  font-size: 16px;
  margin-top: 12px;
}
.hikaku__table-official td {
  padding-bottom: 48px;
  position: relative;
}
.hikaku02 .ctaBtn {
  font-size: 12px;
  border-width: 2px;
  border-right-width: 4px;
  border-bottom-width: 4px;
  padding-top: 4px;
  padding-bottom: 4px;
  width: 120px;
  margin: 6px auto 0;
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
}
.hikaku02 .hikaku__table tr:first-of-type td {
  padding-top: 24px;
}
.hikaku02 .hikaku__table tr:last-child td {
  padding: 12px 4px 16px;
}
.hikaku__table-iconList {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}
.hikaku__table-iconList li {
  font-size: 12px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--yellow02);
  opacity: 0.4;
}
.hikaku__table-iconList li.on {
  opacity: 1;
}
.hikaku02 .hikaku__table tr:last-child a.txtLink {
  text-decoration: none;
}
.hikaku02 .hikaku__table tr:last-child .txtLink span {
  background: linear-gradient(
    transparent 85%,
    var(--link-color) 85% 90%,
    transparent 90%
  );
}
.hikaku02 .hikaku__table tr:last-child .txtLink span::after {
  content: "";
  display: inline-block;
  border-left: 8px solid var(--link-color);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  margin-left: 4px;
  vertical-align: -8%;
}
.hikaku__table-notes {
  display: block;
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
  margin-top: 2px;
}
.hikaku__table .paddingNone {
  font-size: 14px;
}

/* ========================================================
まとめ
=========================================================*/
.contents > .section + .section.matome {
  border-top: none;
  padding-top: 0;
}
.matome {
  padding-bottom: 40px;
}
.section__ttl {
  display: block;
  position: relative;
  margin-bottom: 10px;
}
.matome__catch {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  margin-top: 20px;
}
.matome__catch-txt {
  display: inline-block;
  position: relative;
  color: var(--main-color);
}
.matome__catch-txt::before,
.matome__catch-txt::after {
  content: "";
  display: inline-block;
  background: url(../img/ct_quotation.png) no-repeat center / 14px 10px;
  width: 14px;
  height: 10px;
  position: absolute;
}
.matome__catch-txt::before {
  top: -4px;
  left: -20px;
}
.matome__catch-txt::after {
  bottom: 0;
  right: -20px;
  transform: rotate(180deg);
}
.matome__img {
  border: 3px solid var(--text);
  width: 100%;
  margin-top: 28px;
}
.matome__txt {
  font-size: 15px;
  line-height: 1.6;
  border: 1px solid var(--text);
  border-radius: 1px;
  margin-top: 16px;
  padding: 15px;
}
.matome__txt p {
  margin-top: 0;
  color: #000;
}

/* ========================================================
検索フォーム
=========================================================*/
.search {
  background: var(--sub-color);
  padding-bottom: 24px;
}
.search__conditions {
  margin-top: 16px;
}
.search__conditions-ttl {
  font-size: 1.4rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 8px;
}
.search__conditions-ttl::before {
  content: "";
  display: inline-block;
  background: var(--main-color);
  width: 3px;
  height: 1em;
}
.radiobtn_label,
.checkbox_label {
  font-size: 1.4rem;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 2px solid var(--text);
  background: #fff;
  height: 60px;
  padding: 8px;
}
.search__conditions-btn {
  margin-top: 6px;
}

/* 年代 */
.search__age .search__conditions-btn {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.search__age .radiobtn_label {
  font-size: 1.2rem;
  padding: 8px;
  height: auto;
}
.search__age .search__conditions-btn > .radiobtn_label + .radiobtn_label {
  border-left: none;
}
.search__age .search__conditions-btn > .radiobtn_label:first-child {
  border-radius: 6px 0 0 6px;
}
.search__age .search__conditions-btn > .radiobtn_label:last-child {
  border-radius: 0 6px 6px 0;
}

/* 価格・ */
.search__conditions-btn:not(.search__age .search__conditions-btn) {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5px;
}
.search__conditions-btn .radiobtn_label:not(.search__age .radiobtn_label),
.search__conditions-btn .checkbox_label:not(.search__age .radiobtn_label) {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  border-radius: 6px;
  width: calc((100% - 5px) / 2);
}

/* ラジオボタン */
.radiobtn_label {
  display: block;
}
input[type="radio"] {
  display: none;
}
.radiobtn_txt {
  display: flex;
  align-items: center;
  position: relative;
}
.radiobtn_txt::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 8px;
  border-width: 1px;
  border-style: solid;
  border-radius: 50%;
  padding: 2px;
  background: #fff;
}
input[type="radio"]:checked + .radiobtn_txt::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--main-color);
  background-clip: content-box;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 3px;
  transform: translateY(-50%);
}
.radiobtn_label.on,
.radiobtn_label.on02 {
  background: var(--yellow01);
}

/* チェックボックス */
.checkbox_label.selected {
  background: var(--yellow01);
}
input[type="checkbox"] {
  display: none;
}
.checkbox_txt {
  display: flex;
  align-items: center;
  position: relative;
}
.checkbox_txt:not(.search__nayami .checkbox_txt)::before {
  content: "";
  display: inline-block;
  background: #fff;
  border: 1px solid var(--text);
  border-radius: 2px;
  width: 14px;
  height: 14px;
  margin-right: 8px;
  margin-top: 0.1em;
  padding: 2px;
}
input[type="checkbox"]:checked:not(
    .search__nayami input[type="checkbox"]:checked
  )
  + .checkbox_txt::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 5px;
  border-left: 2px solid var(--main-color);
  border-bottom: 2px solid var(--main-color);
  position: absolute;
  top: 49%;
  left: 3px;
  transform: translateY(-50%) rotate(-45deg);
}
.search__nayami .checkbox_label .checkbox_txt::before {
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
  margin-right: 8px;
}
.search__nayami .checkbox_label:nth-child(1) .checkbox_txt::before {
  background: url(../img/ct_icon_nayami_01.png.webp);
}
.search__nayami .checkbox_label:nth-child(2) .checkbox_txt::before {
  background: url(../img/ct_icon_nayami_02.png.webp);
}
.search__nayami .checkbox_label:nth-child(3) .checkbox_txt::before {
  background: url(../img/ct_icon_nayami_03.png.webp);
}
.search__nayami .checkbox_label:nth-child(4) .checkbox_txt::before {
  background: url(../img/ct_icon_nayami_04.png.webp);
}
.search__nayami .checkbox_label:nth-child(5) .checkbox_txt::before {
  background: url(../img/ct_icon_nayami_05.png.webp);
}
.search__nayami .checkbox_label:nth-child(6) .checkbox_txt::before {
  background: url(../img/ct_icon_nayami_06.png.webp);
}
.search__nayami .checkbox_label:nth-child(7) .checkbox_txt::before {
  background: url(../img/ct_icon_nayami_07.png.webp);
}
.search__nayami .checkbox_label:nth-child(8) .checkbox_txt::before {
  background: url(../img/ct_icon_nayami_08.png.webp);
}

/* フォームボタン */
.search__form-btn {
  display: flex;
  align-items: center;
  margin-top: 32px;
}
.search__form-btn_reset {
  border: none;
  padding: 0;
  background: none;
  height: 50px;
  margin-right: 8px;
}
.search__form-number {
  font-size: 1.4rem;
  font-weight: bold;
}
.search__form-btn_submit {
  height: 50px;
  margin-left: auto;
}

/* ========================================================
フッター
=========================================================*/
/* フッターメニュー */
.footer__links {
  font-size: 0.75rem;
  color: #333;
  text-align: center;
}
.footer__links a {
  color: #000;
}
.footer__links-wrapper {
  padding: 2.5rem 0;
  /* background-color: #f7f6f2; */
}
.footer__links-inner dt {
  font-size: 15px;
  font-weight: 900;
  line-height: 1.5;
  color: var(--main-color);
  position: relative;
  transition: all 0.3s;
}
.footer__links-inner dd {
  margin-top: 0.9375rem;
}
.footer__links-inner dd ul {
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.3125rem 1.875rem;
}
.footer__links-inner dd ul li {
  line-height: 1.5;
  list-style: none;
  padding-left: 12px;
  position: relative;
}
.footer__links-inner dl:nth-child(2):last-child dd ul li {
  white-space: nowrap;
}
.footer__links-inner dd ul li a {
  text-decoration: none;
  color: var(--Text);
  transition: all 0.3s;
  font-size: 14px;
  color: #000;
  font-weight: 900;
}
.footer__links-inner dd ul li a:hover {
  opacity: 0.6;
}
.footer__links-inner {
  display: block;
}
.footer__links-inner dl {
  padding-right: 0;
}
.footer__links-inner dl:nth-child(n + 2) {
  margin-top: 2rem;
}
.footer__links-inner dt {
  width: 100%;
}
.footer__links-inner dt:hover {
  opacity: 1;
}
.footer__links-inner dd ul {
  grid-template-columns: 1fr;
  row-gap: 0.375rem;
}
.footer__links-inner dl:nth-child(2):last-child dd ul li {
  white-space: normal;
}
.footer__links-inner dd ul li::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 8px;
  height: 13px;
  background: url(../img/cmn_ico_arrow_right_bl.png) no-repeat center / 8px auto;
}
.txt-lg {
  font-size: 1.4rem;
}

/* フッター */
.footer {
  background: #000;
  padding: 16px 0;
}
.footer__list {
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer__list li + li::before {
  content: "／";
  color: #fff;
  margin-left: 6px;
  margin-right: 6px;
  vertical-align: 6%;
}
.footer__list li a {
  color: #fff;
}
.footer__copyright {
  font-size: 1rem;
  color: #aca9a9;
  text-align: center;
  margin-top: 12px;
}

/* ========================================================
記事ページ
=========================================================*/
.page {
  min-height: calc(100vh - 8px);
  position: relative;
  box-sizing: border-box;
}
.page .footer__wrap {
  width: 100%;
  margin-top: 68px;
  /* position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%); */
}
.page .footerMenu {
  width: 100%;
}

.orangeTxt {
  color: #ff9817;
}

/* ページタイトル */
.page__ttl {
  text-align: center;
  background: var(--bg-color);
  padding: 32px 20px;
  position: relative;
}
/* .page__ttl::before,
.page__ttl::after {
  content: "";
  display: inline-block;
  background: url(../img/cm_pagettl.png.webp) no-repeat center / 40px 4px;
  width: 40px;
  height: 4px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
} */
.page__ttl::before {
  left: 0;
}
.page__ttl::after {
  right: 0;
}
.page__ttl h1 {
  font-size: 2.4rem;
  font-weight: 900;
  color: #000;
  display: inline-block;
  text-decoration: underline 3px var(--accent-color);
}

/* コンテンツ */
.contents--page {
  margin-top: 0.8rem;
  padding: 0 15px;
  color: #000;
}
.contents--page p {
  font-size: 16px;
  line-height: 1.5;
}
.contents--page p + p {
  margin-top: 1em;
}
.contents--page > img {
  margin-top: 24px;
}

/* パンくず */
.pankuzu {
  margin-top: 0.8rem;
  padding: 0 15px;
  line-height: 1.5;
}
.pankuzu a {
  color: #000;
  text-decoration: underline;
}
.pankuzu_arrow {
  margin: 0 4px;
}
.pankuzu__ttl {
  font-weight: bold;
  color: var(--grey);
  color: #000;
}

/* パーツ */
/* タイトル */
.contents h2 {
  font-size: 1.8rem;
  font-weight: 900;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 4px solid #000;
  margin: 3.2rem -20px 0;
  padding: 32px 32px 0;
  position: relative;
}
.contents h2::before,
.contents h2::after {
  content: "";
  display: inline-block;
  background: url(../img/ct_brackets.png) no-repeat center / 22px auto;
  width: 22px;
  height: 45px;
  position: absolute;
  top: 42%;
}
.contents h2::before {
  margin-right: 2rem;
  left: 15px;
}
.contents h2::after {
  transform: scale(-1, 1);
  margin-left: 2rem;
  right: 15px;
}
.contents h3 {
  font-size: 1.6rem;
  font-weight: bold;
  border-left: 3px solid var(--main-color);
  margin-top: 16px;
  padding-left: 0.8rem;
}

.contents h2 + * {
  margin-top: 24px;
}
.contents h3 + * {
  margin-top: 1.6rem;
}

/* ボックステーブル */
.boxTable {
  display: flex;
  flex-wrap: wrap;
}
.boxTable__box {
  border: 2px solid #000;
  width: 50%;
  border-collapse: collapse;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.boxTable__box:nth-of-type(n + 3) {
  margin-top: 16px;
}
.boxTable__box:nth-of-type(2n) {
  border-left: none;
}

.boxTable__box-ttl {
  font-size: 17px;
  background: var(--blue02);
  width: 100%;
  text-align: center;
  padding: 4px 12px;
}
.boxTable__box-txt {
  font-size: 20px;
  font-weight: normal;
  background: var(--blue02);
  flex-grow: 1;
  background: #fff;
  display: flex;
  align-items: center;
  padding: 12px;
  line-height: 1.33;
  height: 132px;
}

/* チェックボックス */
.checkboxTxt {
  margin-top: 1.6rem;
}
.checkboxTxt__ttl {
  font-size: 1.6rem;
  font-weight: bold;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.checkboxTxt__ttl::before {
  content: "";
  display: inline-block;
  background: url(../img/cm_icon_checkbox.svg) no-repeat center / 18px;
  width: 18px;
  height: 18px;
  margin-top: 0.25em;
  flex-shrink: 0;
}
.checkboxTxt > .checkboxTxt__ttl + * {
  margin-top: 10px;
}

/* テキストボックス */
.txtBox {
  font-size: 16px;
  line-height: 1.5;
  border: 2px solid var(--text);
  border-right-width: 4px;
  border-bottom-width: 4px;
  margin-top: 24px;
  padding: 15px;
}
.txtBox *:first-child {
  margin-top: 0;
}

/* ポイントリストボックス */
.pointList {
  border: 1px solid var(--text);
  border-radius: 6px;
  margin-top: 24px;
  padding: 2.8rem 15px 15px;
  position: relative;
}
.pointList::before {
  content: "";
  display: inline-block;
  background: #fff;
  width: 84px;
  height: 3px;
  position: absolute;
  top: -2px;
  left: 15px;
}
.pointList__ttl {
  width: 70px;
  height: 29px;
  position: absolute;
  top: -10px;
  left: 22px;
}
.pointList li {
  padding-left: 16px;
  position: relative;
}
.pointList li::before {
  content: "";
  background: var(--main-color);
  border-radius: 50%;
  width: 4px;
  height: 4px;
  flex-shrink: 0;
  position: absolute;
  top: 8px;
  left: 4px;
}
.pointList li + li {
  margin-top: 8px;
}

/* 見出し付きボックス */
.boxCont {
  border: 2px solid #000;
  border-right-width: 4px;
  border-bottom-width: 4px;
  margin-top: 24px;
}
.boxCont__ttl {
  font-size: 17px;
  font-weight: 900;
  background: var(--blue02);
  padding: 12px;
  text-indent: -1.3em;
  padding-left: 2em;
}
.boxCont__txt {
  font-size: 16px;
  padding: 12px;
}
.boxCont__txt *:first-child {
  margin-top: 0;
}
.boxCont__txt p:not(.orangeTxt) {
  line-height: 1.5;
}

/* CTAボタン */
.page a.ctaBtn {
  font-size: 21px;
  line-height: 1.2;
  border: 3px solid #000;
  border-right-width: 5px;
  border-bottom-width: 5px;
  border-radius: 8px;
  padding: 8px;
}
.page a.ctaBtn::after {
  right: 20px;
  width: 10px;
  height: 17px;
  background-size: 10px 17px;
}

/* ========================================================
絞り込み
=========================================================*/
/*　絞り込み検索フォーム */
#form {
  /* margin-top: 40px; */
  background-color: var(--bg-color);
  /* border-top: 7px solid #000; */
}
#form.inner {
  padding: 0;
}

#form .section__imgTtl {
  width: 580px;
  height: 130px;
  margin: 0 auto;
  display: block;
}

#form .shindan__block {
  max-width: 910px;
  margin: 0 auto 0;
}

#form .Refine_Search_Title {
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
  width: 100%;
  height: 45px;
  margin-top: 24px;
  /* background-image: url("../img/result_form_ttl.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; */
}
.Refine_Search_Title-txt {
  font-size: 20px;
  color: #000;
}

.Refine_Search_Box_Input {
  padding: 0 20px 30px;
  margin-top: 15px;
}

#form #Refine_Search_Area .Refine_Search_Box {
  overflow-x: hidden;
}

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

#form #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: 4px;
}

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

#form #Refine_Search_Area .condition_ttl {
  position: relative;
  display: flex;
  padding-left: 22px;
  align-items: center;
  margin-bottom: 8px;
  font-size: 15px;
  color: #000;
}

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

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

#form .way__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}
#form .way__list label {
  gap: ;
}

#form .price__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

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

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

#form #Refine_Search_Area dl.Refine_Search_conditions_Area input[type="radio"],
#form
  #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;
}

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

#form #Refine_Search_Area input[type="radio"] + span.radiobox {
  position: relative;
  width: 14px;
  height: 14px;
  border-radius: 100px;
  background-color: #fff;
  border: 1px solid var(--main-color);
  margin-right: 6px;
}

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

#form #Refine_Search_Area input[type="radio"]:checked + span.radiobox:after,
#form .on input[type="radio"] + span.radiobox:after,
#form .on01 input[type="radio"] + 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: #004bb1;
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

#form .way__list .age,
.price__list .price,
.Kodawari__list .shinsatsu {
  position: relative;
}

#form .Kodawari__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  position: relative;
}

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

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

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

#form #Refine_Search_Area dl.Refine_Search_conditions_Area label {
  display: flex;
  align-items: center;
  text-align: left;
  padding: 10px;
}

#form #Refine_Search_Area .radiobtn_text,
#Refine_Search_Area .checkbox_text {
  /* display: inline-block; */
  /* margin: 0.5em 2.5em 0.5em 0; */
  border: 1px solid #98a6b5;
  background-color: #fff;
  font-weight: bold;
}

#form .way__list label,
#form .price__list label,
#form .Kodawari__list label {
  height: 60px;
  line-height: 38px;
  text-align: center;
  padding-left: 15px;
}

#form
  #Refine_Search_Area
  dl.Refine_Search_conditions_Area
  .multi-item
  input[type="checkbox"] {
  /* display: none; */
}

#form #Refine_Search_Area dl.Refine_Search_conditions_Area input[type="radio"],
#form
  #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;
}

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

#form .Refine_Search_reset {
  border: none;
  padding: 0;
  background: none;
  font-size: 21px;
  font-weight: 900;
  border: 3px solid #000;
  border-radius: 10px;
  background: #fff;
  width: 119px;
  padding: 17px;
  color: #000 !important;
}
/* #form .Refine_Search_reset img {
  height: 70px;
} */

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

#form .kodawari__list > .multi-item > label > .checkbox_icon {
  background-size: auto 19px;
  background-position: center;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
#form .kodawari__list > .multi-item:nth-child(1) > label > .checkbox_icon {
  background-image: url(../img/kodawari_icon01.png);
}

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

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

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

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

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

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

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

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

#form .onayami__list > .multi-item:nth-child(1) > label > span {
  background-image: url(../img/onayami_icon01.png);
  width: 26px;
  height: 26px;
  margin-left: 9.7px;
}

#form .onayami__list > .multi-item:nth-child(2) > label > span {
  background-image: url(../img/onayami_icon02.png);
  width: 26px;
  height: 26px;
  margin-left: 20px;
}

#form .onayami__list > .multi-item:nth-child(3) > label > span {
  background-image: url(../img/onayami_icon03.png);
  width: 26px;
  height: 26px;
  margin-left: 14px;
}

#form .onayami__list > .multi-item:nth-child(4) > label > span {
  background-image: url(../img/onayami_icon04.png);
  width: 26px;
  height: 26px;
  margin-left: 17.5px;
}

#form .onayami__list > .multi-item:nth-child(5) > label > span {
  background-image: url(../img/onayami_icon05.png);
  width: 26px;
  height: 26px;
  margin-left: 14px;
}

#form .onayami__list > .multi-item:nth-child(6) > label > span {
  background-image: url(../img/onayami_icon06.png);
  width: 26px;
  height: 26px;
  margin-left: 14px;
}

#form .onayami__list > .multi-item:nth-child(7) > label > span {
  background-image: url(../img/onayami_icon07.png);
  width: 26px;
  height: 26px;
  margin-left: 17.5px;
}

#form .onayami__list > .multi-item:nth-child(8) > label > span {
  background-image: url(../img/onayami_icon08.png);
  width: 26px;
  height: 26px;
  margin-left: 14px;
}

#form #Refine_Search_Area input[type="checkbox"] + span.checkbox_icon,
#form #Refine_Search_Area input[type="radio"] + span.radio_icon {
  display: block;
  margin-right: 6px;
  position: relative;
}

#form .way__list > label:nth-child(2) .radiobtn_icon {
  display: inline-block;
  background: url(../img/way_icon01.png) no-repeat center / 15px auto;
  width: 20px;
  height: 20px;
  margin-right: 6px;
}
#form .way__list > label:nth-child(3) .radiobtn_icon {
  display: inline-block;
  background: url(../img/way_icon02.png) no-repeat center / 19px auto;
  width: 20px;
  height: 20px;
  margin-right: 6px;
}

.way {
  display: flex;
  align-items: center;
}

#form .Refine_Search_Box_wrap {
  box-sizing: border-box;
}

#form #Refine_Search_Area {
  font-size: 13px;
  color: #000;
}

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

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

#form .Refine_Search_submit input[type="submit"] {
  background-color: var(--accent-color);
  padding: 0;
  color: #fff;
  border: none;
  text-decoration: none;
  font-weight: bold;
  transition: 0.3s;
  display: inline-block;
  font-size: 24px;
  text-align: center;
  border-radius: 0.5rem;
  position: relative;
  height: 68px;
  line-height: 46px;
  width: 400px;
  border-radius: 8px;
  display: inline-block;
  position: relative;
  border: 3px solid #000;
  /* border-bottom: 5px solid #000;
  border-right: 5px solid #000; */
  box-sizing: border-box;
}

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

#form 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;
}

/*検索フォーム　カスタム*/

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

#form #Refine_Search_Area .way__list {
  gap: 8px;
  margin-bottom: 10px;
}

#form #Refine_Search_Area .price__list {
  gap: 10px;
  margin-bottom: 10px;
}

#form #Refine_Search_Area dl.Refine_Search_conditions_Area label {
  border-radius: 8px;
}

/* #form #Refine_Search_Area .Kodawari__list .selected, #form #Refine_Search_Area .on, #Refine_Search_Area .on02, #form #Refine_Search_Area .kodawari__list .selected, #Refine_Search_Area .on02, #form #Refine_Search_Area .onayami__list .selected, .region__list .selected, #form #Refine_Search_Area .price__list .on01 {
  background-color: var(--yellow02) !important;
  color: #000 !important;
} */

/* 20230908追記 */
#form #Refine_Search_Area .Kodawari__list .selected,
#form #Refine_Search_Area .on,
#Refine_Search_Area .on02,
#form #Refine_Search_Area .kodawari__list .selected,
#Refine_Search_Area .on02,
#form #Refine_Search_Area .kinds__list .selected,
#form #Refine_Search_Area .nayami__list .selected,
#form #Refine_Search_Area .life__list .selected,
#form #Refine_Search_Area .price__list .on01 {
  background-color: var(--yellow02) !important;
  color: #000 !important;
}

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

#form #Refine_Search_Area .input[type="radio"]:checked + span.radiobox:after,
#form #Refine_Search_Area .on input[type="radio"] + span.radiobox:after,
#form #Refine_Search_Area .on01 input[type="radio"] + span.radiobox:after {
  background-color: var(--main-color);
}

#form #Refine_Search_Area .condition_ttl:after {
  border-left: 3px solid var(--main-color);
  background: none;
}

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

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

#form #Refine_Search_Area dl.Refine_Search_conditions_Area label {
  border: 2px solid #000;
  border-radius: 8px;
  height: 50px;
}

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

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

#form #Refine_Search_Area .Refine_Search_cta {
  position: relative;
  margin-top: 12px;
}

#form #Refine_Search_Area .Refine_Search_number {
  display: inline-block;
  height: 68px;
  line-height: 68px;
  font-size: 21px;
  padding: 0 20px;
  vertical-align: bottom;
  /* float: left; */
  position: absolute;
  left: 103px;
  font-weight: bold;
  color: #000;
}

/* 検索結果ページ - コンテンツエリア */

#CONTENTS {
  overflow-x: hidden;
}

#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 {
  padding: 0;
}

/*  検索結果ページ - MV */

.imgttl_searchresult {
  font-size: 21px;
  text-align: center;
}

/* .imgttl_searchresult::before {
  content: "";
  width: calc(50% + 125px);
  height: 250px;
  background-color: #F0EAE6;
  right: 0;
  position: absolute;
  z-index: 1;
} */

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

.imgttl_searchresult img {
  display: block;
  width: 560px;
  height: 132px;
  height: auto;
  vertical-align: bottom;
  margin: 0 auto;
  position: relative;
  z-index: 200;
}

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

/* .searchConditions::before {
  content: "";
  border-top: 250px solid #fff;
  border-right: 250px solid transparent;
  border-left: 250px solid transparent;
  position: absolute;
  left: calc( 50% - 39%);
  top: -250px;
  z-index: 10;
} */

/*  検索結果ページ - 件数 */

.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 span {
  font-size: 1rem;
}

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

.Refine_Result_Count .Refine_Result_Count_red {
  font-size: 2.5rem;
  font-weight: bold;
  color: #e80000;
  margin-right: 4px;
  vertical-align: baseline;
}

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

/*  検索結果ページ - 検索条件 */

.searchConditions {
  width: auto;
  border-radius: 8px;
  margin: 20px;
  padding: 24px 20px 10px;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #000000;
  font-size: 12px;
  /* margin-top: -30px; */
  margin-bottom: 40px;
  line-height: 1.5;
  position: relative;
  z-index: 100;
  text-align: left;
}

.searchConditions__ttl {
  display: inline-block;
  content: "あなたが選んだ条件";
  width: 165px;
  font-size: 14px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background-color: var(--main-color);
  border: 2px solid #000;
  background-repeat: no-repeat;
  background-size: 230px 22px;
  position: absolute;
  top: -15px;
  left: 50%;
  margin-left: -82.5px;
  line-height: 23px;
  border-radius: 4px;
  z-index: 15;
}

.searchConditions__ttl:before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  margin-left: -6px;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 6px 6px 0 6px;
  border-color: var(--main-color) transparent transparent transparent;
  z-index: 0;
}

.searchConditions__ttl:after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  margin-left: -7px;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 7px 7px 0 7px;
  border-color: #000 transparent transparent transparent;
  z-index: -1;
}

.searchConditions__list-title {
  color: var(--main-color);
  font-size: 14px;
  margin-right: 4px;
}

.searchConditions__list {
  margin-bottom: 10px;
}

/* #age_group_txt, #price_group_txt, #shinsatsu_text, #kodawari_txt, #onayami_txt {
  display: inline-block;
  margin-left: 5px;
  font-size: 14px;
} */

.return_form_area a {
  width: 194px;
  line-height: 40px;
  display: block;
  border-radius: 6px;
  color: #000;
  margin: 30px auto;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
  background-color: #fff;
  text-decoration: none;
  border: 2px solid #000;
}

.return_form_area a::before {
  content: "";
  width: 12px;
  height: 18px;
  background-image: url(../img/ico_back.svg);
  display: inline-block;
  margin-right: 10px;
  position: relative;
  bottom: -4px;
  left: -10px;
  background-size: contain;
}

.way__list label:nth-of-type(n + 2) span.radiobox {
  display: none;
}

/*  検索結果ページ - ランキングボックス */
.result_page .ranking__list > li:first-child {
  background: #fff;
}
#CONTENTS > div:nth-child(7) > section > div > ol:nth-child(1) > li {
  background: var(--yellow01);
}
/* .result_page .ranking {
  padding-bottom: 20px;
} */
/* .result_page #form {
  margin-top: 40px;
} */
.result_page .ranking .inner {
  padding-top: 0;
  border-top: 1px solid transparent;
  padding-bottom: 56px;
}
.result_page .ranking__ttl {
  grid-template-columns: 1fr;
  justify-items: left;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 15px;
  padding-right: 15px;
}
.result_page .ranking__list > li {
  margin-top: 24px;
}

/*  検索結果ページ - 調整 */

.redTxt {
  color: var(--accent-color);
}

.blackTxt {
  color: #000;
}

.pinkTxt {
  color: #f499be;
}

.ranking a.ctaBtn {
  padding-right: 1.5em;
}

@media screen and (max-width: 640px) {
  /*　絞り込み検索フォーム 調整用 */
  #form .section__imgTtl {
    width: 100%;
    height: 116px;
    margin: 0 auto;
    display: block;
  }
  #form #Refine_Search_Area .way__list {
    margin-bottom: 10px;
  }
  #form #Refine_Search_Area .price__list {
    grid-template-columns: 1fr 1fr;
  }
  #form #Refine_Search_Area dl.Refine_Search_conditions_Area dd.way__list {
    border-radius: 6px;
    overflow-x: hidden;
  }
  #form #Refine_Search_Area dl.Refine_Search_conditions_Area .way__list label {
    border-radius: 8px;
  }
  #form .kodawari__list {
    grid-template-columns: 1fr 1fr;
  }
  #form .onayami__list {
    grid-template-columns: 1fr 1fr;
  }
  #form .nayami__list {
    grid-template-columns: 1fr 1fr;
  }
  #form #Refine_Search_Area .Kodawari__list {
    grid-template-columns: 1fr 1fr;
  }
  #form #Refine_Search_Area dl.Refine_Search_conditions_Area label {
    height: 50px;
    color: #000;
  }
  #form .Refine_Search_submit {
    width: calc(100% - 184px);
  }
  #form span.noSubmit,
  #form .Refine_Search_submit input[type="submit"] {
    width: 48%;
    position: absolute;
    right: 0;
  }
  #form #Refine_Search_Area .kodawari__list {
    gap: 2px 10px;
  }
  #form #Refine_Search_Area .onayami__list {
    gap: 2px 10px;
  }
  #form .Refine_Search_Title {
    /* background-image: url("../img/result_form_ttl_sp.svg");
    height: 30px;
    background-size: 32%; */
  }
  #form #Refine_Search_Area dl.Refine_Search_conditions_Area label {
    padding: 10px 6px;
    line-height: 1.2;
    text-align: left;
  }
  #form
    #Refine_Search_Area
    dl.Refine_Search_conditions_Area
    .nayami__list
    label {
    display: flex;
    justify-content: center;
  }
  #form #Refine_Search_Area dl.Refine_Search_conditions_Area .life__list label {
    display: flex;
    padding-left: 28px;
  }
  #form
    #Refine_Search_Area
    > form
    dl
    dd.Kodawari__list
    label.checkbox_text::before {
    margin-right: 12px;
  }
  /* 検索結果ページ 調整用 */
  .imgttl_searchresult {
    padding: 20px 0;
  }
  .imgttl_searchresult::before {
    width: calc(50% + 50px);
    height: 175px;
    top: 0;
  }
  .searchConditions::before {
    left: calc(50% - 94%);
  }
  .imgttl_searchresult img {
    width: 100%;
    height: auto;
  }
  .searchConditions {
    /* margin-top: -100px; */
    margin-bottom: 30px;
  }
  .options_accordion_ul {
    margin-bottom: 0;
  }
}

/* 640px以降の項目テキストの改行無し&テキスト左余白 */
@media screen and (min-width: 640px) {
  .Refine_Search_Box_Inner .forSP {
    display: none;
  }
  #form #Refine_Search_Area dl.Refine_Search_conditions_Area .life__list label {
    padding-left: 50px;
  }
}

/* 20230413  */
.sortBtn {
  margin: 30px auto;
  text-align: center;
}
.sortBtn__item {
  display: inline-block;
  line-height: 30px;
  padding: 0 10px;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  min-width: 90px;
  border-radius: 4px;
  margin: 0 4px;
  background-color: #efefef;
}
.sortBtn__item.active {
  background-color: var(--main-color);
  color: #fff;
}
.sortBtn__item:hover {
  cursor: pointer;
  opacity: 0.6;
}

.readmore {
  width: 100%;
  margin: 0 auto;
  margin-top: 16px;
  position: relative;
  box-sizing: border-box;
  padding: 0 20px;
}
.readmore__ttl {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.readmore-content {
  position: relative;
  overflow: hidden;
  height: 106px;
  margin-top: 8px;
}
.readmore-content::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  content: "";
  height: 74px;
  background: -webkit-linear-gradient(
    top,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.9) 60%,
    rgba(255, 255, 255, 0.9) 60%,
    #fff 100%
  );
  background: linear-gradient(
    top,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.9) 60%,
    rgba(255, 255, 255, 0.9) 60%,
    #fff 100%
  );
  z-index: 1;
}
.readmore-content p {
  font-size: 13px;
  margin-top: 0;
}
.readmore-content p + p {
  margin-top: 1em;
}
.readmore-label {
  display: table;
  bottom: 20px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  margin: 0 auto;
  z-index: 2;
  margin-top: 12px;
  padding: 0 10px;
  font-size: 14px;
  font-weight: normal;
  line-height: 30px;
  color: #fff;
  text-align: center;
  background-color: #3374cd;
  border: none;
  border-radius: 4px;
  box-shadow: none;
  width: 100px;
  height: 30px;
  cursor: pointer;
}
.readmore-label::before {
  content: "続きを読む";
}

.readmore-check {
  display: none;
}
.readmore-check:checked ~ .readmore-label {
  position: static;
  transform: translateX(0);
  -webkit-transform: translateX(0);
}
.readmore-check:checked ~ .readmore-label:before {
  content: "閉じる";
}
.readmore-check:checked ~ .readmore-content {
  height: auto;
}
.readmore-check:checked ~ .readmore-content::before {
  display: none;
}

.readmore-txtBox {
  border: 2px solid #000;
  margin-top: 12px;
}
.readmore-txtBox-ttl {
  font-size: 20px;
  font-weight: 900;
  text-align: center;
  padding: 8px;
  background: var(--blue02);
}
.readmore-txtBox-txt {
  padding: 8px 20px;
}
.readmore-txtBox-txt p + p {
  margin-top: 0;
}

/* ========================================================
リアルな声
=========================================================*/
.survey {
  color: #000;
  margin-top: 24px;
}
.survey__inner {
  width: 100%;
  padding: 0;
  padding-bottom: 32px;
  background: var(--bg-color);
}
.survey__ttl {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.survey-wrapper__sp-scroll {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 0 20px 16px;
  overflow-x: scroll;
}
.survey-wrapper__sp-scroll img {
  width: 246px;
  border: 1px solid #e1e2eb;
}
.survey__txt {
  font-size: 17px;
  text-align: center;
  line-height: 1.5;
  padding: 0 20px;
  margin-top: 24px;
}
.survey__txt .marker {
  font-size: 21px;
}
.survey__notes {
  font-size: 15px;
  text-align: center;
  margin-top: 0;
}

/* ========================================================
口コミ
=========================================================*/
.kuchikomi {
  width: 100%;
  margin-top: 0;
  background: var(--main-color);
  padding: 0;
  /* border-top: 7px solid #000; */
  /* border-bottom: 1px solid #fff; */
}
.kuchikomi__ttl {
  width: 100%;
}
.kuchikomi__inner {
  width: 100%;
  /* padding: 0 0 16px; */
  border-bottom: solid 1px #fff;
}
/* .kuchikomi-wrapper {
  padding-bottom: 40px;
} */
.kuchikomi__subttl {
  width: 100%;
}
.kuchikomi__list {
  padding: 0 20px;
  margin-top: 5px;
}
.kuchikomi__list-item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.kuchikomi__list-item:nth-of-type(n + 2) {
  margin-top: 15px;
}
.kuchikomi__list-item_prof {
  width: 106px;
  color: #fff;
  text-align: center;
  /* flex-shrink: 0; */
  top: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.kuchikomi__list-item_prof img {
  width: 80%;
}
.kuchikomi__list-item_prof p {
  margin-top: 4px;
}
.kuchikomi__list-item_txt {
  font-size: 14px;
  line-height: 1.6;
  background: #fff;
  border-radius: 10px;
  padding: 15px;
  width: 100%;
}
.kuchikomi .readmore-label {
  font-size: 24px;
  line-height: 60px;
  width: calc(100% - 40px);
  background: var(--accent-color);
  border: 3px solid #000;
  /* border-bottom: 6px solid #000;
  border-right: 6px solid #000; */
  height: 60px;
  border-radius: 8px;
  margin-top: 40px;
  margin-bottom: 54px;
  bottom: -8px;
}
.kuchikomi .readmore-label::after {
  content: "";
  background: url(../img/ct_ico_plus.png) no-repeat center / 18px 18px;
  width: 18px;
  height: 18px;
  position: absolute;
  right: 7%;
  top: 50%;
  transform: translateY(-50%);
}
.kuchikomi .readmore-check:checked ~ .readmore-label::before {
  content: "口コミ評判を閉じる";
}
.kuchikomi .readmore-check:checked ~ .readmore-label::after {
  background-image: url(../img/ct_ico_minus.png);
}
.kuchikomi .readmore-content {
  height: 200px;
  padding: 0;
}
p.kuchikomi__notes {
  font-size: 15px;
  color: #fff;
  text-align: center;
  margin-top: 16px;
}
.kuchikomi .readmore-content::before {
  height: 180px;
}

/* ========================================================
効果/作用
=========================================================*/
.expectation {
  background: var(--bg-color);
  padding-bottom: 38px;
}
.expectation__inner {
  width: 100%;
  padding: 0;
}
.expectation__ttl {
  display: block;
  margin: 0 auto;
}
.expectation img:not(.expectation__ttl img) {
  display: block;
  margin: 0 auto;
}
.expectation .cmn__arrow {
  width: 90px;
  height: 20px;
  background-size: 90px 20px;
  margin-top: 20px;
  margin-bottom: 20px;
}
.verticalTable + section:not(.survey) {
  margin-top: 24px;
}

.cmn__arrow {
  width: 108px;
  height: 20px;
  background-size: 108px 20px;
  background-image: url("../img/cmn_arrow_down.png");
  display: block;
  margin: 24px auto 14px;
}

.expectation .cmn__arrow {
  width: 88px;
  height: 30px;
  background-size: 88px 30px;
  margin: 24px auto 14px;
}

/* ========================================================
横並びランキング
=========================================================*/
.miniRanking {
  margin: 0 auto;
  padding-top: 50px;
  padding-bottom: 50px;
}

.miniRanking__inner {
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

.miniRanking__ttl {
  text-align: center;
  padding: 10px 20px;
  margin: 0 auto;
}

.miniRanking__boxs {
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.miniRanking__box {
  text-align: center;
  display: inline-block;
  width: calc((100% - 5px) / 3);
  padding: 8px 0;
  box-sizing: border-box;
  background-color: #fff;
  border: 2px solid #000;
  border-right-width: 3px;
  border-bottom-width: 3px;
  border-radius: 8px;
  vertical-align: top;
  position: relative;
  margin: 0 auto;
  font-size: 11px;
  line-height: 1.5;
}

.miniRanking__box:nth-child(2),
.miniRanking__box:nth-child(3) {
  box-shadow: none;
}

.miniRanking__box:nth-last-of-type(1) {
  margin-bottom: 0;
}

.miniRanking__box::before {
  content: "";
  width: 40px;
  height: 31px;
  display: inline-block;
  background-image: url("../img/cmn_ico_rank2.png");
  background-size: 40px auto;
  position: absolute;
  top: -24px;
  left: 50%;
  transform: translateX(-50%);
}

.miniRanking__box:nth-of-type(1)::before {
  background-image: url("../img/cmn_ico_rank1.png");
  width: 52px;
  height: 40px;
  background-size: 52px auto;
  top: -32px;
}

.miniRanking__box:nth-of-type(3)::before {
  background-image: url("../img/cmn_ico_rank3.png");
}

.miniRanking__box:nth-of-type(1) {
  background-color: var(--yellow02);
}

.miniRanking__box-ttl {
  font-size: 1.125rem;
  font-weight: bold;
  min-height: 52px;
  text-align: center;
}

.miniRanking__box-ttl a {
  text-decoration: underline;
}

.miniRanking__box-img {
  margin: 4px auto 0;
}

.miniRanking__box-txt {
  font-size: 0.85rem;
  margin-top: 8px;
  text-align: center;
}

.miniRanking__box .btn-sub {
  width: 7rem;
  margin-top: 10px;
}

.miniRanking__box-txtBold {
  font-size: 11px;
  font-weight: 900;
  line-height: 1.5;
  color: #000;
  margin-bottom: 10px;
  text-align: center;
}

.miniRanking__sp {
  border-radius: 8px;
  border: 1px solid #e1e2eb;
  box-shadow: 1px 1px 6px #ccc;
}

.miniRanking__sp-item {
  vertical-align: top;
}

.miniRanking__sp-item a {
  font-weight: bold;
  text-decoration: underline;
}

.miniRanking__sp-item.rank01 {
  background-color: #fefbf2;
  text-align: left;
  width: 50%;
  padding: 14px;
  box-sizing: border-box;
}

.miniRanking__sp-item.rank01 .miniRanking__box-txtBold {
  font-size: 0.85rem;
  color: #e64154;
  text-align: left;
}

.rank01 .miniRanking__sp-itemName {
  position: relative;
  padding-left: 40px;
  display: block;
  font-size: 0.85rem;
}

.rank01 .miniRanking__sp-itemImg {
  margin-top: 8px;
  display: block;
}

.rank01 .miniRanking__sp-itemName::before {
  content: "";
  display: block;
  width: 30px;
  height: 24px;
  background-image: url(../img/cmn_ico_rank1.png);
  background-size: 30px 24px;
  position: absolute;
  left: 0;
  top: 5px;
}

.miniRanking__box-txtBold {
  min-height: 36px;
  font-size: 11px;
  line-height: 1.5;
  margin-bottom: 6px;
}

.miniRanking__box-catch {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}

.miniRanking__box:nth-of-type(1) .miniRanking__box-catch {
  align-items: flex-end;
}

.miniRanking__box:nth-of-type(1) .miniRanking__box-catch::before {
  content: "";
  display: inline-block;
  background: url(../img/cm_ico_deco.png) no-repeat center / 15px auto;
  width: 15px;
  height: 20px;
}

.miniRanking__box:nth-of-type(1) .miniRanking__box-catch::after {
  content: "";
  display: inline-block;
  background: url(../img/cm_ico_deco.png) no-repeat center / 15px auto;
  width: 15px;
  height: 20px;
  transform: scale(-1, 1);
}

.miniRanking__box img {
  width: calc(100% - 16px);
  display: block;
  margin: 0 8px;
}

.miniRanking__sp-item.rank02,
.miniRanking__sp-item.rank03 {
  width: 48%;
  padding: 14px;
  box-sizing: border-box;
}

.miniRanking__sp-item.rank02 {
  border-bottom: 1px solid #ccc;
}

.rank02 .miniRanking__sp-itemImg,
.rank03 .miniRanking__sp-itemImg {
  display: inline-block;
  width: 64px;
  float: left;
}

.rank02 .miniRanking__sp-itemName,
.rank03 .miniRanking__sp-itemName {
  float: right;
  width: calc(100% - 70px);
  font-size: 0.75rem;
}

.rank02 .miniRanking__sp-itemName::before,
.rank03 .miniRanking__sp-itemName::before {
  content: "";
  display: block;
  width: 30px;
  height: 24px;
  background-image: url(../img/cmn_ico_rank2.png);
  background-size: 30px 24px;
  margin-bottom: 5px;
}
.rank03 .miniRanking__sp-itemName::before {
  background-image: url(../img/cmn_ico_rank3.png);
}

.rank02 .miniRanking__box-txt,
.rank03 .miniRanking__box-txt {
  clear: both;
  text-align: left;
  font-size: 0.75rem;
  margin-top: 8px;
}

.miniRanking a.ctaBtn {
  font-size: 10px;
  padding: 4px;
  border-width: 1px;
  border-right-width: 2px;
  border-bottom-width: 2px;
  margin: 0 6px;
}
.miniRanking a.ctaBtn::after {
  right: 4px;
  top: 54%;
}

/* ========================================================
おすすめNo1をチェック（簡易比較表）
=========================================================*/
.checkPoint {
  border-top: 7px solid #000;
}

.checkPoint__ttl {
  background: var(--bg-color);
}

.checkPointTxt {
  padding: 18px 27px;
  margin: 30px auto 0;
}

.checkPointTxt {
  background-color: #fff;
  border-radius: 24px;
  box-shadow: 1px 1px 6px #ccc;
  padding: 24px 60px 40px;
}

.checkPointTxt__ttl {
  margin: 0 auto;
}

.checkPointTxt__list {
  margin: 18px auto 0;
}

.checkPointTxt__list-item {
  max-width: 105%;
  display: inline-block;
  margin-bottom: 16px;
  padding-left: 52px;
  position: relative;
  font-weight: bold;
}

.checkPointTxt__list-item::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 5px;
  width: 35px;
  height: 31px;
  background-size: 35px 31px;
  background-image: url("../img/ct_checkPoint_ico01.png");
}

.checkPointTxt__list-item:nth-of-type(2)::before {
  background-image: url("../img/ct_checkPoint_ico02.png");
}

.checkPointTxt__list-item:nth-of-type(3)::before {
  background-image: url("../img/ct_checkPoint_ico03.png");
}

.checkPointTxt__list-item:nth-of-type(4)::before {
  background-image: url("../img/ct_checkPoint_ico04.png");
}

.checkPointTxt__matome {
  margin: 0 auto 0;
  color: #3f4f5f;
  font-size: 1rem;
}

.checkPointTable {
  background: var(--bg-color);
  margin: 0;
  padding: 12px 20px 32px;
}

.checkPointTable__ttl {
  text-align: center;
}

.checkPointTable__ttl-txt {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  width: 356px;
  background-color: #13c4ce;
  border-radius: 300px;
  padding: 2px 0;
  text-align: center;
  box-shadow: 0 0 0 3px #13c4ce;
  border: 1px solid #fff;
}

.checkPointTable__table-wrap {
  margin: 24px auto 0;
}

.checkPointTable__table-wrap:nth-of-type(1) {
  margin-top: 0;
}

.checkPointTable__table {
  width: 100%;
  border: 2px solid #000;
  border-right-width: 3px;
  border-bottom-width: 3px;
  border-spacing: 0px;
  border-collapse: collapse;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-all;
}

.checkPointTable__table:nth-of-type(1) td {
  background-color: var(--yellow01);
}

.checkPointTable__table .checkPointTable__table-logo a::before {
  content: "";
  display: inline-block;
  width: 56px;
  height: 43px;
  background-image: url("../img/cmn_ico_rank1.png");
  background-size: 56px auto;
  background-repeat: no-repeat;
  margin-right: 16px;
  position: absolute;
  top: 2px;
  left: 8%;
}

.checkPointTable__table-wrap:nth-of-type(2)
  .checkPointTable__table-logo
  a::before {
  background-image: url("../img/cmn_ico_rank2.png");
}

.checkPointTable__table-wrap:nth-of-type(3)
  .checkPointTable__table-logo
  a::before {
  background-image: url("../img/cmn_ico_rank3.png");
}

.checkPointTable__table th,
.checkPointTable__table td {
  border: 2px solid #000;
  background-color: #fff;
  text-align: center;
  font-size: 0.8rem;
}

.checkPointTable__table-logo {
  text-align: center;
  position: relative;
  height: 52px;
}

.checkPointTable__table-logo a img {
  display: inline-block;
  max-width: 100%;
  width: auto;
  height: 32px;
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
}

.checkPointTable__table:first-child .checkPointTable__table-logo a img {
  height: 28px;
  top: 14px;
  left: 60%;
}

.checkPointTable__table-data td {
  position: relative;
  padding: 30px 4px 8px;
  width: 33%;
  vertical-align: top;
  font-size: 14px;
  font-weight: normal;
}

.checkPointTable__table-ttl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: block;
  text-align: center;
  line-height: 24px;
  background: var(--sub-color);
  color: #666;
  font-size: 13px;
  border-bottom: 2px solid #000;
}

.checkPointTable__table-mark {
  display: block;
  width: 62px;
  height: 62px;
  margin: 12px auto 8px;
}

.checkPointTable__table-xt {
  color: #e64154;
  font-weight: bold;
}

.checkPointTable__table .checkPointTable__table-btn {
  text-align: left;
  position: relative;
}

.checkPointTable__table-more {
  display: inline-block;
  grid-row: 2;
  grid-column: 1;
  width: 100%;
}

.checkPointTable__table-link {
  display: block;
  grid-row: 2;
  grid-column: 2;
  width: 86%;
}

.checkPointTable__table-more a {
  width: 100%;
  box-sizing: border-box;
  display: block;
  border-radius: 6px;
  background-color: #fff;
  border: 2px solid var(--main-color);
  border-right-width: 5px;
  border-bottom-width: 5px;
  color: var(--main-color);
  text-align: center;
  font-size: 17px;
  font-weight: 900;
  padding-top: 8px;
  height: 54px;
  position: relative;
}

.checkPointTable__table-more a::after {
  content: "";
  width: 7px;
  height: 11px;
  display: inline-block;
  background-image: url("../img/cmn_ico_arrow_right_bl.png");
  position: absolute;
  background-size: 7px 11px;
  bottom: 2px;
  left: 50%;
  transform: rotate(90deg) translateX(-50%);
}

.checkPointTable__table-link a {
  width: 100%;
  height: 54px;
  display: inline-block;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.2;
  padding: 0;
}
.checkPointTable__table-link a span {
  font-size: 11px;
}

.checkPointTable__table-btn-wrap {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: auto 1fr;
  row-gap: 6px;
  justify-items: center;
  padding-top: 8px;
  padding-left: 12px;
  padding-bottom: 12px;
}
.checkPointTable__table-link-catch {
  color: var(--main-color);
  width: 100%;
  height: 20px;
  font-size: 15px;
  font-weight: 900;
  display: inline-flex;
  justify-content: center;
  align-items: flex-end;
  gap: 4px;
  margin-top: 0;
  grid-row: 1;
  grid-column: 2;
}
.checkPointTable__table-link-catch::before {
  content: "";
  display: inline-block;
  background: url(../img/cm_ico_deco.png) no-repeat center / auto 18px;
  width: 18px;
  height: 24px;
  margin-bottom: -1px;
}
.checkPointTable__table-link-catch::after {
  content: "";
  display: inline-block;
  background: url(../img/cm_ico_deco.png) no-repeat center / auto 18px;
  width: 18px;
  height: 24px;
  margin-bottom: -1px;
  transform: scale(-1, 1);
}

.checkPointTable__table-link a::after {
  content: "";
  width: 8px;
  height: 12px;
  display: inline-block;
  background-size: 8px 12px;
  background-image: url("../img/cmn_ico_arrow_right.png");
  position: absolute;
  right: 10px;
  top: 50%;
}

.checkPoint .cmn__arrow {
  width: 52px;
  height: 20px;
  background-size: 52px 20px;
}

.checkPointMatome {
  padding: 0 20px 40px;
}

.checkPointMatome__box {
  border: 2px solid #000;
  border-right-width: 2px;
  border-bottom-width: 3px;
  background: var(--sub-color);
  padding-bottom: 16px;
}

.checkPointMatome__ttl {
  padding: 11px 32px;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
  font-weight: 900;
  background: var(--main-color);
  border-bottom: 1px solid #000;
}

.checkPointMatome__catch {
  font-size: 16px;
  font-weight: 900;
  color: var(--main-color);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 4px;
}

.checkPointMatome__catch::before {
  content: "";
  display: inline-block;
  background: url(../img/cm_ico_deco.png) no-repeat center / auto 19px;
  width: 18px;
  height: 24px;
  margin-bottom: -1px;
}

.checkPointMatome__catch::after {
  content: "";
  display: inline-block;
  background: url(../img/cm_ico_deco.png) no-repeat center / auto 19px;
  width: 18px;
  height: 24px;
  transform: scale(-1, 1);
  margin-bottom: -1px;
}

.checkPointMatome__img {
  margin-top: 16px;
  text-align: center;
}

.checkPointMatome__img img {
  margin: 0 auto;
}

.checkPointMatome__img img:nth-of-type(1) {
  padding: 0 15px;
}

.checkPointMatome__img img:nth-of-type(2) {
  padding: 0 24px;
  margin-top: 16px;
}

.checkPointMatome__btn a {
  font-size: 17px;
  width: 216px;
  margin: 16px auto 0;
  padding: 6px 0 10px;
  border-radius: 8px;
}

.checkPointMatome__btn a::after {
  content: "";
  width: 8px;
  height: 12px;
  display: inline-block;
  background-size: 8px 12px;
  background-image: url("../img/cmn_ico_arrow_right.png");
  position: absolute;
  right: 10px;
  top: 50%;
}

.checkPointMatome__btn a span {
  font-size: 11px;
}

/* ========================================================
ポジショニングマップ
=========================================================*/
.positioningMap {
  margin-top: 0;
}
.positioningMap__back {
  background-image: linear-gradient(
      0deg,
      transparent calc(100% - 1px),
      #e6e7e7 calc(100% - 1px)
    ),
    linear-gradient(
      90deg,
      transparent calc(100% - 1px),
      #e6e7e7 calc(100% - 1px)
    );
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
  padding-bottom: 30px;
}

.positioningMap__label,
.positioningMap__subLabel {
  position: absolute;
  z-index: 2;
}

.positioningMap__label-03,
.positioningMap__label-04 {
  font-size: 21px;
  font-weight: bold;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
}

.positioningMap__label-01,
.positioningMap__label-02,
.positioningMap__label-03,
.positioningMap__label-04 {
  font-size: 14px;
  font-weight: bold;
  line-height: 43px;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: 53px;
  height: 53px;
}

.positioningMap__label-02,
.positioningMap__label-04 {
  background-color: #f4e7e8;
  color: #808080;
}

.positioningMap__label-01 {
  background: #f499be;
  top: 5%;
  left: 49%;
  transform: translateX(-50%);
}

.positioningMap__label-02 {
  top: 92%;
  left: 49%;
  transform: translateX(-50%);
}

.positioningMap__label-03 {
  background-color: #f499be;
  top: 61%;
  left: 76%;
  transform: translateY(-50%);
}

.positioningMap__label-04 {
  top: 61%;
  left: 5%;
  transform: translateY(-50%);
}

.positioningMap__subLabel {
  font-size: 13px;
  font-weight: 900;
  line-height: 1.5;
  line-height: 1;
  color: #000;
}

.positioningMap__subLabel01 {
  text-align: right;
  top: 7%;
  left: 27%;
  transform: translateX(-50%);
}

.positioningMap__subLabel02 {
  top: 51%;
  left: 79%;
}

.positioningMap__subLabel02 small {
  font-size: 10px;
  position: relative;
  top: -5px;
}

.positioningMap__subLabel03 {
  color: #3f4f5f;
  font-size: 11px;
  position: absolute;
  bottom: -1%;
  left: 70%;
  font-weight: normal;
}

.positioningMap__top {
  padding: 0 20px;
  margin-top: 24px;
}

.positioningMap__top-subTtl {
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  color: #e64154;
}

.positioningMap__top-ttl-txt {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  background-color: #13c4ce;
  border-radius: 300px;
  padding: 0 0 3px;
  text-align: center;
  box-shadow: 0 0 0 3px #13c4ce;
  border: 1px solid #fff;
}

.positioningMap__top-notes {
  text-align: center;
  color: #3f4f5f;
  font-size: 10px;
  margin: 10px auto 20px;
}

a.positioningMap__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #000;
  border-bottom-width: 2px;
  border-radius: 4px;
  padding: 6px;
  position: absolute;
  z-index: 1;
  text-decoration: none;
  width: auto;
  height: 35px;
}

.positioningMap__item:not(.positioningMap__item-01) img {
  width: auto;
  height: 100%;
}

.positioningMap__item.positioningMap__item-01 {
  display: inline-block;
  z-index: 1;
  top: 20%;
  left: 54%;
  width: 42%;
  height: auto;
  padding: 6px;
}

.positioningMap__item-01::before {
  content: "";
  display: inline-block;
  background: url(../img/ico_crown.png) no-repeat center / 32px auto;
  width: 32px;
  height: 25px;
  position: absolute;
  top: -98%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.positioningMap__item.positioningMap__item-02 {
  top: 31%;
  left: 49%;
}

.positioningMap__item.positioningMap__item-03 {
  top: 50%;
  left: 36%;
  padding: 2px 6px 6px;
}

.positioningMap__item.positioningMap__item-04 {
  top: 41%;
  left: 59%;
}

.positioningMap__item.positioningMap__item-05 {
  top: 68%;
  left: 25%;
}

.positioningMap__item.positioningMap__item-06 {
  top: 78%;
  left: 58%;
  padding: 1px 6px;
}

.positioningMap__item-catch {
  font-size: 10px;
}

.positioningMap__item-logo {
}

.positioningMap__back {
  background-image: linear-gradient(
      0deg,
      transparent calc(100% - 1px),
      #e6e7e7 calc(100% - 1px)
    ),
    linear-gradient(
      90deg,
      transparent calc(100% - 1px),
      #e6e7e7 calc(100% - 1px)
    );
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
}

.positioningMap__top-subTtl {
  color: #e64154;
}

.positioningMap__top-ttl {
  font-size: 14px;
  line-height: 36px;
  height: 36px;
}

.positioningMap__inner {
  background-size: 32px 32px;
  background-position: 50% 50%;
  width: 100%;
  aspect-ratio: 428 / 483;
  position: relative;
}

.positioningMap__inner::before {
  content: "";
  display: inline-block;
  background: var(--yellow02);
  border-radius: 50%;
  width: 29%;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 9%;
  left: 60%;
}

.positioningMap__inner::after {
  content: "";
  display: block;
  width: 57%;
  height: 100%;
  background: url(../img/positioningmap_bg.png) no-repeat center / 100% auto;
  position: absolute;
  top: 5%;
  left: 48%;
  transform: translateX(-50%);
}

.positioningMap__top-ttl-txt {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  width: 356px;
  background-color: #13c4ce;
  border-radius: 300px;
  padding: 0 0 3px;
  text-align: center;
  box-shadow: 0 0 0 3px #13c4ce;
  border: 1px solid #fff;
}

.positioningMap__top-notes {
  text-align: center;
  color: #3f4f5f;
  font-size: 0.75rem;
  margin: 10px auto 20px;
}

/* ========================================================
クリニック選びのポイント
=========================================================*/
.howtochoice {
  padding: 0px 0 32px;
  border-top: 7px solid #000;
}

.howtochoice__inner {
  margin: 0 auto;
  padding: 0 20px 32px;
  background-color: var(--sub-color);
}

.howtochoice__ttl {
  width: calc(100% + 40px);
  margin: 0 -20px;
}

.howtochoice__box {
  width: 100%;
  box-sizing: border-box;
  padding: 24px 28px;
  box-sizing: border-box;
  background-color: #fff;
  margin: 8px auto 0;
  border: 1px solid #000;
  border-radius: 1px;
}

.howtochoice__box + .howtochoice__box {
  margin-top: 20px;
}

.howtochoice__box-img {
  display: inline-block;
  position: relative;
}
.howtochoice__box-img::before {
  content: "";
  display: inline-block;
  width: 105px;
  height: 46px;
  background-size: 105px auto;
  position: absolute;
  top: 0;
  left: -24px;
}
.howtochoice__box:nth-child(2) .howtochoice__box-img::before {
  background-image: url(../img/howtochoice_point1_sp.png);
}
.howtochoice__box:nth-child(3) .howtochoice__box-img::before {
  background-image: url(../img/howtochoice_point2_sp.png);
}
.howtochoice__box:nth-child(4) .howtochoice__box-img::before {
  background-image: url(../img/howtochoice_point3_sp.png);
}

.howtochoice__box-txt {
  display: inline-block;
  font-size: 16px;
  vertical-align: top;
  line-height: 1.5;
  color: var(--text);
}
.howtochoice__box-txt p {
  margin-top: 0;
}
.howtochoice__box-txt p + p {
  margin-top: 1em;
}
.howtochoice__box-txtTtl {
  font-size: 19px;
  font-weight: bold;
  text-align: center;
  color: var(--main-color);
  margin-top: 10px;
  margin-bottom: 12px;
  /* margin-left: -24px;
  margin-right: -24px; */
}

.howtochoice__btn a {
  width: 100%;
  height: 46px;
  display: block;
  font-size: 20px;
  background-color: var(--accent-color);
  text-shadow: none;
  border: 2px solid #000;
  border-bottom: 4px solid #000;
  border-right: 4px solid #000;
  line-height: 1.2;
  height: auto;
  border-radius: 8px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  position: relative;
  padding: 10px 20px;
}

.howtochoice__btn a::before {
  content: "";
  width: 8px;
  height: 12px;
  display: inline-block;
  background-size: 8px 12px;
  background-image: url(../img/cmn_ico_arrow_right.png);
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -6px;
  border: none;
  transform: none;
}

.howtochoice__matome {
  background: #fff;
  padding: 0 20px;
}

.howtochoice .cmn__arrow {
  width: 52px;
  height: 18px;
  background-size: 52px 18px;
}

/* ========================================================
2023/06/15 口コミまとめデザイン追加
=========================================================*/

.kuchikomi__point {
  margin-top: 16px;
  padding: 0 20px;
}
.kuchikomi__points_wrap {
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.kuchikomi__points_txt_wrap {
  margin-top: 16px;
  border-radius: 8px;
  background-color: #fff;
  padding: 8px;
}
.kuchikomi__points_txt_wrap > p {
  line-height: 1.6;
  color: #000000;
  font-size: 14px;
}
.kuchikomi__points_txt_wrap .point_under {
  background: linear-gradient(transparent 55%, #ffe100 55%);
}
.libersus__cta_wrap {
  background-color: #fff;
  padding-bottom: 32px;
}
.libersus__cta_bnr {
  margin-top: 24px;
}
.libersus__cta__box_wrap {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 20px;
  margin-top: 24px;
}
.libersus__cta__box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  gap: 4px;
  border: solid 2px #000000;
  border-radius: 4px;
  background-color: #fff;
}
.libersus__cta__box:first-of-type {
  background-color: #fefce0;
  position: relative;
  padding-top: 26px;
}
.libersus__cta__box:not(:first-of-type) {
  margin: 0 32px;
}
.libersus__cta__box:first-of-type .libersus__cta_link {
  font-size: 14px;
  color: #1a0dab;
  text-decoration: underline;
}
.libersus__cta__box:not(:first-of-type) .libersus__cta_link {
  font-size: 12px;
  color: #1a0dab;
  text-decoration: underline;
}
.libersus__cta__otameshi {
  position: absolute;
  left: -2px;
  width: 38%;
  max-width: 125px;
  top: -18px;
}
.libersus__cta_head_wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.libersus__cta_logo {
  height: 25px;
  width: auto;
}
.libersus__cta_txt {
  font-size: 11px;
  color: #000000;
  margin-top: 8px;
}
.libersus__cta__box:first-of-type .libersus__cta_txt {
  position: relative;
  padding: 0 8px;
}
.libersus__cta__box:first-of-type .libersus__cta_txt::before {
  position: absolute;
  content: "";
  border-left: solid 1px #000;
  height: 13px;
  transform: rotate(-35deg);
  left: 0;
  top: 0;
}
.libersus__cta__box:first-of-type .libersus__cta_txt::after {
  position: absolute;
  content: "";
  border-right: solid 1px #000;
  height: 13px;
  transform: rotate(35deg);
  right: 0;
  top: 0;
}

.libersus__cta_rsv {
  font-size: 12px;
  color: #fff;
  text-decoration: none;
  background-color: #ff6c83;
  border: solid 2px #000000;
  /* border-right: solid 4px #000000;
  border-bottom: solid 4px #000000; */
  border-radius: 4px;
  padding: 20px 18px;
  position: relative;
}
.libersus__cta_rsv::after {
  position: absolute;
  content: "";
  background: url(../img/cm_icon_chevron_right_wh.svg) no-repeat center center;
  background-size: 10px 10px;
  width: 10px;
  height: 10px;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
}
/* 20230906追記 */
a.libersus__cta_link {
  font-weight: bold;
}
a.libersus__cta_rsv {
  font-weight: bold;
}
/* ========================================================
20230907 検索フォーム項目変更
=========================================================*/
#form .kinds__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3px 10px;
}
#form .nayami__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px 10px;
  text-align: center;
}
#form .life__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px 10px;
}
.label-kinds1::before {
  background-image: url(../img/ct_icon_kinds1.svg);
  background-size: cover;
}
.label-kinds2::before {
  background-image: url(../img/ct_icon_kinds2.svg);
  background-size: cover;
}
.label-kinds3::before {
  background-image: url(../img/ct_icon_kinds3.svg);
  background-size: cover;
}
.label-kinds4::before {
  background-image: url(../img/ct_icon_kinds4.svg);
  background-size: cover;
}
.label-kinds5::before {
  background-image: url(../img/ct_icon_kinds5.svg);
  background-size: cover;
}
.label-kinds6::before {
  background-image: url(../img/ct_icon_kinds6.svg);
  background-size: cover;
}
.kinds__list label::before {
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  margin-top: -10px;
}
.kinds__list label {
  display: flex;
  flex-direction: column;
  height: auto;
}
#form #Refine_Search_Area dl.Refine_Search_conditions_Area .kinds__list label {
  height: auto;
}
#shindan__area > div.Refine_Search_Box_Ttl > picture > img {
  padding: 0 20px;
  margin-left: -10px;
}
.life__list label {
  position: relative;
}
/* チェックボタン */
.life__list label::before {
  content: "";
  width: 18px;
  height: 18px;
  background-image: url(../img/ct_refineForm_check_deselect.svg);
  background-size: 18px;
  display: inline-block;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  left: 10px;
}
.life__list label.selected::before {
  background-image: url(../img/ct_refineForm_check_select.svg);
}
/* ========================================================
20231011 rybelsus.php用CSS (ボタン色、黒色、見出し画像変更)
=========================================================*/
#rybelsus .hikaku__table,
#medical .hikaku__table {
  border: 1px solid var(--black);
  border-bottom: 1px;
}
#rybelsusu .hikaku__table th,
#rybelsus .hikaku__table td {
  color: var(--black);
  border: 1px solid var(--black);
}
#rybelsus .ctaBtn,
#medical .ctaBtn {
  margin-top: 8px;
}
#rybelsus a.ctaBtn,
#medical a.ctaBtn {
  font-weight: bold;
  color: #fff;
  text-align: center;
  display: block;
  background: var(--accent-color02);
  border: 2px solid var(--black);
  border-radius: 6px;
  padding: 10px;
  position: relative;
}
#rybelsus a.ctaBtn::after, 
#medical a.ctaBtn::after {
  content: "";
  display: inline-block;
  background: url(../img/cm_icon_chevron_right_wh.svg) no-repeat center / 0.6rem
    1rem;
  width: 0.6rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
#rybelsus a.ctaBtn.detail,
#medical a.ctaBtn.detail {
  background: var(--bg-color);
  color: var(--black);
  border: 1px solid var(--black);
  font-weight: lighter;
}
#rybelsus a.ctaBtn.detail::after,
#medical a.ctaBtn.detail::after {
  display: none;
}
/* 検索フォーム枠線色変更 */
#form #rybelsus__formWrap dl.Refine_Search_conditions_Area label,
#form #medical__formWrap dl.Refine_Search_conditions_Area label {
  border: 1px solid #ccc;
}
#form #rybelsus__formWrap .Refine_Search_reset,
#form #medical__formWrap .Refine_Search_reset {
  border: 2px solid var(--black);
}
#form #rybelsus__formWrap input[type="submit"],
#form #medical__formWrap input[type="submit"] {
  background-color: var(--accent-color02);
  border: 2px solid var(--black);
}
#rybelsus .kuchikomi .readmore-label {
  background: var(--accent-color02);
  border: 2px solid var(--black);
}
#rybelsus .libersus__cta_rsv,
#medical .libersus__cta_rsv {
  background-color: var(--accent-color02);
  border: solid 2px var(--black);
}
/* 見出し画像 ↓  */
#rybelsus .hikaku .section__imgTtl img,
#medical .hikaku .section__imgTtl img {
  padding: 20px;
  width: 100%;
}
#rybelsus .hikaku__table tr td:nth-of-type(n+2):nth-of-type(-n+5),
#medical .hikaku__table tr td:nth-of-type(n+2):nth-of-type(-n+5) {
  background: #fff;
}
#rybelsus .hikaku,
#medical .hikaku{
  position: relative;
}
/* 背景まる黄色 */
#rybelsus .hikaku__circle,
#medical .hikaku__circle {
  width: 65%;
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
#rybelsus .hikaku__circle-in,
#medical .hikaku__circle-in {
  width: 100%;
  padding-top: 100%;
  border-radius: 100%;
  background-color: #FFFDF3;
}
#shindan__area #rybelsus__ttlBox img,
#shindan__area #medical__ttlBox img {
  margin-left: 0;
  padding: 0 20px;
  width: 100%;
}
#rybelsus #form,
#medical #form {
  background: #f9f9f9;
}
#rybelsus .libersus__cta_bnr,
#medical .libersus__cta_bnr {
  padding: 0 20px;
}
#rybelsus .ranking,
#medical .ranking{
  position: relative;
}
/* 背景まるグレー */
#rybelsus .ranking__circle,
#medical .ranking__circle {
  width: 46%;
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
#rybelsus .ranking__circle-in,
#medical .ranking__circle-in {
  width: 100%;
  padding-top: 100%;
  border-radius: 100%;
  background-color: #f9f9f9;
}
#rybelsus .ranking__ttlImg img,
#medical .ranking__ttlImg img {
  padding: 0 20px;
}
#rybelsus .ranking__sectionTtl,
#medical .ranking__sectionTtl {
  background: linear-gradient(
    180deg,
    #ffffff00 0%,
    #ffffff00 43%,
    #f9f9f9 43%,
    #f9f9f9 100%
  );
}
#rybelsus .ranking__ttlWomen,
#medical .ranking__ttlWomen {
  display: none;
}
#rybelsus .ranking .inner {
  padding-top: 0;
  background: #f9f9f9;
}
#medical .ranking .inner {
  padding-top: 0;
  background: #f9f9f9;
}
#rybelsus .matome .section__ttl img,
#medical .matome .section__ttl img {
  padding: 6px 100px;
  background: #94d7d3;
}
#rybelsus .matome__catch-txt,
#medical .matome__catch-txt {
  color: #ef8fa4;
}
#rybelsus .matome__catch-txt::before,
#rybelsus .matome__catch-txt::after {
  content: "";
  display: inline-block;
  background: url(../img/ct_quotation_pk.png) no-repeat center / 14px 10px;
  width: 14px;
  height: 10px;
  position: absolute;
}
#medical .matome__catch-txt::before,
#medical .matome__catch-txt::after {
  content: "";
  display: inline-block;
  background: url(../img/ct_quotation_pk.png) no-repeat center / 14px 10px;
  width: 14px;
  height: 10px;
  position: absolute;
}

/* ========================================================
20231012 rybelsus.php 検索フォーム項目変更
=========================================================*/
#rybelsus .label-kinds2::before {
  background-image: url(../img/ct_icon_kinds2_rybe.png);
  background-size: cover;
}
#rybelsus #form .nayami__list {
  grid-template-columns: 1fr;
  gap: 2px;
}
@media screen and (min-width: 640px) {
  #rybelsus #form .nayami__list {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
  }
}
#rybelsus #form #Refine_Search_Area .nayami__list label {
  justify-content: flex-start;
  position: relative;
  padding-left: 35px;
}
#rybelsus .nayami__list label::before {
  content: "";
  width: 18px;
  height: 18px;
  background-image: url(../img/ct_refineForm_check_deselect.svg);
  background-size: 18px;
  display: inline-block;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  left: 10px;
}
#rybelsus .nayami__list label.selected::before {
  background-image: url(../img/ct_refineForm_check_select.svg);
}
/* 20231026 検索結果のランキング修正 */
#rybelsus .ranking__bnr02,
#medical .ranking__bnr {
  width: 100%;
  margin-top: 10px;
}
.ranking__catch,
#rybelsus .ranking__catch,
#medical .ranking__catch {
  line-height: 1.3;
}
/* 20231208 比較表クリフォアの註釈修正 */
.hikaku__comments{
  margin-left: 20px;
}
/* ========================================================
20240214 yahoo用css追加
=========================================================*/
.rybelsus .hikaku__table td:nth-of-type(1) {
  font-weight: normal;
}
.rybelsus .hikaku__table tr td:first-of-type {
  background: #fff;
}
.rybelsus .hikaku__table tr:last-of-type td:first-of-type .hikaku__table-catch::before {
  display: none;
}
.rybelsus .hikaku__table tr:last-of-type td:first-of-type .hikaku__table-catch::after {
  display: none;
}
.rybelsus .ranking__ttl {
  display: flex;
  justify-content: center;
}
.rybelsus .ranking__list > li:first-child {
  background: #fff;
}