/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/slick-carousel/slick/slick.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}
/*!*******************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./src/scss/lib/_slick-theme.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
  cursor: pointer;
  background: transparent;
  border: none;
  outline: none;
  transform: translate(0, -50%);
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  background: transparent;
  outline: none;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir=rtl] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: "←";
}

[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

[dir=rtl] .slick-next {
  right: auto;
  left: -25px;
}

.slick-next:before {
  content: "→";
}

[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  text-align: center;
  list-style: none;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0 5px;
  cursor: pointer;
}

.slick-dots li button {
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  font-size: 0;
  line-height: 0;
  color: transparent;
  cursor: pointer;
  background: transparent;
  border: 0;
  outline: none;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  font-size: 6px;
  line-height: 20px;
  color: black;
  text-align: center;
  content: "•";
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/normalize.css/normalize.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}
/*!*******************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./src/scss/site.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  border: 0;
  outline: 0;
}

ol,
ul {
  list-style-type: none;
}

nav ul {
  list-style: none;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 16px;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  line-height: 1.5;
}

iframe {
  max-width: 100%;
}

label {
  display: inline-block;
  margin-bottom: 0;
}

/* font-weight */
.f-w-bold {
  font-weight: 700;
}

/* ゴシック体 */
.f-f-gothic {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "MS PGothic", sans-serif;
}

/* 明朝体 */
.f-f-mincho {
  font-family: Georgia, "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

/* 画像の設定 */
img {
  width: auto;
  height: auto;
  vertical-align: middle;
  border-style: none;
  opacity: 1;
  transition: opacity 0.3s;
}

.lazyload {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
}

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

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-auto {
  height: auto !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

@media screen and (min-width: 641px) {
  .d-tablet-none {
    display: none !important;
  }
  .d-tablet-inline {
    display: inline !important;
  }
  .d-tablet-inline-block {
    display: inline-block !important;
  }
  .d-tablet-block {
    display: block !important;
  }
}
@media screen and (min-width: 1025px) {
  .d-pcs-none {
    display: none !important;
  }
  .d-pcs-inline {
    display: inline !important;
  }
  .d-pcs-inline-block {
    display: inline-block !important;
  }
  .d-pcs-block {
    display: block !important;
  }
}
@media screen and (min-width: 1441px) {
  .d-pcm-none {
    display: none !important;
  }
  .d-pcm-inline {
    display: inline !important;
  }
  .d-pcm-inline-block {
    display: inline-block !important;
  }
  .d-pcm-block {
    display: block !important;
  }
}
@media screen and (min-width: 1921px) {
  .d-pcl-none {
    display: none !important;
  }
  .d-pcl-inline {
    display: inline !important;
  }
  .d-pcl-inline-block {
    display: inline-block !important;
  }
  .d-pcl-block {
    display: block !important;
  }
}
/* スマホの時のみ電話発信 */
@media screen and (min-width: 641px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/* AOSアニメーションを印刷時には動かない様に制御 */
@media print {
  [data-aos^=fade],
  [data-aos^=zoom],
  [data-aos^=slide],
  [data-aos^=flip] {
    opacity: 1 !important;
    transform: none !important;
  }
}
/* スキップリンクの設定 */
.skip-link {
  position: absolute;
  top: 0;
  right: 100vw;
  z-index: 9999;
  width: 100%;
  padding: 5px 0;
  text-align: center;
  text-decoration: underline;
  background: #fff;
}
.skip-link:hover {
  text-decoration: none;
}
.skip-link:focus {
  right: auto;
  left: 0;
}

/* スクリーンリーダ読み上げ対応 */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

.container {
  width: 90%;
}
.container:not(.alignfull) {
  max-width: min(1200px, 90vw);
  margin-right: auto;
  margin-left: auto;
  /* ユニットの制御 */
  /* 全幅 */
  /* 背景のみfull */
}
.container:not(.alignfull) .clearHidden + * {
  clear: both !important;
}
.container:not(.alignfull) .unit-block-wrap::after {
  content: "";
  display: table;
  clear: both;
}
.container:not(.alignfull) .alignfull {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.container:not(.alignfull) .alignfull .unit-group {
  width: 100%;
}
.container:not(.alignfull) .alignfull [class*=acms-col-] {
  clear: none !important;
}
.container:not(.alignfull) .bgfull {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.container:not(.alignfull) .bgfull .unit-group {
  width: 100%;
  max-width: min(1200px, 90vw);
  margin-right: auto;
  margin-left: auto;
}

.container-ctm {
  width: 90%;
}
.container-ctm:not(.alignfull) {
  margin-right: auto;
  margin-left: auto;
}

.spacer-top {
  padding-top: 10em;
}
@media screen and (max-width: 1024px) {
  .spacer-top {
    padding-top: 5em;
  }
}
@media screen and (max-width: 640px) {
  .spacer-top {
    padding-top: 3em;
  }
}

.spacer-bottom {
  padding-bottom: 10em;
}
@media screen and (max-width: 1024px) {
  .spacer-bottom {
    padding-bottom: 5em;
  }
}
@media screen and (max-width: 640px) {
  .spacer-bottom {
    padding-bottom: 3em;
  }
}

/* 段落ごとに１行スペースを開ける */
.text-wrap > p:not(:last-of-type) {
  margin-bottom: 1.8em;
}

.bs-one-line {
  margin-bottom: 1.8;
}

/* リンク時の切り替わり */
a {
  color: #555;
  text-decoration: none;
  transition-duration: 0.3s;
}
a:hover {
  opacity: 0.7;
  color: #555;
}
a:visited {
  color: #555;
}

/* ::::::::::::::::::::::::::::::
	iOS Safariのinput系のリセットcss
:::::::::::::::::::::::::::::: */
textarea {
  box-sizing: border-box;
  max-width: 100%;
  -webkit-appearance: none;
}

input:not([type=radio]):not([type=checkbox]) {
  box-sizing: border-box;
  max-width: 100%;
  -webkit-appearance: none;
}

/* ::::::::::::::::::::::::::::::
	レイアウト
:::::::::::::::::::::::::::::: */
/* 2カラム（左コンテンツ） */
.column-2-left {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}
@media screen and (max-width: 1024px) {
  .column-2-left {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .column-2-left {
    margin-top: 30px;
  }
}
.column-2-left #column-main {
  width: calc(100% - 280px - 5.8%);
  margin-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .column-2-left #column-main {
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .column-2-left #column-main {
    margin-bottom: 50px;
  }
}
.column-2-left #sidebar {
  width: 280px;
}
@media screen and (max-width: 1024px) {
  .column-2-left #sidebar {
    width: 100%;
  }
}

/* 2カラム（右コンテンツ） */
.column-2-right {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .column-2-right {
    display: block;
  }
}
.column-2-right #column-main {
  order: 2;
  width: calc(100% - 280px - 5.8%);
}
@media screen and (max-width: 1024px) {
  .column-2-right #column-main {
    order: 1;
    width: 100%;
  }
}
.column-2-right #sidebar {
  order: 1;
  width: 280px;
}
@media screen and (max-width: 1024px) {
  .column-2-right #sidebar {
    order: 2;
    width: 100%;
  }
}

/* ::::::::::::::::::::::::::::::
	ページネーション
:::::::::::::::::::::::::::::: */
.navigation {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  .navigation {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.navigation li {
  position: relative;
  display: inline-block;
  margin: 5px;
  margin-bottom: 5px;
  color: #222;
  border: 1px solid #1587c3;
  /* 選択されている箇所 */
}
.navigation li.cur {
  padding: 2px 10px;
  color: #fff;
  background-color: #1587c3;
  border-color: #1587c3;
}
.navigation li a,
.navigation li span {
  display: block;
  width: 100%;
  height: 100%;
  padding: 2px 10px;
}

/* ::::::::::::::::::::::::::::::
	パンくずリスト
:::::::::::::::::::::::::::::: */
#breadcrumb ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#breadcrumb ul > li {
  display: flex;
  align-items: center;
  font-size: 0.75em;
}
#breadcrumb ul > li:not(:last-child)::after {
  display: inline-block;
  width: 0.3rem;
  height: 0.3rem;
  margin: 0 0.5rem;
  content: "";
  border-top: 1px solid #aaa;
  border-right: 1px solid #aaa;
  transform: rotate(45deg);
}

/**
 * cookie
 */
/** Light color-scheme **/
:root {
  --cc-bg: #fff;
  --cc-text: #333;
  --cc-btn-primary-bg: #222;
  --cc-btn-primary-text: #fff;
  --cc-btn-primary-hover-bg: var(--cc-btn-primary-bg);
  --cc-btn-secondary-bg: #f1f1f1;
  --cc-btn-secondary-text: var(--cc-text);
  --cc-btn-secondary-hover-bg: #eeeeee;
  --cc-toggle-bg-off: #999999;
  --cc-toggle-bg-on: #666666;
  --cc-toggle-bg-readonly: #e5e5e5;
  --cc-toggle-knob-bg: #fff;
  --cc-toggle-knob-icon-color: #faecec;
  --cc-block-text: var(--cc-text);
  --cc-cookie-category-block-bg: #f1f1f1;
  --cc-cookie-category-block-bg-hover: #eeeeee;
  --cc-section-border: #f5f1f1;
  --cc-cookie-table-border: #f2e9e9;
  --cc-overlay-bg: rgba(4, 6, 8, 0.85);
  --cc-webkit-scrollbar-bg: #dbcfcf;
  --cc-webkit-scrollbar-bg-hover: #a09191;
}

/** Dark color-scheme **/
.c_darkmode {
  --cc-bg: #181b1d;
  --cc-text: #d8e5ea;
  --cc-btn-primary-bg: #a6c4dd;
  --cc-btn-primary-text: #000;
  --cc-btn-primary-hover-bg: var(--cc-btn-primary-bg);
  --cc-btn-secondary-bg: #33383c;
  --cc-btn-secondary-text: var(--cc-text);
  --cc-btn-secondary-hover-bg: #3e454a;
  --cc-toggle-bg-off: #667481;
  --cc-toggle-bg-on: var(--cc-btn-primary-bg);
  --cc-toggle-bg-readonly: #454c54;
  --cc-toggle-knob-bg: var(--cc-cookie-category-block-bg);
  --cc-toggle-knob-icon-color: var(--cc-bg);
  --cc-block-text: #b3bfc5;
  --cc-cookie-category-block-bg: #23272a;
  --cc-cookie-category-block-bg-hover: #2b3035;
  --cc-section-border: #292d31;
  --cc-cookie-table-border: #2b3035;
  --cc-webkit-scrollbar-bg: #667481;
  --cc-webkit-scrollbar-bg-hover: #9199a0;
}

.cc_div *,
.cc_div :before,
.cc_div :after {
  box-sizing: border-box;
  float: none;
  padding: 0;
  margin: 0;
  font-family: inherit;
  font-size: 1em;
  font-style: inherit;
  font-weight: inherit;
  font-variant: normal;
  line-height: 1.2;
  color: inherit;
  text-align: left;
  text-decoration: none;
  text-transform: none;
  letter-spacing: unset;
  visibility: unset;
  background: none;
  border: none;
  box-shadow: none;
  transition: none;
  animation: none;
}

.cc_div {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
  font-weight: 400;
  color: #2d4156;
  color: var(--cc-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

.cc_div .c-bn,
.cc_div .b-tl,
#s-ttl,
#c-ttl,
#s-bl td:before {
  font-weight: 600;
}

#cm,
#s-inr,
.cc_div .c-bl,
.cc_div .b-tl,
#s-bl .act .b-acc {
  border-radius: 0.35em;
}

.cc_div input,
.cc_div button,
.cc_div a {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.cc_div a {
  border-bottom: 1px solid;
}

.cc_div a:hover {
  text-decoration: none;
  border-color: transparent;
}

/* Make elements "animatable" */
.c--anim #cm,
.c--anim #s-cnt,
.c--anim #s-inr,
#cs-ov,
#cm-ov {
  transition: visibility 0.25s linear, opacity 0.25s ease, transform 0.25s ease !important;
}

.c--anim .c-bn {
  transition: background-color 0.25s ease !important;
}

/* start transitions */
.c--anim #cm.bar.slide,
.c--anim .bar.slide #s-inr {
  transition: visibility 0.4s ease, opacity 0.4s ease, transform 0.4s ease !important;
}

.c--anim #cm.bar.slide + #cm-ov,
.c--anim .bar.slide + #cs-ov {
  transition: visibility 0.4s ease, opacity 0.4s ease, transform 0.4s ease !important;
}

#cm.bar.slide,
.cc_div .bar.slide #s-inr {
  opacity: 1;
  transform: translateX(100%);
}

#cm.bar.top.slide,
.cc_div .bar.left.slide #s-inr {
  opacity: 1;
  transform: translateX(-100%);
}

#cm.slide,
.cc_div .slide #s-inr {
  transform: translateY(1.6em);
}

#cm.top.slide {
  transform: translateY(-1.6em);
}

#cm.bar.slide {
  transform: translateY(100%);
}

#cm.bar.top.slide {
  transform: translateY(-100%);
}

/* end transitions */
/* Show modals */
.show--consent .c--anim #cm,
.show--consent .c--anim #cm.bar,
.show--settings .c--anim #s-inr,
.show--settings .c--anim .bar.slide #s-inr {
  visibility: visible !important;
  opacity: 1;
  transform: scale(1);
}

.force--consent.show--consent .c--anim #cm.box.middle,
.force--consent.show--consent .c--anim #cm.cloud.middle {
  transform: scale(1) translateY(-50%);
}

.show--settings .c--anim #s-cnt {
  visibility: visible !important;
}

/* Show overlays */
.force--consent.show--consent .c--anim #cm-ov,
.show--settings .c--anim #cs-ov {
  visibility: visible !important;
  opacity: 1 !important;
}

#cm {
  position: fixed;
  right: 1.25em;
  bottom: 1.25em;
  z-index: 1;
  width: 100%;
  max-width: 24.2em;
  padding: 1.1em 1.8em 1.4em 1.8em;
  font-family: inherit;
  line-height: initial;
  visibility: hidden;
  background: #fff;
  background: var(--cc-bg);
  box-shadow: 0 0.625em 1.875em #000000;
  box-shadow: 0 0.625em 1.875em rgba(2, 2, 3, 0.28);
  opacity: 0;
  transform: scale(0.95);
}

/** fix https://github.com/orestbida/cookieconsent/issues/94 **/
#cc_div #cm {
  display: block !important;
}

#c-ttl {
  margin-bottom: 0.7em;
  font-size: 1.05em;
}

.cloud #c-ttl {
  margin-top: -0.15em;
}

#c-txt {
  margin-bottom: 1.4em;
  font-size: 0.9em;
  line-height: 1.5em;
}

.cc_div .c-bn {
  display: inline-block;
  padding: 1em 1.7em;
  font-size: 0.82em;
  color: #40505a;
  color: var(--cc-btn-secondary-text);
  text-align: center;
  cursor: pointer;
  -moz-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
  background: #e5ebef;
  background: var(--cc-btn-secondary-bg);
  border-radius: 4px;
}

#cm .c-bn {
  width: 48.5%;
}

#c-bns button + button,
#s-cnt button + button,
#s-c-bn {
  float: right;
}

#s-cnt #s-rall-bn {
  float: none;
  margin-left: 1em;
}

#cm .c_link:hover,
#cm .c_link:active,
#s-cnt button + button:hover,
#s-cnt button + button:active,
#s-c-bn:active,
#s-c-bn:hover {
  background: #d8e0e6;
  background: var(--cc-btn-secondary-hover-bg);
}

/**
CookieConsent settings modal
**/
#s-cnt {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  display: table;
  width: 100%;
  height: 100%;
  visibility: hidden;
}

#s-bl {
  outline: none;
}

#s-bl .title {
  margin-top: 1.4em;
}

#s-bl .title:first-child {
  margin-top: 0;
}

#s-bl .b-bn {
  margin-top: 0;
}

#s-bl .b-acc .p {
  padding: 1em;
  margin-top: 0;
}

#s-cnt .b-bn .b-tl {
  position: relative;
  display: block;
  width: 100%;
  padding: 1.3em 6.4em 1.3em 2.7em;
  font-family: inherit;
  font-size: 0.95em;
  cursor: pointer;
  background: none;
  transition: background-color 0.25s ease;
}

#s-cnt .act .b-bn .b-tl {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

#s-cnt .b-bn .b-tl:active,
#s-cnt .b-bn .b-tl:hover {
  background: #e9eff4;
  background: var(--cc-cookie-category-block-bg-hover);
}

#s-bl .b-bn {
  position: relative;
}

#s-bl .c-bl {
  padding: 1em;
  margin-bottom: 0.5em;
  border: 1px solid #f1f3f5;
  border-color: var(--cc-section-border);
  transition: background-color 0.25s ease;
}

#s-bl .c-bl:hover {
  background: #f0f4f7;
  background: var(--cc-cookie-category-block-bg);
}

#s-bl .c-bl:last-child {
  margin-bottom: 0.5em;
}

#s-bl .c-bl:first-child {
  padding: 0;
  margin-top: 0;
  margin-bottom: 2em;
  border: none;
  transition: none;
}

#s-bl .c-bl:not(.b-ex):first-child:hover {
  background: transparent;
  background: unset;
}

#s-bl .c-bl.b-ex {
  padding: 0;
  background: #f0f4f7;
  background: var(--cc-cookie-category-block-bg);
  border: none;
  transition: none;
}

#s-bl .c-bl.b-ex + .c-bl {
  margin-top: 2em;
}

#s-bl .c-bl.b-ex + .c-bl.b-ex {
  margin-top: 0;
}

#s-bl .c-bl.b-ex:first-child {
  margin-bottom: 1em;
}

#s-bl .c-bl.b-ex:first-child {
  margin-bottom: 0.5em;
}

#s-bl .b-acc {
  display: none;
  max-height: 0;
  padding-top: 0;
  margin-bottom: 0;
  overflow: hidden;
}

#s-bl .act .b-acc {
  display: block;
  max-height: 100%;
  overflow: hidden;
}

#s-cnt .p {
  margin-top: 0.85em;
  font-size: 0.9em;
  line-height: 1.5em;
  color: #2d4156;
  color: var(--cc-block-text);
}

.cc_div .b-tg .c-tgl:disabled {
  cursor: not-allowed;
}

#c-vln {
  position: relative;
  display: table-cell;
  vertical-align: middle;
}

#cs {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0 1.7em;
}

#s-inr {
  position: relative;
  position: relative;
  max-width: 45em;
  height: 100%;
  height: 100%;
  padding-top: 4.75em;
  padding-bottom: 4.75em;
  margin: 0 auto;
  overflow: hidden;
  visibility: hidden;
  box-shadow: rgba(3, 6, 9, 0.26) 0px 13px 27px -5px;
  opacity: 0;
  transform: scale(0.96);
}

#s-inr,
#s-hdr,
#s-bns {
  background: #fff;
  background: var(--cc-bg);
}

#s-bl {
  display: block;
  width: 100%;
  height: 100%;
  padding: 1.3em 2.1em;
  overflow-x: hidden;
  overflow-y: auto;
  overflow-y: overlay;
}

#s-bns {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4.75em;
  padding: 1em 2.1em;
  border-color: var(--cc-section-border);
  border-top: 1px solid #f1f3f5;
}

.cc_div .cc-link {
  display: inline;
  padding-bottom: 0;
  font-weight: 600;
  color: #253b48;
  color: var(--cc-btn-primary-bg);
  text-decoration: none;
  cursor: pointer;
  border-bottom: 1px solid currentColor;
}

.cc_div .cc-link:hover,
.cc_div .cc-link:active {
  border-color: transparent;
}

#c-bns button:first-child,
#s-bns button:first-child {
  color: #fff;
  color: var(--cc-btn-primary-text);
  background: #253b48;
  background: var(--cc-btn-primary-bg);
}

.cc_div .b-tg .c-tgl:checked ~ .c-tg {
  background: #253b48;
  background: var(--cc-toggle-bg-on);
}

#c-bns button:first-child:active,
#c-bns button:first-child:hover,
#s-bns button:first-child:active,
#s-bns button:first-child:hover {
  background: #1d2e38;
  background: var(--cc-btn-primary-hover-bg);
  opacity: 0.8;
}

#s-hdr {
  position: absolute;
  top: 0;
  z-index: 2;
  display: table;
  width: 100%;
  height: 4.75em;
  padding: 0 2.1em;
  vertical-align: middle;
  border-color: var(--cc-section-border);
  border-bottom: 1px solid #f1f3f5;
}

#s-ttl {
  display: table-cell;
  font-size: 1em;
  vertical-align: middle;
}

#s-c-bn {
  position: relative;
  width: 1.7em;
  height: 1.7em;
  padding: 0;
  margin: 0;
  font-size: 1.45em;
  font-weight: initial;
}

#s-c-bnc {
  display: table-cell;
  vertical-align: middle;
}

.cc_div span.t-lb {
  position: absolute;
  top: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
}

#c_policy__text {
  height: 31.25em;
  margin-top: 1.25em;
  overflow-y: auto;
}

#c-s-in {
  position: relative;
  top: 50%;
  height: 100%;
  height: calc(100% - 2.5em);
  max-height: 37.5em;
  transform: translateY(-50%);
}

@media screen and (min-width: 688px) {
  /** works only on webkit-based browsers **/
  #s-bl::-webkit-scrollbar {
    width: 0.9em;
    height: 100%;
    background: transparent;
    border-radius: 0 0.25em 0.25em 0;
  }
  #s-bl::-webkit-scrollbar-thumb {
    background: #cfd5db;
    background: var(--cc-webkit-scrollbar-bg);
    border: 0.25em solid var(--cc-bg);
    border-radius: 100em;
  }
  #s-bl::-webkit-scrollbar-thumb:hover {
    background: #9199a0;
    background: var(--cc-webkit-scrollbar-bg-hover);
  }
  #s-bl::-webkit-scrollbar-button {
    width: 10px;
    height: 5px;
  }
}
/** custom checkbox **/
/* The container */
.cc_div .b-tg {
  position: absolute;
  top: 0;
  right: 0;
  right: 1.2em;
  bottom: 0;
  display: inline-block;
  margin: auto;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.cc_div .b-tg .c-tgl {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  margin: 0;
  cursor: pointer;
  border: 0;
}

/* Create a custom checkbox */
.cc_div .b-tg .c-tg {
  position: absolute;
  pointer-events: none;
  background: #919ea6;
  background: var(--cc-toggle-bg-off);
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

.cc_div span.t-lb,
.cc_div .b-tg,
.cc_div .b-tg .c-tg,
.cc_div .b-tg .c-tgl {
  width: 3.4em;
  height: 1.5em;
  border-radius: 4em;
}

.cc_div .b-tg .c-tg.c-ro {
  cursor: not-allowed;
}

.cc_div .b-tg .c-tgl ~ .c-tg.c-ro {
  background: #d5dee2;
  background: var(--cc-toggle-bg-readonly);
}

.cc_div .b-tg .c-tgl ~ .c-tg.c-ro:after {
  box-shadow: none;
}

/* Style the checkmark/indicator */
.cc_div .b-tg .c-tg:after {
  position: relative;
  top: 0.125em;
  left: 0.125em;
  box-sizing: content-box;
  display: block;
  width: 1.25em;
  height: 1.25em;
  content: "";
  background: #fff;
  background: var(--cc-toggle-knob-bg);
  border: none;
  border-radius: 100%;
  box-shadow: 0 1px 2px rgba(24, 32, 35, 0.36);
  transition: transform 0.25s ease;
}

/* Show the checkmark when checked */
.cc_div .b-tg .c-tgl:checked ~ .c-tg:after {
  transform: translateX(1.9em);
}

#s-bl table,
#s-bl th,
#s-bl td {
  border: none;
}

#s-bl tbody tr {
  transition: background-color 0.25s ease;
}

#s-bl tbody tr:hover {
  background: #e9eff4;
  background: var(--cc-cookie-category-block-bg-hover);
}

#s-bl table {
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  text-align: left;
  border-collapse: collapse;
}

#s-bl td,
#s-bl th {
  padding: 0.8em 0.625em;
  padding-left: 1.2em;
  font-size: 0.8em;
  text-align: left;
  vertical-align: top;
}

#s-bl th {
  padding: 1.2em 1.2em;
  font-family: inherit;
}

#s-bl thead tr:first-child {
  border-color: var(--cc-cookie-table-border);
  border-bottom: 1px solid #e9edf2;
}

.force--consent #s-cnt,
.force--consent #cs {
  width: 100vw;
}

#cm-ov,
#cs-ov {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  visibility: hidden;
  background: #070707;
  background: rgba(4, 6, 8, 0.85);
  background: var(--cc-overlay-bg);
  opacity: 0;
  transition: none;
}

.show--settings #cs-ov,
.c--anim #cs-ov,
.force--consent .c--anim #cm-ov,
.force--consent.show--consent #cm-ov {
  display: block;
}

#cs-ov {
  z-index: 2;
}

.force--consent .cc_div {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  width: 100vw;
  visibility: hidden;
  transition: visibility 0.25s linear;
}

.force--consent.show--consent .c--anim .cc_div,
.force--consent.show--settings .c--anim .cc_div {
  visibility: visible;
}

.force--consent #cm {
  position: absolute;
}

.force--consent #cm.bar {
  width: 100vw;
  max-width: 100vw;
}

html.force--consent.show--consent {
  overflow-y: hidden !important;
}

html.force--consent.show--consent,
html.force--consent.show--consent body {
  height: auto !important;
  overflow-x: hidden !important;
}

/** END BLOCK PAGE SCROLL */
/** BEGIN ICONS **/
.cc_div .b-bn .b-tl::before,
.cc_div .act .b-bn .b-tl::before {
  position: absolute;
  position: absolute;
  top: 50%;
  left: 1.2em;
  display: inline-block;
  padding: 0.2em;
  margin-right: 15px;
  content: "";
  border: solid #2d4156;
  border-color: var(--cc-btn-secondary-text);
  border-width: 0 2px 2px 0;
  transform: translateY(-50%) rotate(45deg);
}

.cc_div .act .b-bn .b-tl::before {
  transform: translateY(-20%) rotate(225deg);
}

.cc_div .on-i::before {
  position: absolute;
  top: 0.37em;
  left: 0.75em;
  display: inline-block;
  padding: 0.1em;
  padding-bottom: 0.45em;
  margin: 0 auto;
  content: "";
  border: solid #fff;
  border-color: var(--cc-toggle-knob-icon-color);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

#s-c-bn::before,
#s-c-bn::after {
  position: absolute;
  top: 0.58em;
  left: 0.82em;
  width: 1.5px;
  height: 0.6em;
  margin: 0 auto;
  content: "";
  background: #444d53;
  background: var(--cc-btn-secondary-text);
  border-radius: 1em;
  transform: rotate(45deg);
}

#s-c-bn::after {
  transform: rotate(-45deg);
}

.cc_div .off-i,
.cc_div .on-i {
  position: absolute;
  right: 0;
  display: block;
  width: 50%;
  height: 100%;
  text-align: center;
  transition: opacity 0.15s ease;
}

.cc_div .on-i {
  left: 0;
  opacity: 0;
}

.cc_div .off-i::before,
.cc_div .off-i::after {
  position: absolute;
  top: 0.42em;
  right: 0.8em;
  display: block;
  width: 0.09375em;
  height: 0.7em;
  margin: 0 auto;
  content: " ";
  background: #cdd6dc;
  background: var(--cc-toggle-knob-icon-color);
  transform-origin: center;
}

.cc_div .off-i::before {
  transform: rotate(45deg);
}

.cc_div .off-i::after {
  transform: rotate(-45deg);
}

.cc_div .b-tg .c-tgl:checked ~ .c-tg .on-i {
  opacity: 1;
}

.cc_div .b-tg .c-tgl:checked ~ .c-tg .off-i {
  opacity: 0;
}

/** END ICONS **/
.force--consent #cm.box.middle,
.force--consent #cm.cloud.middle {
  top: 50%;
  bottom: auto;
  transform: translateY(-37%);
}

.force--consent #cm.box.middle.zoom,
.force--consent #cm.cloud.middle.zoom {
  transform: scale(0.95) translateY(-50%);
}

#cm.box.center {
  right: 1em;
  left: 1em;
  margin: 0 auto;
}

/* Start cloud layout */
#cm.cloud {
  right: 1em;
  left: 1em;
  width: unset;
  max-width: 50em;
  padding: 1.3em 2em;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
}

.cc_div .cloud #c-inr {
  display: table;
  width: 100%;
}

.cc_div .cloud #c-inr-i {
  display: table-cell;
  width: 70%;
  padding-right: 2.4em;
  vertical-align: top;
}

.cc_div .cloud #c-txt {
  margin-bottom: 0;
  font-size: 0.85em;
}

.cc_div .cloud #c-bns {
  display: table-cell;
  min-width: 170px;
  vertical-align: middle;
}

#cm.cloud .c-bn {
  width: 100%;
  margin: 0.625em 0 0 0;
}

#cm.cloud .c-bn:first-child {
  margin: 0;
}

#cm.cloud.left {
  margin-right: 1.25em;
}

#cm.cloud.right {
  margin-left: 1.25em;
}

/* End cloud layout */
/* Start bar layout */
#cm.bar {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  padding: 2em;
  border-radius: 0;
}

#cm.bar #c-inr {
  max-width: 32em;
  margin: 0 auto;
}

#cm.bar #c-bns {
  max-width: 33.75em;
}

#cm.bar #cs {
  padding: 0;
}

.cc_div .bar #c-s-in {
  top: 0;
  height: 100%;
  max-height: 100%;
  transform: none;
}

.cc_div .bar #s-hdr,
.cc_div .bar #s-bl,
.cc_div .bar #s-bns {
  padding-right: 1.6em;
  padding-left: 1.6em;
}

.cc_div .bar #cs {
  padding: 0;
}

/* align bar to right by default */
.cc_div .bar #s-inr {
  max-width: 32em;
  margin: 0;
  margin-right: 0;
  margin-left: auto;
  border-radius: 0;
}

.cc_div .bar.left #s-inr {
  margin-right: auto;
  margin-left: 0;
}

/* Force table to not be like tables anymore */
.cc_div .bar #s-bl table,
.cc_div .bar #s-bl thead,
.cc_div .bar #s-bl tbody,
.cc_div .bar #s-bl th,
.cc_div .bar #s-bl td,
.cc_div .bar #s-bl tr,
.cc_div .bar #s-cnt {
  display: block;
}

/* Hide table headers (but not display: none;, for accessibility) */
.cc_div .bar #s-bl thead tr {
  position: absolute;
  top: -9999px;
  left: -9999px;
}

.cc_div .bar #s-bl tr {
  border-color: var(--cc-cookie-table-border);
  border-top: 1px solid #e3e7ed;
}

.cc_div .bar #s-bl td {
  position: relative;
  padding-left: 35%;
  /* Behave  like a "row" */
  border: none;
}

.cc_div .bar #s-bl td:before {
  position: absolute;
  left: 1em;
  padding-right: 0.625em;
  overflow: hidden;
  color: #000;
  color: var(--cc-text);
  text-overflow: ellipsis;
  white-space: nowrap;
  content: attr(data-column);
}

/* End bar layout */
/* Positions */
#cm.top {
  top: 1.25em;
  bottom: auto;
}

#cm.left {
  right: auto;
  left: 1.25em;
}

#cm.right {
  right: 1.25em;
  left: auto;
}

#cm.bar.left,
#cm.bar.right {
  right: 0;
  left: 0;
}

#cm.bar.top {
  top: 0;
}

/* end positions */
@media screen and (max-width: 688px) {
  #cm,
  #cm.cloud,
  #cm.left,
  #cm.right {
    right: 1em;
    bottom: 1em;
    left: 1em;
    display: block;
    width: auto;
    max-width: 100%;
    padding: 1.4em !important;
    margin: 0;
  }
  .force--consent #cm,
  .force--consent #cm.cloud {
    width: auto;
    max-width: 100vw;
  }
  #cm.top {
    top: 1em;
    bottom: auto;
  }
  #cm.bottom {
    top: auto;
    bottom: 1em;
  }
  #cm.bar.bottom {
    bottom: 0;
  }
  .cc_div .cloud #c-txt {
    font-size: 0.9em;
  }
  #cm.cloud .c-bn {
    font-size: 0.85em;
  }
  #s-bns,
  .cc_div .bar #s-bns {
    padding: 1em 1.3em;
  }
  .cc_div .bar #s-inr {
    width: 100%;
    max-width: 100%;
  }
  .cc_div .cloud #c-inr-i {
    padding-right: 0;
  }
  #cs {
    padding: 0;
    border-radius: 0;
  }
  #c-s-in {
    top: 0;
    height: 100%;
    max-height: 100%;
    transform: none;
  }
  .cc_div .b-tg {
    right: 1.1em;
    transform: scale(1.1);
  }
  #s-inr {
    padding-bottom: 7.9em;
    margin: 0;
    border-radius: 0;
  }
  #s-bns {
    height: 7.9em;
  }
  #s-bl,
  .cc_div .bar #s-bl {
    padding: 1.3em;
  }
  #s-hdr,
  .cc_div .bar #s-hdr {
    padding: 0 1.3em;
  }
  /** dynamic table layout **/
  #s-bl table {
    width: 100%;
  }
  #s-inr.bns-t {
    padding-bottom: 10.5em;
  }
  .bns-t #s-bns {
    height: 10.5em;
  }
  .cc_div .bns-t .c-bn {
    padding: 0.9em 1.6em;
    font-size: 0.83em;
  }
  #s-cnt .b-bn .b-tl {
    padding-top: 1.2em;
    padding-bottom: 1.2em;
  }
  /* Force table to not be like tables anymore */
  #s-bl table,
  #s-bl thead,
  #s-bl tbody,
  #s-bl th,
  #s-bl td,
  #s-bl tr,
  #s-cnt {
    display: block;
  }
  /* Hide table headers (but not display: none;, for accessibility) */
  #s-bl thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  #s-bl tr {
    border-color: var(--cc-cookie-table-border);
    border-top: 1px solid #e3e7ed;
  }
  #s-bl td {
    position: relative;
    padding-left: 35%;
    /* Behave  like a "row" */
    border: none;
  }
  #s-bl td:before {
    position: absolute;
    left: 1em;
    padding-right: 0.625em;
    overflow: hidden;
    color: #000;
    color: var(--cc-text);
    text-overflow: ellipsis;
    white-space: nowrap;
    content: attr(data-column);
  }
  #cm .c-bn,
  .cc_div .c-bn {
    width: 100%;
    margin-right: 0;
  }
  #s-cnt #s-rall-bn {
    margin-left: 0;
  }
  #c-bns button + button,
  #s-cnt button + button {
    float: unset;
    margin-top: 0.625em;
  }
  #cm.cloud,
  #cm.box {
    right: 1em;
    left: 1em;
    width: auto;
  }
  #cm.cloud.right,
  #cm.cloud.left {
    margin: 0;
  }
  .cc_div .cloud #c-bns,
  .cc_div .cloud #c-inr,
  .cc_div .cloud #c-inr-i {
    display: block;
    width: auto;
    min-width: unset;
  }
  .cc_div .cloud #c-txt {
    margin-bottom: 1.625em;
  }
}
/* Begin IE fixes */
.cc_div.ie #c-vln {
  height: 100%;
  padding-top: 5.62em;
}

.cc_div.ie .bar #c-vln {
  padding-top: 0;
}

.cc_div.ie #cs {
  position: relative;
  top: 0;
  max-height: 37.5em;
  margin-top: -5.625em;
}

.cc_div.ie .bar #cs {
  max-height: 100%;
  margin-top: 0;
}

.cc_div.ie #cm {
  border: 1px solid #dee6e9;
}

.cc_div.ie #c-s-in {
  top: 0;
}

.cc_div.ie .b-tg {
  padding-left: 1em;
  margin-bottom: 0.7em;
}

.cc_div.ie .b-tg .c-tgl:checked ~ .c-tg:after {
  left: 1.95em;
}

.cc_div.ie #s-bl table {
  overflow: auto;
}

.cc_div.ie .b-tg .c-tg {
  display: none;
}

.cc_div.ie .b-tg .c-tgl {
  position: relative;
  display: inline-block;
  height: auto;
  margin-bottom: 0.2em;
  vertical-align: middle;
}

.cc_div.ie #s-cnt .b-bn .b-tl {
  padding: 1.3em 6.4em 1.3em 1.4em;
}

.cc_div.ie .bar #s-bl td:before {
  display: none;
}

.cc_div.ie .bar #s-bl td {
  padding: 0.8em 0.625em 0.8em 1.2em;
}

.cc_div.ie .bar #s-bl thead tr {
  position: relative;
}

.cc_div.ie .b-tg .t-lb {
  filter: alpha(opacity=0);
}

.cc_div.ie #cm-ov,
.cc_div.ie #cs-ov {
  filter: alpha(opacity=80);
}

/** END IE FIXES **/
/**
 * Layout
 */
#footer {
  border-top: 1px solid #fff;
}
#footer .bg-wrap {
  background: #f1f1f1;
  padding-top: 80px;
  padding-bottom: 50px;
}
@media screen and (max-width: 640px) {
  #footer .bg-wrap {
    padding-top: 50px;
    padding-bottom: 30px;
  }
}
#footer .logo-wrap {
  max-width: 500px;
  margin: 0 auto;
}
#footer .flex-wrap {
  margin-top: 50px;
  display: flex;
  gap: 23px;
}
@media screen and (max-width: 1024px) {
  #footer .flex-wrap {
    flex-direction: column;
    margin-top: 25px;
  }
}
#footer .flex-wrap article {
  flex: 1;
  border: 1px solid #e4e4e4;
  background: #fff;
  padding: 30px;
}
@media screen and (max-width: 640px) {
  #footer .flex-wrap article {
    padding: 20px;
  }
}
#footer .flex-wrap article h3 {
  text-align: center;
  font-size: 1.375rem;
  padding-bottom: 10px;
  line-height: 1.4;
  border-bottom: 1px solid #e4e4e4;
  margin-bottom: 10px;
}
@media screen and (max-width: 640px) {
  #footer .flex-wrap article h3 {
    font-size: 1.125rem;
  }
}
#footer .flex-wrap article .text-wrap .tel-text {
  color: #646464;
  font-family: Lusitana;
  font-size: clamp(2.14rem, 3vw, 2.25rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
#footer .flex-wrap article .text-wrap .tel-text:hover {
  text-decoration: none;
}
#footer .flex-wrap article .text-wrap .tel-text::before {
  content: "";
  display: inline-block;
  background: url(../images/common/icon_tel.svg) no-repeat center/contain;
  width: 0.733em;
  height: 0.8em;
  margin-right: 7px;
  vertical-align: -0.15em;
}
#footer .flex-wrap article .text-wrap .btn-wrap {
  margin-top: 30px;
}
@media screen and (max-width: 640px) {
  #footer .flex-wrap article .text-wrap .btn-wrap {
    margin-top: 20px;
  }
}
#footer .flex-wrap article .text-wrap .btn-wrap .common-link-btn {
  min-width: 180px;
}
@media screen and (max-width: 640px) {
  #footer .flex-wrap article .text-wrap .btn-wrap .common-link-btn {
    width: 100%;
  }
}
#footer .navi-wrap {
  padding-top: 20px;
  padding-bottom: 20px;
}
#footer .navi-wrap nav ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  row-gap: 10px;
}
@media screen and (max-width: 1024px) {
  #footer .navi-wrap nav ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
#footer .navi-wrap nav ul li {
  padding: 0 20px;
}
@media screen and (max-width: 1024px) {
  #footer .navi-wrap nav ul li {
    padding: 0;
  }
}
@media screen and (min-width: 1025px) {
  #footer .navi-wrap nav ul li:not(:last-child) {
    border-right: 1px solid #e4e4e4;
  }
}
#footer .navi-wrap nav ul li a:hover {
  text-decoration: none;
}
#footer .navi-wrap .icon-wrap {
  margin-top: 20px;
  text-align: center;
}
#footer .copy-wrap {
  text-align: center;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  background: #f1f1f1;
  font-size: 12px;
  letter-spacing: 2px;
}
@media screen and (max-width: 1024px) {
  #footer .copy-wrap {
    padding-bottom: 70px;
  }
}
@media screen and (max-width: 640px) {
  #footer .copy-wrap {
    font-size: 10px;
    text-align: left;
  }
}

#fixed-menu {
  display: none;
}
@media screen and (max-width: 1024px) {
  #fixed-menu {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: calc(100% - 50px);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
}
#fixed-menu a {
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #333;
  color: #fff;
  flex: 1;
  border-left: 1px solid #fff;
  gap: 9px;
}
#fixed-menu a img {
  height: 22px;
  width: auto;
}

#footer-totop {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 1;
}
#footer-totop a {
  width: 60px;
  height: 60px;
  background-color: #8a8a8a;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  #footer-totop a {
    width: 50px;
    height: 50px;
  }
}

#header {
  width: 100%;
  position: sticky;
  background-color: #fff;
  top: 0;
  left: 0;
  z-index: 10000;
  padding: 0;
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
  #header {
    padding: 5px 0;
  }
}
@media screen and (max-width: 640px) {
  #header {
    padding: 10px 0;
  }
}
#header .header-content-wrap {
  display: flex;
  gap: 30px;
  align-items: center;
  justify-content: space-between;
  padding-left: 30px;
}
@media screen and (max-width: 640px) {
  #header .header-content-wrap {
    padding-left: 20px;
  }
}
#header .header-content-wrap .header-title {
  max-width: 390px;
  width: 35%;
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
  #header .header-content-wrap .header-title {
    width: 350px;
  }
}
@media screen and (max-width: 640px) {
  #header .header-content-wrap .header-title {
    width: 260px;
  }
}
#header .header-content-wrap .header-menu {
  flex: 1;
  padding: 10px 0;
}
@media screen and (max-width: 1024px) {
  #header .header-content-wrap .header-menu {
    display: none;
  }
}
#header .header-content-wrap .tel-wrap {
  text-align: right;
}
#header .header-content-wrap .tel-wrap .tel-text {
  color: #646464;
  font-family: Lusitana;
  font-size: clamp(1.2857rem, 2.5vw, 1.875rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
#header .header-content-wrap .tel-wrap .tel-text::before {
  content: "";
  display: inline-block;
  background: url(../images/common/icon_tel.svg) no-repeat center/contain;
  width: 0.733em;
  height: 0.8em;
  margin-right: 7px;
  vertical-align: -0.15em;
}
#header .header-content-wrap nav ul {
  list-style-type: none;
  display: flex;
  gap: 30px;
  justify-content: flex-end;
}
@media screen and (min-width: 1025px) and (max-width: 1440px) {
  #header .header-content-wrap nav ul {
    gap: 20px;
  }
}
#header .header-content-wrap nav ul li a {
  color: #646464;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
#header .header-content-wrap nav ul li a:hover {
  text-decoration: none;
}
@media screen and (max-width: 1024px) {
  #header .header-content-wrap .reserve-wrap {
    display: none;
  }
}
#header .header-content-wrap .reserve-wrap a {
  background-color: #777;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
}
#header .header-content-wrap .reserve-wrap a:hover {
  color: #fff;
  text-decoration: none;
  background-color: #666;
  opacity: 1;
}
#header .header-content-wrap .reserve-wrap a:visited {
  color: #fff;
  text-decoration: none;
}

/* ------------------------------
　　サイドバー
------------------------------ */
#sidebar {
  margin-bottom: 100px;
}
@media screen and (max-width: 640px) {
  #sidebar {
    margin-bottom: 50px;
  }
}
#sidebar .entries {
  padding: 25px 20px;
  margin-bottom: 20px;
  background: #f1f1f1;
}
#sidebar .entries .sidebar-title {
  font-size: 1.125rem;
  position: relative;
  padding-left: 20px;
  margin-bottom: 0.8em;
  font-family: "Noto Serif", serif;
  font-weight: 700;
}
#sidebar .entries .sidebar-title::before {
  width: 5px;
  height: 70%;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #8a8a8a;
}
#sidebar .entries a {
  color: #555;
  text-decoration: none;
}
#sidebar .entries a:hover, #sidebar .entries a:visited, #sidebar .entries a:focus {
  text-decoration: none;
  color: #555;
}
#sidebar .entries ul {
  font-size: 0.875rem;
}
#sidebar #category-content .list-wrap li,
#sidebar #archive-content .list-wrap li {
  margin-bottom: 5px;
  position: relative;
  padding-left: 1.2em;
}
#sidebar #category-content .list-wrap li::before,
#sidebar #archive-content .list-wrap li::before {
  width: 0.5em;
  height: 0.5em;
  content: "";
  display: block;
  border-radius: 50%;
  background: #8a8a8a;
  position: absolute;
  left: 0;
  top: 0.7em;
}
#sidebar #new-articles-content .article-list li {
  padding: 15px 0;
  background-image: linear-gradient(to right, #d6d6d6 3px, transparent 3px);
  background-size: 6px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}
#sidebar #new-articles-content .article-list li:first-child {
  padding-top: 0;
}
#sidebar #new-articles-content .article-list li:last-child {
  padding-bottom: 0;
  background-image: none;
}
#sidebar #new-articles-content .article-list .info-wrap {
  margin-bottom: 5px;
}
#sidebar #new-articles-content .article-list .info-wrap time {
  display: inline-block;
  margin-right: 5px;
}
#sidebar #new-articles-content .article-list .info-wrap .cate-text {
  border: 1px solid #8a8a8a;
  font-size: 0.75rem;
  text-align: center;
  line-height: 1.2;
  display: inline-block;
  padding: 2px 6px;
}
#sidebar .number-badge {
  padding: 2px 8px;
  color: #333;
  font-weight: bold;
  background-color: #ccc;
  border-radius: 30px;
  font-size: 10px;
  float: right;
}

/**
 * Project
 */
.acms-entry .acms-grid h1,
.acms-entry .acms-grid h2,
.acms-entry .acms-grid h3,
.acms-entry .acms-grid h4,
.acms-entry .acms-grid h5,
.acms-entry .acms-grid h6 {
  margin-left: 0;
  margin-right: 0;
}

.acms-grid {
  margin-left: -15px;
  margin-right: -15px;
}
.acms-grid [class*=acms-col-] {
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  .acms-grid [class*=acms-col-] {
    margin-bottom: 2em;
  }
}
.acms-grid [class*=acms-col-] h1:not([class]):first-child,
.acms-grid [class*=acms-col-] h2:not([class]):first-child,
.acms-grid [class*=acms-col-] h3:not([class]):first-child,
.acms-grid [class*=acms-col-] h4:not([class]):first-child,
.acms-grid [class*=acms-col-] h5:not([class]):first-child,
.acms-grid [class*=acms-col-] h6:not([class]):first-child {
  margin-top: 0;
}

.entry-base {
  font-size: 1rem;
  font-weight: normal;
  color: #555;
  word-break: break-word;
}
.entry-base .entry-container {
  margin-right: 15px;
  margin-left: 15px;
}
.entry-base img {
  max-width: 100%;
  height: auto;
}
.entry-base .acms-entry [class*=column-module] {
  padding-left: 15px;
  padding-right: 15px;
}
.entry-base [class*=column-video] {
  padding-right: 15px;
  padding-left: 15px;
}
.entry-base .column-video-center video {
  margin-left: auto;
  margin-right: auto;
}
.entry-base [class*=column-media] {
  padding-right: 15px;
  padding-left: 15px;
}
.entry-base p:not([class]),
.entry-base p.text-right,
.entry-base p.text-center {
  margin: 1rem 15px;
}
.entry-base a {
  color: #555;
  font-weight: bold;
  text-decoration: underline;
}
.entry-base a:hover, .entry-base a:focus, .entry-base a:visited {
  color: #555;
  text-decoration: underline;
}
.entry-base em {
  font-style: italic;
}
.entry-base strong {
  font-style: normal;
  font-weight: bold;
}
.entry-base p:not([class]) {
  margin-top: 1em;
  margin-bottom: 1em;
}
.entry-base ul:not([class]) {
  margin: 1em 15px;
}
.entry-base ul:not([class]) li {
  position: relative;
  display: block;
  padding-left: 28px;
  margin-bottom: 3px;
}
.entry-base ul:not([class]) li::before {
  position: absolute;
  top: 0.7em;
  left: 8px;
  width: 0;
  height: 0;
  content: "";
  border: 3px solid #222;
  border-radius: 50%;
}
.entry-base ul:not([class]) li ul {
  margin: 10px;
}
.entry-base ol {
  margin: 1em 15px;
  counter-reset: ol-counter;
}
.entry-base ol li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 3px;
}
.entry-base ol li::before {
  position: absolute;
  top: 6px;
  left: 0;
  display: inline-block;
  line-height: 1;
  content: counter(ol-counter) ".";
  counter-increment: ol-counter;
}
.entry-base ol li ol {
  margin-top: 10px;
}
.entry-base dl:not([class]) {
  margin: 0 15px 1.8em;
}
.entry-base dl:not([class]) dt {
  font-weight: bold;
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 10px;
  margin-top: 1.8em;
}
.entry-base dl:not([class]) dt::before {
  content: "";
  position: absolute;
  background: #8a8a8a;
  display: block;
  top: 0.55em;
  border-radius: 50%;
  width: 0.75em;
  left: 0;
  height: 0.75em;
}
.entry-base dl:not([class]) dd {
  padding-left: 0;
}
.entry-base pre {
  box-sizing: border-box;
  width: 100%;
  margin: 1em 0;
}
.entry-base pre ol {
  padding: 0 0 0 2em;
  margin: 0;
  list-style: decimal;
}
.entry-base pre ol li {
  padding-left: 12px;
  margin: 0 0 3px;
  line-height: 1.7;
}
.entry-base pre ol li::before {
  content: none;
}

[class*=column-quote] blockquote,
.entry-base blockquote {
  position: relative;
  padding: 22px 20px 20px 57px;
  margin: 1em 0;
  border: 1px solid #ddd;
}
@media screen and (max-width: 640px) {
  [class*=column-quote] blockquote,
  .entry-base blockquote {
    padding: 15px 15px 15px 30px;
  }
}
[class*=column-quote] blockquote::before,
.entry-base blockquote::before {
  position: absolute;
  top: 22px;
  left: 28px;
  display: block;
  width: 15px;
  height: 12px;
  font-size: 15px;
  color: #181818;
  content: "";
  background: url(../images/common/icon_blockquote.svg) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  [class*=column-quote] blockquote::before,
  .entry-base blockquote::before {
    top: 15px;
    left: 15px;
    width: 10px;
  }
}

.entry-base table,
[class^=column-table-] table {
  width: calc(100% - 30px);
  border-spacing: 0;
  margin: 1em 15px;
  border-collapse: collapse;
  border: 1px solid #ccc;
}
.entry-base table th,
.entry-base table td,
[class^=column-table-] table th,
[class^=column-table-] table td {
  padding: 1em;
  border: 1px solid #d6d6d6;
}
@media screen and (max-width: 640px) {
  .entry-base table th,
  .entry-base table td,
  [class^=column-table-] table th,
  [class^=column-table-] table td {
    display: table-cell;
  }
}
.entry-base table th,
[class^=column-table-] table th {
  background: #eeeff1;
  font-weight: bold;
}

.entry-base [class^=column-table-] .entry-container {
  overflow-x: auto;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch;
}

[class^=column-table-] .acms-table-scrollable th,
[class^=column-table-] .acms-table-scrollable td,
[class^=column-table-] .js-table-unit-scroll-hint th,
[class^=column-table-] .js-table-unit-scroll-hint td,
.entry-base .acms-table-scrollable th,
.entry-base .acms-table-scrollable td,
.entry-base .js-table-unit-scroll-hint th,
.entry-base .js-table-unit-scroll-hint td {
  display: table-cell;
  white-space: nowrap;
}

.entry-base [class*=column-media] .caption {
  font-size: 0.857rem;
}

.entry-text-unit {
  color: #555;
}

/**
 * 目次
 * - マーカー
 * - ノート風罫線
 * - 中黒リスト
 * - 番号付きリスト
 * - hoverすると背景画像が拡大するアニメーション
 * - 2つ並びレイアウト（画像+タイトル+テキスト）
 * - 3つ並びレイアウト（画像+タイトル+テキスト）
 * - 互い違いレイアウト（画像+タイトル+テキスト）
 * - 右側画像レイアウト（画像+タイトル+テキスト）
 * - video全画面表示
 * - カスタムラジオボタン
 */
/* ::::::::::::::::::::::::::::::
  マーカー
:::::::::::::::::::::::::::::: */
.marker-yellow {
  background: linear-gradient(transparent 60%, #ff0 60%);
}

.marker-red {
  background: linear-gradient(transparent 60%, #f00 60%);
}

.marker-pink {
  background: linear-gradient(transparent 60%, #ffc0cb 60%);
}

/* ::::::::::::::::::::::::::::::
  ノート風罫線
:::::::::::::::::::::::::::::: */
.note_wrap .note-slid {
  line-height: 2.4;
  background-image: linear-gradient(180deg, rgba(204, 204, 204, 0) 0%, rgba(204, 204, 204, 0) 98.5%, rgb(100, 100, 100) 100%);
  background-repeat: repeat-y;
  background-size: 100% 2.4em;
}
.note_wrap .note-dotted {
  line-height: 2.4;
  background-image: linear-gradient(90deg, rgba(204, 204, 204, 0) 0%, rgba(204, 204, 204, 0) 49%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 100%), linear-gradient(180deg, rgba(204, 204, 204, 0) 0%, rgba(204, 204, 204, 0) 98.5%, rgb(100, 100, 100) 100%);
  background-repeat: repeat-x, repeat-y;
  background-size: 4px 100%, 100% 2em;
}
.note_wrap .note-slid,
.note_wrap .note-dotted {
  padding-bottom: 1em;
}
.note_wrap .note-slid p:not(:last-of-type),
.note_wrap .note-dotted p:not(:last-of-type) {
  margin-bottom: 2.4em;
}

/* ::::::::::::::::::::::::::::::
  中黒リスト
:::::::::::::::::::::::::::::: */
.list-disc {
  margin: 1em 0;
}
.list-disc li {
  position: relative;
  display: block;
  padding-left: 28px;
  margin-bottom: 3px;
}
.list-disc li::before {
  position: absolute;
  top: 0.7em;
  left: 8px;
  width: 0;
  height: 0;
  content: "";
  border: 3px solid #222;
  border-radius: 50%;
}
.list-disc ul {
  margin: 10px;
}

/* ::::::::::::::::::::::::::::::
  番号付きリスト
:::::::::::::::::::::::::::::: */
.list-decimal {
  margin: 1em 0;
  counter-reset: ol-counter;
}
.list-decimal li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 3px;
}
.list-decimal li::before {
  position: absolute;
  top: 6px;
  left: 0;
  display: inline-block;
  line-height: 1;
  content: counter(ol-counter) ".";
  counter-increment: ol-counter;
}
.list-decimal li ol {
  margin-top: 10px;
}

/* ::::::::::::::::::::::::::::::
  hoverすると背景画像が拡大するアニメーション
:::::::::::::::::::::::::::::: */
/*
【 ▼使い方 】
※テキストを入れなくても使えます
.bg-zoom
  a(class="bg-zoom-container" href="#")
      .bg-zoom-img
      p.bg-zoom-text テキスト
*/
.bg-zoom {
  /* リンク範囲 */
  /* zoomする背景 */
  /* 中央寄せテキスト */
}
.bg-zoom .bg-zoom-container {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}
.bg-zoom .bg-zoom-img {
  width: 100%;
  padding-top: 50%; /* 画像の高さ */
  background-repeat: no-repeat;
  /* background-image: url(../images/system/logo.png); */
  background-position: center;
  background-size: cover;
  transition-duration: 0.3s;
}
.bg-zoom .bg-zoom-img:hover {
  transform: scale(1.1);
}
.bg-zoom .bg-zoom-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ::::::::::::::::::::::::::::::
  2つ並びレイアウト（画像+タイトル+テキスト）
:::::::::::::::::::::::::::::: */
/*
.contentsを増やしていく
【 ▼使い方 】
.layout-2
    .contents
        .img-wrap
            +img("system/logo.png")(class="img-fluid")
        .title タイトル
        .text 内容
    .contents
        .img-wrap
            +img("system/logo.png")(class="img-fluid")
        .title タイトル
        .text 内容
*/
.layout-2 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 50px;
  margin-bottom: 100px;
}
@media screen and (max-width: 640px) {
  .layout-2 {
    margin-top: 25px;
    margin-bottom: 50px;
  }
}
.layout-2 .contents {
  width: 48%;
  margin-bottom: 60px;
  /* 画像 */
  /* タイトル */
  /* テキスト */
}
@media screen and (max-width: 640px) {
  .layout-2 .contents {
    width: 100%;
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 641px) {
  .layout-2 .contents:not(:nth-of-type(2n)) {
    margin-right: 4%;
  }
}
.layout-2 .contents .img-wrap {
  text-align: center;
}
.layout-2 .contents .title {
  margin-top: 20px;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  .layout-2 .contents .title {
    margin-top: 10px;
  }
}
.layout-2 .contents .text {
  margin-top: 10px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  .layout-2 .contents .text {
    margin-top: 5px;
  }
}

/* ::::::::::::::::::::::::::::::
  3つ並びレイアウト（画像+タイトル+テキスト）
:::::::::::::::::::::::::::::: */
/*
.contentsを増やしていく
【 ▼使い方 】
.layout-3
    .contents
        .img-wrap
            +img("system/logo.png")(class="img-fluid")
        .title タイトル
        .text 内容
    .contents
        .img-wrap
            +img("system/logo.png")(class="img-fluid")
        .title タイトル
        .text 内容
    .contents
        .img-wrap
            +img("system/logo.png")(class="img-fluid")
        .title タイトル
        .text 内容
*/
.layout-3 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 50px;
  margin-bottom: 100px;
}
@media screen and (max-width: 640px) {
  .layout-3 {
    margin-top: 25px;
    margin-bottom: 50px;
  }
}
.layout-3 .contents {
  width: 30.5%;
  margin-bottom: 60px;
  /* 画像 */
  /* タイトル */
  /* テキスト */
}
@media screen and (max-width: 640px) {
  .layout-3 .contents {
    width: 100%;
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 641px) {
  .layout-3 .contents:not(:nth-of-type(3n)) {
    margin-right: 4.25%;
  }
}
.layout-3 .contents .img-wrap {
  text-align: center;
}
.layout-3 .contents .title {
  margin-top: 20px;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  .layout-3 .contents .title {
    margin-top: 10px;
  }
}
.layout-3 .contents .text {
  margin-top: 10px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  .layout-3 .contents .text {
    margin-top: 5px;
  }
}

/* ::::::::::::::::::::::::::::::
  互い違いレイアウト（画像+タイトル+テキスト）
:::::::::::::::::::::::::::::: */
/*
.contentsを増やしていく
【 ▼使い方 】
.layout-leftright
    .contents
        .img-wrap
            +img("system/logo.png")(class="img-fluid")
        .text-contents
            .title タイトル
            .text 内容
*/
.layout-leftright {
  margin-top: 50px;
  margin-bottom: 100px;
}
@media screen and (max-width: 640px) {
  .layout-leftright {
    margin-top: 25px;
    margin-bottom: 50px;
  }
}
.layout-leftright .contents {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
  /* 画像 */
  /* タイトル */
  /* テキスト */
}
@media screen and (max-width: 640px) {
  .layout-leftright .contents {
    display: block;
  }
}
.layout-leftright .contents .img-wrap {
  width: 36.4%;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .layout-leftright .contents .img-wrap {
    width: 100%;
  }
}
.layout-leftright .contents .text-contents {
  width: 59.4%;
}
@media screen and (max-width: 640px) {
  .layout-leftright .contents .text-contents {
    width: 100%;
  }
}
.layout-leftright .contents .title {
  margin-bottom: 30px;
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  .layout-leftright .contents .title {
    margin-top: 10px;
    margin-bottom: 15px;
    font-size: 1.285rem;
    text-align: center;
  }
}
.layout-leftright .contents .text {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  .layout-leftright .contents .text {
    margin-top: 15px;
  }
}
.layout-leftright .contents:nth-of-type(2n) .img-wrap {
  order: 2;
}
.layout-leftright .contents:nth-of-type(2n) .text-contents {
  order: 1;
}

/* ::::::::::::::::::::::::::::::
  右側画像レイアウト（画像+タイトル+テキスト）
:::::::::::::::::::::::::::::: */
/*
.contentsを増やしていく
【 ▼使い方 】
.layout-rightimg
    .contents
        .text-contents
            .title タイトル
            .text 内容
        .img-wrap
            +img("system/logo.png")(class="img-fluid")
*/
.layout-rightimg {
  margin-top: 50px;
  margin-bottom: 100px;
}
@media screen and (max-width: 640px) {
  .layout-rightimg {
    margin-top: 25px;
    margin-bottom: 50px;
  }
}
.layout-rightimg .contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 50px;
  /* 画像 */
  /* タイトル */
  /* テキスト */
}
.layout-rightimg .contents .img-wrap {
  width: 36.4%;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .layout-rightimg .contents .img-wrap {
    order: 1;
    width: 100%;
  }
}
.layout-rightimg .contents .text-contents {
  width: 59.4%;
}
@media screen and (max-width: 640px) {
  .layout-rightimg .contents .text-contents {
    order: 2;
    width: 100%;
  }
}
.layout-rightimg .contents .title {
  margin-bottom: 30px;
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  .layout-rightimg .contents .title {
    margin-top: 10px;
    margin-bottom: 15px;
    font-size: 1.285rem;
    text-align: center;
  }
}
.layout-rightimg .contents .text {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  .layout-rightimg .contents .text {
    margin-top: 15px;
  }
}

/* ::::::::::::::::::::::::::::::
  video全画面表示
:::::::::::::::::::::::::::::: */
/*
【 ▼使い方 】
#video-mainvs
    .video-box
        video(src!="<?php echo get_template_directory_uri(); ?>/images/top/main_movie.mp4" preload="none" autoplay loop muted)
*/
#video-mainvs {
  position: relative;
  height: 100%;
  line-height: 0;
}
#video-mainvs .video-box {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media screen and (min-aspect-ratio: 16/9) {
  #video-mainvs .video-box {
    height: 100vh;
  }
}
#video-mainvs video {
  width: 100%;
}
@media screen and (min-aspect-ratio: 16/9) {
  #video-mainvs video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
  }
}

/* ::::::::::::::::::::::::::::::
    カスタムラジオボタン
::::::::::::::::::::::::::::::*/
/*
  ラジオボタン
  (例)
  label.custom-radio
      input(type="radio" name="" value="")
      span はい
*/
.custom-radio input[type=radio] + span::before,
.custom-radio input[type=radio] + span::after {
  position: absolute;
  top: 0;
  bottom: 0;
  box-sizing: border-box;
  display: block;
  margin: auto 10px auto 0;
  content: "";
  border-radius: 50%;
}
.custom-radio input[type=radio] {
  position: absolute;
  display: none;
  width: 1px;
  height: 1px;
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.custom-radio input[type=radio] + span {
  position: relative;
  display: inline-block;
  padding: 10px 11px 8px 36px;
  vertical-align: middle;
  cursor: pointer;
  border-radius: 4px;
}
.custom-radio input[type=radio] + span::before {
  left: 9px;
  width: 20px;
  height: 20px;
  background: #fff;
  border: 2px solid #e6e6e6;
}
.custom-radio input[type=radio] + span::after {
  left: 16px;
  width: 6px;
  height: 6px;
  background: #fff;
  opacity: 0;
}
.custom-radio input[type=radio]:checked + span::before {
  background: #196ef9;
  border: 2px solid #196ef9;
}
.custom-radio input[type=radio]:checked + span::after {
  background: #fff;
  opacity: 1;
}

/**
 * Pages
 */
/* ::::::::::::::::::::::::::::::
	パンくずリスト
:::::::::::::::::::::::::::::: */
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #555;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.new-label {
  display: inline-block;
  color: #ff690b;
  font-size: 0.75rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}

.content-wrap {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.text-center {
  text-align: center;
}

.is-pc {
  display: block;
}
@media screen and (max-width: 640px) {
  .is-pc {
    display: none;
  }
}

.list-disc {
  list-style-type: none;
}
.list-disc li {
  position: relative;
  padding-left: 1.25em;
  margin-bottom: 0.4em;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  color: #646464;
  letter-spacing: 0.05em;
}
.list-disc li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 0.25em;
  height: 0.25em;
  content: "";
  background: currentcolor;
  border-radius: 50%;
  border-width: 1px;
}
@media screen and (max-width: 640px) {
  .list-disc li::before {
    top: 0.5em;
  }
}

.label-required {
  color: #fff;
  background: #a5977b;
  padding: 0 10px;
  font-size: 14px;
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 25.2px;
  letter-spacing: 0.7px;
  word-wrap: break-word;
}

.custom-checkbox-wrap {
  margin-bottom: 0.5em;
  position: relative;
  display: inline-block;
  margin-right: 15px;
  cursor: pointer;
  line-height: 1.7;
}
.custom-checkbox-wrap input[type=checkbox] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
  margin: 0;
  padding: 0;
  font-size: 100%;
  opacity: 0;
}
.custom-checkbox-wrap input[type=checkbox] + label {
  cursor: pointer;
  position: relative;
  padding-left: 25px;
}
.custom-checkbox-wrap input[type=checkbox] + label::before {
  content: "";
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  border: 1px solid #aaa;
  border-radius: 3px;
  margin-right: 5px;
  top: 5px;
  left: 0;
}
.custom-checkbox-wrap input[type=checkbox] + label::after {
  content: "";
  display: block;
  position: absolute;
  border-bottom: 3px solid #fff; /*チェックの太さ*/
  border-left: 3px solid #fff; /*チェックの太さ*/
  opacity: 0; /*チェック前は非表示*/
  height: 4px;
  width: 7px;
  transform: rotate(-45deg);
  top: 9px;
  left: 4px;
}
.custom-checkbox-wrap input[type=checkbox]:checked + label::before {
  background: #3197ee;
  border-color: #3197ee;
}
.custom-checkbox-wrap input[type=checkbox]:checked + label::after {
  opacity: 1; /*チェック後表示*/
}

.custom-radio-wrap {
  margin-bottom: 0.5em;
  position: relative;
  display: inline-block;
  margin-right: 15px;
  cursor: pointer;
  line-height: 1.7;
}
.custom-radio-wrap input[type=radio] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
  margin: 0;
  padding: 0;
  font-size: 100%;
  opacity: 0;
}
.custom-radio-wrap input[type=radio] + label {
  cursor: pointer;
  position: relative;
  padding-left: 25px;
}
.custom-radio-wrap input[type=radio] + label::before {
  content: "";
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  border: 1px solid #aaa;
  border-radius: 50%;
  margin-right: 5px;
  top: 5px;
  left: 0;
}
.custom-radio-wrap input[type=radio] + label::after {
  content: "";
  display: block;
  position: absolute;
  opacity: 0;
  height: 10px;
  width: 10px;
  top: 9px;
  left: 4px;
  border-radius: 50%;
  background: #3197ee;
}
.custom-radio-wrap input[type=radio]:checked + label::before {
  border-color: #3197ee;
}
.custom-radio-wrap input[type=radio]:checked + label::after {
  opacity: 1; /*チェック後表示*/
}

.common-entry-footer-navi {
  margin-top: 50px;
  margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
  .common-entry-footer-navi {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.common-entry-footer-navi ul {
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
  gap: 40px;
}
@media screen and (max-width: 640px) {
  .common-entry-footer-navi ul {
    gap: 10px;
  }
}
.common-entry-footer-navi ul li {
  flex: 1;
  position: relative;
}
@media screen and (max-width: 640px) {
  .common-entry-footer-navi ul li {
    font-size: 0.875rem;
  }
}
.common-entry-footer-navi ul li a {
  background-color: #8a8a8a;
  color: #fff;
  padding: 20px 10px;
  display: block;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .common-entry-footer-navi ul li a {
    padding: 15px 5px;
  }
}
.common-entry-footer-navi ul li a:hover, .common-entry-footer-navi ul li a:visited, .common-entry-footer-navi ul li a:focus {
  text-decoration: none;
  color: #fff;
}
.common-entry-footer-navi ul .link-back a {
  border: 1px solid #8a8a8a;
  color: #555;
  background: #fff;
}
.common-entry-footer-navi ul .link-back a:hover, .common-entry-footer-navi ul .link-back a:visited, .common-entry-footer-navi ul .link-back a:focus {
  text-decoration: none;
  color: #555;
}

.common-pager-wrap {
  margin-top: 70px;
  margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
  .common-pager-wrap {
    margin-top: 35px;
  }
}
.common-pager-wrap .pager-list {
  display: flex;
  justify-content: center;
  gap: 3px;
}
.common-pager-wrap .pager-list li {
  font-size: 0.875rem;
  font-weight: 400;
}
.common-pager-wrap .pager-list li a {
  text-decoration: none;
}
.common-pager-wrap .pager-list li a:hover, .common-pager-wrap .pager-list li a:visited, .common-pager-wrap .pager-list li a:focus {
  color: #555;
  text-decoration: none;
}
.common-pager-wrap .pager-list li > a {
  background: #fff;
  display: inline-block;
  padding: 0.5em 1em;
  text-align: center;
  border: 1px solid #8a8a8a;
}
.common-pager-wrap .pager-list li > a:hover, .common-pager-wrap .pager-list li > a:visited, .common-pager-wrap .pager-list li > a:focus {
  color: #555;
}
.common-pager-wrap .pager-list li span > a {
  border: 1px solid #8a8a8a;
  background: #fff;
  display: inline-block;
  padding: 0.5em 1em;
  text-align: center;
}
.common-pager-wrap .pager-list li.cur span {
  border: 1px solid #8a8a8a;
  color: #fff;
  background: #8a8a8a;
  display: inline-block;
  padding: 0.5em 1em;
  text-align: center;
}

.share-contents {
  margin-top: 45px;
}
@media screen and (max-width: 640px) {
  .share-contents {
    margin-top: 25px;
  }
}
.share-contents .text {
  text-align: center;
  font-size: 0.875rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}
.share-contents .text::before, .share-contents .text::after {
  content: "";
  width: 2px;
  height: 20px;
  background: #222;
  display: inline-block;
}
.share-contents .text::before {
  transform: rotate(-20deg);
  margin-right: 1em;
}
.share-contents .text::after {
  transform: rotate(20deg);
  margin-left: 1em;
}
.share-contents .share-list {
  margin-top: 15px;
  gap: 33px;
  display: flex;
  align-items: center;
  justify-content: center;
  list-style-type: none;
}
.share-contents .share-list li {
  padding: 0;
  margin-bottom: 0;
}
.share-contents .share-list li::before {
  display: none;
}

.title-h2 {
  font-size: clamp(1.66rem, 2.33vw, 2rem);
  margin-bottom: 0.8em;
  margin-right: 15px;
  font-weight: bold;
  line-height: 1.5;
}

.title-h3 {
  margin-bottom: 20px;
  background: #e4edf2;
  font-weight: bold;
  font-size: clamp(1.4rem, 2.33vw, 1.75rem);
  text-align: center;
  border-left: 6px solid #1587c3;
  border-right: 6px solid #1587c3;
  padding: 10px;
}

.lower-mv {
  position: relative;
  width: 100%;
  height: 440px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .lower-mv {
    height: 240px;
  }
}
.lower-mv .title-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.9);
  height: 200px;
  min-width: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 12px 20px;
}
@media screen and (max-width: 1024px) {
  .lower-mv .title-wrap {
    height: 140px;
    min-width: 140px;
  }
}
@media screen and (max-width: 640px) {
  .lower-mv .title-wrap {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 90%;
  }
}
.lower-mv .title-wrap h1 {
  font-size: 1.75rem;
  font-family: "Noto Serif", serif;
  letter-spacing: 0;
  white-space: nowrap;
  word-break: keep-all;
}
@media screen and (max-width: 640px) {
  .lower-mv .title-wrap h1 {
    font-size: 1.5rem;
  }
}
.lower-mv .title-wrap h1 .en {
  font-size: 1rem;
  display: block;
  font-family: "Noto Sans JP";
}
.lower-mv .img-wrap {
  width: 100%;
  height: 100%;
}
.lower-mv .img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.title-s1 {
  display: block;
  margin-bottom: 64px;
  overflow: hidden;
  text-align: center;
  color: #835214;
  font-size: clamp(1.6em, 2.667vw, 2em);
  font-family: "Noto Serif", serif;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .title-s1 {
    margin-bottom: 2em;
    font-size: 18px;
  }
}
.title-s1 span {
  color: #835214;
  display: inline-block;
  position: relative;
  word-wrap: break-word;
}
.title-s1 span::before, .title-s1 span::after {
  border-bottom: 1px solid #835214; /* 罫線の色を設定します */
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
}
@media screen and (max-width: 640px) {
  .title-s1 span::before, .title-s1 span::after {
    width: 20px;
  }
}
.title-s1 span::before {
  left: calc(-40px - 1.2em);
}
@media screen and (max-width: 640px) {
  .title-s1 span::before {
    left: calc(-20px - 1.2em);
  }
}
.title-s1 span::after {
  right: calc(-40px - 1.2em);
}
@media screen and (max-width: 640px) {
  .title-s1 span::after {
    right: calc(-20px - 1.2em);
  }
}

.title-s2 {
  display: inline-block;
  color: #835214;
  font-size: clamp(1.65em, 2.75vw, 2.063em);
  font-family: "Noto Serif", serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 3.3px;
  padding: 14px 84px;
  border-bottom: 1px solid #835214;
  margin-bottom: 64px;
}
@media screen and (max-width: 640px) {
  .title-s2 {
    margin-bottom: 2em;
    font-size: 18px;
  }
}

.title-s3 {
  color: #835214;
  font-size: clamp(1.6em, 2.667vw, 2em);
  font-family: "Noto Serif", serif;
  font-weight: 700;
  text-align: center;
  margin-bottom: 64px;
}
@media screen and (max-width: 640px) {
  .title-s3 {
    margin-bottom: 2em;
    font-size: 18px;
  }
}

.title-s4 {
  color: #835214;
  font-size: clamp(0.9em, 1.5vw, 1.125em);
  font-family: "Noto Serif", serif;
  font-weight: 700;
  line-height: 27px;
  letter-spacing: 1.8px;
  word-wrap: break-word;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  .title-s4 {
    font-size: 18px;
    margin-bottom: 20px;
  }
}

.title-s5 {
  color: black;
  font-size: clamp(1.25em, 2.083vw, 1.563em);
  font-family: "Noto Serif", serif;
  font-weight: 700;
  line-height: 37.5px;
  letter-spacing: 2.5px;
  word-wrap: break-word;
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  .title-s5 {
    font-size: 18px;
    margin-bottom: 20px;
  }
}

.title-s6 {
  color: #835214;
  font-size: clamp(1.3em, 2.167vw, 1.625em);
  font-family: "Noto Serif", serif;
  font-weight: 700;
  line-height: 39px;
  letter-spacing: 2.6px;
  word-wrap: break-word;
  margin-bottom: 20px;
}

ul.content-list li {
  background-color: #fff;
  padding: 24px 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  ul.content-list li {
    margin-bottom: 15px;
    padding: 20px 15px;
  }
}
ul.content-list li:last-of-type {
  margin-bottom: 0;
}
ul.content-list li h3 {
  color: #222222;
  font-size: clamp(1.1em, 1.833vw, 1.375em);
  font-family: "Noto Serif", serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 2.2px;
  margin-bottom: 10px;
}
@media screen and (max-width: 640px) {
  ul.content-list li h3 {
    font-size: 16px;
  }
}
ul.content-list li p {
  color: #222222;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.8px;
}

@media screen and (max-width: 1024px) {
  .add-img {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: space-between;
  }
}
@media screen and (max-width: 640px) {
  .add-img {
    flex-direction: column;
  }
}
.add-img li {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 1024px) {
  .add-img li {
    width: calc(100% - (50% + 15px));
    flex-direction: column;
  }
}
@media screen and (max-width: 640px) {
  .add-img li {
    width: 100%;
  }
}
.add-img li .text-wrap {
  width: 68%;
}
@media screen and (max-width: 1024px) {
  .add-img li .text-wrap {
    width: 100%;
  }
}
.add-img li .img-wrap {
  width: 32%;
}
@media screen and (max-width: 1024px) {
  .add-img li .img-wrap {
    width: 100%;
  }
}

.two-way-content {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 100px;
}
@media screen and (max-width: 1024px) {
  .two-way-content {
    gap: 30px;
    align-items: flex-start;
  }
}
@media screen and (max-width: 640px) {
  .two-way-content {
    flex-direction: column;
  }
}
.two-way-content.row-reverse {
  flex-flow: row-reverse;
}
@media screen and (max-width: 640px) {
  .two-way-content.row-reverse {
    flex-direction: column;
  }
}
.two-way-content .text-wrap {
  width: 50%;
}
@media screen and (max-width: 640px) {
  .two-way-content .text-wrap {
    width: 100%;
  }
}
.two-way-content .text-wrap p {
  color: #222222;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.8px;
  word-wrap: break-word;
}
.two-way-content .img-wrap {
  width: 50%;
}
@media screen and (max-width: 640px) {
  .two-way-content .img-wrap {
    width: 100%;
  }
}

.card-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -moz-column-gap: 30px;
       column-gap: 30px;
  counter-reset: num;
  row-gap: 60px;
}
@media screen and (max-width: 640px) {
  .card-wrap {
    flex-direction: column;
    row-gap: 30px;
  }
}
.card-wrap li {
  background-color: #fff;
  width: calc(33.3% - 20px);
}
@media screen and (max-width: 1024px) {
  .card-wrap li {
    width: calc(50% - 15px);
  }
}
@media screen and (max-width: 640px) {
  .card-wrap li {
    width: 100%;
  }
}
.card-wrap li img {
  margin-bottom: 12px;
}
.card-wrap li h3 {
  color: #2d2d2d;
  font-size: clamp(1.1em, 1.833vw, 1.375em);
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 33px;
  letter-spacing: 2.2px;
  margin-bottom: 25px;
}
@media screen and (max-width: 640px) {
  .card-wrap li h3 {
    font-size: 16px;
  }
}
.card-wrap li p {
  color: #222222;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.8px;
  word-wrap: break-word;
}

.common-table {
  margin-bottom: 50px;
}
.common-table table {
  width: 100%;
  background-color: #fff;
  border-collapse: collapse;
}
.common-table table th,
.common-table table td {
  border: 1px solid #d6d6d6;
  padding: 15px 30px;
}
@media screen and (max-width: 640px) {
  .common-table table th,
  .common-table table td {
    padding: 10px 5px;
  }
}
.common-table table th {
  color: #fff;
  background-color: #c9ac62;
  font-size: 1em;
  font-family: Shippori Mincho B1;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0.8px;
  word-wrap: break-word;
  text-align: left;
  white-space: nowrap;
}
.common-table table td {
  color: #000;
  width: 100%;
}
.common-table table td ul {
  list-style: disc;
  padding: 10px 0;
}
.common-table table td ul li {
  margin-left: 1.2em;
}
.common-table table thead th {
  font-size: clamp(1em, 1.667vw, 1.25em);
  color: #000;
  background-color: #fff;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .common-table table tbody th:first-of-type {
    width: 30%;
    white-space: wrap;
  }
}
.common-table.col2 table td {
  width: 50% !important;
}

.section {
  padding: 100px 50px;
}
@media screen and (max-width: 640px) {
  .section {
    padding: 50px 15px;
  }
}

.common-link-btn {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.02em;
  background-color: #777;
  color: #fff;
  min-width: 220px;
  display: inline-block;
  padding: 1em 20px;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .common-link-btn {
    font-size: 3.8vw;
  }
}
.common-link-btn:hover {
  color: #fff;
  text-decoration: none;
  background-color: #666;
  opacity: 1;
}
.common-link-btn:visited {
  color: #fff;
  text-decoration: none;
}

.title-text {
  font-size: clamp(1.875rem, 3.167vw, 2.375rem);
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.02em;
  font-family: "Noto Serif", serif;
}
.title-text .sp-disp {
  display: none;
}
@media screen and (max-width: 640px) {
  .title-text .sp-disp {
    display: block;
  }
}
.title-text.title-s {
  font-size: clamp(1.4rem, 2.667vw, 2rem);
}

.title-border {
  font-size: clamp(1.375rem, 2vw, 1.5rem);
  border-bottom: 1px solid #000;
  display: inline-block;
  margin-bottom: 20px;
  padding-bottom: 3px;
}

.facility-wrap {
  margin-top: 30px;
  display: flex;
  margin-bottom: 40px;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 50px 0;
}
@media screen and (max-width: 640px) {
  .facility-wrap {
    margin-top: 20px;
  }
}
.facility-wrap article {
  width: 31%;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
  .facility-wrap article {
    width: 48%;
  }
}
@media screen and (max-width: 640px) {
  .facility-wrap article {
    width: 100%;
  }
}
.facility-wrap article figure {
  max-width: 90%;
}
@media screen and (max-width: 640px) {
  .facility-wrap article figure {
    margin: 0 auto;
  }
}
.facility-wrap article .text-contents {
  position: relative;
  z-index: 1;
  width: calc(100% - 20px);
  margin-left: 20px;
  margin-top: -60px;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.9);
  flex: 1 0 auto;
}
@media screen and (max-width: 640px) {
  .facility-wrap article .text-contents {
    width: 100%;
    margin: -30px auto 0;
  }
}
.facility-wrap article .text-contents .title {
  font-weight: 700;
  text-shadow: 1px 1px 0 #fff;
  font-size: 1.25rem;
  font-family: "Noto Serif", serif;
  margin-bottom: 10px;
  letter-spacing: 0.02em;
}
.facility-wrap article .text-contents .text {
  letter-spacing: 0;
}
@media screen and (min-width: 1025px) {
  .facility-wrap article:nth-child(6n+4) figure, .facility-wrap article:nth-child(6n+5) figure, .facility-wrap article:nth-child(6n+6) figure {
    margin-right: 0;
    margin-left: auto;
  }
}
@media screen and (min-width: 1025px) {
  .facility-wrap article:nth-child(6n+4) .text-contents, .facility-wrap article:nth-child(6n+5) .text-contents, .facility-wrap article:nth-child(6n+6) .text-contents {
    margin-right: 20px;
    margin-left: 0;
  }
}

.jump-link-navi ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, clamp(180px, 280px, 100%));
  gap: 20px;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .jump-link-navi ul {
    gap: 15px;
  }
}
.jump-link-navi ul li a {
  padding: 15px 35px 15px 10px;
  color: #8a8a8a;
  border: 1px solid #8a8a8a;
  display: block;
  letter-spacing: 0;
  position: relative;
  font-size: 1rem;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .jump-link-navi ul li a {
    font-size: 0.875rem;
  }
}
.jump-link-navi ul li a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  width: 16px;
  height: 9px;
  background: url(../images/price/icon_arrow_bottom.svg) no-repeat center/contain;
  transform: translateY(-50%);
}
.jump-link-navi ul li a:hover {
  text-decoration: none;
  background-color: #f1f1f1;
  opacity: 1;
}

/* ::::::::::::::::::::::::::::::
	診察の流れ
:::::::::::::::::::::::::::::: */
.flow-flex-step {
  max-width: 1000px;
  margin: 90px auto 0;
  counter-reset: num;
}
@media screen and (max-width: 640px) {
  .flow-flex-step {
    margin-top: 40px;
  }
}
.flow-flex-step .flow-item {
  display: flex;
}
.flow-flex-step .flow-item::after {
  clear: both;
  display: block;
  content: "";
}
.flow-flex-step .flow-item .flow-num-contents,
.flow-flex-step .flow-item .flow-contents {
  padding-bottom: 100px;
}
@media screen and (max-width: 640px) {
  .flow-flex-step .flow-item .flow-num-contents,
  .flow-flex-step .flow-item .flow-contents {
    padding-bottom: 40px;
  }
}
.flow-flex-step .flow-item:last-of-type .flow-num-contents,
.flow-flex-step .flow-item:last-of-type .flow-contents {
  padding-bottom: 0;
}
.flow-flex-step .flow-item .flow-num-contents {
  position: relative;
  width: 70px;
}
@media screen and (max-width: 640px) {
  .flow-flex-step .flow-item .flow-num-contents {
    width: 50px;
  }
}
.flow-flex-step .flow-item .flow-num-contents::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1px;
  height: 100%;
  content: "";
  background-image: linear-gradient(to bottom, #7d7d7d 2px, transparent 2px);
  background-repeat: repeat-y;
  background-position: left top;
  background-size: 2px 4px;
  transform: translateX(-50%);
}
.flow-flex-step .flow-item .flow-num-contents .icon-num {
  position: relative;
  width: 100%;
  height: 70px;
  background-color: #8a8a8a;
  border-radius: 50%;
}
@media screen and (max-width: 640px) {
  .flow-flex-step .flow-item .flow-num-contents .icon-num {
    height: 50px;
  }
}
.flow-flex-step .flow-item .flow-num-contents .icon-num span {
  position: absolute;
  top: 50%;
  left: 50%;
  font-family: Lusitana;
  font-size: clamp(1.167rem, 2.5vw, 1.667rem);
  font-weight: 400;
  line-height: 1.2;
  color: #fff;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 640px) {
  .flow-flex-step .flow-item .flow-num-contents .icon-num span {
    font-size: 18px;
  }
}
.flow-flex-step .flow-item .flow-num-contents .icon-num span::after {
  display: block;
  content: counter(num);
  counter-increment: num;
}
.flow-flex-step .flow-item .flow-contents {
  display: flex;
  gap: 50px;
  -moz-column-gap: 50px;
       column-gap: 50px;
  width: calc(100% - 77px);
  padding-left: 27px;
}
@media screen and (max-width: 1024px) {
  .flow-flex-step .flow-item .flow-contents {
    width: calc(100% - 50px);
  }
}
@media screen and (max-width: 640px) {
  .flow-flex-step .flow-item .flow-contents {
    flex-direction: column;
    gap: 20px;
    padding-left: 15px;
  }
}
.flow-flex-step .flow-item .flow-contents .flow-text-wrap {
  flex: 1;
}
.flow-flex-step .flow-item .flow-contents .flow-text-wrap .title {
  padding-top: 0.5em;
  margin-bottom: 25px;
  font-family: "Noto Sans JP";
  font-size: clamp(1.42rem, 2vw, 1.5rem);
  font-weight: 400;
  line-height: 1.5;
  color: #646467;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  .flow-flex-step .flow-item .flow-contents .flow-text-wrap .title {
    margin-bottom: 10px;
  }
}
.flow-flex-step .flow-item .flow-contents .flow-text-wrap .content {
  max-width: 410px;
}
@media screen and (max-width: 640px) {
  .flow-flex-step .flow-item .flow-contents .flow-text-wrap .content {
    max-width: 100%;
  }
}
.flow-flex-step .flow-item .flow-contents .flow-text-wrap .content p {
  margin-bottom: 1.8em;
  font-family: "Noto Sans JP";
  font-weight: 400;
  line-height: 1.8;
  color: #646467;
  letter-spacing: 0.05em;
}
.flow-flex-step .flow-item .flow-contents .flow-text-wrap .content ul {
  margin: 1.8em auto;
}
.flow-flex-step .flow-item .flow-contents .flow-text-wrap .content > :last-child {
  margin-bottom: 0;
}
.flow-flex-step .flow-item .flow-contents .flow-img-wrap {
  width: 44.7%;
  max-width: 447px;
}
@media screen and (max-width: 640px) {
  .flow-flex-step .flow-item .flow-contents .flow-img-wrap {
    width: 100%;
  }
}
.flow-flex-step .flow-item .flow-contents .flow-img-wrap img {
  width: 100%;
}

.case-list-common {
  display: flex;
  gap: 30px;
  margin-top: 20px;
  margin-bottom: 50px;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .case-list-common {
    flex-wrap: wrap;
    margin-bottom: 25px;
    margin-top: 10px;
  }
}
.case-list-common article {
  width: calc((100% - 90px) / 4);
}
@media screen and (max-width: 1024px) {
  .case-list-common article {
    width: calc((100% - 30px) / 2);
  }
}
@media screen and (max-width: 640px) {
  .case-list-common article {
    width: 100%;
  }
}
.case-list-common article .img-wrap {
  aspect-ratio: 277/196;
}
.case-list-common article .img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.case-list-common article .prop-wrap {
  display: flex;
  gap: 5px 10px;
  flex-wrap: wrap;
  margin-top: 10px;
  margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
  .case-list-common article .prop-wrap {
    margin-bottom: 10px;
  }
}
.case-list-common article .prop-wrap time {
  font-family: "Noto Sans JP";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.case-list-common article .prop-wrap .cate-text {
  border: 1px solid #8a8a8a;
  color: #8a8a8a;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding: 1px 10px;
}
@media screen and (min-width: 1025px) and (max-width: 1440px) {
  .case-list-common article .prop-wrap .cate-text {
    font-size: 13px;
    padding: 1px 5px;
  }
}
.case-list-common article .post-title {
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.hamburger {
  display: none;
}
@media screen and (max-width: 1024px) {
  .hamburger {
    display: block;
  }
}
.hamburger #hamburger-button {
  z-index: 999;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  top: 10px;
  right: 10px;
  position: fixed;
  text-align: center;
  cursor: pointer;
  border-radius: 3px;
}
.hamburger #hamburger-button::after {
  font-size: 0.625em;
  font-weight: 600;
  line-height: 1;
  color: #fff;
}
.hamburger #hamburger-button .buttonBorder {
  display: block;
  width: 20px;
  height: 2px;
  margin-bottom: 5px;
  background: #555;
  transition: transform 0.3s;
}
.hamburger #hamburger-button .buttonBorder:nth-child(3) {
  margin-bottom: 0;
}
.hamburger #hamburger-button .buttonBorder:nth-of-type(2) {
  width: 28px;
}
.hamburger #hamburger-button .buttonBorder:nth-of-type(1), .hamburger #hamburger-button .buttonBorder:nth-of-type(3) {
  margin-left: -8px;
}
.hamburger .hamburger-nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
.hamburger .hamburger-nav .menu {
  position: absolute;
  top: 0;
  right: -80%;
  width: 0;
  max-width: 480px;
  height: 100%;
  padding: 60px 40px;
  overflow: scroll;
  background: #fff;
  transition: all 0.5s ease-in-out;
}
@media screen and (max-width: 640px) {
  .hamburger .hamburger-nav .menu {
    padding-right: 30px;
    padding-left: 30px;
  }
}
.hamburger .hamburger-nav .menu .sp-nav-list {
  margin-bottom: 30px;
}
.hamburger .hamburger-nav .menu .sp-nav-list a {
  color: #555;
  text-decoration: none;
}
.hamburger .hamburger-nav .menu .sp-nav-list a:hover, .hamburger .hamburger-nav .menu .sp-nav-list a:visited, .hamburger .hamburger-nav .menu .sp-nav-list a:focus {
  color: #555;
  text-decoration: none;
}
.hamburger .hamburger-nav .menu > ul > li > a {
  color: #555;
  display: block;
  border-bottom: 1px solid #e5e5e5;
  padding: 0.8em 2em 0.8em 0;
  position: relative;
}
.hamburger .hamburger-nav .menu > ul > li > a:hover, .hamburger .hamburger-nav .menu > ul > li > a:visited, .hamburger .hamburger-nav .menu > ul > li > a:focus {
  color: #555;
  text-decoration: none;
}
.hamburger .hamburger-nav .menu > ul > li > a::before {
  position: absolute;
  right: 3px;
  width: 4px;
  top: calc(10px + 0.7em);
  content: "";
  display: block;
  height: 4px;
  border-top: 2px solid #555;
  border-right: 2px solid #555;
  transform: rotate(45deg);
}
.hamburger .hamburger-nav .menu > ul > li > ul {
  padding-bottom: 0.8em;
  margin-top: 0.8em;
  border-bottom: 1px solid #e5e5e5;
}
.hamburger .hamburger-nav .menu > ul > li > ul > li {
  padding-left: 1.5em;
  position: relative;
}
.hamburger .hamburger-nav .menu > ul > li > ul > li::before {
  position: absolute;
  top: 0.7em;
  left: 8px;
  width: 0;
  height: 0;
  content: "";
  border: 2px solid #555;
  border-radius: 50%;
}
.hamburger.open #hamburger-button .buttonBorder {
  margin: 0;
}
.hamburger.open #hamburger-button .buttonBorder:nth-child(1) {
  transform: rotate(45deg);
}
.hamburger.open #hamburger-button .buttonBorder:nth-child(2) {
  display: none;
}
.hamburger.open #hamburger-button .buttonBorder:nth-child(3) {
  margin-top: -2px;
  transform: rotate(-45deg);
}
.hamburger.open nav {
  pointer-events: auto;
  opacity: 1;
}
.hamburger.open nav .menu {
  right: 0%;
  width: 80%;
}

#page-top #sec__mainvisual {
  background: url(../images/top/mv_ashiato.png) no-repeat top 19px left 0.83vw/35.84vw auto;
}
@media screen and (max-width: 640px) {
  #page-top #sec__mainvisual {
    padding-top: 0;
    background-image: none;
  }
}
#page-top #sec__mainvisual .flex-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  #page-top #sec__mainvisual .flex-wrap {
    flex-direction: column;
  }
}
#page-top #sec__mainvisual .img-wrap {
  width: 65%;
  order: 2;
  height: 85vh;
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
  #page-top #sec__mainvisual .img-wrap {
    height: 40vh;
    min-height: 500px;
  }
}
@media screen and (max-width: 640px) {
  #page-top #sec__mainvisual .img-wrap {
    width: 100%;
    height: 40vh;
    order: 1;
  }
}
#page-top #sec__mainvisual .img-wrap img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#page-top #sec__mainvisual .title-wrap {
  width: 500px;
  flex: 1;
  order: 1;
  padding-left: 8.33vw;
  margin-top: auto;
  margin-right: -6%;
  margin-bottom: 4vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__mainvisual .title-wrap {
    margin-right: -21%;
    width: 60%;
  }
}
@media screen and (max-width: 640px) {
  #page-top #sec__mainvisual .title-wrap {
    order: 2;
    margin-right: 0;
    width: 100%;
    padding: 20px;
  }
}
#page-top #sec__mainvisual .title-wrap .copy {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Noto Serif", serif;
  color: #474747;
  font-size: clamp(1.7142rem, 3.75vw, 3.125rem);
  font-style: normal;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  -webkit-text-stroke: 10px #fff;
  white-space: nowrap;
  paint-order: stroke;
}
@media screen and (max-width: 640px) {
  #page-top #sec__mainvisual .title-wrap .copy {
    text-align: center;
    font-size: clamp(1.5rem, 6.5vw, 30px);
    paint-order: initial;
    -webkit-text-stroke: initial;
  }
}
@media screen and (min-width: 641px) {
  #page-top #sec__mainvisual .title-wrap .copy .pc-none {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  #page-top #sec__mainvisual .title-wrap .copy .sp-none {
    display: none;
  }
}
#page-top #sec__mainvisual .title-wrap ul {
  margin-top: 150px;
  display: flex;
  align-items: center;
  gap: 20px;
}
@media screen and (min-width: 641px) {
  #page-top #sec__mainvisual .title-wrap ul {
    margin-top: 80px;
  }
}
@media screen and (max-width: 640px) {
  #page-top #sec__mainvisual .title-wrap ul {
    margin-top: 15px;
    gap: 10px;
    justify-content: center;
  }
}
#page-top #sec__mainvisual .title-wrap ul li {
  width: 144px;
}
#page-top #sec__information .information-list ul {
  margin-bottom: 30px;
}
#page-top #sec__information .information-list ul li {
  border-top: 1px solid #e4e4e4;
}
#page-top #sec__information .information-list ul li:last-of-type {
  border-bottom: 1px solid #e4e4e4;
}
#page-top #sec__information .information-list ul li a {
  display: flex;
  padding: 15px 20px;
  gap: 10px 50px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__information .information-list ul li a {
    flex-direction: column;
  }
}
#page-top #sec__information .information-list ul li a .date-wrap {
  display: flex;
  gap: 5px 15px;
  align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__information .information-list ul li a .date-wrap {
    gap: 5px;
  }
}
#page-top #sec__information .information-list ul li a .date-wrap time {
  width: 6em;
}
#page-top #sec__information .information-list ul li a .date-wrap .cate-text {
  min-width: 100px;
  padding: 4px 10px;
  font-size: 0.875rem;
  text-align: center;
  border: 1px solid #8a8a8a;
  line-height: 1.2;
}
#page-top #sec__information .information-list ul li a .title-wrap {
  text-decoration: underline;
  font-size: 16px;
}
#page-top #sec__information .information-list ul li a:hover {
  text-decoration: none;
}
#page-top #sec__information .information-list ul li a:hover .title-wrap {
  text-decoration: none;
}
#page-top #sec__clinic {
  background: #f1f1f1;
}
#page-top #sec__clinic h2 br {
  display: none;
}
@media screen and (max-width: 640px) {
  #page-top #sec__clinic h2 br {
    display: block;
  }
}
#page-top #sec__clinic figure {
  margin: 30px auto 0;
  text-align: center;
  max-width: 1020px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__clinic figure {
    margin-top: 15px;
  }
}
#page-top #sec__clinic .text {
  text-align: center;
  line-height: 2;
  margin: 30px auto 0;
}
@media screen and (max-width: 640px) {
  #page-top #sec__clinic .text {
    line-height: 1.8;
    text-align: left;
    margin-top: 15px;
  }
}
#page-top #sec__message .border-wrap {
  margin-top: 30px;
  padding: 60px 30px;
  border: 1px solid #e4e4e4;
}
@media screen and (max-width: 640px) {
  #page-top #sec__message .border-wrap {
    padding: 30px 20px;
  }
}
#page-top #sec__message .border-wrap .flex-wrap {
  display: flex;
  gap: 40px 20px;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__message .border-wrap .flex-wrap {
    flex-direction: column;
  }
}
#page-top #sec__message .border-wrap .text-contents {
  flex: 1;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__message .border-wrap .text-contents {
    order: 2;
  }
}
#page-top #sec__message .border-wrap .text-contents h3 {
  font-size: clamp(1.625rem, 2.5vw, 1.875rem);
  line-height: 1.6;
  font-family: "Noto Serif", serif;
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__message .border-wrap .text-contents h3 {
    margin-bottom: 20px;
  }
}
#page-top #sec__message .border-wrap .text-contents .text-wrap {
  line-height: 1.8;
}
#page-top #sec__message .border-wrap .text-contents h4 {
  margin-top: 50px;
  background-color: #f1f1f1;
  font-size: 1.25rem;
  padding: 10px 20px;
  letter-spacing: 0.02em;
  margin-bottom: 10px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__message .border-wrap .text-contents h4 {
    margin-top: 25px;
  }
}
#page-top #sec__message .border-wrap .text-contents ul li {
  margin-bottom: 0.2em;
}
#page-top #sec__message .border-wrap .img-wrap {
  width: 280px;
  text-align: right;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__message .border-wrap .img-wrap {
    order: 1;
    text-align: center;
    width: 100%;
  }
}
@media screen and (min-width: 1441px) {
  #page-top #sec__message .border-wrap .img-wrap figure {
    transform: translate(100px, -100px);
  }
}
@media screen and (min-width: 1025px) and (max-width: 1440px) {
  #page-top #sec__message .border-wrap .img-wrap figure {
    transform: translate(0, -100px);
  }
}
@media screen and (max-width: 1024px) {
  #page-top #sec__message .border-wrap .img-wrap figure {
    max-width: 240px;
    margin: 0 auto 20px;
  }
}
@media screen and (min-width: 1025px) {
  #page-top #sec__message .border-wrap .img-wrap .name-wrap {
    margin-top: -70px;
  }
}
#page-top #sec__message .border-wrap .img-wrap .name-wrap span {
  display: block;
}
#page-top #sec__message .border-wrap .img-wrap .name-wrap .name {
  font-size: 1.75rem;
}
#page-top #sec__message .border-wrap .bnr-wrap {
  margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__message .border-wrap .bnr-wrap {
    flex-direction: column;
  }
}
#page-top #sec__feature {
  background: #f1f1f1;
}
#page-top #sec__feature article {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 130px;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__feature article {
    max-width: 550px;
    margin-top: 70px;
    margin: 70px auto 0;
  }
}
@media screen and (max-width: 1024px) {
  #page-top #sec__feature article {
    flex-direction: column;
  }
}
@media screen and (max-width: 640px) {
  #page-top #sec__feature article {
    margin-top: 35px;
  }
}
#page-top #sec__feature article:first-of-type {
  margin-top: 100px;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__feature article:first-of-type {
    margin-top: 20px;
  }
}
#page-top #sec__feature article .label {
  width: 100%;
  color: #e0e0e0;
  font-size: clamp(1.875rem, 4.167vw, 3.125rem);
  font-weight: 700;
  line-height: 1;
  font-family: "Arimo", sans-serif;
}
#page-top #sec__feature article .text-contents {
  width: 56%;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 50px 30px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__feature article .text-contents {
    width: 100%;
    order: 2;
  }
}
@media screen and (max-width: 640px) {
  #page-top #sec__feature article .text-contents {
    padding: 20px 15px 30px;
  }
}
#page-top #sec__feature article .text-contents h3 {
  font-size: clamp(1.625rem, 2.5vw, 1.875rem);
  font-family: "Noto Serif", serif;
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__feature article .text-contents h3 {
    margin-bottom: 15px;
  }
}
#page-top #sec__feature article .text-contents .text {
  line-height: 1.8;
}
#page-top #sec__feature article .text-contents ul {
  list-style-type: disc;
  margin-top: 1em;
  margin-bottom: 1em;
  padding-left: 10px;
}
#page-top #sec__feature article .text-contents ul li {
  margin-left: 20px;
  margin-bottom: 0.2em;
}
#page-top #sec__feature article .text-contents .btn-wrap {
  margin-top: 30px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__feature article .text-contents .btn-wrap {
    margin-top: 15px;
  }
}
#page-top #sec__feature article .img-wrap {
  width: 42%;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__feature article .img-wrap {
    width: 100%;
    order: 1;
  }
}
@media screen and (min-width: 1025px) {
  #page-top #sec__feature article .img-wrap img {
    transform: translate(-100px, -100px);
  }
}
@media screen and (min-width: 641px) {
  #page-top #sec__feature article:nth-of-type(odd) .label {
    text-align: right;
  }
}
@media screen and (min-width: 1025px) {
  #page-top #sec__feature article:nth-of-type(odd) .text-contents {
    order: 2;
  }
}
@media screen and (min-width: 1025px) {
  #page-top #sec__feature article:nth-of-type(odd) .img-wrap {
    order: 1;
  }
}
@media screen and (min-width: 1025px) {
  #page-top #sec__feature article:nth-of-type(odd) .img-wrap img {
    transform: translate(100px, -100px);
  }
}
#page-top #sec__case {
  padding-top: 0;
}
#page-top #sec__facilities {
  background: #f1f1f1;
}
#page-top #sec__map {
  background: #f1f1f1;
}
#page-top #sec__map .map-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1180/424;
  margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__map .map-wrap {
    aspect-ratio: 738/442;
  }
}
@media screen and (max-width: 640px) {
  #page-top #sec__map .map-wrap {
    margin-bottom: 20px;
    aspect-ratio: 1/1;
  }
}
#page-top #sec__map .map-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#page-top #sec__map .sec-hours {
  padding: 0;
  margin-top: 80px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__map .sec-hours {
    margin-top: 40px;
  }
}
#page-top #sec__other .flex-wrap {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__other .flex-wrap {
    flex-direction: column;
  }
}
#page-top #sec__other dl {
  flex: 1;
}
#page-top #sec__other dl dt {
  font-size: 1.25rem;
  text-align: center;
  border-top: 1px solid #e4e4e4;
  border-bottom: 1px solid #e4e4e4;
  padding: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__other dl dt {
    margin-bottom: 10px;
    padding: 10px;
  }
}
#page-top #sec__other dl dd {
  line-height: 1.8;
}
#page-top #sec__partner {
  background: #f1f1f1;
}
#page-top #sec__partner .flex-wrap {
  margin-top: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__partner .flex-wrap {
    margin-top: 25px;
  }
}
#page-top #sec__partner .flex-wrap a {
  border: 3px solid #e4e4e4;
  display: inline-block;
}

#form-step-list {
  display: flex;
  justify-content: center;
  list-style-type: none;
  -moz-column-gap: 60px;
       column-gap: 60px;
}
@media screen and (max-width: 640px) {
  #form-step-list {
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
#form-step-list li {
  text-align: center;
  position: relative;
  padding: 0;
  margin: 0;
}
#form-step-list li::before {
  content: "";
  position: absolute;
  width: 60px;
  left: 100%;
  top: 1.8em;
  height: 2px;
  background-color: #b5b5b5;
}
@media screen and (max-width: 640px) {
  #form-step-list li::before {
    width: 40px;
  }
}
#form-step-list li:last-child::before {
  display: none;
}
#form-step-list li .step-num {
  border: 2px solid #b5b5b5;
  background: #fff;
  color: #b5b5b5;
  font-family: "Work Sans", sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  width: 3.75em;
  height: 3.75em;
  border-radius: 50%;
  font-size: 1rem;
}
#form-step-list li .step-label {
  display: block;
  margin-top: 3px;
  font-weight: 500;
  color: #b5b5b5;
}
#form-step-list .step-item-current .step-num {
  background-color: #1587c3;
  color: #fff;
  border-color: #1587c3;
}
#form-step-list .step-item-current .step-label {
  color: #222;
}

#contact__main {
  position: relative;
  padding-bottom: 90px;
}
@media screen and (max-width: 640px) {
  #contact__main {
    padding-top: 45px;
    padding-bottom: 45px;
  }
}
#contact__main #contact__form__container {
  max-width: 1000px;
  padding: 60px 90px 70px;
  margin: 40px auto 0;
  background: #fff;
  box-shadow: 20px 30px 65px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 640px) {
  #contact__main #contact__form__container {
    padding: 20px;
    box-shadow: 10px 20px 30px rgba(0, 0, 0, 0.1);
  }
}
#contact__main #contact__form__container h2 {
  margin-bottom: 20px;
  font-size: 1.42rem;
  text-align: center;
}
#contact__main #contact__form__container .message-group {
  padding: 40px;
  text-align: center;
  background: #f7f7f7;
}
@media screen and (max-width: 640px) {
  #contact__main #contact__form__container .message-group {
    padding: 20px;
  }
}
#contact__main #contact__form__container .message-group > p:not(:last-of-type) {
  margin-bottom: 1.8em;
}
#contact__main #contact__form__container .message-back-link {
  margin-top: 20px;
}
#contact__main #contact__form__container .message-back-link a {
  text-decoration: underline;
}
#contact__main #contact__form__container .form-btn-box {
  text-align: center;
}
#contact__main #contact__form__container .form-btn-box input[type=submit] {
  width: 100%;
  max-width: 570px !important;
  padding: 18px;
  margin: 0 auto 0;
  font-size: 1.428rem;
  font-weight: bold;
  line-height: 1.4;
  color: #fff;
  background: #13a791;
  border: none;
  border-radius: 50px;
  transition-duration: 0.3s;
}
#contact__main #contact__form__container .form-btn-box input[type=submit]:hover {
  opacity: 0.7;
}
#contact__main #contact__form__input__main {
  margin-top: 30px;
}
#contact__main #contact__form__input__main input:not([type=radio]), #contact__main #contact__form__input__main input:not([type=checkbox]), #contact__main #contact__form__input__main input:not([type=submit]) {
  width: 100%;
  padding: 4px;
  border: 2px solid #e6e6e6;
}
#contact__main #contact__form__input__main textarea {
  width: 100%;
  padding: 4px;
  border: 2px solid #e6e6e6;
}
#contact__main #contact__form__input__main .error-text {
  color: #1587c3;
}
#contact__main #contact__form__input__main dl {
  margin-bottom: 20px;
}
#contact__main #contact__form__input__main dl dt {
  margin-bottom: 5px;
}

.blog-category-title {
  padding: 10px;
  border-bottom: 1px solid #e4e4e4;
  background-color: #f1f1f1;
  font-size: clamp(1.375rem, 2vw, 1.5rem);
  text-align: center;
  font-family: "Noto Serif", serif;
  margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .blog-category-title {
    font-size: 1.25rem;
    margin-bottom: 20px;
  }
}

.common-article-contents #article-header {
  margin-bottom: 1.8em;
}
.common-article-contents #article-header .date-wrap {
  display: flex;
  gap: 5px 15px;
  align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .common-article-contents #article-header .date-wrap {
    gap: 5px;
  }
}
.common-article-contents #article-header .date-wrap time {
  width: 6em;
}
.common-article-contents #article-header .date-wrap .cate-text {
  min-width: 100px;
  border: 1px solid #8a8a8a;
  font-size: 0.875rem;
  text-align: center;
  line-height: 1.2;
}
.common-article-contents #article-header .date-wrap .cate-text a {
  display: block;
  width: 100%;
  padding: 4px 10px;
  color: #555;
  text-decoration: none;
  font-weight: 400;
}
.common-article-contents #article-header .date-wrap .cate-text a:hover {
  text-decoration: none;
  color: #555;
}
.common-article-contents #article-header .article-title {
  font-family: "Noto Serif", serif;
  font-weight: 700;
  font-size: clamp(1.625rem, 2.833vw, 2.125rem);
  font-style: normal;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  .common-article-contents #article-header .article-title {
    margin-top: 10px;
  }
}
.common-article-contents #article-header .info-wrap {
  display: flex;
  gap: 10px 14px;
}
.common-article-contents #article-header .info-wrap time {
  color: #acacb5;
  font-family: "Noto Sans JP";
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  display: block;
  width: 6em;
}
.common-article-contents #article-header .info-wrap .blog-category-type::before {
  content: "";
  width: 1px;
  height: 50%;
  display: inline-block;
  background: #333;
  margin-right: 14px;
}
.common-article-contents #article-header .info-wrap .blog-category-type a {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
  border-radius: 3px;
  background: #429ebe;
  padding: 2px 8px;
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  .common-article-contents #article-header .info-wrap .blog-category-type a {
    font-size: 12px;
  }
}
.common-article-contents .btn-wrap {
  display: none;
}
@media screen and (max-width: 640px) {
  .common-article-contents .btn-wrap {
    display: block;
    text-align: center;
  }
}

#_404__contents {
  padding-top: 5em;
}
@media screen and (max-width: 640px) {
  #_404__contents {
    padding-bottom: 3em;
  }
}
#_404__contents h1 {
  margin-bottom: 3em;
  line-height: 0.9;
  text-align: center;
}
#_404__contents h1 .error-l {
  display: block;
  font-size: 6em;
  font-weight: 600;
}
#_404__contents h1 .error-s {
  font-size: 2em;
}
#_404__contents label {
  display: block;
  margin-bottom: 2em;
  font-size: 1.8em;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #_404__contents label {
    font-size: 1.25em;
  }
}
#_404__contents .text {
  display: inline-block;
  margin-bottom: 1em;
  font-size: 1.25em;
  font-weight: 600;
  text-align: center;
  border-bottom: 5px solid #ccc;
}
@media screen and (max-width: 640px) {
  #_404__contents .text {
    font-size: 1.15em;
  }
}
#_404__contents ul {
  display: table;
  margin: 0 auto 4em;
}
#_404__contents ul li {
  margin-bottom: 0.5em;
}
#_404__contents ul li::before {
  content: "・";
}
#_404__contents input[type=search] {
  width: 100%;
  padding: 0.2em 0.5em;
  border: 1px solid #ccc;
  border-radius: 5px;
}
#_404__contents input[type=submit] {
  display: inline-block;
  padding: 0.5em 1em;
  margin: 0 auto;
  line-height: 1;
  color: #fff;
  text-align: center;
  background: #222;
  border-radius: 5px;
}

.space-rl {
  margin-right: 15px;
  margin-left: 15px;
}

.font-en {
  font-family: "Work Sans", sans-serif;
}

.green {
  color: #1587c3;
}

.red {
  color: #dd002a;
}

.common-entry {
  margin-bottom: 100px;
}
@media screen and (max-width: 640px) {
  .common-entry {
    margin-bottom: 50px;
  }
}
.common-entry input[type=text],
.common-entry input[type=email],
.common-entry input[type=password],
.common-entry input[type=tel] {
  width: 100%;
  padding: 8px;
  border-radius: 3px;
  border: 1px solid #bfbfbf;
  background: #fff;
  box-shadow: none;
}
.common-entry select {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  padding: 8px 23px 8px 8px;
  line-height: 1.8;
  background-image: url(../images/common/select_arrow.svg);
  background-repeat: no-repeat;
  background-position: right 8px center;
  border: 1px solid #bfbfbf;
  -webkit-appearance: none;
}
.common-entry textarea {
  box-shadow: none;
  width: 100%;
  padding: 8px;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #bfbfbf;
}
.common-entry .acms-admin-text-error {
  color: #f23508;
}
.common-entry input[type=submit].entry-form-btn {
  width: 90%;
  max-width: 370px;
  padding: 25px;
  margin: 0 auto 0;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4;
  color: #fff;
  background: #1587c3;
  border: none;
  border-radius: 50px;
  transition-duration: 0.3s;
}
.common-entry input[type=submit].entry-form-btn:hover {
  opacity: 0.7;
}
.common-entry .table-container {
  margin-right: -10px;
  margin-left: -10px;
}
.common-entry .entry-form-table {
  border: none;
}
@media screen and (max-width: 640px) {
  .common-entry .entry-form-table tr {
    display: flex;
    flex-direction: column;
  }
}
.common-entry .entry-form-table th,
.common-entry .entry-form-table td {
  border: none;
  padding: 15px 0;
}
@media screen and (max-width: 640px) {
  .common-entry .entry-form-table th,
  .common-entry .entry-form-table td {
    padding: 10px 0;
  }
}
.common-entry .entry-form-table th {
  background: transparent;
  text-align: left;
}
@media screen and (max-width: 640px) {
  .common-entry .entry-form-table th {
    padding-bottom: 0;
  }
}
.common-entry .entry-form-btn-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
.common-entry .entry-form-btn-flex input[type=submit] {
  width: 300px;
  padding-left: 2em;
  padding-right: 2em;
}
.common-entry .btn-back {
  background: #aaa !important;
}
.common-entry .entry-confirm-form {
  margin-bottom: 2em;
}
.common-entry .entry-confirm-form th {
  width: 30%;
  text-align: left;
}
.common-entry .entry-confirm-form td {
  width: 70%;
}

.search-page-title-wrap {
  margin-right: -15px;
  margin-left: -15px;
}

#search__contents {
  margin-top: 60px;
  margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
  #search__contents {
    margin-top: 30px;
    margin-bottom: 25px;
  }
}
#search__contents article {
  padding: 20px 0;
  border-bottom: 1px solid #d3d3d3;
}
#search__contents article::after {
  content: "";
  display: block;
  clear: both;
}
#search__contents article .media-title {
  font-weight: bold;
  font-size: 1.25rem;
}
#search__contents article .media-title a:focus, #search__contents article .media-title a:hover, #search__contents article .media-title a:visited {
  color: #222;
  text-decoration: none;
}
#search__contents article .media-text {
  margin-top: 1em;
}
#search__contents article .media-read-more {
  text-align: right;
  position: relative;
  margin-top: 1em;
  padding-right: 1.3em;
}
#search__contents article .media-read-more a {
  color: #1587c3;
}
#search__contents article .media-read-more a:focus, #search__contents article .media-read-more a:hover, #search__contents article .media-read-more a:visited {
  color: #1587c3;
  text-decoration: none;
}
#search__contents article .media-read-more a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/blog_list_arrow.svg) no-repeat center/contain;
  width: 1em;
  height: 1em;
  display: block;
}
#search__contents article .media-tag-wrap {
  margin-top: 0.5em;
}
#search__contents article .media-tag-wrap .tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
#search__contents article .media-tag-wrap .tag-item {
  margin-bottom: 5px;
  font-size: 0.875rem;
  color: #898989;
}

#page-price .section-title {
  font-size: clamp(1.625rem, 2.667vw, 2.286rem);
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.02em;
  font-family: "Noto Serif", serif;
  font-weight: 700;
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  #page-price .section-title {
    margin-bottom: 20px;
  }
}
#page-price .price-wrap-title {
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  font-weight: 700;
  margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
  #page-price .price-wrap-title {
    margin-bottom: 10px;
  }
}
#page-price .price-wrap-title:not(:first-of-type) {
  margin-top: 50px;
}
@media screen and (max-width: 640px) {
  #page-price .price-wrap-title:not(:first-of-type) {
    margin-top: 30px;
  }
}
#page-price .top-text {
  font-weight: 700;
  font-size: 1.0625rem;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  #page-price .top-text {
    margin-bottom: 15px;
  }
}
#page-price .price-wrap table {
  table-layout: fixed;
  border-spacing: 10px 0;
  border-collapse: separate;
  width: 100%;
  font-size: 1rem;
}
@media screen and (max-width: 640px) {
  #page-price .price-wrap table {
    font-size: 0.75rem;
    border-spacing: 3px;
  }
}
#page-price .price-wrap table tr:nth-child(odd) {
  background: rgba(138, 138, 138, 0.15);
}
#page-price .price-wrap table tr th,
#page-price .price-wrap table tr td {
  padding: 20px 10px;
  border: 1px solid #595959;
}
@media screen and (max-width: 640px) {
  #page-price .price-wrap table tr th,
  #page-price .price-wrap table tr td {
    padding: 10px 5px;
  }
}
#page-price .price-wrap table tr th {
  font-weight: 400;
  text-align: left;
}
#page-price #sec__navi {
  padding-top: 50px;
}
@media screen and (max-width: 640px) {
  #page-price #sec__navi {
    padding-top: 25px;
  }
}
#page-price #sec__navi .price-wrap {
  padding: 100px 0;
}
@media screen and (max-width: 640px) {
  #page-price #sec__navi .price-wrap {
    padding: 50px 0;
  }
}
#page-price #sec__filaria {
  background: #f1f1f1;
}
#page-price #sec__vaccine {
  background: #f1f1f1;
}

#page-staff .staff-wrap {
  display: flex;
  gap: 45px;
  margin-top: 100px;
  margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  #page-staff .staff-wrap {
    flex-direction: column;
    margin-top: 50px;
  }
}
@media screen and (max-width: 640px) {
  #page-staff .staff-wrap {
    margin-top: 25px;
  }
}
#page-staff .staff-wrap .img-wrap {
  width: 30%;
  max-width: 400px;
}
@media screen and (max-width: 1024px) {
  #page-staff .staff-wrap .img-wrap {
    max-width: 70vw;
    width: 100%;
    margin: 0 auto;
  }
}
#page-staff .staff-wrap .text-contents {
  flex: 1;
}
#page-staff .staff-wrap .text-contents h3 {
  font-weight: 700;
  margin-bottom: 40px;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  line-height: 1.6;
}
@media screen and (max-width: 640px) {
  #page-staff .staff-wrap .text-contents h3 {
    margin-bottom: 20px;
  }
}
#page-staff .staff-wrap .text-contents p {
  line-height: 1.6;
}
#page-staff .staff-wrap .text-contents p:not(:last-of-type) {
  margin-bottom: 1.6em;
}
#page-staff .staff-wrap .text-contents .name-wrap {
  margin-top: 20px;
  text-align: right;
}
#page-staff .staff-wrap .text-contents .name-wrap span {
  display: block;
}
#page-staff .staff-wrap .text-contents .name-wrap .post {
  font-size: 1rem;
}
#page-staff .staff-wrap .text-contents .name-wrap .name {
  font-size: clamp(1.375rem, 2vw, 1.5rem);
}
#page-staff .staff-wrap .text-contents .name-wrap .kana {
  font-size: 0.75rem;
}
#page-staff .career-inner {
  border: 1px solid #e4e4e4;
  padding: 30px;
  background: #fff;
}
@media screen and (max-width: 1024px) {
  #page-staff .career-inner {
    padding: 20px;
  }
}
#page-staff .career-inner h3 {
  font-size: 1.5rem;
  text-align: center;
}
#page-staff .career-inner ul {
  margin-top: 20px;
}
#page-staff .career-inner ul li:not(:last-of-type) {
  margin-top: 5px;
}
#page-staff #sec__greeting .career-flex {
  display: flex;
  border-top: 1px solid #e4e4e4;
}
#page-staff #sec__greeting .career-flex .career-inner {
  width: 50%;
  border-top: none;
}
@media screen and (max-width: 1024px) {
  #page-staff #sec__greeting .career-flex .career-inner {
    width: 100%;
  }
}
#page-staff #sec__veterinarian {
  background: #f1f1f1;
}
#page-staff #sec__veterinarian .staff-wrap {
  align-items: center;
}
#page-staff #sec__advisor .staff-wrap {
  align-items: center;
}
#page-staff #sec__staff__list {
  background: #f1f1f1;
}
#page-staff #sec__staff__list .flex-wrap {
  margin-top: 50px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 350px));
  grid-gap: 20px;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__staff__list .flex-wrap {
    margin-top: 25px;
  }
}
#page-staff #sec__staff__list article {
  padding: 15px;
  background-color: #fff;
}
#page-staff #sec__staff__list article h3 {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 10px 0 5px;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__staff__list article h3 {
    font-size: 1rem;
  }
}
@media screen and (max-width: 640px) {
  #page-staff #sec__staff__list article .text {
    font-size: 0.875rem;
  }
}

#page-facilities #sec__clinic {
  padding-left: 0;
  padding-right: 0;
}
#page-facilities #sec__clinic .slider-wrap {
  overflow: hidden;
}
#page-facilities #sec__clinic .slider-wrap #main-slider {
  padding: 30px 0;
}
#page-facilities #sec__clinic .slider-wrap #main-slider .title {
  font-size: 1.25rem;
  text-align: center;
}
#page-facilities #sec__clinic .slider-wrap #nav-slider {
  padding-bottom: 30px;
}
#page-facilities #sec__clinic .slider-wrap .slider-wrap {
  width: 100%;
  margin: 0;
}
#page-facilities #sec__clinic .slider-wrap .slider-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#page-facilities #sec__clinic .slider-wrap #main-slider .img-wrap {
  max-width: 680px;
  width: 100%;
  margin: 0 auto;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 3/2;
}
#page-facilities #sec__clinic .slider-wrap #main-slider .slick-slide {
  margin: 0 15px;
  opacity: 0.3;
  transform: scale(0.94);
  transition: 0.35s;
}
@media (min-width: 768px) {
  #page-facilities #sec__clinic .slider-wrap #main-slider .slick-slide {
    margin: 0 30px;
  }
}
#page-facilities #sec__clinic .slider-wrap #main-slider .slick-center {
  opacity: 1;
  transform: scale(1);
}
#page-facilities #sec__clinic .slider-wrap #main-slider p {
  margin: 10px 2px 0;
  line-height: 1.65;
  font-size: clamp(14px, 1.6vw, 16px);
}
#page-facilities #sec__clinic .slider-wrap #main-slider .slick-list {
  overflow: visible;
}
#page-facilities #sec__clinic .slider-wrap #main-slider .slick-prev,
#page-facilities #sec__clinic .slider-wrap #main-slider .slick-next {
  z-index: 2;
  width: 44px;
  height: 44px;
}
#page-facilities #sec__clinic .slider-wrap #main-slider .slick-prev {
  left: 6px;
}
#page-facilities #sec__clinic .slider-wrap #main-slider .slick-next {
  right: 6px;
}
#page-facilities #sec__clinic .slider-wrap #nav-slider {
  max-width: 800px;
  margin: clamp(16px, 2.4vw, 24px) auto 0;
  position: relative;
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-list {
  overflow: visible;
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-slide {
  width: auto;
  margin: 0 15px;
  opacity: 0.3;
  transition: 0.2s;
  cursor: pointer;
}
@media (min-width: 768px) {
  #page-facilities #sec__clinic .slider-wrap #nav-slider .slick-slide {
    margin: 0 30px;
  }
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .img-wrap {
  width: 180px;
  max-width: 180px;
  height: 110px;
  border-radius: 10px;
  overflow: hidden;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  #page-facilities #sec__clinic .slider-wrap #nav-slider .img-wrap {
    height: 120px;
  }
}
@media (min-width: 1400px) {
  #page-facilities #sec__clinic .slider-wrap #nav-slider .img-wrap {
    height: 140px;
  }
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-current {
  opacity: 1;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}
#page-facilities #sec__clinic .slider-wrap #nav-slider.slick-slider {
  position: relative;
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-prev,
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  z-index: 5;
  display: block;
  cursor: pointer;
  border: none;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-prev::before,
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-next::before {
  content: "";
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-prev {
  left: 8px;
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-prev::after {
  content: "‹";
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-next {
  right: 8px;
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-next::after {
  content: "›";
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-prev::after,
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-next::after {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 22px;
  line-height: 1;
  color: #fff;
  top: 0;
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-prev:hover,
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-next:hover {
  background: #000;
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-dots {
  display: flex !important;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
  padding: 0;
  list-style: none;
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-dots li button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ccc;
  border: none;
  text-indent: -9999px;
}
#page-facilities #sec__clinic .slider-wrap #nav-slider .slick-dots li.slick-active button {
  background: #333;
}
#page-facilities #sec__facility {
  background: #f1f1f1;
}

#page-access #sec__map .map-img {
  margin-top: 30px;
  text-align: center;
}
#page-access #sec__map .map-wrap {
  position: relative;
  aspect-ratio: 1440/520;
}
@media screen and (min-width: 1025px) {
  #page-access #sec__map .map-wrap {
    margin: 50px calc(50% - 50vw) 40px;
    width: 100vw;
  }
}
@media screen and (max-width: 1024px) {
  #page-access #sec__map .map-wrap {
    aspect-ratio: 738/442;
    margin: 50px auto 40px;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  #page-access #sec__map .map-wrap {
    margin-bottom: 20px;
    aspect-ratio: 1/1;
  }
}
#page-access #sec__map .map-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#page-access #sec__map .sec-hours {
  background-color: #fff;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
#page-access #sec__map .clinic-image ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px 0;
}
#page-access #sec__map .clinic-image ul li {
  width: 31%;
}
@media screen and (max-width: 1024px) {
  #page-access #sec__map .clinic-image ul li {
    width: 48%;
  }
}
#page-access #sec__map #sec__transportation h3 {
  margin-top: 100px;
  padding: 10px;
  border-bottom: 1px solid #e4e4e4;
  background-color: #f1f1f1;
  font-size: clamp(1.375rem, 2vw, 1.5rem);
  text-align: center;
  font-family: "Noto Serif", serif;
  margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  #page-access #sec__map #sec__transportation h3 {
    font-size: 1.25rem;
    margin-bottom: 20px;
    margin-top: 50px;
  }
}
#page-access #sec__map #sec__transportation .flex-wrap {
  gap: 20px 30px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  #page-access #sec__map #sec__transportation .flex-wrap {
    flex-direction: column;
  }
}
#page-access #sec__map #sec__transportation .flex-wrap article {
  flex: 1;
}
#page-access #sec__map #sec__transportation .flex-wrap article h4 {
  font-weight: 700;
  font-size: 1.25rem;
  margin-bottom: 10px;
}
@media screen and (max-width: 1024px) {
  #page-access #sec__map #sec__transportation .flex-wrap article h4 {
    font-size: 1rem;
  }
}
#page-access #sec__clinic__details {
  background: #f1f1f1;
}
#page-access #sec__clinic__details h2 {
  margin-bottom: 50px;
}
@media screen and (max-width: 1024px) {
  #page-access #sec__clinic__details h2 {
    margin-bottom: 30px;
  }
}

#page-sitemap #sec__site__contents .title {
  display: flex;
  align-items: center;
}
#page-sitemap #sec__site__contents .title::before, #page-sitemap #sec__site__contents .title::after {
  content: "";
  display: block;
  flex-grow: 1;
  margin: 0 1em;
  height: 2px;
  background-color: #8a8a8a;
}
@media screen and (max-width: 640px) {
  #page-sitemap #sec__site__contents .title::before, #page-sitemap #sec__site__contents .title::after {
    margin: 0 3px;
  }
}
#page-sitemap #sec__site__contents h2 {
  background: #8a8a8a;
  color: #fff;
  padding: 7px 20px;
  margin-top: 30px;
  margin-bottom: 20px;
}
#page-sitemap #sec__site__contents .main-list li {
  border-bottom: 3px dotted #eee;
  padding-left: 20px;
}
#page-sitemap #sec__site__contents .main-list li:hover {
  background-color: #e8e8e8;
}
#page-sitemap #sec__site__contents .main-list li a {
  color: #555;
  line-height: 1.8;
  display: block;
  text-decoration: none;
  padding: 20px 20px 20px 2em;
  position: relative;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  #page-sitemap #sec__site__contents .main-list li a {
    padding: 10px 10px 10px 2em;
  }
}
#page-sitemap #sec__site__contents .main-list li a:before {
  content: "●";
  color: #8a8a8a;
  font-size: 0.75em;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#page-sitemap #sec__site__contents .main-list .item-parent {
  border-bottom: 0;
}
#page-sitemap #sec__site__contents .main-list .item-parent:hover {
  background-color: initial;
}
#page-sitemap #sec__site__contents .main-list .item-parent .sub-list {
  padding-left: 2em;
}
#page-sitemap #sec__site__contents .main-list .item-parent .sub-list li {
  padding-left: 5px;
}
#page-sitemap #sec__site__contents .main-list .item-parent .sub-list li a {
  padding: 10px;
  font-weight: 400;
  padding: 10px 10px 10px 1em;
}
@media screen and (max-width: 640px) {
  #page-sitemap #sec__site__contents .main-list .item-parent .sub-list li a {
    padding: 5px 5px 5px 1em;
  }
}
#page-sitemap #sec__site__contents .main-list .item-parent .sub-list li a:before {
  content: "・";
}

#page-services .title-square {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #page-services .title-square {
    font-size: 1.25rem;
    margin-bottom: 10px;
  }
}
#page-services .title-square::before {
  content: "";
  width: 0.6em;
  height: 0.6em;
  background-color: #555;
  display: inline-block;
  margin-right: 0.3em;
}
#page-services #sec__department__details {
  background: #f1f1f1;
}
#page-services #sec__department__details article {
  border: 1px solid #e4e4e4;
  background-color: #fff;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  #page-services #sec__department__details article {
    margin-top: 30px;
  }
}
#page-services #sec__department__details article h3 {
  font-size: 1.5rem;
  text-align: center;
  padding: 20px;
  background-color: #e4e4e4;
  text-shadow: 1px 1px 0px #fff;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  #page-services #sec__department__details article h3 {
    font-size: 1.25rem;
    padding: 10px;
  }
}
#page-services #sec__department__details article .inner {
  background: #fff;
  display: flex;
  padding: 30px;
  gap: 0 30px;
  flex-wrap: wrap;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #page-services #sec__department__details article .inner {
    flex-direction: column;
    padding: 20px;
  }
}
#page-services #sec__department__details article .inner .img-wrap {
  width: 43%;
}
@media screen and (max-width: 768px) {
  #page-services #sec__department__details article .inner .img-wrap {
    max-width: 300px;
    margin: 0 auto;
    width: 100%;
  }
}
#page-services #sec__department__details article .inner .text-contents {
  flex: 1;
}
#page-services #sec__department__details article .inner .text-contents .text-wrap {
  line-height: 2;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  #page-services #sec__department__details article .inner .text-contents .text-wrap {
    line-height: 1.6;
  }
}
#page-services #sec__department__details article .inner .text-contents .btn-wrap {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  #page-services #sec__department__details article .inner .text-contents .btn-wrap {
    margin-top: 20px;
  }
}
#page-services #sec__department__details article .inner .text-contents .check-list {
  line-height: 1.6;
  margin-top: 10px;
}
#page-services #sec__department__details article .inner .text-contents .check-list li {
  font-size: 1.125rem;
  position: relative;
  margin-bottom: 5px;
  padding-left: 1.5em;
}
#page-services #sec__department__details article .inner .text-contents .check-list li::before {
  top: 0.3em;
  left: 0;
  position: absolute;
  content: "";
  background: url(../images/common/icon_check.svg) no-repeat;
  width: 1.1em;
  height: 1.1em;
  display: block;
}
#page-services #sec__department__details #content-internal-medicine .box-wrap {
  background: #f1f1f1;
  padding: 20px 0;
  margin-top: 30px;
}
#page-services #sec__department__details #content-internal-medicine .box-wrap h4 {
  font-size: 1.1875rem;
  font-weight: 700;
  text-align: center;
}
#page-services #sec__department__details #content-internal-medicine .box2-wrap {
  width: 100%;
  background: #f1f1f1;
  padding: 30px;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  #page-services #sec__department__details #content-internal-medicine .box2-wrap {
    padding: 20px;
    margin-top: 40px;
  }
}
#page-services #sec__department__details #content-internal-medicine .box2-wrap::after {
  content: "";
  clear: both;
  display: block;
}
@media screen and (min-width: 769px) {
  #page-services #sec__department__details #content-internal-medicine .box2-wrap .box2-img {
    float: right;
    width: 30%;
    margin: 0 0 30px 30px;
  }
}
@media screen and (max-width: 768px) {
  #page-services #sec__department__details #content-internal-medicine .box2-wrap .box2-img {
    margin-bottom: 20px;
  }
}
#page-services #sec__department__details #content-internal-medicine .box2-wrap p {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  #page-services #sec__department__details #content-internal-medicine .box2-wrap p {
    line-height: 1.6;
  }
}
#page-services #sec__department__details #content-internal-medicine .box2-wrap p:not(:last-of-type) {
  margin-bottom: 2em;
}
@media screen and (max-width: 768px) {
  #page-services #sec__department__details #content-internal-medicine .box2-wrap p:not(:last-of-type) {
    margin-bottom: 1.6em;
  }
}
#page-services #sec__department__details #content-dental-cleaning .box-wrap {
  width: 100%;
  background: #f1f1f1;
  padding: 30px;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  #page-services #sec__department__details #content-dental-cleaning .box-wrap {
    padding: 20px;
    margin-top: 40px;
  }
}
#page-services #sec__department__details #content-dental-cleaning .box-wrap::after {
  content: "";
  clear: both;
  display: block;
}
#page-services #sec__department__details #content-dental-cleaning .box-wrap .box-flex {
  display: flex;
  gap: 20px 30px;
}
@media screen and (max-width: 640px) {
  #page-services #sec__department__details #content-dental-cleaning .box-wrap .box-flex {
    flex-direction: column;
  }
}
#page-services #sec__department__details #content-dental-cleaning .box-wrap .box-flex .img-item {
  flex: 1;
}
#page-services #sec__department__details #content-dental-cleaning .box-wrap .box-flex .img-item p {
  text-align: center;
  font-size: 1.1875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}

.page-services-child-common .content-wrap {
  max-width: 1200px;
}
.page-services-child-common .text-contents-wrap {
  max-width: 850px;
  margin: 0 auto;
}
.page-services-child-common .text-contents-wrap p {
  color: #646467;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 1.8em;
}
.page-services-child-common .text-contents-wrap > :last-child {
  margin-bottom: 0;
}
.page-services-child-common .title-underline {
  color: #646464;
  font-family: "Noto Sans JP";
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-decoration: underline;
  text-underline-offset: 7px;
  margin-bottom: 20px;
}
.page-services-child-common #sec__symptoms {
  background: #f3f3f3;
}
.page-services-child-common #sec__symptoms .icon-wrap {
  width: 119px;
  margin: 0 auto 45px;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__symptoms .icon-wrap {
    width: 90px;
    margin-bottom: 20px;
  }
}
.page-services-child-common #sec__symptoms .title-text {
  margin-bottom: 54px;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__symptoms .title-text {
    margin-bottom: 27px;
  }
}
.page-services-child-common #sec__symptoms h3 {
  color: #646464;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-bottom: 15px;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__symptoms h3 {
    margin-bottom: 10px;
    font-size: 20px;
  }
}
.page-services-child-common #sec__symptoms .check-list-wrap {
  background: #fff;
  max-width: 900px;
  margin: 0 auto;
  padding: 30px 40px;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__symptoms .check-list-wrap {
    padding: 30px 20px;
  }
}
.page-services-child-common #sec__symptoms .check-list-wrap ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px 30px;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__symptoms .check-list-wrap ul {
    flex-direction: column;
    gap: 7px;
  }
}
.page-services-child-common #sec__symptoms .check-list-wrap ul li {
  color: #646464;
  font-family: "Noto Sans JP";
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 1.67em;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__symptoms .check-list-wrap ul li {
    font-size: 1rem;
  }
}
.page-services-child-common #sec__symptoms .check-list-wrap ul li::before {
  width: 1.1em;
  height: 1.1em;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.3em;
  background: url(../images/services/icon_check.svg) no-repeat center/contain;
}
.page-services-child-common #sec__symptoms .text-contents-wrap {
  margin: 45px auto 0;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__symptoms .text-contents-wrap {
    margin-top: 20px;
  }
}
.page-services-child-common #sec__dog__diseases .text-contents-wrap,
.page-services-child-common #sec__cat__diseases .text-contents-wrap {
  margin-top: 30px;
  margin-bottom: 54px;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__dog__diseases .text-contents-wrap,
  .page-services-child-common #sec__cat__diseases .text-contents-wrap {
    margin-top: 15px;
    margin-bottom: 20px;
  }
}
.page-services-child-common #sec__dog__diseases .diseases-list-wrap,
.page-services-child-common #sec__cat__diseases .diseases-list-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
@media screen and (max-width: 1024px) {
  .page-services-child-common #sec__dog__diseases .diseases-list-wrap,
  .page-services-child-common #sec__cat__diseases .diseases-list-wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}
.page-services-child-common #sec__dog__diseases .diseases-list-wrap article,
.page-services-child-common #sec__cat__diseases .diseases-list-wrap article {
  padding: 50px 42px;
  background: #f3f3f3;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__dog__diseases .diseases-list-wrap article,
  .page-services-child-common #sec__cat__diseases .diseases-list-wrap article {
    padding: 30px 20px;
  }
}
.page-services-child-common #sec__cat__diseases {
  padding-top: 0;
}
.page-services-child-common #sec__features {
  background: #f3f3f3;
}
.page-services-child-common #sec__features .text-contents-wrap {
  margin: 45px auto 0;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__features .text-contents-wrap {
    margin-top: 20px;
  }
}
.page-services-child-common #sec__features .feature-list-wrap {
  margin-top: 55px;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__features .feature-list-wrap {
    margin-top: 30px;
    gap: 30px;
  }
}
.page-services-child-common #sec__features .feature-list-wrap article {
  padding: 50px 50px 60px;
  background: #fff;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__features .feature-list-wrap article {
    padding: 30px 20px;
  }
}
.page-services-child-common #sec__features .feature-list-wrap article .column-wrap {
  display: flex;
  gap: 20px 50px;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__features .feature-list-wrap article .column-wrap {
    flex-direction: column;
    align-items: center;
  }
}
.page-services-child-common #sec__features .feature-list-wrap article .column-wrap .text-contents {
  flex: 1;
}
.page-services-child-common #sec__features .feature-list-wrap article .column-wrap .text-contents p {
  color: #646464;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
  margin-bottom: 1.8em;
  letter-spacing: 0.05em;
}
.page-services-child-common #sec__features .feature-list-wrap article .column-wrap .text-contents ul {
  margin-top: 1.8em;
  margin-bottom: 1.8em;
  margin-left: 0.5em;
}
.page-services-child-common #sec__features .feature-list-wrap article .column-wrap .text-contents > :last-child {
  margin-bottom: 0;
}
.page-services-child-common #sec__features .feature-list-wrap article .column-wrap .img-wrap {
  width: 32%;
  max-width: 354px;
  align-self: center;
}
@media screen and (max-width: 1024px) {
  .page-services-child-common #sec__features .feature-list-wrap article .column-wrap .img-wrap {
    align-self: flex-start;
  }
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__features .feature-list-wrap article .column-wrap .img-wrap {
    width: 100%;
    align-self: center;
  }
}
.page-services-child-common #sec__flow .text-contents-wrap {
  margin: 45px auto 0;
}
@media screen and (max-width: 640px) {
  .page-services-child-common #sec__flow .text-contents-wrap {
    margin-top: 20px;
  }
}
.page-services-child-common #sec__case {
  padding-top: 0;
}

#page-emt .section-title {
  font-size: clamp(1.64rem, 2.667vw, 2rem);
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.02em;
  font-family: "Noto Serif", serif;
}
#page-emt .section-title .sp-disp {
  display: none;
}
@media screen and (max-width: 640px) {
  #page-emt .section-title .sp-disp {
    display: block;
  }
}
#page-emt .common-flex-wrap {
  display: flex;
  justify-content: space-between;
  padding: 30px;
  gap: 20px 30px;
}
@media screen and (max-width: 640px) {
  #page-emt .common-flex-wrap {
    padding: 15px;
    flex-direction: column;
  }
}
#page-emt .common-flex-wrap .img-wrap {
  width: 43%;
}
@media screen and (max-width: 640px) {
  #page-emt .common-flex-wrap .img-wrap {
    width: 100%;
  }
}
#page-emt .common-flex-wrap .text-contents {
  flex: 1;
}
#page-emt .common-flex-wrap .text-contents p:not(:last-of-type) {
  margin-bottom: 1.6em;
}
#page-emt .common-flex-wrap-s {
  display: flex;
  justify-content: space-between;
  padding: 30px;
  gap: 20px 30px;
}
@media screen and (max-width: 640px) {
  #page-emt .common-flex-wrap-s {
    padding: 15px;
    flex-direction: column;
  }
}
#page-emt .common-flex-wrap-s .img-wrap {
  width: 35%;
}
@media screen and (max-width: 640px) {
  #page-emt .common-flex-wrap-s .img-wrap {
    width: 100%;
  }
}
#page-emt .common-flex-wrap-s .text-contents {
  flex: 1;
}
#page-emt .common-flex-wrap-s .text-contents .title-bold {
  font-weight: 700;
  margin-top: 20px;
  margin-bottom: 10px;
}
#page-emt .common-flex-wrap-s .text-contents p:not(:last-of-type) {
  margin-bottom: 1.6em;
}
#page-emt .check-list li {
  font-size: 1.125rem;
  position: relative;
  margin-bottom: 5px;
  padding-left: 1.5em;
}
#page-emt .check-list li::before {
  top: 0.3em;
  left: 0;
  position: absolute;
  content: "";
  background: url(../images/common/icon_check.svg) no-repeat;
  width: 1.1em;
  height: 1.1em;
  display: block;
}
#page-emt #sec__first .flex-wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 1024px) {
  #page-emt #sec__first .flex-wrap {
    flex-direction: column;
  }
}
@media screen and (max-width: 640px) {
  #page-emt #sec__first .flex-wrap {
    margin-top: 30px;
  }
}
#page-emt #sec__first .flex-wrap figure {
  width: 30%;
}
@media screen and (max-width: 1024px) {
  #page-emt #sec__first .flex-wrap figure {
    width: 100%;
    max-width: 70vw;
    margin: 0 auto;
  }
}
#page-emt #sec__first .flex-wrap .text-contents {
  width: 66%;
}
@media screen and (max-width: 1024px) {
  #page-emt #sec__first .flex-wrap .text-contents {
    width: 100%;
  }
}
#page-emt #sec__first .flex-wrap .text-contents p:not(:last-of-type) {
  margin-bottom: 1.6em;
}
#page-emt #sec__first .jump-link-navi {
  margin-top: 100px;
}
@media screen and (max-width: 640px) {
  #page-emt #sec__first .jump-link-navi {
    margin-top: 60px;
  }
}
#page-emt #sec__symptom {
  padding-top: 0;
}
#page-emt #sec__call {
  padding-top: 0;
}
#page-emt #sec__emergency {
  padding-top: 0;
}
#page-emt #sec__emergency .text {
  padding: 30px;
}
@media screen and (max-width: 640px) {
  #page-emt #sec__emergency .text {
    padding: 15px;
  }
}
#page-emt #sec__support {
  padding-top: 0;
}
#page-emt #sec__open {
  padding-top: 0;
}
#page-emt #sec__open .btn-wrap {
  margin-top: 30px;
}
@media screen and (max-width: 640px) {
  #page-emt #sec__open .btn-wrap {
    margin-top: 20px;
  }
}

#page-prevention .title-wrap {
  padding: 0 50px;
}
@media screen and (max-width: 640px) {
  #page-prevention .title-wrap {
    padding: 0 15px;
  }
}
#page-prevention .title-wrap .page-title {
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.02em;
  border: 1px solid #8a8a8a;
  padding: 30px 20px;
  margin: 0 auto 60px;
  max-width: 1180px;
}
@media screen and (max-width: 640px) {
  #page-prevention .title-wrap .page-title {
    margin-bottom: 30px;
    padding: 20px;
  }
}
#page-prevention .title-wrap .page-title .jp {
  font-size: clamp(1.75rem, 3.167vw, 2.375rem);
  font-family: "Noto Serif", serif;
  border-bottom: 1px solid #8a8a8a;
  padding-bottom: 5px;
}
#page-prevention .title-wrap .page-title .en {
  margin-top: 5px;
  font-size: 1rem;
  display: block;
  font-family: "Noto Sans JP";
}
#page-prevention .section-title {
  font-size: clamp(1.64rem, 2.667vw, 2rem);
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.02em;
  font-family: "Noto Serif", serif;
  margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
  #page-prevention .section-title {
    margin-bottom: 30px;
  }
}
#page-prevention .section-title span {
  font-weight: 700;
}
#page-prevention .section-title .sp-disp {
  display: none;
}
@media screen and (max-width: 640px) {
  #page-prevention .section-title .sp-disp {
    display: block;
  }
}
#page-prevention .sec-vaccine .text {
  margin-bottom: 20px;
}
#page-prevention .sec-vaccine .btn-wrap {
  margin: 60px auto 40px;
}
@media screen and (max-width: 640px) {
  #page-prevention .sec-vaccine .btn-wrap {
    margin: 40px auto 20px;
  }
}
#page-prevention .sec-vaccine .text2 p:not(:last-of-type) {
  margin-bottom: 1.6em;
}
#page-prevention .common-flex-wrap {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  align-items: center;
}
@media screen and (max-width: 640px) {
  #page-prevention .common-flex-wrap {
    flex-direction: column;
    gap: 20px;
  }
}
#page-prevention .common-flex-wrap figure {
  width: 35%;
}
@media screen and (max-width: 640px) {
  #page-prevention .common-flex-wrap figure {
    width: 100%;
  }
}
#page-prevention .common-flex-wrap .text-contents {
  flex: 1;
}
#page-prevention .common-flex-wrap .text-contents p:not(:last-of-type) {
  margin-bottom: 1.6em;
}
#page-prevention #vaccine {
  margin-top: 100px;
  margin-bottom: 80px;
}
@media screen and (max-width: 640px) {
  #page-prevention #vaccine {
    margin-top: 50px;
    margin-bottom: 20px;
  }
}
#page-prevention #vaccine #sec__first {
  padding-top: 0;
}
#page-prevention #vaccine #sec__vaccine__dog {
  background: #f1f1f1;
}
#page-prevention #vaccine #sec__caution {
  background: #f1f1f1;
}
#page-prevention #heartworm #sec__about__heartworm {
  padding-top: 0;
}
#page-prevention #heartworm #sec__prevention {
  background: #f1f1f1;
}
#page-prevention #heartworm #sec__flow {
  background: #f1f1f1;
}
#page-prevention #heartworm #sec__flow .text-wrap p {
  margin-bottom: 1.6em;
}
#page-prevention #heartworm #sec__flow .campaign-wrap {
  border: 1px solid #8a8a8a;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
  #page-prevention #heartworm #sec__flow .campaign-wrap {
    margin-bottom: 40px;
  }
}
#page-prevention #heartworm #sec__period {
  background: #f1f1f1;
}
#page-prevention #heartworm #sec__period .text {
  margin-bottom: 20px;
}
#page-prevention #heartworm #sec__period .text span {
  font-weight: 700;
  text-decoration: underline;
}
#page-prevention #heartworm #sec__period figure {
  max-width: 1024px;
  margin: 0 auto;
}
#page-prevention #heartworm #sec__period figure figcaption {
  text-align: left;
  margin: 20px 0 40px;
}
#page-prevention #heartworm #sec__period .text-contents p:not(:last-of-type) {
  margin-bottom: 1.6em;
}

#page-grooming #sec__grooming__about .content-wrap {
  max-width: 1180px;
}
#page-grooming #sec__grooming__about .column-wrap {
  display: flex;
  gap: 20px 40px;
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__grooming__about .column-wrap {
    flex-direction: column;
  }
}
#page-grooming #sec__grooming__about .column-wrap .img-wrap {
  width: 30%;
  max-width: 353px;
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__grooming__about .column-wrap .img-wrap {
    margin: 0 auto;
    width: 80%;
  }
}
#page-grooming #sec__grooming__about .column-wrap .text-contents {
  flex: 1;
  max-width: 781px;
}
#page-grooming #sec__grooming__about .column-wrap .text-contents h3 {
  color: #555;
  font-family: "Noto Sans JP";
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-style: normal;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.2px;
  margin-bottom: 37px;
  margin-top: 16px;
}
@media screen and (max-width: 1024px) {
  #page-grooming #sec__grooming__about .column-wrap .text-contents h3 {
    margin-top: 0;
  }
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__grooming__about .column-wrap .text-contents h3 {
    margin-bottom: 18px;
  }
}
#page-grooming #sec__grooming__about .column-wrap .text-contents p {
  color: #555;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 1.8em;
}
#page-grooming #sec__grooming__about .column-wrap .text-contents > :last-child {
  margin-bottom: 0;
}
#page-grooming .bnr-wrap {
  max-width: 700px;
  margin: 0 auto;
}
#page-grooming #sec__price__table .title-text {
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__price__table .title-text {
    margin-bottom: 20px;
  }
}
#page-grooming #sec__price__table .note {
  color: #65564e;
  text-align: right;
  font-family: "Noto Sans JP";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#page-grooming #sec__price__table .grooming-table-wrap {
  width: 100%;
  margin: 10px auto 80px;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__price__table .grooming-table-wrap {
    margin-bottom: 40px;
  }
}
#page-grooming #sec__price__table .grooming-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #8a8a8a;
  background: #fff;
}
#page-grooming #sec__price__table .grooming-table-wrap table thead th {
  padding: 15px 20px;
  background: #8a8a8a;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  vertical-align: middle;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__price__table .grooming-table-wrap table thead th {
    padding: 10px 5px;
    font-size: 13px;
  }
}
#page-grooming #sec__price__table .grooming-table-wrap table thead th + th {
  border-left: 1px dashed #fff;
}
#page-grooming #sec__price__table .grooming-table-wrap table thead th.c-pink {
  color: #ffcfcf;
}
#page-grooming #sec__price__table .grooming-table-wrap table tbody tr + tr {
  border-top: 1px dashed #8a8a8a;
}
#page-grooming #sec__price__table .grooming-table-wrap table tbody tr th,
#page-grooming #sec__price__table .grooming-table-wrap table tbody tr td {
  padding: 20px;
  color: #8a8a8a;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  vertical-align: middle;
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__price__table .grooming-table-wrap table tbody tr th,
  #page-grooming #sec__price__table .grooming-table-wrap table tbody tr td {
    padding: 10px;
    font-size: 13px;
  }
}
#page-grooming #sec__price__table .grooming-table-wrap table tbody tr th {
  text-align: left;
  background: #f3f3f3;
}
#page-grooming #sec__price__table .grooming-table-wrap table tbody tr td {
  text-align: center;
  border-left: 1px dashed #8a8a8a;
}
#page-grooming #sec__price__table .price-item {
  margin-bottom: 60px;
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__price__table .price-item {
    margin-bottom: 30px;
  }
}
#page-grooming #sec__price__table .price-item h3 {
  color: #646467;
  font-family: "Noto Sans JP";
  font-size: clamp(1.375rem, 2.167vw, 1.625rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 23px;
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__price__table .price-item h3 {
    margin-bottom: 10px;
    font-size: 18px;
  }
}
#page-grooming #sec__price__table .price-table-wrap {
  width: 100%;
  margin: 10px auto;
  overflow: hidden;
}
#page-grooming #sec__price__table .price-table-wrap:not(:first-of-type) {
  margin-top: 30px;
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__price__table .price-table-wrap:not(:first-of-type) {
    margin-top: 15px;
  }
}
#page-grooming #sec__price__table .price-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #8a8a8a;
  background: #fff;
}
#page-grooming #sec__price__table .price-table-wrap table tbody th,
#page-grooming #sec__price__table .price-table-wrap table tbody td {
  padding: 20px;
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__price__table .price-table-wrap table tbody th,
  #page-grooming #sec__price__table .price-table-wrap table tbody td {
    padding: 10px;
  }
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__price__table .price-table-wrap table tbody tr {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (min-width: 641px) {
  #page-grooming #sec__price__table .price-table-wrap table tbody tr:not(:last-of-type) th {
    border-bottom: 1px dashed #f3f3f3;
  }
}
@media screen and (min-width: 641px) {
  #page-grooming #sec__price__table .price-table-wrap table tbody tr:not(:last-of-type) td {
    border-bottom: 1px dashed #f3f3f3;
  }
}
#page-grooming #sec__price__table .price-table-wrap table th {
  width: 68%;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
  vertical-align: top;
  color: #fff;
  text-align: left;
  letter-spacing: 0.05em;
  background: #8a8a8a;
  font-family: "Noto Sans JP";
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__price__table .price-table-wrap table th {
    width: 100%;
    font-size: 14px;
  }
}
#page-grooming #sec__price__table .price-table-wrap table td {
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  vertical-align: top;
  text-align: right;
  letter-spacing: 0.05em;
  background-color: #fff;
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__price__table .price-table-wrap table td {
    font-size: 14px;
  }
}
@media screen and (min-width: 641px) {
  #page-grooming #sec__price__table .price-table-wrap table th + th {
    border-left: 1px dashed #f3f3f3;
  }
}
@media screen and (min-width: 641px) {
  #page-grooming #sec__price__table .price-table-wrap table td + td {
    border-left: 1px dashed #f3f3f3;
  }
}
#page-grooming #sec__price__table .table-note {
  color: #65564e;
  font-family: "Noto Sans JP";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#page-grooming #sec__price__table .bnr-wrap {
  max-width: 430px;
  margin: 80px auto 0;
}
@media screen and (max-width: 640px) {
  #page-grooming #sec__price__table .bnr-wrap {
    margin-top: 40px;
  }
}

/**
 * Unit
 */
.faq-block {
  padding: 30px;
  border-width: 1px;
  background-color: #eeeff0;
  margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
  .faq-block {
    padding: 15px;
  }
}
.faq-block .faq-q,
.faq-block .faq-a {
  position: relative;
  padding-left: 50px;
}
@media screen and (max-width: 640px) {
  .faq-block .faq-q,
  .faq-block .faq-a {
    padding-left: 35px;
  }
}
.faq-block .faq-q .faq-icon,
.faq-block .faq-a .faq-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  left: 0;
  color: #fff;
  position: absolute;
  z-index: 1;
  font-weight: bold;
  width: 34px;
  height: 34px;
  font-size: 18px;
}
@media screen and (max-width: 640px) {
  .faq-block .faq-q .faq-icon,
  .faq-block .faq-a .faq-icon {
    font-size: 14px;
    height: 28px;
    width: 28px;
  }
}
.faq-block .faq-q .faq-icon::after,
.faq-block .faq-a .faq-icon::after {
  transform: translate(-50%, -50%);
  z-index: -1;
  top: 50%;
  left: 50%;
  position: absolute;
  content: "";
  background: #979fa4;
  width: 100%;
  border-radius: 10px;
  height: 100%;
  display: block;
}
.faq-block .faq-q {
  font-weight: bold;
  padding-right: 50px;
}
.faq-block .faq-q .faq-icon::after {
  background: #1587c3;
}
.faq-block .faq-a {
  padding-top: 25px;
  border-top: 1px dashed #979fa4;
  margin: 25px 0 0;
}
@media screen and (max-width: 640px) {
  .faq-block .faq-a {
    padding-top: 15px;
    margin-top: 15px;
  }
}
.faq-block.ac-on {
  cursor: pointer;
}
.faq-block.ac-on .faq-q::before, .faq-block.ac-on .faq-q::after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  display: block;
  background-color: #1587c3;
}
.faq-block.ac-on .faq-q::before {
  width: 18px;
  height: 3px;
}
@media screen and (max-width: 640px) {
  .faq-block.ac-on .faq-q::before {
    width: 12px;
    height: 2px;
  }
}
.faq-block.ac-on .faq-q::after {
  height: 18px;
  width: 3px;
  right: 7.5px;
}
@media screen and (max-width: 640px) {
  .faq-block.ac-on .faq-q::after {
    height: 12px;
    width: 2px;
    right: 5px;
  }
}
.faq-block.ac-on .faq-a {
  display: none;
}
.faq-block.active .faq-q::after {
  display: none;
}
.faq-block.active .faq-a {
  display: block;
}

.flow-block-step {
  counter-reset: num;
  margin: 3em 10px;
}
.flow-block-step .flow-item {
  display: flex;
}
.flow-block-step .flow-item::after {
  content: "";
  display: block;
  clear: both;
}
.flow-block-step .flow-item .flow-num-contents,
.flow-block-step .flow-item .flow-contents {
  padding-bottom: 40px;
}
.flow-block-step .flow-item .flow-num-contents {
  width: 77px;
  position: relative;
}
@media screen and (max-width: 640px) {
  .flow-block-step .flow-item .flow-num-contents {
    width: 50px;
  }
}
.flow-block-step .flow-item .flow-num-contents::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-image: linear-gradient(to bottom, #e8e3df 5px, transparent 5px);
  background-size: 5px 10px;
  background-repeat: repeat-y;
  background-position: left top;
  display: block;
  position: absolute;
  width: 4px;
  height: 100%;
}
.flow-block-step .flow-item .flow-num-contents .icon-num {
  position: relative;
  width: 100%;
  height: 77px;
  background-color: #1587c3;
  border-radius: 50%;
  font-family: "Work Sans", sans-serif;
}
@media screen and (max-width: 640px) {
  .flow-block-step .flow-item .flow-num-contents .icon-num {
    height: 50px;
  }
}
.flow-block-step .flow-item .flow-num-contents .icon-num span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1.2;
  color: #fff;
  font-weight: bold;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  .flow-block-step .flow-item .flow-num-contents .icon-num span {
    font-size: 0.875rem;
  }
}
.flow-block-step .flow-item .flow-num-contents .icon-num span::after {
  display: block;
  counter-increment: num;
  content: counter(num, decimal-leading-zero);
}
.flow-block-step .flow-item .flow-contents {
  padding-left: 7%;
  width: calc(100% - 77px);
}
@media screen and (max-width: 1024px) {
  .flow-block-step .flow-item .flow-contents {
    width: calc(100% - 50px);
  }
}
.flow-block-step .flow-item .flow-contents .flow-img-wrap {
  border-radius: 5px;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .flow-block-step .flow-item .flow-contents .flow-img-wrap {
    float: right;
    margin: 0 0 0 4.7%;
    width: 43%;
  }
}
.flow-block-step .flow-item .flow-contents .flow-img-wrap img {
  max-width: 100%;
  border-radius: 20px;
}
.flow-block-step .flow-item .flow-contents .flow-text-contents .title {
  font-weight: bold;
  margin: 0 0 1em;
  padding-top: 10px;
  font-size: clamp(1.4rem, 2.33vw, 1.75rem);
}

.flow-block-nostep {
  margin: 1.8em 15px;
  padding: 0 20px;
}
.flow-block-nostep .inner {
  padding: 20px 0;
  background-image: linear-gradient(to bottom, #1587c3 6px, transparent 6px);
  background-size: 3px 12px;
  background-repeat: repeat-y;
  background-position: left bottom;
}
.flow-block-nostep article {
  position: relative;
  padding-left: 40px;
}
.flow-block-nostep article::before {
  position: absolute;
  top: 0.5em;
  left: -6.5px;
  width: 15px;
  background: #1587c3;
  height: 15px;
  content: "";
  z-index: 1;
  border-radius: 50%;
}
.flow-block-nostep article:not(:last-of-type) {
  margin-bottom: 40px;
}
.flow-block-nostep article .text-contents .label {
  font-weight: bold;
  font-size: 1.25rem;
  margin-bottom: 15px;
}
.flow-block-nostep article .img-wrap img {
  border-radius: 20px;
}
.flow-block-nostep .flex-wrap {
  justify-content: space-between;
  display: flex;
}
@media screen and (max-width: 640px) {
  .flow-block-nostep .flex-wrap {
    display: block;
  }
}
.flow-block-nostep .flex-wrap .text-contents {
  width: 51%;
}
@media screen and (max-width: 640px) {
  .flow-block-nostep .flex-wrap .text-contents {
    width: 100%;
  }
}
.flow-block-nostep .flex-wrap .img-wrap {
  width: 44%;
}
@media screen and (max-width: 640px) {
  .flow-block-nostep .flex-wrap .img-wrap {
    width: 100%;
    margin-top: 1em;
  }
}

.table-list-block {
  margin: 3em 10px;
}
.table-list-block dl {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  gap: 2em;
  padding: 30px 20px;
  background-image: linear-gradient(to right, #d6d6d6 3px, transparent 3px);
  background-size: 6px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}
@media screen and (max-width: 640px) {
  .table-list-block dl {
    display: block;
    padding: 20px 0;
  }
}
.table-list-block dl dt {
  font-weight: bold;
  width: 10em;
  position: relative;
  padding-left: 1.25em;
}
@media screen and (max-width: 640px) {
  .table-list-block dl dt {
    width: 100%;
    margin-bottom: 0.5em;
  }
}
.table-list-block dl dt::before {
  left: 0;
  top: 0.7em;
  position: absolute;
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background: #1587c3;
}
.table-list-block dl dd {
  width: calc(100% - 10em);
}
@media screen and (max-width: 640px) {
  .table-list-block dl dd {
    width: 100%;
  }
}
.table-list-block dl dd a {
  color: #222;
  text-decoration: underline;
}
.table-list-block dl dd a:hover {
  text-decoration: none;
}

.unit-hr {
  width: calc(100% - 30px);
  margin-top: 1.8rem;
  margin-bottom: 1.8rem;
  border-top: solid 1px #222;
  border-right: none;
  border-bottom: none;
  border-left: none;
}
.unit-hr.border-style-solid {
  border-top-style: solid;
}
.unit-hr.border-style-dotted {
  border-top-style: dotted;
}
.unit-hr.border-style-dashed {
  border-top-style: dashed;
}
.unit-hr.border-width-light {
  border-top-width: 1px;
}
.unit-hr.border-width-normal {
  border-top-width: 2px;
}
.unit-hr.border-width-large {
  border-top-width: 3px;
}

.unit-spacer {
  display: block;
  clear: both;
  height: 0;
  padding-top: 30px;
  margin: 0;
  border: none;
  visibility: hidden;
}
.unit-spacer.padding-small {
  padding-top: 15px;
}
@media screen and (max-width: 640px) {
  .unit-spacer.padding-small {
    padding-top: 7px;
  }
}
.unit-spacer.padding-medium {
  padding-top: 30px;
}
@media screen and (max-width: 640px) {
  .unit-spacer.padding-medium {
    padding-top: 15px;
  }
}
.unit-spacer.padding-large {
  padding-top: 80px;
}
@media screen and (max-width: 640px) {
  .unit-spacer.padding-large {
    padding-top: 40px;
  }
}
.unit-spacer.padding-x-large {
  padding-top: 150px;
}
@media screen and (max-width: 640px) {
  .unit-spacer.padding-x-large {
    padding-top: 75px;
  }
}

/**
 * Unit text
 */
.entry-base h1:not([class]),
.entry-base h2:not([class]),
.entry-base h3:not([class]),
.entry-base h4:not([class]),
.entry-base h5:not([class]),
.entry-base h6:not([class]) {
  margin-top: 1.8em;
  margin-bottom: 0.8em;
  margin-right: 15px;
  margin-left: 15px;
  font-weight: bold;
  line-height: 1.5;
}

.entry-base h1:not([class]) {
  font-size: clamp(1.65rem, 2.749vw, 2.0625rem);
  background-image: linear-gradient(to right, #1587c3 6px, transparent 6px);
  background-size: 12px 3px;
  background-repeat: repeat-x;
  background-position: left bottom;
  padding-bottom: 0.6em;
}

.entry-base h2:not([class]) {
  font-size: clamp(1.66rem, 2.33vw, 2rem);
}

.entry-base h3:not([class]) {
  position: relative;
  padding: 13px 1em;
  font-size: clamp(1.2rem, 1.99vw, 1.75rem);
  background: #e4edf2;
  text-align: center;
  border-left: 6px solid #1587c3;
  border-right: 6px solid #1587c3;
}

.entry-base h4:not([class]) {
  position: relative;
  font-size: 1.125rem;
  padding-left: 20px;
}
.entry-base h4:not([class])::before {
  content: "";
  background: #1587c3;
  border-radius: 50px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  transform: translateY(-50%);
}

.entry-base h5:not([class]) {
  font-size: 1rem;
}

.entry-base h6:not([class]) {
  font-size: 0.88rem;
}

.entry-base .dotted-line-border {
  margin: 30px 15px 45px;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .entry-base .dotted-line-border {
    margin-bottom: 20px;
  }
}
.entry-base .dotted-line-border .text {
  line-height: 2;
  padding-bottom: 0.3em;
  display: inline;
  font-weight: bold;
  font-size: clamp(1.42rem, 2.33vw, 2rem);
  background-image: linear-gradient(to right, #1587c3 6px, transparent 6px);
  background-size: 12px 3px;
  background-repeat: repeat-x;
  background-position: left bottom;
}
@media screen and (max-width: 640px) {
  .entry-base .dotted-line-border .text br {
    display: none;
  }
}

.entry-base .bggray {
  margin: 1.8em 15px;
  background: #eeeff0;
  border-radius: 20px;
  padding: 30px;
}
@media screen and (max-width: 640px) {
  .entry-base .bggray {
    padding: 20px;
  }
}

.entry-common-btn {
  margin: 2em 15px;
}
.entry-common-btn a {
  letter-spacing: 0;
  font-weight: bold;
  color: #222 !important;
  text-decoration: none !important;
  display: inline-block;
}
.entry-common-btn a:hover, .entry-common-btn a:focus, .entry-common-btn a:visited {
  text-decoration: none !important;
  color: #222 !important;
}
.entry-common-btn a::after {
  content: "";
  width: 2em;
  height: 2em;
  vertical-align: middle;
  margin-left: 1em;
  display: inline-block;
  background: url(../images/common/btn_arrow.svg) no-repeat center left/contain;
}

.entry-common-btn2 {
  margin: 2em 15px;
  text-align: center;
}
.entry-common-btn2 a {
  position: relative;
  display: inline-block;
  color: #222;
  border: 2px solid #222;
  text-align: left;
  letter-spacing: 0;
  text-decoration: none !important;
  font-weight: bold;
  border-radius: 60px;
  background: #fff;
  font-size: 0.875rem;
  min-width: 190px;
  padding: 1em 35px 1em 25px;
}
.entry-common-btn2 a::before {
  content: "";
  width: 7px;
  height: 11px;
  display: block;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/btn2_arrow.svg) no-repeat center/contain;
}
.entry-common-btn2 a:hover, .entry-common-btn2 a:focus, .entry-common-btn2 a:visited {
  color: #222;
  text-decoration: none;
}

.entry-base .font-xxxlarge {
  font-size: clamp(1.66rem, 2.33vw, 2rem);
  margin-left: 15px;
  margin-right: 15px;
}

.entry-base .font-xxlarge {
  font-size: clamp(1.3rem, 2.166vw, 1.625rem);
  margin-left: 15px;
  margin-right: 15px;
}

.entry-base .font-xlarge {
  font-size: 1.25rem;
  margin-left: 15px;
  margin-right: 15px;
}

.entry-base .font-large {
  font-size: 1.125rem;
  margin-left: 15px;
  margin-right: 15px;
}

.entry-base .font-small {
  margin-left: 15px;
  margin-right: 15px;
  font-size: 0.875rem;
}

.entry-base .font-xsmall {
  margin-left: 15px;
  margin-right: 15px;
  font-size: 0.75rem;
}

/**
 * Unit-project
 */
/**
 * Module
 */
.module-head-title-common {
  margin-bottom: 40px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  .module-head-title-common {
    margin-bottom: 20px;
  }
}
.module-head-title-common span {
  color: #1587c3;
  display: block;
  font-size: 0.57em;
}

.module-head-title-type-section {
  font-size: clamp(2rem, 2.749vw, 2.357rem);
}

.module-head-title-type-a {
  text-align: center;
  font-size: clamp(1.75rem, 2.9166vw, 2.1875rem);
}
.module-head-title-type-a::after {
  margin: 0.5em auto 0;
  content: "";
  width: 50px;
  height: 3px;
  border-radius: 30px;
  background: #1587c3;
  display: block;
}
.module-head-title-type-a span {
  margin-bottom: 0.5em;
}

.module-head-title-type-b {
  padding-bottom: 8px;
  font-size: clamp(1.66rem, 2.33vw, 2rem);
  background: #fff;
  border-bottom: 2px solid #222;
}

.module-head-title-type-c {
  position: relative;
  padding: 15px;
  font-size: clamp(1.33rem, 1.7499vw, 1.5rem);
  background: #e4edf2;
}

.time-table-block .time-table {
  margin-top: 1em;
  border-collapse: collapse;
  width: 100%;
  background: #fff;
}
.time-table-block .time-table tr {
  border-bottom: 1px solid #e4e4e4;
}
.time-table-block .time-table th,
.time-table-block .time-table td {
  padding: 10px;
  text-align: center;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .time-table-block .time-table th,
  .time-table-block .time-table td {
    padding: 8px 5px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 640px) {
  .time-table-block .time-table .time-text {
    font-size: 12px;
  }
}
.time-table-block .note-wrap {
  margin-top: 10px;
}
@media screen and (max-width: 640px) {
  .time-table-block .note-wrap {
    font-size: 0.875rem;
  }
}

#breadcrumb {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1em;
}
#breadcrumb ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 5px;
}
#breadcrumb ul > li {
  display: flex;
  align-items: center;
  font-size: 1em;
  margin-right: 0;
}
#breadcrumb ul > li::before {
  display: none;
}
#breadcrumb ul > li:not(:last-child)::after {
  display: inline-block;
  width: 0.3rem;
  height: 0.3rem;
  margin: 0 0.5rem;
  content: "";
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}
#breadcrumb ul > li a {
  color: #555;
  text-decoration: none;
  font-weight: 400;
  font-size: 1em;
}
#breadcrumb ul > li a:hover {
  text-decoration: none;
}
#breadcrumb ul > li:last-child a {
  color: #555 !important;
  font-weight: normal;
}
#breadcrumb ul > li:last-child a:visited, #breadcrumb ul > li:last-child a:hover, #breadcrumb ul > li:last-child a:focus {
  color: #555 !important;
}
#breadcrumb .link-top img {
  vertical-align: -0.1em;
}

.sub-visual-block {
  background-repeat: no-repeat;
  background-position: center;
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  background-size: cover;
  height: 40vh;
  position: relative;
  color: #fff;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 641px) {
  .sub-visual-block {
    min-height: 300px;
  }
}
.sub-visual-block .bg-overlay {
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
.sub-visual-block .container {
  position: relative;
  z-index: 2;
}
.sub-visual-block h1 {
  font-weight: bold;
  font-size: clamp(2.5rem, 4.166vw, 3.125rem);
}
.sub-visual-block .description-wrap {
  margin-top: 1em;
  line-height: 2;
  max-width: 550px;
}

.headline-news-block article {
  border-top: 1px solid #e4e4e4;
  padding: 15px 20px;
  gap: 10px 50px;
  display: flex;
}
@media screen and (max-width: 640px) {
  .headline-news-block article {
    flex-direction: column;
  }
}
.headline-news-block article:last-of-type {
  border-bottom: 1px solid #e4e4e4;
}
.headline-news-block article .date-wrap {
  display: flex;
  gap: 5px 15px;
  align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .headline-news-block article .date-wrap {
    gap: 5px;
  }
}
.headline-news-block article .date-wrap time {
  width: 6em;
}
.headline-news-block article .date-wrap .cate-text {
  min-width: 100px;
  border: 1px solid #8a8a8a;
  font-size: 0.875rem;
  text-align: center;
  line-height: 1.2;
}
.headline-news-block article .date-wrap .cate-text a {
  display: block;
  width: 100%;
  padding: 4px 10px;
}
.headline-news-block article .date-wrap .cate-text a:hover {
  text-decoration: none;
}
.headline-news-block article .post-title a {
  text-decoration: underline;
  font-size: 16px;
}
.headline-news-block article .post-title a:hover {
  text-decoration: none;
}

.headline-case-block {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.headline-case-block article {
  width: calc(50% - 15px);
}
@media screen and (max-width: 640px) {
  .headline-case-block article {
    width: 100%;
  }
}
.headline-case-block article a:hover {
  color: #555;
  text-decoration: none;
}
.headline-case-block article a:visited {
  color: #555;
}
.headline-case-block article a .img-wrap {
  aspect-ratio: 413/275;
}
.headline-case-block article a .img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.headline-case-block article a .text-wrap .prop-wrap {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.headline-case-block article a .text-wrap .prop-wrap time {
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  letter-spacing: 0.05em;
}
.headline-case-block article a .text-wrap .prop-wrap .blog-category-type::before {
  margin-right: 15px;
  content: "";
  width: 1px;
  height: 50%;
  background: #8a8a8a;
  display: inline-block;
}
.headline-case-block article a .text-wrap .prop-wrap .blog-category-type .cate-text {
  padding: 4px 10px;
  font-size: 0.875rem;
  text-align: center;
  border: 1px solid #8a8a8a;
  line-height: 1.2;
}
.headline-case-block article a .text-wrap .prop-wrap .blog-category-type:hover, .headline-case-block article a .text-wrap .prop-wrap .blog-category-type:focus, .headline-case-block article a .text-wrap .prop-wrap .blog-category-type:visited {
  text-decoration: none;
  color: #555;
}
.headline-case-block article a .text-wrap .post-title {
  margin-top: 20px;
  color: #555;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-family: "Noto Serif", serif;
}

.sns-icon-block {
  position: fixed;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 50;
}
@media screen and (max-width: 1024px) {
  .sns-icon-block {
    display: none;
  }
}
.sns-icon-block .sns-icon-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 33px;
  flex-direction: column;
}

.footer-sns-icon-block {
  margin-top: 30px;
}
@media screen and (max-width: 640px) {
  .footer-sns-icon-block {
    margin-top: 15px;
  }
}
.footer-sns-icon-block .follow-text {
  font-size: 0.75rem;
  margin-bottom: 10px;
}
.footer-sns-icon-block .sns-icon-list {
  display: flex;
  gap: 35px;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  .footer-sns-icon-block .sns-icon-list {
    justify-content: center;
  }
}

.img-slider-block {
  margin: 0 calc(50% - 50vw) 60px;
  width: 100vw;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .img-slider-block {
    margin-top: 40px;
  }
}
@media screen and (max-width: 640px) {
  .img-slider-block {
    margin-top: 20px;
    margin-bottom: 30px;
  }
}
.img-slider-block .inner {
  width: 90%;
  margin: 0 auto;
}
.img-slider-block .text-contents {
  position: absolute;
  width: 90%;
  left: 50%;
  z-index: 10;
  padding: 0 50px;
}
@media screen and (min-width: 641px) {
  .img-slider-block .text-contents {
    transform: translate(-50%, -50%);
    top: 50%;
  }
}
@media screen and (max-width: 640px) {
  .img-slider-block .text-contents {
    bottom: 5%;
    padding: 0 20px;
    transform: translateX(-50%);
  }
}
.img-slider-block .text-contents .copy-wrap {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.5;
  margin: 0;
}
.img-slider-block .text-contents .copy-wrap dd,
.img-slider-block .text-contents .copy-wrap dt {
  margin-bottom: 20px;
  box-shadow: 0 5px 0 #e9e3df;
  display: inline-block;
  border-radius: 50px;
  letter-spacing: 0.1em;
  background-color: #fff;
  padding: 0.4em 0.75em;
  font-size: clamp(2rem, 3.33vw, 2.5em);
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  .img-slider-block .text-contents .copy-wrap dd,
  .img-slider-block .text-contents .copy-wrap dt {
    border-radius: 25px;
    margin-bottom: 10px;
  }
}
.img-slider-block .text-contents .copy-wrap dd span:not([class]),
.img-slider-block .text-contents .copy-wrap dt span:not([class]) {
  color: #1587c3;
}
.img-slider-block .text-contents .discription-wrap {
  max-width: 380px;
  margin-left: 1em;
  line-height: 2.25;
  color: #fff;
  text-shadow: 0 0 10px #575757;
}
@media screen and (max-width: 640px) {
  .img-slider-block .text-contents .discription-wrap {
    display: none;
  }
}
.img-slider-block .slick-track {
  line-height: 0;
}
.img-slider-block .img-slider-wrap {
  background: #fff;
  border-radius: 40px;
  overflow: hidden;
  display: none;
}
@media screen and (max-width: 640px) {
  .img-slider-block .img-slider-wrap {
    border-radius: 20px;
  }
}
.img-slider-block .img-slider-wrap.slick-initialized {
  display: block;
}
.img-slider-block .img-slider-wrap .list-item {
  width: 100%;
  height: 622px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1441px) {
  .img-slider-block .img-slider-wrap .list-item {
    height: 70vh;
  }
}
@media screen and (max-width: 1024px) {
  .img-slider-block .img-slider-wrap .list-item {
    height: 400px;
  }
}
@media screen and (max-width: 640px) {
  .img-slider-block .img-slider-wrap .list-item {
    height: 60vh;
  }
}

.module-schedule-block-tab {
  text-align: center;
  margin-bottom: 74px;
}
@media screen and (max-width: 640px) {
  .module-schedule-block-tab {
    display: none;
    margin-top: 30px;
  }
}
.module-schedule-block-tab .flex-wrap {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 640px) {
  .module-schedule-block-tab .flex-wrap {
    width: 100%;
  }
}
.module-schedule-block-tab .flex-wrap .tab {
  padding: 8px 1em;
  cursor: pointer;
  text-align: center;
  width: 245px;
  color: #f79b24;
  font-family: Shippori Mincho B1;
  font-weight: 700;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .module-schedule-block-tab .flex-wrap .tab {
    width: 50%;
    font-size: 0.857rem;
  }
}
.module-schedule-block-tab .flex-wrap .tab-calendar {
  border: 1px solid #f79b24;
}
.module-schedule-block-tab .flex-wrap .tab-calendar.checked {
  background: #f79b24;
  color: #fff;
}
.module-schedule-block-tab .flex-wrap .tab-list {
  border: 1px solid #f79b24;
}
.module-schedule-block-tab .flex-wrap .tab-list::before {
  content: "";
  width: 18px;
  height: 18px;
}
@media screen and (max-width: 640px) {
  .module-schedule-block-tab .flex-wrap .tab-list::before {
    width: 13px;
    height: 13px;
  }
}
.module-schedule-block-tab .flex-wrap .tab-list.checked {
  background: #f79b24;
  color: #fff;
}

@media screen and (max-width: 640px) {
  .module-schedule-block {
    margin-top: 30px;
  }
}
.module-schedule-block ul {
  margin: 0;
  padding: 0;
}
.module-schedule-block ul li {
  padding: 0;
  margin: 0;
}
.module-schedule-block ul li::before {
  display: none;
}
.module-schedule-block .calendar-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .calendar-nav {
    margin-bottom: 1em;
  }
}
.module-schedule-block .calendar-nav a {
  text-decoration: none;
  color: #60432a;
}
.module-schedule-block .calendar-nav #nowSchedule {
  color: #836149;
  font-size: clamp(1.6em, 2.667vw, 2em);
  font-family: Shippori Mincho B1;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 1.6px;
  word-wrap: break-word;
  margin: 0 25px;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .calendar-nav #nowSchedule {
    margin: 0 15px;
  }
}
.module-schedule-block .calendar-nav #nowSchedule span {
  font-size: 1rem;
  margin-left: 1em;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .calendar-nav #nowSchedule span {
    font-size: 0.857rem;
  }
}
.module-schedule-block .calendar-nav button {
  width: auto;
  padding: 0;
  margin: 0;
  background: none;
  border: 0;
  font-size: 0;
  line-height: 0;
  overflow: visible;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.module-schedule-block .week-caption {
  font-weight: bold;
  color: #836149;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .week-caption {
    font-size: 0.857rem;
  }
}
.module-schedule-block .week-caption li {
  text-align: center;
  padding: 0.5em 1em;
  width: 14.2857142857%;
}
.module-schedule-block .week-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  background: #fff;
  border: 1px solid #836149;
  overflow: hidden;
}
.module-schedule-block .week-items a {
  color: #60432a;
  font-weight: normal;
}
.module-schedule-block .week-items dl {
  margin: 0;
  width: 14.2857142857%;
  padding: 1em 20px;
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
  .module-schedule-block .week-items dl {
    padding: 0.5em 0.6em;
  }
}
@media screen and (max-width: 640px) {
  .module-schedule-block .week-items dl {
    padding: 5px 1px;
  }
}
.module-schedule-block .week-items dl:nth-of-type(n + 8) {
  border-top: 1px solid #836149;
}
.module-schedule-block .week-items dl:not(:nth-of-type(7n)) {
  border-right: 1px solid #836149;
}
.module-schedule-block .week-items dl .day {
  font-weight: 700;
  margin-bottom: 5px;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .week-items dl .day {
    font-size: 0.714rem;
    padding-left: 4px;
    padding-right: 4px;
    margin-bottom: 3px;
  }
}
.module-schedule-block .week-items dl .day .youbi {
  display: none;
}
.module-schedule-block .week-items dl .detail {
  min-height: 50px;
  line-height: 1.3;
  font-size: 0.875rem;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .week-items dl .detail {
    min-height: 25px;
  }
}
.module-schedule-block .week-items dl .detail label {
  color: #fff;
  font-weight: 400;
  display: block;
  font-family: Noto Sans JP;
  text-align: center;
  font-size: 0.875rem;
  padding: 0.25em 0.75em;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .week-items dl .detail label {
    font-size: 0.714rem;
    padding: 0.25em 2px;
    font-weight: normal;
  }
}
.module-schedule-block .week-items dl .detail label:not(:first-of-type) {
  margin-top: 5px;
}
.module-schedule-block .week-items dl .detail .label-text {
  margin-top: 0.5em;
  margin-left: 0;
  margin-right: 0;
  font-size: 0.75rem;
  letter-spacing: 0;
  color: #957a62;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .week-items dl .detail .label-text {
    font-size: 0.679rem;
    margin-top: 0.25em;
  }
}
.module-schedule-block .week-items dl .detail .day-text {
  margin-top: 0.5em;
  margin-left: 0;
  margin-right: 0;
  font-size: 0.875rem;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .week-items dl .detail .day-text {
    font-size: 0.714rem;
    margin-top: 0.25em;
  }
}
.module-schedule-block .week-items dl:nth-child(7n+1) .day {
  color: #ff8b71;
}
.module-schedule-block .week-items dl:nth-child(7n) .day {
  color: #21a2ff;
}
.module-schedule-block .week-items dl.today {
  background: #fff1e2 !important;
}
.module-schedule-block.row-vertical .week-caption {
  display: none;
}
.module-schedule-block.row-vertical .week-items {
  border: none;
  border-radius: 0;
  display: block;
  border-top: 1px solid #c3aea1;
}
.module-schedule-block.row-vertical .week-items dl {
  display: flex;
  width: 100%;
  border: none;
  padding: 1em 20px;
  line-height: 1.6;
  border-bottom: 1px solid #c3aea1;
}
@media screen and (max-width: 640px) {
  .module-schedule-block.row-vertical .week-items dl {
    padding: 0.5em 1em;
  }
}
.module-schedule-block.row-vertical .week-items dl:nth-of-type(2n) {
  background-color: #efefef;
}
.module-schedule-block.row-vertical .week-items dl dt,
.module-schedule-block.row-vertical .week-items dl dd {
  text-align: left;
  line-height: 1.6;
}
.module-schedule-block.row-vertical .week-items dl dt label,
.module-schedule-block.row-vertical .week-items dl dd label {
  width: auto;
  display: inline-block;
  margin: 5px;
  min-width: 130px;
}
@media screen and (max-width: 640px) {
  .module-schedule-block.row-vertical .week-items dl dt label,
  .module-schedule-block.row-vertical .week-items dl dd label {
    min-width: auto;
    padding-left: 1em;
    padding-right: 1em;
    margin: 3px;
  }
}
.module-schedule-block.row-vertical .week-items dl dt {
  width: 10em;
}
@media screen and (max-width: 640px) {
  .module-schedule-block.row-vertical .week-items dl dt {
    width: 6em;
  }
}
.module-schedule-block.row-vertical .week-items dl dt .youbi {
  display: inline;
}
.module-schedule-block.row-vertical .week-items dl dd {
  min-height: 1em;
  width: calc(100% - 10em);
}
@media screen and (max-width: 640px) {
  .module-schedule-block.row-vertical .week-items dl dd {
    width: calc(100% - 6em);
  }
}
.module-schedule-block.row-vertical .week-items dl dd .label-text,
.module-schedule-block.row-vertical .week-items dl dd .day-text {
  margin: 5px;
  display: inline;
}
@media screen and (max-width: 640px) {
  .module-schedule-block.row-vertical .week-items dl dd .label-text,
  .module-schedule-block.row-vertical .week-items dl dd .day-text {
    margin: 3px;
  }
}
.module-schedule-block.row-vertical .week-items dl.space {
  display: none;
}
.module-schedule-block.row-vertical .week-items .prev-week-day,
.module-schedule-block.row-vertical .week-items .next-week-day {
  display: none;
}

.common-event-summary {
  margin-bottom: 80px;
}
@media screen and (max-width: 640px) {
  .common-event-summary {
    margin-bottom: 40px;
  }
}
.common-event-summary article {
  padding-bottom: 30px;
  margin-bottom: 30px;
  background-image: linear-gradient(to right, #d6d6d6 3px, transparent 3px);
  background-size: 6px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}
@media screen and (max-width: 640px) {
  .common-event-summary article {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
}
.common-event-summary article .title {
  font-size: clamp(1.1rem, 1.833vw, 1.375rem);
  font-weight: bold;
  margin-bottom: 5px;
}
.common-event-summary article .title a:hover, .common-event-summary article .title a:focus, .common-event-summary article .title a:visited {
  color: #222;
  text-decoration: none;
}
.common-event-summary article .title .em-disp-wrap {
  vertical-align: 0.2em;
  display: inline-block;
  background: #d1215e;
  font-weight: bold;
  font-size: 0.875rem;
  color: #fff;
  padding: 2px 10px;
  margin: 5px 0;
}
@media screen and (max-width: 640px) {
  .common-event-summary article .title .em-disp-wrap {
    font-size: 0.857rem;
    padding: 3px 5px;
  }
}
.common-event-summary article .info-wrap .kaisai {
  position: relative;
  padding-left: 1.3em;
  font-size: 1.125rem;
}
.common-event-summary article .info-wrap .kaisai::before {
  content: "";
  background: url(../images/unit/project-202307/icon_calender.svg) no-repeat center/contain;
  position: absolute;
  width: 0.77em;
  height: 0.88em;
  display: block;
  left: 0;
  top: 0.5em;
}
.common-event-summary article .free {
  font-size: 0.875rem;
  margin-top: 0.5em;
}

#event__entry__contents #article-header {
  margin-bottom: 0;
}
#event__entry__contents #article-header .label-open {
  border: 1px solid #f93227;
  display: block;
  width: 100%;
  text-align: center;
  color: #f93227;
  font-weight: bold;
  margin-bottom: 1.5em;
  padding: 0.5em 1em;
  border-radius: 3px;
  font-size: 1.125rem;
}
#event__entry__contents .overview-wrap {
  margin-bottom: 2em;
}
#event__entry__contents .overview-wrap .kaisai {
  display: flex;
  gap: 1em;
}
#event__entry__contents .overview-wrap .kaisai dt {
  width: 5em;
  background: #1587c3;
  color: #fff;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
}
#event__entry__contents .overview-wrap .kaisai dd {
  width: calc(100% - 5em);
}

/**
 * Parts
 */
.action-block {
  margin: 1.8em 15px;
}
.action-block .text-contents {
  padding: 40px;
  background: #e9e3df;
  border-radius: 30px;
}
@media screen and (max-width: 640px) {
  .action-block .text-contents {
    padding: 30px 20px;
  }
}
.action-block .text-contents .title {
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  text-align: center;
  font-size: clamp(1.14rem, 2.33vw, 1.75rem);
}
.action-block .text-contents .tel-wrap {
  text-align: center;
  margin-bottom: 1em;
}
.action-block .text-contents .tel-wrap a {
  font-size: clamp(1.85rem, 3.0833vw, 2.3175rem);
  color: #fff;
  background: #1587c3;
  padding: 0.5em 3.8em;
  display: inline-block;
  border-radius: 50px;
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  .action-block .text-contents .tel-wrap a {
    width: 100%;
    padding: 10px 1rem;
  }
}
.action-block .text-contents .tel-wrap a:hover, .action-block .text-contents .tel-wrap a:visited, .action-block .text-contents .tel-wrap a:focus {
  text-decoration: none;
  color: #fff;
}
.action-block .text-contents .tel-wrap a::before {
  content: "";
  display: inline-block;
  background: url(../images/common/icon_tel_w.svg) no-repeat;
  background-size: contain;
  width: 0.6em;
  height: 0.8em;
  margin-right: 10px;
  vertical-align: baseline;
}
.action-block .text-contents .info-wrap {
  text-align: center;
  font-weight: bold;
}
.action-block .text-contents .info-wrap span {
  display: inline-block;
}

.search-form-content form {
  display: flex;
}
.search-form-content form input[type=search] {
  padding: 0.5em;
  width: calc(100% - 56px);
  border: 1px solid #dedede;
}
.search-form-content form .search-submit-btn {
  background: #f79b24;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  width: 56px;
}

#sec__department__menu ul {
  max-width: 839px;
  margin: 50px auto 0;
}
@media screen and (min-width: 641px) {
  #sec__department__menu ul {
    gap: 50px 60px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 640px) {
  #sec__department__menu ul {
    margin-top: 25px;
    gap: 30px 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 85vw;
    margin-left: auto;
    margin-right: auto;
  }
}
#sec__department__menu ul li {
  text-align: center;
  width: 119px;
}
@media screen and (max-width: 640px) {
  #sec__department__menu ul li {
    width: auto;
  }
}
#sec__department__menu ul li a figure {
  max-width: 119px;
  transition-duration: 0.3s;
  margin: 0 auto 19px;
}
@media screen and (max-width: 640px) {
  #sec__department__menu ul li a figure {
    margin-bottom: 10px;
  }
}
#sec__department__menu ul li a:hover {
  text-decoration: none;
  opacity: 1;
}
#sec__department__menu ul li a:hover figure {
  opacity: 0.7;
}
#sec__department__menu ul li a .text span {
  display: inline-block;
}

.sec-hours {
  background: #f1f1f1;
}
.sec-hours .flex-wrap {
  display: flex;
  justify-content: space-between;
  gap: 20px 30px;
}
@media screen and (max-width: 1024px) {
  .sec-hours .flex-wrap {
    flex-direction: column;
  }
}
.sec-hours .text-wrap {
  flex: 1;
}
.sec-hours .text-wrap h2 {
  max-width: 555px;
  width: 100%;
}
.sec-hours .text-wrap address {
  font-style: normal;
}
.sec-hours .text-wrap address .address-text {
  margin-top: 5px;
  font-size: 1rem;
}
.sec-hours .text-wrap address .tel-text {
  font-size: 1.75rem;
  margin-top: 5px;
  display: block;
  font-family: Lusitana;
}
.sec-hours .text-wrap address .tel-text span {
  font-size: 0.64em;
  margin-right: 10px;
  display: inline-block;
}
.sec-hours .text-wrap .banner-wrap {
  display: flex;
  gap: 30px;
  margin-top: 30px;
}
@media screen and (max-width: 640px) {
  .sec-hours .text-wrap .banner-wrap {
    gap: 20px;
  }
}
.sec-hours .text-wrap .btn-wrap {
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  .sec-hours .text-wrap .btn-wrap .common-link-btn {
    font-size: 1rem;
  }
}
.sec-hours .time-table-wrap {
  width: 47%;
}
@media screen and (max-width: 1024px) {
  .sec-hours .time-table-wrap {
    width: 100%;
  }
}

.news-headline-type1-block {
  margin: 50px 15px 100px;
}
@media screen and (max-width: 640px) {
  .news-headline-type1-block {
    margin: 30px 15px 50px;
  }
}
.news-headline-type1-block .entry-common-btn {
  margin: 0;
}
@media screen and (max-width: 640px) {
  .news-headline-type1-block .entry-common-btn {
    margin-top: 1em;
    text-align: right;
  }
}
.news-headline-type1-block .inner {
  max-width: 800px;
  margin: 0 auto;
}
.news-headline-type1-block .head-contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1em;
}
.news-headline-type1-block .head-contents h2 {
  margin: 0;
}

.information-headline-block {
  margin: 50px 15px;
}
@media screen and (max-width: 640px) {
  .information-headline-block {
    margin: 30px 15px;
  }
}
.information-headline-block .entry-common-btn {
  margin: 0;
}
.information-headline-block .inner {
  background: #e4edf2;
  border-radius: 30px;
  padding: 40px 60px 50px;
}
@media screen and (max-width: 640px) {
  .information-headline-block .inner {
    padding: 25px 20px;
    border-radius: 15px;
  }
}
.information-headline-block .block-title {
  border-radius: 10px;
  font-size: clamp(1.66rem, 2.33vw, 2rem);
  color: #1587c3;
  position: relative;
  font-weight: bold;
  line-height: 1.5;
  margin-left: 0;
  margin-right: 0;
}
.information-headline-block .top-contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .information-headline-block .headline-contents {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 640px) {
  .information-headline-block .headline-contents {
    margin-bottom: 15px;
  }
}
.information-headline-block .headline-contents .post-title {
  margin: 0;
}
.information-headline-block .headline-contents .post-title a {
  color: #222;
  text-decoration: none;
}
.information-headline-block .headline-contents .post-title a:hover, .information-headline-block .headline-contents .post-title a:visited, .information-headline-block .headline-contents .post-title a:focus {
  color: #222;
  text-decoration: none;
}
.information-headline-block .headline-contents .blog-sub-category a {
  background-color: #fff;
}

.parts-clinic-details {
  max-width: 980px;
}
.parts-clinic-details dl {
  display: flex;
  gap: 0;
}
.parts-clinic-details dl dt {
  max-width: 200px;
  width: 25%;
  border-bottom: 2px solid #8a8a8a;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .parts-clinic-details dl dt {
    width: 80px;
    padding: 10px;
    white-space: nowrap;
  }
}
.parts-clinic-details dl dd {
  flex: 1;
  padding: 20px;
  border-bottom: 2px solid #e4e4e4;
}
@media screen and (max-width: 640px) {
  .parts-clinic-details dl dd {
    padding: 10px;
  }
}
.parts-clinic-details dl .logo-flex {
  display: flex;
  gap: 15px;
  margin-top: 5px;
  align-items: center;
  flex-wrap: wrap;
}
.parts-clinic-details dl .logo-flex .flex-item {
  width: 61px;
}

/**
 * admin
 */
.admin-text-marker {
  background-image: linear-gradient(transparent 60%, #ffff8e 60%);
  font-weight: bold;
}

.admin-text-red {
  color: #e54343;
}

.admin-text-blue {
  color: #2968f7;
}

.admin-alert {
  font-size: 0.875rem;
  font-weight: bold;
  border: 1px solid #bcbcbc;
  margin: 1.5em 15px;
  color: #797979;
  padding: 20px;
  background: #f2f2f2;
  border-radius: 5px;
}

.admin-font-size-small {
  font-size: 0.875em;
}

.admin-font-size-medium {
  font-size: 1.625em;
}
@media screen and (max-width: 640px) {
  .admin-font-size-medium {
    font-size: 1.35em;
  }
}

.admin-font-size-large {
  font-size: 2em;
}
@media screen and (max-width: 640px) {
  .admin-font-size-large {
    font-size: 1.6em;
  }
}
