@charset "UTF-8";

/* ========================================================
ベース設定
=========================================================*/
:root {
  /* カラー */
  --Text: #2a2a2a;
  --Text_blue: #1a0dab;
  --Main: #6bd1ce;
  --Sub: #dff5f4;
  --Accent: #d40000;
  --Back: #f6f6f6;
  --Back_strong: #e7f1f7;
  --CTA: #f75e2f;
  --Pink: #eb446c;
  --Yellow: #fffac8;
  --Blue: #20a3af;
  --Light_gray: #f4f4f4;
  --Dark_gray: #969696;
  /* 文字サイズ */
  --FontSizeSP: 10px;
  /* 375px 〜 768px */
  --FontSizeSP2: 4.2666666667vw;
  /* 〜　374px */
}

@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: 500;
  src: url("../fonts/Noto_Sans_JP_Medium.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;
}

@font-face {
  font-family: "Zen Maru";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Zen_Maru_Medium.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: "Zen Maru";
  font-style: bold;
  font-weight: 700;
  src: url("../fonts/Zen_Maru_Bold.woff") format("woff");
  font-display: swap;
}

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

body {
  font-family: "Noto Sans JP";
  font-size: 1.5rem;
  background-color: #fff;
  color: var(--Text);
  padding: 0;
  margin: 0;
  line-height: 1.5;
  box-sizing: border-box;
  word-break: break-word;
  /* break-wordは非推奨のため、word-breakを使用 */
  font-feature-settings: "palt";
}

.forPC {
  display: none;
}

.forPC-inline {
  display: none;
}

.forSP {
  display: block;
}

a {
  font-weight: bold;
  text-decoration: underline;
  color: var(--Text_blue);
  transition: all ease 0.3s;
}

a:hover {
  opacity: 0.6;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

/* ========================================================
ステマ対策
=========================================================*/

.adTxt {
  text-align: right;
  max-width: 100%;
  padding: 2px 6px;
  /* 左右余白 LPに合わせて調整 */
  margin: 4px auto 6px;
  position: absolute;
  content: "";
  right: 0;
  top: 2px;
}

body.top .adTxt {
  display: none;
}

.result_page .adTxt {
  padding-top: 4px;
}

.adTxt span {
  font-size: 14px;
  font-weight: bold;
  border: 1px solid var(--Text);
  /* 枠色 変数名がTextでない場合は変更 */
  padding: 2px 14px;
  background-color: #fff;
}

/* ========================================================
共通
=========================================================*/
.accent {
  color: var(--CTA);
}

.pink {
  color: var(--Pink);
  font-weight: bold;
}

.bold {
  font-weight: bold;
}

.line-through {
  text-decoration: line-through;
}

.dashed_bottom {
  border-bottom: dashed 1px var(--CTA);
}

.marker {
  background: linear-gradient(transparent 60%, var(--Yellow) 60%);
}

.flash {
  animation: flash 1.5s linear infinite;
}

@keyframes flash {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* ========================================================
ヘッダー
=========================================================*/
.header {
  width: 100%;
  position: relative;
}
.header__logo-wrap {
  width: 100%;
  overflow: hidden;
  margin-top: -6px;
}
.header__logos {
  display: flex;
  height: 25px;
}

/* ========================================================
SECTION TYPE
=========================================================*/
body.top .type {
  position: relative;
  padding-top: 8px;
  padding-bottom: 8px;
}

body.top .type::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/contents_bg_best3.png.webp) no-repeat center / cover;
  content: "";
}

body.top .type__wrap {
  width: 100%;
  display: grid;
  grid-template-columns: 35% 1fr 1fr;
  gap: 8px;
  padding: 0;
}

@media screen and (min-width: 769px) {
  body.top .type__wrap {
    padding: 0;
    gap: 18px;
  }
}

.type__box:nth-of-type(1) {
  /* background-color: var(--Sub); */
  background-color: var(--Yellow);
  border: solid 1px var(--Main);
}

@media screen and (min-width: 769px) {
  body.top .type__box {
    padding: 20px;
    gap: 6px;
  }
}

body.top .type__box {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
  position: relative;
  padding: 6px;
  border: solid 1px #979eab;
}

body.top .type__box:first-of-type::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 45px;
  height: 45px;
  background: url(../img/ico_osusume.svg) no-repeat center / cover;
  content: "";
}

.type__logo__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

body.top .type__clinic {
  display: block;
  text-align: center;
  font-size: 13px;
}

@media screen and (min-width: 769px) {
  body.top .type__clinic {
    font-size: 18px;
  }
}

body.top .type__head {
  font-size: 13px;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
}

@media screen and (min-width: 769px) {
  body.top .type__head {
    font-size: 16px;
  }
}

body.top .type__price {
  text-align: center;
  font-size: 13px;
}

body.top .type__price .accent {
  font-size: 14px;
}

body.top .type__colors {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.top .type__color {
  display: inline-block;
  padding: 1px 5px;
  color: #fff;
  font-size: 11px;
  text-align: center;
}

body.top .type__color--blue {
  background-color: #2ca1db;
}

body.top .type__color--brown {
  background-color: #e88562;
}

body.top .type__color--black {
  background-color: #717171;
}

body.top .type__points {
  font-size: 13px;
  display: flex;
  flex-direction: column;
}

body.top .cta-btn {
  border-radius: 4px;
  margin: 0px auto;
  width: 94%;
  padding: 10px 0;
  font-size: 13px;
  position: relative;
  background-color: var(--CTA);
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  transition: all 0.3s;
  text-align: center;
  display: block;
  border-bottom: solid 3px #b14321;
}

body.top .cta-btn::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
  right: 7%;
  transform: translateY(-50%) rotate(-45deg);
  top: 50%;
}

body.top .type__points ul {
  padding: 0;
  margin: 0 auto;
}

body.top .type__points li .check {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

body.top .type__points li .check::before {
  position: absolute;
  content: "";
  background: url(../img/icon_check.svg) no-repeat center;
  background-size: 18px 18px;
  width: 18px;
  height: 18px;
  left: -5px;
  top: 50%;
  transform: translateY(-50%);
}

body.top .type__points li {
  padding-left: 18px;
  position: relative;
  list-style: none;
  margin-bottom: 5px;
}

body.top .type__bnr {
  width: 100%;
}

body.top .type__bnr__wrap {
  margin-bottom: 0px;
}

body.top .type__logo.tcb {
  width: 74%;
  object-fit: cover;
  display: block;
  margin-inline: auto;
}

body.top .type__logo {
  height: 57px;
  width: 100%;
  object-fit: contain;
}

section.type {
  /* margin-top: 10px; */
}

.type__wrap {
  width: 100%;
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 6px;
}

.type__box {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 4px;
  border: solid 1px #c6c6c6;
  background-color: var(--Light_gray);
  padding: 8px 2px;
}

.type__logo {
  height: 57px;
  width: 100%;
  object-fit: contain;
}

.type__logo.tcb {
  width: 74%;
  object-fit: cover;
  display: block;
  margin-inline: auto;
}

.type__bnr__wrap {
  display: block;
  margin-block: auto;
}

.type__txt__wrap {
  font-size: 12px;
  text-align: center;
}

body.top .type__cta__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0;
  position: relative;
  margin: 0px auto;
  border-bottom: solid 3px #b14321;
  border-radius: 4px;
  width: 94%;
  padding: 10px 0;
  background-color: var(--CTA);
  font-size: 13px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s;
  line-height: 1.2;
  box-sizing: border-box;
}

body.tarumi .type__cta__btn,
body.injection .type__cta__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0;
  position: relative;
  margin: 0px auto;
  border-bottom: solid 3px #b14321;
  border-radius: 4px;
  width: 94%;
  padding: 10px 0;
  background-color: var(--CTA);
  font-size: 13px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s;
  line-height: 1.2;
}

body.top .type__cta__btn--lg {
  height: 100%;
}

.type__cta__btn span {
  font-size: 10px;
}

.type__cta__btn::before {
  position: absolute;
  top: 50%;
  right: 7%;
  transform: translateY(-50%) rotate(-45deg);
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
  width: 5px;
  height: 5px;
  content: "";
}

.type__foot {
  text-align: center;
  padding-inline: 3px;
}

.type__btn {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  border: solid 1px var(--Text);
  border-radius: 4px;
  width: 100%;
  padding: 10px;
  background-color: #fff;
  color: var(--Text);
  font-size: 11px;
  line-height: 1.2;
  text-decoration: none;
}

.type__btn::after {
  position: absolute;
  top: calc(50% - 1px);
  right: 5px;
  transform: translateY(-50%) rotate(45deg);
  width: 5px;
  height: 5px;
  border-right: solid 2px var(--Text);
  border-bottom: solid 2px var(--Text);
  content: "";
}

.type__cta-box {
  margin: 0 auto;
  padding-block: 20px;
  text-align: center;
}

.type__cta-box__lead {
  margin: 0;
  font-size: 14px;
}

.type__cta-box__txt {
  margin-block: 5px 0;
  font-size: 14px;
}

.type__cta-box__btn {
  margin: 10px auto 0;
  max-width: 250px;
}

/* ========================================================
SECTION KINDS
=========================================================*/

section.kinds {
  margin-top: 16px;
}

.kinds__wrap {
  width: 100%;
}

.kinds__table {
  width: 100%;
  border: solid 1px var(--Main);
  border-collapse: collapse;
}

.kinds__table tr th {
  width: 9%;
  font-size: 12px;
  padding: 4px;
}

.kinds__table tr:nth-of-type(1) th+td,
.kinds__table tr:nth-of-type(1) td+td {
  border-left: solid 1px #fff;
  vertical-align: baseline;
}

.kinds__table tr th+td,
.kinds__table tr td+td {
  border-left: solid 1px var(--Main);
  border-bottom: solid 1px var(--Main);
}

.kinds__table tr td {
  width: calc(91% / 3);
  font-size: 14px;
  padding: 6px 2px;
}

.kinds__table tr:first-of-type td {
  color: #fff;
  font-weight: bold;
}

.kinds__table tr:not(:first-of-type) td {
  font-size: 12px;
}

.tarumi .kinds__table tr:not(:first-of-type) td:last-of-type {
  background-color: #fffac7;
}

.kinds__table tr:nth-of-type(1) th,
.kinds__table tr:nth-of-type(1) td {
  background-color: var(--Main);
  text-align: center;
}

.kinds__table tr:not(:nth-of-type(1)) th {
  background-color: var(--Sub);
  border-top: solid 1px var(--Main);
}

.kinds__kuma__icon {
  width: 52px;
  display: grid;
  margin-inline: auto;
  background: #fff;
  border-radius: 50%;
  margin-bottom: 2px;
}

/* ========================================================
SECTION HIKAKU
=========================================================*/
section.hikaku {
  margin-top: 20px;
}

.section__hikaku__wrap {
  width: 100%;
}

.hikaku__table {
  /* margin-top: 8px; */
  width: 100%;
  border: solid 1px var(--Main);
  border-collapse: collapse;
}

.hikaku__table th {
  width: 12%;
  padding-block: 10px;
  font-size: 12px;
}

.hikaku__table td {
  position: relative;
  z-index: 2;
  width: calc(88% / 3);
  font-size: 13px;
  text-align: center;
  padding: 10px 2px;
  line-height: 1.3;
}

.hikaku__table tr td:first-of-type {
  background-color: #fffac7;
}

.hikaku__table tbody td {
  vertical-align: middle;
}

.hikaku__table tbody tr:last-of-type td {
  padding: 6px 2px;
  vertical-align: bottom;
}

.hikaku__table tbody td.verygood::before {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: -1;
  width: 52px;
  height: 52px;
  background: url(../img/cm_ico_verygood_bg.svg) no-repeat center / contain;
  content: "";
  opacity: 0.4;
}

.hikaku__table tbody td.good::before {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: -1;
  width: 52px;
  height: 52px;
  background: url(../img/cm_ico_good_bg.svg) no-repeat center / contain;
  content: "";
  opacity: 0.4;
}

.hikaku__table tbody td.bad::before {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: -1;
  width: 52px;
  height: 52px;
  background: url(../img/cm_ico_bad_bg.svg) no-repeat center / contain;
  content: "";
  opacity: 0.4;
}

.hikaku__table tr th+td,
.hikaku__table tr td+td {
  border-left: solid 1px var(--Main);
  border-bottom: solid 1px var(--Main);
}

.hikaku__table thead tr:nth-of-type(1) th,
.hikaku__table thead tr:nth-of-type(1) td {
  text-align: center;
}

.hikaku__table tr th {
  background-color: var(--Sub);
  border-top: solid 1px var(--Main);
}

.hikaku__name {
  line-height: 1.3;
  display: block;
}

.hikaku__name.single {
  height: 36px;
  line-height: 36px;
}

.hikaku__logo {
  height: 57px;
  width: 100%;
  object-fit: contain;
}

.hikaku__logo.tcb {
  width: 74%;
  object-fit: cover;
  display: block;
  margin-inline: auto;
}

.hikaku__eva {
  width: 30px;
  height: 30px;
  display: block;
  margin-inline: auto;
  margin-bottom: 4px;
}

.hikaku__eva.bad {
  width: 26px;
}

.hikaku__cta__txt {
  margin-block: 0 2px;
  text-align: center;
}

.hikaku__cta__txt span {
  font-size: 12px;
}

.hikaku__cta__btn {
  border-radius: 4px;
  margin: 0px auto;
  width: 94%;
  padding: 10px 0;
  font-size: 13px;
  position: relative;
  background-color: var(--CTA);
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  transition: all 0.3s;
  text-align: center;
  display: block;
  border-bottom: solid 3px #b14321;
}

.hikaku__cta__btn::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
  right: 7%;
  transform: rotate(-45deg);
  top: 15.5px;
}

/* ========================================================
SECTION CHECK
=========================================================*/
section.check {
  margin-top: 12px;
  background-color: #FAF4DD;
}

.check__wrap {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  font-size: 13px;
}

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

.top .check__box__upper {
  border: solid 6px var(--Pink);
}

.tarumi .check__upper.right {
  border: solid 6px var(--Pink);
}

.tarumi .check__upper.left {
  border-left: solid 1px #000;
  border-top: solid 1px #000;
}

.check__box__lower {
  display: grid;
  border: solid 1px #000;
}

.check__upper.left,
.check__lower.left {
  border-right: solid 1px #000;
}

.check__upper,
.check__lower {
  padding: 8px;
}

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

.check__box__ttl {
  font-weight: bold;
  text-align: center;
  background-color: #f4f4f4;
  padding: 2px 0;
}

.check__box__icon__wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.check__box__conatiner {
  text-align: center;
  font-size: 12px;
}

.check__box__txt {
  margin-top: 4px;
}

.check__box__icon.off {
  opacity: 0.3;
}

.check img {
  display: block;
}

.check__txt {
  padding: 8px 18px 20px;
}

.check__txt p {
  margin: 0;
  font-size: 12px;
}

.check__txt .blue {
  color: var(--Blue);
}

/* ========================================================
SECTION FORM
=========================================================*/

.form {
  /* margin-top: 30px; */
  margin-top: -20px;
  position: relative;
}

.Refine_Search_Box_Ttl {
  text-align: center;
  font-weight: bold;
}

.Refine_Search_Box_Input {
  padding: 0px 20px 20px;
}

.Refine_Search_conditions_Area {
  margin: 0;
}

.Refine_Search_conditions_Area:not(:first-of-type) {
  margin-top: 16px;
}

.condition_ttl {
  font-size: 14px;
  font-weight: bold;
}

.multi-available {
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  background-color: var(--Main);
  padding: 2px 8px;
  border-radius: 80px;
  margin-left: 4px;
}

.nayami__list,
.way__list,
.treatment__list,
.price__list,
.kodawari__list {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 8px;
  margin-left: 0;
}

input[type="checkbox"],
input[type="radio"] {
  display: none;
}

.radiobtn_text,
.checkbox_text {
  font-size: 14px;
  font-weight: bold;
  border-radius: 8px;
  border: solid 1px var(--Main);
  background-color: #fff;
  width: calc((100% - 61px) / 2);
  display: flex;
  align-items: center;
  padding: 8px 12px;
  position: relative;
}

.price__list .checkbox_text {
  width: calc((100% - 9px) / 2);
  padding: 8px 12px;
  display: flex;
}

.multi-item {
  width: calc((100% - 9px) / 2);
  margin: 0;
}

.radiobtn_text.on,
.radiobtn_text.on01,
.radiobtn_text.on02,
.checkbox_text.selected {
  border-bottom: solid 3px var(--Main);
  background-color: var(--Sub);
  position: relative;
}

.nayami__list .radiobox,
.way__list .radiobox {
  border-radius: 50%;
}

.nayami__list .radiobtn_text:nth-of-type(1) .radiobox {
  background: url(../img/ico_blue.svg);
  background-size: 40px;
  width: 40px;
  height: 40px;
}

.nayami__list .radiobtn_text:nth-of-type(2) .radiobox {
  background: url(../img/ico_brown.svg);

  background-size: 40px;
  width: 40px;
  height: 40px;
}

.nayami__list .radiobtn_text:nth-of-type(3) .radiobox {
  background: url(../img/ico_black.svg);
  background-size: 40px;
  width: 40px;
  height: 40px;
}

.nayami__list .radiobtn_text:not(:nth-of-type(4)) {
  gap: 8px;
}

.nayami__list .radiobtn_text:nth-of-type(4) {
  justify-content: center;
}

.price__list .checkbox_text:not(:nth-of-type(3)) {
  gap: 8px;
}

.price__list .checkbox_text:nth-of-type(4) {
  justify-content: center;
  line-height: 40px;
}

.kodawari__list .checkbox_text {
  gap: 8px;
}

.treatment__list .radiobtn_text:nth-of-type(1) .radiobox {
  background: url(../img/ico_injection.svg) no-repeat center;
  background-size: 100%;
  width: 40px;
  height: 40px;
}

.treatment__list .radiobtn_text:nth-of-type(2) .radiobox {
  background: url(../img/ico_nocut.svg) no-repeat center;
  background-size: 100%;
  width: 40px;
  height: 40px;
}

.treatment__list .radiobtn_text:nth-of-type(3) .radiobox {
  background: url(../img/ico_cut.svg) no-repeat center;
  background-size: 100%;
  width: 40px;
  height: 40px;
}

.kodawari__list .checkbox_text:nth-of-type(1) .checkbox {
  background: url(../img/ico_doctor.svg) no-repeat center;
  background-size: 100%;
  width: 40px;
  height: 40px;
}

.kodawari__list .checkbox_text:nth-of-type(2) .checkbox {
  background: url(../img/ico_make.svg) no-repeat center;
  background-size: 100%;
  width: 40px;
  height: 40px;
}

.kodawari__list .checkbox_text:nth-of-type(3) .checkbox {
  background: url(../img/ico_time.svg) no-repeat center;
  background-size: 100%;
  width: 40px;
  height: 40px;
}

.kodawari__list .checkbox_text:nth-of-type(4) .checkbox {
  background: url(../img/ico_money.svg) no-repeat center;
  background-size: 100%;
  width: 40px;
  height: 40px;
}

.checkbox {
  border-radius: 6px;
}

.price__list .radiobtn_text.on01 .radiobox::before {
  position: absolute;
  content: "";
  background: url(../img/checkbox.png) no-repeat center center;
  background-size: 34px;
  width: 34px;
  height: 34px;
  left: -6px;
  top: -2.5px;
}

.frequency {
  display: flex;
  flex-wrap: wrap;
}

.checkbox_text::before {
  position: absolute;
  content: "";
  width: 24px;
  height: 24px;
  display: block;
  left: 46px;
}

.price__list .checkbox_text:nth-of-type(1)::before {
  background: url(../img/ico_capsule.png) no-repeat center;
  background-size: 24px;
}

.price__list .checkbox_text:nth-of-type(2)::before {
  background: url(../img/ico_kanpo.png) no-repeat center;
  background-size: 24px;
}

.price__list .checkbox_text:nth-of-type(3)::before {
  background: url(../img/ico_question.png) no-repeat center;
  background-size: 24px;
}

.checkbox_text.selected {
  position: relative;
}

.nayami__list .checkbox_text:nth-of-type(3).selected::after,
.nayami__list .checkbox_text:nth-of-type(4).selected::after {
  top: 57%;
}

.kodawari__list .checkbox_text:nth-of-type(1)::before {
  background: url(../img/ico_19.png) no-repeat center;
  background-size: 24px;
}

.kodawari__list .checkbox_text:nth-of-type(2)::before {
  background: url(../img/ico_calendar.png) no-repeat center;
  background-size: 24px;
}

.kodawari__list .checkbox_text:nth-of-type(3)::before {
  background: url(../img/ico_day.png) no-repeat center;
  background-size: 24px;
}

.kodawari__list .checkbox_text:nth-of-type(4)::before {
  background: url(../img/ico_phone.png) no-repeat center;
  background-size: 24px;
}

.Refine_Search_submit {
  padding: 0 20px;
  position: relative;
}

.Refine_Search_submit::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: solid 3px #fff;
  border-right: solid 3px #fff;
  right: 9%;
  transform: rotate(-45deg);
  top: 41%;
  z-index: 10;
}

.Refine_Search_cta input {
  background-color: transparent;
  border: none;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  padding: 20px 26px;
  width: 100%;
  position: relative;
}

.Refine_Search_cta .cta-btn {
  border-radius: 78px;
  font-size: 18px;
  /* padding: 20px 26px; */
  margin-top: 32px;
  position: relative;
  position: relative;
}

.Refine_Search_cta .cta-btn::after {
  background: url(../img/ico_arrow.svg) no-repeat center;
  background-size: 24px;
  position: absolute;
  content: "";
  width: 24px;
  height: 24px;
  right: 20px;
}

.Refine_Search_cta input,
.Refine_Search_cta .noSubmit,
.Refine_Search_submit input[type="submit"] {
  display: block;
  background-color: #23a5b1;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
  width: 100%;
  margin: 0px auto;
  line-height: 50px;
  border: none;
  border-radius: 10px;
  border-bottom: solid 3px #186f77;
  font-size: 17px;
  position: relative;
}

.Refine_Search_cta .noSubmit::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: solid 3px #fff;
  border-right: solid 3px #fff;
  right: 5%;
  transform: rotate(-45deg) translateY(-52%);
  top: 50%;
}

#bigword {
  font-size: 14px;
  font-weight: bold;
  border-radius: 8px;
  border: solid 1px var(--Main);
  color: #000;
  background-color: #fff;
  height: 58px;
  position: relative;
  padding: 0 8px;
  width: 100%;
}

/* 地域選択 */
#smword {
  position: relative;
}

#smword select {
  display: none;
  position: absolute;
  top: 0;
  font-size: 14px;
  font-weight: bold;
  border-radius: 8px;
  border: solid 1px var(--Main);
  background-color: #fff;
  height: 58px;
  position: relative;
  padding: 0 8px;
  width: 100%;
  color: #000;
}

#smword select.on {
  display: block;
}

#Refine_Search_Area .area_select {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 4px;
  margin-left: 0;
}

/* ========================================================
SECTION RANKING
=========================================================*/
section.ranking {
  margin-top: 30px;
}

.ranking_wrap {
  padding: 0 10px;
}

.ranking__box:not(:first-of-type) {
  margin-top: 34px;
}

.ranking__head__tx {
  font-size: 14px;
}

.ranking__head a {
  font-size: 20px;
}

.rank__bnr {
  margin-top: 10px;
  width: 100%;
}

.ranking__point__wrap {
  background-color: var(--Light_gray);
  padding: 16px 10px;
  font-size: 14px;
  margin-top: 10px;
}

.ranking__point__wrap ul {
  padding: 0;
  margin: 0;
}

.ranking__point__wrap ul li {
  list-style-type: none;
  position: relative;
  margin-left: 0;
  padding-left: 24px;
}

.ranking__point__wrap ul li:not(:first-of-type) {
  margin-top: 4px;
}

.ranking__point__wrap ul li::before {
  position: absolute;
  content: "";
  background: url(../img/point_check_ico.svg) no-repeat center;
  background-size: 100%;
  width: 14px;
  height: 14px;
  top: 0;
  left: 0;
  transform: translateY(50%);
}

.ranking__table__wrap {
  width: 100%;
  margin-top: 16px;
}

.ranking__table {
  width: 100%;
  border-collapse: collapse;
  border: solid 1px var(--Main);
}

.ranking__table th {
  width: 12%;
  font-size: 14px;
}

.ranking__table td {
  width: calc(88% / 3);
  font-size: 14px;
  text-align: left;
  padding: 8px;
  line-height: 1.3;
}

.ranking__table td.remove_padding {
  padding: 0;
}

.ranking__table tr th+td,
.ranking__table tr td+td {
  border-left: solid 1px var(--Main);
  border-bottom: solid 1px var(--Main);
}

.ranking__table thead tr:nth-of-type(1) th,
.ranking__table thead tr:nth-of-type(1) td {
  text-align: center;
}

.ranking__table tr th {
  background-color: var(--Sub);
  border-top: solid 1px var(--Main);
  line-height: 1.3;
  padding: 4px 0;
}

.ranking__table dl {
  margin: 0;
}

.ranking__table dl dd {
  margin-left: 0;
  padding: 6px 8px;
}

.ranking__table dl dd:not(:last-of-type) {
  border-bottom: solid 1px var(--Main);
}

.ranking__txt__wrap {
  margin-top: 16px;
  font-size: 14px;
}

.ranking__txt__wrap p {
  margin: 0;
}

.ranking__txt__wrap p:not(:first-of-type) {
  margin-top: 8px;
}

.ranking__ano {
  font-size: 1rem;
  line-height: 1.7;
  margin-top: 8px;
  color: var(--Dark_gray);
}

.rank__cta__btn {
  border-radius: 4px;
  border-bottom: solid 3px #b14321;
  margin: 16px auto 0px;
  width: 100%;
  padding: 10px 0;
  font-size: 17px;
  position: relative;
  background-color: var(--CTA);
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  transition: all 0.3s;
  text-align: center;
  display: block;
  line-height: 1.4;
}

.rank__cta__btn::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: solid 3px #fff;
  border-right: solid 3px #fff;
  right: 5%;
  transform: rotate(-45deg);
  top: 29px;
}

.official__link {
  text-align: right;
  margin-top: 10px;
}

.shop {
  padding: 15px 4px;
  margin-top: 20px;
  background: #dff6f4;
}

.shop__ttl {
  font-size: 16px;
}

.ttl--txt {
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  margin-top: 0;
}

.ttl--txt span {
  border-bottom: 2px solid #6ad1ce;
  padding-bottom: 2px;
}

.bg--wh {
  background: #fff;
  border: 1px solid #000;
  position: relative;
  width: 100% - 3px;
  padding: 15px;
  margin-right: 3px;
  margin-bottom: 3px;
}

.bg--wh::before {
  content: "";
  display: inline-block;
  background: #000;
  width: 1px;
  height: calc(100% - 2px);
  position: absolute;
  right: -4px;
  bottom: -4px;
}

.bg--wh::after {
  content: "";
  display: inline-block;
  background: #000;
  width: calc(100% - 2px);
  height: 1px;
  position: absolute;
  right: -4px;
  bottom: -4px;
}

.shop__inner {
  font-size: 14px;
  padding: 10px 15px;
  margin-top: 16px;
}

.shop__inner>dl>div {
  margin-top: 8px;
}

.shop dt {
  font-weight: bold;
  border-bottom: 1px solid #000;
  margin-top: 10px;
}

.shop dd {
  margin-top: 4px;
  margin-left: 0px;
}

.shop dd a,
.shop dd span {
  display: inline-block;
  font-weight: bold;
}

/* ========================================================
SECTION RANKING 4位以下
=========================================================*/
.ranking__aco .ranking__box .ranking__head-wrap::before {
  background: url(../img/osusume_ico04.svg) center;
  background-size: 50px;
}

.ranking__more-btn {
  font-size: 16px;
  font-weight: bold;
  color: var(--Main);
  border: solid 1px var(--Main);
  padding: 32px 0;
  text-align: center;
  background-color: #fff;
  border-radius: 78px;
  margin-top: 30px;
  position: relative;
}

.ranking__more-btn::before {
  position: absolute;
  content: "4位以下を見る";
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.ranking__more-btn.on::before {
  position: absolute;
  content: "4位以下を閉じる";
}

.ranking__more-btn::after {
  position: absolute;
  content: "";
  background: url(../img/ranking_aco_btn.svg) no-repeat center;
  background-size: 24px;
  width: 24px;
  height: 24px;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
}

.ranking__more-btn.on::after {
  transform: rotate(180deg);
  top: 30%;
}

.ranking__aco {
  margin-top: 32px;
  display: none;
}

/* ========================================================
SECTION SUMMARY
=========================================================*/
section.summary {
  margin-top: 30px;
}

.summary__wrap {
  padding: 0 10px;
}

.summary__bnr {
  width: 100%;
}

.summary__txt {
  font-size: 14px;
}

.summary__cta {
  margin-top: 10px;
}

.summary__cta__ttl {
  margin: 0;
  text-align: center;
}

.summary__cta__logo {
  width: 44%;
  margin-inline: auto;
  display: block;
}

.summary__cta__btn {
  border-radius: 4px;
  margin: 0px auto 0px;
  width: 100%;
  padding: 10px 0;
  font-size: 17px;
  position: relative;
  background-color: var(--CTA);
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  transition: all 0.3s;
  text-align: center;
  display: block;
  line-height: 1.4;
  border-bottom: solid 3px #b14321;
}

.summary__cta__btn::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: solid 3px #fff;
  border-right: solid 3px #fff;
  right: 5%;
  transform: rotate(-45deg);
  top: 29px;
}

/* ========================================================
FOOTER
=========================================================*/

.footer {
  padding: 20px;
  background-color: #000;
  color: #fff;
  /* margin-top: 30px; */
}

.footer a {
  color: #fff;
}

.txt-lg {
  font-size: 14px;
}

dl:not(:first-of-type) {
  margin-top: 24px;
}

.footer .aco-cont {
  margin: 0;
}

.txt-md {
  font-size: 14px;
  font-weight: bold;
  padding: 0;
  margin: 4px 0 0;
}

.txt-md li {
  list-style-type: none;
}

.txt-md li:not(:first-of-type) {
  margin-top: 8px;
}

.footer__bottom .footer__links {
  margin-top: 24px;
  border-top: solid 1px #fff;
  padding-top: 24px;
  gap: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.footer__bottom .footer__links ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0;
}

.footer__bottom ul li {
  list-style: none;
}

.footer__bottom ul li span {
  padding-left: 15px;
  padding-right: 10px;
  color: #fff;
}

.footer__bottom .footer__links a {
  font-size: 14px;
  text-decoration: none;
}

.footer__copy {
  text-align: center;
  font-size: 10px;
  margin-top: 14px;
  color: #909090;
}

/* ========================================================
検索結果ページ
=========================================================*/
.result_page #CONTENTS {
  background-color: #fff;
}

#PANKUZU {
  padding: 13px 0;
}

.imgttl_searchresult {
  margin-top: 8px;
}

.contents.clearfix {
  margin-top: 34px;
  padding: 0 20px;
}

.searchConditions {
  border: solid 2px var(--Main);
  position: relative;
  text-align: center;
}

.searchConditions__ttl {
  font-size: 16px;
  color: var(--Text);
  font-weight: bold;
  text-align: center;
  background-color: #fff;
  display: inline;
  padding: 4px 8px;
  position: absolute;
  top: -16px;
  left: 50%;
  white-space: nowrap;
  transform: translateX(-50%);
}

.searchConditions__wrap {
  border-collapse: collapse;
  margin-top: 8px;
  text-align: left;
  padding: 14px 14px 20px;
  font-size: 16px;
  font-weight: bold;
}

.searchConditions__wrap dl {
  display: flex;
  gap: 10px;
  align-items: center;
  border-bottom: dashed 1px #ccc;
  padding-bottom: 10px;
}

.searchConditions__wrap dt {
  text-align: center;
  position: relative;
  padding-right: 10px;
  width: 32%;
  white-space: nowrap;
}

.searchConditions__wrap dt::after {
  position: absolute;
  content: " :";
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.searchConditions__wrap dd {
  /* margin-top: 4px; */
  width: 68%;
}

.Refine_Result_Count {
  font-size: 16px;
  font-weight: bold;
  color: #2a2a2a;
  text-align: center;
  margin-top: 24px;
}

.result__match__accent {
  color: var(--CTA);
  display: inline-block;
}

.result.ng-scope {
  margin-top: 40px;
  padding: 0 20px;
  position: relative;
}

.card__inner::after {
  position: absolute;
  content: "";
  background: url(../img/waveline.png) no-repeat center;
  background-size: 100vw 4px;
  width: 100vw;
  height: 4px;
  margin: 24px calc(50% - 50vw) 0;
  top: -44px;
  left: 0;
}

.card__rank__header p {
  font-size: 14px;
  color: #2a2a2a;
  font-weight: bold;
}

.noLink {
  display: block;
  margin-top: 8px;
}

.noLink a {
  font-size: 20px;
  font-weight: bold;
  text-decoration: underline;
}

.card__bnr-img.noLink {
  margin-top: 22px;
}

.result_page .ranking___point-wrap .result.ng-scope ::after {
  width: 0;
}

.result_page .ranking__box__table th {
  line-height: 1.4;
}

.result_page .ranking__box__table td {
  vertical-align: middle;
}

/* .result_page .ranking__cta {
	width: 100%;
} */

.result_page small {
  font-size: smaller;
}

.result_page .inner {
  margin-top: 60px;
}

/* ========================================================
20240612 スライダー
=========================================================*/
section.slider {
  margin-top: 16px;
}

.slide-arrow.prev-arrow,
.slide-arrow.next-arrow {
  display: block;
  width: 30px;
  height: auto;
  position: absolute;
  top: 46%;
  transform: translateY(-50%);
  z-index: 10;
}

.slide-arrow.next-arrow {
  right: -8px;
}

.slide-arrow.prev-arrow {
  left: -8px;
}

.slick-slider {
  padding: 0;
}

.topSection02__scroll {
  width: 100%;
  padding: 0 8px;
  box-sizing: border-box;
}

.topSection02__list-item {
  list-style-type: none;
}

.slider__img {
  width: 100%;
}

/* 20240729 注射追記 */
.injection .check__box__upper {
  border: none;
}

.injection .check__upper.right {
  border-top: 1px solid #000;
  border-right: 1px solid #000;
}

.injection .check__upper.left {
  border: solid 6px var(--Pink);
}

/* 20240925 1位修正 */
.ranking_wrap {
  padding: 0;
}

.ranking__box {
  padding: 10px;
}

.ranking__table td {
  background-color: #fff;
}

.ranking .rank01 {
  background-color: var(--Yellow);
}

.shop {
  padding: 15px 10px;
}

.result_page .ranking__box {
  padding: 0;
}

.result__item {
  padding: 10px;
}

.result__item.id_1 {
  background-color: var(--Yellow);
}

.result__item:not(.id_1):not(.id_2):not(.id_3):not(.id_4):not(.id_5):not(.id_6) .ranking__point__wrap {
    display: none;
}


/* ========================================================
20240926 地域版作成
=========================================================*/
.area__name-wrap {
  position: absolute;
  width: 30%;
  height: 24px;
  top: 6.5%;
  right: 16%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.area__name {
  font-size: 1.5rem;
  position: absolute;
  color: #fff;
  letter-spacing: 5px;
  font-weight: bold;
}

/* ==========================================================================
20250514 コラム
=========================================================================== */
body.entry {
  margin: 0 auto;
  background-color: var(--Back);
  font-size: 1.4rem;
  font-feature-settings: unset;
}

.pankuzu {
  margin: 0 auto;
  width: 100%;
  max-width: 750px;
  box-sizing: border-box;
  overflow-x: scroll;
  padding-right: 15px;
  padding-left: 15px;
}

.pankuzu ul {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  list-style: none;
}

.pankuzu ul .pankuzu__item {
  font-size: 1rem;
  color: #505050;
  white-space: nowrap;
}

.pankuzu ul .pankuzu__item a img {
  width: 14px;
  height: 14px;
  margin-right: 7px;
}

.pankuzu ul li.pankuzu__item::before {
  content: "＞";
  display: inline-block;
  margin: 0 5px;
}

.pankuzu ul li.pankuzu__item.pankuzu__item-home a {
  display: flex;
}

.pankuzu ul li.pankuzu__item.pankuzu__item-home::before {
  display: none;
}

.entry__header {
  padding: 10px 0;
  background-color: #fff;
}

.entry__header h1 {
  padding: 0 2.5rem;
  text-align: center;
  color: var(--Blue);
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
}

.entry h2 {
  position: relative;
  margin: 0 auto;
  padding: 20px;
  font-size: 1.8rem;
  border-top: 6px solid var(--Main);
  border-bottom: 1px solid var(--Main);
}

.entry h2::after {
  content: "";
  display: inline-block;
  width: 50%;
  box-sizing: border-box;
  background-color: var(--Blue);
  height: 6px;
  position: absolute;
  top: -6px;
  left: 50%;
}

.entry h3 {
  margin: 40px auto 0;
  padding: 5px 10px;
  color: var(--Blue);
  font-size: 1.6rem;
  font-weight: bold;
  border-left: 3px solid var(--Main);
  line-height: 1.5;
}

.entry__inner {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  padding: 0 15px 30px;
  background-color: #fff;
  box-sizing: border-box;
}

.entry__midashi {
  margin: 20px auto 15px;
  font-weight: bold;
  font-size: 1.6rem;
  padding-left: 36px;
  position: relative;
  line-height: 1.5;
}

.entry__midashi01,
.entry__midashi02,
.entry__midashi03 {
  color: var(--Blue);
  font-weight: bold;
  border-bottom: 1px solid var(--Main);
  padding-bottom: 5px;
  position: absolute;
  left: 0;
  top: -1px;
}

.entry__midashi01::before,
.entry__midashi02::before,
.entry__midashi03::before {
  display: inline-block;
  content: "0";
  color: var(--Main);
}

.entry .footer {
  margin: 0 auto;
}

/* ========================================================
20250514 商標
=========================================================*/
body.post {
  margin: 0 auto;
  background-color: var(--Back);
}

.post_container-in {
  background-color: #fff;
  padding: 20px 20px 40px;
}

.post_container h1 {
  font-size: 18px;
  margin-top: 0;
  margin-bottom: 5px;
  color: var(--Blue);
}

.post_container h2 {
  font-size: 16px;
  line-height: 1.5;
  padding: 16px 0;
  margin-top: 32px;
  border-top: 3px solid var(--Main);
  border-bottom: 3px solid var(--Main);
}

.post_container h3 {
  margin-top: 32px;
  font-size: 16px;
  padding: 0 0 8px 12px;
  border-bottom: 2px solid var(--Main);
  border-left: 4px solid var(--Blue);
}

.post_container .tablearea {
  border-collapse: collapse;
  margin-top: 24px;
  text-align: left;
  table-layout: fixed;
  position: relative;
  border: 1px solid var(--Main);
}

.post_container .post_single table.tablearea th.heading {
  background-color: var(--Blue);
  color: #fff;
}

.post_container .post_single table.tablearea th:not(.heading) {
  background-color: var(--Sub);
}

.post_container table.tablearea th,
.post_container table.tablearea td {
  width: 33%;
  padding: 10px 6px;
  font-size: 12px;
  font-weight: normal;
  border: 1px solid var(--Main);
}

.post_container .cta__btn {
  border-radius: 4px;
  border-bottom: solid 3px #b14321;
  margin: 16px auto 0px;
  width: 100%;
  padding: 10px 0;
  font-size: 17px;
  position: relative;
  background-color: var(--CTA);
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  transition: all 0.3s;
  text-align: center;
  display: block;
  line-height: 1.4;
}

.post_container .cta__btn::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: solid 3px #fff;
  border-right: solid 3px #fff;
  right: 5%;
  transform: rotate(-45deg);
  top: 29px;
}

.post_container .simplebox .n_check li::marker {
  color: var(--Main);
}

.post_container .simplebox {
  background-color: var(--Light_gray);
  padding: 10px 5px 10px 40px;
}

.post_container .flow li {
  list-style: none;
}

.post_container .flow .num {
  display: inline-block;
  width: 60px;
  height: 26px;
  margin-bottom: 16px;
  padding: 3px 6px;
  background-color: var(--Main);
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 12px;
  line-height: 25px;
  letter-spacing: 0.1em;
}

.post_container .flow .num .bg {
  font-size: 16px;
}

.post_container .c__en {
  font-family: "Barlow Condensed", sans-serif;
}

.post_container ul {
  padding: 0;
}

.post_single .flow__cont {
  padding-left: 20px;
  border-left: 2px solid var(--Main);
}

.post_container .flow__cont-ttl {
  font-weight: bold;
}

.post_container .flow__cont-txt {
  font-size: 13px;
}

.post .footer {
  margin-top: 0;
}

/* ========================================================
20250521 おすすめ
=========================================================*/
/* .first-recommend__top img {
  width: 100%;
  height: auto;
}
.first-recommend__bottom {
  margin-top: 20px;
  padding-inline: 15px;
}
.first-recommend__bottom img {
  width: 100%;
  height: auto;
} */

/* 20250617 改修 */
.first-recommend__wrap {
  overflow: auto;
}
.first-recommend__img {
  width: 500px;
  margin: 0 auto;
}
.first-recommend__txtBox {
  margin: 10px;
  text-align: center;
  border: solid 1px var(--Blue);
  border-radius: 5px;
}
.first-recommend__txtBox p {
  margin: 0;
  padding: 6px 0;
  background-color: var(--Blue);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  border-radius: 5px 5px 0 0;
}
.first-recommend__txtBox div {
  padding: 6px 0;
}
.first-recommend__txtBox span {
  display: block;
  font-size: 12px;
}



/* ========================================================
20250521 LINE CTA
=========================================================*/
.line-cta {
  margin-top: 20px;
  /* padding-inline: 15px; */
}
.line-cta__link img {
  display: block;
  width: 100%;
}

/* ========================================================
20250610 TCB PR追加
=========================================================*/
.tcb__pr {
  margin-top: 5px;
  padding-bottom: 10px;
  background: #EDFDFC;
}
.tcb__pr__ttl {
  padding: 4px 0;
  margin-top: 0;
  margin-bottom: 10px;
  background-color: #20A3AF;
  font-size: 12px;
  text-align: center;
  color: #fff;
}
.tcb__pr__txt {
  margin: 0;
  font-size: 14px;
  text-align: center;
}
.tcb__pr__bn {
  display: block;
  margin: 0 20px;
  text-align: center;
}
.tcb__pr .yellow {
  color: #F0FF31;
}
/* ========================================================
20250617 TCB アピールコンテンツ追加
=========================================================*/
.nayami,
.survey,
.beginner__img {
  max-width: 750px;
  margin: 0 auto;
}

.appeal {
  background-color: #FFFAC8;
  margin: 20px auto 0;
  padding: 16px;
  max-width: 750px;
}
.appeal__head {
  display: grid;
  grid-template-columns: 50px 1fr;
  align-items: center;
  gap: 8px;
}
.appeal__name p {
  margin: 0;
  font-size: 13px;
}
.appeal__name a {
  font-size: 20px;
}
.appeal__bnr {
  margin-top: 10px;
}
.appeal__txt p {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 6px 0;
  font-size: 14px;
  font-weight: bold;
}
.appeal__txt p::before {
  content: "";
  background: url(../img/icon_check.svg) no-repeat center;
  background-size: 100%;
  width: 14px;
  height: 14px;
  position: relative;
  top: 0;
  left: 0;
  display: block;
}
.appeal__txt span {
  font-size: 14px;
}
.appeal__cta__btn {
  display: block;
  margin: 10px auto 0;
  padding: 10px 0;
  font-size: 18px;
  position: relative;
  background-color: var(--CTA);
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  transition: all 0.3s;
  text-align: center;
  border-radius: 4px;
  border-bottom: solid 3px #b14321;
}
.appeal__cta__btn::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-bottom: solid 3px #fff;
  border-right: solid 3px #fff;
  right: 7%;
  transform: rotate(-45deg);
  top: 31.5px;
}
/* ========================================================
20250618 TCB 症例コンテンツ追加
=========================================================*/
.case {
  max-width: 750px;
  margin: 0 auto;
}
.case__wrap {
  position: relative;
  padding: 0 20px;
  text-align: center;
}
.slider-wrap {
  margin-top: 10px;
  position: relative;
}
.sample-slider {
  width: 100%;
  position: relative;
}
.swiper-slide {
  background-color: #EDFDFC;
  border: solid 1px #7A7B7B;
  padding: 30px 30px 28px;
  box-sizing: border-box;
}
.sample-slider img {
  width: calc(100% - 46px);
  display: block;
  margin-inline: auto;
}
.slider__inside {
  margin: 8px auto 0;
}
.slider__inside-txt {
  margin: 0;
  text-align-last: left;
  font-size: 10px;
}
.case__wrap .swiper-pagination {
  position: static;
  margin-top: 5px;
}
.case__official {
  padding: 0 20px;
  text-align: right;
  transform: translateY(-20px);
}
.case__official p {
  margin: 0 0 5px;
  font-weight: bold;
}
.case__official a {
  font-size: 16px;
}
