@charset "UTF-8";

/* アンカーリンクの到達位置調整 */
section[id],
footer[id],
div[id].newsArea,
div[id].planReservation,
section[id="about-clinic"] {
  scroll-margin-top: 80px;
}

/*/////////////////////////////
reset
/////////////////////////////*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

button {
  color: inherit;
  background: none;
  cursor: pointer;
  outline: none;
}

input,
select {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  border-radius: 0;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/**
* Swiper 8.4.4
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
* Copyright 2014-2022 Vladimir Kharlampidi
*
* Released under the MIT License
*
* Released on: October 12, 2022
*/
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}

:root {
  --swiper-theme-color:#007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  -ms-touch-action: pan-x;
      touch-action: pan-x;
}

.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition-property: height,-webkit-transform;
  transition-property: height,-webkit-transform;
  transition-property: transform,height;
  transition-property: transform,height,-webkit-transform;
}

.swiper-backface-hidden .swiper-slide {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  -webkit-perspective: 1200px;
          perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: '';
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-ordinal-group: 10000;
      -ms-flex-order: 9999;
          order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
          margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
          margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

/*/////////////////////////////
base
/////////////////////////////*/
html {
  font-size: 13px;
  font-size: 3.46667vw;
}

body {
  color: #313131;
  line-height: 1.8;
  font-size: 1rem;
  font-family: 'Noto Sans JP', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
  word-break: break-word;
  background-color: #FEFEFE;
  -webkit-text-size-adjust: 100%;
}

#wrapper.fixed {
  width: 100%;
  height: 100%;
  position: fixed;
}

@media screen and (min-width: 813px) {
  html {
    font-size: 1.01562vw;
    line-height: 2.4;
  }
}

@media screen and (min-width: 1280px) {
  html {
    font-size: 13px;
  }
}

/* list
* ------------------------- */
li {
  list-style: none;
}

/* link
* ------------------------- */
a {
  text-decoration: none;
  color: inherit;
}

/* img
* ------------------------- */
img {
  max-width: 100%;
  height: auto;
  outline: none;
  display: block;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-box-shadow: none;
  box-shadow: none;
}

a img {
  border: 0px;
}

img[src$=".svg"] {
  width: 100%;
}

/* headings
* ------------------------- */
h1, h2, h3, h4, h5 {
  font-weight: normal;
  font-size: 100%;
}

/* clearfix
* ------------------------- */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/* other
* ------------------------- */
/* linkbox */
.linkbox {
  cursor: pointer;
}

/* br */
br.pc {
  display: none;
}

@media screen and (min-width: 812px) {
  br.pc {
    display: inline;
  }
  br.sp {
    display: none;
  }
}

b {
  font-weight: 500;
}

/* ::selection */
::-moz-selection {
  background: #EBBCA0;
  color: #fff;
}
::selection {
  background: #EBBCA0;
  color: #fff;
}

/* ==========================================================
amoretto
Created: 2022-11

00.common
01.header
02.footer
03.main
04.featureArea
05.pointSect
07.infomation
08.planReservation
09.hero
========================================================== */
/*/////////////////////////////
00. common
- 1.fonts
- 2.container
- 3.mouseStalke
- 4.scrollIndicator
- 5.symbol
- 6.modal
- 7.splash
/////////////////////////////*/
/* 1.fonts
* ------------------------- */
.en_poppin {
  font-family: 'Poppins', sans-serif;
  font-weight: 300;
}

.en_mencken {
  font-family: 'mencken-std-head-narrow', sans-serif;
  font-weight: 400;
  font-style: normal;
}

/* 2.container
* ------------------------- */
.container {
  max-width: 1680px;
  margin: 0 auto;
}

/* 3.mouseStalke
* ------------------------- */
.mouseStalke {
  display: none;
}

/* 4.scrollIndicator
* ------------------------- */
.scrollIndicator {
  height: 1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  background: #F0F0F0;
  z-index: 11;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 1s ease, visibility 1s ease;
  transition: opacity 1s ease, visibility 1s ease;
}

.scrollIndicator._show {
  opacity: 1;
  visibility: visible;
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.scrollIndicator > div {
  width: 50%;
  height: 2px;
  overflow: hidden;
}

.scrollIndicator .bar {
  width: 0;
  height: 100%;
  background-color: #666;
}

.scrollIndicator .fv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.scrollIndicator .fv .bar {
  -webkit-transition: width .4s ease;
  transition: width .4s ease;
}

.scrollIndicator .fv[data-index="1"] .bar {
  width: 25%;
}

.scrollIndicator .fv[data-index="2"] .bar {
  width: 50%;
}

.scrollIndicator .fv[data-index="3"] .bar {
  width: 75%;
}

.scrollIndicator .fv[data-index="4"] .bar {
  width: 100%;
}

/* 5.symbol
* ------------------------- */
.symbol {
  display: none;
}

/* 6.modal
* ------------------------- */
.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99;
  overflow-y: auto;
  background: #FEFEFE;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity .6s ease-out, visibility .6s ease-out;
  transition: opacity .6s ease-out, visibility .6s ease-out;
}

.modal.is-visible {
  opacity: 1;
  visibility: visible;
}

.modal.is-visible .inner {
  opacity: 1;
}

.modal.is-visible .images img {
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
}

.modal .close .btn {
  color: #666;
  font-size: 0.92857rem;
  letter-spacing: .05em;
  line-height: 1.30769;
  display: block;
  position: fixed;
  top: calc(6rem + env(safe-area-inset-top));
  left: -0.28571rem;
  right: auto;
  z-index: 5;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.modal .close .btn span {
  display: block;
  padding-right: 0;
  padding-left: 2.07143rem;
}

.modal .close .btn span:before, .modal .close .btn span:after {
  content: "";
  display: block;
  width: 1.64286rem;
  height: 1px;
  background: #666;
  position: absolute;
  top: 50%;
  left: 0;
  right: auto;
  margin-top: -.5px;
}

.modal .close .btn span:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.modal .close .btn span:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.modal .close:after {
  content: "";
  display: block;
  width: 1px;
  height: 4.28571rem;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(#999), to(transparent));
  background: linear-gradient(to bottom, transparent, #999, transparent);
  background-size: 100% 200%;
  position: fixed;
  bottom: 2.14286rem;
  left: 1.85714rem;
  right: auto;
  z-index: 5;
  -webkit-animation: modalScrollFlow 2s infinite linear;
          animation: modalScrollFlow 2s infinite linear;
}

.modal .close:before {
  content: "SCROLL";
  font-family: 'Poppins', sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  color: #999;
  position: fixed;
  bottom: 6.8rem;
  left: 1.45rem;
  z-index: 5;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 1;
}

@-webkit-keyframes modalScrollFlow {
  0% { background-position: 0 100%; }
  100% { background-position: 0 -100%; }
}

@keyframes modalScrollFlow {
  0% { background-position: 0 100%; }
  100% { background-position: 0 -100%; }
}

.modal .inner {
  padding: 12.8% 0 14.93333%;
  opacity: 0;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}

.modal .title {
  font-size: 3.2rem;
  line-height: .95;
  margin-left: 8.53333%;
}

.modal .images {
  margin-top: 12.8%;
}

.modal .images img {
  -webkit-filter: brightness(300%);
          filter: brightness(300%);
  -webkit-transition: -webkit-filter .8s .2s ease;
  transition: -webkit-filter .8s .2s ease;
  transition: filter .8s .2s ease;
  transition: filter .8s .2s ease, -webkit-filter .8s .2s ease;
}

.modal .column {
  margin-top: 12.8%;
  padding: 0 15.46667%;
}

.modal .column .cap span {
  display: block;
}

.modal .column .cap .enum {
  color: #999;
  font-size: 0.92857rem;
  letter-spacing: .05em;
  line-height: 1;
}

.modal .column .cap .etitle {
  font-size: 2.28571rem;
  line-height: 1;
  margin-top: 0.57143rem;
}

.modal .column .text {
  margin-top: 2.28571rem;
}

.modal .column .text p {
  font-size: 0.92857rem;
  line-height: 2;
  letter-spacing: .14em;
}

.modal .column .text p + p {
  margin-top: 1.71429rem;
}

.modal .name {
  font-size: 0.78571rem;
  line-height: 1.8;
  letter-spacing: .1em;
  text-align: right;
  margin-top: 17.06667%;
  padding: 0 15.46667%;
}

/* 7.splash
* ------------------------- */
.splash {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #FEFEFE;
  z-index: 9998;
}

.splash .splash_images {
  opacity: 0;
}

.splash .splash_images .image {
  width: 82.93333%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0;
  z-index: 1;
  -webkit-transition: opacity .8s ease-out;
  transition: opacity .8s ease-out;
}

.splash .splash_images .image.narrow {
  width: 55.2%;
}

.splash .splash_images .image:first-child {
  opacity: 1;
  z-index: 2;
}

.splash[data-splash="2"] .splash_images .image:nth-child(2) {
  opacity: 1;
  z-index: 2;
  -webkit-transition-delay: .8s;
          transition-delay: .8s;
}

.splash[data-splash="2"] .splash_images .image:not(:nth-child(2)) {
  opacity: 0;
  z-index: 1;
}

.splash[data-splash="3"] .splash_images .image:nth-child(3) {
  opacity: 1;
  z-index: 2;
  -webkit-transition-delay: .8s;
          transition-delay: .8s;
}

.splash[data-splash="3"] .splash_images .image:not(:nth-child(3)) {
  opacity: 0;
  z-index: 1;
}

.splash[data-splash="4"] .splash_images .image:nth-child(4) {
  opacity: 1;
  z-index: 2;
  -webkit-transition-delay: .8s;
          transition-delay: .8s;
}

.splash[data-splash="4"] .splash_images .image:not(:nth-child(4)) {
  opacity: 0;
  z-index: 1;
}

.splash .circle {
  width: 88px;
  height: 88px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transition: opacity .8s ease;
  transition: opacity .8s ease;
  z-index: 5;
}

.splash .circle:before {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 88px;
  border-radius: 100%;
  border: #D3D3D3 1px solid;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-animation: circle-scale 2s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
  animation: circle-scale 2s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
}

.splash.hide .splash_images {
  opacity: 1;
  -webkit-transition: opacity .8s 1s ease-out;
  transition: opacity .8s 1s ease-out;
}

.splash.hide .circle {
  opacity: 0;
}

@-webkit-keyframes circle-scale {
  0% {
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
    opacity: 1;
  }
  70% {
    opacity: .8;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}

@keyframes circle-scale {
  0% {
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
    opacity: 1;
  }
  70% {
    opacity: .8;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}

@media (min-width: 813px) {
  .mouseStalke {
    display: block;
    width: 0.92308rem;
    height: 0.92308rem;
    position: fixed;
    top: -0.46154rem;
    left: -0.46154rem;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    z-index: 999;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity 0.2s ease, -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    transition: opacity 0.2s ease, -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    transition: opacity 0.2s ease, transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    transition: opacity 0.2s ease, transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .mouseStalke._init {
    -webkit-transition: opacity 1s ease, -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    transition: opacity 1s ease, -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    transition: opacity 1s ease, transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    transition: opacity 1s ease, transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .mouseStalke._hidden {
    opacity: 0 !important;
  }
  .mouseStalke._show {
    opacity: 1;
  }
  .mouseStalke:before {
    content: "";
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 100%;
    background-color: #B7B7B7;
    border: #B7B7B7 1px solid;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 1;
    -webkit-transition: width 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), height 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), border-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: width 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), height 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), border-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  }
  .mouseStalke div {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
  }
  .mouseStalke div:before, .mouseStalke div:after {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 0;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
  }
  .mouseStalke div:before {
    content: "Scroll";
    color: #313131;
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
    font-size: 0.92308rem;
    line-height: 1;
    letter-spacing: .1em;
    white-space: nowrap;
  }
  .mouseStalke div:after {
    content: "";
    width: 3.07692rem;
    height: 1rem;
    background: url("../images/arrow_side.svg") no-repeat;
    background-position: center center;
    background-size: contain;
  }
  .mouseStalke._hov:before {
    width: 800%;
    height: 800%;
    background-color: rgba(183, 183, 183, 0);
    border-color: #D3D3D3;
  }
  .mouseStalke._scroll:before {
    width: 933%;
    height: 933%;
    background-color: rgba(254, 254, 254, 0.6);
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
    border-color: #D3D3D3;
  }
  .mouseStalke._scroll div:before {
    opacity: 1;
  }
  .mouseStalke._scroll._onNav:before, .mouseStalke._scroll._hov:before {
    width: 800%;
    height: 800%;
    background-color: rgba(183, 183, 183, 0);
    -webkit-backdrop-filter: blur(0);
            backdrop-filter: blur(0);
    border-color: #D3D3D3;
  }
  .mouseStalke._scroll._onNav div:before, .mouseStalke._scroll._hov div:before {
    opacity: 0;
  }
  .scrollIndicator {
    background: #ccc;
    width: 7.69231rem;
    top: 50%;
    right: -0.11538rem;
    left: auto;
    -webkit-transform: rotate(90deg) translate3d(0, -50%, 0);
            transform: rotate(90deg) translate3d(0, -50%, 0);
  }
  .scrollIndicator > div {
    height: 1px;
  }
  .modal .close .btn {
    width: 6.15385rem;
    height: 100%;
    padding-top: 4.46154rem;
    font-size: 1.07692rem;
    line-height: 1;
    top: 0;
    right: 0;
    left: auto;
    bottom: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  .modal .close .btn:before {
    content: "";
    display: block;
    width: 1px;
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    bottom: 0;
    background: #ccc;
    -webkit-transform-origin: top center;
            transform-origin: top center;
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transition: -webkit-transform 1.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: -webkit-transform 1.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 1.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 1.2s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 1.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  .modal .close .btn span {
    white-space: nowrap;
    line-height: 1.14286;
    position: absolute;
    top: 4.46154rem;
    left: 50%;
    right: auto;
    padding-left: 2rem;
    padding-right: 0;
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: rotate(90deg) translate(0, -0.61538rem);
            transform: rotate(90deg) translate(0, -0.61538rem);
  }
  .modal .close .btn span:before, .modal .close .btn span:after {
    width: 1.61538rem;
    right: auto;
    left: 0;
    -webkit-transition: width .25s ease, -webkit-transform .25s ease;
    transition: width .25s ease, -webkit-transform .25s ease;
    transition: width .25s ease, transform .25s ease;
    transition: width .25s ease, transform .25s ease, -webkit-transform .25s ease;
  }
  .modal .close .btn:hover span:before {
    width: 1.23077rem;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .modal .close .btn:hover span:after {
    width: 1.23077rem;
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
  .modal .close:after {
    width: 1px;
    height: 5.38462rem;
    right: 2.88462rem;
    bottom: 1.84615rem;
    left: auto;
    opacity: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(#999), to(transparent));
    background: linear-gradient(to bottom, transparent, #999, transparent);
    background-size: 100% 200%;
    -webkit-transform: translate3d(0, -1rem, 0);
            transform: translate3d(0, -1rem, 0);
    -webkit-transition: all .8s 1s ease;
    transition: all .8s 1s ease;
    pointer-events: none;
  }
  .modal .close:before {
    content: "SCROLL";
    font-family: 'Poppins', sans-serif;
    font-size: 0.76923rem;
    letter-spacing: 0.3em;
    color: #999;
    position: fixed;
    right: 2.5rem;
    bottom: 7.8rem;
    z-index: 5;
    opacity: 0;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    line-height: 1;
    -webkit-transform: translate3d(0, -1rem, 0);
            transform: translate3d(0, -1rem, 0);
    -webkit-transition: all .8s 1s ease;
    transition: all .8s 1s ease;
    pointer-events: none;
  }
  .modal.is-visible .close .btn:before {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  .modal.is-visible .close:before {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  .modal.is-visible .close:after {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  .modal .inner {
    padding: 6.875% 11.48438% 6.875% 53.82813%;
  }
  .modal .title {
    font-size: 3.8rem;
    margin-left: 0;
  }
  .modal .title + .images + .column {
    margin-top: 16.66667%;
    padding-top: 0;
    border-top: none;
  }
  .modal .images {
    width: 42.26562%;
    position: fixed;
    top: 0;
    left: 0;
    right: auto;
    bottom: 0;
    z-index: 1;
    margin-top: 0;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity .8s ease-out;
    transition: opacity .8s ease-out;
  }
  .modal .images picture {
    display: block;
    width: 100%;
    height: 100%;
  }
  .modal .images img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .modal .images.show {
    opacity: 1;
    z-index: 2;
  }
  .modal .column {
    width: 88.96396%;
    margin: 16.21622% auto 0 0;
    padding: 16.21622% 0 0;
    border-top: #666 1px dashed;
  }
  .modal .column .cap .enum {
    font-size: 0.84615rem;
  }
  .modal .column .cap .etitle {
    font-size: 2.30769rem;
    margin-top: 0.61538rem;
  }
  .modal .column .text {
    margin-top: 2.76923rem;
  }
  .modal .column .text p {
    font-size: 1rem;
    letter-spacing: .1em;
  }
  .modal .column .text p + p {
    margin-top: 1.84615rem;
  }
  .modal .name {
    font-size: 0.84615rem;
    margin-top: 14.41441%;
    padding: 0;
  }
  .splash .splash_images .image {
    width: 38.59375%;
    max-width: 494px;
  }
  .splash .splash_images .image.narrow {
    width: 78.93333%;
    max-width: 296px;
  }
}

.header .navBody .gnav,
.header .navBody .sub-gnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem 2rem;
  padding: 2rem 0;
}

.header .navBody .gnav {
  border-bottom: 1px solid rgba(49, 49, 49, 0.1);
  margin-bottom: 2rem;
}

.header .navBody .sub-gnav {
  padding-top: 0;
}

.header .navBody .gnav > li > a,
.header .navBody .sub-gnav > li > a {
  display: block;
  font-weight: 600;
  font-size: 1.4rem;
  color: #313131;
  letter-spacing: 0.1em;
  position: relative;
  padding: 0.5rem 0;
}

.header .navBody .sub-gnav > li > a {
  font-size: 1.2rem;
  font-weight: 400;
  color: #666;
}

.header .navBody .sub-gnav > li > a::before {
  content: "▶";
  font-size: 0.8rem;
  margin-right: 0.5rem;
  color: #2c5f7c; /* 柿沼クリニックのテーマカラー（青系） */
}

@media (max-width: 812px) {
  .header .navBody .inner {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 60px 5% 20px; /* 余白を縮小 */
    height: 100dvh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .header .navBody nav {
    width: 100%;
  }

  .header .navBody .gnav,
  .header .navBody .sub-gnav {
    flex-direction: column;
    align-items: center;
    gap: 0.6rem; /* 行間を大幅に縮小 */
    padding: 1rem 0; /* 上下余白を縮小 */
    width: 100%;
    text-align: center;
  }

  .header .navBody .gnav {
    margin-bottom: 0;
    border-bottom: 1px solid rgba(49, 49, 49, 0.1);
  }

  .header .navBody .sub-gnav {
    background: transparent;
    width: 100%;
    margin-left: 0;
    padding: 1rem 0;
  }

  .header .navBody .gnav > li > a,
  .header .navBody .sub-gnav > li > a {
    font-size: 1.25rem; /* フォントサイズを縮小 */
    padding: 0.2rem 0; /* 文字の上下余白を縮小 */
  }

  .header .navBody .sub-gnav > li > a {
    font-size: 1.1rem; /* サブメニューはさらに小さく */
  }
}

/*/////////////////////////////
01. header
/////////////////////////////*/
.header .lSide,
.header .rSide {
  position: fixed;
  top: 0;
  z-index: 10;
  opacity: 1;
  -webkit-transition: opacity 1.2s 2.6s ease;
  transition: opacity 1.2s 2.6s ease;
}

.header .lSide {
  width: 112px;
  left: 0;
  padding: 24px 0 0 6.4%;
}

.header .lSide h1 {
  position: relative;
}

.header .lSide h1 a {
  display: block;
}

.header .rSide {
  width: 40px;
  right: 0;
  padding: 18px 6.4% 0 0;
}

.header .rSide .navBtn {
  display: block;
  width: 100%;
  height: 0;
  padding-top: 40px;
  position: relative;
  overflow: hidden;
}

.header .rSide .navBtn:before, .header .rSide .navBtn:after,
.header .rSide .navBtn span:before,
.header .rSide .navBtn span:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #313131;
  position: absolute;
  left: 0;
}

.header .rSide .navBtn:before {
  top: 14px;
  -webkit-transition: width .6s .4s ease;
  transition: width .6s .4s ease;
}

.header .rSide .navBtn span:before, .header .rSide .navBtn:after {
  top: 19px;
  -webkit-transition: -webkit-transform .4s ease;
  transition: -webkit-transform .4s ease;
  transition: transform .4s ease;
  transition: transform .4s ease, -webkit-transform .4s ease;
}

.header .rSide .navBtn span:after {
  top: 24px;
  -webkit-transition: width .3s .4s ease;
  transition: width .3s .4s ease;
}

.header .rSide .navBtn.open {
  z-index: 10001;
}

/* スマホ・タブレット（812px以下）で X アイコンに変形 */
@media screen and (max-width: 812px) {
  /* メニュー本体を強制的に表示 */
  .header .navBody.open {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .header .rSide .navBtn.open span:before {
    top: 19px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    background: #313131;
  }
  .header .rSide .navBtn.open:after {
    top: 19px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    background: #313131;
    display: block !important; /* clinic-hero.css の display:none を上書き */
  }
  .header .rSide .navBtn.open:before,
  .header .rSide .navBtn.open span:after {
    opacity: 0;
    width: 0;
  }
}

.header .navBody {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #FEFEFE;
  z-index: 20;
  display: none;
}

.header .navBody .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 8.53333%;
}

.header .navBody nav {
  width: 100%;
}

.header .navBody .gnav {
  line-height: 1;
}

.header .navBody .gnav > li + li {
  margin-top: 2.15385rem;
}

.header .navBody .gnav > li > a {
  color: #313131;
  font-size: 1.15385rem;
  font-weight: 400;
  letter-spacing: .04em;
}

.header .navBody .gnav .c {
  margin-top: 1.69231rem;
  padding-left: 1.07692rem;
}

.header .navBody .gnav .c li + li {
  margin-top: 1.15385rem;
}

.header .navBody .gnav .c li a {
  color: #999;
  font-weight: 400;
  letter-spacing: .04em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header .navBody .gnav .c li a:before, .header .navBody .gnav .c li a:after {
  content: "";
  display: block;
}

.header .navBody .gnav .c li a:before {
  content: "-";
  margin-right: .5em;
}

.header .navBody .gnav .c li a:after {
  width: 0.76923rem;
  height: 0.76923rem;
  background: url("../images/arrow_nav.svg") no-repeat;
  background-position: center center;
  background-size: contain;
  margin-left: 0.46154rem;
}

.header .navBody .insta {
  margin-top: 3.07692rem;
  padding-top: 3.07692rem;
  border-top: #ccc 1px solid;
}

.header .navBody .insta ul {
  line-height: 1.23077;
}

.header .navBody .insta ul li + li {
  margin-top: 1.23077rem;
}

.header .navBody .insta ul li a {
  color: #999;
  font-weight: 400;
  letter-spacing: .04em;
  display: inline-block;
  padding-left: 2rem;
  position: relative;
}

.header .navBody .insta ul li a:before {
  content: "";
  display: block;
  width: 1.23077rem;
  height: 1.23077rem;
  background: url("../images/icon_insta.svg") no-repeat;
  background-position: center center;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -0.61538rem;
}

#wrapper.is-hidden .header .lSide,
#wrapper.is-hidden .header .rSide {
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}

@media (min-width: 813px) {
  .header .lSide {
    width: 125px;
    left: 0;
    padding: 50px 0 0 3.75%;
  }
  .header .rSide {
    width: 50px;
    top: 39px;
    right: 3.75%;
    padding: 0;
  }
  .header .rSide .navBtn {
    padding-top: 50px;
    -webkit-transition: opacity .6s ease, visibility .6s ease;
    transition: opacity .6s ease, visibility .6s ease;
  }
  .header .rSide .navBtn:after {
    display: none;
  }
  .header .rSide .navBtn:before,
  .header .rSide .navBtn span:before,
  .header .rSide .navBtn span:after {
    width: 49px;
    left: 1px;
  }
  .header .rSide .navBtn:before {
    top: 18.5px;
  }
  .header .rSide .navBtn span:before {
    top: 24.5px;
  }
  .header .rSide .navBtn span:after {
    top: 30.5px;
  }
.header .rSide .navBtn {
  display: block;
  width: 100%;
  height: 0;
  padding-top: 40px;
  position: relative;
  overflow: hidden;
  z-index: 10002; /* z-indexを高く設定してメニューより手前に */
}

/* PC版（813px以上）: メニューを開いたらボタンを消す */
@media screen and (min-width: 813px) {
  .header .rSide .navBtn.open {
    opacity: 0;
    visibility: hidden;
  }
}

/* スマホ・タブレット（812px以下）: ボタンを表示し続け、X アイコンに変形 */
@media screen and (max-width: 812px) {
  .header .rSide .navBtn.open {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .header .rSide .navBtn.open span:before {
    top: 19px !important;
    -webkit-transform: rotate(45deg) !important;
            transform: rotate(45deg) !important;
    background: #313131 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .header .rSide .navBtn.open:after {
    top: 19px !important;
    -webkit-transform: rotate(-45deg) !important;
            transform: rotate(-45deg) !important;
    background: #313131 !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
  }
  .header .rSide .navBtn.open:before,
  .header .rSide .navBtn.open span:after {
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
  }
}

/* メニューが開いた時の表示（全デバイス共通） */
.header .navBody.open {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
  .header .navBody.open .gnav > li > a {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-transition: color .4s ease, -webkit-transform .4s .1s ease-out;
    transition: color .4s ease, -webkit-transform .4s .1s ease-out;
    transition: color .4s ease, transform .4s .1s ease-out;
    transition: color .4s ease, transform .4s .1s ease-out, -webkit-transform .4s .1s ease-out;
  }
  .header .navBody.open .gnav > li:nth-child(2) > a {
    -webkit-transition: color .4s ease, -webkit-transform .4s .15s ease-out;
    transition: color .4s ease, -webkit-transform .4s .15s ease-out;
    transition: color .4s ease, transform .4s .15s ease-out;
    transition: color .4s ease, transform .4s .15s ease-out, -webkit-transform .4s .15s ease-out;
  }
  .header .navBody.open .gnav > li:nth-child(3) > a {
    -webkit-transition: color .4s ease, -webkit-transform .4s .2s ease-out;
    transition: color .4s ease, -webkit-transform .4s .2s ease-out;
    transition: color .4s ease, transform .4s .2s ease-out;
    transition: color .4s ease, transform .4s .2s ease-out, -webkit-transform .4s .2s ease-out;
  }
  .header .navBody.open .gnav > li:nth-child(4) > a {
    -webkit-transition: color .4s ease, -webkit-transform .4s .25s ease-out;
    transition: color .4s ease, -webkit-transform .4s .25s ease-out;
    transition: color .4s ease, transform .4s .25s ease-out;
    transition: color .4s ease, transform .4s .25s ease-out, -webkit-transform .4s .25s ease-out;
  }
  .header .navBody.open .gnav > li:nth-child(5) > a {
    -webkit-transition: color .4s ease, -webkit-transform .4s .3s ease-out;
    transition: color .4s ease, -webkit-transform .4s .3s ease-out;
    transition: color .4s ease, transform .4s .3s ease-out;
    transition: color .4s ease, transform .4s .3s ease-out, -webkit-transform .4s .3s ease-out;
  }
  .header .navBody {
    width: 10.76923rem;
    position: absolute;
    top: 11px;
    right: 0;
    bottom: auto;
    left: auto;
    background: none;
    display: block !important;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .6s ease, visibility .6s ease;
    transition: opacity .6s ease, visibility .6s ease;
  }
  .header .navBody .inner {
    display: block;
    width: auto;
    height: auto;
    padding: 0;
  }
  .header .navBody nav {
    text-align: right;
  }
  .header .navBody .gnav > li {
    overflow: hidden;
  }
  .header .navBody .gnav > li + li {
    margin-top: 0;
  }
  .header .navBody .gnav > li > a {
    font-size: 0.92308rem;
    line-height: 2.5;
    white-space: nowrap;
    display: block;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    -webkit-transition: color .4s ease, -webkit-transform .4s ease-out;
    transition: color .4s ease, -webkit-transform .4s ease-out;
    transition: color .4s ease, transform .4s ease-out;
    transition: color .4s ease, transform .4s ease-out, -webkit-transform .4s ease-out;
  }
  .header .navBody .gnav > li > a:hover {
    color: #999;
  }
  .header .navBody .gnav .c {
    display: none;
  }
  .header .navBody .insta {
    display: none;
  }
}

/*/////////////////////////////
02. footer
/////////////////////////////*/
.footer {
  background: #FAF8F3;
  padding: 17.6% 0 9.06667%;
  position: relative;
  z-index: 1;
}

.footer .inner {
  padding: 0 8.53333%;
}

.footer .title {
  font-size: 4.30769rem;
  line-height: 1;
  text-align: center;
}

.footer .ja {
  font-size: 0.92308rem;
  font-weight: 300;
  line-height: 2;
  letter-spacing: .1em;
  text-align: center;
  margin-top: 1.38462rem;
}

.footer .copy {
  margin-top: 15.43408%;
}

.footer .copy p {
  color: #999;
  font-size: 0.84615rem;
  line-height: 1.8;
  letter-spacing: .04em;
}

.footer .contact {
  margin-top: 12.86174%;
}

.footer .contact .col {
  background: #FEFEFE;
  padding: 12.86174% 8.36013%;
}

.footer .contact .col + .col {
  margin-top: 5.14469%;
}

.footer .contact .col .shop {
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
  text-align: center;
}

.footer .contact .col .shop span {
  font-size: 1.15385rem;
  font-weight: bold;
}

.footer .contact .btn {
  margin-top: 7.72201%;
}

.footer .contact .btn li + li {
  margin-top: 4.6332%;
}

.footer .contact .btn li a {
  font-size: 0.92308rem;
  line-height: 2.66667;
  display: block;
  border: #313131 1px solid;
  padding: 0.92308rem 0;
  letter-spacing: .1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer .contact .btn li a:before {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 5.53846rem;
  height: 2.46154rem;
  background-size: 1.69231rem auto;
  background-repeat: no-repeat;
  background-position: center center;
  border-right: #313131 1px dashed;
}

.footer .contact .btn li a.en_poppin {
  font-weight: 400;
}

.footer .contact .btn li a.tel:before {
  background-image: url("../images/icon_tel.svg");
}

.footer .contact .btn li a.line:before {
  background-image: url("../images/icon_line.svg");
}

.footer .contact .btn li a span {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: block;
  text-align: center;
}

.footer .lyt {
  margin-top: 20.57878%;
  padding-top: 20.57878%;
  border-top: #313131 1px solid;
}

.footer .lyt .logo {
  width: 58.19936%;
}

.footer .lyt .logo a {
  display: block;
}

.footer .lyt .column {
  margin-top: 15.75563%;
}

.footer .lyt .column .catch {
  color: #313131;
  font-size: 1.23077rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: .25em;
}

.footer .lyt .column .text {
  color: #999;
  font-size: 0.92308rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: .04em;
  margin-top: 1.53846rem;
}

@media (min-width: 813px) {
  .footer {
    padding: 7.38462rem 0 3.76923rem;
  }
  .footer .inner {
    padding: 0 7.57812%;
  }
  .footer .title {
    font-size: 5.53846rem;
  }
  .footer .ja {
    font-size: 1rem;
    margin-top: 1.53846rem;
  }
  .footer .copy {
    margin-top: -1.53846rem;
  }
  .footer .copy p {
    font-size: 0.76923rem;
    line-height: 2;
  }
  .footer .contact {
    margin-top: 4.92308rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: center !important;
  }
  .footer .contact .col {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 48.5267%;
    padding: 3.69231rem 6.76923rem;
  }
  .footer .contact .col + .col {
    margin-top: 0;
  }
  .footer .contact .col .shop {
    font-size: 1.07692rem;
    text-align: left;
  }
  .footer .contact .col .shop span {
    font-size: 1.23077rem;
  }
  .footer .contact .btn {
    margin-top: 1.84615rem;
  }
  .footer .contact .btn li + li {
    margin-top: 0.92308rem;
  }
  .footer .contact .btn li a {
    font-size: 1rem;
    line-height: 2.92308;
    padding: 1rem 0;
    -webkit-transition: background-color .4s ease;
    transition: background-color .4s ease;
  }
  .footer .contact .btn li a:hover {
    background-color: #F6F6F6;
  }
  .footer .contact .btn li a:before {
    width: 6.76923rem;
    height: 2.92308rem;
    background-size: 2.15385rem auto;
  }
  .footer .lyt {
    margin-top: 7.38462rem;
    padding-top: 6.76923rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .footer .lyt .logo {
    width: 17.07692rem;
  }
  .footer .lyt .column {
    margin-top: 0;
    text-align: right;
  }
  .footer .lyt .column .catch {
    font-size: 1.69231rem;
    letter-spacing: .3em;
    margin-right: -1em;
  }
  .footer .lyt .column .text {
    font-size: 0.92308rem;
    line-height: 2;
    margin-top: 4.76923rem;
  }
}

/*/////////////////////////////
03. main
/////////////////////////////*/
.main {
  overflow: hidden;
  padding-bottom: 27.73333%;
  position: relative;
  z-index: 1;
}

@media (min-width: 813px) {
  .main {
    padding-bottom: 13.15385rem;
  }
}

/*/////////////////////////////
04. featureArea
/////////////////////////////*/
.featureArea .heading {
  margin: 5% 0 0;
}

.featureArea .heading .hdg02 {
  width: 50.13333%;
  position: relative;
  z-index: 2;
  margin-left: 6.66667%;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  -webkit-transition: -webkit-clip-path 1s 2s cubic-bezier(0, 0, 0.34, 1);
  transition: -webkit-clip-path 1s 2s cubic-bezier(0, 0, 0.34, 1);
  transition: clip-path 1s 2s cubic-bezier(0, 0, 0.34, 1);
  transition: clip-path 1s 2s cubic-bezier(0, 0, 0.34, 1), -webkit-clip-path 1s 2s cubic-bezier(0, 0, 0.34, 1);
}

.featureArea .heading .visual {
  width: 84.53333%;
  margin: -4.53333% 0 0 auto;
  position: relative;
  z-index: 1;
  opacity: 1;
  -webkit-transition: opacity 1.2s 1s ease-in;
  transition: opacity 1.2s 1s ease-in;
}

.featureArea .heading .visual img {
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
  -webkit-transition: -webkit-filter .8s 1s ease;
  transition: -webkit-filter .8s 1s ease;
  transition: filter .8s 1s ease;
  transition: filter .8s 1s ease, -webkit-filter .8s 1s ease;
  will-change: filter;
}

.featureArea._hidden .heading .hdg02 {
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  -webkit-transition-duration: 0s;
          transition-duration: 0s;
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

.featureArea._hidden .heading .visual {
  opacity: 0;
}

.featureArea._hidden .heading .visual img {
  -webkit-filter: brightness(300%);
          filter: brightness(300%);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.featureArea._hidden .pointSect.point01 .column .hdg03 .fig {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.15385rem, 0);
          transform: translate3d(0, 1.15385rem, 0);
}

.featureArea._hidden .pointSect.point01 .column .hdg03 .title {
  opacity: 0;
}

.featureArea._hidden .pointSect.point01 .column .text {
  opacity: 0;
}

@media (min-width: 813px) {
  .featureArea .heading {
    width: 69.29688%;
    margin: -50px 0 0 auto;
    position: relative;
  }
  .featureArea .heading .hdg02 {
    width: 44.19391%;
    position: absolute;
    top: 5.88235%;
    left: -33.14543%;
    margin-left: 0;
  }
  .featureArea .heading .visual {
    width: 100%;
    margin: 0;
  }
}

/*/////////////////////////////
10. newsArea
/////////////////////////////*/
.newsArea {
  margin-top: 21.33333%;
  padding: 0 8.53333%;
}

.newsArea__inner {
  display: flex;
  flex-direction: column;
}

.newsArea .heading {
  position: relative;
  display: block;
  margin-bottom: 3rem;
}

.newsArea .heading .hdg02 {
  font-size: 3.5rem;
  line-height: 1.1;
  margin-bottom: 1.5rem;
}

.newsArea .heading .hdg02 span.sub {
  display: block;
  font-size: 1.5rem;
  margin-top: 0.5rem;
}

.newsArea .heading__verticalText {
  position: relative;
  writing-mode: horizontal-tb;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  color: #313131;
}

.newsArea .newsList {
  border-top: 1px solid #313131;
}

.newsItem {
  padding: 2.5rem 0;
  border-bottom: 1px dashed #ccc;
  display: flex;
  flex-direction: column;
}

.newsItem__info {
  margin-bottom: 1rem;
}

.newsItem__info .date {
  font-size: 1rem;
  color: #999;
  letter-spacing: 0.05em;
}

.newsItem__content .title {
  font-size: 1.38462rem;
  font-weight: 500;
  margin-bottom: 1rem;
  line-height: 1.4;
}

.newsItem__content .text {
  font-size: 1.07692rem;
  line-height: 1.8;
  color: #666;
}

.newsMore {
  margin-top: 3rem;
  text-align: right;
}

.newsMore a {
  font-size: 1.23077rem;
  display: inline-block;
  padding-right: 2rem;
  position: relative;
  letter-spacing: 0.1em;
}

.newsMore a:before, .newsMore a:after {
  content: "";
  display: block;
  width: 1rem;
  height: 1px;
  background: #313131;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -0.5px;
}

.newsMore a:after {
  transform: rotate(90deg);
}

.newsMore a:hover:before, .newsMore a:hover:after {
  width: 0.61538rem;
  transform-origin: right center;
  right: 0.38462rem;
}

.newsMore a:hover:before {
  transform: rotate(-315deg);
}

.newsMore a:hover:after {
  transform: rotate(-45deg);
}

.newsMore a:before, .newsMore a:after {
  transition: all .3s ease;
}

@media (min-width: 813px) {
  .newsArea {
    margin-top: 12.5%;
    padding: 0 7.57812%;
  }

  .newsArea__inner {
    flex-direction: row;
    justify-content: space-between;
  }

  .newsArea .heading {
    width: 30%;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .newsArea .heading .hdg02 {
    font-size: 3.8rem;
    margin-bottom: 0;
    line-height: 1.2;
    white-space: nowrap;
  }

  .newsArea .heading .hdg02 span.sub {
    font-size: 1.8rem;
    margin-top: 0.5rem;
  }

  .newsArea .heading__verticalText {
    position: relative;
    right: auto;
    bottom: auto;
    writing-mode: vertical-rl;
    margin-top: 3rem;
    font-size: 1.1rem;
  }

  .newsArea .body {
    width: 68.13996%;
  }

  .newsItem {
    flex-direction: row;
    padding: 3rem 0;
  }

  .newsItem__info {
    width: 20%;
    margin-bottom: 0;
  }

  .newsItem__content {
    width: 80%;
  }

  .newsItem__content .title {
    font-size: 1.53846rem;
    margin-bottom: 1.23077rem;
  }
}

/*/////////////////////////////
05. pointSect
/////////////////////////////*/
.pointSect {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  margin-top: 10.66667%;
}

.pointSect + .pointSect {
  margin-top: 23.46667%;
}

.pointSect .image {
  width: 84.53333%;
  overflow: hidden;
  opacity: 1;
  -webkit-transition: opacity 1.2s ease;
  transition: opacity 1.2s ease;
}

.pointSect .image img {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  -webkit-transition: -webkit-transform 2.5s ease-out;
  transition: -webkit-transform 2.5s ease-out;
  transition: transform 2.5s ease-out;
  transition: transform 2.5s ease-out, -webkit-transform 2.5s ease-out;
}

.pointSect .image.is-hidden {
  opacity: 0;
}

.pointSect .image.is-hidden img {
  -webkit-transform: scale3d(1.2, 1.2, 1);
          transform: scale3d(1.2, 1.2, 1);
}

.pointSect .column {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: 0 15.46667%;
}

.pointSect .column + .image {
  margin-bottom: 3.07692rem;
}

.pointSect .column .hdg03 .fig {
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: opacity .8s ease, -webkit-transform .8s ease;
  transition: opacity .8s ease, -webkit-transform .8s ease;
  transition: opacity .8s ease, transform .8s ease;
  transition: opacity .8s ease, transform .8s ease, -webkit-transform .8s ease;
}

.pointSect .column .hdg03 .fig span {
  display: block;
}

.pointSect .column .hdg03 .fig .t {
  font-size: 1.23077rem;
  padding-bottom: 0.38462rem;
  margin-bottom: 0.15385rem;
  position: relative;
}

.pointSect .column .hdg03 .fig .t:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #313131;
  position: absolute;
  bottom: 0;
  left: 0;
}

.pointSect .column .hdg03 .fig .n {
  font-size: 2rem;
  margin-left: 0.46154rem;
}

.pointSect .column .hdg03 .title {
  display: block;
  font-size: 1.84615rem;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: .25em;
  margin: 1.53846rem -1.15385rem 0 0;
  opacity: 1;
  -webkit-transition: opacity .8s .6s ease;
  transition: opacity .8s .6s ease;
}

.pointSect .column .text {
  margin-top: 1.53846rem;
  opacity: 1;
  -webkit-transition: opacity .8s .8s ease;
  transition: opacity .8s .8s ease;
}

.pointSect .column .text p {
  font-weight: 300;
  letter-spacing: .15em;
}

.pointSect .column .text p + p {
  margin-top: 1.07692rem;
}

.pointSect .column.is-hidden .hdg03 .fig {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.15385rem, 0);
          transform: translate3d(0, 1.15385rem, 0);
  -webkit-transition: none;
  transition: none;
}

.pointSect .column.is-hidden .hdg03 .title {
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}

.pointSect .column.is-hidden .text {
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}

.pointSect.point01 .column .hdg03 .fig {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

.pointSect.point01 .column .hdg03 .title {
  -webkit-transition-delay: 1.9s;
          transition-delay: 1.9s;
}

.pointSect.point01 .column .text {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.pointSect.point03 .image {
  margin-left: auto;
}

@media (min-width: 813px) {
  .pointSect {
    margin-top: 4.30769rem;
  }
  .pointSect + .pointSect {
    margin-top: 12.5%;
  }
  .pointSect .image {
    width: 69.29688%;
  }
  .pointSect .column {
    width: 56.92308rem;
    padding: 0;
  }
  .pointSect .column + .image {
    margin-bottom: 4.30769rem;
  }
  .pointSect .column .hdg03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .pointSect .column .hdg03 .fig {
    width: 19rem;
  }
  .pointSect .column .hdg03 .fig .t {
    font-size: 1.84615rem;
    padding-bottom: 0.53846rem;
    margin-bottom: 0;
  }
  .pointSect .column .hdg03 .fig .n {
    font-size: 3.69231rem;
    margin-left: 0.92308rem;
    position: relative;
    top: 0.53846rem;
  }
  .pointSect .column .hdg03 .title {
    font-size: 2.30769rem;
    line-height: 1.8;
    letter-spacing: .4em;
    margin: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .pointSect .column .text {
    margin-top: 2rem;
    padding-left: 19rem;
  }
  .pointSect .column .text p {
    line-height: 2.4;
  }
  .pointSect .column .text p + p {
    margin-top: 1.23077rem;
  }
  .pointSect.point01 .column, .pointSect.point03 .column {
    margin-left: 30.70312%;
  }
  .pointSect.point02 .column {
    margin-left: 11.48438%;
  }
  .pointSect.point03 .hdg03 .fig {
    width: 15.23077rem;
  }
  .pointSect.point03 .text {
    padding-left: 15.23077rem;
  }
}

/*/////////////////////////////
05-2. featureCards (2-column vertical cards)
/////////////////////////////*/
.featureCards {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-top: 15%;
  padding: 0 5%;
}

.featureCard {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
}

.featureCard__image {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.featureCard__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale3d(1, 1, 1);
  transition: transform 2.5s ease-out;
}

/* Scroll effect for featureCard image */
.featureCard__image {
  opacity: 1;
  transition: opacity 1.2s ease;
}

.featureCard__image.is-hidden {
  opacity: 0;
}

.featureCard__image.is-hidden img {
  transform: scale3d(1.2, 1.2, 1);
}

/* Scroll effect for featureCard content */
.featureCard__content {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.featureCard__content.is-hidden {
  opacity: 0;
  transform: translate3d(0, 1.5rem, 0);
}

.featureCard__content {
  padding: 2rem 1.5rem 2.5rem;
}

.featureCard__number {
  display: flex;
  align-items: flex-end;
  gap: 0.4rem;
  margin-bottom: 1rem;
  line-height: 1;
}

.featureCard__number .t {
  font-size: 1.23077rem;
  padding-bottom: 0.38462rem;
  position: relative;
  color: #313131;
}

.featureCard__number .t::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #313131;
  position: absolute;
  bottom: 0;
  left: 0;
}

.featureCard__number .n {
  font-size: 2rem;
  color: #313131;
  font-weight: 400;
}

.featureCard__title {
  font-size: 1.84615rem;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: .25em;
  color: #313131;
  margin-bottom: 1.53846rem;
}

.featureCard__title .sub {
  display: block;
  font-size: 0.85rem;
  color: #888;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
  font-weight: 400;
}

.featureCard__text {
  font-weight: 300;
  letter-spacing: .15em;
  color: #313131;
}

.featureCard__text p + p {
  margin-top: 1.07692rem;
}

@media (min-width: 813px) {
  .featureCards {
    flex-direction: row;
    gap: 2.5rem;
    margin-top: 8rem;
    padding: 0;
    max-width: 85%;
    margin-left: auto;
    margin-right: auto;
  }

  .featureCard {
    flex: 1;
    border-radius: 8px;
  }

  .featureCard__image {
    aspect-ratio: 4 / 3;
  }

  .featureCard__content {
    padding: 2rem 2rem 2.5rem;
  }

  .featureCard__number .t {
    font-size: 1.84615rem;
    padding-bottom: 0.53846rem;
  }

  .featureCard__number .n {
    font-size: 3.69231rem;
    margin-left: 0.92308rem;
  }

  .featureCard__title {
    font-size: 2.30769rem;
    line-height: 1.8;
    letter-spacing: .4em;
  }

  .featureCard__title .sub {
    font-size: 1rem;
  }

  .featureCard__text p {
    line-height: 2.4;
  }

  .featureCard__text p + p {
    margin-top: 1.23077rem;
  }
}


/*/////////////////////////////
07. infomation
/////////////////////////////*/
.infomation {
  border: #313131 1px solid;
  margin: 21.33333% 8.53333% 0;
  padding: 6.93333% 0 5.86667%;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: opacity .8s ease, -webkit-transform .8s ease;
  transition: opacity .8s ease, -webkit-transform .8s ease;
  transition: opacity .8s ease, transform .8s ease;
  transition: opacity .8s ease, transform .8s ease, -webkit-transform .8s ease;
}

.infomation.is-hidden {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.15385rem, 0);
          transform: translate3d(0, 1.15385rem, 0);
  -webkit-transition: none;
  transition: none;
}

.infomation .inner {
  padding: 0 8.68167%;
}

.infomation__flex {
  display: block;
}

.infomation__image {
  width: 100%;
  max-width: 300px;
  margin: 0 auto 2.30769rem;
}

.infomation__image img {
  width: 100%;
  height: auto;
  display: block;
}

.infomation__content {
  text-align: center;
}

.infomation .hdg02 {
  font-size: 2.15385rem;
  line-height: 1;
  text-align: center;
}

.infomation .text {
  font-size: 0.92308rem;
  line-height: 1.6;
  letter-spacing: .1em;
  margin-top: 1.23077rem;
  padding-bottom: 1.84615rem;
  border-bottom: #666 1px dashed;
  text-align: left;
}

.infomation .link {
  margin-top: 1.69231rem;
  line-height: 1;
  text-align: center;
}

.infomation .link a {
  font-size: 1.07692rem;
  display: inline-block;
  padding-right: 1.61538rem;
  position: relative;
}

.infomation .link a:before, .infomation .link a:after {
  content: "";
  display: block;
  width: 0.84615rem;
  height: 1px;
  background: #313131;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -.5px;
}

.infomation .link a:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

@media (min-width: 813px) {
  .infomation {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 65.54688%;
    margin: 9.28125% auto 0;
    padding: 3.30769rem 0 2.61538rem;
  }
  .infomation .inner {
    padding: 0 5.84029%;
  }
  .infomation__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5%;
  }
  .infomation__image {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 35%;
            flex: 0 0 35%;
    margin: 0;
  }
  .infomation__content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: left;
  }
  .infomation .hdg02 {
    font-size: 2.46154rem;
    text-align: left;
  }
  .infomation .text {
    font-size: 1.07692rem;
    line-height: 1.8;
    margin-top: 1.53846rem;
    text-align: left;
  }
  .infomation .link {
    margin-top: 2.46154rem;
    text-align: right;
  }
  .infomation .link a:before, .infomation .link a:after {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
  }
  .infomation .link a:hover:before, .infomation .link a:hover:after {
    width: 0.61538rem;
    -webkit-transform-origin: right center;
            transform-origin: right center;
    right: 0.38462rem;
  }
  .infomation .link a:hover:before {
    -webkit-transform: rotate(-315deg);
            transform: rotate(-315deg);
  }
  .infomation .link a:hover:after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

/*/////////////////////////////
07-2. parallaxSection
/////////////////////////////*/
.parallaxSection {
  position: relative;
  height: 450px;
  background-image: url('../images/parallax_img.webp');
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 12rem 0;
}

.parallaxSection::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}

.parallaxSection .link {
  position: relative;
  z-index: 1;
  text-align: center;
}

.parallaxSection .link a {
  color: #fff;
  text-decoration: none;
  display: block;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.parallaxSection .link a:hover {
  opacity: 0.8;
}

.parallaxSection .link .ja {
  display: block;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

.parallaxSection .link .en {
  display: block;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

@media (max-width: 812px) {
  .parallaxSection {
    height: 300px;
    background-attachment: scroll;
    margin: 8rem 0;
  }
  .parallaxSection .link .ja {
    font-size: 2.2rem;
  }
  .parallaxSection .link .en {
    font-size: 1.4rem;
  }
}

/*/////////////////////////////
08. planReservation
/////////////////////////////*/
.planReservation {
  margin-top: 27.73333%;
}

.planReservation .inner {
  padding: 0 8.53333%;
}

.planReservation .heading .hdg02 {
  font-size: 4.30769rem;
  line-height: .9;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: opacity .8s ease, -webkit-transform .8s ease;
  transition: opacity .8s ease, -webkit-transform .8s ease;
  transition: opacity .8s ease, transform .8s ease;
  transition: opacity .8s ease, transform .8s ease, -webkit-transform .8s ease;
}

.planReservation .heading .hdg02 + .heading__text {
  margin-top: 2rem;
}

.planReservation .heading .hdg02.is-hidden {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.15385rem, 0);
          transform: translate3d(0, 1.15385rem, 0);
  -webkit-transition: none;
  transition: none;
}

.planReservation .heading .text {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: .05em;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: opacity .8s .2s ease, -webkit-transform .8s .2s ease;
  transition: opacity .8s .2s ease, -webkit-transform .8s .2s ease;
  transition: opacity .8s .2s ease, transform .8s .2s ease;
  transition: opacity .8s .2s ease, transform .8s .2s ease, -webkit-transform .8s .2s ease;
}

.planReservation .heading__text {
  max-width: 88%;
}

.planReservation .infoBox {
  margin-top: 2rem;
  padding: 1.8rem;
  background: #fdfdfd;
  border: 1px solid #eee;
}

.planReservation .infoBox__title {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #313131;
}

.planReservation .infoBox__list {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #555;
}

.planReservation .infoBox__list li {
  position: relative;
  padding-left: 1.5em;
  margin-top: 0.8rem;
}

.planReservation .infoBox__list li:first-child {
  margin-top: 0;
}

.planReservation .infoBox__list li:before {
  content: "※";
  position: absolute;
  left: 0;
}

.planReservation .heading .text.note {
  margin-top: 2rem;
  font-size: 0.9rem;
  line-height: 1.7;
  color: #666;
}

.planReservation .scheduleBox {
  margin-top: 2.5rem;
}

.planReservation .scheduleBox__title {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #313131;
}

.planReservation .scheduleTable {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.planReservation .scheduleTable table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  font-size: 0.85rem;
  table-layout: fixed;
}

.planReservation .scheduleTable th,
.planReservation .scheduleTable td {
  border: 1px solid #eee;
  padding: 0.8rem 0;
  color: #555;
  text-align: center;
  vertical-align: middle;
}

.planReservation .scheduleTable thead th {
  background: #f9f9f9;
  font-weight: 500;
  color: #313131;
}

.planReservation .scheduleTable tbody th {
  background: #fdfdfd;
  font-weight: 500;
  width: 4rem;
}

.planReservation .scheduleTable td.closed {
  color: #ccc;
  background: #fafafa;
}

.planReservation .scheduleTable__note {
  margin-top: 0.8rem;
  font-size: 0.8rem;
  color: #888;
  text-align: right;
}

.planReservation .heading .text.is-hidden {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.15385rem, 0);
          transform: translate3d(0, 1.15385rem, 0);
  -webkit-transition: none;
  transition: none;
}

.planReservation .heading.is-hidden .hdg02,
.planReservation .heading.is-hidden .text {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.15385rem, 0);
          transform: translate3d(0, 1.15385rem, 0);
  -webkit-transition: none;
  transition: none;
}

.planReservation .body {
  margin-top: 12.86174%;
  padding: 0 8.36013%;
}

.planReservation .body .lyt .col {
  opacity: 1;
  -webkit-transition: opacity 1.2s ease;
  transition: opacity 1.2s ease;
}

.planReservation .body .lyt .col.is-hidden {
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}

.planReservation .body .lyt .col.is-hidden .image img {
  -webkit-transform: scale3d(1.2, 1.2, 1);
          transform: scale3d(1.2, 1.2, 1);
  -webkit-transition: none;
  transition: none;
}

.planReservation .body .lyt .col + .col {
  margin-top: 16.98842%;
}

.planReservation .body .lyt .col .col__inner {
  display: block;
  border-bottom: #ccc 1px solid;
  padding-bottom: 1.46154rem;
}

.planReservation .body .lyt .col .col__inner:hover .image img {
  -webkit-filter: grayscale(0%);
          filter: grayscale(0%);
}

.planReservation .body .lyt .col .image {
  position: relative;
  overflow: hidden;
  margin-top: 2rem;
}

.planReservation .body .lyt .col .image:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  border: #b5ccca 6px solid;
}

.planReservation .body .lyt .col .image img {
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
  position: relative;
  z-index: 1;
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  -webkit-transition: -webkit-filter .6s ease, -webkit-transform 2.5s ease-out;
  transition: -webkit-filter .6s ease, -webkit-transform 2.5s ease-out;
  transition: filter .6s ease, transform 2.5s ease-out;
  transition: filter .6s ease, transform 2.5s ease-out, -webkit-filter .6s ease, -webkit-transform 2.5s ease-out;
}

/* スマートフォン表示で画像が中央に来た時にカラーにする */
.planReservation .body .lyt .col .image img.is-visible {
  -webkit-filter: grayscale(0%);
          filter: grayscale(0%);
}

.planReservation .body .lyt .col .place {
  line-height: 1;
  margin-top: 1.23077rem;
  position: relative;
}

/*.planReservation .body .lyt .col .place:before {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 2.76923rem;
  height: 2.76923rem;
  border: #D9D9D9 1px solid;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -1.38462rem;
}*/

/*.planReservation .body .lyt .col .place:after {
  content: "";
  display: block;
  width: 0.92308rem;
  height: 0.92308rem;
  background: url("../images/arrow_up.svg") no-repeat;
  background-position: center center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0.92308rem;
  margin-top: -0.46154rem;
}*/

.planReservation .body .lyt .col .place span {
  display: block;
}

.planReservation .body .lyt .col .place .n {
  color: #666;
  font-size: 0.84615rem;
  font-weight: 400;
  letter-spacing: .04em;
}

.planReservation .body .lyt .col .place .p {
  font-size: 1.15385rem;
  font-weight: 600;
  letter-spacing: .04em;
  margin-top: 0.38462rem;
}

.planReservation .body .lyt .col .info {
  margin-top: 1.5rem;
  padding: 1.5rem 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.planReservation .hoursTable {
  width: 100%;
  font-size: 0.95rem;
  line-height: 1.6;
}

.planReservation .hoursTable th {
  width: 4rem;
  font-weight: 700;
  color: #666;
  padding: 0.2rem 0;
}

.planReservation .hoursTable td {
  padding: 0.2rem 0;
  color: #313131;
}

.planReservation .hoursTable tr.closed th,
.planReservation .hoursTable tr.closed td {
  font-size: 0.85rem;
  color: #999;
}

.planReservation .address {
  font-size: 1rem;
  line-height: 1.8;
  color: #313131;
}

.planReservation .address .note {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.85rem;
  color: #666;
}

.planReservation .body .lyt .col .links {
  margin-top: 1.5rem;
}

.planReservation .body .lyt .col .links ul {
  display: block;
}

.planReservation .body .lyt .col .links ul li {
  margin: 0;
}

.planReservation .body .lyt .col .links ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1rem 0;
  border: 1px solid #b5ccca;
  font-size: 1rem;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
  color: #313131;
}

.planReservation .body .lyt .col .links ul li a:hover {
  background: #b5ccca;
  color: #fff;
}

.planReservation .body .lyt .col .links ul li a:before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 1rem;
}

.planReservation .body .lyt .col .links ul li a.tel:before {
  background-image: url("../images/icon_tel.svg");
}

.planReservation .body .lyt .col .links ul li a.map:before {
  background-image: url("../images/icon_map.svg");
}

.planReservation .body .lyt .col .links ul li a:hover:before {
  filter: invert(1);
}

.planReservation .body .lyt .col .links ul li a.tel:hover:before {
  filter: none;
}

@media (min-width: 813px) {
  .planReservation {
    margin-top: 12.5%;
  }
  .planReservation .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 7.57812%;
  }
  .planReservation .heading {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .planReservation .heading .hdg02 {
    font-size: 3.8rem;
    line-height: 1.2;
  }
  .planReservation .heading .hdg02 + .heading__text {
    margin-top: 3.69231rem;
  }
  .planReservation .heading .text {
    font-size: 1.1rem;
  }
  .planReservation .infoBox__list {
    font-size: 1rem;
  }
  .planReservation .heading .text.note {
    font-size: 0.95rem;
  }
  .planReservation .scheduleTable table {
    font-size: 0.95rem;
  }
  .planReservation .heading .text + .text {
    margin-top: 0.61538rem;
  }
  .planReservation .body {
    width: 68.13996%;
    margin-top: 0;
    padding: 0;
  }
  .planReservation .body .lyt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .planReservation .body .lyt .col {
    width: 46.62162%;
    -webkit-transition-delay: .6s;
            transition-delay: .6s;
  }
  .planReservation .body .lyt .col + .col {
    margin-top: 0;
  }
  .planReservation .body .lyt .col .col__inner {
    padding-bottom: 2.69231rem;
    -webkit-transition: border-color .6s ease;
    transition: border-color .6s ease;
  }
  .planReservation .body .lyt .col .col__inner:hover {
    border-color: #313131;
  }
  .planReservation .body .lyt .col .col__inner:hover .image img {
    -webkit-filter: grayscale(0%);
            filter: grayscale(0%);
  }
  /*.planReservation .body .lyt .col .col__inner:hover .place:before {
    border-color: #313131;
  }
  .planReservation .body .lyt .col .col__inner:hover .place:after {
    -webkit-transform: translate3d(2px, -2px, 0);
            transform: translate3d(2px, -2px, 0);
  }*/
  .planReservation .body .lyt .col .image img {
    -webkit-transition: -webkit-filter .6s ease, -webkit-transform 2.5s ease-out;
    transition: -webkit-filter .6s ease, -webkit-transform 2.5s ease-out;
    transition: filter .6s ease, transform 2.5s ease-out;
    transition: filter .6s ease, transform 2.5s ease-out, -webkit-filter .6s ease, -webkit-transform 2.5s ease-out;
  }
  .planReservation .body .lyt .col .place {
    margin-top: 1.53846rem;
  }
  /*.planReservation .body .lyt .col .place:before {
    width: 3.07692rem;
    height: 3.07692rem;
    margin-top: -1.53846rem;
    -webkit-transition: border-color .6s ease;
    transition: border-color .6s ease;
  }*/
  /*.planReservation .body .lyt .col .place:after {
    right: 1.07692rem;
    -webkit-transition: -webkit-transform .6s ease;
    transition: -webkit-transform .6s ease;
    transition: transform .6s ease;
    transition: transform .6s ease, -webkit-transform .6s ease;
  }*/
  .planReservation .body .lyt .col .place .n {
    color: #666;
    font-size: 0.92308rem;
  }
  .planReservation .body .lyt .col .place .p {
    font-size: 1.23077rem;
    margin-top: 0.46154rem;
  }
  .planReservation .body .lyt .col .links {
    margin-top: 2rem;
  }
  .planReservation .body .lyt .col .links ul {
    display: block;
  }
  .planReservation .body .lyt .col .links ul li + li {
    margin-left: 0;
    margin-top: 1rem;
  }
  .planReservation .body .lyt .col .links ul li a {
    padding: 1.2rem 0;
    font-size: 1.1rem;
  }
  .planReservation .body .lyt .col .links ul li a:after {
    display: none;
  }
  .planReservation .body .lyt .col .links ul li a.ig:after {
    background-image: url("../images/icon_insta_hover.svg");
  }
  .planReservation .body .lyt .col .links ul li a.map:after {
    background-image: url("../images/icon_map_hover.svg");
  }
}

/*/////////////////////////////
09. hero
/////////////////////////////*/
.hero {
  background: #fff;
  position: relative;
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 1.4s ease, visibility 1.4s ease;
  transition: opacity 1.4s ease, visibility 1.4s ease;
}

.hero:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  visibility: hidden;
  z-index: 2;
}

.hero._canceller:after {
  visibility: visible;
}

.hero._hidden {
  opacity: 0;
  visibility: hidden;
}

.hero._hidden::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  visibility: hidden;
  z-index: 2;
}

.hero._hidden .swiper-slide.swiper-slide-active .inner .image .i {
  opacity: 0;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.hero._hidden .swiper-slide.swiper-slide-active .inner .image picture img {
  -webkit-filter: brightness(300%);
          filter: brightness(300%);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.hero._hidden._visible {
  opacity: 1;
  visibility: visible;
}

.hero._hidden._visible .swiper-slide.swiper-slide-active .inner .image .i {
  opacity: 1;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.hero._hidden._visible .swiper-slide.swiper-slide-active .inner .image picture img {
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.hero .swiper {
  width: 100%;
  height: 100vh;
}

.hero .swiper-slide {
  z-index: 1;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: cubic-bezier(0.61, 1, 0.88, 1);
          transition-timing-function: cubic-bezier(0.61, 1, 0.88, 1);
}

.hero .swiper-slide .inner {
  height: 100%;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 51px;
  overflow: hidden;
}

.hero .swiper-slide .inner .lyt {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.hero .swiper-slide .inner .col,
.hero .swiper-slide .inner .image {
  width: 100%;
  position: relative;
}

.hero .swiper-slide .inner .col .copyText {
  font-size: 0.92308rem;
  line-height: 2.4;
  letter-spacing: .3em;
  opacity: 0;
  -webkit-filter: blur(2.30769rem);
          filter: blur(2.30769rem);
  -webkit-transition: opacity 0s 1s cubic-bezier(0.61, 1, 0.88, 1), -webkit-filter 0s 1s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 0s 1s cubic-bezier(0.61, 1, 0.88, 1), -webkit-filter 0s 1s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 0s 1s cubic-bezier(0.61, 1, 0.88, 1), filter 0s 1s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 0s 1s cubic-bezier(0.61, 1, 0.88, 1), filter 0s 1s cubic-bezier(0.61, 1, 0.88, 1), -webkit-filter 0s 1s cubic-bezier(0.61, 1, 0.88, 1);
  will-change: filter;
}

.hero .swiper-slide .inner .image .i {
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: opacity 1.2s ease-in;
  transition: opacity 1.2s ease-in;
}

.hero .swiper-slide .inner .image picture {
  width: 100%;
  height: 100%;
}

.hero .swiper-slide .inner .image picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  z-index: 1;
  -webkit-filter: brightness(300%);
          filter: brightness(300%);
  -webkit-transition: -webkit-filter 1s ease;
  transition: -webkit-filter 1s ease;
  transition: filter 1s ease;
  transition: filter 1s ease, -webkit-filter 1s ease;
  will-change: filter;
}

.hero .swiper-slide.pnl01 .inner .col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 47.31369%;
}

.hero .swiper-slide.pnl01 .inner .col .copy {
  width: 23.73333%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.hero .swiper-slide.pnl01 .inner .col .copy .t1 {
  width: 23.59551%;
}

.hero .swiper-slide.pnl01 .inner .col .copy .l {
  width: 61.79775%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.hero .swiper-slide.pnl01 .inner .col .copy .l .t2 {
  width: 38.18182%;
}

.hero .swiper-slide.pnl01 .inner .col .copy span {
  display: block;
}

.hero .swiper-slide.pnl01 .inner .col .copy svg {
  display: block;
  overflow: visible;
}

.hero .swiper-slide.pnl01 .inner .col .copy svg path {
  fill: #313131;
  fill-rule: evenodd;
  opacity: 0;
  -webkit-filter: blur(2.30769rem);
          filter: blur(2.30769rem);
  -webkit-transition: opacity 0s 1s cubic-bezier(0.61, 1, 0.88, 1), -webkit-filter 0s 1s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 0s 1s cubic-bezier(0.61, 1, 0.88, 1), -webkit-filter 0s 1s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 0s 1s cubic-bezier(0.61, 1, 0.88, 1), filter 0s 1s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 0s 1s cubic-bezier(0.61, 1, 0.88, 1), filter 0s 1s cubic-bezier(0.61, 1, 0.88, 1), -webkit-filter 0s 1s cubic-bezier(0.61, 1, 0.88, 1);
  will-change: filter;
}

.hero .swiper-slide.pnl01 .inner .image {
  height: 52.68631%;
}

.hero .swiper-slide.pnl01 .inner .image .writeText {
  width: 47.73333%;
  position: absolute;
  top: 3.47003%;
  left: 47.2%;
  z-index: 2;
}

.hero .swiper-slide.pnl01 .inner .image .writeText svg {
  display: block;
}

.hero .swiper-slide.pnl01 .inner .image .writeText #hero-title-mask .cls-1 {
  -webkit-transition: stroke-dashoffset 0s 1s ease;
  transition: stroke-dashoffset 0s 1s ease;
}

.hero .swiper-slide.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(1) {
  stroke-dashoffset: 860;
  stroke-dasharray: 860;
}

.hero .swiper-slide.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(2) {
  stroke-dashoffset: 40;
  stroke-dasharray: 40;
}

.hero .swiper-slide.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(3) {
  stroke-dashoffset: 210;
  stroke-dasharray: 210;
}

.hero .swiper-slide.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(4) {
  stroke-dashoffset: 270;
  stroke-dasharray: 270;
}

.hero .swiper-slide.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(5) {
  stroke-dashoffset: 260;
  stroke-dasharray: 260;
}

.hero .swiper-slide.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(6) {
  stroke-dashoffset: 290;
  stroke-dasharray: 290;
}

.hero .swiper-slide.pnl02 .inner .col {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 48.00693%;
}

.hero .swiper-slide.pnl02 .inner .col:after {
  content: "";
  display: block;
  width: 1px;
  height: 20.21661%;
}

.hero .swiper-slide.pnl02 .inner .image {
  height: 51.99307%;
}

.hero .swiper-slide.pnl03 .inner .col {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  height: 48.00693%;
}

.hero .swiper-slide.pnl03 .inner .col:after {
  content: "";
  display: block;
  width: 1px;
  height: 20.21661%;
}

.hero .swiper-slide.pnl03 .inner .col .copyText {
  margin-left: 29.33333%;
}

.hero .swiper-slide.pnl03 .inner .image {
  height: 51.99307%;
}

.hero .swiper-slide.pnl03 .inner .image .en {
  width: 39.46667%;
  position: absolute;
  top: 69.66667%;
  left: 4.8%;
  z-index: 2;
  -webkit-transform: rotate(-21.64deg);
          transform: rotate(-21.64deg);
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  -webkit-transition: -webkit-clip-path 0s 1s cubic-bezier(0, 0, 0.34, 1);
  transition: -webkit-clip-path 0s 1s cubic-bezier(0, 0, 0.34, 1);
  transition: clip-path 0s 1s cubic-bezier(0, 0, 0.34, 1);
  transition: clip-path 0s 1s cubic-bezier(0, 0, 0.34, 1), -webkit-clip-path 0s 1s cubic-bezier(0, 0, 0.34, 1);
}

.hero .swiper-slide.pnl04 .inner {
  padding-top: 0;
}

.hero .swiper-slide.pnl04 .inner .col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 45.469%;
}

.hero .swiper-slide.pnl04 .inner .col:before, .hero .swiper-slide.pnl04 .inner .col:after {
  content: "";
  display: block;
  width: 1px;
}

.hero .swiper-slide.pnl04 .inner .col:before {
  height: 5.59441%;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.hero .swiper-slide.pnl04 .inner .col:after {
  height: 17.48252%;
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
}

.hero .swiper-slide.pnl04 .inner .col .copyText {
  margin-left: 15.46667%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.hero .swiper-slide.pnl04 .inner .col .en {
  width: 42.13333%;
  margin-left: 15.46667%;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  -webkit-transition: -webkit-clip-path 0s 1s cubic-bezier(0, 0, 0.34, 1);
  transition: -webkit-clip-path 0s 1s cubic-bezier(0, 0, 0.34, 1);
  transition: clip-path 0s 1s cubic-bezier(0, 0, 0.34, 1);
  transition: clip-path 0s 1s cubic-bezier(0, 0, 0.34, 1), -webkit-clip-path 0s 1s cubic-bezier(0, 0, 0.34, 1);
}

.hero .swiper-slide.pnl04 .inner .image {
  height: 54.531%;
}

.hero .swiper-slide.swiper-slide-active {
  z-index: 2;
}

.hero .swiper-slide.swiper-slide-active .inner .image .i {
  opacity: 1;
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.hero .swiper-slide.swiper-slide-active .inner .image picture img {
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.hero .swiper-slide.swiper-slide-active .inner .col .copyText {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transition-duration: 1.8s;
          transition-duration: 1.8s;
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .i {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .image picture img {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1 {
  -webkit-transition-property: stroke-dashoffset;
  transition-property: stroke-dashoffset;
  -webkit-transition-duration: .4s;
          transition-duration: .4s;
  -webkit-transition-delay: 3s;
          transition-delay: 3s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(1), .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(2), .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(3), .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(4), .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(5), .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(6) {
  stroke-dashoffset: 0;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(2) {
  -webkit-transition-duration: .1s;
          transition-duration: .1s;
  -webkit-transition-delay: 3.4s;
          transition-delay: 3.4s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(3) {
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-transition-delay: 3.5s;
          transition-delay: 3.5s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(4) {
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-transition-delay: 3.7s;
          transition-delay: 3.7s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(5) {
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-transition-delay: 3.9s;
          transition-delay: 3.9s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(6) {
  -webkit-transition-duration: .35s;
          transition-duration: .35s;
  -webkit-transition-delay: 4.1s;
          transition-delay: 4.1s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy svg path {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transition-duration: 1.2s;
          transition-duration: 1.2s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .t1 svg path {
  -webkit-transition-delay: .3s;
          transition-delay: .3s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .t1 svg path:nth-child(3) {
  -webkit-transition-delay: .4s;
          transition-delay: .4s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .t1 svg path:nth-child(4) {
  -webkit-transition-delay: .5s;
          transition-delay: .5s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .t1 svg path:nth-child(5) {
  -webkit-transition-delay: .6s;
          transition-delay: .6s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .t1 svg path:nth-child(6) {
  -webkit-transition-delay: .7s;
          transition-delay: .7s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .t1 svg path:nth-child(7) {
  -webkit-transition-delay: .8s;
          transition-delay: .8s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .l .t2 svg path {
  -webkit-transition-delay: .8s;
          transition-delay: .8s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .l .t2 svg path:nth-child(3) {
  -webkit-transition-delay: .9s;
          transition-delay: .9s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .l .t2 svg path:nth-child(4) {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .l .t2 + .t2 svg path {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .l .t2 + .t2 svg path:nth-child(3) {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .l .t2 + .t2 svg path:nth-child(4) {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .l .t2 + .t2 svg path:nth-child(5) {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

.hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy .l .t2 + .t2 svg path:nth-child(6) {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.hero .swiper-slide.swiper-slide-active.pnl03 .inner .image .en,
.hero .swiper-slide.swiper-slide-active.pnl04 .inner .col .en {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-delay: 3.2s;
          transition-delay: 3.2s;
}

#hero-title rect {
  fill: none;
}

#hero-title path {
  fill: #313131;
}

#hero-title-mask .cls-1 {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 8;
}

#wrapper.is-hidden .hero .swiper-slide.swiper-slide-active.pnl01 .inner .col .copy svg path {
  -webkit-transition: none;
  transition: none;
  opacity: 0;
  -webkit-filter: blur(2.30769rem);
          filter: blur(2.30769rem);
}

#wrapper.is-hidden .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .i {
  -webkit-transition: none;
  transition: none;
  opacity: 0;
}

#wrapper.is-hidden .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image picture img {
  -webkit-transition: none;
  transition: none;
  -webkit-filter: brightness(300%);
          filter: brightness(300%);
}

#wrapper.is-hidden .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1 {
  -webkit-transition: none;
  transition: none;
}

#wrapper.is-hidden .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(1) {
  stroke-dashoffset: 860;
  stroke-dasharray: 860;
}

#wrapper.is-hidden .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(2) {
  stroke-dashoffset: 40;
  stroke-dasharray: 40;
}

#wrapper.is-hidden .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(3) {
  stroke-dashoffset: 210;
  stroke-dasharray: 210;
}

#wrapper.is-hidden .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(4) {
  stroke-dashoffset: 270;
  stroke-dasharray: 270;
}

#wrapper.is-hidden .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(5) {
  stroke-dashoffset: 260;
  stroke-dasharray: 260;
}

#wrapper.is-hidden .hero .swiper-slide.swiper-slide-active.pnl01 .inner .image .writeText #hero-title-mask .cls-1:nth-child(6) {
  stroke-dashoffset: 290;
  stroke-dasharray: 290;
}

@media (min-width: 813px) {
  .hero .swiper-slide .inner {
    padding-top: 0;
  }
  .hero .swiper-slide .inner .lyt {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .hero .swiper-slide .inner .col .copyText {
    font-size: 1.07692rem;
  }
  .hero .swiper-slide.pnl01 .inner .lyt {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .hero .swiper-slide.pnl01 .inner .col {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    height: 100%;
  }
  .hero .swiper-slide.pnl01 .inner .col .copy {
    width: 17.47967%;
    max-width: 113px;
  }
  .hero .swiper-slide.pnl01 .inner .col .copy .t1 {
    width: 35.55556%;
  }
  .hero .swiper-slide.pnl01 .inner .col .copy .l {
    width: 35.55556%;
    display: block;
  }
  .hero .swiper-slide.pnl01 .inner .col .copy .l .t2 {
    width: 100%;
  }
  .hero .swiper-slide.pnl01 .inner .col .copy .l .t2 + .t2 {
    margin-top: 78.125%;
  }
  .hero .swiper-slide.pnl01 .inner .image {
    width: 61.5625%;
    height: 100%;
  }
  .hero .swiper-slide.pnl01 .inner .image .writeText {
    width: 69.79695%;
    top: auto;
    bottom: 14.25%;
    left: 38.07107%;
  }
  .hero .swiper-slide.pnl02 .inner .col {
    width: auto;
    height: 100%;
    margin-left: 7.57812%;
  }
  .hero .swiper-slide.pnl02 .inner .col:after {
    height: 13.5%;
  }
  .hero .swiper-slide.pnl02 .inner .image {
    width: 46.25%;
    height: 100%;
    margin-left: 3.90625%;
  }
  .hero .swiper-slide.pnl03 .inner .lyt {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .hero .swiper-slide.pnl03 .inner .col {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    height: 100%;
    padding-left: 7.73438%;
  }
  .hero .swiper-slide.pnl03 .inner .col:after {
    height: 25.125%;
  }
  .hero .swiper-slide.pnl03 .inner .col .copyText {
    margin-left: 0;
  }
  .hero .swiper-slide.pnl03 .inner .image {
    width: 42.42188%;
    height: 100%;
    margin-left: 19.14062%;
  }
  .hero .swiper-slide.pnl03 .inner .image .en {
    width: 48.98711%;
    top: auto;
    left: -29.46593%;
    bottom: 19.125%;
  }
  .hero .swiper-slide.pnl04 .inner .col {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    height: 100%;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .hero .swiper-slide.pnl04 .inner .col:before {
    height: 3%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .hero .swiper-slide.pnl04 .inner .col:after {
    height: 14.375%;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .hero .swiper-slide.pnl04 .inner .col .copyText {
    width: 60.1626%;
    margin-left: 20.12195%;
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .hero .swiper-slide.pnl04 .inner .col .en {
    width: 37.80488%;
    margin: 0 0 0 20.12195%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .hero .swiper-slide.pnl04 .inner .image {
    width: 61.5625%;
    height: 100%;
  }
  .hero .swiper-slide.swiper-slide-active.pnl03 .inner .image .en,
  .hero .swiper-slide.swiper-slide-active.pnl04 .inner .col .en {
    -webkit-transition-delay: 2.8s;
            transition-delay: 2.8s;
  }
}

/*/////////////////////////////
 Key frame
/////////////////////////////*/
@-webkit-keyframes line {
  0% {
    stroke-dashoffset: 125;
  }
  100% {
    stroke-dashoffset: -125;
  }
}

@keyframes line {
  0% {
    stroke-dashoffset: 125;
  }
  100% {
    stroke-dashoffset: -125;
  }
}

@-webkit-keyframes tikkerText {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@keyframes tikkerText {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@-webkit-keyframes roll {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes roll {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* Medical Contents Intro Section */
.medicalContentsIntro {
  padding: 120px 0 20px;
  background: #fff;
}

.medicalContentsIntro__header {
  max-width: 1200px;
  margin: 0 auto;
}

.medicalContentsIntro__title {
  text-align: center;
  /*margin-bottom: 20px;*/
}

.medicalContentsIntro__title .hdg02 {
  font-size: 3.8rem;
  line-height: 1.1;
  color: #313131;
  margin-bottom: 15px;
}

.medicalContentsIntro__title .jp {
  font-size: 1.1rem;
  letter-spacing: 0.15em;
  color: #313131;
}

.medicalContentsIntro__link {
  text-align: right;
  padding-right: 30px;
}

.medicalContentsIntro__link a {
  font-size: 1.23077rem;
  display: inline-block;
  padding-right: 2rem;
  position: relative;
  letter-spacing: 0.1em;
  color: #313131;
}

.medicalContentsIntro__link a:before, .medicalContentsIntro__link a:after {
  content: "";
  display: block;
  width: 1rem;
  height: 1px;
  background: #313131;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -0.5px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.medicalContentsIntro__link a:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.medicalContentsIntro__link a:hover:before, .medicalContentsIntro__link a:hover:after {
  width: 0.61538rem;
  -webkit-transform-origin: right center;
          transform-origin: right center;
  right: 0.38462rem;
}

.medicalContentsIntro__link a:hover:before {
  -webkit-transform: rotate(-315deg);
          transform: rotate(-315deg);
}

.medicalContentsIntro__link a:hover:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (max-width: 812px) {
  .medicalContentsIntro {
    padding: 80px 0 10px;
  }
  .medicalContentsIntro__title .hdg02 {
    font-size: 3.5rem;
  }
  .medicalContentsIntro__title .jp {
    font-size: 1rem;
  }
  .medicalContentsIntro__link a {
    font-size: 1.1rem;
  }
}

.featureArea {
  padding-top: 20px;
}

/*/////////////////////////////
Scroll to Top Button
/////////////////////////////*/
.scrollToTop {
  position: fixed;
  bottom: 40px;
  right: 40px;
  width: 56px;
  height: 56px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(49, 49, 49, 0.08);
  border-radius: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.scrollToTop.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.scrollToTop:hover {
  background: rgba(255, 255, 255, 1);
  border-color: rgba(49, 49, 49, 0.15);
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

.scrollToTop:active {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.scrollToTop svg {
  width: 24px;
  height: 24px;
  color: #313131;
  stroke-width: 2;
  transition: transform 0.3s ease;
}

.scrollToTop:hover svg {
  transform: translateY(-2px);
}

@media (max-width: 812px) {
  .scrollToTop {
    width: 48px;
    height: 48px;
    bottom: 24px;
    right: 24px;
    border-radius: 14px;
  }

  .scrollToTop svg {
    width: 20px;
    height: 20px;
  }
}

/*# sourceMappingURL=base.css.map */
