@charset "UTF-8";

/*! kiso.css v1.2.2 | MIT License | https://github.com/tak-dcxi/kiso.css */
/* ======================================================
//  MARK: Universal
// ====================================================== */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* ======================================================
//  MARK: Document and Body Elements
// ====================================================== */
:where(:root) {
  /* In Safari, if `font-family` is not specified, a serif font is applied by default, so `sans-serif` is set as the default here. */
  font-family: sans-serif;
  line-height: 1.5;
  text-spacing-trim: trim-start;
  text-autospace: normal;
  line-break: strict;
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scrollbar-gutter: stable;
  -webkit-tap-highlight-color: transparent;
}

:where(body) {
  min-block-size: 100dvb;
  margin: unset;
}

/* ======================================================
// MARK: Sections
// ------------------------------------------------------ */
:where(h1, h2, h3, h4, h5, h6) {
  text-wrap: pretty;
}

:where(h1) {
  /*  margin-block: 0.67em;*/
  /*  font-size: 2em;*/
  margin: 0;
}

:where(h2, h3, h4, h5, h6) {
  margin-block: unset;
}

:where(search) {
  display: block flow;
}

/* ======================================================
//  MARK: Grouping content
// ====================================================== */
:where(p, blockquote, figure, pre, address, ul, ol, dl, menu) {
  margin-block: unset;
}

:where(blockquote, figure) {
  margin-inline: unset;
}

:where(p:lang(en)) {
  text-wrap: pretty;
}

:where(address:lang(ja)) {
  /* Italic style is not common in Japanese, so the `font-style` is reset. */
  font-style: unset;
}

:where(ul, ol, menu) {
  -webkit-padding-start: unset;
  padding-inline-start: unset;
  list-style-type: "";
}

:where(dt) {
  font-weight: bolder;
}

:where(dd) {
  -webkit-margin-start: unset;
  margin-inline-start: unset;
}

:where(pre) {
  text-spacing-trim: space-all;
  text-autospace: no-autospace;
}

/* ======================================================
//  MARK: Text-level semantics
// ====================================================== */
:where(em:lang(ja)) {
  /* In Japanese, emphasis is commonly represented by bold text, so `font-weight: bolder;` is set by default. */
  font-weight: bolder;
}

:where(:is(i, cite, em, dfn, var):lang(ja)) {
  font-style: unset;
}

:where(code, kbd, samp) {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  -webkit-font-feature-settings: initial;
  font-feature-settings: initial;
  font-variation-settings: initial;
  font-size: unset;
  -webkit-font-variant-ligatures: none;
  font-variant-ligatures: none;
}

:where(abbr[title]) {
  text-decoration-line: underline;
  text-decoration-style: dotted;
  cursor: help;
}

:where(time) {
  text-autospace: no-autospace;
}

@media (forced-colors: active) {
  :where(mark) {
    background-color: Highlight;
    color: HighlightText;
  }
}

@media print {
  :where(mark) {
    border-width: 1px;
    border-style: dotted;
  }
}

/* ======================================================
//  MARK: Links
// ====================================================== */
:where(a:-moz-any-link) {
  color: unset;
  text-decoration-line: unset;
  text-decoration-thickness: from-font;
}

:where(a:any-link) {
  color: unset;
  text-decoration-line: unset;
  text-decoration-thickness: from-font;
}

/* ======================================================
//  MARK: Embedded content
// ====================================================== */
:where(img, svg, picture, video, canvas, model, audio, iframe, embed, object) {
  block-size: auto;
  max-inline-size: 100%;
  vertical-align: bottom;
}

:where(iframe) {
  border: unset;
}

/* ======================================================
//  MARK: Tabular data
// ====================================================== */
:where(table) {
  border-collapse: collapse;
}

:where(caption, th) {
  text-align: unset;
}

:where(caption) {
  text-wrap: pretty;
}

/* ======================================================
//  MARK: Forms
// ====================================================== */
::-webkit-file-upload-button {
  border-width: 1px;
  border-style: solid;
  border-color: unset;
  border-radius: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}

:where(button, input, select, textarea),
::file-selector-button {
  border-width: 1px;
  border-style: solid;
  border-color: unset;
  border-radius: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}

:where(input:is([type=radio i], [type=checkbox i])) {
  margin: unset;
}

:where(input[type=file i]) {
  border: unset;
}

:where(input[type=search i]) {
  -webkit-appearance: textfield;
}

@supports (-webkit-touch-callout: none) {
  :where(input[type=search i]) {
    background-color: Canvas;
  }
}

:where(input:is([type=tel i],
    [type=url i],
    [type=email i],
    [type=number i]):not(:-moz-placeholder)) {
  direction: ltr;
}

:where(input:is([type=tel i],
    [type=url i],
    [type=email i],
    [type=number i]):not(:-ms-input-placeholder)) {
  direction: ltr;
}

:where(input:is([type=tel i],
    [type=url i],
    [type=email i],
    [type=number i]):not(:placeholder-shown)) {
  direction: ltr;
}

:where(textarea) {
  margin-block: unset;
  resize: block;
}

:where(input:not([type=button i], [type=submit i], [type=reset i]),
  textarea,
  [contenteditable]) {
  text-autospace: no-autospace;
}

::-webkit-file-upload-button {
  background-color: unset;
}

:where(button,
  input:is([type=button i], [type=submit i], [type=reset i])),
::file-selector-button {
  background-color: unset;
}

::-webkit-file-upload-button {
  touch-action: manipulation;
}

:where(button,
  input:is([type=button i], [type=submit i], [type=reset i]),
  [role=tab i],
  [role=button i],
  [role=option i]),
::file-selector-button {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

:where(:enabled)::-webkit-file-upload-button {
  cursor: pointer;
}

:where(button:enabled,
  label[for],
  select:enabled,
  input:is([type=button i],
    [type=submit i],
    [type=reset i],
    [type=radio i],
    [type=checkbox i]):enabled,
  [role=tab i],
  [role=button i],
  [role=option i]),
:where(:enabled)::file-selector-button {
  cursor: pointer;
}

:where(fieldset) {
  min-inline-size: 0;
  margin-inline: unset;
  padding: unset;
  border: unset;
}

:where(legend) {
  padding-inline: unset;
}

:where(progress) {
  vertical-align: unset;
}

::-webkit-input-placeholder {
  opacity: unset;
}

::-moz-placeholder {
  opacity: unset;
}

:-ms-input-placeholder {
  opacity: unset;
}

::-ms-input-placeholder {
  opacity: unset;
}

::placeholder {
  opacity: unset;
}

/* ======================================================
//  MARK: Interactive elements
// ====================================================== */
:where(summary) {
  list-style-type: "";
  cursor: pointer;
}

:where(summary)::-webkit-details-marker {
  display: none;
}

:where(dialog, [popover]) {
  overscroll-behavior-block: contain;
  padding: unset;
  border: unset;
}

:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  display: none !important;
}

:where(dialog) {
  max-inline-size: unset;
  max-block-size: unset;
}

:where(dialog)::-ms-backdrop {
  background-color: oklch(0% 0 0deg/30%);
}

:where(dialog)::backdrop {
  background-color: oklch(0% 0 0deg/30%);
}

:where([popover]) {
  margin: unset;
}

/* ======================================================
//  MARK: Focus Styles
// ====================================================== */
:where(:focus-visible) {
  outline-offset: 3px;
}

[tabindex="-1"]:focus {
  outline: none !important;
}

/* ======================================================
//  MARK: Misc
// ====================================================== */
:where(:disabled, [aria-disabled=true i]) {
  cursor: default;
}

[hidden]:not([hidden=until-found i]) {
  display: none !important;
}

/*text*/
/*key*/
/*link*/
/*background*/
/*btn*/
/*btn reserve*/
:root {
  /*font size*/
  --font-size_35-56: clamp(2.188rem, 1.531rem + 2.63vw, 3.5rem);
  --font-size_31-50: clamp(1.938rem, 1.344rem + 2.38vw, 3.125rem);
  --font-size_27-40: clamp(1.688rem, 1.281rem + 1.63vw, 2.5rem);
  --font-size_27-35: clamp(1.688rem, 1.438rem + 1vw, 2.188rem);
  --font-size_24-32: clamp(1.5rem, 1.25rem + 1vw, 2rem);
  --font-size_20-24: clamp(1.25rem, 1.125rem + 0.5vw, 1.5rem);
  --font-size_19-22: clamp(1.125rem, 1.063rem + 0.25vw, 1.25rem);
  --font-size_18-20: clamp(1.125rem, 1.063rem + 0.25vw, 1.25rem);
  --font-size_17-18: clamp(1.063rem, 1.031rem + 0.13vw, 1.125rem);
  --font-size_18-24: clamp(1.125rem, 0.656rem + 0.94vw, 1.5rem);
  --font-size_12-14: clamp(0.75rem, 0.594rem + 0.31vw, 0.875rem);
}

/*-----------------------------------
    基本設定
-----------------------------------*/
html {
  scroll-behavior: smooth;
  font-size: 18px;
}

@media (width >=840px) {
  html {
    font-size: 16px;
  }
}

a:-moz-any-link {
  color: #2B5602;
}

a:any-link {
  color: #2B5602;
}

@media (any-hover: hover) {
  a:hover {
    text-decoration: underline;
  }
}

body {
  position: relative;
  background: #fcfdfa url(../img/header/leef-left-s.svg) left -5px/clamp(4.063rem, 3.099rem + 4.82vw, 5.625rem) auto no-repeat;
  padding-bottom: 104px;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  color: #5E4E43;
}

@media (min-width: 1024px) {
  body {
    background: #fcfdfa url(../img/header/leaf-left-L.svg) left top/clamp(15.625rem, 10.725rem + 9.33vw, 19.125rem) auto no-repeat;
  }
}

/*-------トップページ用の葉っぱの設定---------*/
body.home {
  background: #fcfdfa url(../img/header/leef-left-index-s.svg) left top/clamp(6.25rem, -0.686rem + 34.68vw, 17.5rem) auto no-repeat;
}

@media (min-width: 840px) {
  body.home {
    background: #fcfdfa url(../img/header/leaf-left-index-L.svg) left top/clamp(20rem, 40vw, 36rem) auto no-repeat;
  }
}

.wrapper {
  max-width: 1216px;
  margin-inline: auto;
  padding-inline: 4%;
}

.wrapper2 {
  max-width: 804px;
  margin-inline: auto;
  padding-inline: 4%;
}

p {
  line-break: strict;
}

strong {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(30%, #fff5de));
  background: linear-gradient(transparent 50%, #fff5de 30%);
  font-weight: bold;
  color: #d8234f;
  letter-spacing: 0.03%;
}

em {
  color: #d8234f;
  font-style: normal;
  font-weight: normal;
}

/*改行禁止*/
.nowrap {
  white-space: nowrap;
}

/*横並び*/
.ms-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/*左右中央揃え*/
.ms-text-center {
  text-align: center;
  word-break: auto-phrase;
}

/*文字サイズ*/
.common-text-block :where(p, li, th, td) {
  font-size: var(--font-size_17-18);
}

.common-text-block :where(p.note, .note p, span.note, .note li) {
  font-size: 16px;
}

.common-text-block :where(p.note2, .note2 p, span.note2, .note2 li) {
  font-size: 14px;
}

.common-text-block :where(p, li) {
  line-height: 1.8;
}

.common-text-block :where(.priceBox em) {
  font-size: 135%;
}

.common-text-block :where(.priceBox sub) {
  position: relative;
  bottom: 4px;
}

.price {
  font-size: 28px;
  font-weight: 500;
}

/*-----------------------------------
   見出し
-----------------------------------*/
:where(h2,
  h3,
  h4,
  h5,
  h6,
  .heading2-1,
  .heading3-1,
  .heading4-1,
  .heading5-1,
  .heading6-1,
  .heading3_1dotline,
  .pageTitle,
  .heading2-2,
  .heading3-2,
  .heading3-2line,
  .heading4-2,
  .heading5-2,
  .heading6-2) {
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  line-height: 1.5;
  color: #755038;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  word-break: auto-phrase;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

:where(.heading2-1,
  .heading3-1,
  .heading4-1,
  .heading5-1,
  .heading6-1) {
  color: #7b6658;
}

.common-text-block :where(h1,
  h2,
  h3,
  h4,
  h5) {
  font-weight: 500;
}

.common-text-block :where(h1,
  h2,
  h3,
  h4,
  h5) span {
  display: inline-block;
}

.common-text-block :where(h2) {
  font-size: clamp(1.625rem, 1.341rem + 1.42vw, 2.25rem);
}

.common-text-block :where(h3) {
  font-size: clamp(1.375rem, 0.804rem + 2.86vw, 1.5rem);
}

.common-text-block :where(h4) {
  font-size: 21px;
}

.heading2-1 {
  font-size: clamp(1.625rem, 1.341rem + 1.42vw, 2.25rem);
}

.heading2-1 span {
  font-size: 0.6em;
}

.heading3-1 {
  font-size: clamp(1.375rem, 0.804rem + 2.86vw, 1.5rem);
}

.heading4-1 {
  font-size: 21px;
}

.heading3_1dotline {
  width: 100%;
  padding: 0 2px 6px 2px;
  color: #51621e;
  font-size: clamp(1.375rem, 0.804rem + 2.86vw, 1.5rem);
  font-weight: 700;
  border-bottom: 4px dotted #A2C43C;
}

.pageTitle,
.common-text-block h1 {
  font-size: clamp(1.625rem, 1.17rem + 2.27vw, 2.625rem);
}

.heading2-2 {
  font-size: clamp(1.438rem, 1.295rem + 0.71vw, 1.75rem);
}

.heading3-2,
.heading3-3,
.heading3-4,
.heading3-5 {
  font-size: clamp(1.25rem, 1.136rem + 0.57vw, 1.5rem);
}

.heading3-2line,
.common-text-block h3 {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 6px 6px 2px;
}

.heading3-2line.forlast1-letter,
.common-text-block h3.forlast1-letter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.heading3-2line {
  font-size: clamp(1.25rem, 1.136rem + 0.57vw, 1.5rem);
}

.heading3-2line::after,
.common-text-block h3::after {
  position: absolute;
  background: -webkit-gradient(linear, left top, right top, from(#A2C43C), color-stop(50%, #A2C43C), to(transparent));
  background: linear-gradient(to right, #A2C43C, #A2C43C 50%, transparent);
  background: #A2C43C;
  content: "";
  height: 2px;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: 100%;
  bottom: 0;
}

/*Safariで最後の1文字が改行されてしまう問題の対応策*/
.heading3-2line::before,
.common-text-block h3::before {
  content: ".";
  display: inline-block;
  width: 1px;
  color: transparent;
  pointer-events: none;
}

.common-text-block h3.heading2-1,
.common-text-block h3.heading3-1,
.common-text-block h3.heading4-1 {
  padding: 0;
  width: auto;
}

.common-text-block h3.heading2-1::after,
.common-text-block h3.heading3-1::after,
.common-text-block h3.heading3-3::after,
.common-text-block h3.heading3-4::after,
.common-text-block h3.heading3-5::after,
.common-text-block h3.heading4-1::after {
  content: none;
}

.heading3-3 {
  position: relative;
  padding: 0.7em 0.5em;
}

.heading3-3::before,
.heading3-3::after {
  display: inline-block;
  position: absolute;
  width: 1em;
  height: 1.5em;
  content: "";
}

.heading3-3::before {
  top: 0;
  left: 0;
  border-top: 2px solid #ccde93;
  border-left: 2px solid #ccde93;
}

.heading3-3::after {
  bottom: 0;
  right: 0;
  border-bottom: 2px solid #ccde93;
  border-right: 2px solid #ccde93;
}

.heading3-4 {
  position: relative;
  padding: 0.5em 0.7em;
  border: 3px solid #ccde93;
  border-radius: 1.2rem;
  background-color: #f2f7e4;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.heading3-4::before,
.heading3-4::after {
  position: absolute;
  left: 20%;
  bottom: -15px;
  width: 30px;
  height: 15px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
}

.heading3-4::before {
  background-color: #ccde93;
}

.heading3-4::after {
  bottom: -11px;
  background-color: #f2f7e4;
}

.heading3-5 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #88a432;
}

.heading3-5::before,
.heading3-5::after {
  width: 3px;
  height: 54px;
  background-color: #ccde93;
  content: "";
}

.heading3-5::before {
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg);
  margin-right: 30px;
}

.heading3-5::after {
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
  margin-left: 30px;
}

/*-----------------------------------
　テーブル
-----------------------------------*/
th,
td {
  padding: 16px;
}

.table-clinicOpen {
  width: 100%;
  border-bottom: 5px solid #e5efc9;
}

.table-clinicOpen th,
.table-clinicOpen td {
  word-break: keep-all;
}

.table-clinicOpen td {
  font-size: clamp(1rem, 0.923rem + 0.32vw, 1.125rem);
  text-align: center;
  text-wrap: balance;
  line-break: strict;
}

.table-clinicOpen th {
  color: #755038;
}

.table-clinicOpen tr:nth-child(2n+1) {
  background: #f5f2f0;
  border-radius: 16px;
}

.table-clinicOpen tr:first-child {
  background: #f2f7e4;
  border-radius: 16px;
}

.TCOheaderg__text,
.TCOheaderg__text2,
.TCOheaderg__num {
  font-family: "Zen Maru Gothic";
  font-size: clamp(0.875rem, 0.606rem + 1.1vw, 1.313rem);
  font-weight: 500;
  line-height: 1;
  text-align: center;
}

.TCOheaderg__text {
  font-size: clamp(1rem, 0.773rem + 1.14vw, 1.5rem);
}

.TCOheaderg__text2 {
  font-size: clamp(0.813rem, 0.67rem + 0.71vw, 1.125rem);
  white-space: nowrap;
}

.TCOheaderg__num {
  font-size: clamp(1.125rem, 1.01rem + 0.47vw, 1.313rem);
}

table.type-line,
.type-line table,
table.type-line2,
.type-line2 table {
  width: 100%;
  border: none;
  border-top: 1px solid #cecece;
}

.type-line tr,
.type-line2 tr {
  border: none;
  border-bottom: 1px solid #cecece;
}

.type-line th,
.type-line td,
.type-line2 th,
.type-line2 td {
  padding: 16px;
  border: none;
  font-weight: 500;
}

.type-line th,
.type-line2 th {
  padding-left: 2px;
}

.type-line td,
.type-line2 td {
  padding-right: 2px;
}

.type-line th.caution,
.type-line td.caution,
.type-line2 th.caution,
.type-line2 td.caution {
  background-color: #fce9ee;
}

.type-line .th-small,
.type-line2 .th-small {
  padding: 0.4em;
  background-color: #f2f7e4;
  font-size: 16px;
  font-weight: bold;
}

.type-line thead th,
.type-line2 thead th {
  padding-inline: 1rem;
  font-weight: 700;
  font-size: 120%;
  background-color: #f2f7e4;
}

.type-line2 th {
  font-weight: 700;
}

.type-line.thnowrap th {
  white-space: nowrap;
}

.thcolor th {
  padding-left: 0.8em;
  background-color: #f2f7e4;
  font-weight: bold;
}

/*-----------------------------------
　リスト
-----------------------------------*/
.common-text-block ol {
  counter-reset: number 0;
}

.common-text-block ol li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0.3em;
}

.common-text-block ol li::before {
  display: inline-block;
  padding-top: 2px;
  margin-right: 0.5rem;
  color: #88a432;
  font-family: "Zen Maru Gothic";
  font-size: 1.4em;
  line-height: 1;
  counter-increment: number 1;
  content: counter(number) " ";
}

:where(li ul) {
  margin-left: 1rem;
}

.listCircleL li {
  position: relative;
  padding-left: 1.2em;
  font-style: normal;
}

.listCircleL li::before {
  position: absolute;
  left: 0;
  top: 0.25em;
  content: "";
  inline-size: 1em;
  aspect-ratio: 1;
  background-color: #A2C43C;
  border-radius: 50%;
}

.listCircleM li,
#infosingle .common-text-block li {
  position: relative;
  padding-left: 1.2em;
  font-style: normal;
}

.listCircleM li::before,
#infosingle .common-text-block li::before {
  position: absolute;
  left: 0;
  top: 0.5em;
  content: "";
  inline-size: 0.8em;
  aspect-ratio: 1;
  background-color: #A2C43C;
  border-radius: 50%;
}

.listCircleL li+li,
.listCircleM li+li,
#infosingle .common-text-block li+li {
  margin-top: 1em;
}

.note li {
  position: relative;
  padding-left: 1.1em;
}

.note li:before {
  position: absolute;
  content: "※";
  left: 0;
  top: -2px;
  inline-size: 1.8em;
}

.listCircleM li ul {
  margin-top: 1rem;
}

.listCircleM li ul li+li {
  margin-top: 0.8em;
}

.listCircleM li .note li:before {
  background-color: transparent;
}

/*-----------------------------------
　余白
-----------------------------------*/
.mt12 {
  margin-top: 12px;
}

.common-text-block :where(p + h2,
  p + .heading2-1,
  div + h2,
  div + .heading2-1,
  ul + h2,
  ul + .heading2-1,
  ol + h2,
  ol + .heading2-1,
  figure + h2,
  figure + .heading2-1,
  img + h2,
  img + .heading2-1,
  table + h2,
  table + .heading2-1,
  .btnreservation.on-its-own + h2,
  .btnreservation.on-its-own + .heading2-1,
  .pagejump + h3,
  .pagejump + .heading3-1) {
  margin-top: clamp(3rem, 2.091rem + 4.55vw, 5rem);
}

.common-text-block :where(h2 + p,
  h2 + div,
  .heading2-1 + div,
  h2 + figure,
  .heading2-1 + figure,
  h2 + img,
  .heading2-1 + img,
  h2 + table,
  .heading2-1 + table,
  h2 + h3,
  .heading2-1 + .heading3-1,
  h2 + ul,
  .heading2-1 + ul,
  h2 + ol,
  .heading2-1 + ol,
  h2 + section,
  .heading2-1 + section,
  p + h3,
  p + .heading3-1,
  div + h3,
  div + .heading3-1,
  figure + h3,
  figure + .heading3-1,
  img + h3,
  img + .heading3-1,
  ul + h3,
  ul + .heading3-1,
  ol + h3,
  ol + .heading3-1,
  h2 + .btnreservation.on-its-own,
  .heading2-1 + .btnreservation.on-its-own,
  .btnreservation.on-its-own + h3,
  .btnreservation.on-its-own + .heading3-1,
  h2 + .btn-line,
  .heading2-1 + .btn-line,
  .btn-line + h3,
  .btn-line + .heading3-1,
  table + h3,
  table + .heading3-1) {
  margin-top: clamp(2rem, 1.375rem + 3.13vw, 3.375rem);
}

.common-text-block :where(h3 + h4,
  h4 + p,
  .heading4-1 + p,
  h4 + figure,
  .heading4-1 + figure,
  h4 + div,
  .heading4-1 + div,
  h4 + table,
  .heading4-1 + table,
  h4 + img,
  .heading4-1 + img,
  p + figure,
  figure + p,
  p + img,
  img + p,
  p + table,
  table + p,
  h5 + p,
  p + h5,
  h5 + div,
  div + h5,
  h5 + figure,
  figure + h5,
  h6 + p,
  p + h6,
  h6 + div,
  div + h6,
  h6 + figure,
  figure + h6,
  h4 + .btnreservation.on-its-own,
  .heading4-1 + .btnreservation.on-its-own,
  h5 + .btnreservation.on-its-own,
  h6 + .btnreservation.on-its-own) {
  margin-top: clamp(1.125rem, 0.938rem + 0.75vw, 1.5rem);
  /*18-24*/
}

.common-text-block :where(h4.littleMargin + p) {
  margin-top: 0;
}

.common-text-block :where(h3 + p,
  .heading3-1 + p,
  h3 + div,
  .heading3-1 + div,
  h3 + figure,
  .heading3-1 + figure,
  h3 + ul,
  .heading3-1 + ul,
  h3 + table,
  .heading3-1 + table,
  h3 + img,
  .heading3-1 + img,
  h3 + .btn-line,
  .heading3-1 + .btn-line,
  h3 + .btnreservation.on-its-own,
  .heading3-1 + .btnreservation.on-its-own,
  p + h4,
  p + .heading4-1,
  div + h4,
  div + .heading4-1,
  figure + h4,
  figure + .heading4-1,
  table + h4,
  table + .heading4-1,
  img + h4,
  img + .heading4-1,
  .btnreservation.on-its-own + h4,
  .btnreservation.on-its-own + .heading4-1,
  .btn-line + h4,
  .btn-line + .heading4-1,
  .btnreservation.on-its-own + h5,
  .btnreservation.on-its-own + h6,
  .btnreservation.on-its-own + ul,
  .btnreservation.on-its-own + ol,
  .btnreservation.on-its-own + p,
  .btnreservation.on-its-own + .btnreservation.on-its-own,
  .btnreservation.on-its-own + .btn-line,
  .btnreservation.on-its-own + div,
  .btnreservation.on-its-own + table,
  .btnreservation.on-its-own + img,
  .btnreservation.on-its-own + figure) {
  margin-top: clamp(1.5rem, 1.25rem + 1vw, 2rem);
  /*24-32*/
}

.common-text-block :where(p + p,
  li + li,
  p + img,
  img + p,
  p + .btnreservation.on-its-own,
  .btn-line + .btnreservation.on-its-own,
  p + .btn-line,
  .btn-line + p,
  img + .btn-line,
  .btn-line + img) {
  margin-top: 1em;
}

.common-text-block .InstaContainer li {
  line-height: 1;
}

.common-text-block .InstaContainer li+li {
  margin-top: 0;
}

.common-text-block :where(p + figure,
  figure + p,
  p + ul,
  p + ol,
  ul + p,
  ol + p,
  p + div,
  div + p,
  div + ul,
  ul + div,
  div + .btnreservation.on-its-own,
  table + .btnreservation.on-its-own,
  img + .btnreservation.on-its-own,
  figure + .btnreservation.on-its-own,
  ul + .btnreservation.on-its-own,
  ol + .btnreservation.on-its-own,
  div + .btn-line,
  .btn-line + div,
  table + .btn-line,
  .btn-line + table,
  figure + .btn-line,
  .btn-line + figure,
  ul + .btn-line,
  .btn-line + ul,
  ol + .btn-line,
  .btn-line + ol) {
  margin-top: clamp(1.25rem, 1.125rem + 0.5vw, 1.5rem);
  /*20-24*/
}

.mt16 {
  margin-top: 1rem;
}

.mt48-80 {
  margin-top: clamp(3rem, 2rem + 4vw, 5rem) !important;
}

.mt32-80 {
  margin-top: clamp(2rem, 0.5rem + 6vw, 5rem) !important;
}

.mt32-56 {
  margin-top: clamp(2rem, 1.25rem + 3vw, 3.5rem) !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt24-48 {
  margin-top: clamp(1.5rem, 0.75rem + 3vw, 3rem) !important;
}

.mt32-40 {
  margin-top: clamp(2rem, 1.75rem + 1vw, 2.5rem) !important;
}

.mt24-40 {
  margin-top: clamp(1.5rem, 1rem + 2vw, 2.5rem) !important;
}

.mt20-32 {
  margin-top: clamp(1.25rem, 0.875rem + 1.5vw, 2rem) !important;
}

.mt48 {
  margin-top: 48px !important;
}

.mt64-120 {
  margin-top: clamp(4rem, 2.25rem + 7vw, 7.5rem) !important;
}

.mt1em {
  margin-top: 1em !important;
}

.mt05em {
  margin-top: 0.5em !important;
}

.pt32-80 {
  padding-top: clamp(2rem, 0.5rem + 6vw, 5rem) !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pt24-48 {
  padding-top: clamp(1.5rem, 0.75rem + 3vw, 3rem) !important;
}

.pt24-40 {
  padding-top: clamp(1.5rem, 1rem + 2vw, 2.5rem) !important;
}

.pt48 {
  padding-top: 48px !important;
}

.pt64-120 {
  padding-top: clamp(4rem, 2.25rem + 7vw, 7.5rem) !important;
}

/*-----------------------------------
　コンテンツ幅
-----------------------------------*/
/*囲み罫あり*/
.lineBox {
  margin-inline: auto;
  padding: 5%;
  border-radius: 1rem;
  border: 3px solid #b2ce5d;
}

/*囲み罫あり余白少なめ*/
.lineBox-narrow {
  margin-inline: auto;
  padding: 3%;
  border-radius: 16px;
  border: 1px solid #b2ce5d;
}

/*背景塗りグレー*/
.lineBox-narrow-fill {
  margin-inline: auto;
  padding: 3%;
  border-radius: 1rem;
  background-color: #f3f3f3;
}

/*背景塗りグリーン*/
.lineBox-narrow-fill.green {
  background-color: #f2f7e4;
}

/*背景塗り横幅画面いっぱい*/
.wide100 {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  border-radius: 0;
}

@media (width >=1024px) {
  .wide100 {
    width: 80vw;
    margin-inline: calc(50% - 40vw);
    padding-inline: 4%;
    border-radius: 2rem;
  }
}

.wrapper840 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 840px;
  margin-inline: auto;
  padding-inline: 5%;
}

/*-----------------------------------
　共通パーツ
-----------------------------------*/
img.payLists {
  mix-blend-mode: multiply;
}

/*Wp基本のcss(後で削除）*/
.has-text-align-center {
  text-align: center;
  margin-inline: auto;
}

/*下向き矢印付きボックス*/
.down-arrow-Box {
  position: relative;
}

.down-arrow-Box::after {
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 48px;
  line-height: 1;
  color: #A2C43C;
  content: "arrow_downward";
  position: relative;
  left: calc((100% - 48px) / 2);
}

/* Text meant only for screen readers */
.says,
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
}

/*-----------------------------------
    グロナビボタン
-----------------------------------*/
a.gnavItem {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 32px 16px;
  font-family: "Zen Maru Gothic";
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
}

a.gnavItem:-moz-any-link {
  color: #5E4E43;
}

a.gnavItem:any-link {
  color: #5E4E43;
}

a.gnavItem::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #A2C43C;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: center top;
  transform-origin: center top;
  -webkit-transition: -webkit-transform 0.1s ease-in-out;
  transition: -webkit-transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
}

@media (any-hover: hover) {
  a.gnavItem:hover {
    text-decoration: none;
  }

  a.gnavItem:hover::after {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/*-----------------------------------
    フッターボタン
-----------------------------------*/
a.btnSimple__item,
a.btnList__item {
  display: block;
  padding: 12px;
  font-family: "Zen Maru Gothic";
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
  border-bottom: 2px dashed transparent;
}

a.btnSimple__item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

a.btnList__item {
  position: relative;
  padding-right: 0;
  display: block flex;
  text-box: trim-both cap alphabetic;
  -webkit-transition: -webkit-transform 0.1s ease-in-out;
  transition: -webkit-transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
}

a.btnList__item::before {
  font-family: "Material Symbols Outlined";
  content: "remove";
  font-weight: 300;
  font-size: 24px;
  color: #A2C43C;
}

a.btnList__item:-moz-any-link,
a.btnSimple__item:-moz-any-link {
  color: #5E4E43;
}

a.btnList__item:any-link,
a.btnSimple__item:any-link {
  color: #5E4E43;
}

@media (any-hover: hover) {
  a.btnList__item:hover {
    -webkit-transform: translateX(2%) scale(1.05);
    transform: translateX(2%) scale(1.05);
    -webkit-transition: -webkit-transform 0.1s ease-in-out;
    transition: -webkit-transform 0.1s ease-in-out;
    transition: transform 0.1s ease-in-out;
    transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
    text-decoration: none;
  }

  a.btnSimple__item:hover {
    border-color: #A2C43C;
    -webkit-transition: border-color 0.3s ease-in-out;
    transition: border-color 0.3s ease-in-out;
    text-decoration: none;
  }
}

a.btnSimple__item:not([href]),
a.btnList__item:not([href]) {
  border-radius: 8px;
  background: #f5f2f0;
}

/*-----------------------------------
   カテゴリボタン小
-----------------------------------*/
a.btnCategory__item {
  display: inline-block inline-flex;
  padding: 8px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #A2C43C;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}

@media (any-hover: hover) {
  a.btnCategory__item:hover {
    background: #ffffff;
    border: 1px solid #51621e;
    text-decoration: none;
  }
}

/*-----------------------------------
   カテゴリボタン大
-----------------------------------*/
a.btnCategoryL__item {
  display: block;
  padding: 12px 1rem;
  font-family: "Zen Maru Gothic";
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
  background-color: #f5f2f0;
  border: 1px solid #d6ccc5;
  border-radius: 12px;
  -webkit-transition: -webkit-transform 0.1s ease-in-out;
  transition: -webkit-transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
  -webkit-box-shadow: 0 2px 0 0 #d6ccc5;
  box-shadow: 0 2px 0 0 #d6ccc5;
}

a.btnCategoryL__item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media (any-hover: hover) {
  a.btnCategoryL__item:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-transition: -webkit-transform 0.1s ease-in-out;
    transition: -webkit-transform 0.1s ease-in-out;
    transition: transform 0.1s ease-in-out;
    transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
    text-decoration: none;
  }
}

a.btnCategoryL__item:not([href]) {
  border-radius: 8px;
  background: #f5f2f0;
}

/*-----------------------------------
   カプセルボタン
-----------------------------------*/
a.btn-line,
a.btn-text {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 90px;
  color: #2B5602;
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  line-height: 1.2;
  text-box: trim-both cap alphabetic;
}

a.btn-line {
  gap: 8px;
  padding: 7px 8px;
  border: 3px solid #b2ce5d;
  background: #ffffff;
  font-size: 18px;
  -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1), 0 2px 6px 2px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1), 0 2px 6px 2px rgba(0, 0, 0, 0.05);
  -webkit-transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, transform 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

a.btn-line.btnsizeXS {
  gap: 4px;
  padding: 4px 8px;
  border: 2px solid #ccde93;
  font-size: 15px;
  font-weight: 500;
}

a.btn-line.btnsizeXS.greyline {
  gap: 4px;
  padding: 4px 8px;
  border: 1px solid #d6ccc5;
  font-size: 15px;
  font-weight: 500;
}

a.btn-line.btnsizeS {
  gap: 4px;
  padding: 7px 8px;
  border-width: 3px;
  font-size: 16px;
}

a.btn-line.btnsizeL {
  padding: 8px 12px;
  font-size: 21px;
}

a.btn-line.btnsizeXL {
  padding: 11px 19px;
  border: 5px solid #ccde93;
  font-size: 24px;
}

/*ボタンアイコンエリアの設定とサイズの設定*/
a.btn-line::after,
a.btn-line::before {
  font-family: "Material Symbols Outlined";
  content: "";
  font-weight: 300;
  font-size: 32px;
  line-height: 1;
  color: #A2C43C;
}

a.btn-line.btnsizeXS::after,
a.btn-line.btnsizeXS::before {
  font-size: 24px;
}

a.btn-line.btnsizeS::after,
a.btn-line.btnsizeS::before {
  font-size: 24px;
}

a.btn-line.btnsizeL::after,
a.btn-line.btnsizeL::before {
  font-size: 40px;
}

a.btn-line.btnsizeXL::after,
a.btn-line.btnsizeXL::before {
  font-size: 48px;
}

@media (any-hover: hover) {
  a.btn-line:hover {
    background-color: #fff5de;
    border-color: #A2C43C;
    -webkit-transform: scale(1.02, 1.05);
    transform: scale(1.02, 1.05);
    -webkit-transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, transform 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    text-decoration: none;
  }
}

/*-----------------------------------
   テキストボタン
-----------------------------------*/
a.btn-text {
  gap: 4px;
  padding: 6px 10px;
  color: #2B5602;
  font-size: 16px;
  text-box: trim-both cap alphabetic;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

a.btn-text::after,
a.btn-text::before {
  font-family: "Material Symbols Outlined";
  content: "";
  font-weight: 300;
  font-size: 24px;
  line-height: 1;
  color: #A2C43C;
}

@media (any-hover: hover) {
  a.btn-text:hover {
    background-color: #f3f3f3;
    -webkit-transform: scale(1.02, 1.05);
    transform: scale(1.02, 1.05);
    text-decoration: none;
  }
}

/*-------ボタンアイコンの設定---------*/
a.btn-close::before {
  content: "close";
}

a.btn-back::before {
  content: "arrow_back";
}

a.btn-next::after {
  content: "arrow_forward";
}

a.btn-down::after {
  content: "arrow_downward";
}

a.btn-down2::after {
  content: "arrow_downward_alt";
}

a.btn-pdf::after {
  content: "picture_as_pdf";
}

a.btn-readmore::after {
  content: "arrow_forward";
}

a.btn-openinnew::after {
  content: "open_in_new";
}

/*-----------------------------------
   コンバージョンボタン
-----------------------------------*/
/*-------ホテル、診察予約ボタン、ヘッダー用---------*/
.btnreservation {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 4px;
  padding: 8px;
  border-radius: 8px;
  font-family: "Zen Maru Gothic";
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: #1f1a16;
  text-box: trim-both cap alphabetic;
}

.btnreservation span {
  font-size: 14px;
  font-weight: 500;
  display: block;
}

.btnreservation.on-its-own {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.btnreservation::after {
  font-family: "Material Symbols Outlined";
  content: "arrow_forward";
  font-weight: 400;
  font-size: 24px;
  color: #ffffff;
}

@container CON-CVbox (max-width:375.6px) {
  .btnreservation {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .btnreservation::after {
    position: absolute;
    right: 4px;
    top: 16px;
  }
}

@container CON-CVboxColumn (max-width:375.6px) {
  .btnreservation {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .btnreservation::after {
    position: absolute;
    right: 4px;
    top: 16px;
  }
}

.CVbox.CVboxWide .btnreservation {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@container CON-CVboxWide (width <906px) {
  .btnreservation::after {
    position: absolute;
    right: 4px;
    top: 16px;
  }
}

.btnreservation::before {
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-size: 40px;
  color: #ffffff;
}

.btnreservation.sizeM {
  gap: 4px;
  padding: 12px 16px;
  border-radius: 16px;
  font-size: 18px;
}

.btnreservation.sizeM span {
  font-size: 14px;
}

.btnreservation.sizeL {
  gap: 8px;
  padding: 12px 16px;
  border-radius: 16px;
  font-size: 21px;
}

.btnreservation.sizeL span {
  font-size: 14px;
}

.btnreservation.sizeL::after {
  font-size: 40px;
}

.btnreservation.sizeL::before {
  font-size: 48px;
}

.btnreservation.column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

/*-------診察予約ボタン---------*/
.btnAppointment {
  background: #b2ce5d;
  -webkit-box-shadow: 0 5px 0 0 #88a432;
  box-shadow: 0 5px 0 0 #88a432;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

@media (any-hover: hover) {
  .btnAppointment:hover {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    text-decoration: none;
  }
}

/*-------爪切り予約ボタン---------*/
.btnNailcut {
  background: #b2ce5d;
  -webkit-box-shadow: 0 5px 0 0 #88a432;
  box-shadow: 0 5px 0 0 #88a432;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

@media (any-hover: hover) {
  .btnNailcut:hover {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    text-decoration: none;
  }
}

/*-------ホテル予約ボタン---------*/
.btnReservationHotel {
  background: #61c0f4;
  -webkit-box-shadow: 0 5px 0 0 #1098e4;
  box-shadow: 0 5px 0 0 #1098e4;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

@media (any-hover: hover) {
  .btnReservationHotel:hover {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    text-decoration: none;
  }
}

.btnAppointment::before {
  content: "stethoscope";
}

.btnReservationHotel::before {
  content: "dataset";
}

.btnNailcut::before {
  content: "content_cut";
}

/*-----------------------------------
   ドロワーメニューボタン
-----------------------------------*/
.drawerMenuBtn {
  width: 100%;
  position: fixed;
  bottom: 0;
  z-index: 1002;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 2px solid #A2C43C;
  background: #ffffff;
}

button.drawerMenuBtn__btn,
a.drawerMenuBtn__btn {
  width: 100%;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 6px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4px;
  font-family: "Zen Maru Gothic";
  font-size: clamp(0.688rem, 0.611rem + 0.38vw, 0.813rem);
  font-weight: 500;
  line-height: 100%;
  color: #755038;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

@media (width >=640px) {

  button.drawerMenuBtn__btn,
  a.drawerMenuBtn__btn {
    padding: 16px;
    gap: 6px;
  }
}

button.drawerMenuBtn__btn::before,
a.drawerMenuBtn__btn::before {
  display: block;
  height: 32px;
  font-family: "Material Symbols Outlined";
  content: "";
  font-weight: 300;
  font-size: 32px;
  line-height: 1;
  color: #88a432;
}

@media (any-hover: hover) {

  button.drawerMenuBtn__btn:hover,
  a.drawerMenuBtn__btn:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    text-decoration: none;
  }
}

button.drawerMenuBtn-menu::before {
  content: "menu";
}

:where(.is-open *) button.drawerMenuBtn-menu::before {
  content: "close";
}

button.drawerMenuBtn-reserve::before,
a.drawerMenuBtn-reserve::before {
  content: "calendar_month";
}

button.drawerMenuBtn-open::before,
a.drawerMenuBtn-open::before {
  content: "pace";
}

button.drawerMenuBtn-access::before,
a.drawerMenuBtn-access::before {
  content: "location_on";
}

button.drawerMenuBtn__btn.drawerMenuBtn-close::before {
  content: "close";
  font-size: 40px;
}

:where(.is-open *) .drawerMenuBtn-reserve,
:where(.is-open *) .drawerMenuBtn-open,
:where(.is-open *) .drawerMenuBtn-access {
  opacity: 0;
}

/*ドロワー画面のボタン*/
.drawerMenuLink__item {
  display: block;
  width: 100%;
  padding: 24px 6px;
  border-radius: 12px;
  border: 2px solid #e5efc9;
  background: #e5efc9;
  text-align: center;
  font-family: "Zen Maru Gothic";
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}

@media (any-hover: hover) {
  .drawerMenuLink__item:hover {
    border: 2px solid #A2C43C;
    background: #f2f7e4;
    -webkit-transition: background 0.3s ease-in-out, border 0.4s;
    transition: background 0.3s ease-in-out, border 0.4s;
    text-decoration: none;
  }
}

/*-----------------------------------
    CVbox
-----------------------------------*/
.CVbox.CVboxNormal {
  container-type: inline-size;
  container-name: CON-CVbox;
  width: 100%;
}

.CVbox.CVboxColumn {
  container-type: inline-size;
  container-name: CON-CVboxColumn;
  width: 100%;
}

.CVbox.CVboxWide {
  container-type: inline-size;
  container-name: CON-CVboxWide;
  width: 100%;
  margin-top: clamp(2.5rem, 1.571rem + 3.81vw, 5rem);
}

.CVbox.CVboxSlim {
  container-type: inline-size;
  container-name: CON-CVboxSlim;
  width: 100%;
}

.reservation-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.reservation-box li {
  line-height: 1;
}

.CVbox.CVboxColumn .reservation-box {
  grid-template-columns: 1fr -webkit-max-content;
  grid-template-columns: 1fr max-content;
}

@container CON-CVboxColumn (width <400px) {
  .CVbox.CVboxColumn .reservation-box {
    grid-template-columns: 60% 40%;
  }
}

.CVboxTextArea {
  container-type: inline-size;
  container-name: CON-CVboxTextArea;
}

/*-------診療時間、休診日ボックス---------*/
.ClinicHours-box {
  padding: 12px clamp(0.25rem, -4.893rem + 8.57vw, 1rem) 8px;
  padding: 12px clamp(0.25rem, -3.179rem + 5.71vw, 0.75rem) 8px;
  color: #755038;
  border-bottom: 1px solid #eae5e2;
}

/*緑のボックス*/
.ClinicHours-box.CHB-green {
  border-radius: 16px;
  border: 1px solid #eae5e2;
  background: #f2f7e4;
}

@container CON-CVbox (min-width:479.5px) {
  .CVbox__inner {
    display: grid;
    grid-template-columns: auto 184px;
    gap: 8px;
  }

  .reservation-box {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 184px;
  }

  .CVboxTextArea {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: auto;
  }

  .ClinicHours-box {
    border-top: 1px solid #eae5e2;
  }
}

/*ワイドなCVボックス*/
.CVbox.CVboxWide .reservation-box {
  margin-top: 8px;
}

@container CON-CVboxWide (width >=500px) {
  .CVbox.CVboxWide .CVbox__inner {
    display: grid;
    grid-template-columns: 1fr 33%;
    gap: 8px;
  }

  .CVbox.CVboxWide .reservation-box {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 0;
  }

  .CVbox.CVboxWide .btnreservation {
    height: 96%;
  }
}

@container CON-CVboxWide (width >=906px) {
  .CVbox.CVboxWide .CVboxTextArea {
    display: grid;
    gap: 8px;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
  }

  .CVbox.CVboxWide .reservation-box {
    grid-template-columns: 53% 47%;
  }

  .CVbox.CVboxWide .btnreservation {
    height: 96%;
  }
}

/*コンパクトなCVボックス（予約ボタンなし）*/
.CVbox.CVboxSlim {
  margin-top: 2rem;
}

@container CON-CVboxSlim (width >=640px) {
  .CVbox.CVboxSlim .CVboxTextArea {
    display: grid;
    gap: 8px;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
  }
}

.ClinicHours-box ul,
.ClinicHours-box li,
.telHours {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  font-family: "Zen Maru Gothic";
  font-weight: 600;
  line-height: 1.2;
}

.ClinicHours-box ul {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (min-width: 533px) {
  .ClinicHours-box ul {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

@container CON-CVboxTextArea (max-width:353px) {
  .ClinicHours-box ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2px;
  }
}

.ClinicHours {
  font-size: 20px;
}

@media (min-width: 840px) {
  .ClinicHours {
    font-size: clamp(1rem, 2vw, 1.125rem);
  }
}

.ClinicClosed {
  font-size: 14px;
}

@media (min-width: 840px) {
  .ClinicClosed {
    font-size: 16px;
  }
}

.telHours {
  font-size: 16px;
  color: #755038;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.telHours span {
  display: block;
}

.CH__title,
.Closed__title,
.TH__title {
  position: relative;
  top: 1px;
  color: #6d8328;
  font-size: 14px;
}

/*フッターのCSVボックス用*/
.ClinicHours-box.ClinicHoursboxlarge {
  display: grid;
  padding: 16px;
  border-top: 1px solid #eae5e2;
}

.ClinicHours-box.ClinicHoursboxlarge ul {
  display: block;
  place-self: center;
}

.ClinicHours-box.ClinicHoursboxlarge .ClinicHours {
  font-size: 21px;
}

.ClinicHours-box.ClinicHoursboxlarge .ClinicClosed {
  font-size: 18px;
}

.ClinicHours-box.ClinicHoursboxlarge .CH__title,
.ClinicHours-box.ClinicHoursboxlarge .Closed__title {
  font-size: 16px;
}

/*フッターロゴ下の情報エリア用*/
.fotterContents01 .ClinicHours-box {
  border: none;
  padding: 0;
}

.fotterContents01 .ClinicHours-box ul {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

@container CON-footerContents01 (max-width:353px) {
  .fotterContents01 .ClinicHours-box ul {
    display: block;
  }
}

/*-------電話番号ボックス---------*/
.tel-box {
  padding-top: 14px;
  padding-inline: clamp(0.25rem, -4.893rem + 8.57vw, 1rem);
  font-family: "Zen Maru Gothic";
  font-weight: 700;
  line-height: 120%;
}

/*緑のボックス*/
.tel-box.telbox-green {
  margin-top: 8px;
  border-radius: 16px;
  border: 1px solid #eae5e2;
  background: #f2f7e4;
}

@container CON-CVboxWide (width >=906px) {
  .CVbox.CVboxWide .tel-box.telbox-green {
    margin-top: 0;
  }
}

.tel-box div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (min-width: 533px) {
  .tel-box div {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.tel-box__title {
  color: #7b6658;
  font-size: clamp(0.75rem, 0.417rem + 0.67vw, 0.875rem);
  font-weight: 500;
}

.tel-box__num {
  position: relative;
  font-size: 28px;
  line-height: 1;
  color: #d8234f;
}

.tel-box__num a:-moz-any-link {
  color: #d8234f;
}

.tel-box__num a:any-link {
  color: #d8234f;
}

@media (min-width: 840px) {
  .tel-box__num {
    font-size: clamp(1.5rem, 0.167rem + 2.67vw, 2rem);
  }
}

.tel-box__num::before {
  position: relative;
  top: 4px;
  font-family: "Material Symbols Outlined";
  content: "call";
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 32;
}

.tel-box dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: clamp(0.125rem, -0.75rem + 1.67vw, 0.75rem);
  gap: clamp(0.25rem, -4.893rem + 8.57vw, 1rem);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (min-width: 840px) {
  .tel-box dl {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.tel-box dt {
  padding: 4px clamp(0.25rem, -1.464rem + 2.86vw, 0.5rem);
  font-size: clamp(0.75rem, 0.417rem + 0.67vw, 0.875rem);
  color: #2B5602;
  border-radius: 2px;
  border: 1px solid #d6ccc5;
}

.tel-box dd {
  font-weight: initial;
  font-size: 13px;
  font-weight: 400;
}

@media (min-width: 825px) {
  .tel-box dd {
    font-size: clamp(0.688rem, 0.188rem + 1vw, 0.813rem);
  }
}

.tel-box.telboxL {
  padding-block: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 16px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.tel-box.telboxL div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 12px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.tel-box.telboxL div.telHours {
  gap: 2px;
}

.tel-box.telboxL span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.tel-box.telboxL br {
  display: none;
}

.tel-box.telboxL .tel-box__title {
  font-size: 21px;
}

.tel-box.telboxL .tel-box__num {
  font-size: 36px;
}

.tel-box.telboxL dt {
  font-size: 15px;
  font-weight: 500;
}

.tel-box.telboxL dd {
  font-size: 14px;
}

.tel-box.telboxM {
  padding-block: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 12px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.tel-box.telboxM .telNumber {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 12px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.tel-box.telboxM span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.tel-box.telboxM br {
  display: none;
}

.tel-box.telboxM .tel-box__title {
  font-size: 18px;
}

.tel-box.telboxM .tel-box__num {
  font-size: 36px;
}

.tel-box.telboxM dl {
  gap: 5px;
}

.tel-box.telboxM dt {
  font-size: 14px;
  font-weight: 500;
  padding-inline: 0 8px;
  border-radius: 0;
  border: none;
  border-right: 1px solid #d6ccc5;
}

.tel-box.telboxM dd {
  font-size: 12px;
}

/*-----------------------------------
    header
-----------------------------------*/
/*-------トップページ以外用---------*/
@media (max-width: 1023px) {
  .pageheader {
    background: url(../img/header/leaf-right-s.svg) right top/clamp(2.5rem, 2.115rem + 1.93vw, 3.125rem) auto no-repeat;
  }
}

@media (min-width: 1150px) {
  .pageheader {
    background: url(../img/header/leaf-center-L.svg) 40% top/clamp(8.125rem, 5.15rem + 5.67vw, 10.25rem) auto no-repeat;
  }
}

/*-------トップページ用---------*/
.pageheader.home-pageheader {
  background: url(../img/header/leaf-right-index-s.svg) right top/clamp(4.875rem, 0.251rem + 23.12vw, 12.375rem) auto no-repeat;
}

@media (min-width: 840px) {
  .pageheader.home-pageheader {
    background-image: none;
  }
}

@media (min-width: 1150px) {
  .pageheader.home-pageheader {
    background: url(../img/header/leaf-right-index-L.svg) right top/clamp(21.5rem, -0.063rem + 43.13vw, 38.75rem) auto no-repeat;
  }
}

/*-------共通---------*/
.pageheader {
  position: relative;
  padding-bottom: 48px;
}

.pageheader::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: clamp(1rem, 0.423rem + 2.37vw, 1.938rem);
  background-image: url(../img/common/grass.svg);
  background-position: center;
}

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

@media (min-width: 1024px) {
  .pageheader__inner {
    grid-template-columns: 1fr 562px;
  }
}

/*-------トップページ---------*/
@media (min-width: 840px) {
  .home-pageheader .pageheader__inner {
    grid-template-columns: 1fr clamp(12.5rem, 7.969rem + 9.06vw, 16.125rem) 1fr;
  }
}

/*-------ロゴ---------*/
/*トップページ以外*/
.header-logoarea {
  margin-inline: auto;
  padding-top: clamp(0.75rem, 0.596rem + 0.77vw, 1rem);
}

@media (min-width: 1024px) {
  .header-logoarea {
    padding-top: 16px;
    margin-left: 126px;
  }
}

@media (1150px <=width) {
  .header-logoarea {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 1.6rem;
  }
}

.headerlogo {
  width: clamp(10.625rem, 8.467rem + 10.79vw, 14.125rem);
  height: auto;
}

@media (min-width: 1024px) {
  .headerlogo {
    width: clamp(14.125rem, 5.462rem + 16.5vw, 20.313rem);
  }
}

/*-------トップページ用ロゴ---------*/
.headerlogoHome {
  padding-top: clamp(1.625rem, 0.089rem + 7.68vw, 7rem);
  width: clamp(12.5rem, 5.071rem + 37.14vw, 14.125rem);
  height: auto;
  margin-inline: auto;
}

@media (min-width: 840px) {
  .headerlogoHome {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: clamp(12.5rem, 7.969rem + 9.06vw, 16.125rem);
  }
}

/*-----------------------------------
    タグライン
-----------------------------------*/
.tagline {
  container-type: inline-size;
  container-name: CON-tagline-header;
  font-family: "Zen Maru Gothic";
  font-size: 18px;
  font-weight: 500;
}

/*-------ヘッダー用タグライン---------*/
.pageheader .tagline {
  margin-top: 24px;
}

/*トップページ以外のタグライン、スマホで非表示に*/
@media (width < 1024px) {
  .header-logoarea .tagline {
    display: none;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
}

/*-------トップページヘッダー用タグライン---------*/
.pageheader.home-pageheader .tagline {
  margin-top: 48px;
  margin-bottom: 16px;
  text-align: center;
}

@media (min-width: 840px) {
  .pageheader.home-pageheader .tagline {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: clamp(15rem, 11.5rem + 6.67vw, 17.5rem);
    margin-top: 0;
    padding-top: clamp(6.125rem, -1.531rem + 15.31vw, 12.25rem);
    margin-left: clamp(3.125rem, -8.047rem + 22.34vw, 12.063rem);
  }
}

.tagline__main {
  color: #d8234f;
  font-size: clamp(0.75rem, 0.641rem + 0.45vw, 0.875rem);
}

.tagline__main span {
  white-space: nowrap;
}

.tagline__sub {
  font-size: 12px;
  font-weight: 400;
  color: #755038;
}

.tagline__sub span {
  white-space: nowrap;
}

.tagline__sub.sizeL {
  font-size: 16px;
}

/*-------トップページ用---------*/
.pageheader.home-pageheader .tagline__main {
  font-size: var(--font-size_18-24);
}

.pageheader.home-pageheader .tagline__main span {
  display: block;
}

.pageheader.home-pageheader .tagline__sub {
  margin-top: clamp(1.625rem, -0.089rem + 8.57vw, 2rem);
  font-size: clamp(0.875rem, 0.304rem + 2.86vw, 1rem);
  font-weight: 400;
  color: #755038;
}

@media (min-width: 840px) {
  .pageheader.home-pageheader .tagline__sub {
    margin-top: 0.5em;
    font-size: var(--font-size_12-14);
  }
}

@container CON-tagline-header (max-width:255px) {
  .tagline__sub span {
    display: block;
  }
}

/*-----------------------------------
    ヘッダーCVボックス
-----------------------------------*/
.headerCVboxAreaHome,
.headerCVboxArea {
  padding-inline: 16px;
  width: 100%;
}

@media (min-width: 840px) {

  .headerCVboxAreaHome,
  .headerCVboxArea {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-inline: 0;
    padding-inline: 0;
    padding-top: clamp(0.5rem, -1.5rem + 4vw, 1rem);
    padding-right: clamp(0.5rem, -1.5rem + 4vw, 1rem);
  }
}

.headerCVboxArea {
  display: none;
}

@media (width >=1024px) {
  .headerCVboxArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (max-width: 840px) {
  .headerCVboxAreaHome .CVbox {
    max-width: 480px;
  }
}

.headerCVboxAreaHome .CVbox {
  margin-inline: auto;
}

@media (min-width: 840px) {
  .headerCVboxAreaHome .CVbox {
    margin-inline: 0;
    width: clamp(15rem, -5rem + 40vw, 23.5rem);
  }
}

@media (min-width: 840px) {
  .headerCVboxAreaHome .CVbox__inner {
    margin-inline: 0;
    display: block;
    width: clamp(15rem, -5rem + 40vw, 23.5rem);
  }
}

/*
.headerCVboxArea .tel-box dt {
    padding: 4px;
    font-size: 12px;
}

@media (min-width:1024px) {
    .headerCVboxArea .tel-box__num {
        font-size: 24px;
    }

    .headerCVboxArea .ClinicHours {
        font-size: 16px;
    }

    .headerCVboxArea .CH__title,
    .headerCVboxArea .Closed__title {
        font-size: 11px;
    }
}*/
/*-----------------------------------
    グロナビ
-----------------------------------*/
@media (max-width: 839px) {

  .uppernav,
  .gnavPCArea {
    display: none;
  }
}

.gnavPCArea {
  position: relative;
}

/*グロナビのグラデーションのアンダーライン*/
.gnavPCArea::before {
  position: absolute;
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(50%, #b2ce5d), to(transparent));
  background: linear-gradient(to right, transparent, #b2ce5d 50%, transparent);
  content: "";
  height: 1px;
  left: 0;
  right: 0;
  margin-inline: auto;
  max-width: 1200px;
  width: 100%;
  bottom: 0;
}

.gnavPC {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 16px;
}

/*採用情報*/
.uppernav {
  padding-right: 16px;
}

.uppernav .gnavPC {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

/*-----------------------------------
    ドロワーメニュー
-----------------------------------*/
.drawerMenuBtnArea {
  position: relative;
  z-index: 1000;
}

.drawerArea {
  position: fixed;
  inset: 0;
  z-index: 1001;
  width: 100vw;
  background: transparent;
}

/*drawer.jsの動きのための指定*/
.drawer-nav[hidden] {
  display: none;
}

.drawer-nav__inner {
  position: absolute;
  inset: 0;
  margin-inline: auto;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100vw;
  margin-inline: auto;
  height: 100%;
  padding: 16px;
  border-top: 4px solid #A2C43C;
  background-color: #fff;
  opacity: 1;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  -webkit-transition: opacity 300ms ease, -webkit-transform 300ms ease;
  transition: opacity 300ms ease, -webkit-transform 300ms ease;
  transition: transform 300ms ease, opacity 300ms ease;
  transition: transform 300ms ease, opacity 300ms ease, -webkit-transform 300ms ease;
  overflow: auto;
  /* @media (width >=840px) {
      width: 90vw;
  }*/
}

.drawer-nav__inner:where(.is-open *) {
  -webkit-transform: unset;
  transform: unset;
  opacity: 1;
}

.drawer__overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.32);
  opacity: 0;
  -webkit-transition: opacity var(--duration) var(--easing);
  transition: opacity var(--duration) var(--easing);
}

.is-open :where(.drawer__overlay) {
  opacity: 1;
}

/*drawer.jsの動きのための指定*/
.drawer-nav__contents {
  max-width: 460px;
  margin-inline: auto;
  padding-bottom: 6rem;
}

.drawer-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

button.drawerMenuBtn__btn.drawerMenuBtn-close {
  width: 48px;
  padding: 0;
  gap: 12px;
}

.drawerlogo {
  width: clamp(11.25rem, 3.75rem + 37.5vw, 15rem);
}

.drawerMenuLinkArea {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4px;
  margin-top: 16px;
}

.drawerMenuLinkArea2 {
  margin-block: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.drawerArea .ClinicHourTableArea {
  margin-top: 32px;
}

.drawerArea .ClinicHourTableArea header {
  margin-bottom: 16px;
}

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

/*-----------------------------------
    footer
-----------------------------------*/
.pageFooter {
  position: relative;
  margin-top: 2rem;
  padding-top: 125px;
  background: url(../img/footer/leaf-footer-left.svg) left top no-repeat, url(../img/footer/leaf-footer-right.svg) right top no-repeat;
  border-radius: 48px 48px 0 0;
}

.pageFooter .tagline__sub.sizeL {
  margin-top: 8px;
}

.pageFooter .ClinicHours-box {
  margin-block: 1.5rem;
}

.pageFooter .insurance-box {
  margin-top: 42px;
}

.pageFooter .anicom-logo {
  width: 180px;
}

.pageFooter small {
  display: block;
  margin-top: 40px;
  text-align: center;
  color: #977e6d;
  font-size: 14px;
}

@media (width < 740px) {
  .footer-logo {
    text-align: center;
  }
}

.footer__inner {
  margin-top: 5rem;
}

@media (width >=740px) {
  .footer__inner {
    display: grid;
    grid-template-columns: 2.2fr 1fr;
    gap: 42px;
  }
}

.footerContents {
  display: grid;
  gap: 42px;
}

@media (width >=840px) {
  .footerContents {
    grid-template-columns: 1fr 1fr;
  }

  .footerContents .footerInstArea {
    grid-column: 1/3;
  }
}

.fotterContents01 {
  container-type: inline-size;
  container-name: CON-footerContents01;
  width: 100%;
}

.fotterContents01,
.fotterContents02 {
  max-width: 440px;
  margin-inline: auto;
}

.fotterContents01 p,
.fotterContents02 p {
  margin-top: 12px;
}

.footerInstArea {
  padding: 1.5rem 1rem 40px;
  border-top: 4px dotted #A2C43C;
}

.footerInstArea a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 24px;
}

@media (width >=640px) {
  .footerInstArea a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    -ms-flex-item-align: center;
    align-self: center;
  }
}

.footerInstArea a:-moz-any-link {
  color: #5E4E43;
}

.footerInstArea a:any-link {
  color: #5E4E43;
}

@media (any-hover: hover) {
  .footerInstArea img {
    -webkit-transition: -webkit-transform 0.1s ease-in-out;
    transition: -webkit-transform 0.1s ease-in-out;
    transition: transform 0.1s ease-in-out;
    transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
  }

  .footerInstArea a:hover img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-transition: -webkit-transform 0.1s ease-in-out;
    transition: -webkit-transform 0.1s ease-in-out;
    transition: transform 0.1s ease-in-out;
    transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
  }
}

.footerInstArea p {
  word-break: auto-phrase;
}

.footnavi {
  padding-inline: 1rem;
}

.footnavi ul {
  display: grid;
  gap: 16px;
}

.footbavi2 {
  padding-top: 160px;
  background: url(../img/footer/footprints.png) no-repeat center 48px/393px;
}

.footbavi2 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.pageup {
  position: absolute;
  bottom: 0;
  right: 24px;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

@media (any-hover: hover) {
  .pageup:hover {
    -webkit-transform: translate(0, -8px);
    transform: translate(0, -8px);
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  }
}

/*-----------------------------------
   お知らせエリア
-----------------------------------*/
.infoArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: -16px;
  padding: 32px 16px 24px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  background: #e5efc9;
}

.infoArea header {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  text-align: center;
  position: relative;
  padding-bottom: 16px;
}

.infoArea header::before {
  position: absolute;
  bottom: 0;
  left: -100px;
  content: "";
  width: 72px;
  height: 45px;
  background-image: url(../img/common/illust_news.svg);
  background-size: contain;
}

@media (width >=840px) {
  .infoArea {
    display: grid;
    gap: 32px;
    grid-template-columns: -webkit-max-content auto -webkit-max-content;
    grid-template-columns: max-content auto max-content;
    margin-top: clamp(2rem, 0.075rem + 3.67vw, 3.375rem);
    margin-inline: 4%;
    max-width: 936px;
    padding: 24px 32px;
    border-radius: 32px;
  }

  .infoArea header {
    height: 100%;
    padding: 0;
  }

  .infoArea header::before {
    left: 0;
    bottom: -24px;
    width: 110px;
    height: 69px;
  }

  .infoArea .btn-next {
    place-self: end;
  }
}

@media (width >=1010px) {
  .infoArea {
    margin-inline: auto;
  }
}

.infoList {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: 8px;
  margin-bottom: 20px;
}

.infoList a:-moz-any-link {
  color: #2B5602;
}

.infoList a:any-link {
  color: #2B5602;
}

@media (width >=840px) {
  .infoList {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0;
  }
}

@media (any-hover: hover) {
  .infoList a:hover {
    text-decoration: underline;
  }
}

.infoItem {
  display: block grid;
  gap: 8px;
  place-items: center left;
  grid-template-columns: subgrid;
  grid-column: 1/-1;
  -webkit-column-gap: 16px;
  -moz-column-gap: 16px;
  column-gap: 16px;
  padding-inline: 8px;
  line-height: 1.2;
}

.infoItem time {
  color: #848484;
  font-size: 14px;
  line-height: 1%;
}

.infoItem a {
  display: inline-block;
  padding-block: 10px;
}

.infoItem.pickup {
  border-radius: 8px;
  background: #ffffff;
}

/*-----------------------------------
   診療エリア
-----------------------------------*/
.AboutTreatmentArea {
  margin-top: clamp(2rem, 0.075rem + 3.67vw, 3.375rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}

.AboutTreatmentArea header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
}

.AboutTreatmentArea h2 {
  line-height: 1;
}

@media (width >=840px) {
  .AboutTreatmentArea {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 2%;
  }

  .AboutTreatmentArea .ClinicHour {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}

.AboutTreatment__inner {
  margin-top: clamp(2rem, 0.075rem + 3.67vw, 3.375rem);
  display: grid;
  gap: 1.5rem;
}

.AboutTreatment__inner .heading3-1 {
  color: #AC1C3F;
}

.AboutTreatment__inner ul {
  margin-top: 1rem;
}

@media (width >=540px) {
  .AboutTreatment__inner {
    grid-template-columns: repeat(2, 1fr);
  }
}

.AboutTreatment {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
}

.patientformArea {
  display: grid;
  gap: 2rem;
  margin-top: 2rem;
}

@media (width >=840px) {
  .patientformArea {
    gap: 1.5rem;
  }
}

/*-------こんな時は---------*/
.HowtoArea {
  margin-top: 2rem;
  container-type: inline-size;
  container-name: index_howtoArea;
}

.HowtoArea .btn-line {
  margin-inline: auto;
}

.HowtoHeader {
  background: url(../img/common/illust_howto.svg) no-repeat 98% bottom;
  min-height: 70px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: end;
  align-content: flex-end;
}

.HowtoAreaList {
  display: grid;
  gap: 1.6rem;
  margin-block: 1.5rem;
}

@media (any-hover: hover) {
  .HowtoAreaList a:hover {
    text-decoration: underline;
  }
}

@container index_howtoArea (width >=500px) {
  .HowtoAreaList {
    grid-template-columns: repeat(2, 1fr);
  }
}

.HowtoAreaList li+li {
  margin-block: 0;
}

.HowtoAreaList.listCircleM li::before {
  top: 0.35em;
}

/*-------診療時間---------*/
.ClinicHour .table-clinicOpen {
  margin-top: clamp(1rem, 0.118rem + 3.62vw, 3.375rem);
}

/*-----------------------------------
   インスタエリア
-----------------------------------*/
.InstagramArea {
  margin-top: clamp(2rem, 0.075rem + 3.67vw, 3.375rem);
  padding-inline: 8px;
  padding-block: 24px 32px;
  background: #f2f7e4;
}

.InstagramArea header h2 {
  line-height: 1;
  text-align: center;
}

@media (width >=840px) {
  .InstagramArea header h2 {
    -moz-text-align-last: left;
    text-align-last: left;
  }
}

.InstagramArea header hgroup {
  display: grid;
  gap: 24px;
}

@media (width >=840px) {
  .InstagramArea header hgroup {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}

@media (width >=840px) {
  .InstagramArea {
    border-radius: 32px;
    margin-inline: 2rem;
    padding-block: 32px 40px;
  }
}

@-webkit-keyframes purupuru {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  50% {
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg);
  }

  100% {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg);
  }
}

@keyframes purupuru {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  50% {
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg);
  }

  100% {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg);
  }
}

.InstaContainer {
  margin-top: clamp(1.5rem, 1.129rem + 1.52vw, 2.5rem);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(140px, 100%), 1fr));
  gap: 1.5rem;
  /* a:active {
      img {
          animation: purupuru .2s ease-in-out 2 alternate;
      }
  }*/
}

.InstaContainer img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 8px;
}

@media (any-hover: hover) {
  .InstaContainer a:hover img {
    -webkit-animation: purupuru 0.2s ease-in-out 2 alternate;
    animation: purupuru 0.2s ease-in-out 2 alternate;
  }
}

@media (width >=540px) {
  .InstaContainer {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (width >=840px) {
  .InstaContainer {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (width >=1024px) {
  .InstaContainer {
    grid-template-columns: repeat(6, 1fr);
  }
}

/*-----------------------------------
   小鳥のホテルエリア
-----------------------------------*/
.HotelArea {
  margin-top: clamp(2rem, 0.075rem + 3.67vw, 3.375rem);
}

.HotelArea header {
  padding-top: 42vw;
  background: url(https://www.bird-clinic.com/img/common/p_hotel_sp2.png) no-repeat center top/contain;
}

@media (width >=782px) {
  .HotelArea header {
    padding-top: clamp(7.5rem, 1.558rem + 12.16vw, 12.5rem);
    background: url(https://www.bird-clinic.com/img/common/p_hotel.png) no-repeat center top/contain;
  }
}

.HotelArea .btnreservation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.HotelArea h2 {
  text-align: center;
}

.HotelArea__inner {
  width: 100%;
  max-width: 550px;
  margin-top: clamp(1.5rem, 0.804rem + 2.86vw, 3.375rem);
  margin-inline: auto;
  display: grid;
  gap: 16px;
}

@media (width >=840px) {
  .HotelArea__inner {
    max-width: unset;
    grid-template-columns: repeat(2, 1fr);
  }

  .HotelArea__inner .btn-line {
    place-self: start;
  }

  .HotelArea__inner .btnreservation {
    place-self: end;
  }
}

.HotelAreatext {
  display: grid;
  gap: 16px;
  place-content: center;
  place-items: center;
}

/*-----------------------------------
   病院情報エリア
-----------------------------------*/
.clinicAccessArea {
  position: relative;
  margin-top: clamp(3.5rem, 2.943rem + 2.29vw, 5rem);
  padding-top: clamp(3rem, 2.443rem + 2.29vw, 4.5rem);
}

.clinicAccessArea header {
  text-align: center;
}

.clinicAccessArea::before {
  position: absolute;
  top: -1rem;
  content: "";
  display: block;
  width: 100%;
  height: 31px;
  background-image: url(../img/common/grass.svg);
  background-repeat: repeat-x;
  background-position: left;
}

.clinicAccessArea__inner {
  margin-top: clamp(2.5rem, 2.129rem + 1.52vw, 3.5rem);
  display: grid;
  gap: 40px;
}

@media (width >=840px) {
  .clinicAccessArea__inner {
    grid-template-columns: 40% auto;
    gap: 10%;
  }
}

.clinicMap {
  display: grid;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.clinicMap .map-morishita {
  width: 100%;
  max-width: 450px;
}

.clinicInfoItem {
  margin-top: 40px;
}

.clinicInfoItem,
.clinicAddItem {
  margin-inline: auto;
  width: 100%;
  max-width: 450px;
  display: grid;
  gap: 12px;
}

.clinicInfoItem .logo-anicom,
.clinicAddItem .logo-anicom {
  place-self: center;
  width: 180px;
  height: auto;
}

/*-----------------------------------
   一覧ページページタイトルエリア
-----------------------------------*/
.pageTitleArea {
  margin-top: clamp(1rem, 0.133rem + 3.56vw, 2rem);
  text-align: center;
}

.pageTitleArea .posted-on {
  display: block;
  margin-top: 2rem;
}

.pageTitleArea a.btnCategory__item {
  margin-inline: auto;
  margin-top: 4px;
}

.pageTitle {
  text-align: center;
}

.page-summary {
  margin-top: clamp(1.5rem, 0.2rem + 5.33vw, 3rem);
  font-size: 18px;
  line-height: 1.8;
  text-align: left;
}

/*-----------------------------------
   パンくずリスト
-----------------------------------*/
.breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  row-gap: 6px;
  margin-top: clamp(1rem, 0.133rem + 3.56vw, 2rem);
}

.breadcrumbs li {
  font-size: 14px;
  line-height: 1.2;
}

.breadcrumbs a:-moz-any-link {
  color: #2B5602;
}

.breadcrumbs a:any-link {
  color: #2B5602;
}

.breadcrumbs li:not(:last-of-type)::after {
  content: "/";
  margin: 12px;
  color: #ccde93;
}

/*-----------------------------------
   本文エリア
-----------------------------------*/
.singleContentsArea {
  margin-top: 3rem;
}

/*--------------------------------------------------------------------------------------------
  アーカイブページ
--------------------------------------------------------------------------------------------*/
/*-----------------------------------
   ヘッダー画像
-----------------------------------*/
/*こんな時は*/
#howto .pageTitleArea {
  position: relative;
  background-color: #f2f7e4;
  padding-block: 2.5rem 2rem;
  background-color: hsl(204, 0%, 100%);
  background-color: hsl(204, 0%, 100%);
  background-image: radial-gradient(circle at 0% 0%, hsla(23.5443037975, 35%, 55%, 0.35) 3.1210986267%, transparent 40%), radial-gradient(circle at 100% 0%, hsla(41.3636363636, 100%, 74%, 0.35) 3%, transparent 40%), radial-gradient(circle at 50% 0%, hsla(74.8672566372, 51%, 56%, 0.24) 4%, transparent 40%);
  background-blend-mode: normal, normal, normal;
  --mask:
    radial-gradient(16.4px at 50% 23px, #000 99%, #0000 101%) calc(50% - 20px) 0/40px 51% repeat-x,
    radial-gradient(16.4px at 50% -13px, #0000 99%, #000 101%) 50% 10px/40px calc(51% - 10px) repeat-x,
    radial-gradient(16.4px at 50% calc(100% - 23px), #000 99%, #0000 101%) calc(50% - 20px) 100%/40px 51% repeat-x,
    radial-gradient(16.4px at 50% calc(100% + 13px), #0000 99%, #000 101%) 50% calc(100% - 10px)/40px calc(51% - 10px) repeat-x;
  -webkit-mask: var(--mask);
  mask: var(--mask);
}

#howto .pageTitleArea h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 1rem;
}

#howto .pageTitleArea h1::after {
  content: url("../img/common/illust_howto.svg");
}

.box {
  --mask:
    radial-gradient(24.6px at 50% 34.5px, #000 99%, #0000 101%) calc(50% - 30px) 0/60px 51% repeat-x,
    radial-gradient(24.6px at 50% -19.5px, #0000 99%, #000 101%) 50% 15px/60px calc(51% - 15px) repeat-x,
    radial-gradient(24.6px at 50% calc(100% - 34.5px), #000 99%, #0000 101%) calc(50% - 30px) 100%/60px 51% repeat-x,
    radial-gradient(24.6px at 50% calc(100% + 19.5px), #0000 99%, #000 101%) 50% calc(100% - 15px)/60px calc(51% - 15px) repeat-x;
  -webkit-mask: var(--mask);
  mask: var(--mask);
}

.box2 {
  -webkit-mask: linear-gradient(0, rgba(0, 0, 0, 0) 36px, #000 0) 0 18px, radial-gradient(18px, #000 calc(100% - 1px), rgba(0, 0, 0, 0)) 50%/33.3px 36px repeat space;
  mask: linear-gradient(0, rgba(0, 0, 0, 0) 36px, #000 0) 0 18px, radial-gradient(18px, #000 calc(100% - 1px), rgba(0, 0, 0, 0)) 50%/33.3px 36px repeat space;
}

/*-----------------------------------
   ページネーション
-----------------------------------*/
.pagination {
  margin-top: clamp(2.5rem, 2.067rem + 1.78vw, 3rem);
}

.pagination .nav-links ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 4px;
  color: #2B5602;
  text-align: center;
  font-family: "Zen Maru Gothic";
  font-size: 21px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
}

.pagination .nav-links .current {
  display: grid;
  place-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid #f5f2f0;
  border-radius: 50%;
  background: #f5f2f0;
  color: #7b6658;
}

.pagination .nav-links .dots {
  display: inline-block;
  position: relative;
  top: 6px;
  height: 21px;
  color: #c1b2a8;
  font-size: 16px;
}

.pagination .nav-links a.page-numbers {
  display: grid;
  place-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid #d6ccc5;
  background: #ffffff;
  -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 3px 1px rgba(0, 0, 0, 0.03);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 3px 1px rgba(0, 0, 0, 0.03);
  border-radius: 50%;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
}

@media (any-hover: hover) {
  .pagination .nav-links a.page-numbers:hover {
    border: 2px solid #A2C43C;
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
    text-decoration: none;
  }
}

/*-----------------------------------
   カテゴリーリンク(サイドメニュー)
-----------------------------------*/
.singleCategoryListArea {
  margin-top: clamp(2.375rem, 1.054rem + 6.61vw, 7rem);
  text-align: center;
}

.singleCategoryList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}

/*-----------------------------------
   関連キーワード(サイドメニュー)
-----------------------------------*/
.keywordArea {
  margin-top: clamp(1.5rem, 1.082rem + 1.71vw, 2.625rem);
}

.keywordArea ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  margin-top: 1.5rem;
}

/*-----------------------------------
   関連ページ(サイドメニュー)
-----------------------------------*/
.relatedPostsArea {
  margin-top: clamp(2.375rem, 1.054rem + 6.61vw, 7rem);
}

.relatedPostsArea ul {
  margin-top: 2rem;
}

.relatedPostsArea li {
  margin-top: 8px;
}

.relatedPostsArea li a {
  display: inline-block;
  padding: 4px 0;
}

/*-----------------------------------
   最近のお知らせ(サイドメニュー)
-----------------------------------*/
.latestsPostsArea {
  margin-top: clamp(2.375rem, 1.054rem + 6.61vw, 7rem);
}

.latestsPostsArea h2 {
  text-align: center;
}

.latestsPostsArea ul {
  margin-top: 2rem;
}

/*-----------------------------------
   アーティクル記事ボックス
-----------------------------------*/
.card-wrapper {
  margin-top: clamp(1.5rem, 1.082rem + 1.71vw, 2.625rem);
}

.ArticleCard {
  display: grid;
  gap: 12px;
  position: relative;
  width: 100vw;
  margin-inline: calc(50% - 50cqi);
  padding: 30px;
}

@media (width >=840px) {
  .ArticleCard {
    margin: auto;
    width: auto;
    padding: 30px 30px 24px 30px;
    border: 2px solid transparent;
    border-radius: 30px;
  }
}

@media (width >=940px) {
  .ArticleCard {
    margin-inline: -30px;
  }
}

.ArticleCard.article-pinned {
  background-color: #f2f7e4;
}

.ArticleCard__Title a:-moz-any-link {
  color: #2B5602;
}

.ArticleCard__Title a:any-link {
  color: #2B5602;
}

.ArticleCard__Title a::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  cursor: pointer;
  content: "";
}

@media (any-hover: hover) {
  .ArticleCard__Title a:hover {
    text-decoration: none;
  }
}

@media (any-hover: hover) and (width >=840px) {
  .ArticleCard__Title a:hover::before {
    border: 2px solid #ccde93;
    border-radius: 30px;
  }
}

.ArticleCard+.ArticleCard {
  margin-top: 24px;
}

.ArticleCard__Summary p {
  line-height: 1.8;
}

.ArticleCard__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 14px;
  line-height: 1;
}

@media (width >=375px) {
  .ArticleCard__footer {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.catagoryLinkBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  z-index: 1;
}

.ArticleCard__ReadmoreBtn.btn-text {
  -webkit-box-ordinal-group: 5;
  -ms-flex-order: 4;
  order: 4;
  justify-self: flex-end;
  position: absolute;
  right: 10px;
  bottom: 1.2rem;
}

@media (width >=375px) {
  .ArticleCard__ReadmoreBtn.btn-text {
    bottom: 1.8rem;
  }
}

@media (width >=840px) {
  .ArticleCard__ReadmoreBtn.btn-text {
    bottom: 1.4rem;
  }
}

/*-----------------------------------
   ページ内リンクボタンエリア
-----------------------------------*/
.pagejump {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.pagejump li+li {
  margin-top: 0;
}

.btnset {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
}

/*-----------------------------------
   対象動物
-----------------------------------*/
#animalArea {
  margin-top: 3rem;
  padding-block: 3rem;
  background-color: #f2f7e4;
  overflow: hidden;
  position: relative;
}

#animalArea::before {
  content: "";
  position: absolute;
  z-index: 3;
  pointer-events: none;
  background-repeat: no-repeat;
  bottom: -0.1vw;
  left: -0.1vw;
  right: -0.1vw;
  top: -0.1vw;
  background-size: 100% 90px;
  background-position: 50% 0%;
  background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.28 2.17" preserveAspectRatio="none"><path d="M0 .5c3.07.55 9.27-.42 16.14 0 6.88.4 13.75.57 19.14-.11V0H0z" fill="%23fcfdfa"/></svg>');
}

/*-----------------------------------
   診療メニュー
-----------------------------------*/
#treatmentArea {
  padding-top: 7rem;
  overflow: hidden;
  position: relative;
}

#treatmentArea::before {
  content: "";
  position: absolute;
  z-index: 3;
  pointer-events: none;
  background-repeat: no-repeat;
  bottom: -0.1vw;
  left: -0.1vw;
  right: -0.1vw;
  top: -0.1vw;
  background-size: 100% 90px;
  background-position: 50% 0%;
  background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.28 2.17" preserveAspectRatio="none"><path d="M0 .5c3.07.55 9.27-.42 16.14 0 6.88.4 13.75.57 19.14-.11V0H0z" fill="%23f2f7e4"/><path d="M0 1c3.17.8 7.29-.38 10.04-.55 2.75-.17 9.25 1.47 12.67 1.3 3.43-.17 4.65-.84 7.05-.87 2.4-.02 5.52.88 5.52.88V0H0z" opacity=".5" fill="%23f2f7e4"/><path d="M0 1.85c2.56-.83 7.68-.3 11.79-.42 4.1-.12 6.86-.61 9.58-.28 2.73.33 5.61 1.17 8.61 1 3-.19 4.73-.82 5.3-.84V.1H0z" opacity=".5" fill="%23f2f7e4"/></svg>');
}

.treatmentColumn {
  padding-top: 1.5rem;
  padding-bottom: 1rem;
  border-top: 1px solid #ccde93;
}

@media (width < 768px) {
  .treatmentColumn h3 {
    text-align: center;
    margin-inline: auto;
  }
}

.treatmentColumn.bottomline {
  border-bottom: 1px solid #ccde93;
}

/*-----------------------------------
   スタッフ紹介プロフィールボックス,執筆･監修書籍、メディア掲載情報ボックス、健康診断コース
-----------------------------------*/
.profileBox,
.bookBox,
.treatmentFlowBox,
.courseBox {
  padding-top: 1.5rem;
  border-top: 2px solid #ccde93;
}

.profileBox :where(p + h3,
  h3 + p,
  h4 + p,
  h3 + ul,
  h4 + ul,
  h3 + table,
  h4 + table,
  h3 + figure,
  h4 + figure,
  p + .btn-line,
  .btn-line + p),
.bookBox :where(p + h3,
  h3 + p,
  h4 + p,
  h3 + ul,
  h4 + ul,
  h3 + table,
  h4 + table,
  h3 + figure,
  h4 + figure,
  p + .btn-line,
  .btn-line + p),
.treatmentFlowBox :where(p + h3,
  h3 + p,
  h4 + p,
  h3 + ul,
  h4 + ul,
  h3 + table,
  h4 + table,
  h3 + figure,
  h4 + figure,
  p + .btn-line,
  .btn-line + p),
.courseBox :where(p + h3,
  h3 + p,
  h4 + p,
  h3 + ul,
  h4 + ul,
  h3 + table,
  h4 + table,
  h3 + figure,
  h4 + figure,
  p + .btn-line,
  .btn-line + p) {
  margin-top: 0.5rem;
}

.interviewBox {
  padding-top: 1.5rem;
  border-top: 2px solid #ccde93;
}

.joinYear {
  font-weight: bold;
  color: #6d8328;
}

.treatmentFlowBox,
.courseBox {
  position: relative;
  padding: 1.5rem;
  background-color: #f2f7e4;
  border-radius: 1.5rem;
  border: none;
}

.treatmentFlowBox h3,
.courseBox h3 {
  line-height: 1.2;
}

.treatmentFlowBox h3+p,
.courseBox h3+p {
  margin-top: 1.5rem;
}

.treatmentFlowBox__imgarea {
  padding: 0 0.7rem 0.7rem;
}

@media (width >=782px) {
  .treatmentFlowBox__imgarea {
    padding: 0.7rem;
  }
}

.profileBox__position+.profileBox__name,
.profileBox__name+.profileBox__kana {
  margin-top: 0.15em;
}

.profileBox__professionalBackgroundTitle+figure {
  margin-top: 0.5rem;
}

.profileBox__photo,
.bookBox__photo {
  margin-inline: auto;
  max-width: 270px;
  height: auto;
}

.flow__step {
  font-family: "Zen Maru Gothic";
  font-size: 0.9rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  color: #88a432;
}

.flow__num {
  font-size: 1.6rem;
  margin-left: 0.1em;
}

/*診断の流れ*/
.treatmentFlowList>li:not(:last-child) .treatmentFlowBox::before {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.treatmentFlowList>li:not(:last-child) .treatmentFlowBox::before {
  border-width: 16px;
  border-top-color: #88a432;
}

/*健康診断*/
.courseBox p {
  line-height: 1.2;
}

.courseBox__titleArea p {
  font-size: 0.9em;
}

.courseBox__titleArea p+p {
  margin-top: 0.8em;
}

.total-priceArea {
  position: relative;
  text-align: right;
  line-height: 1.2;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.total-priceArea .weekday {
  color: #d8234f;
}

.total-priceArea .weekday em {
  position: relative;
  font-size: 1.2em;
  font-weight: 500;
  top: 1px;
}

.tax {
  font-size: 0.8em;
}

/*-----------------------------------
   執筆･監修書籍、メディア掲載情報ボックス
-----------------------------------*/
.bookBox__author {
  font-weight: bold;
}

/*-----------------------------------
   院内設備の余白調整
-----------------------------------*/
.facilitiesPhotosContainer {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
}

@media (width > 640px) {
  .facilitiesPhotosContainer {
    grid-template-columns: repeat(2, 1fr);
  }
}

.facilitiesPhotos__item figure {
  margin-bottom: 0;
}

.facilitiesPhotos__item figure+h3,
.facilitiesPhotos__item h3+p {
  margin-top: 1rem;
}

.facilitiesPhotos__item p span {
  font-size: 0.7em;
}

/*-----------------------------------
   小鳥のホテルページヘッダー画像
-----------------------------------*/
.hotel .pageTitleArea {
  max-width: 1216px;
  margin-inline: auto;
  padding-inline: 4%;
}

.hotel .pageTitleArea .pageTitle {
  padding-top: 42vw;
  background: url(https://www.bird-clinic.com/img/common/p_hotel_sp2.png) no-repeat center top/contain;
}

@media (width >=782px) {
  .hotel .pageTitleArea .pageTitle {
    padding-top: clamp(7.5rem, 1.558rem + 12.16vw, 12.5rem);
    background: url(https://www.bird-clinic.com/img/common/p_hotel.png) no-repeat center top/contain;
  }
}

/*-----------------------------------
    WPsitemapプラグイン用
-----------------------------------*/
.wsp-container strong {
  background: none;
}

.wsp-category-title {
  display: block;
  margin-bottom: 1em;
  font-size: 21px;
}

.wsp-posts-list {
  margin-left: 0;
}

.wsp-posts-list li li {
  position: relative;
  padding-left: 1.2em;
  font-style: normal;
}

.wsp-posts-list li li::before {
  position: absolute;
  left: 0;
  top: 0.5em;
  content: "";
  inline-size: 0.8em;
  aspect-ratio: 1;
  background-color: #A2C43C;
  border-radius: 50%;
}

.wsp-posts-list li+li {
  margin-top: 1em;
}