@charset "UTF-8";
/* ========================================================
ベース設定
=========================================================*/
:root {
  /* カラー */
  --Text: #634e4e;
  --Text_blue: #1a0dab;
  --Main: #f4848f;
  --Sub: #fff7f5;
  --Accent: #2fc088;
  --Back: #f7f6f6;
  --Gray: #364048;
  --green01: #3fe4a4;
  --green02: #219b6c;
  --red: #9f0900;
  --yellow: #fff6d2;
  /* 文字サイズ */
  --FontSizePC: 20px;
  /* 1010px(inner+padding*2) 〜 max-screen */
  --FontSizeTab: 1.5841584158vw;
}

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

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

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

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

a {
  font-weight: bold;
  text-decoration: underline;
  color: var(--Text_blue);
}

/* ========================================================
共通パーツ
=========================================================*/
/* デザイン幅 */
.wrapper {
  max-width: 750px;
  margin: 0 auto;
  width: 100%;
}

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

/* 文字装飾 */
.bold {
  font-weight: bold;
}
.pink {
  font-weight: bold;
  color: var(--Main);
}
.green {
  font-weight: bold;
  color: var(--Accent);
}
.body .fontSize--10px {
  font-size: 0.625rem;
}
.body .fontSize--11px {
  font-size: 0.687rem;
}
.body .fontSize--12px {
  font-size: 0.75rem;
}
.body .fontSize--13px {
  font-size: 0.812rem;
}
.body .fontSize--14px {
  font-size: 0.875rem;
}
.body .fontSize--15px {
  font-size: 0.937rem;
}
.body .fontSize--16px {
  font-size: 1rem;
}
.marker {
  background: linear-gradient(transparent 68%, var(--yellow) 68%);
  display: inline;
  font-weight: bold;
}
.notes {
  font-size: 10px;
  margin-top: 4px;
}
.small_notes {
  font-size: 10px;
  vertical-align: top;
}
.notes--fv {
  text-align: right;
  background: var(--Sub);
  width: 100%;
  padding-top: 4px;
  margin: 0 auto;
}
.notes--right {
  text-align: right;
}

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

/* セクション見出し */
.section__ttl--img {
  width: 375px;
  aspect-ratio: 375 / 88;
  position: relative;
  background: #ccc;
  border-top: 1px solid transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 16px;
}

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

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

/* テーブル黒 */
.table--bk {
  table-layout: fixed;
  border-collapse: collapse;
}
.table--bk th {
  font-size: 12px;
  font-weight: normal;
  color: #fff;
  text-align: center;
  background: #634e4e;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 2px 0;
}
.table--bk th + th {
  border-left: 1px solid #fff;
}
.table--bk td {
  font-size: 11px;
  padding: 10px 4px;
  border-bottom: 1px solid #634e4e;
}
.table--bk td + td {
  border-left: 1px solid #634e4e;
}

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

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

/* ========================================================
記事ページ
=========================================================*/
/* マーカー線 */
.page-lower .line {
  position: static;
  width: 100%;
  height: auto;
  background: linear-gradient(to bottom, transparent 50%, var(--yellow) 50%);
  background-repeat: no-repeat;
  background-size: auto;
}
/* インナー */
.testwrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}
.page-lower .testwrap {
  margin-top: 24px;
  margin-bottom: 40px;
}
/* パンくず */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px 0;
  padding: 10px 15px;
}
.breadcrumb--bg-blue {
  background-color: var(--Sub);
}
.breadcrumb__item {
  display: flex;
  align-items: center;
  position: relative;
}
.breadcrumb__item:nth-child(n + 2) {
  padding-left: 21px;
}
.breadcrumb__item:nth-child(n + 2)::before {
  position: absolute;
  top: 50%;
  left: 5px;
  width: 10px;
  height: 10px;
  background-image: url(../img/cm_ico_arrow_right_01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  content: "";
  transform: translateY(-50%);
}
.breadcrumb__icon {
  display: inline-block;
  width: 20px;
}
.breadcrumb__icon img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.breadcrumb__link {
  font-size: 10px;
  font-weight: 400;
}
.breadcrumb__current {
  color: var(--Gray);
  font-size: 11px;
  font-weight: 400;
}

/* タイトル1 */
.ttl1 {
  padding: 18px 15px;
  background-color: var(--Main);
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
}

/* タイトル2 */
.ttl2 {
  border-radius: 10px;
  padding: 10px 13px;
  background-color: var(--Sub);
  color: var(--Main);
  font-size: 18px;
  font-weight: bold;
}
.ttl2 span {
  display: block;
  position: relative;
  padding-left: 38px;
}
.ttl2 span::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 28px;
  mask: url(../img/cm_ico_pen.svg) no-repeat center center / contain;
  background-color: var(--Main);
  content: "";
}

/* タイトル3 */
.ttl3 {
  position: relative;
  border-bottom: 1px dotted var(--Gray);
  padding-left: 12px;
  padding-bottom: 8px;
  color: var(--Main);
  font-size: 15px;
  font-weight: bold;
}
.ttl3::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: calc(100% - 8px);
  background-color: var(--Main);
  content: "";
}

/* テキスト */
.page-lower p:not([class]) {
  font-size: 16px;
}

/* ボタン1 */
.btn1 {
  display: inline-block;
  position: relative;
  border-radius: 20px;
  max-width: 120px;
  width: 100%;
  padding: 9px 20px;
  background-color: var(--Accent);
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.2);
  text-decoration: none;
}
.btn1::after {
  position: absolute;
  top: 50%;
  right: 12px;
  translate: 0 -50%;
  width: 6px;
  height: 7px;
  background-image: url(../img/cm_ico_arrow_right_02.png.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  content: "";
}
/* 小サイズ */
.btn1--sm {
  padding: 10px 14px;
}
.btn1--sm::after {
  right: 5px;
}
/* 大サイズ */
.btn1--lg {
  border-radius: 40px;
  max-width: none;
  padding: 23px 40px;
  font-size: 16px;
  letter-spacing: 0.05em;
  box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.2);
}
.btn1--lg::after {
  right: 18px;
  width: 11px;
  height: 16px;
}

/* ボタン2 */
.btn2 {
  display: inline-block;
  position: relative;
  border-radius: 10px;
  width: 100%;
  padding: 24px 40px;
  background-color: var(--Main);
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
}
.btn2::after {
  position: absolute;
  top: 50%;
  right: 18px;
  translate: 0 -50%;
  width: 11px;
  height: 16px;
  background-image: url(../img/cm_ico_arrow_right_02.png.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  content: "";
}

/* 番号リスト */
.num-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  counter-reset: numlist;
}
.num-list__item {
  position: relative;
  padding-left: 28px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
.num-list__item::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 3px;
  left: 0;
  border-radius: 2px;
  width: 16px;
  height: 16px;
  padding: 2px;
  background-color: var(--Main);
  color: #fff;
  font-family: var(--FontSub);
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  counter-increment: numlist;
  content: counter(numlist);
}

/* ポイントボックス */
.point-box {
  position: relative;
  border-radius: 10px;
  border: 1px solid var(--Main);
  padding: 35px 15px 20px;
  background-color: #fff;
}
.point-box__ttl {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
  border-radius: 10px;
  width: calc(100% - 26px);
  background-color: var(--Main);
  padding: 15px 20px;
  color: #fff;
  font-family: var(--FontSub);
  font-size: 15px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}
.point-box__ttl::after {
  position: absolute;
  bottom: -6px;
  left: 50%;
  translate: -50% 0;
  width: 14px;
  height: 7px;
  background-color: var(--Main);
  content: "";
  clip-path: polygon(50% 7px, 0% 0%, 14px 0%);
}
.point-box__ttl span {
  position: relative;
  padding-left: 30px;
}
.point-box__ttl span::before {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 28px;
  height: 28px;
  background-image: url(../img/cm_ico_light_bulb.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  content: "";
}
.point-box__txt {
  font-size: 14px;
  line-height: 1.5;
}

/* テーブル1 */
.table1 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-radius: 10px;
  border: 1px solid var(--Gray);
  overflow: hidden;
}

.table1__item:nth-child(n + 4) {
  border-top: 1px solid var(--Gray);
}

.table1__item:not(:nth-child(3n + 1)) {
  border-left: 1px solid var(--Gray);
}

.table1__ttl {
  padding: 8px;
  background-color: var(--Sub);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.3;
  text-align: center;
}

.table1__txt {
  border-top: 1px solid var(--Gray);
  padding: 10px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
}

/* テーブル2 */
.table2 {
  display: grid;
  grid-template-columns: 1fr;
  border-radius: 10px;
  border: 1px solid var(--Gray);
  overflow: hidden;
}
.table2__item {
  display: grid;
  grid-template-columns: 110px 1fr;
}
.table2__item:nth-child(n + 2) {
  border-top: 1px solid var(--Gray);
}
.table2__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  background-color: var(--Sub);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.3;
  text-align: center;
}
.table2__txt {
  border-left: 1px solid var(--Gray);
  padding: 10px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
}

/* テーブル3 */
.table3 {
  display: grid;
  grid-template-columns: 1fr;
  border-radius: 10px;
  border: 1px solid var(--Gray);
  overflow: hidden;
}
.table3__content {
  display: grid;
  grid-template-columns: 70px 1fr;
}
.table3__content:nth-child(n + 2) {
  border-top: 1px solid var(--Gray);
}
.table3__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px 8px;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.3;
}
.page-lower .table3__ttl {
  background-color: var(--Sub);
}
.table3__desc {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  border-left: 1px solid var(--Gray);
  padding: 10px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
}
.table3__weeks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
}
.table3__week {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  padding: 5px 10px;
  background-color: #e2e2e2;
  color: var(--Gray);
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.table3__week--active {
  background-color: #ffdc66;
  color: var(--Main);
}
.table3__time {
  font-size: 12px;
}
.table3__attention {
  color: var(--Gray);
  font-size: 10px;
}
.table3__list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
}
.table3__item {
  position: relative;
  font-size: 12px;
  font-weight: 400;
}
.table3__item img {
  position: absolute;
  top: 2px;
  left: 0;
  width: 12px;
  height: 12px;
}
.table3__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 4px;
}
.table3__tag {
  border-radius: 4px;
  padding: 3px 6px;
  background-color: var(--Sub);
  color: var(--Main);
  font-size: 10px;
  line-height: 1;
  text-align: center;
}
/* テーブル4 */
.page-lower .table4__ttl {
  background-color: var(--Sub);
}

/* テーブルリスト */
.table-list1 {
  display: grid;
  grid-template-columns: 110px 130px repeat(2, 1fr) 135px 110px 110px;
  grid-template-rows: 1fr;
  border: 1px solid var(--Gray);
  border-radius: 10px;
  overflow: clip;
}

.table-list2 {
  display: grid;
  grid-template-columns: 139px 144px 1fr 76px 106px 131px;
  grid-template-rows: 1fr;
  border: 1px solid var(--Gray);
  border-radius: 10px;
  overflow: clip;
}

.dai2 .table-list2,
.kisotsu .table-list2,
.mikeiken .table-list2 {
  grid-template-columns: 140px 130px 1fr 76px 106px 88px 1fr;
}

.table-list1__item {
  display: grid;
  grid-template-columns: 1fr;
  /* grid-template-rows: 38px repeat(5, 1fr); */
}
.table-list1__item:not(:last-child) {
  border-right: 1px solid var(--Gray);
}
.table-list1__item-ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2px;
  height: 44px;
  padding: 2px;
  background-color: var(--Sub);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.3;
  text-align: center;
}
.table-list1__sort-btn {
  display: inline-block;
  position: relative;
  border: 1px solid var(--Main);
  padding: 8px 17px;
}
.table-list1__sort-btn::before {
  position: absolute;
  top: -1px;
  left: 50%;
  translate: -50% 0;
  border-bottom: 2px solid var(--Main);
  border-right: 2px solid var(--Main);
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
  content: "";
  transition: all 0.3s;
}
.table-list1__sort-btn.is-reverse::before {
  top: 6px;
  transform: rotate(-135deg);
}
.table-list1__item-desc {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-top: 1px solid var(--Gray);
  min-height: 78px;
  padding: 2px 6px;
  background-color: #fff;
}
.table-list1__item-desc--lg {
  padding: 3px 5px;
}
.table-list1__item-desc--bg {
  background-color: var(--Yellow);
}
.table-list1__item-logo-link {
  display: block;
  margin-inline: auto;
}
.table-list1__item-logo {
  display: block;
  margin-inline: auto;
  width: 100%;
  height: auto;
  max-height: 38px;
}
.table-list1__item-logo--sm {
  max-width: 80px;
}
.table-list1__item-link {
  display: block;
  margin-top: 4px;
  color: #0a50a1;
  font-size: 10px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  text-decoration: underline;
}
.table-list1__item-link--lg {
  margin-top: 10px;
}
.table-list1__item-ico {
  display: block;
  margin-inline: auto;
  width: 35px;
  height: 35px;
}
.table-list1__item-txt {
  font-size: 12px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
}
.table-list1__item-btn-lead {
  font-size: 10px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
}
.table-list1__item-btn {
  margin-top: 4px;
}

.table-list1--hikaku {
  grid-template-columns: 105px 90px 100px 1fr 1fr 1fr 98px 110px;
  border-radius: 0;
  position: relative;
}
.table-list1--hikaku .table-list1__item {
  /* grid-template-rows: 44px repeat(9, 1fr); */
}
.table-list1--hikaku .table-list1__item:first-of-type {
  position: sticky;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}
.table-list1--hikaku .table-list1__item-ttl {
  flex-direction: column;
}

/* カード1 */
.card1 {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
  gap: 0;
  border-radius: 10px;
  padding: 8px;
}
.card1--first {
  background-color: #f8f0bd;
}
.card1--second {
  background-color: #eaf0f7;
}
.card1--third {
  background-color: #f9f9f9;
}
.card1__rank {
  display: block;
  margin-inline: auto;
  width: 36px;
  height: auto;
}
.card1__logo {
  display: block;
  margin: 4px auto 0;
  width: 100px;
  height: 100%;
  aspect-ratio: 100 / 83;
}
.card1__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 6px;
  color: #0a50a1;
  font-size: 14px;
  line-height: 1.3;
  font-weight: bold;
  text-align: center;
  text-decoration: underline;
}
.card1__txt {
  margin-top: 6px;
  color: var(--Main);
  font-size: 12px;
  line-height: 1.3;
}
.card1--first .card1__txt {
  color: var(--Accent);
  font-weight: bold;
}
.card1__btn {
  margin-top: 8px;
  text-align: center;
}

/* アコーディオン1 */
.accordion1 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.accordion1__item {
  border: 1px solid var(--Gray);
  border-radius: 4px;
  background-color: var(--Sub);
}
.accordion1__ttl {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  padding: 6px 45px 6px 15px;
  cursor: pointer;
}
.accordion1__ttl::before {
  position: absolute;
  top: 50%;
  right: 22px;
  translate: 0 -50%;
  width: 2px;
  height: 16px;
  background-color: var(--Accent);
  content: "";
  transition: opacity 0.3s;
}
.accordion1__ttl.is-open::before {
  opacity: 0;
}
.accordion1__ttl::after {
  position: absolute;
  top: 50%;
  right: 15px;
  translate: 0 -50%;
  width: 16px;
  height: 2px;
  background-color: var(--Accent);
  content: "";
}
.accordion1__ttl img {
  width: 30px;
  height: 30px;
  object-fit: cover;
}
.accordion1__ttl > span {
  display: block;
  color: var(--Main);
  font-size: 14px;
  font-weight: bold;
  line-height: 1.3;
}
.accordion1__desc {
  display: none;
  position: relative;
  margin-top: 6px;
  padding: 8px 15px 15px;
  font-size: 12px;
  line-height: 1.5;
}
.accordion1__desc::before {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  width: calc(100% - 30px);
  border-top: 1px dotted var(--Gray);
  content: "";
}
/* アコーディオン1 difference */
.accordion1--difference .accordion1__ttl span {
  font-size: 13px;
}
.accordion1--difference .accordion1__ttl .accent {
  font-size: 15px;
}
.accordion1--difference .accordion1__desc {
  font-size: 13px;
}
.accordion1--difference .accordion1__ttl img {
  width: 28px;
  height: 28px;
  object-fit: cover;
}

/* アコーディオン2 */
.accordion2__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding-inline: 15px;
}
.accordion2__item {
  border-bottom: 1px dotted var(--Gray);
}
.accordion2__ttl {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  padding: 6px 20px 6px 0;
  cursor: pointer;
}
.accordion2__ttl::before {
  position: absolute;
  top: 50%;
  right: 7px;
  translate: 0 -50%;
  width: 2px;
  height: 16px;
  background-color: var(--Main);
  content: "";
  transition: opacity 0.3s;
}
.accordion2__ttl.is-open::before {
  opacity: 0;
}
.accordion2__ttl::after {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: 16px;
  height: 2px;
  background-color: var(--Main);
  content: "";
}
.accordion2__ttl img {
  width: 28px;
  height: 28px;
  object-fit: cover;
}
.accordion2__ttl > span {
  display: block;
  color: var(--Main);
  font-size: 13px;
  font-weight: bold;
  line-height: 1.3;
}
.accordion2__ttl .accent {
  font-size: 15px;
}
.accordion2__desc {
  display: none;
  position: relative;
  padding-block: 8px 15px;
  font-size: 13px;
  line-height: 1.5;
}

/* 口コミ */
.voice-list {
  display: grid;
  grid-template-columns: 1fr;
}
.voice-list__item {
  display: grid;
  grid-template-areas:
    "img cont"
    "txt txt";
  grid-template-columns: 50px 1fr;
  align-items: center;
  gap: 6px 10px;
  padding-block: 10px;
}
.voice-list__item:nth-child(n + 2) {
  border-top: 1px solid #e2e2e2;
}
.voice-list__img {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  grid-area: img;
}
.voice-list__img img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}
.voice-list__caption {
  font-size: 14px;
  text-align: center;
}
.voice-list__content {
  grid-area: cont;
}
.voice-list__ttl {
  color: var(--Main);
  font-size: 14px;
  font-weight: bold;
  line-height: 1.3;
}
.voice-list__star {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
}
.voice-list__score {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  padding: 3px 4px;
  background-color: var(--Main);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
}
.voice-list__star img {
  width: 86px;
  height: auto;
}
.voice-list__txt {
  grid-area: txt;
  font-size: 13px;
  line-height: 1.5;
}

/* ========================================================
ヘッダー
=========================================================*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  border-bottom: 1px solid #e2e2e2;
  width: 100%;
  height: 50px;
  background-color: #fff;
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: inherit;
  padding-inline: 8px;
}
.header__ttl {
  width: 150px;
}
.header__ttl-link {
  display: block;
}
.header__ttl img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.header__btn {
  display: block;
  position: relative;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  background-color: var(--Main);
  cursor: pointer;
  transition: transform 0.3s;
}
.header__btn-top,
.header__btn-center,
.header__btn-bottom {
  position: relative;
  display: block;
  width: 18px;
  height: 2px;
  margin-right: auto;
  margin-left: auto;
  transition: all 0.3s;
  border-radius: 5px;
  background-color: #fff;
}
.header__btn-top {
  top: 0;
}
.header__btn-center {
  margin-top: 4px;
  margin-bottom: 4px;
}
.header__btn-bottom {
  top: 0;
}
.header__btn.is-open .header__btn-top {
  top: 6px;
  transform: rotate(-45deg);
  background-color: #fff;
}
.header__btn.is-open .header__btn-center {
  opacity: 0;
}
.header__btn.is-open .header__btn-bottom {
  top: -6px;
  transform: rotate(45deg);
  background-color: #fff;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}

/* SPメニュー */
.menu {
  position: fixed;
  top: 50px;
  right: 0;
  z-index: 100;
  translate: 105% 0;
  width: 300px;
  height: calc(100svh - 50px);
  background-color: var(--Sub);
  overflow: auto;
  transition: translate 0.3s;
}
.menu.is-open {
  translate: 0 0;
}
.menu__list {
  display: grid;
  grid-template-columns: 1fr;
}
.menu__item {
  border-bottom: 1px dotted var(--Main);
}
.menu__btn {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  width: 100%;
  padding: 15px 35px 15px 15px;
  color: var(--Main);
  font-size: 16px;
  font-weight: bold;
}
.menu__btn::before {
  position: absolute;
  top: 50%;
  right: 15px;
  translate: 0 -50%;
  width: 16px;
  height: 2px;
  background-color: var(--Main);
  content: "";
}
.menu__btn::after {
  position: absolute;
  top: 50%;
  right: 22px;
  translate: 0 -50%;
  width: 2px;
  height: 16px;
  background-color: var(--Main);
  content: "";
  transition: opacity 0.3s;
}
.menu__btn.is-open::after {
  opacity: 0;
}
.menu__btn .yellow {
  display: inline-block;
  margin-right: 2px;
  padding: 2px;
  background-color: #ffdc66;
}
.menu__age {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.menu__jouken {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.menu__type {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.menu__sub-list1 {
  display: none;
}
.menu__sub-item1 {
  border-bottom: 1px solid #e2e2e2;
}
.menu__sub-item1:last-child {
  border-bottom: none;
}
.menu__sub-list2 {
  display: none;
  padding: 0 15px 12px;
}
.menu__sub-list1 .menu__sub-list2 {
  background-color: #fff;
}
.menu__sub-list2--open {
  display: block;
}
.menu__sub-item2 + .menu__sub-item2 {
  margin-top: 6px;
}
.menu__link {
  display: block;
  position: relative;
  border: 1px solid var(--Main);
  border-radius: 4px;
  padding: 15px 35px 15px 15px;
  background-color: #fff;
  color: var(--Main);
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-decoration: none;
}
.menu__link::after {
  position: absolute;
  top: 50%;
  right: 15px;
  translate: 0 -50%;
  width: 20px;
  height: 20px;
  background-image: url(../img/cm_ico_arrow_right_05.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  content: "";
}
.menu__sub-btn {
  display: block;
  position: relative;
  width: 100%;
  padding: 15px 35px 15px 15px;
  background-color: #fff;
  color: var(--Main);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: left;
}
.menu__sub-btn::after {
  position: absolute;
  top: 50%;
  right: 18px;
  translate: 0 -50%;
  width: 10px;
  height: 12px;
  background-image: url(../img/cm_ico_arrow_bottom_03.png.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  content: "";
  transition: transform 0.3s;
}
.menu__sub-btn.is-open::after {
  transform: rotate(180deg);
}
.menu__search {
  display: flex;
  align-items: center;
  gap: 11px;
  position: relative;
  width: 100%;
  padding: 16px 35px 16px 18px;
  line-height: 1.2;
  text-decoration: none;
}
.menu__search::after {
  position: absolute;
  top: 50%;
  right: 13px;
  translate: 0 -50%;
  width: 20px;
  height: 20px;
  background-image: url(../img/cm_ico_arrow_right_05.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  content: "";
}
.menu__search-ico {
  font-size: 22px;
}
.menu__search-txt {
  color: var(--Main);
  font-size: 15px;
  font-weight: bold;
}
.menu-bg {
  visibility: hidden;
  position: fixed;
  top: 50px;
  left: 0;
  right: 0;
  z-index: 99;
  width: 100%;
  height: calc(100svh - 50px);
  background-color: rgba(0, 0, 0, 0.5);
  transition: all 0.3s;
  opacity: 0;
}
.menu-bg.is-open {
  visibility: visible;
  opacity: 1;
}

/* 広告表記 */
.adTxt {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 48px;
  translate: 0 -50%;
  gap: 4px;
  text-align: right;
}
.adTxt__txt {
  font-size: 10px;
  text-align: right;
}
.adTxt__pr {
  border: 1px solid var(--Text); /* 枠色 変数名がTextでない場合は変更 */
  padding: 2px 8px;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.2;
}

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

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

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

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

/* ========================================================
mv
=========================================================*/
.mv {
  margin-inline: auto;
  width: 100%;
}

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

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

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

/* ========================================================
比較表BEST3
=========================================================*/
.comparisonBest3 {
  background: var(--Sub);
  padding-top: 14px;
  padding-bottom: 15px;
}
.inner.comparisonBest3__inner {
  padding: 0;
  margin-top: 16px;
  overflow-x: scroll;
  padding-bottom: 15px;
}
.comparisonBest3__table {
  border-top: 2px solid #634e4e;
  border-left: 2px solid #634e4e;
  border-right: 2px solid #634e4e;
  margin-top: 0;
  margin-left: 15px;
  position: relative;
}
.comparisonBest3__table::after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 15px;
  height: 1px;
}
.comparisonBest3__table th,
.comparisonBest3__table td {
  text-align: center;
}
.comparisonBest3__table th {
  font-size: 10px;
  width: 80px;
}
.comparisonBest3__table td {
  width: 200px;
  padding: 10px;
}
.comparisonBest3__table-logo {
  width: 100%;
  height: 55px;
  padding: 8px;
  object-fit: contain;
}
.comparisonBest3__table-txtLInk {
  font-size: 14px;
  display: inline-block;
}
.comparisonBest3__table-icon {
  width: auto;
  height: 32px;
  margin: 0 auto 5px;
}
.comparisonBest3__table > tbody > tr > td:nth-of-type(1) {
  font-weight: bold;
  background: var(--yellow);
}
.comparisonBest3__table > tbody > tr:last-child > th,
.comparisonBest3__table > tbody > tr:last-child > td {
  border-bottom: 2px solid #634e4e;
}

.comparisonBest3__table .ctaBtn--s {
  margin-top: 4px;
}

/* ========================================================
転職サイト選びのポイント
=========================================================*/
.point {
  background: var(--Back);
  position: relative;
  margin-top: 16px;
  padding-bottom: 17px;
}
.point__inner {
  padding: 0;
}
.point__list {
  /* display: flex;
  justify-content: flex-start; */
  display: grid;
  grid-template-columns: repeat(3, 240px);
  grid-template-rows: 143px auto auto;
  column-gap: 24px;
  align-items: center;
  vertical-align: middle;
  padding: 42px 32px 16px;
  overflow-x: scroll;
}
.point__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  background: #fff;
  border-radius: 25px 0 25px 0;
  box-shadow: 0px 0px 20px rgb(99, 78, 78, 0.1);
  width: 100%;
  padding: 15px;
  position: relative;
}
.point__item-point {
  width: 45px;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
}
.point__item-ttl {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.33;
  text-align: center;
  letter-spacing: 0.05em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.point__item-img {
  width: auto;
  height: 128px;
  margin: 0 auto;
  border-radius: 50%;
}
.point__item-txt {
  font-size: 14px;
  line-height: 1.7;
}

/* ========================================================
おすすめNo1
=========================================================*/
.recommend {
  padding-top: 16px;
  padding-bottom: 16px;
}
.recommend__item {
  background: 0.625rem;
  border: 2px solid var(--Text);
  border-radius: 10px;
  position: relative;
  margin-top: 30px;
}
.recommend__item + .recommend__item {
  margin-top: 45px;
}
/* .recommend__item::before {
  content: "";
  display: inline-block;
  background: #fff;
  width: 5.9375rem;
  height: 3px;
  position: absolute;
  top: -2px;
  left: 50%;
  transform: translateX(-50%);
} */
.recommend__item-ttl {
  font-size: 16px;
  text-align: center;
  padding: 0 15px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.recommend__item-rank {
  width: 60px;
  height: auto;
  flex-shrink: 0;
}
.recommend__item-contents {
  background: var(--Sub);
  padding: 15px;
  border-radius: 9px;
}
.recommend__item:first-child .recommend__item-contents {
  background: var(--yellow);
}
.recommend__item-bnr {
  border: 1px solid var(--Text);
}
.recommend__item-table {
  width: calc(100% + 30px);
  margin: 15px -15px 0;
}
.recommend__item-table td {
  font-weight: bold;
  text-align: center;
  vertical-align: top;
}
.recommend__item-table td small {
  display: inline-block;
  font-size: 10px;
  font-weight: normal;
  line-height: 1.3;
  margin-top: 2px;
}
.recommend__item-table-review {
  padding: 0 10px;
}
.recommend__item-table-review-item {
  display: flex;
  align-items: flex-start;
  gap: 5px;
}
.recommend__item-table-review-item:nth-child(n + 2) {
  margin-top: 10px;
}
.recommend__item-table-review-icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}
.recommend__item-table-review-name {
  font-size: 11px;
  line-height: 1;
  text-align: left;
  /* margin-top: 4px; */
}
.recommend__item-table-review-txt {
  font-size: 10px;
  font-weight: normal;
  text-align: left;
  margin-top: 3px;
}
.recommend__item-table-review-notes {
  font-size: 10px;
  text-align: right;
  font-weight: normal;
  padding-right: 8px;
  margin-top: 8px;
}
.recommend__item-icon {
  width: auto;
  height: 30px;
  margin: 0 auto 6px;
}
.recommend__item-ctaArea_catchWrap {
  display: grid;
  grid-template-columns: 90px auto;
  gap: 10px;
}
.recommend__item-ctaArea_catch {
  grid-column: 2;
  font-size: 12px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  margin-top: 0.5rem;
}
.recommend__item-ctaArea_catch::before {
  content: "";
  display: inline-block;
  background: var(--Text);
  width: 1px;
  height: 0.8em;
  transform: rotate(-35deg);
  margin-top: 0.3em;
}
.recommend__item-ctaArea_catch::after {
  content: "";
  display: inline-block;
  background: var(--Text);
  width: 1px;
  height: 0.8em;
  transform: rotate(35deg);
  margin-top: 0.3em;
}
.recommend__item-ctaArea_wrap {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 10px;
  margin-top: 0.312rem;
}
.recommend__item-ctaArea_toRank {
  font-size: 0.75rem;
  font-weight: bold;
  color: var(--Text);
  text-align: center;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--Text);
  border-radius: 5px;
  padding: 15px 0 23px;
  position: relative;
}
.recommend__item-ctaArea_toRank::after {
  content: "";
  display: inline-block;
  border-bottom: 2px solid var(--Text);
  border-right: 2px solid var(--Text);
  width: 7px;
  height: 7px;
  position: absolute;
  top: 64%;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}
.recommend__item-ctaArea_wrap .ctaBtn {
  font-size: 0.875rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0.4375rem 15%;
  margin-top: 0;
}
.recommend__item-ctaArea_wrap .ctaBtn::after {
  width: 0.625rem;
  height: 0.625rem;
}
.recommend__item-ctaArea_wrap .ctaBtn .fontSize--10px {
  font-weight: normal;
}

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

#rank01 .ranking__name {
  background: var(--yellow);
}

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

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

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

/* ポイント */
.ranking__point {
  margin-top: 16px;
  padding-inline: 15px;
}
.ranking__point-ttl {
  position: relative;
  padding-left: 20px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
}
.ranking__point-ttl::before {
  position: absolute;
  top: 3px;
  left: 0;
  border-left: 2px solid var(--Accent);
  border-bottom: 2px solid var(--Accent);
  width: 0.812rem;
  height: 0.437rem;
  transform: rotate(-45deg);
  content: "";
}
.ranking__point-list {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 8px;
}
.ranking__point-item {
}
.ranking__point-item-head {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 6px;
  border-top: 1px solid var(--Text);
  border-bottom: 1px solid var(--Text);
  padding: 6px 12px;
  background-color: var(--Back);
}
.ranking__point-item-num {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: var(--Text);
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
}
.ranking__point-item-ttl {
  font-size: 14px;
  font-weight: bold;
}
.ranking__point-item-body {
  padding: 8px 5px;
}
.ranking__point-item-txt {
  font-size: 14px;
  line-height: 1.7;
}
.ranking__ctaArea {
  text-align: center;
  background: var(--Sub);
  padding: 1.25rem 0.937rem 0.937rem;
  margin-top: 24px;
}
#rank01 .ranking__ctaArea {
  background: var(--yellow);
}
.ranking__ctaArea-catch {
  font-size: 1rem;
  font-weight: bold;
  display: inline;
  background: linear-gradient(transparent 80%, #fff 80%);
}
.ranking__ctaArea-logo {
  height: 4.375rem;
  width: 280px;
  object-fit: contain;
  padding: 0.937rem;
  margin-top: 4px;
  margin-left: auto;
  margin-right: auto;
}
.ranking__ctaArea .ctaBtn {
  font-size: 1rem;
  padding-top: 15px;
  padding-bottom: 15px;
  margin-top: 4px;
}
.ranking__ctaArea .ctaBtn::after {
  width: 0.625rem;
  height: 0.625rem;
}

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

/* タブ関連 */
.ranking__tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  position: relative;
  margin-top: 20px;
  padding-inline: 15px;
  align-items: flex-end;
}
.ranking__tabs::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  width: calc(100% - 30px);
  height: 1px;
  background-color: var(--Main);
  content: "";
}
.ranking__tab {
  position: relative;
  z-index: 2;
  border-radius: 6px 0 0 0;
  padding: 7px;
  background-color: #c2c2c2;
  width: 110px;
  height: 30px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}
.ranking__tab.is-active {
  border-top: 3px solid var(--Main);
  border-left: 3px solid var(--Main);
  border-right: 1px solid var(--Main);
  background-color: #fff;
  color: var(--Main);
  position: relative;
  width: 119px;
  height: 42px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.ranking__tab.is-active[data-id="ranking1-rev"] p,
.ranking__tab.is-active[data-id="ranking2-rev"] p,
.ranking__tab.is-active[data-id="ranking3-rev"] p,
.ranking__tab.is-active[data-id="ranking4-rev"] p,
.ranking__tab.is-active[data-id="ranking5-rev"] p,
.ranking__tab.is-active[data-id="ranking6-rev"] p,
.ranking__tab.is-active[data-id="ranking7-rev"] p,
.ranking__tab.is-active[data-id="ranking8-rev"] p,
.ranking__tab.is-active[data-id="ranking9-rev"] p,
.ranking__tab.is-active[data-id="ranking10-rev"] p,
.ranking__tab.is-active[data-id="ranking11-rev"] p,
.ranking__tab.is-active[data-id="ranking12-rev"] p,
.ranking__tab.is-active[data-id="ranking13-rev"] p,
.ranking__tab.is-active[data-id="ranking14-rev"] p,
.ranking__tab.is-active[data-id="ranking15-rev"] p {
  display: flex;
  justify-content: center;
  padding-left: 5px;
}

/* 総合評価（ranking1-eva）だけに適用 */
.ranking__tab.is-active[data-id="ranking1-eva"] p,
.ranking__tab.is-active[data-id="ranking2-eva"] p,
.ranking__tab.is-active[data-id="ranking5-eva"] p,
.ranking__tab.is-active[data-id="ranking6-eva"] p,
.ranking__tab.is-active[data-id="ranking7-eva"] p,
.ranking__tab.is-active[data-id="ranking8-eva"] p,
.ranking__tab.is-active[data-id="ranking9-eva"] p,
.ranking__tab.is-active[data-id="ranking10-eva"] p,
.ranking__tab.is-active[data-id="ranking11-eva"] p,
.ranking__tab.is-active[data-id="ranking12-eva"] p,
.ranking__tab.is-active[data-id="ranking13-eva"] p,
.ranking__tab.is-active[data-id="ranking14-eva"] p,
.ranking__tab.is-active[data-id="ranking15-eva"] p {
  display: flex;
  justify-content: center;
  padding-left: 6px;
}

.ranking__tab.is-active[data-id="ranking3-eva"] p,
.ranking__tab.is-active[data-id="ranking4-eva"] p {
  display: flex;
  justify-content: center;
  padding-left: 4px;
}

/* 特徴（ranking1-fea）だけに適用 */
.ranking__tab.is-active[data-id="ranking1-fea"] p,
.ranking__tab.is-active[data-id="ranking2-fea"] p,
.ranking__tab.is-active[data-id="ranking5-fea"] p,
.ranking__tab.is-active[data-id="ranking6-fea"] p,
.ranking__tab.is-active[data-id="ranking7-fea"] p,
.ranking__tab.is-active[data-id="ranking8-fea"] p,
.ranking__tab.is-active[data-id="ranking9-fea"] p,
.ranking__tab.is-active[data-id="ranking10-fea"] p,
.ranking__tab.is-active[data-id="ranking11-fea"] p,
.ranking__tab.is-active[data-id="ranking12-fea"] p,
.ranking__tab.is-active[data-id="ranking13-fea"] p,
.ranking__tab.is-active[data-id="ranking14-fea"] p,
.ranking__tab.is-active[data-id="ranking15-fea"] p {
  display: flex;
  justify-content: center;
  padding-left: 5px;
}

.ranking__tab.is-active[data-id="ranking3-fea"] p,
.ranking__tab.is-active[data-id="ranking4-fea"] p {
  display: flex;
  justify-content: center;
  padding-left: 5px;
}

.ranking__tab.is-active::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 11px;
  background-image: url(../img/ct_ico_tab_choise.svg);
  width: 16px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
}
.ranking__tab[data-id="ranking1-eva"].is-active::after,
.ranking__tab[data-id="ranking2-eva"].is-active::after,
.ranking__tab[data-id="ranking5-eva"].is-active::after,
.ranking__tab[data-id="ranking6-eva"].is-active::after,
.ranking__tab[data-id="ranking7-eva"].is-active::after,
.ranking__tab[data-id="ranking8-eva"].is-active::after,
.ranking__tab[data-id="ranking9-eva"].is-active::after,
.ranking__tab[data-id="ranking10-eva"].is-active::after,
.ranking__tab[data-id="ranking11-eva"].is-active::after,
.ranking__tab[data-id="ranking12-eva"].is-active::after,
.ranking__tab[data-id="ranking13-eva"].is-active::after,
.ranking__tab[data-id="ranking14-eva"].is-active::after,
.ranking__tab[data-id="ranking15-eva"].is-active::after {
  left: 7px; /* ←この値だけ他と変える */
}

.ranking__tab[data-id="ranking3-eva"].is-active::after,
.ranking__tab[data-id="ranking4-eva"].is-active::after {
  left: 8px;
}

.ranking__tab[data-id="ranking1-fea"].is-active::after,
.ranking__tab[data-id="ranking2-fea"].is-active::after,
.ranking__tab[data-id="ranking5-fea"].is-active::after,
.ranking__tab[data-id="ranking6-fea"].is-active::after,
.ranking__tab[data-id="ranking7-fea"].is-active::after,
.ranking__tab[data-id="ranking8-fea"].is-active::after,
.ranking__tab[data-id="ranking9-fea"].is-active::after,
.ranking__tab[data-id="ranking10-fea"].is-active::after,
.ranking__tab[data-id="ranking11-fea"].is-active::after,
.ranking__tab[data-id="ranking12-fea"].is-active::after,
.ranking__tab[data-id="ranking13-fea"].is-active::after,
.ranking__tab[data-id="ranking14-fea"].is-active::after,
.ranking__tab[data-id="ranking15-fea"].is-active::after {
  left: 16px; /* ←この値だけ他と変える */
}

.ranking__tab[data-id="ranking3-fea"].is-active::after,
.ranking__tab[data-id="ranking4-fea"].is-active::after {
  left: 21px;
}

/* hoikushiページだけ位置変更 */
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking1-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking2-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking5-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking7-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking9-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking12-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking13-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking15-fea"].is-active::after {
  left: 21px; /* hoikushiだけ別位置に */
}

body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking3-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking4-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking6-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking8-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking10-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking11-fea"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking14-fea"].is-active::after {
  left: 20px;
}

/* hoikushiページだけ位置変更 */
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking1-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking2-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking5-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking7-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking9-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking12-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking13-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking15-eva"].is-active::after {
  left: 7px; /* hoikushiだけ別位置に */
}

body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking3-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking4-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking6-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking8-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking10-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking11-eva"].is-active::after,
body.result_page.ed.hoikushi
  .ranking__tab[data-id="ranking14-eva"].is-active::after {
  left: 9px;
}

body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking1-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking2-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking3-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking4-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking5-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking6-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking7-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking8-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking9-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking10-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking11-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking12-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking13-rev"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking14-rev"] p,
body.result_page.ed.hoikushi
  .ranking__tab.is-active[data-id="ranking15-rev"]
  p {
  display: flex;
  justify-content: center;
  padding-left: 6px;
}

body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking1-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking2-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking5-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking6-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking7-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking8-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking9-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking10-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking11-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking12-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking13-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking14-eva"] p,
body.result_page.ed.hoikushi
  .ranking__tab.is-active[data-id="ranking15-eva"]
  p {
  display: flex;
  justify-content: center;
  padding-left: 6px;
}

body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking3-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking4-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking6-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking8-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking10-eva"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking11eva"] p,
body.result_page.ed.hoikushi
  .ranking__tab.is-active[data-id="ranking14-eva"]
  p {
  position: absolute;
  left: 30px;
}

body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking1-fea"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking2-fea"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking5-fea"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking6-fea"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking7-fea"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking8-fea"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking9-fea"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking10-fea"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking11-fea"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking12-fea"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking13-fea"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking14-fea"] p,
body.result_page.ed.hoikushi
  .ranking__tab.is-active[data-id="ranking15-fea"]
  p {
  display: flex;
  justify-content: center;
  padding-left: 10px;
}

body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking3-fea"] p,
body.result_page.ed.hoikushi .ranking__tab.is-active[data-id="ranking4-fea"] p {
  position: absolute;
  left: 42px;
}

.ranking__evaluation {
  display: none;
  padding-inline: 15px;
}
.ranking__evaluation.is-active {
  display: block;
}
.ranking__table1 {
  margin-top: 8px;
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}
.ranking__table1-row {
  border-top: 1px solid var(--Text);
}
.ranking__table1-row:last-child {
  border-bottom: 1px solid var(--Text);
}
.ranking__table1-ttl {
  border-left: none;
  width: 84px;
  background-color: #f7f6f6;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}
.ranking__table1-data {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border-left: 1px solid var(--Text);
  padding: 10px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.ranking__table-star {
  width: 80px;
  object-fit: contain;
}
.ranking__table-score {
  color: var(--Text);
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
}
.ranking__table-icon {
  width: 24px;
}
.ranking__table-txt {
  display: inline-block;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.ranking__feature {
  display: none;
  margin-top: 8px;
  padding-inline: 15px;
}
.ranking__feature.is-active {
  display: block;
}
.ranking__feature-bottom {
  margin-top: 12px;
}
.ranking__table1-employments {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
}
.ranking__table1-employment {
  display: inline-block;
  border-radius: 3px;
  padding: 5px 2px;
  width: 62px;
  background-color: var(--Text);
  color: #fff;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
.ranking__table1-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  padding-inline: 10px;
}
.ranking__table1-item {
  display: flex;
  align-items: center;
  gap: 2px;
}
.ranking__table1-item-img {
  width: 14px;
}
.ranking__table1-item-txt {
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.ranking__table2 {
  margin-top: 8px;
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}
.ranking__table2-row {
  border-top: 1px solid var(--Text);
}
.ranking__table2-row:last-child {
  border-bottom: 1px solid var(--Text);
}
.ranking__table2-row *:first-child {
  border-left: none;
}
.ranking__table2-row *:last-child {
  border-right: none;
}
.ranking__table2-ttl {
  border-left: 1px solid var(--Text);
  padding: 6px;
  background-color: #f7f6f6;
  font-size: 12px;
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
}
.ranking__table2-data {
  border-left: 1px solid var(--Text);
  padding: 10px;
}
.ranking__table2-icon {
  display: block;
  margin-inline: auto;
  width: 25px;
  object-fit: contain;
}
.ranking__table2-num {
  margin-top: 4px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
}
.ranking__review {
  display: none;
  margin-top: 8px;
  padding-inline: 15px;
}
.ranking__review-head {
  color: var(--Text);
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.ranking__review-attention {
  margin-top: 6px;
  color: var(--Text);
  font-size: 10px;
  line-height: 1;
  text-align: center;
}
.ranking__review.is-active {
  display: block;
}
.ranking__review-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  margin-top: 8px;
}
.ranking__review-item {
  display: grid;
  grid-template-columns: 60px 1fr;
  align-items: center;
  gap: 8px;
  border-radius: 15px 0 15px 0;
  padding: 13px 18px;
  box-shadow: 0 0 20px 0 rgba(99, 78, 78, 0.1);
}
.ranking__review-icon img {
  display: block;
  margin-inline: auto;
  width: 46px;
  object-fit: contain;
}
.ranking__review-age {
  margin-top: 6px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.ranking__review-ttl {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
}
.ranking__review-txt {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}

/* ========================================================
比較表
=========================================================*/
.comparison {
  padding-bottom: 16px;
  padding-top: 16px;
}
.inner.comparison__inner {
  padding: 0;
  padding-bottom: 16px;
  margin-top: 16px;
  overflow-x: scroll;
}
.comparison__table {
  border-top: 2px solid var(--Text);
  border-left: 2px solid var(--Text);
  border-right: 2px solid var(--Text);
  width: 640px;
  margin-top: 0;
  margin-left: 15px;
  position: relative;
}
.comparison__table::after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 15px;
  height: 1px;
}
.comparison__table th {
  padding: 5px;
}
.comparison__table > thead > tr > th:nth-child(1) {
  width: 22%;
}
.comparison__table > thead > tr > th:nth-child(2) {
  width: 27%;
}
.comparison__table > thead > tr > th:nth-child(3) {
  width: 17%;
}
.comparison__table > thead > tr > th:nth-child(4) {
  width: 34%;
}
.comparison__table td {
  vertical-align: top;
}
.comparison__table > tbody > tr:nth-child(1) > td {
  background: var(--yellow);
}
.comparison__table > tbody > tr > td:nth-child(1) {
  vertical-align: middle;
}
.comparison__table > tbody > tr > td:nth-child(2) {
  position: relative;
  padding-bottom: 52px;
}
.comparison__table .ctaBtn--s {
  width: calc(100% - 20px);
  position: absolute;
  left: 10px;
  bottom: 10px;
}
.comparison__table-logo {
  height: 50px;
  max-width: 100%;
  object-fit: contain;
  padding: 10px 0;
  margin-left: auto;
  margin-right: auto;
}
.comparison__table-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
.comparison__table-icon img {
  width: 50px;
}
.comparison__table-icon > div {
  font-size: 10px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  background: var(--Main);
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  opacity: 0.4;
}
.comparison__table-icon > div.on {
  opacity: 1;
}
.comparison__table-txtLink {
  font-size: 12px;
  text-align: center;
  display: flex;
  justify-content: center;
  margin-top: 10px;
  margin-left: -5px;
  margin-right: -5px;
}
.comparison__table > tbody > tr:last-child > th,
.comparison__table > tbody > tr:last-child > td {
  border-bottom: 2px solid var(--Text);
}

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

/* ========================================================
絞り込み検索フォーム
=========================================================*/
.Refine_Search {
  margin: 20px auto 0;
  background-color: var(--Sub);
  padding: 16px 0 32px;
  border-top: 3px solid var(--Main);
  border-bottom: 3px solid var(--Main);
}

.Refine_Search .inner {
  padding: 0;
}

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

.Refine_Search_ttl img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

#re_form {
  margin-top: 40px;
  padding: 0 0 20px;
  background-color: var(--Sub);
}

#re_form .section__ttl {
  width: 180px;
  margin: 0 auto;
  padding-top: 32px;
}

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

.forSP {
  display: none;
}

#Refine_Search_Area .Refine_Search_Box {
  overflow: hidden;
}

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

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

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

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

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

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

.condition__list {
  display: grid;
  gap: 10px;
}

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

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

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

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

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

.employment__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.kodawari__list > .multi-item .checkbox_icon {
  width: 32px;
  height: 32px;
  background-repeat: no-repeat;
  flex-shrink: 0;
  margin-left: 8px;
  margin-right: 8px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.ed #Refine_Search_Area .condition_ttl::after {
  border-left: 11px solid var(--Accent);
  background: none;
  height: 11px;
}

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

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

.ed #Refine_Search_Area dl.Refine_Search_conditions_Area label {
  border: 1px solid var(--Text);
  border-radius: 4px;
}

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

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

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

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

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

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

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

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

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

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

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

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

.employment__list .radio_text,
.license__list .checkbox_text,
.condition__list .checkbox_text {
  padding-left: 36px;
  position: relative;
  cursor: pointer;
}

.employment__list .radio_text::before,
.facility__list .checkbox_text::before {
  content: "";
  background: url(../img/ct_ico_checkbox_off.svg) no-repeat center / 16px;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 51%;
  left: 12px;
  transform: translateY(-50%);
}

.facility__list .checkbox_text.selected::before {
  background-image: url(../img/ct_ico_checkbox_on.svg);
}

.employment__list input[type="radio"] {
  position: absolute;
  opacity: 0;
}

.employment__list .radio_text:has(input[type="radio"]:checked) {
  background-color: #fff6d2 !important;
  color: #333 !important;
}

.employment__list .radio_text:has(input[type="radio"]:checked)::before {
  background-image: url(../img/ct_ico_checkbox_on.svg);
}

.select__wrap {
  position: relative;
}

.select__wrap::after {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: url(../img/cm_ico_arrow_bottom_01.png.webp) no-repeat center /
    contain;
  content: "";
}

.select__list select {
  appearance: none;
  border: 1px solid var(--Text);
  border-radius: 4px;
  width: 100%;
  color: var(--Text);
  padding: 15px 12px;
}

/*sp*/
.Refine_Search_Box_wrap {
  padding-top: 0;
}
.Refine_Search_Box_wrap {
  margin-top: 24px;
}
#Refine_Search_Area dl.Refine_Search_conditions_Area label {
  height: 48px;
}

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

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

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

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

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

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

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

#Refine_Search_Area .kodawari__list {
  gap: 10px;
}

.forSP {
  display: block;
}

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

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

#CONTENTS #PANKUZU {
  background: #fff;
}

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

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

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

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

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

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

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

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

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

.result {
  padding: 0;
}

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

.imgttl_searchresult {
  width: 100%;
  margin: 0 auto;
  height: 400px;
  padding-top: 16px;
}

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

.imgttl_searchresult div {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
  background: #ccc;
}

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

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

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

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

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

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

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

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

.result .ranking__inner {
  margin-top: 16px;
}

/*検索条件*/
.searchConditions {
  width: auto;
  border-radius: 8px;
  margin: 20px 40px;
  padding: 20px 20px 10px;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid var(--Text);
  font-size: 12px;
  margin-top: -115px;
  margin-bottom: 0px;
  line-height: 1.5;
  position: relative;
}

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

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

.searchConditions__list-title {
  color: var(--Main);
  font-size: 14px;
  font-weight: bold;
}

.searchConditions__list {
  margin-bottom: 10px;
}

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

.searchConditions__list span {
  display: inline-block;
  margin-left: 5px;
  font-size: 14px;
}

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

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

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

/* ranking */

.ranking.result {
  background: none;
}

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

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

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

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

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

.searchConditions {
  margin: 30px 20px 0;
}

#PANKUZU {
  padding: 0 10px;
}

#PANKUZU .pankuzu {
  width: auto;
}

.options_accordion_ul {
  margin-bottom: 0;
}

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

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

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

.Refine_Search_Box_wrap {
  padding: 0 15px;
}

.return_form_area {
  padding: 32px 0;
}

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

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

.result
  .ranking__inner
  > .ranking__item:nth-child(1)
  .ranking__item-top::before {
  display: none;
}

.result .ranking__inner > .ranking__item:nth-child(1) .ranking__item-top_txt {
  position: relative;
  padding-left: 72px;
}

.result .ranking__inner > .ranking__item {
  padding-top: 0;
}

.result .ranking__inner > .ranking__item .ranking__name {
  margin-top: 0;
  text-align: center;
}

.result .ranking__inner > .ranking__item .ranking__item-top {
  align-items: center;
  padding: 11px 15px;
  height: auto;
}

.result
  .ranking__inner
  > .ranking__item:nth-child(1)
  .ranking__item-top::before {
  content: "";
  width: 64px;
  height: 64px;
  background-size: 64px 64px;
  display: inline-block;
  position: absolute;
  top: 4px;
  left: 8px;
}

.result
  .ranking__inner
  > .ranking__item:nth-child(1)
  .ranking__item-top::before {
  background-image: url(../img/ct_ico_rank01_hoiku.png);
}

.result
  .ranking__inner
  > .ranking__item:nth-child(2)
  .ranking__item-top::before {
  background-image: url(../img/ct_ico_rank02.png);
}

.result
  .ranking__inner
  > .ranking__item:nth-child(3)
  .ranking__item-top::before {
  background-image: url(../img/ct_ico_rank03.png);
}

.result
  .ranking__inner
  > .ranking__item:nth-child(4)
  .ranking__item-top::before {
  background-image: url(../img/ct_ico_rank04.png);
}

.result
  .ranking__inner
  > .ranking__item:nth-child(5)
  .ranking__item-top::before {
  background-image: url(../img/ct_ico_rank05.png);
}

.result .ranking__inner > .ranking__item:nth-child(1) .ranking__name {
  background: var(--yellow);
}

.result .ranking__inner > .ranking__item:nth-child(1) .ranking__ctaArea {
  background: var(--yellow);
}

/* ========================================================
フッター
=========================================================*/
.footer {
  padding-block: 40px 28px;
  background-color: #333;
}
.footer__inner {
  padding-inline: 20px;
}
.footer__logo {
  margin-inline: auto;
  max-width: 286px;
}
.footer__logo-link {
  display: block;
}
.footer__logo img {
  width: 100%;
}
.footer__agents {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 32px;
  max-width: 440px;
}
.footer__agent-link {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 10px;
  padding: 10px;
}
.footer__agent-link img {
  width: 100%;
  height: auto;
  object-fit: contain;
  aspect-ratio: 85 / 42.5;
}
.footer__wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 25px;
  margin-block: 32px 28px;
}
.footer__list-ttl {
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}
.footer__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 20px;
  margin-top: 10px;
  width: fit-content;
}
.footer__list--sp-col1 {
  grid-template-columns: 1fr;
}
.footer__item {
  position: relative;
  padding-left: 13px;
}
.footer__item::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 6px;
  height: 7px;
  background-image: url(../img/cm_ico_arrow_right_02.png.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  content: "";
}
.footer__link {
  display: block;
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  text-decoration: none;
}
.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #fff;
  padding-top: 28px;
}
.footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
}
.footer__nav-item {
  position: relative;
}
.footer__nav-item:nth-child(n + 2)::before {
  position: absolute;
  top: 50%;
  left: -15px;
  translate: 0 -50%;
  width: 1px;
  height: 12px;
  background-color: var(--Gray);
  content: "";
}
.footer__nav-link {
  display: block;
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  text-decoration: none;
}
.footer__copyright {
  color: #fff;
  font-size: 11px;
  font-weight: 400;
}

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

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

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

.edComparison .line {
  top: 0;
}

.edComparison__ttl {
}

.edComparison__img {
  aspect-ratio: 375 / 553;
  margin-top: 20px;
}

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

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

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

/* ========================================================
20230222 修正
=========================================================*/
.txtBox {
  background: #fff;
  border: 2px solid var(--Text);
  border-radius: 7px;
  padding: 13px 15px 15px;
}

.imgContent {
  width: 100%;
}

.imgContent--nayami {
  background: linear-gradient(#e9e9e9 0%, transparent 100%);
}

/* ========================================================
20230227 edComparison修正
=========================================================*/
.edComparison {
  background: var(--Back);
  padding-top: 0;
  padding-bottom: 15px;
}

.main .section:first-of-type.edComparison {
  margin-top: 0;
}

.edComparison__img {
  margin-top: 0;
}

.edComparison__txt {
  text-align: left;
  background: #fff;
  border: 2px solid var(--Text);
  border-radius: 7px;
  padding: 10px;
}

.triangle {
  background: url(../img/ct_img_triangle.svg) no-repeat center / 84px auto;
  width: 84px;
  height: 37px;
  margin: 0 auto;
}

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

.btn_anime01 {
  overflow: hidden;
  position: relative;
}
.btn_anime01::before {
  animation: anime_cvbtn01 3s ease-in-out infinite;
  content: "";
  position: absolute;
  top: -20%;
  left: -10%;
  width: 30px;
  height: 140%;
  transform: scale(2) rotate(45deg);
  background-image: linear-gradient(
    100deg,
    rgba(255, 255, 255, 0) 10%,
    rgba(255, 255, 255, 0.5) 100%,
    rgba(255, 255, 255, 0) 0%
  );
}

.txt--clinicfor {
  font-size: 10px;
  text-align: right;
  padding: 0 8px;
}

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

/* ========================================================
同時登録
=========================================================*/
.sites__reasons {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 20px;
}
.sites__reasons-item {
  border: 1px solid var(--Main);
  border-radius: 6px;
  width: calc((100% - 8px) / 2);
  padding: 15px 11px;
}
.sites__reasons-item-ttl {
  font-size: 15px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #fff;
  background: var(--Main);
  border-radius: 30px;
  width: 130px;
  padding: 6px 0;
  margin: 0 auto;
}
.sites__reasons-img {
  width: auto;
  height: 72px;
  margin: 2px auto 0;
}
.sites__reasons-item-catch {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  margin: 4px -8px;
}
.sites__reasons-item-txt {
  font-size: 12px;
}
.sites__recommend {
  background: var(--Back);
  padding: 25px 15px;
}
.sites__recommend-item {
  background: #fff;
  box-shadow: 0 4px 4px 0 rgb(0, 0, 0, 0.25);
  border-radius: 25px 0 25px 0;
  padding: 15px;
}
.sites__recommend-item:nth-child(n + 2) {
  margin-top: 15px;
}
.sites__recommend-item-ttl {
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  margin: 0 -15px;
}
.sites__recommend-item-pair {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-items: center;
  align-items: center;
  gap: 40px;
  background: url(../img/ct_ico_cross.svg) no-repeat center / 14px 14px,
    var(--Sub);
  border: 1px solid #ff999e;
  border-radius: 6px;
  padding: 20px 15px;
  margin-top: 15px;
}
.sites__recommend-item-pair-logo {
  width: 100%;
}
.sites__recommend-item-txt {
  font-size: 12px;
  line-height: 1.75;
  text-align: center;
  margin-top: 8px;
}
.sites__recommend-item-cta {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-top: 10px;
}
.sites__recommend-item-cta .ctaBtn {
  font-size: 13px;
  line-height: 1.2;
  padding: 8px;
  margin-top: 0;
}
.sites__recommend-item-cta .ctaBtn span {
  font-size: 10px;
  font-weight: normal;
}
/* ========================================================
20240415 PR
=========================================================*/
.pr {
  margin-top: 20px;
  padding: 0 20px;
}
.pr__inner {
  border: 1px solid var(--Text);
  padding: 0 16px 16px;
}
.pr__top {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pr__top-ttl {
  font-size: 14px;
  line-height: 1;
  display: inline-block;
  background: var(--yellow);
  margin-left: -16px;
  padding: 12px;
}
.pr__name {
  display: block;
  margin: 4px 0;
  font-size: 18px;
}
.pr img {
  margin: 10px auto;
}
.pr__catch {
  grid-column: 2;
  font-size: 12px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  margin-top: 15px;
}
.pr__catch::before {
  content: "";
  display: inline-block;
  background: var(--Text);
  width: 1px;
  height: 0.8em;
  transform: rotate(-35deg);
  margin-top: 0.3em;
}
.pr__catch::after {
  content: "";
  display: inline-block;
  background: var(--Text);
  width: 1px;
  height: 0.8em;
  transform: rotate(35deg);
  margin-top: 0.3em;
}
.pr__btn {
  margin-top: 5px;
  padding: 10px 15%;
}
.pr__txt {
  margin: 15px 0;
}
.pr .before_arrow_box,
.pr .before_arrow_box a {
  font-size: 12px;
}
.before_arrow_box:not(.before_arrow) {
  text-align: right;
}
/* ========================================================
20240626 fb/悩みコンテンツ
=========================================================*/
.nayami__kuchikomi {
  padding: 10px;
  background: var(--Sub);
}
.nayami__kuchikomi-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.nayami__kuchikomi div:nth-child(3) {
  margin-bottom: 0;
}
.nayami__kuchikomi-icon {
  width: 60px;
  height: auto;
  object-fit: contain;
}
.nayami__kuchikomi-txt {
  padding: 10px;
  background-color: #fff;
  border-radius: 10px;
}
.recommend__item-ttl {
  grid-template-columns: 1fr 200px 1fr;
}

/* ========================================================
20250626 2サイト以上登録
=========================================================*/
.entry {
  background-color: #f7f6f6;
  padding-block: 24px;
}
.entry__ttl {
}
.entry__ttl img {
  width: 100%;
  height: auto;
}
.entry__contents {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 10px;
}
.entry__content {
  border-radius: 25px 0 25px 0;
  padding: 16px;
  background-color: #fff;
  box-shadow: 0 0 20px rgba(99, 78, 78, 0.1);
}
.entry__content-ttl {
  border-radius: 90px;
  padding: 6px;
  background-color: var(--Main);
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.entry__content-lead {
  margin-top: 12px;
  color: var(--Main);
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.entry__content-img {
  margin-inline: auto;
  width: 235px;
}
.entry__content-img img {
  width: 100%;
  height: auto;
}
.entry__content-txt {
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.7;
}

/* ========================================================
20250626 hikaku
========================================================*/
.hikaku {
}
.hikaku__head {
  padding-top: 24px;
  background-color: var(--Sub);
}
.hikaku__ttl {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.03em;
}
.hikaku__ttl .num {
  color: var(--Main);
  font-size: 24px;
}
.hikaku__ttl span {
  color: var(--Main);
  font-size: 20px;
}
/* 点滅アニメーション */
@keyframes blinking {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.blink {
  animation: blinking 0.8s ease-in-out infinite alternate;
}
.hikaku__tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  position: relative;
  margin-top: 20px;
  align-items: flex-end;
}
.hikaku__tabs::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 1px;
  background-color: var(--Main);
  content: "";
}
.hikaku__tab {
  position: relative;
  z-index: 2;
  border-radius: 6px 0 0 0;
  padding: 7px;
  background-color: #c2c2c2;
  width: 110px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  width: 110px;
  height: 31px;
}
.hikaku__tab.is-active {
  border-top: 3px solid var(--Main);
  border-left: 3px solid var(--Main);
  border-right: 1px solid var(--Main);
  background-color: #fff;
  color: var(--Main);
  width: 119px;
  height: 42px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hikaku__tab.is-active p {
  display: flex;
  position: relative; /* または absolute など必要に応じて */
  left: 5%;
}

.hikaku__tab.is-active::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 9px;
  background-image: url(../img/ct_ico_tab_choise.svg);
  width: 16px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
}

.hikaku__tab[data-id="hikaku-comp"].is-active::after {
  left: 27px;
}
.hikaku__tab[data-id="hikaku-hand"].is-active::after {
  left: 7px;
}
.hikaku__tab[data-id="hikaku-work"].is-active::after {
  left: 6px;
}

.hikaku__main {
  margin-top: 8px;
  background-color: #fff;
}
.hikaku__table {
  display: none;
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border: 1px solid var(--Text);
}
.hikaku__table.is-active {
  display: table;
}
.hikaku__table-head {
  border: 1px solid var(--Text);
  border-color: #d0d0d0;
  height: 40px;
  padding: 7px 0;
  background-color: var(--Back);
  font-size: 10px;
  text-align: center;
  line-height: 1;
}
.hikaku__table-head:nth-of-type(1) {
  width: 90px;
}
.hikaku__table-head:nth-of-type(2) {
  width: 57px;
}
.hikaku__table-head:nth-of-type(3) {
  width: 67px;
}
.hikaku__table-head:nth-of-type(5) {
  width: 77px;
}
.hikaku__table--handing .hikaku__table-head:nth-of-type(1) {
  width: 90px;
}
.hikaku__table--handing .hikaku__table-head:nth-of-type(2) {
  width: 67px;
}
.hikaku__table--handing .hikaku__table-head:nth-of-type(3) {
  width: auto;
}
.hikaku__table--handing .hikaku__table-head:nth-of-type(4) {
  width: 85px;
}
.hikaku__table--handing .hikaku__table-head:nth-of-type(5) {
  width: 77px;
}
.hikaku__table--work .hikaku__table-head:nth-of-type(1) {
  width: 90px;
}
.hikaku__table--work .hikaku__table-head:nth-of-type(2),
.hikaku__table--work .hikaku__table-head:nth-of-type(3),
.hikaku__table--work .hikaku__table-head:nth-of-type(4),
.hikaku__table--work .hikaku__table-head:nth-of-type(5) {
  width: auto;
}
.hikaku__table--work .hikaku__table-head:nth-of-type(6) {
  width: 77px;
}
.hikaku__table-sort-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 4px auto 0;
  border-radius: 2px;
  width: 40px;
  background-color: var(--Text);
}
.hikaku__table-sort-btn img {
  width: 8px;
  height: 10px;
  object-fit: contain;
  transition: transform 0.3s;
}
.hikaku__table-sort-btn.is-reverse img {
  transform: rotate(180deg);
}
.hikaku__table-data {
  border: 1px solid var(--Text);
  border-color: #d0d0d0;
  padding: 5px 1px;
  background-color: #fff;
}
.hikaku__table-row--first .hikaku__table-data {
  background-color: #fff6d2;
}
.hikaku__table-rank {
  display: block;
  margin-inline: auto;
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.hikaku__table-logo {
  display: block;
  margin: 4px auto 0;
  /* width: 80px;
  height: auto; */
  object-fit: contain;
}
.hikaku__table-logo--sm {
  width: 80px;
}
.hikaku__table-link {
  display: block;
  margin-top: 4px;
  color: var(--Text_blue);
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}
.hikaku__table-star {
  display: block;
  margin: 4px auto 0;
  width: 42px;
  height: auto;
  object-fit: contain;
}
.hikaku__table--handing .hikaku__table-star,
.hikaku__table--work .hikaku__table-star {
  width: 55px;
}
.hikaku__table-score {
  margin-top: 4px;
  color: var(--Main);
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.hikaku__table-icon {
  display: block;
  margin: 0 auto 4px;
  width: 25px;
  height: auto;
  object-fit: contain;
}
.hikaku__table-num {
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}
.hikaku__table-txt {
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}
.hikaku__table-txt + .hikaku__table-txt {
  margin-top: 4px;
}
.hikaku__table-attention {
  font-size: 10px;
  text-align: center;
}
.hikaku__table-lead {
  font-size: 10px;
  line-height: 1.3;
  text-align: center;
}
.hikaku__table-btn-wrap {
  margin-top: 4px;
  text-align: center;
}
.hikaku__table-btn {
  display: inline-block;
  border-radius: 6px;
  max-width: 70px;
  width: 100%;
  padding: 4px;
  background: linear-gradient(var(--green01) 0%, var(--green02) 100%);
  color: #fff;
  font-size: 12px;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
}
.hikaku__table-jobs {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
  margin-inline: auto;
  width: fit-content;
}
.hikaku__table-job {
  border-radius: 3px;
  width: 52px;
  padding: 5px 2px;
  background-color: var(--Text);
  color: #fff;
  font-size: 10px;
  line-height: 1;
  text-align: center;
}
.hikaku__table-job--not {
  background-color: rgba(99, 78, 78, 0.4);
}
.hikaku__table-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  margin-inline: auto;
  width: fit-content;
}
.hikaku__table-item {
  display: flex;
  align-items: center;
  gap: 2px;
}
.hikaku__table-item-img {
  width: 14px;
}
.hikaku__table-item-txt {
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
}

/* ========================================================
20250829　ボタン追加
========================================================*/
.otherpage_button {
  padding: 24px 15px;
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 20px;
}

.hoikushi-page_btn p {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #f4848f;
}

.hoikushi-page_btn p > span {
  padding: 1px 8px;
  color: #fff;
  background-color: #f4848f;
  border-radius: 3px;
}

a.ctaBtn1 {
  position: relative;
  margin-top: 8px;
  display: grid;
  grid-template-columns: 116px 1fr;
  width: 100%;
  border: 2px solid #f4848f;
  border-radius: 60px;
  padding: 2px 38px 0 38px;
  align-items: center;
  text-decoration: none;
  background: linear-gradient(to bottom, #ffffff 0%, #f8e9e9 100%);
}

a.ctaBtn1::after {
  content: "";
  position: absolute;
  color: #f4848f;
  top: 50%;
  transform: translateY(-50%);
  right: 17px;
  border: solid 2px #f4848f;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 4px;
  transform: translateY(-50%) rotate(-45deg); /* → の矢印 */
  width: 3px;
  height: 3px;
}

.hoikushi_btn_img img {
  display: inline-block;
  width: 80%;
  height: auto;
}

.hoikushi_btn_text {
  color: #634e4e;
}

/* ========================================================
20250829　年数追加
========================================================*/

.my__year {
  position: relative;
}

.year__name-wrap {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15.06vw;
  height: 4vw;
  top: 16.1vw;
  left: 4.6vw;
  font-weight: bold;
}

.year__number {
  font-size: 2.987vw;
  color: #f4848f;
}

/* ========================================================
20250901　求人票追加
========================================================*/
.offer {
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 20px;
}

.offer__inner {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--Main) #f5f5f5;
  gap: 16px;
  scroll-padding-inline: 15px;
  padding: 0 0 15px;
}

/* SimpleBar(safari対策) */
.offer__inner[data-simplebar] .simplebar-content {
  display: flex;
  gap: 16px;
  padding: 0 0 15px;
  box-sizing: border-box;
}

.offer__inner[data-simplebar] .simplebar-content-wrapper {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  scroll-padding-inline: 15px;
}

.offer__inner .simplebar-track.simplebar-horizontal {
  height: 15px;
  background: #ececec;
  border-radius: 100px;
  margin: 0 15px;
}

.offer__inner
  .simplebar-track.simplebar-horizontal
  .simplebar-scrollbar:before {
  background: var(--Main);
  border-radius: 4px;
}

/* スクロールバー */
.offer__inner::-webkit-scrollbar {
  height: 15px;
}

.offer__inner::-webkit-scrollbar-track {
  background: #ececec;
}

.offer__inner::-webkit-scrollbar-thumb {
  background-color: var(--Main);
  border-radius: 4px;
}

.offer__item {
  flex: 0 0 auto;
  width: 252px;
  padding: 8px 0;
  scroll-snap-align: center;
}

.offer__card {
  position: relative;
  background: #fff;
  overflow: hidden;
  border: 1px solid var(--Main);
  border-radius: 25px 0 25px 0;
  background-color: #fff;
  box-shadow: 0 0 20px #634e4e1a;
}

.offer__card-txt {
  display: block;
  text-align: center;
  background-color: #f4848f;
  color: #fff;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: bold;
}

/* .offer__card::before {
  content: "";
  background: url(../img/ct_ico_offer_new.svg) no-repeat center;
  background-size: contain;
  width: 42px;
  height: 51px;
  position: absolute;
  top: -1px;
  left: 28px;
} */

.offer__card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 8px 15px;
}

.offer__card-tag {
  display: inline-block;
  font-size: 12px;
  color: var(--Text);
  background: #fff;
  border: 1px solid var(--Text);
  border-radius: 3px;
  padding: 1px 4px;
  white-space: nowrap;
}

.offer__info {
  padding: 0 15px 8px;
}

.offer__info-row {
  display: grid;
  grid-template-columns: 72px 1fr;
  padding: 6px 0 4px 26px;
  align-items: center;
  font-size: 12px;
  color: var(--Text);
  border-bottom: 1px solid var(--Main);
}

.offer__info > div::before {
  content: "";
  background-size: contain;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 15px;
}

.offer__info > div:nth-child(1)::before {
  background: url(../img/ct_ico_offer_facility_hoiku.svg) no-repeat center;
}

.offer__info > div:nth-child(2)::before {
  background: url(../img/ct_ico_offer_salary.svg) no-repeat center;
}

.offer__info > div:nth-child(3)::before {
  background: url(../img/ct_ico_offer_style.svg) no-repeat center;
}

.offer__info-ttl {
  font-size: 12px;
  font-weight: bold;
}

.offer__info-txt {
  font-size: 12px;
  line-height: 1.2;
}

.offer__info-txt .info-label {
  display: inline-block;
  border-radius: 3px;
  padding: 5px 8px;
  background-color: var(--Text);
  color: #fff;
  font-size: 10px;
  line-height: 1;
  text-align: center;
}

.offer__info-txt small {
  display: block;
}

.offer__card-img img {
  aspect-ratio: 250 / 135;
  object-fit: cover;
}

.offer__card-ctaArea {
  background-color: var(--Sub);
  padding: 8px 16px;
}

img.offer__card-logo {
  width: 170px;
  height: auto;
  margin: 0 auto;
}

.offer__card-cta {
  display: flex;
  align-items: center;
  flex-direction: column;
  background: linear-gradient(var(--green01) 0%, var(--green02) 100%);
  margin-top: 6px;
  padding: 6px 0 8px;
  color: #fff;
  text-decoration: none;
  border-radius: 100px;
  position: relative;
  font-size: 14px;
}

.offer__card-cta small {
  font-size: 12px;
}

.offer__card-cta::after {
  content: "";
  display: inline-block;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  width: 0.625rem;
  height: 0.625rem;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%) rotate(-45deg);
}

/* ========================================================
20250910 施設別おすすめ求人タブ追加
======================================================== */
.top3Type {
  background: var(--Sub);
  padding: 24px 0 32px;
}

.top3Type .notes-txt {
  padding: 0 15px;
}

.top3Type__head p {
  color: #333;
  font-size: 14px;
  padding: 15px;
}

.top3Type__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px 4px;
  overflow-x: auto;
  padding: 8px 0 8px 15px;
  background-color: #fff1f1;
}

.top3Type__tags:has(.top3Type__popular) {
  padding: 24px 0 8px 15px;
}

.top3Type__tags-wrapper {
  position: relative;
}

.top3Type__tags-wrapper::after {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px 16.5px 0 16.5px;
  border-style: solid;
  border-color: #fff1f1 transparent transparent transparent;
}

.top3Type__tags button {
  position: relative;
  background: #fff;
  border: 1px solid #a3a3a3;
  border-radius: 30px;
  color: #a3a3a3;
  font-size: 13px;
  font-weight: 400;
  padding: 3px 11px;
  margin: 0;
  white-space: nowrap;
  box-shadow: 1px 2px 1px rgba(99, 78, 78, 0.4);
}

.top3Type__tags button.active,
.top3Type__tags button.is-active {
  background: var(--Main);
  border-color: var(--Main);
  color: #fff;
  font-weight: bold;
  box-shadow: none;
}

.top3Type__tags::-webkit-scrollbar {
  display: none;
}

.top3Type__popular {
  display: inline-block;
  position: absolute;
  top: -18px;
  left: 50%;
  translate: -50% 0;
  color: var(--Text);
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  pointer-events: none;
}

.top3Type__popular span {
  background: linear-gradient(transparent 50%, var(--yellow) 50%);
}

.top3Type__subtags.has-border {
  border-top: dotted 1px var(--Main);
  padding: 12px 15px 15px;
  height: auto;
  gap: 6px;
  overflow-x: auto;
}

.top3Type__subtags button {
  border: 1px solid var(--Main);
  color: var(--Main);
  font-size: 12px;
  font-weight: bold;
  border-radius: 4px;
  padding: 4px 10px 5px;
  white-space: nowrap;
}

.top3Type__subtags button.active,
.top3Type__subtags button.is-active {
  background: var(--Main);
  color: #fff;
}

.top3Type__subtags::-webkit-scrollbar {
  display: none;
}

.top3Type__wrap {
  display: none;
  position: static;
  opacity: 0;
  transition: opacity 1s;
  pointer-events: none;
}

.top3Type__wrap.is-visible {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

.top3Type__list {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  margin: 0 15px;
  padding: 0 15px;
  border-radius: 10px;
}

.top3Type__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 6px 12px;
}

.top3Type__list > .top3Type__item:nth-child(2) {
  border-top: dotted 1px var(--Main);
  border-bottom: dotted 1px var(--Main);
}

.top3Type__bnr {
  position: relative;
}

.top3Type__bnr img {
  width: 104px;
  aspect-ratio: 104 / 87;
}

.top3Type__bnr::before {
  content: "";
  position: absolute;
  left: -5px;
  top: -5px;
  width: 32px;
  height: 32px;
  z-index: 10;
}

.top3Type__txt a {
  display: block;
  margin-bottom: 3px;
  color: #0a50a1;
  font-weight: bold;
  font-size: 14px;
  text-decoration: underline;
}

.top3Type__txt p {
  margin-top: 8px;
  font-size: 12px;
  color: #333;
  line-height: 1.3;
}

.top3Type__cta {
  margin-top: 20px;
  padding: 0 15px;
  position: relative;
}

.top3Type__cta a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: #fff;
  border: 1px solid var(--Main);
  color: var(--Main);
  padding: 22px;
  border-radius: 10px;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-decoration: none;
}

.top3Type__cta a::after {
  content: "";
  /* background: url(../img/ct_ico_top3Type_arrow_w.svg) no-repeat center/contain; */
  position: absolute;
  right: 30px;
  top: 20px;
  width: 26px;
  height: 26px;
}

.offer-txt-area {
  padding: 15px 15px 0px 15px;
}

.offer-txt-area.top3TypeHouday__wrap {
  padding-top: 8px;
}

/* ========================================================
20251010 比較表small追加
======================================================== */

.hikaku__table-txt.small {
  font-size: 9px;
}

/* ========================================================
20251031 施設見出し
======================================================== */
.offer-ttl-monthArea {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 15px auto 0.5vw;
  width: 49.333vw;
  height: 7.067vw;
  background-color: #634e4e;
  color: #fff;
  border-radius: 0.8vw;
  font-size: 5vw;
  text-align: center;
  line-height: 1;
}

.offer-ttl-monthArea + img {
  margin-bottom: 4px;
}

.offer-ttl-month {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 2px;
  padding-left: 1px;
  width: 13.6vw;
  height: 5.6vw;
  background-color: #fff;
  color: #634e4e;
}

.offer-ttl-month + span {
  padding-bottom: 1px;
}
/* ========================================================
20251114 コラム・商標 テキストリンクパーツ
======================================================== */
.textlink_wrap {
  margin-top: 10px;
  padding: 0 15px 20px;
}
.textlink_ttl {
  color: var(--Main);
  padding-left: 24px;
  position: relative;
  font-size: 15px;
  font-weight: bold;
}
.textlink_ttl::before {
  position: absolute;
  content: "";
  background: url(../img/textlink_check.svg) no-repeat center;
  width: 18px;
  height: 18px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.textlink_content_link {
  text-decoration: none;
}
.textlink_content {
  border: solid 1px var(--Main);
  margin-top: 6px;
  display: grid;
  grid-template-columns: 32% 1fr 30px;
}
.textlink_content img {
  height: 100%;
}
.textlink_txt {
  display: flex;
  align-items: center;
  background: #fff7f5;
  padding: 6px;
  font-size: 13px;
  text-decoration: none !important;
  font-weight: normal;
  color: var(--Text);
}
.textlink_arrow {
  background-color: var(--Main);
  position: relative;
}
.textlink_arrow::before {
  position: absolute;
  content: "";
  background: url(../img/textlink_arrow.svg) no-repeat center;
  width: 14px;
  height: 14px;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.textlink_link {
  text-align: right;
  display: block;
  font-weight: normal;
  font-size: 13px;
  margin-top: 4px;
}

/* ========================================================
20251119 検索フォーム改修
======================================================== */
.Refine_Search--accordion {
  margin-left: 15px;
  margin-right: 15px;
  margin-bottom: 26px;
  margin-top: 26px;
  padding: 0 16px 17px;
  border: 2px solid var(--Main);
  box-shadow: 0 2px 0 0 var(--Main);
  border-radius: 4px;
  overflow: hidden;
}

.Refine_Search--accordion:has(.aco__btn.close) {
  height: 49px;
}

.Refine_Search--accordion .inner.aco__contents {
  margin-top: 0;
}

.Refine_Search--accordion .section__ttl--icon {
  margin: 0;
  flex-basis: 18px;
  width: 18px;
  height: auto;
  position: relative;
  top: 1px;
}

.Refine_Search--accordion .Refine_Search_ttl {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 10px 0 10px;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 700;
  color: var(--Text);
  position: relative;
  border-bottom: 1px solid var(--Main);
  cursor: pointer;
  user-select: none;
}

.Refine_Search--accordion .Refine_Search_ttl::before,
.Refine_Search--accordion .Refine_Search_ttl::after {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  transition: all 0.25s;
  position: absolute;
  top: 8px;
  right: 0;
}

.Refine_Search--accordion .Refine_Search_ttl::before {
  background: url(../img/ico_open_pink.svg) no-repeat center / contain;
  opacity: 0;
  z-index: 1;
}

.Refine_Search--accordion .Refine_Search_ttl::after {
  background: url(../img/ico_close_pink.svg) no-repeat center / contain;
}

.Refine_Search--accordion .Refine_Search_ttl.aco__btn.close::before {
  opacity: 1;
  z-index: 1;
}

.Refine_Search--accordion .Refine_Search_Box_wrap {
  margin: 0;
  padding: 0;
}

.Refine_Search--accordion #Refine_Search_Area .condition_ttl span {
  font-weight: 900;
  font-size: 14px;
  line-height: 1.4;
}

.Refine_Search--accordion .Refine_Search_conditions_AreaBox {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  padding-bottom: 12px;
  /* border-bottom: 1px solid var(--Main); */
}

.Refine_Search--accordion .Refine_Search_conditions_AreaBox.last {
  padding-bottom : 12px;
}

.Refine_Search--accordion .Refine_Search_conditions_AreaBox.select__list__box {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.Refine_Search--accordion #Refine_Search_Area dl.Refine_Search_conditions_Area {
  margin-bottom: 0;
}

.Refine_Search--accordion #Refine_Search_Area dl.Refine_Search_conditions_Area dt {
  margin-bottom: 6px;
  line-height: 1.4;
}

.Refine_Search--accordion #Refine_Search_Area dl.Refine_Search_conditions_Area label {
  min-height: 38px;
  height: 38px;
  line-height: 37px;
  position: relative;
}

.Refine_Search--accordion #Refine_Search_Area dl.Refine_Search_conditions_Area dd {
  gap: 6px 13px;
}

.Refine_Search--accordion .select__list select {
  padding: 10px 12px;
}

.Refine_Search--accordion .employment__list .checkbox_text,
.Refine_Search--accordion .license__list .checkbox_text,
.Refine_Search--accordion .condition__list .checkbox_text {
  padding-left: 27px;
  color: var(--Text);
}

.Refine_Search--accordion .employment__list .checkbox_text::before,
.Refine_Search--accordion .facility__list .checkbox_text::before {
  content: "";
  background: url(../img/ct_ico_checkbox_off.svg) no-repeat center / 16px;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 8px;
  transform: translateY(-50%);
}

.Refine_Search--accordion  #Refine_Search_Area {
  font-size: 12px;
}

.Refine_Search--accordion #Refine_Search_Area span.kodawari {
  position: relative;
  top: -1px;
}

.Refine_Search--accordion .employment__list .checkbox_text.selected::before,
.Refine_Search--accordion .facility__list .checkbox_text.selected::before {
  background-image: url(../img/ct_ico_checkbox_on.svg);
}

.Refine_Search--accordion #Refine_Search_Area .multi-item {
  cursor: pointer;
}

.Refine_Search--accordion .Refine_Search_submit input[type="submit"] {
  width: calc(100% - 159px);
  height: 40px;
  line-height: 40px;
}

.Refine_Search--accordion  #Refine_Search_Area .Refine_Search_number {
  height: 40px;
  line-height: 40px;
  padding-left: 13px;
  padding-right: 13px;
}

.Refine_Search--accordion span.noSubmit {
  width: calc(100% - 159px);
  height: 40px;
  line-height: 40px;
}

.Refine_Search--accordion #Refine_Search_Area .Refine_Search_cta {
  margin-top: 14px;
}

/* ========================================================
20251120 検索結果表示順切り替えタブ
======================================================== */
/* ソート */
.result_sort_area--hoikushi .options_accordion_ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  background-color: var(--Sub);
  /* z-index: 9999; */
  overflow: hidden;
  text-indent: 0;
  font-size: 14px;
  border-top: none;
  box-sizing: border-box;
  width: 100%;
  max-width: 880px;
  margin: 10px auto 15px;
  border-radius: 4px;
  padding: 10px 20px;
}

.result_sort_area--hoikushi .options_accordion_ul li::marker {
  display: none;
}

.result_sort_area--hoikushi .options_accordion_ul li.active {
  background-color: #fff;
  color: var(--Text);
  font-weight: bold;
}

.result_sort_area--hoikushi .options_accordion_ul li {
  text-align: center;
  font-size: 13px;
  border-radius: 4px;
  position: relative;
}

.result_sort_area--hoikushi .options_accordion_ul li.active a {
  color: #333;
  opacity: 1;
}

.result_sort_area--hoikushi .options_accordion_ul li.active {
  font-weight: bold;
  background-color: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.16);
}

.result_sort_area--hoikushi .options_accordion_ul li a {
  display: block;
  /* padding: 5px; */
  /* padding-left: 10px; */
  color: #000000;
  text-decoration: none;
  position: relative;
  border-radius: 4px;
  height: 36px;
  line-height: 36px;
  font-size: 12px;
  cursor: pointer;
}

/* ========================================================
20251121 比較表改修
======================================================== */
.hikaku__table--handing .hikaku__table-head:nth-of-type(1) {
  width: 87px;
}

.hikaku__table--handing .hikaku__table-head:nth-of-type(2) {
  width: 65px;
}

.hikaku__table--handing .hikaku__table-head:nth-of-type(4) {
  width: 77px;
}

.hikaku__table--work .hikaku__table-head:nth-of-type(4) {
  width: 22%;
}

.hikaku__table--work .hikaku__table-head:nth-of-type(5) {
  width: 77px;
}

ul.hikaku__table-recruitment {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 5px;
  margin: 0 11px;
}

li.hikaku__table-recruitment {
  padding-top: 3px;
  width: max(55px, calc(50% - 2.5px));
  height: 17px;
  color: var(--Text);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  background-color: #fff;
  border: 1px solid var(--Text);
  border-radius: 3px;
  white-space: nowrap;
}

.hikaku__table-jobs {
  gap: 8px;
}

.hikaku__table-job {
  width: 52px;
  padding: 2px;
}

@media screen and (min-width: 435px) {
  li.hikaku__table-recruitment {
    width: max(55px, calc(32.6% - 2.5px));
  }
  @media screen and (min-width: 500px) {
    li.hikaku__table-recruitment {
      width: max(55px, calc(24.4% - 2.5px));
    }
  }
}

/* ========================================================
20251121 検索結果
======================================================== */
.result_page .imgttl_searchresult {
  height: auto;
}

.result_page .imgttl_searchresult .result_ttl {
  height: 80px;
  object-fit: contain;
}

.result_page .searchConditions__list span {
  margin-left: 0;
  margin-bottom: 3px;
}

.result_page .searchConditions {
  margin: 17px 15px 10px;
  padding-bottom: 7px;
  border-radius: 6px;
}

/* ========================================================
20251127 エリア用検索フォーム
======================================================== */
.Refine_Search--area {
  margin: 26px 8px;
  border: 2px solid var(--Main);
  border-radius: 4px;
  padding: 12px 8px;
  box-shadow: 0 2px 0 0 var(--Main);
  overflow: hidden;
}

.Refine_Search--area .Refine_Search_Box_wrap {
  margin-top: 12px;
  padding-inline: 0;
}

.Refine_Search--area .Refine_Search_conditions_Wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}

.Refine_Search--area .select__list select {
  padding: 8px;
}

.Refine_Search--area #Refine_Search_Area .Refine_Search_cta {
  margin-top: 18px;
}

.Refine_Search--area .Refine_Search_cta {
  height: 38px;
}

.Refine_Search--area .Refine_Search_submit {
  width: auto;
  float: none;
  text-align: center;
}

.Refine_Search--area .Refine_Search_submit input[type="submit"] {
  top: 0;
  left: 50%;
  right: auto;
  translate: -50% 0;
  width: 120px;
  height: 38px;
  line-height: 38px;
  border-bottom: 4px solid var(--green02);
}

.Refine_Search--area span.noSubmit, .Refine_Search--area .Refine_Search_submit input[type="submit"] {
  top: 0;
  left: 50%;
  right: auto;
  translate: -50% 0;
  width: 120px;
  height: 38px;
  line-height: 38px;
}
/* ========================================================
20260224 保育士ダイナミックLP追加
=========================================================*/
.mv__area {
  position: absolute;
  width: 35%;
  height: 14%;
  top: 12%;
  left: 16%;
}

.mv__txt {
  color: #fff;
  font-size: calc(16 / 375 * 100vw);
  white-space: nowrap;
  position: absolute;
  top:45%;
  left:54%;
  transform: translate(-50%,-50%);
  font-weight: bold;
}

.mv__txt--small {
  font-size: calc(12 / 375 * 100vw);
  margin-left: 0.3125rem;
}

/* ========================================================
20260225 カルーセル追加
=========================================================*/
.ranking__point {
  margin-top: 8px;
}
.ranking__slider .swiper-pagination {
  position: initial;
}

.ranking__slider  .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  color: var(--Main);
  background-color: var(--Main);
}

  /* ========================================================
20260311 比較表改修
=========================================================*/
.hikaku__table-small {
  font-size: 10px;
}
.hikaku__table-head {
  line-height: 1.2;
}
.hikaku__table-head span{
  display: flex;
  align-items: center;
  justify-content: center;
}