@charset "UTF-8";
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

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

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

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 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 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

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

address {
  font-style: inherit;
}

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  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: inherit; /* 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: 50%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.5em;
}

sup {
  top: -0.8em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * 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] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

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

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

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

/**
 * 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 outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

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

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

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

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

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

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* CSS STYLE */
html {
  position: relative;
  width: 100%;
  height: 100%;
  touch-action: manipulation;
}

body {
  position: relative;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  overflow-x: hidden;
}

body, input, select, button, textarea {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-display: block;
  font-weight: 400;
  letter-spacing: 0.02em;
  font-feature-settings: "pkna";
}

a,
a img {
  text-decoration: none;
}

td {
  word-wrap: break-all;
  overflow-wrap: break-all;
}

img {
  border: none;
  height: auto;
  image-rendering: auto;
}

select, input, textarea, option {
  vertical-align: middle;
}

table {
  font-size: inherit;
  font: 100%;
}

em {
  font-style: normal;
}

strong {
  font-weight: 700;
}

::-moz-placeholder {
  color: #a5a5a5;
}

::placeholder {
  color: #a5a5a5;
}

:-ms-input-placeholder {
  color: #a5a5a5;
}

/* =================================
variables
================================= */
/* =================================
functions
================================= */
/* px → rem */
/* fluid font */
/* =================================
mixin
================================= */
/* =================================
base
================================= */
html {
  font-size: 1px;
  scroll-behavior: smooth;
  overscroll-behavior: none;
}

/* PC〜タブレット縮小 */
@media (max-width: 1600px) {
  html {
    font-size: clamp(0.9px, 100vw / 1600, 1px);
  }
}
/* SP */
@media (max-width: 767px) {
  html {
    font-size: calc(100vw / 390);
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  color: #222;
  line-height: 1.8;
  font-size: 16px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

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

a {
  transition: 0.3s;
  color: #222;
}

/* =================================
layout
================================= */
.inner {
  width: min(100% - 80rem, 1600rem);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .inner {
    width: calc(100% - 40rem);
  }
}

.pc {
  display: block;
}
@media (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media (max-width: 767px) {
  .sp {
    display: block;
  }
}

/* =================================
utility
================================= */
.fade {
  opacity: 0;
  transition: 0.6s linear;
}
.fade.is-show {
  opacity: 1;
}

.fade-l {
  position: relative;
  opacity: 0;
  transform: translate(-20rem, 0);
  transition: 0.6s ease-out;
}
.fade-l.is-show {
  opacity: 1;
  transform: translate(0, 0);
}

.fade-r {
  position: relative;
  opacity: 0;
  transform: translate(20rem, 0);
  transition: 0.6s ease-out;
}
.fade-r.is-show {
  opacity: 1;
  transform: translate(0, 0);
}

.fade-t {
  position: relative;
  opacity: 0;
  transform: translate(0, -20rem);
  transition: 0.6s ease-out;
}
.fade-t.is-show {
  opacity: 1;
  transform: translate(0, 0);
}

.fade-b {
  position: relative;
  opacity: 0;
  transform: translate(0, 20rem);
  transition: 0.6s ease-out;
}
.fade-b.is-show {
  opacity: 1;
  transform: translate(0, 0);
}

/* =================================
keyframes
================================= */
@-webkit-keyframes zoomout {
  from {
    transform: scale(1.15);
  }
  to {
    transform: scale(1);
  }
}
@keyframes zoomout {
  from {
    transform: scale(1.15);
  }
  to {
    transform: scale(1);
  }
}
@-webkit-keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* ヘッダー */
header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 76rem;
  background: #fff;
  box-shadow: 0 0 6rem rgba(0, 0, 0, 0.16);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 40rem;
  z-index: 99;
}
@media (max-width: 1024px) {
  header {
    padding: 0 20rem;
  }
}
@media (max-width: 767px) {
  header {
    height: 64rem;
    padding-right: 0;
  }
}

.logo {
  display: block;
  width: 212rem;
}
@media (max-width: 767px) {
  .logo {
    width: 126rem;
  }
}

.gnav {
  display: flex;
  justify-content: flex-end;
  gap: 30rem;
  height: 100%;
}
@media (max-width: 767px) {
  .gnav {
    display: none;
  }
}
.gnav li {
  position: relative;
}
@media (max-width: 1024px) {
  .gnav li {
    font-size: 14rem;
  }
}
.gnav a, .gnav span {
  font-weight: 700;
  display: flex;
  align-items: center;
  height: 100%;
  position: relative;
  cursor: pointer;
}
.gnav a::after, .gnav span::after {
  content: "";
  display: block;
  width: 100%;
  height: 4rem;
  background: #19B5DF;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0;
  transition: opacity 0.3s;
}
.gnav a:hover::after, .gnav span:hover::after {
  opacity: 1;
}
.gnav dl {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 40rem;
  position: absolute;
  top: calc(100% + 8rem);
  left: 50%;
  transform: translateX(-50%);
  padding: 30rem 40rem;
  background: #fff;
  border-radius: 8rem;
  box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.gnav dl::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  background: #fff;
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
  position: absolute;
  left: 50%;
  bottom: 100%;
  transform: translateX(-50%);
}
.gnav dl.active {
  opacity: 1;
  pointer-events: all;
}
@media (max-width: 767px) {
  .gnav dl dt {
    display: none;
  }
}
.gnav dl dd li {
  padding-bottom: 20rem;
  display: flex;
  align-items: center;
}
.gnav dl dd li:last-child {
  padding-bottom: 0;
}
.gnav dl dd li::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  margin-right: 10rem;
}
.gnav dl dd li a {
  font-weight: 400;
}
.gnav dl dd li a::after {
  content: none;
}
.gnav dl dd li a:hover {
  text-decoration: underline;
}

.spbtn {
  display: none;
}
@media (max-width: 767px) {
  .spbtn {
    display: flex;
    justify-content: flex-end;
  }
}
.spbtn li {
  font-size: 10rem;
}
.spbtn li button, .spbtn li a {
  width: 64rem;
  height: 64rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 4rem;
}
.spbtn li button::before, .spbtn li a::before {
  content: "";
  display: block;
  height: 23rem;
}
.spbtn li .time::before {
  width: 20rem;
  background: url(../img/common/time.svg) center no-repeat;
  background-size: 100% auto;
}
.spbtn li a::before {
  width: 16rem;
  background: url(../img/common/map.svg) center no-repeat;
  background-size: 100% auto;
}
.spbtn li .menubtn::before {
  width: 22rem;
  background: url(../img/common/open.svg) center no-repeat;
  background-size: 100% auto;
}
.spbtn li .menubtn[aria-expanded=true]::before {
  background: url(../img/common/close.svg) center no-repeat;
  background-size: 100% auto;
}

/* スマホナビ */
.spnav {
  display: none;
}
@media (max-width: 767px) {
  .spnav {
    display: block;
    position: fixed;
    top: 64rem;
    width: 100%;
    max-height: 0;
    overflow: hidden;
    background: #fff;
    z-index: 98;
    padding-bottom: 60rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease, max-height 0.4s ease;
  }
}
.spnav.is-open {
  max-height: calc(100vh - 64rem);
  overflow-y: scroll;
  opacity: 1;
  visibility: visible;
}
.spnav .contentsnav li {
  font-size: 16rem;
  border-bottom: #D9D9D9 1px solid;
}
.spnav .contentsnav li.active span::after {
  background: url(../img/common/minus-b.svg) center no-repeat;
  background-size: 100% auto;
}
.spnav .contentsnav li a, .spnav .contentsnav li span {
  cursor: pointer;
  padding: 20rem;
  display: flex;
  align-items: center;
  gap: 10rem;
  font-weight: 700;
  position: relative;
}
.spnav .contentsnav li a::before, .spnav .contentsnav li span::before {
  content: "";
  display: block;
  width: 18rem;
  aspect-ratio: 1/1;
  background: url(../img/common/arrow.svg) center no-repeat;
  background-size: 100% auto;
}
.spnav .contentsnav li span::after {
  content: "";
  display: block;
  width: 20rem;
  aspect-ratio: 1/1;
  background: url(../img/common/plus-b.svg) center no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 20rem;
  top: 0;
  bottom: 0;
  margin: auto;
}
.spnav .contentsnav li ul {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.spnav .contentsnav li ul li:last-child {
  border-bottom: 0;
}
.spnav .contentsnav li ul li a {
  background: #F8F8ED;
  font-weight: 400;
}
.spnav .contentsnav li ul li a::before {
  content: none;
}
.spnav .contentsnav li ul li a::after {
  content: "";
  display: block;
  width: 6rem;
  height: 6rem;
  border-top: #19B5DF 2rem solid;
  border-right: #19B5DF 2rem solid;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 20rem;
}
.spnav .textnav {
  padding: 40rem 20rem 60rem;
}
.spnav .textnav li {
  font-size: 14rem;
  padding-bottom: 1em;
}
.spnav .textnav li:last-child {
  padding-bottom: 0;
}
.spnav .textnav li a {
  font-weight: 400;
}
.spnav .boxcontact {
  width: calc(100% - 40rem);
  margin: auto;
  border: #ccc 1px solid;
  text-align: center;
  padding: 20rem;
}
.spnav .boxcontact h2 {
  font-size: 14rem;
  font-weight: 600;
  padding-bottom: 10rem;
  line-height: 1.4;
}
.spnav .boxcontact p {
  font-size: 13rem;
}
.spnav .boxcontact p.phone {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  line-height: 1.7;
  padding-bottom: 10rem;
}
.spnav .boxcontact p.phone img {
  width: 16rem;
  margin-right: 8rem;
  vertical-align: 0;
}
.spnav .boxcontact p.phone a {
  font-size: 30rem;
  font-weight: 500;
}
.spnav .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10rem;
  width: 100%;
  height: 56rem;
  border-radius: 100rem;
  background: #19B5DF;
  color: #fff;
  font-size: 16rem;
  font-weight: 700;
  margin-top: 20rem;
}
.spnav .btn::before {
  content: "";
  display: block;
  width: 20rem;
  aspect-ratio: 10/7;
  background: url(../img/common/mail.svg) center no-repeat;
  background-size: 100% auto;
}

.consultime {
  width: min(800px, 100% - 40rem);
  background: #fff;
  border-radius: 8rem;
  padding: 30rem 20rem;
  overflow: visible;
}
.consultime::-webkit-backdrop {
  background: rgba(0, 0, 0, 0.7);
}
.consultime::backdrop {
  background: rgba(0, 0, 0, 0.7);
}
.consultime h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 10rem;
  padding-bottom: 12rem;
}
.consultime h2 img {
  display: block;
  width: 18rem;
}
.consultime table {
  width: 100%;
  border-top: #ccc 1rem solid;
  margin-bottom: 10rem;
}
.consultime table th, .consultime table td {
  text-align: left;
  padding: 10rem 0;
  font-size: 14rem;
  border-bottom: #ccc 1rem solid;
}
.consultime table th {
  font-weight: 400;
}
.consultime table td {
  font-weight: 700;
}
.consultime p {
  font-size: 12rem;
}
.consultime a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 40rem;
  border-radius: 100rem;
  font-size: 14rem;
  font-weight: 700;
  border: #222 1rem solid;
  margin-top: 20rem;
}
.consultime button {
  display: block;
  width: 20rem;
  position: absolute;
  right: 0;
  bottom: calc(100% + 20rem);
}
.consultime button img {
  display: block;
  width: 100%;
  filter: brightness(0) invert(1);
}
.consultime .seimeicm {
  width: 100%;
  aspect-ratio: 16/9;
}
.consultime .seimeicm iframe {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* フッター */
footer {
  background: linear-gradient(#19B5DF, #87D1CD);
  padding-top: 100rem;
  padding-bottom: 80rem;
  color: #fff;
}
@media (max-width: 767px) {
  footer {
    background: #19B5DF;
    padding-top: 60rem;
    padding-bottom: 80rem;
  }
}
footer a {
  color: #fff;
}
footer .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
}
@media (max-width: 767px) {
  footer .inner {
    display: block;
    padding: 0;
  }
}
footer .left {
  width: 350rem;
}
@media (max-width: 1024px) {
  footer .left {
    width: 100%;
    padding-bottom: 40rem;
  }
}
@media (max-width: 767px) {
  footer .left {
    padding: 0 20rem 40rem;
  }
}
footer .left h2 {
  width: 214rem;
  padding-bottom: 25rem;
}
footer .left h2 a, footer .left h2 img {
  display: block;
}
footer .left p {
  font-size: 14rem;
  line-height: 1.4;
}
footer .left p.phone {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  padding-top: 10rem;
  padding-bottom: 14rem;
}
footer .left p.phone a {
  font-size: 30rem;
  font-weight: 500;
  pointer-events: none;
}
@media (max-width: 767px) {
  footer .left p.phone a {
    pointer-events: all;
  }
}
@media (max-width: 1024px) {
  footer .left p br {
    display: none;
  }
}
footer .space {
  display: inline-block;
  width: 0.65em;
}
footer .right {
  width: calc(100% - 350rem);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 128rem;
}
@media (max-width: 1024px) {
  footer .right {
    width: 100%;
  }
}
@media (max-width: 767px) {
  footer .right {
    display: none;
  }
}
footer .right ul {
  width: 25%;
}
footer .right ul li {
  font-size: clamp(
    12rem,
    calc(10.4554455446rem + 0.396039604vw),
    16rem
  );
  padding-left: 18rem;
  position: relative;
  line-height: 1.25;
  margin-bottom: 14rem;
}
footer .right ul li::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: 5rem;
  left: 0;
}
footer .right dl {
  width: 25%;
}
footer .right dl dt {
  font-size: clamp(
    12rem,
    calc(10.4554455446rem + 0.396039604vw),
    16rem
  );
  font-weight: 700;
  padding-left: 18rem;
  position: relative;
  line-height: 1.5;
  margin-bottom: 18rem;
}
footer .right dl dt::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: 8rem;
  left: 0;
}
footer .right dl dd {
  font-size: clamp(
    12rem,
    calc(10.4554455446rem + 0.396039604vw),
    16rem
  );
  padding-left: 18rem;
  line-height: 1.25;
  padding-bottom: 1em;
}
footer .textnav {
  width: 100%;
  border-top: #fff 2rem dotted;
  padding-block: 20rem;
  display: flex;
  gap: 24rem;
}
@media (max-width: 767px) {
  footer .textnav {
    display: none;
  }
}
footer .textnav li::after {
  content: "｜";
  margin-left: 20rem;
}
footer .textnav li:last-child::after {
  content: none;
}
footer .spfnav {
  display: none;
}
@media (max-width: 767px) {
  footer .spfnav {
    display: block;
    border-top: #F8F8ED 1rem solid;
    padding-bottom: 26rem;
  }
}
footer .spfnav li {
  border-bottom: #F8F8ED 1rem solid;
}
footer .spfnav li a {
  padding: 20rem;
  display: flex;
  gap: 10rem;
  font-weight: 700;
}
footer .spfnav li a::before {
  content: "";
  display: block;
  width: 18rem;
  aspect-ratio: 1/1;
  background: url(../img/common/arrow-w.svg) center no-repeat;
  background-size: 100% auto;
}
footer .sptnav {
  display: none;
}
@media (max-width: 767px) {
  footer .sptnav {
    display: block;
    padding: 0 20rem 40rem;
  }
}
footer .sptnav li {
  margin-bottom: 1em;
}
footer .sptnav li:last-child {
  margin-bottom: 0;
}
footer .copy {
  font-size: 12rem;
  width: 100%;
}
@media (max-width: 767px) {
  footer .copy {
    padding-inline: 20rem;
  }
}
footer .copy br {
  display: none;
}
@media (max-width: 767px) {
  footer .copy br {
    display: block;
  }
}
footer .pagetop {
  position: absolute;
  right: 20rem;
  bottom: 0;
  width: 50rem;
  transition: opacity 0.3s;
}
footer .pagetop img {
  display: block;
}
footer .pagetop:hover {
  opacity: 0.7;
}

/* コンテンツ */
main {
  flex: 1;
  padding-bottom: 120rem;
}
main.nopb {
  padding-bottom: 0;
}

.contents {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
  padding-top: 80rem;
  position: relative;
}
@media (max-width: 767px) {
  .contents {
    display: block;
    padding-top: 0;
  }
}
@media (max-width: 767px) {
  .contents.inner {
    width: 100%;
  }
}

.mainarea {
  width: min(77.5%, 1420rem);
}
@media (max-width: 1024px) {
  .mainarea {
    width: calc(100% - 300rem);
  }
}
@media (max-width: 767px) {
  .mainarea {
    width: 100%;
    padding: 60rem 20rem 0;
  }
}

.sidearea {
  width: min(17.5%, 280rem);
  position: -webkit-sticky;
  position: sticky;
  top: 76rem;
  z-index: 9;
}
@media (max-width: 1024px) {
  .sidearea {
    width: 260rem;
  }
}
@media (max-width: 767px) {
  .sidearea {
    width: 100%;
    top: 64rem;
  }
}

.sidemenu dt {
  background: #0A96CE;
  font-size: clamp(
    16rem,
    calc(15.2277227723rem + 0.198019802vw),
    18rem
  );
  font-weight: 500;
  line-height: 1.44;
  color: #fff;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 50rem;
  padding-inline: 20rem;
}
@media (max-width: 767px) {
  .sidemenu dt {
    height: 60rem;
  }
}
.sidemenu dt.long {
  height: 76rem;
}
@media (max-width: 767px) {
  .sidemenu dt.long {
    height: 60rem;
  }
}
@media (max-width: 767px) {
  .sidemenu dt::before {
    content: "";
    width: 20rem;
    aspect-ratio: 1/1;
    background: url(../img/common/plus.svg) center no-repeat;
    background-size: contain;
    margin-right: 18rem;
    transition: transform 0.3s;
  }
}
.sidemenu dt.active::before {
  transform: rotate(45deg);
}
@media (max-width: 767px) {
  .sidemenu dd {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-out, padding 0.3s ease-out;
    overflow: hidden;
    background: #F8F8ED;
  }
}
@media (max-width: 767px) {
  .sidemenu dd.is-open {
    grid-template-rows: 1fr;
    padding-top: 20rem;
    padding-bottom: 40rem;
  }
}
@media (max-width: 767px) {
  .sidemenu dd ul {
    padding-inline: 20rem;
    min-height: 0;
  }
}
.sidemenu dd ul li {
  line-height: 1.5;
  border-bottom: #ccc 2rem dotted;
}
.sidemenu dd ul li a {
  display: block;
  padding: 20rem 0 20rem 38rem;
  position: relative;
}
.sidemenu dd ul li a::before {
  content: "";
  width: 18rem;
  aspect-ratio: 1/1;
  background: url(../img/common/arrow.svg) center no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 0;
  top: 24rem;
}
.sidemenu dd ul li a:hover {
  color: #056BB2;
  background: #D6F1F8;
  text-decoration: underline;
}
.sidemenu dd ul li.active a {
  pointer-events: none;
  color: #056BB2;
  font-weight: 700;
}

.pagemenu {
  border-top: #ccc 1rem solid;
  padding-top: 54rem;
}
@media (max-width: 767px) {
  .pagemenu {
    padding-top: 57rem;
  }
}
.pagemenu.wide ul {
  grid-template-columns: repeat(5, 1fr);
}
@media (max-width: 1024px) {
  .pagemenu.wide ul {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .pagemenu.wide ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
.pagemenu ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40rem;
}
@media (max-width: 1024px) {
  .pagemenu ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 20rem;
  }
}
.pagemenu ul.line {
  border-bottom: #ccc 1rem solid;
  padding-bottom: 60rem;
  margin-bottom: 60rem;
}
.pagemenu li {
  border-radius: 8rem;
  box-shadow: 0 0 10rem rgba(0, 0, 0, 0.16);
  overflow: hidden;
  font-size: clamp(
    14rem,
    calc(12.4554455446rem + 0.396039604vw),
    18rem
  );
}
.pagemenu li a {
  display: block;
  font-weight: 500;
  height: 100%;
}
.pagemenu li a:hover {
  background: #F8F8ED;
}
.pagemenu li a:hover figure img {
  transform: scale(1.05);
}
.pagemenu li a:hover span::after {
  transform: translateX(5rem);
}
.pagemenu li figure {
  overflow: hidden;
}
.pagemenu li figure img {
  width: 100%;
  display: block;
  transition: transform 0.3s;
}
.pagemenu li span {
  display: block;
  padding: 20rem 50rem 20rem 20rem;
  position: relative;
}
@media (max-width: 767px) {
  .pagemenu li span {
    padding: 20rem 30rem 20rem 10rem;
  }
}
.pagemenu li span::after {
  content: "";
  display: block;
  width: 18rem;
  aspect-ratio: 1/1;
  background: url(../img/common/arrow.svg) center no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 20rem;
  top: 28rem;
  transition: transform 0.3s;
}
@media (max-width: 767px) {
  .pagemenu li span::after {
    right: 10rem;
    top: 24rem;
  }
}

/* お問い合わせボタン */
.contact-pc {
  border-radius: 8rem 0 0 8rem;
  overflow: hidden;
  display: flex;
  background: #fff;
  position: fixed;
  right: 0;
  top: 50%;
  z-index: 98;
  transform: translateY(-50%) translateX(calc(100% - 56rem));
  transition: transform 0.5s;
}
@media (max-width: 767px) {
  .contact-pc {
    display: none;
  }
}
.contact-pc:hover {
  transform: translateY(-50%) translateX(0);
}
.contact-pc h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 58rem;
  background: linear-gradient(#19B5DF, #87D1CD);
  font-family: "Zen Maru Gothic", sans-serif;
  color: #fff;
  font-size: 20rem;
  font-weight: 500;
  writing-mode: vertical-rl;
  cursor: pointer;
}
.contact-pc .box {
  padding: 32rem 30rem 20rem;
  /*text-align: center;*/
}
.contact-pc h3 {
  font-size: 14rem;
  font-weight: 700;
}
.contact-pc p {
  font-size: 14rem;
}
.contact-pc p.phone {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32rem;
  font-weight: 500;
  color: #19B5DF;
  display: flex;
  align-items: center;
  gap: 8rem;
}
.contact-pc p.phone span {
  font-size: 20rem;
  font-weight: 500;
}
.contact-pc p img {
  display: block;
  width: 16rem;
  margin-top: 8rem;
}
.contact-pc .space {
  display: inline-block;
  width: 0.65em;
}
.contact-pc .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 266rem;
  height: 46rem;
  gap: 10rem;
  background: #19B5DF;
  border-radius: 100rem;
  font-size: 16rem;
  font-weight: 700;
  color: #fff;
  margin: 14rem auto 0;
}
.contact-pc .btn img {
  display: block;
  width: 20rem;
}

.contact-sp {
  display: none;
}
@media (max-width: 767px) {
  .contact-sp {
    display: flex;
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 98;
  }
}
.contact-sp li {
  width: 50%;
}
.contact-sp li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50rem;
}
.contact-sp li a.phone {
  background: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18rem;
  font-weight: 500;
}
.contact-sp li a.phone img {
  width: 12rem;
  margin-right: 8rem;
}
.contact-sp li a.btn {
  background: #19B5DF;
  color: #fff;
  gap: 10rem;
  font-size: 12rem;
  font-weight: 700;
}
.contact-sp li a.btn img {
  display: block;
  width: 20rem;
}

/* 下層ページ */
.bread {
  display: flex;
  justify-content: flex-start;
  padding-top: 14rem;
}
@media (max-width: 767px) {
  .bread {
    white-space: nowrap;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .bread::-webkit-scrollbar {
    display: none;
  }
}
.bread li {
  font-size: 14rem;
  color: #999;
}
.bread li a {
  display: flex;
  justify-items: flex-start;
  align-items: center;
}
.bread li a::after {
  content: "";
  display: block;
  width: 6rem;
  height: 6rem;
  border-top: #999 1rem solid;
  border-right: #999 1rem solid;
  transform: rotate(45deg);
  margin: 0 14rem;
}

.pttl {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(
    26rem,
    calc(18.2772277228rem + 1.9801980198vw),
    46rem
  );
  font-weight: 500;
  padding-top: clamp(
    40rem,
    calc(32.2772277228rem + 1.9801980198vw),
    60rem
  );
}
@media (max-width: 767px) {
  .pttl {
    padding-bottom: 40rem;
  }
}

.pmain .pttl {
  padding-bottom: clamp(
    40rem,
    calc(32.2772277228rem + 1.9801980198vw),
    60rem
  );
}
.pmain picture {
  display: block;
}

.psub {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(
    28rem,
    calc(27.2277227723rem + 0.198019802vw),
    30rem
  );
  font-weight: 500;
  line-height: 1.7;
  padding-left: 40rem;
  position: relative;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .psub {
    padding-left: 30rem;
    line-height: 1.4;
  }
}
.psub::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 17rem;
  left: 0;
}
@media (max-width: 767px) {
  .psub::before {
    top: 12rem;
  }
}

.pthr {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(
    24rem,
    calc(23.2277227723rem + 0.198019802vw),
    26rem
  );
  font-weight: 500;
  line-height: 1.7;
  position: relative;
  padding-left: 26rem;
  margin-bottom: 30rem;
}
@media (max-width: 767px) {
  .pthr {
    line-height: 1.4;
  }
}
.pthr::before {
  content: "";
  display: block;
  width: 6rem;
  height: 36rem;
  background: #19B5DF;
  border-radius: 4rem;
  position: absolute;
  top: 4rem;
  left: 0;
}
@media (max-width: 767px) {
  .pthr::before {
    height: 34rem;
    top: 2rem;
  }
}

/* 共通用 */
.pttl.nokv {
  padding-bottom: 60rem;
}

.pbtn.center {
  text-align: center;
}
.pbtn a {
  display: inline-block;
  background: #19B5DF;
  color: #FFF;
  padding: 16rem 40rem 12rem;
  border-radius: 60rem;
  font-size: 16rem;
  border: #19B5DF 2px solid;
  font-weight: bold;
}
@media (max-width: 767px) {
  .pbtn a {
    width: 100%;
  }
}
.pbtn a:hover {
  background: #FFF;
  color: #19B5DF;
}
.pbtn.notfound {
  margin-bottom: 80rem;
}

.psub-center {
  font-family: "Zen Maru Gothic", sans-serif;
  text-align: center;
  font-size: clamp(
    28rem,
    calc(27.2277227723rem + 0.198019802vw),
    30rem
  );
  margin-bottom: 36rem;
}
.psub-center::before {
  content: "";
  display: inline-block;
  width: 20rem;
  height: 20rem;
  margin-right: 20rem;
  background-color: #19B5DF;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .psub-center::before {
    margin-right: 10rem;
  }
}

.pmain-recruit {
  position: relative;
  width: min(100% - 40rem, 1600rem);
  margin: 20rem auto 75rem;
}
@media (max-width: 767px) {
  .pmain-recruit {
    width: 100%;
    margin: 40rem 0;
  }
}
.pmain-recruit img {
  width: 100%;
  height: auto;
  display: block;
}
.pmain-recruit h1 {
  font-family: "Zen Maru Gothic", sans-serif;
  position: absolute;
  top: 50%;
  left: 110rem;
  transform: translateY(-50%);
  color: #FFF;
  font-size: clamp(
    26rem,
    calc(18.2772277228rem + 1.9801980198vw),
    46rem
  );
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .pmain-recruit h1 {
    position: relative;
    top: auto;
    left: 20rem;
    color: #222;
    transform: translateY(0%);
    text-align: left;
    margin-bottom: 30rem;
  }
}

/* 晴明会について */
.about-heading {
  border-bottom: #CCC 1px solid;
  padding-bottom: 80rem;
}
.about-heading .catch {
  background: #F8F8ED;
  padding: 30rem 20rem;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  margin-bottom: 30rem;
}
.about-heading .catch p {
  font-size: clamp(
    20rem,
    calc(16.1386138614rem + 0.9900990099vw),
    30rem
  );
}
.about-heading .catch p span {
  display: block;
  font-size: clamp(
    36rem,
    calc(32.1386138614rem + 0.9900990099vw),
    46rem
  );
}
.about-heading .read {
  font-size: 16rem;
  margin-bottom: 60rem;
}
.about-heading .philosophy {
  background: #F8F8ED;
  padding: 30rem 20rem;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  margin-bottom: 60rem;
}
.about-heading .philosophy p {
  font-size: clamp(
    20rem,
    calc(18.4554455446rem + 0.396039604vw),
    24rem
  );
}
.about-heading .policy {
  background: #F8F8ED;
  padding: 20rem 40rem 40rem;
}
@media (max-width: 767px) {
  .about-heading .policy {
    padding: 10rem 20rem 30rem;
  }
}
.about-heading .policy li {
  position: relative;
  border-bottom: #CCC 2px dotted;
  padding: 20rem 30rem 10rem;
  font-size: 18rem;
  font-weight: bold;
}
.about-heading .policy li::before {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 30rem;
  left: 0;
}
@media (max-width: 767px) {
  .about-heading .policy li::before {
    top: 31rem;
  }
}

.about-network {
  padding: 80rem 0;
}
.about-network .read {
  font-size: 16rem;
  margin-bottom: 40rem;
}
.about-network figure {
  text-align: center;
}

/* トップページ */
.top-mv {
  position: relative;
  height: calc(100vh - 76rem);
}
@media (max-width: 767px) {
  .top-mv {
    height: calc(100vh - 64rem);
  }
}
.top-mv .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  color: #fff;
}
.top-mv .inner p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(
    18rem,
    calc(17.2277227723rem + 0.198019802vw),
    20rem
  );
  font-weight: 500;
  text-shadow: 0 0 10rem #000;
}
.top-mv h1 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(
    50rem,
    calc(42.2772277228rem + 1.9801980198vw),
    70rem
  );
  font-weight: 500;
  line-height: 1.2;
  text-shadow: 0 0 14rem #222;
  padding-bottom: 33rem;
}
@media (max-width: 767px) {
  .top-mv h1 {
    padding-bottom: 20rem;
  }
}
.top-mv h1 br {
  display: none;
}
@media (max-width: 767px) {
  .top-mv h1 br {
    display: block;
  }
}

.mainslide {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.mainslide li {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.5s ease;
  z-index: 1;
}
.mainslide li.active {
  opacity: 1;
  z-index: 2;
}
.mainslide li.active img {
  -webkit-animation: zoomout 6s linear forwards;
          animation: zoomout 6s linear forwards;
}
.mainslide li.leaving {
  opacity: 0;
  z-index: 1;
}
.mainslide li img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
  transform: scale(1.15);
}

.top-mv-hours {
  background: rgba(255, 255, 255, 0.95);
  display: inline-block;
  padding: 30rem 40rem;
  border-radius: 8rem 0 0 0;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 5;
}
@media (max-width: 767px) {
  .top-mv-hours {
    display: none;
  }
}
.top-mv-hours h2 {
  display: flex;
  align-items: center;
  gap: 10rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  padding-bottom: 8rem;
  border-bottom: #ccc 1rem solid;
}
.top-mv-hours h2 img {
  display: block;
  width: 18rem;
}
.top-mv-hours h2 a {
  display: block;
  width: 196rem;
  line-height: 30rem;
  text-align: center;
  background: #fff;
  border: #222 1rem solid;
  border-radius: 100rem;
  margin-left: auto;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 12rem;
  font-weight: 700;
}
.top-mv-hours table {
  margin-bottom: 10rem;
}
.top-mv-hours table th, .top-mv-hours table td {
  text-align: left;
  vertical-align: middle;
  font-size: 14rem;
  padding-block: 10rem;
  border-bottom: #ccc 1rem solid;
}
.top-mv-hours table th {
  font-weight: 400;
  padding-right: 40rem;
}
.top-mv-hours table th::before {
  content: "";
  display: inline-block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  margin-right: 10rem;
}
.top-mv-hours table td {
  font-weight: 700;
}
.top-mv-hours p {
  font-size: 12rem;
}

.scrolldown {
  display: inline-block;
  position: absolute;
  bottom: 30rem;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18rem;
  font-weight: 500;
  color: #fff;
  z-index: 5;
}

/* 重要なお知らせ */
.top-notice {
  margin-top: 60rem;
  background: rgba(229, 55, 66, 0.08);
  padding: 20rem 40rem;
  display: flex;
  align-items: center;
  border-radius: 8rem;
}
@media (max-width: 767px) {
  .top-notice {
    display: block;
    padding: 20rem 20rem 30rem;
    margin-top: 40rem;
  }
}
.top-notice h2 {
  color: #E53742;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24rem;
  font-weight: 500;
  width: 208rem;
}
@media (max-width: 767px) {
  .top-notice h2 {
    width: 100%;
    text-align: center;
    padding-bottom: 20rem;
  }
}
.top-notice ul {
  width: calc(100% - 208rem);
  border-left: #ccc 1rem solid;
  padding-left: 40rem;
}
@media (max-width: 767px) {
  .top-notice ul {
    width: 100%;
    border: none;
    padding-left: 0;
  }
}
.top-notice ul li {
  display: flex;
  gap: 40rem;
  padding-bottom: 12rem;
}
@media (max-width: 767px) {
  .top-notice ul li {
    display: block;
    padding-bottom: 20rem;
  }
}
.top-notice ul li span {
  font-size: 14rem;
  display: block;
}
@media (max-width: 767px) {
  .top-notice ul li span {
    padding-bottom: 10rem;
  }
}
.top-notice ul li a:hover {
  text-decoration: underline;
}
.top-notice ul li:last-child {
  padding-bottom: 0;
}

/* 診療科目 */
.top-subject {
  padding-top: 80rem;
  padding-bottom: 160rem;
}
@media (max-width: 767px) {
  .top-subject {
    padding-top: 40rem;
    padding-bottom: 80rem;
  }
}
.top-subject h2 {
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 30rem;
  font-weight: 500;
  padding-bottom: 50rem;
}
@media (max-width: 767px) {
  .top-subject h2 {
    font-size: 28rem;
    padding-bottom: 20rem;
  }
}
.top-subject .icn {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  padding-bottom: 50rem;
  border-bottom: #ccc 2rem dotted;
  margin-bottom: 50rem;
}
@media (max-width: 1024px) {
  .top-subject .icn {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .top-subject .icn {
    display: block;
    border-bottom: 0;
    margin-bottom: 40rem;
  }
}
.top-subject .icn li {
  border-right: #ccc 1rem dotted;
  text-align: center;
  font-size: 18rem;
}
@media (max-width: 1024px) {
  .top-subject .icn li:nth-child(-n+3) {
    margin-bottom: 20rem;
  }
}
@media (max-width: 767px) {
  .top-subject .icn li {
    border-right: 0;
    border-bottom: #ccc 2rem solid;
  }
}
.top-subject .icn li:last-child {
  border-right: 0;
}
@media (max-width: 767px) {
  .top-subject .icn li a {
    display: flex;
    gap: 20rem;
    padding-block: 20rem;
  }
}
.top-subject .icn li a:hover img {
  opacity: 0.7;
}
.top-subject .icn li a:hover span::after {
  transform: translateX(5rem);
}
.top-subject .icn li img {
  display: block;
  width: 100rem;
  margin: 0 auto 20rem;
  transition: opacity 0.3s;
}
@media (max-width: 767px) {
  .top-subject .icn li img {
    width: 54rem;
    margin: 0;
  }
}
.top-subject .icn li span {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .top-subject .icn li span {
    justify-content: space-between;
    gap: 0;
    flex: 1;
  }
}
.top-subject .icn li span::after {
  content: "";
  display: block;
  width: 18rem;
  aspect-ratio: 1/1;
  background: url(../img/common/arrow.svg) center no-repeat;
  background-size: contain;
  transition: transform 0.3s;
}
.top-subject .img {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40rem;
}
@media (max-width: 1024px) {
  .top-subject .img {
    gap: 20rem;
  }
}
@media (max-width: 767px) {
  .top-subject .img {
    display: block;
  }
}
.top-subject .img li {
  border-radius: 8rem;
  overflow: hidden;
  box-shadow: 0 0 10rem rgba(0, 0, 0, 0.16);
  font-size: 18rem;
}
@media (max-width: 767px) {
  .top-subject .img li {
    margin-bottom: 30rem;
  }
  .top-subject .img li:last-child {
    margin-bottom: 0;
  }
}
.top-subject .img figure {
  display: block;
  width: 100%;
  aspect-ratio: 253/80;
  overflow: hidden;
}
@media (max-width: 767px) {
  .top-subject .img figure {
    aspect-ratio: 349/110;
  }
}
.top-subject .img figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s;
}
.top-subject .img span {
  display: flex;
  align-items: center;
  gap: 20rem;
  padding: 20rem;
  font-weight: 700;
}
.top-subject .img span img {
  display: block;
  width: 26rem;
}
.top-subject .img span::after {
  content: "";
  display: block;
  width: 18rem;
  aspect-ratio: 1/1;
  background: url(../img/common/arrow.svg) center no-repeat;
  background-size: contain;
  margin-left: auto;
  transition: transform 0.3s;
}
.top-subject .img a:hover {
  color: #BE8B4C;
}
.top-subject .img a:hover figure img {
  transform: scale(1.05);
}
.top-subject .img a:hover span::after {
  transform: translateX(5rem);
}

/* 採用情報 */
.top-recruit {
  padding-right: calc((100vw - 1600rem) / 2);
  display: flex;
  align-items: center;
  gap: 40rem;
  padding-bottom: 100rem;
}
@media (max-width: 767px) {
  .top-recruit {
    display: block;
    padding-bottom: 74rem;
  }
}
.top-recruit figure {
  display: block;
  width: 53.4%;
}
@media (max-width: 767px) {
  .top-recruit figure {
    width: 100%;
    margin-bottom: 30rem;
  }
}
.top-recruit figure img {
  display: block;
}
@media (max-width: 767px) {
  .top-recruit .txt {
    padding-inline: 20rem;
  }
}
.top-recruit h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 46rem;
  font-weight: 500;
  margin-bottom: 30rem;
}
@media (max-width: 767px) {
  .top-recruit h2 {
    font-size: 36rem;
    margin-bottom: 20rem;
  }
}
.top-recruit .btn {
  display: block;
  border: #19B5DF 1rem solid;
  background: #19B5DF;
  color: #fff;
  border-radius: 100rem;
  font-weight: 700;
  text-align: center;
  padding-block: 18rem;
  margin-top: 40rem;
}
@media (max-width: 767px) {
  .top-recruit .btn {
    padding-block: 16rem;
  }
}
.top-recruit .btn:hover {
  background: #fff;
  color: #19B5DF;
}

/* 糸満晴明病院からのお知らせ */
.top-info {
  background: #F8F8ED;
  padding-top: 80rem;
  padding-bottom: 100rem;
}
@media (max-width: 767px) {
  .top-info {
    padding-top: 40rem;
    padding-bottom: 50rem;
  }
}
.top-info h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 30rem;
  font-weight: 500;
  line-height: 1.42;
  margin-bottom: 50rem;
}
@media (max-width: 767px) {
  .top-info h2 {
    text-align: center;
    font-size: 28rem;
    margin-bottom: 40rem;
  }
}
.top-info h2 br {
  display: none;
}
@media (max-width: 767px) {
  .top-info h2 br {
    display: block;
  }
}
.top-info .flb {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .top-info .flb {
    display: block;
  }
}
.top-info .flb .cats {
  min-width: 120rem;
}
@media (max-width: 767px) {
  .top-info .flb .cats {
    display: flex;
    flex-wrap: wrap;
    gap: 10rem 14rem;
    width: 100%;
    padding-bottom: 40rem;
  }
}
.top-info .flb .cats li {
  margin-bottom: 14rem;
  font-size: clamp(
    13rem,
    calc(11.8415841584rem + 0.297029703vw),
    16rem
  );
}
@media (max-width: 767px) {
  .top-info .flb .cats li {
    margin: 0;
    font-size: 14rem;
  }
}
.top-info .flb .cats a {
  display: block;
  padding: 7rem 20rem;
  border: #19B5DF 1rem solid;
  background: #fff;
  border-radius: 100rem;
  text-align: center;
}
@media (max-width: 767px) {
  .top-info .flb .cats a {
    display: inline-block;
    font-size: 14rem;
  }
}
.top-info .flb .cats a:hover {
  background: #19B5DF;
  color: #fff;
}
.top-info .list {
  width: 78.75%;
}
@media (max-width: 767px) {
  .top-info .list {
    width: 100%;
  }
}
.top-info .list ul {
  padding-bottom: 10rem;
}
@media (max-width: 767px) {
  .top-info .list ul {
    padding-bottom: 20rem;
  }
}
.top-info .list li {
  display: flex;
  align-items: flex-start;
  gap: 40rem;
  font-size: 14rem;
  padding-bottom: 20rem;
  margin-bottom: 20rem;
  border-bottom: #ccc 1px solid;
}
@media (max-width: 1024px) {
  .top-info .list li {
    gap: 20rem;
  }
}
@media (max-width: 767px) {
  .top-info .list li {
    gap: 14rem 10rem;
    flex-wrap: wrap;
  }
}
.top-info .list li span {
  display: block;
  text-align: center;
  width: 98rem;
  line-height: 22rem;
  font-size: 12rem;
  font-weight: 700;
  background: #19B5DF;
  color: #fff;
  border-radius: 100rem;
  margin-top: 2rem;
}
.top-info .list li a {
  flex: 1;
  font-size: 16rem;
}
@media (max-width: 767px) {
  .top-info .list li a {
    width: 100%;
    flex: none;
  }
}
.top-info .list li a:hover {
  text-decoration: underline;
}
.top-info .list .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 160rem;
  height: 54rem;
  border: #19B5DF 1rem solid;
  background: #19B5DF;
  color: #fff;
  font-weight: 700;
  border-radius: 100rem;
  margin-left: auto;
}
@media (max-width: 767px) {
  .top-info .list .btn {
    width: 100%;
    height: 56rem;
  }
}
.top-info .list .btn:hover {
  background: #fff;
  color: #19B5DF;
}

/* 画像スライダー */
.imgslides {
  overflow: hidden;
  padding-block: 60rem;
  display: flex;
  gap: 10rem;
}
@media (max-width: 767px) {
  .imgslides {
    padding-block: 40rem;
  }
}
.imgslides ul {
  display: flex;
  gap: 10rem;
  -webkit-animation: marquee 40s linear infinite;
          animation: marquee 40s linear infinite;
}
.imgslides ul li {
  flex-shrink: 0;
  width: 418rem;
}
@media (max-width: 767px) {
  .imgslides ul li {
    width: 321rem;
  }
}
.imgslides ul li img {
  display: block;
  width: 100%;
}

/* Googlemap */
.top-gmap {
  display: block;
  width: 100%;
  height: 450rem;
}
@media (max-width: 767px) {
  .top-gmap {
    height: 540rem;
  }
}
.top-gmap iframe {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* アクセスのご案内/診療時間 */
.top-about {
  padding-top: 80rem;
}
.top-about .inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .top-about .inner {
    display: block;
  }
}
.top-about .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 53rem;
  border: #19B5DF 1rem solid;
  background: #19B5DF;
  color: #fff;
  font-weight: 700;
  border-radius: 100rem;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media (max-width: 767px) {
  .top-about .btn {
    height: 56rem;
    position: relative;
    margin-top: 30rem;
  }
}
.top-about .btn:hover {
  background: #fff;
  color: #19B5DF;
}
.top-about .box {
  width: 48.75%;
  position: relative;
}
@media (max-width: 1024px) {
  .top-about .box {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .top-about .box:first-of-type {
    margin-bottom: 80rem;
  }
}
.top-about .box:first-of-type .btn {
  width: 210rem;
}
@media (max-width: 767px) {
  .top-about .box:first-of-type .btn {
    width: 100%;
  }
}
.top-about .box:last-of-type .btn {
  width: 288rem;
}
@media (max-width: 767px) {
  .top-about .box:last-of-type .btn {
    width: 100%;
  }
}
.top-about h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 30rem;
  font-weight: 700;
  margin-bottom: 50rem;
  display: flex;
  align-items: center;
  gap: 10rem;
}
@media (max-width: 1024px) {
  .top-about h2 {
    margin-bottom: 40rem;
  }
}
.top-about h2 img {
  display: block;
  width: 20rem;
  height: auto;
}
.top-about .accessmap {
  display: flex;
  justify-content: center;
  border: #ccc 1rem solid;
  padding: 20rem;
  margin-bottom: 20rem;
}
.top-about .accessmap img {
  display: block;
  width: min(100%, 432rem);
  height: auto;
}
.top-about .icn li {
  padding-left: 18rem;
  line-height: 1.5;
  position: relative;
  margin-bottom: 8rem;
}
.top-about .icn li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 1060px) {
  .top-about .icn li:last-child {
    max-width: calc(100% - 300rem);
  }
}
@media (max-width: 767px) {
  .top-about .icn li:last-child {
    max-width: 100%;
  }
}
.top-about .icn li::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  background: #BE8B4C;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.5em;
}
.top-about .table {
  position: relative;
  display: flex;
  justify-content: space-between;
  border-bottom: #ccc 1rem solid;
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .top-about .table {
    display: block;
  }
}
.top-about .table::before {
  content: "";
  display: block;
  width: 100%;
  height: 35rem;
  background: #F8F8ED;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
.top-about .table .icn {
  flex: 1;
  padding-top: 60rem;
  padding-right: 10rem;
}
@media (max-width: 767px) {
  .top-about .table .icn {
    display: none;
  }
}
.top-about .table table {
  width: 440rem;
  table-layout: fixed;
}
@media (max-width: 767px) {
  .top-about .table table {
    width: 100%;
  }
}
.top-about .table table th:first-of-type {
  width: 140rem;
}
@media (max-width: 767px) {
  .top-about .table table th:first-of-type {
    width: 120rem;
  }
}
.top-about .table table thead th {
  font-weight: 400;
  text-align: center;
  padding-block: 5rem;
}
.top-about .table table thead th:last-of-type {
  width: 70rem;
  padding-right: 20rem;
}
@media (max-width: 767px) {
  .top-about .table table thead th:last-of-type {
    padding-right: 5rem;
  }
}
.top-about .table table tbody th, .top-about .table table tbody td {
  padding-block: 20rem;
}
.top-about .table table tbody tr:first-of-type th, .top-about .table table tbody tr:first-of-type td {
  border-bottom: #ccc 1rem solid;
}
.top-about .table table tbody th {
  font-weight: 700;
  text-align: left;
}
.top-about .table table tbody td {
  font-size: 12rem;
  font-weight: 400;
  color: #19B5DF;
  text-align: center;
}
.top-about .att {
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .top-about .att {
    margin-bottom: 40rem;
  }
}

.page-lead {
  padding-bottom: 58rem;
}
@media (max-width: 767px) {
  .page-lead {
    padding-bottom: 40rem;
  }
}

/* 精神科病棟のご案内 */
.hos-ward {
  padding-bottom: 80rem;
  margin-bottom: 80rem;
  border-bottom: #ccc 1rem solid;
}
@media (max-width: 767px) {
  .hos-ward {
    padding-bottom: 60rem;
    margin-bottom: 60rem;
  }
}
.hos-ward h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
}
.hos-ward h4::before {
  content: "";
  display: inline-block;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  background: #19B5DF;
  margin-right: 10rem;
}

.ward-fig {
  display: block;
  width: min(100%, 800rem);
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .ward-fig {
    margin-bottom: 20rem;
  }
}
.ward-fig img {
  display: block;
}

.ward-img {
  display: block;
  margin-bottom: 40rem;
}

.hos-pb {
  padding-bottom: 70rem;
}
@media (max-width: 767px) {
  .hos-pb {
    padding-bottom: 60rem;
  }
}

/* 入院生活に必要なもの */
.hos-need {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
}

.need-tbl {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 30rem;
}
@media (max-width: 767px) {
  .need-tbl {
    margin-bottom: 40rem;
  }
}
.need-tbl th, .need-tbl td {
  border: #999 1rem solid;
  text-align: left;
  padding: 20rem;
}
.need-tbl th {
  background: #D6F2FA;
  font-weight: 700;
  width: 240rem;
}
@media (max-width: 767px) {
  .need-tbl th {
    width: 107rem;
  }
}
.need-tbl td ul li {
  padding-left: 18rem;
  line-height: 1.875;
  position: relative;
}
.need-tbl td ul li::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  background: #BE8B4C;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.7em;
}

.need-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 80rem;
}
@media (max-width: 1024px) {
  .need-list {
    display: block;
  }
}
.need-list .list {
  padding: 30rem 40rem;
  flex: 1;
  background: #F8F8ED;
}
@media (max-width: 1024px) {
  .need-list .list {
    flex: 0;
    width: 100%;
    margin-bottom: 20rem;
    padding: 30rem 20rem;
  }
}
.need-list .list ul {
  margin-bottom: 8rem;
}
.need-list .list ul li {
  text-indent: -26rem;
  padding-left: 26rem;
  margin-bottom: 14rem;
}
.need-list .list ul li::before {
  content: "※";
  color: #E53742;
  margin-right: 10rem;
}
.need-list .list ul li strong {
  color: #E53742;
  font-weight: 700;
}
.need-list figure {
  display: block;
  width: min(100%, 360rem);
}
@media (max-width: 1024px) {
  .need-list figure {
    margin: auto;
  }
}

/* 入院中のお願い */
.hos-request {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}

.req-img {
  display: block;
  margin-bottom: 40rem;
}

.req-ol {
  padding: 30rem 40rem;
  background: #F8F8ED;
  counter-reset: listnum;
  list-style: none;
}
@media (max-width: 1024px) {
  .req-ol {
    padding: 30rem 20rem;
  }
}
.req-ol li {
  margin-bottom: 20rem;
  text-indent: -30rem;
  padding-left: 30rem;
}
@media (max-width: 767px) {
  .req-ol li {
    margin-bottom: 30rem;
  }
}
.req-ol li:last-child {
  margin-bottom: 0;
}
.req-ol li::before {
  counter-increment: listnum;
  content: counter(listnum) ".";
  padding-right: 15px;
  vertical-align: middle;
  font-weight: 700;
}
.req-ol li strong {
  color: #E53742;
  font-weight: 700;
}
.req-ol li strong.line {
  text-decoration: underline;
}

/* 面会について */
.hos-visit {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}

.visit-ul {
  padding: 30rem 40rem;
  background: #F8F8ED;
  margin-bottom: 40rem;
}
@media (max-width: 1024px) {
  .visit-ul {
    padding: 30rem 20rem;
  }
}
@media (max-width: 767px) {
  .visit-ul {
    margin-bottom: 60rem;
  }
}
.visit-ul li {
  margin-bottom: 20rem;
  line-height: 1.875em;
  text-indent: -18rem;
  padding-left: 18rem;
}
@media (max-width: 767px) {
  .visit-ul li {
    margin-bottom: 30rem;
  }
}
.visit-ul li:last-child {
  margin-bottom: 0;
}
.visit-ul li::before {
  content: "";
  display: inline-block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  margin-right: 10rem;
}

/* 手紙・電話などの通信について */
.hos-com {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
.hos-com .flb {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40rem;
}
@media (max-width: 1024px) {
  .hos-com .flb {
    display: block;
  }
}
.hos-com .txt {
  flex: 1;
}
@media (max-width: 1024px) {
  .hos-com .txt {
    flex: 0;
    width: 100%;
    padding-bottom: 40rem;
  }
}
.hos-com ul li {
  margin-bottom: 20rem;
  line-height: 1.875em;
  text-indent: -18rem;
  padding-left: 18rem;
}
@media (max-width: 767px) {
  .hos-com ul li {
    margin-bottom: 30rem;
  }
}
.hos-com ul li::before {
  content: "";
  display: inline-block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  margin-right: 10rem;
}
.hos-com p {
  line-height: 1.875;
  text-indent: -20rem;
  padding-left: 20rem;
}
.hos-com p::before {
  content: "※";
  color: #E53742;
  margin-right: 4rem;
}
.hos-com img {
  display: block;
  width: 400rem;
}
@media (max-width: 1024px) {
  .hos-com img {
    width: 100%;
  }
}

/* 他科への受診が必要な場合 */
.hos-another {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
.hos-another h3 {
  font-size: 18rem;
  font-weight: 700;
  margin-bottom: 30rem;
}
.hos-another ul {
  padding-bottom: 50rem;
}
@media (max-width: 767px) {
  .hos-another ul {
    padding-bottom: 40rem;
  }
}
.hos-another ul li {
  line-height: 1.875;
  text-indent: -20rem;
  padding-left: 20rem;
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .hos-another ul li {
    margin-bottom: 30rem;
  }
}
.hos-another ul li:last-child {
  margin-bottom: 0;
}
.hos-another ul li::before {
  content: "※";
  color: #E53742;
  margin-right: 4rem;
}
.hos-another .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 256rem;
  height: 53rem;
  border: #19B5DF 1rem solid;
  background: #19B5DF;
  color: #fff;
  font-weight: 700;
  border-radius: 100rem;
}
@media (max-width: 767px) {
  .hos-another .btn {
    width: 100%;
  }
}
.hos-another .btn:hover {
  background: #fff;
  color: #19B5DF;
}

/* 入院の手続きについて */
.hos-process {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
.hos-process p {
  margin-bottom: 30rem;
}
@media (max-width: 767px) {
  .hos-process p {
    margin-bottom: 40rem;
  }
}
.hos-process .need-tbl {
  margin-bottom: 0;
}

/* 入院費の支払いについて */
.hos-payment {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
.hos-payment ol {
  list-style: none;
}
.hos-payment ol li {
  text-indent: -20rem;
  padding-left: 20rem;
}

/* 各種診断書・証明書について */
.hos-documents {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
.hos-documents .flb {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40rem;
}
@media (max-width: 1024px) {
  .hos-documents .flb {
    display: block;
  }
}
.hos-documents .txt {
  flex: 1;
}
@media (max-width: 1024px) {
  .hos-documents .txt {
    padding-bottom: 20rem;
  }
}
.hos-documents img {
  width: 400rem;
}
@media (max-width: 1024px) {
  .hos-documents img {
    width: 100%;
  }
}
.hos-documents p strong {
  font-weight: 700;
  color: #E53742;
  text-decoration: underline;
}

.doc-box {
  padding: 30rem 40rem;
  background: #F8F8ED;
  margin-top: 40rem;
}
@media (max-width: 1024px) {
  .doc-box {
    padding: 30rem 20rem;
    margin-top: 35rem;
  }
}
.doc-box ul {
  padding-bottom: 20rem;
}
.doc-box ul li {
  line-height: 1.875em;
}
.doc-box ul li::before {
  content: "";
  display: inline-block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  margin-right: 10rem;
}

/* 入院に関するお問い合わせ */
.hos-inquiries {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
.hos-inquiries .box {
  border: #19B5DF 2rem solid;
  padding: 30rem 40rem;
}
@media (max-width: 767px) {
  .hos-inquiries .box {
    padding: 30rem 20rem;
  }
}
.hos-inquiries h3 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  margin-bottom: 20rem;
}
.hos-inquiries h3::before {
  content: "";
  display: inline-block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  margin-right: 14rem;
}
.hos-inquiries .phone {
  font-size: 28rem;
  margin-bottom: 10rem;
}
@media (max-width: 767px) {
  .hos-inquiries .phone {
    margin-bottom: 20rem;
  }
}
.hos-inquiries .phone a {
  font-weight: 700;
  color: #19B5DF;
  pointer-events: none;
}
@media (max-width: 767px) {
  .hos-inquiries .phone a {
    pointer-events: all;
  }
}

/* 患者様の権利 */
.hos-rights {
  padding-bottom: 80rem;
}
.hos-rights .req-ol {
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .hos-rights .req-ol {
    margin-bottom: 30rem;
  }
}
.hos-rights .req-ol li {
  line-height: 2em;
  margin-bottom: 0;
}
.hos-rights h3 {
  margin-top: 60rem;
}
.hos-rights .strong {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 30rem;
}
.hos-rights .strong strong {
  color: #E53742;
  text-decoration: underline;
}
.hos-rights h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24rem;
  font-weight: 500;
  padding-bottom: 16rem;
  margin-bottom: 30rem;
  border-bottom: #19B5DF 2rem solid;
  margin-top: 60rem;
}
@media (max-width: 767px) {
  .hos-rights h4 {
    font-size: 22rem;
    padding-bottom: 12rem;
  }
}
.hos-rights .visit-ul li {
  margin-bottom: 0;
}
.hos-rights ol {
  counter-reset: listnum;
}
.hos-rights ol li {
  text-indent: -28rem;
  padding-left: 28rem;
}
.hos-rights ol li::before {
  counter-increment: listnum;
  content: counter(listnum) ".";
  padding-right: 10px;
  vertical-align: middle;
  font-weight: 700;
}

/* 院長からのご挨拶 */
.director-wrap {
  display: flex;
  gap: 80rem;
  margin-bottom: 80rem;
}
@media (max-width: 767px) {
  .director-wrap {
    flex-direction: column;
    gap: 40rem;
  }
}
.director-wrap .img {
  flex: 260 1 0;
  text-align: center;
}
.director-wrap .img img {
  width: 100%;
  height: auto;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.16);
}
@media (max-width: 767px) {
  .director-wrap .img img {
    width: 60%;
  }
}
.director-wrap .detail {
  flex: 810 1 0;
}
.director-wrap .detail h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 30rem;
  margin-bottom: 36rem;
}
.director-wrap .detail .text {
  margin-bottom: 40rem;
}
.director-wrap .detail .text p {
  font-size: 16rem;
}
.director-wrap .detail .text p:not(:last-of-type) {
  margin-bottom: 40rem;
}
.director-wrap .detail .name {
  text-align: right;
}
@media (max-width: 767px) {
  .director-wrap .detail .name {
    text-align: left;
  }
}
.director-wrap .detail .name p {
  margin-bottom: 10rem;
}

/* 病院概要 */
.outline-overview {
  border-bottom: #CCC 1px solid;
  padding-bottom: 80rem;
}
.outline-overview table {
  width: 100%;
}
.outline-overview table th,
.outline-overview table td {
  border: #CCC 1px solid;
  padding: 30rem 40rem;
  font-size: 16rem;
}
@media (max-width: 767px) {
  .outline-overview table th,
.outline-overview table td {
    padding: 20rem;
  }
}
.outline-overview table th {
  background: #D6F1F8;
  width: 27.4%;
  font-weight: bold;
}
@media (max-width: 767px) {
  .outline-overview table th {
    width: 32.6%;
    text-align: center;
  }
}
.outline-overview table td {
  width: 72.6%;
}
@media (max-width: 767px) {
  .outline-overview table td {
    width: 67.4%;
  }
}

.outline-history {
  padding: 54rem 0 80rem;
}
.outline-history dl {
  display: grid;
  grid-template-columns: 120rem 1fr;
  gap: 40rem;
  position: relative;
}
@media (max-width: 767px) {
  .outline-history dl {
    display: block;
    padding-left: 26rem;
  }
}
.outline-history dl:not(:last-of-type) {
  padding-bottom: 57rem;
}
@media (max-width: 767px) {
  .outline-history dl:not(:last-of-type) {
    padding-bottom: 40rem;
  }
}
.outline-history dl:last-of-type::before {
  display: none;
}
.outline-history dl::before {
  content: "";
  position: absolute;
  left: 8rem;
  top: 10rem;
  bottom: 0;
  width: 1px;
  height: 100%;
  background: #CCC;
}
.outline-history dl::after {
  content: "";
  position: absolute;
  left: 0;
  top: 8rem;
  width: 16rem;
  height: 16rem;
  background: #BE8B4C;
  border-radius: 50%;
}
.outline-history dl dt {
  font-weight: bold;
  text-align: right;
  font-size: 18rem;
}
@media (max-width: 767px) {
  .outline-history dl dt {
    text-align: left;
  }
}
.outline-history dl dd {
  line-height: 2;
  font-size: 16rem;
}
.outline-history dl dd span {
  display: inline-block;
  width: 40rem;
}

/* 糸満晴明病院からのお知らせ */
/*一覧*/
.info-table {
  width: 100%;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .info-table {
    border-bottom: #CCC 2px dotted;
  }
}
@media (max-width: 767px) {
  .info-table th,
.info-table td {
    display: block;
    width: 100%;
  }
}
.info-table th {
  border-bottom: #CCC 2px dotted;
  position: relative;
  font-size: 14rem;
  font-weight: 400;
  width: 222rem;
  padding: 30rem 0;
}
@media (max-width: 767px) {
  .info-table th {
    width: 100%;
    border-top: #CCC 2px dotted;
    border-bottom: none;
    padding: 20rem 0 0;
  }
}
.info-table th p {
  position: absolute;
  top: 30rem;
  right: 0;
  width: 98rem;
  text-align: center;
  color: #FFF;
  background: #19B5DF;
  border-radius: 20rem;
  padding: 2rem 0 0;
  font-size: 12rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .info-table th p {
    top: 20rem;
    right: inherit;
    left: 130rem;
  }
}
.info-table td {
  width: calc(100% - 222rem);
  border-bottom: #CCC 2px dotted;
  padding: 30rem 20rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .info-table td {
    width: 100%;
    border-bottom: none;
    padding: 20rem 0;
  }
}
.info-table td a {
  display: block;
}
.info-table td a:hover {
  color: #056BB2;
  text-decoration: underline;
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10rem;
  font-family: sans-serif;
}

.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46rem;
  height: 46rem;
  border-radius: 50%;
  text-decoration: none;
  font-size: 16rem;
  color: #222;
  font-weight: bold;
}

.wp-pagenavi a.page {
  background: #F7F7F5;
}

.wp-pagenavi a:hover {
  background: #19B5DF;
  color: #FFF;
}

.wp-pagenavi .current {
  background: #19B5DF;
  color: #FFF;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  background: none;
  border-radius: 0;
  min-width: auto;
  padding: 0 8px;
  color: rgba(51, 51, 51, 0.3);
}

.wp-pagenavi .previouspostslink {
  margin-right: 90rem;
}
@media (max-width: 767px) {
  .wp-pagenavi .previouspostslink {
    margin-right: 20rem;
  }
}

.wp-pagenavi .nextpostslink {
  margin-left: 90rem;
}
@media (max-width: 767px) {
  .wp-pagenavi .nextpostslink {
    margin-left: 20rem;
  }
}

.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
  color: #222;
  background: none;
}

.wp-pagenavi .extend {
  background: none;
}

/*詳細*/
.info-detail {
  background: #F8F8ED;
  padding: 40rem 40rem 80rem;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .info-detail {
    padding: 40rem 20rem 80rem;
    margin: 0 -20rem 60rem;
  }
}
.info-detail .info-list {
  display: flex;
  gap: 40rem;
  align-items: center;
  margin-bottom: 20rem;
}
.info-detail .info-list li {
  font-size: 14rem;
}
.info-detail .info-list li.cat {
  width: 98rem;
  text-align: center;
  color: #FFF;
  background: #19B5DF;
  border-radius: 20rem;
  padding: 2rem 0 0;
  font-size: 12rem;
  font-weight: bold;
}
.info-detail .title {
  font-size: clamp(
    26rem,
    calc(25.2277227723rem + 0.198019802vw),
    28rem
  );
  font-weight: bold;
  margin-bottom: 40rem;
}
.info-detail h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(
    28rem,
    calc(27.2277227723rem + 0.198019802vw),
    30rem
  );
  font-weight: 500;
  line-height: 1.7;
  padding-left: 40rem;
  position: relative;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .info-detail h2 {
    padding-left: 30rem;
    line-height: 1.4;
  }
}
.info-detail h2::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 17rem;
  left: 0;
}
@media (max-width: 767px) {
  .info-detail h2::before {
    top: 12rem;
  }
}
.info-detail h3 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(
    24rem,
    calc(23.2277227723rem + 0.198019802vw),
    26rem
  );
  font-weight: 500;
  line-height: 1.7;
  position: relative;
  padding-left: 26rem;
  margin-bottom: 30rem;
}
@media (max-width: 767px) {
  .info-detail h3 {
    line-height: 1.4;
  }
}
.info-detail h3::before {
  content: "";
  display: block;
  width: 6rem;
  height: 36rem;
  background: #19B5DF;
  border-radius: 4rem;
  position: absolute;
  top: 4rem;
  left: 0;
}
@media (max-width: 767px) {
  .info-detail h3::before {
    height: 34rem;
    top: 2rem;
  }
}
.info-detail h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(
    22rem,
    calc(21.2277227723rem + 0.198019802vw),
    24rem
  );
  font-weight: 500;
  line-height: 1.7;
  position: relative;
  padding-bottom: 20rem;
  margin-bottom: 20rem;
  border-bottom: #19B5DF 1px solid;
}
@media (max-width: 767px) {
  .info-detail h4 {
    line-height: 1.4;
  }
}
.info-detail h5 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(
    18rem,
    calc(17.2277227723rem + 0.198019802vw),
    20rem
  );
  font-weight: 500;
  line-height: 1.7;
  padding-left: 28rem;
  position: relative;
  margin-bottom: 30rem;
}
@media (max-width: 767px) {
  .info-detail h5 {
    line-height: 1.4;
  }
}
.info-detail h5::before {
  content: "";
  display: block;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 12rem;
  left: 0;
}
.info-detail h6 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(
    16rem,
    calc(15.2277227723rem + 0.198019802vw),
    18rem
  );
  background: #19B5DF;
  color: #FFF;
  padding: 12rem 20rem;
  margin-bottom: 20rem;
  font-weight: 500;
}
.info-detail .body p {
  font-size: 16rem;
  line-height: 2;
  margin-bottom: 40rem;
}
.info-detail .body p a {
  color: #004ECB;
}
.info-detail .body p a:hover {
  text-decoration: underline;
}
.info-detail .body ul {
  margin-bottom: 20rem;
}
.info-detail .body ul li {
  position: relative;
  padding-left: 16rem;
  line-height: 2;
}
.info-detail .body ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 8rem;
  height: 8rem;
  background: #b8894f;
  border-radius: 50%;
}
.info-detail .body ol {
  list-style: none;
  counter-reset: num;
  margin-bottom: 20rem;
}
.info-detail .body ol li {
  counter-increment: num;
  position: relative;
  padding-left: 24rem;
  line-height: 2;
}
.info-detail .body ol li::before {
  content: counter(num) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: bold;
}
.info-detail .body table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 30rem;
  font-size: 14rem;
}
.info-detail .body table th,
.info-detail .body table td {
  border: #999 1px solid;
}
.info-detail .body table th {
  width: 160rem;
  background: #D6F1F8;
  text-align: left;
  vertical-align: middle;
  padding: 16rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .info-detail .body table th {
    width: 137rem;
  }
}
.info-detail .body table td {
  background: #FFF;
  padding: 14rem 20rem;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .info-detail .body table td {
    width: calc(100% - 137rem);
  }
}
.info-detail .body .box {
  background: #FFF;
  padding: 20rem 40rem;
  margin-bottom: 20rem;
  border: #D9D9D9 1px solid;
}
@media (max-width: 767px) {
  .info-detail .body .box {
    padding: 20rem;
  }
}
.info-detail .body .box.accent {
  border: #19B5DF 2px solid;
}
.info-detail .body .box p {
  margin-bottom: 0;
}

.info-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(
    20rem,
    calc(-7.0297029703rem + 6.9306930693vw),
    90rem
  );
}
.info-pagenavi li {
  list-style: none;
  /* 真ん中ボタン */
}
.info-pagenavi li a {
  text-decoration: none;
  font-size: 16rem;
  color: rgba(34, 34, 34, 0.3);
  transition: 0.3s;
  font-weight: bold;
}
.info-pagenavi li a:hover {
  color: #222;
}
.info-pagenavi li:nth-child(2) a {
  display: inline-block;
  background: #19B5DF;
  color: #FFF;
  padding: 10rem 30rem 6rem;
  border-radius: 60rem;
  font-size: 16rem;
  border: #19B5DF 2px solid;
  font-weight: bold;
}
.info-pagenavi li:nth-child(2) a:hover {
  background: #FFF;
  color: #19B5DF;
}

/* 外来のご案内 */
.outpatient-heading {
  border-bottom: #CCC 1px solid;
  padding-bottom: 80rem;
  margin-bottom: 60rem;
}
.outpatient-heading .read {
  font-size: 16rem;
  margin-bottom: 60rem;
}
.outpatient-heading ul li {
  position: relative;
  padding-left: 18rem;
  font-size: 16rem;
}
.outpatient-heading ul li::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 9rem;
  left: 0;
}
@media (max-width: 767px) {
  .outpatient-heading ul li::before {
    top: 8rem;
  }
}

.outpatient-time {
  border-bottom: #CCC 1px solid;
  padding-bottom: 80rem;
  margin-bottom: 60rem;
}
.outpatient-time .clinic-hours {
  display: flex;
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .outpatient-time .clinic-hours {
    flex-direction: column;
  }
}
.outpatient-time .clinic-hours .clinic-hours__item {
  min-width: 33.333%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: #999 1px solid;
  font-size: 16rem;
}
@media (max-width: 767px) {
  .outpatient-time .clinic-hours .clinic-hours__item {
    flex-direction: column;
    width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
  }
}
.outpatient-time .clinic-hours .clinic-hours__item:not(:first-of-type) {
  margin-left: -1px;
}
@media (max-width: 767px) {
  .outpatient-time .clinic-hours .clinic-hours__item:not(:first-of-type) {
    margin-left: 0;
    margin-top: -1px;
  }
}
.outpatient-time .clinic-hours .clinic-hours__item .read {
  background: #D6F1F8;
  width: 137rem;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 20rem;
  border-right: #999 1px solid;
}
@media (max-width: 767px) {
  .outpatient-time .clinic-hours .clinic-hours__item .read {
    width: 100%;
    border-right: none;
    border-bottom: #999 1px solid;
    font-weight: bold;
    padding: 13rem 20rem;
  }
}
.outpatient-time .clinic-hours .clinic-hours__item .time {
  flex: 1;
  padding: 15rem 20rem;
}
.outpatient-time .clinic-hours .clinic-hours__item .time strong {
  font-size: 20rem;
  font-weight: bold;
}
.outpatient-time .hours-note {
  font-size: 16rem;
  margin-bottom: 20rem;
}
.outpatient-time .hours-list {
  margin-bottom: 80rem;
}
.outpatient-time .hours-list li {
  position: relative;
  padding-left: 18rem;
  font-size: 16rem;
}
.outpatient-time .hours-list li::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 9rem;
  left: 0;
}
@media (max-width: 767px) {
  .outpatient-time .hours-list li::before {
    top: 8rem;
  }
}
.outpatient-time .clinic-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.outpatient-time .clinic-table-wrap .clinic-table {
  width: 100%;
  min-width: 930px;
  border-collapse: collapse;
  table-layout: fixed;
  border: #999 1px solid;
}
.outpatient-time .clinic-table-wrap .clinic-table th,
.outpatient-time .clinic-table-wrap .clinic-table td {
  border: #999 1px solid;
  font-size: 16rem;
  vertical-align: middle;
  box-sizing: border-box;
  padding: 16rem 20rem;
}
@media (max-width: 767px) {
  .outpatient-time .clinic-table-wrap .clinic-table th,
.outpatient-time .clinic-table-wrap .clinic-table td {
    padding: 16rem 10rem;
  }
}
.outpatient-time .clinic-table-wrap .clinic-table thead th {
  background: #D6F1F8;
  font-weight: 700;
}
.outpatient-time .clinic-table-wrap .clinic-table thead th:first-child {
  width: 34.63%;
}
@media (max-width: 767px) {
  .outpatient-time .clinic-table-wrap .clinic-table thead th:first-child {
    width: 170rem;
  }
}
.outpatient-time .clinic-table-wrap .clinic-table thead th:nth-child(2) {
  width: 20.32%;
}
@media (max-width: 767px) {
  .outpatient-time .clinic-table-wrap .clinic-table thead th:nth-child(2) {
    width: 150rem;
  }
}
.outpatient-time .clinic-table-wrap .clinic-table thead th:nth-child(n+3) {
  width: 11.69%;
  text-align: center;
}
@media (max-width: 767px) {
  .outpatient-time .clinic-table-wrap .clinic-table thead th:nth-child(n+3) {
    width: 50rem;
  }
}
.outpatient-time .clinic-table-wrap .clinic-table tbody td:first-child {
  text-align: left;
  padding-left: 18px;
}
.outpatient-time .clinic-table-wrap .clinic-table tbody td:nth-child(2) {
  font-weight: 700;
  white-space: nowrap;
}
.outpatient-time .clinic-table-wrap .clinic-table tbody td ul li {
  position: relative;
  padding-left: 18rem;
}
.outpatient-time .clinic-table-wrap .clinic-table tbody td ul li::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 9rem;
  left: 0;
}
@media (max-width: 767px) {
  .outpatient-time .clinic-table-wrap .clinic-table tbody td ul li::before {
    top: 8rem;
  }
}
.outpatient-time .clinic-table-wrap .clinic-table tbody td span {
  font-weight: bold;
}
.outpatient-time .clinic-table-wrap .clinic-table tbody td.blue {
  color: #19B5DF;
  text-align: center;
}

.outpatient-consultation {
  border-bottom: #CCC 1px solid;
  padding-bottom: 80rem;
  margin-bottom: 60rem;
}
.outpatient-consultation .read {
  font-size: 20rem;
  font-weight: bold;
  margin-bottom: 30rem;
}
@media (max-width: 767px) {
  .outpatient-consultation .pbtn {
    text-align: center;
  }
}
.outpatient-consultation .box {
  border: #19B5DF 2px solid;
  padding: 30rem 40rem;
  margin: 40rem 0 80rem;
}
@media (max-width: 767px) {
  .outpatient-consultation .box {
    padding: 30rem 20rem;
  }
}
.outpatient-consultation .box h3 {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 20rem;
  padding-left: 34rem;
  margin-bottom: 20rem;
}
.outpatient-consultation .box h3::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 10rem;
  left: 0;
}
.outpatient-consultation .box p {
  font-size: 16rem;
}
.outpatient-consultation .box p.number a {
  color: #0A96CE;
  font-size: 28rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .outpatient-consultation .box p.number a {
    font-size: 26rem;
  }
}
.outpatient-consultation .flow {
  width: 100%;
}
.outpatient-consultation .flow .row {
  display: flex;
  align-items: flex-start;
  gap: 40rem;
}
@media (max-width: 767px) {
  .outpatient-consultation .flow .row {
    flex-direction: column;
    gap: 50rem;
  }
}
.outpatient-consultation .flow .row:not(:last-of-type) {
  margin-bottom: 40rem;
}
.outpatient-consultation .flow .row .step {
  position: relative;
  background: #D6F1F8;
  width: 240rem;
  box-sizing: border-box;
  padding: 20rem 20rem 30rem;
  text-align: center;
}
@media (max-width: 767px) {
  .outpatient-consultation .flow .row .step {
    width: 100%;
  }
}
.outpatient-consultation .flow .row .step::after {
  content: "";
  background: url("../img/outpatient/arrow@2x.webp") 0 0/cover no-repeat;
  position: absolute;
  left: 0;
  bottom: -30rem;
  width: 240rem;
  height: 30rem;
}
@media (max-width: 767px) {
  .outpatient-consultation .flow .row .step::after {
    background: url("../img/outpatient/arrow-sp@2x.webp") center top/cover no-repeat;
    min-width: 100%;
    height: 30rem;
  }
}
.outpatient-consultation .flow .row .step.last::after {
  background: #D6F1F8;
}
@media (max-width: 767px) {
  .outpatient-consultation .flow .row .step.last::after {
    display: none;
  }
}
.outpatient-consultation .flow .row .step .step-num {
  display: block;
  margin-bottom: 10px;
  color: #0A96CE;
  font-size: 16rem;
  font-weight: bold;
}
.outpatient-consultation .flow .row .step .step-title {
  display: block;
  font-size: 18rem;
  font-weight: bold;
}
.outpatient-consultation .flow .row .content {
  flex: 1;
}
.outpatient-consultation .flow .row .content .list {
  padding-top: 20rem;
}
.outpatient-consultation .flow .row .content .list li {
  position: relative;
  padding-left: 18rem;
  font-size: 16rem;
}
.outpatient-consultation .flow .row .content .list li::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 9rem;
  left: 0;
}
@media (max-width: 767px) {
  .outpatient-consultation .flow .row .content .list li::before {
    top: 8rem;
  }
}
.outpatient-consultation .flow .row .content .list span {
  color: #E53742;
  font-weight: bold;
}
.outpatient-consultation .flow .row .content .note {
  font-size: 16rem;
}

.outpatient-dental {
  margin-bottom: 80rem;
}
.outpatient-dental .box {
  background: #F8F8ED;
  padding: 60rem 40rem;
  display: flex;
  flex-direction: row-reverse;
  gap: 80rem;
}
@media (max-width: 767px) {
  .outpatient-dental .box {
    padding: 40rem 20rem;
    flex-direction: column;
    gap: 30rem;
  }
}
.outpatient-dental .box .image {
  width: 47%;
}
@media (max-width: 767px) {
  .outpatient-dental .box .image {
    width: 100%;
  }
}
.outpatient-dental .box .image img {
  width: 100%;
}
.outpatient-dental .box .detail {
  width: 53%;
}
@media (max-width: 767px) {
  .outpatient-dental .box .detail {
    width: 100%;
  }
}
.outpatient-dental .box .detail h3 {
  font-size: 20rem;
  font-weight: bold;
  margin-bottom: 30rem;
}
.outpatient-dental .box .detail .text {
  font-size: 16rem;
  margin-bottom: 40rem;
}

/* 診療科のご案内 */
.department-heading {
  background: #F8F8ED;
  padding: 0 0 50rem;
  margin-bottom: 50rem;
}
@media (max-width: 767px) {
  .department-heading {
    padding: 0 0 30rem;
  }
}
.department-heading h2 {
  position: relative;
  background: #0A96CE;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 46rem;
  color: #FFF;
  margin-bottom: 53rem;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .department-heading h2 {
    font-size: 28rem;
    padding: 10rem 0;
  }
}
.department-heading h2::after {
  content: "";
  position: absolute;
  bottom: max(-20rem, -1.25vw);
  left: 50%;
  transform: translateX(-50%);
  border-left: 20rem solid transparent;
  border-right: 20rem solid transparent;
  border-top: 23rem solid #0A96CE;
}
@media (max-width: 767px) {
  .department-heading h2::after {
    bottom: max(-30rem, -4vw);
  }
}
.department-heading .list-wrap {
  position: relative;
}
@media (max-width: 767px) {
  .department-heading .list-wrap {
    position: static;
  }
}
.department-heading .list-wrap::before {
  content: "";
  background: url(../img/department/img-left@2x.webp) 0 0/cover no-repeat;
  position: absolute;
  top: 0;
  left: 80rem;
  width: 140rem;
  height: 210rem;
}
@media (max-width: 767px) {
  .department-heading .list-wrap::before {
    display: none;
  }
}
.department-heading .list-wrap::after {
  content: "";
  background: url(../img/department/img-right@2x.webp) 0 0/cover no-repeat;
  position: absolute;
  top: 0;
  right: 36rem;
  width: 214rem;
  height: 210rem;
}
@media (max-width: 767px) {
  .department-heading .list-wrap::after {
    display: none;
  }
}
.department-heading .list-wrap .list {
  width: 1060rem;
  position: relative;
  margin: 0 auto 30rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20rem;
  z-index: 1;
}
@media (max-width: 1350px) {
  .department-heading .list-wrap .list {
    width: 70%;
  }
}
@media (max-width: 1024px) {
  .department-heading .list-wrap .list {
    width: 50%;
  }
}
@media (max-width: 767px) {
  .department-heading .list-wrap .list {
    gap: 10rem;
    width: calc(100% - 40rem);
    margin: 0 20rem 30rem;
  }
}
.department-heading .list-wrap .list li {
  border: #19B5DF 2rem solid;
  background: #FFF;
  border-radius: 30rem;
  font-size: 24rem;
  font-weight: bold;
  min-width: 320rem;
  text-align: center;
  padding: 5rem 20rem 0;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .department-heading .list-wrap .list li {
    font-size: 16rem;
    padding: 5rem 0 0;
  }
}
.department-heading .read {
  text-align: center;
  font-size: 30rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .department-heading .read {
    text-align: left;
    font-size: 20rem;
    margin: 0 20rem 10rem;
  }
}
.department-heading .image {
  display: none;
}
@media (max-width: 767px) {
  .department-heading .image {
    display: block;
    text-align: center;
  }
}

.department-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 40rem;
  margin-bottom: 80rem;
}
@media (max-width: 767px) {
  .department-menu {
    gap: 20rem;
  }
}
.department-menu li {
  width: calc((100% - 200px) / 6);
}
@media (max-width: 1350px) {
  .department-menu li {
    width: calc((100% - 120px) / 4);
  }
}
@media (max-width: 1024px) {
  .department-menu li {
    width: calc((100% - 80rem) / 3);
  }
}
@media (max-width: 767px) {
  .department-menu li {
    width: 100%;
  }
}
.department-menu li a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  border-radius: 8rem;
  box-shadow: 0 0 10rem rgba(0, 0, 0, 0.16);
}
@media (max-width: 767px) {
  .department-menu li a {
    aspect-ratio: inherit;
    padding: 30rem 25rem;
    gap: 25rem;
  }
}
.department-menu li a figure {
  margin: 0 0 20rem;
}
@media (max-width: 767px) {
  .department-menu li a figure {
    margin: 0;
  }
}
.department-menu li a figure img {
  display: block;
  max-width: 100%;
  height: auto;
}
.department-menu li a p {
  position: absolute;
  top: 70%;
  margin: 0;
  font-size: 16rem;
  font-weight: bold;
  line-height: 1.4;
  width: 100%;
  margin-inline: auto;
  text-align: left;
  text-align: center;
}
@media (max-width: 767px) {
  .department-menu li a p {
    position: static;
    text-align: left;
    font-size: 18rem;
  }
}
.department-menu li a p::after {
  content: "";
  background: url(../img/department/arrow.svg) 0 0/cover no-repeat;
  display: inline-block;
  width: 18rem;
  height: 18rem;
  margin-left: 10rem;
  vertical-align: top;
}
@media (max-width: 767px) {
  .department-menu li a p::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20rem;
  }
}
.department-menu li a:hover {
  opacity: 0.7;
}
.department-menu li:first-child a {
  background: #EE9AA2;
}
.department-menu li:nth-child(2) a {
  background: #EFD360;
}
.department-menu li:nth-child(3) a {
  background: #C59CDF;
}
.department-menu li:nth-child(4) a {
  background: #7AC9C4;
}
.department-menu li:nth-child(5) a {
  background: #6ABBE8;
}
.department-menu li:last-child a {
  background: #F7A16C;
}

/* 精神科、心療内科 */
.psychiatry-heading {
  display: flex;
  gap: 67rem;
  border-bottom: #CCC 1px solid;
  padding-bottom: 60rem;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .psychiatry-heading {
    flex-direction: column;
    gap: 30rem;
  }
}
.psychiatry-heading .detail {
  width: 65%;
}
@media (max-width: 767px) {
  .psychiatry-heading .detail {
    width: 100%;
  }
}
.psychiatry-heading .detail p {
  font-size: 16rem;
}
.psychiatry-heading .image {
  width: 35%;
}
@media (max-width: 767px) {
  .psychiatry-heading .image {
    width: 100%;
  }
}
.psychiatry-heading .image img {
  width: 100%;
}

.psychiatry-disease {
  border-bottom: #CCC 1px solid;
  padding-bottom: 80rem;
  margin-bottom: 60rem;
}
.psychiatry-disease .list {
  border: #D9D9D9 1px solid;
  padding: 40rem;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .psychiatry-disease .list {
    padding: 20rem;
    flex-direction: column;
  }
}
.psychiatry-disease .list li {
  position: relative;
  width: 33.333%;
  padding-left: 18rem;
  font-size: 16rem;
}
@media (max-width: 767px) {
  .psychiatry-disease .list li {
    width: 100%;
  }
}
.psychiatry-disease .list li::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 9rem;
  left: 0;
}
@media (max-width: 767px) {
  .psychiatry-disease .list li::before {
    top: 8rem;
  }
}

.psychiatry-method {
  border-bottom: #CCC 1px solid;
  padding-bottom: 80rem;
  margin-bottom: 60rem;
}
.psychiatry-method .read {
  font-size: 16rem;
  margin-bottom: 60rem;
}
.psychiatry-method .box {
  display: flex;
  gap: 64rem;
}
@media (max-width: 767px) {
  .psychiatry-method .box {
    flex-direction: column;
    gap: 40rem;
  }
}
.psychiatry-method .box dl {
  width: 65%;
}
@media (max-width: 767px) {
  .psychiatry-method .box dl {
    width: 100%;
  }
}
.psychiatry-method .box dl dd {
  font-size: 16rem;
}
.psychiatry-method .box .image {
  width: 35%;
}
@media (max-width: 767px) {
  .psychiatry-method .box .image {
    width: 100%;
  }
}
.psychiatry-method .box .image img {
  width: 100%;
}
.psychiatry-method .box:first-of-type {
  margin-bottom: 60rem;
}

.psychiatry-rehabilitation .box {
  background: #F8F8ED;
  padding: 35rem 40rem 60rem;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .psychiatry-rehabilitation .box {
    padding: 40rem 20rem;
  }
}
.psychiatry-rehabilitation .box:not(:last-of-type) {
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .psychiatry-rehabilitation .box:not(:last-of-type) {
    margin-bottom: 20rem;
  }
}
.psychiatry-rehabilitation .box h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  border-bottom: #19B5DF 2px solid;
  padding-bottom: 15rem;
  margin-bottom: 20rem;
  font-size: 24rem;
}
.psychiatry-rehabilitation .box .wrap {
  display: flex;
  gap: 40rem;
}
@media (max-width: 767px) {
  .psychiatry-rehabilitation .box .wrap {
    flex-direction: column;
  }
}
.psychiatry-rehabilitation .box .wrap .detail {
  width: 65%;
}
@media (max-width: 767px) {
  .psychiatry-rehabilitation .box .wrap .detail {
    width: 100%;
  }
}
.psychiatry-rehabilitation .box .wrap .detail p {
  font-size: 16rem;
}
.psychiatry-rehabilitation .box .wrap .detail h5 {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  margin-top: 26rem;
  margin-bottom: 22rem;
  padding-left: 24rem;
}
.psychiatry-rehabilitation .box .wrap .detail h5::before {
  content: "";
  display: block;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 12rem;
  left: 0;
}
.psychiatry-rehabilitation .box .wrap .detail dl {
  counter-increment: step;
  padding-left: 26rem;
  position: relative;
}
.psychiatry-rehabilitation .box .wrap .detail dl:not(:last-of-type) {
  margin: 0 0 40rem;
}
.psychiatry-rehabilitation .box .wrap .detail dl dt {
  font-weight: bold;
  margin-bottom: 10rem;
  position: relative;
  font-size: 16rem;
}
.psychiatry-rehabilitation .box .wrap .detail dl dt::before {
  content: counter(step) ".";
  position: absolute;
  left: -26rem;
  top: 0;
  font-weight: bold;
}
.psychiatry-rehabilitation .box .wrap .detail dl dd {
  font-size: 16rem;
  line-height: 2;
}
.psychiatry-rehabilitation .box .wrap .detail .pbtn {
  margin-top: 40rem;
}
@media (max-width: 767px) {
  .psychiatry-rehabilitation .box .wrap .detail .pbtn {
    text-align: center;
  }
}
.psychiatry-rehabilitation .box .wrap .image {
  width: 35%;
}
@media (max-width: 767px) {
  .psychiatry-rehabilitation .box .wrap .image {
    width: 100%;
  }
}
.psychiatry-rehabilitation .box .wrap .image img {
  width: 100%;
}
.psychiatry-rehabilitation .box .text {
  font-size: 16rem;
  line-height: 2;
}
.psychiatry-rehabilitation .box ol {
  counter-reset: num;
  padding-left: 0;
  list-style: none;
  position: relative;
  margin: 30rem 0 40rem;
}
.psychiatry-rehabilitation .box ol li {
  counter-increment: num;
  position: relative;
  padding: 16rem 0 10rem 40rem;
  border-bottom: 1px dotted #bbb;
  font-weight: bold;
  font-size: 18rem;
}
.psychiatry-rehabilitation .box ol li::before {
  content: counter(num, decimal-leading-zero) ".";
  position: absolute;
  left: 0;
  top: 16rem;
  color: #0A96CE;
  font-weight: bold;
}

/* 歯科 */
.dentistry-heading .dentistry-heading__wrap {
  display: flex;
  gap: 40rem;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .dentistry-heading .dentistry-heading__wrap {
    flex-direction: column;
    margin-bottom: 80rem;
  }
}
.dentistry-heading .dentistry-heading__wrap .dentistry-heading__image {
  width: 50%;
}
@media (max-width: 767px) {
  .dentistry-heading .dentistry-heading__wrap .dentistry-heading__image {
    width: 100%;
  }
}
.dentistry-heading .dentistry-heading__wrap .dentistry-heading__image img {
  width: 100%;
}
.dentistry-heading .dentistry-heading__wrap .dentistry-heading__detail {
  width: 50%;
}
@media (max-width: 767px) {
  .dentistry-heading .dentistry-heading__wrap .dentistry-heading__detail {
    width: 100%;
  }
}
.dentistry-heading .dentistry-heading__wrap .dentistry-heading__detail p:not(:last-of-type) {
  margin-bottom: 30rem;
}

.dentistry-box {
  border-top: #CCC 1px solid;
  padding: 60rem 0 80rem;
  display: flex;
  gap: 40rem;
}
@media (max-width: 767px) {
  .dentistry-box {
    flex-direction: column;
  }
}
.dentistry-box .dentistry-box-detail {
  width: 65%;
}
@media (max-width: 767px) {
  .dentistry-box .dentistry-box-detail {
    width: 100%;
  }
}
.dentistry-box .dentistry-box-detail p:not(:last-of-type) {
  margin-bottom: 30rem;
}
.dentistry-box .dentistry-box-image {
  width: 35%;
}
@media (max-width: 767px) {
  .dentistry-box .dentistry-box-image {
    width: 100%;
  }
}
.dentistry-box .dentistry-box-image img {
  width: 100%;
}

/* 地域医療相談課 */
.counseling-heading {
  margin-top: 80rem;
}
.counseling-heading .wrap {
  display: flex;
  gap: 40rem;
  margin-bottom: 80rem;
}
@media (max-width: 767px) {
  .counseling-heading .wrap {
    flex-direction: column;
  }
}
.counseling-heading .wrap .image {
  width: 38.5%;
}
@media (max-width: 767px) {
  .counseling-heading .wrap .image {
    width: 100%;
  }
}
.counseling-heading .wrap .image img {
  width: 100%;
}
.counseling-heading .wrap .detail {
  width: 61.5%;
}
@media (max-width: 767px) {
  .counseling-heading .wrap .detail {
    width: 100%;
  }
}
.counseling-heading .wrap .detail .text {
  font-size: 16rem;
  margin-bottom: 40rem;
}
.counseling-heading .wrap .detail .box {
  border: #D9D9D9 2px solid;
  padding: 30rem 40rem;
}
@media (max-width: 767px) {
  .counseling-heading .wrap .detail .box {
    padding: 20rem;
  }
}
.counseling-heading .wrap .detail .box:first-of-type {
  position: relative;
  margin-bottom: 46rem;
}
.counseling-heading .wrap .detail .box:first-of-type::after {
  content: "";
  display: block;
  width: 60rem;
  height: 20rem;
  background: #E53742;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(16rem);
}
.counseling-heading .wrap .detail .box p {
  position: relative;
  padding: 0 0 0 50rem;
  font-weight: bold;
  font-size: 20rem;
}
.counseling-heading .wrap .detail .box p span {
  display: block;
  font-weight: 400;
  font-size: 16rem;
}
.counseling-heading .wrap .detail .box p.q::before {
  content: "Q.";
  color: #0A96CE;
  font-size: 30rem;
  margin-right: 20rem;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1;
}
.counseling-heading .wrap .detail .box p.a::before {
  content: "A.";
  color: #E53742;
  font-size: 30rem;
  margin-right: 20rem;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1;
}

.counseling-secret {
  background: #F8F8ED;
  padding: 40rem;
  display: flex;
  gap: 40rem;
  margin-bottom: 80rem;
}
@media (max-width: 767px) {
  .counseling-secret {
    padding: 40rem 20rem;
    flex-direction: column;
    margin: 0 -20rem 60rem;
  }
}
.counseling-secret .detail {
  width: 60%;
}
@media (max-width: 767px) {
  .counseling-secret .detail {
    width: 100%;
  }
}
.counseling-secret .image {
  width: 40%;
}
@media (max-width: 767px) {
  .counseling-secret .image {
    width: 100%;
  }
}
.counseling-secret .image img {
  width: 100%;
}

.counseling-contact {
  margin-bottom: 80rem;
}
.counseling-contact .read {
  font-size: 16rem;
  margin-bottom: 30rem;
}
.counseling-contact .box {
  border: #19B5DF 2px solid;
  padding: 30rem 40rem;
}
@media (max-width: 767px) {
  .counseling-contact .box {
    padding: 30rem 20rem;
  }
}
.counseling-contact .box h3 {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  padding-left: 34rem;
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .counseling-contact .box h3 {
    padding-left: 24rem;
  }
}
.counseling-contact .box h3::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 10rem;
  left: 0;
}
@media (max-width: 767px) {
  .counseling-contact .box h3::before {
    width: 14rem;
    height: 14rem;
    top: 12rem;
  }
}
.counseling-contact .box .tel {
  font-size: 28rem;
  font-weight: bold;
  margin-bottom: 10rem;
}
@media (max-width: 767px) {
  .counseling-contact .box .tel {
    font-size: 26rem;
  }
}
.counseling-contact .box .tel a {
  color: #0A96CE;
}
.counseling-contact .box p {
  font-size: 16rem;
}

/* 指定障害福祉サービス事業所 晴風苑 */
.seifuuen-heading {
  margin-bottom: 60rem;
  padding-bottom: 80rem;
  border-bottom: #CCC 1px solid;
}
.seifuuen-heading .read {
  font-size: 16rem;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .seifuuen-heading .read {
    margin-bottom: 40rem;
  }
}
.seifuuen-heading .image {
  margin-bottom: 30rem;
}
.seifuuen-heading .image img {
  max-width: 600rem;
}
@media (max-width: 767px) {
  .seifuuen-heading .image img {
    width: 100%;
  }
}
.seifuuen-heading .note {
  font-size: 16rem;
  margin-bottom: 30rem;
}
.seifuuen-heading .list-note {
  background: rgba(229, 55, 66, 0.08);
  padding: 20rem 40rem;
  margin-bottom: 60rem;
  border-radius: 8rem;
}
@media (max-width: 767px) {
  .seifuuen-heading .list-note {
    padding: 20rem;
  }
}
.seifuuen-heading .list-note li {
  color: #FF0000;
  font-weight: bold;
  font-size: 16rem;
  line-height: 2;
}
.seifuuen-heading .wrap {
  display: flex;
  gap: 40rem;
}
@media (max-width: 767px) {
  .seifuuen-heading .wrap {
    flex-direction: column;
    gap: 30rem;
  }
}
.seifuuen-heading .wrap .wrap-detail {
  width: 60%;
}
@media (max-width: 767px) {
  .seifuuen-heading .wrap .wrap-detail {
    width: 100%;
  }
}
.seifuuen-heading .wrap .wrap-detail p {
  font-size: 16rem;
}
.seifuuen-heading .wrap .wrap-image {
  width: 40%;
}
@media (max-width: 767px) {
  .seifuuen-heading .wrap .wrap-image {
    width: 100%;
  }
}
.seifuuen-heading .wrap .wrap-image img {
  width: 100%;
}

.seifuuen-fee {
  margin-bottom: 60rem;
  padding-bottom: 80rem;
  border-bottom: #CCC 1px solid;
}
.seifuuen-fee .list li {
  font-size: 16rem;
}

.seifuuen-flow {
  margin-bottom: 80rem;
  background: #F8F8ED;
  padding: 40rem;
}
@media (max-width: 767px) {
  .seifuuen-flow {
    margin: 0 -20rem 80rem;
    padding: 40rem 20rem;
  }
}
.seifuuen-flow .image {
  max-width: 900rem;
  margin: 0 auto;
}
.seifuuen-flow .image img {
  width: 100%;
}

.seifuuen-contact {
  border-top: #CCC 1px solid;
  padding-top: 60rem;
  margin-bottom: 50rem;
}
.seifuuen-contact .box {
  border: #19B5DF 2px solid;
  padding: 30rem 40rem;
}
@media (max-width: 767px) {
  .seifuuen-contact .box {
    padding: 30rem 20rem;
  }
}
.seifuuen-contact .box h3 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  line-height: 1.7;
  padding-left: 30rem;
  position: relative;
  margin-bottom: 20rem;
}
.seifuuen-contact .box h3::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 8rem;
  left: 0;
}
@media (max-width: 767px) {
  .seifuuen-contact .box h3::before {
    top: 7rem;
  }
}
.seifuuen-contact .box p {
  font-size: 16rem;
}
.seifuuen-contact .box .number {
  color: #19B5DF;
  font-size: 28rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .seifuuen-contact .box .number {
    font-size: 26rem;
  }
}
.seifuuen-contact .box .number:last-of-type {
  margin-bottom: 10rem;
}
@media (max-width: 767px) {
  .seifuuen-contact .box .number:last-of-type {
    margin-bottom: 20rem;
  }
}
.seifuuen-contact .box .number a {
  color: #19B5DF;
}

/* デイナイトケア */
.daycare {
  margin: 80rem 0 60rem;
}
.daycare .heading {
  margin-bottom: 50rem;
}
.daycare .about .read {
  font-size: 16rem;
  margin-bottom: 40rem;
}
.daycare .about .box {
  background: #F8F8ED;
  padding: 35rem 40rem 40rem;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .daycare .about .box {
    padding: 40rem 20rem;
    margin: 0 -20rem 60rem;
  }
}
.daycare .about .box h4 {
  border-bottom: #19B5DF 2px solid;
  font-size: 24rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  margin-bottom: 20rem;
}
.daycare .about .box p {
  font-size: 16rem;
}
.daycare .about .box p span {
  display: block;
  font-weight: bold;
}
.daycare .about .box p.cost {
  margin-bottom: 55rem;
}
.daycare .about .box ul {
  margin-top: 20rem;
  border: #D9D9D9 2px solid;
  background: #FFF;
  padding: 30rem 40rem;
  margin-bottom: 55px;
}
@media (max-width: 767px) {
  .daycare .about .box ul {
    padding: 30rem 20rem;
  }
}
.daycare .about .box ul li {
  position: relative;
  padding-left: 22rem;
  font-size: 16rem;
}
.daycare .about .box ul li::before {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 10rem;
  left: 0;
}
@media (max-width: 767px) {
  .daycare .about .box ul li::before {
    top: 8rem;
  }
}
.daycare .about .box dl {
  border: #D9D9D9 2px solid;
  background: #FFF;
  padding: 30rem 40rem;
  margin-bottom: 55rem;
}
@media (max-width: 767px) {
  .daycare .about .box dl {
    padding: 30rem 20rem;
  }
}
.daycare .about .box dl dt {
  font-size: 20rem;
  font-weight: bold;
}
.daycare .about .box dl dd {
  font-size: 16rem;
}
.daycare .about .box .step .step-item {
  border: #D9D9D9 2px solid;
  background: #FFF;
  display: flex;
  align-items: center;
  padding: 20rem 0;
}
.daycare .about .box .step .step-item:not(:last-of-type) {
  margin-bottom: 46rem;
  position: relative;
}
.daycare .about .box .step .step-item:not(:last-of-type)::after {
  content: "";
  display: block;
  width: 60rem;
  height: 20rem;
  background: #E53742;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(16rem);
}
.daycare .about .box .step .step-item .num {
  width: 120rem;
  border-right: #CCC 1px solid;
  text-align: center;
  color: #0A96CE;
  font-size: 14rem;
  font-weight: bold;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .daycare .about .box .step .step-item .num {
    width: 78rem;
  }
}
.daycare .about .box .step .step-item .num span {
  font-size: 30rem;
}
.daycare .about .box .step .step-item .detail {
  padding: 0 20rem;
  font-size: 16rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .daycare .about .box .step .step-item .detail {
    width: calc(100% - 78rem);
  }
}
.daycare .program {
  display: flex;
  gap: 40rem;
  margin-bottom: 60rem;
}
@media (max-width: 1024px) {
  .daycare .program {
    flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .daycare .program {
    flex-direction: column;
    gap: 30rem;
  }
}
.daycare .program .item {
  background: #F8F8ED;
  padding: 30rem 20rem;
}
@media (max-width: 1024px) {
  .daycare .program .item {
    width: calc((100% - 60rem) / 2);
  }
}
@media (max-width: 767px) {
  .daycare .program .item {
    width: 100%;
    padding: 20rem;
  }
}
.daycare .program .item figure {
  margin-bottom: 15rem;
}
.daycare .program .item figure img {
  width: 100%;
}
.daycare .program .item dl dt {
  font-family: "Zen Maru Gothic", sans-serif;
  border-bottom: #19B5DF 2px solid;
  font-weight: 500;
  font-size: 22rem;
  padding-bottom: 10rem;
  margin-bottom: 20rem;
}
.daycare .program .item dl dd {
  position: relative;
  font-size: 16rem;
  padding-left: 22rem;
}
.daycare .program .item dl dd::before {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 10rem;
  left: 0;
}
@media (max-width: 767px) {
  .daycare .program .item dl dd::before {
    top: 10rem;
  }
}
.daycare .other-text {
  font-size: 16rem;
  margin-bottom: 30rem;
}
.daycare .other-text span {
  display: block;
  font-size: 20rem;
  font-weight: bold;
}
.daycare .other-box {
  position: relative;
  border: #19B5DF 2px solid;
  padding: 30rem 40rem;
  display: flex;
}
@media (max-width: 767px) {
  .daycare .other-box {
    flex-direction: column;
    padding: 30rem 20rem;
  }
}
.daycare .other-box::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: calc(100% - 40rem);
  background: #CCC;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .daycare .other-box::after {
    display: none;
  }
}
.daycare .other-box h4 {
  position: relative;
  font-size: 20rem;
  font-weight: 500;
  padding-left: 34rem;
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .daycare .other-box h4 {
    padding-left: 24rem;
  }
}
.daycare .other-box h4::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 10rem;
  left: 0;
}
@media (max-width: 767px) {
  .daycare .other-box h4::before {
    width: 14rem;
    height: 14rem;
    top: 12rem;
  }
}
.daycare .other-box .left {
  width: 50%;
  padding: 0 40rem 0 0;
}
@media (max-width: 767px) {
  .daycare .other-box .left {
    width: 100%;
    padding: 0;
  }
}
.daycare .other-box .left p {
  font-size: 16rem;
  line-height: 2;
}
.daycare .other-box .left p.tel a {
  font-size: 28rem;
  font-weight: bold;
  color: #0A96CE;
}
@media (max-width: 767px) {
  .daycare .other-box .left p.tel a {
    font-size: 26rem;
  }
}
.daycare .other-box .right {
  width: 50%;
  padding: 0 0 0 40rem;
}
@media (max-width: 767px) {
  .daycare .other-box .right {
    width: 100%;
    padding: 0;
    border-top: #CCC 1px solid;
    margin-top: 20rem;
    padding-top: 20rem;
  }
}
.daycare .other-box .right .pbtn a {
  width: 100%;
  text-align: center;
}
@media (max-width: 767px) {
  .daycare .other-box .right .pbtn a {
    width: 100%;
  }
}

/* 教育・研修について */
.training-wrap {
  margin-bottom: 100rem;
}
.training-wrap .read {
  font-weight: bold;
  font-size: 20rem;
  margin-bottom: 40rem;
}
.training-wrap .training-box {
  background: #F8F8ED;
  padding: 40rem;
  display: flex;
  align-items: center;
  gap: 40rem;
}
@media (max-width: 767px) {
  .training-wrap .training-box {
    padding: 30rem 20rem;
    flex-direction: column;
    gap: 30rem;
  }
}
.training-wrap .training-box:not(:last-of-type) {
  margin-bottom: 40rem;
}
.training-wrap .training-box-detail {
  width: 68%;
}
@media (max-width: 767px) {
  .training-wrap .training-box-detail {
    width: 100%;
  }
}
.training-wrap .training-box-detail p {
  font-size: 16rem;
}
.training-wrap .training-box-image {
  width: 32%;
}
@media (max-width: 767px) {
  .training-wrap .training-box-image {
    width: 100%;
  }
}
.training-wrap .training-box-image img {
  width: 100%;
}

/* 糸満晴明病院の募集要項 */
/*一覧*/
.requirements-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30rem 40rem;
  margin-bottom: 80rem;
}
.requirements-list li {
  width: calc((100% - 80rem) / 3);
  box-sizing: border-box;
  border: #19B5DF 2px solid;
  border-radius: 8rem;
}
@media (max-width: 1024px) {
  .requirements-list li {
    width: calc((100% - 80rem) / 2);
  }
}
@media (max-width: 767px) {
  .requirements-list li {
    width: 100%;
  }
}
.requirements-list li a {
  position: relative;
  display: flex;
  height: 100%;
  align-items: center;
  border-radius: 8rem;
  text-decoration: none;
  color: #333;
  font-weight: bold;
  font-size: clamp(
    16rem,
    calc(14.4554455446rem + 0.396039604vw),
    20rem
  );
  padding: 35rem 90rem 35rem 30rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .requirements-list li a {
    padding: 20rem 40rem 20rem 20rem;
  }
}
.requirements-list li a::after {
  content: "";
  display: block;
  width: 18rem;
  aspect-ratio: 1/1;
  background: url(../img/common/arrow.svg) center no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 30rem;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease-in-out;
}
@media (max-width: 767px) {
  .requirements-list li a::after {
    right: 20rem;
  }
}
.requirements-list li a:hover {
  background: #F8F8ED;
  border-radius: 8rem;
}
.requirements-list li a:hover::after {
  right: 25rem;
}
@media (max-width: 767px) {
  .requirements-list li a:hover::after {
    right: 15rem;
  }
}
.requirements-list li.is-urgent a {
  position: relative;
  padding-left: 90rem;
}
@media (max-width: 767px) {
  .requirements-list li.is-urgent a {
    padding-left: 80rem;
  }
}
.requirements-list li.is-urgent a::before {
  content: "急募";
  position: absolute;
  left: 30rem;
  top: 50%;
  transform: translateY(-50%);
  background: #E53742;
  color: #FFF;
  font-size: 14rem;
  padding: 5rem 10rem;
}
@media (max-width: 767px) {
  .requirements-list li.is-urgent a::before {
    left: 20rem;
    padding: 2rem 10rem 0;
  }
}

/*詳細*/
.requirements-box {
  background: #F8F8ED;
  padding: 60rem 117rem 100rem;
}
@media (max-width: 1024px) {
  .requirements-box {
    padding: 60rem 60rem 100rem;
  }
}
@media (max-width: 767px) {
  .requirements-box {
    margin: 0 -20rem;
    padding: 40rem 20rem 100rem;
  }
}
.requirements-box .requirements-title {
  font-size: clamp(
    28rem,
    calc(24.9108910891rem + 0.7920792079vw),
    36rem
  );
  font-weight: bold;
  margin-bottom: 30rem;
}
@media (max-width: 767px) {
  .requirements-box .requirements-title {
    margin-bottom: 20rem;
  }
}
.requirements-box table {
  width: 100%;
  margin-bottom: 50rem;
}
.requirements-box table th,
.requirements-box table td {
  border: #999 1px solid;
}
.requirements-box table th {
  width: 200rem;
  background: #D6F1F8;
  padding: 20rem;
  font-size: 16rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .requirements-box table th {
    width: 120rem;
    padding: 20rem 10rem;
  }
}
.requirements-box table td {
  background: #FFF;
  padding: 20rem 30rem;
}
@media (max-width: 767px) {
  .requirements-box table td {
    padding: 20rem;
  }
}
.requirements-box .requirements-btn {
  margin-bottom: 80rem;
}
@media (max-width: 767px) {
  .requirements-box .requirements-btn {
    margin-bottom: 60rem;
  }
}
.requirements-box .requirements-btn a {
  display: block;
  background: #19B5DF;
  color: #FFF;
  text-align: center;
  font-weight: bold;
  font-size: clamp(
    20rem,
    calc(18.4554455446rem + 0.396039604vw),
    24rem
  );
  padding: 36rem;
  border-radius: 10rem;
  border: #19B5DF 2px solid;
}
@media (max-width: 767px) {
  .requirements-box .requirements-btn a {
    padding: 20rem;
  }
}
.requirements-box .requirements-btn a:hover {
  background: #FFF;
  color: #19B5DF;
}
.requirements-box .requirements-back {
  text-align: center;
}
.requirements-box .requirements-back a {
  color: #0A96CE;
  text-decoration: underline;
}
.requirements-box .requirements-back a:hover {
  text-decoration: none;
}

/* エントリーフォーム */
.entry-form .read {
  font-size: 16rem;
  margin-bottom: 30rem;
}
.entry-form .read a {
  color: #0A96CE;
  font-weight: bold;
  text-decoration: underline;
}
.entry-form .read a:hover {
  text-decoration: none;
}
.entry-form .box {
  border: #19B5DF 2px solid;
  background: #FFF;
  padding: 30rem 40rem;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .entry-form .box {
    padding: 30rem 20rem 40rem;
  }
}
.entry-form .box h3 {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  padding-left: 34rem;
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .entry-form .box h3 {
    padding-left: 24rem;
  }
}
.entry-form .box h3::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 10rem;
  left: 0;
}
@media (max-width: 767px) {
  .entry-form .box h3::before {
    width: 14rem;
    height: 14rem;
    top: 12rem;
  }
}
.entry-form .box p {
  font-size: 16rem;
}
.entry-form .box .tel {
  color: #0A96CE;
  font-weight: bold;
  font-size: 28rem;
  margin-bottom: 10rem;
}
.entry-form .box .tel a {
  color: #0A96CE;
}
.entry-form .note {
  font-size: 16rem;
  margin-bottom: 40rem;
}
.entry-form .note span {
  font-weight: bold;
}
.entry-form .form-wrap {
  background: #F8F8ED;
  padding: 60rem 20rem 80rem;
}
@media (max-width: 767px) {
  .entry-form .form-wrap {
    margin: 0 -20rem;
  }
}
.entry-form .form-wrap .form-inner {
  width: 800rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .entry-form .form-wrap .form-inner {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.entry-form .form-wrap .form-inner dl {
  margin-bottom: 30rem;
}
.entry-form .form-wrap .form-inner dl dt {
  font-size: 16rem;
  font-weight: bold;
  margin-bottom: 10rem;
}
.entry-form .form-wrap .form-inner dl dt span {
  background: #E53742;
  color: #FFF;
  padding: 4rem 18rem;
  border-radius: 8rem;
  margin-right: 20rem;
}
.entry-form .form-wrap .form-inner dl dt span.any {
  background: #777;
}
.entry-form .form-wrap .form-inner dl dd input[type=text],
.entry-form .form-wrap .form-inner dl dd input[type=tel],
.entry-form .form-wrap .form-inner dl dd input[type=email] {
  width: 100%;
  border: #777 1px solid;
  border-radius: 5rem;
  background: #FFF;
  padding: 15rem 20rem 10rem;
  font-size: 16rem;
  box-sizing: border-box;
}
.entry-form .form-wrap .form-inner dl dd input[type=text] ::-moz-placeholder, .entry-form .form-wrap .form-inner dl dd input[type=tel] ::-moz-placeholder, .entry-form .form-wrap .form-inner dl dd input[type=email] ::-moz-placeholder {
  color: #AAA;
}
.entry-form .form-wrap .form-inner dl dd input[type=text] ::placeholder,
.entry-form .form-wrap .form-inner dl dd input[type=tel] ::placeholder,
.entry-form .form-wrap .form-inner dl dd input[type=email] ::placeholder {
  color: #AAA;
}
.entry-form .form-wrap .form-inner dl .radio-group {
  display: flex;
  gap: 40rem;
}
@media (max-width: 767px) {
  .entry-form .form-wrap .form-inner dl .radio-group {
    gap: 20rem;
  }
}
.entry-form .form-wrap .form-inner dl .radio-group label {
  display: flex;
  align-items: center;
  gap: 10rem;
  font-size: 16rem;
}
.entry-form .form-wrap .form-inner dl .radio-group input[type=radio] {
  width: 22rem;
  height: 22rem;
}
.entry-form .form-wrap .form-inner dl .birth-group {
  display: flex;
  gap: 20rem;
}
@media (max-width: 767px) {
  .entry-form .form-wrap .form-inner dl .birth-group {
    gap: 10rem;
  }
}
.entry-form .form-wrap .form-inner dl .birth-group .birth-item {
  display: flex;
  align-items: center;
  gap: 10rem;
}
.entry-form .form-wrap .form-inner dl .birth-group .birth-item input {
  width: 100rem;
  height: 52rem;
  border: #777 1px solid;
  border-radius: 5rem;
  text-align: center;
  font-size: 16rem;
}
@media (max-width: 767px) {
  .entry-form .form-wrap .form-inner dl .birth-group .birth-item input {
    width: 80rem;
  }
}
.entry-form .form-wrap .form-inner dl .note {
  margin-top: 10rem;
}
.entry-form .form-wrap .form-inner .privacy {
  margin: 40rem 0;
  text-align: center;
  font-size: 16rem;
  font-weight: bold;
}
.entry-form .form-wrap .form-inner .privacy .wpcf7-list-item {
  margin: 0;
}
.entry-form .form-wrap .form-inner .privacy .wpcf7-list-item-label {
  display: inline-flex;
  align-items: center;
  font-size: 18rem;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .entry-form .form-wrap .form-inner .privacy .wpcf7-list-item-label {
    font-size: 16rem;
  }
}
.entry-form .form-wrap .form-inner .privacy input[type=checkbox] {
  width: 22rem;
  height: 22rem;
  margin: 0;
  vertical-align: middle;
  margin-right: 20rem;
}
@media (max-width: 767px) {
  .entry-form .form-wrap .form-inner .privacy input[type=checkbox] {
    margin-right: 10rem;
  }
}
.entry-form .form-wrap .form-inner .privacy a {
  color: #0A96CE;
  text-decoration: underline;
}
.entry-form .form-wrap .form-inner .privacy a:hover {
  text-decoration: none;
}
.entry-form .form-wrap .form-inner .submit {
  text-align: center;
  width: 500rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .entry-form .form-wrap .form-inner .submit {
    width: 100%;
  }
}
.entry-form .form-wrap .form-inner .submit input[type=submit] {
  display: inline-block;
  width: 100%;
  max-width: 500rem;
  padding: 26rem 0 24rem;
  border: none;
  border-radius: 35rem;
  border: #19B5DF 2px solid;
  background: #19B5DF;
  color: #FFF;
  font-size: 20rem;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.entry-form .form-wrap .form-inner .submit input[type=submit]:hover {
  background: #FFF;
  color: #19B5DF;
}
.entry-form .form-wrap .form-inner .submit .wpcf7-spinner {
  display: none !important;
}
.entry-form .form-wrap .form-inner .back {
  text-align: center;
  margin-top: 40rem;
}
.entry-form .form-wrap .form-inner .back input {
  color: #0A96CE;
  font-weight: 600;
  font-size: 16rem;
  text-decoration: underline;
}
.entry-form .form-wrap .form-inner .back input:hover {
  text-decoration: none;
}

.entry-finish {
  background: #F8F8ED;
  padding: 54rem 20rem 80rem;
}
@media (max-width: 767px) {
  .entry-finish {
    padding: 60rem 20rem 80rem;
    margin: 0 -20rem;
  }
}
.entry-finish .finish-inner {
  width: 800rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .entry-finish .finish-inner {
    width: 100%;
  }
}
.entry-finish .finish-inner .text {
  margin-bottom: 60rem;
}
.entry-finish .finish-inner .text p {
  font-size: 16rem;
}
.entry-finish .finish-inner .text p:not(:last-of-type) {
  margin-bottom: 40rem;
}
.entry-finish .finish-inner .text p span {
  font-weight: bold;
}
.entry-finish .finish-inner .box {
  border: #19B5DF 2px solid;
  background: #FFF;
  padding: 30rem 40rem;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .entry-finish .finish-inner .box {
    padding: 30rem 20rem 40rem;
  }
}
.entry-finish .finish-inner .box h3 {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  padding-left: 34rem;
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .entry-finish .finish-inner .box h3 {
    padding-left: 24rem;
  }
}
.entry-finish .finish-inner .box h3::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 10rem;
  left: 0;
}
@media (max-width: 767px) {
  .entry-finish .finish-inner .box h3::before {
    width: 14rem;
    height: 14rem;
    top: 12rem;
  }
}
.entry-finish .finish-inner .box p {
  font-size: 16rem;
}
.entry-finish .finish-inner .box .tel {
  color: #0A96CE;
  font-weight: bold;
  font-size: 28rem;
  margin-bottom: 10rem;
}
.entry-finish .finish-inner .box .tel a {
  color: #0A96CE;
}

/* お問い合わせ */
.contact-form .read {
  font-size: 16rem;
  margin-bottom: 30rem;
}
.contact-form .box {
  border: #19B5DF 2px solid;
  background: #FFF;
  padding: 30rem 40rem;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .contact-form .box {
    padding: 30rem 20rem 40rem;
  }
}
.contact-form .box h3 {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  padding-left: 34rem;
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .contact-form .box h3 {
    padding-left: 24rem;
  }
}
.contact-form .box h3::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 10rem;
  left: 0;
}
@media (max-width: 767px) {
  .contact-form .box h3::before {
    width: 14rem;
    height: 14rem;
    top: 12rem;
  }
}
.contact-form .box p {
  font-size: 16rem;
}
.contact-form .box .tel {
  color: #0A96CE;
  font-weight: bold;
  font-size: 28rem;
  margin-bottom: 10rem;
}
.contact-form .box .tel a {
  color: #0A96CE;
}
.contact-form .note {
  font-size: 16rem;
  margin-bottom: 40rem;
}
.contact-form .note span {
  font-weight: bold;
}
.contact-form .form-wrap {
  background: #F8F8ED;
  padding: 60rem 20rem 80rem;
}
@media (max-width: 767px) {
  .contact-form .form-wrap {
    margin: 0 -20rem;
  }
}
.contact-form .form-wrap .form-inner {
  width: 800rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .contact-form .form-wrap .form-inner {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.contact-form .form-wrap .form-inner dl {
  margin-bottom: 30rem;
}
.contact-form .form-wrap .form-inner dl dt {
  font-size: 16rem;
  font-weight: bold;
  margin-bottom: 10rem;
}
.contact-form .form-wrap .form-inner dl dt span {
  background: #E53742;
  color: #FFF;
  padding: 4rem 18rem;
  border-radius: 8rem;
  margin-right: 20rem;
}
.contact-form .form-wrap .form-inner dl dt span.any {
  background: #777;
}
.contact-form .form-wrap .form-inner dl dd input[type=text],
.contact-form .form-wrap .form-inner dl dd input[type=tel],
.contact-form .form-wrap .form-inner dl dd input[type=email] {
  width: 100%;
  border: #777 1px solid;
  border-radius: 5rem;
  background: #FFF;
  padding: 15rem 20rem 10rem;
  font-size: 16rem;
  box-sizing: border-box;
}
.contact-form .form-wrap .form-inner dl dd input[type=text] ::-moz-placeholder, .contact-form .form-wrap .form-inner dl dd input[type=tel] ::-moz-placeholder, .contact-form .form-wrap .form-inner dl dd input[type=email] ::-moz-placeholder {
  color: #AAA;
}
.contact-form .form-wrap .form-inner dl dd input[type=text] ::placeholder,
.contact-form .form-wrap .form-inner dl dd input[type=tel] ::placeholder,
.contact-form .form-wrap .form-inner dl dd input[type=email] ::placeholder {
  color: #AAA;
}
.contact-form .form-wrap .form-inner dl dd select {
  width: 200rem;
  border: #777 1px solid;
  border-radius: 5rem;
  background: #FFF;
  padding: 15rem 20rem 10rem;
  font-size: 16rem;
}
.contact-form .form-wrap .form-inner dl dd select ::-moz-placeholder {
  color: #AAA;
}
.contact-form .form-wrap .form-inner dl dd select ::placeholder {
  color: #AAA;
}
.contact-form .form-wrap .form-inner dl dd textarea {
  width: 100%;
  border: #777 1px solid;
  border-radius: 5rem;
  background: #FFF;
  padding: 15rem 20rem 10rem;
  font-size: 16rem;
  height: 200rem;
  box-sizing: border-box;
}
.contact-form .form-wrap .form-inner dl dd textarea ::-moz-placeholder {
  color: #AAA;
}
.contact-form .form-wrap .form-inner dl dd textarea ::placeholder {
  color: #AAA;
}
.contact-form .form-wrap .form-inner dl .zip-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20rem;
  margin-bottom: 14rem;
}
@media (max-width: 767px) {
  .contact-form .form-wrap .form-inner dl .zip-row {
    flex-direction: column;
    align-items: flex-start;
  }
}
.contact-form .form-wrap .form-inner dl .zip-row::before {
  content: "〒";
  position: absolute;
  left: 20rem;
  top: 16rem;
  font-size: 16rem;
}
.contact-form .form-wrap .form-inner dl .zip-row .zip {
  width: 200rem;
  padding-left: 40rem;
}
.contact-form .form-wrap .form-inner dl .zip-row p {
  font-size: 16rem;
}
.contact-form .form-wrap .form-inner dl .pref-row {
  position: relative;
  width: 200rem;
  margin-bottom: 14rem;
}
.contact-form .form-wrap .form-inner dl .pref-row::after {
  content: "";
  background: url(../img/common/arrow_black.svg) 0 0/cover no-repeat;
  position: absolute;
  right: 20rem;
  top: 50%;
  transform: translateY(-50%);
  width: 10rem;
  height: 8rem;
  pointer-events: none;
}
.contact-form .form-wrap .form-inner dl .note {
  margin-top: 10rem;
}
.contact-form .form-wrap .form-inner .privacy {
  margin: 40rem 0;
  text-align: center;
  font-size: 16rem;
  font-weight: bold;
}
.contact-form .form-wrap .form-inner .privacy .wpcf7-list-item {
  margin: 0;
}
.contact-form .form-wrap .form-inner .privacy .wpcf7-list-item-label {
  display: inline-flex;
  align-items: center;
  font-size: 18rem;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .contact-form .form-wrap .form-inner .privacy .wpcf7-list-item-label {
    font-size: 16rem;
  }
}
.contact-form .form-wrap .form-inner .privacy input[type=checkbox] {
  width: 22rem;
  height: 22rem;
  margin: 0;
  vertical-align: middle;
  margin-right: 20rem;
}
@media (max-width: 767px) {
  .contact-form .form-wrap .form-inner .privacy input[type=checkbox] {
    margin-right: 10rem;
  }
}
.contact-form .form-wrap .form-inner .privacy a {
  color: #0A96CE;
  text-decoration: underline;
}
.contact-form .form-wrap .form-inner .privacy a:hover {
  text-decoration: none;
}
.contact-form .form-wrap .form-inner .submit {
  text-align: center;
  width: 500rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .contact-form .form-wrap .form-inner .submit {
    width: 100%;
  }
}
.contact-form .form-wrap .form-inner .submit input[type=submit] {
  display: inline-block;
  width: 100%;
  max-width: 500rem;
  padding: 26rem 0 24rem;
  border: none;
  border-radius: 35rem;
  border: #19B5DF 2px solid;
  background: #19B5DF;
  color: #FFF;
  font-size: 20rem;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.contact-form .form-wrap .form-inner .submit input[type=submit]:hover {
  background: #FFF;
  color: #19B5DF;
}
.contact-form .form-wrap .form-inner .submit .wpcf7-spinner {
  display: none !important;
}
.contact-form .form-wrap .form-inner .back {
  text-align: center;
  margin-top: 40rem;
}
.contact-form .form-wrap .form-inner .back input {
  color: #0A96CE;
  font-weight: 600;
  font-size: 16rem;
  text-decoration: underline;
}
.contact-form .form-wrap .form-inner .back input:hover {
  text-decoration: none;
}

.contact-finish {
  background: #F8F8ED;
  padding: 54rem 20rem 80rem;
}
@media (max-width: 767px) {
  .contact-finish {
    padding: 60rem 20rem 80rem;
    margin: 0 -20rem;
  }
}
.contact-finish .finish-inner {
  width: 800rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .contact-finish .finish-inner {
    width: 100%;
  }
}
.contact-finish .finish-inner .text {
  margin-bottom: 60rem;
}
.contact-finish .finish-inner .text p {
  font-size: 16rem;
}
.contact-finish .finish-inner .text p:not(:last-of-type) {
  margin-bottom: 40rem;
}
.contact-finish .finish-inner .text p span {
  font-weight: bold;
}
.contact-finish .finish-inner .box {
  border: #19B5DF 2px solid;
  background: #FFF;
  padding: 30rem 40rem;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .contact-finish .finish-inner .box {
    padding: 30rem 20rem 40rem;
  }
}
.contact-finish .finish-inner .box h3 {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  padding-left: 34rem;
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .contact-finish .finish-inner .box h3 {
    padding-left: 24rem;
  }
}
.contact-finish .finish-inner .box h3::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 10rem;
  left: 0;
}
@media (max-width: 767px) {
  .contact-finish .finish-inner .box h3::before {
    width: 14rem;
    height: 14rem;
    top: 12rem;
  }
}
.contact-finish .finish-inner .box p {
  font-size: 16rem;
}
.contact-finish .finish-inner .box .tel {
  color: #0A96CE;
  font-weight: bold;
  font-size: 28rem;
  margin-bottom: 10rem;
}
.contact-finish .finish-inner .box .tel a {
  color: #0A96CE;
}

.wpcf7-turnstile.cf-turnstile {
  text-align: center;
  margin-bottom: 40rem;
}

/* 個人情報保護について */
.privacy .read {
  font-size: 16rem;
  margin-bottom: 40rem;
}
.privacy .box {
  background: #F8F8ED;
  padding: 60rem 40rem;
}
@media (max-width: 767px) {
  .privacy .box {
    margin: 0 -20rem;
    padding: 65rem 20rem 80rem;
  }
}
.privacy .box:not(:last-of-type) {
  margin-bottom: 30rem;
}
.privacy .box dl:not(:last-of-type) {
  margin-bottom: 55rem;
}
.privacy .box dl dt {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 24rem;
  border-bottom: #19B5DF 2px solid;
  padding-bottom: 10rem;
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .privacy .box dl dt {
    padding-bottom: 10rem;
  }
}
.privacy .box dl dd {
  position: relative;
  padding-left: 22rem;
  font-size: 16rem;
  line-height: 2.25;
}
.privacy .box dl dd::before {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 12rem;
  left: 0;
}
@media (max-width: 767px) {
  .privacy .box dl dd::before {
    top: 8rem;
  }
}
.privacy .box .text-box {
  margin-top: 40rem;
}
.privacy .box .text-box p {
  font-size: 16rem;
}
.privacy .box .text-box p:not(:last-of-type) {
  margin-bottom: 40rem;
}
.privacy .box h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 24rem;
  border-bottom: #19B5DF 2px solid;
  padding-bottom: 20rem;
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .privacy .box h4 {
    padding-bottom: 10rem;
  }
}
.privacy .box p {
  font-size: 16rem;
}
.privacy .box .main-list {
  margin: 30rem 0 50rem;
}
.privacy .box .main-list li {
  position: relative;
  padding-left: 22rem;
  font-size: 16rem;
  line-height: 2.25;
}
.privacy .box .main-list li::before {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 12rem;
  left: 0;
}
@media (max-width: 767px) {
  .privacy .box .main-list li::before {
    top: 8rem;
  }
}
.privacy .box .sub-list {
  margin: -30rem 0 30rem;
  padding-left: 22rem;
}
.privacy .box .sub-list li {
  font-size: 16rem;
  line-height: 2.25;
}
.privacy .box .note-list {
  margin-bottom: 55rem;
}
.privacy .box .note-list li {
  font-size: 16rem;
  line-height: 2;
}

/* サイトマップ */
.sitemap-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 30rem;
}
.sitemap-wrap .box {
  width: 280rem;
}
.sitemap-wrap .box ul {
  border-bottom: #CCC 2px dotted;
}
.sitemap-wrap .box ul:not(:first-of-type) {
  padding-top: 30rem;
}
.sitemap-wrap .box ul li {
  margin-bottom: 20rem;
}
.sitemap-wrap .box ul li:first-child {
  position: relative;
  padding-left: 38rem;
  margin-bottom: 25rem;
}
.sitemap-wrap .box ul li:first-child a {
  color: #056BB2;
  font-weight: bold;
  font-size: 18rem;
  text-decoration: underline;
}
.sitemap-wrap .box ul li:first-child a:hover {
  text-decoration: none;
}
.sitemap-wrap .box ul li:first-child::before {
  content: "";
  background: url(../img/common/arrow.svg) 0 0/cover no-repeat;
  position: absolute;
  top: 4rem;
  left: 0;
  width: 18rem;
  height: 18rem;
  aspect-ratio: 1/1;
}
.sitemap-wrap .box ul li:not(:first-child) {
  position: relative;
  padding-left: 56rem;
}
.sitemap-wrap .box ul li:not(:first-child)::before {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 8rem;
  left: 36rem;
}
@media (max-width: 767px) {
  .sitemap-wrap .box ul li:not(:first-child)::before {
    top: 8rem;
  }
}
.sitemap-wrap .box ul li:not(:first-child) a {
  font-size: 16rem;
}
.sitemap-wrap .box ul.other {
  border-bottom: none;
}
.sitemap-wrap .box ul.other li {
  position: relative;
  padding-left: 38rem;
  padding-bottom: 25rem;
  border-bottom: #CCC 2px dotted;
}
.sitemap-wrap .box ul.other li a {
  color: #056BB2;
  font-weight: bold;
  font-size: 18rem;
  text-decoration: underline;
}
.sitemap-wrap .box ul.other li a:hover {
  text-decoration: none;
}
.sitemap-wrap .box ul.other li::before {
  content: "";
  background: url(../img/common/arrow.svg) 0 0/cover no-repeat;
  position: absolute;
  top: 5rem;
  left: 0;
  width: 18rem;
  height: 18rem;
  aspect-ratio: 1/1;
}

/* 404 NOT FOUND */
.notfound-list {
  margin-bottom: 100rem;
}
.notfound-list li {
  position: relative;
  font-size: 16rem;
  padding-left: 22rem;
}
.notfound-list li::before {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 9rem;
  left: 0;
}
.notfound-list li a {
  color: #056BB2;
  font-weight: bold;
  text-decoration: underline;
}
.notfound-list li a:hover {
  text-decoration: none;
}

/* リクルート共通 */
.message-pnav {
  padding-bottom: 114rem;
}
@media (max-width: 767px) {
  .message-pnav {
    padding-bottom: 80rem;
  }
}

.btn-application {
  background: #EAC446;
  transition: background 0.3s;
}
.btn-application:hover {
  background: rgba(234, 196, 70, 0.8);
}
.btn-application:hover .inner::after {
  transform: translateX(10rem);
}
.btn-application .inner {
  position: relative;
  width: min(100% - 40rem, 1366rem);
  padding-block: 65rem;
}
@media (max-width: 767px) {
  .btn-application .inner {
    padding-block: 60rem;
  }
}
.btn-application .inner::after {
  content: "";
  display: block;
  width: 50rem;
  aspect-ratio: 1/1;
  background: url(../img/common/arrow-w.svg) center no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: transform 0.3s;
}
@media (max-width: 767px) {
  .btn-application .inner::after {
    width: 40rem;
  }
}
.btn-application h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 54rem;
  font-weight: 500;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .btn-application h2 {
    font-size: 48rem;
    margin-bottom: 30rem;
  }
}
.btn-application p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 30rem;
  font-weight: 500;
  line-height: 1.7;
}
@media (max-width: 767px) {
  .btn-application p {
    font-size: 20rem;
  }
}
.btn-application p br {
  display: none;
}
@media (max-width: 767px) {
  .btn-application p br {
    display: block;
  }
}
.btn-application a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}

/* 先輩からのメッセージ */
.message-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40rem;
  padding-bottom: 60rem;
}
@media (max-width: 1024px) {
  .message-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20rem;
  }
}
@media (max-width: 767px) {
  .message-list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.message-list .card {
  padding: 30rem 20rem;
  background: #F8F8ED;
  border: #F8F8ED 2rem solid;
  position: relative;
  transition: background 0.3s;
}
.message-list .card:hover {
  background: rgba(248, 248, 237, 0.5);
}
.message-list .card a {
  display: block;
  width: 100%;
  height: 100%;
  z-index: 5;
  position: absolute;
  top: 0;
  left: 0;
}
.message-list .card .voice-ttl {
  border-bottom: #ccc 2rem dotted;
  padding-bottom: 20rem;
  margin-bottom: 20rem;
}
.message-list .card .voice-ttl h2 {
  font-size: 24rem;
  font-weight: 700;
  color: #056BB2;
  line-height: 1.5;
  text-decoration: underline;
  margin-bottom: 10rem;
}
@media (max-width: 767px) {
  .message-list .card .voice-ttl h2 {
    font-size: 18rem;
  }
}

.message-wrap {
  background: #F8F8ED;
  padding: 80rem 60rem;
  margin-top: 40rem;
  margin-bottom: 100rem;
}
@media (max-width: 1024px) {
  .message-wrap {
    padding: 60rem 40rem;
  }
}
@media (max-width: 767px) {
  .message-wrap {
    padding: 30rem 20rem;
    margin-bottom: 80rem;
  }
}

.voice {
  width: min(100%, 1366rem);
  margin: auto;
  background: #fff;
  padding: 60rem 100rem 80rem;
  margin-bottom: 40rem;
}
@media (max-width: 1024px) {
  .voice {
    padding: 40rem 60rem 60rem;
  }
}
@media (max-width: 767px) {
  .voice {
    padding: 30rem 20rem 40rem;
    margin-bottom: 20rem;
  }
}

.voice-ttl {
  display: flex;
  align-items: center;
  gap: 40rem;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .voice-ttl {
    align-items: flex-start;
    gap: 20rem;
    margin-bottom: 30rem;
  }
}
.voice-ttl img {
  display: block;
  width: 120rem;
  height: auto;
}
@media (max-width: 767px) {
  .voice-ttl img {
    width: 80rem;
  }
}
.voice-ttl .txt {
  flex: 1;
}
.voice-ttl h1 {
  font-size: 36rem;
  font-weight: 700;
  line-height: 1.66;
  margin-bottom: 20rem;
}
@media (max-width: 767px) {
  .voice-ttl h1 {
    font-size: 18rem;
  }
}
@media (max-width: 767px) {
  .voice-ttl p {
    font-size: 14rem;
  }
}

.oneday {
  padding: 60rem 100rem 80rem;
  background: #fff;
}
@media (max-width: 1024px) {
  .oneday {
    padding: 40rem 60rem 60rem;
  }
}
@media (max-width: 767px) {
  .oneday {
    padding: 30rem 20rem 40rem;
  }
}
.oneday h2 {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 20rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 30rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .oneday h2 {
    justify-content: flex-start;
    font-size: 28rem;
    margin-bottom: 30rem;
  }
}
.oneday h2::before {
  content: "";
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  margin-top: 12rem;
}
.oneday h2 span {
  font-weight: 500;
}
@media (max-width: 767px) {
  .oneday h2 span {
    flex: 1;
  }
}

.schedule {
  display: flex;
  flex-wrap: wrap;
}
.schedule dt {
  width: 98rem;
  font-weight: 700;
  padding-top: 10rem;
}
.schedule dd {
  width: calc(100% - 98rem);
  padding-left: 26rem;
  position: relative;
}
.schedule dd::before {
  content: "";
  display: block;
  width: 2rem;
  height: 100%;
  background: rgba(27, 44, 80, 0.15);
  position: absolute;
  top: 18rem;
  left: 0;
}
.schedule dd:last-of-type::before {
  content: none;
}
.schedule dd ul li {
  background: #F8F8ED;
  width: calc(100% - 26rem);
  position: relative;
  padding: 10rem 20rem;
  margin-bottom: 10rem;
}
@media (max-width: 767px) {
  .schedule dd ul li {
    width: 100%;
  }
}
.schedule dd ul li::before {
  content: "";
  display: block;
  width: 12rem;
  height: 12rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  left: -31rem;
  top: 18rem;
}

/* リクルートトップ */
.recruit-mv {
  display: flex;
}
@media (max-width: 767px) {
  .recruit-mv {
    display: block;
  }
}
.recruit-mv .txt {
  width: 48%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  padding-left: max(20rem, (100vw - 1600rem) / 2);
  background: url(../img/recruit/circle.webp) center no-repeat;
  background-size: cover;
  position: relative;
  padding-bottom: 30rem;
}
@media (max-width: 1024px) {
  .recruit-mv .txt {
    padding-right: 40rem;
    padding-bottom: 0;
  }
}
@media (max-width: 767px) {
  .recruit-mv .txt {
    width: 100%;
    display: block;
    padding-top: 74rem;
    padding-bottom: 52rem;
    background: url(../img/recruit/circle-sp.webp) center no-repeat;
    background-size: cover;
    padding-inline: 20rem;
  }
}
.recruit-mv .txt .bread {
  position: absolute;
  top: 0;
}
.recruit-mv .txt h1 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 72rem;
  font-weight: 500;
}
@media (max-width: 1024px) {
  .recruit-mv .txt h1 {
    font-size: 48rem;
  }
}
@media (max-width: 767px) {
  .recruit-mv .txt h1 {
    font-size: 58rem;
  }
}
.recruit-mv .txt p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  line-height: 1.7;
  width: min(100%, 440rem);
}
@media (max-width: 1024px) {
  .recruit-mv .txt p {
    font-size: 18rem;
  }
}
.recruit-mv .txt p img {
  display: block;
}
@media (max-width: 1024px) {
  .recruit-mv .txt p img {
    width: 80%;
  }
}
@media (max-width: 767px) {
  .recruit-mv .txt p img {
    width: 100%;
  }
}
.recruit-mv .txt .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10rem;
  width: min(100%, 440rem);
  height: 90rem;
  border-radius: 100rem;
  background: #19B5DF;
  border: #19B5DF 2rem solid;
  color: #fff;
  font-size: 26rem;
  font-weight: 700;
  margin-top: 50rem;
}
@media (max-width: 1024px) {
  .recruit-mv .txt .btn {
    margin-top: 30rem;
    height: 60rem;
    font-size: 20rem;
  }
}
.recruit-mv .txt .btn::after {
  content: "";
  display: block;
  width: 18rem;
  aspect-ratio: 1/1;
  background: url(../img/common/arrow-w.svg) center no-repeat;
  background-size: contain;
  transform: rotate(90deg);
  transition: transform 0.3s;
}
.recruit-mv .txt .btn:hover {
  background: #fff;
  color: #19B5DF;
}
.recruit-mv .txt .btn:hover::after {
  background: url(../img/common/arrow.svg) center no-repeat;
  background-size: contain;
  transform: rotate(90deg) translateX(8rem);
}
.recruit-mv figure {
  display: block;
  width: 52%;
  padding-bottom: 60rem;
}
@media (max-width: 767px) {
  .recruit-mv figure {
    width: 100%;
    padding-bottom: 30rem;
  }
}
.recruit-mv figure img {
  display: block;
}

.recirements-box {
  background: #F8F8ED;
  padding: 40rem 30rem;
  text-align: center;
  margin-bottom: 120rem;
}
@media (max-width: 767px) {
  .recirements-box {
    text-align: left;
    padding: 30rem 20rem;
    margin-bottom: 80rem;
  }
}
.recirements-box .psub {
  display: inline-block;
}
@media (max-width: 767px) {
  .recirements-box .psub {
    margin-bottom: 20rem;
  }
}
.recirements-box .list {
  display: flex;
  flex-wrap: wrap;
  gap: 20rem;
}
@media (max-width: 767px) {
  .recirements-box .list {
    gap: 10rem;
  }
}
.recirements-box .list li {
  font-size: 18rem;
}
@media (max-width: 767px) {
  .recirements-box .list li {
    font-size: 16rem;
  }
}
.recirements-box .list li a {
  display: inline-block;
  padding: 14rem 20rem;
  background: #fff;
  border: #19B5DF 2rem solid;
  color: #056BB2;
  border-radius: 8rem;
  text-decoration: underline;
  font-weight: 700;
}
@media (max-width: 767px) {
  .recirements-box .list li a {
    padding: 14rem 16rem;
  }
}
.recirements-box .list li a:hover {
  text-decoration: none;
  background: #19B5DF;
  color: #fff;
}

.nursing-director {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 115rem;
}
@media (max-width: 767px) {
  .nursing-director {
    display: block;
    padding-bottom: 75rem;
  }
}
.nursing-director figure {
  display: block;
  width: 40%;
}
@media (max-width: 767px) {
  .nursing-director figure {
    width: 100%;
    margin-bottom: 30rem;
  }
}
.nursing-director .txt {
  width: 55%;
}
@media (max-width: 767px) {
  .nursing-director .txt {
    width: 100%;
  }
}
.nursing-director h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 46rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .nursing-director h2 {
    font-size: 36rem;
  }
}
.nursing-director h2 br {
  display: none;
}
@media (max-width: 767px) {
  .nursing-director h2 br {
    display: block;
  }
}
.nursing-director p.pb {
  padding-bottom: 1em;
}
.nursing-director p.name {
  text-align: right;
  padding-top: 40rem;
  font-size: 46rem;
  line-height: 1.4;
}
.nursing-director p.name span {
  display: block;
  font-size: 16rem;
}

.btnmore {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(100%, 288rem);
  height: 53rem;
  font-weight: 700;
  background: #19B5DF;
  border: #19B5DF 2rem solid;
  color: #fff;
  border-radius: 100rem;
}
@media (max-width: 767px) {
  .btnmore {
    width: 100%;
  }
}
.btnmore:hover {
  background: #fff;
  color: #19B5DF;
}

.about-education {
  overflow: hidden;
  padding-top: 50rem;
  padding-bottom: 180rem;
}
@media (max-width: 767px) {
  .about-education {
    padding-top: 0;
    padding-bottom: 80rem;
  }
}
.about-education .inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  z-index: 1;
}
@media (max-width: 767px) {
  .about-education .inner {
    flex-direction: column-reverse;
    padding-bottom: 50rem;
  }
}
.about-education .inner::before {
  content: "";
  display: block;
  width: 63.6%;
  height: calc(100% + 90rem);
  position: absolute;
  top: -50rem;
  left: 0;
  background: #F8F8ED;
  z-index: -1;
}
@media (max-width: 767px) {
  .about-education .inner::before {
    width: calc(100% + 40rem);
    height: calc(100% - 188rem);
    left: -20rem;
    top: auto;
    bottom: 0;
  }
}
.about-education .txt {
  width: 55%;
  padding-left: 60rem;
}
@media (max-width: 767px) {
  .about-education .txt {
    width: 100%;
    padding-left: 0;
  }
}
.about-education figure {
  width: 40%;
}
@media (max-width: 767px) {
  .about-education figure {
    width: 100%;
    margin-bottom: 40rem;
  }
}
.about-education figure img {
  display: block;
}
.about-education h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 46rem;
  font-weight: 500;
  line-height: 1.7;
  margin-bottom: 38rem;
}
@media (max-width: 1024px) {
  .about-education h2 {
    font-size: 36rem;
    margin-bottom: 30rem;
  }
}
.about-education h3 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 30rem;
  font-weight: 500;
  line-height: 1.7;
  margin-bottom: 40rem;
}
@media (max-width: 1024px) {
  .about-education h3 {
    font-size: 26rem;
    line-height: 1.4;
    margin-bottom: 30rem;
  }
}
.about-education .btnmore {
  margin-top: 40rem;
}
@media (max-width: 767px) {
  .about-education .btnmore {
    margin-top: 30rem;
  }
}

.recslides {
  padding-bottom: 100rem;
  display: flex;
  overflow: hidden;
}
@media (max-width: 767px) {
  .recslides {
    padding-bottom: 80rem;
  }
}
.recslides ul {
  display: flex;
  -webkit-animation: marquee 80s linear infinite;
          animation: marquee 80s linear infinite;
}
.recslides ul li {
  flex-shrink: 0;
  width: 480rem;
}
@media (max-width: 767px) {
  .recslides ul li {
    width: 260rem;
  }
}
.recslides ul li img {
  display: block;
  width: 100%;
}

.othermessage {
  padding-bottom: 120rem;
  overflow: hidden;
}
@media (max-width: 767px) {
  .othermessage {
    padding-bottom: 80rem;
  }
}
.othermessage .inner {
  position: relative;
}
.othermessage h2 {
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 46rem;
  font-weight: 500;
  line-height: 1.38;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .othermessage h2 {
    font-size: 36rem;
    margin-bottom: 40rem;
  }
}
.othermessage h2 br {
  display: none;
}
@media (max-width: 767px) {
  .othermessage h2 br {
    display: block;
  }
}
.othermessage .splide__track {
  overflow: visible;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .othermessage .splide__track {
    margin-bottom: 20rem;
  }
}
.othermessage .splide__arrows {
  position: relative;
}
.othermessage .splide__progress {
  width: 120rem;
  background: #ccc;
}
.othermessage .splide__progress__bar {
  height: 2px;
  background: #222;
}
.othermessage .splide__arrows {
  display: flex;
  align-items: center;
  gap: 20rem;
}
@media (max-width: 767px) {
  .othermessage .splide__arrows {
    justify-content: space-between;
    gap: 0;
    margin-bottom: 40rem;
  }
}
.othermessage .slide-num {
  display: flex;
  align-items: center;
  gap: 20rem;
  order: 2;
}
.othermessage .slide-num .current, .othermessage .slide-num .total {
  font-size: 18rem;
}
.othermessage .msgprev, .othermessage .msgnext {
  position: relative;
  background: none;
  width: 54rem;
  height: 54rem;
  top: auto;
  transform: translateY(0);
}
.othermessage .msgprev::before, .othermessage .msgnext::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/recruit/arrow.svg) center no-repeat;
  background-size: contain;
}
.othermessage .msgprev svg, .othermessage .msgnext svg {
  display: none;
}
.othermessage .msgprev {
  left: auto;
  order: 1;
}
.othermessage .msgprev::before {
  transform: scale(-1, 1);
}
.othermessage .msgnext {
  right: auto;
  order: 3;
}
.othermessage .card {
  padding: 30rem 20rem;
  background: #F8F8ED;
  border: #F8F8ED 2rem solid;
  position: relative;
  transition: background 0.3s;
  text-align: left;
}
.othermessage .card:hover {
  background: rgba(248, 248, 237, 0.5);
}
.othermessage .card a {
  display: block;
  width: 100%;
  height: 100%;
  z-index: 5;
  position: absolute;
  top: 0;
  left: 0;
}
.othermessage .card .voice-ttl {
  border-bottom: #ccc 2rem dotted;
  padding-bottom: 20rem;
  margin-bottom: 20rem;
  text-align: left;
}
.othermessage .card .voice-ttl h2 {
  font-size: 24rem;
  font-weight: 700;
  color: #056BB2;
  line-height: 1.5;
  text-decoration: underline;
  margin-bottom: 10rem;
  text-align: left;
}
@media (max-width: 767px) {
  .othermessage .card .voice-ttl h2 {
    font-size: 18rem;
  }
}
.othermessage .btnmore {
  position: absolute;
  right: 0;
  bottom: 0;
}
@media (max-width: 767px) {
  .othermessage .btnmore {
    position: relative;
    right: auto;
    bottom: auto;
  }
}
.othermessage .btnmore.wide {
  position: relative;
  width: min(100%, 368rem);
  margin: 80rem auto 0;
}
@media (max-width: 767px) {
  .othermessage .btnmore.wide {
    margin-top: 40rem;
  }
}

.ournumbers {
  padding-top: 94rem;
  padding-bottom: 100rem;
  background: #F8F8ED;
  text-align: center;
}
@media (max-width: 767px) {
  .ournumbers {
    padding-top: 40rem;
    padding-bottom: 60rem;
  }
}
.ournumbers h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 46rem;
  font-weight: 500;
  margin-bottom: 40rem;
  line-height: 1.38;
}
@media (max-width: 767px) {
  .ournumbers h2 {
    font-size: 36rem;
    margin-bottom: 30rem;
  }
}
.ournumbers h2 br {
  display: none;
}
@media (max-width: 767px) {
  .ournumbers h2 br {
    display: block;
  }
}
.ournumbers .lead {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 30rem;
  font-weight: 500;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .ournumbers .lead {
    text-align: left;
    font-size: 26rem;
    margin-bottom: 40rem;
  }
}
.ournumbers .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40rem;
  margin-bottom: 60rem;
}
@media (max-width: 1024px) {
  .ournumbers .list {
    grid-template-columns: repeat(2, 1fr);
    gap: 30rem;
  }
}
@media (max-width: 767px) {
  .ournumbers .list {
    grid-template-columns: repeat(1, 1fr);
    gap: 10rem;
    margin-bottom: 40rem;
  }
}
.ournumbers .box {
  padding: 40rem 20rem 30rem;
  background: #fff;
  border: #707070 1rem solid;
}
@media (max-width: 767px) {
  .ournumbers .box {
    padding: 30rem 20rem;
  }
}
.ournumbers .box h3 {
  font-size: 24rem;
  font-weight: 700;
  margin-bottom: 10rem;
  position: relative;
}
.ournumbers .box h3 img {
  display: block;
  width: 100rem;
  position: absolute;
  left: 17rem;
  top: -20rem;
}
@media (max-width: 767px) {
  .ournumbers .box h3 img {
    width: 70rem;
    left: 0;
    top: -10rem;
  }
}
@media (max-width: 767px) {
  .ournumbers .box h3 img.pc {
    display: none;
  }
}
.ournumbers .box h3.heigh {
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .ournumbers .box h3.heigh {
    margin-bottom: 10rem;
  }
}
.ournumbers .box .num {
  color: #0A96CE;
  font-size: 46rem;
  font-weight: 700;
  line-height: 1.4;
}
.ournumbers .box .num span {
  font-weight: 700;
}
.ournumbers .box .num.large span {
  font-size: 80rem;
}
@media (max-width: 767px) {
  .ournumbers .box .num.large span {
    font-size: 70rem;
  }
}
.ournumbers .box .num.large span.decimal {
  font-size: 60rem;
}
.ournumbers .box .ratio {
  display: flex;
  justify-content: center;
  gap: 40rem;
}
@media (max-width: 1024px) {
  .ournumbers .box .ratio {
    gap: 20rem;
  }
}
@media (max-width: 767px) {
  .ournumbers .box .ratio {
    gap: 10rem;
  }
}
.ournumbers .box .ratio dl dt {
  font-size: 22rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 9rem;
}
.ournumbers .box .ratio dl dt img {
  display: block;
  width: 70rem;
}
.ournumbers .box .ratio dl dd {
  font-size: 46rem;
  font-weight: 700;
  color: #0A96CE;
}
@media (max-width: 767px) {
  .ournumbers .box .ratio dl dd {
    font-size: 40rem;
    letter-spacing: -0.05em;
  }
}
.ournumbers .box .ratio dl dd .int {
  font-size: 60rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .ournumbers .box .ratio dl dd .int {
    font-size: 50rem;
  }
}
.ournumbers .box .ratio dl dd.decimal {
  font-size: 46rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .ournumbers .box .ratio dl dd.decimal {
    font-size: 40rem;
  }
}
.ournumbers .box .age {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20rem;
}
.ournumbers .box .age dt {
  font-size: 26rem;
  font-weight: 700;
}
.ournumbers .box .age dd {
  color: #0A96CE;
  font-size: 46rem;
  font-weight: 700;
}
.ournumbers .box .age dd .int {
  font-size: 70rem;
  font-weight: 700;
}
.ournumbers .box .ageimg {
  display: block;
  width: min(100%, 386rem);
  margin: 0 auto 28rem auto;
}
@media (max-width: 767px) {
  .ournumbers .box .ageimg {
    margin-bottom: 0;
  }
}
.ournumbers .box .agegraph {
  display: block;
  width: min(100%, 360rem);
  margin: 0 auto 50rem;
}
@media (max-width: 767px) {
  .ournumbers .box .agegraph {
    margin-bottom: 0;
  }
}
.ournumbers .box .average {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ournumbers .box .average dt {
  font-size: 20rem;
  font-weight: 400;
}
.ournumbers .box .average dd {
  color: #0A96CE;
  font-size: 30rem;
  font-weight: 700;
}
.ournumbers .box .average dd .int {
  font-size: 40rem;
  font-weight: 700;
}
.ournumbers .box .average dd .decimal {
  font-size: 30rem;
  font-weight: 700;
}
.ournumbers .box .small {
  font-size: 14rem;
}

.goodpoints {
  background: #fff;
  border: #707070 1rem solid;
  padding: 60rem 40rem;
}
@media (max-width: 767px) {
  .goodpoints {
    padding: 40rem 20rem;
  }
}
.goodpoints h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 30rem;
  font-weight: 500;
  margin-bottom: 60rem;
}
@media (max-width: 1024px) {
  .goodpoints h2 {
    text-align: left;
    align-items: flex-start;
    gap: 10rem;
  }
}
@media (max-width: 767px) {
  .goodpoints h2 {
    font-size: 28rem;
  }
}
.goodpoints h2::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .goodpoints h2::before {
    margin-top: 12rem;
  }
}
@media (max-width: 767px) {
  .goodpoints h2::before {
    margin-top: 10rem;
  }
}
.goodpoints dl {
  text-align: left;
}
.goodpoints dl dt {
  display: flex;
  align-items: center;
  gap: 10rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  margin-bottom: 30rem;
}
@media (max-width: 767px) {
  .goodpoints dl dt {
    margin-bottom: 20rem;
  }
}
.goodpoints dl dt::before {
  content: "";
  display: block;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  background: #19B5DF;
  flex-shrink: 0;
}
.goodpoints dl dd {
  border-bottom: #ccc 2px dotted;
  padding-bottom: 30rem;
  margin-bottom: 30rem;
}
@media (max-width: 767px) {
  .goodpoints dl dd {
    margin-bottom: 20rem;
  }
}
.goodpoints dl dd:last-of-type {
  margin-bottom: 0;
}
.goodpoints dl li {
  line-height: 2.25em;
  display: flex;
  align-items: center;
  gap: 12rem;
}
@media (max-width: 767px) {
  .goodpoints dl li {
    line-height: 2em;
    align-items: flex-start;
  }
}
.goodpoints dl li::before {
  content: "";
  display: block;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  background: #BE8B4C;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .goodpoints dl li::before {
    margin-top: 10rem;
  }
}

/* アルコール依存症治療 */
.al-txt {
  font-size: 26rem;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .al-txt {
    font-size: 19rem;
    margin-bottom: 32rem;
  }
}

.al-symptom {
  padding-bottom: 60rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
.al-symptom .list {
  padding: 30rem 40rem;
  background: #F8F8ED;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40rem;
  margin-bottom: 40rem;
}
@media (max-width: 1024px) {
  .al-symptom .list {
    padding: 30rem 20rem;
    display: block;
  }
}
.al-symptom .list figure {
  display: block;
  width: 12%;
}
@media (max-width: 1024px) {
  .al-symptom .list figure {
    display: none;
  }
}
.al-symptom .list ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10rem 19rem;
  flex: 1;
}
@media (max-width: 767px) {
  .al-symptom .list ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 10rem;
  }
}
.al-symptom .list ul li {
  display: grid;
  place-items: center;
  text-align: center;
  background: #fff;
  border: #19B5DF 2rem solid;
  padding: 18rem 20rem;
  gap: 0;
  font-weight: 700;
  line-height: 1.875;
  word-break: auto-phrase;
}
@media (max-width: 767px) {
  .al-symptom .list ul li {
    padding: 16rem 20rem;
  }
}
.al-symptom dl {
  padding-top: 34rem;
}
@media (max-width: 1024px) {
  .al-symptom dl {
    padding-top: 30rem;
  }
}
.al-symptom dl dt {
  font-size: 20rem;
  font-weight: 700;
  margin-bottom: 60rem;
}
@media (max-width: 1024px) {
  .al-symptom dl dt {
    margin-bottom: 40rem;
  }
}
.al-symptom dl dd ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30rem 40rem;
}
@media (max-width: 1024px) {
  .al-symptom dl dd ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 20rem 10rem;
  }
}
@media (max-width: 767px) {
  .al-symptom dl dd ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 20rem;
  }
}
.al-symptom dl dd ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10rem;
  width: 100%;
  height: 53rem;
  background: #19B5DF;
  color: #fff;
  border: #19B5DF 2rem solid;
  border-radius: 100rem;
  font-weight: 700;
}
.al-symptom dl dd ul li a::after {
  content: "";
  display: block;
  width: 18rem;
  aspect-ratio: 1/1;
  background: url(../img/common/arrow-w.svg) center no-repeat;
  background-size: contain;
  transform: rotate(90deg);
  transition: 0.3s;
}
.al-symptom dl dd ul li a:hover {
  background: #fff;
  color: #19B5DF;
}
.al-symptom dl dd ul li a:hover::after {
  background: url(../img/common/arrow.svg) center no-repeat;
  background-size: contain;
}

.al-about {
  padding-bottom: 80rem;
  margin-top: 60rem;
  border-bottom: #ccc 1rem solid;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .al-about {
    padding-bottom: 60rem;
  }
}
.al-about .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40rem;
  padding-top: 40rem;
  padding-bottom: 60rem;
}
@media (max-width: 1024px) {
  .al-about .list {
    grid-template-columns: repeat(1, 1fr);
    gap: 20rem;
  }
}
.al-about .list .card {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  gap: 0;
  border: #D9D9D9 2rem solid;
  padding: 30rem 20rem 40rem;
}
@media (max-width: 1024px) {
  .al-about .list .card {
    display: block;
    padding: 30rem 20rem;
  }
}
.al-about .list img {
  display: block;
  width: min(100%, 272rem);
  margin: 0 auto 35rem;
}
@media (max-width: 1024px) {
  .al-about .list img {
    margin-bottom: 20rem;
  }
}
.al-about .list h3 {
  font-size: 22rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 12rem;
}

.al-what {
  background: #F8F8ED;
  padding: 40rem 40rem 46rem;
  margin-bottom: 60rem;
}
@media (max-width: 1024px) {
  .al-what {
    padding: 40rem 20rem;
    margin-bottom: 92rem;
  }
}
.al-what ol {
  list-style: none;
  counter-reset: num;
}
.al-what ol li {
  counter-increment: num;
  background: #fff;
  border: #D9D9D9 2rem solid;
  padding: 20rem 40rem 20rem 90rem;
  position: relative;
  font-size: 18rem;
  font-weight: 700;
  margin-bottom: 10rem;
}
@media (max-width: 1024px) {
  .al-what ol li {
    padding: 20rem 20rem 20rem 60rem;
    font-size: 16rem;
  }
}
.al-what ol li:last-child {
  margin-bottom: 0;
}
.al-what ol li::before {
  content: counter(num, decimal-leading-zero) ".";
  font-size: 20rem;
  font-weight: 700;
  color: #0A96CE;
  position: absolute;
  top: 20rem;
  left: 40rem;
}
@media (max-width: 1024px) {
  .al-what ol li::before {
    top: 16rem;
    left: 20rem;
  }
}

.al-progress dl {
  display: grid;
  grid-template-columns: 240rem auto;
  position: relative;
  margin-bottom: 42rem;
}
@media (max-width: 1024px) {
  .al-progress dl {
    grid-template-columns: 180rem auto;
  }
}
@media (max-width: 767px) {
  .al-progress dl {
    display: block;
  }
}
.al-progress dl::after {
  content: "";
  display: block;
  width: 60rem;
  height: 20rem;
  background: #E53742;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10rem);
}
.al-progress dl dt, .al-progress dl dd {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .al-progress dl dt, .al-progress dl dd {
    display: block;
  }
}
.al-progress dl dt {
  flex-direction: column;
  justify-content: center;
  text-align: center;
  font-size: 18rem;
  font-weight: 700;
  padding: 14rem;
  color: #fff;
}
@media (max-width: 767px) {
  .al-progress dl dt {
    display: block;
    padding: 12rem;
  }
}
.al-progress dl dt span {
  display: block;
  font-size: 16rem;
  font-weight: 700;
}
.al-progress dl dd {
  text-align: left;
  border: #D9D9D9 1rem solid;
  padding: 20rem 40rem;
}
@media (max-width: 767px) {
  .al-progress dl dd {
    display: block;
    padding: 20rem;
  }
}
.al-progress dl dd ul li {
  display: flex;
  gap: 10rem;
  justify-content: flex-start;
}
.al-progress dl dd ul li::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  flex-shrink: 0;
  margin-top: 10rem;
}
.al-progress dl:nth-of-type(1) dt {
  background: #19B5DF;
}
.al-progress dl:nth-of-type(2) dt {
  background: #6ABBE8;
}
.al-progress dl:nth-of-type(3) dt {
  background: #BEAC22;
}
.al-progress dl:nth-of-type(4) dt {
  background: #F7A06C;
}
.al-progress dl:nth-of-type(5) dt {
  background: #E87B86;
}
.al-progress dl:nth-of-type(6)::after {
  content: none;
  margin-bottom: 0;
}
.al-progress dl:nth-of-type(6) dt {
  background: #B27CD5;
}

.al-outpatient {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
.al-outpatient .img {
  display: block;
  width: 100%;
  margin-bottom: 40rem;
}
.al-outpatient .box {
  background: #F8F8ED;
  padding: 40rem;
  /*display: flex;
  justify-content: space-between;
  align-items: flex-start;*/
  margin-bottom: 20rem;
}
@media (max-width: 1024px) {
  .al-outpatient .box {
    padding: 30rem 20rem;
  }
}
@media (max-width: 767px) {
  .al-outpatient .box {
    display: block;
  }
}
.al-outpatient .box:last-of-type {
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .al-outpatient .box:last-of-type {
    margin-bottom: 30rem;
  }
}
.al-outpatient .box figure {
  width: 34.4%;
}
@media (max-width: 767px) {
  .al-outpatient .box figure {
    width: 100%;
  }
}
.al-outpatient .box figure img {
  display: block;
}
.al-outpatient .box .txt {
  width: 62%;
}
@media (max-width: 767px) {
  .al-outpatient .box .txt {
    width: 100%;
    padding-bottom: 20rem;
  }
}
.al-outpatient .lead {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.8;
}

.al-family {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
.al-family .lead {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .al-family .lead {
    margin-bottom: 24rem;
  }
}
.al-family .img1 {
  display: block;
  width: min(100%, 622rem);
  height: auto;
  margin-bottom: 40rem;
}
.al-family .img2 {
  display: block;
  width: min(100%, 800rem);
  height: auto;
  margin-bottom: 40rem;
  background: none;
}
@media (max-width: 767px) {
  .al-family .img2 {
    margin-bottom: 30rem;
  }
}
.al-family strong {
  color: #E53742;
  font-size: 20rem;
  font-weight: 700;
}
.al-family .box {
  background: #F8F8ED;
  padding: 43rem 40rem 60rem;
}
@media (max-width: 1024px) {
  .al-family .box {
    padding: 40rem 20rem;
  }
}
.al-family .box:first-of-type {
  margin-top: 60rem;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .al-family .box:first-of-type {
    margin-top: 40rem;
    margin-bottom: 20rem;
  }
}
.al-family .box:nth-of-type(2) {
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .al-family .box:nth-of-type(2) {
    margin-bottom: 40rem;
  }
}
.al-family .box ol {
  list-style: none;
  counter-reset: num;
  padding-bottom: 10rem;
}
.al-family .box ol li {
  counter-increment: num;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.77em;
  padding-bottom: 20rem;
  margin-bottom: 20rem;
  border-bottom: #ccc 2px dotted;
  display: flex;
  gap: 10rem;
}
@media (max-width: 767px) {
  .al-family .box ol li {
    padding-bottom: 10rem;
  }
}
.al-family .box ol li::before {
  content: counter(num, decimal-leading-zero) ".";
  font-size: 20rem;
  font-weight: 700;
  color: #0A96CE;
}
.al-family .pb {
  padding-bottom: 1em;
}

.al-support {
  padding-top: 60rem;
}
.al-support .supportlist {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 40rem;
}
@media (max-width: 767px) {
  .al-support .supportlist {
    display: block;
  }
}
.al-support .supportlist ol {
  width: 67%;
  border: #19B5DF 2rem solid;
  padding: 30rem 40rem;
  list-style: none;
  counter-reset: num;
}
@media (max-width: 1024px) {
  .al-support .supportlist ol {
    padding: 30rem 20rem;
    margin-bottom: 40rem;
  }
}
@media (max-width: 767px) {
  .al-support .supportlist ol {
    width: 100%;
  }
}
.al-support .supportlist ol li {
  counter-increment: num;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.77em;
  padding-bottom: 20rem;
  margin-bottom: 20rem;
  border-bottom: #ccc 2px dotted;
  display: flex;
  gap: 10rem;
}
.al-support .supportlist ol li:last-child {
  margin-bottom: 0;
}
.al-support .supportlist ol li::before {
  content: counter(num, decimal-leading-zero) ".";
  font-size: 20rem;
  font-weight: 700;
  color: #0A96CE;
}
.al-support .supportlist figure {
  display: block;
  width: 30%;
}
@media (max-width: 767px) {
  .al-support .supportlist figure {
    width: 200rem;
    margin: auto;
  }
}

.al-buttons {
  padding-bottom: 100rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
@media (max-width: 1024px) {
  .al-buttons {
    padding-bottom: 80rem;
  }
}
.al-buttons li {
  margin-bottom: 60rem;
}
@media (max-width: 1024px) {
  .al-buttons li {
    margin-bottom: 30rem;
  }
}
.al-buttons li:last-child {
  margin-bottom: 0;
}
.al-buttons button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100rem;
  border-radius: 100rem;
  background: #19B5DF;
  border: #19B5DF 2rem solid;
  color: #fff;
  font-size: 26rem;
  font-weight: 700;
  cursor: pointer;
  transition: 0.3s;
}
@media (max-width: 1024px) {
  .al-buttons button {
    height: 80rem;
    font-size: 24rem;
  }
}
.al-buttons button:hover {
  background: #fff;
  color: #19B5DF;
}

.al-pdf {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20rem;
  width: 100%;
  height: 100rem;
  border-radius: 100rem;
  background: #EFD360;
  border: #EFD360 2rem solid;
  font-size: 26rem;
  font-weight: 700;
  cursor: pointer;
  transition: 0.3s;
}
@media (max-width: 1024px) {
  .al-pdf {
    height: 80rem;
    gap: 8rem;
    font-size: 16rem;
  }
}
.al-pdf img {
  display: block;
  width: 60rem;
}
@media (max-width: 1024px) {
  .al-pdf img {
    width: 32rem;
  }
}
.al-pdf:hover {
  background: #fff;
}
.al-pdf:hover img {
  filter: brightness(1) invert(1);
}

.alcholtable {
  width: min(100% - 40rem, 800rem);
  height: 66vh;
  background: #fff;
  border-radius: 8rem;
  padding: 40rem;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: visible;
  margin: 0;
}
.alcholtable::-webkit-backdrop {
  background: rgba(0, 0, 0, 0.7);
}
.alcholtable::backdrop {
  background: rgba(0, 0, 0, 0.7);
}
.alcholtable .inbox {
  overflow-y: scroll;
  width: 100%;
  height: 100%;
}
.alcholtable table {
  width: 100%;
  margin-bottom: 10rem;
  border-collapse: collapse;
}
@media (max-width: 767px) {
  .alcholtable table {
    width: 689rem;
  }
}
.alcholtable table th, .alcholtable table td {
  border: #ccc 1rem solid;
  line-height: 1.25;
}
.alcholtable table th {
  font-weight: 700;
}
.alcholtable table thead th {
  text-align: center;
  vertical-align: middle;
  background: #F8F8ED;
  padding: 4rem 10rem;
}
.alcholtable table thead th:nth-of-type(3), .alcholtable table thead th:nth-of-type(5) {
  text-align: left;
}
.alcholtable table tbody th, .alcholtable table tbody td {
  padding: 10rem;
  text-align: left;
  vertical-align: top;
}
.alcholtable table tbody th {
  background: #F8F8F8;
}
.alcholtable button {
  display: block;
  width: 20rem;
  position: absolute;
  right: 0;
  bottom: calc(100% + 20rem);
}
.alcholtable button img {
  display: block;
  width: 100%;
  filter: brightness(0) invert(1);
}

.al-hospital {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
@media (max-width: 767px) {
  .al-hospital {
    padding-bottom: 60rem;
  }
}
.al-hospital .img {
  display: block;
  width: 100%;
  margin-bottom: 40rem;
}
.al-hospital .lead {
  margin-bottom: 60rem;
}
.al-hospital .lead p {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.6;
}
.al-hospital .js-scroll img {
  display: block;
  width: min(100%, 926rem);
}
@media (max-width: 767px) {
  .al-hospital .js-scroll img {
    width: 926rem;
    max-width: 926rem;
  }
}
.al-hospital h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24rem;
  font-weight: 700;
  padding-bottom: 17rem;
  border-bottom: #19B5DF 2rem solid;
  margin-bottom: 20rem;
  margin-top: 60rem;
}
.al-hospital .flb {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.al-hospital .flb .txt {
  width: 64.5%;
}
.al-hospital .flb img {
  display: block;
  width: 32%;
}
.al-hospital .flb h5 {
  font-size: 20rem;
  font-weight: 700;
}
.al-hospital table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
@media (max-width: 1024px) {
  .al-hospital table {
    width: 1240rem;
  }
}
.al-hospital table th, .al-hospital table td {
  border: #ccc 1rem solid;
  line-height: 1.25;
}
.al-hospital table th {
  font-weight: 700;
}
.al-hospital table thead th {
  text-align: center;
  vertical-align: middle;
  background: #F8F8ED;
  padding: 14rem 10rem;
}
.al-hospital table thead th:nth-of-type(1) {
  width: 76rem;
}
.al-hospital table tbody th, .al-hospital table tbody td {
  vertical-align: middle;
}
.al-hospital table tbody th {
  background: #F8F8F8;
  text-align: center;
  padding: 12rem 0;
}
.al-hospital table tbody td {
  text-align: left;
  padding: 12rem 20rem;
}
.al-hospital .att {
  padding-top: 40rem;
  padding-bottom: 80rem;
}
@media (max-width: 767px) {
  .al-hospital .att {
    padding-top: 30rem;
  }
}
.al-hospital .programlist {
  padding-bottom: 60rem;
}
@media (max-width: 767px) {
  .al-hospital .programlist {
    padding-bottom: 40rem;
  }
}
.al-hospital .programlist li {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 1em;
}
.al-hospital .programlist li:last-child {
  margin-bottom: 0;
}

.al-other {
  padding-bottom: 80rem;
}
.al-other ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40rem;
  padding-bottom: 40rem;
}
@media (max-width: 1024px) {
  .al-other ul {
    gap: 20rem;
    padding-bottom: 30rem;
  }
}
@media (max-width: 767px) {
  .al-other ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.al-other ul li a {
  display: block;
  pointer-events: none;
}
.al-other ul li a figure {
  display: block;
  overflow: hidden;
  width: 100%;
}
.al-other ul li a figure img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.5s;
}
.al-other ul li a span {
  display: block;
  border: #D9D9D9 1rem solid;
  text-align: center;
  padding: 20rem 0;
}
.al-other ul li a:hover img {
  transform: scale(1.1);
}
.al-other p {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.8;
}

/* 認知症・もの忘れ */
.dementialead {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
@media (max-width: 767px) {
  .dementialead {
    padding-bottom: 66rem;
  }
}
.dementialead .list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40rem;
  padding-top: 70rem;
  padding-bottom: 44rem;
}
@media (max-width: 1024px) {
  .dementialead .list {
    grid-template-columns: repeat(2, 1fr);
    gap: 40rem 20rem;
  }
}
@media (max-width: 767px) {
  .dementialead .list {
    grid-template-columns: repeat(1, 1fr);
    gap: 30rem;
    padding: 40rem 0;
  }
}
.dementialead .list .card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  border: #D9D9D9 2rem solid;
  padding: 0 20rem 20rem;
  text-align: center;
}
.dementialead .list .card h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 36rem;
  font-size: 18rem;
  font-weight: 700;
  color: #fff;
  background: #0A96CE;
  transform: translateY(-50%);
  border-radius: 100rem;
}
.dementialead .list .card img {
  display: block;
  margin-bottom: 16rem;
}
@media (max-width: 767px) {
  .dementialead .list .card img {
    margin: 0 auto 16rem;
  }
}

.dm-about {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
.dm-about .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40rem;
  padding-bottom: 40rem;
}
@media (max-width: 1024px) {
  .dm-about .list {
    gap: 16rem;
  }
}
@media (max-width: 767px) {
  .dm-about .list {
    grid-template-columns: repeat(1, 1fr);
    gap: 20rem;
  }
}
.dm-about .list .card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
  border: #F5737F 2rem solid;
  text-align: center;
  position: relative;
  padding-top: 35rem;
  padding-bottom: 30rem;
}
.dm-about .list span {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #F5737F;
  width: 80rem;
  height: 80rem;
  border-radius: 50%;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.33;
  color: #fff;
  position: absolute;
  top: -10rem;
  left: 10rem;
}
@media (max-width: 1024px) {
  .dm-about .list span {
    width: 60rem;
    height: 60rem;
    font-size: 14rem;
    left: 5rem;
  }
}
@media (max-width: 767px) {
  .dm-about .list span {
    width: 80rem;
    height: 80rem;
    font-size: 18rem;
    left: 10rem;
  }
}
.dm-about .list img {
  display: block;
  width: 64;
  height: auto;
  margin: 0 auto 20rem;
}
.dm-about strong {
  font-weight: 700;
}
.dm-about .flb {
  margin-top: 60rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .dm-about .flb {
    display: block;
  }
}
.dm-about .flb .txt {
  width: 62.5%;
}
@media (max-width: 767px) {
  .dm-about .flb .txt {
    width: 100%;
    padding-bottom: 40rem;
  }
}
.dm-about .flb img {
  display: block;
  width: 32%;
  height: auto;
}
@media (max-width: 767px) {
  .dm-about .flb img {
    width: 100%;
  }
}
.dm-about .flb .pb {
  padding-bottom: 1em;
}
.dm-about .flb:last-of-type img {
  width: 29%;
}
@media (max-width: 767px) {
  .dm-about .flb:last-of-type img {
    width: 100%;
  }
}

.dm-what {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
.dm-what .img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .dm-what .img {
    margin-bottom: 40rem;
  }
}
.dm-what .pthr {
  margin-top: 60rem;
}
.dm-what .pthr .mtnon {
  margin-top: 0;
}
.dm-what .fig {
  display: block;
  width: min(100%, 800rem);
  margin-bottom: 30rem;
}
.dm-what .pb {
  padding-bottom: 1em;
}
.dm-what .js-scroll {
  margin-top: 40rem;
}
@media (max-width: 767px) {
  .dm-what .js-scroll {
    margin-top: 30rem;
  }
}
.dm-what .js-scroll table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
@media (max-width: 1024px) {
  .dm-what .js-scroll table {
    width: 714rem;
  }
}
@media (max-width: 767px) {
  .dm-what .js-scroll table {
    width: 680rem;
  }
}
.dm-what .js-scroll table th, .dm-what .js-scroll table td {
  border: #ccc 1rem solid;
  line-height: 1.66;
}
.dm-what .js-scroll table thead th {
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  background: #F8F8ED;
  padding: 14rem 10rem;
}
.dm-what .js-scroll table thead th:nth-of-type(1) {
  width: 120rem;
}
.dm-what .js-scroll table tbody th, .dm-what .js-scroll table tbody td {
  font-size: 18rem;
  font-weight: 400;
  vertical-align: top;
  padding: 15rem 20rem;
}
.dm-what .js-scroll table tbody th {
  background: #F8F8F8;
}

.dm-symptoms {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
.dm-symptoms .bgbox {
  padding: 40rem 40rem 60rem;
  background: #F8F8ED;
  margin-bottom: 40rem;
}
@media (max-width: 1024px) {
  .dm-symptoms .bgbox {
    padding: 40rem 20rem;
    margin-bottom: 30rem;
  }
}
@media (max-width: 767px) {
  .dm-symptoms .bgbox {
    margin-bottom: 20rem;
  }
}
.dm-symptoms .bgbox:last-of-type {
  margin-bottom: 80rem;
}
@media (max-width: 1024px) {
  .dm-symptoms .bgbox:last-of-type {
    margin-bottom: 60rem;
  }
}
.dm-symptoms .bgbox dt {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24rem;
  font-weight: 500;
  padding-bottom: 17rem;
  margin-bottom: 20rem;
  border-bottom: #19B5DF 2rem solid;
}
@media (max-width: 767px) {
  .dm-symptoms .bgbox dt {
    font-size: 22rem;
    padding-bottom: 12rem;
  }
}
.dm-symptoms .libox {
  border: #D9D9D9 2rem solid;
  padding: 30rem 30rem 50rem;
  margin-bottom: 10rem;
}
@media (max-width: 767px) {
  .dm-symptoms .libox {
    padding: 30rem 20rem 40rem;
    margin-bottom: 20rem;
  }
}
.dm-symptoms .libox:last-of-type {
  margin-bottom: 0;
}
.dm-symptoms .libox.flb {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .dm-symptoms .libox.flb {
    display: block;
  }
}
.dm-symptoms .libox .txt {
  width: 68%;
}
@media (max-width: 767px) {
  .dm-symptoms .libox .txt {
    width: 100%;
    padding-bottom: 20rem;
  }
}
.dm-symptoms .libox img {
  display: block;
  width: 26.6%;
}
@media (max-width: 767px) {
  .dm-symptoms .libox img {
    width: 100%;
  }
}
.dm-symptoms .libox h4 {
  display: flex;
  align-items: center;
  gap: 10rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  margin-bottom: 20rem;
}
.dm-symptoms .libox h4::before {
  content: "";
  display: block;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  background: #19B5DF;
  flex-shrink: 0;
}

.dm-interact {
  padding-bottom: 80rem;
  margin-bottom: 80rem;
  border-bottom: #ccc 1rem solid;
}
@media (max-width: 767px) {
  .dm-interact {
    padding-bottom: 60rem;
  }
}
.dm-interact .img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .dm-interact .img {
    margin-bottom: 30rem;
  }
}
.dm-interact p {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.8;
}
.dm-interact ol {
  padding: 40rem 40rem 60rem;
  background: #F8F8ED;
  list-style: none;
  counter-reset: num;
  margin-top: 40rem;
}
@media (max-width: 767px) {
  .dm-interact ol {
    padding: 30rem 20rem 40rem;
  }
}
.dm-interact ol li {
  counter-increment: num;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.66em;
  padding-bottom: 10rem;
  margin-bottom: 16rem;
  border-bottom: #ccc 2rem dotted;
  display: flex;
  gap: 10rem;
}
@media (max-width: 767px) {
  .dm-interact ol li {
    padding-bottom: 14rem;
  }
}
.dm-interact ol li:last-child {
  margin-bottom: 0;
}
.dm-interact ol li::before {
  content: counter(num, decimal-leading-zero) ".";
  font-size: 18rem;
  font-weight: 700;
  color: #0A96CE;
  flex-shrink: 0;
}

.dm-prevent {
  padding-bottom: 80rem;
  margin-bottom: 80rem;
  border-bottom: #ccc 1rem solid;
}
.dm-prevent h3 {
  font-size: 20rem;
  font-weight: 700;
  margin-bottom: 20rem;
}
.dm-prevent .flb {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 40rem;
}
@media (max-width: 1024px) {
  .dm-prevent .flb {
    display: block;
  }
}
.dm-prevent .txt {
  width: 48.3%;
}
@media (max-width: 1024px) {
  .dm-prevent .txt {
    width: 100%;
  }
}
.dm-prevent .txt img {
  display: none;
}
@media (max-width: 1024px) {
  .dm-prevent .txt img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 40rem;
  }
}
.dm-prevent .pc {
  display: block;
  width: 43.3%;
}
@media (max-width: 1024px) {
  .dm-prevent .pc {
    display: none;
  }
}
.dm-prevent ul {
  border: #D9D9D9 1rem solid;
  margin-top: 30rem;
  padding: 30rem 40rem 40rem;
}
.dm-prevent ul li {
  line-height: 2em;
  display: flex;
  align-items: flex-start;
  gap: 10rem;
}
.dm-prevent ul li::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  flex-shrink: 0;
  margin-top: 12rem;
}
.dm-prevent dl {
  padding: 40rem 40rem 60rem;
  background: #F8F8ED;
  counter-reset: num;
}
@media (max-width: 1024px) {
  .dm-prevent dl {
    padding: 40rem 20rem;
  }
}
.dm-prevent dl dt {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24rem;
  font-weight: 500;
  padding-bottom: 17rem;
  margin-bottom: 30rem;
  border-bottom: #19B5DF 2rem solid;
}
@media (max-width: 767px) {
  .dm-prevent dl dt {
    font-size: 22rem;
  }
}
.dm-prevent dl dd {
  counter-increment: num;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.66em;
  padding-bottom: 10rem;
  margin-bottom: 16rem;
  border-bottom: #ccc 2rem dotted;
  display: flex;
  gap: 10rem;
}
.dm-prevent dl dd:last-child {
  margin-bottom: 0;
}
.dm-prevent dl dd::before {
  content: counter(num, decimal-leading-zero) ".";
  font-size: 18rem;
  font-weight: 700;
  color: #0A96CE;
  flex-shrink: 0;
}

.dm-suspect {
  padding-bottom: 80rem;
}
.dm-suspect .strong {
  font-size: 20rem;
  font-weight: 700;
  margin-bottom: 20rem;
}
.dm-suspect .pthr {
  margin-top: 60rem;
}
@media (max-width: 767px) {
  .dm-suspect .pthr {
    margin-top: 40rem;
  }
}
.dm-suspect .js-scroll {
  margin-top: 40rem;
}
@media (max-width: 767px) {
  .dm-suspect .js-scroll {
    margin-top: 20rem;
  }
}
.dm-suspect .js-scroll table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
@media (max-width: 1024px) {
  .dm-suspect .js-scroll table {
    width: 1240rem;
  }
}
@media (max-width: 767px) {
  .dm-suspect .js-scroll table {
    width: 495rem;
  }
}
.dm-suspect .js-scroll table th, .dm-suspect .js-scroll table td {
  border: #ccc 1rem solid;
  line-height: 1.66;
}
.dm-suspect .js-scroll table thead th {
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  background: #F8F8ED;
  padding: 14rem 10rem;
}
.dm-suspect .js-scroll table thead th:nth-of-type(1) {
  width: 743rem;
  text-align: left;
  padding-left: 60rem;
}
@media (max-width: 767px) {
  .dm-suspect .js-scroll table thead th:nth-of-type(1) {
    width: 240rem;
  }
}
.dm-suspect .js-scroll table tbody th, .dm-suspect .js-scroll table tbody td {
  font-size: 18rem;
  font-weight: 400;
  vertical-align: middle;
  padding: 14rem 20rem;
}
.dm-suspect .js-scroll table tbody tr:nth-of-type(even) {
  background: #F8F8F8;
}
.dm-suspect .js-scroll table tbody tr:last-of-type {
  background: #fff;
}
.dm-suspect .js-scroll table tbody tr:last-of-type td {
  text-align: right;
}
.dm-suspect .js-scroll table tbody th span {
  display: block;
  font-weight: 700;
  color: #0A96CE;
  text-align: left;
}
.dm-suspect .js-scroll table tbody td {
  text-align: center;
}

/* 精神科訪問看護 */
.vs-about {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
@media (max-width: 767px) {
  .vs-about {
    padding-bottom: 40rem;
  }
}
.vs-about .pthr {
  margin-top: 40rem;
}
.vs-about ul {
  padding: 30rem 40rem;
  border: #D9D9D9 2rem solid;
  margin-top: 30rem;
  margin-bottom: 60rem;
}
@media (max-width: 1024px) {
  .vs-about ul {
    padding: 30rem 20rem;
  }
}
.vs-about ul li {
  display: flex;
  align-items: flex-start;
  gap: 10rem;
  margin-bottom: 20rem;
  line-height: 1.875;
}
.vs-about ul li:last-child {
  margin-bottom: 0;
}
.vs-about ul li::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  flex-shrink: 0;
  margin-top: 12rem;
}
.vs-about h4 {
  text-align: center;
  font-size: 26rem;
  font-weight: 700;
  margin-bottom: 30rem;
}
@media (max-width: 767px) {
  .vs-about h4 {
    text-align: left;
    font-size: 24rem;
    margin-bottom: 40rem;
  }
}
.vs-about figure {
  display: block;
  width: min(100%, 806rem);
  margin: auto;
  padding-bottom: 40rem;
}
@media (max-width: 767px) {
  .vs-about figure {
    padding-bottom: 0;
  }
}
.vs-about figure img {
  display: block;
}

.vs-flow {
  padding-bottom: 70rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
@media (max-width: 767px) {
  .vs-flow {
    padding-bottom: 40rem;
  }
}
.vs-flow dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40rem;
}
@media (max-width: 767px) {
  .vs-flow dl {
    display: block;
  }
}
.vs-flow dl:last-of-type dt {
  padding-bottom: 10rem;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .vs-flow dl:last-of-type dt {
    padding-bottom: 14rem;
    margin-bottom: 20rem;
  }
}
.vs-flow dl:last-of-type dt::after {
  content: none;
}
.vs-flow dl:last-of-type dd {
  margin-bottom: 0;
}
.vs-flow dl dt {
  width: 240rem;
  margin-bottom: 38rem;
  background: #D6F2FA;
  text-align: center;
  padding-top: 20rem;
  padding-bottom: 10rem;
  font-size: 18rem;
  font-weight: 700;
  position: relative;
}
@media (max-width: 767px) {
  .vs-flow dl dt {
    width: 100%;
    margin-bottom: 50rem;
  }
}
.vs-flow dl dt span {
  display: block;
  font-size: 16rem;
  font-weight: 700;
  color: #19B5DF;
}
.vs-flow dl dt::after {
  content: "";
  display: block;
  width: 100%;
  height: 30rem;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #D6F2FA;
  position: absolute;
  left: 0;
  top: 100%;
}
.vs-flow dl dd {
  width: calc(100% - 280rem);
  margin-bottom: 38rem;
  display: flex;
  gap: 10rem;
}
@media (max-width: 767px) {
  .vs-flow dl dd {
    margin-bottom: 40rem;
    width: 100%;
  }
}
.vs-flow dl dd::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #BE8B4C;
  flex-shrink: 0;
  margin-top: 10rem;
}

.vs-cost {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
@media (max-width: 767px) {
  .vs-cost {
    padding-bottom: 60rem;
  }
}
.vs-cost h3 {
  font-size: 20rem;
  font-weight: 700;
  color: #E53742;
}

.vs-merit {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
@media (max-width: 767px) {
  .vs-merit {
    padding-bottom: 60rem;
  }
}
.vs-merit dl {
  background: #F8F8ED;
  padding: 40rem;
  margin-top: 40rem;
}
@media (max-width: 1024px) {
  .vs-merit dl {
    padding: 30rem 20rem;
    margin-top: 30rem;
  }
}
.vs-merit dl dt {
  display: flex;
  gap: 10rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  margin-bottom: 20rem;
}
.vs-merit dl dt::before {
  content: "";
  display: block;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  background: #19B5DF;
  margin-top: 12rem;
  flex-shrink: 0;
}
.vs-merit dl dd {
  padding-bottom: 30rem;
  margin-bottom: 30rem;
  border-bottom: #ccc 2rem dotted;
}
.vs-merit dl dd:last-of-type {
  margin-bottom: 0;
}
@media (max-width: 1024px) {
  .vs-merit dl dd {
    padding-bottom: 20rem;
    margin-bottom: 20rem;
  }
}

.vs-voice {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
@media (max-width: 767px) {
  .vs-voice {
    padding-bottom: 60rem;
  }
}
.vs-voice .flb {
  display: flex;
  align-items: center;
  gap: 20rem;
  background: #F8F8ED;
  padding: 20rem 40rem;
  margin-bottom: 20rem;
}
@media (max-width: 1024px) {
  .vs-voice .flb {
    padding: 20rem;
  }
}
@media (max-width: 767px) {
  .vs-voice .flb {
    align-items: flex-start;
  }
}
.vs-voice .flb:last-of-type {
  margin-bottom: 0;
}
.vs-voice .flb figure {
  width: 100rem;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .vs-voice .flb figure {
    width: 80rem;
  }
}
.vs-voice .flb figure img {
  display: block;
  width: 100%;
  height: auto;
}
.vs-voice .flb .txt {
  flex: 1;
}
.vs-voice .flb h3 {
  font-weight: 700;
  margin-bottom: 10rem;
}
@media (max-width: 767px) {
  .vs-voice .flb h3 {
    margin-bottom: 20rem;
  }
}

.vs-schedule {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
@media (max-width: 767px) {
  .vs-schedule {
    padding-bottom: 60rem;
  }
}
.vs-schedule dl {
  border-top: #999 1rem solid;
  border-bottom: #999 1rem solid;
  display: flex;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .vs-schedule dl {
    display: block;
    border: #999 1rem solid;
  }
}
.vs-schedule dl dt {
  background: #D6F2FA;
  padding: 20rem;
  width: 240rem;
  font-weight: 700;
  border-right: #999 1rem solid;
}
@media (max-width: 767px) {
  .vs-schedule dl dt {
    padding: 13rem 20rem;
    border-right: 0;
    border-bottom: #999 1rem solid;
    width: 100%;
  }
}
.vs-schedule dl dd {
  flex: 1;
  padding: 20rem;
}
@media (max-width: 767px) {
  .vs-schedule dl dd {
    padding: 16rem 20rem;
  }
}
.vs-schedule dl dd strong, .vs-schedule dl dd span {
  display: block;
}
.vs-schedule dl dd strong {
  font-size: 20rem;
  font-weight: 700;
}

.vs-staff {
  padding-bottom: 80rem;
  margin-bottom: 60rem;
  border-bottom: #ccc 1rem solid;
}
@media (max-width: 767px) {
  .vs-staff {
    padding-bottom: 60rem;
  }
}

.vs-faq dl {
  background: #F8F8ED;
  padding: 30rem 40rem;
  margin-bottom: 20rem;
}
@media (max-width: 1024px) {
  .vs-faq dl {
    padding: 30rem 20rem;
  }
}
.vs-faq dl:last-of-type {
  margin-bottom: 80rem;
}
@media (max-width: 767px) {
  .vs-faq dl:last-of-type {
    margin-bottom: 40rem;
  }
}
.vs-faq dl dt, .vs-faq dl dd {
  padding-left: 44rem;
  position: relative;
}
.vs-faq dl dt span, .vs-faq dl dd span {
  font-size: 20rem;
  font-weight: 700;
  position: absolute;
  left: 0;
}
.vs-faq dl dt {
  font-size: 18rem;
  font-weight: 700;
  margin-bottom: 25rem;
}
.vs-faq dl dt span {
  color: #0A96CE;
  top: -2rem;
}
.vs-faq dl dd span {
  color: #E53742;
  top: -5rem;
}
.vs-faq dl a {
  color: #0A96CE;
  font-weight: 700;
}

.vs-contact {
  border: #19B5DF 2rem solid;
  padding: 30rem 40rem;
  margin-bottom: 80rem;
}
@media (max-width: 1024px) {
  .vs-contact {
    padding: 30rem 20rem;
  }
}
.vs-contact h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  display: flex;
  gap: 14rem;
  margin-bottom: 20rem;
}
@media (max-width: 1024px) {
  .vs-contact h2 {
    font-size: 19rem;
  }
}
.vs-contact h2::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: #19B5DF;
  flex-shrink: 0;
  margin-top: 8rem;
}
.vs-contact .phone {
  color: #0A96CE;
  font-size: 28rem;
  font-weight: 700;
  margin-bottom: 10rem;
}
@media (max-width: 767px) {
  .vs-contact .phone {
    font-size: 27rem;
  }
}
.vs-contact .phone a {
  color: #0A96CE;
  font-weight: 700;
  pointer-events: none;
}
@media (max-width: 767px) {
  .vs-contact .phone a {
    pointer-events: all;
  }
}

/* 交通アクセス */
.access-map {
  border-bottom: #CCC 1px solid;
  padding-bottom: 80rem;
  margin-bottom: 60rem;
}
.access-map .list {
  display: flex;
  gap: 40rem;
  align-items: center;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .access-map .list {
    flex-direction: column;
    gap: 30rem;
  }
}
.access-map .list li {
  font-size: 16rem;
}
.access-map .map {
  margin-bottom: 30rem;
}
.access-map .map iframe {
  width: 100%;
  height: 600rem;
}
@media (max-width: 767px) {
  .access-map .map iframe {
    height: 500rem;
  }
}
.access-map .image {
  max-width: 1123rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .access-map .image {
    max-width: 100%;
  }
}
.access-map .image img {
  width: 100%;
}

.access-bus {
  border-bottom: #CCC 1px solid;
  padding-bottom: 80rem;
  margin-bottom: 60rem;
}
.access-bus .image {
  max-width: 800rem;
  margin-bottom: 40rem;
}
.access-bus .image img {
  width: 100%;
}
.access-bus p {
  font-size: 16rem;
  line-height: 2;
}
.access-bus .read {
  font-size: 16rem;
  line-height: 2;
  margin-bottom: 40rem;
}
.access-bus .read a {
  color: #0A96CE;
  text-decoration: underline;
  font-weight: bold;
}
.access-bus .read a:hover {
  text-decoration: none;
}
.access-bus .title-sub {
  background: #0A96CE;
  color: #FFF;
  padding: 10rem 20rem;
  font-size: 18rem;
  font-weight: bold;
  margin-bottom: 20rem;
}
.access-bus .explanation {
  font-size: 16rem;
  line-height: 2;
  margin-bottom: 40rem;
}
.access-bus .num {
  background: #F8F8ED;
  padding: 20rem 40rem;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .access-bus .num {
    text-align: center;
    padding: 20rem;
  }
}
.access-bus .num p span {
  font-size: 24rem;
  font-weight: bold;
}
.access-bus .box {
  border: #19B5DF 2px solid;
  padding: 30rem 40rem;
  margin-top: 60rem;
}
@media (max-width: 767px) {
  .access-bus .box {
    padding: 30rem 20rem;
  }
}
.access-bus .box h4 {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  margin-bottom: 10rem;
  padding-left: 24rem;
}
.access-bus .box h4::before {
  content: "";
  display: block;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 10rem;
  left: 0;
}
.access-bus .box .tel a {
  color: #0A96CE;
  font-weight: bold;
  font-size: 28rem;
}
@media (max-width: 767px) {
  .access-bus .box .tel a {
    font-size: 24rem;
  }
}

.access-service {
  border-bottom: #CCC 1px solid;
  padding-bottom: 80rem;
  margin-bottom: 60rem;
}
.access-service .read {
  font-size: 16rem;
  margin-bottom: 20rem;
}
.access-service .image {
  max-width: 800rem;
  margin-bottom: 40rem;
}
.access-service .image img {
  width: 100%;
}
.access-service .box {
  background: #F8F8ED;
  padding: 30rem 40rem;
  margin-bottom: 40rem;
}
@media (max-width: 767px) {
  .access-service .box {
    padding: 30rem 20rem;
  }
}
.access-service .box:not(:last-of-type) {
  margin-bottom: 30rem;
}
.access-service .box ul li {
  position: relative;
  padding-left: 22rem;
  font-size: 16rem;
}
.access-service .box ul li:not(:last-child) {
  margin-bottom: 10rem;
}
.access-service .box ul li span {
  font-weight: bold;
  display: block;
}
.access-service .box ul li span.red {
  color: #E53742;
}
.access-service .box ul li::before {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 8rem;
  left: 0;
}
@media (max-width: 767px) {
  .access-service .box ul li::before {
    top: 8rem;
  }
}
.access-service .box-tel {
  border: #19B5DF 2px solid;
  padding: 30rem 40rem;
  margin-bottom: 60rem;
}
@media (max-width: 767px) {
  .access-service .box-tel {
    padding: 30rem 20rem;
  }
}
.access-service .box-tel h3 {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  margin-bottom: 10rem;
  padding-left: 24rem;
}
.access-service .box-tel h3::before {
  content: "";
  display: block;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 10rem;
  left: 0;
}
.access-service .box-tel .tel a {
  color: #0A96CE;
  font-weight: bold;
  font-size: 28rem;
}
@media (max-width: 767px) {
  .access-service .box-tel .tel a {
    font-size: 26rem;
  }
}
.access-service .table-wrap {
  width: 100%;
  margin-bottom: 30rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.access-service .table-wrap table {
  min-width: 1000px;
  border-collapse: collapse;
  text-align: center;
}
@media (max-width: 767px) {
  .access-service .table-wrap table {
    min-width: 700px;
  }
}
.access-service .table-wrap table th,
.access-service .table-wrap table td {
  border: #CCC 1px solid;
  font-size: 16rem;
}
.access-service .table-wrap table thead th {
  background: #F8F8ED;
  padding: 10px 20px;
  white-space: nowrap;
  text-align: center;
}
.access-service .table-wrap table tbody tr th {
  width: 60rem;
  background: #F8F8F8;
  text-align: center;
}
.access-service .table-wrap table tbody tr td {
  width: 380rem;
}
.access-service .table-wrap table tbody tr th,
.access-service .table-wrap table tbody tr td {
  padding: 12px 20px;
  white-space: nowrap;
}
.access-service h4 {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20rem;
  font-weight: 500;
  margin-bottom: 10rem;
  padding-left: 24rem;
}
.access-service h4::before {
  content: "";
  display: block;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  background: #19B5DF;
  position: absolute;
  top: 10rem;
  left: 0;
}
.access-service .note {
  font-size: 16rem;
  margin-bottom: 20rem;
}
.access-service .image {
  max-width: 800rem;
}
.access-service .image img {
  width: 100%;
}
.access-service .image + h3 {
  margin-top: 100rem;
}
.access-service .note-red {
  color: #E53742;
  font-size: 16rem;
  font-weight: bold;
  margin-bottom: 20rem;
}

.access-type-bus {
  border-bottom: #CCC 1px solid;
  padding-bottom: 80rem;
  margin-bottom: 60rem;
}
.access-type-bus .text {
  font-size: 16rem;
  margin-bottom: 60rem;
}
.access-type-bus .text a {
  color: #0A96CE;
  text-decoration: underline;
  font-weight: bold;
}
.access-type-bus .text a:hover {
  text-decoration: none;
}
.access-type-bus ul li {
  position: relative;
  padding-left: 22rem;
  font-weight: bold;
  font-size: 16rem;
}
.access-type-bus ul li::before {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 8rem;
  left: 0;
}
@media (max-width: 767px) {
  .access-type-bus ul li::before {
    top: 8rem;
  }
}

.access-type-car {
  border-bottom: #CCC 1px solid;
  margin-bottom: 60rem;
}
.access-type-car .required {
  border: #D9D9D9 2px solid;
  padding: 20rem 40rem;
  margin-bottom: 20rem;
  font-size: 16rem;
}
@media (max-width: 767px) {
  .access-type-car .required {
    padding: 20rem;
  }
}
.access-type-car ul {
  margin-bottom: 80rem;
}
.access-type-car ul li {
  position: relative;
  padding-left: 22rem;
  font-size: 16rem;
}
.access-type-car ul li::before {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: #BE8B4C;
  position: absolute;
  top: 8rem;
  left: 0;
}
@media (max-width: 767px) {
  .access-type-car ul li::before {
    top: 8rem;
  }
}

.access-parking {
  display: flex;
  gap: 40rem;
  margin-bottom: 80rem;
}
@media (max-width: 767px) {
  .access-parking {
    flex-direction: column;
    gap: 30rem;
  }
}
.access-parking .detail {
  width: 50%;
}
@media (max-width: 767px) {
  .access-parking .detail {
    width: 100%;
  }
}
.access-parking .detail p {
  font-size: 16rem;
}
.access-parking .detail p span {
  display: block;
  font-weight: bold;
  font-size: 20rem;
}
.access-parking .image {
  width: 50%;
}
@media (max-width: 767px) {
  .access-parking .image {
    width: 100%;
  }
}
.access-parking .image img {
  width: 100%;
}