/* ==========================================================================
下層ページ
=========================================================================== */
.cm__cta, .cm__causeBtnLink {
  background: linear-gradient(to bottom, #4ea5b0, #14b9ce);
  padding: 3.75rem 1.5625rem;
  color: var(--white);
}
.cm__causeBtnLink__mess {
  font-size: 1rem;
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
}
.cm__cta a.clinic__info-btn,
a.cm__causeBtnLink__btn {
  position: relative;
  display: block;
  cursor: pointer;
  margin: 0 auto;
  color: #24636b;
  font-size: 1rem;
  font-weight: 700;
  line-height: 3.8rem;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  width: 100%;
  max-width: 340px;
  border-radius: 0.5rem;
  background-image: linear-gradient(135deg, var(--Point), var(--Point) 20%, #ffb347, var(--Point));
  background-size: 300% 100%;
  transition: background 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
a.cm__causeBtnLink__btn {
  margin: 0.25rem auto 2.25rem;
  line-height: 3.875rem;
}
a.cm__causeBtnLink__btn.w {
  background: var(--white);
  overflow: hidden;
}
a.cm__causeBtnLink__btn.w::after {
  background-image: url("../img/icon-arrow-teal.svg");
}
a.cm__causeBtnLink__btn.w::before {
  content: '';
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  background-size: 200% auto;
  background-position: 0% 0;
  opacity: 0;
  z-index: 0;
  transition: opacity 0.4s ease, background-position 0.4s ease;
  background-image: linear-gradient(135deg, #4ea5b0, #4ea5b0 20%, #4ea5b0, #8fd3f4);
}
.cm__causeBtnLink a.cm__causeBtnLink__btn:last-of-type {
  margin-bottom: 0;
}
.cm__cta a.clinic__info-btn span,
a.cm__causeBtnLink__btn span {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.cm__cta a.clinic__info-btn::after,
a.cm__causeBtnLink__btn::after {
  transition: right 0.4s ease;
  content: "";
  display: block;
  background-image: url('../img/ico-circlearrow-wh-r_.svg');
  width: 1.5rem;
  height: 1.5rem;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  right: 1.125rem;
  top: 50%;
  transform: translateY(-50%);
}
.cm__cta a.clinic__info-btn:hover,
.cm__cta a.clinic__info-btn:active,
a.cm__causeBtnLink__btn:hover,
a.cm__causeBtnLink__btn:active {
  background-position: 100% 0;
  box-shadow: 0 0.3125rem 1.25rem rgba(59, 77, 128, 0.4);
}
.cm__cta a:hover::after, .cm__cta a:active::after,
a.cm__causeBtnLink__btn:hover::after, a.cm__causeBtnLink__btn:active::after {
  right: 0.9375rem;
}
a.cm__causeBtnLink__btn.w:hover {
  color: var(--white);
}
a.cm__causeBtnLink__btn.w:hover::before {
  opacity: 1;
  background-position: 100% 0;
}

.qaBox {
  text-align: left;
  display: inline-block;
  width: 100%;
  border-radius: 0.25rem;
  box-shadow: 0.0625rem 0.0625rem 0.1875rem #ccc;
  padding: 2rem 1.25rem;
  position: relative;
  background-color: var(--white);
  margin-top: 0.75rem;
}
.qaBox:hover {
  cursor: pointer;
}
.qaBox::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background-image: url('../img/ico-plus-bl.svg');
  background-size: 1.25rem;
  display: inline-block;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-position: center;
}
.qaBox.active::after {
  background-image: url('../img/ico-minus-bl.svg');
  top: 2rem;
}
.qaBox__q {
  font-size: 1rem;
  position: relative;
  display: flex;
  align-items: center;
  padding-right: 2.5rem;
}
.qaBox__q p {
  margin-top: 0 !important;
  color: var(--Text_Main);
}
.qaBox__q::before {
  content: "Q";
  width: 1.3125rem;
  height: 2.3125rem;
  display: inline-block;
  color: var(--Text_Main);
  font-weight: 400;
  font-family: oswald;
  font-size: 1.1875rem;
  margin-right: 0.5625rem;
  line-height: 2.3125rem;
  text-align: center;
}
.qaBox__a {
  margin-top: 1.5rem;
  font-size: 1rem;
  line-height: 1.5;
  display: none;
  height: 0.0625rem;
  transition: 0.3s;
  overflow: hidden;
  position: relative;
  padding-right: 1.5rem;
}
.active .qaBox__a {
  display: flex;
  height: auto;
  overflow: visible;
  padding-top: 1.125rem;
  padding-bottom: 0.8125rem;
  border-top: 0.0625rem solid var(--Text_Main);
}
.qaBox__a::before {
  content: "A";
  min-width: 1.3125rem;
  height: 2.3125rem;
  font-family: oswald;
  color: var(--Text_Main);
  font-size: 1.1875rem;
  font-weight: 400;
  display: inline-block;
  margin-right: 0.5625rem;
  text-align: center;
}

.cm__h3 {
  color: var(--Main);
  font-size: 1.25rem;
  font-weight: bold;
  border-bottom: 0.0625rem solid var(--Main);
  margin-top: 3.375rem;
  padding-bottom: 0.6875rem;
}
.cm__h3 + * {
  margin-top: 1.5rem;
}
.bg__gray {
  background-color: var(--Back);
}
.gray {
  color: #969696;
}
.full_img {
  width: 100%;
}
.full_img img {
  width: inherit;
  max-width: 100%;
}

.ft24 { font-size: 1.5rem; }
.ft32 { font-size: 2rem; }
.ft40 { font-size: 2.5rem; }

.flow__list {
  display: grid;
  grid-template-columns: 1fr;
  padding: 0 1.25rem;
  gap: 2.25rem;
  margin: 3.3125rem auto 3.375rem;
}
.flow__list-item {
  text-align: center;
  padding: 1.25rem 0.9375rem;
  border-radius: 0.25rem;
  border: 0.0625rem solid #999;
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}
.flow__list-item::before {
  content: "";
  position: absolute;
  bottom: -25px;
  left: 50%;
  margin-left: -25px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.5625rem 1.5625rem 0 1.5625rem;
  border-color: var(--white) transparent transparent transparent;
  z-index: 2;
}
.flow__list-item::after {
  content: "";
  position: absolute;
  bottom: -26px;
  left: 50%;
  margin-left: -26px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.625rem 1.625rem 0 1.625rem;
  border-color: #999 transparent transparent transparent;
  z-index: 1;
}
.flow__list-item:last-of-type::before,
.flow__list-item:last-of-type::after {
  content: none;
}
.flow__list-item img {
  width: 128px;
  height: 6.1875rem;
  object-fit: cover;
}
.flow__list-item .step {
  display: table;
  width: 113px;
  margin: 0 auto;
  text-align: center;
  font-size: 1.375rem;
  color: var(--white);
  background-color: var(--Main);
  border-radius: 6.25rem;
  font-family: oswald;
  line-height: 2.1875rem;
  height: 2.1875rem;
}
.flow__list-txt {
  font-weight: bold;
  color: var(--Main);
  font-size: 1.25rem;
  margin-top: 1.25rem;
  display: inline-block;
  line-height: 1.4;
}
.flow__list-flex {
  display: flex;
  gap: 0.8125rem;
  flex-direction: column;
  width: 100%;
}
.flow__list-flex-inner {
  display: flex;
  justify-content: space-around;
}
.flow__list-item .itemRight {
  background-color: var(--Back);
  padding: 0.5625rem 0.75rem;
  min-width: 158px;
}
.flow__list-item .itemRight__ttl {
  text-align: left;
  border-bottom: 1px solid var(--Main);
  color: var(--Main);
  font-weight: bold;
  line-height: 1.6;
  display: inline-block;
  width: 100%;
}
.flow__list-item .itemRight__ttl + p {
  margin-top: 0;
  line-height: 1.5;
  font-size: 0.875rem;
  text-align: left;
}

.pageinner__sm,
.pageinner__md,
.pageinner__lg {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

.pageContents, .singleContents {
  font-size: 1rem;
  line-height: 2;
  padding-top: 3.375rem;
}
.singleContents {
  text-align: left;
}

.pageContents__ttl, .singleContents__ttl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  border-bottom: 0.0625rem solid var(--Main);
  height: 170px;
  padding: 0 0.75rem;
  text-align: center;
  color: var(--white);
  background-image: url(../img/contents-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
.pageContents__ttl-h1, .singleContents__ttl-p {
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.2;
  font-size: 1.875rem;
  padding: 0.3125rem 1rem;
}
.pageContents__ttl-h1,
.pageContents__ttl-h1:has(> br.forSP),
.singleContents__ttl-p {
  background: linear-gradient(to right, #4ea5b0, #14b9ce);
}
.pageContents__ttl-h1:has(> br),
.pageContents__ttl-h1:has(> br.forSP) {
  background: none;
}
.pageContents__ttl-h1:has(> br) span {
  background: linear-gradient(to right, #4ea5b0, #14b9ce);
  padding: 0.375rem;
  line-height: 1;
  display: inline-block;
}
.pageContents__ttl-h1:has(> br) span:first-of-type,
.pageContents__ttl-h1:has(> br:not([class])) span:first-of-type {
  position: relative;
  top: -0.5rem;
  font-size: 1.25rem;
}

.singleContents__ttl-h1 {
  font-size: 1.25rem;
}

p.pageContents__ttl-en, .singleContents__ttl-en {
  color: var(--Main);
  font-family: oswald;
  line-height: 1;
  margin-top: 0 !important;
  font-size: 1rem;
}

.pageContents__container, .singleContents__container {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.pageContents__container > *:first-child {
  margin-top: 0;
}

.pageContents__container h2 {
  text-align: center;
  line-height: 1.4;
  font-size: 1.5rem;
  margin-top: 0.875rem;
}

.singleContents h2 {
  font-size: 1.25rem;
}
.singleContents h3 {
  font-size: 1.125rem;
}
.pageContents__en {
  color: var(--Main);
  line-height: 1;
  font-size: 1.25rem;
  text-align: center;
  display: block;
  margin-bottom: 0.625rem;
  font-weight: 400;
  font-family: oswald;
  padding-top: 3.125rem;
  letter-spacing: 0.07em;
}
.singlePage {
  padding: 3.125rem 1.25rem;
}
.singlePage__ttl-h1 {
  font-size: 1.375rem;
}
.singlePage__contents {
  margin-top: 1.5rem;
}
.pageContents .cm__btn {
  max-width: 284px;
}

.cm__list li, .n_check li {
  position: relative;
  padding-left: 1.125rem;
}
.cm__list li::before, .n_check li::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  display: block;
  border-radius: 6.25rem;
  background-color: var(--Main);
  position: absolute;
  top: 52%;
  transform: translateY(-50%);
  left: 0;
}
.cm__cardlist__list {
  margin-top: 5rem;
}
.cm__cardlist__item {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  box-shadow: 0 0 0.3275rem rgba(0, 0, 0, 0.1);
}
.cm__cardlist__item + .cm__cardlist__item {
  margin-top: 1.875rem;
}
.cm__cardlist__heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: 100%;
  padding-bottom: 0.875rem;
  border-bottom: 0.0625rem solid var(--Main);
}
.cm__cardlist__heading h3 {
  border-bottom: none;
  width: 100%;
  margin-top: 0 !important;
  font-size: 1.5rem;
  letter-spacing: 0;
  padding-bottom: 0;
  line-height: 1.4;
}
.cm__cardlist__number {
  font-family: oswald;
  font-weight: 400;
  font-size: 2.1875rem;
  color: var(--Main);
  line-height: 1;
}
.cm__cardlist__content {
  margin-top: 1rem;
}
.cm__cardlist__content a {
  position: relative;
  text-decoration: underline;
  color: var(--Main);
  display: flex;
  align-items: center;
  margin-top: 0.1875rem;
  gap: 0.3125rem;
}
.cm__cardlist__content a::before {
  content: "";
  display: block;
  background-image: url(../img/icon-arrow-teal.svg);
  width: 1.5rem;
  height: 1.5rem;
  background-repeat: no-repeat;
  background-size: contain;
}
.singlePage {
  padding: 6.25rem 1.25rem;
}
.singleContents__article {
  background-color: var(--Back);
}
.columnPage__container {
  padding: 6.25rem 0;
  display: flex;
  justify-content: space-between;
  width: 1020px;
  margin: 0 auto;
  background-color: var(--Back);
}
.singlePage__ttl {
  padding-bottom: 1.75rem;
}
.singlePage__ttl-date {
  font-size: 0.9375rem;
  line-height: 1;
  margin-top: 1.125rem;
  width: 100%;
  font-size: 0.9375rem;
  border-bottom: 0.0625rem solid var(--Main);
  display: inline-block;
  padding-bottom: 0.8125rem;
}
.singlePage__ttl-h1 {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-weight: bold;
}
.singlePage__contents {
  margin-top: 2.5rem;
}
.singleContents h2 {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--Main);
  border-bottom: 0.0625rem solid var(--Main);
  margin-top: 3.875rem;
}
.singleContents h3 {
  border-bottom: 0.0625rem solid var(--Text);
  margin-top: 3.125rem;
}
.singleContents p {
  margin-top: 2rem;
}
.singleContents .n_check li::before {
  top: 0.8125rem;
  transform: initial;
}

/* ==================================================
   CONTACT / FORM (BASE)
   ================================================== */
.contactPage {
  padding: 3.125rem 1.5rem;
}
.contactPage__progress-list {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
}
.contactPage__progress-item {
  line-height: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: 3rem;
  position: relative;
}
.contactPage__progress-item:nth-child(n + 2)::before {
  content: "";
  display: inline-block;
  background: var(--Text);
  width: 4.875rem;
  height: 0.0625rem;
  position: absolute;
  left: -3.6875rem;
  bottom: 0.5rem;
}
.contactPage__progress-dot {
  background: #f5f3ed;
  border: 0.0625rem solid var(--Text);
  border-radius: 50%;
  width: 1rem;
  height: 1rem;
  position: relative;
}
.contactPage__progress-dot[data-dot="on"]::after {
  content: "";
  display: inline-block;
  background: var(--Main);
  border-radius: 50%;
  width: 0.625rem;
  height: 0.625rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.contactPage__progress-txt {
  line-height: 1.5;
  text-align: center;
  margin-top: 1.5rem;
}
.contactPage__contents {
  margin-top: 2.5rem;
}

.formSubmit__item-heading {
  font-size: 1.125rem;
  line-height: 1;
}
.formSubmit__item-heading::after {
  content: "*";
  color: #ff0000;
  margin-left: 0.125rem;
}
.formSubmit__item:nth-child(n + 2) {
  margin-top: 1.5rem;
}
.formSubmit__item input {
  font-size: 1rem;
  border: 0.0625rem solid var(--Main);
  border-radius: 0.1875rem;
  width: 100%;
  height: 3rem;
  padding: 0 1rem;
  margin-top: 0.5rem;
}
.formSubmit__item textarea {
  font-size: 1rem;
  font-family: var(--gothic-font);
  line-height: 1.75;
  border: 0.0625rem solid var(--Main);
  border-radius: 0.1875rem;
  width: 100%;
  height: 248px;
  padding: 1rem;
  margin-top: 0.5rem;
}
.formSubmit__item input::placeholder,
.formSubmit__item textarea::placeholder {
  font-size: 1rem;
  color: #cacaca;
}
.form__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.form__btn-submit, .form__btn-back {
  position: relative;
}
.form__btn-submit {
  border-radius: 0.25rem;
  background: var(--Main);
}
.form__btn-submit input[type="submit"] {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1;
  color: var(--white);
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent;
  border: none;
  width: 246px;
  height: 3.5rem;
  cursor: pointer;
  z-index: 1;
}
.form__btn-submit::after {
  content: "";
  display: inline-block;
  background: url(../img/cm_arrow_right_wh.svg) no-repeat center / 0.5625rem 1rem;
  width: 0.5625rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}
.form__btn-back button {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1;
  color: var(--Main);
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--Light_blue);
  border: 0.125rem solid var(--Main);
  border-radius: 0.25rem;
  width: 246px;
  height: 3.5rem;
  cursor: pointer;
}
.form__btn-back:has(button)::after {
  content: "";
  display: inline-block;
  background: url(../img/cm_arrow_left_bl.svg) no-repeat center / 0.5625rem 1rem;
  width: 0.5625rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
}
.contactPage__contents--confirm {
  margin-top: 0.5rem;
}
.contactPage__contents--confirm .formSubmit__item {
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  border-bottom: 0.0625rem solid #dcdcdc;
  margin: 0;
  padding: 2rem 0.875rem;
}
.formSuccess__message {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: var(--Main);
}
.formSuccess__txt {
  text-align: center;
  margin-top: 2rem;
}

/* ==================================================
   404 ERROR PAGE (BASE)
   ================================================== */
.errorMessage {
  text-align: center;
  padding: 3.125rem 0;
}
.errorMessage div {
  font-size: 1.75rem;
  color: var(--Main);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
}
.errorMessage__num {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.errorMessage__num::after {
  content: "";
  display: inline-block;
  background: var(--Main);
  width: 0.0625rem;
  height: 2rem;
}
.errorMessage__ttl {
  font-size: 1rem;
  margin-top: 0.5rem;
  text-align: center;
}
.errorMessage__txt {
  font-size: 0.75rem;
  margin-top: 1rem;
  text-align: center;
}
a.backToTop {
  width: 200px;
  margin: 3rem auto 0;
}
a.backToTop::before {
  background: url(../img/cm_arrow_right_wh.svg) no-repeat center / 0.5625rem 1rem;
}

/* ==================================================
   ARCHIVE PAGE (BASE)
   ================================================== */
.pageContents__container.pageArchive {
  width: 100%;
}
.pageArchive__ttl-en {
  font-size: 0.875rem;
  line-height: 1;
  color: var(--Main);
  text-align: center;
}
.pageArchive__category-h1 {
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  margin-top: 0.375rem;
  text-align: center;
}
.pageArchive__ttl-p {
  font-size: 1rem;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.08em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.375rem;
}
.pageArchive__ttl-p::before,
.pageArchive__ttl-p::after {
  content: "";
  display: inline-block;
  background: var(--Text);
  width: 1.875rem;
  height: 0.0625rem;
}
.pageArchive__list {
  padding: 3.75rem 0;
}
.pageArchive__category-list .badge {
  font-size: 0.8125rem;
}
.pageArchive__contents {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 3.125rem;
}
.pageArchive__contents-item {
  width: 100%;
  padding-bottom: 1.125rem;
  border-bottom: 0.0625rem solid var(--Main);
}
.pageArchive__contents-item a {
  color: var(--Text);
  display: flex;
  justify-content: flex-start;
  gap: 0.625rem;
}
.pageArchive__contents-item-img {
  width: 186px;
  height: 115px;
  object-fit: cover;
  flex-shrink: 0;
}
.pageArchive__contents-item > div {
  flex-grow: 1;
}
.pageArchive__contents-item-badgeList {
  line-height: 1;
  height: auto;
  margin-top: 0;
}
.pageArchive__contents-item-badgeList .badge {
  font-size: 0.8125rem;
  line-height: 1.4375rem;
  height: 1.5625rem;
}
.pageArchive__contents-item-ttl {
  font-size: 0.875rem;
  line-height: 1.61;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin-top: 0.125rem;
}
.pageArchive__ranking {
  padding-bottom: 3.9375rem;
}
.pageArchive__ranking-list {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.875rem;
  margin-top: 1.625rem;
  padding: 0 0.625rem;
}
.pageArchive__ranking-item {
  width: 100%;
  position: relative;
}
.pageArchive__ranking-item img {
  width: 100%;
}
.pageArchive__ranking-item::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: 2.8125rem auto;
  width: 2.8125rem;
  height: 2.8125rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.pageArchive__ranking-item:nth-child(1):before { background-image: url(../img/column_rank_01.png); }
.pageArchive__ranking-item:nth-child(2):before { background-image: url(../img/column_rank_02.png); }
.pageArchive__ranking-item:nth-child(3):before { background-image: url(../img/column_rank_03.png); }
.pageArchive__ranking-item:nth-child(4):before { background-image: url(../img/column_rank_04.png); }
.pageArchive__ranking-item:nth-child(5):before { background-image: url(../img/column_rank_05.png); }

.pageArchive__ranking-item a {
  color: var(--Text);
}
.pageArchive__ranking-item-ttl {
  font-size: 0.875rem;
  line-height: 1.64;
  height: auto;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin-top: 0.375rem;
}
.pageArchive__ranking-item-badgeList {
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1;
}
.pageArchive__ranking-item-badgeList .badge {
  font-size: 0.8125rem;
}
h2.pageArchive__h2 {
  font-size: 1.125rem;
  border-bottom: none;
  padding-bottom: 0;
  margin-top: 1.875rem;
}
.pageArchive .pagination {
  margin-top: 2.5rem;
}

.category__bnr {
  margin-top: 1.5rem;
  display: block;
}
.cat_bottom-cont, .cat_top-cont {
  margin-top: 1.5rem;
}
.pageArchive__category-bottom {
  margin-top: 1.5rem;
}
.pageArchive_category {
  margin-bottom: 1.5rem;
  margin-top: 1.5rem;
}


/* ==================================================
   BREADCRUMBS (BASE)
   ================================================== */
.breadcrumbs {
  width: 100%;
  padding: 1rem 1.5rem;
  margin: 0 auto;
}
.breadcrumbs,
.breadcrumbs a {
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--Text_grey);
  transition: all 0.2s;
  text-decoration: none;
}
.breadcrumbs a {
  color: var(--Main) !important;
}
.breadcrumbs a.home span {
  color: var(--Main);
  text-decoration: underline;
}
.breadcrumbs a:hover {
  text-decoration: none;
}
.breadcrumbs li {
  display: inline;
}
.breadcrumbs_separator {
  display: inline-block;
  vertical-align: middle;
  background: url(../img/icon-arrow-teal.svg) no-repeat center / 0.875rem auto;
  width: 0.875rem;
  height: 0.875rem;
  margin: 0 0.375rem;
}
.breadcrumb_adj {
  margin-bottom: 2.5rem;
}
.pageContents__container .breadcrumbs {
  padding: 1rem 1.5rem;
}

/* ==================================================
   COLUMN & PRICE PAGE (BASE)
   ================================================== */
.columnPage__container {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 1.5rem;
}
.columnPage__container-left,
.columnPage__container-right {
  width: 100%;
}

.columnPage__top-ttl {
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  margin-top: 0.375rem;
  font-weight: bold;
}
.columnPage__contents {
  font-size: 0.875rem;
  line-height: 1.75;
}
.columnPage__contents h4 {
  font-size: 0.9375rem;
  margin-top: 1.25rem !important;
}
.columnPage__contents h2 + p {
  margin-top: 2.5rem;
}
.columnPage__contents h3 + p {
  margin-top: 1.25rem;
}
.columnPage__contents p {
  margin-top: 1em;
}
.columnPage__contents img {
  margin-top: 1.25rem;
}

.subhead {
  font-size: 1rem;
  font-weight: bold;
  color: var(--Main);
  line-height: 1.5;
  padding-left: 2rem;
  margin-top: 1.25rem !important;
  position: relative;
  border-bottom: 0.0625rem solid var(--Main);
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}
.subhead::before {
  content: "";
  display: inline-block;
  background: url(../img/ico-check-circle-bl-r.svg) no-repeat center / cover;
  width: 1.625rem; height: 1.625rem;
  position: absolute;
  top: 0; left: 0.0625rem;
}

.caution {
  font-size: 0.75rem;
  color: var(--Text_grey);
}
.marker__txt {
  border-bottom: dashed 0.0625rem var(--Main);
  font-weight: bold;
  color: var(--Main);
}
.green { font-weight: bold; color: var(--Main); }
.red, .orange { font-weight: bold; color: #E57941; }
.b { font-weight: bold; }

.right__link {
  text-align: right;
  margin-top: 0.75rem;
  margin-left: auto;
  display: table;
}
.right__link a {
  color: #1a0dab;
  text-decoration: underline;
  font-size: 0.8125rem;
  display: flex;
  gap: 0.25rem;
  justify-content: flex-end;
  align-items: center;
  padding-left: 1.25rem;
  position: relative;
}
.right__link a::before {
  content: "";
  display: block;
  background: url("https://sleep-medical.net/wp/wp-content/uploads/ico-link-arrow.png") no-repeat center / contain;
  width: 0.875rem; height: 0.875rem;
  position: absolute; left: 0; top: 0.375rem;
}
.badge {
  font-size: 0.8125rem;
  display: inline-block;
  background-color: #DDEEEF;
  padding: 0.375rem 0.3125rem 0.4375rem;
  border-radius: 6.25rem;
}


.table {
  table-layout: fixed;
  border-collapse: collapse;
  border-top: 0.0625rem solid #999;
  width: 100%;
  margin-top: 1.25rem;
}

.table + p {
  margin-top: 0.5rem !important;
}

.table thead th {
  font-size: 0.8125rem;
  font-weight: normal;
  line-height: 1.33;
  text-align: center;
  background: var(--Main);
  color: #fff;
  border-bottom: 0.0625rem solid #999;
  padding: 0.75rem;
}

.table thead th:nth-child(n + 2) {
  border-left: 0.0625rem solid #999;
}

.table thead th:first-child {
  border-left: 0.0625rem solid #999;
  width: 28%;
}

.table thead th:last-child {
  border-right: 0.0625rem solid #999;
}

.table tbody th {
  font-size: 0.8125rem;
  line-height: 1.7;
  font-weight: bold;
  color: var(--Main);
  text-align: center;
  border-bottom: 0.0625rem solid #999;
  background: #f4f6f8;
  padding: 0 0.25rem;
}

.table td {
  font-size: 0.8125rem;
  line-height: 1.7;
  text-align: left;
  border-bottom: 0.0625rem solid #999;
  padding: 0.75rem;
  vertical-align: top;
}

.table td:nth-child(n + 2),
.table tbody th:nth-child(n + 2) {
  border-left: 0.0625rem solid #999;
}

.table td:first-child,
.table tbody th:first-child {
  border-left: 0.0625rem solid #999;
}

.table td:last-child,
.table tbody th:last-child {
  border-right: 0.0625rem solid #999;
}

.priceTable {
  display: block;
  padding: 0;
  margin: 0;
}
.priceTable table {
  width: 100%;
  margin: 0 auto 0.625rem;
  border-collapse: collapse;
}
.priceTable table th,
.priceTable table td {
  text-align: center;
}
.priceTable thead tr {
  border-top: 0.125rem solid #999;
  border-bottom: 0.125rem solid #999;
}
.priceTable table th, .priceTable table td {
  text-align: center;
  border: 0.0625rem solid #999;
  padding: 0.8125rem 0;
  vertical-align: middle;
}
.priceTable table td {
  vertical-align: middle;
  min-height: 3.5625rem;
}
.priceTable__th-txt {
  display: inline-block;
  padding: 0.75rem 0;
  text-align: center;
  min-width: 120px;
  background-color: #ecfcff;
  border-radius: 0.25rem 0.25rem 0 0;
  line-height: 1;
  border: 0.0625rem solid #999;
  border-radius: 0.25rem;
  background-color: #fff;
  font-weight: normal;
  margin: 0.3125rem auto;
  max-width: 254px;
  min-width: 164px;
}

.priceTable__th-txt.orange {
  color: #e57941;
  background-color: #fff;
  border-color: #e57941;
  min-width: 190px;
}

.priceTable__th-txt.green {
  background-color: #fff;
  color: var(--Text_Main);
  border-color: var(--Text_Main);
}

.priceTable thead {
  background-color: var(--Main);
  color: #fff;
}

.priceTable thead tr {
  border-top: 0.125rem solid #999;
  border-bottom: 0.125rem solid #999;
}

.priceTable tbody tr td {
  padding: 0.8125rem 0;
  line-height: 1;
  background-color: #fff;
  border: 0.0625rem solid #999999;
  text-align: center;
}

.arrow_down {
  background: url(../img/flow_ico.svg) no-repeat center / 3.875rem auto;
  width: 3.875rem; height: 3.875rem;
  margin: 0.75rem auto;
  transform: rotate(90deg);
}
.arrow_down + * {
  margin-top: 0 !important;
}
.quote {
  border-left: 0.125rem solid #817e7e;
  padding: 0 1.25rem;
  position: relative;
  margin: 4rem 0 0;
}
.quote:before {
  content: "";
  display: block;
  background: url("https://sleep-medical.net/wp/wp-content/uploads/ico-quote.png") no-repeat center / contain;
  width: 2.5rem; height: 1.875rem;
  position: absolute;
  top: -2.875rem;
  left: 0;
}
.simplebox {
  background-color: #fff;
  box-shadow: 0.0625rem 0.0625rem 0.5rem rgb(0, 0, 0, 0.25);
  border-radius: 0.25rem;
  padding: 1.5rem;
  margin-top: 1.25rem;
}
.simplebox p:first-child {
  margin-top: 0;
}

.simplebox > *:first-child {
  margin-top: 0;
}

.simplebox > *:last-child {
  margin-bottom: 0;
}

.simplebox > ul:only-child,
.simplebox > ol:only-child {
  margin: 0;
}

.simplebox[data-type="bg"] {
  background: #fff;
  box-shadow: none;
}
.simplebox  > .simplebox {
  background-color: #F4F6F8;
}
.txt_img__keep {
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
  margin-top: 1.25rem;
}

.txt_img__keep img {
  max-width: 45%;
}

.txt_img__keep img,
.txt_img_box img {
  margin-top: 0;
}

.txt_img__keep img + p,
.txt_img_box img + p {
  margin-top: 0 !important;
}

.txt__flex p:first-child {
  margin-top: 0;
}

.txt_img_box {
  margin-top: 1.25rem;
}

.left_img {
  float: left;
  margin-right: 0.625rem;
  max-width: 48%;
}


.matomebox {
  border: 0.125rem solid var(--Main);
  padding: 1.5rem;
  margin-top: 1.5rem;
  background-color: #DDEEEF;
}
.matomebox__ttl {
  text-align: center;
  font-weight: bold;
  font-size: 0.9375rem;
  padding-bottom: 1rem;
  border-bottom: 0.125rem solid var(--Main);
}

.related {
  margin-top: 1.875rem;
  width: 100vw;
  background: #fff;
  margin-left: calc(50% - 50vw);
  padding: 3.5rem 1.5rem;
}
.related__ttl {
  display: flex;
  align-items: center;
  gap: 1.125rem;
}
p.related__ttl-en {
  font-size: 1.125rem;
  line-height: 1;
  color: var(--Main);
  text-align: center;
  margin-top: 0;
  font-family: oswald;
}

p.related__ttl-p {
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.08em;
  margin-top: 0;
}

.related__list {
  margin-top: 1.875rem;
}

.related__list-item {
  color: var(--Text);
  display: flex;
  gap: 0.875rem;
  position: relative;
  transition: all 0.2s;
  border-bottom: 0.0625rem solid var(--Main);
padding-bottom: 0.75rem;
}
.related__list-item:last-of-type {
  border-bottom: none;
}

.related__list-item:hover {
  opacity: 0.6;
}

.related__list-item:nth-child(n + 2) {
  margin-top: 1rem;
}

.related__list-item-img {
  width: 120px;
  height: 4.625rem;
  flex-shrink: 0;
}

p.related__list-item-ttl {
  font-size: 0.875rem;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 0;
  padding-top: 0.75rem;
}

.related__list-item-badgeList {
  font-size: 0.8125rem;
  position: absolute;
  bottom: 1.25rem;
}

.related__list-item-badgeList .badge {
  font-size: 0.8125rem;
}


.columnPage__sidebar-ranking-list {
  display: grid;
  gap: 1.25rem;
  margin-top: 1.625rem;
}
.columnPage__sidebar-ttl {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.columnPage__sidebar-ttl-en {
  font-size: 1.25rem;
  font-family: oswald;
  line-height: 1;
  color: var(--Main);
  text-align: center;
}

.columnPage__sidebar-ttl-p {
  font-size: 1.875rem;
  font-weight: bold;
  letter-spacing: 0.08em;
}

.columnPage__sidebar-ranking-list {
  margin-top: 1.25rem;
}

.columnPage__sidebar-ranking-item {
  position: relative;
  transition: all 0.2s;
}

.columnPage__sidebar-ranking-item a {
  color: var(--Text);
}

.columnPage__sidebar-ranking-item:hover {
  opacity: 0.6;
}

.columnPage__sidebar-ranking-item::before {
  content: "";
  display: inline-block;
  background-size: 2.8125rem auto;
  width: 2.8125rem; height: 2.8125rem;
  position: absolute; top: 0; left: 0; z-index: 1;
}
.columnPage__sidebar-ranking-item:nth-child(1):before { background-image: url(../img/column_rank_01.png); }
.columnPage__sidebar-ranking-item:nth-child(2):before { background-image: url(../img/column_rank_02.png); }
.columnPage__sidebar-ranking-item:nth-child(3):before { background-image: url(../img/column_rank_03.png); }
.columnPage__sidebar-ranking-item:nth-child(4):before { background-image: url(../img/column_rank_04.png); }
.columnPage__sidebar-ranking-item:nth-child(5):before { background-image: url(../img/column_rank_05.png); }

img.table__ico {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.cm__jumplist {
  background: linear-gradient(to bottom, #4ea5b0, #25927f);
  padding: 1.875rem 0.9375rem;
}
.cm__jumplist ul.jump {
  margin-top: 0;
}

ul.jump {
  margin-top: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  display: grid;
  gap: 0.625rem;
}
ul li.jump-item {
  border: 0.0625rem solid var(--Main);
  position: relative;
  list-style: none;
  margin-top: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3.9375rem;
  background-color: #ddeeef;
  text-align: center;
  width: 100%;
  border-radius: 0.5rem;
  overflow: hidden;
  font-weight: bold;
}
ul li.jump-item a {
  text-decoration: none;
  color: var(--Main);
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  transition: var(--transition-main);
}
ul li.jump-item a:hover, ul li.jump-item a:active {
  box-shadow: inset 0 0 2.5rem var(--Accent-shadow);
  background-color: #dcf4f7;
}
ul li.jump-item a::after {
  content: "";
  display: block;
  background-image: url('../img/icon-down-teal.svg');
  width: 1rem;
  height: 1rem;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  right: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  transition: var(--transition-main);
}
ul li.jump-item a:hover::after, ul li.jump-item a:active::after {
  top: 55%;
}
ul:not([id]) li.cm__boxlist__item {
  border: 0.0625rem solid var(--Main);
  border-radius: 0.25rem;
  min-height: 3.375rem;
  padding-left: 3.375rem;
  padding-right: 1rem;
  background-color: #fff;
  display: table;
  width: 100%;
  position: relative;
}

ul:not([id]) li.cm__boxlist__item::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 6.25rem;
  background-color: var(--Main);
  position: absolute;
  left: 2rem;
  top: 50%;
}
ul:not([id]) li.cm__boxlist__item + li.cm__boxlist__item {
  margin-top: 0.625rem;
}

li.cm__boxlist__item p {
  display: table-cell;
  margin-top: 0;
  text-align: left;
  vertical-align: middle;
}

ul.cm__listnav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem 0.6875rem;
  margin: 2.25rem auto;
}
ul:not([id]) li.cm__listnav__item {
  border: 0.0625rem solid var(--Main);
  border-radius: 0.25rem;
  color: var(--Main);
  list-style: none;
  margin-top: 0 !important;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
}
ul:not([id]) li.cm__listnav__item img {
  width: 40px;
  margin-top: 0;
}
ul:not([id]) li.cm__listnav__item::before {
  content: none;
}
ul:not([id]) li.cm__boxlist__item::before {
  left: 2rem;
  top: 50%;
  transform: translatey(-50%);
}


/* ==========================================================================
当院について
=========================================================================== */
.aboutPage__message {
  background-color: var(--Back);
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  font-size: 1rem;
  text-align: left;
}
.aboutPage__message > img {
  width: 100%;
  margin-top: 1.5rem;
}
p.aboutPage__message-catch {
  text-align: center;
  color: var(--Main);
  font-weight: 500;
  font-size: 1.4375rem;
  letter-spacing: 0.1em;
  margin-top: 0;
  line-height: 1.71;
}
.aboutPage__message-txt {
  line-height: 1.75;
  margin-top: 1.5rem;
}
.pageAbout .about__inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.pageAbout .about__list {
  margin-top: 4.25rem;
}
.pageAbout .about__item {
  display: flex;
  flex-direction: column;
  max-width: calc(100% - 2rem);
  margin-right: auto;
  margin-left: auto;
  align-items: center;
}
.pageAbout .about__item:nth-of-type(2) {
  flex-direction: column-reverse;
}
.pageAbout .about__item + .about__item {
  margin-top: 2.5rem;
}
.pageAbout .about__img {
  width: 100%;
}
.pageAbout .about__img img {
  width: 100%;
  margin-top: 0;
}
.pageAbout .about__text {
  background-color: var(--Back);
  padding: 1.875rem 1.5rem 1.5rem;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.pageAbout .about__text h3 {
  font-weight: bold;
  border-bottom: 0.0625rem solid var(--Main);
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-top: 0;
}
.pageAbout .about__text h3 span {
  font-family: oswald;
  font-size: 2.1875rem;
  color: var(--Main);
  font-weight: 400;
  letter-spacing: 0;
}
.pageAbout .aboutcommit {
  background-color: var(--Back);
  padding: 0 0.75rem 3.125rem;
  margin-top: 6.25rem;
}
.pageAbout .aboutcommit__list {
  margin-top: 2.75rem;
}
.pageAbout .aboutcommit__item {
  background-color: var(--white);
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  box-shadow: 0 0 0.3275rem rgba(0, 0, 0, 0.1);
}
.pageAbout .aboutcommit__item + .aboutcommit__item {
  margin-top: 1.875rem;
}
.pageAbout .aboutcommit__heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  border-bottom: 0.0625rem solid var(--Main);
}
.aboutcommit__heading h3 {
  border-bottom: none;
  width: 100%;
  margin-top: 0 !important;
  font-size: 1.5rem;
  letter-spacing: 0;
  padding-bottom: 0;
}
.aboutcommit__number {
  font-family: oswald;
  font-weight: 400;
  font-size: 2.1875rem;
  color: var(--Main);
}
.aboutcommit__content {
  padding-left: 0;
}
.aboutcommit__content a {
  position: relative;
  text-decoration: underline;
  color: var(--Main);
  display: flex;
  align-items: center;
  margin-top: 1.25rem;
  gap: 0.3125rem;
}
.aboutcommit__content a::before {
  content: "";
  display: block;
  background-image: url(../img/icon-arrow-teal.svg);
  width: 1.5rem;
  height: 1.5rem;
  background-repeat: no-repeat;
  background-size: contain;
}
.aboutPage__clinic {
  padding: 0;
}
.aboutPage__clinic-wrap:nth-child(n + 2) {
  margin-top: 3.25rem;
}
.aboutPage__clinic-item {
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.aboutPage__clinic-item:nth-of-type(n + 2) {
  margin-top: 1rem;
}
.aboutPage__clinic dt {
  font-weight: bold;
  text-align: left;
  flex-shrink: 0;
}
.aboutPage__clinic dd a {
  color: var(--Text);
  text-decoration: none;
}
.aboutPage__clinic-name {
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.5;
}
.aboutPage__clinic-name + * {
  margin-top: 0.875rem;
}
.aboutPage__clinic hr {
  background-color: var(--gray);
  margin: 2rem 0;
}
.aboutPage__clinic-map {
  position: relative;
  height: 300px;
  overflow: hidden;
  margin-top: 0.5rem;
}
.aboutPage__clinic-map iframe {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.page-about-snoring-treatment .ibikiType {
  background-color: var(--Back);
  margin-top: 3.125rem;
  padding-bottom: 3.125rem;
}
.page-about-snoring-treatment .ibikiType__list {
  display: grid;
  gap: 1rem 1.25rem;
  grid-template-columns: 1fr;
  margin-top: 2.375rem;
}
.page-about-snoring-treatment .ibikiType__list .ibikiType__item {
  background-color: var(--white);
  padding: 1.5rem 2rem 2.25rem;
  box-shadow: 0 0 0.3275rem rgba(0, 0, 0, 0.1);
}
.page-about-snoring-treatment .ibikiType__list h3 {
  border-bottom: 1px solid var(--Main);
  font-weight: bold;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  margin: 0;
  padding-bottom: 1rem;
}
.page-about-snoring-treatment .ibikiType__list h3 .num {
  font-weight: 400;
  color: var(--Main);
  font-family: oswald;
  letter-spacing: 0;
  font-size: 2.1875rem;
  margin-right: 1rem;
  line-height: 1;
}
.page-about-snoring-treatment .ibikiType__list p {
  margin-top: 1.25rem;
  line-height: 1.9;
}
.causeBtnLink {
  margin: 2rem auto 0;
}
.causeBtnLink + * {
  margin-top: 3.125rem;
}
.ibikiAbout {
  padding-bottom: 3.125rem;
}
.page-about-snoring-treatment .ibikiCost .pageinner__lg {
  padding: 0 1.5rem 3.125rem;
}
.page-about-snoring-treatment .ibikiCost__comparetable {
  width: 100%;
  overflow-x: scroll;
  margin-top: 1rem;
}
.page-about-snoring-treatment .ibikiCost__comparetable table {
  min-width: 1000px;
  border-top: none;
}
.page-about-snoring-treatment .ibikiCost__comparetable table thead th:first-child {
  width: 160px;
}
.columnPage__contents .table thead th {
  font-size: 0.75rem;
}
.page-about-snoring-treatment .ibikiCost__comparetable thead th:first-child {
  background-color: var(--white);
  border-right: none;
  border-left: none;
}
.page-about-snoring-treatment .ibikiFlow {
  padding: 0 0 3.125rem;
}
.flowPage__contents {
  display: grid;
  grid-row-gap: 1.5625rem;
}
.flowPage__contents-item {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  position: relative;
  background-color: var(--white);
  box-shadow: 1px 1px 3px var(--gray);
  padding: 3.5rem 3.8rem;
  flex-direction: column;
  gap: 0;
  padding: 0;
}
.flowPage__contents-item > div {
  padding: 1.5rem;
}
.flowPage__contents-item .flowPage__contents-heading {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  color: var(--Main);
  width: 100%;
  border-bottom: 1px solid var(--Main);
  display: flex;
  align-items: center;
  margin-bottom: 1rem;

  font-size: 1.25rem;
  border-bottom: 0;
}
.flowPage__contents-item .num {
  border-right: 1px solid var(--Main);
  padding-right: 1rem;
  font-family: oswald;
  font-weight: 400;
  font-size: 2.25rem;
  margin-right: 1rem;
  display: inline-block;
}


/* ==========================================================================
レーザー治療について
=========================================================================== */
.featurePage__summary-txt {
  padding: 0;
  margin: 1.5rem auto 0;
}
.featurePage__summary > img {
  display: block;
  margin: 1rem auto 0;
  width: 100%;
  height: auto;
}
.featurePage__detail {
  margin-top: 3rem;
}
.featurePage__detail-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.featurePage__detail-item:nth-child(2n) {
  flex-direction: column;
}
.featurePage__detail-item:nth-child(n + 2) {
  margin-top: 1.5rem;
}
.featurePage__detail-item > img {
  width: 100%;
  height: auto;
  object-fit: cover;
  flex-shrink: 0;
}
.featurePage__detail-heading {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.1;
  color: var(--Main);
  text-align: center;
}
.featurePage__detail-txt {
  line-height: 1.75;
  margin-top: 0.75rem;
}

/* ==========================================================================
お知らせ
=========================================================================== */
.newsPage__inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: 3rem 1.5rem 6.25rem;
}
.newsPage__contents-item {
  line-height: 1.5;
  border-bottom: 0.0625rem solid #d3d3d3;
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  height: auto;
}
.newsPage__contents-item dt {
  font-family: oswald;
  color: var(--Main);
  font-size: 1rem;
  font-weight: 400;
  flex-shrink: 0;
}
.newsPage__contents-item dd {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-align: left;
  margin-top: 0.625rem;
}
.newsPage__contents-item a {
  display: block;
  width: 100%;
  color: var(--Text);
  padding: 1.5rem 1rem 1.5rem;
  text-decoration: none;
  transition: var(--transition-main);
}
.newsPage__contents-item a::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(../img/icon-arrow-teal.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.newsPage__contents-item a:hover,
.newsPage__contents-item a:active {
  background-color: var(--Accent-light);
  color: var(--Accent-color);
  padding-left: 2rem !important;
}


.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 3.625rem;
}
.pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 3.125rem;
}
.pagination a {
  font-size: 1rem;
  text-decoration: none;
  color: var(--Main);
  transition: all 0.2s;
}
.pagination__left {
  display: inline-flex;
  justify-content: flex-start;
  width: 2.5rem;
  height: 2.5rem;
  position: relative;
  right: 1.75rem;
}
.pagination__right {
  display: inline-flex;
  justify-content: flex-end;
  width: 2.5rem;
  height: 2.5rem;
  position: relative;
  left: 1.75rem;
}
.pagination__prev, .pagination__next {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.pagination__prev::before {
  content: "";
  background-image: url(../img/icon-arrow-teal.svg);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
  transform: rotate(180deg);
}
.pagination__next::after {
  content: "";
  background-image: url(../img/icon-arrow-teal.svg);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
}
.pagination__link--num {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 0.0625rem solid var(--Main);
  border-radius: 0.5rem;
  color: var(--Main);
  line-height: 2.5rem;
}
.pagination .current {
  border: 0.0625rem solid var(--Main);
  display: block;
  text-align: center;
  background-color: var(--Main);
  color: var(--white);
}

/* ==========================================================================
よくある質問
=========================================================================== */
.pageQuestion {
  padding: 3.75rem 0.375rem;
}
.pageQuestion .qaBox {
  padding: 0.8125rem 2.375rem 0.8125rem 0.8125rem;
}
.pageQuestion .qaBox::after {
  width: 1.25rem;
  height: 1.25rem;
  right: 1rem;
}
.pageQuestion .qaBox__q,
.pageQuestion .qaBox__a {
  font-size: 1rem;
}
.pageQuestion .qaBox__q {
  padding: 0;
  align-items: flex-start;
}
.pageQuestion .qaBox__a {
  padding: 0;
  margin-top: 1.125rem;
  padding-top: 0.9375rem;
}
.pageQuestion .qaBox__q::before,
.pageQuestion .qaBox__a::before {
  line-height: initial;
}
.pageQuestion .qaBox__a::before {
  width: 2.5rem;
  height: 2.5rem;
  background-position: 0;
}

/* ==========================================================================
クリニック
=========================================================================== */
.pageClinic .topClinic__area {
  margin-top: 0;
}
.pageClinic .topContents__h2::after {
  content: "";
  height: 0.0625rem;
  width: 2.4375rem;
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 0.0625rem solid var(--Text);
}
.pageClinic.topClinic details ul a {
  color: var(--Main) !important;
  text-decoration: none;
}
.pageClinic.topClinic details ul li {
  margin-top: 0 !important;
}
.pageClinic.topClinic details ul li::before {
  content: "";
  background-size: 1.25rem;
  background-repeat: no-repeat;
  width: 1.25rem;
  height: 1.25rem;
  background: none;
  border-radius: initial;
  background-image: url(../img/ico-arrow-bl-dw.svg);
  display: block;
  transform: rotate(-90deg);
  top: initial;
}
.pageClinic h2 {
  font-size: 2rem;
  position: relative;
  padding-top: 2rem;
  padding-bottom: 1rem;
  margin: 1.5rem 0;
  font-weight: normal;
  letter-spacing: 0.05em;
  color: var(--Text);
  border-bottom: none;
}
.clinic__about-inner {
  display: flex;
  flex-direction: column;
  margin-top: 1.875rem;
  gap: 1.875rem;
  padding: 0 0.625rem;
}
.clinic__about-inner img {
  max-width: 100%;
  width: 100%;
  margin-top: 0;
  object-fit: cover;
}
.clinic__about-inner p {
  margin-top: 0;
}
.clinic__about .cm__btn {
  margin: 1.875rem auto 0;
}
.clinic__info-tableFrame {
  margin-top: 1.75rem;
  margin-right: 0.625rem;
  margin-left: 0.625rem;
}
.clinic__access-txt p {
  padding: 0.875rem 0.875rem 1.25rem;
  line-height: 1.5;
  margin-top: 0;
}
.clinic__reason,
.clinic__flow {
  padding-bottom: 3.125rem;
}
.clinic__reason-wrap {
  flex-direction: column;
  margin-top: 2.5rem;
  display: flex;
  gap: 1rem;
}
.clinic__reason-box {
  max-width: 100%;
  background-color: var(--white);
  box-shadow: 0 0 0.3275rem rgba(0, 0, 0, 0.1);
}
.clinic__reason-box img {
  margin-top: 0;
  aspect-ratio: 9 / 6;
  object-fit: cover;
  width: 100%;
}
.clinic__reason-box-ttl {
  padding: 1.25rem 0;
  font-weight: bold;
  margin: 0 auto;
  font-size: 1.25rem;
  border-bottom: 0.0625rem solid var(--Main);
  width: calc(100% - 2.5rem);
  line-height: 1;
  display: flex;
  align-items: center;
}
.clinic__reason-box-ttl .num {
  color: var(--Main);
  font-weight: 400;
  font-size: 2.1875rem;
  font-family: oswald;
  padding-right: 0.6875rem;
}
.clinic__reason-box-desc {
  padding: 1rem 1.5rem 3.25rem;
  position: relative;
  line-height: 1.6;
}

.page-clinic-list {
  padding: 2.375rem 0 5.1875rem;
}
.pageCliniclist__nav {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  display: grid;
  gap: 0.625rem;
}
.pageCliniclist__item {
  position: relative;
  list-style: none;
  margin-top: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3.9375rem;
  background-color: var(--Main);
  text-align: center;
  width: 100%;
  border-radius: 0.5rem;
  overflow: hidden;
  font-weight: bold;
}
.pageCliniclist__item a {
  text-decoration: none;
  color: var(--white);
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  transition: var(--transition-main);
}
.pageCliniclist__item a:hover,
.pageCliniclist__item a:active {
  box-shadow: inset 0 0 2.5rem var(--Accent-shadow);
  background-color: #dcf4f7;
}
.pageCliniclist__item a::after {
  content: "";
  display: block;
  background-image: url('../img/icon-down-white.svg');
  width: 1rem;
  height: 1rem;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  right: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  transition: var(--transition-main);
}
.pageCliniclist__item a:hover::after,
.pageCliniclist__item a:active::after {
  top: 55%;
}

.page-clinic-list .area__ttl {
  text-align: center;
  font-weight: bold;
  font-size: 2.1875rem;
  margin-top: 4.375rem;
  padding-bottom: 1.5rem;
  border-bottom: 0.0625rem solid var(--Main);
}
.pageCliniclist__contents {
  margin-top: 2.25rem;
  display: grid;
  grid-row-gap: 2.5rem;
}
.pageCliniclist__contents-item {
  background-color: var(--white);
  box-shadow: 0.0625rem 0.0625rem 0.1875rem var(--gray);
}
.pageCliniclist__contents-item .thumb {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.pageCliniclist__contents-item .thumb img {
  margin: 0!important;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-clinic-list .information {
  width: 100%;
  padding: 1.375rem 1.75rem;
}
.page-clinic-list .information .clinic__name {
  color: var(--Main);
  font-weight: 400;
  font-size: 1.25rem;
  border-bottom: 0.0625rem solid var(--Main);
  padding-bottom: 0.6875rem;
}
.page-clinic-list .information .clinic__address {
  margin-top: 1.25rem;
}
.page-clinic-list .information .clinic__station {
  margin-top: 1rem;
}
.page-clinic-list .information .cm__list {
  font-size: 0.875rem;
  color: var(--Text_grey);
  list-style: none;
  padding: 0;
}
.page-clinic-list .information .cm__list li {
  line-height: 1.7;
  font-size: 0.75rem;
}
.page-clinic-list .information .cm__btn {
  margin: 1.5rem auto 0;
}

/* クリニック詳細共通 */
.singleClinic__thumbnail {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  width: 100%;
}
.singleClinic__thumbnail img {
  margin-top: 0 !important;
  object-fit: cover;
  object-position: center;
}
.clinic__info {
  width: 100%;
  margin: 0 auto;
  padding-bottom: 3.125rem;
}
.clinic__info-tableFrame {
  box-shadow: 0px 0px 0.3125rem var(--gray);
  background: var(--white);
  padding: 1.25rem;
}
.clinic__info-table {
  width: 100%;
  border-collapse: collapse;
}
.clinic__info-table tbody th {
  color: var(--Main);
  font-weight: bold;
  padding: 0.625rem 0 0;
  display: block;
  text-align: left;
  font-size: 1rem;
}
.clinic__info-table tbody td {
  padding: 0 0 0.625rem;
  display: block;
  font-size: 1rem;
}
.clinic__info-table tbody tr {
  border-bottom: 0.0625rem solid #ccc !important;
}
.clinic__info-table tbody tr:last-child {
  border-bottom: none !important;
}
.clinic__access,
.clinic__about {
  padding-bottom: 3.125rem;
}
.clinic__access-map {
  width: 100%;
  aspect-ratio: 1000 / 370;
  overflow: hidden;
  margin: 0.75rem auto 0;
}
.clinic__access-map iframe {
  width: 100%;
  height: 100%;
}
.clinic__way-list {
  display: flex;
  flex-direction: column;
  gap: 1.5625rem;
}
.clinic__way-item {
  width: 100%;
  position: relative;
  background-color: var(--white);
}
.clinic__way-item .num {
  position: absolute;
  left: 0;
  top: 0;
  color: var(--white);
  text-align: center;
  width: 3.25rem;
  height: 3.25rem;
  line-height: 3.25rem;
  background: var(--Text_Main);
  font-family: oswald;
  z-index: 10;
  font-size: 2.1875rem;
}
.clinic__way-item img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}
.singleClinic__header {
  padding: 3.125rem 0 0;
}
.clinic__desc {
  padding: 1.875rem 1.25rem 3.125rem;
}
.clinic__desc p:first-of-type {
  margin-top: 0;
}
.clinic__hospital-list {
  padding: 0 1.25rem;
  display: grid;
  text-align: center;
  gap: 1.875rem;
  grid-template-columns: 1fr;
}
.clinic__hospital-item {
  aspect-ratio: 220 / 147;
  overflow: hidden;
}
.singleClinic .clinic__flow .flowPage__contents-item {
  background-color: var(--Back);
  box-shadow: 0.0625rem 0.0625rem 0.1875rem var(--gray);
}
.singleClinic .clinic__flow .flowPage__contents-item img{
  aspect-ratio: 340 / 208;
  object-fit: cover;
  overflow: hidden;
}
.singleClinic .clinic__flow .flowPage__contents-item .flowPage__contents-heading {
  margin-top: 0;
}

/* ==========================================================================
いびきのメカニズム
=========================================================================== */
.pageMechanism .mechanism {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 6.25rem;
}
.pageMechanism .mechanism .full_img {
  margin-top: 2.5rem;
}
.pageMechanism .sign {
  margin-bottom: 3.75rem;
  padding-right: 0.875rem;
  padding-left: 0.875rem;
}
.pageMechanism .sign p:first-of-type {
  margin-top: 2.5rem;
}
.pageMechanism .cause_img {
  margin: 0.625rem auto;
}
.pageMechanism .sign .cause_imgList {
  margin: 1.625rem auto 3.125rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
.pageMechanism .sign .cause_imgList__item {
  color: var(--Main);
  text-align: center;
}
.pageMechanism .sign .cause_imgList__item img {
  width: 175px;
  max-width: 100%;
  margin: 0 auto 0.875rem;
}

.pageMechanism .risk {
  padding-bottom: 2.5rem;
}
.pageMechanism .causeRisk {
  margin: 1.625rem auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem 1.625rem;
}
.pageMechanism .causeRisk__item {
  background-color: var(--white);
  box-shadow: 0.0625rem 0.0625rem 0.1875rem var(--gray);
  padding: 0.5rem 1rem 1.375rem;
  display: block;
}
.pageMechanism .causeRisk__item-ttl {
  display: block;
  text-align: center;
  color: var(--Main);
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 0.75rem;
  border-bottom: 0.0625rem solid var(--Main);
}
.pageMechanism .causeRisk__item-img {
  display: inline-block;
  border-radius: 6.25rem;
  background-color: #ecfcff;
  text-align: center;
  width: 6.25rem;
  height: 6.25rem;
  line-height: 6.25rem;
  vertical-align: top;
  margin-right: 0.625rem;
  position: relative;
}
.pageMechanism .causeRisk__item-img img {
  width: 6.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.pageMechanism .causeRisk__item-list {
  display: inline-block;
  width: calc(100% - 7.25rem);
}
.pageMechanism .causeRisk__item-listItem {
  position: relative;
  padding-left: 0.8125rem;
  font-size: 0.875rem;
  width: 100%;
  line-height: 1.6;
}
.pageMechanism .causeRisk__item-listItem::before {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  display: inline-block;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.4375rem;
  background-color: var(--Main);
}
.pageMechanism .treatment {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}
.pageMechanism .treatment h2::first-line {
  font-size: 1.25rem;
}
.pageMechanism .treatment__img {
  max-width: 100%;
  margin-top: 2.5rem;
  margin-bottom: 2.1875rem;
}
.pageMechanism .treatment .cm__list {
  padding: 1.25rem;
  color: var(--Text_grey);
  margin: 2.5rem auto;
}
.pageMechanism .treatment .cm__ctabnr {
  margin-top: 2.5rem;
  margin-bottom: 2.1875rem;
}
.pageMechanism .flow {
  padding-bottom: 3.125rem;
}


/* ==========================================================================
いびきレーザー治療「スノアレーズ」
=========================================================================== */
.pageIbikisnorelase .full__video {
  margin-top: 1rem;
}
.pageIbikisnorelase .full__video video {
  max-width: 100%;
  height: auto;
}
.pageIbikisnorelase .snorelase {
  padding: 0 1rem 3.125rem;
}
.pageIbikisnorelase .treatment {
  padding-bottom: 3.125rem;
}
.pageIbikisnorelase .treatment .full_img {
  margin-top: 1.5rem;
}
.pageIbikisnorelase .treatment .cm__cardlist {
  margin-top: 3.375rem;
  padding: 0 1rem;
}
.pageIbikisnorelase .treatment .cm__cardlist__content p {
  margin-top: 0;
}
.pageIbikisnorelase .symptoms {
  padding-bottom: 3.125rem;
}
.pageIbikisnorelase .symptoms h2 + p {
  text-align: center;
  margin-top: 2.5rem;
}
.pageIbikisnorelase .symptoms .cm__boxlist {
  margin-top: 3.375rem;
}
.pageIbikisnorelase .symptoms .caution {
  margin-top: 1.75rem;
  display: inline-block;
  line-height: 1;
}
.pageIbikisnorelase .types {
  padding-bottom: 3.125rem;
}
.pageIbikisnorelase .types .pageinner__md {
  padding: 0;
}
.pageIbikisnorelase .types p:first-of-type {
  text-align: center;
}
.pageIbikisnorelase .types .table {
  margin-top: 2.625rem;
  border-top: none;
}
.pageIbikisnorelase .types .table td {
  background-color: var(--white);
  vertical-align: top;
  padding: 0.625rem;
}
.pageIbikisnorelase .types .table thead th:first-child {
  background-color: var(--Back);
  width: 4.375rem;
  border-left: none;
}
.pageIbikisnorelase .types .types__box {
  padding: 2.1875rem 1.25rem;
  margin-top: 1.875rem;
}

.pageIbikisnorelase .types .types__box .num {
  color: var(--Main);
  font-family: oswald;
  font-weight: 400;
  font-size: 2.1875rem;
}
.pageIbikisnorelase .types .types__box h3 {
  display: flex;
  border-bottom: 0.0625rem solid var(--Main);
  padding-bottom: 1.125rem;
  align-items: center;
  gap: 1.125rem;
  line-height: 1;
}
.pageIbikisnorelase .types .types__box p {
  text-align: left;
  margin-top: 1rem;
  line-height: 1.6;
}
.pageIbikisnorelase .price {
  padding-bottom: 3.125rem;
}
.pageIbikisnorelase .price table {
  margin-top: 2.375rem;
}
.pageIbikisnorelase .price table td:last-child {
  background-color: var(--white);
}
.pageIbikisnorelase .flow {
  padding-bottom: 6.25rem;
}


/* ==========================================================================
いびき治療の症例モニター募集
=========================================================================== */
.pageMonitor .about {
  padding-bottom: 3.875rem;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}
.pageMonitor .about .note {
  color: var(--Text_grey);
  font-size: 0.875rem;
  margin-top: 1.6875rem;
}
.pageMonitor .about img {
  margin-top: 1.875rem;
}
.pageMonitor .coorperation {
  padding-bottom: 6.25rem;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}
.pageMonitor .coorperation h2 + p {
  margin-top: 2.875rem;
}
.pageMonitor .coorperation .cm__list {
  background-color: var(--Back);
  padding: 1.875rem;
  margin-top: 1.875rem;
}
.pageMonitor .coorperation .cm__list li::before {
  top: 0.5rem;
  transform: initial;
}
.pageMonitor .coorperation .note {
  font-size: 0.875rem;
  color: #666;
  margin-top: 0.75rem;
}
.pageMonitor .coorperation img {
  max-width: 100%;
  width: 100%;
}

/* ==========================================================================
プライバシーポリシー
=========================================================================== */
.pagePrivacy {
  padding: 3.875rem 1.5rem;
}
.pagePrivacy h2 {
  color: var(--Main);
  border-bottom: 0.0625rem solid var(--Main);
  font-size: 1.5rem;
  text-align: left;
  padding-bottom: 1rem;
  margin-top: 2.8125rem;
}
.pagePrivacy h2:first-of-type {
  margin-top: 0;
}

/* ==========================================================================
料金
=========================================================================== */
.pagePrice .price__icon {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.625rem;
  margin: 1.5rem auto 0;
}
.pagePrice .price__icon-item {
  font-size: 1rem;
  background-color: var(--white);
  display: flex;
  align-items: center;
  padding: 1.0625rem 1.25rem;
  gap: 0.625rem;
  font-weight: bold;
}
.pagePrice .price__icon-item .num {
  font-size: 2.1875rem;
  font-weight: 400;
  font-family: oswald;
  color: var(--Text_Main);
  margin-right: 0.625rem;
}
.pagePrice .price__icon-item img {
  margin-top: 0;
  width: 4rem;
}

.pagePrice .mechanism {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 3.4375rem;
}
.pagePrice .mechanism h2 + .full_img {
  margin-top: 2rem;
}
.pagePrice .treatment {
  padding: 0 0 3.125rem;
}
.pagePrice .types {
  padding-bottom: 3.125rem;
}
.pagePrice .types .table thead th:first-child {
  width: 4.375rem;
}
.pagePrice .plan {
  padding-bottom: 3.125rem;
}
.pagePrice .plan .cm__list li::before {
  top: 0.5rem;
  transform: initial;
}
.pagePrice .treatment .cm__box-bgw {
  max-width: 464px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 2.1875rem;
}


.trial td {
  background-color: var(--Point) !important;
}
.priceTxt__num {
  font-size: 1rem;
}
.orangeTxt {
  color: #c52907;
  font-weight: bold;
}
.greenTxt {
  color: var(--Text_Main);
}
.waribiki {
  display: block;
  width: 3.125rem;
  height: 3.125rem;
  background-color: #e57941;
  color: #fff;
  font-size: 0.9375rem;
  text-align: center;
  border-radius: 300px;
  margin: 0.1875rem auto;
  line-height: 1.2;
  font-weight: bold;
  padding: 0.5rem 0;
}
.waribiki small {
  display: block;
  font-size: 0.875rem;
}
.note.txtRight {
  font-size: 0.75rem;
  color: var(--Text_grey);
  text-align: right;
  line-height: 1.5;
}
.priceData {
  margin: 2.5rem auto 0;
}
.priceData__img {
  display: block;
  width: 370px;
  height: auto;
  float: right;
}
.priceData__txt {
  display: inline-block;
  width: calc( 100% - 380px );
}
.priceData::after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

ul.price__list li {
  padding-left: 0 !important;
}

.price__list li::before {
  content: none !important;
}

.monitor_txt {
  margin: 0.9375rem auto 0;
}
.pageContents__container h2 {
  margin-bottom: 2.375rem;
}
.pageContents__container h2.price__h2 + * {
  margin-top: 0;
}
.pagePrice .plan {
  padding-bottom: 3.125rem;
}
.pagePrice .plan .cm__list {
  color: var(--Text_grey);
}


/* ==========================================================================
CPAP
=========================================================================== */
.pageCpap .cpap {
  padding: 0 0.625rem 3.4375rem;
}
.pageCpap .cpap .cpap__wrap {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.pageCpap .cpap .cpap__wrap .cm__list {
  background: var(--white);
  font-size: 0.875rem;
  padding: 1.25rem;
}
.pageCpap .benefits {
  padding: 0 0.625rem 3.125rem;
}
.pageCpap .benefits .cm__list {
  background-color: var(--Back_green);
  font-size: 0.875rem;
  padding: 1.25rem;
}
.pageCpap .benefits__wrap {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 2.25rem;
  gap: 1.25rem;
}
.pageCpap .benefits__wrap p { margin-top: 0; }

.pageCpap .plan {
  padding: 0 0.625rem 3.125rem;
}

.pageCpap .plan .cm__cardlist {
  margin-top: 3.125rem;
}
.pageCpap .plan .cm__cardlist__item { background-color: var(--white); }
.pageCpap .plan .cm__list li::before {
  top: 0.5rem;
  transform: initial;
}
.pageCpap .types {
  padding: 0 0.625rem 3.125rem;
}
.pageCpap .types .types__list {
  display: grid;
  gap: 1.875rem;
  margin-top: 1.875rem;
}
.pageCpap .types .mask_img {
  width: 100%;
  display: block;
  margin: 0 auto;
}
.pageCpap .types .types__list__item {
  background-color: var(--white);
  padding: 1.375rem 1.875rem;
  box-shadow: 0 0 0.3275rem rgba(0,0,0,0.1);
}
.pageCpap .types .types__list__item h3 {
  padding-bottom: 1.125rem;
  border-bottom: 0.0625rem solid var(--Main);
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 0.6875rem;
  margin-top: 1.25rem;
}
.pageCpap .types .types__list__item .num {
  font-family: oswald;
  color: var(--Main);
  font-size: 2.1875rem;
  font-weight: 400;
}
.pageCpap .rental {
  padding: 0 0.625rem 3.125rem;
}
.pageCpap .rental p:first-of-type {
  margin-top: 2rem;
}
.pageCpap .cost {
  padding: 0 0.625rem 3.125rem;
}
.pageCpap .cost .table {
  border: none;
  margin-top: 1.5rem;
  background-color: var(--white);
}
.pageCpap .cost .table thead th {
  font-weight: bold;
}
.pageCpap .cost .table thead th:first-child {
  background: var(--Back);
  border-left: solid 1px var(--Back);
}
.pageCpap .cost .table tbody tr:first-child {
  background-color: var(--Point);
}
.pageCpap .cost .table tbody th {
  color: var(--Text);
  font-weight: 400;
}
.pageCpap .cost .table tbody tr:nth-of-type(1) th {
  background-color: var(--Point);
}
.pageCpap .cost .table tbody tr:nth-of-type(2) th,
.pageCpap .cost .table tbody tr:nth-of-type(3) th {
  background-color: var(--white);
}
.pageCpap .cost .caution {
  font-size: 0.875rem;
  color: #666;
  margin-top: 1.5rem !important;
  display: inline-block;
}
.pageCpap .flow {
  padding: 0 0.625rem 3.125rem;
}
.pageCpap .flow__list {
  margin-top: 2.5rem;
  padding: 0;
}
.pageCpap .flow__list-item {
  padding: 1.25rem;
  border: 0.0625rem solid #999;
  display: flex;
  flex-direction: column;
}
.pageCpap .flow__list-item::before {
  bottom: -25px;
  left: 50%;
  margin-left: -25px;
  border-width: 1.5625rem 1.5625rem 0 1.5625rem;
  border-color: #fff transparent transparent transparent;
}
.pageCpap .flow__list-item::after {
  bottom: -26px;
  left: 50%;
  margin-left: -26px;
  border-width: 1.625rem 1.625rem 0 1.625rem;
  border-color: #999 transparent transparent transparent;
}
.pageCpap .flow__list-item:last-of-type:before,
.pageCpap .flow__list-item:last-of-type:after {
  content: none;
}
.pageCpap .flow__list-item .flow__list-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.pageCpap .flow__list-item .flow__list-heading h3 {
  font-size: 1.25rem;
  border-bottom: 0.0625rem solid var(--Main);
  color: var(--Main);
  width: 100%;
  text-align: center;
}
.pageCpap .flow__list-item .flow__list-txt {
  padding: 0;
  color: var(--Text);
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
}
.pageCpap .interested {
  padding: 0 0.625rem 3.125rem;
}
.pageCpap .interested p:first-of-type {
    margin-top: 2rem;
}

.bottomBox {
  width: calc(100% - 1.25rem);
  margin: 2.625rem auto 0;
  background-color: #f7f7f7;
  padding: 2.625rem;
  color: var(--Text_grey);
  font-size: 1rem;
  text-align: center;
  line-height: 2.0;
}




/*
？
*/
.spSchedule {
  padding: 0 0.75rem;
}
.cm__ctabnr img {
  max-width: 100%;
}
.cm__box-bgw {
  background-color: var(--white);
  text-align: center;
  border: 0.125rem solid var(--Main);
  padding: 1.25rem 0.625rem;
}
.map {
  position: relative;
  height: 430px;
  overflow: hidden;
  margin-top: 3rem;
}
.map iframe {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.schedule {
  border-collapse: collapse;
  width: 100%;
  margin-top: 1rem;
}
.schedule tr td, .schedule tr th {
  font-size: 1rem;
  text-align: center;
  border: none;
  vertical-align: middle;
  height: 3rem;
  padding: 0.6875rem;
}
.schedule tr:nth-child(1) td, .schedule tr:nth-child(1) th {
  height: 3rem;
}
.schedule tr {
  border-bottom: 0.0625rem solid var(--Text_grey);
}
.schedule tr td {
  width: 10%;
}
.schedule tr:nth-of-type(1) td:nth-of-type(1) {
  text-align: right;
  width: 27%;
  font-size: 0.8125rem;
}
.schedule tr td:nth-of-type(1) {
  font-family: var(--gothic-font);
  text-align: left;
  padding-right: 1.5rem;
  font-size: 0.6875rem;
}
.schedule tr:nth-of-type(1) td {
  font-size: 0.8125rem;
  font-weight: 500;
}
.schedule td span.active {
  display: inline-block;
  width: 0.8125rem;
  aspect-ratio: 1 / 1;
  border: 0.7px solid var(--Text);
  border-radius: 50%;
  background: var(--Light_blue);
}
.schedule__note {
  font-size: 0.875rem;
  margin-top: 0.5rem;
  line-height: 1.7;
  color: var(--Text_grey);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.fixedLink {
  display: none;
}
.fixedLink__item a:hover {
  opacity: 1;
}
.point {
  margin-top: 3.875rem;
}
.point__wrap {
  display: flex;
  justify-content: center;
}
.point__wrap img {
  width: 200px;
  max-width: 100%;
}
.point .caution {
  text-align: center;
  font-size: 0.625rem;
  margin-top: 1.125rem;
  line-height: 1.7;
}
.point__ttl {
  color: var(--Main);
  font-weight: bold;
  font-size: 1rem;
  border-radius: 6.25rem;
  border: 0.0625rem solid var(--Main);
  width: 5.625rem;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  font-family: oswald;
}
.point__catch {
  font-weight: bold;
  font-size: 1.625rem;
  margin-top: 0.625rem;
}
.point__num {
  color: var(--Text_red);
  font-weight: bold;
  font-size: 3.125rem;
  line-height: 1;
  padding-left: 0.8125rem;
}
.point__num .md {
  font-size: 2.5rem;
}
.point__num .sm {
  font-size: 1.25rem;
  position: relative;
  top: -15px;
}
.point__content {
  text-align: center;
}
.moreLink {
  margin: 2rem auto 0;
  padding-bottom: 0.5rem;
  text-align: right;
}
.moreLink a {
  display: inline-block;
  padding: 0 1.875rem;
  text-decoration: none;
  font-size: 1.125rem;
  color: #333 !important;
  position: relative;
  transition: all 0.2s;
  text-decoration: none !important;
}
.moreLink a::after {
  content: "";
  width: 4rem;
  height: 0.75rem;
  background-image: url(../img/morelink_ico.svg);
  position: absolute;
  right: 0.125rem;
  bottom: -8px;
  background-size: 4rem 0.75rem;
}
.moreLink a:hover {
  cursor: pointer;
  opacity: 1;
}


@media screen and (min-width: 769px) {
  .qaBox {
    padding: 10px 13px;
    box-shadow: 1px 1px 3px var(--gray);
    margin-top: 0;
  }
  .qaBox + .qaBox {
    margin-top: 20px;
  }
  .qaBox::after {
    right: 32px;
  }
  .qaBox__q {
    font-size: 18px;
    padding-right: 0;
  }
  .qaBox__a {
    margin-top: 16px;
    font-size: 18px;
  }

  .cm__h3 {
    font-size: 24px;
    padding-bottom: 0;
  }

  ul.cm__listnav {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.75rem 1.3125rem;
  }
  ul:not([id]) li.cm__listnav__item {
    gap: 1.5rem;
    padding: 0.875rem;
    min-height: 68px;
  }

  .flow__list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0 25px;
    margin-top: 92px;
    max-width: 1025px;
  }
  .flow__list-item {
    flex-direction: column;
    justify-content: space-between;
    padding: 20px 15px;
  }
  .flow__list-item::before {
    bottom: auto;
    left: auto;
    top: 50%;
    right: -24px;
    margin-top: -24px;
    margin-left: 0;
    border-width: 25px 0 25px 25px;
    border-color: transparent transparent transparent var(--white);
  }
  .flow__list-item::after {
    bottom: auto;
    left: auto;
    top: 50%;
    right: -26px;
    margin-top: -25px;
    margin-left: 0;
    border-width: 26px 0 26px 26px;
    border-color: transparent transparent transparent var(--gray);
  }
  .flow__list-item img {
    width: 170px;
    height: 119px;
  }
  .flow__list-flex {
    flex-direction: row;
  }
  .flow__list-flex-inner {
    flex-direction: column;
  }

  .pageinner__sm { max-width: 750px; padding: 0; }
  .pageinner__md { max-width: 760px; padding: 0; }
  .pageinner__lg { max-width: 1000px; padding: 0; }

  .pageContents, .singleContents {
    padding-top: 0;
  }

  .pageContents__ttl, .singleContents__ttl {
    height: 295px;
    padding: 0 60px;
  }

  .pageContents__ttl-h1, .singleContents__ttl-p {
    font-size: 48px;
    line-height: 1;
    padding: 9px 20px;
  }

  .pageContents__ttl-h1:has(> br:not([class])) {
    background: none;
  }
  .pageContents__ttl-h1:has(> br:not([class])) span {
    background: linear-gradient(to right, #4ea5b0, #14b9ce);
    padding: 6px 12px;
  }
  .pageContents__ttl-h1:has(> br:not([class])) span:first-of-type {
    top: -5px;
    font-size: 38px;
  }
  p.pageContents__ttl-en, .singleContents__ttl-en {
    font-size: 35px;
  }
  .pageContents__container h2 {
    font-size: 40px;
    margin-top: 20px;
  }
  .pageArchive h2 {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    margin-top: 20px;
    line-height: 1.2;
    letter-spacing: 0.08em;
  }

  .cm__cardlist__item {
    padding: 42px 50px;
    display: grid;
    grid-template-columns: 325px 1fr;
    grid-column-gap: 45px;
  }
  .cm__cardlist__heading {
    border-bottom: none;
    border-right: 0.0625rem solid var(--Main);
    padding: 0;
  }
  .cm__cardlist__heading h3 {
    padding-right: 45px;
  }
  .cm__cardlist__content {
    margin-top: 0;
  }

  .contactPage__progress-list {
    gap: 80px;
  }
  .contactPage__progress-item:nth-child(n + 2)::before {
    width: 118px;
    left: -99px;
  }
  .contactPage__progress-txt {
    line-height: 1;
    margin-top: 40px;
  }
  .contactPage__contents {
    margin-top: 64px;
  }
  .formSubmit__item textarea {
    line-height: 1.5;
  }

  .form__btn {
    flex-direction: row;
    justify-content: center;
  }
  .form__btn-submit:hover,
  .form__btn-submit input[type="submit"]:hover,
  .form__btn-back button:hover {
    opacity: 0.6;
  }

  .contactPage__contents--confirm .formSubmit__item {
    flex-direction: row;
    justify-content: flex-start;
    align-items: baseline;
    gap: 64px;
    padding: 40px 14px;
  }
  .contactPage__contents--confirm .formSubmit__item-heading {
    width: 9em;
    flex-shrink: 0;
  }

  .errorMessage div {
    font-size: 32px;
  }
  .errorMessage__num::after {
    height: 40px;
  }
  .errorMessage__ttl {
    font-size: 20px;
  }
  .errorMessage__txt {
    font-size: 14px;
  }

  .pageArchive__ttl-en {
    font-size: 18px;
  }
  .pageArchive__category-h1 {
    font-size: 32px;
    margin-top: 10px;
  }
  .pageArchive__ttl-p {
    font-size: 24px;
    margin-top: 6px;
  }
  .pageArchive__list {
    padding: 100px 0;
  }
  .pageArchive__contents {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 15px;
    row-gap: 26px;
  }
  .pageArchive__contents-item {
    padding-bottom: 0;
    border-bottom: none;
    transition: all 0.2s;
  }
  .pageArchive__contents-item:hover {
    opacity: 0.6;
  }
  .pageArchive__contents-item a {
    display: block;
  }
  .pageArchive__contents-item-img {
    width: 316px;
    height: 195px;
  }
  .pageArchive__contents-item-badgeList {
    height: 25px;
    margin-top: 10px;
  }
  .pageArchive__contents-item-ttl {
    font-size: 18px;
    -webkit-line-clamp: 2;
    margin-top: 4px;
  }

  .pageArchive__ranking {
    padding-bottom: 86px;
  }
  .pageArchive__ranking-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
    margin-top: 38px;
    padding: 0;
  }
  .pageArchive__ranking-item {
    transition: all 0.2s;
  }
  .pageArchive__ranking-item:hover {
    opacity: 0.6;
  }
  .pageArchive__ranking-item img {
    width: 240px;
  }
  .pageArchive__ranking-item-ttl {
    height: 96px;
    font-size: inherit;
  }

  h2.pageArchive__h2 {
    margin-top: 50px;
    font-size: 40px;
  }

  .breadcrumbs {
    width: 1020px;
    padding: 13px 0;
  }
  .breadcrumbs,
  .breadcrumbs a {
    font-size: 16px;
  }
  .breadcrumbs a:hover {
    text-decoration: underline;
  }

  .columnPage__container {
    flex-direction: row;
    width: 1020px;
    margin: 0 auto;
    background-color: #F0F4F8;
    padding: 0;
  }
  .columnPage__container-left { width: 660px; }
  .columnPage__container-right { width: 264px; }

  .columnPage__top-ttl { font-size: 32px; }
  .columnPage__contents { font-size: 16px; }
  .subhead { font-size: 20px; }
  .subhead::before { top: 3px; }

  .priceTable {
    width: 100%;
    margin: 0;
    overflow-x: visible;
  }
  .priceTable table {
    min-width: 760px;
  }

  .arrow_down { margin: 20px auto; }
  .priceData__img { width: 370px; float: right; }
  .priceData__txt { width: calc(100% - 380px); }
  .priceData::after { content: ""; display: block; clear: both; }

  .related {
    width: 100%;
    margin: 60px 0 0;
    padding: 0;
    background: transparent;
  }
  .columnPage__sidebar-ranking-item:nth-child(n + 2) {
    margin-top: 30px;
  }

  a.causeBtnLink__btn { max-width: 600px; }

  .profile { padding: 48px 0; }
  .profile__inner { flex-direction: row; justify-content: center; max-width: 1020px; }
  img.profile__img { width: 17vw; }

  .fukidashi { gap: 30px; }
  .fukidashi__img { min-width: 130px; }
  .fukidashi__desc::before { border-width: 22px; }
  .fukidashi__desc::after { border-width: 22px; }
  .--imgleft .fukidashi__desc::before { left: -21px; }
  .--imgleft .fukidashi__desc::after { left: -22px; }
  .--imgright .fukidashi__desc::before { right: -21px; border-left-color: #f7f7f7; border-right: 0; }
  .--imgright .fukidashi__desc::after { right: -22px; border-left-color: var(--Main); border-right: 0; }

  .shindan { padding: 30px; }
  .columnPage__contents .shindan-ttl { font-size: 22px; }
  .shindan .btn-wrap button { width: 200px; height: 74px; font-size: 16px; }

  .page-about-snoring-treatment .ibikiType__list { grid-template-columns: 1fr 1fr; gap: 16px 20px; }
  .page-about-snoring-treatment .ibikiType__list h3 { font-size: 24px; }


  .flowPage__contents-item {
    flex-direction: row; padding: 35px 38px; align-items: flex-start; gap: 24px;
  }
  .flowPage__contents-item > img {
    width: 340px;
    height: 208px;
    object-fit: cover;
    flex-shrink: 0;
    margin-top: 0;
  }
  .flowPage__contents-item > div {
    padding: 0;
  }
  .flowPage__contents-item .flowPage__contents-heading {
    font-size: 24px;
    padding: 0 0 8px;
    margin: 0;
    border-bottom: 1px solid var(--Main);
  }
  .flowPage__contents-txt {
    padding: 32px 0 0;
  }
  .flowPage__contents-item .num {
    border-right: none; padding-right: 0; margin-right: 15px;
  }

  .aboutPage__message {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  p.aboutPage__message-catch {
    font-size: 32px;
    letter-spacing: 0.02em;
    line-height: 1.6;
  }
  .pageAbout .about__inner {
    max-width: 786px;
  }
  .pageAbout .about__item {
    flex-direction: row;
    max-width: 100%;
    margin: 0;
    align-items: stretch;
  }
  .pageAbout .about__item:nth-of-type(2) {
    flex-direction: row;
  }
  .pageAbout .about__img {
    max-width: 390px;
  }
  .pageAbout .about__img img {
    width: 390px;
  }
  .pageAbout .about__text {
    padding: 40px 50px;
    max-width: 436px;
    min-width: 436px;
    margin-top: 70px;
    margin-left: -40px;
  }
  .pageAbout .about__item:nth-of-type(2) .about__text {
    margin-left: 0;
  }
  .pageAbout .about__item:nth-of-type(2) .about__img {
    position: relative;
    right: 40px;
  }
  .pageAbout .aboutcommit {
    padding: 0 26px 100px;
    margin-top: 100px;
  }
  .pageAbout .aboutcommit__list {
    margin-top: 80px;
  }
  .pageAbout .aboutcommit__item {
    flex-direction: row;
    padding: 42px 50px;
  }
  .pageAbout .aboutcommit__heading {
    border-bottom: none;
    border-right: 1px solid var(--Main);
    width: 325px;
  }
  .aboutcommit__heading h3 {
    padding-right: 45px;
  }
  .aboutcommit__content {
    padding-left: 45px;
    width: calc( 100% - 325px );
  }
  .aboutcommit__content p {
    margin-top: 0;
  }
  .aboutcommit__content a {
    margin-top: 3px;
  }
  .aboutPage__clinic {
    padding: 0 80px;
  }
  .aboutPage__clinic-wrap:nth-child(n + 2) {
    margin-top: 72px;
  }
  .aboutPage__clinic-item {
    flex-direction: row;
    gap: 80px;
  }
  .aboutPage__clinic-item:nth-of-type(n + 2) {
    margin-top: 32px;
  }
  .aboutPage__clinic dt {
    text-align: right;
    width: 6em;
  }
  .aboutPage__clinic-name {
    font-size: 18px;
  }
  .aboutPage__clinic hr {
    margin: 56px 0;
  }
  .aboutPage__clinic-map {
    height: 320px;
    margin-top: 12px;
  }
  .page-about-snoring-treatment .ibikiType__list {
    grid-template-columns: 1fr 1fr;
    margin-top: 3rem;
  }
  .page-about-snoring-treatment .ibikiCost .pageinner__lg {
    padding: 0 0 3.125rem
  }

  .featurePage__summary-txt {
    padding: 0 48px;
    margin-top: 32px;
  }
  .featurePage__summary > img {
    margin-top: 40px;
    width: auto;
  }
  .featurePage__detail {
    margin-top: 74px;
  }
  .featurePage__detail-item {
    flex-direction: row;
    gap: 24px;
  }
  .featurePage__detail-item:nth-child(2n) {
    flex-direction: row-reverse;
  }
  .featurePage__detail-item:nth-child(n + 2) {
    margin-top: 64px;
  }
  .featurePage__detail-item > img {
    width: 325px;
    height: 229px;
  }
  .featurePage__detail-heading {
    font-size: 20px;
    text-align: left;
  }

  .newsPage__inner {
    max-width: 920px;
    padding: 100px 0;
  }
  .newsPage__contents-item dt {
    font-size: 18px;
  }
  .newsPage__contents-item dd {
    padding-right: 0;
  }
  .newsPage__contents-item a::after {
    width: 30px;
    height: 30px;
  }
  .newsPage__contents-item a:hover,
  .newsPage__contents-item a:active {
    padding-left: 2rem !important;
  }
  .pagination a:hover {
    opacity: 0.6;
  }
  .pagination__left, .pagination__right, .pagination__link--num {
    width: 50px;
    height: 50px;
  }
  .pagination__link--num {
    line-height: 50px;
  }
  .pagination__prev::before, .pagination__next::after {
    width: 50px;
    height: 50px;
  }

  .pageQuestion {
    padding: 100px 20px 77px;
  }

  .pageClinic .topClinic__area {
    margin-top: -100px;
  }
  .clinic__about-inner {
    flex-direction: row;
    margin-top: 80px;
    gap: 42px;
    padding: 0;
  }
  .clinic__about-inner img {
    max-width: 450px;
    width: 32vw;
  }
  .clinic__reason-wrap {
    flex-direction: row;
    margin-top: 62px;
    padding: 0;
  }
  .clinic__reason-box {
    max-width: 320px;
  }
  .clinic__reason-box img {
    width: 320px;
  }

  .page-clinic-list {
    padding: 80px 16px 200px;
  }
  .pageCliniclist__nav {
    gap: 24px;
  }
  .page-clinic-list .area__ttl {
    margin-top: 163px;
  }
  .pageCliniclist__contents {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .pageCliniclist__contents-item {
    position: relative;
  }
  .page-clinic-list .information {
    padding: 20px 20px 86px;
  }
  .page-clinic-list .information .clinic__station {
    margin-top: 0.5rem;
  }
  .page-clinic-list .information .cm__btn {
    position: absolute;
    bottom: 20px;
    margin-left: 0;
    width: calc( 100% - 40px );
    height: 54px;
  }
  .clinic__info-tableFrame {
    padding: 0 32px;
  }
  .clinic__info-table tbody th {
    display: table-cell;
    padding: 30px;
    text-align: center;
    vertical-align: top;
    min-width: 150px;
  }
  .clinic__info-table tbody td {
    display: table-cell;
    padding: 30px 0;
    vertical-align: middle;
  }

  .clinic__way-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 25px 15px;
  }
  .clinic__way-item img {
    height: 154px;
  }
  .clinic__hospital-list {
    padding: 20px;
    margin: 20px auto 0;
    gap: 30px;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .singleClinic .clinic__flow .flowPage__contents-item {
    flex-direction: row;
    padding: 35px;
    gap: 37px;
  }
  .singleClinic .clinic__flow .flowPage__contents-item img {
    width: 340px;
  }
  .singleClinic .clinic__flow .flowPage__contents-txt {
    margin-top: 0;
  }

  .pageMechanism .sign .cause_imgList {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin-bottom: 50px;
  }
  .pageMechanism .sign .cause_imgList__item img {
    width: 175px;
  }
  .pageMechanism a.cm__causeBtnLink__btn {
    margin-bottom: 50px;
  }
  .pageMechanism .risk {
    padding-bottom: 100px;
  }
  .pageMechanism .causeRisk {
    grid-template-columns: 1fr 1fr;
  }
  .pageMechanism .flow {
    padding-bottom: 100px;
  }

  .pageIbikisnorelase .snorelase {
    padding: 0 0 100px;
  }
  .pageIbikisnorelase .treatment {
    padding-bottom: 100px;
  }
  .pageIbikisnorelase .treatment .full_img {
    margin-top: 54px;
  }
  .pageIbikisnorelase .treatment .cm__cardlist {
    padding: 0;
  }
  .pageIbikisnorelase .types {
    padding-bottom: 100px;
  }
  .pageIbikisnorelase .types .table thead th:first-child {
    width: 140px;
  }
  .pageIbikisnorelase .types .types__box {
    padding: 35px;
  }
  .pageIbikisnorelase .price {
    padding-bottom: 100px;
  }
  .pageIbikisnorelase .price table {
    margin-top: 80px;
  }


  .pageMonitor .about {
    padding-bottom: 100px;
    padding-right: 0;
    padding-left: 0;
  }
  .pageMonitor .about img {
    margin-top: 50px;
  }
  .pageMonitor .coorperation {
    padding-right: 0;
    padding-left: 0;
  }
  .pageMonitor .coorperation h2 + p {
    margin-top: 60px;
  }
  .pageMonitor .coorperation .cm__list li::before {
    top: 12px;
  }

  .pagePrivacy {
    padding: 100px 24px;
  }
  .pagePrivacy h2 {
    padding-bottom: 20px;
    margin-top: 0;
  }

  .pagePrice .price__icon {
    margin: 1.125rem auto !important;
    padding: 1.125rem 0;
    text-align: center;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.125rem;
  }

  .pagePrice .price__icon-item {
    font-size: 1.125rem;
    line-height: 4.125rem;
    padding: 0;
    text-align: center;
    background-color: #fff;
    display: flex;
    align-items: center;
    padding: 1.25rem 1.25rem;
    gap: 0.625rem;
    font-weight: bold;
  }

  .pagePrice .mechanism {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 100px;
  }
  .pagePrice .mechanism h2 + .full_img {
    margin-top: 40px;
  }
  .pagePrice .treatment {
    padding: 0 0 100px;
  }
  .pagePrice .types {
    padding-bottom: 100px;
  }
  .pagePrice .types .table thead th:first-child {
    width: 140px;
  }
  .pagePrice .plan {
    padding-bottom: 100px;
  }
  .pagePrice .plan .cm__list li::before {
    top: 50%;
    transform: translateY(-50%);
  }

  .pageCpap .cpap { padding-bottom: 100px; }
  .pageCpap .cpap .cpap__wrap {
    flex-direction: row;
  }
  .pageCpap .cpap .cpap__wrap .cm__list {
    min-width: 332px;
    padding: 20px;
    font-size: 14px;
  }
  .pageCpap .cpap .cpap__wrap .cm__list li::before { top: 12px; }
  .pageCpap .benefits__wrap {
    flex-direction: row;
    margin-top: 70px;
  }
  .pageCpap .benefits .cm__list {
    min-width: 332px;
    padding: 20px;
    font-size: 14px;
  }
  .pageCpap .plan .full_img {
    width: auto;
    text-align: center;
  }
  .pageCpap .plan .full_img img {
    margin-right: auto;
    margin-left: auto;
  }
  .pageCpap .types .types__list {
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
    gap: 30px;
  }
  .pageCpap .types .mask_img {
    width: 250px;
  }
  .pageCpap .cost .table { margin-top: 60px; }

  .pageCpap .flow__list {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }
  .pageCpap .flow__list-item {
    flex-direction: row;
  }
  .pageCpap .flow__list-item::before {
    bottom: -25px;
    left: 50%;
    margin-left: -25px;
    top: auto;
    border-width: 25px 25px 0 25px;
    border-color: #fff transparent transparent transparent;
  }
  .pageCpap .flow__list-item::after {
    bottom: -26px;
    left: 50%;
    top: auto;
    right: auto;
    margin: 0 0 0 -26px;
    border-width: 26px 26px 0 26px;
    border-color: #999 transparent transparent transparent;
  }
  .pageCpap .flow__list-item .flow__list-heading {
    min-width: 290px;
    max-width: 290px;
    border-right: 1px solid var(--Main);
  }
  .pageCpap .flow__list-item .flow__list-heading h3 {
    border-bottom: none;
    margin-top: 0;
  }
  .pageCpap .flow__list-item .flow__list-txt {
    margin: 0;
    padding-left: 45px;
    width: calc( 100% - 290px );
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }

  .bottomBox { max-width: 1020px; }
}
@media screen and (min-width: 769px) {
  .map {
    margin-top: 0;
  }
  .schedule {
    margin: 28px auto 0;
    width: auto;
  }
  .schedule tr td, .schedule tr th {
    font-size: 16px;
    height: 64px;
    padding: 16px;
  }
  .schedule tr:nth-child(1) td, .schedule tr:nth-child(1) th {
    height: 52px;
  }
  .schedule tr:nth-of-type(1) td:nth-of-type(1) {
    width: 26%;
    font-size: 16px;
  }
  .schedule tr td:nth-of-type(1) {
    padding-right: 32px;
    font-size: 16px;
  }
  .schedule tr:nth-of-type(1) td {
    font-size: 16px;
  }
  .schedule td span.active {
    width: 19px;
  }
  .schedule__note {
    font-size: 16px;
    width: 530px;
  }
  .fixedLink {
    position: fixed;
    right: 0;
    top: 34%;
    width: 57px;
    z-index: 900;
  }
  .fixedLink__item {
    display: inline-block;
  }
  .fixedLink__item a {
    margin-top: 10px;
    width: 57px;
    padding: 24px 17px 24px 20px;
    font-size: 18px;
    display: inline-block;
    border-radius: 4px 0px 0 4px;
    color: var(--white);
    background-color: var(--Main);
    text-decoration: none;
    border: 2px solid var(--Main);
    border-right: none;
    transition: all 0.2s;
  }
  .fixedLink__item__en a {
    writing-mode: vertical-rl;
  }
  .fixedLink__item a::before {
    content: "";
    background-image: url(../img/reservation_ico.svg);
    width: 20px;
    height: 20px;
    background-size: 20px;
    display: inline-block;
    margin-bottom: 4px;
    position: relative;
  }
  .fixedLink__item:nth-of-type(2) a {
    background-color: var(--Light_blue);
    color: var(--Main);
  }
  .fixedLink__item:nth-of-type(2) a:before {
    background-image: url(../img/contact_ico.svg);
  }
  .fixedLink__item a:hover {
    cursor: pointer;
    opacity: 0.6;
  }

  .point__wrap img {
    width: 365px;
  }
  .point__ttl {
    font-size: 30px;
    width: 165px;
    font-weight: 400;
  }
  .point__catch {
    font-size: 40px;
  }
  .point__num {
    font-size: 80px;
  }
  .point__num .md {
    font-size: 50px;
  }
  .point__num .sm {
    font-size: 30px;
  }
  .point .caution {
    font-size: 14px;
  }
}
