@charset "UTF-8";
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

*:focus:not(:focus-visible),
*::before:focus:not(:focus-visible),
*::after:focus:not(:focus-visible) {
  outline: none;
}

/* https://medium.com/@matuzo/writing-css-with-accessibility-in-mind-8514a0007939 */
.visually-hidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px;
}

/* https://www.scottohara.me/blog/2019/01/12/lists-and-safari.html */
.plain-list {
  list-style: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'/%3E");
  padding-left: 0;
}

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
html {
  -webkit-text-size-adjust: 100%;
}

button {
  cursor: pointer;
  appearance: none;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: none;
}

h5, h6 {
  margin: 0;
}

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

p {
  margin: 1em 0;
}

img {
  height: auto;
  border: none;
  object-fit: contain;
}

iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/*
a[href*="spine"],
a[href*="joint"],
a[href*="injury"],
a[href*="rehabilitation"],
a[href*="pain"],
a[href*="osteoporosis"],
a[href*="traffic_accident"],
a[href*="internal"],
a[href*="position"],
*/
a[href*=dummy] {
  pointer-events: none;
}

@font-face {
  font-family: "fontello";
  src: url("fontello/font/fontello.woff2") format("woff2");
  font-display: fallback;
}
.cf::before,
.cf::after {
  content: "";
  display: block;
}

.cf::after {
  clear: both;
}

.fl_l {
  float: left;
}

.fl_r {
  float: right;
}

.txt_c {
  text-align: center !important;
}

.txt_l {
  text-align: left !important;
}

.txt_r {
  text-align: right !important;
}

.bold {
  font-weight: bold;
}

.txt_large {
  font-size: 120%;
}

.txt_small {
  font-size: 80%;
}

.txt_blue {
  color: var(--clr_main);
}

.link_txt {
  color: var(--clr_main);
  border-bottom: 0.1rem var(--clr_main) solid;
}
.link_txt:hover {
  border-bottom: none;
}

.img_c {
  margin: 1rem auto;
  width: auto;
}

.img_l, .img_r {
  max-width: 80%;
  margin: 1rem auto;
  border-radius: 5px;
}

.tate {
  max-width: 80%;
}

@media screen and (min-width: 48em), print {
  .img_l {
    float: left;
    margin: 0 2rem 2rem 0;
    border-radius: 10px;
  }
  .img_r {
    float: right;
    margin: 0 0 2rem 2rem;
    border-radius: 10px;
  }
  .tate {
    max-width: 25% !important;
  }
}
.sp_n {
  display: none;
}

@media screen and (min-width: 48em), print {
  .sp_n {
    display: block;
  }
  .pc_n {
    display: none;
  }
}
.mt40 {
  margin-top: 4rem !important;
}

.mt30 {
  margin-top: 3rem !important;
}

.mt20 {
  margin-top: 2rem !important;
}

.mt10 {
  margin-top: 1rem !important;
}

.mg0 {
  margin: 0 !important;
}

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

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

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

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

@media screen and (min-width: 48em), print {
  .mt40 {
    margin-top: 8rem !important;
  }
  .mt30 {
    margin-top: 6rem !important;
  }
  .mt20 {
    margin-top: 4rem !important;
  }
  .mt10 {
    margin-top: 2rem !important;
  }
  .main > section ~ section, .flex2 > section ~ section {
    margin-top: 8rem;
  }
  .main > section section ~ section, .flex2 > section section ~ section {
    margin-top: 6rem;
  }
  .main > section > section section ~ section, .flex2 > section > section section ~ section {
    margin-top: 4rem;
  }
  .main > section > section > section section ~ section, .flex2 > section > section > section section ~ section {
    margin-top: 2rem;
  }
}
.tbl_time {
  width: 100%;
  border-spacing: 0;
  font-size: 1.2rem;
}
.tbl_time caption {
  caption-side: bottom;
  text-align: left;
  margin-top: 0.4rem;
  font-size: 1.2rem;
}
.tbl_time caption span {
  color: var(--clr_main);
}
.tbl_time tr th {
  font-weight: normal;
}
.tbl_time tr th[scope=col] {
  padding: 0.8rem 0;
  text-align: center;
  background: var(--clr_main);
  color: #fff;
}
.tbl_time tr th[scope=col]:first-child {
  width: 38%;
  text-align: right;
  white-space: nowrap;
  padding: 0.8rem 1.2rem 0.8rem 0;
}
.tbl_time tr th[scope=col]:first-child span {
  color: var(--clr_main);
  background: #fff;
  border-radius: 0.4rem;
  padding: 0.03rem 0.52rem;
  margin: 0 0.3rem 0 0;
  font-size: 1.2rem;
}
.tbl_time tr th.time {
  text-align: center;
  border-bottom: 0.1rem var(--clr_main) solid;
  background: #fff;
  font-size: 1.4rem;
}
.tbl_time tr td {
  text-align: center;
  padding: 1.2rem 0.4rem;
  line-height: 1;
  color: var(--clr_main);
  border-bottom: 0.1rem var(--clr_main) solid;
  background: #fff;
}
.tbl_time.beauty caption span {
  color: var(--clr_sub04);
}
.tbl_time.beauty tr th[scope=col] {
  background: var(--clr_sub04);
}
.tbl_time.beauty tr th[scope=col] span {
  color: var(--clr_sub04);
}
.tbl_time.beauty tr th.time {
  border-bottom: 0.1rem var(--clr_sub04) solid;
}
.tbl_time.beauty tr td {
  color: var(--clr_sub04);
  border-bottom: 0.1rem var(--clr_sub04) solid;
}

@media screen and (min-width: 48em), print {
  .tbl_time {
    table-layout: fixed;
    font-size: 1.6rem;
  }
  .tbl_time caption {
    text-align: left;
    margin: 0.8rem 0 0 0;
    font-size: 1.6rem;
  }
  .tbl_time tr th[scope=col] {
    padding: 0.77rem 0;
  }
  .tbl_time tr th[scope=col]:first-child {
    width: 41%;
    padding: 0 0 0 0.9rem;
    text-align: center;
  }
  .tbl_time tr th[scope=col]:first-child span {
    padding: 0.03rem 0.52rem;
    margin: 0 0.5rem 0 0;
    font-size: 1.8rem;
  }
  .tbl_time tr th.time {
    font-size: 1.8rem;
  }
  .tbl_time tr td {
    padding: 1.36rem 0;
  }
}
.tit_01 {
  background: url("../img/tit_01.webp") no-repeat center center/cover;
  font-size: 2.4rem;
  padding: 3rem 1rem;
  text-align: center;
  margin: 0 0 1rem;
  letter-spacing: 0.15rem;
  line-height: 1;
  color: var(--clr_sub29);
  font-weight: 500;
}

.tit_02 {
  font-size: 2.2rem;
  text-align: left;
  line-height: 1;
  margin: 0 auto 1.5rem;
  padding: 0.4rem 0 0 1.5rem;
  color: var(--clr_sub07);
  font-weight: 500;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 9;
  letter-spacing: 0.05em;
}
.tit_02::before {
  font-family: "fontello";
  content: "\e817";
  color: var(--clr_sub02);
  font-size: 3rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.tit_03 {
  font-size: 2rem;
  line-height: 1;
  margin: 0 0 1.6rem;
  color: #fff;
  font-weight: 500;
  background: linear-gradient(to right, #79bce1 0%, #bff5bf 100%);
  padding: 0.7rem 0.6rem;
  border-radius: 0.6rem;
}

.tit_04 {
  font-size: 1.8rem;
  line-height: 1;
  margin: 0 0 1.6rem;
  font-weight: 500;
  background: linear-gradient(to right, #d3eefc 0%, #e8f5fc 100%);
  padding: 0.7rem 0.6rem;
  border-radius: 0.6rem;
}

.tit_05 {
  font-size: 1.8rem;
  line-height: 1;
  margin: 0 0 1.4rem;
  font-weight: 500;
  background: var(--clr_sub24);
  padding: 0.7rem 0.6rem;
  border-radius: 0.6rem;
}

.tit_06 {
  font-size: 1.6rem;
  line-height: 1;
  margin: 0 0 1rem;
  font-weight: 500;
  padding: 0 0 0.6rem 1rem;
  border-bottom: 0.2rem #A7A7A7 dotted;
}

@media screen and (min-width: 48em), print {
  .tit_01 {
    font-size: 3.4rem;
    padding: 0;
    height: 16rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    align-content: center;
    margin: 0 0 2.3rem;
  }
  .tit_02 {
    font-size: 3.2rem;
    margin: 0 auto 2.2rem;
    height: 10.5rem;
    padding: 0 0 0 7rem;
  }
  .tit_02::before {
    font-size: 10.5rem;
  }
  .tit_03 {
    font-size: 2.2rem;
    margin: 0 0 2rem;
    padding: 1rem 1.7rem;
  }
  .tit_04 {
    font-size: 2rem;
    margin: 0 0 1.8rem;
    padding: 1.1rem 1.7rem;
  }
  .tit_05 {
    font-size: 1.8rem;
    margin: 0 0 1.6rem;
    padding: 1rem 1.7rem;
  }
  .tit_06 {
    font-size: 1.8rem;
    margin: 0 0 1.4rem;
    padding: 0 0 0.7rem 1.6rem;
  }
}
.lst {
  line-height: 1.4;
  margin: 1rem 0;
}
.lst > li {
  position: relative;
}
.lst > li:not(:last-child) {
  margin: 0 0 1rem;
}

.lst_ul {
  line-height: 1.4;
  margin: 1rem 0;
}
.lst_ul > li {
  padding: 0 0 0 1.4em;
  position: relative;
}
.lst_ul > li:not(:last-child) {
  margin: 0 0 1rem;
}
.lst_ul > li::before {
  content: "■";
  color: var(--clr_sub14);
  position: absolute;
  top: 0.1rem;
  left: 0;
  font-size: 1rem;
}
.lst_ul.kome > li::before {
  content: "※";
  color: var(--clr_txt);
}

.lst_ul_disc {
  margin: 0 0 0 2rem;
}
.lst_ul_disc > li {
  list-style: disc;
}
.lst_ul_disc > li:not(:last-child) {
  margin: 0 0 1rem;
}
.lst_ul_disc > li::marker {
  color: var(--clr_sub02);
}

.lst_ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
}
.lst_ol li {
  margin-bottom: 10px;
  padding-left: 30px;
  position: relative;
}
.lst_ol li::before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #3B6D34;
  color: #fff;
  display: block;
  float: left;
  line-height: 24px;
  margin-left: -30px;
  margin-top: 3px;
  text-align: center;
  height: 22px;
  width: 22px;
  border-radius: 50%;
}

.lst_dl01 dt {
  font-weight: bold;
}
.lst_dl01 dd {
  margin: 0 0 1rem;
}

.lst_dl02 {
  margin-top: 2rem;
}
.lst_dl02 dt {
  background: #3B6D34;
  padding: 0.4rem 1rem;
  border-top: 1px solid #B8AB9B;
  border-right: 1px solid #B8AB9B;
  border-left: 1px solid #B8AB9B;
  color: #fff;
}
.lst_dl02 dd {
  margin: 0 0 1.5rem;
  padding: 0.6rem 1rem;
  border-right: 1px solid #B8AB9B;
  border-left: 1px solid #B8AB9B;
  border-bottom: 1px solid #B8AB9B;
}

.lst_dl03 {
  margin-top: 2rem;
}
.lst_dl03 dt {
  padding: 0.4rem 1rem;
  border-right: 1px solid #1DA7F1;
  border-left: 1px solid #1DA7F1;
  background: #DBF3FF;
}
.lst_dl03 dt:first-of-type {
  border-top: 1px solid #1DA7F1;
}
.lst_dl03 dd {
  border-top: 1px solid #1DA7F1;
}
.lst_dl03 dd ul li {
  padding: 0.6rem 1rem;
  border-bottom: 1px dashed #1DA7F1;
  border-right: 1px solid #1DA7F1;
  border-left: 1px solid #1DA7F1;
  line-height: 1.3;
}
.lst_dl03 dd ul li:last-of-type {
  border-bottom: 1px solid #1DA7F1;
}

@media screen and (min-width: 48em), print {
  .lst_ul > li::before {
    top: 0.5rem;
  }
  .lst_dl01 {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .lst_dl01 dt {
    width: 14%;
  }
  .lst_dl01 dd {
    width: 86%;
    padding: 0 0 0 1rem;
  }
  .lst_dl02 {
    border-bottom: 1px solid #B8AB9B;
    margin-top: 3rem;
  }
  .lst_dl02 dt {
    width: 100%;
    padding: 1.5rem 2.5rem;
  }
  .lst_dl02 dd {
    width: 100%;
    margin: 0;
    padding: 1.5rem 2.5rem;
    border-bottom: none;
  }
  .lst_dl03 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 3rem;
  }
  .lst_dl03 dt {
    width: 20%;
    padding: 1rem 2.5rem;
    border-right: none;
    border-bottom: 1px solid #1DA7F1;
  }
  .lst_dl03 dd {
    width: 80%;
  }
  .lst_dl03 dd:not(:first-of-type) {
    border-top: none;
  }
  .lst_dl03 dd ul li {
    padding: 1rem 2.5rem;
  }
  .lst_dl03 dd ul li:first-of-type {
    border-top: none;
  }
}
.flex2 > li:first-child {
  margin: 0 0 2rem;
}

.flex3 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex3 > li {
  width: 46%;
}

.flex1 {
  display: flex;
  flex-wrap: wrap;
}
.flex1 > li {
  width: fit-content;
  margin: 0 2.5rem 0.6em 0 !important;
}

@media screen and (min-width: 48em), print {
  .flex2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .flex2 > section, .flex2 > li, .flex2 > ul {
    width: 48%;
    margin-top: 0 !important;
  }
  .flex2 > section:first-child, .flex2 > li:first-child, .flex2 > ul:first-child {
    margin: 0;
  }
  .flex3 {
    justify-content: flex-start;
  }
  .flex3 li {
    width: calc((100% - 4rem) / 3);
  }
  .flex3 li:not(:nth-child(3n)) {
    margin: 0 2rem 0 0;
  }
  .flex3_1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .flex3_1 li {
    width: calc((100% - 2rem) / 3);
  }
  .flex3_1 li:not(:nth-child(3n)) {
    margin: 0 1rem 0 0;
  }
  .flex1 > li {
    width: auto;
    min-width: 0;
    margin-right: 2rem !important;
  }
}
.tel, .tel_beauty {
  color: var(--clr_sub13);
  font-family: "Cabin", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}
.tel::before, .tel_beauty::before {
  font-family: "fontello";
  content: "\e80a";
  padding-right: 0.3rem;
  display: inline-block;
  font-size: 86%;
}
@media screen and (min-width: 48em), print {
  .tel, .tel_beauty {
    pointer-events: none;
  }
  .tel::before, .tel_beauty::before {
    padding-right: 0.5rem;
  }
  .tel a, .tel_beauty a {
    pointer-events: auto;
  }
}

.tel_beauty {
  color: var(--clr_sub07);
}
.tel_beauty::before {
  color: var(--clr_sub05);
}

.rsv {
  display: inline-block;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: var(--clr_main);
  border-radius: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.8rem 0;
}
.rsv::before {
  font-family: "fontello";
  content: "\e80b";
  display: inline-block;
  margin: 0 0.8rem 0 0;
}
.rsv.btn {
  background: var(--clr_sub01);
  box-shadow: 0 0 0 2px var(--clr_sub01);
  border: 1px solid #FFDAC2;
}
.rsv.btn:hover {
  border: 1px solid #8BE0F1;
}
.rsv:hover {
  background: var(--clr_sub06);
}

.tel_rsv {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.tel_rsv li {
  height: 3.4rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tel_rsv li .tel, .tel_rsv li .tel_beauty {
  width: 100%;
  height: 100%;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
}
.tel_rsv li .rsv {
  width: 100%;
  height: 100%;
  font-size: 1.3rem;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 48em), print {
  .tel_rsv {
    width: 45%;
    margin: 0 auto;
  }
  .tel_rsv li {
    width: 47%;
    height: 4rem;
  }
  .tel_rsv li .tel, .tel_rsv li .tel_beauty {
    font-size: 2.2rem;
  }
  .tel_rsv li .tel::before, .tel_rsv li .tel_beauty::before {
    font-size: 75%;
    transform: translateY(0px);
  }
  .tel_rsv li .rsv {
    font-size: 1.8rem;
  }
}

.box {
  padding: 1rem;
  background: var(--clr_sub24);
}
@media screen and (min-width: 48em), print {
  .box {
    padding: 2rem;
  }
}
.box.blue {
  background: var(--clr_sub10);
}

.btn {
  margin: 0.1rem 0.5rem;
  padding: 0.6rem 1.4rem 0.6rem 3rem;
  text-decoration: none !important;
  letter-spacing: 0.1rem;
  cursor: pointer;
  position: relative;
  border: 1px solid #fff;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: var(--clr_main);
  width: fit-content;
  border-radius: 0.6rem;
}
.btn::before {
  font-family: "fontello";
  content: "\e818";
  display: inline-block;
  position: absolute;
  left: 1rem;
  top: 0.7rem;
  margin: auto;
  font-weight: normal;
}
.btn.blue {
  background: #208CD6;
  box-shadow: 0 0 0 2px #208CD6;
  border: 1px solid #85C0E9;
}
@media screen and (min-width: 48em), print {
  .btn {
    margin: 0;
    padding: 1rem 5rem;
    letter-spacing: 0.2rem;
  }
  .btn::before {
    top: 1rem;
  }
  .btn:hover {
    background: var(--clr_sub06);
  }
}

.lnk {
  display: inline-block;
  letter-spacing: 0.05rem;
  cursor: pointer;
  background: linear-gradient(transparent 70%, var(--clr_sub11) 70%);
}
@media screen and (min-width: 48em), print {
  .lnk {
    padding-right: 0.5rem;
  }
}
.lnk:hover {
  background: linear-gradient(transparent 70%, var(--clr_sub01) 70%);
  opacity: 1;
}
.lnk.maru::before {
  content: "●";
}
.lnk.scr::before {
  font-family: "fontello";
  content: "\e806";
  padding-right: 0.5rem;
  font-size: 1.1rem;
}
@media screen and (min-width: 48em), print {
  .lnk.scr::before {
    font-size: 1.5rem;
    margin-left: 1rem;
  }
}

.linkout {
  display: inline-block;
  color: var(--clr_txt);
  text-decoration: none !important;
  margin: 0 0.2em;
}
.linkout::after {
  font-family: "fontello";
  content: "\f08e";
  font-size: 0.8em;
  margin-left: 0.4rem;
}

.tbl {
  width: 100%;
  margin: 2rem 0;
  border-spacing: 0;
  font-size: 1.4rem;
  border-collapse: collapse;
}
.tbl caption {
  font-size: 85%;
  caption-side: bottom;
  text-align: left;
  margin-top: 0.4rem;
}
.tbl tr th {
  text-align: left;
  padding: 1rem;
  font-weight: bold;
  background: var(--clr_main);
}
.tbl tr td {
  text-align: left;
  padding: 1rem;
}

@media screen and (min-width: 48em), print {
  .tbl {
    table-layout: fixed;
    font-size: 1.6rem;
  }
  .tbl tr th {
    padding: 1rem 2.5rem;
  }
  .tbl tr td {
    padding: 1rem 2.5rem;
  }
}
.slick-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 1rem auto;
}
.slick-dots li {
  width: 0.8rem;
  height: 0.8rem;
  margin: 0 0.2rem;
}
.slick-dots li button {
  padding: 50%;
  display: block;
  font-size: 0;
  cursor: pointer;
  opacity: 0.25;
  border-radius: 50%;
  background: #000;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  opacity: 0.8;
}
.slick-dots li.slick-active button {
  opacity: 0.75;
}

@media screen and (min-width: 48em), print {
  .slick-dots {
    margin: 1.6rem auto;
  }
  .slick-dots li {
    width: 1.4rem;
    height: 1.4rem;
    margin: 0 0.6rem;
  }
}
html {
  font-size: 3.125vw;
}

:root {
  --clr_txt: #414141;
  --clr_main: #67ADD3;
  --clr_sub01: #FFC1DC;
  --clr_sub02: #FFE5F0;
  --clr_sub03: #F9D2E3;
  --clr_sub04: #EFAECA;
  --clr_sub05: #EE9ABE;
  --clr_sub06: #E582AD;
  --clr_sub07: #E5649B;
  --clr_sub08: #FFEECC;
  --clr_sub09: #C4E3F3;
  --clr_sub10: #D5EBF6;
  --clr_sub11: #ACDAF2;
  --clr_sub12: #88C3E3;
  --clr_sub13: #53B1E2;
  --clr_sub14: #2EA0DC;
  --clr_sub15: #0289D1;
  --clr_sub16: #97C2D9;
  --clr_sub17: #5599BE;
  --clr_sub18: #358FBF;
  --clr_sub19: #3784AC;
  --clr_sub20: #aaa;
  --clr_sub21: #7C8484;
  --clr_sub22: #19648B;
  --clr_sub23: #D6F9E1;
  --clr_sub24: #E1FEE1;
  --clr_sub25: #BEF1CE;
  --clr_sub26: #AEF3AE;
  --clr_sub27: #A3D8B4;
  --clr_sub28: #61BE78;
  --clr_sub29: #0F83BF;
}

body {
  background: #fff;
  color: var(--clr_txt);
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
  word-wrap: break-word;
}
body::after {
  visibility: hidden;
  width: 100vw;
  height: 100vh;
  content: "";
  background: rgba(var(--clr_sub02), 0.8);
  position: fixed;
  top: 0;
  z-index: 2;
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
}
body.spnav_modal {
  height: 100%;
  overflow: hidden;
}
body.spnav_modal::after {
  visibility: visible;
  opacity: 1;
}

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

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

.wrap {
  margin: 0 1rem;
}

@media screen and (min-width: 48em), print {
  html {
    font-size: 62.5%;
  }
  body {
    min-width: calc(1100px + 40px);
  }
  body::after {
    display: none;
  }
  a, button {
    transition: 0.2s;
  }
  a:hover, button:hover {
    opacity: 0.8;
  }
  .main {
    font-size: 1.6rem;
    line-height: 1.8;
    overflow-x: clip;
  }
  .main a:not([class*=btn]):hover {
    opacity: 1;
    text-decoration: none;
  }
  .wrap {
    width: 1100px;
    margin: 0 auto;
  }
}
:target::before {
  content: "";
  display: block;
  height: 8rem;
  margin: -8rem 0 0;
  visibility: hidden;
}
@media screen and (min-width: 48em), print {
  :target::before {
    height: 10rem;
    margin: -10rem 0 0;
  }
}

.header {
  width: 100%;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 100;
}
.header .wrap {
  padding: 0.8rem 0;
}
.header .wrap .logo {
  height: 4rem;
  padding: 0 0 0 1rem;
}
.header .wrap .logo a {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/logo.svg) center left/contain no-repeat;
}
.header .wrap .logo a .clip {
  display: block;
  height: 100%;
  overflow: hidden;
  clip-path: inset(50%);
  color: transparent;
}
.header .wrap .headR {
  width: auto;
  margin: 2rem auto 0;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  display: none;
}
.header .wrap .headR ul li {
  font-size: 1.2rem;
  line-height: 1;
}
.header .wrap .headR ul li span.kai {
  color: #fff;
  border-radius: 0.4rem;
  padding: 0.1rem 0.35rem;
}
.header .wrap .headR ul li span.line {
  color: var(--clr_sub07);
  letter-spacing: -0.14em;
}
.header .wrap .headR ul li.floor2 {
  color: var(--clr_sub13);
  margin: 0 0 1rem;
}
.header .wrap .headR ul li.floor2 span.kai {
  background: var(--clr_sub13);
}
.header .wrap .headR ul li.floor3 {
  color: var(--clr_sub07);
}
.header .wrap .headR ul li.floor3 span.kai {
  background: var(--clr_sub07);
}
.header .wrap .headR ul li .tel, .header .wrap .headR ul li .tel_beauty {
  font-size: 1.4rem;
  margin: 0 0 0 0.8rem;
}
.header .wrap .headR .rsv {
  width: 60%;
  height: 3rem;
  font-size: 1.4rem;
}

@media screen and (min-width: 48em), print {
  .header {
    position: static;
  }
  .header .wrap {
    margin: 0 auto;
    padding: 1.8rem 0 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
  }
  .header .wrap .logo {
    width: 34.9rem;
    height: 8.7rem;
    padding: 0;
  }
  .header .wrap .logo a {
    background: url(../img/logo.svg) center left/contain no-repeat;
  }
  .header .wrap .headR {
    margin: 0;
    display: flex;
    justify-content: flex-end;
    gap: 0 3rem;
  }
  .header .wrap .headR ul li {
    font-size: 1.6rem;
  }
  .header .wrap .headR ul li.floor2 {
    margin: 0 0 0.8rem;
  }
  .header .wrap .headR ul li .tel, .header .wrap .headR ul li .tel_beauty {
    font-size: 2.6rem;
  }
  .header .wrap .headR .rsv {
    width: 14.6rem;
    height: 5.6rem;
    font-size: 2rem;
  }
}
.fixed_nav {
  display: none;
}

@media screen and (min-width: 48em), print {
  .fixed_nav {
    display: block;
    position: fixed;
    top: 25vh;
    right: 0;
    z-index: 999;
  }
  .fixed_nav li {
    display: block;
    margin: 0;
    padding: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    overflow: hidden;
  }
  .fixed_nav li:not(:last-child) {
    margin: 0 0 1.5rem;
  }
  .fixed_nav li a {
    background: var(--clr_main);
    width: 5rem;
    height: 16.2rem;
    color: #fff;
    text-align: center;
    border-radius: 1rem 0 0 1rem;
    font-size: 2rem;
    line-height: 1;
    text-orientation: upright;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block;
    padding: 0 1.2rem 0 0;
  }
  .fixed_nav li a::before {
    font-family: "fontello";
    content: "\e80b";
    font-size: 2rem;
    line-height: 1;
    margin: 0 0 0.8rem;
  }
  .fixed_nav li a:hover {
    background: var(--clr_sub06);
  }
}
#nav {
  width: 100vw;
}
#nav #sp_menu {
  width: 4.5rem;
  height: 4.5rem;
  background: #fff;
  border-radius: 0;
  text-align: center;
  line-height: 1;
  font-size: 0.9rem;
  color: var(--clr_main);
  position: fixed;
  top: 0.6rem;
  right: 1rem;
  z-index: 101;
}
#nav #sp_menu::before {
  display: block;
  font-family: "fontello";
  content: "\e802";
  font-size: 3.8rem;
}
#nav #sp_menu::after {
  content: "MENU";
  white-space: nowrap;
  display: block;
  margin: -0.8rem 0 0 0;
}
#nav #sp_menu.close::before {
  font-family: "fontello";
  content: "\e806";
}
#nav #sp_menu.close::after {
  content: "CLOSE";
  white-space: nowrap;
}
#nav #sp_menu span {
  display: none;
}
#nav .gnav_subnav {
  display: none;
  width: 94vw;
  max-height: 75vh;
  overflow-y: auto;
  background: #fff;
  padding: 1.6rem;
  position: fixed;
  top: 6rem;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 101;
}
#nav .gnav_subnav .gnav {
  border-top: 1px solid var(--clr_sub02);
  border-bottom: 1px solid var(--clr_sub02);
}
#nav .gnav_subnav .gnav > li {
  min-width: fit-content;
}
#nav .gnav_subnav .gnav > li:not(:last-child) {
  border-bottom: 1px solid var(--clr_sub02);
}
#nav .gnav_subnav .gnav > li a, #nav .gnav_subnav .gnav > li .sub {
  display: flex;
  align-items: flex-end;
  width: 100%;
  text-align: left;
  padding: 1rem;
  font-size: 1.4rem;
  order: 1;
}
#nav .gnav_subnav .gnav > li .sub::after {
  font-family: "fontello";
  content: "\e80f";
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 0 auto;
  order: 3;
  font-size: 1rem;
}
#nav .gnav_subnav .gnav > li .sub.close::after {
  font-family: "fontello";
  content: "\e8a3";
}
#nav .gnav_subnav .gnav > li .subbox {
  display: none;
}
#nav .gnav_subnav .gnav > li .subbox .subnav {
  margin-top: 0;
}
#nav .gnav_subnav .gnav > li .subbox .subnav li:not(:last-child) {
  border-bottom: 0.1rem #fff solid;
}
#nav .gnav_subnav .gnav > li .subbox .subnav li a {
  display: block;
  padding: 0.7rem 1rem;
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
  background: rgba(83, 177, 226, 0.9);
}
#nav .gnav_subnav .gnav > li .subbox .subnav li a::before {
  display: none;
}
#nav .gnav_subnav .gnav > li .subbox .subnav li a br {
  display: none;
}
#nav .gnav_subnav .gnav > li .subbox .subnav li a.current {
  background: var(--clr_sub14);
}
#nav .gnav_subnav .gnav > li.treatment .subbox .subnav li a.general {
  background: rgba(83, 177, 226, 0.9);
}
#nav .gnav_subnav .gnav > li.treatment .subbox .subnav li a.plastic {
  background: rgba(145, 145, 145, 0.9);
}
#nav .gnav_subnav .gnav > li.treatment .subbox .subnav li a.beauty {
  background: rgba(229, 130, 173, 0.9);
}
#nav .gnav_subnav .gnav > li.treatment .subbox .subnav li a.beauty:hover {
  pointer-events: none;
  opacity: 1;
}
#nav .gnav_subnav .gnav > li.treatment .subbox .subnav li .subnav {
  display: none;
}
#nav .gnav_subnav .gnav > li.treatment .subbox .subnav li .sub_general li a {
  background: rgba(35, 147, 206, 0.9);
}
#nav .gnav_subnav .gnav > li.treatment .subbox .subnav li .sub_beauty li a {
  background: rgba(217, 94, 148, 0.9);
}

@media screen and (min-width: 48em), print {
  #nav {
    width: 100%;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 999;
  }
  #nav #sp_menu {
    display: none;
  }
  #nav .gnav_subnav {
    display: block !important;
    width: 1100px;
    margin: 0 auto;
    overflow-y: visible;
    padding: 0;
    position: static;
  }
  #nav .gnav_subnav .gnav {
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: center;
    border: none;
  }
  #nav .gnav_subnav .gnav li {
    position: relative;
    flex: 1;
    padding: 2.22rem 0;
  }
  #nav .gnav_subnav .gnav li:first-child a {
    border-left: 0.2rem var(--clr_sub20) dotted;
  }
  #nav .gnav_subnav .gnav li:not(:last-child) {
    border-bottom: none;
  }
  #nav .gnav_subnav .gnav li a, #nav .gnav_subnav .gnav li .sub {
    display: block;
    font-size: 1.6rem;
    text-align: center;
    margin: 0;
    cursor: pointer;
    position: relative;
    padding: 0;
    border-right: 0.2rem var(--clr_sub20) dotted;
  }
  #nav .gnav_subnav .gnav li a::before, #nav .gnav_subnav .gnav li .sub::before {
    font-family: "fontello";
    content: "\e80c";
    margin: 0 1rem 0 0;
    color: var(--clr_main);
  }
  #nav .gnav_subnav .gnav li a.home::before, #nav .gnav_subnav .gnav li .sub.home::before {
    font-family: "fontello";
    content: "\e80c";
  }
  #nav .gnav_subnav .gnav li a.cl::before, #nav .gnav_subnav .gnav li .sub.cl::before {
    font-family: "fontello";
    content: "\e80d";
  }
  #nav .gnav_subnav .gnav li a.tr::before, #nav .gnav_subnav .gnav li .sub.tr::before {
    font-family: "fontello";
    content: "\e80e";
  }
  #nav .gnav_subnav .gnav li a.price::before, #nav .gnav_subnav .gnav li .sub.price::before {
    font-family: "fontello";
    content: "\e811";
  }
  #nav .gnav_subnav .gnav li a.blog::before, #nav .gnav_subnav .gnav li .sub.blog::before {
    font-family: "fontello";
    content: "\e812";
  }
  #nav .gnav_subnav .gnav li a.access::before, #nav .gnav_subnav .gnav li .sub.access::before {
    font-family: "fontello";
    content: "\e813";
  }
  #nav .gnav_subnav .gnav li .sub::after {
    margin: 0 0 0 0.8rem;
    font-size: 1.2rem;
  }
  #nav .gnav_subnav .gnav li .subbox {
    width: auto;
    position: absolute;
    top: 5.75rem;
    left: 0;
    width: 100%;
    z-index: 99;
  }
  #nav .gnav_subnav .gnav li .subbox > .subnav {
    display: block;
  }
  #nav .gnav_subnav .gnav li .subbox > .subnav li {
    width: 100%;
    padding: 0;
  }
  #nav .gnav_subnav .gnav li .subbox > .subnav li::before, #nav .gnav_subnav .gnav li .subbox > .subnav li::after {
    content: none;
  }
  #nav .gnav_subnav .gnav li .subbox > .subnav li a {
    font-size: 1.6rem;
    padding: 1rem;
    border-right: none;
    border-left: none !important;
  }
  #nav .gnav_subnav .gnav li .subbox > .subnav li a:hover {
    background: var(--clr_sub15);
  }
  #nav .gnav_subnav .gnav li .subbox > .subnav li a.current {
    width: auto;
    opacity: 1;
  }
  #nav .gnav_subnav .gnav li .subbox > .subnav li .subnav {
    position: absolute;
    visibility: hidden;
    opacity: 0;
    transition: all 0.2s ease;
    top: 0;
    left: 18.4rem;
    width: 300%;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  #nav .gnav_subnav .gnav li .subbox > .subnav li .subnav li {
    flex: none;
    width: 33.3333333333%;
  }
  #nav .gnav_subnav .gnav li .subbox > .subnav li .subnav li a {
    width: 18.335rem;
    border-left: 1px #fff solid !important;
    white-space: nowrap;
  }
  #nav .gnav_subnav .gnav li.treatment .subbox .subnav li .subnav {
    display: flex;
  }
  #nav .gnav_subnav .gnav li.treatment .subbox .subnav li:hover .subnav {
    visibility: visible;
    opacity: 1;
  }
}
.overview {
  padding: 3rem 1rem 4rem;
  line-height: 1.4;
  background: linear-gradient(to right, #e8f7ff 0%, #e1fee1 100%);
}
.overview > .wrap {
  margin: 0;
}
.overview > .wrap .clinic_name {
  text-align: center;
  margin: 0 0 2rem;
}
.overview > .wrap .clinic_name img {
  max-width: 80%;
  margin: 0 auto;
}
.overview > .wrap .overviewL .gaiyo {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  margin: 3rem 0 0 0;
  line-height: 1.65;
  font-size: 1.3rem;
}
.overview > .wrap .overviewL .gaiyo dt {
  width: 28%;
  color: #fff;
  letter-spacing: 0.1rem;
  background: var(--clr_main);
  border-radius: 1rem;
  text-align: center;
  margin: 0 0 1.2rem;
}
.overview > .wrap .overviewL .gaiyo dd {
  width: 72%;
  padding: 0 0 0 1rem;
  margin: 0 0 1.2rem;
}
.overview > .wrap .overviewL .ov_info {
  width: auto;
  margin: 2rem auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}
.overview > .wrap .overviewL .ov_info ul {
  margin: 0 0 1rem;
}
.overview > .wrap .overviewL .ov_info ul li {
  font-size: 1.2rem;
  line-height: 1;
}
.overview > .wrap .overviewL .ov_info ul li span.kai {
  color: #fff;
  border-radius: 0.4rem;
  padding: 0.1rem 0.35rem;
}
.overview > .wrap .overviewL .ov_info ul li span.line {
  color: var(--clr_sub07);
  letter-spacing: -0.14em;
}
.overview > .wrap .overviewL .ov_info ul li.floor2 {
  color: var(--clr_sub13);
  margin: 0 0 1.6rem;
}
.overview > .wrap .overviewL .ov_info ul li.floor2 span.kai {
  background: var(--clr_sub13);
}
.overview > .wrap .overviewL .ov_info ul li.floor3 {
  color: var(--clr_sub07);
}
.overview > .wrap .overviewL .ov_info ul li.floor3 span.kai {
  background: var(--clr_sub07);
}
.overview > .wrap .overviewL .ov_info ul li .tel, .overview > .wrap .overviewL .ov_info ul li .tel_beauty {
  font-size: 1.6rem;
  margin: 0 0 0 0.8rem;
}
.overview > .wrap .overviewL .ov_info .ico_insta {
  width: 34px;
  height: 34px;
  margin: 17px auto;
}
.overview > .wrap .overviewR {
  margin: 3rem 0 0 0;
}
.overview .gmap {
  height: 100vw;
  margin: 2rem 0 0 0;
}

@media screen and (min-width: 48em), print {
  .overview {
    margin: 0 auto;
    padding: 6.2rem 0 0 0;
  }
  .overview > .wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 0 0 14.8rem;
  }
  .overview > .wrap .clinic_name {
    margin: 0 auto 6.4rem;
    width: 100%;
  }
  .overview > .wrap .clinic_name img {
    width: 52.8rem;
    height: 13.2rem;
    margin: 0 auto;
  }
  .overview > .wrap .overviewL, .overview > .wrap .overviewR {
    width: 50%;
  }
  .overview > .wrap .overviewL .gaiyo {
    margin: 0;
    width: 100%;
    justify-content: flex-start;
    font-size: 1.8rem;
  }
  .overview > .wrap .overviewL .gaiyo dt {
    width: 9.6rem;
    margin: 0 0 2.4rem;
    border-radius: 3rem;
  }
  .overview > .wrap .overviewL .gaiyo dd {
    width: 43rem;
    padding: 0 0 0 1.4rem;
    margin: 0 0 2.4rem;
  }
  .overview > .wrap .overviewL .ov_info {
    display: none;
  }
  .overview > .wrap .overviewR {
    margin: 0;
    padding: 0 0 0 3.3rem;
  }
  .overview .gmap {
    margin: 0;
    height: 54rem;
  }
}
#tel_up {
  width: 100%;
  height: 3.5rem;
  background: #fff;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#tel_up .tel_rsv {
  width: 85%;
  height: 100%;
  justify-content: flex-start;
}
#tel_up .tel_rsv li {
  height: 100%;
  width: 50%;
}
#tel_up .tel_rsv li:first-child {
  border-right: 0.1rem #fff solid;
}
#tel_up .tel_rsv li .tel {
  font-size: 1.4rem;
  padding: 0;
  color: #fff;
  background: var(--clr_sub13);
}
#tel_up .tel_rsv li .rsv {
  padding: 0;
}
#tel_up .tel_rsv li .rsv::after {
  right: 1rem;
}
#tel_up #pageup {
  display: block;
  width: 15%;
  height: 100%;
  position: relative;
  right: 0;
  bottom: 0;
  background: var(--clr_sub05);
  padding: 0.2rem 0 0 0;
  border: 1px #fff solid;
}
#tel_up #pageup::before {
  font-family: "fontello";
  content: "\e81a";
  color: #fff;
  font-size: 1.2rem;
  display: block;
  line-height: 1;
}
#tel_up #pageup span {
  display: block;
  height: 100%;
  overflow: hidden;
  color: #fff;
  line-height: 1;
  font-size: 0.8rem;
}

@media screen and (min-width: 48em), print {
  #tel_up {
    width: auto;
    height: auto;
    background: none;
  }
  #tel_up ul {
    display: none;
  }
  #tel_up #pageup {
    width: 6.8rem;
    height: 6.8rem;
    position: fixed;
    bottom: 7rem;
    right: 4rem;
    padding: 0 0 0 0;
    border-radius: 0.6rem;
    transform: rotate(45deg);
    display: flex;
    flex-wrap: wrap;
  }
  #tel_up #pageup::before {
    font-size: 1.5rem;
    transform: rotate(-45deg);
    width: 100%;
    position: absolute;
    top: 1rem;
    left: -1.6rem;
  }
  #tel_up #pageup span {
    font-size: 1.6rem;
    transform: rotate(-45deg);
    width: 100%;
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
  }
}
.footer {
  padding: 0 0 3.5rem;
}
.footer .copy {
  display: block;
  background: var(--clr_main);
  padding: 0.6rem 1rem;
  font-size: 1.3rem;
  text-align: center;
  color: #fff;
}
.footer ul {
  display: none;
}

@media screen and (min-width: 48em), print {
  .footer {
    padding: 4.6rem 0 0 0;
    background: var(--clr_main);
  }
  .footer .copy {
    margin: 4.3rem 0 0;
    padding: 1.2rem 0;
  }
  .footer .copy span {
    display: block;
    font-size: 1.6rem;
    width: 1100px;
  }
  .footer ul {
    display: block;
    width: 1100px;
    margin: 0 auto;
    text-align: left;
    padding: 0 0 0 2.6rem;
  }
  .footer ul li {
    display: inline-block;
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
  }
  .footer ul li:not(:last-child) {
    margin: 0 2.2rem 0 0;
  }
  .footer ul li a {
    opacity: 1;
    color: #fff;
  }
  .footer ul li a::before {
    content: "▪";
    color: var(--clr_sub26);
  }
  .footer ul li a br {
    display: none;
  }
  .footer ul li a:hover {
    text-decoration: underline;
  }
  .footer ul li.treatment {
    display: none;
  }
  .footer ul.subnav {
    margin: 1.6rem auto 0;
  }
  .footer ul.subnav li a::before {
    color: var(--clr_sub19);
  }
  .footer ul.subnav2 {
    margin: 1.2rem auto 0;
  }
  .footer ul.subnav2 li a::before {
    color: var(--clr_sub01);
  }
}
.keyvsl {
  width: 100%;
  position: relative;
  margin: 0;
}
.keyvsl #keyvsl {
  width: 100%;
  height: 23rem;
  overflow: visible;
  visibility: hidden;
}
.keyvsl #keyvsl > div {
  position: relative;
  height: 100%;
}
.keyvsl #keyvsl .slick-list div img {
  height: 23rem !important;
  width: 100%;
  object-fit: cover;
}
.keyvsl #keyvsl .slick-list .slick-track .slick-slide:nth-child(3) img {
  object-position: 55% 0;
}
.keyvsl #keyvsl .slick-dots {
  display: none !important;
}
.keyvsl .wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  padding: 12rem 1rem 0;
  height: 100%;
}
.keyvsl .wrap p.catch {
  background: url("../img/bg_kv_logo.svg") no-repeat center center/contain;
  width: 100%;
  height: auto;
  line-height: 1.4;
  margin: 0 auto;
  padding: 1rem 0;
  text-align: center;
  font-size: 1.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  text-shadow: #fff 0.2rem 0 0.8rem, #fff -0.2rem 0 0.8rem, #fff 0 -0.2rem 0.8rem, #fff -0.2rem 0 0.8rem, #fff 0.2rem 0.2rem 0.8rem, #fff -0.2rem 0.2rem 0.8rem, #fff 0.2rem -0.2rem 0.8rem, #fff -0.2rem -0.2rem 0.8rem, #fff 0.1rem 0.2rem 0.8rem, #fff -0.1rem 0.2rem 0.8rem, #fff 0.1rem -0.2rem 0.8rem, #fff -0.1rem -0.2rem 0.8rem, #fff 0.2rem 0.1rem 0.8rem, #fff -0.2rem 0.1rem 0.8rem, #fff 0.2rem -0.1rem 0.8rem, #fff -0.2rem -0.1rem 0.8rem, #fff 0.1rem 0.1rem 0.8rem, #fff -0.1rem 0.1rem 0.8rem, #fff 0.1rem -0.1rem 0.8rem, #fff -0.1rem -0.1rem 0.8rem;
}
.keyvsl .wrap p.catch span.blue {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  font-style: normal;
  color: var(--clr_sub14);
  width: 100%;
}
.keyvsl .wrap p.catch span.pink {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  font-style: normal;
  color: var(--clr_sub06);
  width: 100%;
}
.keyvsl .wrap p.catch span.img_rsv {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.3rem;
  font-size: 1.4rem;
  padding: 0.1rem 0.8rem;
  margin: 0.8rem 0 0 0;
  background: #fff;
  border-radius: 3rem;
  color: var(--clr_sub13);
}
.keyvsl .wrap p.catch span.img_rsv::before, .keyvsl .wrap p.catch span.img_rsv::after {
  font-family: "fontello";
  content: "\e81d";
  color: var(--clr_sub27);
  font-size: 35%;
}

@media screen and (min-width: 48em), print {
  .keyvsl {
    max-width: 200rem;
    margin: 0 auto;
    height: 58rem;
  }
  .keyvsl #keyvsl {
    height: 58rem;
  }
  .keyvsl #keyvsl .slick-list div img {
    height: 58rem !important;
    object-position: center !important;
  }
  .keyvsl #keyvsl .slick-dots {
    display: none !important;
  }
  .keyvsl .wrap {
    width: 1100px;
    margin: 0 auto;
    padding: 0;
    height: auto;
  }
  .keyvsl .wrap p.catch {
    width: 44.4rem;
    height: 27.3rem;
    line-height: 1;
    margin: 18.2rem auto 0 0;
  }
  .keyvsl .wrap p.catch span {
    font-size: 3.4rem;
  }
  .keyvsl .wrap p.catch span.pink {
    margin: 2rem 0 0 0;
  }
  .keyvsl .wrap p.catch span.img_rsv {
    width: 16rem;
    height: 3.7rem;
    font-size: 2rem;
    margin: 1.8rem 0 0 0;
    padding: 0;
    gap: 0 0.51rem;
  }
  .keyvsl .wrap p.catch span.img_rsv::before, .keyvsl .wrap p.catch span.img_rsv::after {
    padding: 0.2rem 0 0 0;
  }
}
.top_tit02 {
  color: var(--clr_sub13);
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
  position: relative;
  z-index: 9;
  font-size: 2.2rem;
  padding: 0 0 0 3rem;
  margin: 0 0 2rem;
  line-height: 2.2;
}
.top_tit02::before {
  font-family: "fontello";
  content: "\e817";
  color: #fff;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  font-size: 5rem;
  line-height: 1;
}
.top_tit02::after {
  display: inline-block;
  content: attr(data-txt);
  font-family: "Work Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  color: var(--clr_sub11);
  margin: 0 0 0 1rem;
  font-size: 1.8rem;
}

@media screen and (min-width: 48em), print {
  .top_tit02 {
    font-size: 3.2rem;
    padding: 0 0 0 8rem;
    margin: 0 0 2.71rem;
    line-height: 1.8;
  }
  .top_tit02::before {
    font-size: 10.5rem;
    line-height: 1.8;
  }
  .top_tit02::after {
    font-size: 9rem;
    margin: 0 0 0 4rem;
  }
}
.top_tit03 {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  font-size: 2rem;
  white-space: nowrap;
}
.top_tit03::before {
  font-family: "fontello";
  content: "\e817";
  color: var(--clr_main);
  font-size: 1.8rem;
  margin: 0 0.6rem 0 0;
}
.top_tit03::after {
  display: inline-block;
  content: attr(data-txt);
  font-family: "Work Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-weight: 400;
  margin: 0 0 0 0.6rem;
  font-size: 1.1rem;
}

@media screen and (min-width: 48em), print {
  .top_tit03 {
    font-size: 2.6rem;
  }
  .top_tit03::before {
    font-size: 3.4rem;
    margin: 0 1.3rem 0 0;
  }
  .top_tit03::after {
    font-size: 1.6rem;
    margin: 0 0 0 1.5rem;
  }
}
.info {
  margin: 0 !important;
  padding: 3rem 0;
  background: linear-gradient(to right, #e8f7ff 0%, #e1fee1 100%);
}
.info .bnr {
  display: table;
  margin: 0 auto;
  padding: 0 1rem 3rem;
}
.info .bnr img {
  max-width: 80%;
  margin: 0 auto;
}
.info .wrap {
  position: relative;
}
.info .wrap .info_tit02 {
  color: var(--clr_sub13);
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.2rem;
  background: url("../img/bg_info.svg") no-repeat center top/contain;
  width: fit-content;
  height: 6rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 2rem;
}
.info .wrap .en_tit {
  margin: 0;
  position: absolute;
  bottom: 0;
  right: 0;
  font-family: "Work Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  color: #fff;
  line-height: 1;
}
.info dl {
  line-height: 1.4;
  word-wrap: break-word;
}
.info dl dt, .info dl dd {
  word-break: break-all;
}
.info dl dt {
  display: flex;
  font-size: 1.6rem;
  margin: 0 0 0.6rem;
  cursor: pointer;
  position: relative;
  padding: 0;
  color: var(--clr_sub15);
}
.info dl dt > div {
  display: inline-block;
}
.info dl dt::before {
  display: inline-block;
  font-family: "fontello";
  content: "\e800";
  margin: 0 0.8rem 0 0;
  font-weight: normal;
  color: var(--clr_sub28);
}
.info dl dt.open::before {
  font-family: "fontello";
  content: "\e803";
}
.info dl dd {
  font-size: 1.4rem;
  padding: 0 0 1.6rem 2.4rem;
  font-weight: normal;
}
.info dl dd:not(:nth-of-type(-n+3)) {
  display: none;
}
.info dl dd a {
  display: block;
  color: var(--clr_sub06);
  text-decoration: underline;
}

@media screen and (min-width: 48em), print {
  .info {
    padding: 9.8rem 0 0 0;
  }
  .info .bnr {
    padding: 0 0 10rem;
  }
  .info .bnr img {
    max-width: none;
  }
  .info .bnr img:hover {
    opacity: 0.8;
  }
  .info .wrap {
    display: flex;
    justify-content: space-between;
    padding: 0 0 9.8rem;
    min-height: 33.3rem;
  }
  .info .wrap .info_tit02 {
    font-size: 3.2rem;
    width: 20.4rem;
    height: 20.4rem;
    justify-content: center;
    margin: 0;
  }
  .info .wrap .en_tit {
    font-size: 9rem;
    bottom: -1.2rem;
    right: -4.2rem;
  }
  .info .wrap dl {
    flex: 1;
    width: 70rem;
    margin: 0 0 0 4.8rem;
    padding: 0 0 3rem;
  }
  .info .wrap dl dt {
    margin: 0 0 1.2rem;
    letter-spacing: 0.1rem;
    font-size: 2rem;
  }
  .info .wrap dl dt::before {
    margin: 0 1rem 0 0;
  }
  .info .wrap dl dd {
    font-size: 1.6rem;
    padding-left: 3.3rem;
    padding-bottom: 2.3rem;
    letter-spacing: 0;
  }
  .info .wrap dl dd a:hover {
    color: #3B6D34;
    text-decoration: underline !important;
  }
}
.contents_wrapper {
  margin-top: 0 !important;
  padding: 4rem 1rem;
}
.contents_wrapper > section .top_tit03 {
  margin: 0 0 1.4rem;
}
.contents_wrapper > section.reservation .top_tit03::before {
  color: var(--clr_sub06);
}
.contents_wrapper > section.reservation p {
  margin: 0;
}
.contents_wrapper > section.reservation p.attention {
  color: var(--clr_sub07);
  background: var(--clr_sub02);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1.8rem 0 0.8rem;
  padding: 0.8rem 0;
}
.contents_wrapper > section.reservation .rsv {
  width: 80%;
  height: 3.2rem;
  margin: 1.6rem auto 0;
}
.contents_wrapper > section.timetable {
  margin-top: 0 !important;
  padding: 4rem 0 0 0;
}
.contents_wrapper > section.timetable .top_tit03::before {
  color: var(--clr_main);
}

@media screen and (min-width: 48em), print {
  .contents_wrapper {
    display: flex;
    width: 1100px;
    justify-content: space-between;
    margin: 0 auto;
    padding: 7.4rem 0;
  }
  .contents_wrapper > section {
    width: 51.7rem;
  }
  .contents_wrapper > section .top_tit03 {
    margin: 0 0 1.9rem;
  }
  .contents_wrapper > section.reservation p.attention {
    width: 100%;
    height: 4.4rem;
    font-size: 1.8rem;
    padding: 0;
    margin: 0 0 1rem;
  }
  .contents_wrapper > section.reservation .rsv {
    width: 29.4rem;
    height: 4.4rem;
    margin: 2.3rem auto 0;
  }
  .contents_wrapper > section.timetable {
    padding: 0;
  }
  .contents_wrapper > section.timetable .wrap {
    width: 100%;
  }
}
.feature {
  margin-top: 0 !important;
  padding: 4rem 0 2rem;
  background: linear-gradient(to right, #e8f7ff 0%, #e1fee1 100%);
}
.feature .wrap {
  position: relative;
}
.feature .wrap::before, .feature .wrap::after {
  position: absolute;
  content: "";
}
.feature .wrap::before {
  background: url("../img/deco_feature_l.svg") no-repeat center center/contain;
}
.feature .wrap::after {
  background: url("../img/deco_feature_r.svg") no-repeat center center/contain;
}
.feature .wrap .inner li, .feature .wrap .inner2 li {
  margin: 0 0 2.4rem;
}
.feature .wrap .inner li img, .feature .wrap .inner2 li img {
  margin: 0 auto 1rem;
}
.feature .wrap .inner li p, .feature .wrap .inner2 li p {
  margin: 0;
}
.feature .wrap .inner li p.tit, .feature .wrap .inner2 li p.tit {
  text-align: center;
  color: var(--clr_sub07);
  line-height: 1;
  font-size: 1.8rem;
  margin: 0 0 1rem;
}
.feature .wrap .inner li p.tit::before, .feature .wrap .inner2 li p.tit::before, .feature .wrap .inner li p.tit::after, .feature .wrap .inner2 li p.tit::after {
  color: var(--clr_sub04);
}
.feature .wrap .inner li p.tit::before, .feature .wrap .inner2 li p.tit::before {
  font-family: "fontello";
  content: "\e818";
  margin: 0 1rem 0 0;
}
.feature .wrap .inner li p.tit::after, .feature .wrap .inner2 li p.tit::after {
  font-family: "fontello";
  content: "\e819";
  margin: 0 0 0 1rem;
}
@media screen and (min-width: 48em), print {
  .feature {
    padding: 4.88rem 0 5.4rem;
    width: 100%;
  }
  .feature .wrap {
    margin: 0 auto;
  }
  .feature .wrap::before {
    bottom: -5.4rem;
    left: -31.7rem;
    width: 42.3rem;
    height: 57.3rem;
  }
  .feature .wrap::after {
    top: -4.2rem;
    right: -36.8rem;
    width: 41.6rem;
    height: 53.8rem;
  }
  .feature .wrap .inner, .feature .wrap .inner2 {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0 5.6rem;
    padding: 0 0 0 4.7rem;
  }
  .feature .wrap .inner li, .feature .wrap .inner2 li {
    width: 42.6rem;
    margin: 0;
  }
  .feature .wrap .inner li img, .feature .wrap .inner2 li img {
    margin: 0 auto 1.8rem;
  }
  .feature .wrap .inner li p.tit, .feature .wrap .inner2 li p.tit {
    font-size: 2.6rem;
    margin: 0 0 3rem;
  }
  .feature .wrap .inner li p.tit::before, .feature .wrap .inner2 li p.tit::before {
    margin: 0 1.4rem 0 0;
  }
  .feature .wrap .inner li p.tit::after, .feature .wrap .inner2 li p.tit::after {
    margin: 0 0 0 1.4rem;
  }
  .feature .wrap .inner li p.txt, .feature .wrap .inner2 li p.txt {
    font-size: 1.8rem;
  }
  .feature .wrap .inner li p.txt span, .feature .wrap .inner2 li p.txt span {
    font-size: 1.6rem;
  }
  .feature .wrap .inner2 {
    justify-content: flex-end;
    margin: 7.21rem 0 0 0;
  }
}
.tre {
  margin-top: 0 !important;
  padding: 4rem 0;
}
.tre .wrap .top_tit02::before {
  color: var(--clr_sub23);
}
.tre .bg01, .tre .bg02 {
  background: url("../img/bg_tre01.webp") no-repeat left top/150% auto;
}
.tre .bg01 .wrap .inner, .tre .bg02 .wrap .inner, .tre .bg01 .feature .wrap .inner2, .tre .bg02 .feature .wrap .inner2, .feature .tre .bg01 .wrap .inner2, .feature .tre .bg02 .wrap .inner2 {
  padding: 13rem 0 0 0;
}
.tre .bg01 .wrap .inner .subnav, .tre .bg02 .wrap .inner .subnav, .tre .bg01 .feature .wrap .inner2 .subnav, .tre .bg02 .feature .wrap .inner2 .subnav, .feature .tre .bg01 .wrap .inner2 .subnav, .feature .tre .bg02 .wrap .inner2 .subnav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem 1rem;
  margin: 2rem 0 0 0;
}
.tre .bg01 .wrap .inner .subnav li, .tre .bg02 .wrap .inner .subnav li, .tre .bg01 .feature .wrap .inner2 .subnav li, .tre .bg02 .feature .wrap .inner2 .subnav li, .feature .tre .bg01 .wrap .inner2 .subnav li, .feature .tre .bg02 .wrap .inner2 .subnav li {
  width: 12rem;
}
.tre .bg01 .wrap .inner .subnav li a, .tre .bg02 .wrap .inner .subnav li a, .tre .bg01 .feature .wrap .inner2 .subnav li a, .tre .bg02 .feature .wrap .inner2 .subnav li a, .feature .tre .bg01 .wrap .inner2 .subnav li a, .feature .tre .bg02 .wrap .inner2 .subnav li a {
  display: block;
  text-align: center;
  width: 100%;
  height: auto;
  position: relative;
}
.tre .bg01 .wrap .inner .subnav li a::before, .tre .bg02 .wrap .inner .subnav li a::before, .tre .bg01 .feature .wrap .inner2 .subnav li a::before, .tre .bg02 .feature .wrap .inner2 .subnav li a::before, .feature .tre .bg01 .wrap .inner2 .subnav li a::before, .feature .tre .bg02 .wrap .inner2 .subnav li a::before {
  content: "";
  width: 100%;
  height: 12rem;
  border-radius: 0.8rem;
  background: var(--clr_sub13);
  display: block;
  margin: 0 0 0.8rem;
}
.tre .bg01 .wrap .inner .subnav li a::after, .tre .bg02 .wrap .inner .subnav li a::after, .tre .bg01 .feature .wrap .inner2 .subnav li a::after, .tre .bg02 .feature .wrap .inner2 .subnav li a::after, .feature .tre .bg01 .wrap .inner2 .subnav li a::after, .feature .tre .bg02 .wrap .inner2 .subnav li a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 60%;
  height: 60%;
  top: 1.8rem;
}
.tre .bg01 .wrap .inner .subnav li a.snav01::after, .tre .bg02 .wrap .inner .subnav li a.snav01::after, .tre .bg01 .feature .wrap .inner2 .subnav li a.snav01::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.snav01::after, .feature .tre .bg01 .wrap .inner2 .subnav li a.snav01::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.snav01::after {
  background: url("../img/ill_cl01.svg") no-repeat center top/contain;
  width: 80%;
  height: 80%;
  top: 2.2rem;
}
.tre .bg01 .wrap .inner .subnav li a.snav02::after, .tre .bg02 .wrap .inner .subnav li a.snav02::after, .tre .bg01 .feature .wrap .inner2 .subnav li a.snav02::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.snav02::after, .feature .tre .bg01 .wrap .inner2 .subnav li a.snav02::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.snav02::after {
  background: url("../img/ill_cl02.svg") no-repeat center top/contain;
}
.tre .bg02 {
  background: url("../img/bg_tre02.webp") no-repeat right top/174% auto;
  margin: 4rem 0 0 0;
}
.tre .bg02 .wrap .inner, .tre .bg02 .feature .wrap .inner2, .feature .tre .bg02 .wrap .inner2 {
  padding: 17.8rem 0 0 0;
}
.tre .bg02 .wrap .inner .top_tit03::before, .tre .bg02 .feature .wrap .inner2 .top_tit03::before, .feature .tre .bg02 .wrap .inner2 .top_tit03::before {
  color: var(--clr_sub06);
}
.tre .bg02 .wrap .inner .subnav li a::before, .tre .bg02 .feature .wrap .inner2 .subnav li a::before, .feature .tre .bg02 .wrap .inner2 .subnav li a::before {
  background: var(--clr_sub04);
}
.tre .bg02 .wrap .inner .subnav li a.sbb00::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb00::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb00::after {
  background: url("../img/ill_ou00.svg") no-repeat center top/contain;
}
.tre .bg02 .wrap .inner .subnav li a.sbb01::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb01::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb01::after {
  background: url("../img/ill_ou01.svg") no-repeat center top/contain;
}
.tre .bg02 .wrap .inner .subnav li a.sbb02::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb02::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb02::after {
  background: url("../img/ill_ou02.svg") no-repeat center top/contain;
}
.tre .bg02 .wrap .inner .subnav li a.sbb03::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb03::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb03::after {
  background: url("../img/ill_ou03.svg") no-repeat center top/contain;
}
.tre .bg02 .wrap .inner .subnav li a.sbb04::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb04::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb04::after {
  background: url("../img/ill_ou04.svg") no-repeat center top/contain;
}
.tre .bg02 .wrap .inner .subnav li a.sbb05::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb05::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb05::after {
  background: url("../img/ill_ou05.svg") no-repeat center top/contain;
}
.tre .bg02 .wrap .inner .subnav li a.sbb06::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb06::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb06::after {
  background: url("../img/ill_ou06.svg") no-repeat center top/contain;
}
.tre .bg02 .wrap .inner .subnav li a.sbb07::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb07::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb07::after {
  background: url("../img/ill_ou07.svg") no-repeat center top/contain;
}

@media screen and (min-width: 48em), print {
  .tre {
    padding: 4.88rem 0 5.4rem;
    width: 100%;
  }
  .tre .wrap {
    margin: 0 auto;
  }
  .tre .bg01, .tre .bg02 {
    height: 49.2rem;
    background: url("../img/bg_tre01.webp") no-repeat center top/auto;
  }
  .tre .bg01 .wrap, .tre .bg02 .wrap {
    margin: 0 auto;
    padding: 10.6rem 0 0 0;
  }
  .tre .bg01 .wrap .inner, .tre .bg02 .wrap .inner, .tre .bg01 .feature .wrap .inner2, .feature .tre .bg01 .wrap .inner2, .tre .bg02 .feature .wrap .inner2, .feature .tre .bg02 .wrap .inner2 {
    width: 55rem;
    margin: 0 0 0 auto;
    padding: 0 0 0 11rem;
  }
  .tre .bg01 .wrap .inner .subnav, .tre .bg02 .wrap .inner .subnav, .tre .bg01 .feature .wrap .inner2 .subnav, .feature .tre .bg01 .wrap .inner2 .subnav, .tre .bg02 .feature .wrap .inner2 .subnav, .feature .tre .bg02 .wrap .inner2 .subnav {
    justify-content: flex-start;
    gap: 3.2rem 5.1rem;
    margin: 2.9rem 0 0 0;
  }
  .tre .bg01 .wrap .inner .subnav li, .tre .bg02 .wrap .inner .subnav li, .tre .bg01 .feature .wrap .inner2 .subnav li, .feature .tre .bg01 .wrap .inner2 .subnav li, .tre .bg02 .feature .wrap .inner2 .subnav li, .feature .tre .bg02 .wrap .inner2 .subnav li {
    width: 15rem;
  }
  .tre .bg01 .wrap .inner .subnav li a, .tre .bg02 .wrap .inner .subnav li a, .tre .bg01 .feature .wrap .inner2 .subnav li a, .feature .tre .bg01 .wrap .inner2 .subnav li a, .tre .bg02 .feature .wrap .inner2 .subnav li a, .feature .tre .bg02 .wrap .inner2 .subnav li a {
    letter-spacing: -0.07em;
    white-space: nowrap;
  }
  .tre .bg01 .wrap .inner .subnav li a:hover::before, .tre .bg02 .wrap .inner .subnav li a:hover::before, .tre .bg01 .feature .wrap .inner2 .subnav li a:hover::before, .feature .tre .bg01 .wrap .inner2 .subnav li a:hover::before, .tre .bg02 .feature .wrap .inner2 .subnav li a:hover::before, .feature .tre .bg02 .wrap .inner2 .subnav li a:hover::before {
    background: var(--clr_sub15);
  }
  .tre .bg01 .wrap .inner .subnav li a::before, .tre .bg02 .wrap .inner .subnav li a::before, .tre .bg01 .feature .wrap .inner2 .subnav li a::before, .feature .tre .bg01 .wrap .inner2 .subnav li a::before, .tre .bg02 .feature .wrap .inner2 .subnav li a::before, .feature .tre .bg02 .wrap .inner2 .subnav li a::before {
    height: 15rem;
    margin: 0 0 1.1rem;
  }
  .tre .bg01 .wrap .inner .subnav li a::after, .tre .bg02 .wrap .inner .subnav li a::after, .tre .bg01 .feature .wrap .inner2 .subnav li a::after, .feature .tre .bg01 .wrap .inner2 .subnav li a::after, .tre .bg02 .feature .wrap .inner2 .subnav li a::after, .feature .tre .bg02 .wrap .inner2 .subnav li a::after {
    top: 2.8rem;
  }
  .tre .bg01 .wrap .inner .subnav li a.snav01::after, .tre .bg02 .wrap .inner .subnav li a.snav01::after, .tre .bg01 .feature .wrap .inner2 .subnav li a.snav01::after, .feature .tre .bg01 .wrap .inner2 .subnav li a.snav01::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.snav01::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.snav01::after {
    width: 12.4rem;
    height: 9.3rem;
    top: 2.8rem;
  }
  .tre .bg01 .wrap .inner .subnav li a.snav02::after, .tre .bg02 .wrap .inner .subnav li a.snav02::after, .tre .bg01 .feature .wrap .inner2 .subnav li a.snav02::after, .feature .tre .bg01 .wrap .inner2 .subnav li a.snav02::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.snav02::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.snav02::after {
    width: 8.2rem;
    height: 9.2rem;
  }
  .tre .bg02 {
    margin: 5.39rem 0 0 0;
    height: 58.5rem;
    background: url("../img/bg_tre02.webp") no-repeat center top/auto;
  }
  .tre .bg02 .wrap {
    padding: 5.6rem 0 0 0;
  }
  .tre .bg02 .wrap .inner, .tre .bg02 .feature .wrap .inner2, .feature .tre .bg02 .wrap .inner2 {
    width: auto;
    margin: 0 auto 0 0;
    padding: 0 0 0 3.4rem;
  }
  .tre .bg02 .wrap .inner .subnav, .tre .bg02 .feature .wrap .inner2 .subnav, .feature .tre .bg02 .wrap .inner2 .subnav {
    width: 75.3rem;
  }
  .tre .bg02 .wrap .inner .subnav li a:hover::before, .tre .bg02 .feature .wrap .inner2 .subnav li a:hover::before, .feature .tre .bg02 .wrap .inner2 .subnav li a:hover::before {
    background: var(--clr_sub07);
  }
  .tre .bg02 .wrap .inner .subnav li a.sbb00::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb00::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb00::after {
    width: 10.1rem;
    height: 11.3rem;
  }
  .tre .bg02 .wrap .inner .subnav li a.sbb01::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb01::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb01::after {
    width: 8rem;
    height: 9.7rem;
  }
  .tre .bg02 .wrap .inner .subnav li a.sbb02::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb02::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb02::after {
    width: 10rem;
    height: 9.6rem;
  }
  .tre .bg02 .wrap .inner .subnav li a.sbb03::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb03::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb03::after {
    width: 9.3rem;
    height: 10.8rem;
  }
  .tre .bg02 .wrap .inner .subnav li a.sbb04::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb04::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb04::after {
    width: 9.3rem;
    height: 9.1rem;
  }
  .tre .bg02 .wrap .inner .subnav li a.sbb05::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb05::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb05::after {
    width: 9.8rem;
    height: 9.6rem;
  }
  .tre .bg02 .wrap .inner .subnav li a.sbb06::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb06::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb06::after {
    width: 9.2rem;
    height: 9rem;
  }
  .tre .bg02 .wrap .inner .subnav li a.sbb07::after, .tre .bg02 .feature .wrap .inner2 .subnav li a.sbb07::after, .feature .tre .bg02 .wrap .inner2 .subnav li a.sbb07::after {
    width: 9rem;
    height: 8.5rem;
  }
}
.cal {
  margin-top: 0 !important;
  padding: 3rem 1rem 4rem;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
}
.cal .inner .swiper-wrapper, .cal .feature .wrap .inner2 .swiper-wrapper, .feature .wrap .cal .inner2 .swiper-wrapper {
  margin: 0;
  background: var(--clr_sub12);
  border-radius: 0.6rem;
  margin: 2rem 0 0 0;
  padding: 2rem 1rem;
}
.cal .inner .swiper-wrapper .swiper-slide div:nth-child(2), .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div:nth-child(2), .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div:nth-child(2) {
  margin: 2rem 0 0 0;
}
.cal .inner .swiper-wrapper .swiper-slide div table.caledit, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit {
  border-spacing: 1px;
  width: 100%;
}
.cal .inner .swiper-wrapper .swiper-slide div table.caledit tr th, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr th, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr th {
  font-weight: 500;
  border: none;
  line-height: 1;
  padding: 0;
}
.cal .inner .swiper-wrapper .swiper-slide div table.caledit tr.month th, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr.month th, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr.month th {
  background: #fff;
  color: var(--clr_main);
  font-size: 2rem;
  padding: 0.6rem 0;
  border-bottom: 0.6rem var(--clr_sub12) solid;
}
.cal .inner .swiper-wrapper .swiper-slide div table.caledit tr.week th, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr.week th, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr.week th {
  background: var(--clr_sub17);
  color: #fff;
  font-size: 1.4rem;
  padding: 0.6rem 0;
}
.cal .inner .swiper-wrapper .swiper-slide div table.caledit tr td, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
  background: #fff;
  border: none;
}
.cal .inner .swiper-wrapper .swiper-slide div table.caledit tr td .shortTitle, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td .shortTitle, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td .shortTitle {
  display: none;
}
.cal .inner .swiper-wrapper .swiper-slide div table.caledit tr td.today, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td.today, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td.today {
  font-weight: bold;
}
.cal .inner .swiper-wrapper .swiper-slide div table.caledit tr td.outPatient, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td.outPatient, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td.outPatient {
  background: var(--clr_sub03);
}
.cal .inner .swiper-wrapper .swiper-slide div table.caledit tr td.amOnly, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td.amOnly, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td.amOnly {
  background: var(--clr_sub08);
}
.cal .inner .swiper-wrapper .swiper-slide div table.caledit tr td.pmOnly, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td.pmOnly, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td.pmOnly {
  background: var(--clr_sub25);
}
.cal .inner .swiper-wrapper .swiper-slide div table.caledit tr td.satOpen, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td.satOpen, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td.satOpen {
  background: var(--clr_sub09);
}
.cal .inner .swiper-wrapper .swiper-slide div table.caledit tr td.notTheMonth, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td.notTheMonth, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td.notTheMonth {
  color: var(--clr_sub20);
  background: #fff;
}
.cal .inner .notice p, .cal .feature .wrap .inner2 .notice p, .feature .wrap .cal .inner2 .notice p {
  width: 100%;
  margin: 0;
  text-align: left;
}
.cal .inner .notice p span, .cal .feature .wrap .inner2 .notice p span, .feature .wrap .cal .inner2 .notice p span {
  font-size: 1.2rem;
}
.cal .inner .notice p span.kyuushin, .cal .feature .wrap .inner2 .notice p span.kyuushin, .cal .feature .wrap .inner2 .notice p span.satOpen, .cal .feature .wrap .inner2 .notice p span.amOnly, .cal .feature .wrap .inner2 .notice p span.pmOnly, .cal .feature .wrap .inner2 .notice p span.open, .feature .wrap .cal .inner2 .notice p span.kyuushin, .feature .wrap .cal .inner2 .notice p span.satOpen, .feature .wrap .cal .inner2 .notice p span.amOnly, .feature .wrap .cal .inner2 .notice p span.pmOnly, .feature .wrap .cal .inner2 .notice p span.open, .cal .inner .notice p span.open, .cal .inner .notice p span.pmOnly, .cal .inner .notice p span.amOnly, .cal .inner .notice p span.satOpen {
  margin: 0 1rem 0 0;
}
.cal .inner .notice p span.kyuushin::before, .cal .inner .notice p span.satOpen::before, .cal .inner .notice p span.amOnly::before, .cal .inner .notice p span.pmOnly::before, .cal .inner .notice p span.open::before, .cal .feature .wrap .inner2 .notice p span.kyuushin::before, .cal .feature .wrap .inner2 .notice p span.satOpen::before, .cal .feature .wrap .inner2 .notice p span.amOnly::before, .cal .feature .wrap .inner2 .notice p span.pmOnly::before, .cal .feature .wrap .inner2 .notice p span.open::before, .feature .wrap .cal .inner2 .notice p span.kyuushin::before, .feature .wrap .cal .inner2 .notice p span.satOpen::before, .feature .wrap .cal .inner2 .notice p span.amOnly::before, .feature .wrap .cal .inner2 .notice p span.pmOnly::before, .feature .wrap .cal .inner2 .notice p span.open::before {
  display: inline-block;
  width: 16px;
  height: 16px;
  content: "";
  background: var(--clr_sub03);
  display: inline-block;
  vertical-align: -0.2rem;
  margin: 0 0.3rem 0 0;
  border: 1px var(--clr_sub20) solid;
}
.cal .inner .notice p span.open::before, .cal .feature .wrap .inner2 .notice p span.open::before, .feature .wrap .cal .inner2 .notice p span.open::before {
  background: #fff;
}
.cal .inner .notice p span.pmOnly::before, .cal .feature .wrap .inner2 .notice p span.pmOnly::before, .feature .wrap .cal .inner2 .notice p span.pmOnly::before {
  background: var(--clr_sub25);
}
.cal .inner .notice p span.amOnly::before, .cal .feature .wrap .inner2 .notice p span.amOnly::before, .feature .wrap .cal .inner2 .notice p span.amOnly::before {
  background: var(--clr_sub08);
}
.cal .inner .notice p span.satOpen::before, .cal .feature .wrap .inner2 .notice p span.satOpen::before, .feature .wrap .cal .inner2 .notice p span.satOpen::before {
  background: var(--clr_sub09);
}

@media screen and (min-width: 48em), print {
  .cal {
    padding: 4.73rem 0 11.9rem;
  }
  .cal .inner, .cal .feature .wrap .inner2, .feature .wrap .cal .inner2 {
    width: 1100px;
    margin: 0 auto;
  }
  .cal .inner .tit_02, .cal .feature .wrap .inner2 .tit_02, .feature .wrap .cal .inner2 .tit_02 {
    margin: 0;
  }
  .cal .inner .swiper-wrapper, .cal .feature .wrap .inner2 .swiper-wrapper, .feature .wrap .cal .inner2 .swiper-wrapper {
    margin: 2.8rem 0 0 0;
    padding: 3.2rem 3rem;
  }
  .cal .inner .swiper-wrapper .swiper-slide, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide {
    display: flex;
    justify-content: space-between;
  }
  .cal .inner .swiper-wrapper .swiper-slide div:nth-child(2), .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div:nth-child(2), .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div:nth-child(2) {
    margin: 0;
  }
  .cal .inner .swiper-wrapper .swiper-slide div table.caledit, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit {
    width: 50.3rem;
    margin: 0;
  }
  .cal .inner .swiper-wrapper .swiper-slide div table.caledit tr.month th, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr.month th, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr.month th {
    font-size: 2.6rem;
    padding: 0.8rem 0;
    border-bottom: 0.9rem var(--clr_sub12) solid;
  }
  .cal .inner .swiper-wrapper .swiper-slide div table.caledit tr.week th, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr.week th, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr.week th {
    font-size: 1.6rem;
    padding: 0.9rem 0;
    border-bottom: 0.81rem var(--clr_sub12) solid;
  }
  .cal .inner .swiper-wrapper .swiper-slide div table.caledit tr td, .cal .feature .wrap .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td, .feature .wrap .cal .inner2 .swiper-wrapper .swiper-slide div table.caledit tr td {
    font-size: 2rem;
    height: 4.4rem;
  }
  .cal .inner .notice, .cal .feature .wrap .inner2 .notice, .feature .wrap .cal .inner2 .notice {
    margin: 2.8rem 0 0 0;
    padding: 0;
  }
  .cal .inner .notice p, .cal .feature .wrap .inner2 .notice p, .feature .wrap .cal .inner2 .notice p {
    width: auto;
    margin: 0;
  }
  .cal .inner .notice p span.kyuushin, .cal .feature .wrap .inner2 .notice p span.kyuushin, .feature .wrap .cal .inner2 .notice p span.kyuushin, .cal .feature .wrap .inner2 .notice p span.open, .feature .wrap .cal .inner2 .notice p span.open, .cal .feature .wrap .inner2 .notice p span.pmOnly, .feature .wrap .cal .inner2 .notice p span.pmOnly, .cal .feature .wrap .inner2 .notice p span.amOnly, .feature .wrap .cal .inner2 .notice p span.amOnly, .cal .feature .wrap .inner2 .notice p span.satOpen, .feature .wrap .cal .inner2 .notice p span.satOpen, .cal .inner .notice p span.open, .cal .inner .notice p span.pmOnly, .cal .inner .notice p span.amOnly, .cal .inner .notice p span.satOpen {
    font-size: 1.6rem;
    margin: 0 1.7rem 0 0;
  }
  .cal .inner .notice p span.kyuushin::before, .cal .feature .wrap .inner2 .notice p span.kyuushin::before, .feature .wrap .cal .inner2 .notice p span.kyuushin::before, .cal .feature .wrap .inner2 .notice p span.open::before, .feature .wrap .cal .inner2 .notice p span.open::before, .cal .feature .wrap .inner2 .notice p span.pmOnly::before, .feature .wrap .cal .inner2 .notice p span.pmOnly::before, .cal .feature .wrap .inner2 .notice p span.amOnly::before, .feature .wrap .cal .inner2 .notice p span.amOnly::before, .cal .feature .wrap .inner2 .notice p span.satOpen::before, .feature .wrap .cal .inner2 .notice p span.satOpen::before, .cal .inner .notice p span.open::before, .cal .inner .notice p span.pmOnly::before, .cal .inner .notice p span.amOnly::before, .cal .inner .notice p span.satOpen::before {
    width: 1.7rem;
    height: 1.7rem;
    vertical-align: -0.25rem;
    margin: 0 1rem 0 0;
  }
}
body:not(.index) .main {
  margin: 0 0rem 6rem;
}
body:not(.index) .main p {
  margin: 0 0 2rem;
  letter-spacing: 0.06rem;
  line-height: 1.8;
}
@media screen and (min-width: 48em), print {
  body:not(.index) .main {
    margin: 0 0 8rem;
    font-size: 1.8rem;
  }
  body:not(.index) .main p {
    margin: 0 0 4rem;
    margin: 0 0 4rem;
  }
  body:not(.index) .main .rsv {
    width: 20rem;
    height: 4rem;
  }
  body:not(.index) .main .box a:hover {
    text-decoration: underline !important;
  }
  body:not(.index) .cf .img_l, body:not(.index) .cf .img_r {
    max-width: 45rem;
    height: auto;
  }
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 1.2rem;
  margin: 0 1rem 3rem;
}
.breadcrumb li:not(:first-child)::before {
  display: inline-block;
  content: ">";
  margin: 0 0.4rem;
}
.breadcrumb li a {
  color: var(--clr_main);
  text-decoration: underline;
}

@media screen and (min-width: 48em), print {
  .breadcrumb {
    font-size: 1.6rem;
    width: 1100px;
    margin: 0 auto 2.4rem;
  }
  .breadcrumb li:not(:first-child)::before {
    margin: 0 0.8rem;
  }
  .breadcrumb li a:hover {
    color: var(--clr_sub01);
  }
}
@media screen and (min-width: 48em), print {
  .doctor .img_r {
    max-width: 30rem !important;
  }
}
.doctor .dr_name {
  font-weight: bold;
  margin: 2rem 0 0 0 !important;
}
.doctor .dr_name span {
  display: block;
}
@media screen and (min-width: 48em), print {
  .doctor .dr_name {
    font-size: 2rem;
    margin: 4rem 0 0 0 !important;
  }
  .doctor .dr_name span {
    font-size: 2.4rem;
  }
}
.doctor .link {
  display: block;
  border: 0.1rem #3B6D34 solid;
  color: #3B6D34;
  line-height: 1.3;
  text-align: left;
  position: relative;
  margin: 1rem 0 0 0;
  font-size: 82%;
  padding: 1.2rem 0 0.8rem 0.4rem;
}
.doctor .link::after {
  font-family: "fontello";
  content: "\f08e";
  position: absolute;
  right: 0.6rem;
  top: 1.2rem;
  font-weight: normal;
}
@media screen and (min-width: 48em), print {
  .doctor .link {
    width: 30rem;
    height: 6rem;
    margin: 1rem auto 0;
    padding: 0.7rem 0 0 0;
    text-align: center;
    font-size: 1.8rem;
  }
  .doctor .link::after {
    right: 1rem;
    top: 1.8rem;
  }
  .doctor .link:hover {
    opacity: 0.6 !important;
  }
}

.clinic .txt_blue.bold {
  font-size: 1.2rem;
  margin: -0.5rem 0 1.5rem;
}
@media screen and (min-width: 48em), print {
  .clinic .txt_blue.bold {
    font-size: 150%;
    text-align: center;
    margin-bottom: 3rem;
  }
}

.gallery {
  width: 85%;
  margin: auto;
  visibility: hidden;
}
.gallery .gallery_slider div {
  position: relative;
}
.gallery .gallery_slider div .cap {
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  padding: 0.4rem;
  opacity: 0;
  transition: 0.3s ease;
  width: 100%;
  margin: 0;
  color: #fff;
}
.gallery .gallery_slider div .slick-current .cap {
  opacity: 1;
  transition-delay: 0.5s;
  background: rgba(103, 173, 211, 0.8);
}
.gallery .gallery_slider div:first-child .cap {
  transition-delay: 0s;
}
.gallery .gallery_slider .slick-arrow {
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 39%;
  cursor: pointer;
  line-height: 0;
  font-size: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  color: #fff;
  background: none;
  z-index: 1;
}
.gallery .gallery_slider .slick-arrow::before {
  font-family: "fontello";
  content: "\f006";
  color: var(--clr_main);
  font-size: 2.4rem;
}
.gallery .gallery_slider .slick-arrow.slick-next {
  right: -2.5rem;
}
.gallery .gallery_slider .slick-arrow.slick-prev {
  left: -2.5rem;
}
.gallery .gallery_slider .slick-arrow.slick-prev::before {
  font-family: "fontello";
  content: "\f007";
}
.gallery .gallery_slider .slick-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 1rem auto;
}
.gallery .gallery_slider .slick-dots li {
  width: 0.8rem;
  height: 0.8rem;
  margin: 0 0.2rem;
}
.gallery .gallery_slider .slick-dots li button {
  padding: 50%;
  display: block;
  font-size: 0;
  cursor: pointer;
  opacity: 0.25;
  border-radius: 50%;
  background: var(--clr_main);
}
.gallery .gallery_slider .slick-dots li button:hover, .gallery .gallery_slider .slick-dots li button:focus {
  opacity: 0.8;
}
.gallery .gallery_slider .slick-dots li.slick-active button {
  opacity: 0.75;
}
.gallery .gallery_thum div img {
  cursor: pointer;
  border: 2px solid transparent;
}
.gallery .gallery_thum .slick-current div img {
  border: 2px solid var(--clr_main);
}
.gallery #device .slick-track {
  transform: translate3d(0px, 0px, 0px) !important;
}

@media screen and (min-width: 48em), print {
  .gallery {
    width: 75rem;
    margin: auto;
  }
  .gallery .gallery_slider {
    font-size: 1.6em;
  }
  .gallery .gallery_slider .slick-arrow {
    width: 5rem;
    height: 5rem;
    top: 43%;
  }
  .gallery .gallery_slider .slick-arrow::before {
    font-size: 4.4rem;
  }
  .gallery .gallery_slider .slick-arrow.slick-next {
    right: -6rem;
  }
  .gallery .gallery_slider .slick-arrow.slick-prev {
    left: -6rem;
  }
  .gallery .gallery_slider .slick-dots {
    bottom: 5rem;
    margin: 1.6rem auto;
  }
  .gallery .gallery_slider .slick-dots li {
    width: 1.4rem;
    height: 1.4rem;
    margin: 0 0.6rem;
  }
  .gallery .gallery_thum {
    width: calc(100% + 0.6rem);
  }
  .gallery .gallery_thum .slick-track .slick-slide div img {
    cursor: pointer;
    border: 4px solid transparent;
  }
  .gallery .gallery_thum .slick-track .slick-slide.slick-current div img {
    border: 4px solid var(--clr_main);
  }
  .gallery #device .gallery_thum {
    width: calc(100% + 0.6rem);
  }
  .gallery #device .gallery_thum .slick-track {
    transform: translate3d(0px, 0px, 0px) !important;
  }
}
.machine_flex .equip {
  margin: 0 0 3rem;
}
.machine_flex .equip p {
  margin: 0;
}
@media screen and (min-width: 48em), print {
  .machine_flex {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 3rem 4.8rem;
  }
  .machine_flex .equip {
    width: 48%;
  }
  .machine_flex .equip p {
    font-size: 1.6rem;
  }
}

.first .main .tit_03 {
  font-size: 1.7rem;
}
.first .main .first_flex .img {
  max-width: 80%;
  margin: 1rem auto;
}
.first .main .first_flex .img img {
  border-radius: 5px;
}
.first .main .flex2 {
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
}
.first .main .flex2 > li {
  width: auto;
}
.first .main .flex2 > li:first-child {
  margin: 0 0 2rem;
}
.first .main .flex2 > li .tel {
  font-size: 150%;
}

@media screen and (min-width: 48em), print {
  .first .main .tit_03 {
    font-size: 2.2rem;
  }
  .first .main .first_flex {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: flex-end;
  }
  .first .main .first_flex .img {
    max-width: 35%;
    margin: 0 0 0 auto;
  }
  .first .main .first_flex .img img {
    border-radius: 10px;
  }
  .first .main .flex2 {
    justify-content: center;
    gap: 0 5rem;
  }
  .first .main .flex2 > li:first-child {
    margin: 0;
  }
  .first .main .flex2 > li .rsv {
    font-size: 2.6rem;
    width: 20.9rem;
    height: 5.9rem;
  }
  .first .main .flex2 > li .tel {
    font-size: 3rem;
  }
  .first .main .flex2 > li .tel::before {
    font-size: 2.6rem;
    margin: 0 0.6rem 0 0;
  }
}
.boxFlow, .boxFlow_lc {
  background: #F5F9FC;
  padding: 1rem;
  position: relative;
  margin: 0 0 4.5rem;
}
.boxFlow h3, .boxFlow_lc h3 {
  border-bottom: 0.2rem #57C3EA solid;
  color: var(--clr_main);
  font-size: 1.8rem;
  padding: 0 0 1rem;
  margin: 0 0 1.4rem;
}
.boxFlow p, .boxFlow_lc p {
  margin: 0 !important;
}
.boxFlow::after, .boxFlow_lc::after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  position: absolute;
  bottom: -4rem;
  left: 0;
  right: 0;
  border-top: 2rem solid #57C3EA;
  border-right: 3rem solid transparent;
  border-bottom: 1rem solid transparent;
  border-left: 3rem solid transparent;
  margin: auto;
}

.boxFlow_lc::after {
  display: none;
}

@media screen and (min-width: 48em), print {
  .boxFlow, .boxFlow_lc {
    padding: 3rem;
    margin: 0 0 6.5rem;
  }
  .boxFlow h4, .boxFlow_lc h4 {
    font-size: 2.4rem;
    padding: 0 0 2rem;
    margin: 0 0 2.5rem;
  }
  .boxFlow::after, .boxFlow_lc::after {
    bottom: -5rem;
  }
}
.access .main .gmap {
  height: 30rem;
}
@media screen and (min-width: 48em), print {
  .access .main .gmap {
    height: 50rem;
  }
}

.access .visitor_access_tab_wrap {
  display: flex;
  justify-content: flex-start;
}
.access .visitor_access_tab_wrap .visitor_access_tab {
  background: var(--clr_sub03);
  color: #fff;
  padding: 0.6em 1.7em;
  text-align: center;
  border-top-right-radius: 0.4rem;
}
.access .visitor_access_tab_wrap .visitor_access_tab.active {
  background: var(--clr_sub06);
}
.access .visitor_access_tab_wrap .visitor_access_tab:nth-child(2) {
  border-top-left-radius: 0.4rem;
}
.access .visitor_access_tab_content {
  display: none;
}
.access .visitor_access_tab_content.show {
  display: block;
}

@media screen and (min-width: 48em), print {
  .access .visitor_access_tab_wrap .visitor_access_tab {
    font-size: 1.8rem;
  }
  .access .visitor_map_illust_box {
    padding: 2rem;
    text-align: center;
    background: #fff;
    height: 50rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .access .visitor_map_illust_box img {
    width: 60rem;
  }
}
.price .flex2 li:not(:last-child) {
  margin: 0 0 1rem;
}
.price .flex2 li .btn {
  justify-content: flex-start;
  width: 100%;
  margin: 0;
}

@media screen and (min-width: 48em), print {
  .price .flex2 {
    gap: 1rem 0;
  }
  .price .flex2 li:not(:last-child) {
    margin: 0l;
  }
}
.tbl_price, .tbl_lst2, .tbl_lst, .tbl_price2 {
  width: 100%;
  border-collapse: collapse;
}
.tbl_price caption, .tbl_lst2 caption, .tbl_lst caption, .tbl_price2 caption {
  text-align: left;
  font-size: 85%;
}
.tbl_price th, .tbl_lst2 th, .tbl_lst th, .tbl_price2 th {
  padding: 0.4rem 1rem;
  background: #D4EDF9;
  border: 1px solid #67ADD3;
  text-align: center;
  font-weight: normal;
  width: 40%;
}
.tbl_price th.tit, .tbl_lst2 th.tit, .tbl_lst th.tit, .tbl_price2 th.tit {
  background: #67ADD3;
  color: #fff;
}
.tbl_price td, .tbl_lst2 td, .tbl_lst td, .tbl_price2 td {
  padding: 0.4rem 1rem;
  border: 1px solid #67ADD3;
  text-align: right;
  width: 60%;
}

.tbl_price2 th:nth-child(2), .tbl_price2 th:nth-child(3), .tbl_price2 td:nth-child(2), .tbl_price2 td:nth-child(3) {
  width: 30%;
}

.tbl_lst th {
  width: 30%;
}
.tbl_lst td {
  text-align: left;
  width: 70%;
}

.tbl_lst2 th {
  width: 35%;
}
.tbl_lst2 td {
  text-align: left;
  width: 65%;
}

.anc li {
  display: flex;
  line-height: 1.2;
  margin: 0 0 1rem;
  border: 1px var(--clr_sub18) solid;
  border-radius: 0.6rem;
  padding: 0.4rem 0.8rem;
}
.anc li::before {
  font-family: "fontello";
  content: "\e816";
  color: var(--clr_sub15);
  margin-right: 0.4rem;
}
.anc li a {
  color: var(--clr_sub15);
  display: inline-block;
  text-decoration: none !important;
}

@media screen and (min-width: 48em), print {
  .anc {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0 2rem;
  }
  .anc li {
    font-size: 110%;
    margin: 0 0 1.6rem;
    border-radius: 1rem;
    padding: 0.6rem 1.2rem;
  }
  .anc li::before {
    margin-right: 0.8rem;
  }
  .anc li:hover {
    background: var(--clr_sub18);
  }
  .anc li:hover::before {
    color: #fff;
  }
  .anc li:hover a {
    color: #fff;
  }
}
body.wrinkle {
  overflow: hidden !important;
}
body.wrinkle::after {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  width: 100%;
  height: 100%;
  content: "準備中";
  background: rgba(248, 248, 251, 0.7);
  position: fixed;
  top: 5.5rem;
  z-index: 90;
  transition: all 0.4s ease-in-out 0s;
  -webkit-backdrop-filter: blur(0.6rem);
  backdrop-filter: blur(0.6rem);
  visibility: visible;
  opacity: 1;
}
@media screen and (min-width: 48em), print {
  body.wrinkle::after {
    font-size: 3rem;
    top: 17.3rem;
    padding: 0 0 30%;
  }
}

.flex4 {
  display: flex;
  flex-direction: column;
}
.flex4 div {
  width: 90%;
  margin: 0 auto;
}
@media screen and (min-width: 48em), print {
  .flex4 {
    flex-direction: row;
  }
}/*# sourceMappingURL=style.css.map */