@charset "UTF-8";
:root {
  --black01: #000000;
  --black02: #010101;
  --gray01: #222222;
  --gray02: #a1a1a1;
  --gray03: #d5d5d5;
  --gray04: #dedede;
  --white01: #ffffff;
  --brown01: #6b4f3c;
  --brown02: #48341d;
  --brown03: #bf9a55;
  --brown04: #c7b38d;
  --brown05: #875e04;
  --beige01: #d8c8bd;
  --beige02: #ffedcd;
  --beige03: #eccc90;
  --beige04: #f6ecd9;
  --beige05: #dfcca7;
  --orange01: #ec7218;
  --orange02: #aa7b16;
  --orange03: #9a7913;
  --green01: #f1ffdb;
  --blue01: #e4f1fc;
  --blue02: #3f74a1;
  --blue03: #49639b;
  --red01: #b4144c;
  --red02: #be1f45;
  --red03: #e56076;
  --red04: #e99198;
  --pink01: #fff3f5;
  --pink02: #fff9fa;
  --pink03: #ffeff1;
  --pink04: #f2a5ad;
  --pink05: #f8d7da;
}

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

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

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

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

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

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

.cf::after {
  clear: both;
}

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

.fl_r {
  float: right;
}

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

.txt_l {
  text-align: left;
}

.txt_r {
  text-align: right;
}

.bold {
  font-weight: bold;
}

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

/* 囲い文字 -------------------------------------- */
*[class*=frame_] {
  padding: 1.4rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 48em), print {
  *[class*=frame_] {
    padding: 3rem 3rem 3rem;
    margin: 3rem 0;
  }
}
*[class*=frame_].frame_01 {
  background: var(--pink03);
}
*[class*=frame_].frame_02 {
  background: var(--beige04);
}

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

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

@media screen and (min-width: 48em), print {
  .img_l {
    float: left;
    margin: 0 2rem 2rem 0;
  }
  .img_r {
    float: right;
    margin: 0 0 2rem 2rem;
  }
}
/* PC・SP　表示・非表示 -------------------------------------- */
.sp_n {
  display: none;
}

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

.mt30 {
  margin-top: 3rem;
}

.mt20 {
  margin-top: 2rem;
}

.mt10 {
  margin-top: 1rem;
}

section > .bg > section:first-of-type {
  margin-top: 3rem;
}

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

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

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

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

@media screen and (min-width: 48em), print {
  .mt40 {
    margin-top: 8rem;
  }
  .mt30 {
    margin-top: 6rem;
  }
  .mt20 {
    margin-top: 4rem;
  }
  .mt10 {
    margin-top: 2rem;
  }
  section > .bg > section:first-of-type {
    margin-top: 6rem;
  }
  .main > section > .bg ~ section,
  .flex2 > section > .bg ~ section {
    margin-top: 8rem;
  }
  .main > section > .bg section ~ section,
  .flex2 > section section ~ section {
    margin-top: 6rem;
  }
  .main > section > .bg > section section ~ section,
  .flex2 > section > section section ~ section {
    margin-top: 4rem;
  }
  .main > section > .bg > section > section section ~ section,
  .flex2 > section > section > section section ~ section {
    margin-top: 2rem;
  }
}
/* タイムテーブル -------------------------------------- */
.tbl_time {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 1.4rem;
  table-layout: fixed;
}
.tbl_time caption {
  caption-side: bottom;
  text-align: left;
  margin-top: 0.4rem;
}
.tbl_time caption ul li {
  margin: 0.4rem 0 0;
}
.tbl_time caption ul li > span {
  font-weight: bold;
  color: var(--orange03);
  display: block;
  margin: 0rem 0.4rem 0rem 0;
  padding-left: 0.6rem;
  position: relative;
}
.tbl_time caption ul li > span::before {
  content: "";
  width: 2px;
  height: 100%;
  background: var(--orange03);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.tbl_time caption ul li p {
  padding: 0 0 0 0.6rem;
  margin: 0;
}
.tbl_time caption ul li p .clr_01 {
  color: var(--orange03);
}
.tbl_time caption ul li p .clr_02 {
  color: var(--gray02);
}
.tbl_time tr th {
  font-weight: normal;
}
.tbl_time tr th[scope=col] {
  padding: 0.4rem 0;
  background: var(--brown03);
  font-size: 1.2rem;
  color: var(--white01);
  font-weight: normal;
}
.tbl_time tr th[scope=col]:first-child {
  width: 35%;
}
.tbl_time tr th.time {
  background: var(--white01);
  border-bottom: 1px solid var(--brown03);
}
.tbl_time tr td {
  text-align: center;
  padding: 0.6rem 0.4rem;
  background: var(--white01);
  border-bottom: 1px solid var(--brown03);
  line-height: 1;
  color: var(--orange03);
}
.tbl_time tr td span {
  color: var(--gray02);
}

@media screen and (min-width: 48em), print {
  .tbl_time {
    font-size: 1.8rem;
  }
  .tbl_time caption {
    margin-top: 1.6rem;
  }
  .tbl_time caption ul li {
    margin: 1rem 0 0;
    line-height: 1.2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .tbl_time caption ul li > span {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-width: 9rem;
    padding-left: 0.7rem;
  }
  .tbl_time caption ul li p {
    padding: 0;
  }
  .tbl_time tr th[scope=col] {
    padding: 1.2rem 0;
    font-size: 1.8rem;
  }
  .tbl_time tr th[scope=col]:first-child {
    width: 30%;
  }
  .tbl_time tr td {
    padding: 1.2rem 0;
  }
}
/* テーブル回り -------------------------------------- */
.tbl_01 {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.4rem;
  table-layout: fixed;
}
.tbl_01 tr th {
  width: 30%;
  background: var(--pink03);
  border: 1px solid var(--red04);
  padding: 0.8rem 1rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 700;
  font-size: 110%;
  text-align: left;
  vertical-align: top;
}
.tbl_01 tr td {
  border: 1px solid var(--red04);
  padding: 0.8rem 1rem;
  background: var(--white01);
  text-align: left;
  line-height: 1.6;
}

@media screen and (min-width: 48em), print {
  .tbl_01 {
    font-size: 1.6rem;
  }
  .tbl_01 tr th,
  .tbl_01 tr td {
    padding: 1.2rem;
  }
}
/* グーグルマップ -------------------------------------- */
.gmap {
  width: 100%;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* タイトル回り -------------------------------------- */
.tit_01 {
  font-size: 2.2rem;
  color: var(--blue03);
  font-weight: 600;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  padding: 1rem 1rem;
  margin: 0;
  min-height: 14rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-shadow: 0 0 3px #ffffff, 0 0 3px #ffffff, 0 0 3px #ffffff, 0 0 5px #ffffff, 0 0 5px var(--white01);
}

.tit_02 {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  margin: 0 0 1rem;
  padding: 0;
  line-height: 1.2;
}

body.index .tit_02 {
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  color: var(--brown05);
}
body.index .tit_02 span {
  display: block;
  line-height: 1.2;
  font-size: 2.8rem;
  font-weight: 600;
  font-family: "Cormorant";
  color: var(--red01);
}

body:not(.index) .tit_02 {
  margin: 0 0 4rem;
  font-size: 1.8rem;
  text-align: center;
  color: var(--red01);
  font-weight: 600;
}
body:not(.index) .tit_02::after {
  content: "";
  width: 8rem;
  height: 0.2rem;
  margin: 0.8rem auto 0;
  display: block;
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, #e99198), color-stop(50%, #eccc90));
  background: linear-gradient(to right, #e99198 50%, #eccc90 50%);
}

.tit_03 {
  color: var(--white01);
  background: var(--brown04);
  padding: 0.4rem 1rem 0.4rem 2.6rem;
  font-size: 1.8rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 1rem;
  position: relative;
}
.tit_03::before {
  content: "\e812";
  font-family: "fontello";
  position: absolute;
  left: 0.4rem;
  top: 0.4rem;
}

.tit_04 {
  color: var(--red02);
  background: var(--pink01);
  padding: 0.4rem 1rem 0.4rem 2.6rem;
  font-size: 1.8rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 1rem;
  position: relative;
}
.tit_04::before {
  content: "\e813";
  font-family: "fontello";
  color: var(--pink05);
  position: absolute;
  left: 0.4rem;
  top: 0.4rem;
}

.tit_05 {
  color: var(--brown05);
  font-size: 1.8rem;
  line-height: 1.2;
  margin: 0 0 1rem;
  padding: 0.4rem 1rem 0.4rem 2.6rem;
  font-size: 1.8rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 600;
  border-top: 1px solid var(--beige05);
  border-bottom: 1px solid var(--beige05);
  position: relative;
}
.tit_05::before {
  content: "\f111";
  font-family: "fontello";
  color: var(--beige05);
  font-size: 1.2rem;
  position: absolute;
  left: 0.4rem;
  top: 0.8rem;
}

@media screen and (min-width: 48em), print {
  .tit_01 {
    font-size: 4rem;
    min-height: 20rem;
    padding: 1rem 1rem;
    margin: 0;
  }
  .tit_02 {
    font-size: 2.6rem;
    margin: 0 0 2.2rem;
  }
  body.index .tit_02 {
    font-size: 2rem;
  }
  body.index .tit_02 span {
    font-size: 5.8rem;
  }
  body:not(.index) .tit_02 {
    font-size: 3.6rem;
    margin: 0 0 3.3rem;
  }
  body:not(.index) .tit_02::after {
    width: 16.4rem;
    margin: 2rem auto 0;
  }
  .tit_03 {
    font-size: 2.6rem;
    padding: 0.8rem 1rem 0.8rem 4.4rem;
    margin: 0 0 2rem;
  }
  .tit_03::before {
    left: 0.8rem;
    top: 0.8rem;
  }
  .tit_04 {
    font-size: 2.4rem;
    padding: 0.8rem 1rem 0.8rem 4rem;
    margin: 0 0 2rem;
  }
  .tit_04::before {
    left: 0.8rem;
    top: 0.8rem;
  }
  .tit_05 {
    font-size: 2.2rem;
    padding: 1.2rem 0.4rem 1.2rem 4rem;
    margin: 0 0 2rem;
  }
  .tit_05::before {
    left: 0.8rem;
    top: 1.6rem;
  }
}
/* リスト回り -------------------------------------- */
.lst_ul01 li {
  padding-left: 1.4rem;
  margin-bottom: 1rem;
  line-height: 1.4;
  position: relative;
}
.lst_ul01 li:last-child {
  margin-bottom: 0;
}
.lst_ul01 li::before {
  content: "■";
  font-size: 1rem;
  color: var(--red02);
  position: absolute;
  left: 0;
  top: 0.2rem;
}
@media screen and (min-width: 48em), print {
  .lst_ul01 li::before {
    top: 0.5rem;
  }
}
.lst_ul01 li.none::before {
  content: none;
}
@media screen and (min-width: 48em), print {
  .lst_ul01.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .lst_ul01.flex li {
    width: 49%;
  }
}
@media screen and (min-width: 48em), print {
  .lst_ul01.inline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .lst_ul01.inline li {
    margin-right: 2rem;
    display: inline-block;
  }
}

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

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

@media screen and (min-width: 48em), print {
  .lst_dl01 div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0 1.4rem;
  }
  .lst_dl01 div dt {
    width: auto;
  }
  .lst_dl01 div dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.lst_dl02 dt {
  background: var(--pink03);
  border: 1px solid var(--red04);
  border-top: none;
  border-bottom: none;
  padding: 0.8rem 1rem 0.8rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 700;
  font-size: 110%;
}
.lst_dl02 dt:first-child {
  border-top: 1px solid var(--red04);
}
.lst_dl02 dd {
  border: 1px solid var(--red04);
  padding: 0.8rem;
  margin: 0;
}

@media screen and (min-width: 48em), print {
  .lst_dl02 dt {
    padding: 1.2rem 1.6rem 1.2rem;
  }
  .lst_dl02 dd {
    padding: 1.8rem 1.2rem;
  }
}
/* フレックス回り -------------------------------------- */
.flex3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.flex3 > li {
  width: 46%;
}

@media screen and (min-width: 48em), print {
  .flex2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .flex2 > section,
  .flex2 > li {
    width: 48%;
    margin: 0 !important;
  }
  .flex3 li {
    width: 31%;
  }
}
/* リンク -------------------------------------- */
*[class*=btn_] {
  display: block;
  text-align: center;
}
*[class*=btn_] a {
  background: var(--red01);
  color: var(--white01);
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  text-align: center;
  padding: 0.6rem 4rem;
  display: inline-block;
  text-decoration: none !important;
  position: relative;
}
*[class*=btn_] a::after {
  content: ">";
  font-family: "fontello";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media screen and (min-width: 48em), print {
  *[class*=btn_] {
    text-align: left;
  }
}

.txt_link {
  color: var(--red02);
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  text-decoration: underline;
}
.txt_link:hover {
  text-decoration: none !important;
  opacity: 1;
}

/* フローチャート -------------------------------------- */
.flow div {
  padding: 1rem;
  margin: 0 0 6rem;
  border: 1px solid var(--red02);
  position: relative;
}
.flow div:last-child {
  margin: 0;
}
@media screen and (min-width: 48em), print {
  .flow div {
    margin: 0 0 10rem;
    padding: 1.4rem 3rem;
  }
}
.flow div:not(:last-child)::after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  position: absolute;
  bottom: -5rem;
  left: 0;
  right: 0;
  border-top: 2rem solid var(--pink04);
  border-right: 3rem solid transparent;
  border-bottom: 1rem solid transparent;
  border-left: 3rem solid transparent;
  margin: auto;
}
@media screen and (min-width: 48em), print {
  .flow div:not(:last-child)::after {
    bottom: -7rem;
  }
}
.flow div dt {
  font-weight: bold;
  font-size: 2rem;
  color: var(--red01);
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  margin: 0 0 1rem;
}
@media screen and (min-width: 48em), print {
  .flow div dt {
    margin: 0 0 1.4rem;
  }
}
.flow div dd {
  padding: 0;
  margin: 0;
}

.lst_flow li {
  padding: 1rem;
  margin: 0 0 6rem;
  border: 1px solid var(--red02);
  position: relative;
  font-weight: bold;
}
.lst_flow li:last-child {
  margin: 0;
}
@media screen and (min-width: 48em), print {
  .lst_flow li {
    margin: 0 0 10rem;
    padding: 1.4rem 3rem;
  }
}
.lst_flow li:not(:last-child)::after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  position: absolute;
  bottom: -5rem;
  left: 0;
  right: 0;
  border-top: 2rem solid var(--pink04);
  border-right: 3rem solid transparent;
  border-bottom: 1rem solid transparent;
  border-left: 3rem solid transparent;
  margin: auto;
}
@media screen and (min-width: 48em), print {
  .lst_flow li:not(:last-child)::after {
    bottom: -7rem;
  }
}

/* テーブル -------------------------------------- */
.tbl_low {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
}
.tbl_low thead tr th {
  width: 30%;
  padding: 1rem 0.4rem;
  color: var(--white01);
  background: var(--red04);
  text-align: center;
  font-weight: normal;
  border-right: 1px solid var(--white01);
}
.tbl_low thead tr th:last-child {
  border-right: none;
}
@media screen and (min-width: 48em), print {
  .tbl_low thead tr th {
    padding: 1.2rem 1rem;
  }
}
.tbl_low tbody tr th {
  padding: 0.8rem;
  background: var(--pink03);
  text-align: center;
  font-weight: normal;
  border: 1px solid var(--red04);
}
@media screen and (min-width: 48em), print {
  .tbl_low tbody tr th {
    padding: 1.2rem 1rem;
  }
}
.tbl_low tbody tr td {
  padding: 0.8rem;
  border: 1px solid var(--red04);
  text-align: right;
}
@media screen and (min-width: 48em), print {
  .tbl_low tbody tr td {
    padding: 1.2rem 1rem;
  }
}

.tbl_access {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
}
.tbl_access tbody tr th {
  width: 37%;
  border: 1px solid var(--blue02);
  background: var(--blue01);
  text-align: center;
  font-weight: normal;
  padding: 0.8rem;
}
.tbl_access tbody tr td {
  padding: 0.8rem;
  border: 1px solid var(--blue02);
}

@media screen and (min-width: 48em), print {
  .tbl_access tr th {
    width: 30%;
    padding: 0.8rem 1.4rem;
  }
  .tbl_access tr td {
    padding: 0.8rem 1.4rem;
  }
}
/* ----------------------------------------------------------------------------------
共通　_common.scss
---------------------------------------------------------------------------------- */
.nolink {
  pointer-events: none !important;
}

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

body {
  background: var(--white01);
  color: #010101;
}

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

.wrap {
  padding: 0 1rem 0;
}

.overflow {
  overflow: hidden;
}

.main {
  font-size: 1.4rem;
  line-height: 1.6;
  padding: 0 0 0;
  position: relative;
  z-index: 1;
}
.main::before {
  content: "";
  background: url(../img/index_infoOutline_bg01.svg) no-repeat top/cover;
  display: block;
  width: 100vw;
  height: 60rem;
  position: absolute;
  z-index: -1;
  top: -8rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.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: 1180px;
  }
  body > .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin: 10rem auto 0;
  }
  a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  a:hover {
    opacity: 0.8;
  }
  .wrap {
    width: 1100px;
    margin: 0 auto;
    padding: 0;
  }
  .main {
    font-size: 1.6rem;
    padding: 0 0 0;
    width: 100%;
  }
  .main::before {
    content: "";
    background: url(../img/index_infoOutline_bg01.svg) no-repeat top/auto auto;
    display: block;
    min-width: 1200px;
    height: 1508px;
    position: absolute;
    z-index: -1;
    top: 9.4rem;
  }
}
/* アイコンフォント -------------------------------------- */
@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 {
  position: relative;
}
.header .wrap {
  margin: 0;
  padding: 1rem 1rem;
  height: 100%;
}
.header .wrap::before {
  content: "";
  display: block;
  width: 100%;
  height: 4rem;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(1rem, rgba(255, 255, 255, 0.9)), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to bottom, #ffffff, rgba(255, 255, 255, 0.9) 1rem, rgba(255, 255, 255, 0));
  position: absolute;
  z-index: 0;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.header .wrap .logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 5;
}
.header .wrap .logo a {
  display: block;
  position: relative;
  width: 60%;
  height: 6rem;
  background: url(../img/logo01.svg) no-repeat center center/contain;
}
.header .wrap .logo a::before {
  content: "";
  position: absolute;
  display: block;
  left: -24%;
  width: 20%;
  height: 6rem;
  background: url(../img/logo02.svg) no-repeat center center/contain;
}
.header .wrap .logo a span {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  position: absolute;
}
.header .wrap .headR {
  display: none;
}

@media screen and (min-width: 48em), print {
  .header .wrap {
    height: auto;
    margin: 0 auto;
    padding: 0 0 0 3.7rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header .wrap::before {
    height: 21.6rem;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(12rem, rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0)));
    background-image: linear-gradient(to bottom, #ffffff, rgba(255, 255, 255, 0.8) 12rem, rgba(255, 255, 255, 0));
  }
  .header .wrap .logo {
    margin: 5rem 0 0;
    padding: 0;
    width: 37.1rem;
    height: 6.1rem;
  }
  .header .wrap .logo a {
    width: 100%;
    height: 100%;
  }
  .header .wrap .logo a::before {
    width: 18.5rem;
    height: 17.2rem;
    top: -3rem;
    left: auto;
    right: -22.4rem;
  }
  .header .wrap .headR {
    display: block;
    margin: 2.3rem 0 0;
    width: 44.5rem;
    position: relative;
    z-index: 2;
  }
  .header .wrap .headR .rsv_tel {
    margin: 0 0 1.3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header .wrap .headR .rsv_tel li .tel {
    font-size: 2.8rem;
    font-family: "Cinzel", serif;
    color: var(--brown05);
  }
  .header .wrap .headR .rsv_tel li .tel::before {
    content: "\e80a";
    font-family: "fontello";
    margin-right: 0.4rem;
  }
  .header .wrap .headR .rsv_tel li .btn_rsv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: var(--red01);
    padding: 0.5rem 3.2rem;
    color: var(--white01);
    font-size: 1.6rem;
    font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  }
  .header .wrap .headR .rsv_tel li .btn_rsv::before {
    content: "\e80b";
    font-family: "fontello";
    margin-right: 0.4rem;
  }
  .header .wrap .headR .address {
    font-size: 1.4rem;
  }
}
.menu.fixed .sp_menu {
  width: 100%;
  background: rgba(255, 255, 255, 0.96);
  -webkit-box-shadow: 0 -0.4rem 11px rgba(0, 0, 0, 0.5);
          box-shadow: 0 -0.4rem 11px rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
}

.pc_menu {
  display: none;
}

.sp_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  z-index: 200;
}
.sp_menu > li {
  margin: 0;
  width: 20%;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.sp_menu > li:not(:last-child) > a {
  position: relative;
  width: 100%;
  background: var(--brown03);
  padding: 0.6rem 0;
  font-weight: 500;
}
.sp_menu > li:not(:last-child) > a::after {
  content: "";
  height: 100%;
  width: 1px;
  background: var(--white01);
  font-weight: normal;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 0;
}
.sp_menu > li > a {
  display: block;
  color: var(--white01);
}
.sp_menu > li > a::before {
  content: "";
  display: block;
  font-family: "fontello";
  font-size: 1.4rem;
  color: var(--white01);
  margin-bottom: 0.2rem;
}
.sp_menu > li.i_home a::before {
  content: "\e809";
}
.sp_menu > li.i_tel a::before {
  content: "\e80a";
}
.sp_menu > li.i_rsv a::before {
  content: "\e80b";
}
.sp_menu > li.i_access a::before {
  content: "\e805";
}
.sp_menu > li.sp_nav {
  background: var(--pink04);
}
.sp_menu > li.sp_nav button {
  all: unset;
  width: 100%;
  height: 100%;
}
.sp_menu > li.sp_nav button::before {
  content: "\e802";
  display: block;
  color: var(--white01);
  font-family: "fontello";
  font-size: 1.8rem;
}
.sp_menu > li.sp_nav button::after {
  content: "MENU";
  display: block;
  color: var(--white01);
  font-weight: 500;
  text-align: center;
  position: relative;
  bottom: 0.1rem;
}
.sp_menu > li.sp_nav button.close::before {
  content: "\e806";
}
.sp_menu > li.sp_nav button.close::after {
  content: "CLOSE";
}
.sp_menu > li.sp_nav .nav {
  background: var(--white01);
  height: 100vh;
  width: 100%;
  padding: 3rem 1.6rem 10rem 2rem;
  display: none;
  visibility: hidden;
  position: absolute;
  overflow-y: scroll;
  left: 0;
  top: 46px;
  z-index: -1;
  text-align: left;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
}
.sp_menu > li.sp_nav .nav .gnav li {
  margin: 0;
  border-bottom: 1px solid var(--pink04);
}
.sp_menu > li.sp_nav .nav .gnav li.clinic {
  border-bottom: none;
}
.sp_menu > li.sp_nav .nav .gnav li.clinic a.sub {
  display: none;
}
.sp_menu > li.sp_nav .nav .gnav li.treatment {
  display: none;
}
.sp_menu > li.sp_nav .nav .gnav li a {
  display: block;
  padding: 1rem 0.2rem 0.6rem;
  font-size: 1.4rem;
  position: relative;
}
.sp_menu > li.sp_nav .nav .gnav li a::before {
  content: "・";
  font-family: "fontello";
  margin-right: 0.4rem;
}
.sp_menu > li.sp_nav .nav .gnav li a::after {
  content: "\e80f";
  font-family: "fontello";
  color: var(--pink04);
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.sp_menu > li.sp_nav .nav .gnav li a span {
  display: none;
}
.sp_menu > li.sp_nav .nav .gnav li.nav_rsv {
  display: none;
}
.sp_menu > li.sp_nav .nav .sp_treatment_menu {
  display: block;
  font-size: 1.4rem;
}
.sp_menu > li.sp_nav .nav .sp_treatment_menu p {
  font-size: 1.6rem;
  margin: 3rem 0 1rem;
  padding: 0.6rem 1rem 0.6rem;
  background: var(--pink04);
  font-weight: bold;
  text-align: center;
  color: var(--white01);
}
.sp_menu > li.sp_nav .nav .sp_treatment_menu ul li {
  margin: 0;
  border-bottom: 1px solid var(--pink04);
}
.sp_menu > li.sp_nav .nav .sp_treatment_menu ul li a {
  display: block;
  padding: 1rem 0.2rem 0.6rem;
  font-size: 1.4rem;
  position: relative;
}
.sp_menu > li.sp_nav .nav .sp_treatment_menu ul li a::before {
  content: "・";
  font-family: "fontello";
  margin-right: 0.4rem;
}
.sp_menu > li.sp_nav .nav .sp_treatment_menu ul li a::after {
  content: "\e80f";
  font-family: "fontello";
  color: var(--pink04);
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

@media screen and (min-width: 48em), print {
  .sp_menu {
    display: none;
  }
  .pc_menu {
    display: block;
  }
  .menu {
    position: absolute;
    top: 11rem;
    left: 50%;
    z-index: 100;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .menu.fixed {
    background: rgba(255, 255, 255, 0.9);
    -webkit-box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.16);
            box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.16);
    -webkit-transition: background 0.4s;
    transition: background 0.4s;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
  }
  .menu.fixed .nav .gnav > li {
    width: 14.2857142857%;
    margin: 0;
  }
  .menu.fixed .nav .gnav > li > a {
    padding: 0.4rem 0;
  }
  .menu.fixed .nav .gnav > li > a span:not(.icon) {
    display: none;
  }
  .menu.fixed .nav .gnav > li .subnav {
    top: 2.8rem;
  }
  .menu.fixed .nav .gnav > li.nav_rsv {
    display: block;
    background: var(--red01);
  }
  .menu.fixed .nav .gnav > li.nav_rsv a {
    color: var(--white01);
  }
  .menu.fixed .nav .gnav > li.nav_rsv a::before {
    content: "\e80b";
    font-family: "fontello";
    margin-right: 0.4rem;
    font-weight: normal;
  }
  .nav {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    position: relative;
    z-index: 200;
  }
  .nav .gnav {
    width: 1100px;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .nav .gnav > li {
    width: 16.6666666667%;
    position: relative;
  }
  .nav .gnav > li:nth-child(3) {
    margin-right: 15.1rem;
  }
  .nav .gnav > li:nth-child(4) {
    margin-left: 16.5rem;
  }
  .nav .gnav > li.nav_rsv {
    display: none;
  }
  .nav .gnav > li a {
    display: block;
    text-align: center;
    padding: 2.6rem 0.2rem 2.8rem;
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--brown05);
    font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  }
  .nav .gnav > li a span:not(.icon) {
    display: block;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    color: #010101;
  }
  .nav .gnav > li a .icon::after {
    content: "\e80e";
    font-family: "fontello";
    font-weight: normal;
    margin-left: 0.2rem;
    font-size: 1rem;
    position: relative;
    bottom: 0.2rem;
  }
  .nav .gnav > li .subnav {
    visibility: hidden;
    margin: 0;
    padding: 0;
    width: 20rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: absolute;
    left: 2.4rem;
    top: 8rem;
    z-index: -1;
    overflow: hidden;
  }
  .nav .gnav > li .subnav > li {
    display: block;
    width: 100%;
    border-bottom: 1px solid var(--white01);
  }
  .nav .gnav > li .subnav > li::before {
    content: none;
  }
  .nav .gnav > li .subnav > li a {
    display: block;
    width: 100%;
    padding: 1.4rem 1rem 1.4rem 3rem;
    text-align: left;
    font-size: 1.8rem;
    font-weight: 400;
    background: var(--brown05);
    color: var(--white01);
    position: relative;
  }
  .nav .gnav > li .subnav > li a::before {
    content: "・";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: 1rem;
  }
  .nav .gnav > li .subnav > li a:hover {
    background: var(--orange02);
    opacity: 1;
  }
  .nav .sp_treatment_menu {
    display: none;
  }
}
/* クリニック概要 -------------------------------------- */
.overview {
  overflow-x: hidden;
  padding: 2rem 0 0;
  font-size: 1.4rem;
  line-height: 1.6;
  background: -webkit-gradient(linear, left bottom, left top, from(#e4f1fc), color-stop(60%, #ffffff), to(#ffffff));
  background: linear-gradient(to top, #e4f1fc, #ffffff 60%, #ffffff);
  position: relative;
  z-index: 1;
}
.overview::before {
  content: "";
  display: block;
  width: 100%;
  height: 20rem;
  background: url(../img/overview_bg01.svg) no-repeat center/auto 100%;
  position: absolute;
  z-index: -1;
  top: 7rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.overview .clinic_name {
  text-align: center;
  margin: 0 0 2rem;
}
.overview .clinic_name img {
  max-width: 60%;
  height: auto;
}
.overview .lst_tel-rsv {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem 0;
}
.overview .lst_tel-rsv .tel_item .tel {
  color: var(--orange03);
  font-weight: bold;
  font-size: 2rem;
  font-family: "Cinzel", serif;
}
.overview .lst_tel-rsv .tel_item .tel::before {
  content: "\e80a";
  font-family: "fontello";
  margin-right: 0.4rem;
}
.overview .lst_tel-rsv .rsv_item.btn_rsv a::before {
  content: "\e80b";
  font-family: "fontello";
  margin-right: 0.4rem;
}
.overview .lst_tel-rsv .rsv_item.btn_rsv a::after {
  content: none;
}
.overview > .wrap .overviewL .dl_gaiyo {
  margin: 2.4rem 0 0;
  width: 100%;
}
.overview > .wrap .overviewL .dl_gaiyo div {
  margin: 0 0 0.8rem;
}
.overview > .wrap .overviewL .dl_gaiyo div dt {
  width: 100%;
  text-align: center;
  font-weight: normal;
  color: var(--white01);
}
.overview > .wrap .overviewL .dl_gaiyo div dt span {
  display: block;
  padding: 0.2rem 1rem;
  background: var(--brown03);
}
.overview > .wrap .overviewL .dl_gaiyo div dd {
  padding: 0.4rem;
  margin: 0;
}
.overview > .wrap .overviewL .dl_gaiyo div dd ul li {
  margin: 0.4rem 0 0;
}
.overview > .wrap .overviewL .dl_gaiyo div dd ul li span {
  font-weight: bold;
  color: var(--orange03);
  display: block;
  margin: 0rem 0.4rem 0rem 0;
  padding-left: 0.6rem;
  position: relative;
}
.overview > .wrap .overviewL .dl_gaiyo div dd ul li span::before {
  content: "";
  width: 2px;
  height: 100%;
  background: var(--orange03);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.overview > .wrap .overviewL .dl_gaiyo div dd ul li p {
  padding: 0 0 0 0.6rem;
  margin: 0;
}
.overview > .wrap .overviewR {
  margin: 0;
}
.overview > .wrap .overviewR .tbl_time {
  margin: 1.6rem 0;
}
.overview .gmap {
  height: 100%;
}
.overview .gmap iframe {
  height: 30rem;
}

@media screen and (min-width: 48em), print {
  .overview {
    padding: 4.5rem 0 0;
    font-size: 1.8rem;
    background: -webkit-gradient(linear, left bottom, left top, from(#e4f1fc), color-stop(68%, #ffffff), to(#ffffff));
    background: linear-gradient(to top, #e4f1fc, #ffffff 68%, #ffffff);
  }
  .overview::before {
    content: "";
    min-width: 2000px;
    height: 58rem;
    background: url(../img/overview_bg01.svg) no-repeat center top/cover;
    top: 7rem;
  }
  .overview .clinic_name {
    margin: 0 0 4.7rem;
  }
  .overview .clinic_name img {
    max-width: 100%;
  }
  .overview .lst_tel-rsv {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 4.2rem;
  }
  .overview .lst_tel-rsv .tel_item .tel {
    font-size: 3.1rem;
  }
  .overview .lst_tel-rsv .rsv_item.btn_rsv a {
    font-size: 2rem;
  }
  .overview .lst_tel-rsv .rsv_item.btn_rsv a::before {
    margin-right: 0.8rem;
  }
  .overview > .wrap {
    margin: 7rem auto 6.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .overview > .wrap .overviewL {
    width: 54rem;
  }
  .overview > .wrap .overviewL .dl_gaiyo {
    margin: 0;
  }
  .overview > .wrap .overviewL .dl_gaiyo div {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0 1.6rem;
  }
  .overview > .wrap .overviewL .dl_gaiyo div dt {
    width: 13.9rem;
    margin: 0 0 3.8rem;
  }
  .overview > .wrap .overviewL .dl_gaiyo div dt span {
    padding: 0.7rem 1rem;
  }
  .overview > .wrap .overviewL .dl_gaiyo div dd {
    padding: 1rem 0 0;
    margin: 0;
  }
  .overview > .wrap .overviewL .dl_gaiyo div.access_column {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .overview > .wrap .overviewL .dl_gaiyo div.access_column dt {
    margin: 0 0 2.1rem;
  }
  .overview > .wrap .overviewL .dl_gaiyo div.access_column dd {
    width: 100%;
  }
  .overview > .wrap .overviewL .dl_gaiyo div.access_column dd ul li {
    margin: 0 0 1rem;
    line-height: 1.2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .overview > .wrap .overviewL .dl_gaiyo div.access_column dd ul li:last-child {
    margin: 0;
  }
  .overview > .wrap .overviewL .dl_gaiyo div.access_column dd ul li span {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-width: 9rem;
    padding-left: 0.7rem;
  }
  .overview > .wrap .overviewL .dl_gaiyo div.access_column dd ul li p {
    padding: 0 0 0 0.6rem;
    margin: 0;
  }
  .overview > .wrap .overviewR {
    width: 53rem;
  }
  .overview > .wrap .overviewR .tbl_time {
    margin: 0;
  }
  .overview .gmap iframe {
    height: 56.2rem;
  }
}
/* フッター -------------------------------------- */
#pageup {
  display: none;
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 100;
  cursor: pointer;
}
#pageup a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 5rem;
  height: 5rem;
  font-size: 1rem;
  font-family: "Cinzel", serif;
  color: var(--white01);
  text-align: center;
  padding: 0.4rem;
  background-color: var(--red02);
  background-image: url(../img/pagetop.svg);
  background-repeat: no-repeat;
  background-size: 90%;
  background-position: center;
  border-radius: 50%;
  -webkit-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 0 rgba(0, 0, 0, 0.2);
}
#pageup a::before {
  line-height: 1;
  text-align: center;
  font-size: 1.6rem;
  font-family: "fontello";
  content: "\e811";
  color: var(--white01);
}
#pageup a span {
  display: none;
}

@media screen and (min-width: 48em), print {
  #pageup {
    bottom: 13rem;
    right: 2rem;
  }
  #pageup a {
    width: 9.45rem;
    height: 9.45rem;
    font-size: 2rem;
    background-size: 80%;
  }
  #pageup a::before {
    font-size: 2rem;
  }
}
.footer {
  text-align: center;
  background: var(--blue01);
  padding: 0;
}
.footer ul {
  display: none;
}
.footer .copy {
  display: block;
  background: var(--red01);
  color: var(--white01);
  padding: 2.2rem 1rem;
  font-size: 1.2rem;
}

@media screen and (min-width: 48em), print {
  .footer {
    padding: 5.7rem 0 0;
  }
  .footer ul {
    font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
    font-weight: 600;
    display: block;
    text-align: center;
    margin: 0 auto;
  }
  .footer ul ~ ul {
    margin: 1.6rem auto 0;
  }
  .footer ul li {
    display: inline-block;
    font-size: 1.4rem;
  }
  .footer ul li:not(:last-child)::after {
    content: "|";
    margin: 0 2.7rem;
  }
  .footer ul li.clinic::after {
    display: none;
  }
  .footer ul li.clinic ul.subnav li::after {
    content: "|";
    margin: 0 2.7rem;
  }
  .footer ul li a {
    opacity: 1;
    font-size: 1.8rem;
  }
  .footer ul li a span {
    display: none;
  }
  .footer ul li a:hover {
    text-decoration: underline;
  }
  .footer ul li.treatment {
    display: none;
  }
  .footer .copy {
    margin: 4.6rem 0 0;
    font-size: 1.4rem;
  }
}
/* ----------------------------------------------------------------------------------
トップ　_top.scss
---------------------------------------------------------------------------------- */
/* アニメーション設定 */
.index .feature ul li.fade {
  opacity: 0;
}
.index .feature ul li.fade.animation {
  -webkit-animation: feature-animation forwards 1.6s ease;
          animation: feature-animation forwards 1.6s ease;
}

@-webkit-keyframes feature-animation {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}

@keyframes feature-animation {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
.index .contact_us .fade {
  opacity: 0;
}
.index .contact_us .fade.animation {
  -webkit-animation: contact-animation forwards 1.8s ease;
          animation: contact-animation forwards 1.8s ease;
}

@-webkit-keyframes contact-animation {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}

@keyframes contact-animation {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
.index .clinic_menu .fade li {
  opacity: 0;
  visibility: hidden;
}
.index .clinic_menu .fade.animation li {
  -webkit-animation: menu-animation forwards 1.2s ease;
          animation: menu-animation forwards 1.2s ease;
}

@-webkit-keyframes menu-animation {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}

@keyframes menu-animation {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
/* キービジュアル -------------------------------------- */
.kv_item {
  position: relative;
  z-index: 2;
}
.kv_item > div {
  clip-path: ellipse(80% 50% at 50% 40%);
}
.kv_item #keyvsl {
  clip-path: ellipse(80% 50% at 50% 40%);
  margin: 0;
  max-width: 100%;
  height: 22rem;
  background: url(../img/index_keyvsl01.jpg) no-repeat center center/cover;
}

.kv_wrap {
  width: 100%;
  height: 80%;
  position: absolute;
  top: 20%;
  z-index: 3;
}
.kv_wrap > div {
  position: relative;
  height: 100%;
}
.kv_wrap > div .kv_txt {
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.4), 0 0 3px rgba(0, 0, 0, 0.4), 0 0 3px rgba(0, 0, 0, 0.4), 0 0 3px rgba(0, 0, 0, 0.4), 0 0 3px rgba(0, 0, 0, 0.4);
  width: 100%;
  position: absolute;
  z-index: 6;
  bottom: 9rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  font-size: 1.4rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 600;
  text-align: center;
  color: var(--white01);
  line-height: 1.4;
}
.kv_wrap > div .kaiin_nairan {
  padding: 0 1rem;
  width: 100%;
  position: absolute;
  bottom: 5rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  gap: 0 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.kv_wrap > div .kaiin_nairan li {
  width: 100%;
  text-align: center;
  color: var(--white01);
  font-size: 1.4rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 600;
  padding: 0.8rem 0;
}
.kv_wrap > div .kaiin_nairan li.kaiin {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(180, 20, 76, 0.97)), to(rgba(229, 96, 118, 0.97)));
  background: linear-gradient(to bottom, rgba(180, 20, 76, 0.97), rgba(229, 96, 118, 0.97));
}

@media screen and (min-width: 48em), print {
  .kv_item > div {
    clip-path: ellipse(60% 68% at 50% 27%);
  }
  .kv_item #keyvsl {
    clip-path: ellipse(60% 68% at 50% 27%);
    margin: 0;
    padding: 0;
    height: 78.2rem;
    background: url(../img/index_keyvsl01.jpg) no-repeat center center/auto auto;
  }
  .kv_wrap > div .kv_txt {
    font-size: 2.8rem;
    text-shadow: none;
  }
  .kv_wrap > div .kv_txt span {
    font-size: 3.4rem;
  }
  .kv_wrap > div .kaiin_nairan {
    width: 1100px;
    margin: 0 auto;
    padding: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .kv_wrap > div .kaiin_nairan li {
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .kv_wrap > div .kaiin_nairan li.kaiin {
    width: 19.1rem;
    height: 19.1rem;
    padding: 0;
    font-size: 2.2rem;
    font-size: 3rem;
    position: relative;
    top: -9rem;
    right: -6rem;
    z-index: -1;
  }
}
.overflow {
  margin-top: -8rem;
}
@media screen and (min-width: 48em), print {
  .overflow {
    margin-top: -29rem;
  }
}

/* お知らせ / 医院概要 -------------------------------------- */
.info_outline {
  padding: 8rem 0 2rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(20%, #ffffff), color-stop(20%, #fff9fa), color-stop(96%, #fff9fa), color-stop(96%, #ffffff));
  background: linear-gradient(to bottom, #ffffff, #ffffff 20%, #fff9fa 20%, #fff9fa 96%, #ffffff 96%);
}
.info_outline .wrap {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.info_outline .wrap .tit_02 span {
  margin-right: 1.2rem;
  display: inline-block;
}
.info_outline .wrap .info {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.info_outline .wrap .outline {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

@media screen and (min-width: 48em), print {
  .info_outline {
    padding: 27.6rem 0 9.6rem;
    background: none;
  }
  .info_outline .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .info_outline .wrap > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 53rem;
  }
  .info_outline .wrap > div > section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
  .info_outline .wrap > div > section > .bg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
  }
  .info_outline .wrap > div .tit_02 {
    text-align: left;
    margin: 0 0 2.2rem;
  }
  .info_outline .wrap > div .tit_02 span {
    margin-right: 1.2rem;
  }
  .info_outline .wrap > div.info {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .info_outline .wrap > div.outline {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
/* お知らせ -------------------------------------- */
.info {
  padding: 2rem 0 2rem;
}
.info .bg {
  background: var(--white01);
  margin: 0;
  line-height: 1.4;
  padding: 1.2rem 0.8rem 1rem 1rem;
}
.info .bg dl {
  overflow-y: scroll;
  max-height: 20rem;
  padding: 0 1rem 0 0;
}
.info .bg dl::-webkit-scrollbar {
  background: var(--gray03);
  width: 5px;
  height: 5px;
}
.info .bg dl::-webkit-scrollbar-thumb {
  background-color: var(--red01);
  border-radius: 20px;
}
.info .bg dl dt {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  margin-top: 0.4rem;
  margin-bottom: 0.4rem;
  padding-left: 2rem;
  color: var(--red02);
  font-size: 110%;
  font-weight: 600;
  cursor: pointer;
  display: table;
  position: relative;
}
.info .bg dl dt:first-of-type {
  margin-top: 0;
}
.info .bg dl dt::before {
  content: "\e80c";
  font-family: "fontello";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 1.6rem;
  height: 1.6rem;
  font-size: 1.2rem;
  font-weight: normal;
  color: var(--orange03);
  position: absolute;
  left: 0;
  top: 0.2rem;
}
.info .bg dl dt.close::before {
  content: "\e80d";
}
.info .bg dl dt span {
  font-size: 1.2rem;
  color: var(--brown05);
  display: inline-block;
  margin-left: 0.4rem;
}
.info .bg dl dt:hover {
  opacity: 0.8;
}
.info .bg dl dd {
  padding: 0;
  margin: 0 0 1rem;
  display: none;
}
.info .bg dl dd p {
  margin: 0;
}

@media screen and (min-width: 48em), print {
  .info {
    padding: 2rem 0 2rem;
  }
  .info .bg {
    padding: 3rem;
  }
  .info .bg dl {
    height: 100%;
    max-height: 33rem;
  }
  .info .bg dl dt {
    margin-top: 2.7rem;
    font-size: 1.8rem;
  }
  .info .bg dl dt:first-child {
    margin-top: 0;
  }
  .info .bg dl dt::before {
    font-size: 1.6rem;
    top: 0.4rem;
    left: 1px;
  }
  .info .bg dl dt span {
    font-size: 1.4rem;
  }
  .info .bg dl dd {
    font-size: 1.6rem;
    padding-left: 2.2rem;
  }
}
/* 医院概要 -------------------------------------- */
.outline {
  padding: 2rem 0 0;
}
.outline .bg {
  padding: 1rem 1rem 1rem;
  background: var(--white01);
}
.outline .bg .tbl_time {
  margin: 0 0 1.8rem;
}
.outline .bg .tbl_time tr th.time {
  font-size: 1.2rem;
}
.outline .bg ul li {
  margin: 0.4rem 0 0;
}
.outline .bg ul li > span {
  font-weight: bold;
  color: var(--orange03);
  display: block;
  margin: 0rem 0.4rem 0rem 0;
  padding-left: 0.6rem;
  position: relative;
}
.outline .bg ul li > span::before {
  content: "";
  width: 2px;
  height: 100%;
  background: var(--orange03);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.outline .bg ul li p {
  padding: 0 0 0 0.6rem;
  margin: 0;
}
.outline .bg ul li p .clr_01 {
  color: var(--orange03);
}
.outline .bg ul li p .clr_02 {
  color: var(--gray02);
}
.outline .bg .link_item {
  text-align: center;
  margin: 2rem 0 0;
}
.outline .bg .link_item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none !important;
  width: 80%;
  padding: 0.2rem 0.8rem;
  margin: 0 auto;
  color: var(--orange03);
  border: 1px solid var(--orange03);
}
.outline .bg .link_item a::after {
  content: "\e80f";
  font-family: "fontello";
  margin-left: 0.4rem;
}

@media screen and (min-width: 48em), print {
  .outline {
    padding: 2rem 0;
  }
  .outline .bg {
    padding: 3rem;
  }
  .outline .bg .tbl_time {
    margin: 0;
    font-size: 1.6rem;
  }
  .outline .bg .tbl_time caption {
    margin: 1.5rem 0 0;
  }
  .outline .bg .tbl_time caption ul li {
    margin: 0.6rem 0 0;
  }
  .outline .bg .tbl_time tr th[scope=col] {
    font-size: 1.6rem;
    padding: 0.8rem 0;
  }
  .outline .bg ul li {
    margin: 2rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .outline .bg ul li > span {
    margin: 0 0.4rem 0rem 0;
    padding: 0 0 0 0.9rem;
    min-width: 9rem;
  }
  .outline .bg ul li > span::before {
    content: "";
    width: 2px;
  }
  .outline .bg ul li p {
    padding: 0 0 0 0.6rem;
    margin: 0;
  }
  .outline .bg .link_item {
    text-align: right;
    margin: 1.5rem 0 0;
  }
  .outline .bg .link_item a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: auto;
    padding: 0.2rem 1rem;
  }
  .outline .bg .link_item a::after {
    font-size: 60%;
    margin-left: 0.8rem;
  }
}
/* 当クリニックの特徴 -------------------------------------- */
.feature {
  padding: 2rem 0 2rem;
}
.feature .wrap ul li {
  margin: 6rem 0 0;
  position: relative;
  z-index: 1;
}
.feature .wrap ul li::before {
  content: "";
  display: block;
  width: 100vw;
  height: 20rem;
  background: url(../img/index_feature_bg01.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.feature .wrap ul li figure {
  margin: 0;
  padding: 0;
}
.feature .wrap ul li figure .img {
  width: 60%;
  margin: 0 auto;
  position: relative;
}
.feature .wrap ul li figure .img::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  right: -6rem;
  top: -3rem;
  background: url(../img/index_feature_parts01.svg) no-repeat center/contain;
}
.feature .wrap ul li figure .img img {
  margin: 0 auto 2rem;
  display: block;
  border-radius: 50%;
}
.feature .wrap ul li figcaption {
  margin: -4rem auto 0;
}
.feature .wrap ul li figcaption div {
  padding: 0.8rem 1.8rem 0.8rem 0.8rem;
  background: rgba(255, 255, 255, 0.8);
  position: relative;
  z-index: 1;
}
.feature .wrap ul li figcaption div::before, .feature .wrap ul li figcaption div::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  border-right: 1px solid var(--pink04);
  border-top: 1px solid var(--pink04);
}
.feature .wrap ul li figcaption div::before {
  right: 4px;
  top: 4px;
  width: 98%;
  height: 98%;
}
.feature .wrap ul li figcaption div::after {
  right: 10px;
  top: 10px;
  width: 93%;
  height: 92%;
}
.feature .wrap ul li figcaption div p.tit {
  color: var(--brown05);
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 600;
}
.feature .wrap ul li figcaption div p.tit span {
  font-size: 130%;
}
.feature .wrap ul li:nth-child(odd) figure .img::before {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  right: auto;
  left: -6rem;
}
.feature .wrap ul li:nth-child(odd) figure figcaption div {
  padding: 0.8rem 0.8rem 0.8rem 1.8rem;
}
.feature .wrap ul li:nth-child(odd) figure figcaption div::before, .feature .wrap ul li:nth-child(odd) figure figcaption div::after {
  border-right: none;
  border-left: 1px solid var(--pink04);
  border-top: 1px solid var(--pink04);
}
.feature .wrap ul li:nth-child(odd) figure figcaption div::before {
  right: auto;
  left: 7px;
  top: 3px;
  width: 98%;
  height: 98%;
}
.feature .wrap ul li:nth-child(odd) figure figcaption div::after {
  right: auto;
  left: 12px;
  top: 8px;
  width: 93%;
  height: 92%;
}

@media screen and (min-width: 48em), print {
  .feature {
    padding: 0;
  }
  .feature .wrap ul {
    margin: 8rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: relative;
  }
  .feature .wrap ul::before {
    content: "";
    display: block;
    min-width: 2000px;
    width: 100%;
    min-height: 58rem;
    background: url(../img/index_feature_bg01.svg) no-repeat center/cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  .feature .wrap ul li {
    width: 50%;
    margin-bottom: 16rem;
  }
  .feature .wrap ul li::before {
    content: none;
  }
  .feature .wrap ul li figure {
    position: relative;
  }
  .feature .wrap ul li figure .img {
    width: 30.6rem;
    height: 30.6rem;
    margin: 0 0 0 auto;
  }
  .feature .wrap ul li figure .img::before {
    right: -13rem;
    top: -8rem;
    width: 33.8rem;
    height: 38.1rem;
  }
  .feature .wrap ul li figure .img img {
    margin: 0;
  }
  .feature .wrap ul li figcaption {
    width: 41.5rem;
    margin: 0;
    position: absolute;
    top: 18rem;
    left: -12rem;
  }
  .feature .wrap ul li figcaption div {
    padding: 3rem 2.7rem 3rem;
  }
  .feature .wrap ul li figcaption div::before, .feature .wrap ul li figcaption div::after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    border-right: 1px solid var(--pink04);
    border-top: 1px solid var(--pink04);
  }
  .feature .wrap ul li figcaption div::before {
    right: 7px;
    top: 7px;
    width: 92%;
    height: 94%;
  }
  .feature .wrap ul li figcaption div::after {
    right: 12px;
    top: 12px;
    width: 87%;
    height: 87%;
  }
  .feature .wrap ul li figcaption div p {
    font-size: 1.6rem;
    margin: 0;
  }
  .feature .wrap ul li figcaption div p.tit {
    font-size: 2rem;
    line-height: 1.2;
    margin: 0 0 0.6rem;
  }
  .feature .wrap ul li figcaption div p.tit span {
    font-size: 2.6rem;
  }
  .feature .wrap ul li:nth-child(odd) figure .img {
    margin: 0 auto 0 0;
  }
  .feature .wrap ul li:nth-child(odd) figure .img::before {
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
    right: auto;
    left: -13rem;
  }
  .feature .wrap ul li:nth-child(odd) figure figcaption {
    top: -9rem;
    right: -13rem;
    left: auto;
  }
  .feature .wrap ul li:nth-child(odd) figure figcaption div {
    padding: 3rem 2.7rem 3rem;
  }
  .feature .wrap ul li:nth-child(odd) figure figcaption div::before, .feature .wrap ul li:nth-child(odd) figure figcaption div::after {
    border-right: none;
    border-left: 1px solid var(--pink04);
    border-top: none;
    border-bottom: 1px solid var(--pink04);
  }
  .feature .wrap ul li:nth-child(odd) figure figcaption div::before {
    right: auto;
    left: 7px;
    top: 7px;
    width: 92%;
    height: 94%;
  }
  .feature .wrap ul li:nth-child(odd) figure figcaption div::after {
    right: auto;
    left: 12px;
    bottom: 11px;
    top: auto;
    width: 87%;
    height: 87%;
  }
}
/* このような症状に心当たりがある方はご相談ください -------------------------------------- */
.contact_us {
  padding: 2rem 0 0;
  position: relative;
  z-index: 2;
}
.contact_us .wrap {
  padding: 0 2rem;
}
.contact_us .wrap .tit_02b {
  padding: 1rem 0.4rem 1rem 0.4rem;
  text-align: center;
  font-size: 1.6rem;
  background-color: var(--brown03);
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  color: var(--white01);
}
.contact_us .wrap .tit_02b span {
  display: block;
  text-align: center;
  color: var(--orange03);
  font-size: 1.4rem;
}
.contact_us .wrap ul {
  padding: 0.8rem;
  background: url(../img/index_contactUs_bg02.jpg) no-repeat right bottom/200% auto, var(--white01);
}
.contact_us .wrap ul li {
  position: relative;
  padding-left: 1.4rem;
}
.contact_us .wrap ul li::before {
  content: "";
  font-family: "fontello";
  width: 1.2rem;
  height: 1.2rem;
  background: url(../img/index_contactUs_parts01.svg) no-repeat center/contain;
  position: absolute;
  left: 0;
  top: 0.4rem;
}

@media screen and (min-width: 48em), print {
  .contact_us {
    padding: 0;
    margin: -4.6rem auto 0;
  }
  .contact_us .wrap {
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .contact_us .wrap .tit_02b {
    font-size: 2.8rem;
    padding: 0 0 0 4.2rem;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 42rem;
    background-image: url(../img/index_contactUs_bg01.svg);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: var(--white01);
  }
  .contact_us .wrap .tit_02b span {
    display: block;
    text-align: left;
    font-size: 3rem;
  }
  .contact_us .wrap ul {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 3.1rem 3rem 1.1rem 0;
    background: url(../img/index_contactUs_bg02.jpg) no-repeat right bottom/cover, var(--white01);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .contact_us .wrap ul li {
    width: 49%;
    margin-bottom: 0.6rem;
    padding-left: 2.6rem;
    line-height: 1.4;
    font-size: 1.6rem;
  }
  .contact_us .wrap ul li::before {
    width: 2.3rem;
    height: 2.3rem;
    top: -0.2rem;
  }
}
/* 診療案内 -------------------------------------- */
.clinic_menu {
  padding: 2rem 0 2rem;
}
.clinic_menu .wrap {
  position: relative;
  z-index: 1;
}
.clinic_menu .wrap::before {
  content: "";
  display: block;
  background: url(../img/index_clinicMenu_bg01.svg) no-repeat center/cover;
  width: 150%;
  height: 150%;
  position: absolute;
  z-index: -1;
  top: -32rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.clinic_menu .wrap ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.clinic_menu .wrap ul li {
  width: 48%;
  margin-bottom: 2rem;
}
.clinic_menu .wrap ul li a {
  display: block;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  color: var(--black02);
  text-align: center;
  text-decoration: none !important;
  white-space: nowrap;
}
.clinic_menu .wrap ul li a::before {
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 13rem;
  height: 13rem;
  border-radius: 50%;
  margin: 0 auto 0.8rem;
  background-image: url(../img/index_clinicMenu_armd.svg), radial-gradient(circle, #fff 60%, #ffeff1 60%, #ffeff1 100%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-box-shadow: 0 0 0 3px var(--white01);
          box-shadow: 0 0 0 3px var(--white01);
}
.clinic_menu .wrap ul li a::after {
  content: "\e80f";
  font-size: 60%;
  font-family: "fontello";
  margin-left: 0.2rem;
  position: relative;
  top: -0.2rem;
}
.clinic_menu .wrap ul li a.general::before {
  background-image: url(../img/index_clinicMenu_general.svg), radial-gradient(circle, #fff 60%, #ffeff1 60%, #ffeff1 100%);
}
.clinic_menu .wrap ul li a.cataract::before {
  background-image: url(../img/index_clinicMenu_cataract.svg), radial-gradient(circle, #fff 60%, #ffeff1 60%, #ffeff1 100%);
}
.clinic_menu .wrap ul li a.glaucoma::before {
  background-image: url(../img/index_clinicMenu_glaucoma.svg), radial-gradient(circle, #fff 60%, #ffeff1 60%, #ffeff1 100%);
}
.clinic_menu .wrap ul li a.diabetic::before {
  background-image: url(../img/index_clinicMenu_diabetic.svg), radial-gradient(circle, #fff 60%, #ffeff1 60%, #ffeff1 100%);
}
.clinic_menu .wrap ul li a.armd::before {
  background-image: url(../img/index_clinicMenu_armd.svg), radial-gradient(circle, #fff 60%, #ffeff1 60%, #ffeff1 100%);
}
.clinic_menu .wrap ul li a.ptosis::before {
  background-image: url(../img/index_clinicMenu_ptosis.svg), radial-gradient(circle, #fff 60%, #ffeff1 60%, #ffeff1 100%);
}
.clinic_menu .wrap ul li a.pediatric::before {
  background-image: url(../img/index_clinicMenu_pediatric.svg), radial-gradient(circle, #fff 60%, #ffeff1 60%, #ffeff1 100%);
}
.clinic_menu .wrap ul li a.contact_lens::before {
  background-image: url(../img/index_clinicMenu_contact_lens.svg), radial-gradient(circle, #fff 60%, #ffeff1 60%, #ffeff1 100%);
}
.clinic_menu .wrap ul li.rejuicea {
  display: none;
}

@media screen and (min-width: 48em), print {
  .clinic_menu {
    padding: 9.75rem 0 9.2rem;
  }
  .clinic_menu .wrap::before {
    background: url(../img/index_clinicMenu_bg01.svg) no-repeat center/cover;
    min-width: 2219px;
    height: 1767px;
    z-index: -1;
    top: -60rem;
  }
  .clinic_menu .wrap ul {
    width: 95.2rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4.25rem 8rem;
  }
  .clinic_menu .wrap ul li {
    width: 17.8rem;
    margin-bottom: 0;
  }
  .clinic_menu .wrap ul li a {
    font-size: 1.8rem;
  }
  .clinic_menu .wrap ul li a::before {
    width: 17.8rem;
    height: 17.8rem;
    margin: 0 auto 0.85rem;
    -webkit-box-shadow: 0 0 0 2px var(--white01);
            box-shadow: 0 0 0 2px var(--white01);
    background-image: radial-gradient(circle, #fff 63%, #ffeff1 54%, #ffeff1 100%);
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }
  .clinic_menu .wrap ul li a::after {
    margin-left: 0.4rem;
  }
  .clinic_menu .wrap ul li a:hover::before {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}
/* ----------------------------------------------------------------------------------
下層　_lower.scss
---------------------------------------------------------------------------------- */
body:not(.index) .kv_item {
  height: 15rem;
}
body:not(.index) .kv_item .kv_low {
  clip-path: ellipse(80% 50% at 50% 40%);
  margin: 0;
  width: 100%;
  max-width: 100%;
  height: 15rem;
  background: url(../img/low_keyvsl_parts01.jpg) no-repeat center center/cover;
  position: absolute;
  top: 0;
  z-index: -1;
}
body:not(.index) .tit_01 {
  width: 100%;
  min-height: 7rem;
  position: absolute;
  top: 6rem;
  z-index: 3;
}
@media screen and (min-width: 48em), print {
  body:not(.index) .kv_item {
    height: 43rem;
  }
  body:not(.index) .kv_item .kv_low {
    clip-path: ellipse(60% 68% at 50% 27%);
    margin: 0;
    padding: 0;
    height: 100%;
    background: url(../img/low_keyvsl_parts01.jpg) no-repeat center center/auto auto;
  }
  body:not(.index) .tit_01 {
    top: 23rem;
    height: auto;
  }
}
body:not(.index) .breadcrumb_list {
  display: none;
}
@media screen and (min-width: 48em), print {
  body:not(.index) .breadcrumb_list {
    width: 1100px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    z-index: 2;
  }
  body:not(.index) .breadcrumb_list li {
    font-size: 1.8rem;
    font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
    display: inline-block;
  }
  body:not(.index) .breadcrumb_list li:not(:last-child)::after {
    content: "\f006";
    font-family: "fontello";
    display: inline-block;
    margin: 0 1rem;
  }
  body:not(.index) .breadcrumb_list li a {
    color: var(--red02);
  }
  body:not(.index) .breadcrumb_list li a:hover {
    opacity: 1;
    text-decoration: underline;
  }
}
body:not(.index) > .overflow {
  margin: -8rem auto 0;
}
@media screen and (min-width: 48em), print {
  body:not(.index) > .overflow {
    margin: -15rem auto 0;
  }
}
body:not(.index) > .overflow > .wrap {
  padding: 6rem 0 4rem;
}
body:not(.index) .main {
  margin: 0 0;
  padding: 5rem 0 3rem;
}
body:not(.index) .main::before {
  top: -6rem;
}
body:not(.index) .main::after {
  content: "";
  display: block;
  background: url(../img/index_clinicMenu_bg01.svg) no-repeat top center/cover;
  width: 100vw;
  height: 33rem;
  position: absolute;
  z-index: -2;
  bottom: -12rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media screen and (min-width: 48em), print {
  body:not(.index) .main {
    margin: 0 0 6rem;
    padding: 15rem 0 15rem;
    line-height: 1.6;
    letter-spacing: 0.1rem;
  }
  body:not(.index) .main::before {
    top: -15rem;
  }
  body:not(.index) .main::after {
    height: 110rem;
    background: url(../img/index_clinicMenu_bg01.svg) no-repeat top center/auto auto;
    min-width: 2000px;
    bottom: -10rem;
  }
}
body:not(.index) .bg {
  padding: 1rem 1rem 1rem;
  background: var(--white01);
}
@media screen and (min-width: 48em), print {
  body:not(.index) .bg {
    padding: 3.6rem;
  }
}

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

/* クリニック紹介 */
#slider {
  margin: 0 auto 0.2rem;
  width: 100%;
}
@media screen and (min-width: 48em), print {
  #slider {
    width: 75rem;
  }
}
#slider figure {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
}
#slider figure figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  padding: 0.4rem 0.2rem;
  margin: 0 auto;
  text-align: center;
  font-size: 1.4rem;
  color: var(--white01);
  background: rgba(34, 34, 34, 0.8);
}
@media screen and (min-width: 48em), print {
  #slider figure figcaption {
    padding: 0.8rem 1rem;
    font-size: 1.8rem;
  }
}

#thumbnail_slider {
  margin: 0 auto 2rem;
  width: 100%;
}
@media screen and (min-width: 48em), print {
  #thumbnail_slider {
    width: 75rem;
  }
}
#thumbnail_slider .slick-list .thumbnail-item img {
  cursor: -webkit-grab;
  cursor: grab;
}
#thumbnail_slider .slick-list .thumbnail-item img:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
#thumbnail_slider .slick-list .slick-current {
  position: relative;
}
#thumbnail_slider .slick-list .slick-current::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 4px solid var(--gray01);
}
#thumbnail_slider .slick-list .slick-current img {
  width: 100%;
  display: block;
}
#thumbnail_slider .slick-prev::before,
#thumbnail_slider .slick-next::before {
  color: var(--gray01);
}

#slider02 {
  margin: 0 auto 0.2rem;
  width: 100%;
}
@media screen and (min-width: 48em), print {
  #slider02 {
    width: 75rem;
  }
}
#slider02 figure {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
}
#slider02 figure figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  padding: 0.4rem 0.2rem;
  margin: 0 auto;
  text-align: center;
  font-size: 1.4rem;
  color: var(--white01);
  background: rgba(34, 34, 34, 0.8);
}
@media screen and (min-width: 48em), print {
  #slider02 figure figcaption {
    padding: 0.8rem 1rem;
    font-size: 1.8rem;
  }
}

#thumbnail_slider02 {
  margin: 0 auto 2rem;
  width: 100%;
}
@media screen and (min-width: 48em), print {
  #thumbnail_slider02 {
    width: 75rem;
  }
}
#thumbnail_slider02 .slick-list .thumbnail-item img {
  cursor: -webkit-grab;
  cursor: grab;
}
#thumbnail_slider02 .slick-list .thumbnail-item img:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
#thumbnail_slider02 .slick-list .slick-current {
  position: relative;
}
#thumbnail_slider02 .slick-list .slick-current::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 4px solid var(--gray01);
}
#thumbnail_slider02 .slick-list .slick-current img {
  width: 100%;
  display: block;
}
#thumbnail_slider02 .slick-prev::before,
#thumbnail_slider02 .slick-next::before {
  color: var(--gray01);
}

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

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

#clinicslide {
  margin-bottom: 8rem;
}
#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 var(--black01);
}

.device li {
  margin: 0 0 2rem;
  text-align: center;
}
.device li img {
  display: block;
  margin: 0 auto 0.6rem;
  max-width: 80%;
  height: auto;
}

@media screen and (min-width: 48em), print {
  .device {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .device li {
    width: 48%;
  }
  .device li img {
    margin: 0 auto 1rem;
    max-width: 100%;
  }
}
/* 初めての方へ */
/* 診療時間・アクセス */
.access .gmap {
  height: 30rem;
  margin: 2rem 0;
}

@media screen and (min-width: 48em), print {
  .access .gmap {
    height: 50rem;
  }
}