@charset "UTF-8";
/* ----------------------------------------------------------------------------------
リセット　_reset.scss
---------------------------------------------------------------------------------- */
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 {
  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; }

.bold {
  font-weight: bold;
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }

.clr_red {
  color: #c00000; }

.frame_01 {
  background: #eaf2ff;
  padding: 1rem;
  margin-bottom: 2rem; }
  @media screen and (min-width: 48em), print {
    .frame_01 {
      padding: 2.4rem 2rem 2rem;
      margin-bottom: 3rem; } }

.frame_02 {
  background: #fff8ec;
  padding: 1rem;
  margin-bottom: 2rem;
  border: 1px solid #5f4627; }
  @media screen and (min-width: 48em), print {
    .frame_02 {
      padding: 2.4rem 2rem 2rem;
      margin-bottom: 3rem; } }

/* img -------------------------------------- */
.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; }

@media screen and (min-width: 48em), print {
  .img_l {
    float: left;
    margin: 0 2.0rem 2.0rem 0; }

  .img_r {
    float: right;
    margin: 0 0 2.0rem 2.0rem; } }
/* PC・SP　表示・非表示 -------------------------------------- */
.sp_n {
  display: none; }

@media screen and (min-width: 48em), print {
  .sp_n {
    display: block; }

  .pc_n {
    display: none; } }
/* マージン・パディング回り -------------------------------------- */
.mt40 {
  margin-top: 4.0rem; }

.mt30 {
  margin-top: 3rem !important; }

.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: 6rem !important; }

  .mt20 {
    margin-top: 4.0rem; }

  .mt10 {
    margin-top: 2.0rem; }

  .main > section ~ section, .flex2 > section ~ section {
    margin-top: 8.0rem; }

  .main > section .wrap section ~ section, .flex2 > section section ~ section {
    margin-top: 6.0rem; }

  .main > section .wrap > section section ~ section, .flex2 > section > section section ~ section {
    margin-top: 4.0rem; }

  .main > section .wrap > section > section section ~ section, .flex2 > section > section > section section ~ section {
    margin-top: 2.0rem; } }
/* タイムテーブル -------------------------------------- */
.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: .4rem;
    color: #845637;
    font-weight: bold; }
  .tbl_time tr th {
    font-weight: normal; }
    .tbl_time tr th[scope="col"] {
      padding: .4rem 0;
      background: #00428e;
      font-size: 1.2rem;
      color: #fff;
      font-weight: normal; }
      .tbl_time tr th[scope="col"]:first-child {
        width: 35%; }
      .tbl_time tr th[scope="col"]:not(:last-child) {
        border-right: 1px solid #fff; }
    .tbl_time tr th.time {
      background: #fff;
      border-bottom: 1px solid #00428e;
      border-right: 1px solid #00428e;
      font-size: 1.2rem; }
  .tbl_time tr td {
    text-align: center;
    padding: .6rem .4rem;
    background: #fff;
    border-bottom: 1px solid #00428e;
    line-height: 1.0; }
    .tbl_time tr td:not(:last-child) {
      border-right: 1px solid #00428e; }
    .tbl_time tr td:not(.close) {
      color: #d7c078; }

@media screen and (min-width: 48em), print {
  .tbl_time {
    font-size: 1.6rem; }
    .tbl_time caption {
      font-size: 1.6rem; }
    .tbl_time tr th[scope="col"] {
      padding: .6rem 0;
      font-size: 1.6rem; }
    .tbl_time tr th:first-child {
      width: 30%; }
    .tbl_time tr td {
      padding: 1.0rem 0; } }
/* グーグルマップ -------------------------------------- */
.gmap {
  width: 100%; }
  .gmap iframe {
    width: 100%;
    height: 298px;
    border: none; }

/* タイトル回り -------------------------------------- */
.tit_01 {
  background: url("../img/tit_01.png") no-repeat top right/50% 80%;
  font-size: 2.2rem;
  padding: 3.0rem 1.0rem;
  margin: 0 auto;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  color: #fff;
  text-align: center; }

.tit_02 {
  color: #00428e;
  font-size: 2.0rem;
  margin: 0 0 1.0rem;
  padding: 1.0rem .4rem;
  text-align: center;
  line-height: 1.2;
  letter-spacing: .2rem;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-weight: bold; }
  .tit_02::before {
    font-family: "fontello";
    content: "\e805";
    font-size: 3.2rem;
    display: inline-block;
    margin-right: .4rem;
    vertical-align: bottom;
    font-weight: normal; }
  .tit_02.parts_01::before {
    color: #dbf2f4; }
  .tit_02.parts_02::before {
    color: #fff; }
  .tit_02.parts_03::before {
    color: #4abdc9; }
  .tit_02 span {
    font-size: 1.4rem;
    color: #5f4627;
    font-family: 'EB Garamond', serif;
    letter-spacing: .1rem;
    margin-left: .4rem;
    font-weight: normal; }

body:not(.index) .tit_02 {
  text-align: left;
  margin: 0; }

.tit_03 {
  color: #5f4627;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: bold;
  margin: 0 0 1.0rem;
  padding: .6rem 1rem 0;
  position: relative;
  text-align: left;
  z-index: 1; }
  .tit_03::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 45%;
    height: 100%;
    border-top: 1px solid #5f4627;
    border-left: 1px solid #5f4627; }

.tit_04 {
  color: #0e727b;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-size: 1.6rem;
  line-height: 1.2;
  font-weight: bold;
  margin: 0 0 1.0rem;
  padding: .6rem 1rem 0;
  position: relative;
  z-index: 1; }
  .tit_04::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    border-top: 1px solid #0e727b;
    border-left: 1px solid #0e727b; }

.tit_05 {
  font-size: 1.6rem;
  margin: 0 0 1rem;
  padding: 0 1rem;
  position: relative;
  z-index: 1; }
  .tit_05::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    height: 100%;
    border-left: 1px solid #313131; }

@media screen and (min-width: 48em), print {
  .tit_01 {
    background: url(../img/tit_01.png) no-repeat right top/53rem 15rem;
    font-size: 3.6rem;
    padding: 7.8rem 0;
    width: 100%; }

  .tit_02 {
    font-size: 2.8rem;
    margin: 0 0 2.0rem;
    text-align: left;
    letter-spacing: 0; }
    .tit_02::before {
      font-size: 5rem;
      margin-right: 1rem; }
    .tit_02 span {
      font-size: 2rem;
      margin-left: 1rem; }

  body:not(.index) .tit_02 {
    width: 1100px;
    margin: 0 auto;
    padding: 0 0 1rem;
    font-size: 2.8rem; }
    body:not(.index) .tit_02::before {
      font-size: 5.8rem; }

  .tit_03 {
    font-size: 2.4rem;
    margin: 0 0 2.0rem;
    padding: 1.2rem 1.4rem 0;
    text-align: left; }

  .tit_04 {
    font-size: 2.2rem;
    margin: 0 0 2.0rem;
    padding: 1.2rem 1.4rem 0; }

  .tit_05 {
    font-size: 2rem; } }
/* リスト回り -------------------------------------- */
.lst_ul01 li {
  text-indent: -1.8rem;
  padding-left: 2.2rem;
  padding-bottom: 1.0rem;
  line-height: 1.4; }
  .lst_ul01 li::before {
    content: '●';
    margin-right: .4rem;
    font-size: 1.4rem;
    color: #15b2c0;
    vertical-align: middle; }
  .lst_ul01 li.none {
    content: none; }

.lst_kome li {
  text-indent: -1.8rem;
  padding-left: 2.2rem;
  padding-bottom: 1.0rem;
  line-height: 1.4; }
  .lst_kome li::before {
    content: '※';
    margin-right: .4rem;
    font-size: 1.4rem;
    color: #15b2c0;
    vertical-align: middle; }
  .lst_kome li.none {
    content: none; }

.lst_ol01 {
  margin: 1.0rem 0 1.0rem 2.6rem; }
  @media screen and (min-width: 48em), print {
    .lst_ol01 {
      margin: 1.0rem 0 1.0rem 3.0rem; } }
  .lst_ol01 li {
    line-height: 1.4;
    counter-increment: number 1;
    text-indent: -1.0rem;
    padding: 0 0 1.0rem 0; }
    .lst_ol01 li::before {
      display: inline-block;
      content: counter(number) ".";
      margin-right: .8rem;
      font-family: 'Lato', sans-serif;
      color: clr_blue;
      font-weight: bold; }

.lst_dl01 dt {
  font-weight: bold; }
.lst_dl01 dd {
  margin: 0 0 .6rem; }

@media screen and (min-width: 48em), print {
  .lst_dl01 dt {
    float: left;
    width: 15%;
    clear: left; }
  .lst_dl01 dd {
    margin: 0 0 .6rem;
    padding-left: 5.0rem; } }
/* フレックス回り -------------------------------------- */
.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; }

  .flex3 li {
    width: 31%; } }
/* リンク -------------------------------------- */
.btn {
  display: block; }
  .btn a {
    background: #00428e;
    color: #fff;
    text-align: center;
    padding: 1rem 2.6rem;
    display: inline-block;
    text-decoration: none !important; }
    .btn a::before {
      content: "▶";
      margin-right: .2rem;
      font-size: 1rem;
      vertical-align: middle;
      display: inline-block; }

/* テーブル -------------------------------------- */
.tbl_01 {
  table-layout: fixed;
  border-collapse: collapse;
  border-collapse: 0; }
  .tbl_01 tr th {
    width: 30%;
    background: #ebe9d6;
    text-align: center;
    font-weight: normal;
    border: 1px solid #807246;
    color: #5f4627; }
  .tbl_01 tr td {
    padding: .8rem;
    border: 1px solid #807246; }
  .tbl_01.tbl_02 tr .n_wrap {
    white-space: nowrap; }
  .tbl_01.tbl_02 tr th {
    padding: 1rem; }
    @media screen and (min-width: 48em), print {
      .tbl_01.tbl_02 tr th {
        padding: 2rem; } }
  .tbl_01.tbl_02 tr td {
    text-align: right; }

.tbl_access {
  table-layout: fixed;
  border-collapse: separate;
  border-collapse: .2rem; }
  .tbl_access tr th {
    width: 37%;
    background: #d9edac;
    text-align: center;
    font-weight: normal;
    padding: .8rem; }
  .tbl_access tr td {
    padding: .8rem; }

@media screen and (min-width: 48em), print {
  .tbl_access tr th {
    width: 30%; } }
/* ----------------------------------------------------------------------------------
共通　_common.scss
---------------------------------------------------------------------------------- */
html {
  font-size: calc( 100vw / 32 );
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }

body {
  color: #1b1b1b;
  -webkit-text-size-adjust: none; }

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: 1120px; }
    body > .wrap {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -webkit-flex-wrap: nowrap;
      flex-wrap: nowrap;
      margin: 10rem auto 0; }

  a {
    transition: .2s; }
    a:hover {
      opacity: .8; }

  .wrap {
    width: 1100px;
    margin: 0 auto; }

  .main {
    font-size: 1.6rem;
    padding: 0 0 0;
    width: 100%; } }
  @media screen and (min-width: 48em) and (min-width: 48em), print {
    .main {
      font-size: 1.8rem;
      letter-spacing: .1rem; } }

/* アイコンフォント -------------------------------------- */
@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: .8rem 1rem 1rem; }
  .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 .tel {
    margin: 1.2rem 0 .8rem;
    display: inline-block;
    font-size: 2.2rem;
    letter-spacing: .1rem;
    color: #0e4c94;
    font-family: 'EB Garamond', serif; }
    .header .wrap .headR .tel::before {
      content: "\e801";
      font-family: "fontello";
      margin-right: .4rem;
      font-size: 1.6rem; }
    .header .wrap .headR .tel a {
      display: inline-block; }
  .header .wrap .headR .head_address {
    font-size: 1.4rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start; }
    .header .wrap .headR .head_address::before {
      content: "\e804";
      font-family: "fontello";
      margin-right: .6rem;
      color: #15b2c0; }
  .header .wrap .headR .head_multilingual {
    margin-top: .4rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    .header .wrap .headR .head_multilingual a {
      background: #00428e;
      padding: .4rem .2rem;
      width: 49%;
      color: #fff;
      font-size: 1.2rem;
      text-align: center; }
      .header .wrap .headR .head_multilingual a::before {
        content: "\e807";
        font-family: "fontello";
        margin-right: .4rem;
        font-size: 1rem; }

@media screen and (min-width: 48em), print {
  .header {
    position: relative;
    z-index: 2; }
    .header .wrap {
      margin: 3rem auto;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
      .header .wrap .logo {
        width: 42%;
        height: 8.0rem; }
        .header .wrap .logo a {
          width: 400px; }
      .header .wrap .headR {
        width: 47%;
        display: block;
        text-align: right;
        position: relative; }
        .header .wrap .headR .head_tel {
          text-align: left; }
          .header .wrap .headR .head_tel .tel {
            width: auto;
            display: block;
            background: none;
            font-size: 3.2rem;
            line-height: 1.6;
            margin: 0;
            padding: 0; }
            .header .wrap .headR .head_tel .tel::before {
              font-size: 2.2rem; }
        .header .wrap .headR .head_address {
          text-align: left;
          font-size: 1.6rem; }
          .header .wrap .headR .head_address::before {
            font-size: 1.4rem; }
          .header .wrap .headR .head_address .br {
            display: none; }
        .header .wrap .headR .head_multilingual {
          margin-top: 0;
          width: 23rem;
          position: absolute;
          top: 20%;
          right: 10%; }
          .header .wrap .headR .head_multilingual a {
            font-size: 1.4rem;
            display: -webkit-flex;
            display: flex;
            -webkit-justify-content: center;
            justify-content: center;
            -webkit-align-items: center;
            align-items: center; } }
/* SP ドロップダウンメニュー（Slick Nav） -------------------------------------- */
.slicknav_menu {
  position: absolute;
  top: 1.0rem;
  right: 0;
  font-size: 4.4rem;
  display: inline-block;
  background: none;
  padding: 0;
  z-index: 10; }
  .slicknav_menu .slicknav_btn {
    width: 5.0rem;
    height: 5.0rem;
    color: #c5dbed;
    background: linear-gradient(to top, #466b9d 3%, #004ea2 24%, #00428e 56%, #0068b7 92%);
    text-shadow: none;
    border-radius: 0;
    text-align: center;
    line-height: 1.0;
    margin: 0 1.0rem;
    padding: 0; }
  .slicknav_menu .slicknav_btn.slicknav_collapsed::before {
    display: block;
    font-family: 'fontello';
    content: '\e802';
    line-height: .8; }
  .slicknav_menu .slicknav_btn.slicknav_collapsed::after {
    display: block;
    content: 'MENU';
    font-size: 1.0rem; }
  .slicknav_menu .slicknav_btn.slicknav_open::before {
    display: block;
    font-family: 'fontello';
    content: '\e803';
    line-height: .8; }
  .slicknav_menu .slicknav_btn.slicknav_open::after {
    display: block;
    content: 'CLOSE';
    font-size: 1.0rem; }
  .slicknav_menu .slicknav_nav {
    width: 100vw;
    background: rgba(255, 255, 255, 0.9);
    padding: 1.6rem;
    position: absolute;
    top: 6.0rem;
    right: 0;
    margin: auto; }
    .slicknav_menu .slicknav_nav .gnav {
      margin: 0; }
      .slicknav_menu .slicknav_nav .gnav li a {
        display: block;
        color: #1b1b1b;
        padding: 1.0rem 0;
        font-size: 1.6rem;
        position: relative; }
        .slicknav_menu .slicknav_nav .gnav li a::before {
          content: '';
          margin-right: .4rem;
          background: #00abbc;
          width: .5rem;
          height: .5rem;
          vertical-align: middle;
          display: inline-block; }
        .slicknav_menu .slicknav_nav .gnav li a:not(.sub)::after {
          position: absolute;
          right: 1.0rem;
          font-family: 'fontello';
          content: '';
          font-size: 2.0rem; }
        .slicknav_menu .slicknav_nav .gnav li a .sub::after {
          position: absolute;
          right: 1.0rem;
          font-family: 'fontello';
          content: '▼';
          font-size: 1.2rem;
          color: #00abbc;
          padding-top: .3rem; }
        .slicknav_menu .slicknav_nav .gnav li a:hover {
          background: none; }
      .slicknav_menu .slicknav_nav .gnav li.slicknav_parent a.slicknav_item {
        padding: 0; }
      .slicknav_menu .slicknav_nav .gnav li.slicknav_parent ul li:last-child {
        border: none; }
      .slicknav_menu .slicknav_nav .gnav li.slicknav_open > a.slicknav_item .sub::after {
        font-family: 'fontello';
        content: '▲';
        font-size: 1.2rem;
        padding-top: .6rem; }
      .slicknav_menu .slicknav_nav .gnav li.treatment a:not(.sub)::before {
        content: none; }
      .slicknav_menu .slicknav_nav .gnav li.treatment .subnav {
        margin: 0;
        background: rgba(0, 66, 142, 0.8); }
        .slicknav_menu .slicknav_nav .gnav li.treatment .subnav a {
          color: rgba(255, 255, 255, 0.9);
          margin: 0;
          border: 1px solid #fff;
          padding: .8rem 1rem; }
          .slicknav_menu .slicknav_nav .gnav li.treatment .subnav a::before {
            content: '';
            margin-right: .4rem;
            background: #f0e5bc;
            width: .5rem;
            height: .5rem;
            vertical-align: middle;
            display: inline-block; }
          .slicknav_menu .slicknav_nav .gnav li.treatment .subnav a::after {
            right: 1.5rem; }
  .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: rgba(255, 255, 255, 0.7);
    padding: 1.2rem 0; }
    #nav .gnav {
      width: 1100px;
      margin: auto;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      justify-content: center; }
      #nav .gnav > li {
        width: auto;
        margin: 0 2rem;
        display: inline-block; }
        #nav .gnav > li::before {
          content: '';
          margin-right: .4rem;
          background: #00abbc;
          width: .5rem;
          height: .5rem;
          vertical-align: super;
          display: inline-block; }
        #nav .gnav > li a {
          text-align: center;
          font-size: 1.6rem; }
        #nav .gnav > li .subnav {
          font-size: 1.6rem;
          width: 24rem;
          display: none;
          position: absolute;
          top: 100%;
          padding: 1rem 0 1rem;
          background: rgba(0, 66, 142, 0.9); }
          #nav .gnav > li .subnav li {
            width: 100%;
            padding-left: 2.3rem; }
            #nav .gnav > li .subnav li:hover {
              background: rgba(255, 255, 255, 0.8); }
              #nav .gnav > li .subnav li:hover a::before {
                background: #00abbc; }
            #nav .gnav > li .subnav li a {
              display: block;
              width: 100%;
              padding: 1rem 0;
              text-align: left;
              color: #fff; }
              #nav .gnav > li .subnav li a:hover {
                color: #000; }
              #nav .gnav > li .subnav li a::before {
                content: '';
                margin-right: .4rem;
                background: #f0e5bc;
                width: .5rem;
                height: .5rem;
                vertical-align: middle;
                display: inline-block; }
            #nav .gnav > li .subnav li:first-child {
              margin: 1rem 0 0; }

  /* Gナビ　ハイライト */ }
/* クリニック概要 -------------------------------------- */
.overview {
  padding: 3.0rem 1.0rem 4.0rem;
  font-size: 1.4rem;
  line-height: 1.6;
  background: #4abdc9; }
  .overview > .wrap {
    padding: 1rem 0 0 1rem;
    margin: 0 1rem 0 0;
    position: relative; }
    .overview > .wrap::before {
      content: "";
      position: absolute;
      left: 0rem;
      top: 0rem;
      width: 100%;
      height: 100%;
      background: url("../img/bg_parts01.jpg") no-repeat top left/100%;
      z-index: 0; }
    .overview > .wrap .clinic_name {
      text-align: center;
      color: #fff;
      font-size: 2rem;
      margin: 0 0 -.9rem;
      position: relative;
      font-family: 'EB Garamond', serif;
      font-style: italic; }
    .overview > .wrap .bg_area {
      background: #f3fafd;
      padding: 1rem;
      position: relative;
      z-index: 1;
      box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 7px 7px 6px 0px rgba(0, 0, 0, 0.02);
     /* .tit_03{
        text-align: center;
    }*/ }
      .overview > .wrap .bg_area .overviewL {
        margin: 2rem 0 0 0; }
        .overview > .wrap .bg_area .overviewL .tbl_gaiyo {
          width: 100%;
          border-collapse: collapse; }
          .overview > .wrap .bg_area .overviewL .tbl_gaiyo th {
            width: 100%;
            text-align: center;
            padding: .2rem 0;
            font-weight: normal;
            background: #00428e;
            display: block;
            color: #fff; }
          .overview > .wrap .bg_area .overviewL .tbl_gaiyo td {
            display: block;
            padding: .4rem .4rem 1.6rem; }
            .overview > .wrap .bg_area .overviewL .tbl_gaiyo td.name {
              padding: 1.6rem .4rem 1.6rem; }
            .overview > .wrap .bg_area .overviewL .tbl_gaiyo td ul .tit {
              font-weight: bold;
              color: #00428e; }
            .overview > .wrap .bg_area .overviewL .tbl_gaiyo td ul span {
              color: #845637; }
            .overview > .wrap .bg_area .overviewL .tbl_gaiyo td ul li:not(.tit) {
              margin-bottom: .4rem; }
            .overview > .wrap .bg_area .overviewL .tbl_gaiyo td > span {
              color: #845637;
              font-weight: bold; }
        .overview > .wrap .bg_area .overviewL .tbl_time {
          margin: 1.6rem 0; }
      .overview > .wrap .bg_area .overviewR {
        position: relative;
        /*text-align: center;*/
        margin: 2.0rem 0 0;
        /*h3{
            position: absolute;
            top:0;
            left:0;
        }*/ }
        .overview > .wrap .bg_area .overviewR gmap iframe {
          height: 35.0rem; }
        .overview > .wrap .bg_area .overviewR span.date {
          font-size: 1.2rem;
          border: 1px solid #5f4627;
          border-radius: .5rem;
          background: #FFF;
          display: inline-block;
          padding: 2px 5px;
          margin-left: 5rem; }
        .overview > .wrap .bg_area .overviewR .calendar_frame .calender_box {
          width: 96%;
          margin: 0rem auto 0 auto; }
          .overview > .wrap .bg_area .overviewR .calendar_frame .calender_box table {
            width: 100%; }
            .overview > .wrap .bg_area .overviewR .calendar_frame .calender_box table tr.month {
              display: none; }
          .overview > .wrap .bg_area .overviewR .calendar_frame .calender_box .next_month {
            display: none; }
          .overview > .wrap .bg_area .overviewR .calendar_frame .calender_box .c_open {
            display: block; }
          .overview > .wrap .bg_area .overviewR .calendar_frame .calender_box .c_close {
            display: none; }
        .overview > .wrap .bg_area .overviewR .calendar_frame .calender_color {
          width: 96%;
          margin: 0 auto 2rem;
          display: -webkit-flex;
          display: flex;
          -webkit-justify-content: flex-start;
          justify-content: flex-start;
          -webkit-flex-direction: row;
          flex-direction: row;
          -webkit-flex-wrap: wrap;
          flex-wrap: wrap; }
          .overview > .wrap .bg_area .overviewR .calendar_frame .calender_color p {
            margin: 0 2rem 0 0; }
            .overview > .wrap .bg_area .overviewR .calendar_frame .calender_color p.outPatient::before {
              /*color: #eef2a9;*/
              content: "";
              display: inline-block;
              width: 1.5rem;
              height: 1.5rem;
              margin-right: 1rem;
              border-radius: 50%;
              /* 丸くする */
              background: #e6e6e6;
              /* 円の色 */ }
            .overview > .wrap .bg_area .overviewR .calendar_frame .calender_color p.amOnly::before {
              /*color: #eef2a9;*/
              content: "";
              display: inline-block;
              width: 1.5rem;
              height: 1.5rem;
              background: #d5fbff;
              margin-right: 1rem; }
            .overview > .wrap .bg_area .overviewR .calendar_frame .calender_color p.pmOnly::before {
              /*color: #d4f7ff;*/
              content: "";
              display: inline-block;
              width: 1.5rem;
              height: 1.5rem;
              background: #9ac3f0;
              margin-right: 1rem; }
        .overview > .wrap .bg_area .overviewR .calendar_frame .visual {
          width: 260px;
          margin: 0 auto 1px; }
          .overview > .wrap .bg_area .overviewR .calendar_frame .visual table {
            width: 98%;
            margin: 0 auto; }
        .overview > .wrap .bg_area .overviewR .calendar_frame .slick-prev {
          left: -35px; }
        .overview > .wrap .bg_area .overviewR .btn_map {
          margin: 0 auto;
          background: #e1ddbd;
          padding: .4rem 2.4rem;
          border-radius: 25px;
          color: #845637; }
          .overview > .wrap .bg_area .overviewR .btn_map::after {
            content: "\e806";
            font-family: "fontello";
            margin-left: .6rem;
            font-size: 1.8rem; }

.slick-prev:before, .slick-next:before {
  color: #d7c078;
  font-size: 30px; }

@media screen and (min-width: 48em), print {
  .overview {
    margin: 0 0 0;
    padding: 17.0rem 0 11rem;
    font-size: 1.6rem; }
    .overview > .wrap {
      margin: 0 auto;
      padding: 0;
      background: none; }
      .overview > .wrap::before {
        left: -5rem;
        top: -5rem; }
      .overview > .wrap .clinic_name {
        margin: 0;
        font-size: 5rem;
        position: absolute;
        right: 0;
        top: -90px; }
      .overview > .wrap .bg_area {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 3.4rem; }
        .overview > .wrap .bg_area .overviewL {
          margin: 0;
          padding: 0 0;
          width: 45%; }
          .overview > .wrap .bg_area .overviewL .tbl_gaiyo th {
            padding: 4.0rem 0;
            width: 9.3rem;
            display: inline-table; }
          .overview > .wrap .bg_area .overviewL .tbl_gaiyo td {
            display: table-cell;
            padding: 0 1.4rem 1.6rem; }
            .overview > .wrap .bg_area .overviewL .tbl_gaiyo td.name {
              padding: 0 1.4rem 1.6rem; }
            .overview > .wrap .bg_area .overviewL .tbl_gaiyo td ul li {
              white-space: nowrap; }
        .overview > .wrap .bg_area .tit_03 {
          text-align: left; }
        .overview > .wrap .bg_area .overviewR {
          width: 48%;
          padding: 0;
          margin: 0; }
          .overview > .wrap .bg_area .overviewR .gmap {
            margin-bottom: 1rem; }
            .overview > .wrap .bg_area .overviewR .gmap iframe {
              height: 298px; }
          .overview > .wrap .bg_area .overviewR .calendar_frame {
            width: 100%;
            margin: 1rem 0; }
            .overview > .wrap .bg_area .overviewR .calendar_frame h3 span.date {
              font-size: 1.4rem;
              margin-left: 5rem; }
            .overview > .wrap .bg_area .overviewR .calendar_frame .calender_box {
              width: 100%;
              margin: 0 auto; }
              .overview > .wrap .bg_area .overviewR .calendar_frame .calender_box table {
                width: 100%; }
            .overview > .wrap .bg_area .overviewR .calendar_frame .calender_color {
              width: 288px;
              margin: 0 auto 20px auto; }
            .overview > .wrap .bg_area .overviewR .calendar_frame .visual {
              width: 288px;
              margin: 0 auto; } }
/* フッター -------------------------------------- */
#pageup {
  display: none;
  position: fixed;
  bottom: 1.0rem;
  right: 1.0rem;
  z-index: 1;
  cursor: pointer; }
  #pageup a {
    display: block;
    width: 5.0rem;
    height: 5.0rem;
    font-size: 1.6rem;
    text-align: center;
    padding: .4rem;
    background: #e5bc53;
    border-radius: 50%; }
    #pageup a::before {
      text-align: center;
      font-size: 3.6rem;
      font-family: 'fontello';
      content: '\e812';
      color: #c5dbed; }
    #pageup a span {
      display: none; }

@media screen and (min-width: 48em), print {
  #pageup a {
    width: 6.4rem;
    height: 6.4rem; }
    #pageup a::before {
      font-size: 5.0rem; } }
.tel_up {
  width: 100%;
  height: 5rem;
  background: #fff;
  visibility: hidden;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  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: 70%;
    height: 100%;
    font-size: 2.6rem;
    line-height: 1.4; }
    .tel_up .tel a {
      display: block;
      height: 100%;
      width: 100%;
      color: #0e4c94;
      font-family: 'EB Garamond', serif;
      display: flex;
      align-items: center;
      justify-content: center; }
      .tel_up .tel a::before {
        content: "\e801";
        font-family: "fontello";
        margin-right: .4rem;
        font-size: 2rem;
        padding-top: 3px; }
  .tel_up .pageup {
    cursor: pointer;
    height: 100%; }
    .tel_up .pageup a {
      display: block;
      width: 5.0rem;
      height: 100%;
      font-size: 1.6rem;
      text-align: center;
      padding: 0 .4rem;
      line-height: 1.0;
      background: linear-gradient(to top, #466b9d 3%, #004ea2 24%, #00428e 56%, #0068b7 92%); }
      .tel_up .pageup a::before {
        text-align: center;
        font-size: 2rem;
        font-family: 'fontello';
        content: '\e800';
        color: #c5dbed;
        line-height: 2.4; }
      .tel_up .pageup a span {
        display: none; }
  .tel_up .side_bar {
    cursor: pointer;
    height: 100%;
    width: 27%; }
    .tel_up .side_bar a {
      display: block;
      height: 100%;
      font-size: 1.3rem;
      background-color: #4abdc9;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: 'EB Garamond', serif;
      letter-spacing: 0.15rem;
      font-weight: bold; }
      .tel_up .side_bar a span {
        display: none; }

.side_bar_pc {
  display: none; }

@media screen and (min-width: 48em), print {
  .tel_up {
    display: block;
    width: 8.0rem;
    bottom: 4.0rem;
    right: 2.0rem;
    left: auto;
    cursor: pointer;
    background: none;
    padding: 0; }
    .tel_up .tel {
      display: none; }
    .tel_up .pageup a {
      width: 6.4rem;
      height: 6.4rem;
      border-radius: 50%;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: center;
      align-items: center; }
      .tel_up .pageup a::before {
        font-size: 3.2rem; }
    .tel_up .side_bar {
      display: none; }

  .side_bar_pc {
    display: block;
    position: fixed;
    z-index: 100; }
    .side_bar_pc a {
      width: 56px;
      font-family: 'EB Garamond', serif;
      background: linear-gradient(to top, #466b9d 3%, #004ea2 24%, #00428e 56%, #0068b7 92%);
      display: block;
      text-decoration: none !important;
      text-align: center;
      color: #fff;
      font-size: 2rem;
      padding: 2.8rem 1.6rem;
      line-height: 1.2;
      -ms-writing-mode: tb-rl;
      -webkit-writing-mode: vertical-rl;
      writing-mode: vertical-rl;
      text-orientation: upright;
      letter-spacing: 2px; }

  .side_bar_pc_right {
    right: 0;
    top: 15%; }
    .side_bar_pc_right a {
      border-radius: 0.8rem 0 0 0.8rem; }

  .side_bar_pc_left {
    left: 0;
    top: 30%; }
    .side_bar_pc_left a {
      border-radius: 0 0.8rem 0.8rem 0; } }
.footer {
  text-align: center;
  padding: 0 0 4.6rem; }
  .footer .copy {
    display: block;
    background: #00428e;
    color: #fff;
    padding: .6rem 1.0rem;
    font-size: 1.2rem; }
  .footer .flex {
    display: none; }
  .footer ul {
    display: none; }

@media screen and (min-width: 48em), print {
  .footer {
    padding: 0; }
    .footer .flex {
      width: 1100px;
      margin: 4rem auto 3.6rem;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -webkit-align-items: flex-start;
      align-items: flex-start; }
      .footer .flex .logo {
        width: 41rem;
        margin-right: 2rem; }
        .footer .flex .logo img {
          max-width: 100%;
          height: 6.8rem; }
      .footer .flex ul {
        width: 57%;
        display: block;
        text-align: left;
        margin: 0; }
        .footer .flex ul li {
          display: inline-block;
          font-size: 1.6rem;
          margin-right: 2rem;
          line-height: 1.6; }
          .footer .flex ul li::before {
            content: '';
            margin-right: .4rem;
            background: #00abbc;
            width: .4rem;
            height: .4rem;
            vertical-align: middle;
            display: inline-block; }
          .footer .flex ul li a {
            opacity: 1.0; }
            .footer .flex ul li a span {
              display: none; }
            .footer .flex ul li a:hover {
              text-decoration: underline; }
          .footer .flex ul li.treatment {
            display: none; }
    .footer .copy {
      padding: 1.8rem 0;
      font-size: 1.4rem; } }
/* ----------------------------------------------------------------------------------
トップ　_top.scss
---------------------------------------------------------------------------------- */
/* キービジュアル -------------------------------------- */
#keyvsl {
  margin: 0;
  padding: 0 0 32rem;
  max-width: 100%;
  height: 15rem;
  background: url(../img/index_keyvsl01.jpg) no-repeat top center/130%, #4abdc9; }
  #keyvsl .wrap {
    height: 15rem;
    width: 100%;
    padding: 0 .4rem;
    display: block;
    position: relative; }
    #keyvsl .wrap .word {
      width: 100%;
      background: rgba(0, 66, 142, 0.9);
      margin: 0 auto;
      padding: 1rem;
      color: #fff;
      position: relative;
      bottom: -70%;
      right: 0;
      left: 0;
      display: inline-block;
      font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-size: 1.6rem;
      line-height: 1.2; }
      #keyvsl .wrap .word .kaiin {
        font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: bold;
        color: #f0e5bc;
        letter-spacing: .1rem;
        margin: 0;
        text-align: center; }
      #keyvsl .wrap .word .nairan {
        font-size: 1.4rem;
        margin: .4rem 0 1rem;
        text-align: center; }
      #keyvsl .wrap .word::after {
        content: "KOJAKU ORTHOPEDIC CLINIC";
        display: block;
        font-size: 1.8rem;
        font-family: 'EB Garamond', serif;
        font-style: italic;
        color: #00428e;
        position: absolute;
        bottom: -8.5%;
        right: 0; }

@media screen and (min-width: 48em), print {
  #keyvsl {
    margin: -4.2rem auto 0;
    padding: 0 0 9rem;
    background: url(../img/index_keyvsl01.jpg) no-repeat top center/2000px, #4abdc9;
    height: 74rem;
    color: #fff;
    overflow: hidden; }
    #keyvsl .wrap {
      height: 100%;
      position: relative;
      z-index: 0; }
      #keyvsl .wrap .word {
        position: absolute;
        right: -61%;
        bottom: 0;
        font-size: 2.4rem;
        padding: 1rem 5.4rem 3rem;
        letter-spacing: .1rem;
        line-height: 1.4;
        width: 1140px; }
        #keyvsl .wrap .word::after {
          bottom: -23.5%;
          right: auto;
          left: 5%;
          font-size: 5rem; }
        #keyvsl .wrap .word > p {
          margin-bottom: 1.3rem; }
        #keyvsl .wrap .word .kaiin {
          display: inline !important;
          font-size: 2.4rem;
          text-align: left; }
          #keyvsl .wrap .word .kaiin span {
            font-size: 2rem; }
        #keyvsl .wrap .word .nairan {
          margin-left: 1.8rem;
          display: inline !important;
          font-size: 2rem;
          text-align: left; }
          #keyvsl .wrap .word .nairan span {
            font-size: 1.6rem; } }
/* お知らせ -------------------------------------- */
.info {
  padding: 1.0rem 0 4rem;
  background: #4abdc9; }
  .info .wrap {
    position: relative;
    z-index: 2; }
    .info .wrap::before {
      content: "";
      position: absolute;
      background: url("../img/index_info_bg.jpg") no-repeat top left/45rem;
      display: block;
      top: 0;
      left: -6rem;
      width: 100%;
      height: 100%;
      z-index: -1; }
    .info .wrap dl {
      margin: 0;
      line-height: 1.4;
      padding: 1rem;
      height: 100%;
      background: rgba(255, 255, 255, 0.8); }
      .info .wrap dl dt {
        padding-bottom: .4rem;
        font-weight: bold;
        color: #00428e;
        font-size: 110%;
        cursor: pointer;
        display: table; }
        .info .wrap dl dt:hover {
          opacity: .8; }
        .info .wrap dl dt::before {
          font-family: "fontello";
          content: "\e800";
          display: inline-block;
          margin-right: .4rem;
          background: #e1ddbd;
          width: 2rem;
          height: 2rem;
          border-radius: 50%;
          color: #807246;
          vertical-align: middle;
          text-align: center;
          font-size: 75%;
          -webkit-transform: rotate(360deg);
          transform: rotate(360deg); }
        .info .wrap dl dt.close::before {
          font-family: "fontello";
          content: "\e800";
          display: inline-block;
          margin-right: .4rem;
          background: #e1ddbd;
          width: 2rem;
          height: 2rem;
          border-radius: 50%;
          color: #807246;
          font-size: 75%;
          -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }
      .info .wrap dl dd {
        padding: 0;
        margin: 0; }
        .info .wrap dl dd:nth-of-type(n+4) {
          display: none; }

@media screen and (min-width: 48em), print {
  .info {
    margin: 0 auto 0;
    padding: 0 0 6.6rem;
    overflow: hidden; }
    .info .wrap::before {
      background: url("../img/index_info_bg.jpg") no-repeat top left/1000px 600px;
      top: 25px;
      left: -41%;
      width: 1000px;
      height: 600px; }
    .info .wrap .tit_02 {
      font-size: 2.4rem;
      font-weight: normal; }
      .info .wrap .tit_02::before {
        margin-right: 1.4rem; }
    .info .wrap dl {
      padding: 3.8rem; }
      .info .wrap dl dt {
        font-size: 1.8rem; }
      .info .wrap dl dd {
        padding-left: 3rem;
        padding-bottom: 2rem; }
        .info .wrap dl dd p {
          margin: 0 0 1rem; } }
/* バナーリンク -------------------------------------- */
.more_bnr {
  padding: 4rem 0; }
  .more_bnr li a {
    display: block;
    text-decoration: none !important;
    color: #fff; }
    .more_bnr li a .left_box .more {
      font-family: 'EB Garamond', serif;
      font-style: italic;
      font-size: 1.8rem;
      display: flex !important;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      -webkit-align-items: center;
      align-items: center; }
      .more_bnr li a .left_box .more::after {
        content: "\e800";
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        font-family: "fontello";
        margin-left: .4rem;
        vertical-align: middle;
        width: 2.2rem;
        height: 2.2rem;
        font-size: 1.2rem;
        font-style: normal;
        color: #fff;
        background: #003894;
        border-radius: 50%;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center; }
    .more_bnr li a p {
      margin: 0; }
  .more_bnr .taisaku {
    margin-bottom: 2rem; }
    .more_bnr .taisaku a .left_box {
      background: url("../img/index_more_bnr01.jpg") no-repeat top center/cover;
      padding: 1rem; }
      .more_bnr .taisaku a .left_box .tit {
        font-size: 1.8rem;
        font-weight: bold;
        text-shadow: -3px 2px 4px #098bc3, 0px -1px 4px #098bc3; }
      .more_bnr .taisaku a .left_box .more {
        text-shadow: -3px 2px 4px #098bc3, 0px -1px 4px #098bc3; }
    .more_bnr .taisaku a .right_box {
      background: #2268a3;
      padding: 1rem; }
  .more_bnr .recruit a .left_box {
    background: url("../img/index_more_bnr02.png") no-repeat top right -1rem/70%, #b0ab80;
    padding: 1rem 1rem 3rem; }
    .more_bnr .recruit a .left_box .tit {
      font-size: 1.8rem;
      font-weight: bold; }
  .more_bnr .recruit a .right_box {
    display: none; }

@media screen and (min-width: 48em), print {
  .more_bnr {
    padding: 6.6rem 0; }
    .more_bnr .wrap {
      padding: 0;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
      .more_bnr .wrap li {
        width: 48%; }
        .more_bnr .wrap li a {
          display: -webkit-flex;
          display: flex;
          -webkit-justify-content: space-between;
          justify-content: space-between; }
          .more_bnr .wrap li a .left_box {
            width: 53%;
            height: 16rem;
            padding: 2rem 1.2rem 2rem 2rem; }
            .more_bnr .wrap li a .left_box .more::after {
              width: 1.6rem;
              height: 1.6rem;
              font-size: 1rem;
              margin-left: .8rem;
              vertical-align: bottom; }
          .more_bnr .wrap li a .right_box {
            width: 47%;
            height: 16rem; }
      .more_bnr .wrap .taisaku {
        background: url("../img/index_more_bnr01.jpg") no-repeat top center/cover;
        margin: 0; }
        .more_bnr .wrap .taisaku a .left_box {
          background: none; }
          .more_bnr .wrap .taisaku a .left_box .tit {
            font-size: 2.4rem;
            letter-spacing: 0; }
          .more_bnr .wrap .taisaku a .left_box .more {
            font-size: 2.4rem; }
        .more_bnr .wrap .taisaku a .right_box {
          font-size: 1.6rem;
          letter-spacing: 0;
          background: rgba(34, 104, 163, 0.8);
          display: -webkit-flex;
          display: flex;
          -webkit-justify-content: center;
          justify-content: center;
          -webkit-align-items: center;
          align-items: center; }
      .more_bnr .wrap .recruit a .left_box {
        background: rgba(176, 171, 128, 0.7);
        /*padding-left: 5rem;*/
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: flex-start;
        align-items: flex-start;
        -webkit-flex-direction: column;
        flex-direction: column; }
        .more_bnr .wrap .recruit a .left_box .tit {
          font-size: 2.3rem; }
        .more_bnr .wrap .recruit a .left_box .more {
          font-size: 2.4rem; }
      .more_bnr .wrap .recruit a .right_box {
        display: block;
        background: url("../img/index_more_bnr02.png") no-repeat top right 0rem/100%, #dfd096; } }
/* 特長 -------------------------------------- */
.feature {
  background: url("../img/index_feature_bg.jpg") no-repeat top center/cover;
  padding: 2rem 0 2rem; }
  .feature ul {
    padding: 0 1.6rem;
    counter-reset: number 0; }
    .feature ul li {
      margin-bottom: 1.6rem;
      counter-increment: number 1; }
      .feature ul li:hover {
        opacity: .8;
        transition: 0.2s; }
      .feature ul li a {
        text-decoration: none !important; }
        .feature ul li a .img {
          position: relative;
          left: -1rem;
          box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 7px 7px 6px 0px rgba(0, 0, 0, 0.02); }
          .feature ul li a .img::before {
            content: counter(number) " ";
            position: absolute;
            right: 2rem;
            bottom: -9px;
            font-family: 'EB Garamond', serif;
            font-style: italic;
            font-size: 8em;
            color: #00428e;
            height: 10rem;
            line-height: 1; }
          .feature ul li a .img img {
            width: 100%; }
        .feature ul li a div:not(.img) {
          background: #00428e;
          padding: 0 1.4rem 1rem;
          color: #fff;
          position: relative;
          right: -1rem;
          box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 7px 7px 6px 0px rgba(0, 0, 0, 0.02); }
          .feature ul li a div:not(.img)::after {
            content: "\e807";
            font-family: "fontello";
            position: absolute;
            right: 1rem;
            bottom: 1rem;
            font-size: 1rem;
            color: #fff;
            background: #3c78be;
            width: 2rem;
            height: 2rem;
            border-radius: 50%;
            text-align: center;
            line-height: 2; }
          .feature ul li a div:not(.img) .tit {
            line-height: 1.2;
            margin: 0;
            padding: 1.2rem 0 0 1rem;
            color: #9aedf5;
            font-size: 1.8rem;
            font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
            position: relative;
            overflow: hidden; }
            .feature ul li a div:not(.img) .tit::before {
              content: "";
              display: inline-block;
              width: 1px;
              height: 120%;
              background: #9aedf5;
              position: absolute;
              left: 0;
              top: -1px; }

@media screen and (min-width: 48em), print {
  .feature {
    padding: 6rem 0 10rem; }
    .feature ul {
      padding: 0;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -webkit-align-items: flex-start;
      align-items: flex-start; }
      .feature ul li {
        width: 29%; }
        .feature ul li a .img {
          left: -.6rem; }
          .feature ul li a .img::before {
            font-size: 11.5rem;
            bottom: -5px; }
        .feature ul li a div:not(.img) {
          right: -3.2rem;
          padding: 0 2.6rem 2rem;
          min-height: 25.5rem; }
          .feature ul li a div:not(.img) p {
            font-size: 1.6rem; }
          .feature ul li a div:not(.img) .tit {
            font-size: 2.2rem;
            height: 7.7rem;
            display: flex !important;
            -webkit-justify-content: flex-end;
            justify-content: flex-end;
            -webkit-align-items: flex-start;
            align-items: flex-start;
            -webkit-flex-direction: column;
            flex-direction: column; }
            .feature ul li a div:not(.img) .tit:not(.two_line) {
              padding-bottom: 1.2rem; }
        .feature ul li a:first-child .img {
          left: 0; }
        .feature ul li a:first-child div:not(.img) {
          right: -4rem; }
        .feature ul li a:last-child .img {
          left: -1.2rem; }
        .feature ul li a:last-child div:not(.img) {
          right: -2.2rem; } }
/* 診療メニュー -------------------------------------- */
.menu {
  background: #d5fbff;
  padding: 2rem 0 2rem;
  position: relative;
  z-index: 1;
  overflow: hidden; }
  .menu .wrap {
    position: relative;
    z-index: 2; }
    .menu .wrap::before {
      content: "";
      width: 100%;
      height: 100%;
      background: url("../img/index_menu_bg01.jpg") no-repeat bottom right/100%;
      position: absolute;
      z-index: -1;
      bottom: -10%;
      right: -33%;
      display: block; }
    .menu .wrap ul {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
      .menu .wrap ul li {
        background: #4abdc9;
        width: 48%;
        margin-bottom: 1rem;
        box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 7px 7px 6px 0px rgba(0, 0, 0, 0.02); }
        .menu .wrap ul li a {
          font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
          color: #fff;
          display: block;
          width: 100%;
          height: 100%;
          min-height: 12.5rem;
          padding: .6rem .2rem 0 1.6rem;
          text-align: left;
          position: relative;
          letter-spacing: .1rem;
          text-decoration: none !important;
          overflow: hidden; }
          .menu .wrap ul li a::before {
            content: ' ';
            position: absolute;
            top: 11px;
            left: 8px;
            width: 0;
            height: 0;
            border: none;
            border-top: 5px solid transparent;
            border-bottom: 5px solid transparent;
            border-left: 5px solid #00428e; }
          .menu .wrap ul li a::after {
            content: "";
            position: absolute;
            right: -1px;
            bottom: -6px;
            width: 76%;
            height: 69%; }
          .menu .wrap ul li a.ortho::after {
            background: url("../img/index_menu_ortho.jpg") no-repeat center/contain; }
          .menu .wrap ul li a.rehabilitation {
            font-size: 3.6vw;
            padding-top: .8rem; }
            .menu .wrap ul li a.rehabilitation::after {
              background: url("../img/index_menu_rehabilitation.jpg") no-repeat center/contain; }
          .menu .wrap ul li a.sports_ortho::after {
            background: url("../img/index_menu_sports_ortho.jpg") no-repeat center/contain; }
          .menu .wrap ul li a.osteoporosis::after {
            background: url("../img/index_menu_osteoporosis.jpg") no-repeat center/contain; }
          .menu .wrap ul li a.neuralgia::after {
            background: url("../img/index_menu_neuralgia.jpg") no-repeat center/contain; }
          .menu .wrap ul li a.joint_pain::after {
            background: url("../img/index_menu_joint_pain.jpg") no-repeat center/contain; }
          .menu .wrap ul li a.low_back_pain::after {
            background: url("../img/index_menu_low_back_pain.jpg") no-repeat center/contain; }
          .menu .wrap ul li a.spine_disease::after {
            background: url("../img/index_menu_spine_disease.jpg") no-repeat center/contain; }
          .menu .wrap ul li a.accident::after {
            background: url("../img/index_menu_accident.jpg") no-repeat center/contain; }
          .menu .wrap ul li a.private::after {
            background: url("../img/index_menu_private.jpg") no-repeat center/contain; }
          .menu .wrap ul li a.regenerative::after {
            background: url("../img/index_menu_regenerative.jpg") no-repeat center/contain; }
        .menu .wrap ul li.space {
          visibility: hidden; }

@media screen and (min-width: 48em), print {
  .menu {
    padding: 6rem 0 6rem; }
    .menu .wrap {
      padding: 0; }
      .menu .wrap::before {
        background: url("../img/index_menu_bg01.jpg") no-repeat bottom right/1400px;
        bottom: -37%;
        right: -37%;
        width: 2000px; }
      .menu .wrap ul {
        margin-top: 3rem;
        justify-content: flex-start;
        column-gap: 3.8rem; }
        .menu .wrap ul li {
          width: 22.4%;
          height: 23rem;
          margin-bottom: 4rem; }
          .menu .wrap ul li a {
            font-size: 2rem;
            padding: 1.4rem .2rem 0 3.4rem; }
            .menu .wrap ul li a::before {
              top: 24px;
              left: 25px; }
            .menu .wrap ul li a::after {
              width: 90%;
              height: 67%; }
            .menu .wrap ul li a.rehabilitation {
              font-size: 2rem;
              letter-spacing: 0;
              padding-top: 1.4rem; } }
/* ごあいさつ -------------------------------------- */
.greeting {
  background: #e1ddbd;
  color: #4c310f; }
  .greeting .wrap {
    padding: 2rem 1rem 2rem;
    position: relative;
    z-index: 2;
    overflow: hidden; }
    .greeting .wrap::before {
      content: "";
      width: 70%;
      height: 70%;
      background: #d6d2af;
      position: absolute;
      z-index: -1;
      bottom: 0%;
      left: 0%;
      display: block; }

@media screen and (min-width: 48em), print {
  .greeting {
    pading: 0;
    overflow: hidden; }
    .greeting .wrap {
      padding: 5rem 0 10rem;
      overflow: initial; }
      .greeting .wrap::before {
        width: 2000px;
        left: -98%;
        bottom: -14%; }
      .greeting .wrap p {
        line-height: 2; }
      .greeting .wrap .img_r {
        margin: 0 0 0 4rem; } }
/* 膝関節再生医療 -------------------------------------- */
.video {
  width: 100%;
  aspect-ratio: 16 / 9; }
  .video iframe {
    width: 100%;
    height: 100%; }

/* ----------------------------------------------------------------------------------
下層　_lower.scss
---------------------------------------------------------------------------------- */
body:not(.index) #nav {
  background: #c8ecf0;
  position: relative; }
body:not(.index) .tit_area {
  background: #4abdc9; }
  body:not(.index) .tit_area .wrap {
    margin: 0 auto; }
body:not(.index) .main {
  padding: 2rem 1.0rem 4rem;
  background: #d5fbff;
  position: relative;
  z-index: 0; }
  @media screen and (min-width: 48em), print {
    body:not(.index) .main {
      padding: 7.5rem 0 6.5rem;
      font-size: 2rem; } }
  body:not(.index) .main::before {
    content: "";
    background: url("../img/main_bg.jpg") no-repeat top left/100%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 9.4rem;
    left: -10%;
    z-index: -1; }
    @media screen and (min-width: 48em), print {
      body:not(.index) .main::before {
        background: url("../img/main_bg.jpg") no-repeat top center/1000px;
        left: -50rem; } }
  body:not(.index) .main .wrap {
    background: #fff;
    padding: 2rem 1rem 1.8rem; }
    @media screen and (min-width: 48em), print {
      body:not(.index) .main .wrap {
        padding: 3.6rem; } }
body:not(.index) .overview {
  display: none; }
body:not(.index) .footer {
  background: #00428e; }
  body:not(.index) .footer .copy {
    padding: 1.2rem 0; }
  @media screen and (min-width: 48em), print {
    body:not(.index) .footer {
      background: #fff;
      position: relative;
      z-index: 2; }
      body:not(.index) .footer .copy {
        padding: .6rem 1rem; } }

@media screen and (min-width: 48em), print {
  .cf .img_l, .cf .img_r {
    max-width: 40%;
    height: auto;
    margin-top: 2rem; } }
/* ドクター紹介 */
.doctor .main .mt10 {
  margin-top: 1em; }
.doctor .main .img_r {
  max-width: 40%;
  margin: 0 auto 2rem; }

@media screen and (min-width: 48em), print {
  .doctor .main .img_r {
    max-width: 18%;
    margin: 0 0 0 6rem; } }
/* クリニック紹介 */
#clinicslide {
  margin-bottom: 8.0rem; }
  #clinicslide img, #clinicslide p {
    display: none; }

.sp-layer.sp-black.sp-padding {
  text-align: center;
  font-size: 2.4rem; }

.sp-selected-thumbnail {
  border: 4px solid #000; }

.device > li {
  margin: 0 0 3.0rem;
  text-align: center; }
  .device > li figure {
    margin: 0; }
    .device > li figure img {
      display: block;
      margin: 0 auto .6rem;
      max-width: 80%;
      height: auto; }
    .device > li figure figcaption {
      font-size: 110%;
      font-weight: bold;
      background: #15b2c0;
      color: #fff;
      padding: .4rem 0;
      margin-bottom: .8rem; }
    .device > li figure p {
      text-align: left;
      padding: .2rem .4rem; }
    .device > li figure .tit {
      margin: 1rem 0 0;
      background: #f7f7f7; }
      .device > li figure .tit + p {
        margin-top: .4rem; }
    .device > li figure > ul li {
      text-align: left; }

@media screen and (min-width: 48em), print {
  .device {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    .device > li {
      width: 48%; }
      .device > li figure img {
        margin: 0 auto 1.0rem;
        max-width: 100%; }
      .device > li figure .tit {
        padding: .2rem 1rem; } }
/* 初めての方へ */
.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; }
  .flow dd:last-child {
    margin: 0 0 1rem; }

/* 診療時間・アクセス */
.access .gmap {
  height: 30.0rem;
  margin: 2.0rem 0; }
.access .cf .img_r {
  display: block;
  margin-bottom: 2rem; }
.access .station ul li.tit {
  font-weight: bold;
  color: #00428e; }
.access .station ul li span {
  color: #845637; }

@media screen and (min-width: 48em), print {
  .access .tbl_time {
    font-size: 1.8rem; }
    .access .tbl_time tr th.time {
      font-size: 1.8rem; }
  .access .gmap {
    height: 50.0rem; }
  .access .cf .img_r {
    max-width: 50%; } }
.covid .main ul > li {
  margin-bottom: 1rem;
  text-indent: -2em;
  padding-left: 2.2em; }
  .covid .main ul > li .lst_ul01 {
    margin-top: .8rem; }
    .covid .main ul > li .lst_ul01 > li {
      margin-bottom: .2rem;
      text-indent: -1.2em;
      padding-left: 1.2em; }
      @media screen and (min-width: 48em), print {
        .covid .main ul > li .lst_ul01 > li {
          text-indent: -1em; } }

.rehabilitation .flex .lst_ul01 li.pc_n {
  padding-left: 0;
  text-indent: 0; }
  .rehabilitation .flex .lst_ul01 li.pc_n::before {
    content: none; }
.rehabilitation .flex > div {
  margin: 2rem 0 0; }

@media screen and (min-width: 48em), print {
  .rehabilitation .flex {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start; }
    .rehabilitation .flex .lst_ul01 {
      width: 71%; }
    .rehabilitation .flex > div {
      margin: 0;
      width: 27%; }
      .rehabilitation .flex > div img ~ img {
        margin-top: 2rem; } }

/*# sourceMappingURL=style.css.map */
