@charset "UTF-8";
:root {
  --color01: #000000;
  --color02: #222222;
  --color03: #3a3a3a;
  --color04: #535353;
  --color05: #cccccc;
  --color06: #d1d1d1;
  --color07: #dddddd;
  --color08: #eeeeee;
  --color09: #f7f7f7;
  --color10: #f9f9f9;
  --color11: #ffffff;
  --color12: #f8f3eb;
  --color13: #e6d7be;
  --color14: #cba96f;
  --color15: #ebdabc;
  --color16: #efe5d3;
  --color17: #f2ede4;
  --color18: #f7f3eb;
  --color19: #a6770a;
  --color20: #eba80c;
  --color21: #f0b833;
  --color22: #8a702b;
  --color23: #fcf7e8;
  --color24: #fee8a0;
  --color25: #f5c62a;
  --color26: #F5C62A;
  --color27: #ffefa7;
  --color28: #d9edac;
  --color29: #50d656;
  --color30: #206d4a;
  --color31: #89cec2;
  --color32: #027b66;
  --color33: #00a98c;
  --color34: #dafff9;
  --color35: #ebf8f6;
  --color36: #1b749a;
  --color37: #33aff0;
  --color38: #6495ed;
  --color39: #9b65a1;
  --color40: #ce5b67;
  --color41: #d80407;
}

/* ----------------------------------------------------------------------------------
リセット　_reset.scss
---------------------------------------------------------------------------------- */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*, *::before, *::after {
  -webkit-box-sizing: inherit;
          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 {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* ----------------------------------------------------------------------------------
モジュール　_module.scss
---------------------------------------------------------------------------------- */
/* clearfix -------------------------------------- */
.cf::before,
.cf::after {
  content: "";
  display: block;
}

.cf::after {
  clear: both;
}

/* float -------------------------------------- */
.fl_l {
  float: left;
}

.fl_r {
  float: right;
}

/* txt -------------------------------------- */
.txt_c {
  text-align: center;
}

.txt_l {
  text-align: left;
}

.txt_r {
  text-align: right;
}

.txt_idt {
  text-indent: -4em;
  padding-left: 4em !important;
}

.txt_large {
  font-size: 120%;
}

.bold {
  font-weight: bold;
}

.clr_red {
  color: var(--color41);
}

.clr_orange {
  color: var(--color19);
}

.maker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, rgba(255, 255, 255, 0)), color-stop(60%, #f5c62a));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 60%, #f5c62a 60%);
}

.ud {
  text-decoration: underline;
}

/* 囲い文字 -------------------------------------- */
*[class*=frame_] {
  background: var(--color27);
  padding: 1.2rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 48em), print {
  *[class*=frame_] {
    padding: 3rem 3rem 3rem;
    margin-bottom: 3rem;
  }
}
*[class*=frame_].frame_01 {
  background: var(--color23);
  border: 1px solid var(--color14);
}
*[class*=frame_].frame_02 {
  background: var(--color35);
  border: 1px solid var(--color31);
}

/* img -------------------------------------- */
.img_c {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1rem auto;
}

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

@media screen and (min-width: 48em), print {
  .img_l {
    float: left;
    margin: 0 2rem 2rem 0;
  }
  .img_r {
    float: right;
    margin: 0 0 2rem 2rem;
  }
}
.img_flex {
  margin: 1rem auto 3rem;
}
.img_flex li img {
  display: block;
  max-width: 80%;
  height: auto;
  margin: 1rem auto;
}
@media screen and (min-width: 48em), print {
  .img_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 1rem auto 6rem;
  }
  .img_flex li {
    width: 33%;
  }
  .img_flex li img {
    max-width: 100%;
  }
}

/* PC・SP　表示・非表示 -------------------------------------- */
.sp_n {
  display: none;
}

@media screen and (min-width: 48em), print {
  .sp_n {
    display: block;
  }
  .pc_n {
    display: none;
  }
}
/* マージン・パディング回り -------------------------------------- */
.mt40 {
  margin-top: 4rem;
}

.mt30 {
  margin-top: 3rem;
}

.mt20 {
  margin-top: 2rem;
}

.mt10 {
  margin-top: 1rem;
}

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

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

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

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

@media screen and (min-width: 48em), print {
  .mt40 {
    margin-top: 8rem;
  }
  .mt30 {
    margin-top: 6rem;
  }
  .mt20 {
    margin-top: 4rem;
  }
  .mt10 {
    margin-top: 2rem;
  }
  .main > section ~ section,
  .flex2 > section ~ section {
    margin-top: 8rem;
  }
  .main > section section ~ section,
  .flex2 > section section ~ section {
    margin-top: 6rem;
  }
  .main > section > section section ~ section,
  .flex2 > section > section section ~ section {
    margin-top: 4rem;
  }
  .main > section > section > section section ~ section,
  .flex2 > section > section > section section ~ section {
    margin-top: 2rem;
  }
}
/* タイムテーブル -------------------------------------- */
.tbl_time {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1.4rem;
  table-layout: fixed;
}
.tbl_time caption {
  font-size: 85%;
  caption-side: bottom;
  text-align: left;
  margin-top: 0.4rem;
}
.tbl_time tr th[scope=col] {
  padding: 0.4rem 0;
  background: var(--color20);
  font-size: 1.2rem;
  border: 1px solid var(--color04);
  border-bottom: none;
  color: #fff;
}
.tbl_time tr th[scope=col]:first-child {
  width: 35%;
}
.tbl_time tr th.time {
  background: #fff;
  border: 1px solid var(--color04);
  border-top: none;
}
.tbl_time tr td {
  text-align: center;
  font-weight: normal;
  padding: 0.6rem 0.4rem;
  background: #fff;
  border: 1px solid var(--color04);
  border-top: none;
  line-height: 1;
}

@media screen and (min-width: 48em), print {
  .tbl_time {
    font-size: 1.6rem;
  }
  .tbl_time caption {
    font-size: 1.4rem;
  }
  .tbl_time tr th[scope=col] {
    padding: 0.6rem 0;
    font-size: 1.6rem;
  }
  .tbl_time tr th[scope=col]:first-child {
    width: 30%;
  }
  .tbl_time tr th.time {
    font-size: 1.4rem;
    padding: 1.2rem 0;
  }
  .tbl_time tr td {
    padding: 1rem 0;
    font-size: 1.8rem;
  }
}
/* グーグルマップ -------------------------------------- */
.gmap {
  width: 100%;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* タイトル回り -------------------------------------- */
.tit_01 {
  font-size: 2.2rem;
  font-weight: bold;
  width: 100%;
  min-height: 7.2rem;
  color: var(--color22);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 3rem;
  padding: 0.6rem 1rem;
  position: relative;
  z-index: 1;
}
.tit_01::before, .tit_01::after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.tit_01::before {
  background: var(--color25);
  clip-path: polygon(0% 0%, 0% 100%, 80% 100%, 90% 0%);
  z-index: -1;
}
.tit_01::after {
  top: 1.5rem;
  background: var(--color12);
  clip-path: polygon(0% 0%, 0% 100%, 84% 100%, 94% 0%);
  z-index: -2;
}

.tit_02 {
  color: var(--color03);
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  display: block;
  margin: 0 auto 4.4rem;
  padding: 0;
  line-height: 1.2;
  position: relative;
}
.tit_02 .eng {
  font-size: 1.2rem;
  color: var(--color25);
  font-weight: bold;
  position: absolute;
  bottom: -2.2rem;
  left: 0;
  right: 0;
  margin: auto;
}
.tit_02 span:not(.eng) {
  position: relative;
  display: inline-block;
}
.tit_02 span:not(.eng)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.6rem;
  margin: auto;
  display: block;
  background: var(--color25);
  min-width: 6rem;
  max-width: 10rem;
  height: 0.2rem;
}

body:not(.index) .tit_02 {
  margin: 0 auto 2.4rem;
}
body:not(.index) .tit_02::after {
  content: "";
  display: block;
  width: 4rem;
  height: 3px;
  margin: 0.8rem auto 0;
  background: var(--color25);
}
body:not(.index) .tit_02 span {
  all: unset;
}

.tit_03 {
  color: var(--color20);
  background: var(--color23);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.2;
  padding: 0.8rem 1.2rem;
  margin: 0 0 1rem;
}

.tit_04 {
  color: var(--color33);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 1rem;
  padding: 0 0 0 1.6rem;
  position: relative;
}
.tit_04::before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0.5rem, #f5c62a), color-stop(0.5rem, rgba(255, 255, 255, 0)), color-stop(0.7rem, rgba(255, 255, 255, 0)), color-stop(0.7rem, #00a98c));
  background: linear-gradient(to right, #f5c62a 0.5rem, rgba(255, 255, 255, 0) 0.5rem, rgba(255, 255, 255, 0) 0.7rem, #00a98c 0.7rem);
}

.tit_05 {
  color: var(--color20);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 1rem;
  padding: 0 0 0.2rem;
  border-bottom: 2px solid var(--color25);
}

.tit_06 {
  color: var(--color33);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 1rem;
  padding: 0 0 0.2rem;
  border-bottom: 2px dashedvar(--color26);
}

@media screen and (min-width: 48em), print {
  .tit_01 {
    font-size: 3.6rem;
    height: 25rem;
    margin: 0 auto 3rem;
  }
  .tit_01::before, .tit_01::after {
    left: auto;
    right: 6rem;
  }
  .tit_01::after {
    right: 0;
    top: 6rem;
  }
  .tit_02 {
    font-size: 3rem;
    margin: 0 auto 6.4rem;
  }
  .tit_02 .eng {
    bottom: -3.2rem;
  }
  .tit_02 span:not(.eng)::after {
    bottom: -1rem;
    min-width: auto;
    max-width: 100%;
    height: 0.3rem;
  }
  body:not(.index) .tit_02 {
    margin: 0 auto 6.4rem;
  }
  body:not(.index) .tit_02::after {
    margin: 1rem auto 0;
    width: 12rem;
  }
  .tit_03 {
    font-size: 2.4rem;
    padding: 1rem;
    margin: 0 0 2rem;
  }
  .tit_04 {
    font-size: 2.2rem;
    margin: 0 0 2rem;
    padding: 0 0 0 2.4rem;
  }
  .tit_04::before {
    width: 1.5rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(0.6rem, #f5c62a), color-stop(0.6rem, rgba(255, 255, 255, 0)), color-stop(0.9rem, rgba(255, 255, 255, 0)), color-stop(0.9rem, #00a98c));
    background: linear-gradient(to right, #f5c62a 0.6rem, rgba(255, 255, 255, 0) 0.6rem, rgba(255, 255, 255, 0) 0.9rem, #00a98c 0.9rem);
  }
  .tit_05 {
    font-size: 2rem;
    margin: 0 0 2rem;
    padding: 0 0 0.3rem;
    border-bottom: 3px dashedvar(--color26);
  }
  .tit_06 {
    font-size: 1.8rem;
    margin: 0 0 2rem;
    padding: 0 0 0.3rem;
  }
}
/* リスト回り -------------------------------------- */
.lst_ul01 li {
  text-indent: -1.8rem;
  padding-left: 2.2rem;
  padding-bottom: 1rem;
  line-height: 1.4;
}
@media screen and (min-width: 48em), print {
  .lst_ul01 li {
    text-indent: -2rem;
  }
}
.lst_ul01 li:last-child {
  padding-bottom: 0;
}
.lst_ul01 li::before {
  content: "●";
  margin-right: 0.4rem;
  color: var(--color33);
}
.lst_ul01 li.none::before {
  content: none;
}
@media screen and (min-width: 48em), print {
  .lst_ul01.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .lst_ul01.flex li {
    width: 49%;
  }
}

.lst_ul02 li {
  text-indent: -1.8rem;
  padding-left: 2.2rem;
  padding-bottom: 1rem;
  line-height: 1.4;
}
@media screen and (min-width: 48em), print {
  .lst_ul02 li {
    text-indent: -2rem;
  }
}
.lst_ul02 li:last-child {
  padding-bottom: 0;
}
.lst_ul02 li::before {
  content: "■";
  margin-right: 0.4rem;
  color: var(--color33);
}
.lst_ul02 li.tit {
  text-indent: 0;
  padding-left: 2.2rem;
}
.lst_ul02 li.tit::before {
  content: none;
}
.lst_ul02 li.tit span {
  color: var(--color33);
  font-weight: bold;
  margin: 0 1rem 0 0;
  text-indent: -2rem;
  display: block;
  padding-left: 0.2rem;
}
.lst_ul02 li.tit span::before {
  content: "■";
  margin-right: 0.4rem;
  color: var(--color33);
}
@media screen and (min-width: 48em), print {
  .lst_ul02 li.tit span {
    display: inline-block;
    text-indent: -2.2rem;
  }
}

.lst_ul03 li {
  text-indent: -1.6rem;
  padding-left: 2rem;
  padding-bottom: 1rem;
  line-height: 1.4;
}
@media screen and (min-width: 48em), print {
  .lst_ul03 li {
    text-indent: -2rem;
  }
}
.lst_ul03 li:last-child {
  padding-bottom: 0;
}
.lst_ul03 li::before {
  content: "☑";
  margin-right: 0.4rem;
  color: var(--color33);
}
.lst_ul03 li.none::before {
  content: none;
}

.lst_ol01 {
  margin: 1rem 0 1rem 2.6rem;
}
@media screen and (min-width: 48em), print {
  .lst_ol01 {
    margin: 1rem 0 1rem 3rem;
  }
}
.lst_ol01 li {
  line-height: 1.4;
  counter-increment: number 1;
  text-indent: -1.1rem;
  padding: 0 0 1rem 0;
}
.lst_ol01 li::before {
  display: inline-block;
  content: counter(number) ".";
  margin-right: 0.8rem;
  font-family: "Lato", sans-serif;
  color: clr_blue;
  font-weight: bold;
}

.lst_dl01 div {
  margin: 0 0 1rem;
}
.lst_dl01 div dt {
  font-weight: bold;
  color: var(--color20);
}
.lst_dl01 div dd {
  margin: 0;
  padding: 0;
}

@media screen and (min-width: 48em), print {
  .lst_dl01 div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .lst_dl01 div dt {
    width: 10rem;
  }
  .lst_dl01 div dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.lst_dl02 dt {
  padding: 0.4rem 0.6rem;
  margin: 0 0 1rem;
  font-weight: bold;
  font-size: 120%;
  border-bottom: 3px solid var(--color33);
}
.lst_dl02 dd {
  margin: 0 0 2rem;
}

/* フレックス回り -------------------------------------- */
.flex3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.flex3 > li {
  width: 46%;
}

@media screen and (min-width: 48em), print {
  .flex2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .flex2 > section,
  .flex2 > li {
    width: 48%;
    margin: 0 !important;
  }
  .flex3 li {
    width: 31%;
  }
}
/* リンク -------------------------------------- */
.btn_01 {
  display: block;
  text-align: center;
}
.btn_01 a {
  background: var(--color25);
  color: var(--color22);
  text-align: center;
  padding: 0.6rem 2rem;
  border-radius: 10px;
  border: 2px solid var(--color14);
  display: inline-block;
  text-decoration: none !important;
}
.btn_01 a::after {
  content: "\e80d";
  font-family: "fontello";
  margin-left: 0.8rem;
}
@media screen and (min-width: 48em), print {
  .btn_01 {
    text-align: left;
  }
}

.lst_anc {
  margin: 6rem auto 4rem;
  padding: 1rem;
  background: var(--color34);
}
.lst_anc li {
  margin: 1rem;
}
.lst_anc li a {
  display: block;
  padding: 0.4rem 2rem;
  text-decoration: none !important;
  font-weight: normal;
  text-align: center;
  background: var(--color33);
  color: #fff;
  position: relative;
}
.lst_anc li a::after {
  content: "\e80c";
  font-size: 1rem;
  font-family: "fontello";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

@media screen and (min-width: 48em), print {
  .lst_anc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 2rem auto 10rem;
    padding: 2.6rem 12rem;
  }
  .lst_anc::after {
    content: "";
    display: block;
    width: 30%;
  }
  .lst_anc li {
    width: 30%;
    margin: 2rem 0;
  }
  .lst_anc li a {
    padding: 1rem 2rem;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
/* フローチャート -------------------------------------- */
.lst_flow > li {
  padding: 1rem;
  border: 1px solid var(--color05);
  margin: 0 0 6rem;
  position: relative;
}
@media screen and (min-width: 48em), print {
  .lst_flow > li {
    padding: 3rem;
    margin: 0 0 10rem;
  }
}
.lst_flow > li:not(:last-child)::after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  position: absolute;
  bottom: -4.8rem;
  left: 0;
  right: 0;
  margin: auto;
  border-top: 2rem solid var(--color25);
  border-right: 1rem solid transparent;
  border-bottom: 1rem solid transparent;
  border-left: 1rem solid transparent;
}
@media screen and (min-width: 48em), print {
  .lst_flow > li:not(:last-child)::after {
    border-top: 4rem solid var(--color25);
    border-right: 2rem solid transparent;
    border-bottom: 1rem solid transparent;
    border-left: 2rem solid transparent;
    bottom: -7.6rem;
  }
}
@media screen and (min-width: 48em), print {
  .lst_flow > li.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .lst_flow > li.flex > div {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.lst_flow > li .num {
  width: 2rem;
  height: 2rem;
  margin-right: 0.6rem;
  background: var(--color25);
  color: #fff;
  font-weight: bold;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
}
@media screen and (min-width: 48em), print {
  .lst_flow > li .num {
    width: 3.2rem;
    height: 3.2rem;
    margin-right: 1.4rem;
  }
}
.lst_flow > li .tit {
  font-weight: bold;
  color: var(--color20);
}
@media screen and (min-width: 48em), print {
  .lst_flow > li .tit {
    font-size: 1.8rem;
  }
}

/* テーブル -------------------------------------- */
.tbl_01 {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
  caption-side: bottom;
}
.tbl_01 caption {
  text-align: left;
  padding: 0.4rem 0 0;
}
@media screen and (min-width: 48em), print {
  .tbl_01 caption {
    padding: 1.2rem 0 0;
  }
}
.tbl_01 thead tr th {
  color: var(--color22);
  font-weight: bold;
  padding: 0.8rem;
  font-size: 1.4rem;
}
@media screen and (min-width: 48em), print {
  .tbl_01 thead tr th {
    font-size: 1.8rem;
  }
}
.tbl_01 tbody tr th {
  width: 30%;
  background: var(--color24);
  color: var(--color22);
  border: 1px solid var(--color08);
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 48em), print {
  .tbl_01 tbody tr th {
    padding: 1.2rem;
  }
}
.tbl_01 tbody tr td {
  padding: 0.8rem;
  border: 1px solid var(--color08);
  font-weight: normal;
}
@media screen and (min-width: 48em), print {
  .tbl_01 tbody tr td {
    padding: 1.2rem;
  }
}
.tbl_01.recruit tbody tr th,
.tbl_01.recruit tbody tr td {
  display: block;
}
.tbl_01.recruit tbody tr th {
  width: 100%;
}
@media screen and (min-width: 48em), print {
  .tbl_01.recruit tbody tr th,
  .tbl_01.recruit tbody tr td {
    display: table-cell;
  }
  .tbl_01.recruit tbody tr th {
    width: 30%;
  }
}
.tbl_01.price tbody td:last-child {
  text-align: center;
}

.tbl_access {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0.2rem;
  width: 100%;
}
.tbl_access tr th {
  width: 37%;
  background: var(--color28);
  text-align: center;
  font-weight: normal;
  padding: 0.8rem;
}
.tbl_access tr td {
  padding: 0.8rem;
}

@media screen and (min-width: 48em), print {
  .tbl_access tr th {
    width: 30%;
  }
}
/* ----------------------------------------------------------------------------------
共通　_common.scss
---------------------------------------------------------------------------------- */
html {
  font-size: 3.125vw;
  font-family: "游ゴシック体", YuGothic, "Yu Gothic medium", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  font-weight: 600;
}

body {
  background: #fff;
  color: #535353;
}

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

.wrap {
  padding: 0 1rem 0;
}

.main {
  font-size: 1.4rem;
  line-height: 1.6;
  padding: 0 0 0;
}
.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: 1320px;
  }
  body > .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin: 10rem auto 0;
  }
  a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  a:hover {
    opacity: 0.8;
  }
  .wrap {
    width: 1280px;
    margin: 0 auto;
    padding: 0;
  }
  .main {
    font-size: 1.6rem;
    padding: 20.3rem 0 0;
    width: 100%;
  }
  .overflow {
    overflow-x: hidden;
  }
}
/* アイコンフォント -------------------------------------- */
@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: 2.2rem 1rem 1.5rem;
}
.header .wrap .logo {
  height: 3.8rem;
}
.header .wrap .logo a {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/logo.svg) no-repeat left center/contain;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.header .wrap .headR {
  margin: 1.6rem 0 1.4rem;
  padding: 1rem;
  border-radius: 7px;
  background: var(--color18);
}
.header .wrap .headR .head_info p {
  margin: 0 0 1rem;
  font-size: 1.2rem;
}
.header .wrap .headR .head_info dl div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 0.6rem;
}
.header .wrap .headR .head_info dl div dt {
  width: 7rem;
  padding: 0.4rem 0.2rem;
  margin-right: 0.6rem;
  font-size: 1.2rem;
  text-align: center;
  color: #fff;
  background: #222;
  border-radius: 5px;
}
.header .wrap .headR .head_info dl div dd {
  margin: 0;
  padding: 0;
  font-size: 1.2rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.header .wrap .headR .head_info dl div.h_access dt {
  background: var(--color14);
}
.header .wrap .headR .head_info dl div.h_access dd {
  color: var(--color14);
}
.header .wrap .headR .head_info dl div.h_parking dt {
  background: var(--color33);
}
.header .wrap .headR .head_info dl div.h_parking dd {
  color: var(--color33);
}
.header .wrap .headR .lst_tel li {
  font-weight: bold;
}
.header .wrap .headR .lst_tel li.tel_item {
  font-size: 1.8rem;
  margin: 0 0 0.4rem;
  color: var(--color25);
}
.header .wrap .headR .lst_tel li.tel_item .ex {
  margin-right: 0.8rem;
}
.header .wrap .headR .lst_tel li.tel_item_b {
  font-size: 1.6rem;
  color: var(--color33);
}
.header .wrap .headR .lst_tel li.tel_item_b .ex {
  margin-right: 0.6rem;
}
.header .wrap .headR .lst_tel li .ex {
  font-weight: 600;
  font-size: 1.2rem !important;
}

@media screen and (min-width: 48em), print {
  .header .wrap {
    margin: 1.5rem auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header .wrap .logo {
    width: 45rem;
    height: 8rem;
  }
  .header .wrap .headR {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .header .wrap .headR .head_info {
    margin-right: 2rem;
  }
  .header .wrap .headR .head_info p {
    margin: 0;
    font-size: 1.4rem;
  }
  .header .wrap .headR .head_info dl div {
    margin: 0 0 0.5rem;
  }
  .header .wrap .headR .head_info dl div dt {
    width: 8.8rem;
    padding: 0.4rem 0.2rem;
    margin-right: 1.5rem;
    font-size: 1.4rem;
  }
  .header .wrap .headR .head_info dl div dd {
    font-size: 1.4rem;
  }
  .header .wrap .headR .lst_tel li.tel_item {
    font-size: 3rem;
    margin: 0 0 0.4rem;
  }
  .header .wrap .headR .lst_tel li.tel_item .ex {
    margin-right: 0;
    font-size: 1.4rem;
    display: block;
  }
  .header .wrap .headR .lst_tel li.tel_item_b {
    font-size: 2rem;
  }
  .header .wrap .headR .lst_tel li.tel_item_b .ex {
    margin-right: 2.4rem;
  }
  .header .wrap .headR .lst_tel li .ex {
    font-size: 1.2rem;
  }
}
/*hamburger*/
#menu {
  z-index: 9999;
  background: var(--color38);
  width: 100%;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#menu .fixed_menu_btn {
  width: 6rem;
  height: 5.6rem;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: 0.4rem 0.4rem;
  position: fixed;
  top: 1.4rem;
  right: 1rem;
  z-index: 204;
}
#menu .fixed_menu_btn .hamburger {
  height: 100%;
}
#menu .fixed_menu_btn .hamburger a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0.8rem 0rem;
  height: 100%;
  text-decoration: none;
  background: var(--color16);
  color: var(--color22);
  font-size: 1.2rem;
  border-radius: 5px;
}
#menu .fixed_menu_btn .hamburger a::before {
  content: "\e802";
  font-family: "fontello";
  font-size: 2.6rem;
  line-height: 0.8;
}
#menu .fixed_menu_btn .hamburger a::after {
  content: "MENU";
  font-size: 1rem;
}
#menu .fixed_menu_btn.active .hamburger a::before {
  content: "\e806";
}
#menu .fixed_menu_btn.active .hamburger a::after {
  content: "CLOSE";
}
#menu #nav {
  display: none;
}
#menu #nav.sp_nav {
  width: 27rem;
  height: 100%;
  padding: 12rem 0 12rem;
  background-color: var(--color09);
  overflow-y: scroll;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 203;
  -webkit-transform: translate(27rem);
  transform: translate(27rem);
}
#menu #nav.sp_nav.open {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
#menu #nav.sp_nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 1.2rem;
}
#menu #nav.sp_nav ul li {
  width: 50%;
  text-align: left;
  margin: 0;
  border-bottom: 1px solid #ddd;
}
#menu #nav.sp_nav ul li:nth-child(1), #menu #nav.sp_nav ul li:nth-child(2) {
  border-top: 1px solid #ddd;
}
#menu #nav.sp_nav ul li:nth-child(odd) {
  border-right: 1px solid #ddd;
}
#menu #nav.sp_nav ul li.treatment {
  display: none;
}
#menu #nav.sp_nav ul li a {
  display: block;
  padding: 1.2rem 0.2rem 1.2rem 0.6rem;
  font-weight: bold;
  color: #535353;
  text-decoration: none !important;
}
#menu #nav.sp_nav .spnav {
  display: block;
}
#menu #nav.sp_nav .spnav p {
  font-size: 1.4rem;
  margin: 3rem 0 0.8rem;
  color: var(--color33);
}
#menu .overlay {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 201;
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
#menu .overlay.open {
  width: 100%;
  height: 100vh;
  opacity: 1;
}

#nav {
  display: none;
}

@media screen and (min-width: 48em), print {
  .fixed_menu_btn {
    display: none;
  }
  #menu {
    display: block;
    /* Gナビ　ハイライト */
  }
  #menu.overlay {
    display: none;
  }
  #menu #nav {
    all: unset;
    display: block;
    background: #fff;
    position: relative;
    z-index: 200;
    padding: 1.8rem 0 2.1rem;
  }
  #menu #nav.fixed {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
  #menu #nav .gnav {
    width: 92rem;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #menu #nav .gnav li {
    width: auto;
    margin: 0;
    position: relative;
  }
  #menu #nav .gnav li a {
    display: block;
    text-align: center;
    font-size: 1.6rem;
  }
  #menu #nav .gnav li a.sub::after {
    content: "\e80c";
    font-family: "fontello";
    font-size: 1.2rem;
    color: var(--color33);
    margin-left: 0.8rem;
  }
  #menu #nav .gnav li .subnav {
    width: 22.7rem;
    padding: 2.2rem 3rem;
    display: none;
    position: absolute;
    top: 4rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background: #fff;
    -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
  #menu #nav .gnav li .subnav li {
    width: 100%;
  }
  #menu #nav .gnav li .subnav li.after_surgery_item {
    display: none;
  }
  #menu #nav .gnav li .subnav li a {
    display: block;
    width: 100%;
    padding: 0.6rem 0;
    text-align: left;
  }
  #menu #nav .gnav li .subnav li a:hover {
    color: var(--color33);
    opacity: 1;
  }
  #menu #nav .spnav {
    display: none;
  }
}
/* クリニック概要 -------------------------------------- */
.overview {
  padding: 0 0 2rem;
  font-size: 1.4rem;
  line-height: 1.6;
}
.overview .gmap {
  height: 20rem;
}
.overview .gmap iframe {
  height: 100%;
}
.overview > .wrap {
  padding: 2rem 1rem 0;
}
.overview > .wrap .overviewL .clinic_name {
  text-align: center;
  margin: 0 0 2rem;
}
.overview > .wrap .overviewL .clinic_name p {
  margin: 0;
}
.overview > .wrap .overviewL .clinic_name img {
  max-width: 80%;
  height: auto;
}
.overview > .wrap .overviewL .overview_tel li {
  width: 100%;
  font-weight: bold;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.overview > .wrap .overviewL .overview_tel li p {
  margin: 0;
  padding: 0.4rem 1.2rem;
  border-radius: 10px 0 0 10px;
  text-align: center;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #222;
}
.overview > .wrap .overviewL .overview_tel li .tel {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 1.8rem;
  padding: 0.4rem 1rem;
  border-radius: 0 10px 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #eee;
}
.overview > .wrap .overviewL .overview_tel li .tel::before {
  content: "tel.";
}
.overview > .wrap .overviewL .overview_tel li.tel_item01 {
  margin: 0 0 1.4rem;
}
.overview > .wrap .overviewL .overview_tel li.tel_item01 p {
  padding: 0.4rem 1.8rem;
  background: var(--color20);
}
.overview > .wrap .overviewL .overview_tel li.tel_item01 .tel {
  background: var(--color25);
}
.overview > .wrap .overviewL .overview_tel li.tel_item02 p {
  background: var(--color32);
}
.overview > .wrap .overviewL .overview_tel li.tel_item02 .tel {
  background: var(--color33);
}
.overview > .wrap .overviewC {
  margin: 2rem 0 0;
}
.overview > .wrap .overviewC .tbl_gaiyo {
  width: 100%;
  border-collapse: collapse;
}
.overview > .wrap .overviewC .tbl_gaiyo th {
  width: 27%;
  text-align: left;
  vertical-align: top;
  color: var(--color22);
  padding: 0 0 0.6rem;
}
.overview > .wrap .overviewC .tbl_gaiyo td {
  padding: 0 0 0.6rem;
}
.overview > .wrap .overviewR {
  margin: 2rem 0 0;
}
.overview > .wrap .overviewR .tbl_time {
  margin: 1.6rem 0;
}

@media screen and (min-width: 48em), print {
  .overview .gmap {
    height: 30rem;
  }
  .overview > .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 4.4rem 0 4.9rem;
  }
  .overview > .wrap .overviewL {
    min-width: 30rem;
  }
  .overview > .wrap .overviewL .overview_tel li.tel_item01 {
    margin: 0 0 1rem;
  }
  .overview > .wrap .overviewL .overview_tel li.tel_item01 p {
    padding: 0.4rem 1rem;
  }
  .overview > .wrap .overviewL .overview_tel li.tel_item01 .tel {
    font-size: 2.4rem;
    padding: 0.4rem 0.2rem;
  }
  .overview > .wrap .overviewL .overview_tel li.tel_item02 p {
    font-size: 1.2rem;
  }
  .overview > .wrap .overviewL .overview_tel li.tel_item02 .tel {
    font-size: 2rem;
  }
  .overview > .wrap .overviewC {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0;
    padding: 0 7.6rem 0 5rem;
  }
  .overview > .wrap .overviewC .tbl_gaiyo th {
    width: 9rem;
    padding: 0 0 1rem;
  }
  .overview > .wrap .overviewC .tbl_gaiyo td {
    padding: 0 0 1rem;
  }
  .overview > .wrap .overviewR {
    width: 54.1rem;
    margin: 0;
  }
}
/* 固定メニュー -------------------------------------- */
aside {
  display: none;
}

@media screen and (min-width: 48em), print {
  aside {
    display: block;
    position: fixed;
    top: 16.2rem;
    right: 0;
    z-index: 200;
  }
  aside ul li a {
    width: 6.7rem;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none !important;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
    text-orientation: upright;
    padding: 2.6rem 1.5rem;
    font-size: 2rem;
    font-weight: bold;
    border-radius: 10px 0 0 10px;
  }
  aside ul li a::before {
    font-family: "fontello";
    margin-bottom: 1rem;
    font-weight: normal;
    font-size: 3.2rem;
  }
  aside ul li.rsv {
    margin: 0 0 2rem;
  }
  aside ul li.rsv a {
    background: var(--color25);
    color: var(--color03);
  }
  aside ul li.rsv a::before {
    content: "\e809";
  }
  aside ul li.recruit a {
    background: var(--color33);
    color: #fff;
  }
  aside ul li.recruit a::before {
    content: "\e80a";
  }
}
/* フッター -------------------------------------- */
#pageup {
  display: none;
  position: fixed;
  bottom: 8rem;
  right: 1rem;
  z-index: 1;
  cursor: pointer;
}
#pageup a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 4.6rem;
  height: 4.6rem;
  text-align: center;
  padding: 0.4rem;
  background: #fff;
  border: 2px solid var(--color25);
  border-radius: 50%;
}
#pageup a::before {
  text-align: center;
  font-size: 1.6rem;
  font-family: "fontello";
  content: "\e80b";
  color: var(--color25);
}

@media screen and (min-width: 48em), print {
  #pageup {
    right: 8rem;
  }
  #pageup a {
    width: 7rem;
    height: 7rem;
  }
  #pageup a::before {
    font-size: 2.4rem;
  }
}
.tel_rsv {
  width: 100%;
  height: 4.6rem;
  background: #fff;
  visibility: hidden;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.tel_rsv .tel {
  display: block;
  text-align: center;
  color: var(--color25);
  width: 50%;
  font-size: 1.4rem;
  line-height: 1;
}
.tel_rsv .tel::before {
  content: "tel.";
  font-family: "fontello";
  margin-right: 0.2rem;
}
.tel_rsv .rsv {
  width: 50%;
  height: 100%;
  font-size: 1.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0.4rem;
  line-height: 1;
  background: var(--color23);
}

@media screen and (min-width: 48em), print {
  .tel_rsv {
    display: none !important;
  }
  .tel_rsv .tel,
  .tel_rsv .rsv {
    display: none;
  }
}
.footer {
  text-align: center;
  padding: 0 0 4.6rem;
  background: var(--color17);
}
.footer ul {
  display: none;
}
.footer .copy {
  display: block;
  background: var(--color15);
  padding: 2.8rem 0.2rem 1.2rem;
  font-size: 1.2rem;
}

@media screen and (min-width: 48em), print {
  .footer {
    padding: 2rem 0 0;
  }
  .footer ul {
    display: block;
    text-align: center;
    margin: 0 auto;
    line-height: 1.4;
  }
  .footer ul li {
    display: inline-block;
    font-size: 1.4rem;
  }
  .footer ul li:not(:last-child)::after {
    content: "|";
    margin: 0 1rem;
  }
  .footer ul li a {
    opacity: 1;
  }
  .footer ul li a span {
    display: none;
  }
  .footer ul li a:hover {
    text-decoration: underline;
  }
  .footer ul li.treatment {
    display: none;
  }
  .footer .copy {
    margin: 2rem 0 0;
    padding: 1.2rem 0;
  }
}
/* ----------------------------------------------------------------------------------
トップ　_top.scss
---------------------------------------------------------------------------------- */
/* アニメーション設定 -------------------------------------- */
body.index .main .animation {
  opacity: 0;
}
body.index .main .animation.active {
  -webkit-animation: fadeInUp 1s ease forwards;
          animation: fadeInUp 1s ease forwards;
}
body.index .main .animation.bg::before {
  opacity: 0;
}
body.index .main .animation.bg.active::before {
  -webkit-animation: fadeInUp 1s ease forwards;
          animation: fadeInUp 1s ease forwards;
}
body.index .feature ul li .img.animation.active {
  -webkit-animation: fadeInLeft 1s ease forwards;
          animation: fadeInLeft 1s ease forwards;
}
body.index .feature ul li:nth-child(even) .img.animation.active {
  -webkit-animation: fadeInRight 1s ease forwards;
          animation: fadeInRight 1s ease forwards;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10rem);
            transform: translateY(10rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10rem);
            transform: translateY(10rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10rem);
            transform: translateX(-10rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10rem);
            transform: translateX(-10rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(4rem);
            transform: translateX(4rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(4rem);
            transform: translateX(4rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/* キービジュアル -------------------------------------- */
#kv_area {
  position: relative;
  z-index: 1;
}
#kv_area::after {
  content: "";
  clip-path: polygon(0% 0%, 0% 100%, 90% 100%, 100% 0%);
  width: 96%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: -1.8rem;
  background: var(--color13);
  z-index: -1;
  opacity: 0.3;
}
#kv_area .bg {
  clip-path: polygon(0% 0%, 0% 100%, 90% 100%, 100% 0%);
  margin: 0 3rem 0 0;
  height: 20rem;
}
#kv_area .bg #keyvsl {
  margin: 0;
  max-width: 100%;
  height: 100%;
  background: url(../img/index_keyvsl01.jpg) no-repeat center center/cover;
}

@media screen and (min-width: 48em), print {
  #kv_area {
    width: 150rem;
    left: 0;
  }
  #kv_area::after {
    width: calc(100% + 14rem);
    right: -14rem;
    bottom: -8rem;
    left: auto;
  }
  #kv_area .bg {
    clip-path: polygon(0% 0%, 0% 100%, calc(100% - 13.3rem) 100%, 100% 0%);
    height: 70rem;
  }
  #kv_area .bg #keyvsl {
    background: url(../img/index_keyvsl01.jpg) no-repeat center center/auto auto;
  }
}
/* お知らせ/ブログ -------------------------------------- */
@media screen and (min-width: 48em), print {
  .info_blog {
    width: 1280px;
    padding: 0 0 10.7rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .info_blog .info,
  .info_blog .blog_col {
    padding: 0;
    width: 60rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .info_blog .info .wrap,
  .info_blog .blog_col .wrap {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .info_blog .info .wrap dl,
  .info_blog .info .wrap ul,
  .info_blog .blog_col .wrap dl,
  .info_blog .blog_col .wrap ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
/* お知らせ -------------------------------------- */
.info {
  padding: 4rem 0 2rem;
}
.info dl {
  margin: 0;
  line-height: 1.4;
  padding: 1rem 1.2rem 1.4rem;
  max-height: 20rem;
  overflow-y: scroll;
  background: var(--color10);
  border-radius: 10px;
}
.info dl .line {
  border-bottom: 1px solid var(--color06);
  padding: 1.4rem 0;
}
.info dl .line:nth-of-type(n + 4) dd {
  display: none;
}
.info dl .line dt {
  color: var(--color20);
  cursor: pointer;
  display: table;
}
.info dl .line dt:hover {
  opacity: 0.8;
}
.info dl .line dt::after {
  content: "\e80c";
  font-family: "fontello";
  margin-left: 0.4rem;
}
.info dl .line dt.close::after {
  content: "\e80b";
}
.info dl .line dd {
  margin: 0;
}

@media screen and (min-width: 48em), print {
  .info dl {
    padding: 2.5rem 3rem 2rem;
    max-height: 59rem;
  }
  .info dl .line {
    padding: 3rem 0;
  }
  .info dl .line dt {
    font-size: 1.6rem;
  }
  .info dl .line dt::after {
    margin-left: 1.2rem;
  }
  .info dl .line dd {
    font-size: 1.6rem;
  }
}
/* ブログ -------------------------------------- */
.blog_col {
  padding: 2rem 0 4rem;
}
.blog_col .tit_02 .eng {
  color: var(--color33);
}
.blog_col .tit_02 span:not(.eng)::after {
  background: var(--color33);
}
.blog_col ul {
  background: var(--color10);
  padding: 0 1.4rem 1.4rem 1rem;
  border-radius: 10px;
  max-height: 20rem;
  overflow-y: scroll;
}
.blog_col ul li {
  border-bottom: 1px solid var(--color06);
  padding: 1.4rem 0;
}
.blog_col ul li a {
  color: var(--color33);
}

@media screen and (min-width: 48em), print {
  .blog_col ul {
    padding: 2.5rem 3rem 2.5rem 3rem;
    max-height: 59rem;
  }
  .blog_col ul li {
    padding: 3rem 0;
  }
  .blog_col ul li a {
    font-size: 1.6rem;
  }
}
/* 診療内容 -------------------------------------- */
.treatment_menu {
  padding: 2rem 0 2rem;
  background: url("../img/index_treatmentMenu_bg01.jpg") no-repeat center/cover;
}
.treatment_menu ul {
  margin: 2rem auto 2rem;
}
.treatment_menu ul li {
  margin: 2.2rem 0 0;
}
.treatment_menu ul li.after_surgery_item {
  display: none;
}
.treatment_menu ul li a {
  display: block;
  text-decoration: none !important;
  background: #fff;
  border-radius: 10px;
  -webkit-box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.16);
  color: var(--color20);
  font-size: 1.6rem;
  padding: 1.6rem 3rem;
  text-align: center;
}
.treatment_menu ul li a span {
  display: block;
  text-align: left;
  color: var(--color03);
  font-size: 1.4rem;
}
.treatment_menu ul li a span::before {
  content: "";
  display: block;
  background-color: var(--color25);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 60% auto;
  border-radius: 50%;
  width: 8rem;
  height: 8rem;
  margin: 0.8rem auto 0.8rem;
}
.treatment_menu ul li a.ortho span::before {
  background-image: url("../img/index_treatmentMenu_ortho.svg");
}
.treatment_menu ul li a.rehabilitation span::before {
  background-image: url("../img/index_treatmentMenu_rehabilitation.svg");
}
.treatment_menu ul li a.spinesurgery span::before {
  background-image: url("../img/index_treatmentMenu_spinesurgery.svg");
}
.treatment_menu ul li a.rheumatism span::before {
  background-image: url("../img/index_treatmentMenu_rheumatism.svg");
}
.treatment_menu ul li a.osteoporosis span::before {
  background-image: url("../img/index_treatmentMenu_osteoporosis.svg");
}
.treatment_menu ul li a.traffic_accident span::before {
  background-image: url("../img/index_treatmentMenu_traffic_accident.svg");
}
.treatment_menu ul li a.insole span::before {
  background-image: url("../img/index_treatmentMenu_insole.svg");
}
.treatment_menu ul li a.private span::before {
  background-image: url("../img/index_treatmentMenu_private.svg");
}
.treatment_menu ul li:nth-child(even) a {
  color: var(--color33);
}
.treatment_menu ul li:nth-child(even) a span::before {
  background-color: var(--color33);
}

@media screen and (min-width: 48em), print {
  .treatment_menu {
    padding: 12rem 0 7rem;
  }
  .treatment_menu ul {
    margin: 9rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .treatment_menu ul li {
    width: 28rem;
    margin: 0 5rem 5rem 0;
  }
  .treatment_menu ul li:nth-child(4n), .treatment_menu ul li:last-child {
    margin: 0 0 5rem;
  }
  .treatment_menu ul li a {
    font-size: 2.4rem;
    height: 100%;
    padding: 5.2rem 2.4rem;
    white-space: nowrap;
    text-decoration: none !important;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  .treatment_menu ul li a:hover {
    opacity: 1;
    -webkit-filter: contrast(1.2);
            filter: contrast(1.2);
  }
  .treatment_menu ul li a span {
    font-size: 1.6rem;
    padding: 0 0.6rem;
    white-space: normal;
  }
  .treatment_menu ul li a span::before {
    background-size: 60% auto;
    width: 14.5rem;
    height: 14.5rem;
    margin: 2.1rem auto 2rem;
  }
}
/* どちらの部位でお悩みですか？ -------------------------------------- */
.worries {
  padding: 2rem 0 4rem;
  background: url("../img/index_worries_bg01.jpg") no-repeat center/cover;
}
.worries .wrap .tit_02 {
  font-weight: bold;
  margin: 0 auto 1.4rem;
}
.worries .wrap .tit_02 > span {
  font-size: 1.4rem;
  display: inline-block;
  color: #fff;
  background: var(--color14);
  padding: 3rem;
  border-radius: 50%;
}
.worries .wrap .tit_02 > span::after {
  content: none !important;
}
.worries .wrap ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 24rem 0 0;
  position: relative;
}
.worries .wrap ul::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.2rem;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 22rem;
  background: url("../img/index_worries_01.svg") no-repeat center/contain;
}
.worries .wrap ul li {
  width: 49%;
  margin-bottom: 0.8rem;
}
.worries .wrap ul li:nth-child(odd) {
  text-align: left;
}
.worries .wrap ul li:nth-child(even) {
  text-align: right;
}
.worries .wrap ul li a {
  display: inline-block;
  width: 100%;
  text-decoration: none !important;
  text-align: center;
  padding: 0.8rem 1.2rem;
  border-radius: 10px;
  border: 2px solid var(--color14);
  background: #fff;
}

@media screen and (min-width: 48em), print {
  .worries {
    padding: 12rem 0 12rem;
    min-height: 79rem;
  }
  .worries .wrap {
    position: relative;
    padding: 0 4.7rem;
  }
  .worries .wrap .tit_02 {
    margin: 0 0 0 4.8rem;
    width: 28rem;
    height: 28rem;
    position: absolute;
    top: 0;
    left: 0;
  }
  .worries .wrap .tit_02 > span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    font-size: 3rem;
    padding: 0;
  }
  .worries .wrap ul {
    width: 85.6rem;
    padding: 0;
    margin: 0 4.7rem 0 auto;
    display: block;
    z-index: 1;
  }
  .worries .wrap ul::before {
    width: 100%;
    height: 55rem;
    z-index: -1;
  }
  .worries .wrap ul li {
    width: auto;
    margin-bottom: 0;
  }
  .worries .wrap ul li:nth-child(odd) {
    text-align: center;
  }
  .worries .wrap ul li:nth-child(even) {
    text-align: center;
  }
  .worries .wrap ul li a {
    width: auto;
    font-size: 2.4rem;
    padding: 2rem 3.4rem;
    border-radius: 20px;
    position: absolute;
  }
  .worries .wrap ul li a.shoulder {
    top: 3.5rem;
    left: 9.5rem;
  }
  .worries .wrap ul li a.neck {
    top: 3.6rem;
    right: 9rem;
  }
  .worries .wrap ul li a.hand {
    top: 13.8rem;
    left: 4.5rem;
  }
  .worries .wrap ul li a.elbow {
    top: 14rem;
    right: 5.6rem;
  }
  .worries .wrap ul li a.waist {
    top: 24.4rem;
    left: 1.9rem;
  }
  .worries .wrap ul li a.hip_joint {
    top: 24.4rem;
    right: 1.1rem;
  }
  .worries .wrap ul li a.knees {
    top: 34.8rem;
    left: 4.7rem;
  }
  .worries .wrap ul li a.calf_shin {
    top: 34.8rem;
    right: -4.3rem;
  }
  .worries .wrap ul li a.legs {
    top: 45.2rem;
    left: 4.6rem;
  }
  .worries .wrap ul li a.other {
    top: 45.2rem;
    right: 1.2rem;
  }
}
/* 院長ご挨拶 -------------------------------------- */
.top_greeting {
  padding: 4rem 0 4rem;
}
.top_greeting .img {
  margin: 4rem auto 3rem;
  position: relative;
  width: 60%;
  height: 100%;
}
.top_greeting .img::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  right: -2rem;
  bottom: -2rem;
  width: 100%;
  height: 100%;
  background: var(--color16);
}
.top_greeting .img img {
  display: block;
}
.top_greeting p {
  padding: 0 1.2rem;
}

@media screen and (min-width: 48em), print {
  .top_greeting {
    padding: 12rem 0 12rem;
  }
  .top_greeting .wrap {
    padding: 0 10.7rem 0 8.7rem;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 39rem;
    grid-template-columns: auto 39rem;
    -ms-grid-rows: auto auto 1fr;
    grid-template-rows: auto auto 1fr;
        grid-template-areas: "tit img" "p img" "btn img";
  }
  .top_greeting .wrap .tit_02 {
    grid-area: tit;
    -ms-grid-row-align: start;
        align-self: start;
    padding-right: 10rem;
  }
  .top_greeting .wrap .tit_02 .eng {
    padding-right: 10rem;
  }
  .top_greeting .wrap .img {
    margin: 0;
    width: 35.1rem;
    grid-area: img;
  }
  .top_greeting .wrap p {
    grid-area: p;
    padding: 0 10rem 0 0;
  }
  .top_greeting .wrap .btn_01 {
    grid-area: btn;
  }
}
/* 理念 -------------------------------------- */
.top_philosophy {
  padding: 4rem 0 2rem;
  background: var(--color23);
}
.top_philosophy .tit_02 {
  font-weight: bold;
  margin: 0 0 1rem;
  color: var(--color20);
  text-align: center;
}
.top_philosophy .tit_02 > span {
  display: inline-block;
  text-align: left;
}
.top_philosophy .tit_02 > span::after {
  content: none;
}
.top_philosophy ul {
  margin: 2rem 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}
.top_philosophy ul li {
  width: 50%;
  padding: 6.4rem 0;
  text-align: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}
.top_philosophy ul li span {
  padding: 0.4rem 0.8rem;
  border-radius: 10px;
  background: #fff;
  text-align: center;
  position: relative;
}
.top_philosophy ul li.item_01 {
  background-image: url("../img/index_philosophy_01.png");
  color: var(--color40);
}
.top_philosophy ul li.item_01 span {
  top: -1.2rem;
}
.top_philosophy ul li.item_02 {
  background-image: url("../img/index_philosophy_02.png");
  color: var(--color30);
}
.top_philosophy ul li.item_02 span {
  top: -1.2rem;
}
.top_philosophy ul li.item_03 {
  background-image: url("../img/index_philosophy_03.png");
  color: var(--color36);
}
.top_philosophy ul li.item_03 span {
  top: 1.4rem;
}
.top_philosophy ul li.item_04 {
  background-image: url("../img/index_philosophy_04.png");
  color: var(--color22);
}
.top_philosophy ul li.item_04 span {
  top: 1.4rem;
}
.top_philosophy ul li.item_05 {
  background-image: url("../img/index_philosophy_05.png");
  color: var(--color39);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.top_philosophy p {
  padding: 0 1.2rem;
}

@media screen and (min-width: 48em), print {
  .top_philosophy {
    padding: 12.4rem 0 12rem;
    min-height: 78rem;
  }
  .top_philosophy .wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 60.7rem auto;
    grid-template-columns: 60.7rem auto;
    -ms-grid-rows: auto 1fr;
    grid-template-rows: auto 1fr;
        grid-template-areas: "ul tit" "ul p";
  }
  .top_philosophy .wrap .tit_02 {
    grid-area: tit;
    -ms-grid-row-align: start;
        align-self: start;
    margin: 0 0 2.2rem 5rem;
    font-size: 5rem;
  }
  .top_philosophy .wrap .tit_02 > span {
    display: block;
  }
  .top_philosophy .wrap ul {
    grid-area: ul;
    position: relative;
  }
  .top_philosophy .wrap ul li {
    width: 30rem;
    height: 30rem;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .top_philosophy .wrap ul li span {
    padding: 0.8rem 2.8rem;
    border-radius: 20px;
    font-size: 2.4rem;
  }
  .top_philosophy .wrap ul li.item_01 span {
    top: -2.2rem;
  }
  .top_philosophy .wrap ul li.item_02 span {
    top: -2.2rem;
  }
  .top_philosophy .wrap ul li.item_03 span {
    top: 2.4rem;
  }
  .top_philosophy .wrap ul li.item_04 span {
    top: 2.4rem;
  }
  .top_philosophy .wrap p {
    grid-area: p;
    font-size: 1.6rem;
    padding: 0 0 0 5rem;
  }
  .top_philosophy .wrap > .tit_02 {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .top_philosophy .wrap > p {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
}
/* 当院の特長 -------------------------------------- */
.feature {
  padding: 4rem 0 4rem;
}
.feature ul li {
  margin: 0 0 3rem;
  padding: 0 1rem;
}
.feature ul li:last-child {
  margin: 0;
}
.feature ul li figure {
  margin: 0;
  padding: 0;
}
.feature ul li figure p {
  color: var(--color20);
  background: var(--color23);
  padding: 0.8rem 1.2rem;
}
.feature ul li figure .img {
  clip-path: polygon(0% 0%, 0% 100%, 90% 100%, 100% 0%);
}
.feature ul li:nth-child(even) figure .img {
  clip-path: polygon(0% 0%, 100% 0, 100% 100%, 10% 100%);
}
@media screen and (min-width: 48em), print {
  .feature {
    padding: 12.3rem 0 12rem;
  }
  .feature ul {
    margin: 9rem 0 0;
  }
  .feature ul li {
    padding: 0;
  }
  .feature ul li:last-child {
    margin: 0;
  }
  .feature ul li figure {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 59rem auto;
    grid-template-columns: 59rem auto;
    -ms-grid-rows: auto 1fr;
    grid-template-rows: auto 1fr;
        grid-template-areas: "img p" "img figcaption";
  }
  .feature ul li figure p {
    grid-area: p;
    -ms-grid-row-align: start;
        align-self: start;
    margin: 4.5rem 0 2rem 10rem;
    padding: 1rem 1.5rem;
    font-size: 2.4rem;
    line-height: 1.8;
  }
  .feature ul li figure .img {
    grid-area: img;
    width: 590px;
    clip-path: polygon(0% 0%, 0% 100%, calc(100% - 5.5rem) 100%, 100% 0%);
  }
  .feature ul li figure figcaption {
    grid-area: figcaption;
    margin: 0 0 0 10rem;
    font-size: 1.6rem;
  }
  .feature ul li:nth-child(even) figure {
    -ms-grid-columns: auto 59rem;
    grid-template-columns: auto 59rem;
        grid-template-areas: "p img" "figcaption img";
  }
  .feature ul li:nth-child(even) figure p {
    margin: 4.5rem 10rem 2rem 0;
  }
  .feature ul li:nth-child(even) figure .img {
    clip-path: polygon(0% 0%, 100% 0, 100% 100%, 5.5rem 100%);
  }
  .feature ul li:nth-child(even) figure figcaption {
    margin: 0 10rem 0 0;
  }
  .feature ul li figure > .img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .feature ul li:nth-child(even) figure > .img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .feature ul li figure > p {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .feature ul li:nth-child(even) figure > p {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .feature ul li figure > p {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .feature ul li:nth-child(even) figure > p {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}
@media screen and (min-width: 48em), print{
  .top_greeting .wrap .tit_02 {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .top_greeting .wrap .img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
  }
  .top_greeting .wrap p {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .top_greeting .wrap .btn_01 {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .top_philosophy .wrap .tit_02 {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .top_philosophy .wrap > .tit_02 {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .top_philosophy .wrap ul {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .top_philosophy .wrap p {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .top_philosophy .wrap > p {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .feature ul li figure p {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .top_philosophy .wrap > p {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .feature ul li figure > p {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .feature ul li:nth-child(even) figure > p {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .feature ul li figure .img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
  }
  .feature ul li figure > .img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .feature ul li:nth-child(even) figure > .img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .feature ul li figure figcaption {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .feature ul li:nth-child(even) figure > figcaption {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
}
/* ----------------------------------------------------------------------------------
下層　_lower.scss
---------------------------------------------------------------------------------- */
body:not(.index) .breadcrumb_list {
  display: none;
}
@media screen and (min-width: 48em), print {
  body:not(.index) .breadcrumb_list {
    width: 1280px;
    margin: 10rem auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  body:not(.index) .breadcrumb_list li {
    font-size: 1.6rem;
    display: inline-block;
  }
  body:not(.index) .breadcrumb_list li:not(:last-child)::after {
    content: "＞";
    display: inline-block;
    margin: 0 1rem;
  }
  body:not(.index) .breadcrumb_list li a:hover {
    opacity: 1;
    text-decoration: underline;
  }
}
body:not(.index) .main {
  margin: 0 1rem 6rem;
}
@media screen and (min-width: 48em), print {
  body:not(.index) .main {
    margin: 0 0 10rem;
    padding: 10rem 0 0;
  }
}

body:not(.index) .img {
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 48em), print {
  body:not(.index) .img {
    max-width: 40%;
    margin: 0 auto 0 0;
  }
}
body:not(.index) .img_flex > img,
body:not(.index) .img_flex > figure {
  text-align: center;
  display: block;
  margin: 0 auto 1rem;
}
@media screen and (min-width: 48em), print {
  body:not(.index) .img_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  body:not(.index) .img_flex > img,
  body:not(.index) .img_flex > figure {
    max-width: 40%;
    margin: 4rem 0 0;
  }
  body:not(.index) .img_flex > img:first-child,
  body:not(.index) .img_flex > figure:first-child {
    margin-right: 2rem;
  }
}
body:not(.index) .img_flex figcaption {
  text-align: center;
  padding: 0.8rem 0 0;
}
@media screen and (min-width: 48em), print {
  body:not(.index) .img_flex.center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
body:not(.index) figure {
  margin: 0;
  padding: 0;
}
body:not(.index) figure > img {
  max-width: 100%;
}
body:not(.index) figure figcaption {
  text-align: center;
  padding: 0.8rem 0 0;
}
body:not(.index) figure.center {
  margin: 0 auto;
}
@media screen and (min-width: 48em), print {
  body:not(.index) figure {
    max-width: 40%;
    margin: 0;
    padding: 0;
  }
}

@media screen and (min-width: 48em), print {
  .cf .img_l,
  .cf .img_r {
    max-width: 40%;
    height: auto;
  }
}
/* ドクター紹介 */
.greeting .dr_name {
  text-align: right;
}
.greeting .dr_name span {
  font-size: 130%;
}
.greeting .flex {
  margin: 4rem 0 0;
}

@media screen and (min-width: 48em), print {
  .greeting .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .greeting .flex > * {
    width: 49%;
    margin: 0;
  }
}
/* クリニック紹介 */
.clinic figure {
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 48em), print {
  .clinic figure {
    max-width: 100% !important;
  }
}
.clinic figure figcaption {
  padding: 0.8rem 0 0;
  text-align: left !important;
}
.clinic .bnr_facility {
  width: 100%;
  margin: 2rem auto 0;
  text-align: center;
}
.clinic .bnr_facility a {
  text-align: center;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid #00a98c;
  color: #00a98c;
  padding: 1rem;
  display: block;
  position: relative;
  text-decoration: none;
}
.clinic .bnr_facility a::after {
  content: "\e80d";
  font-family: "fontello";
  margin-left: 0.8rem;
  font-size: 60%;
  position: absolute;
  top: 1.4rem;
}

@media screen and (min-width: 48em), print {
  .clinic .main .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .clinic .main .flex section {
    width: 48%;
    margin: 0 0 4rem;
  }
  .clinic .main .bnr_facility {
    max-width: 600px;
    margin: 5rem auto 0;
  }
  .clinic .main .bnr_facility a {
    padding: 1.2rem;
    display: block;
    font-size: 120%;
  }
  .clinic .main .bnr_facility a::after {
    top: 1.7rem;
  }
}
#route01,
#thumbnail_route01 {
  width: 100%;
}
@media screen and (min-width: 48em), print {
  #route01,
  #thumbnail_route01 {
    max-width: 750px;
  }
}

#route01 {
  margin: 0 auto 0.2rem;
}
@media screen and (min-width: 48em), print {
  #route01 {
    margin: 4rem auto 4rem;
  }
}
#route01 figure {
  margin: 0;
  padding: 0;
  max-width: 100% !important;
  position: relative;
  z-index: 1;
}
#route01 figure figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  padding: 0.4rem 0.2rem;
  margin: 0 auto;
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
  background: rgba(34, 34, 34, 0.8);
}
@media screen and (min-width: 48em), print {
  #route01 figure figcaption {
    padding: 0.8rem 1rem;
    font-size: 1.6rem;
  }
}

#thumbnail_route01 {
  margin: 0 auto 2rem;
}
#thumbnail_route01 .slick-list .thumbnail-item img {
  cursor: -webkit-grab;
  cursor: grab;
}
#thumbnail_route01 .slick-list .thumbnail-item img:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
#thumbnail_route01 .slick-list .slick-current {
  position: relative;
}
#thumbnail_route01 .slick-list .slick-current::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 4px solid #222;
}
#thumbnail_route01 .slick-list .slick-current img {
  width: 100%;
  display: block;
}
#thumbnail_route01 .slick-prev::before,
#thumbnail_route01 .slick-next::before {
  color: #222;
}

.slide-item img {
  width: 100%;
  height: auto;
}

.thumbnail-item img {
  width: 98%;
  display: block;
  margin: 0 auto;
}

/* 診療時間・アクセス */
.access .gmap {
  height: 30rem;
  margin: 2rem 0;
}
.access .lst_route li {
  margin: 0 0 2rem;
}
.access .lst_route li figure {
  margin: 0;
  padding: 0;
  max-width: 100% !important;
}
.access .lst_route li figure img {
  display: block;
  margin: 0 auto;
  max-width: 80%;
}
.access .lst_route li figure figcaption {
  padding: 0.2rem 0;
  text-align: left;
}

@media screen and (min-width: 48em), print {
  .access .gmap {
    height: 50rem;
  }
  .access .lst_route {
    margin: 6rem auto 0;
    max-width: 90%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .access .lst_route li {
    width: 46%;
    margin: 0 0 6rem;
  }
  .access .lst_route li figure img {
    max-width: 100%;
  }
  .access .lst_route li figure figcaption {
    width: 100%;
    margin: 0.8rem auto 0;
  }
}
/* 理念・当院の特長 */
.philosophy .main .dl_philosophy div {
  margin: 0 0 1.4rem;
}
.philosophy .main .dl_philosophy div dt {
  text-align: center;
  font-size: 1.6rem;
  padding: 0.6rem 1rem;
  margin: 0;
  border: 1px solid var(--color33);
  background: var(--color33);
  color: #fff;
  border-radius: 10px 10px 0 0;
  border-bottom: none;
}
.philosophy .main .dl_philosophy div dd {
  padding: 1rem;
  margin: 0;
  border: 1px solid var(--color33);
}
@media screen and (min-width: 48em), print {
  .philosophy .main .dl_philosophy {
    margin: 0 0 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .philosophy .main .dl_philosophy div {
    width: 32%;
    margin: 0;
  }
  .philosophy .main .dl_philosophy div dt {
    padding: 1.2rem;
    font-size: 2.2rem;
    border: 3px solid var(--color33);
    border-bottom: none;
  }
  .philosophy .main .dl_philosophy div dd {
    padding: 2rem;
    border: 3px solid var(--color33);
  }
}
.philosophy .main .tit_03[class*=col_] {
  color: #fff;
}
.philosophy .main .tit_03.col_01 {
  background: var(--color21);
}
.philosophy .main .tit_03.col_01 + .lst_ol01 li::before {
  color: var(--color21);
}
.philosophy .main .tit_03.col_02 {
  background: var(--color37);
}
.philosophy .main .tit_03.col_02 + .lst_ol01 li::before {
  color: var(--color37);
}
.philosophy .main .tit_03.col_03 {
  background: var(--color29);
}
.philosophy .main .tit_03.col_03 + .lst_ol01 li::before {
  color: var(--color29);
}

.ortho .lst_ortho {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 24rem 0 0;
  position: relative;
}
.ortho .lst_ortho::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.2rem;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 22rem;
  background: url("../img/index_worries_01.svg") no-repeat center/contain;
}
.ortho .lst_ortho li {
  width: 49%;
  margin-bottom: 0.8rem;
}
.ortho .lst_ortho li:nth-child(odd) {
  text-align: left;
}
.ortho .lst_ortho li:nth-child(even) {
  text-align: right;
}
.ortho .lst_ortho li a {
  display: inline-block;
  width: 100%;
  text-decoration: none !important;
  text-align: center;
  padding: 0.8rem 0.6rem;
  border-radius: 10px;
  border: 2px solid var(--color14);
  background: #fff;
}

@media screen and (min-width: 48em), print {
  .ortho .lst_ortho {
    min-height: 70rem;
    width: 85.6rem;
    padding: 0;
    margin: 0 auto;
    display: block;
    z-index: 1;
  }
  .ortho .lst_ortho::before {
    width: 100%;
    height: 55rem;
    z-index: -1;
  }
  .ortho .lst_ortho li {
    width: auto;
    margin-bottom: 0;
  }
  .ortho .lst_ortho li:nth-child(odd) {
    text-align: center;
  }
  .ortho .lst_ortho li:nth-child(even) {
    text-align: center;
  }
  .ortho .lst_ortho li a {
    width: auto;
    font-size: 2.4rem;
    padding: 2rem 3.4rem;
    border-radius: 20px;
    position: absolute;
  }
  .ortho .lst_ortho li a.shoulder {
    top: 3.5rem;
    left: 9.5rem;
  }
  .ortho .lst_ortho li a.neck {
    top: 3.6rem;
    right: 9rem;
  }
  .ortho .lst_ortho li a.hand {
    top: 13.8rem;
    left: 4.5rem;
  }
  .ortho .lst_ortho li a.elbow {
    top: 14rem;
    right: 5.6rem;
  }
  .ortho .lst_ortho li a.waist {
    top: 24.4rem;
    left: 1.9rem;
  }
  .ortho .lst_ortho li a.hip_joint {
    top: 24.4rem;
    right: 1.1rem;
  }
  .ortho .lst_ortho li a.knees {
    top: 34.8rem;
    left: 4.7rem;
  }
  .ortho .lst_ortho li a.calf_shin {
    top: 34.8rem;
    right: -4.3rem;
  }
  .ortho .lst_ortho li a.legs {
    top: 45.2rem;
    left: 4.6rem;
  }
  .ortho .lst_ortho li a.other {
    top: 45.2rem;
    right: 1.2rem;
  }
}
/* 自費診療 */
body.private .area_yobou .tit_02::after {
  background: var(--color33);
}
body.private .area_yobou .tit_03 {
  color: var(--color33);
  background: var(--color34);
}
body.private .area_yobou .tbl_01 thead tr th {
  color: var(--color33);
}
body.private .area_yobou .tbl_01 tbody tr th {
  color: #fff;
  background: var(--color33);
}
/*# sourceMappingURL=style.css.map */