@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; }

.frame {
  padding: 1rem;
  background: #f2ffd9; }

/* 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: 3.0rem; }

.mt20 {
  margin-top: 2.0rem; }

.mt10 {
  margin-top: 1.0rem; }

.main > section ~ section, .flex2 > section ~ section, .flex > section ~ section {
  margin-top: 4.0rem; }

.main > section section ~ section, .flex2 > section section ~ section {
  margin-top: 3.0rem; }

.main > section > section section ~ section, .flex2 > section > section section ~ section {
  margin-top: 2.0rem; }

.main > section > section > section section ~ section, .flex2 > section > section > section section ~ section {
  margin-top: 2.0rem; }

@media screen and (min-width: 48em), print {
  .mt40 {
    margin-top: 8.0rem; }

  .mt30 {
    margin-top: 6.0rem; }

  .mt20 {
    margin-top: 4.0rem; }

  .mt10 {
    margin-top: 2.0rem; }

  .main > section ~ section, .flex2 > section ~ section {
    margin-top: 8.0rem; }

  .main > section section ~ section, .flex2 > section section ~ section {
    margin-top: 6.0rem; }

  .main > section > section section ~ section, .flex2 > section > section section ~ section {
    margin-top: 4.0rem; }

  .main > section > section > section section ~ section, .flex2 > section > section > section section ~ section {
    margin-top: 2.0rem; } }
/* タイムテーブル -------------------------------------- */
.tbl_time {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 1.4rem;
  table-layout: fixed; }
  .tbl_time caption {
    font-size: 85%;
    caption-side: bottom;
    text-align: left;
    margin-top: .4rem; }
  .tbl_time tr th {
    font-weight: normal; }
    .tbl_time tr th[scope="col"] {
      padding: .4rem 0;
      background: #0073c0;
      font-size: 1.2rem;
      color: #fff;
      font-weight: normal; }
      .tbl_time tr th[scope="col"]:first-child {
        width: 35%; }
    .tbl_time tr th.time {
      padding: 0;
      background: #fff;
      background-image: linear-gradient(to right, #0073c0 37%, rgba(255, 255, 255, 0) 0%);
      background-position: bottom;
      background-size: 3px 1px;
      background-repeat: repeat-x; }
  .tbl_time tr td {
    text-align: center;
    padding: .6rem .4rem;
    background: #fff;
    background-image: linear-gradient(to right, #0073c0 37%, rgba(255, 255, 255, 0) 0%);
    background-position: bottom;
    background-size: 3px 1px;
    background-repeat: repeat-x;
    line-height: 1.0; }
  .tbl_time tr:last-child th, .tbl_time tr:last-child td {
    background-image: none;
    border-bottom: 1px solid #0073c0; }

@media screen and (min-width: 48em), print {
  .tbl_time {
    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: 100%;
    border: none; }

/* タイトル回り -------------------------------------- */
.tit_01 {
  background: url(../img/tit_01.jpg) no-repeat right top/auto 100%;
  font-size: 2.2rem;
  padding: 3.0rem 1.0rem;
  margin: 0 auto 0;
  text-align: center; }

.tit_02 {
  color: #004573;
  font-size: 2.0rem;
  text-align: center;
  margin: 0 0 1.0rem;
  padding: 1.0rem 2.0rem;
  line-height: 1.2;
  letter-spacing: .4rem;
  position: relative;
  z-index: 1; }
  .tit_02 span {
    display: block;
    letter-spacing: 0;
    font-size: 60%;
    color: #b3b3b3; }
  .tit_02::after {
    content: "\e805";
    font-family: "fontello";
    color: #cee2f1;
    font-size: 6rem;
    position: absolute;
    top: -25px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -1; }

body:not(.index) .tit_02 {
  color: #004573;
  font-size: 2.0rem;
  text-align: center;
  margin: 4rem 0 1.0rem;
  padding: 1.0rem .4rem;
  line-height: 1.2;
  letter-spacing: .4rem;
  position: relative;
  z-index: 1; }
  body:not(.index) .tit_02 span {
    display: block;
    letter-spacing: 0;
    font-size: 60%;
    color: #b3b3b3; }
  body:not(.index) .tit_02::after {
    content: "\e805";
    font-family: "fontello";
    color: #cee2f1;
    font-size: 6rem;
    position: absolute;
    top: -25px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -1; }
  body:not(.index) .tit_02::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .1rem;
    border-bottom: 1px solid #004573; }

.tit_03 {
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.2;
  margin: 0 0 1.0rem;
  padding: .4rem .8rem .4rem 3.8rem;
  background: url("../img/index_feature_bg.png") repeat left top/auto;
  position: relative; }
  .tit_03::before {
    content: "\e805";
    font-family: "fontello";
    display: inline-block;
    font-size: 3rem;
    position: absolute;
    left: 6px;
    bottom: -8px; }

.tit_04 {
  color: #316196;
  font-size: 1.8rem;
  line-height: 1.2;
  margin: 0 0 1.0rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid #316196; }
  .tit_04::before {
    content: "";
    display: inline-block;
    background: url("../img/tit_04.svg") no-repeat center/100%;
    width: 2.2rem;
    height: 2.2rem;
    margin-right: 1rem;
    vertical-align: bottom; }

.tit_05 {
  font-size: 1.8rem;
  color: #ffa800;
  padding: 0 0 .2rem;
  margin: 0 0 2rem;
  border-bottom: 1px dashed #ffa800; }

@media screen and (min-width: 48em), print {
  .tit_01 {
    background: url(../img/tit_01.jpg) no-repeat center top/auto 100%;
    font-size: 3.2rem;
    padding: 4.5rem 4.0rem 4.8rem;
    margin: 1.7rem auto 0; }

  .tit_02 {
    font-size: 3rem;
    margin: 0 0 7.0rem;
    letter-spacing: .6rem; }
    .tit_02 span {
      font-size: 50%;
      letter-spacing: .2rem; }
    .tit_02::after {
      top: -90px;
      font-size: 18rem; }

  body:not(.index) .tit_02 {
    font-size: 3rem;
    margin: 10rem 0 7.0rem;
    letter-spacing: .6rem; }
    body:not(.index) .tit_02 span {
      font-size: 50%;
      letter-spacing: .2rem; }
    body:not(.index) .tit_02::after {
      top: -90px;
      font-size: 18rem; }
    body:not(.index) .tit_02::before {
      bottom: -10px;
      border-bottom: .2rem solid #004573; }

  .tit_03 {
    font-size: 2.4rem;
    margin: 3rem 0 2.0rem;
    padding: .8rem .8rem .8rem 6rem; }
    .tit_03::before {
      font-size: 4.8rem;
      left: 6px;
      bottom: -12px; }

  .tit_04 {
    font-size: 2.4rem;
    margin: 2rem 0 2.0rem; }
    .tit_04::before {
      width: 4rem;
      height: 4rem;
      vertical-align: middle; } }
/* リスト回り -------------------------------------- */
.lst_ul01 li {
  text-indent: -2.0rem;
  padding-left: 2.2rem;
  padding-bottom: 1.0rem;
  line-height: 1.4; }
  .lst_ul01 li::before {
    content: '●';
    margin-right: .4rem;
    color: #0073c0; }
  .lst_ul01 li.none::before {
    content: none; }
@media screen and (min-width: 48em), print {
  .lst_ul01.flex {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    .lst_ul01.flex li {
      width: 49%; } }

.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 {
  float: left;
  width: 25%;
  font-weight: bold;
  clear: left; }
.lst_dl01 dd {
  margin: 0 0 1.0rem;
  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 {
  width: 18rem;
  background: #0073c0;
  color: #fff;
  text-align: center;
  padding: 1rem;
  margin: .8rem 0;
  border-radius: .5rem;
  display: block;
  text-decoration: none !important; }
  .btn::before {
    content: "\f144";
    font-family: "fontello";
    display: inline-block;
    margin-right: .6rem; }

.txt_link {
  color: #0073c0;
  padding: 0 0 .1rem;
  border-bottom: solid 1px #0073c0;
  text-decoration: none !important; }

/* テーブル -------------------------------------- */
.tbl_01 {
  table-layout: fixed;
  border-collapse: collapse; }
  .tbl_01 tr th {
    background: #e7f5ff;
    padding: .4rem .4rem; }
  .tbl_01 tr td {
    padding: .4rem .4rem;
    border-bottom: 1px solid #aaaaaa; }

@media screen and (min-width: 48em), print {
  .tbl_01 tr th {
    padding: 1rem 1rem; }
  .tbl_01 tr td {
    padding: 1rem 1rem;
    border-bottom: 2px solid #aaaaaa; }
    .tbl_01 tr td:first-child {
      border-right: 1px solid #eeeeee;
      text-align: center; } }
.tbl_02 {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  caption-side: bottom; }
  .tbl_02 caption {
    text-align: right; }
  .tbl_02 tr th {
    background: #e7f5ff;
    padding: .4rem .4rem;
    border-top: 1px solid #aaaaaa;
    border-bottom: 1px solid #aaaaaa; }
  .tbl_02 tr td {
    padding: .4rem .4rem;
    border-top: 1px solid #aaaaaa;
    border-bottom: 1px solid #aaaaaa;
    text-align: right; }

@media screen and (min-width: 48em), print {
  .tbl_02 tr th {
    padding: 1rem 1rem; }
  .tbl_02 tr td {
    padding: 1rem 1rem; } }
/* ----------------------------------------------------------------------------------
共通　_common.scss
---------------------------------------------------------------------------------- */
html {
  font-size: calc( 100vw / 32 );
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  -webkit-text-size-adjust: 100%; }

body {
  background: #fff;
  color: #212121; }

a {
  color: inherit;
  text-decoration: none; }

.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: 1170px;
    -webkit-text-size-adjust: 100%; }
    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: 1170px;
    margin: 0 auto; }

  .main {
    font-size: 1.6rem;
    padding: 0 0 0; }

  .sidebar {
    order: 1;
    width: 25.5%; } }
/* アイコンフォント -------------------------------------- */
@font-face {
  font-family: 'fontello';
  src: url("fontello/font/fontello.eot");
  src: url("fontello/font/fontello.eot#iefix") format("embedded-opentype"), url("fontello/font/fontello.woff2") format("woff2"), url("fontello/font/fontello.woff") format("woff"), url("fontello/font/fontello.ttf") format("truetype"), url("fontello/font/fontello.svg#fontello") format("svg"); }
/* ヘッダー -------------------------------------- */
.header .wrap {
  margin: 1.0rem; }
  .header .wrap .logo {
    height: 5.0rem; }
    .header .wrap .logo a {
      display: block;
      width: 100%;
      height: 100%;
      background: url(../img/logo.png) no-repeat left center/contain;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden; }
  .header .wrap .headR {
    margin: 1rem 0 0;
    padding: 1rem;
    text-align: center;
    color: #fff; }
    .header .wrap .headR > div {
      background: #0073c0;
      padding: .8rem 0; }
      .header .wrap .headR > div .tel {
        display: inline-block;
        font-size: 1.8rem;
        margin-top: .4rem; }
        .header .wrap .headR > div .tel a {
          display: inline-block; }
        .header .wrap .headR > div .tel::before {
          content: "TEL.";
          display: inline-block;
          margin-right: .3rem;
          font-size: 80%; }
      .header .wrap .headR > div ~ div {
        margin-top: .4rem; }
    .header .wrap .headR span {
      font-size: 1.4rem;
      color: #ffe400; }

@media screen and (min-width: 48em), print {
  .header .wrap {
    margin: 1.0rem auto 0;
    width: 1170px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end; }
    .header .wrap .logo {
      width: 40%;
      margin: 0rem 0 0 .8rem;
      height: 12.0rem; }
      .header .wrap .logo a {
        background: url(../img/logo.png) no-repeat left center/100%; }
    .header .wrap .headR {
      width: 60%;
      padding: 1rem 1rem 0 2.4rem; }
      .header .wrap .headR > div {
        padding: 0 .1rem; }
        .header .wrap .headR > div > div {
          font-size: 1.4rem;
          display: inline-block; }
          .header .wrap .headR > div > div span {
            font-size: 2rem; }
          .header .wrap .headR > div > div .tel {
            width: auto;
            display: block;
            color: #fff;
            background: none;
            font-size: 2.4rem;
            font-weight: bold;
            line-height: 1.6;
            margin: 0 0 0 .4rem;
            padding: 0; }
            .header .wrap .headR > div > div .tel::before {
              font-size: 1.8rem; } }
/* SP ドロップダウンメニュー（Slick Nav） -------------------------------------- */
.slicknav_menu {
  position: absolute;
  top: 1.0rem;
  right: 0;
  font-size: 3.2rem;
  display: inline-block;
  background: none;
  padding: 0;
  z-index: 10; }
  .slicknav_menu .slicknav_btn {
    width: 5.0rem;
    height: 5.0rem;
    color: #cee2f1;
    background: #0073c0;
    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: '\f0c9';
    line-height: .8;
    padding: .8rem 0 0; }
  .slicknav_menu .slicknav_btn.slicknav_collapsed::after {
    display: block;
    content: 'MENU';
    font-size: 1.0rem;
    margin-top: .2rem; }
  .slicknav_menu .slicknav_btn.slicknav_open::before {
    display: block;
    font-family: 'fontello';
    content: '\e806';
    line-height: .8;
    padding: .6rem 0 0; }
  .slicknav_menu .slicknav_btn.slicknav_open::after {
    display: block;
    content: 'CLOSE';
    font-size: 1.0rem;
    margin-top: .4rem; }
  .slicknav_menu .slicknav_nav {
    width: 100vw;
    background: #cee2f1;
    padding: 0;
    position: absolute;
    top: 6.0rem;
    right: 0;
    margin: auto; }
    .slicknav_menu .slicknav_nav .gnav {
      border-top: 1px solid clr_brw;
      margin: 0; }
      .slicknav_menu .slicknav_nav .gnav li {
        border-bottom: 1px solid clr_brw; }
        .slicknav_menu .slicknav_nav .gnav li a {
          display: block;
          color: #0073c0;
          padding: 1.0rem 2rem;
          font-size: 1.6rem;
          position: relative; }
          .slicknav_menu .slicknav_nav .gnav li a .sub::after {
            position: absolute;
            right: 1.0rem;
            font-family: 'fontello';
            content: '\e805';
            font-size: 2.0rem; }
          .slicknav_menu .slicknav_nav .gnav li a:hover {
            color: inherit;
            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: '\e804'; }
    .slicknav_menu .slicknav_nav .subnav {
      background: url("../img/sidebar_bg.png") repeat top;
      margin: 0; }
      .slicknav_menu .slicknav_nav .subnav li {
        font-size: 1.6rem; }
        .slicknav_menu .slicknav_nav .subnav li.tit span {
          width: 100%;
          color: #0073c0;
          font-size: 2rem;
          text-align: center;
          line-height: 1.2;
          margin: 1.4rem auto .8rem;
          display: block; }
          .slicknav_menu .slicknav_nav .subnav li.tit span::before, .slicknav_menu .slicknav_nav .subnav li.tit span::after {
            content: "\e801\e801\e801";
            letter-spacing: 1rem;
            font-family: "fontello";
            display: inline-block;
            font-size: 1.2rem;
            vertical-align: middle; }
          .slicknav_menu .slicknav_nav .subnav li.tit span::before {
            margin-right: 1.2rem; }
          .slicknav_menu .slicknav_nav .subnav li.tit span::after {
            margin-left: 1.8rem; }
          .slicknav_menu .slicknav_nav .subnav li.tit span:last-child {
            color: #555555;
            display: block;
            font-size: 1.2rem;
            margin-top: 0; }
            .slicknav_menu .slicknav_nav .subnav li.tit span:last-child::before, .slicknav_menu .slicknav_nav .subnav li.tit span:last-child::after {
              content: none; }
        .slicknav_menu .slicknav_nav .subnav li a {
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          -webkit-flex-wrap: nowrap;
          flex-wrap: nowrap;
          padding: 1.2rem .6rem 1.2rem 7.5rem;
          color: #48341d;
          font-size: 1.8rem;
          text-decoration: none !important;
          position: relative;
          height: 6.4rem; }
          .slicknav_menu .slicknav_nav .subnav li a::before {
            content: "";
            background: #0073c0;
            border-radius: 50%;
            display: inline-block;
            width: 5rem;
            height: 5rem;
            position: absolute;
            left: 12px;
            top: 8px;
            overflow: hidden; }
          .slicknav_menu .slicknav_nav .subnav li a::after {
            content: '';
            display: inline-block;
            width: 5rem;
            height: 5rem;
            border-radius: 50%;
            overflow: hidden;
            position: absolute;
            left: 12px;
            top: 8px; }
          .slicknav_menu .slicknav_nav .subnav li a.seikeigeka::after {
            background: url("../img/sidevar_seikeigeka.png") center/100% no-repeat; }
          .slicknav_menu .slicknav_nav .subnav li a.riha::after {
            background: url("../img/sidevar_riha.png") center/60% no-repeat; }
          .slicknav_menu .slicknav_nav .subnav li a.sport::after {
            background: url("../img/sidever_sport.png") center/70% no-repeat; }
          .slicknav_menu .slicknav_nav .subnav li a.sekitsui::after {
            background: url("../img/sidevar_sekitsui.png") center/50% no-repeat; }
          .slicknav_menu .slicknav_nav .subnav li a.shinkei::after {
            background: url("../img/sidevar_shinkei.png") center/50% no-repeat; }
          .slicknav_menu .slicknav_nav .subnav li a.kotsusosho::after {
            background: url("../img/sidevar_kotsusosho.png") center/70% no-repeat; }
          .slicknav_menu .slicknav_nav .subnav li a.loco::after {
            background: url("../img/sidevar_loco.png") center/40% no-repeat; }
          .slicknav_menu .slicknav_nav .subnav li a.saisei::after {
            background: url("../img/sidevar_saisei.png") center/80% no-repeat; }
          .slicknav_menu .slicknav_nav .subnav li a.makidume::after {
            background: url("../img/sidevar_makidume.png") top left/90% no-repeat; }
          .slicknav_menu .slicknav_nav .subnav li a.koutsu::after {
            background: url("../img/sidevar_koutsu.png") center/75% no-repeat; }
          .slicknav_menu .slicknav_nav .subnav li a.jihi::after {
            background: url("../img/sidevar_jihi.png") center/70% no-repeat; }
          .slicknav_menu .slicknav_nav .subnav li a.img_bnr {
            display: block;
            margin: 2rem 1rem 2rem;
            padding: 0; }
            .slicknav_menu .slicknav_nav .subnav li a.img_bnr::after, .slicknav_menu .slicknav_nav .subnav li a.img_bnr::before {
              content: none; }
          .slicknav_menu .slicknav_nav .subnav li a:hover {
            background: #ffedcd;
            color: #ec7218;
            /*            &::after {
                          color: #ec7218;
                        }
            */ }
          .slicknav_menu .slicknav_nav .subnav li a > span {
            display: block;
            font-size: 1.6rem; }
            .slicknav_menu .slicknav_nav .subnav li a > span > span {
              display: block;
              font-size: 40%; }
        .slicknav_menu .slicknav_nav .subnav li:not(:last-child) {
          border-bottom: 1px solid #dedede; }
        .slicknav_menu .slicknav_nav .subnav li:first-child {
          border-bottom: none; }
  .slicknav_menu .slicknav_icon, .slicknav_menu .slicknav_icon-bar, .slicknav_menu .slicknav_arrow, .slicknav_menu .slicknav_row:after {
    display: none !important; }

#nav {
  display: none; }

@media screen and (min-width: 48em), print {
  .slicknav_menu {
    display: none; }

  #nav {
    display: block;
    color: #555555; }
    #nav .gnav {
      padding: 0 2rem;
      margin: 1.4rem auto 0;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-flex-wrap: nowrap;
      flex-wrap: nowrap; }
      #nav .gnav li {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap; }
        #nav .gnav li::after {
          content: "/";
          display: inline-block;
          margin: 0 1.4rem;
          font-size: 1.4rem; }
        #nav .gnav li a {
          display: block;
          text-align: center;
          font-size: 1.6rem; }
          #nav .gnav li a:hover {
            opacity: .7; }
          #nav .gnav li a.home {
            visibility: hidden;
            width: auto; }
            #nav .gnav li a.home::before {
              content: "\e800";
              font-family: "fontello";
              font-size: 2rem;
              visibility: visible; }
        #nav .gnav li:first-child::after {
          margin-left: -2.8rem; }
        #nav .gnav li:last-child::after {
          content: none; }
        #nav .gnav li .subnav {
          width: 15%;
          display: none;
          position: absolute;
          color: red;
          opacity: .6; }
          #nav .gnav li .subnav li {
            width: 100%;
            border-top: 1px solid clr_brw; }
            #nav .gnav li .subnav li:hover {
              background: rgba(0, 0, 255, 0.5); }
            #nav .gnav li .subnav li a {
              display: block;
              width: 100%;
              background: rgba(255, 255, 255, 0.8);
              padding: 1.6rem 0;
              text-align: center;
              color: clr_navy; }
              #nav .gnav li .subnav li a:hover {
                color: #000; }
            #nav .gnav li .subnav li:first-child {
              margin: 1rem 0 0; }
    #nav .subnav {
      display: none; }

  /* Gナビ　ハイライト */ }
/* サイドバー -------------------------------------- */
.sidebar {
  display: none; }

@media screen and (min-width: 48em), print {
  .sidebar {
    display: block;
    background: url("../img/sidebar_bg.png") repeat top; }
    .sidebar .tit {
      margin: 6rem auto 0;
      padding-bottom: 1.8rem;
      width: 90%;
      border-bottom: 1px solid #555555; }
      .sidebar .tit span {
        width: 100%;
        color: #0073c0;
        font-size: 3rem;
        text-align: center;
        line-height: 1.2;
        border-radius: .8rem;
        display: block; }
        .sidebar .tit span::before, .sidebar .tit span::after {
          content: "\e801\e801\e801";
          letter-spacing: 1rem;
          font-family: "fontello";
          display: inline-block;
          font-size: 1.2rem;
          vertical-align: middle; }
        .sidebar .tit span::before {
          margin-right: 1.2rem; }
        .sidebar .tit span::after {
          margin-left: 1.8rem; }
        .sidebar .tit span:last-child {
          color: #555555;
          display: block;
          font-size: 1.2rem;
          margin-top: 0; }
          .sidebar .tit span:last-child::before, .sidebar .tit span:last-child::after {
            content: none; }
    .sidebar .subnav {
      margin: 0 auto;
      padding: 0; }
      .sidebar .subnav li {
        display: block; }
        .sidebar .subnav li a {
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          -webkit-flex-wrap: nowrap;
          flex-wrap: nowrap;
          padding: 1.2rem .6rem 1.2rem 7.5rem;
          color: #48341d;
          font-size: 1.8rem;
          text-decoration: none !important;
          position: relative;
          height: 6.4rem; }
          .sidebar .subnav li a::before {
            content: "";
            background: #0073c0;
            border-radius: 50%;
            display: inline-block;
            width: 5rem;
            height: 5rem;
            position: absolute;
            left: 12px;
            top: 8px;
            overflow: hidden; }
          .sidebar .subnav li a::after {
            content: '';
            display: inline-block;
            width: 5rem;
            height: 5rem;
            border-radius: 50%;
            overflow: hidden;
            position: absolute;
            left: 12px;
            top: 8px; }
          .sidebar .subnav li a.seikeigeka::after {
            background: url("../img/sidevar_seikeigeka.png") center/100% no-repeat; }
          .sidebar .subnav li a.riha::after {
            background: url("../img/sidevar_riha.png") center/60% no-repeat; }
          .sidebar .subnav li a.sport::after {
            background: url("../img/sidever_sport.png") center/70% no-repeat; }
          .sidebar .subnav li a.sekitsui::after {
            background: url("../img/sidevar_sekitsui.png") center/50% no-repeat; }
          .sidebar .subnav li a.shinkei::after {
            background: url("../img/sidevar_shinkei.png") center/50% no-repeat; }
          .sidebar .subnav li a.kotsusosho::after {
            background: url("../img/sidevar_kotsusosho.png") center/70% no-repeat; }
          .sidebar .subnav li a.loco::after {
            background: url("../img/sidevar_loco.png") center/40% no-repeat; }
          .sidebar .subnav li a.saisei::after {
            background: url("../img/sidevar_saisei.png") center/80% no-repeat; }
          .sidebar .subnav li a.makidume::after {
            background: url("../img/sidevar_makidume.png") top left/90% no-repeat; }
          .sidebar .subnav li a.koutsu::after {
            background: url("../img/sidevar_koutsu.png") center/75% no-repeat; }
          .sidebar .subnav li a.jihi::after {
            background: url("../img/sidevar_jihi.png") center/70% no-repeat; }
          .sidebar .subnav li a:hover {
            opacity: .7; }
          .sidebar .subnav li a > span {
            display: block;
            font-size: 1.6rem; }
            .sidebar .subnav li a > span > span {
              display: block;
              font-size: 40%; }
        .sidebar .subnav li:not(:last-child) {
          border-bottom: 1px solid #dedede; }
    .sidebar .img_bnr {
      margin: 3rem auto 0;
      display: block;
      width: 90% !important; } }
/* クリニック概要 -------------------------------------- */
.overview {
  padding: 2.0rem 1.0rem 2rem;
  font-size: 1.4rem;
  line-height: 1.6;
  background: url("../img/index_overview_bg.jpg") no-repeat center center/cover; }
  .overview .clinic_name {
    text-align: center;
    margin: 0 0 2.0rem;
    padding: 1.2rem 0 0; }
    .overview .clinic_name img {
      max-width: 80%;
      height: auto; }
  .overview > .wrap .overviewL {
    padding: 0 0 0 0;
    background: rgba(255, 255, 255, 0.6); }
    .overview > .wrap .overviewL .tbl_gaiyo {
      padding: 0 1rem; }
      .overview > .wrap .overviewL .tbl_gaiyo li {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: left;
        justify-content: left;
        -webkit-align-items: baseline;
        align-items: baseline;
        width: 100%; }
        .overview > .wrap .overviewL .tbl_gaiyo li::before {
          font-family: "fontello";
          color: #0073c0;
          display: inline-block;
          font-size: 120%;
          width: 10%; }
        .overview > .wrap .overviewL .tbl_gaiyo li.gaiyo_dept::before {
          content: "\f0f6"; }
        .overview > .wrap .overviewL .tbl_gaiyo li.gaiyo_name::before {
          content: "\f183"; }
        .overview > .wrap .overviewL .tbl_gaiyo li.gaiyo_zip::before {
          content: "\e803"; }
        .overview > .wrap .overviewL .tbl_gaiyo li.gaiyo_tel::before {
          content: "\e802"; }
        .overview > .wrap .overviewL .tbl_gaiyo li.gaiyo_access::before {
          content: "\f239"; }
        .overview > .wrap .overviewL .tbl_gaiyo li p {
          margin: 0;
          width: 80%; }
    .overview > .wrap .overviewL .tbl_time {
      margin: 1.6rem 0;
      padding: 0 1rem; }
      .overview > .wrap .overviewL .tbl_time caption {
        margin: .4rem 1rem .8rem; }
  .overview > .wrap .overviewR {
    margin: 0 0 0; }
    .overview > .wrap .overviewR .gmap {
      text-align: right; }
      .overview > .wrap .overviewR .gmap iframe {
        height: 30.0rem; }

@media screen and (min-width: 48em), print {
  .overview {
    margin: 0 0 0;
    padding: 1rem 0;
    font-size: 1.8rem;
    background: url("../img/index_overview_bg.jpg") no-repeat center center/2000px; }
    .overview .clinic_name {
      margin: 0 0 2.0rem;
      padding: 0; }
      .overview .clinic_name img {
        max-width: 35.0rem; }
    .overview > .wrap {
      padding: 2rem 0;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
      .overview > .wrap .overviewL, .overview > .wrap .overviewR {
        width: 48%;
        margin: 0; }
      .overview > .wrap .overviewL {
        padding: 2rem 6rem 0; }
        .overview > .wrap .overviewL .tbl_gaiyo {
          width: 80%;
          margin: 0 auto; }
          .overview > .wrap .overviewL .tbl_gaiyo li {
            font-size: 1.6rem; }
            .overview > .wrap .overviewL .tbl_gaiyo li ~ li {
              margin-top: 1.2rem; }
            .overview > .wrap .overviewL .tbl_gaiyo li::before {
              width: 8%; }
      .overview > .wrap .overviewR .gmap {
        height: 100%; }
        .overview > .wrap .overviewR .gmap iframe {
          height: 100%; } }
/* フッター -------------------------------------- */
#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: #fff; }
    #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%;
  background: #0073c0;
  color: #fff;
  visibility: hidden;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  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: 80%;
    font-size: 2.4rem;
    line-height: 1.0; }
  .tel_up .pageup {
    cursor: pointer; }
    .tel_up .pageup a {
      display: block;
      width: 5.0rem;
      font-size: 1.6rem;
      text-align: center;
      padding: .4rem .4rem;
      line-height: 1.0;
      color: #fff;
      background: #004879; }
      .tel_up .pageup a::before {
        display: block;
        text-align: center;
        font-size: 2rem;
        font-family: 'fontello';
        content: '\e804';
        color: #fff; }
      .tel_up .pageup a span > span {
        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: 3px solid clr_blue;
      border-radius: 50%; }
      .tel_up .pageup a::before {
        font-size: 3.0rem; } }
.footer {
  text-align: center;
  padding: 0 0 4rem;
  color: #fff;
  background: #0073c0; }
  .footer .copy {
    display: block;
    background: #004879;
    color: #fff;
    padding: .6rem 1.0rem;
    font-size: 1.2rem; }
  .footer ul {
    display: none; }

@media screen and (min-width: 48em), print {
  .footer {
    padding: 2.4rem 0 0; }
    .footer ul {
      display: block;
      text-align: center;
      padding: .8rem 0 0; }
      .footer ul li {
        display: inline-block;
        font-size: 1.4rem; }
        .footer ul li:not(:last-child)::after {
          content: '|';
          margin: 0 1.6rem; }
        .footer ul li a {
          opacity: 1.0; }
          .footer ul li a span > span {
            display: none; }
          .footer ul li a:hover {
            text-decoration: underline; }
        .footer ul li.treatment {
          display: none; }
    .footer .copy {
      margin-top: 2rem; } }
/* ----------------------------------------------------------------------------------
トップ　_top.scss
---------------------------------------------------------------------------------- */
@media screen and (min-width: 48em), print {
  .index .flex2 > div {
    width: 74%;
    order: 2; } }
/* キービジュアル -------------------------------------- */
#keyvsl {
  margin: 0 0 2.0rem;
  padding: 1.6rem 0 0;
  height: 14rem;
  max-width: 100%;
  background: url(../img/index_keyvsl01.jpg) no-repeat top center/cover;
  position: relative; }
  #keyvsl::after {
    position: absolute;
    content: '';
    top: 0;
    display: block;
    width: 100%;
    height: 3.5rem;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0,0 Q50,50 100,0'%3E%3C/path%3E%3C/svg%3E");
    z-index: 1; }
  #keyvsl .wrap > p {
    text-align: center;
    margin: 7rem auto 0;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.6;
    text-shadow: 0px 0px 9px #1a1eb3,0px 0px 13px #1a1eb3; }

@media screen and (min-width: 48em), print {
  #keyvsl {
    background: url(../img/index_keyvsl01.jpg) no-repeat top center/2000px;
    margin: 2.0rem auto 0;
    padding: 8rem 0 0;
    color: #fff;
    height: 71rem; }
    #keyvsl::after {
      height: 14.5rem; }
    #keyvsl .wrap {
      position: relative;
      height: 61rem;
      z-index: 10; }
      #keyvsl .wrap > p {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        position: absolute;
        left: 50%;
        margin: 0 auto;
        padding-top: 3rem;
        letter-spacing: .3rem;
        font-size: 2.8rem; } }
/* お知らせ -------------------------------------- */
.info {
  padding: 0 1rem;
  margin: 4.0rem 0 0; }
  .info dl {
    margin: 0;
    line-height: 1.4;
    padding: 1.5rem 0 1.5rem 0;
    height: 20.0rem;
    overflow-y: auto;
    border-top: 1px solid #0073c0;
    border-bottom: 1px solid #0073c0; }
    .info dl dt {
      margin-bottom: .4rem;
      color: #ffa800;
      font-size: 110%; }
    .info dl dd {
      margin: 0 0 1.0rem;
      padding-bottom: 1.0rem;
      color: #737373; }

@media screen and (min-width: 48em), print {
  .info {
    margin: 10rem auto 8.0rem; }
    .info dl {
      padding: 1.4rem;
      height: 30.0rem; }
      .info dl dt {
        margin-top: 2rem;
        font-size: 110%; }
      .info dl dd {
        margin-left: 2rem;
        margin-bottom: 4rem; } }
/* ストリートビュー -------------------------------------- */
.street_view {
  margin: 3rem auto; }
  @media screen and (min-width: 48em), print {
    .street_view {
      width: 100%; } }
  .street_view iframe {
    height: 35rem;
    width: 100%; }
    @media screen and (min-width: 48em), print {
      .street_view iframe {
        height: 60rem; } }

/* 特長 -------------------------------------- */
.symptoms {
  padding: 6rem 0 3rem;
  background: url("../img/index_symptoms_bg.png") no-repeat center center/auto 65%; }
  .symptoms p {
    text-align: center;
    color: #0073c0;
    text-shadow: white 3px 0px 0px, white 2.83487px 0.981584px 0px, white 2.35766px 1.85511px 0px, white 1.62091px 2.52441px 0px, white 0.705713px 2.91581px 0px, white -0.287171px 2.98622px 0px, white -1.24844px 2.72789px 0px, white -2.07227px 2.16926px 0px, white -2.66798px 1.37182px 0px, white -2.96998px 0.42336px 0px, white -2.94502px -0.571704px 0px, white -2.59586px -1.50383px 0px, white -1.96093px -2.27041px 0px, white -1.11013px -2.78704px 0px, white -0.137119px -2.99686px 0px, white 0.850987px -2.87677px 0px, white 1.74541px -2.43999px 0px, white 2.44769px -1.73459px 0px, white 2.88051px -0.838247px 0px; }
    .symptoms p span {
      position: relative;
      z-index: 1; }
      .symptoms p span::after {
        content: "";
        height: .3rem;
        width: 102%;
        background: #ffd200;
        position: absolute;
        bottom: -2px;
        left: -3px;
        z-index: -1; }
  .symptoms ul {
    width: 90%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 2rem 2rem;
    margin: 0 auto 2rem;
    position: relative;
    z-index: 1; }
    .symptoms ul::before {
      content: "";
      width: 100%;
      height: 100%;
      background: url("../img/index_symptoms_bg02.png") repeat;
      opacity: .9;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1; }
    .symptoms ul li {
      width: 48%;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      -webkit-align-items: baseline;
      align-items: baseline;
      color: #fff;
      font-size: 1.6rem;
      line-height: 1.2;
      margin-bottom: .8rem; }
      .symptoms ul li::before {
        content: "\f14a";
        font-family: "fontello";
        display: inline-block;
        font-size: 1.6rem;
        margin-right: .4rem; }

@media screen and (min-width: 48em), print {
  .symptoms {
    width: 100%;
    background: url("../img/index_symptoms_bg.png") no-repeat right center/100%;
    padding: 6rem 0 15rem; }
    .symptoms p {
      font-size: 2rem;
      font-weight: bold;
      margin-bottom: 7rem; }
      .symptoms p span::after {
        height: .6rem;
        width: 103%;
        left: -5px; }
    .symptoms ul {
      padding: 3rem;
      width: 54rem; }
      .symptoms ul li {
        font-size: 1.8rem; }
        .symptoms ul li::before {
          font-size: 2rem;
          margin-right: .6rem; } }
/* 特長 -------------------------------------- */
.feature {
  padding: 3rem 0 6rem;
  background: url("../img/index_feature_bg.png") repeat center top; }
  .feature section {
    padding: 3rem 0 2rem;
    overflow: hidden;
    position: relative;
    z-index: 3; }
    .feature section p {
      padding: 0 3rem 0 5rem; }
      .feature section p span {
        color: #ffa800; }
    .feature section::before {
      content: "";
      background: #fff;
      position: absolute;
      transform: rotate(10deg) translate3d(0, 0, 0);
      width: 34rem;
      height: 135%;
      top: -10rem;
      right: -15px;
      z-index: -1; }
  .feature ul {
    margin-top: 3rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: right; }
    .feature ul li {
      padding: 0 1rem;
      width: 50%;
      position: relative; }
      .feature ul li img {
        width: 10rem;
        border-radius: 50%;
        border: 3px solid #fff;
        overflow: hidden; }
      .feature ul li .tit {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-flex-direction: column;
        flex-direction: column;
        width: 5.4rem;
        height: 5.4rem;
        font-size: 1rem;
        border-radius: 50%;
        background: #fff;
        color: #0073c0;
        text-align: center;
        line-height: 1.2;
        position: absolute;
        bottom: 7rem;
        left: .4rem; }
        .feature ul li .tit span {
          font-size: 2rem; }
      .feature ul li p {
        color: #fff;
        text-align: center; }
        .feature ul li p span {
          color: #ffe400; }

@media screen and (min-width: 48em), print {
  .feature {
    background: url("../img/index_feature_bg.png") top center repeat;
    padding: 0;
    position: relative;
    overflow: hidden; }
    .feature .wrap {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
      .feature .wrap section {
        width: 39%;
        height: auto;
        order: 2;
        background: none;
        position: relative;
        padding: 28rem 0 0;
        z-index: 3;
        overflow: visible; }
        .feature .wrap section .tit_02 {
          margin-left: 20rem; }
        .feature .wrap section p {
          width: 35rem;
          padding: 0;
          margin: 0 0 0 auto; }
        .feature .wrap section::before {
          content: "";
          background: #fff;
          position: absolute;
          transform: rotate(15deg) translate3d(0, 0, 0);
          width: 45rem;
          height: 125%;
          top: -10rem;
          right: -7rem;
          z-index: -1; }
      .feature .wrap ul {
        width: 57%;
        order: 1;
        text-align: center;
        margin: 6rem 0; }
        .feature .wrap ul li {
          display: -webkit-flex;
          display: flex;
          -webkit-justify-content: flex-start;
          justify-content: flex-start;
          -webkit-align-items: center;
          align-items: center;
          -webkit-flex-direction: column;
          flex-direction: column; }
          .feature .wrap ul li img {
            width: 24rem;
            height: 24rem; }
          .feature .wrap ul li .tit {
            width: 9rem;
            height: 9rem;
            bottom: 10rem;
            left: 1rem;
            font-size: 1.4rem;
            font-weight: bold; }
            .feature .wrap ul li .tit span {
              font-size: 3rem; }
          .feature .wrap ul li p {
            margin-top: .6rem;
            font-size: 2.4rem; } }
/* カレンダー -------------------------------------- */
.cal .box_white {
  padding: 1.0rem; }
  .cal .box_white .status {
    display: -webkit-flex;
    display: flex; }
    .cal .box_white .status li {
      display: inline-block;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center; }
      .cal .box_white .status li::before {
        display: inline-block;
        content: '■';
        font-size: 120%; }
      .cal .box_white .status li:not(:last-child) {
        margin-right: 1.0rem; }
      .cal .box_white .status li.open::before {
        color: #3c9; }
      .cal .box_white .status li.am::before {
        color: #75b65d; }
      .cal .box_white .status li.kyushin::before {
        color: #bbb; }

@media screen and (min-width: 48em), print {
  .cal .box_white {
    padding: 2.0rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    .cal .box_white .caledit {
      width: 48%;
      font-size: 1.8rem;
      padding: 0 0 2.0rem; }
      .cal .box_white .caledit .week th {
        padding: 1.6rem 0 .6rem; }
    .cal .box_white .status {
      width: 100%; } }
/* ----------------------------------------------------------------------------------
下層　_lower.scss
---------------------------------------------------------------------------------- */
body:not(.index) {
  color: #222222; }
  body:not(.index) .main {
    margin: 0 1.0rem; }
  body:not(.index) .overview {
    margin-top: 4rem; }
    @media screen and (min-width: 48em), print {
      body:not(.index) .overview {
        margin-top: inherit; } }
  body:not(.index) .img_l, body:not(.index) .img_r {
    margin: 1.4rem auto 1.8rem; }

@media screen and (min-width: 48em), print {
  .img_l, .img_r {
    max-width: 40%;
    height: auto;
    margin: 0 1.6rem !important; }

  .flex2:not(.mt20) > section, .flex2:not(.mt20) > div {
    width: 73%;
    order: 2;
    padding-bottom: 8rem; } }
/* ドクター紹介 */
.doctor .lst_dl01 dt {
  width: 20%; }
.doctor .lst_dl01 dd {
  padding-left: 6rem; }
.doctor .img_bnr {
  width: 100% !important;
  display: block;
  margin: 1rem auto; }
.doctor .flex_img img {
  display: block;
  margin: 0 auto; }
.doctor .flex_img > div {
  margin-top: 2rem; }

@media screen and (min-width: 48em), print {
  .doctor .img_bnr {
    width: 80% !important;
    margin: 2rem auto 1rem; }
    .doctor .img_bnr img {
      width: 100% !important; }
  .doctor .flex_img {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start; }
    .doctor .flex_img > img {
      max-width: 34%; }
    .doctor .flex_img > div {
      margin-top: 0;
      width: 63%; }
      .doctor .flex_img > div .bold {
        margin: 0 0 1rem; }
      .doctor .flex_img > div .lst_dl01 dt {
        width: 14%; } }
/* クリニック紹介 */
#clinicslide {
  margin-bottom: 8.0rem; }
  @media screen and (min-width: 48em), print {
    #clinicslide {
      margin-bottom: 15rem; } }
  #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 2.0rem;
  text-align: center; }
  .device li img {
    display: block;
    margin: 0 auto .6rem;
    max-width: 100%;
    height: auto; }

@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 img {
        margin: 0 auto 1.0rem;
        max-width: 100%; } }
/* 初めての方へ */
.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; }

/* 診療時間・アクセス */
.access .gmap {
  height: 30.0rem;
  margin: 2.0rem 0; }

@media screen and (min-width: 48em), print {
  .access .gmap {
    height: 50.0rem; }
  .access .tit_02 + section ~ section {
    margin-top: 4rem; } }
/*整形外科*/
.orthopedics .tbl_01 tr th:first-child {
  width: 30%; }

@media screen and (min-width: 48em), print {
  .orthopedics .tbl_01 tr th:first-child {
    width: 30%; } }
/*スポーツ整形外科・リハビリ*/
.sports .tbl_01_b {
  margin-top: 2rem;
  border-collapse: collapse; }
  .sports .tbl_01_b tr th {
    width: 35%;
    background: #e7f5ff;
    padding: .4rem .4rem;
    border-bottom: 1px solid #fff; }
  .sports .tbl_01_b tr td {
    padding: .4rem .4rem;
    border-bottom: 1px solid #eeeeee; }
  .sports .tbl_01_b tr:last-child td, .sports .tbl_01_b tr:last-child th {
    border-bottom: none; }
.sports .tbl_01 tr th {
  width: 40%; }
  .sports .tbl_01 tr th:first-child {
    width: 20%; }
.sports .tbl_01 tr td {
  border-right: 1px solid #eeeeee; }
  .sports .tbl_01 tr td:first-child {
    text-align: center; }
  .sports .tbl_01 tr td:last-child {
    border-right: none; }

@media screen and (min-width: 48em), print {
  .sports .tbl_01_b {
    margin-top: 4rem; } }
/*ロコモティブシンドローム*/
.locomotive .box {
  text-indent: -2.0rem;
  padding-left: 2.2rem; }
  .locomotive .box input {
    margin-left: 1rem; }
  .locomotive .box li ~ li {
    margin-top: .8rem; }
