@charset "UTF-8";
*:focus:not(:focus-visible),
*::before:focus:not(:focus-visible),
*::after:focus:not(:focus-visible) {
  outline: none;
}

/* https://medium.com/@matuzo/writing-css-with-accessibility-in-mind-8514a0007939 */
.visually-hidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px;
}

/* https://www.scottohara.me/blog/2019/01/12/lists-and-safari.html */
.plain-list {
  list-style: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'/%3E");
  padding-left: 0;
}

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
html {
  -webkit-text-size-adjust: 100%;
}

h5, h6 {
  margin: 0;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

p {
  margin: 0 0 1em;
}

img {
  height: auto;
  border: none;
  object-fit: contain;
}

iframe {
  max-width: 100%;
  height: 100%;
  border: none;
}

em, i {
  font-style: normal;
}

@font-face {
  font-family: "fontello";
  font-weight: normal;
  src: url("fontello/font/fontello.woff2") format("woff2");
  font-display: fallback;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.ani-fadein {
  animation: fadeIn 1s forwards;
}

@keyframes fadeDown {
  0% {
    opacity: 0;
    transform: translateY(-3rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.ani-fadedown {
  animation: fadeDwon 0.5s forwards;
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(3rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.ani-fadeup {
  animation: fadeUp 0.5s forwards;
}

@keyframes fadeToLeft {
  0% {
    opacity: 0;
    transform: translateX(10rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.ani-fadeleft {
  animation: fadeToLeft 0.5s forwards;
}

@keyframes fadeToRight {
  0% {
    opacity: 0;
    transform: translateX(-10rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.ani-faderight {
  animation: fadeToRight 0.5s forwards;
}

.sp_n {
  display: none;
}

@media screen and (min-width: 48em), print {
  .sp_n {
    display: block;
  }
  .pc_n {
    display: none;
  }
}
.cf::after {
  clear: both;
  display: block;
  content: "";
}

.l-cf {
  display: flow-root;
}

.fl_l {
  float: left;
}

.fl_r {
  float: right;
}

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

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

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

.bold {
  font-weight: bold;
}

.font_red {
  color: #f00;
}

.fs_16 {
  font-size: 1.6rem !important;
}
@media screen and (min-width: 48em), print {
  .fs_16 {
    font-size: 2rem !important;
  }
}

.fs_18 {
  font-size: 1.8rem !important;
}
@media screen and (min-width: 48em), print {
  .fs_18 {
    font-size: 2.2rem !important;
  }
}

.img_c {
  margin: 0 auto 1.2rem;
}

.img_l, .img_r {
  max-width: 80%;
  margin: 0 auto 1.2rem;
}

figure.img_c {
  width: fit-content;
}
figure.img_c figcaption {
  text-align: right;
}

@media screen and (min-width: 48em), print {
  .img_c {
    margin: 0 auto 20px;
  }
  .img_l {
    float: left;
    max-width: 380px;
    margin: 5px 30px 20px 0;
  }
  .img_r {
    float: right;
    max-width: 380px;
    margin: 5px 0 20px 30px;
  }
  .fit .img_l, .fit .img_r {
    margin-bottom: 0;
  }
}
.mt_0 {
  margin-top: 0px !important;
}

.mr_0 {
  margin-right: 0px !important;
}

.mb_0 {
  margin-bottom: 0px !important;
}

.ml_0 {
  margin-left: 0px !important;
}

.pt_0 {
  padding-top: 0px !important;
}

.pr_0 {
  padding-right: 0px !important;
}

.pb_0 {
  padding-bottom: 0px !important;
}

.pl_0 {
  padding-left: 0px !important;
}

.mt_10 {
  margin-top: 10px !important;
}

.mr_10 {
  margin-right: 10px !important;
}

.mb_10 {
  margin-bottom: 10px !important;
}

.ml_10 {
  margin-left: 10px !important;
}

.pt_10 {
  padding-top: 10px !important;
}

.pr_10 {
  padding-right: 10px !important;
}

.pb_10 {
  padding-bottom: 10px !important;
}

.pl_10 {
  padding-left: 10px !important;
}

.mt_20 {
  margin-top: 20px !important;
}

.mr_20 {
  margin-right: 20px !important;
}

.mb_20 {
  margin-bottom: 20px !important;
}

.ml_20 {
  margin-left: 20px !important;
}

.pt_20 {
  padding-top: 20px !important;
}

.pr_20 {
  padding-right: 20px !important;
}

.pb_20 {
  padding-bottom: 20px !important;
}

.pl_20 {
  padding-left: 20px !important;
}

.mt_30 {
  margin-top: 30px !important;
}

.mr_30 {
  margin-right: 30px !important;
}

.mb_30 {
  margin-bottom: 30px !important;
}

.ml_30 {
  margin-left: 30px !important;
}

.pt_30 {
  padding-top: 30px !important;
}

.pr_30 {
  padding-right: 30px !important;
}

.pb_30 {
  padding-bottom: 30px !important;
}

.pl_30 {
  padding-left: 30px !important;
}

.mt_40 {
  margin-top: 40px !important;
}

.mr_40 {
  margin-right: 40px !important;
}

.mb_40 {
  margin-bottom: 40px !important;
}

.ml_40 {
  margin-left: 40px !important;
}

.pt_40 {
  padding-top: 40px !important;
}

.pr_40 {
  padding-right: 40px !important;
}

.pb_40 {
  padding-bottom: 40px !important;
}

.pl_40 {
  padding-left: 40px !important;
}

.mt_50 {
  margin-top: 50px !important;
}

.mr_50 {
  margin-right: 50px !important;
}

.mb_50 {
  margin-bottom: 50px !important;
}

.ml_50 {
  margin-left: 50px !important;
}

.pt_50 {
  padding-top: 50px !important;
}

.pr_50 {
  padding-right: 50px !important;
}

.pb_50 {
  padding-bottom: 50px !important;
}

.pl_50 {
  padding-left: 50px !important;
}

.mt_60 {
  margin-top: 60px !important;
}

.mr_60 {
  margin-right: 60px !important;
}

.mb_60 {
  margin-bottom: 60px !important;
}

.ml_60 {
  margin-left: 60px !important;
}

.pt_60 {
  padding-top: 60px !important;
}

.pr_60 {
  padding-right: 60px !important;
}

.pb_60 {
  padding-bottom: 60px !important;
}

.pl_60 {
  padding-left: 60px !important;
}

.mt_70 {
  margin-top: 70px !important;
}

.mr_70 {
  margin-right: 70px !important;
}

.mb_70 {
  margin-bottom: 70px !important;
}

.ml_70 {
  margin-left: 70px !important;
}

.pt_70 {
  padding-top: 70px !important;
}

.pr_70 {
  padding-right: 70px !important;
}

.pb_70 {
  padding-bottom: 70px !important;
}

.pl_70 {
  padding-left: 70px !important;
}

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

.mr_80 {
  margin-right: 80px !important;
}

.mb_80 {
  margin-bottom: 80px !important;
}

.ml_80 {
  margin-left: 80px !important;
}

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

.pr_80 {
  padding-right: 80px !important;
}

.pb_80 {
  padding-bottom: 80px !important;
}

.pl_80 {
  padding-left: 80px !important;
}

.mt_90 {
  margin-top: 90px !important;
}

.mr_90 {
  margin-right: 90px !important;
}

.mb_90 {
  margin-bottom: 90px !important;
}

.ml_90 {
  margin-left: 90px !important;
}

.pt_90 {
  padding-top: 90px !important;
}

.pr_90 {
  padding-right: 90px !important;
}

.pb_90 {
  padding-bottom: 90px !important;
}

.pl_90 {
  padding-left: 90px !important;
}

.mt_100 {
  margin-top: 100px !important;
}

.mr_100 {
  margin-right: 100px !important;
}

.mb_100 {
  margin-bottom: 100px !important;
}

.ml_100 {
  margin-left: 100px !important;
}

.pt_100 {
  padding-top: 100px !important;
}

.pr_100 {
  padding-right: 100px !important;
}

.pb_100 {
  padding-bottom: 100px !important;
}

.pl_100 {
  padding-left: 100px !important;
}

.button01 a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 1em 2em;
  max-width: 300px;
  color: #fff;
  font-weight: 700;
  background-color: #779a53;
  border-radius: 50vh;
}
.button01 a::after {
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-top: 0.2em solid #fff;
  border-right: 0.2em solid #fff;
  transform: rotate(45deg);
}
@media screen and (min-width: 48em), print {
  .button01 a:hover {
    background-color: #9ab875;
  }
}

.mb40 {
  margin-bottom: 4rem !important;
}

.mt40 {
  margin-top: 4rem !important;
}

.mt30 {
  margin-top: 3rem !important;
}

.mt20 {
  margin-top: 2rem !important;
}

.mt10 {
  margin-top: 1rem !important;
}

.mt5 {
  margin-top: 0.5rem !important;
}

.mt0 {
  margin-top: 0;
}

.mb0 {
  margin-bottom: 0;
}

main.wrap > section ~ section {
  margin-top: 4rem;
}
main.wrap > section section {
  margin-top: 3rem;
}
main.wrap > section section section {
  margin-top: 2.5rem;
}
main.wrap > section section section section {
  margin-top: 2rem;
}
main.wrap > section h2 + section, main.wrap > section h3 + section {
  margin-top: 0 !important;
}

article .intro :last-child {
  margin-bottom: 0;
}
article > section {
  margin-top: 3.6rem;
}
article > section > section {
  margin-top: 3.2rem;
}
article > section > section > section {
  margin-top: 2.6rem;
}
article > section > section > section > section {
  margin-top: 2.2rem;
}
article h2 + section, article h3 + section {
  margin-top: 1rem !important;
}

@media screen and (min-width: 48em), print {
  .mb40 {
    margin-bottom: 80px !important;
  }
  .mt40 {
    margin-top: 80px !important;
  }
  .mt30 {
    margin-top: 60px !important;
  }
  .mt20 {
    margin-top: 40px !important;
  }
  .mt10 {
    margin-top: 20px !important;
  }
  .mt5 {
    margin-top: 10px !important;
  }
  main.wrap > section ~ section {
    margin-top: 80px;
  }
  main.wrap > section section {
    margin-top: 60px;
  }
  main.wrap > section section section {
    margin-top: 40px;
  }
  main.wrap > section section section section {
    margin-top: 30px;
  }
  article .intro {
    display: flow-root;
  }
  article .intro [class*=box_] {
    display: flow-root;
  }
  article > section {
    margin-top: 70px;
  }
  article > section > section {
    margin-top: 50px;
  }
  article > section > section > section {
    margin-top: 30px;
  }
  article > section > section > section > section {
    margin-top: 20px;
  }
  article h2 + section, article h3 + section {
    margin-top: 22px !important;
  }
}
.l-flex {
  display: flex;
  flex-wrap: wrap;
}
.l-flex > * {
  flex: 1;
}

.flex2_pc, .flex3_pc {
  display: block;
}

@media screen and (min-width: 48em), print {
  .flex2_pc, .flex3_pc {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .flex2_pc > * {
    width: 48%;
  }
  .flex2_pc > *:nth-child(-n+2) {
    margin-top: 0 !important;
  }
  .flex3_pc > * {
    width: 30%;
  }
  .flex3_pc > *:nth-child(-n+3) {
    margin-top: 0 !important;
  }
}
.tit_01 {
  font-weight: bold;
  font-size: 2.2rem;
}

.tit_02, .medical_tit, .symptoms_tit, .features_tit {
  margin: 0 0 2rem;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.2;
  text-align: center;
}
.tit_02::after, .medical_tit::after, .symptoms_tit::after, .features_tit::after {
  display: block;
  width: 3em;
  height: 2px;
  margin: 1rem auto 0;
  content: "";
  background: #d2c565;
}

.tit_03 {
  margin: 0 0 1.2rem;
  padding: 0.6rem 1rem 0.5rem;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.2;
  color: #fff;
  background: #d1be18;
}

.tit_04 {
  margin: 0 0 1rem;
  padding: 0 0 0.2rem;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.2;
  border-bottom: 2px dotted #d6d6d6;
}
.tit_04::before {
  margin-right: 0.4rem;
  font-family: "fontello";
  font-weight: normal;
  content: "\e924";
  color: #e7ac5e;
}

.tit_05, .accidents_flow dt, .regenmed_flow dt {
  margin: 0 0 0.8rem;
  padding: 0 0 0.3rem;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.2;
  border-bottom: 1px solid #d6d6d6;
}
.tit_05::before, .accidents_flow dt::before, .regenmed_flow dt::before {
  display: inline-block;
  width: 0.3em;
  height: 1.2em;
  margin-right: 0.6em;
  content: "";
  background: #9ab875;
  vertical-align: text-top;
}

.tit_06 {
  margin: 0 0 1.4rem;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.2;
}

@media screen and (min-width: 48em), print {
  .tit_01 {
    font-size: 3.2rem;
  }
  .tit_02, .medical_tit, .symptoms_tit, .features_tit {
    margin: 0 0 30px;
    font-size: 3.2rem;
  }
  .tit_02::after, .medical_tit::after, .symptoms_tit::after, .features_tit::after {
    height: 3px;
    margin: 16px auto 0;
  }
  .tit_03 {
    margin: 0 0 16px;
    padding: 11px 18px 10px;
    font-size: 2rem;
  }
  .tit_04 {
    margin: 0 0 10px;
    padding: 0 0 6px;
    font-size: 1.9rem;
    border-bottom-width: 3px;
  }
  .tit_05, .accidents_flow dt, .regenmed_flow dt {
    margin: 0 0 10px;
    padding: 0 0 10px;
    font-size: 1.8rem;
  }
  .tit_05::before, .accidents_flow dt::before, .regenmed_flow dt::before {
    width: 6px;
    margin-right: 8px;
  }
  .tit_06 {
    margin: 0 0 14px;
    font-size: 1.8rem;
  }
}
.lst_ul > li {
  padding-left: 1.4em;
}
.lst_ul > li::before {
  display: inline-block;
  margin-left: -1.3em;
  margin-right: 0.3em;
  font-size: 0.9rem;
  content: "●";
  color: #9ab875;
  vertical-align: middle;
}
@media screen and (min-width: 48em), print {
  .lst_ul > li::before {
    font-size: 1.1rem;
    vertical-align: text-top;
  }
}

.lst_ul {
  margin: 1em 0.5em 1em 0;
}
.lst_ul > li:not(:first-child) {
  margin-top: 0.5em;
}
.lst_ul > li.none, .lst_ul > li.etc {
  padding-left: 0.5em;
  text-indent: 0;
}
.lst_ul > li.none::before, .lst_ul > li.etc::before {
  display: none;
}

.lst_ol {
  margin: 1em 0.5em 1em 0.2em;
  padding-left: 1.4em;
}
.lst_ol > li {
  list-style-type: decimal;
}
.lst_ol > li::marker {
  font-weight: bold;
  color: #779a53;
}
.lst_ol > li:not(:first-child) {
  margin-top: 0.5em;
}
.lst_ol > li.none, .lst_ol > li.etc {
  list-style-type: none;
}

.lst_check {
  margin: 1em 0.5em 1em 0;
}
.lst_check > li {
  padding-left: 1.5em;
}
.lst_check > li::before {
  display: inline-block;
  margin-left: -1em;
  margin-right: 0.5em;
  content: "";
  width: 0.8em;
  height: 0.8em;
  background: #fff;
  border: 1px solid currentColor;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);
}
.lst_check > li:not(:first-child) {
  margin-top: 0.5em;
}

.lst_dl {
  margin: 1em 0;
}
.lst_dl dt {
  font-weight: bold;
}
.lst_dl dt:not(:first-of-type) {
  margin-top: 1em;
}

.dl_flow dd, .accidents_flow dd, .regenmed_flow dd {
  position: relative;
}
.dl_flow dd:not(:last-child), .accidents_flow dd:not(:last-child), .regenmed_flow dd:not(:last-child) {
  margin-bottom: 5rem;
}
.dl_flow dd:not(:last-child)::after, .accidents_flow dd:not(:last-child)::after, .regenmed_flow dd:not(:last-child)::after {
  position: absolute;
  bottom: -3rem;
  left: 0;
  right: 0;
  display: block;
  width: 0;
  height: 0;
  margin: auto;
  content: "";
  border-style: solid;
  border-width: 1.5rem 2.5rem 0 2.5rem;
  border-color: #9ab875 transparent transparent transparent;
}
@media screen and (min-width: 48em), print {
  .dl_flow dd:not(:last-child), .accidents_flow dd:not(:last-child), .regenmed_flow dd:not(:last-child) {
    margin-bottom: 65px;
  }
  .dl_flow dd:not(:last-child)::after, .accidents_flow dd:not(:last-child)::after, .regenmed_flow dd:not(:last-child)::after {
    bottom: -35px;
    border-width: 20px 30px 0 30px;
  }
}

body#page_recruit .tbl_recruit, .tbl_data {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}
body#page_recruit .tbl_recruit caption, .tbl_data caption {
  text-align: left;
}
body#page_recruit .tbl_recruit th, .tbl_data th, body#page_recruit .tbl_recruit td, .tbl_data td {
  padding: 0.5rem;
  border: 1px solid #d6d6d6;
}
@media screen and (min-width: 48em), print {
  body#page_recruit .tbl_recruit th, .tbl_data th, body#page_recruit .tbl_recruit td, .tbl_data td {
    padding: 13px 20px;
  }
}
body#page_recruit .tbl_recruit th, .tbl_data th {
  background: #fef9ed;
}

.tbl_data {
  font-size: 1.2rem;
}
.tbl_data thead th {
  white-space: nowrap;
  font-weight: normal;
  background: #fdf1d5;
  border-bottom: 3px double #dbcdad;
}
@media screen and (min-width: 48em), print {
  .tbl_data {
    font-size: inherit;
  }
}

.box_notice, .box_disease, .box_symptoms {
  margin: 1em 0;
  padding: 1rem;
  border-radius: 0.5rem;
}
.box_notice > :last-child, .box_disease > :last-child, .box_symptoms > :last-child {
  margin-bottom: 0;
}
.box_notice .lst_ul, .box_disease .lst_ul, .box_symptoms .lst_ul {
  margin: 0;
}
@media screen and (min-width: 48em), print {
  .box_notice, .box_disease, .box_symptoms {
    padding: 25px;
    border-radius: 10px;
  }
}

.box_symptoms {
  background: #fef9ed;
}

.box_disease {
  background: #f1f5ed;
}

.box_notice {
  background: #fbf9df;
}

.btn_external, .btn_form, .btn_detail, .btn_back, .btn_access {
  display: inline-block;
  padding: 0.3em;
  text-decoration: none;
  line-height: 1.2;
  transition: 0.3s;
}
@media screen and (min-width: 48em), print {
  .btn_external, .btn_form, .btn_detail, .btn_back, .btn_access {
    padding: 0.8em 1.5em;
  }
}

.btn_detail, .btn_back, .btn_access {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5em 0.2em;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #9ab875;
  border-radius: 0.4rem;
}
.btn_detail::before, .btn_detail::after, .btn_back::before, .btn_back::after, .btn_access::before, .btn_access::after {
  flex: none;
  width: 3em;
}
.btn_detail::before, .btn_back::before, .btn_access::before {
  content: "";
}
.btn_detail::after, .btn_back::after, .btn_access::after {
  font-family: "fontello";
  content: "\ea26";
  transform: scale(1.5, 1);
}
@media screen and (min-width: 48em), print {
  .btn_detail, .btn_back, .btn_access {
    min-width: 280px;
    padding: 10px;
    border-radius: 6px;
  }
  .btn_detail::after, .btn_back::after, .btn_access::after {
    transform: scale(1.8, 1);
  }
  .btn_detail:hover, .btn_back:hover, .btn_access:hover {
    background: #779a53;
  }
}

.btn_access {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5em 0.2em;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #e7ac5e;
  border-radius: 0.4rem;
}
.btn_access::before, .btn_access::after {
  flex: none;
  width: 3em;
}
.btn_access::before {
  content: "";
}
.btn_access::after {
  font-family: "fontello";
  content: "\ea26";
  transform: scale(1.5, 1);
}
@media screen and (min-width: 48em), print {
  .btn_access {
    min-width: 280px;
    padding: 10px;
    border-radius: 6px;
  }
  .btn_access::after {
    transform: scale(1.8, 1);
  }
  .btn_access:hover {
    background: #779a53;
  }
}

.btn_external, .btn_form {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 1rem;
  padding: 0.5em 0.2em;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #9ab875;
  border-radius: 0.4rem;
}
.btn_external::before, .btn_form::before, .btn_external::after, .btn_form::after {
  flex: none;
  width: 2em;
}
.btn_external::before, .btn_form::before {
  content: "";
}
.btn_external::after, .btn_form::after {
  font-family: "fontello";
  content: "\f08e";
}
@media screen and (min-width: 48em), print {
  .btn_external, .btn_form {
    min-width: 240px;
    padding: 15px 10px;
    border-radius: 6px;
  }
  .btn_external:hover, .btn_form:hover {
    background: #779a53;
  }
}

.btn_form {
  padding: 1em;
  font-size: 112.5%;
  background: #dec512;
}
@media screen and (min-width: 48em), print {
  .btn_form {
    padding: 1.2em 1.5em;
  }
  .btn_form:hover {
    background: #d9cc05;
  }
}

.anchor a, .news_body a, .lnk_external, .lnk_to {
  text-decoration: underline;
  transition: 0.3s;
}
.anchor a:hover, .news_body a:hover, .lnk_external:hover, .lnk_to:hover {
  text-decoration: none;
}

.lnk_to {
  color: #d1be18;
}
.lnk_to:hover {
  color: rgb(228.2, 205.2562162162, 4.8);
}

.lnk_external {
  color: rgb(162.75, 153.25, 70.25);
}
.lnk_external::after {
  display: inline-block;
  margin-left: 0.5em;
  font-family: "fontello";
  content: "\f08e";
}
.lnk_external:hover {
  color: #d2c565;
}
.lnk_external.nico::after {
  display: none;
}

em {
  font-weight: bold;
}

.marker {
  padding-left: 1em;
  text-indent: -1em;
}
.marker > * {
  text-indent: 0;
}

#tel_up ul li.call a::before, .tel.ico a::before {
  margin-right: 0.25em;
  font-family: "fontello";
  font-weight: normal;
  content: "\ea29";
}

.tel {
  font-family: "Roboto", sans-serif;
  line-height: 1;
  white-space: nowrap;
}
.tel.ico a {
  display: inline-block;
}
.tel.ico a::before {
  color: #84a363;
}
@media screen and (min-width: 48em), print {
  .tel.ico::before {
    margin-right: 8px;
    font-family: "fontello";
    font-weight: normal;
    content: "\ea29";
    color: #84a363;
  }
  .tel.ico a::before {
    display: none;
  }
}

#tel_up ul li.rsv a::before, .rsv_btn::before, .rsv a::before {
  font-family: "fontello";
  font-weight: normal;
  content: "\ea27";
}

.rsv_btn, .rsv a {
  color: #fff;
  background: #e7ac5e;
}
@media screen and (min-width: 48em), print {
  .rsv_btn, .rsv a {
    transition: 0.3s;
  }
  .rsv_btn:hover, .rsv a:hover {
    background: rgb(250.2, 174.6627737226, 74.8);
  }
}

.rsv_btn {
  display: inline-flex;
  align-items: center;
  column-gap: 1em;
  padding-right: 1.2em;
  font-weight: bold;
  line-height: 1;
  border-radius: 0.5rem;
}
.rsv_btn::before {
  flex: none;
  width: 1.4em;
  font-size: 2.6rem;
  line-height: 1.36;
  text-align: center;
  border-right: 1px solid #e4a148;
}
@media screen and (min-width: 48em), print {
  .rsv_btn {
    column-gap: 34px;
    padding-right: 40px;
    letter-spacing: 0.1em;
    border-radius: 10px;
  }
  .rsv_btn::before {
    width: 1.8em;
    font-size: 166.5%;
    line-height: 1.8;
  }
}

.rsvtel_btn::before, .rsvtel a::before {
  font-family: "fontello";
  font-weight: normal;
  content: "\ea29";
}

.rsvtel_btn, .rsvtel a {
  color: #fff;
  background: #779a53;
}
@media screen and (min-width: 48em), print {
  .rsvtel_btn, .rsvtel a {
    transition: 0.3s;
  }
  .rsvtel_btn:hover, .rsvtel a:hover {
    background: rgb(119.9352112676, 220.4, 16.6);
  }
}

.rsvtel_btn {
  display: inline-flex;
  align-items: center;
  column-gap: 1em;
  padding-right: 1.2em;
  font-weight: bold;
  line-height: 1;
  border-radius: 0.5rem;
}
.rsvtel_btn::before {
  flex: none;
  width: 1.4em;
  font-size: 2.6rem;
  line-height: 1.36;
  text-align: center;
  border-right: 1px solid #5B763F;
}
@media screen and (min-width: 48em), print {
  .rsvtel_btn {
    column-gap: 34px;
    padding-right: 40px;
    letter-spacing: 0.1em;
    border-radius: 10px;
  }
  .rsvtel_btn::before {
    width: 1.8em;
    font-size: 166.5%;
    line-height: 1.8;
  }
}

#tel_up ul li.line a::before {
  font-family: "fontello";
  font-weight: normal;
  content: "\ea52";
}

.line a::before {
  font-family: "fontello";
  font-weight: normal;
  content: "\ea53";
}

.line a {
  color: #fff;
  background: #06c755;
}
@media screen and (min-width: 48em), print {
  .line a {
    transition: 0.3s;
  }
  .line a:hover {
    background: rgb(1.2, 203.8, 84.1295336788);
  }
}

.line_btn {
  display: inline-flex;
  align-items: center;
  column-gap: 0.7em;
  padding-right: 0.8em;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  background: #06c755;
  border-radius: 0.5rem;
}
.line_btn::before {
  flex: none;
  width: 2.8em;
  height: 2.7em;
  background-image: url(../img/icon_line.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 64% auto;
  border-right: 1px solid #06b74e;
  content: "";
}
@media screen and (min-width: 48em), print {
  .line_btn {
    column-gap: 24px;
    padding-right: 30px;
    letter-spacing: 0.1em;
    border-radius: 10px;
    transition: 0.3s;
  }
  .line_btn::before {
    width: 1.8em;
    height: 1.8em;
    font-size: 166.5%;
    background-size: 54% auto;
  }
  .line_btn:hover {
    background: #05b34d;
  }
}

.monshin_btn::before, .monshin a::before {
  font-family: "fontello";
  font-weight: normal;
  content: "\e81c";
}

.monshin_btn, .monshin a {
  color: #fff;
  background: #e7ac5e;
}
@media screen and (min-width: 48em), print {
  .monshin_btn, .monshin a {
    transition: 0.3s;
  }
  .monshin_btn:hover, .monshin a:hover {
    background: rgb(250.2, 174.6627737226, 74.8);
  }
}

.monshin_btn {
  display: inline-flex;
  align-items: center;
  column-gap: 3.8em;
  padding-right: 1.2em;
  font-weight: bold;
  line-height: 1;
  border-radius: 0.5rem;
  width: 230px;
}
.monshin_btn::before {
  flex: none;
  width: 1.4em;
  font-size: 2.6rem;
  line-height: 1.36;
  text-align: center;
  border-right: 1px solid #e4a148;
}
@media screen and (min-width: 48em), print {
  .monshin_btn {
    column-gap: 56px;
    padding-right: 40px;
    letter-spacing: 0.1em;
    border-radius: 10px;
  }
  .monshin_btn::before {
    width: 1.8em;
    font-size: 166.5%;
    line-height: 1.8;
  }
}

.timetable {
  width: 100%;
  border-collapse: collapse;
  line-height: 1;
}
.timetable caption {
  caption-side: bottom;
  margin-top: 0.2em;
  text-align: left;
  line-height: 1.4;
}
.timetable caption em {
  display: block;
  margin: 0.5em 0;
  color: #f14f43;
}
.timetable caption p {
  margin-bottom: 0.5em;
}
.timetable caption span {
  font-weight: bold;
}
.timetable thead th {
  padding: 0 0 0.6rem;
  border-bottom: 0.2rem solid #d2c565;
}
.timetable thead th:first-child {
  width: 33%;
}
.timetable thead th:last-child {
  width: 10%;
  letter-spacing: -0.05em;
}
.timetable tbody th {
  font-family: "Roboto", sans-serif;
  white-space: nowrap;
  border-bottom: 1px solid #aaa;
}
.timetable tbody td {
  text-align: center;
  padding: 1rem 0;
  border-bottom: 1px solid #aaa;
  color: #9ab875;
}
.timetable tbody td.close {
  color: #c8c1bd;
}

@media screen and (min-width: 48em), print {
  .timetable {
    table-layout: fixed;
  }
  .timetable caption em {
    letter-spacing: 0.02em;
  }
  .timetable caption p {
    font-size: 88%;
    line-height: 1.63;
  }
  .timetable caption p br {
    display: none;
  }
  .timetable caption span {
    font-size: 88%;
    letter-spacing: 0.04em;
  }
  .timetable thead th {
    padding: 0 0 0.66em;
    border-bottom-width: 4px;
  }
  .timetable thead th:first-child {
    width: 31%;
  }
  .timetable thead th:last-child {
    letter-spacing: 0;
  }
  .timetable tbody th {
    padding: 0.83em 4%;
    letter-spacing: 0.05em;
    text-align: right;
  }
  .timetable tbody td {
    padding: 1em 0;
    font-size: 88%;
  }
}
.gmap {
  width: 100%;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.gmap_btn {
  text-align: center;
}
.gmap_btn a {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 1.3em;
  padding: 0.6em 1.1em;
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
  background: #9ab875;
  border-radius: 5px;
}
.gmap_btn a::before, .gmap_btn a::after {
  font-family: "fontello";
  font-weight: normal;
  font-size: 124%;
}
.gmap_btn a::before {
  content: "\ea28";
}
.gmap_btn a::after {
  content: "\ea26";
}
@media screen and (min-width: 48em), print {
  .gmap_btn a {
    padding: 0.4em 1.1em;
    column-gap: 1.5em;
    transition: 0.3s;
  }
  .gmap_btn a::before, .gmap_btn a::after {
    font-size: 188%;
  }
  .gmap_btn a:hover {
    background: #779a53;
  }
}

html {
  font-size: 3.125vw;
  font-family: YuGothic, "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "Hiragino Sans", Meiryo, sans-serif;
}

body {
  color: #535353;
  background: #fff;
  word-wrap: break-word;
}
body.spnav_modal {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

.main {
  font-size: 1.3rem;
}
.main.wrap {
  padding: 1.5rem 1.3rem 4rem;
}
.main.wrap p, .main.wrap dd {
  text-align: justify;
}
.main.wrap li {
  text-align: justify;
}
.main.wrap li.buttons {
  text-align: center;
}
.main.wrap li.buttons a.killclick {
  pointer-events: auto;
}

.border_darkgreen {
  border-radius: 30px;
  border: 2px solid #779a53;
}

@media screen and (min-width: 48em), print {
  html {
    font-size: 62.5%;
    font-weight: 500;
  }
  body {
    min-width: 1360px;
  }
  .wrap {
    width: 1200px;
    margin: auto;
  }
  .main {
    font-size: 1.6rem;
  }
  .main.wrap {
    width: 1100px;
    padding: 60px 0 80px;
    line-height: 1.87;
  }
  .main.wrap li.buttons a.killclick {
    pointer-events: none;
  }
}
.header {
  border-top: 0.5rem solid #d1be18;
}
.header .wrap {
  padding: 0.5rem 1rem 1rem;
}
.header .wrap .logo {
  width: 84%;
  height: 4.4rem;
}
.header .wrap .logo img {
  height: 4.4rem;
}
.header .wrap .logo a {
  display: block;
}
body#page_index .header .wrap .logo a {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-image: url(../img/logo.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.header .wrap .clinic_contact {
  margin-top: 0.8rem;
}
.header .wrap .clinic_contact ul {
  text-align: center;
}
.header .wrap .clinic_contact ul li.tel {
  display: none;
  font-size: 1.2rem;
  line-height: 1.25;
}
.header .wrap .clinic_contact .acs {
  margin-top: 0.3rem;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  background: #779a53;
}
.header .wrap .clinic_contact .acs br {
  display: none;
}
.header .wrap .clinic_contact .rsv {
  display: none;
}
.header .wrap .clinic_contact .line {
  display: none;
}

@media screen and (min-width: 48em), print {
  .header {
    width: 100%;
    min-height: 450px;
    border-top-width: 10px;
  }
  .header .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 130px;
    padding: 0 0 10px;
  }
  .header .wrap .logo {
    width: 498px;
    height: 80px;
  }
  .header .wrap .logo img {
    height: 80px;
  }
  .header .wrap .clinic_contact {
    display: flex;
    justify-content: flex-end;
    column-gap: 10px;
    height: 80px;
    margin-top: 0;
  }
  .header .wrap .clinic_contact ul {
    padding: 0 10px;
    text-align: left;
  }
  .header .wrap .clinic_contact ul li.tel {
    display: block;
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    font-size: 2.8rem;
    letter-spacing: 0.04em;
    line-height: 1.37;
  }
  .header .wrap .clinic_contact ul li.adr {
    margin-top: 5px;
    font-weight: bold;
    font-size: 1.3rem;
  }
  .header .wrap .clinic_contact .acs {
    /*display: grid;*/
    justify-content: center;
    align-items: center;
    width: 208px;
    height: 80px;
    margin-top: 0;
    padding: 1.2rem;
    font-weight: bold;
    font-size: 1.6rem;
    /*line-height: 1.35;*/
    color: #fff;
    background: #779a53;
  }
  .header .wrap .clinic_contact .acs br {
    display: block;
  }
  .header .wrap .clinic_contact .acs::before {
    margin-right: 0.5rem;
    font-family: "fontello";
    font-weight: normal;
    content: "\ea29";
  }
  .header .wrap .clinic_contact .rsv {
    display: block;
  }
  .header .wrap .clinic_contact .rsv a {
    display: grid;
    justify-items: center;
    align-content: space-evenly;
    width: 80px;
    height: 80px;
    font-weight: bold;
    font-size: 1.3rem;
  }
  .header .wrap .clinic_contact .rsv a::before {
    font-size: 4.9rem;
    line-height: 1;
  }
  .header .wrap .clinic_contact .line {
    display: block;
  }
  .header .wrap .clinic_contact .line a {
    display: grid;
    justify-items: center;
    align-content: space-evenly;
    width: 80px;
    height: 80px;
    font-weight: bold;
    font-size: 1.3rem;
  }
  .header .wrap .clinic_contact .line a::before {
    font-size: 3.9rem;
    line-height: 1;
  }
  body#page_index .header {
    min-height: 200px;
  }
}
@media screen and (min-width: 48em), print {
  .js-pc_sticky {
    position: static;
    height: 190px;
  }
  .js-pc_sticky .wrap {
    transition: height 0.5s;
  }
  .js-pc_sticky.is_sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 5;
    width: 100%;
    height: 150px;
    background: rgba(255, 255, 255, 0.9);
  }
  .js-pc_sticky.is_sticky .wrap {
    width: 100%;
    max-width: 1200px;
    height: 100px;
  }
  .js-pc_sticky.is_sticky #nav .gnav {
    width: 100%;
    max-width: 1200px;
    height: 40px;
  }
  .js-pc_sticky.is_sticky #nav .gnav li {
    white-space: nowrap;
  }
}
@media print {
  .header {
    padding-top: 0 !important;
  }
  .js-pc_sticky.is_sticky {
    position: static;
    height: 190px;
  }
}
.js-menu_box {
  display: none;
}

@media screen and (max-width: 47.99em) {
  .js-sp_modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    transition: all 0.5s;
  }
  .js-sp_modal.is_overlay {
    position: fixed;
    bottom: 4rem;
    right: 0;
    width: 100vw;
    max-height: 100vh;
    background: rgba(255, 255, 255, 0.9);
  }
  .js-sp_box {
    height: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-3rem);
    transition: 0.5s ease;
  }
  .js-sp_box.is_open {
    height: auto;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}
#nav {
  width: 100%;
}
#nav #sp_menu {
  position: absolute;
  top: 1rem;
  right: 0.8rem;
  width: 4rem;
  height: 4.4rem;
  margin: 0;
  padding: 0;
  line-height: 1.2;
  text-align: center;
  color: #fff;
  background: #9ab875;
  border: none;
  border-radius: 0.3rem;
}
#nav #sp_menu::before {
  display: block;
  font-family: "fontello";
  font-size: 2rem;
  content: "\e971";
  transition: 0.3s;
}
#nav #sp_menu::after {
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
  content: "MENU";
}
#nav #sp_menu.close::before {
  content: "\e970";
  transform: rotate(180deg);
}
#nav #sp_menu.close::after {
  content: "CLOSE";
}
#nav #sp_menu span {
  display: none;
}
#nav .gnav {
  position: absolute;
  top: 6rem;
  left: 0;
  z-index: 5;
  overflow-y: auto;
  width: 100vw;
  max-height: 75vh;
  padding: 1rem 1.6rem;
  font-size: 1.4rem;
  color: #535353;
  background: #fff;
  border-top: 1rem solid #9ab875;
  border-bottom: 1rem solid #9ab875;
}
#nav .gnav > li {
  font-weight: bold;
  border-bottom: 1px solid #e1e1e1;
}
#nav .gnav > li a {
  display: block;
  padding: 1rem;
}
#nav .gnav > li .sub_btn {
  display: flex;
  justify-content: space-between;
  padding: 1rem;
  cursor: pointer;
}
#nav .gnav > li .sub_btn::after {
  font-family: "fontello";
  font-size: 120%;
  line-height: 1;
  content: "t";
  color: #d2c565;
}
#nav .gnav > li .sub_btn.close::after {
  content: "y";
}
#nav .gnav > li .subnav {
  font-weight: normal;
  color: #fff;
  background: rgba(154, 184, 117, 0.8);
}
#nav .gnav > li .subnav li {
  border-top: 1px solid #fff;
}

@media screen and (min-width: 48em), print {
  #nav {
    position: relative;
    width: 100%;
  }
  #nav #sp_menu {
    display: none;
  }
  #nav .gnav {
    position: relative;
    top: 0;
    left: 0;
    overflow-y: visible;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 1200px;
    height: 50px;
    margin: 0 auto;
    padding: 0;
    font-size: 1.6rem;
    background: transparent;
    border: none;
  }
  #nav .gnav > li {
    flex: 1;
    height: 35px;
    text-align: center;
    border-bottom: none;
    border-right: 1px solid #e1e1e1;
  }
  #nav .gnav > li:first-child {
    border-left: 1px solid #e1e1e1;
  }
  #nav .gnav > li.sub {
    position: relative;
  }
  #nav .gnav > li > a, #nav .gnav > li .sub_btn {
    display: block;
    padding: 0 1em;
    line-height: 35px;
    white-space: nowrap;
    transition: 0.3s;
  }
  #nav .gnav > li > a:hover, #nav .gnav > li .sub_btn:hover {
    color: #d2c565;
  }
  #nav .gnav > li .sub_btn::after {
    display: block;
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    font-size: 100%;
    line-height: 10px;
  }
  #nav .gnav > li .sub_btn.close {
    color: #d2c565;
  }
  #nav .gnav > li .subnav {
    position: absolute;
    top: 51px;
    left: 50%;
    width: 240px;
    background: rgba(154, 184, 117, 0.95);
    transform: translateX(-50%);
  }
  #nav .gnav > li .subnav li a {
    padding: 0;
    line-height: 52px;
  }
  #nav .gnav > li .subnav li a:hover {
    color: #fff;
    background: #779a53;
  }
}
.overview {
  padding: 2.5rem 1rem;
  font-size: 1.3rem;
  background: #fff;
  border-top: 0.5rem solid #fef9ed;
}
.overview .clinic_name {
  position: relative;
  left: -0.5rem;
  margin-bottom: 1.5rem;
}
.overview .clinic_name img {
  max-width: 90%;
  margin: auto;
}
.overview .clinic_contact {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1.5rem;
  margin: 0 auto 1rem;
}
.overview .clinic_contact .tel.ico {
  text-align: center;
  font-size: 2rem;
}
.overview .clinic_contact .sns {
  font-size: 1rem;
}
.overview .taptel a, .overview a.killclick {
  pointer-events: auto;
}
.overview .taptel.ico {
  text-align: center;
  font-size: 2rem;
}
.overview .taptel.ico::before {
  margin-right: 8px;
  font-family: "fontello";
  font-weight: normal;
  content: "\ea29";
  color: #84a363;
}
.overview .clinic_outline {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem 1.2rem;
  width: 95%;
  margin: 0 auto 2rem;
  line-height: 1.25;
}
.overview .clinic_outline dt {
  width: 5.5em;
  padding: 0.2rem 0;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #9ab875;
  border-radius: 5px;
}
.overview .clinic_outline dd {
  flex-grow: 1;
  width: calc(100% - 7em);
  padding: 0.2rem 0;
}
.overview .timetable {
  margin: 2rem 0 0;
}
.overview .gmap {
  height: 30rem;
  margin: 2.5rem 0 1.5rem;
}

@media screen and (min-width: 48em), print {
  .overview {
    padding: 100px 0;
    font-size: 1.6rem;
    border-top-width: 10px;
  }
  .overview .wrap {
    display: flex;
    justify-content: space-between;
  }
  .overview .wrap_col {
    width: 550px;
  }
  .overview .clinic_name {
    left: 0;
    margin-bottom: 32px;
  }
  .overview .clinic_name img {
    max-width: 498px;
    margin: 0;
  }
  .overview .clinic_contact {
    column-gap: 40px;
    margin: 0 auto 25px;
  }
  .overview .clinic_contact .tel.ico {
    font-weight: 500;
    font-size: 3.2rem;
    letter-spacing: 0.04em;
  }
  .overview .clinic_contact .sns {
    font-size: 1.6rem;
    line-height: 1;
  }
  .overview .taptel a, .overview a.killclick {
    pointer-events: none !important;
  }
  .overview .taptel.ico {
    font-weight: 600;
    font-size: 3.2rem;
    letter-spacing: 0.04em;
  }
  .overview .clinic_outline {
    gap: 11px 20px;
    width: 100%;
    margin: 0 0 32px;
  }
  .overview .clinic_outline dt {
    width: 95px;
    padding: 6px 0;
    font-size: 1.5rem;
    line-height: 1.2;
  }
  .overview .clinic_outline dd {
    width: 390px;
    padding: 2px 0;
    font-size: 1.7rem;
    line-height: 1.58;
  }
  .overview .clinic_outline dd.acs br {
    display: none;
  }
  .overview .timetable {
    margin: 32px 0 0;
    font-size: 1.8rem;
  }
  .overview .gmap {
    height: 600px;
    margin: 0 0 32px;
  }
  .overview .gmap_btn {
    font-size: 1.8rem;
  }
}
.footer {
  padding: 0 0 4rem;
  line-height: 1;
  text-align: center;
}
.footer ul {
  display: none;
}
.footer .copyright {
  display: block;
  padding: 0.6rem 1rem;
  font-size: 1.2rem;
  color: #fff;
  background: #cdb800;
}

@media screen and (min-width: 48em), print {
  .footer {
    padding: 38px 0 0;
    background: #fef9ed;
  }
  .footer ul {
    display: block;
    margin: 0 auto;
    font-weight: bold;
    font-size: 1.7rem;
  }
  .footer ul li {
    display: inline-block;
    -webkit-text-size-adjust: none;
  }
  .footer ul li a {
    transition: 0.3s;
  }
  .footer ul.gnav {
    display: flex;
    justify-content: space-between;
    width: 1000px;
    line-height: 1.2;
  }
  .footer ul.gnav li a {
    transition: 0.3s;
    border-bottom: 2px solid transparent;
  }
  .footer ul.gnav li a::before {
    margin-right: 4px;
    font-family: "fontello";
    content: "j";
    color: #779a53;
  }
  .footer ul.gnav li a:hover {
    border-bottom-color: #779a53;
  }
  .footer ul.gnav .sub {
    display: none;
  }
  .footer ul.subnav {
    width: 705px;
    margin-top: 16px;
    line-height: 1.76;
    text-align: center;
    letter-spacing: -0.4em;
  }
  .footer ul.subnav li {
    letter-spacing: 0;
  }
  .footer ul.subnav li:not(:last-child)::after {
    margin: 0 6px;
    font-weight: normal;
    content: "|";
  }
  .footer ul.subnav li:nth-child(5)::after {
    display: none;
  }
  .footer ul.subnav li a:hover {
    color: #9ab875;
  }
  .footer .copyright {
    margin: 34px 0 0;
    padding: 24px 0;
    font-weight: bold;
    font-size: 1.6rem;
  }
}
.js-floating {
  position: fixed;
}
@media screen and (max-width: 47.99em) {
  .js-floating {
    left: 0;
    right: 0;
    bottom: 0;
  }
}
@media screen and (min-width: 48em), print {
  .js-floating {
    left: auto;
    right: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
  }
  .js-floating.is_active {
    opacity: 1;
    visibility: visible;
  }
}

.pageup {
  position: fixed;
  inset: auto 0 7.6rem auto;
  z-index: 1;
}
.pageup #pageup {
  cursor: pointer;
  width: 4rem;
  height: 4rem;
  background: #779a53;
  border: none;
  text-align: center;
  padding: 0.4rem;
  line-height: 0.9;
  border: 1px solid #fff;
}
.pageup #pageup::before {
  display: block;
  font-family: "fontello";
  color: #fff;
  font-size: 3.8rem;
  content: "3";
}
.pageup #pageup .clip {
  display: block;
  font-size: 1rem;
  clip-path: inset(50%);
  color: transparent;
  position: absolute;
  inset: 0;
  z-index: 0;
}

@media screen and (min-width: 48em), print {
  .pageup {
    inset: auto 30px 30px auto;
  }
  .pageup #pageup {
    background: rgba(154, 184, 117, 0.8);
    width: 50px;
    height: 50px;
    font-size: 4.5rem;
    border: 2px solid #fff;
    border-radius: 10px;
  }
  .pageup #pageup:hover {
    background: #779a53;
  }
}
#tel_up {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: auto;
  font-size: 1.4rem;
  background: #fff;
}
#tel_up ul {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  width: 100%;
}
#tel_up ul li a {
  display: block;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  border: 3px solid currentColor;
  padding: 0.5rem 0;
}
#tel_up ul li a::before {
  margin-right: 0.5rem;
}
#tel_up ul li.call {
  width: 50%;
}
#tel_up ul li.call a {
  color: #84a363;
}
#tel_up ul li.rsv {
  flex: 1;
}
#tel_up ul li.rsv a {
  color: #e7ac5e;
  background: #fff;
}
#tel_up ul li.line {
  flex: 1;
}
#tel_up ul li.line a {
  position: relative;
  color: #06c755;
  background: #fff;
}
#tel_up ul li.line a span {
  position: absolute;
  margin: auto;
  inset: auto 0 0;
  display: inline-block;
  font-size: 80%;
  line-height: 1.5rem;
}

@media screen and (min-width: 48em), print {
  #tel_up {
    display: none;
  }
}
a.bnr_inline_b img {
  display: inline;
}

.js-fade {
  opacity: 0;
}
.js-fade.is_active {
  animation: fadeUp 2s cubic-bezier(0.4, 0.4, 0, 0.9) 0s forwards;
}
@media screen and (min-width: 48em), print {
  .js-fade.is_active {
    animation: fadeUp 1s cubic-bezier(0.4, 0.4, 0, 0.9) 0.2s forwards;
  }
}

.js-fades > * {
  opacity: 0;
}
.js-fades.is_active > * {
  animation: fadeUp 0.7s ease-out 0.7s forwards;
}

.features_tit::before, .symptoms_tit::before, .medical_tit::before {
  display: block;
  margin-bottom: 0.5em;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 78%;
  content: attr(data-title);
  color: #d2c565;
}

.hero {
  position: relative;
  z-index: 0;
  width: 100%;
}

#keyvsl {
  position: relative;
  max-width: 100%;
  height: 30rem;
  background-image: url(../img/index_keyvsl01.webp);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}
#keyvsl .catch {
  position: absolute;
  bottom: 1.4rem;
  left: 0;
  margin: 0 1rem;
  padding: 1rem;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: rgba(209, 190, 24, 0.9);
}
#keyvsl .catch.is_active {
  animation: fadeIn 2s ease-in-out 0.2s forwards;
}

@media screen and (min-width: 48em), print {
  .hero {
    height: 806px;
    padding-bottom: 0;
    padding-left: calc(50% - 600px);
    background: linear-gradient(#fff 276px, transparent 276px, transparent 776px, #fff 776px), linear-gradient(270deg, transparent calc(50% + 210px), #fefbe7 calc(50% + 210px));
    overflow-x: clip;
  }
  #keyvsl {
    height: 706px;
    background-size: auto;
  }
  #keyvsl .catch {
    left: 600px;
    bottom: -100px;
    width: 660px;
    padding: 36px 34px;
    font-size: 2.7rem;
    letter-spacing: 0.04em;
    line-height: 1.6;
    background: rgba(209, 190, 24, 0.84);
  }
  #keyvsl .catch.is_active {
    animation: fadeIn 2s cubic-bezier(0.4, 0.4, 0, 0.9) 0s forwards;
  }
}
.news_title {
  cursor: pointer;
}

.news_body {
  word-wrap: break-word;
}
.news_body a {
  color: #9ab875;
}
.news_body:not(:nth-of-type(-n+3)) {
  display: none;
}

.information {
  padding: 3.5rem 1rem 2.5rem;
}
.information_tit {
  margin-bottom: 1.6rem;
  padding-bottom: 1rem;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.2;
  text-align: center;
  color: #779a53;
  border-bottom: 2px solid #78b136;
}
.information_box {
  padding-bottom: 1em;
  border-bottom: 1px solid #e8e8e8;
}
.information_box dt {
  margin-bottom: 0.2rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-weight: bold;
  font-size: 1.4rem;
  color: #779a53;
}
.information_box dt::before {
  font-family: "fontello";
  font-weight: normal;
  font-size: 2.3rem;
  line-height: 0.7;
  vertical-align: text-top;
  content: "4";
  color: #688045;
}
.information_box dt:not(:first-of-type) {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px solid #e8e8e8;
}
.information_box dt.close::before {
  content: "3";
}
.information_box dd {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

@media screen and (min-width: 48em), print {
  .information {
    padding: 80px 0 130px;
  }
  .information_tit {
    margin-bottom: 28px;
    padding-bottom: 18px;
    font-size: 3rem;
    line-height: 1.3;
  }
  .information_box {
    padding-bottom: 25px;
  }
  .information_box dt {
    margin-bottom: 5px;
    padding-left: 0;
    font-size: 1.8rem;
  }
  .information_box dt::before {
    display: inline-block;
    width: 45px;
    padding-left: 10px;
    font-size: 3.2rem;
    line-height: 0.7;
    text-align: center;
  }
  .information_box dt:not(:first-of-type) {
    margin-top: 25px;
    padding-top: 25px;
  }
  .information_box dt.close::before {
    content: "3";
  }
  .information_box dd {
    padding-left: 50px;
    padding-right: 50px;
    line-height: 1.625;
  }
}
.about {
  margin: 2rem 1rem 4rem;
}
.about_box .tit {
  margin: 0 0.5rem 1rem;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.2;
  color: #779a53;
}
.about_box .tit i {
  display: flex;
  align-items: center;
  column-gap: 1em;
  margin: 0 -0.5rem 1rem;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  color: #d2c565;
}
.about_box .tit i::after {
  flex-grow: 1;
  width: 5em;
  height: 2px;
  content: "";
  background: #d2c565;
}
.about_box .txt {
  margin: 0 1rem 0 0.5rem;
  text-align: justify;
}
.about_img {
  width: 95%;
  margin: 1rem 0;
  box-shadow: 1.5rem 1.5rem 0 0 #fef9ed;
}

@media screen and (min-width: 48em), print {
  .about {
    position: relative;
    width: 100%;
    margin: 0 0 210px;
    overflow-x: clip;
  }
  .about_box {
    width: 1200px;
    height: 610px;
    margin: 0 auto;
    padding-left: 650px;
  }
  .about_box .tit {
    margin: 0 0 20px;
    font-size: 4rem;
  }
  .about_box .tit i {
    margin: 0 0 24px;
    font-size: 3rem;
    letter-spacing: 0.05em;
  }
  .about_box .tit i::after {
    flex-grow: 0;
    width: 140px;
    height: 2px;
  }
  .about_box .txt {
    margin: 0;
    font-size: 1.8rem;
    line-height: 2.1;
  }
  .about_img {
    position: absolute;
    right: 50%;
    top: 0;
    width: auto;
    margin: 0;
    box-shadow: none;
  }
  .about_img::after {
    position: absolute;
    top: 180px;
    right: -110px;
    z-index: -1;
    display: block;
    width: 500px;
    height: 500px;
    content: "";
    background: #fef9ed;
  }
  .about_img img {
    max-width: none;
  }
}
.medical {
  padding: 3rem 1rem;
  background: #f1f5ed;
}
.medical_lst {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 0;
}
.medical_lst li {
  width: 50%;
}
.medical_lst li a {
  display: block;
  width: 40vw;
  height: 40vw;
  margin: 0 auto;
  padding: 0.1rem 0;
  font-weight: bold;
  font-size: 1.2rem;
  word-break: keep-all;
  text-align: center;
  color: #535353;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}
.medical_lst li a::before {
  display: block;
  width: 100%;
  height: 74%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  content: "";
}
.medical_lst li a.orthopaedic::before {
  background-image: url(../img/index_medical_orthopaedic.svg);
}
.medical_lst li a.hand_surgery::before {
  background-image: url(../img/index_medical_hand_surgery.svg);
}
.medical_lst li a.rehabilitation::before {
  background-image: url(../img/index_medical_rehabilitation.svg);
}
.medical_lst li a.arthrosis {
  line-height: 1.1;
}
.medical_lst li a.arthrosis::before {
  background-image: url(../img/index_medical_arthrosis.svg);
}
.medical_lst li a.osteoporosis::before {
  background-image: url(../img/index_medical_osteoporosis.svg);
}
.medical_lst li a.locomo {
  line-height: 1.1;
}
.medical_lst li a.locomo::before {
  background-image: url(../img/index_medical_locomo.svg);
}
.medical_lst li a.accidents::before {
  background-image: url(../img/index_medical_accidents.svg);
}
.medical_lst li a.regenmed::before {
  background-image: url(../img/index_medical_regenmed.svg);
}

@media screen and (min-width: 48em), print {
  .medical {
    padding: 58px 0 76px;
  }
  .medical_lst {
    gap: 50px 20px;
    padding: 0 50px;
  }
  .medical_lst li {
    width: 260px;
  }
  .medical_lst li a {
    width: 260px;
    height: 260px;
    padding: 20px 0;
    font-size: 1.7rem;
    line-height: 1;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    transition: 0.3s;
  }
  .medical_lst li a::before {
    height: 186px;
    margin-bottom: 14px;
    background-size: 160px auto;
    transition: 0.3s;
  }
  .medical_lst li a:hover {
    transform: translateY(-20px);
    font-size: 1.9rem;
    box-shadow: 0 15px 10px rgba(0, 0, 0, 0.3);
  }
  .medical_lst li a:hover::before {
    transform: scale(1.3);
  }
}
.symptoms {
  padding: 3rem 1rem;
  background: linear-gradient(#fff 20rem, #f6f5f3 20rem);
}
.symptoms_lst {
  padding: 15rem 0 0;
  background-image: url(../img/index_symptoms.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 15rem;
}
.symptoms_lst ul {
  width: 86%;
  margin: 0 auto;
}
.symptoms_lst ul li {
  margin-top: 0.8rem;
  padding: 0.8rem;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  color: #fff;
  background: #9ab875;
  border-radius: 0.5rem;
}
.symptoms_txt {
  margin: 2rem 0 0;
}

@media screen and (min-width: 48em), print {
  .symptoms {
    padding: 98px 0 60px;
    background: linear-gradient(#fff 430px, #f6f5f3 430px);
  }
  .symptoms_lst {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
    padding: 40px 0 18px;
    background-size: auto 660px;
  }
  .symptoms_lst ul {
    width: 384px;
    margin: 0;
  }
  .symptoms_lst ul li {
    height: 60px;
    margin-top: 30px;
    padding: 0;
    font-size: 2.2rem;
    line-height: 60px;
    border-radius: 14px;
  }
  .symptoms_txt {
    width: 1100px;
    margin: 40px auto 0;
    font-size: 2.2rem;
    line-height: 1.8;
  }
}
.features {
  margin: 3rem 0 2rem;
}
.features_lst {
  counter-reset: fNum 0;
}
.features_lst_box {
  display: flex;
  flex-direction: column;
  margin: 2rem 0 0;
  counter-increment: fNum 1;
}
.features_lst_box:not(:first-child) {
  box-shadow: 25px -20px 0 #fef9ed;
}
.features_lst_box > section {
  order: 2;
  padding: 0.8rem 2rem;
}
.features_lst_box > section .tit {
  position: relative;
  margin-bottom: 0.5rem;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.4;
}
.features_lst_box > section .tit::before {
  display: block;
  width: 50%;
  height: 1.2em;
  margin-bottom: 1.3em;
  margin-left: 2.5em;
  content: "";
  border-bottom: 2px solid #d1be18;
}
.features_lst_box > section .tit::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: 3.2rem;
  letter-spacing: 0.04em;
  content: counter(fNum, decimal-leading-zero);
  color: #d1be18;
}
.features_lst_box > section .txt {
  font-size: 1.4rem;
  text-align: justify;
}
.features_lst_box .img {
  order: 1;
}
.features_lst_box .img img, .features_lst_box .img video {
  max-width: 100%;
  margin: 0 auto;
}
.features .p_initial {
  padding: initial !important;
}
.features .p_50 {
  display: inline-block;
  padding: 0.8rem 2rem;
}
@media screen and (min-width: 48em), print {
  .features .p_50 {
    padding: 50px !important;
  }
}

@media screen and (min-width: 48em), print {
  .features {
    position: relative;
    margin: 0 0 160px;
    padding-top: 78px;
    overflow-x: clip;
  }
  .features::before, .features::after {
    position: absolute;
    z-index: -1;
    display: block;
    width: 100%;
    height: 550px;
    content: "";
  }
  .features::before {
    top: 626px;
    background: linear-gradient(90deg, #fef9ed calc(50% + 225px), transparent calc(50% + 225px));
  }
  .features::after {
    top: 1900px;
    background: linear-gradient(270deg, #fef9ed calc(50% + 225px), transparent calc(50% + 225px));
  }
  .features_lst {
    margin-top: 90px;
  }
  .features_lst_box {
    position: relative;
    display: block;
    min-height: 560px;
    margin: 0;
  }
  .features_lst_box:not(:first-child) {
    box-shadow: none;
  }
  .features_lst_box::before {
    position: absolute;
    z-index: -1;
    display: block;
    width: 250px;
    height: 250px;
    content: "";
    background: #fef9ed;
  }
  .features_lst_box > section {
    position: absolute;
    width: 520px;
    padding: 50px;
    text-align: left;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  }
  .features_lst_box > section .tit {
    margin-bottom: 0.5em;
    font-size: 2.8rem;
  }
  .features_lst_box > section .tit::before {
    width: 140px;
    height: 40px;
    margin-bottom: 42px;
    margin-left: 86px;
  }
  .features_lst_box > section .tit::after {
    font-size: 5.6rem;
    letter-spacing: 0.04em;
  }
  .features_lst_box > section .txt {
    font-size: 2rem;
    line-height: 1.75;
  }
  .features_lst_box .img img, .features_lst_box .img video {
    display: inline-block;
    max-width: 750px;
  }
  .features_lst_box:nth-child(1) {
    margin: 0 0 50px;
    text-align: right;
  }
  .features_lst_box:nth-child(1)::before {
    top: -90px;
    right: -80px;
  }
  .features_lst_box:nth-child(1) > section {
    bottom: 0;
    left: 0;
  }
  .features_lst_box:nth-child(2) {
    margin: 0 0 100px;
    padding-top: 60px;
  }
  .features_lst_box:nth-child(2)::before {
    display: none;
  }
  .features_lst_box:nth-child(2) > section {
    top: 0;
    right: 0;
  }
  .features_lst_box:nth-child(3) {
    margin: 0 0 50px;
    text-align: right;
  }
  .features_lst_box:nth-child(3)::before {
    display: none;
  }
  .features_lst_box:nth-child(3) > section {
    bottom: 0;
    left: 0;
  }
  .features_lst_box:nth-child(4) {
    margin: 0 0 90px;
    padding-top: 60px;
  }
  .features_lst_box:nth-child(4)::before {
    bottom: -90px;
    left: -90px;
  }
  .features_lst_box:nth-child(4) > section {
    top: 0;
    right: 0;
  }
  .features_lst_box:nth-child(5) {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  .features_lst_box:nth-child(5)::before {
    top: 340px;
    right: -90px;
  }
  .features_lst_box:nth-child(5) > section {
    order: 1;
    position: static;
    width: 410px;
    margin-top: 70px;
  }
  .features_lst_box:nth-child(5) > section .tit {
    font-size: 1.9rem;
  }
  .features_lst_box:nth-child(5) > section .tit::before {
    height: 30px;
    margin-bottom: 35px;
    margin-left: 56px;
  }
  .features_lst_box:nth-child(5) > section .tit::after {
    font-size: 4rem;
  }
}
.about_boccia {
  margin: 2rem 1rem 5rem;
  padding: 1.8rem 1.6rem 0;
  background: linear-gradient(#f1f5ed 0%, #fff 100%);
}
.about_boccia_box .tit {
  margin-bottom: 0.6rem;
  font-size: 1.8rem;
  line-height: 1.2;
}
.about_boccia_box .tit::before {
  display: block;
  margin-bottom: 0.4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  content: attr(data-title);
  color: #9ab875;
}
.about_boccia_box .txt {
  text-align: justify;
}
.about_boccia_box .btn {
  margin: 1em 0;
  text-align: center;
}
.about_boccia_img {
  width: 94%;
  margin: 0 auto;
}
.about_boccia_img img {
  border: 2px solid #fff;
  border-radius: 0.5rem;
}

@media screen and (min-width: 48em), print {
  .about_boccia {
    display: flex;
    justify-content: space-between;
    width: 1200px;
    margin: 150px auto;
    padding: 70px 50px 0;
    background: linear-gradient(#f1f5ed 0, #fff 180px);
  }
  .about_boccia_box {
    width: 550px;
  }
  .about_boccia_box .tit {
    margin-bottom: 10px;
    font-size: 2.8rem;
  }
  .about_boccia_box .tit::before {
    margin-bottom: 12px;
    font-size: 3rem;
  }
  .about_boccia_box .txt {
    font-size: 1.8rem;
    line-height: 1.9;
  }
  .about_boccia_box .btn {
    margin: 20px 0 0;
  }
  .about_boccia_box .btn a {
    width: 312px;
    font-size: 1.8rem;
    line-height: 1.9;
  }
  .about_boccia_img {
    width: 500px;
    margin: 0;
  }
  .about_boccia_img img {
    border-width: 4px;
    border-radius: 10px;
  }
}
.inquiry {
  margin: 0 1.5rem 3rem;
}
.inquiry a {
  position: relative;
  display: block;
  padding: 1.5rem;
  background-color: #fff;
  background-image: url(../img/icon_inquiry.png);
  background-repeat: no-repeat;
  background-position: right 0 bottom 1.8rem;
  background-size: 27vw auto;
  border: 3px solid #9ab875;
}
.inquiry a em {
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.3;
  color: #ac8f69;
}
.inquiry a p {
  margin: 0.8em 0 0;
}
.inquiry a::after {
  position: absolute;
  right: 0.8rem;
  bottom: 0.5rem;
  display: inline-block;
  font-family: "fontello";
  font-size: 2.6rem;
  line-height: 1;
  color: #779a53;
  content: "j";
}

@media screen and (min-width: 48em), print {
  .inquiry {
    width: 1000px;
    margin: 0 auto 170px;
  }
  .inquiry a {
    padding: 40px 210px 40px 42px;
    background-position: right 30px center;
    background-size: 176px auto;
    border-width: 4px;
    transition: 0.3s;
  }
  .inquiry a em {
    font-size: 3.2rem;
  }
  .inquiry a p {
    font-size: 2.4rem;
    line-height: 1.66;
  }
  .inquiry a::after {
    display: none;
  }
  .inquiry a:hover {
    filter: drop-shadow(0 0 15px rgba(119, 154, 83, 0.6));
  }
}
.heading {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 10rem;
  padding: 1rem;
  font-size: 2.2rem;
  line-height: 1.2;
  text-shadow: rgba(255, 255, 255, 0.6) 2px 0px 5px, rgba(255, 255, 255, 0.6) 1.75517px 0.958851px 5px, rgba(255, 255, 255, 0.6) 1.0806px 1.68294px 5px, rgba(255, 255, 255, 0.6) 0.141474px 1.99499px 5px, rgba(255, 255, 255, 0.6) -0.832294px 1.81859px 5px, rgba(255, 255, 255, 0.6) -1.60229px 1.19694px 5px, rgba(255, 255, 255, 0.6) -1.97998px 0.28224px 5px, rgba(255, 255, 255, 0.6) -1.87291px -0.701566px 5px, rgba(255, 255, 255, 0.6) -1.30729px -1.5136px 5px, rgba(255, 255, 255, 0.6) -0.421592px -1.95506px 5px, rgba(255, 255, 255, 0.6) 0.567324px -1.91785px 5px, rgba(255, 255, 255, 0.6) 1.41734px -1.41108px 5px, rgba(255, 255, 255, 0.6) 1.92034px -0.558831px 5px;
  background-image: url(../img/tit_heading.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
@media screen and (min-width: 48em), print {
  .heading {
    width: 100%;
    height: 250px;
    padding: 0;
    font-size: 3.7rem;
    letter-spacing: 0.05em;
    text-shadow: rgba(255, 255, 255, 0.5) 3px 0px 12px, rgba(255, 255, 255, 0.5) 2.83487px 0.981584px 12px, rgba(255, 255, 255, 0.5) 2.35766px 1.85511px 12px, rgba(255, 255, 255, 0.5) 1.62091px 2.52441px 12px, rgba(255, 255, 255, 0.5) 0.705713px 2.91581px 12px, rgba(255, 255, 255, 0.5) -0.287171px 2.98622px 12px, rgba(255, 255, 255, 0.5) -1.24844px 2.72789px 12px, rgba(255, 255, 255, 0.5) -2.07227px 2.16926px 12px, rgba(255, 255, 255, 0.5) -2.66798px 1.37182px 12px, rgba(255, 255, 255, 0.5) -2.96998px 0.42336px 12px, rgba(255, 255, 255, 0.5) -2.94502px -0.571704px 12px, rgba(255, 255, 255, 0.5) -2.59586px -1.50383px 12px, rgba(255, 255, 255, 0.5) -1.96093px -2.27041px 12px, rgba(255, 255, 255, 0.5) -1.11013px -2.78704px 12px, rgba(255, 255, 255, 0.5) -0.137119px -2.99686px 12px, rgba(255, 255, 255, 0.5) 0.850987px -2.87677px 12px, rgba(255, 255, 255, 0.5) 1.74541px -2.43999px 12px, rgba(255, 255, 255, 0.5) 2.44769px -1.73459px 12px, rgba(255, 255, 255, 0.5) 2.88051px -0.838247px 12px;
    background-size: auto;
  }
}
@media screen and (min-width: 2001px) {
  .heading {
    background-size: cover;
  }
}

.breadcrumbs {
  padding: 1rem;
  background: transparent;
}
.breadcrumbs li {
  display: inline-block;
}
.breadcrumbs li:first-child a {
  text-decoration: underline;
}
.breadcrumbs li:not(:first-child)::before {
  display: inline-block;
  margin: 0 0.4em 0 0.2em;
  font-weight: bold;
  font-family: "fontello";
  font-size: 120%;
  content: "2";
  color: #d1be18;
}
@media screen and (min-width: 48em), print {
  .breadcrumbs {
    width: 1200px;
    margin: 0 auto;
    padding: 12px 0 6px;
    font-size: 1.4rem;
  }
  .breadcrumbs a:hover {
    text-decoration: underline;
  }
}

.about_reha figure {
  margin: 0 auto 1.5rem;
  padding: 1rem 0.5rem;
  border: 1px solid #d6d6d6;
}
@media screen and (min-width: 48em), print {
  .about_reha figure {
    margin: 25px auto 20px;
    padding: 20px;
  }
  .about_reha figure img {
    max-width: 750px;
    margin: 0 auto;
  }
}

.accidents_flow {
  margin-top: 1.5rem;
}
.accidents_flow dt {
  margin-bottom: 0;
}
.accidents_flow dd {
  padding: 1.2rem 1rem;
  border-width: 0 1px 1px 1px;
  border-style: solid;
  border-color: #d6d6d6;
}
@media screen and (min-width: 48em), print {
  .accidents_flow {
    margin-top: 25px;
  }
  .accidents_flow dd {
    padding: 20px;
  }
  .accidents_flow dd:not(:last-child) {
    margin-bottom: 50px;
  }
}

.regenmed_flow {
  margin: 1.5rem 0 2.5rem;
}
.regenmed_flow dd:not(:last-child)::after {
  bottom: -30px;
}
.regenmed_flow dd img {
  max-width: 70%;
  margin: 0 auto 0.5rem;
}
.regenmed_flow dd img.w100 {
  max-width: 100%;
}
.regenmed_flow dd p {
  margin-bottom: 0;
}
.regenmed_flow dd p span {
  display: inline-block;
  margin-top: 0.3em;
}
@media screen and (min-width: 48em), print {
  .regenmed_flow {
    margin: 18px 10px 25px;
  }
  .regenmed_flow dd {
    display: flex;
    column-gap: 50px;
    padding: 0 5px;
  }
  .regenmed_flow dd:not(:last-child)::after {
    bottom: -2.5rem;
  }
  .regenmed_flow dd img {
    max-width: 220px;
    margin: 0;
  }
  .regenmed_flow dd img.w100 {
    max-width: 440px;
  }
  .regenmed_flow dd p {
    margin: 1em 0 0;
  }
}

body#page_doctor .doctor_greeting .signature {
  margin-top: 1.5em;
  text-align: right;
}
body#page_doctor .bio {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5em 0.4em;
}
body#page_doctor .bio dt {
  width: 4em;
  white-space: nowrap;
}
body#page_doctor .bio dd {
  width: calc(100% - 4.5em);
}
body#page_doctor .overview {
  padding: 0.5rem 0 2.5rem;
}
body#page_doctor .overview::before {
  display: block;
  width: 100%;
  height: 24.5rem;
  margin: 0 0 2rem;
  background-image: url(../img/doctor_keyvsl.webp);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  content: "";
}
body#page_doctor .overview .wrap {
  padding: 0 1rem;
}
@media screen and (min-width: 48em), print {
  body#page_doctor .doctor_profile {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  body#page_doctor .doctor_profile > :nth-child(1) {
    width: 55%;
  }
  body#page_doctor .doctor_profile > :nth-child(2) {
    width: 40%;
  }
  body#page_doctor .doctor_profile section {
    margin-top: 45px;
  }
  body#page_doctor .doctor_profile section .bio {
    margin: 16px 12px 0;
  }
  body#page_doctor .doctor_profile section .lst_ul {
    margin: 16px 8px 0;
  }
  body#page_doctor .overview {
    padding: 10px 0 80px;
  }
  body#page_doctor .overview::before {
    height: 1030px;
    margin: 0 0 40px;
  }
  body#page_doctor .overview .wrap {
    padding: 0;
  }
}

body#page_clinic .clinic_device figure figcaption {
  margin-top: 0.3em;
  text-align: center;
}
@media screen and (min-width: 48em), print {
  body#page_clinic .clinic_device {
    display: flex;
    gap: 30px;
  }
}

.slider-pro img, .slider-pro p {
  display: none;
}

#clinic_slide .sp-black, #device_slide .sp-black {
  background: rgba(119, 154, 83, 0.8);
}
#clinic_slide .sp-layer, #device_slide .sp-layer {
  text-align: center;
  font-size: 3.2rem;
}
#clinic_slide .sp-selected-thumbnail, #device_slide .sp-selected-thumbnail {
  border: 4px solid rgba(119, 154, 83, 0.8);
}
@media screen and (max-width: 47.99em) {
  #clinic_slide .sp-previous-arrow, #device_slide .sp-previous-arrow {
    left: 8px;
  }
  #clinic_slide .sp-next-arrow, #device_slide .sp-next-arrow {
    right: 8px;
  }
}
@media screen and (min-width: 48em), print {
  #clinic_slide .sp-layer, #device_slide .sp-layer {
    font-size: 2.4rem;
  }
}

body#page_visitor .visitor_attention {
  margin: 1.8rem 0.3rem 0;
  padding: 0.8em 1em;
  border: 2px solid #9ab875;
  border-radius: 0.5rem;
}
body#page_visitor .visitor_attention .tit_03 {
  background: #9ab875;
}
body#page_visitor .visitor_attention ul {
  margin: 1em 0;
}
body#page_visitor .visitor_attention ul > li {
  padding-left: 1em;
}
body#page_visitor .visitor_attention ul > li::before {
  display: inline-block;
  margin-left: -1.1em;
  margin-right: 0.1em;
  content: "■";
  color: #d1be18;
}
body#page_visitor .visitor_attention ul > li:not(:first-child) {
  margin-top: 0.5em;
}
body#page_visitor .visitor_attention > :last-child {
  margin-bottom: 0;
}
body#page_visitor .about_rsv .buttons {
  display: flex;
  text-align: center;
  justify-content: center;
  column-gap: 2rem;
  margin-bottom: 1.5rem;
}
body#page_visitor .about_line {
  margin: 0 0.3rem 1em;
  padding: 1em;
  border: 2px solid #05b34d;
  border-radius: 0.5rem;
}
body#page_visitor .about_line .tit {
  margin-bottom: 1rem;
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
  color: #05b34d;
}
body#page_visitor .about_line dl dt {
  margin-bottom: 0.2em;
  padding: 0.1em;
  font-weight: bold;
  border-bottom: 2px dotted #ccc;
}
body#page_visitor .about_line dl dt:not(:first-of-type) {
  margin-top: 0.8em;
}
body#page_visitor .dl_flow dt, body#page_visitor .accidents_flow dt, body#page_visitor .regenmed_flow dt {
  padding: 1rem 1.4rem 0.5rem;
  font-weight: bold;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
  background: #d2c565;
}
body#page_visitor .dl_flow dd, body#page_visitor .accidents_flow dd, body#page_visitor .regenmed_flow dd {
  padding: 1rem 1.2rem;
  border: 2px solid #d2c565;
}
body#page_visitor .dl_flow dd:not(:last-child)::after, body#page_visitor .accidents_flow dd:not(:last-child)::after, body#page_visitor .regenmed_flow dd:not(:last-child)::after {
  border-color: #d2c565 transparent transparent transparent;
}
@media screen and (min-width: 48em), print {
  body#page_visitor .visitor_notice > li {
    line-height: 1.5;
  }
  body#page_visitor .visitor_attention {
    margin: 25px 5px 0;
    padding: 25px 30px;
    border-radius: 10px;
  }
  body#page_visitor .visitor_attention ul {
    margin: 1em;
  }
  body#page_visitor .visitor_attention ul > li:not(:first-child) {
    margin-top: 0;
  }
  body#page_visitor .about_rsv p {
    text-align: center;
  }
  body#page_visitor .about_rsv .buttons {
    column-gap: 60px;
    margin-top: 30px;
  }
  body#page_visitor .about_rsv .buttons a {
    min-width: 230px;
    font-size: 1.8rem;
  }
  body#page_visitor .about_line {
    margin: 22px 5px;
    padding: 20px 30px;
    border-radius: 10px;
  }
  body#page_visitor .about_line .tit {
    margin-bottom: 20px;
    font-size: 2.4rem;
  }
  body#page_visitor .about_line dl dt {
    font-size: 1.8rem;
  }
  body#page_visitor .dl_flow dt, body#page_visitor .accidents_flow dt, body#page_visitor .regenmed_flow dt {
    padding: 14px 30px 10px;
    font-size: 2rem;
  }
  body#page_visitor .dl_flow dd, body#page_visitor .accidents_flow dd, body#page_visitor .regenmed_flow dd {
    padding: 18px 28px;
  }
}

body#page_access .timetable {
  margin-top: 2.5rem;
}
body#page_access .timetable thead th {
  font-size: 92%;
}
body#page_access .timetable tbody td {
  font-size: 107.5%;
}
body#page_access .access_info dt, body#page_access .access_map dt {
  padding: 0.4rem 1rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #fff;
  background: #9ab875;
}
body#page_access .access_info dd {
  padding: 0.8rem 0.8rem 1rem;
}
body#page_access .access_map dd {
  margin: 0.3rem 0 1.2rem;
}
body#page_access .access_map .gmap {
  height: 35rem;
}
@media screen and (min-width: 48em), print {
  body#page_access .timetable {
    margin-top: 50px;
    font-size: 2rem;
  }
  body#page_access .timetable caption {
    margin-top: 10px;
  }
  body#page_access .timetable thead th {
    padding-bottom: 1em;
    font-size: 100%;
  }
  body#page_access .timetable thead th:last-child {
    width: 12%;
    padding-right: 20px;
  }
  body#page_access .timetable tbody th {
    text-align: center;
  }
  body#page_access .timetable tbody td {
    padding: 1.2em 0;
  }
  body#page_access .timetable tbody td:last-child {
    padding-right: 20px;
  }
  body#page_access .access_info {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 1.8rem;
  }
  body#page_access .access_info dt {
    flex-grow: 1;
    width: 15%;
    padding: 10px 20px;
  }
  body#page_access .access_info dd {
    width: 80%;
    padding: 10px 20px;
  }
  body#page_access .access_info dd br {
    display: none;
  }
  body#page_access .access_info dd.tel {
    line-height: inherit;
  }
  body#page_access .access_info dd.gmap {
    width: 100%;
    height: 500px;
    padding: 0;
  }
  body#page_access .access_map {
    font-size: 1.8rem;
  }
  body#page_access .access_map dt {
    margin: 25px 0 10px;
    padding: 10px 20px;
  }
  body#page_access .access_map dd {
    padding: 0;
  }
  body#page_access .access_map .gmap {
    height: 500px;
  }
}

#access_slide .sp-black, #access_bus_slide .sp-black, #access_bus_slide02 .sp-black {
  background: rgba(209, 190, 24, 0.9);
}
#access_slide .sp-layer, #access_bus_slide .sp-layer, #access_bus_slide02 .sp-layer {
  text-align: center;
  font-size: 2.8rem;
}
#access_slide .sp-selected-thumbnail, #access_bus_slide .sp-selected-thumbnail, #access_bus_slide02 .sp-selected-thumbnail {
  border: 4px solid rgba(209, 190, 24, 0.8);
}
@media screen and (max-width: 47.99em) {
  #access_slide .sp-previous-arrow, #access_bus_slide .sp-previous-arrow, #access_bus_slide02 .sp-previous-arrow {
    left: 8px;
  }
  #access_slide .sp-next-arrow, #access_bus_slide .sp-next-arrow, #access_bus_slide02 .sp-next-arrow {
    right: 8px;
  }
}
@media screen and (min-width: 48em), print {
  #access_slide .sp-slides-container, #access_slide .sp-thumbnails-container, #access_bus_slide .sp-slides-container, #access_bus_slide .sp-thumbnails-container, #access_bus_slide02 .sp-slides-container, #access_bus_slide02 .sp-thumbnails-container {
    left: 175px;
  }
  #access_slide .sp-layer, #access_bus_slide .sp-layer, #access_bus_slide02 .sp-layer {
    font-size: 2rem;
  }
}

body#page_boccia .btn {
  margin-top: 1.5em;
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (min-width: 48em), print {
  body#page_boccia .btn {
    font-size: 1.8rem;
    text-align: left;
  }
}

body#page_recruit .lst_ul {
  margin-left: 0.8em;
  margin-right: 1.5em;
}
body#page_recruit .lst_ul .point::before {
  display: inline-block;
  margin-left: -1.2em;
  margin-right: 0.1em;
  font-family: "fontello";
  font-size: 112.5%;
  line-height: 1;
  color: #f0d554;
  filter: drop-shadow(0 0 1px #ff0);
  content: "x";
}
body#page_recruit .tbl_recruit th {
  width: 26%;
}
body#page_recruit .tbl_recruit td {
  padding: 0.5rem 0.5rem 0.5rem 1rem;
}
body#page_recruit .tbl_recruit td .time {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0.5rem;
}
body#page_recruit .tbl_recruit td .time dt {
  width: 4em;
}
body#page_recruit .tbl_recruit td .time dd {
  width: calc(100% - 4em);
}
body#page_recruit .btn {
  text-align: center;
}
body#page_recruit .btn a {
  margin: 0.3em auto 0;
}
@media screen and (min-width: 48em), print {
  body#page_recruit .tbl_recruit th {
    width: 24%;
  }
  body#page_recruit .tbl_recruit td {
    padding: 20px 50px;
  }
  body#page_recruit .tbl_recruit td .time dt {
    width: 5em;
  }
  body#page_recruit .tbl_recruit td .time dd {
    width: calc(100% - 5em);
  }
  body#page_recruit .txt_c_pc {
    text-align: center;
  }
}

body#page_english .main section p, body#page_english .main section dd, body#page_english .main section li {
  text-align: left;
}
body#page_english .en_greetings .lst_ul {
  margin-left: 0.2em;
}
body#page_english .en_greetings .signature {
  margin-top: 2em;
}
body#page_english .en_profile .bio {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5em 0.4em;
  margin: 0 0.6em;
}
body#page_english .en_profile .bio dt {
  width: 3em;
  white-space: nowrap;
}
body#page_english .en_profile .bio dd {
  width: calc(100% - 4em);
}
body#page_english .en_information p {
  margin-left: 0.6em;
}
body#page_english .en_information .timetable caption {
  margin-top: 0.5rem;
  font-size: 1.1rem;
}
body#page_english .en_information .timetable thead th {
  width: 10%;
}
body#page_english .en_information .timetable thead th:first-child {
  width: 30%;
}
body#page_english .en_information .gmap {
  height: 30rem;
  margin-top: 2rem;
}
body#page_english .en_rsv .buttons {
  text-align: center;
  margin-bottom: 1.5rem;
}
body#page_english .en_rsv .buttons li {
  text-align: center;
}
body#page_english .en_rsv .buttons li:not(:first-of-type) {
  margin-top: 1.5rem;
}
body#page_english .en_rsv .buttons li a {
  min-width: 220px;
}
@media screen and (min-width: 48em), print {
  body#page_english .en_greetings .tit_03 {
    margin: 0 0 20px;
  }
  body#page_english .en_greetings .lst_ul {
    margin-left: 8px;
  }
  body#page_english .en_profile {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  body#page_english .en_profile > :nth-child(1) {
    width: 55%;
  }
  body#page_english .en_profile > :nth-child(2) {
    width: 40%;
  }
  body#page_english .en_profile section {
    margin-top: 45px;
  }
  body#page_english .en_profile .bio {
    margin: 0 14px;
  }
  body#page_english .en_information p {
    margin-left: 14px;
  }
  body#page_english .en_information .timetable {
    margin-top: 30px;
    font-size: 2rem;
  }
  body#page_english .en_information .timetable caption {
    margin-top: 1em;
    font-size: 1.6rem;
  }
  body#page_english .en_information .timetable tbody th {
    text-align: center;
  }
  body#page_english .en_information .gmap {
    height: 500px;
    margin-top: 30px;
  }
  body#page_english .en_rsv .buttons {
    display: flex;
    text-align: center;
    justify-content: center;
    column-gap: 60px;
  }
  body#page_english .en_rsv .buttons li:not(:first-of-type) {
    margin-top: 0;
  }
  body#page_english .en_rsv .buttons li a {
    min-width: 230px;
    font-size: 1.8rem;
  }
}

body#page_404 .notfound {
  padding: 3rem 1rem;
  text-align: center;
}
body#page_404 .notfound .btn_back {
  margin-top: 2em;
}

/*-------------------------------------------------
flexbox
-------------------------------------------------*/
.flexbox_area {
  position: relative;
  margin: 0 auto;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.flexbox {
  width: 100%;
  margin: 0 auto 1rem;
  text-align: center;
}

.flexbox img {
  width: auto;
  margin: 0 auto;
}

@media all and (min-width: 48em), print {
  .flexbox_area {
    margin: 0 auto;
    padding: 0.5rem 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: row;
    flex-direction: row;
    width: 100%;
  }
  .flexbox {
    width: 49%;
    margin: 0 1rem;
  }
}/*# sourceMappingURL=style.css.map */