@charset "UTF-8";

html {
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

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

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-size: inherit;
}

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

.cf::before, .cf::after {
  content: '';
  display: block;
}

.cf::after {
  clear: both;
}

.fl_l {
  float: left;
}

.fl_r {
  float: right;
}

.txt_c {
  text-align: center;
}

.txt_l {
  text-align: left;
}

.txt_r {
  text-align: right;
}

.bold {
  font-weight: bold;
}

.txt_green {
  color: #98b1c5;
}

.img_c {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1.0rem auto;
}

.img_l, .img_r {
  display: block;
  max-width: 80%;
  height: auto;
  margin: 1.0rem auto;
}

.tate {
  max-width: 60%;
}

@media screen and (min-width: 48em), print {
  .img_l {
    float: left;
    margin: 0 4.0rem 4.0rem 0;
  }

  .img_r {
    float: right;
    margin: 0 0 4.0rem 4.0rem;
  }

  .tate {
    max-width: 25% !important;
  }
}

.sp_n {
  display: none !important;
}

@media screen and (min-width: 48em), print {
  .sp_n {
    display: block !important;
  }

  .pc_n {
    display: none !important;
  }
}

.mt40 {
  margin-top: 4.0rem;
}

.mt30 {
  margin-top: 3.0rem;
}

.mt20 {
  margin-top: 2.0rem;
}

.mt10 {
  margin-top: 1.0rem;
}

.main>section~section, .flex2>section~section {
  margin-top: 4.0rem;
}

.main>section section~section, .flex2>section section~section {
  margin-top: 3.0rem;
}

.main>section>section section~section, .flex2>section>section section~section {
  margin-top: 2.0rem;
}

.main>section>section>section section~section, .flex2>section>section>section section~section {
  margin-top: 2.0rem;
}

@media screen and (min-width: 48em), print {
  .mt40 {
    margin-top: 8.0rem;
  }

  .mt30 {
    margin-top: 6.0rem;
  }

  .mt20 {
    margin-top: 4.0rem;
  }

  .mt10 {
    margin-top: 2.0rem;
  }

  .main>section~section, .flex2>section~section {
    margin-top: 8.0rem;
  }

  .main>section section~section, .flex2>section section~section {
    margin-top: 6.0rem;
  }

  .main>section>section section~section, .flex2>section>section section~section {
    margin-top: 4.0rem;
  }

  .main>section>section>section section~section, .flex2>section>section>section section~section {
    margin-top: 2.0rem;
  }
}

.tbl_time {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 1.4rem;
  border-top: 1px solid #cde7e0;
}

.tbl_time caption {
  font-size: 85%;
  caption-side: bottom;
  text-align: left;
  margin-top: .4rem;
}

.tbl_time tr th {
  font-weight: normal;
  border-bottom: 1px solid #cde7e0;
}

.tbl_time tr th[scope="col"] {
  padding: .4rem 0;
  font-size: 90%;
}

.tbl_time tr th[scope="col"]:first-child {
  width: 35%;
}

.tbl_time tr td {
  text-align: center;
  padding: .8rem .4rem;
  color: #98b1c5;
  border-bottom: 1px solid #cde7e0;
  line-height: 1.0;
  font-size: 80%;
}

@media screen and (min-width: 48em), print {
  .tbl_time {
    table-layout: fixed;
    font-size: 1.8rem;
  }

  .tbl_time tr th[scope="col"] {
    padding: 1.0rem 0;
  }

  .tbl_time tr th[scope="col"]:first-child {
    width: 30%;
  }

  .tbl_time tr td {
    padding: 1.6rem 0;
  }
}

.gmap {
  width: 100%;
}

.gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 1.0rem;
}

@media screen and (min-width: 48em), print {
  .gmap iframe {
    border-radius: 3.0rem;
  }
}

.tit_01 {
  background: url(../img/tit_01.jpg) no-repeat center bottom/120% auto;
  color: #98b1c5;
  text-align: center;
  text-shadow: 0.1rem 0.1rem 0 white, -0.1rem 0.1rem 0 white, 0.1rem -0.1rem 0 white, -0.1rem -0.1rem 0 white;
  font-size: 2.2rem;
  padding: 4.0rem 1.0rem;
  margin: 0 0 2.0rem;
}

.tit_02 {
  text-align: center;
  background: url("../img/tit_02.svg") no-repeat center center/5rem auto;
  font-size: 2.0rem;
  margin: 0 0 2.0rem;
  padding: 2.6rem 1.0rem;
  line-height: 1.2;
}

.tit_03 {
  font-size: 1.8rem;
  color: #98b1c5;
  background: url("../img/tit_03.png") no-repeat left top 0.4rem/2.6rem auto;
  line-height: 1.2;
  border-top: 1px solid #cde7e0;
  padding: 1.0rem 0 1.0rem 3.6rem;
  margin: 0 0 2.0rem;
}

.tit_04 {
  color: #98b1c5;
  background: url("../img/tit_04.svg") no-repeat left top/2rem auto;
  font-size: 1.6rem;
  padding: 0 0 0 3.0rem;
  line-height: 1.2;
  margin: 0 0 2.0rem;
}

@media screen and (min-width: 48em), print {
  .tit_01 {
    background: none;
    font-size: 3.8rem;
    padding: 23.0rem 4.0rem;
    text-shadow: 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff;
    margin: 0;
  }

  .tit_02 {
    font-size: 3.6rem;
    background: url("../img/tit_02.svg") no-repeat center center/10rem auto;
    padding: 3.0rem 0;
    margin: 0 0 3.0rem;
  }

  .tit_03 {
    font-size: 3.0rem;
    background: url("../img/tit_03.png") no-repeat left top 1.6rem/4.4rem auto;
    padding: 3.0rem 0 3.0rem 6.0rem;
    margin: 0 0 3.0rem;
  }

  .tit_04 {
    font-size: 2.4rem;
    background: url("../img/tit_04.svg") no-repeat left top/3rem auto;
    padding: 0 0 0 4.0rem;
    margin: 0 0 3.0rem;
  }
}

.lst_ul01 li {
  padding: 0 0 1.0rem 1.4em;
  line-height: 1.4;
  position: relative;
}

.lst_ul01 li::before {
  content: '●';
  margin-right: .4rem;
  color: #cde7e0;
  position: absolute;
  left: 0;
}

.lst_ul01.ylw::before {
  color: #fefac9;
}

.lst_ul01.kome li::before {
  content: '※';
  color: #7d7d7d;
}

.lst_ol01 {
  counter-reset: number 0;
  margin: 1.0rem 0;
}

.lst_ol01>li {
  line-height: 1.4;
  counter-increment: number 1;
  padding: 0 0 1.0rem 2.8rem;
  position: relative;
}

.lst_ol01>li::before {
  display: inline-block;
  content: counter(number, decimal-leading-zero) ".";
  position: absolute;
  left: 0;
}

.lst_dl01 dt {
  font-weight: bold;
}

.lst_dl01 dd {
  margin: 0 0 1.0rem;
}

@media screen and (min-width: 48em), print {
  .lst_ol01 {
    margin: 1.0rem 0 1.0rem 3.0rem;
  }

  .lst_dl01 {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .lst_dl01 dt {
    width: 20%;
  }

  .lst_dl01 dd {
    width: 80%;
    padding: 0 1.0rem;
  }
}

.flex2 li img {
  display: block;
  margin: 1.0rem auto;
  max-width: 80%;
  height: auto;
}

.flex2 li img.tate {
  max-width: 60%;
}

.flex2.illst {
  -webkit-justify-content: center;
  justify-content: center;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}

.flex3 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex3>li {
  width: 46%;
}

@media screen and (min-width: 48em), print {
  .flex2 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .flex2>section, .flex2>li {
    width: 48%;
    margin: 0 !important;
  }

  .flex2>li img {
    vertical-align: middle;
  }

  .flex2>li img.tate {
    max-width: 50% !important;
  }

  .flex3 {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }

  .flex3 li {
    width: 32%;
  }

  .flex3 li:not(:nth-child(3n)) {
    margin: 0 2.0rem 0 0;
  }
}

.tel {
  color: #98b1c5;
  font-family: Arial, Helvetica, "sans-serif";
  font-weight: bold;
}

.tel::before {
  content: 'TEL.';
  font-size: .7em;
  margin: 0 .4rem 0 0;
}

.box_green {
  background: #f7fbfa;
  padding: 1.0rem;
}

@media screen and (min-width: 48em), print {
  .box_green {
    padding: 2.0rem;
  }
}

.box_ylw {
  background: #fcfce4;
  padding: 1.0rem;
}

.box_ylw>img {
  border: none !important;
}

@media screen and (min-width: 48em), print {
  .box_ylw {
    padding: 2.0rem;
  }
}

.btn_detail, .btn_contact {
  padding: .4rem 2.0rem;
  border-radius: 3.0rem;
  background: #f9f6b1;
  border: 2px solid #cbe1e4;
  text-decoration: none !important;
  -webkit-display: inline-flex;
  display: inline-flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.btn_detail::after, .btn_contact::after {
  font-family: 'fontello';
  content: '\f006';
  margin-left: .6rem;
}

@media screen and (min-width: 48em), print {
  .btn_detail, .btn_contact {
    padding: 1.0rem 3.0rem;
  }

  .btn_detail::after, .btn_contact::after {
    margin-left: 1.6rem;
  }

  .btn_detail:hover, .btn_contact:hover {
    opacity: 1.0;
    background: #e3f2ee;
  }
}

.btn_org {
  color: #f7b971;
  text-decoration: underline !important;
}

img.mailads {
  height: 1.0em;
  vertical-align: text-bottom;
}

html {
  font-size: calc(100vw / 32);
  font-family: "Kosugi Maru", "Hiragino Maru Gothic ProN", sans-serif;
}

body {
  background: #fff;
  color: #7d7d7d;
  word-wrap: break-word;
}

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

.main {
  font-size: 1.4rem;
  line-height: 1.6;
}

.main a:not([href*="tel"]) {
  text-decoration: underline;
}

.main a[class*="btn_"] {
  text-decoration: none;
}

@media screen and (min-width: 48em), print {
  html {
    font-size: 62.5%;
  }

  body {
    min-width: calc(1200px + 40px);
  }

  body::after {
    display: none;
  }

  a, button {
    transition: .2s;
  }

  a:hover, button:hover {
    opacity: .8;
  }

  .wrap {
    width: 1200px;
    margin: auto;
  }

  .main {
    font-size: 1.8rem;
  }
}

@font-face {
  font-family: 'fontello';
  src: url("fontello/font/fontello.eot");
  src: url("fontello/font/fontello.eot#iefix") format("embedded-opentype"), url("fontello/font/fontello.woff2") format("woff2"), url("fontello/font/fontello.woff") format("woff"), url("fontello/font/fontello.ttf") format("truetype"), url("fontello/font/fontello.svg#fontello") format("svg");
}

.header .wrap {
  margin: 1.0rem 1.0rem 3.8rem;
}

.header .wrap .logo {
  height: 4.0rem;
}

.header .wrap .logo a {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/logo.svg) no-repeat left 3rem center/50% auto, url("../img/a_dept.png") no-repeat right 2.4rem center/28% auto;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.header .wrap .headR {
  margin: .6rem 0 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.header .wrap .headR ul li {
  color: #98b1c5;
  font-size: 1.4rem;
  font-family: Arial, Helvetica, "sans-serif";
}

.header .wrap .headR ul li .tel {
  display: inline-block;
  font-size: 120%;
}

.header .wrap .headR ul li .tel a {
  display: inline-block;
}

.header .wrap .headR .btn_contact {
  font-size: 1.4rem;
  padding: .6rem 2.0rem;
}

@media screen and (min-width: 48em), print {
  .header .wrap {
    margin: 2.0rem auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
  }

  .header .wrap .logo {
    width: 49%;
    height: 10.0rem;
  }

  .header .wrap .logo a {
    background: url(../img/logo.svg) no-repeat left center/33rem auto, url("../img/a_dept.png") no-repeat right center/22rem auto;
  }

  .header .wrap .headR {
    width: 41%;
    -webkit-flex-direction: column;
    flex-direction: column;
  }

  .header .wrap .headR ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-align-items: center;
    align-items: center;
  }

  .header .wrap .headR ul li {
    font-size: 1.8rem;
    margin: 0 0 0 2.0rem;
  }

  .header .wrap .headR ul li .tel {
    font-size: 140%;
  }

  .header .wrap .headR .btn_contact {
    width: 26.0rem;
    margin: 1.0rem 0 0 auto;
    font-size: 1.8rem;
    padding: 1.6rem 6.0rem;
  }
}

.slicknav_menu {
  width: 100%;
  position: absolute;
  top: 10.0rem;
  right: 0;
  font-size: 2.8rem;
  display: inline-block;
  background: none;
  padding: 0;
  z-index: 100;
}

.slicknav_menu .slicknav_btn {
  width: 100%;
  height: 3.0rem;
  color: #98b1c5;
  background: #f7fbfa;
  text-shadow: none;
  border-radius: 0;
  text-align: center;
  line-height: 1.0;
  margin: 0;
  padding: 0;
  border-top: 1px dotted #98b1c5;
  border-bottom: 1px dotted #98b1c5;
}

.slicknav_menu .slicknav_btn.slicknav_collapsed {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.slicknav_menu .slicknav_btn.slicknav_collapsed::before {
  font-family: 'fontello';
  content: '\e801';
  line-height: .8;
  margin: 0 1.0rem 0 0;
}

.slicknav_menu .slicknav_btn.slicknav_collapsed::after {
  content: 'MENU';
  font-size: 1.8rem;
  font-family: Arial, Helvetica, "sans-serif";
}

.slicknav_menu .slicknav_btn.slicknav_open {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.slicknav_menu .slicknav_btn.slicknav_open::before {
  display: block;
  font-family: 'fontello';
  content: '\e802';
  line-height: .8;
  margin: 0 1.0rem 0 0;
}

.slicknav_menu .slicknav_btn.slicknav_open::after {
  content: 'CLOSE';
  font-size: 1.8rem;
  font-family: Arial, Helvetica, "sans-serif";
}

.slicknav_menu .slicknav_nav {
  width: 100w;
  max-height: 75vh;
  overflow-y: auto;
  background: #fff;
  padding: 1.0rem;
  position: absolute;
  top: 3.0rem;
  left: 0;
  right: 0;
  margin: auto;
  border-bottom: 1px solid #98b1c5;
}

.slicknav_menu .slicknav_nav a {
  color: inherit;
}

.slicknav_menu .slicknav_nav .gnav {
  margin: 0;
}

.slicknav_menu .slicknav_nav .gnav li a {
  display: block;
  color: #7d7d7d !important;
  text-align: center;
  padding: .6rem 0;
  font-size: 1.6rem;
  margin: 0;
}

.slicknav_menu .slicknav_nav .gnav li a span {
  display: block;
  color: #cde7e0;
  font-size: 70%;
  font-family: Arial, Helvetica, "sans-serif";
  margin: .4rem 0 0;
}

.slicknav_menu .slicknav_nav .gnav li a:hover {
  color: inherit;
  background: none;
}

.slicknav_menu .slicknav_icon, .slicknav_menu .slicknav_icon-bar, .slicknav_menu .slicknav_arrow, .slicknav_menu .slicknav_row:after {
  display: none !important;
}

#nav {
  display: none;
}

@media screen and (min-width: 48em), print {
  .slicknav_menu {
    display: none;
  }

  #nav {
    display: block;
    background: #fff;
    border-bottom: 1px solid #cde7e0;
  }

  #nav .gnav {
    width: 1200px;
    margin: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
  }

  #nav .gnav li {
    position: relative;
  }

  #nav .gnav li a {
    display: block;
    text-align: center;
    font-size: 1.8rem;
    padding: 2.0rem 1.6rem;
  }

  #nav .gnav li a span {
    display: block;
    color: #cde7e0;
    font-size: 80%;
    font-family: Arial, Helvetica, "sans-serif";
    margin: .8rem 0 0;
  }

  #nav .gnav li a:hover {
    opacity: 1.0;
    background: #f0f8f6;
  }

  .index #nav .home, .doctor #nav .doctor, .about #nav .about, .rehabilitation #nav .rehabilitation, .participants #nav .participants, .contact #nav .contact, .faq #nav .faq, .recruit #nav .recruit {
    background: #f0f8f6;
  }
}

.bg_footer {
  padding: 4.0rem 0 0;
  background: url("../img/overview_bg_dot.png"), -webkit-linear-gradient(#fcfbe3 0%, #e4f2ee 100%);
  background: url("../img/overview_bg_dot.png"), linear-gradient(#fcfbe3 0%, #e4f2ee 100%);
}

@media screen and (min-width: 48em), print {
  .bg_footer {
    padding: 6.0rem 0 0;
  }
}

.overview {
  padding: 0 1.0rem 3.0rem;
  font-size: 1.4rem;
  line-height: 1.6;
}

.overview>.wrap {
  padding: 3.0rem 1.0rem 2.0rem;
  border: 1px solid #cde7e0;
  background: #fff;
  border-radius: 1.4rem;
  position: relative;
}

.overview>.wrap::before, .overview>.wrap::after {
  content: '';
  display: block;
  width: 5.0rem;
  height: 5.0rem;
  position: absolute;
}

.overview>.wrap::before {
  background: url("../img/overview_balloon_left.png") no-repeat center center/contain;
  top: -1.6rem;
  left: 0;
}

.overview>.wrap::after {
  background: url("../img/overview_balloon_right.png") no-repeat center center/contain;
  top: -1.6rem;
  right: 0;
}

.overview>.wrap .clinic_name {
  text-align: center;
  margin: 0 0 2.0rem;
}

.overview>.wrap .clinic_name img {
  max-width: 70%;
  height: auto;
}

.overview>.wrap .clinic_name img.dept {
  max-width: 45%;
  margin: .6rem 0 0;
}

.overview>.wrap .overviewL .gaiyo {
  width: 100%;
}

.overview>.wrap .overviewL .gaiyo dt {
  color: #98b1c5;
}

.overview>.wrap .overviewL .gaiyo dd {
  margin: 0;
  padding: 0 0 1.0rem;
}

.overview>.wrap .overviewL .gaiyo dd .tel {
  font-size: 140%;
}

.overview>.wrap .overviewL .gaiyo dd .tel::before {
  display: none;
}

.overview>.wrap .overviewL .gaiyo dd.txt_green {
  font-family: Arial, Helvetica, "sans-serif";
}

.overview>.wrap .overviewL .btn_contact {
  padding: 1.0rem 3.0rem;
}

.overview>.wrap .overviewL .tbl_time {
  margin: 1.6rem 0 0;
}

.overview>.wrap .overviewR {
  margin: 2.0rem 0 0;
}

.overview>.wrap .overviewR .gmap {
  height: 30.0rem;
}

@media screen and (min-width: 48em), print {
  .overview {
    padding: 0 0 3.0rem;
    font-size: 1.8rem;
  }

  .overview>.wrap {
    padding: 5.0rem;
    border: 3px solid #cde7e0;
    border-radius: 3.0rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .overview>.wrap::before, .overview>.wrap::after {
    width: 17.0rem;
    height: 17.0rem;
  }

  .overview>.wrap::before {
    top: -4.0rem;
    left: 6.4rem;
  }

  .overview>.wrap::after {
    top: -4.0rem;
    right: 6.4rem;
  }

  .overview>.wrap .clinic_name {
    width: 100%;
    margin: 0 0 4.0rem;
  }

  .overview>.wrap .clinic_name img {
    max-width: 33.0rem;
  }

  .overview>.wrap .clinic_name img.dept {
    display: block;
    max-width: 21.0rem;
    margin: 1.0rem auto 0;
  }

  .overview>.wrap .overviewL, .overview>.wrap .overviewR {
    width: 48%;
  }

  .overview>.wrap .overviewL .gaiyo {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .overview>.wrap .overviewL .gaiyo dt {
    width: 25%;
    padding: 0 0 1.0rem;
  }

  .overview>.wrap .overviewL .gaiyo dd {
    width: 75%;
    padding: 0 0 1.0rem;
  }

  .overview>.wrap .overviewL .gaiyo dd .tel {
    font-size: 140%;
    line-height: 1.0;
  }

  .overview>.wrap .overviewL .btn_contact {
    padding: 1.6rem 8.0rem;
  }

  .overview>.wrap .overviewL .tbl_time {
    margin: 4.0rem 0 0;
  }

  .overview>.wrap .overviewR {
    margin: 0;
  }

  .overview>.wrap .overviewR .gmap {
    height: 100%;
  }
}

.tel_up {
  width: 100%;
  background: #fff;
  visibility: hidden;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  font-size: 1.4rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}

.tel_up .tel {
  display: block;
  text-align: center;
  width: 98%;
  font-size: 1.6rem;
  line-height: 1.0;
}

.tel_up .btn_contact {
  font-size: 1.2rem;
  padding: .6rem 1.6rem;
}

.tel_up .pageup {
  cursor: pointer;
}

.tel_up .pageup a {
  display: block;
  width: 4.0rem;
  font-size: 1.6rem;
  text-align: center;
  padding: 1.0rem .4rem;
  line-height: 1.0;
  background: #fff;
  color: #cde7e0;
  border: 2px solid #cde7e0;
}

.tel_up .pageup a::before {
  font-family: 'fontello';
  content: '\f005';
}

.tel_up .pageup a span {
  display: none;
}

@media screen and (min-width: 48em), print {
  .tel_up {
    display: block;
    width: 5.0rem;
    bottom: 3.0rem;
    right: 2.0rem;
    left: auto;
    background: none;
    padding: 0;
  }

  .tel_up .tel, .tel_up .btn_contact {
    display: none;
  }

  .tel_up .pageup a {
    width: 100%;
    height: 5.0rem;
    font-size: 2.6rem;
    border-radius: 50%;
  }
}

.footer {
  text-align: center;
  padding: 0 0 4.0rem;
}

.footer .copy {
  display: block;
  background: #cbe1e4;
  padding: .6rem 1.0rem;
  font-size: 1.2rem;
}

.footer .copy a {
  color: inherit;
}

.footer ul {
  display: none;
}

@media screen and (min-width: 48em), print {
  .footer {
    padding: 0;
  }

  .footer .copy {
    margin: 3.0rem 0 0;
    padding: 2.0rem;
  }

  .footer ul {
    display: block;
    text-align: center;
    margin: 1.0rem auto 2.0rem;
  }

  .footer ul li {
    display: inline-block;
    font-size: 1.4rem;
  }

  .footer ul li:not(:last-child)::after {
    content: '|';
    margin: 0 1.0rem;
  }

  .footer ul li a {
    opacity: 1.0;
  }

  .footer ul li a span {
    display: none;
  }

  .footer ul li a:hover {
    text-decoration: underline;
  }
}

@media screen and (min-width: 48em), print {
  body.index .header {
    background: url(../img/index_keyvsl01.jpg) no-repeat center top -2rem/auto;
  }

  body.index .header .wrap {
    margin: 2.0rem auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
  }

  body.index .header .wrap .logo {
    width: 50%;
    height: 10.0rem;
  }

  body.index .header .wrap .logo a {
    background: url("../img/a_dept.png") no-repeat left center/contain;
  }

  body.index .header .wrap .headR {
    width: 41%;
  }

  body.index .header .wrap .headR ul li {
    font-size: 1.8rem;
  }

  body.index .header .wrap .headR ul li .tel {
    font-size: 140%;
  }

  body.index .header .wrap .headR .btn_contact {
    font-size: 1.8rem;
    padding: 1.6rem 6.0rem;
  }
}

#keyvsl {
  max-width: 100%;
  padding: 20.0rem 0 0;
  background: url("../img/logo_tate.svg") no-repeat center top 11rem/11rem auto, url(../img/index_keyvsl01.jpg) no-repeat center top -1rem/130% auto;
}

#keyvsl .catch {
  margin: .6rem 1.0rem;
  line-height: 1.4;
  font-size: 1.4rem;
  color: #f49e56;
  text-shadow: 0.1rem 0.1rem 0 white, -0.1rem 0.1rem 0 white, 0.1rem -0.1rem 0 white, -0.1rem -0.1rem 0 white;
  text-align: center;
}

@media screen and (min-width: 48em), print {
  #keyvsl {
    padding: 67.6rem 0 5.0rem;
    background: url("../img/logo_tate.svg") no-repeat center bottom 18rem/32rem auto;
    position: relative;
  }

  #keyvsl .catch {
    font-size: 3.6rem;
    text-shadow: 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff;
  }
}

body.index .main .tit {
  font-size: 2.0rem;
  text-align: center;
  position: relative;
  margin: 0 0 2.0rem;
}

body.index .main .tit span {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  height: 100%;
  position: relative;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

body.index .main .tit:after {
  display: block;
  margin: auto;
  font-family: 'Yellowtail', cursive;
  font-size: 180%;
  line-height: 1.0;
  opacity: .25;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

@media screen and (min-width: 48em), print {
  body.index .main .tit {
    height: 10.0rem;
    font-size: 3.6rem;
    margin: 0 0 4.0rem;
  }

  body.index .main .tit:after {
    font-size: 10.0rem;
  }
}

.feature {
  margin: 0 1.0rem 4.0rem;
  text-align: center;
  padding: 1.0rem 0;
  font-size: 1.6rem;
  border-radius: 1.4rem;
  text-shadow: 0.2rem 0.2rem 0.2rem white, -0.2rem 0.2rem 0.2rem white, 0.2rem -0.2rem 0.2rem white, -0.2rem -0.2rem 0.2rem white;
  background: url("../img/index_bnr_support.png") no-repeat center center/auto 100% #fefac9;
}

@media screen and (min-width: 48em), print {
  .feature {
    width: 60.0rem;
    margin: 4.0rem auto;
    padding: 2.0rem 0;
    font-size: 2.4rem;
    border-radius: 2.0rem;
  }
}

.info {
  margin: 2.0rem 1.0rem 4.0rem;
}

.info .wrap .tit::after {
  content: 'INFORMATION';
  color: #cbe1e4;
}

.info .wrap dl {
  margin: 0;
  line-height: 1.4;
  padding: 0 0 1.0rem;
  border-bottom: 1px dotted #aaa;
}

.info .wrap dl dt {
  margin: 0 0 .6rem;
  color: #98b1c5;
  cursor: pointer;
}

.info .wrap dl dt::before {
  font-family: 'fontello';
  content: '\f004';
  margin-right: .6rem;
}

.info .wrap dl dt.close::before {
  content: '\f005';
}

.info .wrap dl dt:not(:first-of-type) {
  margin: 1.6rem 0 .6rem;
  padding: 1.6rem 0 0;
  border-top: 1px dotted #aaa;
}

.info .wrap dl dd {
  margin: 0 0 1.6rem;
  word-wrap: break-word;
}

.info .wrap dl dd:not(:nth-of-type(-n+3)) {
  display: none;
}

@media screen and (min-width: 48em), print {
  .info {
    margin: 6.0rem 0;
    background: url("../img/index_info_bg.png") no-repeat center top/auto;
  }

  .info .wrap {
    width: 110.0rem;
  }

  .info .wrap dl {
    flex: 1;
  }

  .info .wrap dl dt {
    margin: 0 0 1.0rem;
  }

  .info .wrap dl dt::before {
    margin-right: 1.0rem;
  }

  .info .wrap dl dt:not(:first-of-type) {
    padding: 1.6rem 0 0;
  }

  .info .wrap dl dd {
    margin: 0 0 3.0rem;
  }
}

.about_alt>.tit {
  color: #98b1c5;
  background: #fcfbe3;
  margin: 0 !important;
  padding: 2.0rem 0;
}

.about_alt>.tit::after {
  content: 'TREATMENT';
  color: #fff;
  opacity: .75 !important;
}

.about_alt>div .wrap {
  padding: 3.0rem 1.0rem;
  position: relative;
  counter-reset: number 0;
}

.about_alt>div .wrap::before, .about_alt>div .wrap::after {
  content: '';
  display: block;
  width: 5.0rem;
  height: 5.0rem;
  position: absolute;
}

.about_alt>div .wrap::before {
  background: url("../img/overview_balloon_left.png") no-repeat center center/contain;
  top: -1.0rem;
  left: .4rem;
}

.about_alt>div .wrap::after {
  background: url("../img/overview_balloon_right.png") no-repeat center center/contain;
  top: -2.0rem;
  right: .4rem;
}

.about_alt>div .wrap section .midashi {
  display: block;
  font-size: 1.8rem;
  padding: 6.0rem 0 0;
  line-height: 1.4;
  counter-increment: number 1;
  position: relative;
}

.about_alt>div .wrap section .midashi span {
  padding: 0 1.0rem;
  background: linear-gradient(transparent 50%, #fbf9c0 0%);
}

.about_alt>div .wrap section .midashi::before, .about_alt>div .wrap section .midashi::after {
  display: block;
  line-height: 1.0;
  font-family: 'Yellowtail', cursive;
  position: absolute;
}

.about_alt>div .wrap section .midashi::before {
  content: 'Point';
  font-size: 2.4rem;
  top: 3.0rem;
}

.about_alt>div .wrap section .midashi::after {
  content: counter(number, decimal-leading-zero);
  font-size: 6.0rem;
  top: 0;
  left: 6.0rem;
}

.about_alt>div .wrap section .txt {
  padding: 0 45% 0 0;
}

.about_alt>div.houmon {
  background: url("../img/bg.png") repeat-y center top/200% auto #f7fafb;
}

.about_alt>div.houmon .wrap>.tit::after {
  content: 'HOMECARE';
  color: #cbe1e4;
}

.about_alt>div.houmon .wrap section .midashi::before, .about_alt>div.houmon .wrap section .midashi:after {
  color: #cde7e0;
}

.about_alt>div.houmon .wrap section.taisho {
  background: url("../img/index_about_houmon_taisho.png") no-repeat right bottom/45% auto;
}

.about_alt>div.houmon .wrap section.taiou {
  background: url("../img/index_about_houmon_taiou.png") no-repeat right bottom/45% auto;
}

.about_alt>div.houmon .wrap section.nagare {
  background: url("../img/index_about_houmon_nagare.png") no-repeat right bottom/45% auto;
}

.about_alt>div.houmon .wrap section.price {
  background: url("../img/index_about_price.png") no-repeat right bottom/45% auto;
}

.about_alt>div.houmon .wrap section.support {
  background: url("../img/index_about_houmon_24h.png") no-repeat right bottom/45% auto;
}

.about_alt>div.houmon .wrap section.area {
  background: url("../img/index_about_area.png") no-repeat right bottom/45% auto;
}

.about_alt>div.rehabili {
  background: url("../img/bg.png") repeat-y center top/200% auto #fffff3;
}

.about_alt>div.rehabili .wrap>.tit::after {
  content: 'REHABILITATION';
  color: #fce9b6;
}

.about_alt>div.rehabili .wrap section .midashi::before, .about_alt>div.rehabili .wrap section .midashi::after {
  color: #fce9b6;
}

.about_alt>div.rehabili .wrap section.taisho {
  background: url("../img/index_about_riha_taisho.png") no-repeat right bottom/45% auto;
}

.about_alt>div.rehabili .wrap section.nagare {
  background: url("../img/index_about_riha_nagare.png") no-repeat right bottom/45% auto;
}

.about_alt>div.rehabili .wrap section.price {
  background: url("../img/index_about_price.png") no-repeat right bottom/45% auto;
}

.about_alt>div.rehabili .wrap section.area {
  background: url("../img/index_about_area.png") no-repeat right bottom/45% auto;
}

@media screen and (min-width: 48em), print {
  .about_alt>.tit {
    height: 24.0rem !important;
    background: url("../img/index_about_tit.png") no-repeat center bottom/auto;
    padding: 5.0rem 0 0;
  }

  .about_alt>.tit::after {
    padding: 5.0rem 0 0;
  }

  .about_alt>div .wrap::before, .about_alt>div .wrap::after {
    width: 16.0rem;
    height: 16.0rem;
  }

  .about_alt>div .wrap::before {
    top: 4.0rem;
    left: 0;
  }

  .about_alt>div .wrap::after {
    top: -4.0rem;
    right: 0;
  }

  .about_alt>div .wrap section {
    position: absolute;
  }

  .about_alt>div .wrap section .midashi {
    font-size: 3.0rem;
    padding: 9.0rem 0 0;
  }

  .about_alt>div .wrap section .midashi::before {
    font-size: 4.8rem;
    top: 4.0rem;
  }

  .about_alt>div .wrap section .midashi::after {
    font-size: 10.0rem;
    top: 0;
    left: 10.6rem;
  }

  .about_alt>div .wrap section .txt {
    padding: 0;
  }

  .about_alt>div.houmon {
    background: url("../img/bg.png") repeat-y center top/auto #f7fafb;
  }

  .about_alt>div.houmon .wrap {
    height: 175.0rem;
  }

  .about_alt>div.houmon .wrap section.taisho {
    background: url("../img/index_about_houmon_taisho.png") no-repeat left bottom/37rem auto;
    width: 76.5rem;
    padding: 0 0 19.0rem 38.0rem;
    top: 14.0rem;
    left: 0;
  }

  .about_alt>div.houmon .wrap section.taiou {
    background: url("../img/index_about_houmon_taiou.png") no-repeat top center/38rem auto;
    width: 40.0rem;
    padding: 30.0rem 0 0;
    top: 10.0rem;
    right: 0;
  }

  .about_alt>div.houmon .wrap section.nagare {
    background: url("../img/index_about_houmon_nagare.png") no-repeat right bottom/38rem auto;
    width: 71.0rem;
    padding: 16.0rem 37.0rem 5.0rem 0;
    top: 50.0rem;
    left: 0;
  }

  .about_alt>div.houmon .wrap section.price {
    background: url("../img/index_about_price.png") no-repeat right top/27rem auto;
    width: 46.0rem;
    padding: 18.0rem 0 0;
    top: 70.0rem;
    right: 0;
  }

  .about_alt>div.houmon .wrap section.support {
    background: url("../img/index_about_houmon_24h.png") no-repeat right top/30rem auto;
    width: 58.0rem;
    padding: 11.0rem 18.0rem 0 0;
    top: 106.0rem;
    left: 0;
  }

  .about_alt>div.houmon .wrap section.area {
    background: url("../img/index_about_area.png") no-repeat right bottom/46rem auto;
    width: 78.0rem;
    padding: 18.0rem 0 0;
    top: 120.0rem;
    right: 0;
  }

  .about_alt>div.rehabili {
    background: url("../img/bg.png") repeat-y center top/auto #fffff3;
  }

  .about_alt>div.rehabili .wrap {
    height: 140.0rem;
  }

  .about_alt>div.rehabili .wrap .lead {
    width: 68.0rem;
    margin: auto;
    position: relative;
    z-index: 1;
  }

  .about_alt>div.rehabili .wrap section.taisho {
    background: url("../img/index_about_riha_taisho.png") no-repeat right top/48rem auto;
    width: 69.0rem;
    padding: 15.0rem 0 0;
    top: 18.0rem;
    right: 0;
  }

  .about_alt>div.rehabili .wrap section.nagare {
    background: url("../img/index_about_riha_nagare.png") no-repeat left top/38rem auto;
    width: 49.0rem;
    padding: 29.0rem 0 0;
    top: 26.0rem;
    left: 0;
  }

  .about_alt>div.rehabili .wrap section.price {
    background: url("../img/index_about_price.png") no-repeat right top/29rem auto;
    width: 49.0rem;
    padding: 13.0rem 0 0 0;
    top: 55.0rem;
    right: 6.0rem;
  }

  .about_alt>div.rehabili .wrap section.area {
    background: url("../img/index_about_area.png") no-repeat left top/41rem auto;
    width: 90.0rem;
    padding: 5.0rem 0 6.0rem 51.0rem;
    top: 92.0rem;
    left: 6.0rem;
  }
}

.inq {
  background: url("../img/index_inq_bg.jpg") no-repeat center center/auto 100%;
  padding: 4rem 1rem;
}

.inq .wrap {
  background: #fff;
  padding: 1.0rem 1.0rem 3.0rem;
  border-radius: 1.4rem;
}

.inq .wrap .inq_area {
  text-align: center;
}

.inq .wrap .inq_area ul {
  margin: 0 0 1.0rem;
}

.inq .wrap .inq_area ul li {
  color: #98b1c5;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, "sans-serif";
}

.inq .wrap .inq_area ul li .tel {
  display: inline-block;
  font-size: 120%;
}

.inq .wrap .inq_area ul li .tel a {
  display: inline-block;
}

.inq .wrap .inq_area .btn_contact {
  font-size: 1.4rem;
  padding: .6rem 2.0rem;
}

@media screen and (min-width: 48em), print {
  .inq {
    padding: 6.0rem 0;
  }

  .inq .wrap {
    padding: 6.0rem;
    border-radius: 3.0rem;
  }

  .inq .wrap p {
    font-size: 2.4rem;
    text-align: center;
  }

  .inq .wrap .inq_area {
    margin: 4.0rem 0 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
  }

  .inq .wrap .inq_area ul {
    width: 27.0rem;
    margin: 0 5.0rem 0 0;
  }

  .inq .wrap .inq_area ul li {
    font-size: 2.0rem;
  }

  .inq .wrap .inq_area ul li .tel {
    font-size: 140%;
  }

  .inq .wrap .inq_area .btn_contact {
    font-size: 1.8rem;
    padding: 1.6rem 6.0rem;
  }
}

.tw {
  padding: 2.0rem 1.0rem 0;
  background: linear-gradient(-90deg, #fcfbe3 0%, #e0f5fb 100%);
  background: -webkit-linear-gradient(-90deg, #fcfbe3 0%, #e0f5fb 100%);
}

.tw .wrap {
  padding: 0 0 18.0rem;
  background: url("../img/index_twtter_bg.png") no-repeat center bottom/80% auto;
}

.tw .wrap .tit::after {
  content: 'TWITTER';
  color: #fff;
  opacity: .75 !important;
  font-size: 4.8rem !important;
}

.tw .wrap .twitter-timeline {
  display: block;
  height: 30.0rem !important;
}

@media screen and (min-width: 48em), print {
  .tw {
    padding: 0;
  }

  .tw .wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    padding: 6.0rem 0;
    background: url("../img/index_twtter_bg.png") no-repeat left bottom/47rem auto;
  }

  .tw .wrap .tit {
    width: 40%;
  }

  .tw .wrap .tit::after {
    font-size: 10.0rem !important;
  }

  .tw .wrap .twitter-timeline {
    width: 60.0rem !important;
    height: 40.0rem !important;
  }
}

body:not(.index) {
  background: url("../img/bg.png") repeat-y center top/200% auto;
}

body:not(.index) .main {
  padding: 0 1.0rem 3.0rem;
}

body:not(.index) .main .tel {
  font-size: 150%;
}

body:not(.index) .main img:not(.mailads) {
  border: 1px solid #cde7e0;
  padding: 1.0rem;
  border-radius: 1.4rem;
}

@media screen and (min-width: 48em), print {
  body:not(.index) {
    background: url("../img/bg.png") repeat-y center top/auto;
  }

  body:not(.index) .header {
    background: url(../img/tit_01.jpg) no-repeat center top/auto;
  }

  body:not(.index) .main {
    margin: 6.0rem 0 8.0rem;
  }

  body:not(.index) .main img:not(.mailads) {
    border-radius: 3.0rem;
  }

  body:not(.index) .cf .img_l, body:not(.index) .cf .img_r {
    max-width: 40%;
    height: auto;
  }
}

@media screen and (min-width: 48em), print {
  body.doctor .box_ylw {
    padding: 3.0rem 4.0rem;
  }

  body.doctor .box_ylw img.tate {
    max-width: 15% !important;
    margin: 0 4.0rem 0 0;
  }
}

.flow dd {
  margin: 0 0 6.0rem;
  position: relative;
}

@media screen and (min-width: 48em), print {
  .flow dd {
    margin: 0 0 10.0rem;
  }
}

.flow dd:not(:last-child)::after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  position: absolute;
  bottom: -5.0rem;
  left: 0;
  right: 0;
  border-top: 2.0rem solid #ccc;
  border-right: 3.0rem solid transparent;
  border-bottom: 1.0rem solid transparent;
  border-left: 3.0rem solid transparent;
  margin: auto;
}

.tbl_price {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: 1px solid #e5e5e5;
}

.tbl_price th {
  padding: .4rem 1.0rem;
  background: #f7fbfa;
  font-weight: normal;
  border-bottom: 1px solid #e5e5e5;
}

.tbl_price td {
  text-align: center;
  padding: .4rem 1.0rem;
  border-bottom: 1px solid #e5e5e5;
}

@media screen and (min-width: 48em), print {
  .tbl_price th, .tbl_price td {
    padding: 2.0rem;
  }
}

.lst_faq {
  margin: 0;
}

.lst_faq dd {
  margin: 0 0 2.0rem;
}

@media screen and (min-width: 48em), print {
  .lst_faq dd {
    margin: 0 0 4.0rem;
  }
}

.tbl_recruit {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: 1px solid #e5e5e5;
}

.tbl_recruit th {
  width: 30%;
  text-align: left;
  padding: .4rem 1.0rem;
  background: #f7fbfa;
  font-weight: normal;
  border-bottom: 1px solid #e5e5e5;
}

.tbl_recruit td {
  padding: .4rem 1.0rem;
  border-bottom: 1px solid #e5e5e5;
}

@media screen and (min-width: 48em), print {
  .tbl_recruit th, .tbl_recruit td {
    padding: 2.0rem;
  }
}

.anc li {
  margin: 0 2.0rem;
  color: #f7b971;
}

.anc li::before {
  font-family: 'fontello';
  content: '\f004';
  margin: 0 .6rem 0 0;
}

@media screen and (min-width: 48em), print {
  .anc {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
  }
}

.mailform dl dt {
  color: #98b1c5;
  padding: .4rem 0;
}

.mailform dl dd {
  margin: 0;
  padding: .4rem 0;
}

.mailform dl dd input, .mailform dl dd textarea {
  border: 1px solid #ccc;
  padding: .4rem;
}

.mailform dl dd input[type="text"], .mailform dl dd input[type="tel"], .mailform dl dd input[type="email"] {
  width: 100% !important;
  border: 1px solid #ccc;
  padding: .6rem;
}

.mailform dl dd label {
  display: inline-block;
  margin: 0 1.0rem 0 0;
}

.mailform dl dd textarea {
  width: 100% !important;
  height: 20.0rem !important;
  border: 1px solid #ccc;
}

@media screen and (min-width: 48em), print {
  .mailform dl {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    border-top: 1px solid #e5e5e5;
  }

  .mailform dl dt {
    width: 30%;
    padding: 2.0rem 1.0rem;
    border-bottom: 1px solid #e5e5e5;
  }

  .mailform dl dd {
    width: 70%;
    padding: 2.0rem 1.0rem;
    border-bottom: 1px solid #e5e5e5;
  }
}

.privacy {
  padding: 1.0rem;
  max-height: 25.0rem;
  overflow-y: auto;
  border: 1px solid #ccc;
}

/*# sourceMappingURL=style.css.map */


/*250213*/
.list-disc li {
  list-style: inside disc !important;
}
