/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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]!./src/js/readmore/readmore.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************/
.read-more-toggle {
  margin-top: 0.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background: transparent;
  line-height: 1.2;
  -webkit-tap-highlight-color: transparent;
}

.read-more-wrapper {
  margin-top: 1em;
  display: block;
  text-align: center;
}

.read-more-wrapper .read-more-toggle {
  position: relative;
  display: inline-block;
  padding-right: 1.5em;
  color: #1997b4;
}

.read-more-wrapper.is-collapsed .read-more-toggle::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 1px #1997b4;
  border-right: solid 1px #1997b4;
  transform: translateY(-50%) rotate(135deg);
  position: absolute;
  top: 50%;
  right: 0;
  margin: auto;
}

.read-more-wrapper.is-expanded .read-more-toggle::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-bottom: solid 1px #1997b4;
  border-right: solid 1px #1997b4;
  transform: translateY(-50%) rotate(-135deg);
  position: absolute;
  top: 50%;
  right: 0;
  margin: auto;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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;
}
@media screen and (max-width: 640px) {
  html {
    font-size: 14px;
  }
}

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: #222;
  text-decoration: none;
  transition-duration: 0.3s;
}
a:hover {
  opacity: 0.85;
}

/* ::::::::::::::::::::::::::::::
	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);
}

/**
 * モジュール
 */
.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 2em;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

/**
 * 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 {
  padding-top: 92px;
}
#footer .logo-img-wrap {
  max-width: 300px;
  margin: 0 auto;
}
#footer .information-wrap {
  margin-top: 50px;
  margin-bottom: 55px;
  display: grid;
  grid-template-columns: auto auto;
  gap: 125px;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  #footer .information-wrap {
    gap: 50px;
  }
}
@media screen and (max-width: 640px) {
  #footer .information-wrap {
    display: block;
  }
}
#footer .information-wrap .left-wrap .address {
  color: black;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 300;
  text-align: center;
}
#footer .information-wrap .left-wrap .book-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 17px;
}
@media screen and (max-width: 1024px) {
  #footer .information-wrap .left-wrap .book-wrap {
    gap: 12px;
  }
}
#footer .information-wrap .left-wrap .book-wrap .link-wrap {
  background-color: rgba(32, 177, 141, 0.8);
}
#footer .information-wrap .left-wrap .book-wrap .link-wrap a {
  position: relative;
  display: block;
  padding: 16px 50px;
  color: white;
  font-size: clamp(1em, 1.667vw, 1.25em);
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
  letter-spacing: 0;
  overflow: hidden;
  background-color: transparent;
  isolation: isolate;
}
@media screen and (max-width: 1024px) {
  #footer .information-wrap .left-wrap .book-wrap .link-wrap a {
    font-size: 14px;
    padding: 15px 30px;
  }
}
#footer .information-wrap .left-wrap .book-wrap .link-wrap a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, #1c98b6, #20b18d, #1c98b6);
  background-size: 200% 100%;
  background-position: 0% 0%;
  transition: background-position 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  z-index: -1;
}
#footer .information-wrap .left-wrap .book-wrap .link-wrap a:hover::before {
  background-position: 100% 0%;
}
#footer .information-wrap .left-wrap .book-wrap .link-wrap a:hover {
  text-decoration: none;
}
#footer .information-wrap .right-wrap {
  width: 490px;
}
@media screen and (max-width: 1024px) {
  #footer .information-wrap .right-wrap {
    width: 100%;
  }
}
#footer .information-wrap .right-wrap .sns-wrap {
  display: flex;
  gap: 20px;
  margin-top: 25px;
}
@media screen and (max-width: 640px) {
  #footer .information-wrap .right-wrap .sns-wrap {
    justify-content: center;
  }
}
#footer .information-wrap .right-wrap .sns-wrap a {
  max-width: 50px;
}
#footer iframe {
  width: 100%;
  max-height: 420px;
}
@media screen and (max-width: 640px) {
  #footer iframe {
    max-height: 300px;
  }
}
#footer .foot-nav {
  margin-top: 30px;
}
#footer .foot-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 15px;
  justify-content: center;
  max-width: 70%;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  #footer .foot-nav ul {
    display: none;
  }
}
#footer .foot-nav ul li:not(:first-child)::before {
  content: "/";
}
#footer .foot-nav ul li a {
  color: black;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 300;
  margin-left: 15px;
}
#footer .copyright-wrap {
  padding: 50px 15px;
  text-align: center;
  color: black;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (max-width: 640px) {
  #footer .copyright-wrap {
    padding: 30px 15px;
  }
}

#sp-reserve {
  display: none;
}
@media screen and (max-width: 640px) {
  #sp-reserve {
    display: block;
  }
}
#sp-reserve #reserve-links {
  align-items: center;
  bottom: 0;
  display: flex;
  justify-content: space-around;
  position: fixed;
  width: 100%;
  z-index: 98;
}
#sp-reserve #reserve-links a {
  color: #fff;
  display: inline-block;
  font-family: Noto Sans JP;
  font-size: 16px;
  font-weight: bold;
  height: 100%;
  padding: 18px 15px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%;
}
#sp-reserve #reserve-links a.web-link {
  background-color: #20b18d;
  color: #fff;
  width: 50%;
}
#sp-reserve #reserve-links a.web-link span {
  position: relative;
}
#sp-reserve #reserve-links a.web-link span::before {
  background-image: url("../images/common/icon_reserve.svg");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 31px;
  left: -1.5em;
  position: absolute;
  top: 78%;
  transform: translateY(-50%);
  width: 20px;
}
#sp-reserve #reserve-links a.phone-link {
  background-color: #1c98b6;
  height: 100%;
  width: 50%;
}
#sp-reserve #reserve-links a.phone-link span {
  position: relative;
}
#sp-reserve #reserve-links a.phone-link span::before {
  background-image: url("../images/common/icon_phone.svg");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 31px;
  left: -1.5em;
  position: absolute;
  top: 78%;
  transform: translateY(-50%);
  width: 20px;
}

/* ------------------------------
　　サイドバー
------------------------------ */
#sidebar {
  margin-bottom: 100px;
}
@media screen and (max-width: 640px) {
  #sidebar {
    margin-bottom: 50px;
  }
}
#sidebar .entries {
  padding: 25px 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
  #sidebar .entries {
    padding: 10px;
  }
}
#sidebar .entries .sidebar-title {
  font-weight: 700;
  font-size: 16px;
  position: relative;
  margin-bottom: 0.8em;
  padding-bottom: 0.8em;
  border-bottom: 1px dotted #000;
}
#sidebar .entries a {
  color: #222;
  text-decoration: none;
}
#sidebar .entries a:hover, #sidebar .entries a:visited, #sidebar .entries a:focus {
  text-decoration: none;
  color: #222;
}
#sidebar .entries ul {
  font-size: 0.875rem;
}
#sidebar .entries ul ul {
  padding-left: 0.5em;
}
#sidebar .entries ul ul li::before {
  content: "└";
  margin-right: 0.25em;
}
#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: #1587c3;
  position: absolute;
  left: 0;
  top: 0.7em;
}
#sidebar #archive-content {
  display: none;
}
#sidebar #new-articles-content .article-list li {
  padding: 15px 0;
  border-bottom: 1px solid #000;
}
#sidebar #new-articles-content .article-list li:first-child {
  padding-top: 0;
}
#sidebar #new-articles-content .article-list .info-wrap {
  margin-top: 2px;
  color: #000;
  font-weight: 400;
  font-size: 14px;
  font-family: "Noto Sans JP";
}
#sidebar #new-articles-content .article-list .info-wrap .blog-category-type {
  margin-left: 5px;
  display: inline-block;
  position: relative;
  padding-left: 10px;
}
#sidebar #new-articles-content .article-list .info-wrap .blog-category-type::before {
  content: "";
  width: 1px;
  height: 50%;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  background: #222;
  position: absolute;
  left: 0;
}
#sidebar #new-articles-content .article-list .info-wrap .blog-category-type a {
  color: #999;
  text-decoration: none;
}
#sidebar #new-articles-content .article-list .info-wrap .blog-category-type a:hover, #sidebar #new-articles-content .article-list .info-wrap .blog-category-type a:focus, #sidebar #new-articles-content .article-list .info-wrap .blog-category-type a:visited {
  text-decoration: none;
  color: #999;
}
#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: #222;
  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: #1587c3;
  font-weight: bold;
  text-decoration: underline;
}
.entry-base a:hover, .entry-base a:focus, .entry-base a:visited {
  color: #1587c3;
  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: #1587c3;
  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: #222;
}

/**
 * 目次
 * - マーカー
 * - ノート風罫線
 * - 中黒リスト
 * - 番号付きリスト
 * - 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;
}

/**
 * Category
 */
#page-department-entry .page-title-wrap {
  padding: 70px 15px 120px 15px;
}
@media screen and (max-width: 640px) {
  #page-department-entry .page-title-wrap {
    padding: 35px 15px 60px 15px;
  }
}
#page-department-entry .page-title-wrap .title-s1 {
  margin-bottom: 0;
}
#page-department-entry .table-wrap #dent-test th {
  width: 10%;
}
@media screen and (max-width: 640px) {
  #page-department-entry .table-wrap #dent-test th {
    width: 20%;
  }
}
#page-department-entry .table-wrap #dent-test td {
  width: 90%;
}
@media screen and (max-width: 640px) {
  #page-department-entry .table-wrap #dent-test td {
    width: 80%;
  }
}
#page-department-entry .table-wrap #gas-treatment2 th,
#page-department-entry .table-wrap #gas-test1 th,
#page-department-entry .table-wrap #gas-test2 th {
  width: 15%;
}
@media screen and (max-width: 640px) {
  #page-department-entry .table-wrap #gas-treatment2 th,
  #page-department-entry .table-wrap #gas-test1 th,
  #page-department-entry .table-wrap #gas-test2 th {
    width: 30%;
  }
}
#page-department-entry .table-wrap #gas-treatment2 td,
#page-department-entry .table-wrap #gas-test1 td,
#page-department-entry .table-wrap #gas-test2 td {
  width: 85%;
}
@media screen and (max-width: 640px) {
  #page-department-entry .table-wrap #gas-treatment2 td,
  #page-department-entry .table-wrap #gas-test1 td,
  #page-department-entry .table-wrap #gas-test2 td {
    width: 70%;
  }
}
#page-department-entry .table-wrap #opt-test th {
  width: 21%;
}
@media screen and (max-width: 640px) {
  #page-department-entry .table-wrap #opt-test th {
    width: 35%;
  }
}
#page-department-entry .table-wrap #opt-test td {
  width: 79%;
}
@media screen and (max-width: 640px) {
  #page-department-entry .table-wrap #opt-test td {
    width: 65%;
  }
}
#page-department-entry .table-wrap #res-test2 th,
#page-department-entry .table-wrap #neuro-treatment-ex th {
  width: 25%;
}
@media screen and (max-width: 640px) {
  #page-department-entry .table-wrap #res-test2 th,
  #page-department-entry .table-wrap #neuro-treatment-ex th {
    width: 50%;
  }
}
#page-department-entry .table-wrap #res-test2 td,
#page-department-entry .table-wrap #neuro-treatment-ex td {
  width: 75%;
}
@media screen and (max-width: 640px) {
  #page-department-entry .table-wrap #res-test2 td,
  #page-department-entry .table-wrap #neuro-treatment-ex td {
    width: 50%;
  }
}
#page-department-entry .table-wrap #neuro-treatment th,
#page-department-entry .table-wrap #uro-test th,
#page-department-entry .table-wrap #gas-treatment1 th,
#page-department-entry .table-wrap #derma-test th,
#page-department-entry .table-wrap #hem-treatment th {
  width: 30%;
}
@media screen and (max-width: 640px) {
  #page-department-entry .table-wrap #neuro-treatment th,
  #page-department-entry .table-wrap #uro-test th,
  #page-department-entry .table-wrap #gas-treatment1 th,
  #page-department-entry .table-wrap #derma-test th,
  #page-department-entry .table-wrap #hem-treatment th {
    width: 50%;
  }
}
#page-department-entry .table-wrap #neuro-treatment td,
#page-department-entry .table-wrap #uro-test td,
#page-department-entry .table-wrap #gas-treatment1 td,
#page-department-entry .table-wrap #derma-test td,
#page-department-entry .table-wrap #hem-treatment td {
  width: 70%;
}
@media screen and (max-width: 640px) {
  #page-department-entry .table-wrap #neuro-treatment td,
  #page-department-entry .table-wrap #uro-test td,
  #page-department-entry .table-wrap #gas-treatment1 td,
  #page-department-entry .table-wrap #derma-test td,
  #page-department-entry .table-wrap #hem-treatment td {
    width: 50%;
  }
}
#page-department-entry .table-wrap #ortho-treatment tr th,
#page-department-entry .table-wrap #ortho-treatment tr td,
#page-department-entry .table-wrap #oncology-treatment tr th,
#page-department-entry .table-wrap #oncology-treatment tr td,
#page-department-entry .table-wrap #opt-treatment tr th,
#page-department-entry .table-wrap #opt-treatment tr td {
  padding: 15px 10px;
  vertical-align: middle;
}
#page-department-entry .table-wrap #ortho-treatment th,
#page-department-entry .table-wrap #oncology-treatment th,
#page-department-entry .table-wrap #opt-treatment th {
  width: 35%;
}
#page-department-entry .table-wrap #ortho-treatment td,
#page-department-entry .table-wrap #oncology-treatment td,
#page-department-entry .table-wrap #opt-treatment td {
  width: 65%;
}
#page-department-entry .table-wrap #uro-treatment th {
  width: 40%;
}
@media screen and (max-width: 640px) {
  #page-department-entry .table-wrap #uro-treatment th {
    width: 50%;
  }
}
#page-department-entry .table-wrap #uro-treatment td {
  width: 60%;
}
@media screen and (max-width: 640px) {
  #page-department-entry .table-wrap #uro-treatment td {
    width: 50%;
  }
}
#page-department-entry .table-wrap #oncology-test th {
  width: 45%;
}
#page-department-entry .table-wrap #oncology-test td {
  width: 55%;
}
#page-department-entry .table-wrap #res-treatment th,
#page-department-entry .table-wrap #dent-treatment th {
  width: 52%;
}
#page-department-entry .table-wrap #res-treatment td,
#page-department-entry .table-wrap #dent-treatment td {
  width: 48%;
}
#page-department-entry .table-wrap #res-test1 th {
  width: 62%;
}
#page-department-entry .table-wrap #res-test1 td {
  width: 38%;
}
#page-department-entry .table-wrap .end-note {
  font-size: 1.125em;
  color: #463818;
  font-weight: 300;
}
#page-department-entry .table-wrap .end-note.p-top {
  padding-top: 20px;
}
#page-department-entry #sec__symptoms {
  color: #463818;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-family: Zen Kaku Gothic New;
}
#page-department-entry #sec__symptoms .content-wrap {
  max-width: 1074px;
  margin: 0 auto;
  text-align: center;
}
#page-department-entry #sec__symptoms h2 {
  font-size: clamp(1.4em, 2.333vw, 1.75em);
  margin-bottom: 35px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__symptoms h2 {
    font-size: 16px;
    margin-bottom: 16px;
  }
}
#page-department-entry #sec__symptoms .bg-wrap {
  padding-bottom: 80px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__symptoms .bg-wrap {
    padding-bottom: 40px;
  }
}
#page-department-entry #sec__symptoms .bg-wrap .symptoms-list-wrap {
  position: relative;
}
#page-department-entry #sec__symptoms .bg-wrap .symptoms-list-wrap ul {
  padding-bottom: 20px;
}
#page-department-entry #sec__symptoms .bg-wrap .symptoms-list-wrap ul li {
  font-size: clamp(1.1em, 1.833vw, 1.375em);
  padding-bottom: 15px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__symptoms .bg-wrap .symptoms-list-wrap ul li {
    font-size: 14px;
  }
}
#page-department-entry #sec__symptoms .bg-wrap .symptoms-list-wrap ul li:last-of-type {
  padding-bottom: 0;
}
#page-department-entry #sec__disease .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-department-entry #sec__disease .disease-item {
  margin-bottom: 100px;
  font-weight: 300;
  font-size: 1em;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
  font-family: Noto Sans JP;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__disease .disease-item {
    margin-bottom: 40px;
  }
}
#page-department-entry #sec__disease .disease-item:last-of-type {
  margin-bottom: 0;
}
#page-department-entry #sec__disease .disease-item .text-wrap {
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__disease .disease-item .text-wrap {
    margin-bottom: 15px;
  }
}
#page-department-entry #sec__disease .disease-item .text-wrap ul {
  margin-bottom: 15px;
}
#page-department-entry #sec__disease .disease-item .img-wrap figure img {
  margin-bottom: 10px;
}
#page-department-entry #sec__disease .disease-item .img-wrap figure figcaption {
  text-align: center;
  font-size: 14px;
}
#page-department-entry #sec__disease .disease-item #cardio-1 {
  text-align: center;
  max-width: 422px;
  width: 100%;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__disease .disease-item #cardio-1 {
    max-width: 300px;
    margin: 0 auto;
  }
}
#page-department-entry #sec__disease .disease-item #cardio-2 {
  display: flex;
  -moz-column-gap: 30px;
       column-gap: 30px;
  max-width: 666px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__disease .disease-item #cardio-2 {
    flex-direction: column;
    row-gap: 15px;
  }
}
#page-department-entry #sec__disease .disease-item #cardio-2 figure {
  width: 50%;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__disease .disease-item #cardio-2 figure {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }
}
#page-department-entry #sec__disease .disease-item #cardio-3,
#page-department-entry #sec__disease .disease-item #ortho-1,
#page-department-entry #sec__disease .disease-item #ortho-2,
#page-department-entry #sec__disease .disease-item #derma-1,
#page-department-entry #sec__disease .disease-item #opt-1,
#page-department-entry #sec__disease .disease-item #opt-2,
#page-department-entry #sec__disease .disease-item #dent-1,
#page-department-entry #sec__disease .disease-item #dent-2,
#page-department-entry #sec__disease .disease-item #dent-3,
#page-department-entry #sec__disease .disease-item #dent-4 {
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
}
#page-department-entry #sec__disease .disease-item #respiratory-1 {
  display: flex;
  -moz-column-gap: 30px;
       column-gap: 30px;
  max-width: 950px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__disease .disease-item #respiratory-1 {
    -moz-column-gap: 15px;
         column-gap: 15px;
    row-gap: 15px;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__disease .disease-item #respiratory-1 figure:first-child,
  #page-department-entry #sec__disease .disease-item #respiratory-1 figure:nth-child(3) {
    max-width: 54%;
  }
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__disease .disease-item #respiratory-1 figure:nth-child(2) {
    max-width: 40%;
  }
}
#page-department-entry #sec__disease .disease-item #respiratory-2 {
  display: flex;
  -moz-column-gap: 30px;
       column-gap: 30px;
  max-width: 672px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__disease .disease-item #respiratory-2 {
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
}
#page-department-entry #sec__disease .disease-item #respiratory-3 {
  max-width: 450px;
  width: 100%;
  margin-bottom: 30px;
}
#page-department-entry #sec__disease .disease-item #respiratory-4 {
  max-width: 582px;
  width: 100%;
}
#page-department-entry #sec__disease .disease-item #respiratory-4 figcaption {
  text-align: left;
}
#page-department-entry #sec__disease .disease-item #gas-1 {
  display: flex;
  -moz-column-gap: 30px;
       column-gap: 30px;
  max-width: 621px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__disease .disease-item #gas-1 {
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
}
#page-department-entry #sec__disease .disease-item #derma-2,
#page-department-entry #sec__disease .disease-item #derma-3 {
  max-width: 295px;
  width: 100%;
  margin: 0 auto;
}
#page-department-entry #sec__disease .disease-item #derma-2 img {
  transform: scaleY(-1);
}
#page-department-entry #sec__disease .disease-item #opt-3 {
  max-width: 766px;
  width: 100%;
}
#page-department-entry #sec__disease .disease-item .item-flex {
  display: flex;
  -moz-column-gap: 30px;
       column-gap: 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__disease .disease-item .item-flex {
    flex-direction: column;
    row-gap: 15px;
  }
}
#page-department-entry #sec__disease .disease-item .item-flex .text-wrap {
  max-width: 870px;
  width: 100%;
}
#page-department-entry #sec__pricelist {
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#page-department-entry #sec__pricelist .content-wrap {
  max-width: 1000px;
  margin: 0 auto;
}
#page-department-entry #sec__specialist {
  font-weight: 400;
  color: #463818;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-family: Noto Sans JP;
}
#page-department-entry #sec__specialist .content-wrap {
  max-width: 950px;
  margin: 0 auto;
}
#page-department-entry #sec__information {
  background-color: #f2f5e4;
}
#page-department-entry #sec__information > h2 {
  font-family: "Shippori Mincho";
  font-weight: 400;
  font-size: clamp(1.4em, 2.333vw, 1.75em);
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__information > h2 {
    font-size: 18px;
    margin-bottom: 30px;
  }
}
#page-department-entry #sec__information a {
  color: #463818;
}
#page-department-entry #sec__introduction {
  color: #463818;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-family: Zen Kaku Gothic New;
  font-size: clamp(1.2em, 2vw, 1.5em);
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__introduction {
    font-size: 14px;
  }
}
#page-department-entry #sec__introduction h2 {
  font-size: clamp(1.4rem, 2.333vw, 1.75rem);
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__introduction h2 {
    margin-bottom: 30px;
    font-size: 18px;
  }
}
#page-department-entry #sec__introduction .content-wrap {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 15px 100px 15px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__introduction .content-wrap {
    padding: 0 15px 50px 15px;
  }
}
#page-department-entry #sec__introduction .content-wrap.reha {
  padding: 0 15px 70px 15px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__introduction .content-wrap.reha {
    padding: 0 15px 40px 15px;
  }
}
#page-department-entry #sec__introduction .text-wrap {
  margin-bottom: 70px;
}
#page-department-entry #sec__introduction .text-wrap p {
  padding-bottom: 40px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__introduction .text-wrap p {
    padding-bottom: 20px;
  }
}
#page-department-entry #sec__introduction .text-wrap p:last-of-type {
  padding-bottom: 0;
}
#page-department-entry #sec__introduction .text-wrap.reha {
  margin-bottom: 0;
}
#page-department-entry #sec__introduction .img-wrap {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__introduction .img-wrap {
    flex-wrap: wrap;
    gap: 15px;
  }
}
#page-department-entry #sec__introduction .img-wrap figure {
  min-height: 200px;
  height: 100%;
  max-width: 223px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__introduction .img-wrap figure {
    max-width: 150px;
  }
}
#page-department-entry #sec__introduction .img-wrap figure .caption {
  display: block;
  line-height: 1.8;
  font-weight: 300;
  font-size: 1.125rem;
  text-align: center;
  color: #463818;
  padding-top: 1.125rem;
}
#page-department-entry #sec__introduction .reha-effect {
  max-width: 1200px;
  padding: 0 15px;
  margin: 0 auto;
  display: flex;
  -moz-column-gap: 45px;
       column-gap: 45px;
}
@media screen and (max-width: 1024px) {
  #page-department-entry #sec__introduction .reha-effect {
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__introduction .reha-effect {
    flex-direction: column;
  }
}
#page-department-entry #sec__introduction .reha-effect .text-wrap {
  max-width: 555px;
  margin: 0 auto;
  width: 100%;
}
#page-department-entry #sec__introduction .reha-effect .text-wrap li {
  font-weight: 700;
  font-size: clamp(1.1rem, 1.833vw, 1.375rem);
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #463818;
}
#page-department-entry #sec__introduction .reha-effect .text-wrap li span {
  padding-top: 5px;
  display: block;
  font-size: 1rem;
  font-weight: 400;
}
#page-department-entry #sec__introduction .reha-effect .img-wrap {
  max-width: 592px;
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  #page-department-entry #sec__introduction .reha-effect .img-wrap {
    height: 62%;
  }
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__introduction .reha-effect .img-wrap {
    height: 100%;
  }
}
#page-department-entry #sec__menu {
  font-family: Noto Sans JP;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
}
#page-department-entry #sec__menu .title-s1 {
  margin-bottom: 80px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__menu .title-s1 {
    margin-bottom: 40px;
  }
}
#page-department-entry #sec__menu .reha-intro {
  text-align: center;
  margin-bottom: 80px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__menu .reha-intro {
    margin-bottom: 40px;
  }
}
#page-department-entry #sec__menu .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-department-entry #sec__menu ul {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__menu ul {
    flex-direction: column;
  }
}
#page-department-entry #sec__menu ul li {
  width: calc(33.33% - 20px);
}
@media screen and (max-width: 1024px) {
  #page-department-entry #sec__menu ul li {
    width: calc(50% - 15px);
  }
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__menu ul li {
    width: 100%;
  }
}
#page-department-entry #sec__menu ul li figure {
  max-width: 380px;
  width: 100%;
  margin: 0 auto;
}
#page-department-entry #sec__menu ul li figure figcaption {
  text-align: center;
  padding: 15px 5px 10px 5px;
  font-size: 1.125em;
  font-size: 400;
  font-family: Zen Kaku Gothic New;
}
#page-department-entry #sec__menu ul li p {
  font-size: 1em;
}
#page-department-entry #sec__surgery .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-department-entry #sec__surgery .surgery-item {
  margin-bottom: 60px;
  font-weight: 300;
  font-size: 1em;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
  font-family: Noto Sans JP;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__surgery .surgery-item {
    margin-bottom: 30px;
  }
}
#page-department-entry #sec__surgery .surgery-item:last-of-type {
  margin-bottom: 0;
}
#page-department-entry #sec__timing {
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
  font-weight: 400;
  font-family: Noto Sans JP;
}
#page-department-entry #sec__timing .content-wrap {
  max-width: 800px;
  margin: 0 auto;
}
#page-department-entry #sec__timing .b-border {
  font-family: Zen Kaku Gothic New;
  font-size: clamp(1.2em, 2vw, 1.5em);
  letter-spacing: 0.1em;
  text-align: center;
  max-width: 340px;
  border: 1px solid #000;
  margin: 0 auto 50px;
  padding: 25px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__timing .b-border {
    padding: 15px;
    margin: 0 auto 20px;
  }
}
#page-department-entry #sec__timing .text-wrap p {
  font-weight: 300;
  font-size: 1em;
}
#page-department-entry #sec__benefit {
  font-family: Noto Sans JP;
  color: #463818;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
#page-department-entry #sec__benefit .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-department-entry #sec__benefit p {
  font-size: 1em;
  font-weight: 300;
  margin-bottom: 60px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__benefit p {
    margin-bottom: 30px;
  }
}
#page-department-entry #sec__benefit figure {
  max-width: 1192px;
  margin: 0 auto;
}
#page-department-entry #sec__benefit figure figcaption {
  padding-top: 10px;
  font-weight: 500;
  font-size: 1.125em;
  line-height: 1.8;
  color: #000;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__benefit figure figcaption {
    font-size: 14px;
  }
}
#page-department-entry #sec__age .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-department-entry #sec__age table {
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  table-layout: fixed;
}
#page-department-entry #sec__age table th,
#page-department-entry #sec__age table td {
  border: 1px solid #d6d6d6;
}
#page-department-entry #sec__age table thead th {
  background-color: #54bdd7;
  color: #fff;
  vertical-align: middle;
  font-size: 1em;
  font-family: "Noto Sans JP";
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  word-wrap: break-word;
  padding: 20px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__age table thead th {
    padding: 5px;
  }
}
#page-department-entry #sec__age table thead th.head-age, #page-department-entry #sec__age table thead th.human-years {
  background-color: #1c98b6;
}
#page-department-entry #sec__age table thead th.head-age {
  font-weight: 700;
}
#page-department-entry #sec__age table tbody tr {
  color: #000;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  background-color: #fff;
}
#page-department-entry #sec__age table tbody tr:nth-child(odd) {
  background-color: #e7f9ea;
}
#page-department-entry #sec__age table tbody tr td {
  padding: 20px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__age table tbody tr td {
    padding: 5px;
  }
}
#page-department-entry #sec__course {
  font-family: Noto Sans JP;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
}
#page-department-entry #sec__course .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-department-entry #sec__course .birthday-so {
  display: flex;
  -moz-column-gap: 71px;
       column-gap: 71px;
  margin-bottom: 90px;
}
@media screen and (max-width: 1024px) {
  #page-department-entry #sec__course .birthday-so {
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__course .birthday-so {
    flex-direction: column;
    row-gap: 20px;
    margin-bottom: 50px;
  }
}
#page-department-entry #sec__course .birthday-so .desc-wrap {
  max-width: 724px;
  margin: 0 auto;
  width: 100%;
}
#page-department-entry #sec__course .birthday-so .desc-wrap .flow-label {
  margin-bottom: 50px;
}
@media screen and (max-width: 1024px) {
  #page-department-entry #sec__course .birthday-so .desc-wrap .flow-label {
    margin-bottom: 20px;
  }
}
#page-department-entry #sec__course .birthday-so .desc-wrap p {
  font-size: 1em;
}
#page-department-entry #sec__course .birthday-so .img-wrap {
  max-width: 405px;
  margin: 0 auto;
  width: 100%;
}
#page-department-entry #sec__course .price-list {
  max-width: 1000px;
  margin: 0 auto;
  line-height: 1.5;
  font-size: 1.125em;
}
@media screen and (max-width: 1024px) {
  #page-department-entry #sec__course .price-list {
    font-size: 1em;
  }
}
#page-department-entry #sec__course .price-list .dl-wrap {
  margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__course .price-list .dl-wrap {
    margin-bottom: 30px;
  }
}
#page-department-entry #sec__course .price-list .dl-wrap dl {
  width: 100%;
  display: flex;
  vertical-align: middle;
  border: 1px solid #000;
  border-bottom: 0;
}
#page-department-entry #sec__course .price-list .dl-wrap dl:last-of-type {
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__course .price-list .dl-wrap dl {
    flex-direction: column;
  }
}
#page-department-entry #sec__course .price-list .dl-wrap dl dt,
#page-department-entry #sec__course .price-list .dl-wrap dl .price,
#page-department-entry #sec__course .price-list .dl-wrap dl .content {
  padding: 15px 18px;
  vertical-align: middle;
}
@media screen and (max-width: 1024px) {
  #page-department-entry #sec__course .price-list .dl-wrap dl dt,
  #page-department-entry #sec__course .price-list .dl-wrap dl .price,
  #page-department-entry #sec__course .price-list .dl-wrap dl .content {
    padding: 10px;
  }
}
#page-department-entry #sec__course .price-list .dl-wrap dl dt {
  background-color: #1c98b6;
  max-width: 212px;
  width: 100%;
  border-right: 1px solid #000;
  color: #fff;
}
@media screen and (max-width: 1024px) {
  #page-department-entry #sec__course .price-list .dl-wrap dl dt {
    max-width: 180px;
  }
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__course .price-list .dl-wrap dl dt {
    max-width: 1000px;
    border-right: 0;
    text-align: center;
  }
}
#page-department-entry #sec__course .price-list .dl-wrap dl dd {
  max-width: 788px;
  width: 100%;
  display: flex;
}
#page-department-entry #sec__course .price-list .dl-wrap dl dd .price {
  text-align: center;
  width: 19%;
  border-right: 1px solid #000;
}
@media screen and (max-width: 1024px) {
  #page-department-entry #sec__course .price-list .dl-wrap dl dd .price {
    width: 25%;
  }
}
#page-department-entry #sec__course .price-list .dl-wrap dl dd .content {
  width: 81%;
}
@media screen and (max-width: 1024px) {
  #page-department-entry #sec__course .price-list .dl-wrap dl dd .content {
    width: 75%;
  }
}
#page-department-entry #sec__vaccine-dog,
#page-department-entry #sec__vaccine-cat,
#page-department-entry #sec__heartworm,
#page-department-entry #sec__pest {
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
  font-family: Noto Sans JP;
}
#page-department-entry #sec__vaccine-dog.section,
#page-department-entry #sec__vaccine-cat.section,
#page-department-entry #sec__heartworm.section,
#page-department-entry #sec__pest.section {
  padding-top: 0;
}
#page-department-entry #sec__vaccine-dog .content-wrap,
#page-department-entry #sec__vaccine-cat .content-wrap,
#page-department-entry #sec__heartworm .content-wrap,
#page-department-entry #sec__pest .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-department-entry #sec__vaccine-dog ul li,
#page-department-entry #sec__vaccine-cat ul li,
#page-department-entry #sec__heartworm ul li,
#page-department-entry #sec__pest ul li {
  text-indent: -1em;
  padding-left: 1em;
}
#page-department-entry #sec__vaccine-dog .rabies .note,
#page-department-entry #sec__vaccine-cat .rabies .note,
#page-department-entry #sec__heartworm .rabies .note,
#page-department-entry #sec__pest .rabies .note {
  padding-top: 20px;
}
#page-department-entry #sec__vaccine-dog .flow-label,
#page-department-entry #sec__vaccine-cat .flow-label,
#page-department-entry #sec__heartworm .flow-label,
#page-department-entry #sec__pest .flow-label {
  margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .flow-label,
  #page-department-entry #sec__vaccine-cat .flow-label,
  #page-department-entry #sec__heartworm .flow-label,
  #page-department-entry #sec__pest .flow-label {
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .title-s2,
  #page-department-entry #sec__vaccine-cat .title-s2,
  #page-department-entry #sec__heartworm .title-s2,
  #page-department-entry #sec__pest .title-s2 {
    font-size: 16px;
  }
}
#page-department-entry #sec__vaccine-dog .desc-wrap,
#page-department-entry #sec__vaccine-cat .desc-wrap,
#page-department-entry #sec__heartworm .desc-wrap,
#page-department-entry #sec__pest .desc-wrap {
  margin-bottom: 70px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .desc-wrap,
  #page-department-entry #sec__vaccine-cat .desc-wrap,
  #page-department-entry #sec__heartworm .desc-wrap,
  #page-department-entry #sec__pest .desc-wrap {
    margin-bottom: 35px;
  }
}
#page-department-entry #sec__vaccine-dog .desc-wrap p,
#page-department-entry #sec__vaccine-cat .desc-wrap p,
#page-department-entry #sec__heartworm .desc-wrap p,
#page-department-entry #sec__pest .desc-wrap p {
  font-size: 1em;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .available,
#page-department-entry #sec__vaccine-cat .desc-wrap .available,
#page-department-entry #sec__heartworm .desc-wrap .available,
#page-department-entry #sec__pest .desc-wrap .available {
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .desc-wrap .available,
  #page-department-entry #sec__vaccine-cat .desc-wrap .available,
  #page-department-entry #sec__heartworm .desc-wrap .available,
  #page-department-entry #sec__pest .desc-wrap .available {
    margin-bottom: 20px;
  }
}
#page-department-entry #sec__vaccine-dog .desc-wrap .flee,
#page-department-entry #sec__vaccine-cat .desc-wrap .flee,
#page-department-entry #sec__heartworm .desc-wrap .flee,
#page-department-entry #sec__pest .desc-wrap .flee {
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .desc-wrap .flee,
  #page-department-entry #sec__vaccine-cat .desc-wrap .flee,
  #page-department-entry #sec__heartworm .desc-wrap .flee,
  #page-department-entry #sec__pest .desc-wrap .flee {
    margin-bottom: 30px;
  }
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap,
#page-department-entry #sec__pest .desc-wrap .table-wrap {
  max-width: 1000px;
  margin: 0 auto;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap table,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap table,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap table,
#page-department-entry #sec__pest .desc-wrap .table-wrap table {
  table-layout: fixed;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap table td.left,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap table td.left,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap table td.left,
#page-department-entry #sec__pest .desc-wrap .table-wrap table td.left {
  border-right: 1px solid #000;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap table thead,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap table thead,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap table thead,
#page-department-entry #sec__pest .desc-wrap .table-wrap table thead {
  text-align: center;
  border-bottom: 1px solid #000;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap table thead th,
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap table thead td,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap table thead th,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap table thead td,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap table thead th,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap table thead td,
#page-department-entry #sec__pest .desc-wrap .table-wrap table thead th,
#page-department-entry #sec__pest .desc-wrap .table-wrap table thead td {
  background-color: #1c98b6;
  color: #fff;
  font-weight: 300;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap table thead th,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap table thead th,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap table thead th,
#page-department-entry #sec__pest .desc-wrap .table-wrap table thead th {
  width: 55%;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap table thead td,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap table thead td,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap table thead td,
#page-department-entry #sec__pest .desc-wrap .table-wrap table thead td {
  width: 22.5%;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap table tbody th,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap table tbody th,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap table tbody th,
#page-department-entry #sec__pest .desc-wrap .table-wrap table tbody th {
  background-color: #fff;
  color: #000;
  font-weight: 300;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap table tbody td,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap table tbody td,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap table tbody td,
#page-department-entry #sec__pest .desc-wrap .table-wrap table tbody td {
  text-align: center;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap #period-list th,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap #period-list th,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap #period-list th,
#page-department-entry #sec__pest .desc-wrap .table-wrap #period-list th {
  background-color: #1c98b6;
  width: 15%;
  color: #fff;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap #period-list th .p-block,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap #period-list th .p-block,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap #period-list th .p-block,
#page-department-entry #sec__pest .desc-wrap .table-wrap #period-list th .p-block {
  display: none;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap #period-list th .p-block,
  #page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap #period-list th .p-block,
  #page-department-entry #sec__heartworm .desc-wrap .table-wrap #period-list th .p-block,
  #page-department-entry #sec__pest .desc-wrap .table-wrap #period-list th .p-block {
    display: block;
  }
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap #period-list td,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap #period-list td,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap #period-list td,
#page-department-entry #sec__pest .desc-wrap .table-wrap #period-list td {
  width: 85%;
  text-align: left;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap .note,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap .note,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap .note,
#page-department-entry #sec__pest .desc-wrap .table-wrap .note {
  padding-top: 20px;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap.flee-table,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap.flee-table,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap.flee-table,
#page-department-entry #sec__pest .desc-wrap .table-wrap.flee-table {
  max-width: 1200px;
  margin: 0 auto;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap.flee-table #flee-list,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap.flee-table #flee-list,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap.flee-table #flee-list,
#page-department-entry #sec__pest .desc-wrap .table-wrap.flee-table #flee-list {
  max-width: 1200px;
  width: 100%;
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap.flee-table #flee-list th,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap.flee-table #flee-list th,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap.flee-table #flee-list th,
#page-department-entry #sec__pest .desc-wrap .table-wrap.flee-table #flee-list th {
  background-color: #1c98b6;
  color: #fff;
  width: 22%;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap.flee-table #flee-list th,
  #page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap.flee-table #flee-list th,
  #page-department-entry #sec__heartworm .desc-wrap .table-wrap.flee-table #flee-list th,
  #page-department-entry #sec__pest .desc-wrap .table-wrap.flee-table #flee-list th {
    width: 30%;
  }
}
#page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap.flee-table #flee-list td,
#page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap.flee-table #flee-list td,
#page-department-entry #sec__heartworm .desc-wrap .table-wrap.flee-table #flee-list td,
#page-department-entry #sec__pest .desc-wrap .table-wrap.flee-table #flee-list td {
  width: 78%;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .desc-wrap .table-wrap.flee-table #flee-list td,
  #page-department-entry #sec__vaccine-cat .desc-wrap .table-wrap.flee-table #flee-list td,
  #page-department-entry #sec__heartworm .desc-wrap .table-wrap.flee-table #flee-list td,
  #page-department-entry #sec__pest .desc-wrap .table-wrap.flee-table #flee-list td {
    width: 70%;
  }
}
#page-department-entry #sec__vaccine-dog .desc-wrap .detail,
#page-department-entry #sec__vaccine-cat .desc-wrap .detail,
#page-department-entry #sec__heartworm .desc-wrap .detail,
#page-department-entry #sec__pest .desc-wrap .detail {
  padding-top: 60px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .desc-wrap .detail,
  #page-department-entry #sec__vaccine-cat .desc-wrap .detail,
  #page-department-entry #sec__heartworm .desc-wrap .detail,
  #page-department-entry #sec__pest .desc-wrap .detail {
    padding-top: 30px;
  }
}
#page-department-entry #sec__vaccine-dog .desc-wrap dl,
#page-department-entry #sec__vaccine-cat .desc-wrap dl,
#page-department-entry #sec__heartworm .desc-wrap dl,
#page-department-entry #sec__pest .desc-wrap dl {
  margin-bottom: 30px;
}
#page-department-entry #sec__vaccine-dog .desc-wrap dl:last-of-type,
#page-department-entry #sec__vaccine-cat .desc-wrap dl:last-of-type,
#page-department-entry #sec__heartworm .desc-wrap dl:last-of-type,
#page-department-entry #sec__pest .desc-wrap dl:last-of-type {
  margin-bottom: 0;
}
#page-department-entry #sec__vaccine-dog .desc-wrap dl dt,
#page-department-entry #sec__vaccine-cat .desc-wrap dl dt,
#page-department-entry #sec__heartworm .desc-wrap dl dt,
#page-department-entry #sec__pest .desc-wrap dl dt {
  font-weight: 500;
  font-size: 1.125rem;
}
#page-department-entry #sec__vaccine-dog .desc-wrap dl dd,
#page-department-entry #sec__vaccine-cat .desc-wrap dl dd,
#page-department-entry #sec__heartworm .desc-wrap dl dd,
#page-department-entry #sec__pest .desc-wrap dl dd {
  font-weight: 300;
  font-size: 1em;
}
#page-department-entry #sec__vaccine-dog .animal-wrap,
#page-department-entry #sec__vaccine-cat .animal-wrap,
#page-department-entry #sec__heartworm .animal-wrap,
#page-department-entry #sec__pest .animal-wrap {
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .animal-wrap,
  #page-department-entry #sec__vaccine-cat .animal-wrap,
  #page-department-entry #sec__heartworm .animal-wrap,
  #page-department-entry #sec__pest .animal-wrap {
    margin-bottom: 40px;
  }
}
#page-department-entry #sec__vaccine-dog .animal-wrap:last-of-type,
#page-department-entry #sec__vaccine-cat .animal-wrap:last-of-type,
#page-department-entry #sec__heartworm .animal-wrap:last-of-type,
#page-department-entry #sec__pest .animal-wrap:last-of-type {
  margin-bottom: 0;
}
#page-department-entry #sec__vaccine-dog .animal-wrap h4,
#page-department-entry #sec__vaccine-cat .animal-wrap h4,
#page-department-entry #sec__heartworm .animal-wrap h4,
#page-department-entry #sec__pest .animal-wrap h4 {
  font-size: clamp(1.5em, 2.5vw, 1.875em);
  margin-bottom: 30px;
  font-weight: 300;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .animal-wrap h4,
  #page-department-entry #sec__vaccine-cat .animal-wrap h4,
  #page-department-entry #sec__heartworm .animal-wrap h4,
  #page-department-entry #sec__pest .animal-wrap h4 {
    margin-bottom: 20px;
    font-size: 18px;
  }
}
#page-department-entry #sec__vaccine-dog .animal-wrap p,
#page-department-entry #sec__vaccine-cat .animal-wrap p,
#page-department-entry #sec__heartworm .animal-wrap p,
#page-department-entry #sec__pest .animal-wrap p {
  font-size: 1em;
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .animal-wrap p,
  #page-department-entry #sec__vaccine-cat .animal-wrap p,
  #page-department-entry #sec__heartworm .animal-wrap p,
  #page-department-entry #sec__pest .animal-wrap p {
    margin-bottom: 20px;
  }
}
#page-department-entry #sec__vaccine-dog .animal-wrap .img-wrap,
#page-department-entry #sec__vaccine-cat .animal-wrap .img-wrap,
#page-department-entry #sec__heartworm .animal-wrap .img-wrap,
#page-department-entry #sec__pest .animal-wrap .img-wrap {
  display: flex;
  -moz-column-gap: 40px;
       column-gap: 40px;
  max-width: 675px;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .animal-wrap .img-wrap,
  #page-department-entry #sec__vaccine-cat .animal-wrap .img-wrap,
  #page-department-entry #sec__heartworm .animal-wrap .img-wrap,
  #page-department-entry #sec__pest .animal-wrap .img-wrap {
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
}
#page-department-entry #sec__vaccine-dog .animal-wrap .img-wrap li,
#page-department-entry #sec__vaccine-cat .animal-wrap .img-wrap li,
#page-department-entry #sec__heartworm .animal-wrap .img-wrap li,
#page-department-entry #sec__pest .animal-wrap .img-wrap li {
  text-align: center;
  max-width: 200px;
}
#page-department-entry #sec__vaccine-dog .animal-wrap .img-wrap li figure,
#page-department-entry #sec__vaccine-cat .animal-wrap .img-wrap li figure,
#page-department-entry #sec__heartworm .animal-wrap .img-wrap li figure,
#page-department-entry #sec__pest .animal-wrap .img-wrap li figure {
  margin-bottom: 20px;
}
#page-department-entry #sec__vaccine-dog .animal-wrap .img-wrap li figcaption,
#page-department-entry #sec__vaccine-cat .animal-wrap .img-wrap li figcaption,
#page-department-entry #sec__heartworm .animal-wrap .img-wrap li figcaption,
#page-department-entry #sec__pest .animal-wrap .img-wrap li figcaption {
  font-size: 1rem;
}
#page-department-entry #sec__vaccine-dog .animal-wrap .img-wrap li figcaption span,
#page-department-entry #sec__vaccine-cat .animal-wrap .img-wrap li figcaption span,
#page-department-entry #sec__heartworm .animal-wrap .img-wrap li figcaption span,
#page-department-entry #sec__pest .animal-wrap .img-wrap li figcaption span {
  font-size: 0.875rem;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .animal-wrap .img-wrap li figcaption span,
  #page-department-entry #sec__vaccine-cat .animal-wrap .img-wrap li figcaption span,
  #page-department-entry #sec__heartworm .animal-wrap .img-wrap li figcaption span,
  #page-department-entry #sec__pest .animal-wrap .img-wrap li figcaption span {
    display: block;
  }
}
#page-department-entry #sec__vaccine-dog .animal-wrap.cat .img-wrap,
#page-department-entry #sec__vaccine-cat .animal-wrap.cat .img-wrap,
#page-department-entry #sec__heartworm .animal-wrap.cat .img-wrap,
#page-department-entry #sec__pest .animal-wrap.cat .img-wrap {
  max-width: 200px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .animal-wrap.cat .img-wrap,
  #page-department-entry #sec__vaccine-cat .animal-wrap.cat .img-wrap,
  #page-department-entry #sec__heartworm .animal-wrap.cat .img-wrap,
  #page-department-entry #sec__pest .animal-wrap.cat .img-wrap {
    width: 33%;
  }
}
#page-department-entry #sec__vaccine-dog .animal-wrap.dog-pest .img-wrap,
#page-department-entry #sec__vaccine-cat .animal-wrap.dog-pest .img-wrap,
#page-department-entry #sec__heartworm .animal-wrap.dog-pest .img-wrap,
#page-department-entry #sec__pest .animal-wrap.dog-pest .img-wrap {
  max-width: 438px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .animal-wrap.dog-pest .img-wrap,
  #page-department-entry #sec__vaccine-cat .animal-wrap.dog-pest .img-wrap,
  #page-department-entry #sec__heartworm .animal-wrap.dog-pest .img-wrap,
  #page-department-entry #sec__pest .animal-wrap.dog-pest .img-wrap {
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
}
#page-department-entry #sec__vaccine-dog .animal-wrap.cat-pest .img-wrap,
#page-department-entry #sec__vaccine-cat .animal-wrap.cat-pest .img-wrap,
#page-department-entry #sec__heartworm .animal-wrap.cat-pest .img-wrap,
#page-department-entry #sec__pest .animal-wrap.cat-pest .img-wrap {
  max-width: 200px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  #page-department-entry #sec__vaccine-dog .animal-wrap.cat-pest .img-wrap,
  #page-department-entry #sec__vaccine-cat .animal-wrap.cat-pest .img-wrap,
  #page-department-entry #sec__heartworm .animal-wrap.cat-pest .img-wrap,
  #page-department-entry #sec__pest .animal-wrap.cat-pest .img-wrap {
    width: 50%;
  }
}
#page-department-entry #sec__pest td {
  text-align: left !important;
}

#category-faq #sec__faq .content-wrap {
  max-width: 900px;
  margin: 0 auto;
}

#entry-job-description {
  font-family: "Noto Sans JP";
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
  font-weight: 300;
}
#entry-job-description #sec__article .content-wrap {
  max-width: 1000px;
  margin: 0 auto;
}
#entry-job-description #sec__article .entry-wrap .table-list-block {
  margin: 20px 0 50px 0;
}
@media screen and (max-width: 640px) {
  #entry-job-description #sec__article .entry-wrap .table-list-block {
    margin: 20px 0 30px 0;
  }
}
#entry-job-description #sec__article .entry-wrap h2 {
  max-width: 1000px;
  margin: 0 auto;
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: clamp(1em, 1.667vw, 1.25em);
}
@media screen and (max-width: 640px) {
  #entry-job-description #sec__article .entry-wrap h2 {
    font-size: 18px;
  }
}
#entry-job-description #sec__article .btn-wrap .common-button {
  border: 1px solid #000;
  color: #000;
}
#entry-job-description .close-wrap {
  margin-bottom: 30px;
}
#entry-job-description .close-wrap p {
  text-align: center;
  font-size: clamp(1em, 1.667vw, 1.25em);
  font-weight: bold;
  color: red;
}

#category-food #food-index #sec__intro {
  position: relative;
}
#category-food #food-index #sec__intro .desc-wrap {
  position: relative;
  padding: 0 15px;
}
@media screen and (max-width: 640px) {
  #category-food #food-index #sec__intro .desc-wrap {
    padding: 0 0 250px 0;
  }
}
#category-food #food-index #sec__intro .desc-wrap .text-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 100px;
}
@media screen and (max-width: 640px) {
  #category-food #food-index #sec__intro .desc-wrap .text-wrap {
    padding-bottom: 0;
  }
}
#category-food #food-index #sec__intro .desc-wrap .text-wrap p {
  color: #463818;
  font-size: clamp(0.9em, 1.5vw, 1.125em);
  font-family: Noto Sans JP;
  font-weight: 300;
  width: 45%;
}
@media screen and (max-width: 1024px) {
  #category-food #food-index #sec__intro .desc-wrap .text-wrap p {
    width: 63%;
  }
}
@media screen and (max-width: 640px) {
  #category-food #food-index #sec__intro .desc-wrap .text-wrap p {
    width: 100%;
    font-size: 14px;
  }
}
#category-food #food-index #sec__intro .desc-wrap .text-wrap p span {
  font-size: 14px;
}
@media screen and (max-width: 640px) {
  #category-food #food-index #sec__intro .desc-wrap .text-wrap p span {
    font-size: 12px;
  }
}
#category-food #food-index #sec__intro .desc-wrap .img-wrap {
  position: absolute;
  top: 0;
  right: 0;
  background-image: url(../images/food/food_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 50%;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  #category-food #food-index #sec__intro .desc-wrap .img-wrap {
    width: 35%;
  }
}
@media screen and (max-width: 640px) {
  #category-food #food-index #sec__intro .desc-wrap .img-wrap {
    top: initial;
    bottom: 0;
    width: 100%;
    height: 200px;
  }
}
#category-food #food-index #sec__intro .img-2-wrap {
  position: relative;
  display: flex;
  gap: 35px;
  margin-top: -30px;
  margin-left: 5%;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  #category-food #food-index #sec__intro .img-2-wrap {
    gap: 25px;
  }
}
@media screen and (max-width: 640px) {
  #category-food #food-index #sec__intro .img-2-wrap {
    gap: 15px;
  }
}
#category-food #food-index #sec__intro .img-2-wrap .img-wrap {
  max-width: 473px;
}
@media screen and (max-width: 1024px) {
  #category-food #food-index #sec__intro .img-2-wrap .img-wrap {
    max-width: 400px;
  }
}
@media screen and (max-width: 640px) {
  #category-food #food-index #sec__intro .img-2-wrap .img-wrap {
    max-width: 350px;
  }
}
#category-food #food-index #sec__note .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#category-food #food-index #sec__note .content-wrap ul {
  margin-top: 44px;
  list-style: disc;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: 1em;
}
#category-food #food-index #sec__note .content-wrap ul li {
  color: #463818;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
#category-food #food-index #sec__saleform .message-group {
  text-align: center;
  color: #463818;
  font-size: clamp(0.9em, 1.5vw, 1.125em);
  font-family: Noto Sans JP;
  font-weight: 400;
  padding-bottom: 30px;
}
#category-food #food-index #sec__saleform .message-group span {
  font-size: 1rem;
}

/**
 * Pages
 */
/* ::::::::::::::::::::::::::::::
	パンくずリスト
:::::::::::::::::::::::::::::: */
.new-label {
  display: inline-block;
  color: #ff690b;
  font-size: 0.75rem;
  font-weight: 500;
}

#sec__page-navi {
  padding: 15px;
}
#sec__page-navi .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#sec__page-navi .content-wrap .navi-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}
@media screen and (max-width: 1024px) {
  #sec__page-navi .content-wrap .navi-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
#sec__page-navi .content-wrap .navi-list li {
  text-align: center;
}
#sec__page-navi .content-wrap .navi-list li a {
  position: relative;
  background-color: #f2f5e4;
  display: block;
  color: #463818;
  color: #463818;
  font-size: 16px;
  font-family: "Shippori Mincho";
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding: 15px;
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  #sec__page-navi .content-wrap .navi-list li a {
    font-size: 14px;
    padding: 10px;
  }
}
#sec__page-navi .content-wrap .navi-list li a:hover {
  background-color: #fafcc9;
}
#sec__page-navi .content-wrap .navi-list li a::before {
  content: "";
  display: block;
  height: 0;
  width: 0;
  position: absolute;
  bottom: 8px;
  right: 8px;
  border-left: 15px solid transparent;
  border-bottom: 15px solid #20b18d;
}
@media screen and (max-width: 640px) {
  #sec__page-navi .content-wrap .navi-list li a::before {
    bottom: 0;
    right: 0;
    border-left: 10px solid transparent;
    border-bottom: 10px solid #20b18d;
  }
}

.label-required {
  color: #fff;
  background: #20b18d;
  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;
  background: #d9d9d9;
}
@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;
}
@media screen and (max-width: 640px) {
  .common-entry-footer-navi ul {
    flex-wrap: wrap;
  }
  .common-entry-footer-navi ul::before {
    content: "";
    position: absolute;
    display: block;
    background: #222;
    width: 1px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: calc(100% - 2em);
  }
}
.common-entry-footer-navi ul li {
  font-size: 1em;
  width: 33.3333333333%;
  position: relative;
}
@media screen and (max-width: 640px) {
  .common-entry-footer-navi ul li {
    width: 50%;
  }
}
.common-entry-footer-navi ul li a {
  padding: 5px;
  display: block;
  text-align: center;
  width: 100%;
  color: #000;
}
.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: #222;
}
@media screen and (max-width: 640px) {
  .common-entry-footer-navi ul .link-next {
    order: 2;
  }
}
@media screen and (max-width: 640px) {
  .common-entry-footer-navi ul .link-back {
    display: none;
  }
}
.common-entry-footer-navi ul .link-back::before, .common-entry-footer-navi ul .link-back::after {
  content: "";
  position: absolute;
  display: block;
  border-left: 1px solid #000;
  width: 1px;
  top: 50%;
  transform: translateY(-50%);
  height: 100%;
}
.common-entry-footer-navi ul .link-back::before {
  left: 0;
}
.common-entry-footer-navi ul .link-back::after {
  right: 0;
}

.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: 1em;
  font-weight: 400;
  line-height: 1.8;
}
.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: #222;
  text-decoration: none;
}
.common-pager-wrap .pager-list li > a {
  background: #d9d9d9;
  display: inline-block;
  padding: 5px 15px;
  text-align: center;
}
.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: #222;
}
.common-pager-wrap .pager-list li span > a {
  background: #d9d9d9;
  display: inline-block;
  padding: 5px 15px;
  text-align: center;
}
.common-pager-wrap .pager-list li.cur span {
  color: #fff;
  background: #838383;
  display: inline-block;
  padding: 5px 15px;
  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;
}

.title-2way {
  text-align: center;
  font-family: "Shippori Mincho";
  font-weight: 700;
  font-size: clamp(1.5em, 2.5vw, 1.875em);
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #463818;
  margin-bottom: 35px;
}
@media screen and (max-width: 640px) {
  .title-2way {
    margin-bottom: 20px;
  }
}
.title-2way span {
  font-family: "Ms Madi";
  font-weight: 400;
  font-size: clamp(2.05rem, 3.417vw, 2.563rem);
  color: #20b18d;
  display: block;
}

.title-s1 {
  display: block;
  margin-bottom: 140px;
  text-align: center;
  color: #333;
  font-size: clamp(1.9em, 3.167vw, 2.375em);
  font-family: "Shippori Mincho";
  font-weight: 500;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (max-width: 640px) {
  .title-s1 {
    font-size: 18px;
    margin-bottom: 60px;
  }
}
.title-s1:after {
  content: "";
  position: absolute;
  border-bottom: 1px solid #333;
  width: 85px;
  bottom: -50px;
  left: 50%;
  transform: translateX(-50%);
  border-image-slice: 1;
}
@media screen and (max-width: 640px) {
  .title-s1:after {
    width: 40px;
    bottom: -20px;
  }
}
.title-s1.color-gr {
  color: #20b18d;
}
.title-s1.color-gr:after {
  border-bottom: 1px solid #20b18d;
}

.title-s2 {
  text-align: center;
  display: block;
  color: #463818;
  font-size: clamp(1.2em, 2vw, 1.5em);
  font-family: "Zen Kaku Gothic New";
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding-bottom: 10px;
  border-bottom: 1px solid #463818;
  margin-bottom: 30px;
}
.title-s2 span {
  font-size: 1rem;
  display: block;
}
@media screen and (max-width: 640px) {
  .title-s2 {
    margin-bottom: 15px;
    font-size: 18px;
  }
}

.title-s3 {
  color: #463818;
  font-size: clamp(1.3em, 2.167vw, 1.625em);
  font-family: "Zen Kaku Gothic New";
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 20px;
  padding: 10px 5px;
  border-top: 2px solid #1c98b6;
  border-bottom: 1px solid #20b18d;
}

.title-s4 {
  color: #463818;
  font-size: clamp(1em, 1.667vw, 1.25em);
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  word-wrap: break-word;
  margin-bottom: 30px;
  border-left: 5px solid #1c98b6;
  padding-left: 15px;
}
@media screen and (max-width: 640px) {
  .title-s4 {
    font-size: 16px;
    margin-bottom: 15px;
  }
}

.title-s5 {
  color: #463818;
  font-size: clamp(1em, 1.667vw, 1.25em);
  font-family: "Noto Sans JP";
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  .title-s5 {
    font-size: 16px;
  }
}

.title-s6 {
  color: #463818;
  font-size: clamp(1.3em, 2.167vw, 1.625em);
  font-family: "Zen Kaku Gothic New";
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-bottom: 10px;
  border-bottom: 1px solid #463818;
  max-width: 1200px;
  margin: 0 auto 30px;
}
@media screen and (max-width: 640px) {
  .title-s6 {
    font-size: 16px;
    margin: 0 auto 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: "Shippori Mincho";
  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 {
  max-width: 1000px;
  margin: 0 auto 50px;
  font-family: "Zen Kaku Gothic New";
  line-height: 1.5;
}
.common-table .course-name {
  font-weight: 500;
  font-size: clamp(1em, 1.667vw, 1.25em);
  margin-bottom: 10px;
}
@media screen and (max-width: 640px) {
  .common-table .course-name {
    font-size: 16px;
  }
}
.common-table p {
  font-size: clamp(0.9em, 1.5vw, 1.125em);
  font-weight: 400;
  margin-bottom: 10px;
}
@media screen and (max-width: 640px) {
  .common-table p {
    font-size: 14px;
  }
}
.common-table .note {
  margin-top: 10px;
}
.common-table table thead {
  text-align: center;
  border-bottom: 1px solid #000;
}
.common-table table thead th,
.common-table table thead td {
  background-color: #1c98b6;
  color: #fff;
}
.common-table table tbody th {
  background-color: #fff;
  color: #000;
}
.common-table table .item {
  width: 55%;
}
.common-table table td {
  border-right: 1px solid #000;
}
.common-table table .shampoo,
.common-table table .cut {
  width: 22.5%;
  text-align: center;
}

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

.btn-wrap {
  margin-top: 68px;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .btn-wrap {
    margin-top: 30px;
  }
}
.btn-wrap .common-button {
  display: inline-block;
  border: 1px solid #1997b4;
  border-radius: 50px;
  padding: 16px 72px;
  color: #1997b4;
  text-decoration: none;
  font-size: 1em;
  font-family: "Noto Sans JP";
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  word-wrap: break-word;
}
@media screen and (max-width: 640px) {
  .btn-wrap .common-button {
    padding: 10px 50px;
  }
}
.btn-wrap .common-button:hover, .btn-wrap .common-button:visited, .btn-wrap .common-button:focus {
  color: #1997b4;
}

#sec__flow {
  font-weight: 400;
  color: #463818;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#sec__flow .label-container {
  max-width: 1200px;
  margin: 0 auto 40px;
}
#sec__flow .label-container:last-of-type {
  margin-bottom: 0;
}
#sec__flow .label-container:not(:first-of-type) {
  padding-top: 50px;
}
@media screen and (max-width: 640px) {
  #sec__flow .label-container:not(:first-of-type) {
    padding-top: 30px;
    margin: 0 auto 20px;
  }
}
#sec__flow .label-container .note {
  margin-top: 30px;
  font-family: "Noto Sans JP";
  font-size: 1em;
  font-weight: 300;
  line-height: 1.8;
}
@media screen and (max-width: 640px) {
  #sec__flow .label-container .note {
    margin-top: 15px;
  }
}
#sec__flow .content-wrap {
  max-width: 1000px;
  margin: 0 auto;
}
#sec__flow .flow-item-wrap {
  margin-bottom: 50px;
}
#sec__flow .flow-item {
  display: flex;
  position: relative;
}
#sec__flow .flow-item:last-of-type .flow-num-contents:before {
  height: 100%;
}
#sec__flow .flow-item .flow-num-contents {
  max-width: 70px;
  margin: 0 auto;
  position: relative;
  padding-bottom: 100px;
}
#sec__flow .flow-item .flow-num-contents:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-image: linear-gradient(to bottom, #1c98b6 1px, transparent 1px);
  background-size: 3px 5px;
  background-repeat: repeat-y;
  background-position: left top;
  display: block;
  width: 4px;
  height: 100%;
}
#sec__flow .flow-item .flow-num-contents .icon-num {
  position: relative;
  width: clamp(3.5em, 5.833vw, 4.375em);
  height: clamp(3.5em, 5.833vw, 4.375em);
  background-color: #1c98b6;
  font-family: "Ms Madi";
}
@media screen and (max-width: 640px) {
  #sec__flow .flow-item .flow-num-contents .icon-num {
    width: 40px;
    height: 40px;
  }
}
#sec__flow .flow-item .flow-num-contents .icon-num span {
  position: absolute;
  color: #fff;
  font-size: clamp(1.5em, 2.5vw, 1.875em);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1.2;
}
#sec__flow .flow-item .flow-contents {
  display: flex;
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: 20px;
  padding-left: 27px;
  width: calc(100% - 77px);
  padding-bottom: 80px;
}
@media screen and (max-width: 640px) {
  #sec__flow .flow-item .flow-contents {
    flex-direction: column;
    -moz-column-gap: 15px;
         column-gap: 15px;
    padding-bottom: 40px;
    padding-left: 0;
  }
}
#sec__flow .flow-item .flow-contents .flow-text-wrap {
  width: 100%;
}
#sec__flow .flow-item .flow-contents .flow-text-wrap h3 {
  font-family: "Zen Kaku Gothic New";
  font-size: clamp(1.4em, 2.333vw, 1.75em);
  padding: 15px 0;
}
@media screen and (max-width: 640px) {
  #sec__flow .flow-item .flow-contents .flow-text-wrap h3 {
    font-size: 16px;
    padding-top: 0;
    padding-bottom: 16px;
  }
}
#sec__flow .flow-item .flow-contents .flow-text-wrap p {
  font-family: "Noto Sans JP";
  line-height: 1.8;
  font-weight: 300;
  font-size: 1em;
}
#sec__flow .flow-item .flow-contents .flow-text-wrap p:not(:first-of-type) {
  margin-top: 1.3em;
}
#sec__flow .flow-item .flow-contents .flow-text-wrap p .marker-yellow {
  background: linear-gradient(transparent 60%, #ff0 60%);
}
#sec__flow .flow-item .flow-contents .flow-text-wrap p .f-medium {
  font-weight: 500;
}
#sec__flow .flow-item .flow-contents .img-wrap {
  max-width: 380px;
  width: 100%;
  margin: 0 auto;
}
#sec__flow .checkup-attention {
  line-height: 1.8;
  font-size: 1em;
  font-weight: 300;
}
#sec__flow .checkup-attention li {
  padding-left: 1em;
  text-indent: -1em;
  padding-bottom: 5px;
}

.download-btn-wrap {
  margin-top: 30px;
}
.download-btn-wrap a {
  border: 1px solid #1997b4;
  border-radius: 50px;
  display: inline-block;
  font-weight: 300;
  font-size: 1em;
  line-height: 1.8;
  color: #1997b4;
  text-align: center;
  min-width: 335px;
  padding: 16px 30px;
}
@media screen and (max-width: 640px) {
  .download-btn-wrap a {
    min-width: initial;
    width: 100%;
    font-size: 13px;
    padding: 12px 18px;
  }
}
.download-btn-wrap a:not(:first-of-type) {
  margin-top: 20px;
}
.download-btn-wrap a .file {
  margin-left: 10px;
}
@media screen and (max-width: 640px) {
  .download-btn-wrap a .file {
    width: 18px;
  }
}

#sec__feature {
  background-color: #fafcc9;
}
#sec__feature .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#sec__feature .feature-item {
  color: #463818;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 70px;
}
@media screen and (max-width: 640px) {
  #sec__feature .feature-item {
    margin-bottom: 35px;
  }
}
#sec__feature .feature-item:last-of-type {
  margin-bottom: 0;
}
#sec__feature .feature-item:nth-of-type(2n) .item-flex {
  flex-direction: row-reverse;
}
@media screen and (max-width: 640px) {
  #sec__feature .feature-item:nth-of-type(2n) .item-flex {
    flex-direction: column;
  }
}
#sec__feature .feature-item .item-flex {
  display: flex;
  -moz-column-gap: 60px;
       column-gap: 60px;
}
@media screen and (max-width: 1024px) {
  #sec__feature .feature-item .item-flex {
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}
@media screen and (max-width: 640px) {
  #sec__feature .feature-item .item-flex {
    flex-direction: column;
    row-gap: 20px;
  }
}
#sec__feature .feature-item .item-flex .img-wrap {
  max-width: 592px;
  width: 100%;
}
#sec__feature .feature-item .item-flex .img-wrap figcaption {
  padding-top: 15px;
  text-align: center;
}
#sec__feature .feature-item .item-flex .desc-wrap {
  max-width: 543px;
  width: 100%;
}
#sec__feature .feature-item .item-flex .desc-wrap h3 {
  font-size: clamp(1.4em, 2.333vw, 1.75em);
  font-family: "Shippori Mincho";
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  #sec__feature .feature-item .item-flex .desc-wrap h3 {
    margin-bottom: 15px;
    font-size: 18px;
  }
}
#sec__feature .feature-item .item-flex .desc-wrap p {
  font-size: 1.125em;
  font-weight: 300;
}
@media screen and (max-width: 640px) {
  #sec__feature .feature-item .item-flex .desc-wrap p {
    font-size: 14px;
  }
}
#sec__feature .feature-item .item-flex .desc-wrap img {
  margin: 15px 0;
}

.flow-label {
  font-family: "Shippori Mincho";
  font-size: clamp(1.25em, 2.083vw, 1.563em);
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #20b18d;
  text-align: center;
  padding: 15px;
}
@media screen and (max-width: 640px) {
  .flow-label {
    font-size: 18px;
    padding: 10px;
  }
}
.flow-label.checkup {
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  .flow-label.checkup {
    margin-bottom: 20px;
  }
}

.table-wrap {
  margin-bottom: 50px;
}
.table-wrap:last-of-type {
  margin-bottom: 0;
}
.table-wrap h4 {
  font-size: clamp(1em, 1.667vw, 1.25em);
  font-weight: 500;
  color: #463818;
  margin-bottom: 15px;
}
.table-wrap table {
  border: 1px solid #000;
  max-width: 1000px;
  width: 100%;
  border-collapse: collapse;
  font-size: 1.125em;
  font-weight: 300;
  font-family: "Noto Sans JP";
  text-align: left;
}
.table-wrap table:not(:last-of-type) {
  margin-bottom: 25px;
}
@media screen and (max-width: 640px) {
  .table-wrap table {
    font-size: 14px;
  }
}
.table-wrap table tr {
  border-bottom: 1px solid #000;
}
.table-wrap table tr:last-of-type {
  border-bottom: 0;
}
.table-wrap table th,
.table-wrap table td {
  padding: 15px 18px;
  vertical-align: middle;
}
@media screen and (max-width: 640px) {
  .table-wrap table th,
  .table-wrap table td {
    padding: 10px;
  }
}
.table-wrap table th {
  background-color: #1c98b6;
  color: #fff;
  width: 20%;
  font-weight: 300 !important;
  border-right: 1px solid #000;
}
@media screen and (max-width: 1024px) {
  .table-wrap table th {
    width: 30%;
  }
}
@media screen and (max-width: 640px) {
  .table-wrap table th {
    width: 40%;
  }
}
.table-wrap table td {
  background-color: #fff;
  color: #463818;
  width: 80%;
}
@media screen and (max-width: 1024px) {
  .table-wrap table td {
    width: 70%;
  }
}
@media screen and (max-width: 640px) {
  .table-wrap table td {
    width: 60%;
  }
}

.specialist-item {
  display: flex;
  -moz-column-gap: 50px;
       column-gap: 50px;
}
@media screen and (max-width: 1024px) {
  .specialist-item {
    -moz-column-gap: 25px;
         column-gap: 25px;
  }
}
@media screen and (max-width: 640px) {
  .specialist-item {
    flex-direction: column;
    row-gap: 30px;
    border: 1px solid #f2f5e4;
    padding: 30px 15px;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.15);
  }
}
.specialist-item:not(:last-of-type) {
  border-bottom: 5px solid #f2f5e4;
  padding-bottom: 60px;
  margin-bottom: 100px;
}
@media screen and (max-width: 640px) {
  .specialist-item:not(:last-of-type) {
    border: none;
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
}
.specialist-item .img-wrap {
  max-width: 300px;
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .specialist-item .img-wrap {
    width: 50%;
  }
}
.specialist-item .img-wrap figcaption {
  margin-top: 15px;
  text-align: center;
  font-family: Zen Kaku Gothic New;
  font-size: clamp(1em, 1.667vw, 1.25em);
}
@media screen and (max-width: 640px) {
  .specialist-item .img-wrap figcaption {
    font-size: 18px;
  }
}
.specialist-item .img-wrap figcaption span {
  display: block;
  font-size: 14px;
}
.specialist-item .profile-wrap {
  max-width: 600px;
  margin: 0 auto;
  width: 100%;
}
.specialist-item .profile-wrap .profile-item {
  margin-bottom: 10px;
}
.specialist-item .profile-wrap .profile-item:last-of-type {
  margin-bottom: 0;
}
.specialist-item .profile-wrap .profile-item .title-s3 {
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 10px;
}
.specialist-item .profile-wrap .profile-item dl {
  display: flex;
  width: 100%;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
@media screen and (max-width: 640px) {
  .specialist-item .profile-wrap .profile-item dl {
    flex-direction: column;
  }
}
.specialist-item .profile-wrap .profile-item dl dt {
  width: 35%;
  word-break: break-all;
}
@media screen and (max-width: 640px) {
  .specialist-item .profile-wrap .profile-item dl dt {
    width: 100%;
  }
}
.specialist-item .profile-wrap .profile-item dl dd {
  width: 65%;
}
@media screen and (max-width: 640px) {
  .specialist-item .profile-wrap .profile-item dl dd {
    width: 100%;
  }
}
.specialist-item .profile-wrap .profile-item .presentation-list {
  -moz-column-gap: 15px;
       column-gap: 15px;
  margin-bottom: 10px;
}
.specialist-item .profile-wrap .profile-item .presentation-list dt {
  width: 15%;
}
@media screen and (max-width: 640px) {
  .specialist-item .profile-wrap .profile-item .presentation-list dt {
    width: 100%;
  }
}
.specialist-item .profile-wrap .profile-item .presentation-list dd {
  width: 85%;
}
@media screen and (max-width: 640px) {
  .specialist-item .profile-wrap .profile-item .presentation-list dd {
    width: 100%;
  }
}
.specialist-item .profile-wrap .profile-item dd,
.specialist-item .profile-wrap .profile-item dt,
.specialist-item .profile-wrap .profile-item p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.8;
}
.specialist-item .profile-wrap .profile-item ul li {
  font-weight: 300;
  font-size: 14px;
  padding-left: 14px;
  text-indent: -14px;
}
.specialist-item .profile-wrap .message-wrap {
  background-color: #fafcc9;
  border: 1px solid #1c98b6;
  color: #463818;
  font-weight: 400;
  line-height: 1.8;
  padding: 15px 20px;
}
@media screen and (max-width: 640px) {
  .specialist-item .profile-wrap .message-wrap {
    padding: 10px;
  }
}
.specialist-item .profile-wrap .message-wrap .attention {
  padding-top: 15px;
}

#sec__faq {
  background-image: url(../images/common/faq_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  max-width: 100%;
  width: 100vw;
  height: 100%;
  position: relative;
  z-index: 1;
}
#sec__faq:before {
  position: absolute;
  content: "";
  background-color: #f2f5e4;
  opacity: 95%;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}
#sec__faq .main-wrap {
  position: relative;
  z-index: 1;
}
#sec__faq .content-wrap {
  max-width: 900px;
  margin: 0 auto;
}
#sec__faq .content-wrap .btn-wrap .common-button {
  background-color: #fff;
}

.blog-section {
  background-color: #f2f5e4;
}
.blog-section .list-wrap {
  max-width: 670px;
  margin: 0 auto;
}
.blog-section .list-wrap h2 {
  color: #463818;
  font-size: clamp(1.5em, 2.5vw, 1.875em);
  font-family: "Shippori Mincho";
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 18px;
  text-align: left !important;
}

.blog-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.blog-wrap li {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  gap: 10px 30px;
}
@media screen and (max-width: 640px) {
  .blog-wrap li {
    gap: 3px 10px;
  }
}
.blog-wrap li .img-wrap {
  grid-column: 1/2;
  grid-row: 1/3;
  max-width: 120px;
}
@media screen and (max-width: 640px) {
  .blog-wrap li .img-wrap {
    max-width: 80px;
  }
}
.blog-wrap li .title-wrap {
  grid-column: 2/3;
  grid-row: 1/2;
  color: #463818;
  font-size: 14px;
  font-family: Noto Sans JP;
  font-weight: 700;
  display: flex;
  gap: 10px;
}
.blog-wrap li .text-wrap {
  grid-column: 2/3;
  grid-row: 2/3;
  color: #463818;
  font-size: clamp(0.9em, 1.5vw, 1.125em);
  font-family: Noto Sans JP;
  font-weight: 300;
  line-height: 1.4;
}
@media screen and (max-width: 640px) {
  .blog-wrap li .text-wrap {
    font-size: 14px;
  }
}
.blog-wrap li .text-wrap p {
  display: inline;
}
.blog-wrap li .text-wrap a {
  color: #1997b4;
}
.blog-wrap li .text-wrap a:hover, .blog-wrap li .text-wrap a:visited, .blog-wrap li .text-wrap a:focus {
  color: #1997b4;
}

#sec__coverage {
  font-family: "Noto Sans JP";
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
}
#sec__coverage .content-wrap {
  max-width: 821px;
  margin: 0 auto;
}
#sec__coverage ul {
  display: flex;
  -moz-column-gap: 45px;
       column-gap: 45px;
}
@media screen and (max-width: 1024px) {
  #sec__coverage ul {
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}
@media screen and (max-width: 640px) {
  #sec__coverage ul {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}
#sec__coverage ul li {
  width: calc(50% - 22.5px);
}
@media screen and (max-width: 640px) {
  #sec__coverage ul li {
    width: 100%;
  }
}
#sec__coverage ul li h3 {
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  font-size: clamp(1.5em, 2.5vw, 1.875em);
  letter-spacing: 0.1em;
  color: #000;
  margin-bottom: 10px;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #sec__coverage ul li h3 {
    font-size: 20px;
  }
}
#sec__coverage ul li figure {
  max-width: 388px;
  margin: 0 auto;
  width: 100%;
}
#sec__coverage ul li p {
  font-size: 1em;
  padding-top: 15px;
  max-width: 388px;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  #sec__coverage ul li p {
    font-size: 12px;
    line-height: 1.5;
  }
}

.step-wrap {
  font-family: "Noto Sans JP";
  color: #463818;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.step-wrap .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 100px;
}
@media screen and (max-width: 640px) {
  .step-wrap .content-wrap {
    padding-top: 0;
  }
}
.step-wrap ul {
  display: flex;
  -moz-column-gap: 50px;
       column-gap: 50px;
}
@media screen and (max-width: 640px) {
  .step-wrap ul {
    flex-direction: column;
    row-gap: 30px;
  }
}
.step-wrap ul li {
  max-width: 353px;
  margin: 0 auto;
  width: 100%;
}
.step-wrap ul li:nth-of-type(1) {
  transform: translateY(0);
}
.step-wrap ul li:nth-of-type(2) {
  transform: translateY(-50px);
}
@media screen and (max-width: 640px) {
  .step-wrap ul li:nth-of-type(2) {
    transform: translateY(0);
  }
}
.step-wrap ul li:nth-of-type(3) {
  transform: translateY(-100px);
}
@media screen and (max-width: 640px) {
  .step-wrap ul li:nth-of-type(3) {
    transform: translateY(0);
  }
}
.step-wrap ul li figure {
  width: 100%;
  box-shadow: 15px 15px 0 #20b18d;
  margin-bottom: 60px;
}
@media screen and (max-width: 640px) {
  .step-wrap ul li figure {
    margin-bottom: 40px;
  }
}
.step-wrap ul li h3 {
  font-family: "Shippori Mincho";
  font-size: clamp(1.1em, 1.833vw, 1.375em);
  font-weight: 400;
  padding-bottom: 20px;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .step-wrap ul li h3 {
    padding-bottom: 15px;
  }
}

.specialist-item {
  display: flex;
  -moz-column-gap: 20px;
       column-gap: 20px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .specialist-item {
    flex-direction: column;
    row-gap: 20px;
  }
}

.notlink {
  pointer-events: none;
}

.no_available {
  pointer-events: none;
  opacity: 0.3;
}

#page-top-button {
  bottom: 20px;
  position: fixed;
  right: 20px;
  z-index: 1000;
}
@media screen and (max-width: 640px) {
  #page-top-button {
    bottom: 75px;
    max-width: 50px;
  }
}
#page-top-button a {
  display: inline-block;
}

/* 高さアニメーション */
.profile-collapse {
  transition: height 0.3s ease;
}

.js-collapse > :last-child {
  margin-bottom: 1em !important;
}

/* タイトルの見た目と開閉アイコン */
.profile-item .title-s3 {
  cursor: pointer;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.profile-item .title-s3::after {
  content: "＋";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s;
}

.profile-item.is-open .title-s3::after {
  content: "－";
}

/* 動きを控えるユーザー設定に配慮 */
@media (prefers-reduced-motion: reduce) {
  .profile-collapse {
    transition: none;
  }
}
.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: 0 auto;
  margin-bottom: 5px;
  background: #054555;
  transition: transform 0.3s;
}
.hamburger #hamburger-button .buttonBorder:nth-child(3) {
  margin-bottom: 0;
}
.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 a {
  color: #222;
  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: #222;
  text-decoration: none;
}
.hamburger .hamburger-nav .menu > ul > li > a {
  font-weight: bold;
  color: #222;
  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: #222;
  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 #1c98b6;
  border-right: 2px solid #1c98b6;
  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 #1c98b6;
  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 {
  position: relative;
}
#page-top #sec__information {
  padding: 40px 50px 60px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__information {
    padding: 30px 0px;
  }
}
#page-top #sec__information .content-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1370px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__information .content-wrap {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
@media screen and (max-width: 640px) {
  #page-top #sec__information .content-wrap .information-wrap {
    padding: 0 30px;
  }
}
#page-top #sec__information .content-wrap .information-wrap h2 {
  color: #463818;
  font-size: clamp(1.15em, 1.917vw, 1.438em);
  font-family: "Shippori Mincho";
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
#page-top #sec__information .content-wrap .information-wrap h2 span {
  margin-left: 0.5em;
  color: #20b18d;
  font-size: clamp(2.05rem, 3.417vw, 2.563rem);
  font-family: "Ms Madi";
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
#page-top #sec__information .content-wrap .information-wrap .information-list {
  margin-top: 15px;
}
#page-top #sec__information .content-wrap .information-wrap .information-list ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#page-top #sec__information .content-wrap .information-wrap .information-list ul a {
  display: inline-block;
}
#page-top #sec__information .content-wrap .information-wrap .information-list ul dl {
  display: flex;
  gap: 25px;
}
#page-top #sec__information .content-wrap .information-wrap .information-list ul dl dt {
  color: #463818;
  font-size: 14px;
  font-family: Noto Sans JP;
  font-weight: 400;
}
#page-top #sec__information .content-wrap .information-wrap .information-list ul dl dd {
  color: #463818;
  font-size: 14px;
  font-family: Noto Sans JP;
  font-weight: 300;
}
#page-top #sec__policy {
  font-family: "Noto Sans JP";
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
}
#page-top #sec__policy .desc-wrap {
  position: relative;
  padding: 0 15px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__policy .desc-wrap {
    padding-bottom: 330px;
  }
}
#page-top #sec__policy .desc-wrap .text-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-top #sec__policy .desc-wrap .text-wrap h2 {
  font-family: "Shippori Mincho";
  font-weight: 700;
  font-size: clamp(2em, 3.333vw, 2.5em);
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__policy .desc-wrap .text-wrap h2 {
    font-size: 19px;
    margin-bottom: 20px;
  }
  #page-top #sec__policy .desc-wrap .text-wrap h2 br {
    display: none;
  }
}
#page-top #sec__policy .desc-wrap .text-wrap p {
  max-width: 543px;
  color: #463818;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 300;
  width: 45%;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__policy .desc-wrap .text-wrap p {
    width: 63%;
  }
}
@media screen and (max-width: 640px) {
  #page-top #sec__policy .desc-wrap .text-wrap p {
    width: 100%;
  }
}
#page-top #sec__policy .desc-wrap .img-wrap {
  position: absolute;
  top: 0;
  right: 0;
  background-image: url(../images/top/policy_img.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 50%;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__policy .desc-wrap .img-wrap {
    width: 35%;
  }
}
@media screen and (max-width: 640px) {
  #page-top #sec__policy .desc-wrap .img-wrap {
    top: initial;
    bottom: 0;
    width: 100%;
    height: 300px;
  }
}
#page-top #sec__slider {
  padding: 60px 0 100px 0;
  pointer-events: none;
}
@media screen and (max-width: 640px) {
  #page-top #sec__slider {
    padding: 0 0 30px 0;
  }
}
#page-top #sec__cat {
  position: relative;
  z-index: 0;
  background-image: url(../images/top/cat_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  position: relative;
  padding: 110px 15px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__cat {
    background-position: left;
  }
}
#page-top #sec__cat:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(176, 178, 130, 0.2);
  z-index: -1;
}
@media screen and (max-width: 640px) {
  #page-top #sec__cat:before {
    background-color: rgba(105, 105, 83, 0.5);
  }
}
#page-top #sec__cat .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  gap: 20px 40px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__cat .content-wrap {
    flex-direction: column;
  }
}
#page-top #sec__cat .content-wrap .img-wrap {
  width: 30%;
  max-width: 314px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__cat .content-wrap .img-wrap {
    width: 100%;
    margin: 0 auto;
  }
}
#page-top #sec__cat .content-wrap .text-wrap {
  max-width: 500px;
  flex: 1;
}
@media screen and (max-width: 1024px) {
  #page-top #sec__cat .content-wrap .text-wrap {
    max-width: 100%;
  }
}
#page-top #sec__cat .content-wrap .text-wrap h2 {
  color: white;
  font-size: clamp(1.75rem, 3.333vw, 2.5rem);
  font-family: "Shippori Mincho";
  font-weight: 700;
  margin-bottom: 20px;
  text-align: left;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.55);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  #page-top #sec__cat .content-wrap .text-wrap h2 {
    font-size: 18px;
  }
}
#page-top #sec__cat .content-wrap .text-wrap p {
  color: white;
  font-size: 1.125rem;
  font-family: Noto Sans JP;
  font-weight: 500;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.55);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
  #page-top #sec__cat .content-wrap .text-wrap p {
    font-size: 16px;
  }
}
@media screen and (max-width: 640px) {
  #page-top #sec__cat .content-wrap .text-wrap p {
    font-size: 14px;
  }
}
#page-top #sec__cat .content-wrap .text-wrap .common-button {
  background-color: #fff;
}
#page-top #sec__department > p {
  color: #463818;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 400;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__department > p {
    margin-bottom: 30px;
  }
}
#page-top #sec__service {
  background-image: url(../images/top/service_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  max-width: 100%;
  width: 100vw;
  height: 100%;
  position: relative;
  z-index: 1;
}
#page-top #sec__service:before {
  position: absolute;
  content: "";
  background-color: #f2f5e4;
  opacity: 95%;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
#page-top #sec__service h2 {
  text-align: center;
  color: #463818;
  font-size: clamp(2.15rem, 3.583vw, 2.688rem);
  font-family: "Shippori Mincho";
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  #page-top #sec__service h2 {
    font-size: 22px;
  }
}
#page-top #sec__service h2 span {
  color: #463818;
  font-size: clamp(1.75rem, 2.917vw, 2.188rem);
  font-family: "Shippori Mincho";
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  #page-top #sec__service h2 span {
    font-size: 16px;
  }
}
#page-top #sec__service p {
  color: #463818;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin: 0 auto;
  max-width: 1050px;
  padding: 45px 30px 80px;
}
@media screen and (max-width: 640px) {
  #page-top #sec__service p {
    padding: 30px 15px 60px;
  }
}
#page-top #sec__service .service-list {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
  #page-top #sec__service .service-list {
    gap: 15px;
  }
}
@media screen and (max-width: 640px) {
  #page-top #sec__service .service-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }
}
#page-top #sec__service .service-list a {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
#page-top #sec__service .service-list a:hover {
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  #page-top #sec__service .service-list a:not(:first-of-type) {
    margin-top: 30px;
  }
}
#page-top #sec__service .service-list a h3 {
  color: #20b18d;
  font-size: clamp(1.2em, 2vw, 1.5em);
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5;
  justify-self: center;
  align-self: flex-end;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #page-top #sec__service .service-list a h3 {
    font-size: 18px;
  }
}
#page-top #sec__service .service-list a h3 span {
  display: block;
  font-size: 1rem;
}
#page-top #sec__service .service-list a .btn-wrap {
  margin-top: 0;
}
#page-top #sec__banner .content-wrap {
  max-width: 1000px;
  margin: 0 auto;
}
#page-top #sec__banner .content-wrap .banner-wrap {
  display: flex;
  gap: 72px;
  flex-direction: column;
}
@media screen and (max-width: 640px) {
  #page-top #sec__banner .content-wrap .banner-wrap {
    gap: 30px;
  }
}
#page-top #sec__sagamihara .content-wrap {
  max-width: 1000px;
  margin: 0 auto;
}

#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;
}
#contact__main #contact__form__input {
  max-width: 1000px;
  margin: 0 auto 0;
}
#contact__main #contact__form__input .message-group p {
  color: #463818;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 400;
}
#contact__main #contact__form__input .message-back-link {
  margin-top: 20px;
}
#contact__main #contact__form__input .message-back-link a {
  text-decoration: underline;
}
#contact__main #contact__form__input .form-btn-box {
  margin-top: 80px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
#contact__main #contact__form__input .form-btn-box input[type=submit] {
  max-width: 570px !important;
  padding: 18px 60px;
  margin: 0 auto 0;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.4;
  color: #fff;
  background: #13a791;
  border: none;
  border-radius: 50px;
  transition-duration: 0.3s;
}
#contact__main #contact__form__input .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;
  background-color: #ededed;
  border-radius: 5px;
  border: none;
}
#contact__main #contact__form__input__main textarea {
  width: 100%;
  padding: 4px;
  background-color: #ededed;
  border-radius: 5px;
  border: none;
}
#contact__main #contact__form__input__main .error-text {
  color: red;
}
#contact__main #contact__form__input__main dl {
  border-top: 1px solid #463818;
  padding-top: 30px;
  margin-bottom: 20px;
  display: grid;
  grid-template-columns: auto 65%;
  grid-template-rows: 1fr;
  gap: 45px;
}
@media screen and (max-width: 640px) {
  #contact__main #contact__form__input__main dl {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 10px;
    padding-top: 20px;
  }
}
#contact__main #contact__form__input__main dl dt {
  display: inline-flex;
  justify-content: space-between;
  color: black;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  align-items: flex-start;
}
@media screen and (max-width: 640px) {
  #contact__main #contact__form__input__main dl dt {
    justify-content: flex-start;
  }
}
#contact__main #contact__form__input__main dl dt span {
  display: inline;
}
@media screen and (max-width: 640px) {
  #contact__main #contact__form__input__main dl dt span {
    margin-left: 1em;
  }
}
#contact__main #contact__form__confirm {
  margin-top: 30px;
}
#contact__main #contact__form__confirm dl {
  border-top: 1px solid #463818;
  padding-top: 30px;
  margin-bottom: 20px;
  display: grid;
  grid-template-columns: auto 65%;
  grid-template-rows: 1fr;
  gap: 45px;
}
@media screen and (max-width: 640px) {
  #contact__main #contact__form__confirm dl {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 10px;
    padding-top: 20px;
  }
}
#contact__main #contact__form__confirm dl dt {
  display: inline-flex;
  justify-content: space-between;
  color: black;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  align-items: center;
}
@media screen and (max-width: 640px) {
  #contact__main #contact__form__confirm dl dt {
    justify-content: flex-start;
  }
}
#contact__main #contact__form__confirm dl dt span {
  display: inline;
}
@media screen and (max-width: 640px) {
  #contact__main #contact__form__confirm dl dt span {
    margin-left: 1em;
  }
}

.blog-sub-category a {
  text-align: center;
  width: 150px;
  padding: 5px 10px;
  text-decoration: none;
  margin-left: 1em;
  display: inline-block;
  font-weight: bold;
  font-size: 0.8125rem;
  color: #1587c3;
  background: #e4edf2;
  border: 1px dashed #1587c3;
  border-radius: 3px;
}
.blog-sub-category a:hover, .blog-sub-category a:focus, .blog-sub-category a:visited {
  color: #1587c3;
  text-decoration: none;
}

.common-article-contents #article-header {
  margin-bottom: 10px;
}
.common-article-contents #article-header .article-title {
  font-weight: 700;
  line-height: 1.8;
  font-size: clamp(1.4em, 2.333vw, 1.75em);
  padding-bottom: 15px;
}
.common-article-contents #article-header .info-wrap {
  color: #000;
  font-weight: 400;
  font-size: 1em;
  font-family: "Noto Sans JP";
}
.common-article-contents #article-header .info-wrap .blog-category-type {
  margin-left: 5px;
  display: inline-block;
  position: relative;
  padding-left: 10px;
}
.common-article-contents #article-header .info-wrap .blog-category-type::before {
  content: "";
  width: 1px;
  height: 50%;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  background: #222;
  position: absolute;
  left: 0;
}
.common-article-contents #article-header .info-wrap .blog-category-type a {
  color: #999;
  text-decoration: none;
}
.common-article-contents #article-header .info-wrap .blog-category-type a:hover, .common-article-contents #article-header .info-wrap .blog-category-type a:focus, .common-article-contents #article-header .info-wrap .blog-category-type a:visited {
  text-decoration: none;
  color: #999;
}
.common-article-contents .entry-contents {
  padding-bottom: 50px;
  background-image: linear-gradient(to right, #d6d6d6 3px, transparent 3px);
  background-size: 6px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}
.common-article-contents .btn-wrap {
  display: none;
}
@media screen and (max-width: 640px) {
  .common-article-contents .btn-wrap {
    display: block;
    text-align: center;
  }
}

#sec__blog #sec__banner,
#news__entry__contents #sec__banner {
  padding-top: 30px;
}
@media screen and (max-width: 640px) {
  #sec__blog #sec__banner,
  #news__entry__contents #sec__banner {
    padding-top: 15px;
  }
}
#sec__blog #sec__banner .content-wrap,
#news__entry__contents #sec__banner .content-wrap {
  max-width: 600px;
  margin: 0 auto;
}
#sec__blog #sec__banner .content-wrap .banner-wrap,
#news__entry__contents #sec__banner .content-wrap .banner-wrap {
  display: flex;
  gap: 72px;
  flex-direction: column;
}
@media screen and (max-width: 640px) {
  #sec__blog #sec__banner .content-wrap .banner-wrap,
  #news__entry__contents #sec__banner .content-wrap .banner-wrap {
    gap: 30px;
  }
}

#_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-trimming {
  font-family: Noto Sans JP;
  font-weight: 300;
  font-size: 1em;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
}
#page-trimming #sec__instagram {
  padding-bottom: 0;
}
#page-trimming #sec__instagram .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  -moz-column-gap: 55px;
       column-gap: 55px;
}
@media screen and (max-width: 1024px) {
  #page-trimming #sec__instagram .content-wrap {
    flex-direction: column;
    gap: 30px;
  }
}
#page-trimming #sec__instagram .content-wrap .text-wrap {
  max-width: 466px;
}
#page-trimming #sec__instagram .content-wrap .text-wrap .title {
  position: relative;
  color: black;
  font-size: clamp(1.8em, 3vw, 2.25em);
  font-family: "Roboto";
  font-weight: 400;
  padding-left: 55px;
  margin-bottom: 20px;
}
#page-trimming #sec__instagram .content-wrap .text-wrap .title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background-image: url(../images/common/Instagram_glyph.png);
  background-size: contain;
  background-repeat: no-repeat;
}
#page-trimming #sec__instagram .content-wrap .text-wrap .description {
  color: #463818;
  font-size: clamp(0.9em, 1.5vw, 1.125em);
  font-family: Noto Sans JP;
  font-weight: 300;
}
#page-trimming #sec__instagram .content-wrap .text-wrap .btn-wrap {
  text-align: left;
  margin-top: 50px;
}
@media screen and (max-width: 1024px) {
  #page-trimming #sec__instagram .content-wrap .text-wrap .btn-wrap {
    text-align: center;
  }
}
#page-trimming #sec__instagram .content-wrap .text-wrap .btn-wrap .common-button {
  border-color: #000;
  color: #000;
  white-space: nowrap;
}
#page-trimming #sec__instagram .content-wrap .insta_list {
  width: 100%;
}
#page-trimming #sec__menu .flow-label {
  max-width: 1200px;
  margin: 0 auto 70px;
}
@media screen and (max-width: 640px) {
  #page-trimming #sec__menu .flow-label {
    margin: 0 auto 35px;
  }
}
@media screen and (max-width: 640px) {
  #page-trimming #sec__menu .title-s2 {
    font-size: 16px;
  }
}
#page-trimming #sec__menu .content-wrap {
  max-width: 1200px;
  margin: 0 auto 80px;
}
@media screen and (max-width: 640px) {
  #page-trimming #sec__menu .content-wrap {
    margin: 0 auto 50px;
  }
}
#page-trimming #sec__menu .detail-wrap {
  display: flex;
  -moz-column-gap: 60px;
       column-gap: 60px;
  margin-bottom: 80px;
}
@media screen and (max-width: 1024px) {
  #page-trimming #sec__menu .detail-wrap {
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}
@media screen and (max-width: 640px) {
  #page-trimming #sec__menu .detail-wrap {
    flex-direction: column;
    row-gap: 20px;
    margin-bottom: 40px;
  }
}
#page-trimming #sec__menu .detail-wrap.table-main {
  display: block;
}
#page-trimming #sec__menu .detail-wrap .desc-wrap ul {
  padding-top: 30px;
}
#page-trimming #sec__menu .detail-wrap .desc-wrap ul li {
  padding-left: 1em;
  text-indent: -1em;
}
#page-trimming #sec__menu .detail-wrap .text-wrap {
  max-width: 732px;
  width: 100%;
  margin: 0 auto;
}
#page-trimming #sec__menu .detail-wrap .text-wrap.no-pic {
  margin: 0 0 50px 0;
  max-width: initial;
}
@media screen and (max-width: 640px) {
  #page-trimming #sec__menu .detail-wrap .text-wrap.no-pic {
    margin: 0 0 30px 0;
  }
}
#page-trimming #sec__menu .detail-wrap .img-wrap {
  max-width: 408px;
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 640px) {
  #page-trimming #sec__menu .detail-wrap .img-wrap {
    width: 80%;
  }
}
#page-trimming #sec__menu .attention {
  text-align: center;
}
#page-trimming #sec__menu .trimming {
  margin: 0 auto 50px;
  max-width: 1000px;
}
#page-trimming #sec__menu .trimming #hotel-shampoo th {
  width: 36%;
}
@media screen and (max-width: 640px) {
  #page-trimming #sec__menu .trimming #hotel-shampoo th {
    width: 50%;
  }
}
#page-trimming #sec__menu .trimming #hotel-shampoo td {
  width: 64%;
}
@media screen and (max-width: 640px) {
  #page-trimming #sec__menu .trimming #hotel-shampoo td {
    width: 50%;
  }
}
#page-trimming #sec__menu .pricelist {
  margin-bottom: 80px;
}
@media screen and (max-width: 640px) {
  #page-trimming #sec__menu .pricelist {
    margin-bottom: 40px;
  }
}
#page-trimming #sec__menu .price-attention {
  text-align: center;
}
#page-trimming #sec__flow {
  padding: 0 15px;
}
#page-trimming #sec__flow .required {
  max-width: 217px;
  margin: 0 auto 60px;
  text-align: center;
  background-color: #b23434;
  color: #fafcc9;
  font-size: clamp(1.4em, 2.333vw, 1.75em);
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 10px;
  font-family: "Shippori Mincho";
}
@media screen and (max-width: 640px) {
  #page-trimming #sec__flow .required {
    font-size: 18px;
  }
}
#page-trimming #sec__flow .flow-item:last-of-type .flow-num-contents:before {
  content: none;
}
#page-trimming #sec__appointment {
  font-family: Noto Sans JP;
  font-weight: 300;
  font-size: 1em;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
  background-image: url(../images/trimming/trimming_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  max-width: 100%;
  width: 100vw;
  height: 100%;
  position: relative;
  z-index: 1;
}
#page-trimming #sec__appointment:before {
  position: absolute;
  content: "";
  background-color: #f2f5e4;
  opacity: 95%;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}
#page-trimming #sec__appointment .main-wrap {
  position: relative;
  z-index: 1;
}
#page-trimming #sec__appointment .main-wrap .message {
  margin-bottom: 50px;
  text-align: center;
}
#page-trimming #sec__appointment .main-wrap .appo-information {
  max-width: 1000px;
  margin: 0 auto;
  background-color: #f8f8f8;
  padding: 40px 80px;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #page-trimming #sec__appointment .main-wrap .appo-information {
    padding: 15px 20px;
    text-align: left;
  }
}
#page-trimming #sec__appointment .main-wrap .appo-information h3 {
  font-family: Zen Kaku Gothic New;
  font-size: clamp(1.2em, 2vw, 1.5em);
  font-weight: 400;
  margin-bottom: 15px;
}
#page-trimming #sec__appointment .main-wrap .appo-information p {
  padding-bottom: 10px;
}
#page-trimming #sec__appointment .main-wrap .appo-information .btn-wrap {
  margin-top: 30px;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #page-trimming #sec__appointment .main-wrap .appo-information .btn-wrap {
    margin-top: 20px;
  }
}
#page-trimming #sec__appointment .main-wrap .appo-information .btn-wrap .common-button {
  max-width: 260px;
}

#page-hotel {
  position: relative;
}
@media screen and (max-width: 640px) {
  #page-hotel .p-block {
    display: block;
  }
}
#page-hotel #sec__introduction #pethotel-insta {
  max-width: 715px;
  margin: 0 auto;
  display: block;
}
#page-hotel #sec__feature .desc-wrap .attention {
  padding-top: 40px;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__feature .desc-wrap .attention {
    padding-top: 20px;
  }
}
#page-hotel #sec__pricelist {
  font-family: Noto Sans JP;
  color: #463818;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
#page-hotel #sec__pricelist .content-wrap {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
#page-hotel #sec__pricelist .count-large {
  font-family: Zen Kaku Gothic New;
  font-size: clamp(1.3em, 2.167vw, 1.625em);
  font-weight: 400;
  padding-bottom: 10px;
  margin-bottom: 0;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__pricelist .count-large {
    font-size: 16px;
  }
}
#page-hotel #sec__pricelist .text-wrap {
  margin-bottom: 40px;
}
#page-hotel #sec__pricelist .table-wrap table {
  width: 100%;
}
#page-hotel #sec__pricelist .table-wrap table .item {
  width: 20%;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__pricelist .table-wrap table .item {
    width: 10%;
  }
}
#page-hotel #sec__pricelist .table-wrap table .detail {
  width: 35%;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__pricelist .table-wrap table .detail {
    width: 30%;
  }
}
#page-hotel #sec__pricelist .table-wrap table .normal,
#page-hotel #sec__pricelist .table-wrap table .vip {
  width: 22.5%;
  text-align: center;
  border-right: 1px solid #000;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__pricelist .table-wrap table .normal,
  #page-hotel #sec__pricelist .table-wrap table .vip {
    width: 30%;
  }
}
#page-hotel #sec__pricelist .table-wrap .tax {
  text-align: right;
  padding-top: 10px;
}
#page-hotel #sec__flow {
  background-color: #eafffb;
  font-family: Noto Sans JP;
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-weight: 300;
  color: #463818;
}
#page-hotel #sec__flow .flow-label {
  max-width: 1200px;
  margin: 0 auto 60px;
  width: 100%;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__flow .flow-label {
    margin: 0 auto 30px;
  }
}
#page-hotel #sec__flow .content-wrap:first-of-type {
  padding-bottom: 100px;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__flow .content-wrap:first-of-type {
    padding-bottom: 50px;
  }
}
#page-hotel #sec__flow .flow-item .flow-num-contents {
  max-width: 160px;
}
#page-hotel #sec__flow .flow-item .flow-num-contents .icon-num {
  width: clamp(6.5em, 10.833vw, 8.125em);
  height: clamp(3.65em, 6.083vw, 4.563em);
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__flow .flow-item .flow-num-contents .icon-num {
    width: 80px;
    height: 40px;
  }
}
#page-hotel #sec__flow .flow-item .flow-num-contents .icon-num span {
  font-size: clamp(1.3em, 2.167vw, 1.625em);
  font-family: Zen Kaku Gothic New;
  font-weight: 400;
  line-height: 1.5;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__flow .flow-item .flow-num-contents .icon-num span {
    font-size: 14px;
  }
}
#page-hotel #sec__flow .flow-item .hotel-gallery {
  padding-top: 30px;
  display: flex;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
@media screen and (max-width: 1024px) {
  #page-hotel #sec__flow .flow-item .hotel-gallery {
    flex-direction: column;
    row-gap: 20px;
  }
}
#page-hotel #sec__flow .flow-item .hotel-gallery .img-wrap .title-s3 {
  font-size: 1.125rem;
}
#page-hotel #sec__flow .flow-item .hotel-gallery .img-wrap figure {
  display: flex;
  -moz-column-gap: 15px;
       column-gap: 15px;
  max-width: 395px;
  width: 100%;
  margin: 0 auto 15px;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__flow .flow-item .hotel-gallery .img-wrap figure {
    -moz-column-gap: 5px;
         column-gap: 5px;
  }
}
#page-hotel #sec__flow .flow-item .hotel-gallery .img-wrap figure img {
  max-width: 190px;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__flow .flow-item .hotel-gallery .img-wrap figure img {
    width: 50%;
  }
}
#page-hotel #sec__flow .flow-item .hotel-gallery .img-wrap figure img.single {
  max-width: 395px;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__flow .flow-item .hotel-gallery .img-wrap figure img.single {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  #page-hotel #sec__flow .flow-item .flow-contents {
    flex-direction: column;
  }
}
@media screen and (max-width: 1024px) {
  #page-hotel #sec__flow .flow-item .flow-contents figure {
    max-width: 380px;
    margin: 0 auto;
  }
}
#page-hotel #sec__notice {
  font-family: Noto Sans JP;
  font-weight: 300;
  font-size: 1.125em;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #463818;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__notice {
    font-size: 14px;
  }
}
#page-hotel #sec__notice .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-hotel #sec__notice .desc-wrap {
  margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__notice .desc-wrap {
    margin-bottom: 30px;
  }
}
#page-hotel #sec__notice .desc-wrap .time-table-wrap p {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
  color: #222;
}
#page-hotel #sec__notice .desc-wrap .time-table-wrap .time-table-block .time-table {
  position: relative;
  max-width: 491px;
  width: 100%;
  overflow: scroll;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__notice .desc-wrap .time-table-wrap .time-table-block .time-table {
    max-width: 350px;
  }
}
#page-hotel #sec__notice .desc-wrap .time-table-wrap .time-table-block .time-table th,
#page-hotel #sec__notice .desc-wrap .time-table-wrap .time-table-block .time-table td {
  padding: 7.5px 15px;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__notice .desc-wrap .time-table-wrap .time-table-block .time-table th,
  #page-hotel #sec__notice .desc-wrap .time-table-wrap .time-table-block .time-table td {
    font-size: 14px;
    padding: 3.5px 7px;
  }
}
#page-hotel #sec__notice .desc-wrap .time-table-wrap .time-table-block .time-table th .open,
#page-hotel #sec__notice .desc-wrap .time-table-wrap .time-table-block .time-table td .open {
  color: #222;
  font-size: 14px;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__notice .desc-wrap .time-table-wrap .time-table-block .time-table th .open,
  #page-hotel #sec__notice .desc-wrap .time-table-wrap .time-table-block .time-table td .open {
    font-size: 12px;
  }
}
#page-hotel #sec__notice .desc-wrap .time-table-wrap .time-table-block .time-table th .closed,
#page-hotel #sec__notice .desc-wrap .time-table-wrap .time-table-block .time-table td .closed {
  color: #222;
}
#page-hotel #sec__booking {
  font-family: Noto Sans JP;
  font-weight: 300;
  font-size: 1em;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
}
#page-hotel #sec__booking.section {
  padding-top: 0;
}
#page-hotel #sec__booking .content-wrap {
  max-width: 1000px;
  margin: 0 auto;
}
#page-hotel #sec__booking .text-wrap {
  margin-bottom: 50px;
  text-align: center;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__booking .text-wrap {
    margin-bottom: 30px;
  }
}
#page-hotel #sec__booking article {
  margin-bottom: 60px;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__booking article {
    margin-bottom: 40px;
  }
}
#page-hotel #sec__booking article .flow-label {
  margin-top: 50px;
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__booking article .flow-label {
    margin-bottom: 20px;
  }
}
#page-hotel #sec__booking article .inner-wrap {
  max-width: 1000px;
  margin: 0 auto;
}
#page-hotel #sec__booking article .inner-wrap p {
  margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__booking article .inner-wrap p {
    margin-bottom: 20px;
  }
}
#page-hotel #sec__booking article .inner-wrap #hotel-booking td {
  border-right: 1px solid #000;
}
#page-hotel #sec__booking article .inner-wrap #hotel-booking .item {
  width: 36%;
}
#page-hotel #sec__booking article .inner-wrap #hotel-booking .detail {
  width: 19%;
}
#page-hotel #sec__booking article .inner-wrap #hotel-booking .pdf,
#page-hotel #sec__booking article .inner-wrap #hotel-booking .word {
  width: 22.5%;
  text-align: center;
}
#page-hotel #sec__booking article .inner-wrap #hotel-booking .pdf a,
#page-hotel #sec__booking article .inner-wrap #hotel-booking .word a {
  text-decoration: underline;
}
#page-hotel #sec__booking article .inner-wrap .attention {
  padding-top: 10px;
  line-height: 1.5;
  font-size: 1.125em;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__booking article .inner-wrap .attention {
    font-size: 14px;
  }
}
#page-hotel #sec__booking article dl {
  padding: 25px 0;
  border-bottom: 1px solid #463818;
  display: flex;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__booking article dl {
    padding: 15px 0;
  }
}
#page-hotel #sec__booking article dl:first-of-type {
  border-top: 1px solid #463818;
}
#page-hotel #sec__booking article dl dt {
  font-size: 1em;
  font-weight: 400;
  width: 28%;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__booking article dl dt {
    width: 40%;
  }
}
#page-hotel #sec__booking article dl dd {
  font-weight: 300;
  width: 72%;
}
@media screen and (max-width: 640px) {
  #page-hotel #sec__booking article dl dd {
    width: 60%;
  }
}

#page-cat #sec__welcome {
  position: relative;
  z-index: 0;
  font-family: "Noto Sans JP";
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #fff;
  background-image: url(../images/cat/welcome_img.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  position: relative;
}
#page-cat #sec__welcome:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(105, 105, 83, 0.5);
  z-index: -1;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__welcome:before {
    background-color: rgba(105, 105, 83, 0.5);
  }
}
#page-cat #sec__welcome.section {
  padding: 70px 15px;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__welcome.section {
    padding: 40px 15px;
  }
}
#page-cat #sec__welcome h2 {
  font-family: "Shippori Mincho";
  font-weight: 700;
  font-size: clamp(1.5rem, 2.5vw, 1.875rem);
  margin-bottom: 20px;
  text-align: center;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.55);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__welcome h2 {
    text-align: left;
    font-size: 18px;
  }
}
#page-cat #sec__welcome .content-wrap {
  max-width: 939px;
  margin: 0 auto;
}
#page-cat #sec__welcome .content-wrap p {
  color: white;
  font-size: clamp(0.9em, 1.5vw, 1.125em);
  font-family: Noto Sans JP;
  font-weight: 500;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.55);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__welcome .content-wrap p {
    font-size: 14px;
  }
}
#page-cat #sec__cfc .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-cat #sec__cfc .flex-wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  #page-cat #sec__cfc .flex-wrap {
    flex-direction: column;
    gap: 20px;
  }
}
#page-cat #sec__cfc .flex-wrap .img-wrap {
  max-width: 600px;
  width: 50%;
  padding: 10px 50px;
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 1024px) {
  #page-cat #sec__cfc .flex-wrap .img-wrap {
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 640px) {
  #page-cat #sec__cfc .flex-wrap .img-wrap {
    padding: 10px 25px;
  }
}
#page-cat #sec__cfc .flex-wrap .text-wrap {
  flex: 1;
  max-width: 600px;
}
@media screen and (max-width: 1024px) {
  #page-cat #sec__cfc .flex-wrap .text-wrap {
    max-width: 100%;
  }
}
#page-cat #sec__cfc .flex-wrap .text-wrap h2 {
  color: #463818;
  font-family: "Shippori Mincho";
  font-size: clamp(1.313rem, 2.5vw, 1.875rem);
  font-style: normal;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 25px;
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
  #page-cat #sec__cfc .flex-wrap .text-wrap h2 {
    text-align: center;
  }
}
@media screen and (max-width: 640px) {
  #page-cat #sec__cfc .flex-wrap .text-wrap h2 {
    font-size: 20px;
  }
}
#page-cat #sec__cfc .flex-wrap .text-wrap p {
  color: #463818;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
#page-cat #sec__cfc .flex-wrap .text-wrap p:not(:last-of-type) {
  margin-bottom: 1.8em;
}
#page-cat #sec__action {
  font-family: "Noto Sans JP";
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
}
#page-cat #sec__action .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-cat #sec__action ul {
  display: flex;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
@media screen and (max-width: 1024px) {
  #page-cat #sec__action ul {
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
}
@media screen and (max-width: 640px) {
  #page-cat #sec__action ul {
    flex-direction: column;
    row-gap: 30px;
  }
}
#page-cat #sec__action ul li {
  width: calc(33.33% - 20px);
}
@media screen and (max-width: 640px) {
  #page-cat #sec__action ul li {
    width: 100%;
  }
}
#page-cat #sec__action ul li figure {
  max-width: 380px;
  width: 100%;
  margin: 0 auto 20px;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__action ul li figure {
    width: 80%;
    margin: 0 auto 15px;
  }
}
#page-cat #sec__action ul li h3 {
  font-family: "Zen Kaku Gothic New";
  font-weight: 400;
  font-size: 1.125em;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__action ul li h3 {
    margin-bottom: 15px;
  }
}
#page-cat #sec__action ul li p {
  font-size: 1em;
}
#page-cat #sec__catfloor.section {
  padding-top: 0;
  padding-right: 0 !important;
  padding-left: 0 !important;
  overflow: hidden;
}
#page-cat #sec__catfloor .slider-items li .text-wrap {
  display: none;
  margin-top: 20px;
  margin-bottom: 20px;
  border: 1px solid #000;
  padding: 15px;
}
#page-cat #sec__catfloor .slider-items li .text-wrap .name {
  color: #463818;
  font-size: clamp(0.9em, 1.5vw, 1.125em);
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin: 0;
}
#page-cat #sec__catfloor .slider-items li .text-wrap .description {
  margin-top: 7px;
  color: #463818;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
#page-cat #sec__catfloor .slider-items .slick-current .text-wrap {
  display: block;
}
#page-cat #sec__catfloor .slider-items .slick-dots button::before {
  font-size: 30px;
}
@media screen and (min-width: 1025px) {
  #page-cat #sec__catfloor .slider-items .slick-slide {
    max-width: 800px;
    margin: 0 auto; /* 中央揃え */
  }
  #page-cat #sec__catfloor .slider-items .slick-center {
    transform: scale(1); /* 必要に応じて調整 */
    max-width: 800px;
  }
  #page-cat #sec__catfloor .slider-items .slick-slide img {
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain; /* 画像の比率を保持 */
  }
  #page-cat #sec__catfloor .slider-items .slick-slide {
    width: auto !important;
    max-width: 800px;
  }
}
#page-cat #sec__preparation {
  font-family: "Noto Sans JP";
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
}
#page-cat #sec__preparation.section {
  padding-top: 0;
}
#page-cat #sec__preparation .content-wrap {
  margin: 0 auto;
  max-width: 1200px;
}
#page-cat #sec__preparation .title-s2 {
  text-align: left;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__preparation .title-s2 {
    font-size: 16px;
  }
}
#page-cat #sec__preparation .title-s2 span {
  font-family: "Ms Madi";
  font-weight: 400;
  font-size: clamp(1.3rem, 2.167vw, 1.625rem);
  line-height: 1.5;
  color: #20b18d;
  display: inline-block;
  background-color: #fafcc9;
  border-radius: 50px;
  padding: 7.5px 30px;
  max-width: 120px;
  margin-right: 20px;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__preparation .title-s2 span {
    font-size: 16px;
    padding: 5px 20px;
    margin-right: 15px;
  }
}
#page-cat #sec__preparation article {
  margin-bottom: 50px;
  font-size: 1.125em;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__preparation article {
    font-size: 14px;
    margin-bottom: 30px;
  }
}
#page-cat #sec__preparation article .text-wrap .mg {
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__preparation article .text-wrap .mg {
    margin-bottom: 20px;
  }
}
#page-cat #sec__preparation article.two-col .desc-wrap {
  display: flex;
  -moz-column-gap: 25px;
       column-gap: 25px;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__preparation article.two-col .desc-wrap {
    flex-direction: column;
    row-gap: 25px;
  }
}
#page-cat #sec__preparation article.two-col .desc-wrap .text-wrap {
  max-width: 865px;
  width: 100%;
  margin: 0 auto;
}
#page-cat #sec__preparation article.two-col .desc-wrap .img-wrap {
  max-width: 310px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__preparation article.two-col .desc-wrap .img-wrap {
    width: 80%;
  }
}
#page-cat #sec__leader {
  font-family: "Noto Sans JP";
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
}
#page-cat #sec__leader.section {
  padding-top: 0;
}
#page-cat #sec__leader .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-cat #sec__leader p {
  text-align: center;
  font-size: 1em;
  margin-bottom: 70px;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__leader p {
    margin-bottom: 40px;
  }
}
#page-cat #sec__leader .specialist-item {
  max-width: 940px;
}
#page-cat #sec__leader .specialist-item .img-wrap {
  width: 100%;
}
#page-cat #sec__leader .specialist-item .img-wrap p {
  padding-top: 15px;
  text-align: left;
}
#page-cat #sec__staffcat {
  font-family: "Noto Sans JP";
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
}
#page-cat #sec__staffcat.section {
  padding-top: 0;
}
#page-cat #sec__staffcat p {
  text-align: center;
  font-size: 1.125em;
  margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__staffcat p {
    font-size: 14px;
    margin-bottom: 30px;
  }
}
#page-cat #sec__staffcat .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-cat #sec__staffcat .staff-cat-wrap {
  display: flex;
  gap: 20px 30px;
  flex-wrap: wrap;
}
@media screen and (max-width: 640px) {
  #page-cat #sec__staffcat .staff-cat-wrap {
    gap: 10px;
  }
}
#page-cat #sec__staffcat .staff-cat-wrap figure {
  width: calc(25% - 22.5px);
}
@media screen and (max-width: 1024px) {
  #page-cat #sec__staffcat .staff-cat-wrap figure {
    width: calc(33.33% - 20px);
  }
}
@media screen and (max-width: 640px) {
  #page-cat #sec__staffcat .staff-cat-wrap figure {
    width: calc(33.33% - 6.67px);
  }
}

#page-first #sec__policy {
  font-family: "Noto Sans JP";
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
  padding-left: 0;
  padding-right: 0;
}
#page-first #sec__policy .desc-wrap {
  position: relative;
  padding: 0 15px;
}
@media screen and (max-width: 640px) {
  #page-first #sec__policy .desc-wrap {
    padding-bottom: 330px;
  }
}
#page-first #sec__policy .desc-wrap .text-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-first #sec__policy .desc-wrap .text-wrap h2 {
  font-family: "Shippori Mincho";
  font-weight: 700;
  font-size: clamp(2em, 3.333vw, 2.5em);
  margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  #page-first #sec__policy .desc-wrap .text-wrap h2 {
    font-size: 26px;
  }
}
@media screen and (max-width: 640px) {
  #page-first #sec__policy .desc-wrap .text-wrap h2 {
    font-size: 18px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 640px) and (max-width: 640px) {
  #page-first #sec__policy .desc-wrap .text-wrap h2 br {
    display: none;
  }
}
#page-first #sec__policy .desc-wrap .text-wrap p {
  max-width: 543px;
  color: #463818;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 300;
  width: 45%;
}
#page-first #sec__policy .desc-wrap .text-wrap p:not(:last-of-type) {
  margin-bottom: 1em;
}
@media screen and (max-width: 1024px) {
  #page-first #sec__policy .desc-wrap .text-wrap p {
    width: 63%;
  }
}
@media screen and (max-width: 640px) {
  #page-first #sec__policy .desc-wrap .text-wrap p {
    width: 100%;
  }
}
#page-first #sec__policy .desc-wrap .img-wrap {
  position: absolute;
  top: 0;
  right: 0;
  background-image: url(../images/first/policy_img.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 50%;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  #page-first #sec__policy .desc-wrap .img-wrap {
    width: 35%;
  }
}
@media screen and (max-width: 640px) {
  #page-first #sec__policy .desc-wrap .img-wrap {
    top: initial;
    bottom: 0;
    width: 100%;
    height: 300px;
  }
}
#page-first #sec__department.section {
  padding-top: 0;
}
#page-first #sec__department .content-wrap {
  max-width: 1300px;
  margin: 0 auto;
}
#page-first #sec__flow.section {
  padding-top: 0;
}
#page-first #sec__cooperation {
  font-family: "Noto Sans JP";
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
}
#page-first #sec__cooperation.section {
  padding-top: 0;
}
#page-first #sec__cooperation .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
#page-first #sec__cooperation .desc-wrap {
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  #page-first #sec__cooperation .desc-wrap {
    margin-bottom: 20px;
  }
}
#page-first #sec__cooperation .desc-wrap .title-s2 {
  text-align: left;
}
@media screen and (max-width: 640px) {
  #page-first #sec__cooperation .desc-wrap .title-s2 {
    font-size: 16px;
  }
}
#page-first #sec__cooperation .desc-wrap p {
  font-size: 1.125em;
}
@media screen and (max-width: 640px) {
  #page-first #sec__cooperation .desc-wrap p {
    font-size: 14px;
  }
}
#page-first #sec__secondopinion {
  background-color: #fafcc9;
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 300px;
  position: relative;
}
@media screen and (max-width: 640px) {
  #page-first #sec__secondopinion {
    padding-bottom: 0;
  }
}
#page-first #sec__secondopinion .desc-wrap {
  position: relative;
  padding: 0 15px;
}
@media screen and (max-width: 640px) {
  #page-first #sec__secondopinion .desc-wrap {
    padding-bottom: 250px;
  }
}
#page-first #sec__secondopinion .desc-wrap .text-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 100px;
}
@media screen and (max-width: 640px) {
  #page-first #sec__secondopinion .desc-wrap .text-wrap {
    padding-bottom: 0;
  }
}
#page-first #sec__secondopinion .desc-wrap .text-wrap p {
  max-width: 543px;
  color: #463818;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.8;
  width: 45%;
}
@media screen and (max-width: 1024px) {
  #page-first #sec__secondopinion .desc-wrap .text-wrap p {
    width: 63%;
  }
}
@media screen and (max-width: 640px) {
  #page-first #sec__secondopinion .desc-wrap .text-wrap p {
    width: 100%;
  }
}
#page-first #sec__secondopinion .desc-wrap .img-wrap {
  position: absolute;
  top: 0;
  right: 0;
  background-image: url(../images/first/opinion_img1.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 50%;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  #page-first #sec__secondopinion .desc-wrap .img-wrap {
    width: 35%;
  }
}
@media screen and (max-width: 640px) {
  #page-first #sec__secondopinion .desc-wrap .img-wrap {
    top: initial;
    bottom: 0;
    width: 100%;
    height: 200px;
  }
}
#page-first #sec__secondopinion figure img {
  position: absolute;
  bottom: 60px;
  left: 53%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 473px;
}
@media screen and (max-width: 640px) {
  #page-first #sec__secondopinion figure img {
    display: none;
  }
}
#page-first #sec__night-medical-treatment {
  padding-right: 0;
  padding-left: 0;
}
@media screen and (max-width: 640px) {
  #page-first #sec__night-medical-treatment {
    padding-right: 15px;
    padding-left: 15px;
  }
}
#page-first #sec__night-medical-treatment .content-wrap {
  display: grid;
  grid-template-columns: 1fr 1.5fr 1fr;
  gap: 55px;
}
@media screen and (max-width: 640px) {
  #page-first #sec__night-medical-treatment .content-wrap {
    grid-template-columns: initial;
    grid-template-areas: "text text" "img1 img2";
    gap: 30px 0;
  }
}
@media screen and (max-width: 640px) {
  #page-first #sec__night-medical-treatment .content-wrap .text-wrap {
    grid-area: text;
  }
}
#page-first #sec__night-medical-treatment .content-wrap .part-tel-bnr {
  margin-top: 50px;
}
@media screen and (max-width: 640px) {
  #page-first #sec__night-medical-treatment .content-wrap .part-tel-bnr {
    margin-top: 30px;
  }
}
#page-first #sec__night-medical-treatment .content-wrap .img-wrap {
  max-width: 394px;
  justify-self: center;
}
@media screen and (max-width: 640px) {
  #page-first #sec__night-medical-treatment .content-wrap .img-wrap:first-of-type {
    grid-area: img1;
  }
  #page-first #sec__night-medical-treatment .content-wrap .img-wrap:last-of-type {
    grid-area: img2;
  }
}
@media screen and (max-width: 640px){
  #page-first #sec__night-medical-treatment .content-wrap .text-wrap {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  #page-first #sec__night-medical-treatment .content-wrap .img-wrap:first-of-type {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  #page-first #sec__night-medical-treatment .content-wrap .img-wrap:last-of-type {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}
#page-first #sec__access {
  font-family: "Noto Sans JP";
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
}
#page-first #sec__access .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
#page-first #sec__access p {
  text-align: center;
  font-size: 1em;
}
#page-first #sec__access .gmap-wrap {
  width: 100%;
  margin-bottom: 60px;
}
@media screen and (max-width: 640px) {
  #page-first #sec__access .gmap-wrap {
    margin-bottom: 30px;
  }
}
#page-first #sec__access .gmap-wrap .iframe-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 36%;
  margin-bottom: 35px;
}
@media screen and (max-width: 640px) {
  #page-first #sec__access .gmap-wrap .iframe-container {
    margin-bottom: 20px;
    padding-top: 60%;
  }
}
#page-first #sec__access .gmap-wrap .iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
#page-first #sec__access .desc-wrap {
  margin-bottom: 60px;
}
@media screen and (max-width: 640px) {
  #page-first #sec__access .desc-wrap {
    margin-bottom: 30px;
  }
}
#page-first #sec__access .desc-wrap .flow-label {
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  #page-first #sec__access .desc-wrap .flow-label {
    margin-bottom: 20px;
  }
}
#page-first #sec__access .desc-wrap .text-wrap:first-of-type {
  margin-bottom: 30px;
}
#page-first #sec__access .desc-wrap .text-wrap h4 {
  text-align: center;
  font-size: 1.125em;
  font-weight: 400;
  margin-bottom: 15px;
}
@media screen and (max-width: 640px) {
  #page-first #sec__access .desc-wrap .text-wrap h4 {
    margin-bottom: 10px;
  }
}
#page-first #sec__access figure {
  max-width: 600px;
  margin: 0 auto;
}

#page-staff {
  /* ==============================
  * 従来の .profile-item 用
  * ============================== */
}
#page-staff #sec__page-navi .navi-list {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1024px) {
  #page-staff #sec__page-navi .navi-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
#page-staff #sec__director {
  padding-left: 0;
  padding-right: 0;
  background-color: #feffee;
  /* 開閉アニメーション本体 */
  /* 見出しをトグル化（＋/－アイコン付き） */
  /* 開状態の見た目（任意） */
  /* 動きを控えるユーザー設定に配慮 */
}
#page-staff #sec__director .bg-wrap {
  background: url(../images/staff/director_img.jpg);
  background-position: center;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__director .bg-wrap {
    background: url(../images/staff/director_img_sp.jpg);
    background-size: cover;
    background-position: center;
  }
}
#page-staff #sec__director .bg-wrap .content-wrap {
  padding: 80px 15px;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__director .bg-wrap .content-wrap {
    padding: 40px 15px;
  }
}
#page-staff #sec__director .bg-wrap .message-wrap {
  max-width: 815px;
}
#page-staff #sec__director .bg-wrap .message-wrap h3 {
  color: white;
  font-size: clamp(1.5em, 2.5vw, 1.875em);
  font-family: "Shippori Mincho";
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__director .bg-wrap .message-wrap h3 {
    font-size: 20px;
  }
}
#page-staff #sec__director .bg-wrap .message-wrap .text-wrap {
  margin-top: 25px;
}
#page-staff #sec__director .bg-wrap .message-wrap .text-wrap p {
  color: white;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
#page-staff #sec__director .bg-wrap .message-wrap .sign {
  text-align: right;
  margin-top: 25px;
  color: white;
  font-size: 30px;
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__director .bg-wrap .message-wrap .sign {
    font-size: 20px;
  }
}
#page-staff #sec__director .bg-wrap .message-wrap .sign span {
  color: white;
  font-size: 18px;
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
  margin-right: 1em;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__director .bg-wrap .message-wrap .sign span {
    font-size: 14px;
  }
}
#page-staff #sec__director .title-s3 {
  margin-top: 0;
  font-size: clamp(1em, 1.667vw, 1.25em);
}
#page-staff #sec__director .affiliation-wrap {
  max-width: 800px;
  margin: 20px auto 0;
  color: #463818;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__director .affiliation-wrap {
    padding: 15px 15px 0 15px;
  }
}
#page-staff #sec__director .affiliation-wrap .table-wrap {
  display: flex;
  flex-direction: column;
  gap: 2.5px;
  position: relative;
  margin: 0 auto;
  width: 80%;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__director .affiliation-wrap .table-wrap {
    width: 100%;
  }
}
#page-staff #sec__director .affiliation-wrap .table-wrap .item {
  display: grid;
  grid-template-columns: 30% auto;
  grid-template-rows: auto;
  gap: 15px;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__director .affiliation-wrap .table-wrap .item {
    gap: 8px;
  }
}
#page-staff #sec__director .presentation-wrap {
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__director .presentation-wrap {
    padding: 0 15px;
  }
}
#page-staff #sec__director .presentation-wrap .member {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__director .presentation-wrap .member {
    grid-template-columns: repeat(1, 1fr);
  }
}
#page-staff #sec__director .presentation-wrap .member li {
  color: #463818;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
#page-staff #sec__director .presentation-wrap .awards,
#page-staff #sec__director .presentation-wrap .certification {
  margin-top: 30px;
  color: #463818;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
#page-staff #sec__director .presentation-wrap .awards dl,
#page-staff #sec__director .presentation-wrap .certification dl {
  display: grid;
  grid-template-columns: 15% auto;
  grid-template-rows: auto;
  gap: 5px;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__director .presentation-wrap .awards dl,
  #page-staff #sec__director .presentation-wrap .certification dl {
    grid-template-columns: 25% auto;
  }
}
#page-staff #sec__director .presentation-wrap .manuscript-link a {
  color: #15969f;
}
#page-staff #sec__director .read-more-wrapper .read-more-toggle {
  color: #fff;
}
#page-staff #sec__director .read-more-wrapper .read-more-toggle::after {
  border-color: #fff;
}
#page-staff #sec__director .js-collapse {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}
#page-staff #sec__director .title-s3[role=button] {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  padding-right: 1.75em;
}
#page-staff #sec__director .title-s3[role=button]::after {
  content: "＋";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
  line-height: 1;
}
#page-staff #sec__director .title-s3[role=button][aria-expanded=true]::after {
  content: "－";
}
@media (prefers-reduced-motion: reduce) {
  #page-staff #sec__director .js-collapse {
    transition: none;
  }
}
#page-staff .profile-item {
  /* 開閉アニメーション本体 */
  /* 見出しトグル（＋/－） */
  /* 開状態スタイル（任意） */
}
#page-staff .profile-item .js-collapse {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}
#page-staff .profile-item .title-s3[role=button] {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  padding-right: 1.5em;
}
#page-staff .profile-item .title-s3[role=button]::after {
  content: "＋";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
  line-height: 1;
}
#page-staff .profile-item .title-s3[role=button][aria-expanded=true]::after {
  content: "－";
}
@media (prefers-reduced-motion: reduce) {
  #page-staff .profile-item .js-collapse {
    transition: none;
  }
}
#page-staff #sec__veterinarian,
#page-staff #sec__animalnurse,
#page-staff #sec__animalnurseassistant {
  counter-reset: num;
}
#page-staff #sec__veterinarian .content-wrap,
#page-staff #sec__animalnurse .content-wrap,
#page-staff #sec__animalnurseassistant .content-wrap {
  max-width: 950px;
  margin: 0 auto;
}
#page-staff #sec__veterinarian .specialist-item,
#page-staff #sec__animalnurse .specialist-item,
#page-staff #sec__animalnurseassistant .specialist-item {
  position: relative;
}
#page-staff #sec__veterinarian .specialist-item .img-wrap::before,
#page-staff #sec__animalnurse .specialist-item .img-wrap::before,
#page-staff #sec__animalnurseassistant .specialist-item .img-wrap::before {
  position: absolute;
  left: 0;
  top: -0.75em;
  counter-increment: num;
  content: counter(num);
  color: #15969f;
  font-size: clamp(4em, 6.667vw, 5em);
  font-family: "Ms Madi";
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__veterinarian .specialist-item .img-wrap::before,
  #page-staff #sec__animalnurse .specialist-item .img-wrap::before,
  #page-staff #sec__animalnurseassistant .specialist-item .img-wrap::before {
    top: 3px;
    left: 15px;
    font-size: 35px;
  }
}
#page-staff #sec__veterinarian .career-addition,
#page-staff #sec__animalnurse .career-addition,
#page-staff #sec__animalnurseassistant .career-addition {
  padding-top: 10px;
}
#page-staff #sec__veterinarian .career-addition dl,
#page-staff #sec__animalnurse .career-addition dl,
#page-staff #sec__animalnurseassistant .career-addition dl {
  display: flex;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
#page-staff #sec__veterinarian .career-addition dl:first-of-type,
#page-staff #sec__animalnurse .career-addition dl:first-of-type,
#page-staff #sec__animalnurseassistant .career-addition dl:first-of-type {
  padding-bottom: 5px;
}
#page-staff #sec__veterinarian .career-addition dl dt,
#page-staff #sec__animalnurse .career-addition dl dt,
#page-staff #sec__animalnurseassistant .career-addition dl dt {
  width: 25%;
}
#page-staff #sec__veterinarian .career-addition dl dd,
#page-staff #sec__animalnurse .career-addition dl dd,
#page-staff #sec__animalnurseassistant .career-addition dl dd {
  width: 75%;
}
#page-staff #sec__trimmer,
#page-staff #sec__reception {
  counter-reset: num;
}
#page-staff #sec__trimmer .content-wrap,
#page-staff #sec__reception .content-wrap {
  max-width: 950px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 80px 54px;
}
@media screen and (max-width: 1024px) {
  #page-staff #sec__trimmer .content-wrap,
  #page-staff #sec__reception .content-wrap {
    gap: 60px 30px;
  }
}
@media screen and (max-width: 640px) {
  #page-staff #sec__trimmer .content-wrap,
  #page-staff #sec__reception .content-wrap {
    gap: 30px 15px;
  }
}
#page-staff #sec__trimmer .specialist-item-slim,
#page-staff #sec__reception .specialist-item-slim {
  position: relative;
  width: calc(33.33% - 36px);
}
@media screen and (max-width: 1024px) {
  #page-staff #sec__trimmer .specialist-item-slim,
  #page-staff #sec__reception .specialist-item-slim {
    width: calc(50% - 15px);
  }
}
@media screen and (max-width: 640px) {
  #page-staff #sec__trimmer .specialist-item-slim,
  #page-staff #sec__reception .specialist-item-slim {
    width: calc(50% - 7.5px);
  }
}
#page-staff #sec__trimmer .specialist-item-slim .img-wrap,
#page-staff #sec__reception .specialist-item-slim .img-wrap {
  max-width: 300px;
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__trimmer .specialist-item-slim .img-wrap,
  #page-staff #sec__reception .specialist-item-slim .img-wrap {
    width: 70%;
  }
}
#page-staff #sec__trimmer .specialist-item-slim .img-wrap::before,
#page-staff #sec__reception .specialist-item-slim .img-wrap::before {
  position: absolute;
  left: 0;
  top: -0.75em;
  counter-increment: num;
  content: counter(num);
  color: #15969f;
  font-size: clamp(4em, 6.667vw, 5em);
  font-family: "Ms Madi";
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__trimmer .specialist-item-slim .img-wrap::before,
  #page-staff #sec__reception .specialist-item-slim .img-wrap::before {
    top: 3px;
    left: 15px;
    font-size: 35px;
  }
}
#page-staff #sec__trimmer .specialist-item-slim .img-wrap figcaption,
#page-staff #sec__reception .specialist-item-slim .img-wrap figcaption {
  margin-top: 15px;
  text-align: center;
  font-family: Zen Kaku Gothic New;
  font-size: clamp(1em, 1.667vw, 1.25em);
}
@media screen and (max-width: 640px) {
  #page-staff #sec__trimmer .specialist-item-slim .img-wrap figcaption,
  #page-staff #sec__reception .specialist-item-slim .img-wrap figcaption {
    font-size: 18px;
  }
}
#page-staff #sec__trimmer .specialist-item-slim .img-wrap figcaption span,
#page-staff #sec__reception .specialist-item-slim .img-wrap figcaption span {
  display: block;
  font-size: 14px;
}
#page-staff #sec__trimmer .specialist-item-slim .message-wrap,
#page-staff #sec__reception .specialist-item-slim .message-wrap {
  margin-top: 10px;
  background-color: #fafcc9;
  border: 1px solid #1c98b6;
  line-height: 1.8;
  padding: 15px 20px;
  font-size: 14px;
}
@media screen and (max-width: 640px) {
  #page-staff #sec__trimmer .specialist-item-slim .message-wrap,
  #page-staff #sec__reception .specialist-item-slim .message-wrap {
    padding: 10px;
    font-size: 12px;
  }
}
#page-staff #sec__trimmer .specialist-item-slim .message-wrap .attention,
#page-staff #sec__reception .specialist-item-slim .message-wrap .attention {
  padding-top: 15px;
}

#page-hospital #sec__facility.section {
  padding-right: 0 !important;
  padding-left: 0 !important;
  overflow: hidden;
}
#page-hospital #sec__facility .slider-items .slick-current .text-wrap {
  display: block;
}
#page-hospital #sec__facility .slider-items .slick-dots button::before {
  font-size: 30px;
}
@media screen and (min-width: 1025px) {
  #page-hospital #sec__facility .slider-items .slick-slide {
    max-width: 800px;
    margin: 0 auto; /* 中央揃え */
  }
  #page-hospital #sec__facility .slider-items .slick-center {
    transform: scale(1); /* 必要に応じて調整 */
    max-width: 800px;
  }
  #page-hospital #sec__facility .slider-items .slick-slide img {
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain; /* 画像の比率を保持 */
  }
  #page-hospital #sec__facility .slider-items .slick-slide {
    width: auto !important;
    max-width: 800px;
  }
}
#page-hospital #sec__equipment .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  #page-hospital #sec__equipment .content-wrap {
    width: 95%;
  }
}
#page-hospital #sec__equipment .equipment-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  gap: 65px 30px;
}
@media screen and (min-width: 641px) and (max-width: 1024px) {
  #page-hospital #sec__equipment .equipment-wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media screen and (max-width: 640px) {
  #page-hospital #sec__equipment .equipment-wrap {
    grid-template-columns: repeat(1, 1fr);
    gap: 50px;
  }
}
#page-hospital #sec__equipment .equipment-wrap li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}
#page-hospital #sec__equipment .equipment-wrap li .title-wrap {
  padding: 20px 5px;
  background-color: #1c98b6;
  text-align: center;
  color: #fff;
  font-size: clamp(1em, 1.667vw, 1.25em);
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (max-width: 640px) {
  #page-hospital #sec__equipment .equipment-wrap li .title-wrap {
    font-size: 18px;
  }
}
#page-hospital #sec__equipment .equipment-wrap li .title-wrap span {
  display: block;
  font-size: 14px;
}
@media screen and (max-width: 640px) {
  #page-hospital #sec__equipment .equipment-wrap li .title-wrap span {
    font-size: 12px;
  }
}
#page-hospital #sec__equipment .equipment-wrap li .text-wrap {
  margin-top: 20px;
  color: #463818;
  font-size: 14px;
  font-family: Noto Sans JP;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media screen and (max-width: 640px) {
  #page-hospital #sec__equipment .equipment-wrap li .text-wrap {
    margin-top: 5px;
  }
}

#page-recruit #sec__philosophy {
  background: url(../images/recruit/philosophy_bg.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  #page-recruit #sec__philosophy {
    background-position: center;
    background-size: cover;
  }
}
#page-recruit #sec__philosophy:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.85);
  z-index: -1;
}
#page-recruit #sec__philosophy .content-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
#page-recruit #sec__philosophy .content-wrap .text-wrap {
  max-width: 814px;
}
#page-recruit #sec__philosophy .content-wrap .text-wrap h2 {
  color: #463818;
  font-size: clamp(1.5em, 2.5vw, 1.875em);
  font-family: "Shippori Mincho";
  font-weight: 700;
  margin-bottom: 45px;
}
@media screen and (max-width: 640px) {
  #page-recruit #sec__philosophy .content-wrap .text-wrap h2 {
    font-size: 18px;
    margin-bottom: 20px;
    text-align: center;
  }
}
#page-recruit #sec__philosophy .content-wrap .text-wrap p {
  color: #463818;
  font-size: 1em;
  font-family: Noto Sans JP;
  font-weight: 500;
}
#page-recruit #sec__slider {
  padding: 60px 0 100px 0;
  pointer-events: none;
}
@media screen and (max-width: 640px) {
  #page-recruit #sec__slider {
    padding: 30px 0;
  }
}
#page-recruit #sec__step .req-list li:nth-of-type(2) figure {
  box-shadow: 15px 15px 0 #fafcc9;
}
#page-recruit #sec__requirements .entry-job-list ul {
  display: flex;
  flex-direction: column;
  gap: 15px;
  justify-content: center;
  align-items: center;
}
#page-recruit #sec__requirements .entry-job-list ul li {
  display: flex;
}
#page-recruit #sec__requirements .entry-job-list ul li a {
  display: inline-block;
  color: #463818;
  font-size: clamp(1.1em, 1.833vw, 1.375em);
  font-family: "Zen Kaku Gothic New";
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
#page-recruit #sec__requirements .entry-job-list ul li a p::after {
  display: inline;
  content: "→";
  margin-left: 0.5em;
}

#page-training #sec__coverage a:hover {
  text-decoration: none;
}
#page-training #sec__puppy,
#page-training #sec__kitten {
  padding: 50px 0 100px;
}
@media screen and (max-width: 640px) {
  #page-training #sec__puppy,
  #page-training #sec__kitten {
    padding: 30px 0;
  }
}
#page-training #sec__puppy h2,
#page-training #sec__kitten h2 {
  color: #463818;
  font-size: clamp(2.5em, 4.167vw, 3.125em);
  font-family: "Shippori Mincho";
  font-weight: 500;
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 640px) {
  #page-training #sec__puppy h2,
  #page-training #sec__kitten h2 {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
#page-training #sec__puppy .class-wrap,
#page-training #sec__kitten .class-wrap {
  display: grid;
  grid-template-columns: auto 60%;
  gap: 70px;
}
@media screen and (max-width: 1024px) {
  #page-training #sec__puppy .class-wrap,
  #page-training #sec__kitten .class-wrap {
    gap: 30px;
  }
}
@media screen and (max-width: 640px) {
  #page-training #sec__puppy .class-wrap,
  #page-training #sec__kitten .class-wrap {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
#page-training #sec__puppy .class-wrap .img-wrap,
#page-training #sec__kitten .class-wrap .img-wrap {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 640px) {
  #page-training #sec__puppy .class-wrap .img-wrap,
  #page-training #sec__kitten .class-wrap .img-wrap {
    width: 80%;
    height: 150px;
    margin: 0 auto;
  }
}
#page-training #sec__puppy .class-wrap .text-wrap,
#page-training #sec__kitten .class-wrap .text-wrap {
  padding: 30px 50px 130px 0;
}
@media screen and (max-width: 1024px) {
  #page-training #sec__puppy .class-wrap .text-wrap,
  #page-training #sec__kitten .class-wrap .text-wrap {
    padding: 20px 30px 40px 0;
  }
}
@media screen and (max-width: 640px) {
  #page-training #sec__puppy .class-wrap .text-wrap,
  #page-training #sec__kitten .class-wrap .text-wrap {
    padding: 30px;
  }
}
#page-training #sec__puppy .class-wrap .text-wrap p,
#page-training #sec__kitten .class-wrap .text-wrap p {
  color: #463818;
  font-size: clamp(0.9em, 1.5vw, 1.125em);
  font-family: Noto Sans JP;
  font-weight: 300;
}
@media screen and (max-width: 640px) {
  #page-training #sec__puppy .class-wrap .text-wrap p,
  #page-training #sec__kitten .class-wrap .text-wrap p {
    font-size: 14px;
  }
}
#page-training #sec__puppy .img-wrap {
  background-image: url(../images/training/puppy_bg.jpg);
}
#page-training #sec__kitten .img-wrap {
  background-image: url(../images/training/kitten_bg.jpg);
}
#page-training #sec__puppy-step,
#page-training #sec__kitten-step {
  background-color: #fafcc9;
}
#page-training #sec__program {
  font-family: "Noto Sans JP";
  color: #463818;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
#page-training #sec__program .content-wrap {
  max-width: 1000px;
  margin: 0 auto;
}
#page-training #sec__program .outline-wrap {
  margin-bottom: 60px;
}
#page-training #sec__program .outline-wrap dl {
  display: flex;
  border-bottom: 1px solid #463818;
}
#page-training #sec__program .outline-wrap dl:first-of-type {
  border-top: 1px solid #463818;
}
#page-training #sec__program .outline-wrap dl dt {
  font-weight: 400;
  width: 25%;
  padding: 30px 0;
}
@media screen and (max-width: 640px) {
  #page-training #sec__program .outline-wrap dl dt {
    width: 20%;
  }
}
#page-training #sec__program .outline-wrap dl dd {
  width: 75%;
  padding: 30px 15px;
}
@media screen and (max-width: 640px) {
  #page-training #sec__program .outline-wrap dl dd {
    width: 80%;
    padding: 30px 5px;
  }
}
#page-training #sec__program .outline-wrap dl dd .contents-list li {
  padding-bottom: 30px;
}
@media screen and (max-width: 640px) {
  #page-training #sec__program .outline-wrap dl dd .contents-list li {
    padding-bottom: 5px;
  }
}
#page-training #sec__program .outline-wrap dl dd .contents-list li h4 {
  font-weight: 500;
}
#page-training #sec__program .outline-wrap dl dd .contents-list li p {
  padding-left: 1em;
  text-indent: -1em;
}
#page-training #sec__program .outline-wrap dl dd .entry-list li {
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 640px) {
  #page-training #sec__program .price-wrap table th {
    width: 30%;
  }
}
@media screen and (max-width: 640px) {
  #page-training #sec__program .price-wrap table td {
    width: 70%;
  }
}
#page-training #sec__assigned {
  font-family: "Noto Sans JP";
  color: #463818;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
#page-training #sec__assigned .desc-wrap {
  max-width: 800px;
  margin: 0 auto 50px;
}
@media screen and (max-width: 640px) {
  #page-training #sec__assigned .desc-wrap {
    margin: 0 auto 30px;
  }
}
#page-training #sec__assigned .desc-wrap h3 {
  font-weight: 400;
  font-size: 1.125em;
  padding-bottom: 30px;
  text-align: center;
}
#page-training #sec__assigned .specialist-item {
  max-width: 940px;
  margin: 0 auto;
  border-bottom: 0;
}
#page-training #sec__assigned .specialist-item .profile-item ul li {
  padding-left: 1em;
  text-indent: -1em;
}
#page-training #sec__assigned .specialist-item .profile-item ul li:before {
  content: "・";
}
#page-training #sec__assigned .specialist-item .img-wrap {
  max-width: 300px;
  margin: 0 auto;
  width: 100%;
}
#page-training #sec__puppy-application,
#page-training #sec__kitten-application {
  font-family: "Noto Sans JP";
  color: #000;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
#page-training #sec__puppy-application .content-wrap,
#page-training #sec__kitten-application .content-wrap {
  margin: 0 auto;
  text-align: center;
}
#page-training #sec__puppy-application p,
#page-training #sec__kitten-application p {
  margin-bottom: 25px;
}
#page-training #sec__puppy-application dl,
#page-training #sec__kitten-application dl {
  max-width: 360px;
  margin: 0 auto 40px;
  border: 1px solid #20b18d;
  display: flex;
}
#page-training #sec__puppy-application dl dt,
#page-training #sec__kitten-application dl dt {
  background-color: #fafcc9;
  border-right: 1px solid #20b18d;
}
#page-training #sec__puppy-application dl dt,
#page-training #sec__puppy-application dl dd,
#page-training #sec__kitten-application dl dt,
#page-training #sec__kitten-application dl dd {
  padding: 15px;
}

#page-department-entry.page-prevention #sec__introduction .content-wrap .img-wrap {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: auto;
  align-items: center;
  justify-content: center;
  gap: 30px;
}
@media screen and (max-width: 1024px) {
  #page-department-entry.page-prevention #sec__introduction .content-wrap .img-wrap {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 640px) {
  #page-department-entry.page-prevention #sec__introduction .content-wrap .img-wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}
#page-department-entry.page-prevention #sec__introduction .content-wrap .img-wrap a {
  display: grid;
  place-items: center;
  grid-template-rows: subgrid;
  grid-template-columns: 1fr;
}
#page-department-entry.page-prevention #sec__introduction .content-wrap .img-wrap a:hover {
  text-decoration: none;
}
#page-department-entry.page-prevention #sec__introduction .content-wrap .img-wrap a figure {
  width: 100%;
}
#page-department-entry.page-prevention #sec__introduction .content-wrap .img-wrap a figure figcaption {
  display: block;
  line-height: 1.8;
  font-weight: 300;
  font-size: 1.125rem;
  text-align: center;
  color: #463818;
  padding-top: 1.125rem;
}

/**
 * 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 {
  font-family: "Noto Sans JP";
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #463818;
}
.table-list-block dl {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 2em;
  padding: 30px 10px;
  border-bottom: 1px solid #463818;
}
.table-list-block dl:first-of-type {
  border-top: 1px solid #463818;
}
@media screen and (max-width: 640px) {
  .table-list-block dl {
    display: block;
    padding: 15px 0;
  }
}
.table-list-block dl dt {
  font-weight: 400;
  width: 10em;
  position: relative;
}
@media screen and (max-width: 640px) {
  .table-list-block dl dt {
    width: 100%;
    margin-bottom: 0.5em;
  }
}
.table-list-block dl dd {
  width: calc(100% - 10em);
  font-weight: 300;
}
@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);
  position: relative;
  padding: 13px 1em;
  background: #e4edf2;
  text-align: center;
  border-left: 6px solid #20b18d;
  border-right: 6px solid #20b18d;
}

.entry-base h3:not([class]) {
  position: relative;
  font-size: clamp(1.2rem, 1.99vw, 1.75rem);
  padding-left: 20px;
}
.entry-base h3:not([class])::before {
  content: "";
  background: #20b18d;
  border-radius: 50px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  transform: translateY(-50%);
}

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

.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%;
  border: 1px solid #20b18d;
}
.time-table-block .time-table tr {
  border-bottom: 1px solid #20b18d;
}
.time-table-block .time-table th {
  background-color: #20b18d;
  color: #fff;
}
.time-table-block .time-table th,
.time-table-block .time-table td {
  padding: 10px;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  .time-table-block .time-table th,
  .time-table-block .time-table td {
    padding: 10px 5px;
  }
}
.time-table-block .time-table th .open,
.time-table-block .time-table td .open {
  color: #20b18d;
}
.time-table-block .time-table th .partial,
.time-table-block .time-table td .partial {
  color: #20b18d;
}
.time-table-block .time-table th .closed,
.time-table-block .time-table td .closed {
  color: #20b18d;
}
.time-table-block .time-table .time-wrap {
  text-align: center;
  padding-left: 10px;
  border-right: 1px solid #20b18d;
}
.time-table-block .time-table .mon {
  padding-left: 20px;
}
.time-table-block .time-table .sun {
  padding-right: 20px;
}
.time-table-block .time-table .holiday-wrap {
  font-size: 0.75rem;
}
.time-table-block .note-wrap {
  margin-top: 10px;
  font-size: 0.875rem;
  font-weight: 400;
  color: #222;
}
.time-table-block ul li {
  padding-left: 1em;
  text-indent: -1em;
}

#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: #000;
  text-decoration: none;
  font-weight: 400;
  font-size: 1em;
}
#breadcrumb ul > li a:hover {
  text-decoration: none;
}
#breadcrumb ul > li:last-child a {
  color: #000 !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: #000 !important;
}

.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-type-1-block:first-of-type {
  background-image: linear-gradient(to right, #d6d6d6 3px, transparent 3px);
  background-size: 6px 2px;
  background-repeat: repeat-x;
  background-position: left top;
}
.headline-news-type-1-block article {
  background-image: linear-gradient(to right, #d6d6d6 3px, transparent 3px);
  background-size: 6px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
  padding: 20px 0;
}
.headline-news-type-1-block article .post-title a {
  font-weight: normal;
  color: #222;
  text-decoration: none;
}
.headline-news-type-1-block article .post-title a:hover, .headline-news-type-1-block article .post-title a:focus, .headline-news-type-1-block article .post-title a:visited {
  text-decoration: none;
  color: #222;
}
.headline-news-type-1-block article .info-wrap {
  margin-top: 5px;
  color: #999;
  font-weight: bold;
  font-size: 0.875rem;
  font-family: "Work Sans", sans-serif;
}
.headline-news-type-1-block article .info-wrap .blog-category-type {
  margin-left: 5px;
  display: inline-block;
  position: relative;
  padding-left: 10px;
}
.headline-news-type-1-block article .info-wrap .blog-category-type::before {
  content: "";
  width: 1px;
  height: 50%;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  background: #222;
  position: absolute;
  left: 0;
}
.headline-news-type-1-block article .info-wrap .blog-category-type a {
  color: #999;
  text-decoration: none;
}
.headline-news-type-1-block article .info-wrap .blog-category-type a:hover, .headline-news-type-1-block article .info-wrap .blog-category-type a:focus, .headline-news-type-1-block article .info-wrap .blog-category-type a:visited {
  text-decoration: none;
  color: #999;
}

.headline-news-block article {
  display: flex;
  border-bottom: 1px solid #000;
  padding: 20px 0;
  background: url(../images/common/blog_list_arrow.svg) no-repeat right center;
}
@media screen and (max-width: 640px) {
  .headline-news-block article {
    display: block;
    padding: 10px 20px 10px 0;
  }
}
.headline-news-block article time {
  font-family: "Noto Sans JP";
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-weight: 400;
  width: 20%;
  font-size: 1em;
  color: #000;
}
@media screen and (max-width: 640px) {
  .headline-news-block article time {
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .headline-news-block article .blog-sub-category {
    margin-left: 10px;
  }
}
.headline-news-block article .blog-sub-category a {
  margin-left: 0;
}
@media screen and (max-width: 640px) {
  .headline-news-block article .blog-sub-category a {
    width: auto;
    padding: 0 10px;
  }
}
.headline-news-block article .title {
  font-weight: 700;
  width: 80%;
}
@media screen and (max-width: 640px) {
  .headline-news-block article .title {
    width: 100%;
    margin-top: 0.5em;
  }
}
.headline-news-block article .title h2 {
  display: inline-block;
}
.headline-news-block article .title a:hover {
  color: #222;
  text-decoration: none;
}
.headline-news-block article .title a:visited {
  color: #222;
}

.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";
  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;
}

.module-schedule-block {
  background-color: #f2f5e4;
  max-width: 1300px;
  margin: 0 auto;
  padding: 30px 15px 80px;
}
@media screen and (max-width: 640px) {
  .module-schedule-block {
    margin-top: 30px;
    padding: 30px 5px 40px;
  }
}
.module-schedule-block .unit {
  max-width: 1200px;
  margin: 0 auto;
}
.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 .title-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
}
.module-schedule-block .title-wrap p:nth-child(1) {
  color: #463818;
  font-size: clamp(1.15em, 1.917vw, 1.438em);
  font-family: "Shippori Mincho";
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .title-wrap p:nth-child(1) {
    font-size: 18px;
  }
}
.module-schedule-block .title-wrap p:nth-child(2) {
  color: #20b18d;
  font-size: clamp(2.05em, 3.417vw, 2.563em);
  font-family: "Ms Madi";
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .title-wrap p:nth-child(2) {
    font-size: 23px;
  }
}
.module-schedule-block .calender-nav-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .calender-nav-wrap {
    margin-bottom: 1em;
  }
}
.module-schedule-block .calender-nav-wrap .btn-wrap {
  margin: 0;
  text-align: center;
}
.module-schedule-block .calender-nav-wrap .btn-wrap a {
  padding: 14px 32px;
  display: block;
  background-color: #fff;
  color: #20b18d;
  font-size: 18px;
  font-family: Noto Sans JP;
  font-weight: 500;
  border-radius: 50px;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .calender-nav-wrap .btn-wrap a {
    font-size: 13px;
    padding: 8px 16px;
  }
}
.module-schedule-block .calendar-nav {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.module-schedule-block .calendar-nav a {
  text-decoration: none;
  color: #60432a;
}
.module-schedule-block .calendar-nav #nowSchedule {
  color: #463818;
  font-size: clamp(2.5em, 4.167vw, 3.125em);
  font-family: Roboto;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin: 0 25px;
}
@media screen and (max-width: 640px) {
  .module-schedule-block .calendar-nav #nowSchedule {
    margin: 0 15px;
    font-size: 30px;
  }
}
.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: #20b18d;
  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 #20b18d;
  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 #20b18d;
}
.module-schedule-block .week-items dl:not(:nth-of-type(7n)) {
  border-right: 1px solid #20b18d;
}
.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: #fafcc9 !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;
}

.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;
}

#sec__department-menu .content-wrap {
  max-width: 1300px;
  margin: 0 auto;
}
#sec__department-menu .content-wrap .menu-wrap {
  display: grid;
  grid-template-columns: repeat(20, 1fr); /* 5列と4列の約数である20で分割 */
  gap: 10px;
  width: 100%;
}
@media screen and (max-width: 640px) {
  #sec__department-menu .content-wrap .menu-wrap {
    gap: 5px;
  }
}
#sec__department-menu .content-wrap .menu-wrap a {
  background-color: #1c98b6;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  text-decoration: none;
  color: #222;
  padding: 20px 15px;
  box-sizing: border-box;
  width: 100%;
}
@media screen and (max-width: 640px) {
  #sec__department-menu .content-wrap .menu-wrap a {
    padding: 15px 5px 10px 5px;
  }
}
#sec__department-menu .content-wrap .menu-wrap a .img-wrap {
  position: relative;
  width: 100%;
  height: 150px;
}
@media screen and (max-width: 640px) {
  #sec__department-menu .content-wrap .menu-wrap a .img-wrap {
    max-height: 55px;
  }
}
#sec__department-menu .content-wrap .menu-wrap a .img-wrap img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-height: 100%;
  transition: transform 0.4s ease;
}
#sec__department-menu .content-wrap .menu-wrap a:hover .img-wrap img {
  transform: translate(-50%, -50%) scale(1.1);
}
#sec__department-menu .content-wrap .menu-wrap a h3 {
  color: #fff;
  font-size: clamp(1em, 1.667vw, 1.25em);
  font-family: "Shippori Mincho";
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  align-self: center;
}
#sec__department-menu .content-wrap .menu-wrap a h3.font-s {
  font-size: 14px;
}
@media screen and (max-width: 640px) {
  #sec__department-menu .content-wrap .menu-wrap a h3 {
    font-size: 16px;
  }
  #sec__department-menu .content-wrap .menu-wrap a h3.font-s {
    font-size: 11px;
  }
}
#sec__department-menu .content-wrap .menu-wrap a p {
  margin-top: 5px;
  background-color: #ffffff;
  padding: 12px 8px;
  color: #463818;
  font-size: 14px;
  font-family: Noto Sans JP;
  font-weight: 300;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
  #sec__department-menu .content-wrap .menu-wrap a p {
    padding: 5px 10px;
    font-size: 12px;
  }
}
#sec__department-menu .content-wrap .menu-wrap a .more-btn {
  margin-top: 5px;
  text-align: center;
  font-size: 14px;
  background-color: #fafcc9;
  border-radius: 50px;
  padding: 7px;
  color: #20b18d;
}
@media screen and (max-width: 640px) {
  #sec__department-menu .content-wrap .menu-wrap a .more-btn {
    margin-top: 3px;
    padding: 5px;
    font-size: 12px;
  }
}
#sec__department-menu .content-wrap .menu-wrap a:nth-child(-n+4) {
  grid-column: span 5;
  background-color: #1c98b6;
}
#sec__department-menu .content-wrap .menu-wrap a:nth-child(n+5) {
  grid-column: span 4;
  background-color: #2fa3b7;
}
#sec__department-menu .content-wrap .menu-wrap a:nth-child(n+10):nth-child(-n+14) {
  background-color: #40aeb7;
}
#sec__department-menu .content-wrap .menu-wrap a:nth-child(n+15):nth-child(-n+19) {
  background-color: #52b9b5;
}
#sec__department-menu .content-wrap .menu-wrap a:nth-child(n+20) {
  background-color: #4cb6b3;
}
@media screen and (max-width: 1024px) {
  #sec__department-menu .content-wrap .menu-wrap a:nth-child(-n+4) {
    background-color: #1c98b6;
  }
  #sec__department-menu .content-wrap .menu-wrap a:nth-child(n+5) {
    background-color: #2fa3b7;
    grid-column: span 5;
  }
  #sec__department-menu .content-wrap .menu-wrap a:nth-child(n+9):nth-child(-n+12) {
    background-color: #40aeb7;
  }
  #sec__department-menu .content-wrap .menu-wrap a:nth-child(n+13):nth-child(-n+16) {
    background-color: #52b9b5;
  }
  #sec__department-menu .content-wrap .menu-wrap a:nth-child(n+17) {
    background-color: #4cb6b3;
  }
}
@media screen and (max-width: 640px) {
  #sec__department-menu .content-wrap .menu-wrap a:nth-child(-n+2) {
    background-color: #1c98b6;
    grid-column: span 10;
  }
  #sec__department-menu .content-wrap .menu-wrap a:nth-child(n+3):nth-child(-n+4) {
    background-color: #2fa3b7;
    grid-column: span 10;
  }
  #sec__department-menu .content-wrap .menu-wrap a:nth-child(n+5):nth-child(-n+6) {
    background-color: #40aeb7;
    grid-column: span 10;
  }
  #sec__department-menu .content-wrap .menu-wrap a:nth-child(n+7):nth-child(-n+8) {
    background-color: #52b9b5;
    grid-column: span 10;
  }
  #sec__department-menu .content-wrap .menu-wrap a:nth-child(n+9) {
    background-color: #4cb6b3;
    grid-column: span 10;
  }
}

.main-mv,
.lower-mv,
.department-mv {
  padding-top: 35px;
  padding-bottom: 35px;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .main-mv,
  .lower-mv,
  .department-mv {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.main-mv .content-wrap,
.lower-mv .content-wrap,
.department-mv .content-wrap {
  position: relative;
  margin: 0 auto;
  width: 95%;
  background-image: url("../images/common/lower-mv.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 426px;
}
@media screen and (max-width: 1024px) {
  .main-mv .content-wrap,
  .lower-mv .content-wrap,
  .department-mv .content-wrap {
    height: 350px;
  }
}
@media screen and (max-width: 640px) {
  .main-mv .content-wrap,
  .lower-mv .content-wrap,
  .department-mv .content-wrap {
    height: 200px;
  }
}
.main-mv .content-wrap::before,
.lower-mv .content-wrap::before,
.department-mv .content-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(180deg, rgba(21, 150, 159, 0.3) 0%, rgba(21, 150, 159, 0.5) 50%, rgba(21, 150, 159, 0.8) 70%);
  background-size: 100% 200%;
  background-position: 0% 0%;
  animation: gradientMove 5s ease-in-out infinite alternate, hueGreenCenter 20s ease-in-out infinite alternate;
  filter: hue-rotate(0deg) saturate(1.1);
}
.main-mv h1,
.main-mv .h1,
.lower-mv h1,
.lower-mv .h1,
.department-mv h1,
.department-mv .h1 {
  position: absolute;
  left: 7%;
  top: 46%;
  transform: translateY(-50%);
  color: white;
  font-size: clamp(2.1em, 3.5vw, 2.625em);
  font-family: "Shippori Mincho";
  font-weight: 600;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.55);
  letter-spacing: 0;
  line-height: 1.5;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .main-mv h1,
  .main-mv .h1,
  .lower-mv h1,
  .lower-mv .h1,
  .department-mv h1,
  .department-mv .h1 {
    top: 50%;
    font-size: 30px;
  }
}
@media screen and (max-width: 640px) {
  .main-mv h1,
  .main-mv .h1,
  .lower-mv h1,
  .lower-mv .h1,
  .department-mv h1,
  .department-mv .h1 {
    top: 50%;
    font-size: 20px;
  }
}
.main-mv .header-nav,
.lower-mv .header-nav,
.department-mv .header-nav {
  position: absolute;
  display: flex;
  align-items: center;
  right: 35px;
  top: 30px;
  gap: 40px;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .main-mv .header-nav,
  .lower-mv .header-nav,
  .department-mv .header-nav {
    right: 70px;
    top: 12px;
    gap: 18px;
  }
}
@media screen and (max-width: 640px) {
  .main-mv .header-nav,
  .lower-mv .header-nav,
  .department-mv .header-nav {
    display: none;
  }
}
.main-mv .header-nav .tel-wrap,
.lower-mv .header-nav .tel-wrap,
.department-mv .header-nav .tel-wrap {
  position: relative;
  padding-left: 50px;
}
.main-mv .header-nav .tel-wrap::before,
.lower-mv .header-nav .tel-wrap::before,
.department-mv .header-nav .tel-wrap::before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  background: url("../images/common/icon_tel.svg");
  width: 39px;
  height: 48px;
}
.main-mv .header-nav .tel-wrap p,
.lower-mv .header-nav .tel-wrap p,
.department-mv .header-nav .tel-wrap p {
  color: white;
  font-size: 12px;
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: 0;
}
@media screen and (max-width: 1024px) {
  .main-mv .header-nav .tel-wrap p,
  .lower-mv .header-nav .tel-wrap p,
  .department-mv .header-nav .tel-wrap p {
    line-height: 1.8;
    font-size: 10px;
  }
}
.main-mv .header-nav .tel-wrap a,
.lower-mv .header-nav .tel-wrap a,
.department-mv .header-nav .tel-wrap a {
  display: inline-block;
  color: white;
  font-size: clamp(1.5em, 2.5vw, 1.875em);
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0;
}
@media screen and (max-width: 1024px) {
  .main-mv .header-nav .tel-wrap a,
  .lower-mv .header-nav .tel-wrap a,
  .department-mv .header-nav .tel-wrap a {
    font-size: 22px;
  }
}
.main-mv .header-nav .tel-wrap a:hover,
.lower-mv .header-nav .tel-wrap a:hover,
.department-mv .header-nav .tel-wrap a:hover {
  text-decoration: none;
}
.main-mv .header-nav .book-wrap,
.lower-mv .header-nav .book-wrap,
.department-mv .header-nav .book-wrap {
  background-color: rgba(32, 177, 141, 0.8);
}
.main-mv .header-nav .book-wrap a,
.lower-mv .header-nav .book-wrap a,
.department-mv .header-nav .book-wrap a {
  display: block;
  padding: 16px 50px;
  font-size: clamp(1em, 1.667vw, 1.25em);
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
  letter-spacing: 0;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.5);
  text-align: center;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 1024px) {
  .main-mv .header-nav .book-wrap a,
  .lower-mv .header-nav .book-wrap a,
  .department-mv .header-nav .book-wrap a {
    padding: 15px 30px;
    font-size: 14px;
  }
}
.main-mv .header-nav .book-wrap a::before,
.lower-mv .header-nav .book-wrap a::before,
.department-mv .header-nav .book-wrap a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #1c98b6 0%, #20b18d 50%, #1c98b6 100%);
  background-size: 200% 100%;
  background-position: 0 0;
  transition: background-position 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  z-index: -1;
}
.main-mv .header-nav .book-wrap a:hover::before,
.lower-mv .header-nav .book-wrap a:hover::before,
.department-mv .header-nav .book-wrap a:hover::before {
  background-position: 100% 0;
}
.main-mv .header-nav .book-wrap a:focus-visible,
.lower-mv .header-nav .book-wrap a:focus-visible,
.department-mv .header-nav .book-wrap a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.main-mv .header-nav .book-wrap a:hover, .main-mv .header-nav .book-wrap a:focus,
.lower-mv .header-nav .book-wrap a:hover,
.lower-mv .header-nav .book-wrap a:focus,
.department-mv .header-nav .book-wrap a:hover,
.department-mv .header-nav .book-wrap a:focus {
  text-decoration: none;
}
.main-mv nav,
.lower-mv nav,
.department-mv nav {
  position: absolute;
  bottom: 0;
  max-width: 1440px;
  left: 50%;
  transform: translateX(-50%);
  width: 95%;
  z-index: 10;
}
.main-mv nav > ul,
.lower-mv nav > ul,
.department-mv nav > ul {
  display: flex;
  gap: 4.1%;
  align-items: center;
  justify-content: center;
}
.main-mv nav > ul > li,
.lower-mv nav > ul > li,
.department-mv nav > ul > li {
  position: relative;
  padding-bottom: 50px;
  transition: transform 0.5s ease;
}
@media screen and (max-width: 640px) {
  .main-mv nav > ul > li,
  .lower-mv nav > ul > li,
  .department-mv nav > ul > li {
    padding-bottom: 20px;
  }
}
.main-mv nav > ul > li:hover,
.lower-mv nav > ul > li:hover,
.department-mv nav > ul > li:hover {
  transform: translateY(5px);
}
.main-mv nav > ul > li.logo,
.lower-mv nav > ul > li.logo,
.department-mv nav > ul > li.logo {
  max-width: 225px;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.65));
}
@media screen and (max-width: 640px) {
  .main-mv nav > ul > li.logo,
  .lower-mv nav > ul > li.logo,
  .department-mv nav > ul > li.logo {
    max-width: 150px;
  }
}
@media screen and (max-width: 1024px) {
  .main-mv nav > ul > li:not(.logo),
  .lower-mv nav > ul > li:not(.logo),
  .department-mv nav > ul > li:not(.logo) {
    display: none;
  }
}
.main-mv nav > ul > li > a,
.lower-mv nav > ul > li > a,
.department-mv nav > ul > li > a {
  display: inline-block;
  line-height: 0;
}
.main-mv nav > ul > li > a p,
.lower-mv nav > ul > li > a p,
.department-mv nav > ul > li > a p {
  display: block;
  text-align: center;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.55);
}
.main-mv nav > ul > li > a p:nth-child(1),
.lower-mv nav > ul > li > a p:nth-child(1),
.department-mv nav > ul > li > a p:nth-child(1) {
  color: white;
  font-size: 1em;
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.main-mv nav > ul > li > a p:nth-child(2),
.lower-mv nav > ul > li > a p:nth-child(2),
.department-mv nav > ul > li > a p:nth-child(2) {
  color: white;
  font-size: 9px;
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.main-mv nav > ul > li > a:hover,
.lower-mv nav > ul > li > a:hover,
.department-mv nav > ul > li > a:hover {
  text-decoration: none;
}
.main-mv nav > ul > li > a:hover p,
.lower-mv nav > ul > li > a:hover p,
.department-mv nav > ul > li > a:hover p {
  color: #d3f81d;
}
.main-mv nav > ul > li .submenu,
.lower-mv nav > ul > li .submenu,
.department-mv nav > ul > li .submenu {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) scaleY(0);
  transform-origin: top;
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.5s ease;
  flex-direction: column;
  gap: 12px;
  width: 277px;
  position: absolute;
  left: 50%;
  top: calc(100% - 5px);
  padding: 25px 30px;
  background-color: rgba(32, 177, 141, 0.9725490196);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}
.main-mv nav > ul > li .submenu li a,
.lower-mv nav > ul > li .submenu li a,
.department-mv nav > ul > li .submenu li a {
  display: block;
  color: #fff;
  position: relative;
  padding-left: 1.8em;
}
.main-mv nav > ul > li .submenu li a.font-s,
.lower-mv nav > ul > li .submenu li a.font-s,
.department-mv nav > ul > li .submenu li a.font-s {
  font-size: 0.8em;
}
.main-mv nav > ul > li .submenu li a::before,
.lower-mv nav > ul > li .submenu li a::before,
.department-mv nav > ul > li .submenu li a::before {
  position: absolute;
  top: 0.7em;
  left: 8px;
  width: 0;
  height: 0;
  content: "";
  border: 4px solid #d3f81d;
  border-radius: 50%;
}
.main-mv nav > ul > li .submenu li a:hover,
.lower-mv nav > ul > li .submenu li a:hover,
.department-mv nav > ul > li .submenu li a:hover {
  text-decoration: none;
}
.main-mv nav > ul > li:hover .submenu,
.lower-mv nav > ul > li:hover .submenu,
.department-mv nav > ul > li:hover .submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) scaleY(1);
}
.main-mv nav > ul > li:not(.logo)::after,
.lower-mv nav > ul > li:not(.logo)::after,
.department-mv nav > ul > li:not(.logo)::after {
  content: "";
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 0;
  background-color: white;
  transition: height 0.3s ease;
}
.main-mv nav > ul > li:not(.logo):hover::after,
.lower-mv nav > ul > li:not(.logo):hover::after,
.department-mv nav > ul > li:not(.logo):hover::after {
  height: 30px;
}

.main-mv .content-wrap {
  height: 90vh;
  background-image: url("../images/common/mv1.jpg");
}
@media screen and (max-width: 640px) {
  .main-mv .content-wrap {
    height: 70vh;
  }
}
.main-mv .content-wrap .bg-slider {
  position: absolute;
  inset: 0;
  z-index: 0;
  isolation: isolate;
}
.main-mv .content-wrap .bg-slider .bg-current {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  animation: bgSwitch 45s linear infinite;
}
.main-mv .content-wrap .bg-slider .bg-flash {
  position: absolute;
  inset: 0;
  background: white;
  opacity: 0;
  pointer-events: none;
  animation: flashOverlay 45s linear infinite;
}
.main-mv .content-wrap h1 {
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: clamp(2.1em, 3.5vw, 2.625em);
  font-family: "Shippori Mincho";
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.4);
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  .main-mv .content-wrap h1 {
    font-size: 23px;
  }
}
.main-mv .content-wrap h1 span:nth-child(1) {
  font-size: clamp(2.75rem, 4.583vw, 3.438rem);
}
@media screen and (max-width: 640px) {
  .main-mv .content-wrap h1 span:nth-child(1) {
    font-size: 28px;
  }
}
.main-mv .content-wrap h1 span:nth-child(3) {
  color: #d3f81d;
  font-size: clamp(3.1rem, 5.167vw, 3.875rem);
}
@media screen and (max-width: 640px) {
  .main-mv .content-wrap h1 span:nth-child(3) {
    font-size: 32px;
  }
}

@keyframes gradientMove {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 0% 100%;
  }
}
@keyframes hueGreenCenter {
  0% {
    filter: hue-rotate(-15deg) saturate(1.1);
  }
  25% {
    filter: hue-rotate(0deg) saturate(1.2);
  }
  50% {
    filter: hue-rotate(15deg) saturate(1.1);
  }
  75% {
    filter: hue-rotate(0deg) saturate(1);
  }
  100% {
    filter: hue-rotate(-15deg) saturate(1.1);
  }
}
@keyframes bgSwitch {
  0%, 33.3233333333% {
    background-image: url(../images/common/mv1.jpg);
    background-position: center;
  }
  33.3333333333%, 66.6566666667% {
    background-image: url(../images/common/mv2.jpg);
    background-position: center;
  }
  66.6666666667%, 99.99% {
    background-image: url(../images/common/mv3.jpg);
    background-position: center;
  }
}
@media screen and (max-width: 640px) {
  @keyframes bgSwitch {
    0%, 33.3233333333% {
      background-image: url(../images/common/mv1.jpg);
      background-position: center;
    }
    33.3333333333%, 66.6566666667% {
      background-image: url(../images/common/mv2.jpg);
      background-position: left center;
    }
    66.6666666667%, 99.99% {
      background-image: url(../images/common/mv3.jpg);
      background-position: left center;
    }
  }
}
@keyframes flashOverlay {
  31.3333333333% {
    opacity: 0;
  }
  33.3333333333% {
    opacity: 1;
  }
  35.3333333333% {
    opacity: 1;
  }
  36.3333333333% {
    opacity: 0;
  }
  64.6666666667% {
    opacity: 0;
  }
  66.6666666667% {
    opacity: 1;
  }
  68.6666666667% {
    opacity: 1;
  }
  69.6666666667% {
    opacity: 0;
  }
  98% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
  102% {
    opacity: 1;
  }
  103% {
    opacity: 0;
  }
}
.parts-faq .faq-content {
  margin-bottom: 20px;
  overflow: hidden;
}
.parts-faq .faq-content .faq-q,
.parts-faq .faq-content .faq-a {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
  padding: 28px 50px;
  font-family: "Noto Sans JP";
  background-color: #fff;
  color: #463818;
  font-weight: 300;
}
@media screen and (max-width: 640px) {
  .parts-faq .faq-content .faq-q,
  .parts-faq .faq-content .faq-a {
    padding: 15px;
  }
}
.parts-faq .faq-content .faq-q .faq-icon,
.parts-faq .faq-content .faq-a .faq-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  left: 33px;
  position: absolute;
  z-index: 1;
  width: 34px;
  height: 34px;
  color: #20b18d;
  font-size: clamp(1.5em, 2.5vw, 1.875em);
  font-family: "Ms Madi";
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  word-wrap: break-word;
}
@media screen and (max-width: 640px) {
  .parts-faq .faq-content .faq-q .faq-icon,
  .parts-faq .faq-content .faq-a .faq-icon {
    font-size: 14px;
    height: 28px;
    width: 28px;
    left: 1em;
  }
}
.parts-faq .faq-content .faq-q {
  font-weight: 300;
}
@media screen and (max-width: 640px) {
  .parts-faq .faq-content .faq-q {
    padding-right: 30px;
  }
}
.parts-faq .faq-content .faq-q .faq-icon::after {
  background: #000;
}
.parts-faq .faq-content .faq-q .faq-q-text {
  color: #463818;
  font-weight: 300;
  padding-left: 33px;
}
@media screen and (max-width: 640px) {
  .parts-faq .faq-content .faq-q .faq-q-text {
    padding-left: 30px;
    padding-right: 0;
  }
}
.parts-faq .faq-content .faq-a {
  padding-top: 25px;
  background-color: #fff;
  border-top: 1px dotted #463818;
  margin: 0;
}
.parts-faq .faq-content .faq-a .faq-icon {
  color: #20b18d;
  font-family: "Ms Madi";
}
.parts-faq .faq-content .faq-a .faq-a-text {
  color: #000;
  padding-left: 33px;
}
.parts-faq .faq-content .faq-a .faq-a-text .entry-base p {
  font-weight: 300;
  margin: 0 1em;
}
@media screen and (max-width: 640px) {
  .parts-faq .faq-content .faq-a {
    padding-top: 15px;
  }
}
.parts-faq .faq-content.ac-on {
  cursor: pointer;
}
.parts-faq .faq-content.ac-on .faq-q::before, .parts-faq .faq-content.ac-on .faq-q::after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  display: block;
  background-color: #463818;
}
.parts-faq .faq-content.ac-on .faq-q::before {
  width: 18px;
  height: 3px;
  right: 37px;
}
@media screen and (max-width: 640px) {
  .parts-faq .faq-content.ac-on .faq-q::before {
    width: 12px;
    height: 2px;
    right: 10px;
  }
}
.parts-faq .faq-content.ac-on .faq-q::after {
  height: 18px;
  width: 3px;
  right: 44.5px;
}
@media screen and (max-width: 640px) {
  .parts-faq .faq-content.ac-on .faq-q::after {
    height: 12px;
    width: 2px;
    right: 15px;
  }
}
.parts-faq .faq-content.ac-on .faq-a {
  display: none;
}
.parts-faq .faq-content.active .faq-q::after {
  display: none;
}
.parts-faq .faq-content.active .faq-a {
  display: block;
}

.part-tel-bnr {
  position: relative;
  padding-left: 50px;
  justify-self: center;
  align-self: center;
}
.part-tel-bnr::before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  background: url("../images/common/icon_tel_b.svg");
  width: 39px;
  height: 48px;
}
.part-tel-bnr div {
  color: #000;
  font-size: 12px;
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: 0;
}
@media screen and (max-width: 1024px) {
  .part-tel-bnr div {
    line-height: 1.8;
    font-size: 14px;
  }
}
.part-tel-bnr a {
  display: inline-block;
  color: #000;
  font-size: clamp(1.5em, 2.5vw, 1.875em);
  font-family: "Zen Kaku Gothic New";
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 1024px) {
  .part-tel-bnr a {
    font-size: 28px;
  }
}
.part-tel-bnr a:hover {
  text-decoration: none;
}

/**
 * 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;
  }
}
