@charset "UTF-8";
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 10px;
  font-size: clamp(6px, 0.6666666667vw, 10px);
  margin: 0;
  scrollbar-gutter: stable;
}
@media only screen and (max-width: 768px) {
  html {
    font-size: 10px;
    font-size: clamp(8px, 2.5641vw, 15px);
  }
}

html.lenis,
html.lenis body {
  height: auto;
}

html.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

html.lenis.lenis-stopped {
  overflow: hidden;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  color: #4D4D4D;
  background: #FFFFFF;
  word-break: break-all;
  overflow-wrap: anywhere;
  margin: 0;
  padding: 0;
  border: 0;
}

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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1,
h2 {
  line-height: 1.2;
}

h3,
h4 {
  line-height: 1.5;
}

h5,
h6 {
  line-height: inherit;
}

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

blockquote,
q {
  quotes: none;
}

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

b,
strong {
  font-weight: bolder;
}

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

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

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

img {
  vertical-align: middle;
  border-style: none;
  height: auto;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

[role=button] {
  cursor: pointer;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

button {
  outline: none;
  border: none;
  cursor: pointer;
  background: transparent;
  font-family: inherit;
}

input[type=radio],
input[type=checkbox] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: none;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

[hidden] {
  display: none !important;
}

*:focus {
  outline: none;
}

.clearfix::after {
  content: "";
  visibility: hidden;
  height: 0;
  display: block;
  font-size: 0;
  clear: both;
}

* html .clearfix {
  zoom: 1;
}

*:first-child + html .clearfix {
  zoom: 1;
}

#wrapper {
  position: relative;
  width: 100%;
}

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

@keyframes infinite-scroll {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}
@-webkit-keyframes case-deco-float {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(0deg);
            transform: translate3d(0, 0, 0) rotate(0deg);
  }
  25% {
    -webkit-transform: translate3d(1.2rem, -1.6rem, 0) rotate(2deg);
            transform: translate3d(1.2rem, -1.6rem, 0) rotate(2deg);
  }
  50% {
    -webkit-transform: translate3d(-0.8rem, -2.4rem, 0) rotate(-1.5deg);
            transform: translate3d(-0.8rem, -2.4rem, 0) rotate(-1.5deg);
  }
  75% {
    -webkit-transform: translate3d(1.6rem, -0.8rem, 0) rotate(1deg);
            transform: translate3d(1.6rem, -0.8rem, 0) rotate(1deg);
  }
}
@keyframes case-deco-float {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(0deg);
            transform: translate3d(0, 0, 0) rotate(0deg);
  }
  25% {
    -webkit-transform: translate3d(1.2rem, -1.6rem, 0) rotate(2deg);
            transform: translate3d(1.2rem, -1.6rem, 0) rotate(2deg);
  }
  50% {
    -webkit-transform: translate3d(-0.8rem, -2.4rem, 0) rotate(-1.5deg);
            transform: translate3d(-0.8rem, -2.4rem, 0) rotate(-1.5deg);
  }
  75% {
    -webkit-transform: translate3d(1.6rem, -0.8rem, 0) rotate(1deg);
            transform: translate3d(1.6rem, -0.8rem, 0) rotate(1deg);
  }
}
@-webkit-keyframes case-deco-float-alt {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(0deg);
            transform: translate3d(0, 0, 0) rotate(0deg);
  }
  30% {
    -webkit-transform: translate3d(-1.4rem, 1.2rem, 0) rotate(-2deg);
            transform: translate3d(-1.4rem, 1.2rem, 0) rotate(-2deg);
  }
  60% {
    -webkit-transform: translate3d(1rem, 2rem, 0) rotate(1.5deg);
            transform: translate3d(1rem, 2rem, 0) rotate(1.5deg);
  }
  85% {
    -webkit-transform: translate3d(-0.6rem, 0.8rem, 0) rotate(-1deg);
            transform: translate3d(-0.6rem, 0.8rem, 0) rotate(-1deg);
  }
}
@keyframes case-deco-float-alt {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(0deg);
            transform: translate3d(0, 0, 0) rotate(0deg);
  }
  30% {
    -webkit-transform: translate3d(-1.4rem, 1.2rem, 0) rotate(-2deg);
            transform: translate3d(-1.4rem, 1.2rem, 0) rotate(-2deg);
  }
  60% {
    -webkit-transform: translate3d(1rem, 2rem, 0) rotate(1.5deg);
            transform: translate3d(1rem, 2rem, 0) rotate(1.5deg);
  }
  85% {
    -webkit-transform: translate3d(-0.6rem, 0.8rem, 0) rotate(-1deg);
            transform: translate3d(-0.6rem, 0.8rem, 0) rotate(-1deg);
  }
}
@-webkit-keyframes about-deco-drift {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
            transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
  33% {
    -webkit-transform: translate3d(2.4rem, -3.2rem, 0) scale(1.04) rotate(1.5deg);
            transform: translate3d(2.4rem, -3.2rem, 0) scale(1.04) rotate(1.5deg);
  }
  66% {
    -webkit-transform: translate3d(-2rem, 2rem, 0) scale(0.98) rotate(-1.2deg);
            transform: translate3d(-2rem, 2rem, 0) scale(0.98) rotate(-1.2deg);
  }
}
@keyframes about-deco-drift {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
            transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
  33% {
    -webkit-transform: translate3d(2.4rem, -3.2rem, 0) scale(1.04) rotate(1.5deg);
            transform: translate3d(2.4rem, -3.2rem, 0) scale(1.04) rotate(1.5deg);
  }
  66% {
    -webkit-transform: translate3d(-2rem, 2rem, 0) scale(0.98) rotate(-1.2deg);
            transform: translate3d(-2rem, 2rem, 0) scale(0.98) rotate(-1.2deg);
  }
}
@-webkit-keyframes about-deco-drift-alt {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0) scale(1.05) rotate(0deg);
            transform: translate3d(0, 0, 0) scale(1.05) rotate(0deg);
  }
  40% {
    -webkit-transform: translate3d(-3.2rem, 2.4rem, 0) scale(1.1) rotate(-2deg);
            transform: translate3d(-3.2rem, 2.4rem, 0) scale(1.1) rotate(-2deg);
  }
  70% {
    -webkit-transform: translate3d(2.8rem, -1.6rem, 0) scale(1.02) rotate(1.8deg);
            transform: translate3d(2.8rem, -1.6rem, 0) scale(1.02) rotate(1.8deg);
  }
}
@keyframes about-deco-drift-alt {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0) scale(1.05) rotate(0deg);
            transform: translate3d(0, 0, 0) scale(1.05) rotate(0deg);
  }
  40% {
    -webkit-transform: translate3d(-3.2rem, 2.4rem, 0) scale(1.1) rotate(-2deg);
            transform: translate3d(-3.2rem, 2.4rem, 0) scale(1.1) rotate(-2deg);
  }
  70% {
    -webkit-transform: translate3d(2.8rem, -1.6rem, 0) scale(1.02) rotate(1.8deg);
            transform: translate3d(2.8rem, -1.6rem, 0) scale(1.02) rotate(1.8deg);
  }
}
@media print, screen and (min-width: 769px) {
  .pc-hide,
  .sp-only {
    display: none !important;
  }
}
@media only screen and (max-width: 768px) {
  .sp-hide,
  .pc-only {
    display: none !important;
  }
}
#wrapper {
  position: relative;
  width: 100%;
}

main {
  position: relative;
}

.bg-light {
  background: #E9E9E8;
}

.container,
.container-fluid {
  width: 100%;
  padding-left: 4rem;
  padding-right: 4rem;
  margin-right: auto;
  margin-left: auto;
}

.container {
  max-width: 128rem;
}

.container-fluid {
  max-width: 144rem;
}

@media only screen and (max-width: 768px) {
  .container-fluid,
  .container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .container {
    max-width: 100%;
  }
}
.content-in {
  position: relative;
  width: 100%;
  max-width: 100rem;
  margin: 0 auto;
}

picture,
figure {
  position: relative;
  display: block;
  line-height: 1;
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  z-index: 0;
}
picture img,
figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  margin: 0;
  border: none;
}

.link-btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 25.6rem;
  max-width: 100%;
  height: 5.6rem;
  padding: 1rem 3.6rem 1rem 3rem;
  border-radius: 5.6rem;
  background: #00A0BC;
  color: #FFFFFF;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  border: 1px solid #00A0BC;
  outline: none;
  overflow: hidden;
  margin: 0;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .link-btn {
    width: 24rem;
    height: 5rem;
    border-radius: 5rem;
  }
}
.link-btn span {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
  text-align: center;
  -webkit-transition: color 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: color 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 3;
}
.link-btn::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  display: block;
  background: #FFFFFF;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1), -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  z-index: 1;
}
.link-btn::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.6rem);
  right: 2.4rem;
  width: 1.5rem;
  height: 1.2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='white'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 3;
}
.link-btn:hover {
  color: #00A0BC;
}
.link-btn:hover::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.link-btn:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='%2300A0BC'/%3E%3C/svg%3E%0A");
}
.link-btn.link-btn--outline {
  background: transparent;
  border-color: #00A0BC;
  color: #00A0BC;
}
.link-btn.link-btn--outline::before {
  background: #00A0BC;
}
.link-btn.link-btn--outline::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='%2300A0BC'/%3E%3C/svg%3E%0A");
}
.link-btn.link-btn--outline:hover {
  color: #FFFFFF;
}
.link-btn.link-btn--outline:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='white'/%3E%3C/svg%3E%0A");
}
.link-btn.link-btn--white {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: #4D4D4D;
}
.link-btn.link-btn--white::before {
  background: #00A0BC;
}
.link-btn.link-btn--white::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='%234D4D4D'/%3E%3C/svg%3E%0A");
}
.link-btn.link-btn--white:hover {
  color: #FFFFFF;
}
.link-btn.link-btn--white:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='white'/%3E%3C/svg%3E%0A");
}
.link-btn.link-btn--outline-white {
  background: rgba(0, 0, 0, 0.4);
  border-color: #FFFFFF;
  color: #FFFFFF;
}
.link-btn.link-btn--outline-white::before {
  background: #FFFFFF;
}
.link-btn.link-btn--outline-white::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='white'/%3E%3C/svg%3E%0A");
}
.link-btn.link-btn--outline-white:hover {
  color: #4D4D4D;
}
.link-btn.link-btn--outline-white:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='%233D5A45'/%3E%3C/svg%3E%0A");
}
.link-btn.link-btn--submit {
  padding: 1rem 2rem;
  font-size: 1.8rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 6rem;
}

.page-btn {
  position: relative;
  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;
  width: 37.2rem;
  max-width: 100%;
  height: 6.4rem;
  padding: 1rem 2rem;
  border-radius: 6.4rem;
  background: #00A0BC;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  border: 1px solid #00A0BC;
  outline: none;
  overflow: hidden;
  margin: 0;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-btn {
    width: 34.2rem;
    font-size: 1.8rem;
  }
}
.page-btn span {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
  text-align: center;
  -webkit-transition: color 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: color 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 3;
}
.page-btn::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  display: block;
  background: #FFFFFF;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1), -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  z-index: 1;
}
.page-btn::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.6rem);
  right: 3rem;
  width: 4rem;
  height: 1.2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='12' viewBox='0 0 40 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30.1217 0V4.9075H40L29.1949 12V5.82486H0V4.9075H29.1949V0H30.1217ZM30.1217 10.2907L36.9272 5.82486H30.1217V10.2907Z' fill='white'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 3;
}
@media only screen and (max-width: 768px) {
  .page-btn::after {
    right: 2.4rem;
  }
}
.page-btn:hover {
  color: #00A0BC;
}
.page-btn:hover::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.page-btn:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='12' viewBox='0 0 40 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30.1217 0V4.9075H40L29.1949 12V5.82486H0V4.9075H29.1949V0H30.1217ZM30.1217 10.2907L36.9272 5.82486H30.1217V10.2907Z' fill='%2300A0BC'/%3E%3C/svg%3E%0A");
}

.section-title {
  position: relative;
  margin-bottom: 6rem;
}
.section-title .en {
  position: relative;
  display: block;
  max-width: 100%;
  font-family: "Shippori Mincho", serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.6em;
  color: #00A0BC;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .section-title .en {
    font-size: 1.4rem;
    line-height: 2.4rem;
    letter-spacing: 0.6em;
  }
}
.section-title .jp {
  position: relative;
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 8rem;
  font-weight: 200;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .section-title .jp {
    font-size: 4.5rem;
    line-height: 5rem;
  }
}

.section-label {
  position: relative;
  margin-bottom: 4rem;
}
.section-label .jp {
  position: relative;
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.5em;
  color: #00A0BC;
  text-align: center;
  margin-bottom: 0.4rem;
}
.section-label .en {
  position: relative;
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 4.5rem;
  font-weight: 200;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .section-label .en {
    font-size: 4rem;
  }
}

.wp-pagenavi {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
  margin: 0;
  padding: 0;
  width: 100%;
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi {
    margin-top: 6rem;
    gap: 1rem;
  }
}
.wp-pagenavi > span, .wp-pagenavi > a {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  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;
  background: #F6F6F5;
  width: 5.6rem;
  height: 5.6rem;
  font-family: "Inter", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  color: #4D4D4D;
  border-radius: 50%;
  border: none;
  outline: none;
  padding: 0;
  margin: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi > span, .wp-pagenavi > a {
    font-size: 1.6rem;
    width: 4.8rem;
    height: 4.8rem;
  }
}
.wp-pagenavi > span.current {
  background: #00A0BC;
  color: #FFFFFF;
}
.wp-pagenavi > span.dots {
  background: transparent;
  border: none !important;
  color: #4D4D4D;
}
.wp-pagenavi > a:hover {
  background: #00A0BC;
  color: #FFFFFF;
  -webkit-transform: translateY(-0.4rem);
          transform: translateY(-0.4rem);
}
.wp-pagenavi > a.prevpostslink, .wp-pagenavi > a.nextpostslink {
  font-size: 0;
  color: transparent;
}
.wp-pagenavi > a.nextpostslink::before {
  content: "";
  position: absolute;
  top: calc(50% - 0.8rem);
  left: calc(50% - 0.8rem);
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.62296 0.156211C7.83124 -0.0520702 8.16885 -0.0520702 8.37713 0.156211L15.8438 7.62292C15.88 7.65904 15.9078 7.70017 15.9313 7.74272C15.9575 7.78987 15.9788 7.84026 15.9897 7.8948C16.0035 7.96386 16.0034 8.0351 15.9897 8.10418C15.9789 8.15877 15.9574 8.20904 15.9313 8.25626C15.9077 8.29909 15.8802 8.34077 15.8438 8.3771L8.37713 15.8438C8.16886 16.0521 7.83124 16.0521 7.62296 15.8438C7.41469 15.6355 7.4147 15.2979 7.62296 15.0896L14.1792 8.53335H0.533336C0.238796 8.53335 2.19895e-05 8.29455 0 8.00001C0 7.70546 0.238783 7.46667 0.533336 7.46667H14.1792L7.62296 0.910382C7.41469 0.702108 7.4147 0.364493 7.62296 0.156211Z' fill='%234D4D4D'/%3E%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 1;
}
.wp-pagenavi > a.nextpostslink:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.62296 0.156211C7.83124 -0.0520702 8.16885 -0.0520702 8.37713 0.156211L15.8438 7.62292C15.88 7.65904 15.9078 7.70017 15.9313 7.74272C15.9575 7.78987 15.9788 7.84026 15.9897 7.8948C16.0035 7.96386 16.0034 8.0351 15.9897 8.10418C15.9789 8.15877 15.9574 8.20904 15.9313 8.25626C15.9077 8.29909 15.8802 8.34077 15.8438 8.3771L8.37713 15.8438C8.16886 16.0521 7.83124 16.0521 7.62296 15.8438C7.41469 15.6355 7.4147 15.2979 7.62296 15.0896L14.1792 8.53335H0.533336C0.238796 8.53335 2.19895e-05 8.29455 0 8.00001C0 7.70546 0.238783 7.46667 0.533336 7.46667H14.1792L7.62296 0.910382C7.41469 0.702108 7.4147 0.364493 7.62296 0.156211Z' fill='white'/%3E%3C/svg%3E%0A");
}
.wp-pagenavi > a.prevpostslink::before {
  content: "";
  position: absolute;
  top: calc(50% - 0.8rem);
  left: calc(50% - 0.8rem);
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.37704 0.156211C8.16876 -0.0520702 7.83115 -0.0520702 7.62287 0.156211L0.156157 7.62292C0.120045 7.65904 0.0922448 7.70017 0.0686566 7.74272C0.0424905 7.78987 0.0212313 7.84026 0.0103229 7.8948C-0.00350243 7.96386 -0.00337971 8.0351 0.0103229 8.10418C0.021142 8.15877 0.0425518 8.20904 0.0686566 8.25626C0.0923128 8.29909 0.119827 8.34077 0.156157 8.3771L7.62287 15.8438C7.83114 16.0521 8.16876 16.0521 8.37704 15.8438C8.58531 15.6355 8.5853 15.2979 8.37704 15.0896L1.82075 8.53335H15.4667C15.7612 8.53335 16 8.29455 16 8.00001C16 7.70546 15.7612 7.46667 15.4667 7.46667H1.82075L8.37704 0.910382C8.58531 0.702108 8.5853 0.364493 8.37704 0.156211Z' fill='%234D4D4D'/%3E%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 1;
}
.wp-pagenavi > a.prevpostslink:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.37704 0.156211C8.16876 -0.0520702 7.83115 -0.0520702 7.62287 0.156211L0.156157 7.62292C0.120045 7.65904 0.0922448 7.70017 0.0686566 7.74272C0.0424905 7.78987 0.0212313 7.84026 0.0103229 7.8948C-0.00350243 7.96386 -0.00337971 8.0351 0.0103229 8.10418C0.021142 8.15877 0.0425518 8.20904 0.0686566 8.25626C0.0923128 8.29909 0.119827 8.34077 0.156157 8.3771L7.62287 15.8438C7.83114 16.0521 8.16876 16.0521 8.37704 15.8438C8.58531 15.6355 8.5853 15.2979 8.37704 15.0896L1.82075 8.53335H15.4667C15.7612 8.53335 16 8.29455 16 8.00001C16 7.70546 15.7612 7.46667 15.4667 7.46667H1.82075L8.37704 0.910382C8.58531 0.702108 8.5853 0.364493 8.37704 0.156211Z' fill='white'/%3E%3C/svg%3E%0A");
}
.wp-pagenavi > span.pages, .wp-pagenavi > a.last, .wp-pagenavi > a.first {
  display: none;
}

.page-wrapper {
  position: relative;
  overflow: hidden;
  z-index: 0;
}
.page-wrapper section {
  z-index: 2;
}
.page-wrapper .page-deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  color: #EBF9FA;
  z-index: 0;
}
.page-wrapper .case-deco-svg {
  position: absolute;
  top: 0;
  left: calc(50% - 77.35rem);
  width: 154.7rem;
  max-width: none;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .page-wrapper .case-deco-svg {
    width: 90rem;
  }
}
.page-wrapper .case-deco-shape {
  transform-box: fill-box;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  will-change: transform;
  -webkit-animation: case-deco-float 12s ease-in-out infinite;
          animation: case-deco-float 12s ease-in-out infinite;
}
.page-wrapper .case-deco-shape--1 {
  -webkit-animation-duration: 14s;
          animation-duration: 14s;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.page-wrapper .case-deco-shape--2 {
  -webkit-animation-name: case-deco-float-alt;
          animation-name: case-deco-float-alt;
  -webkit-animation-duration: 11s;
          animation-duration: 11s;
  -webkit-animation-delay: -2s;
          animation-delay: -2s;
}
.page-wrapper .case-deco-shape--3 {
  -webkit-animation-duration: 13s;
          animation-duration: 13s;
  -webkit-animation-delay: -4s;
          animation-delay: -4s;
}
.page-wrapper .case-deco-shape--4 {
  -webkit-animation-name: case-deco-float-alt;
          animation-name: case-deco-float-alt;
  -webkit-animation-duration: 15s;
          animation-duration: 15s;
  -webkit-animation-delay: -1s;
          animation-delay: -1s;
}
.page-wrapper .case-deco-shape--5 {
  -webkit-animation-duration: 10s;
          animation-duration: 10s;
  -webkit-animation-delay: -3.5s;
          animation-delay: -3.5s;
}
.page-wrapper .case-deco-shape--6 {
  -webkit-animation-name: case-deco-float-alt;
          animation-name: case-deco-float-alt;
  -webkit-animation-duration: 16s;
          animation-duration: 16s;
  -webkit-animation-delay: -5s;
          animation-delay: -5s;
}
@media (prefers-reduced-motion: reduce) {
  .page-wrapper .case-deco-shape {
    -webkit-animation: none;
            animation: none;
  }
}

.js-mouse {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  pointer-events: none;
  z-index: 10000;
  opacity: 0;
  mix-blend-mode: difference;
  -webkit-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
}
html.is-loading .js-mouse {
  opacity: 0 !important;
}
@media only screen and (max-width: 768px) {
  .js-mouse {
    display: none;
  }
}
.js-mouse.is-active {
  opacity: 1;
}
.js-mouse .js-mouse__cursor {
  position: absolute;
  top: -0.4rem;
  left: -0.4rem;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: #FFFFFF;
  will-change: transform;
}
.js-mouse .js-mouse__follower {
  position: absolute;
  top: -2rem;
  left: -2rem;
  width: 4rem;
  height: 4rem;
  border: 1px solid #FFFFFF;
  border-radius: 50%;
  background: transparent;
  will-change: transform, width, height, top, left;
  -webkit-transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1), height 0.4s cubic-bezier(0.22, 1, 0.36, 1), top 0.4s cubic-bezier(0.22, 1, 0.36, 1), left 0.4s cubic-bezier(0.22, 1, 0.36, 1), background 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1), height 0.4s cubic-bezier(0.22, 1, 0.36, 1), top 0.4s cubic-bezier(0.22, 1, 0.36, 1), left 0.4s cubic-bezier(0.22, 1, 0.36, 1), background 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.js-mouse.is-hover .js-mouse__follower {
  top: -3.2rem;
  left: -3.2rem;
  width: 6.4rem;
  height: 6.4rem;
  background: rgba(255, 255, 255, 0.18);
}
.js-mouse.is-down .js-mouse__follower {
  top: -1.4rem;
  left: -1.4rem;
  width: 2.8rem;
  height: 2.8rem;
}

@-webkit-keyframes loader-logo-in {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 1.2rem, 0);
            transform: translate3d(0, 1.2rem, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes loader-logo-in {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 1.2rem, 0);
            transform: translate3d(0, 1.2rem, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes loader-label-in {
  0% {
    opacity: 0;
    letter-spacing: 0.72em;
    -webkit-transform: translate3d(0, 0.8rem, 0);
            transform: translate3d(0, 0.8rem, 0);
  }
  100% {
    opacity: 1;
    letter-spacing: 0.42em;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes loader-label-in {
  0% {
    opacity: 0;
    letter-spacing: 0.72em;
    -webkit-transform: translate3d(0, 0.8rem, 0);
            transform: translate3d(0, 0.8rem, 0);
  }
  100% {
    opacity: 1;
    letter-spacing: 0.42em;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes loader-hero-in {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2.4rem, 0);
            transform: translate3d(0, 2.4rem, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes loader-hero-in {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2.4rem, 0);
            transform: translate3d(0, 2.4rem, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.js-loader {
  position: fixed;
  inset: 0;
  z-index: 9990;
  overflow: hidden;
  background: #232323;
  color: #FFFFFF;
  pointer-events: auto;
}
html:not(.is-loading):not(.is-revealing) .js-loader {
  display: none;
}
.js-loader.is-leave {
  display: block;
  pointer-events: none;
  background: transparent;
}
.js-loader__curtain {
  position: absolute;
  inset: 0;
  will-change: transform;
  background: #232323;
  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;
  overflow: hidden;
}
.js-loader__content {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  padding: 2.4rem;
  width: min(80rem, 100%);
}
.js-loader__logo {
  width: 27rem;
  max-width: 62%;
  margin: 4.8rem 0 0;
  -webkit-animation: loader-logo-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
          animation: loader-logo-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@media only screen and (max-width: 768px) {
  .js-loader__logo {
    width: 18rem;
    margin-top: 2.4rem;
  }
}
.js-loader__logo img {
  display: block;
  width: 100%;
  height: auto;
}
.js-loader__percent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Ysabeau SC", sans-serif;
  font-weight: 300;
  color: #FFFFFF;
  line-height: 0.85;
  margin: 0;
}
.js-loader__count {
  font-size: 14.4rem;
  font-weight: 200;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 768px) {
  .js-loader__count {
    font-size: 8.8rem;
  }
}
.js-loader__unit {
  font-size: 3.2rem;
  letter-spacing: 0.08em;
  margin: 0 0 0.6rem 0.8rem;
  color: #00A0BC;
}
@media only screen and (max-width: 768px) {
  .js-loader__unit {
    font-size: 2rem;
    margin-top: 0.8rem;
    margin-left: 0.4rem;
  }
}
.js-loader__label {
  font-family: "Ysabeau SC", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.42em;
  color: rgba(255, 255, 255, 0.62);
  margin: 2.4rem 0 0;
  -webkit-animation: loader-label-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
          animation: loader-label-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
}
@media only screen and (max-width: 768px) {
  .js-loader__label {
    font-size: 1.1rem;
    margin-top: 1.8rem;
  }
}
.js-loader__bar {
  position: relative;
  width: 30rem;
  height: 2px;
  background: rgba(255, 255, 255, 0.18);
  margin: 2rem 0 0;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .js-loader__bar {
    width: 24rem;
    margin-top: 1.6rem;
  }
}
.js-loader__bar-fill {
  position: absolute;
  inset: 0;
  background: #00A0BC;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  will-change: transform;
}
.js-loader.is-leave .js-loader__content {
  opacity: 0;
  -webkit-transform: translate3d(0, -1.8rem, 0);
          transform: translate3d(0, -1.8rem, 0);
  -webkit-transition: opacity 0.38s ease, -webkit-transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.38s ease, -webkit-transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.38s ease, transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.38s ease, transform 0.48s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
}
.js-loader.is-leave .js-loader__curtain {
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0);
  -webkit-transition: -webkit-transform 1.08s cubic-bezier(0.77, 0, 0.175, 1) 0.08s;
  transition: -webkit-transform 1.08s cubic-bezier(0.77, 0, 0.175, 1) 0.08s;
  transition: transform 1.08s cubic-bezier(0.77, 0, 0.175, 1) 0.08s;
  transition: transform 1.08s cubic-bezier(0.77, 0, 0.175, 1) 0.08s, -webkit-transform 1.08s cubic-bezier(0.77, 0, 0.175, 1) 0.08s;
}

@media (prefers-reduced-motion: reduce) {
  .js-loader,
  .js-loader * {
    -webkit-animation: none !important;
            animation: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
  html.is-revealing .mainvisual-body {
    -webkit-animation: none !important;
            animation: none !important;
  }
}
#header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 7.1rem;
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
  padding: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  z-index: 991;
}
@media only screen and (max-width: 768px) {
  #header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.7rem 0;
    height: 6.1rem;
  }
}
#header .container {
  max-width: 100%;
  width: 100%;
}
#header .header-wrapper {
  display: block;
  margin: 0;
}
#header .header-wrapper::after {
  content: "";
  display: block;
  clear: both;
}
#header .header-wrapper .header-logo {
  position: relative;
  padding: 0;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  float: left;
  margin: 0;
}
@media print, screen and (min-width: 769px) {
  #header .header-wrapper .header-logo {
    margin: 1.2rem 0 0;
  }
}
#header .header-wrapper .header-logo a {
  position: relative;
  display: block;
  width: 14.8rem;
  max-width: 100%;
}
#header .header-wrapper .header-logo a > img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border: none;
}
#header .header-wrapper .header-nav {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
@media print, screen and (min-width: 769px) {
  #header .header-wrapper .header-nav {
    float: right;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-column-gap: 6rem;
       -moz-column-gap: 6rem;
            column-gap: 6rem;
  }
}
@media print, screen and (min-width: 769px) and (max-width: 1601px) and (min-width: 769px) {
  #header .header-wrapper .header-nav {
    -webkit-column-gap: 3.2rem;
       -moz-column-gap: 3.2rem;
            column-gap: 3.2rem;
  }
}
@media only screen and (max-width: 768px) {
  #header .header-wrapper .header-nav {
    display: none;
  }
}
#header .header-wrapper .header-nav .nav-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  -webkit-column-gap: 2.4rem;
     -moz-column-gap: 2.4rem;
          column-gap: 2.4rem;
  line-height: 1;
}
#header .header-wrapper .header-nav .nav-menu > li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#header .header-wrapper .header-nav .nav-menu > li .menu-link {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 3rem;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  padding: 2rem 0;
  margin: 0;
  white-space: nowrap;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  z-index: 0;
}
#header .header-wrapper .header-nav .nav-menu > li .menu-link::before {
  content: "";
  position: absolute;
  bottom: 1.5rem;
  left: 0;
  width: 100%;
  height: 1px;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  background-color: #4D4D4D;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
#header .header-wrapper .header-nav .nav-menu > li:hover .menu-link::before, #header .header-wrapper .header-nav .nav-menu > li.active .menu-link::before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
#header .header-wrapper .header-nav .nav-menu > .menu-space {
  position: relative;
  width: 1px;
  height: 1.8rem;
  background: #E5E7EB;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .menu-link {
  position: relative;
  padding-right: 2.4rem;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .menu-link::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.3rem);
  right: 0;
  width: 1.4rem;
  height: 0.8rem;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.9137 0.195265C13.1623 -0.065088 13.5651 -0.0650881 13.8136 0.195265C14.0621 0.455617 14.0621 0.877632 13.8136 1.13798L7.44993 7.80474C7.20141 8.06509 6.79858 8.06509 6.55007 7.80474L0.186388 1.13798C-0.0621293 0.877632 -0.0621293 0.455617 0.186388 0.195265C0.434905 -0.0650882 0.837735 -0.0650882 1.08625 0.195265L7 6.39066L12.9137 0.195265Z' fill='%234C4C4C'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  z-index: 0;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 3.2rem minmax(0, 1fr) 3.2rem minmax(0, 1fr);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.6rem 3.2rem;
  background: #FFFFFF;
  padding: 0 4rem;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(1.6rem);
          transform: translateY(1.6rem);
  -webkit-transition: all 0.4s cubic-bezier(0.8, 0, 0.2, 1);
  transition: all 0.4s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 10;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  background: #E5E7EB;
  z-index: 0;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #E5E7EB;
  z-index: 0;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu > li {
  position: relative;
  display: block;
  z-index: 1;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 19rem 2.4rem minmax(0, 1fr);
  grid-template-columns: 19rem minmax(0, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem 2.4rem;
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  z-index: 0;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link .thumb {
  position: relative;
  display: block;
  padding: 0;
  z-index: 0;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link .thumb img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
  border: none;
  margin: 0;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link .label {
  position: relative;
  display: block;
  z-index: 0;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link .label .en {
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
  z-index: 0;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link .label .jp {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
  z-index: 0;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link::before {
  content: "";
  position: absolute;
  top: calc(50% - 0.6rem);
  right: 1.6rem;
  width: 1.5rem;
  height: 1.2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.12012 0.195049C7.27836 -0.0213219 7.57608 -0.064233 7.78516 0.0993455L14.8115 5.60716C14.8169 5.61141 14.821 5.61734 14.8262 5.62181C14.8455 5.63832 14.8633 5.65609 14.8799 5.67552C14.8859 5.68259 14.8919 5.68961 14.8975 5.697C14.9156 5.72096 14.9307 5.7469 14.9443 5.77415C14.946 5.77754 14.9486 5.78049 14.9502 5.78392C14.9811 5.8492 15 5.92211 15 5.99974C15 6.07475 14.9822 6.14512 14.9531 6.20872C14.9488 6.21818 14.9433 6.22691 14.9385 6.23606C14.9269 6.25775 14.9139 6.27806 14.8994 6.29759C14.8928 6.30659 14.8862 6.31542 14.8789 6.32395C14.8635 6.34196 14.8469 6.35826 14.8291 6.37376C14.8227 6.37934 14.8182 6.38706 14.8115 6.39231L7.78516 11.9001C7.57611 12.0639 7.27844 12.0217 7.12012 11.8054C6.96204 11.5891 7.00334 11.281 7.21191 11.1169L13.1104 6.49095H0.474609C0.212521 6.49077 9.73433e-05 6.27117 0 5.99974C0 5.72822 0.212461 5.50772 0.474609 5.50755H13.1084L7.21191 0.883525C7.00317 0.719604 6.9622 0.411483 7.12012 0.195049Z' fill='%234C4C4C'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 0.3s cubic-bezier(0.8, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 2;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link::after {
  content: "";
  position: absolute;
  top: calc(50% - 2.4rem);
  right: 0;
  width: 4.8rem;
  height: 4.8rem;
  background: transparent;
  border: 1px solid #4D4D4D;
  border-radius: 50%;
  -webkit-transition: all 0.3s cubic-bezier(0.8, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 1;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link:hover .thumb img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.12012 0.195049C7.27836 -0.0213219 7.57608 -0.064233 7.78516 0.0993455L14.8115 5.60716C14.8169 5.61141 14.821 5.61734 14.8262 5.62181C14.8455 5.63832 14.8633 5.65609 14.8799 5.67552C14.8859 5.68259 14.8919 5.68961 14.8975 5.697C14.9156 5.72096 14.9307 5.7469 14.9443 5.77415C14.946 5.77754 14.9486 5.78049 14.9502 5.78392C14.9811 5.8492 15 5.92211 15 5.99974C15 6.07475 14.9822 6.14512 14.9531 6.20872C14.9488 6.21818 14.9433 6.22691 14.9385 6.23606C14.9269 6.25775 14.9139 6.27806 14.8994 6.29759C14.8928 6.30659 14.8862 6.31542 14.8789 6.32395C14.8635 6.34196 14.8469 6.35826 14.8291 6.37376C14.8227 6.37934 14.8182 6.38706 14.8115 6.39231L7.78516 11.9001C7.57611 12.0639 7.27844 12.0217 7.12012 11.8054C6.96204 11.5891 7.00334 11.281 7.21191 11.1169L13.1104 6.49095H0.474609C0.212521 6.49077 9.73433e-05 6.27117 0 5.99974C0 5.72822 0.212461 5.50772 0.474609 5.50755H13.1084L7.21191 0.883525C7.00317 0.719604 6.9622 0.411483 7.12012 0.195049Z' fill='white'/%3E%3C/svg%3E%0A");
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link:hover::after {
  background: #4D4D4D;
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu.two-columns {
  -ms-grid-columns: (minmax(0, 1fr))[2];
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu.two-columns .dropdown-link {
  -ms-grid-columns: 24.8rem minmax(0, 1fr);
  grid-template-columns: 24.8rem minmax(0, 1fr);
}
#header .header-wrapper .header-nav .nav-menu > .dropdown:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
#header .header-wrapper .header-nav .nav-actions {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
}
#header .header-wrapper .header-nav .nav-actions > li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#header .header-wrapper .header-nav .nav-actions .action-btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 20rem;
  max-width: 100%;
  height: 5rem;
  padding: 1rem 3rem 1rem 2.4rem;
  border-radius: 5rem;
  background: transparent;
  color: #4D4D4D;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.1em;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  border: 1px solid #4D4D4D;
  outline: none;
  overflow: hidden;
  margin: 0;
  z-index: 0;
}
@media print, screen and (max-width: 1601px) and (min-width: 769px) {
  #header .header-wrapper .header-nav .nav-actions .action-btn {
    width: 18rem;
  }
}
#header .header-wrapper .header-nav .nav-actions .action-btn span {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
  text-align: center;
  -webkit-transition: color 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: color 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 3;
}
#header .header-wrapper .header-nav .nav-actions .action-btn::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  display: block;
  background: #4D4D4D;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1), -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  z-index: 1;
}
#header .header-wrapper .header-nav .nav-actions .action-btn::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.6rem);
  right: 2rem;
  width: 1.5rem;
  height: 1.2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='%234C4C4C'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 3;
}
#header .header-wrapper .header-nav .nav-actions .action-btn:hover {
  color: #FFFFFF;
}
#header .header-wrapper .header-nav .nav-actions .action-btn:hover::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
#header .header-wrapper .header-nav .nav-actions .action-btn:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='white'/%3E%3C/svg%3E%0A");
}
#header .header-wrapper .header-nav .nav-actions .action-btn.action-btn--line {
  letter-spacing: 0.05em;
}

.mobile-nav-toggle {
  position: fixed;
  right: 2rem;
  top: 2rem;
  width: 2.6rem;
  height: 2rem;
  padding: 0;
  background: none;
  display: none;
  border: none;
  outline: none;
  border-radius: 0;
  cursor: pointer;
  z-index: 999;
  margin: 0;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .mobile-nav-toggle {
    display: inline-block;
  }
}
.mobile-nav-toggle .toggle-icon {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}
.mobile-nav-toggle .toggle-icon span {
  display: inline-block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #4D4D4D;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
.mobile-nav-toggle .toggle-icon span:nth-child(1) {
  top: 0;
}
.mobile-nav-toggle .toggle-icon span:nth-child(2) {
  top: calc(50% - 0.05rem);
}
.mobile-nav-toggle .toggle-icon span:nth-child(3) {
  bottom: 0;
}
.mobile-nav-toggle.toggle-active .toggle-icon span {
  background: #4D4D4D;
}
.mobile-nav-toggle.toggle-active .toggle-icon span:nth-child(1) {
  -webkit-transform: translateY(1rem) rotate(-45deg);
          transform: translateY(1rem) rotate(-45deg);
}
.mobile-nav-toggle.toggle-active .toggle-icon span:nth-child(2) {
  opacity: 0;
  visibility: hidden;
}
.mobile-nav-toggle.toggle-active .toggle-icon span:nth-child(3) {
  -webkit-transform: translateY(-0.9rem) rotate(45deg);
          transform: translateY(-0.9rem) rotate(45deg);
}

#mobile-nav {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 998;
  right: -100%;
  width: 90%;
  max-width: 50rem;
  overflow-y: auto;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  background-color: #FFFFFF;
}
#mobile-nav .mobile-nav-header {
  position: relative;
  padding: 0.7rem 2rem;
  height: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#mobile-nav .mobile-logo a {
  display: block;
  width: 14.8rem;
}
#mobile-nav .mobile-logo a img {
  display: block;
  width: 100%;
  height: auto;
}
#mobile-nav .mobile-nav-container {
  position: relative;
  padding: 1.6rem 0 2rem;
  border-top: 1px solid #E5E7EB;
}
#mobile-nav .mobile-nav-menu {
  position: relative;
  list-style: none;
  display: block;
  padding: 0;
}
#mobile-nav .mobile-nav-menu > li {
  display: block;
  border-bottom: 1px solid #E5E7EB;
}
#mobile-nav .mobile-nav-menu > li .menu-link {
  position: relative;
  display: block;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.4rem;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  padding: 1.6rem 2rem;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
#mobile-nav .mobile-nav-menu > li .menu-link:hover {
  color: #00A0BC;
}
#mobile-nav .mobile-nav-menu > li .menu-link::before {
  content: "";
  position: absolute;
  top: calc(50% - 0.4rem);
  right: 2rem;
  width: 0.8rem;
  height: 0.8rem;
  border-right: 2px solid #4D4D4D;
  border-bottom: 2px solid #4D4D4D;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
#mobile-nav .mobile-nav-menu > li .menu-sub {
  position: relative;
  list-style: none;
  display: block;
  padding: 0;
}
#mobile-nav .mobile-nav-menu > li .menu-sub > li {
  display: block;
  padding: 0;
  border-top: 1px solid #E5E7EB;
}
#mobile-nav .mobile-nav-menu > li .menu-sub .sub-link {
  position: relative;
  display: block;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  padding: 1.6rem 2rem 1.6rem 3.6rem;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
#mobile-nav .mobile-nav-menu > li .menu-sub .sub-link::before {
  content: "";
  position: absolute;
  top: calc(50% - 0.4rem);
  right: 2rem;
  width: 0.8rem;
  height: 0.8rem;
  border-right: 2px solid #4D4D4D;
  border-bottom: 2px solid #4D4D4D;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
#mobile-nav .mobile-nav-menu > li .menu-sub .sub-link:hover {
  color: #00A0BC;
}
#mobile-nav .mobile-nav-menu > .dropdown .menu-link::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#mobile-nav .mobile-nav-menu > .dropdown.active .menu-link::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#mobile-nav .mobile-nav-actions {
  position: relative;
  list-style: none;
  display: block;
  padding: 0 2.4rem;
  margin-top: 3rem;
}
#mobile-nav .mobile-nav-actions > li {
  display: block;
}
#mobile-nav .mobile-nav-actions > li:not(:last-child) {
  margin-bottom: 2rem;
}
#mobile-nav .mobile-nav-actions > li .link-btn {
  width: 100%;
  margin: 0 auto;
}

.mobile-nav-overly {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 990;
  background: rgba(70, 50, 44, 0.35);
  display: none;
  overflow: hidden;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}

body.mobile-nav-active {
  overflow: hidden;
}
body.mobile-nav-active #mobile-nav {
  right: 0;
}

body.homepage #header {
  position: fixed;
  background: rgba(76, 76, 76, 0.5);
  height: 7rem;
  border-bottom: none;
}
@media only screen and (max-width: 768px) {
  body.homepage #header {
    height: 6rem;
  }
}
body.homepage #header .header-wrapper .header-nav .nav-menu > li .menu-link {
  position: relative;
  color: #FFFFFF;
  z-index: 0;
}
body.homepage #header .header-wrapper .header-nav .nav-menu > li .menu-link::before {
  background-color: #FFFFFF;
}
body.homepage #header .header-wrapper .header-nav .nav-menu > .menu-space {
  background: rgba(255, 255, 255, 0.2);
}
body.homepage #header .header-wrapper .header-nav .nav-menu > .dropdown .menu-link::after {
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.9137 0.195265C13.1623 -0.065088 13.5651 -0.0650881 13.8136 0.195265C14.0621 0.455617 14.0621 0.877632 13.8136 1.13798L7.44993 7.80474C7.20141 8.06509 6.79858 8.06509 6.55007 7.80474L0.186388 1.13798C-0.0621293 0.877632 -0.0621293 0.455617 0.186388 0.195265C0.434905 -0.0650882 0.837735 -0.0650882 1.08625 0.195265L7 6.39066L12.9137 0.195265Z' fill='white'/%3E%3C/svg%3E%0A");
}
body.homepage #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu {
  background: rgba(76, 76, 76, 0.5);
}
body.homepage #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu::before {
  background: #7A7A7A;
}
body.homepage #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu::after {
  display: none;
}
body.homepage #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link .label .en {
  color: #FFFFFF;
}
body.homepage #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link .label .jp {
  color: #FFFFFF;
}
body.homepage #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link::before {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.12012 0.195049C7.27836 -0.0213219 7.57608 -0.064233 7.78516 0.0993455L14.8115 5.60716C14.8169 5.61141 14.821 5.61734 14.8262 5.62181C14.8455 5.63832 14.8633 5.65609 14.8799 5.67552C14.8859 5.68259 14.8919 5.68961 14.8975 5.697C14.9156 5.72096 14.9307 5.7469 14.9443 5.77415C14.946 5.77754 14.9486 5.78049 14.9502 5.78392C14.9811 5.8492 15 5.92211 15 5.99974C15 6.07475 14.9822 6.14512 14.9531 6.20872C14.9488 6.21818 14.9433 6.22691 14.9385 6.23606C14.9269 6.25775 14.9139 6.27806 14.8994 6.29759C14.8928 6.30659 14.8862 6.31542 14.8789 6.32395C14.8635 6.34196 14.8469 6.35826 14.8291 6.37376C14.8227 6.37934 14.8182 6.38706 14.8115 6.39231L7.78516 11.9001C7.57611 12.0639 7.27844 12.0217 7.12012 11.8054C6.96204 11.5891 7.00334 11.281 7.21191 11.1169L13.1104 6.49095H0.474609C0.212521 6.49077 9.73433e-05 6.27117 0 5.99974C0 5.72822 0.212461 5.50772 0.474609 5.50755H13.1084L7.21191 0.883525C7.00317 0.719604 6.9622 0.411483 7.12012 0.195049Z' fill='white'/%3E%3C/svg%3E%0A");
}
body.homepage #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link::after {
  border: 1px solid #FFFFFF;
}
body.homepage #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.12012 0.195049C7.27836 -0.0213219 7.57608 -0.064233 7.78516 0.0993455L14.8115 5.60716C14.8169 5.61141 14.821 5.61734 14.8262 5.62181C14.8455 5.63832 14.8633 5.65609 14.8799 5.67552C14.8859 5.68259 14.8919 5.68961 14.8975 5.697C14.9156 5.72096 14.9307 5.7469 14.9443 5.77415C14.946 5.77754 14.9486 5.78049 14.9502 5.78392C14.9811 5.8492 15 5.92211 15 5.99974C15 6.07475 14.9822 6.14512 14.9531 6.20872C14.9488 6.21818 14.9433 6.22691 14.9385 6.23606C14.9269 6.25775 14.9139 6.27806 14.8994 6.29759C14.8928 6.30659 14.8862 6.31542 14.8789 6.32395C14.8635 6.34196 14.8469 6.35826 14.8291 6.37376C14.8227 6.37934 14.8182 6.38706 14.8115 6.39231L7.78516 11.9001C7.57611 12.0639 7.27844 12.0217 7.12012 11.8054C6.96204 11.5891 7.00334 11.281 7.21191 11.1169L13.1104 6.49095H0.474609C0.212521 6.49077 9.73433e-05 6.27117 0 5.99974C0 5.72822 0.212461 5.50772 0.474609 5.50755H13.1084L7.21191 0.883525C7.00317 0.719604 6.9622 0.411483 7.12012 0.195049Z' fill='%234C4C4C'/%3E%3C/svg%3E%0A");
}
body.homepage #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link:hover::after {
  background: #FFFFFF;
}
body.homepage #header .header-wrapper .header-nav .nav-actions .action-btn {
  background: #4C4C4C;
  color: #FFFFFF;
}
body.homepage #header .header-wrapper .header-nav .nav-actions .action-btn::before {
  background: #FFFFFF;
}
body.homepage #header .header-wrapper .header-nav .nav-actions .action-btn::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='white'/%3E%3C/svg%3E%0A");
}
body.homepage #header .header-wrapper .header-nav .nav-actions .action-btn:hover {
  color: #4C4C4C;
}
body.homepage #header .header-wrapper .header-nav .nav-actions .action-btn:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='%234C4C4C'/%3E%3C/svg%3E%0A");
}
body.homepage .mobile-nav-toggle .toggle-icon span {
  background: #FFFFFF;
}
body.homepage .mobile-nav-toggle.toggle-active .toggle-icon span {
  background: #FFFFFF;
}
body.homepage #mobile-nav {
  background-color: #4D4D4D;
}
body.homepage #mobile-nav .mobile-nav-container {
  border-top: 1px solid #FFFFFF;
}
body.homepage #mobile-nav .mobile-nav-menu > li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
body.homepage #mobile-nav .mobile-nav-menu > li .menu-link {
  color: #FFFFFF;
}
body.homepage #mobile-nav .mobile-nav-menu > li .menu-link:hover {
  color: #CDCDCD;
}
body.homepage #mobile-nav .mobile-nav-menu > li .menu-link::before {
  border-right: 2px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
}
body.homepage #mobile-nav .mobile-nav-menu > li .menu-sub > li {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
body.homepage #mobile-nav .mobile-nav-menu > li .menu-sub .sub-link {
  color: #FFFFFF;
}
body.homepage #mobile-nav .mobile-nav-menu > li .menu-sub .sub-link::before {
  border-right: 2px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
}
body.homepage #mobile-nav .mobile-nav-menu > li .menu-sub .sub-link:hover {
  color: #CDCDCD;
}

.back-to-top {
  position: fixed;
  bottom: 6rem;
  right: 6rem;
  display: block;
  width: 8rem;
  padding: 0;
  margin: 0;
  text-decoration: none;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  z-index: 996;
}
@media only screen and (max-width: 768px) {
  .back-to-top {
    bottom: 3rem;
    right: 2rem;
    width: 7.2rem;
  }
}
.back-to-top.active {
  opacity: 1;
  visibility: visible;
}
.back-to-top:not(.active) {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.back-to-top img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  z-index: 3;
}
.back-to-top:hover {
  opacity: 0.7;
  -webkit-transform: translateY(-0.4rem);
          transform: translateY(-0.4rem);
}

@media only screen and (max-width: 768px) {
  [data-aos=fade-up] {
    -webkit-transform: translate3d(0, 30px, 0);
            transform: translate3d(0, 30px, 0);
  }
  [data-aos=fade-left] {
    -webkit-transform: translate3d(-30px, 0, 0);
            transform: translate3d(-30px, 0, 0);
  }
  [data-aos=fade-right] {
    -webkit-transform: translate3d(30px, 0, 0);
            transform: translate3d(30px, 0, 0);
  }
}
#footer {
  position: relative;
  padding: 10rem 0 6rem;
  background: #232323;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  #footer {
    padding: 8rem 0 4rem;
  }
}
#footer .footer-nav {
  position: relative;
  display: block;
  padding-bottom: 6rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  #footer .footer-nav {
    padding-bottom: 4rem;
    margin-bottom: 4rem;
  }
}
#footer .footer-nav .footer-menu {
  position: relative;
  list-style: none;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: left;
  padding: 0;
  margin: 0;
}
@media print, screen and (min-width: 769px) {
  #footer .footer-nav .footer-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 4rem 4rem;
  }
}
@media only screen and (max-width: 768px) {
  #footer .footer-nav .footer-menu {
    display: block;
  }
}
#footer .footer-nav .footer-menu > li {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  #footer .footer-nav .footer-menu > li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 20rem;
  }
}
@media only screen and (max-width: 768px) {
  #footer .footer-nav .footer-menu > li {
    width: 100%;
  }
  #footer .footer-nav .footer-menu > li:not(:last-child) {
    padding-bottom: 4rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 4rem;
  }
}
#footer .footer-nav .footer-menu .menu-label {
  position: relative;
  margin-bottom: 3rem;
}
#footer .footer-nav .footer-menu .menu-label .jp {
  position: relative;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.4rem;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: left;
  padding: 0;
  margin: 0;
}
#footer .footer-nav .footer-menu .menu-label .en {
  position: relative;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 3.6rem;
  font-weight: 200;
  line-height: 4.2rem;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: left;
  padding: 0;
  margin: 0;
}
#footer .footer-nav .footer-menu .menu-list {
  position: relative;
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
}
#footer .footer-nav .footer-menu .menu-list > li {
  position: relative;
  display: block;
}
#footer .footer-nav .footer-menu .menu-list > li:not(:last-child) {
  margin-bottom: 0.6rem;
}
#footer .footer-nav .footer-menu .menu-link {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  font: inherit;
  color: #9EA19B;
  text-decoration: none;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
@media only screen and (max-width: 768px) {
  #footer .footer-nav .footer-menu .menu-link {
    text-decoration: underline;
  }
}
#footer .footer-nav .footer-menu .menu-link:hover {
  color: #FFFFFF;
  text-decoration: underline;
}
#footer .footer-wrapper {
  position: relative;
  display: block;
}
#footer .footer-wrapper::after {
  content: "";
  display: block;
  clear: both;
}
#footer .footer-wrapper .footer-logo {
  position: relative;
  display: block;
}
@media print, screen and (min-width: 769px) {
  #footer .footer-wrapper .footer-logo {
    float: left;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
  }
}
#footer .footer-wrapper .footer-logo .logo-link {
  position: relative;
  display: block;
  width: 27rem;
  max-width: 100%;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  #footer .footer-wrapper .footer-logo .logo-link {
    width: 18rem;
  }
}
#footer .footer-wrapper .footer-logo .logo-link img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border: none;
}
#footer .footer-wrapper .footer-info {
  position: relative;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #9EA19B;
  text-align: left;
  padding: 0;
}
@media print, screen and (min-width: 769px) {
  #footer .footer-wrapper .footer-info {
    float: left;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin-left: 4rem;
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  #footer .footer-wrapper .footer-info {
    margin-top: 1.6rem;
  }
}
#footer .footer-wrapper .footer-info .address {
  position: relative;
  font: inherit;
}
#footer .footer-wrapper .footer-info .tel {
  position: relative;
}
#footer .footer-wrapper .footer-info .tel .tel-link {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.8rem;
  font-family: "Inter", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 3rem;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: left;
  padding: 0;
  margin: 0;
  text-decoration: none;
}
#footer .footer-wrapper .footer-info .tel .tel-link img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: block;
  width: 1.5rem;
}
#footer .footer-wrapper .footer-info .tel .tel-link span {
  font: inherit;
  text-decoration: none;
}
#footer .footer-wrapper .footer-info a {
  color: inherit;
  text-decoration: none;
}
#footer .footer-wrapper .footer-sns {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1.6rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media print, screen and (min-width: 769px) {
  #footer .footer-wrapper .footer-sns {
    float: right;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin-top: 0.6rem;
  }
}
@media only screen and (max-width: 768px) {
  #footer .footer-wrapper .footer-sns {
    margin-top: 4rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 2.4rem;
  }
}
#footer .footer-wrapper .footer-sns > li {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
#footer .footer-wrapper .footer-sns .sns-link {
  position: relative;
  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;
  width: 7.2rem;
  height: 7.2rem;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  padding: 0;
  margin: 0;
  z-index: 0;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
#footer .footer-wrapper .footer-sns .sns-link img, #footer .footer-wrapper .footer-sns .sns-link svg {
  display: block;
  width: 3rem;
  height: auto;
}
#footer .footer-wrapper .footer-sns .sns-link img path, #footer .footer-wrapper .footer-sns .sns-link svg path {
  fill: #FFFFFF;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
#footer .footer-wrapper .footer-sns .sns-link:hover {
  background: rgba(0, 0, 0, 0.4);
}
#footer .footer-bottom {
  position: relative;
  margin-top: 5rem;
}
@media only screen and (max-width: 768px) {
  #footer .footer-bottom {
    margin-top: 4rem;
    padding-top: 4rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
}
#footer .footer-bottom::after {
  content: "";
  display: block;
  clear: both;
}
#footer .footer-bottom .bottom-menu {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.4rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #646661;
  text-align: left;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media print, screen and (min-width: 769px) {
  #footer .footer-bottom .bottom-menu {
    float: right;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  #footer .footer-bottom .bottom-menu {
    margin-bottom: 2rem;
  }
}
#footer .footer-bottom .bottom-menu > li {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
#footer .footer-bottom .bottom-menu .menu-link {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  font: inherit;
  color: #646661;
  text-decoration: none;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
@media only screen and (max-width: 768px) {
  #footer .footer-bottom .bottom-menu .menu-link {
    text-decoration: underline;
  }
}
#footer .footer-bottom .bottom-menu .menu-link:hover {
  color: #FFFFFF;
  text-decoration: underline;
}
#footer .footer-bottom .copyright {
  position: relative;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #646661;
  text-align: left;
  padding: 0;
  margin: 0;
}
@media print, screen and (min-width: 769px) {
  #footer .footer-bottom .copyright {
    float: left;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
  }
}

.mainvisual {
  position: relative;
  padding: 0;
  overflow: hidden;
  z-index: 0;
}
.mainvisual-bg {
  position: relative;
  display: block;
  width: 100%;
  height: 90rem;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .mainvisual-bg {
    height: 64rem;
  }
}
.mainvisual-bg img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  z-index: 0;
}
.mainvisual-body {
  position: absolute;
  inset: 0;
  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;
  padding: 7rem 0 0;
  z-index: 1;
}
html.is-revealing .mainvisual-body {
  -webkit-animation: loader-hero-in 1.15s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;
          animation: loader-hero-in 1.15s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;
}
.mainvisual-body .container {
  position: relative;
  z-index: 1;
}
.mainvisual-body .mainvisual-title {
  position: relative;
}
.mainvisual-body .mainvisual-title .sup {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.5em;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .mainvisual-body .mainvisual-title .sup {
    font-size: 1.2rem;
    line-height: 2rem;
    margin-bottom: 1.8rem;
  }
}
.mainvisual-body .mainvisual-title .sup span {
  position: relative;
  display: block;
}
.mainvisual-body .mainvisual-title .sup span:not(:last-child) {
  margin-bottom: 1rem;
}
@media only screen and (max-width: 768px) {
  .mainvisual-body .mainvisual-title .sup span:not(:last-child) {
    margin-bottom: 0.8rem;
  }
}
.mainvisual-body .mainvisual-title .title {
  position: relative;
  font-family: "Shippori Mincho", serif;
  font-size: 6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .mainvisual-body .mainvisual-title .title {
    font-size: 3.2rem;
    margin-right: -2rem;
  }
}
.mainvisual-body .mainvisual-title .title span {
  position: relative;
  display: block;
  text-indent: -3.4rem;
}
@media only screen and (max-width: 768px) {
  .mainvisual-body .mainvisual-title .title span {
    text-indent: -2rem;
  }
}
.mainvisual-body .mainvisual-title .title span:not(:last-child) {
  margin-bottom: 0.6rem;
}
.mainvisual-body .mainvisual-title .title b {
  font-weight: 500;
}
.mainvisual-body .mainvisual-actions {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 2.4rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  .mainvisual-body .mainvisual-actions {
    gap: 1.6rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 3.6rem;
  }
}
.mainvisual-body .mainvisual-actions > li {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.mainvisual-body .mainvisual-desc {
  position: relative;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: left;
  margin-top: 4rem;
}
@media print, screen and (min-width: 769px) {
  .mainvisual-body .mainvisual-desc span {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .mainvisual-body .mainvisual-desc {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
  .mainvisual-body .mainvisual-desc span {
    display: inline-block;
  }
  .mainvisual-body .mainvisual-desc span:not(:last-child) {
    margin-right: 1rem;
  }
}

.top-intro-section {
  position: relative;
  padding: 10rem 0 12rem;
  background: #E9E9E8;
  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;
  overflow: hidden;
  z-index: 0;
}
@media print, screen and (min-width: 769px) {
  .top-intro-section {
    min-height: 65.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .top-intro-section {
    padding: 8rem 0 9rem;
  }
}
.top-intro-section .container {
  position: relative;
  z-index: 1;
}
.top-intro-section .section-deco {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 15rem;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.2em;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.8);
  text-align: left;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .top-intro-section .section-deco {
    font-size: 5rem;
    line-height: 4.8;
    left: 1rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.top-intro-section .section-lead {
  position: relative;
  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;
  gap: 0.6rem;
  font-family: "Shippori Mincho", serif;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .top-intro-section .section-lead {
    font-size: 3rem;
    margin-bottom: 3rem;
    gap: 1rem;
  }
}
.top-intro-section .section-lead span {
  display: inline-block;
  font: inherit;
}
.top-intro-section .section-lead em {
  font: inherit;
  font-style: normal;
  color: #00A0BC;
  margin-right: 0.4rem;
}
.top-intro-section .section-desc {
  position: relative;
  font-family: "Shippori Mincho", serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .top-intro-section .section-desc {
    letter-spacing: 0.05em;
  }
}

.top-approach-section {
  position: relative;
  padding: 10rem 0 0;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .top-approach-section {
    padding: 8rem 0 0;
  }
}
.top-approach-section .container {
  position: relative;
  z-index: 1;
}
.top-approach-section .section-title {
  position: relative;
}
.top-approach-section .section-content {
  position: relative;
  width: 100%;
  max-width: 96rem;
  margin: 0 auto;
}
.top-approach-section .section-content .approach-panel {
  position: relative;
  display: block;
  width: 100%;
}
.top-approach-section .section-content .approach-panel .thumb {
  position: relative;
  width: 47.8rem;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .top-approach-section .section-content .approach-panel .thumb {
    width: 100%;
  }
}
.top-approach-section .section-content .approach-panel .board {
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  .top-approach-section .section-content .approach-panel .board {
    position: absolute;
    top: 0;
    right: 0;
    width: 56rem;
    height: 41.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .top-approach-section .section-content .approach-panel .board {
    height: 36.8rem;
  }
}
.top-approach-section .section-content .approach-panel .board::before {
  content: "";
  position: absolute;
  top: 3.6rem;
  left: calc(50% - 15.6rem);
  width: 27.2rem;
  height: 23.6rem;
  background-image: url("data:image/svg+xml,%3Csvg width='272' height='236' viewBox='0 0 272 236' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M272 236H0L136 0L272 236ZM1.72754 235.001H270.272L136 1.99805L1.72754 235.001ZM214.416 204.706L213.774 205.471L213.022 204.838L213.663 204.073L214.416 204.706ZM58.1934 203.899L57.4414 204.532L56.7998 203.768L57.5527 203.135L58.1934 203.899ZM212.158 202.809L211.518 203.573L210.013 202.308L210.653 201.543L212.158 202.809ZM61.2031 201.369L59.6982 202.635L59.0576 201.87L60.5625 200.604L61.2031 201.369ZM209.148 200.278L208.508 201.043L207.003 199.777L207.644 199.013L209.148 200.278ZM64.2129 198.84L62.708 200.104L62.0674 199.34L63.5723 198.074L64.2129 198.84ZM206.14 197.748L205.498 198.513L203.993 197.248L204.634 196.482L206.14 197.748ZM67.2227 196.31L65.7178 197.574L65.0762 196.81L66.582 195.544L67.2227 196.31ZM203.13 195.218L202.488 195.982L200.983 194.718L201.624 193.952L203.13 195.218ZM70.2324 193.779L68.7275 195.044L68.0859 194.279L69.5918 193.014L70.2324 193.779ZM200.12 192.688L199.479 193.453L197.974 192.188L198.614 191.422L200.12 192.688ZM73.2422 191.249L71.7373 192.515L71.0957 191.749L72.6016 190.483L73.2422 191.249ZM197.11 190.157L196.469 190.923L194.964 189.657L195.604 188.892L197.11 190.157ZM76.252 188.719L74.7471 189.984L74.1055 189.219L75.6113 187.953L76.252 188.719ZM194.101 187.627L193.459 188.393L191.954 187.127L192.595 186.361L194.101 187.627ZM79.2617 186.188L77.7568 187.454L77.1152 186.688L78.6211 185.423L79.2617 186.188ZM191.091 185.097L190.45 185.862L188.944 184.597L189.585 183.831L191.091 185.097ZM82.2715 183.658L80.7656 184.924L80.125 184.158L81.6309 182.893L82.2715 183.658ZM188.081 182.566L187.44 183.332L185.935 182.066L186.576 181.302L188.081 182.566ZM85.2812 181.128L83.7754 182.394L83.1348 181.628L84.6396 180.363L85.2812 181.128ZM185.071 180.036L184.431 180.802L182.925 179.536L183.566 178.771L185.071 180.036ZM88.291 178.598L86.7852 179.863L86.1445 179.098L87.6494 177.833L88.291 178.598ZM182.062 177.507L181.421 178.271L179.915 177.006L180.557 176.241L182.062 177.507ZM91.3008 176.067L89.7949 177.333L89.1543 176.568L90.6592 175.303L91.3008 176.067ZM179.052 174.977L178.411 175.741L176.905 174.476L177.547 173.711L179.052 174.977ZM94.3105 173.537L92.8047 174.803L92.1641 174.038L93.6689 172.772L94.3105 173.537ZM176.042 172.446L175.401 173.211L173.896 171.946L174.537 171.181L176.042 172.446ZM97.3193 171.008L95.8145 172.272L95.1738 171.508L96.6787 170.242L97.3193 171.008ZM173.032 169.916L172.392 170.681L170.887 169.416L171.527 168.65L173.032 169.916ZM100.329 168.478L98.8242 169.742L98.1836 168.978L99.6885 167.712L100.329 168.478ZM170.022 167.386L169.382 168.151L167.877 166.886L168.518 166.12L170.022 167.386ZM103.339 165.947L101.834 167.213L101.193 166.447L102.698 165.182L103.339 165.947ZM167.013 164.855L166.372 165.621L164.867 164.355L165.508 163.59L167.013 164.855ZM106.349 163.417L104.844 164.683L104.203 163.917L105.708 162.651L106.349 163.417ZM164.003 162.325L163.362 163.091L161.857 161.825L162.498 161.06L164.003 162.325ZM109.358 160.887L107.854 162.152L107.213 161.387L108.718 160.121L109.358 160.887ZM160.993 159.795L160.353 160.561L158.848 159.295L159.488 158.529L160.993 159.795ZM112.368 158.356L110.863 159.622L110.223 158.856L111.728 157.591L112.368 158.356ZM157.984 157.265L157.343 158.03L155.838 156.765L156.479 156L157.984 157.265ZM115.378 155.826L113.873 157.092L113.231 156.326L114.737 155.062L115.378 155.826ZM154.975 154.734L154.333 155.5L152.828 154.234L153.469 153.47L154.975 154.734ZM118.388 153.296L116.883 154.562L116.241 153.796L117.747 152.531L118.388 153.296ZM151.965 152.204L151.323 152.97L149.818 151.704L150.459 150.939L151.965 152.204ZM121.397 150.766L119.893 152.031L119.251 151.267L120.757 150.001L121.397 150.766ZM148.955 149.675L148.313 150.439L146.809 149.174L147.449 148.409L148.955 149.675ZM124.407 148.235L122.902 149.501L122.261 148.736L123.767 147.471L124.407 148.235ZM145.945 147.145L145.304 147.909L143.799 146.645L144.439 145.879L145.945 147.145ZM127.417 145.706L125.912 146.971L125.271 146.206L126.776 144.94L127.417 145.706ZM142.936 144.614L142.295 145.379L140.789 144.114L141.43 143.349L142.936 144.614ZM130.427 143.176L128.921 144.44L128.28 143.676L129.786 142.41L130.427 143.176ZM134.905 133.676C137.496 133.676 139.596 135.775 139.596 138.365C139.596 139.377 139.274 140.312 138.729 141.078L139.926 142.084L139.285 142.849L138.068 141.827C137.234 142.59 136.124 143.056 134.905 143.056C132.315 143.055 130.216 140.955 130.216 138.365C130.216 135.775 132.315 133.676 134.905 133.676ZM135.873 132.415H134.876V130.446H135.873V132.415ZM135.873 128.479H134.876V126.511H135.873V128.479ZM135.873 124.543H134.876V122.574H135.873V124.543ZM135.873 120.606H134.876V118.638H135.873V120.606ZM135.873 116.67H134.876V114.702H135.873V116.67ZM135.873 112.734H134.876V110.766H135.873V112.734ZM135.873 108.798H134.876V106.829H135.873V108.798ZM135.873 104.861H134.876V102.893H135.873V104.861ZM135.873 100.926H134.876V98.957H135.873V100.926ZM135.873 96.9893H134.876V95.0205H135.873V96.9893ZM135.873 93.0527H134.876V91.084H135.873V93.0527ZM135.873 89.1162H134.876V87.1475H135.873V89.1162ZM135.873 85.1807H134.876V83.2119H135.873V85.1807ZM135.873 81.2441H134.876V79.2754H135.873V81.2441ZM135.873 77.3076H134.876V75.3389H135.873V77.3076ZM135.873 73.3711H134.876V71.4033H135.873V73.3711ZM135.873 69.4355H134.876V67.4668H135.873V69.4355ZM135.873 65.499H134.876V63.5303H135.873V65.499ZM135.873 61.5625H134.876V59.5938H135.873V61.5625ZM135.873 57.626H134.876V55.6582H135.873V57.626ZM135.873 53.6904H134.876V51.7217H135.873V53.6904ZM135.873 49.7539H134.876V47.7852H135.873V49.7539ZM135.873 45.8174H134.876V43.8486H135.873V45.8174ZM135.873 41.8818H134.876V39.9131H135.873V41.8818ZM135.873 37.9453H134.876V36.9609H135.873V37.9453Z' fill='%2300A0BC'/%3E%3C/svg%3E%0A");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .top-approach-section .section-content .approach-panel .board::before {
    top: 1.2rem;
    left: calc(50% - 12.2rem);
    width: 24.4rem;
    height: 23.6rem;
  }
}
.top-approach-section .section-content .approach-panel .board .item {
  position: absolute;
  z-index: 1;
}
.top-approach-section .section-content .approach-panel .board .item .label {
  position: relative;
  font-family: "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: center;
  background: #FFFFFF;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .top-approach-section .section-content .approach-panel .board .item .label {
    font-size: 2rem;
  }
}
.top-approach-section .section-content .approach-panel .board .item .desc {
  position: relative;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  margin-top: 0.6rem;
}
@media only screen and (max-width: 768px) {
  .top-approach-section .section-content .approach-panel .board .item .desc {
    font-size: 1.2rem;
    line-height: 2.1rem;
    letter-spacing: 0;
  }
}
.top-approach-section .section-content .approach-panel .board .item--1 {
  top: 1rem;
  left: 38%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1rem 2.4rem;
}
@media only screen and (max-width: 768px) {
  .top-approach-section .section-content .approach-panel .board .item--1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    top: -9rem;
    left: calc(50% - 9rem);
  }
}
.top-approach-section .section-content .approach-panel .board .item--1 .label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
}
.top-approach-section .section-content .approach-panel .board .item--1 .desc {
  width: 22.4rem;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .top-approach-section .section-content .approach-panel .board .item--1 .desc {
    width: 18rem;
  }
}
.top-approach-section .section-content .approach-panel .board .item--2 {
  top: 24.6rem;
  left: 0;
  width: 22.4rem;
}
@media only screen and (max-width: 768px) {
  .top-approach-section .section-content .approach-panel .board .item--2 {
    top: 22.6rem;
    left: -0.5rem;
    width: 17rem;
  }
}
.top-approach-section .section-content .approach-panel .board .item--2 .label {
  padding: 0 0.6rem;
}
@media only screen and (max-width: 768px) {
  .top-approach-section .section-content .approach-panel .board .item--2 .label {
    padding-left: 0;
    margin-left: 0;
  }
}
.top-approach-section .section-content .approach-panel .board .item--3 {
  top: 24.6rem;
  right: 0;
  width: 22.4rem;
}
@media only screen and (max-width: 768px) {
  .top-approach-section .section-content .approach-panel .board .item--3 {
    top: 22.6rem;
    right: -0.5rem;
    width: 17rem;
  }
}
.top-approach-section .section-content .approach-panel .board .item--3 .label {
  padding: 0 1rem;
}
@media only screen and (max-width: 768px) {
  .top-approach-section .section-content .approach-panel .board .item--3 .label {
    padding-right: 0;
    letter-spacing: 0;
    margin-right: 0;
  }
}
.top-approach-section .approach-gallery-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: 0;
  margin-top: 12rem;
}
@media only screen and (max-width: 768px) {
  .top-approach-section .approach-gallery-wrapper {
    margin-top: 8rem;
  }
}
.top-approach-section .approach-gallery {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 0;
  -webkit-animation: infinite-scroll 20s linear infinite;
          animation: infinite-scroll 20s linear infinite;
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .top-approach-section .approach-gallery {
    -webkit-animation: none;
            animation: none;
  }
}
.top-approach-section .approach-gallery .thumb {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 38rem;
  height: 20rem;
}
@media only screen and (max-width: 768px) {
  .top-approach-section .approach-gallery .thumb {
    width: 30.4rem;
    height: 16rem;
  }
}
.top-approach-section .approach-gallery .thumb img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
}
.top-approach-section .approach-gallery .thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(86, 86, 86, 0.4);
  z-index: 1;
}

.top-trouble-section {
  position: relative;
  padding: 10rem 0 11rem;
  background: #E9E9E8;
}
@media only screen and (max-width: 768px) {
  .top-trouble-section {
    padding: 8rem 0 9rem;
  }
}
.top-trouble-section .container {
  position: relative;
  max-width: 100%;
  padding: 0;
  z-index: 1;
}
.top-trouble-section .section-title {
  position: relative;
}
.top-trouble-section .section-content {
  position: relative;
}
.top-trouble-section .section-content .trouble-list-swiper {
  position: relative;
  width: 100%;
  padding-bottom: 1rem;
}
.top-trouble-section .section-content .trouble-list-swiper .swiper-wrapper {
  position: relative;
}
.top-trouble-section .section-content .trouble-list-swiper .swiper-slide {
  position: relative;
  width: 36rem;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .top-trouble-section .section-content .trouble-list-swiper .swiper-slide {
    width: 31rem;
  }
}
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-prev,
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-next {
  position: absolute;
  top: calc(50% - 4.1rem);
  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;
  width: 7.2rem;
  height: 7.2rem;
  background: #FFFFFF;
  border: 1px solid #00A0BC;
  border-radius: 50%;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  padding: 0;
  margin: 0;
  z-index: 10;
}
@media only screen and (max-width: 768px) {
  .top-trouble-section .section-content .trouble-list-swiper .swiper-button-prev,
  .top-trouble-section .section-content .trouble-list-swiper .swiper-button-next {
    top: calc(50% - 3.5rem);
    width: 6rem;
    height: 6rem;
  }
}
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-prev::after,
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-next::after {
  display: none;
  opacity: 0;
  visibility: hidden;
}
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-prev svg,
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-next svg {
  position: relative;
  display: block;
  width: 1.6rem;
  height: auto;
}
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-prev svg path,
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-next svg path {
  fill: #00A0BC;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-prev:hover,
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-next:hover {
  background: #00A0BC;
}
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-prev:hover svg path,
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-next:hover svg path {
  fill: #FFFFFF;
}
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-prev {
  left: clamp(1rem, 50% - 60rem - 4.8rem, 50%);
}
@media only screen and (max-width: 768px) {
  .top-trouble-section .section-content .trouble-list-swiper .swiper-button-prev {
    left: 1rem;
  }
}
.top-trouble-section .section-content .trouble-list-swiper .swiper-button-next {
  right: clamp(1rem, 50% - 60rem - 4.8rem, 50%);
}
@media only screen and (max-width: 768px) {
  .top-trouble-section .section-content .trouble-list-swiper .swiper-button-next {
    right: 1rem;
  }
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card {
  position: relative;
  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: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 3.6rem 3rem 4.5rem;
  background: #FFFFFF;
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 768px) {
  .top-trouble-section .section-content .trouble-list-swiper .trouble-card {
    padding: 3rem 2.4rem 3.6rem;
  }
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-wrap {
  position: relative;
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-title {
  position: relative;
  margin-bottom: 1.6rem;
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-title .en {
  position: relative;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.2em;
  color: #4D4D4D;
  text-align: center;
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-title .jp {
  position: relative;
  font-family: "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-title .jp {
    font-size: 2rem;
  }
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-icon {
  position: relative;
  width: 10.4rem;
  margin: 0 auto;
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-content {
  position: relative;
  margin-top: 2.4rem;
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-content .label {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.025em;
  color: #4D4D4D;
  text-align: center;
  margin-bottom: 1.2rem;
}
@media only screen and (max-width: 768px) {
  .top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-content .label {
    font-size: 1.6rem;
    letter-spacing: 0;
  }
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-content .list {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-content .list {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-content .list > li {
  position: relative;
  display: block;
  padding: 0 0 0 1.6rem;
}
@media only screen and (max-width: 768px) {
  .top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-content .list > li {
    padding-left: 1.4rem;
  }
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-content .list > li:not(:last-child) {
  margin-bottom: 0.6rem;
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-content .list > li::before {
  content: "";
  position: absolute;
  top: 1.4rem;
  left: 0.3rem;
  width: 0.5rem;
  height: 0.5rem;
  background: #00A0BC;
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  .top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-content .list > li::before {
    top: 1rem;
    left: 0.2rem;
  }
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-action {
  position: relative;
  margin-top: 3rem;
}
@media only screen and (max-width: 768px) {
  .top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-action {
    margin-top: 2.4rem;
  }
}
.top-trouble-section .section-content .trouble-list-swiper .trouble-card .card-action .link-btn {
  position: relative;
  margin: 0 auto;
}

.top-program-section {
  position: relative;
  padding: 10rem 0 12rem;
  background-image: url("../image/program-bg.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .top-program-section {
    padding: 8rem 0 10rem;
  }
}
.top-program-section .container {
  position: relative;
  z-index: 1;
}
.top-program-section .section-title {
  position: relative;
}
.top-program-section .section-title .en,
.top-program-section .section-title .jp {
  color: #FFFFFF;
}
.top-program-section .section-content {
  position: relative;
}
.top-program-section .section-content .program-card-list {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 6rem minmax(0, 1fr) 6rem minmax(0, 1fr);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4rem 6rem;
}
@media only screen and (max-width: 768px) {
  .top-program-section .section-content .program-card-list {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 4rem 3rem;
  }
}
.top-program-section .section-content .program-card-list > li {
  position: relative;
  display: block;
}
.top-program-section .section-content .program-card-list .program-card {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
  z-index: 0;
}
.top-program-section .section-content .program-card-list .program-card .card-head {
  position: relative;
  padding: 3rem 2rem 2rem;
}
.top-program-section .section-content .program-card-list .program-card .card-head .title {
  position: relative;
}
.top-program-section .section-content .program-card-list .program-card .card-head .title .en {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
  padding: 0 1.6rem;
  margin: 0 auto;
}
.top-program-section .section-content .program-card-list .program-card .card-head .title .en::before, .top-program-section .section-content .program-card-list .program-card .card-head .title .en::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.2rem);
  width: 0.4rem;
  height: 0.4rem;
  background: #00A0BC;
  border-radius: 50%;
}
.top-program-section .section-content .program-card-list .program-card .card-head .title .en::before {
  left: 0;
}
.top-program-section .section-content .program-card-list .program-card .card-head .title .en::after {
  right: 0;
}
.top-program-section .section-content .program-card-list .program-card .card-head .title .jp {
  position: relative;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
}
.top-program-section .section-content .program-card-list .program-card .card-head .price {
  position: relative;
  font-family: "Inter", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 3.6rem;
  letter-spacing: 0;
  color: #4D4D4D;
  text-align: center;
  margin-top: 1.2rem;
}
.top-program-section .section-content .program-card-list .program-card .card-head .price b {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
}
.top-program-section .section-content .program-card-list .program-card .card-head .price small {
  font-size: 1.4rem;
  font-weight: 800;
}
.top-program-section .section-content .program-card-list .program-card .card-thumb {
  position: relative;
  width: 100%;
}
.top-program-section .section-content .program-card-list .program-card .card-body {
  position: relative;
  padding: 2.4rem 2rem 3.2rem;
}
.top-program-section .section-content .program-card-list .program-card .card-body .content {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: center;
}
.top-program-section .section-content .program-card-list .program-card .card-body .action {
  position: relative;
  margin-top: 2.4rem;
}
.top-program-section .section-content .program-card-list .program-card .card-body .action .link-btn {
  position: relative;
  margin: 0 auto;
}

.top-voice-section {
  position: relative;
  padding: 11rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .top-voice-section {
    padding: 8rem 0 10rem;
  }
}
.top-voice-section .container {
  position: relative;
  z-index: 1;
}
.top-voice-section .container::after {
  content: "";
  display: block;
  clear: both;
}
.top-voice-section .section-title {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .top-voice-section .section-title {
    float: left;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0;
  }
}
.top-voice-section .section-content {
  position: relative;
  display: block;
}
@media print, screen and (min-width: 769px) {
  .top-voice-section .section-content {
    float: right;
    width: 78rem;
    max-width: 100%;
  }
}
.top-voice-section .voice-block-list {
  position: relative;
  display: block;
  padding: 0;
}
.top-voice-section .voice-block-list > li {
  position: relative;
  display: block;
}
.top-voice-section .voice-block-list > li:not(:last-child) {
  padding-bottom: 3.6rem;
  border-bottom: 1px solid #E9E9E8;
  margin-bottom: 3.6rem;
}
@media only screen and (max-width: 768px) {
  .top-voice-section .voice-block-list > li:not(:last-child) {
    padding-bottom: 4rem;
    margin-bottom: 4rem;
  }
}
.top-voice-section .voice-block {
  position: relative;
  display: block;
}
.top-voice-section .voice-block::after {
  content: "";
  display: block;
  clear: both;
}
.top-voice-section .voice-block .block-num {
  position: relative;
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 3.2rem;
  color: #00A0BC;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 3.2rem 0 0;
}
@media print, screen and (min-width: 769px) {
  .top-voice-section .voice-block .block-num {
    float: left;
    max-width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .top-voice-section .voice-block .block-num {
    margin-bottom: 2rem;
  }
}
.top-voice-section .voice-block .block-num span {
  font: inherit;
  letter-spacing: 0.1em;
}
.top-voice-section .voice-block .block-num em {
  position: absolute;
  top: -2.6rem;
  right: 0;
  display: inline-block;
  font-style: normal;
  font-size: 6rem;
  font-weight: 500;
  line-height: 1;
}
.top-voice-section .voice-block .block-body {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
  z-index: 0;
}
@media print, screen and (min-width: 769px) {
  .top-voice-section .voice-block .block-body {
    float: right;
    width: calc(100% - 13.6rem);
    max-width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .top-voice-section .voice-block .block-body::after {
    content: "";
    display: block;
    clear: both;
  }
}
.top-voice-section .voice-block .block-body .tags {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 1.2rem;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .top-voice-section .voice-block .block-body .tags {
    float: left;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.top-voice-section .voice-block .block-body .tags > li {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
.top-voice-section .voice-block .block-body .tags .tag {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #00A0BC;
  padding: 0.6rem 2.4rem;
  white-space: nowrap;
  background: #E9E9E8;
  border-radius: 3.6rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
.top-voice-section .voice-block .block-body .star {
  position: relative;
  width: 14.5rem;
  max-width: 100%;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 768px) {
  .top-voice-section .voice-block .block-body .star {
    float: left;
    margin-left: 2rem;
    margin-top: 0.8rem;
  }
}
.top-voice-section .voice-block .block-body .content {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .top-voice-section .voice-block .block-body .content {
    clear: both;
  }
}
.top-voice-section .voice-block .block-body .name {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #999999;
  text-align: left;
  margin-top: 0.6rem;
}

.top-flow-section {
  position: relative;
  padding: 10rem 0 12rem;
  background: #E9E9E8;
}
@media only screen and (max-width: 768px) {
  .top-flow-section {
    padding: 8rem 0 10rem;
  }
}
.top-flow-section .container {
  position: relative;
  z-index: 1;
}
.top-flow-section .section-title {
  position: relative;
}
.top-flow-section .section-content {
  position: relative;
  display: block;
}
.top-flow-section .flow-list {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 6rem minmax(0, 1fr) 6rem minmax(0, 1fr);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4rem 6rem;
  padding: 0;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .top-flow-section .flow-list {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 4rem 3rem;
  }
}
.top-flow-section .flow-list > li {
  position: relative;
  display: block;
}
.top-flow-section .flow-list .flow-item {
  position: relative;
  padding-top: 4rem;
}
.top-flow-section .flow-list .flow-item .item-num {
  position: absolute;
  top: 0;
  left: calc(50% - 3.4rem);
  display: block;
  width: 6.8rem;
  height: 6.8rem;
  border-radius: 50%;
  background: #00A0BC;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 5rem;
  font-weight: 200;
  line-height: 1;
  letter-spacing: 0;
  color: #FFFFFF;
  text-align: center;
  z-index: 3;
}
.top-flow-section .flow-list .flow-item .item-thumb {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 360/248;
  border-radius: 12.4rem;
  margin-bottom: 2.4rem;
}
.top-flow-section .flow-list .flow-item .item-body {
  position: relative;
}
.top-flow-section .flow-list .flow-item .item-title {
  position: relative;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
  margin-bottom: 1.2rem;
}
.top-flow-section .flow-list .flow-item .item-content {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: center;
}

.top-blog-section {
  position: relative;
  padding: 10rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .top-blog-section {
    padding: 8rem 0 10rem;
  }
}
.top-blog-section .container {
  position: relative;
  z-index: 1;
}
.top-blog-section .section-title {
  position: relative;
}
.top-blog-section .section-content {
  position: relative;
  display: block;
}
.top-blog-section .blog-card-list {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 3.6rem minmax(0, 1fr) 3.6rem minmax(0, 1fr);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4rem 3.6rem;
  padding: 0;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .top-blog-section .blog-card-list {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 4rem 3rem;
  }
}
.top-blog-section .blog-card-list > li {
  position: relative;
  display: block;
}
.top-blog-section .blog-card-list .blog-card {
  position: relative;
  display: block;
  background: #FFFFFF;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 1.6rem;
  overflow: hidden;
  -webkit-box-shadow: 0 0.8rem 2.4rem 0 rgba(61, 90, 69, 0.08);
          box-shadow: 0 0.8rem 2.4rem 0 rgba(61, 90, 69, 0.08);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  z-index: 0;
}
.top-blog-section .blog-card-list .blog-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: none;
  border: 1px solid #E9E9E8;
  border-radius: 1.6rem;
  z-index: 0;
}
.top-blog-section .blog-card-list .blog-card .card-thumb {
  position: relative;
  aspect-ratio: 376/248;
  z-index: 1;
}
.top-blog-section .blog-card-list .blog-card .card-thumb img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform-origin: center;
          transform-origin: center;
  z-index: 0;
}
.top-blog-section .blog-card-list .blog-card .card-body {
  position: relative;
  padding: 2.4rem 2.4rem 2.8rem;
  z-index: 1;
}
.top-blog-section .blog-card-list .blog-card .card-body .meta {
  position: relative;
  display: block;
  margin-bottom: 1.6rem;
}
.top-blog-section .blog-card-list .blog-card .card-body .meta::after {
  content: "";
  display: block;
  clear: both;
}
.top-blog-section .blog-card-list .blog-card .card-body .meta .tags {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 1.2rem;
  padding: 0;
  margin: 0;
  max-width: 100%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  float: left;
}
.top-blog-section .blog-card-list .blog-card .card-body .meta .tags > li {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
.top-blog-section .blog-card-list .blog-card .card-body .meta .tags .tag {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  white-space: nowrap;
  padding: 0.2rem 1.6rem;
  background: #E9E9E8;
  border-radius: 0.5rem;
}
.top-blog-section .blog-card-list .blog-card .card-body .meta .date {
  position: relative;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #8E9188;
  text-align: right;
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  float: right;
  margin-top: 0.2rem;
}
.top-blog-section .blog-card-list .blog-card .card-body .title {
  position: relative;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #00A0BC;
  text-align: left;
}
.top-blog-section .blog-card-list .blog-card .card-body .desc {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  margin-top: 1.2rem;
}
.top-blog-section .blog-card-list .blog-card:hover {
  -webkit-transform: translateY(-0.6rem);
          transform: translateY(-0.6rem);
}
.top-blog-section .blog-card-list .blog-card:hover .card-thumb img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.top-blog-section .section-action {
  position: relative;
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .top-blog-section .section-action {
    margin-top: 6rem;
  }
}
.top-blog-section .section-action .link-btn {
  margin: 0 auto;
}

.common-contact-section {
  position: relative;
  padding: 0;
  overflow: hidden;
  z-index: 0;
}
@media print, screen and (min-width: 769px) {
  .common-contact-section {
    background: rgba(86, 86, 86, 0.5);
  }
}
.common-contact-section .container {
  max-width: 100%;
  padding: 0;
}
.common-contact-section .section-content {
  position: relative;
}
.common-contact-section .section-layout {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .common-contact-section .section-layout {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}
.common-contact-section .section-wrapper {
  position: relative;
  padding: 10rem 4rem 12rem;
}
@media only screen and (max-width: 768px) {
  .common-contact-section .section-wrapper {
    padding: 8rem 2rem 10rem;
  }
}
.common-contact-section .section-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(86, 86, 86, 0.7);
  z-index: 0;
}
.common-contact-section .section-lead {
  position: relative;
  padding: 0 0 2rem;
  margin-bottom: 3.6rem;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .common-contact-section .section-lead {
    margin-bottom: 3rem;
  }
}
.common-contact-section .section-lead::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 2rem);
  width: 4rem;
  height: 1px;
  background: #FFFFFF;
}
.common-contact-section .section-lead .en {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 2.4rem;
  letter-spacing: 0.2em;
  color: #FFFFFF;
  text-align: center;
}
.common-contact-section .section-lead .jp {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: center;
  margin-top: 0.2rem;
}
@media only screen and (max-width: 768px) {
  .common-contact-section .section-lead .jp {
    font-size: 2.4rem;
  }
}
.common-contact-section .section-content {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: center;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .common-contact-section .section-content {
    letter-spacing: 0.05em;
  }
}
.common-contact-section .section-actions {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem 2rem;
  padding: 0;
  margin: 4.8rem 0 0;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .common-contact-section .section-actions {
    margin-top: 3rem;
  }
}
.common-contact-section .section-actions > li {
  position: relative;
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
@media only screen and (max-width: 768px) {
  .common-contact-section .section-actions > li {
    width: 100%;
  }
}
.common-contact-section .section-actions .link-btn {
  margin: 0 auto;
  width: 25.6rem;
  height: 5.6rem;
  font-size: 1.6rem;
}
.common-contact-section .section-consult {
  position: relative;
  background-image: url("../image/consult-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.common-contact-section .section-service {
  position: relative;
  background-image: url("../image/service-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.page-index {
  position: relative;
  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;
  padding: 10rem 0 11rem;
  background-image: url("../image/page-index.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 40rem;
  overflow: hidden;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-index {
    padding: 6rem 0 7rem;
    height: 24.8rem;
  }
}
.page-index .container {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  z-index: 1;
}
.page-index .page-index-title {
  position: relative;
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 8rem;
  font-weight: 200;
  line-height: 1;
  letter-spacing: 0.4rem;
  color: #FFFFFF;
  text-align: center;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .page-index .page-index-title {
    font-size: 3.6rem;
    letter-spacing: 0.2rem;
  }
}

.page-breadcrumbs {
  position: relative;
  padding: 1.6rem 0 0;
}
.page-breadcrumbs .breadcrumbs-list {
  display: block;
  list-style: none;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0;
  color: #4D4D4D;
  padding: 0;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .page-breadcrumbs .breadcrumbs-list {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}
.page-breadcrumbs .breadcrumbs-list .link {
  display: inline;
  color: inherit;
  letter-spacing: 0.1em;
  text-decoration: none;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
@media only screen and (max-width: 768px) {
  .page-breadcrumbs .breadcrumbs-list .link {
    letter-spacing: 0.05em;
  }
}
.page-breadcrumbs .breadcrumbs-list .link:hover {
  color: #00A0BC;
}
.page-breadcrumbs .breadcrumbs-list .text {
  display: inline;
  color: inherit;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 768px) {
  .page-breadcrumbs .breadcrumbs-list .text {
    letter-spacing: 0.05em;
  }
}
.page-breadcrumbs .breadcrumbs-list li {
  position: relative;
  display: inline;
}
.page-breadcrumbs .breadcrumbs-list li + li::before {
  content: "";
  display: inline-block;
  width: 2.7rem;
  height: 2.2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='7' height='11' viewBox='0 0 7 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 5.5L1.12639 11L0 9.94526L4.74722 5.5L0 1.05474L1.12639 0L7 5.5Z' fill='%234D4D4D'/%3E%3C/svg%3E%0A");
  background-size: 0.7rem 1.1rem;
  background-repeat: no-repeat;
  background-position: center center;
  vertical-align: text-bottom;
  margin-left: 0.4rem;
  margin-right: 0.6rem;
}
@media only screen and (max-width: 768px) {
  .page-breadcrumbs .breadcrumbs-list li + li::before {
    width: 2rem;
    height: 1.6rem;
    background-size: 0.6rem auto;
  }
}

.page-about {
  position: relative;
  padding: 8rem 0 12rem;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .page-about {
    padding: 6rem 0 10rem;
  }
}
.page-about .about-deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.page-about .about-deco-img {
  position: absolute;
  top: 12rem;
  left: calc(50% - 72.5rem);
  display: block;
  width: 145rem;
  max-width: none;
  height: auto;
  will-change: transform;
  opacity: 1;
  -webkit-animation: about-deco-drift 26s ease-in-out infinite;
          animation: about-deco-drift 26s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .page-about .about-deco-img {
    -webkit-animation: none !important;
            animation: none !important;
  }
}
.page-about .container {
  position: relative;
  z-index: 1;
}
.page-about .about-detail {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  width: 100%;
  max-width: 108rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .page-about .about-detail {
    line-height: 1.875;
  }
}
.page-about .about-detail::after {
  content: "";
  display: block;
  clear: both;
}
.page-about .about-detail .about-title {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .page-about .about-detail .about-title {
    width: calc(100% - 36.6rem - 6rem);
    float: left;
    margin-top: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .about-detail .about-title {
    margin-bottom: 4rem;
  }
}
.page-about .about-detail .about-text--01 {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .page-about .about-detail .about-text--01 {
    width: calc(100% - 36.6rem - 6rem);
    float: left;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .about-detail .about-text--01 {
    margin-bottom: 4rem;
  }
}
.page-about .about-detail .about-image--01 {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .page-about .about-detail .about-image--01 {
    width: 36.6rem;
    margin-left: auto;
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .about-detail .about-image--01 {
    margin-bottom: 4rem;
  }
}
.page-about .about-detail .about-text--02 {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .page-about .about-detail .about-text--02 {
    width: calc(100% - 36.6rem - 6rem);
    float: right;
    margin-top: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .about-detail .about-text--02 {
    margin-bottom: 4rem;
  }
}
.page-about .about-detail .about-image--02 {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .page-about .about-detail .about-image--02 {
    width: 36.6rem;
  }
}
.page-about .about-detail .about-text--03 {
  position: relative;
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  .page-about .about-detail .about-text--03 {
    margin-top: 4rem;
  }
}
.page-about .about-actions {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem 12rem;
  margin-top: 10rem;
}
@media only screen and (max-width: 768px) {
  .page-about .about-actions {
    margin-top: 7rem;
    gap: 2.4rem 6rem;
  }
}
.page-about .about-actions > li {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
@media only screen and (max-width: 768px) {
  .page-about .about-actions > li {
    width: 100%;
  }
  .page-about .about-actions > li .link-btn {
    margin: 0 auto;
  }
}

.page-flow {
  position: relative;
  padding: 8rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .page-flow {
    padding: 6rem 0 10rem;
  }
}
.page-flow .flow-title {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-title {
    margin-bottom: 5rem;
  }
}
.page-flow .flow-points {
  position: relative;
  display: block;
}
.page-flow .flow-point {
  position: relative;
  display: block;
  padding: 0 0 5rem;
  border-bottom: 1px solid rgba(77, 77, 77, 0.18);
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-point {
    padding-bottom: 4rem;
  }
}
.page-flow .flow-point:not(:last-child) {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-point:not(:last-child) {
    margin-bottom: 4rem;
  }
}
.page-flow .flow-point::after {
  content: "";
  display: block;
  clear: both;
}
.page-flow .flow-point-badge {
  position: relative;
  float: left;
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 8rem;
  height: 8rem;
  padding: 0 0 0.6rem 0.2rem;
  border: 1px solid #00A0BC;
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-point-badge {
    width: 7.6rem;
    height: 7.6rem;
  }
}
.page-flow .flow-point-badge .label {
  position: relative;
  display: block;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.5rem;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-point-badge .label {
    letter-spacing: 0.05em;
  }
}
.page-flow .flow-point-badge .num {
  position: relative;
  display: block;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-point-badge .num {
    letter-spacing: 0.05em;
  }
}
.page-flow .flow-point-body {
  position: relative;
  display: block;
  width: calc(100% - 8rem - 3rem);
  float: right;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-point-body {
    width: calc(100% - 7.6rem - 2.4rem);
  }
}
.page-flow .flow-point-heading {
  position: relative;
  display: block;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  margin-bottom: 1.2rem;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-point-heading {
    font-size: 1.8rem;
    line-height: 1.75;
  }
}
.page-flow .flow-point-text {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #4D4D4D;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-point-text {
    line-height: 1.875;
  }
}
.page-flow .flow-note {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.875;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin-top: 5rem;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-note {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
}
.page-flow .flow-action {
  position: relative;
  display: block;
  margin-top: 6rem;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-action {
    margin-top: 5rem;
  }
}
.page-flow .flow-action .link-btn {
  width: 47.5rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-action .link-btn {
    width: 37.8rem;
    margin-left: 0;
  }
}
.page-flow .flow-features {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6rem;
  margin-top: 10rem;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-features {
    gap: 4rem;
    margin-top: 8rem;
  }
}
.page-flow .flow-feature {
  position: relative;
  padding: 4.8rem 4rem 5.4rem;
  background: #E9E9E8;
  border-left: 0.3rem solid #00A0BC;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-feature {
    padding: 3.6rem 2rem 4rem;
  }
}
.page-flow .flow-feature .feature-label {
  position: relative;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid rgba(77, 77, 77, 0.19);
  margin-bottom: 3rem;
}
.page-flow .flow-feature .feature-label .en {
  position: relative;
  display: block;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  color: rgba(0, 160, 188, 0.19);
  margin-bottom: -1.6rem;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-feature .feature-label .en {
    font-size: 3.6rem;
    margin-bottom: -1.2rem;
  }
}
.page-flow .flow-feature .feature-label .jp {
  position: relative;
  display: block;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #00A0BC;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-feature .feature-label .jp {
    font-size: 2rem;
  }
}
.page-flow .flow-feature .feature-body {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  z-index: 1;
}
.page-flow .flow-feature .feature-body .feature-text {
  position: relative;
}
.page-flow .flow-feature .feature-body .feature-action {
  position: relative;
  margin-top: 3.6rem;
}
@media only screen and (max-width: 768px) {
  .page-flow .flow-feature .feature-body .feature-action {
    margin-top: 3.2rem;
  }
}
.page-flow .flow-feature--visit {
  border-left-color: #4D4D4D;
}
.page-flow .flow-feature--visit .feature-label .en {
  color: rgba(77, 77, 77, 0.1);
}
.page-flow .flow-feature--visit .feature-label .jp {
  color: #4D4D4D;
}
.page-flow .flow-feature .page-btn--outline-brown {
  width: 24rem;
}

.page-back {
  position: relative;
  display: block;
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .page-back {
    margin-top: 6rem;
  }
}
.page-back .page-btn,
.page-back .link-btn {
  margin: 0 auto;
}

.page-faq {
  position: relative;
  padding: 8rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .page-faq {
    padding: 5rem 0 10rem;
  }
}
.page-faq .faq-lead {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-lead {
    letter-spacing: 0.05em;
    margin-bottom: 6rem;
  }
}
.page-faq .faq-cats-box {
  position: relative;
  display: block;
  padding: 4rem 2.4rem 5rem;
  background: #E9E9E8;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-cats-box {
    padding: 3.2rem 1.6rem 4rem;
  }
}
.page-faq .faq-cats-box .box-label {
  position: relative;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-cats-box .box-label {
    margin-bottom: 3.2rem;
  }
}
.page-faq .faq-cats-box .box-label .jp {
  font-size: 1.6rem;
  line-height: 1.75;
  margin: 0.4rem 0 0;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-cats-box .box-label .jp {
    font-size: 1.4rem;
    line-height: 2.4rem;
    letter-spacing: 0.3em;
  }
}
.page-faq .faq-cats-box .box-content {
  position: relative;
}
.page-faq .faq-cats-box .box-content .faq-index-list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.2rem 1.6rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-cats-box .box-content .faq-index-list {
    gap: 1.2rem 1.2rem;
  }
}
.page-faq .faq-cats-box .box-content .faq-index-list > li {
  position: relative;
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.page-faq .faq-cats-box .box-content .faq-index-list .index-link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  height: 5rem;
  padding: 1rem 4rem 1rem 2rem;
  background: #FFFFFF;
  color: #4D4D4D;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  border: 1px solid #00A0BC;
  outline: none;
  overflow: hidden;
  margin: 0;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-cats-box .box-content .faq-index-list .index-link {
    padding: 1rem 3.2rem 1rem 1.6rem;
    height: 4.8rem;
    letter-spacing: 0;
  }
}
.page-faq .faq-cats-box .box-content .faq-index-list .index-link span {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
  text-align: center;
  -webkit-transition: color 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: color 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 3;
}
.page-faq .faq-cats-box .box-content .faq-index-list .index-link::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  display: block;
  background: #00A0BC;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1), -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  z-index: 1;
}
.page-faq .faq-cats-box .box-content .faq-index-list .index-link::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.3rem);
  right: 1.6rem;
  width: 1.2rem;
  height: 0.7rem;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 0.784277L6 7L0 0.784277L0.757058 0L6 5.43145L11.2429 0L12 0.784277Z' fill='%234D4D4D'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 3;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-cats-box .box-content .faq-index-list .index-link::after {
    right: 1.2rem;
  }
}
.page-faq .faq-cats-box .box-content .faq-index-list .index-link:hover {
  color: #FFFFFF;
}
.page-faq .faq-cats-box .box-content .faq-index-list .index-link:hover::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.page-faq .faq-cats-box .box-content .faq-index-list .index-link:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 0.784277L6 7L0 0.784277L0.757058 0L6 5.43145L11.2429 0L12 0.784277Z' fill='white'/%3E%3C/svg%3E%0A");
}
.page-faq .faq-board {
  position: relative;
  margin-top: 10rem;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-board {
    margin-top: 8rem;
  }
}
.page-faq .faq-board .scroll-to {
  position: absolute;
  top: -8rem;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-board .scroll-to {
    top: -6rem;
  }
}
.page-faq .faq-board .board-label {
  position: relative;
  margin-bottom: 4rem;
}
.page-faq .faq-board .board-body {
  position: relative;
}
.page-faq .faq-list {
  position: relative;
  display: block;
  border-top: 1px solid #D9D9D9;
}
.page-faq .faq-list .faq-item {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 1.2rem 0;
  z-index: 0;
  border-bottom: 1px solid #D9D9D9;
}
.page-faq .faq-list .faq-item .question {
  position: relative;
  display: block;
  cursor: pointer;
  padding: 0;
  margin: 0;
}
.page-faq .faq-list .faq-item .question h4 {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 3.2rem;
  letter-spacing: 0.05em;
  text-align: left;
  color: #4D4D4D;
  padding: 1.2rem 3.6rem 1.2rem 4.8rem;
  margin: 0;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-list .faq-item .question h4 {
    font-size: 1.6rem;
    line-height: 3rem;
    padding: 1.2rem 2.4rem 1.2rem 2.8rem;
  }
}
.page-faq .faq-list .faq-item .question h4::before {
  content: "Q";
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 3.2rem;
  letter-spacing: 0;
  color: #00A0BC;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-list .faq-item .question h4::before {
    font-size: 1.8rem;
    line-height: 3rem;
    left: 0;
  }
}
.page-faq .faq-list .faq-item .question::before {
  content: "";
  position: absolute;
  top: 2.4rem;
  right: 1rem;
  width: 1.6rem;
  height: 1.2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 12L-1.63972e-06 -6.83509e-07L16 7.15256e-07L8 12Z' fill='%2300A0BC'/%3E%3C/svg%3E%0A");
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-list .faq-item .question::before {
    top: 2.2rem;
    right: 0;
  }
}
.page-faq .faq-list .faq-item .question.expanded::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.page-faq .faq-list .faq-item .answer {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-list .faq-item .answer {
    font-size: 1.4rem;
    line-height: 2.4rem;
    letter-spacing: 0.05em;
  }
}
.page-faq .faq-list .faq-item .answer .inner {
  position: relative;
  padding: 0 3.6rem 1.2rem 4.8rem;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-list .faq-item .answer .inner {
    padding: 0 0 1.2rem 2.8rem;
  }
}
.page-faq .faq-list .faq-item .answer .inner::before {
  content: "A";
  position: absolute;
  top: 0;
  left: 1.2rem;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 3.2rem;
  letter-spacing: 0;
  color: #00A0BC;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-list .faq-item .answer .inner::before {
    font-size: 1.8rem;
    line-height: 2.4rem;
    left: 0;
  }
}
.page-faq .faq-list .faq-item .answer .inner p {
  position: relative;
  margin: 0;
}
.page-faq .faq-list .faq-item .answer .inner a {
  color: #00A0BC;
  text-decoration: underline;
}
.page-faq .faq-actions {
  position: relative;
  margin-top: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem 4.8rem;
  list-style: none;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-actions {
    margin-top: 8rem;
    gap: 3rem 3rem;
  }
}
.page-faq .faq-actions > li {
  position: relative;
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (max-width: 768px) {
  .page-faq .faq-actions > li {
    width: 100%;
  }
}
.page-faq .faq-actions .page-btn {
  margin: 0 auto;
}

.page-404 {
  position: relative;
  display: block;
  padding: 10rem 0 12rem;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-404 {
    padding: 8rem 0 10rem;
  }
}
.page-404::before {
  content: attr(data-title);
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -52%);
          transform: translate(-50%, -52%);
  font-family: "Shippori Mincho", serif;
  font-size: 26rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: rgba(0, 160, 188, 0.1);
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-404::before {
    font-size: 16rem;
  }
}
.page-404 .container {
  position: relative;
  z-index: 1;
}
.page-404 .page-404-lead {
  position: relative;
  display: block;
  margin-bottom: 14rem;
}
@media only screen and (max-width: 768px) {
  .page-404 .page-404-lead {
    margin-bottom: 6rem;
  }
}
.page-404 .page-404-lead .en {
  position: relative;
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 7.2rem;
  font-weight: 200;
  line-height: 8rem;
  letter-spacing: 0.05em;
  color: #00A0BC;
  text-align: center;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .page-404 .page-404-lead .en {
    font-size: 4.8rem;
    line-height: 5.6rem;
  }
}
.page-404 .page-404-lead .jp {
  position: relative;
  display: block;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
  margin: 0.6rem 0 0;
}
@media only screen and (max-width: 768px) {
  .page-404 .page-404-lead .jp {
    font-size: 1.8rem;
    line-height: 1.75;
    letter-spacing: 0.05em;
    margin: 0.4rem 0 0;
  }
}
.page-404 .page-404-content {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin: 0;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .page-404 .page-404-content {
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: -0.025em;
    margin-left: -1.6rem;
    margin-right: -1.6rem;
  }
}
.page-404 .page-404-action {
  position: relative;
  margin-top: 16rem;
}
@media only screen and (max-width: 768px) {
  .page-404 .page-404-action {
    margin-top: 6rem;
  }
}
.page-404 .page-404-action .page-btn {
  margin: 0 auto;
}

.page-privacy {
  position: relative;
  padding: 8rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .page-privacy {
    padding: 5rem 0 10rem;
  }
}
.page-privacy .privacy-body {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #4D4D4D;
}
@media only screen and (max-width: 768px) {
  .page-privacy .privacy-body {
    font-size: 1.4rem;
    letter-spacing: 0.025em;
  }
}
.page-privacy .privacy-lead {
  position: relative;
  display: block;
  margin: 0 0 6rem;
}
@media only screen and (max-width: 768px) {
  .page-privacy .privacy-lead {
    margin: 0 0 4rem;
  }
}
.page-privacy .privacy-block {
  position: relative;
  display: block;
}
.page-privacy .privacy-block + .privacy-block {
  margin-top: 4rem;
}
.page-privacy .privacy-block p {
  margin: 0;
}
.page-privacy .privacy-block p + ul {
  margin-top: 0.6rem;
}
.page-privacy .privacy-block ul {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}
.page-privacy .privacy-block ul > li {
  position: relative;
  padding-left: 1.8rem;
}
@media only screen and (max-width: 768px) {
  .page-privacy .privacy-block ul > li {
    padding-left: 1.6rem;
  }
}
.page-privacy .privacy-block ul > li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 700;
}
.page-privacy .privacy-heading {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 3rem;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  padding: 1.2rem 1rem 1.2rem 1.6rem;
  border-left: 0.3rem solid #00A0BC;
  background: #FAF5F0;
  margin: 0 0 2rem;
}
@media only screen and (max-width: 768px) {
  .page-privacy .privacy-heading {
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0.05em;
  }
}
.page-privacy .privacy-contact-box {
  position: relative;
  display: block;
  background: rgba(0, 160, 188, 0.1);
  padding: 3rem 3rem 3rem 3.2rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  .page-privacy .privacy-contact-box {
    padding: 2.4rem 1.6rem 2.4rem 2rem;
  }
}
.page-privacy .privacy-contact-box ol {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}
.page-privacy .privacy-contact-box ol > li {
  position: relative;
}
.page-privacy .privacy-contact-box p {
  margin: 0;
}
.page-privacy .privacy-contact-box a {
  color: #00A0BC;
  text-decoration: underline;
}
.page-privacy .privacy-actions {
  position: relative;
  margin-top: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem 4.8rem;
  list-style: none;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .page-privacy .privacy-actions {
    margin-top: 8rem;
    gap: 2.4rem 3rem;
  }
}
.page-privacy .privacy-actions > li {
  position: relative;
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (max-width: 768px) {
  .page-privacy .privacy-actions > li {
    width: 100%;
  }
}
.page-privacy .privacy-actions .page-btn {
  margin: 0 auto;
}

.blog-card-grid {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 2.4rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4rem 2.4rem;
}
@media only screen and (max-width: 768px) {
  .blog-card-grid {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
  }
}
.blog-card-grid--related {
  margin-top: 0;
}

.blog-card {
  position: relative;
  display: block;
  background: #F6F6F5;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  padding: 0;
  margin: 0;
  z-index: 0;
}
.blog-card .blog-card-link {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: none;
  padding: 0;
  margin: 0;
  text-decoration: none;
  color: inherit;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .blog-card .blog-card-link {
    width: 0;
    height: 0;
    display: none;
  }
}
.blog-card .blog-card-thumb {
  position: relative;
  padding: 0;
  margin: 0;
  z-index: 0;
}
.blog-card .blog-card-image {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 400/240;
  overflow: hidden;
  background: #D9D9D9;
  padding: 0;
  margin: 0;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .blog-card .blog-card-image {
    aspect-ratio: 360/240;
  }
}
.blog-card .blog-card-image img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  z-index: 0;
}
.blog-card .blog-card-cat {
  position: absolute;
  top: 2.4rem;
  left: 2.4rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  background: #00A0BC;
  padding: 0.8rem 1.6rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  border-radius: 4rem;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .blog-card .blog-card-cat {
    display: none;
  }
}
.blog-card .blog-card-body {
  position: relative;
  display: block;
  padding: 2.4rem 2.4rem;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .blog-card .blog-card-body {
    padding: 2.4rem 2rem 2.4rem;
  }
}
.blog-card .blog-card-meta {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.6rem;
  font-family: "Inter", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.1em;
  color: #00A0BC;
  white-space: nowrap;
  margin-bottom: 0.6rem;
}
.blog-card .blog-card-meta time {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.blog-card .blog-card-meta span {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.blog-card .blog-card-title {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0;
  color: #4D4D4D;
  text-align: left;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  margin: 0;
}
.blog-card .blog-card-title a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.blog-card .blog-card-title a:hover {
  color: #00A0BC;
}
.blog-card .blog-card-excerpt {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  margin-top: 1.2rem;
}
@media only screen and (max-width: 768px) {
  .blog-card .blog-card-excerpt {
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.05em;
  }
}
@media print, screen and (min-width: 769px) {
  .blog-card .blog-card-excerpt {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .blog-card .blog-card-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
.blog-card .blog-card-date {
  position: relative;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.1em;
  color: rgba(77, 77, 77, 0.7);
  margin: 0.6rem 0 0;
}
@media only screen and (max-width: 768px) {
  .blog-card .blog-card-date {
    display: none;
  }
}
.blog-card .blog-card-more {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 3.6rem;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  padding-right: 3rem;
  white-space: nowrap;
  margin: 0;
  z-index: 1;
}
.blog-card .blog-card-more::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.6rem);
  right: 0;
  width: 1.6rem;
  height: 1.2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.59473 0.20408C7.75806 -0.0182409 8.0714 -0.0664023 8.29395 0.0966578L15.7939 5.59763C15.7972 5.60002 15.7996 5.60397 15.8027 5.60642C15.9217 5.69776 15.9999 5.8395 16 6.00095C16 6.12087 15.9552 6.22926 15.8848 6.31541C15.8811 6.31992 15.8778 6.32469 15.874 6.32908C15.8509 6.35537 15.8259 6.37939 15.7979 6.40037C15.7964 6.40146 15.7954 6.40319 15.7939 6.40427L15.7891 6.4072C15.7839 6.41088 15.7787 6.41446 15.7734 6.41795L8.29395 11.9043C8.07128 12.0676 7.75804 12.0195 7.59473 11.7969C7.43197 11.5743 7.4799 11.2618 7.70215 11.0986L13.9697 6.50095H0.5C0.223858 6.50095 0 6.2771 0 6.00095C0.000180305 5.72497 0.223969 5.50095 0.5 5.50095H13.9697L7.70215 0.903298C7.4797 0.739928 7.43147 0.426664 7.59473 0.20408Z' fill='%234D4D4D'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}
.blog-card .blog-card-more:before {
  position: absolute;
  content: "";
  width: 3.6rem;
  height: 3.6rem;
  background: #00A0BC;
  border-radius: 50%;
  top: calc(50% - 1.8rem);
  left: -1.6rem;
  z-index: -1;
  -webkit-transition: left 0.5s ease, background-color 0.5s ease;
  transition: left 0.5s ease, background-color 0.5s ease;
}
.blog-card .blog-card-more:hover::before {
  left: calc(100% - 2.5rem);
  background: rgba(0, 160, 188, 0.05);
}
.blog-card .blog-card-bottom {
  position: relative;
  margin-top: 1.6rem;
}
@media print, screen and (min-width: 769px) {
  .blog-card .blog-card-bottom {
    display: none;
  }
}
.blog-card .blog-card-bottom::after {
  content: "";
  display: block;
  clear: both;
}
.blog-card .blog-card-bottom .blog-card-more {
  float: right;
}
.blog-card:hover {
  -webkit-transform: translateY(-0.4rem);
          transform: translateY(-0.4rem);
}
.blog-card:hover .blog-card-image img {
  -webkit-transform: scale(1.06);
          transform: scale(1.06);
}
@media print, screen and (min-width: 769px) {
  .blog-card--pickup {
    grid-column: 1/-1;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: clamp(0rem, 58%, 47.6rem) 0 minmax(0, 1fr);
    grid-template-columns: clamp(0rem, 58%, 47.6rem) minmax(0, 1fr);
    gap: 0;
  }
  .blog-card--pickup:hover {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .blog-card--pickup:hover .blog-card-image img {
    -webkit-transform: unset;
            transform: unset;
  }
  .blog-card--pickup .blog-card-link {
    display: none;
    width: 0;
    height: 0;
    z-index: -9;
  }
  .blog-card--pickup .blog-card-image {
    aspect-ratio: 476/384;
    width: 100%;
    height: 100%;
    z-index: 0;
  }
  .blog-card--pickup a.blog-card-thumb:hover .blog-card-image img {
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
  .blog-card--pickup .blog-card-cat {
    font-size: 1.6rem;
    padding: 1rem 2rem;
  }
  .blog-card--pickup .blog-card-body {
    padding: 3rem 2.4rem;
  }
  .blog-card--pickup .blog-card-title {
    font-size: 2.4rem;
    line-height: 1.6;
    margin-bottom: 1.6rem;
  }
  .blog-card--pickup .blog-card-excerpt {
    position: relative;
    display: block;
  }
  .blog-card--pickup .blog-card-date {
    position: relative;
    margin-top: 1.2rem;
  }
  .blog-card--pickup .blog-card-bottom {
    display: block;
  }
}

.blog-layout {
  position: relative;
  display: block;
}
.blog-layout::after {
  content: "";
  display: block;
  clear: both;
}

.blog-main {
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 769px) {
  .blog-main {
    float: left;
    width: calc(100% - 34rem - 3.6rem);
  }
}

.blog-filters {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.2rem 1.2rem;
  list-style: none;
  padding: 0;
  margin: 0 0 5rem;
}
.blog-filters > li {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.blog-filters > li a {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  background: rgba(0, 160, 188, 0.2);
  padding: 0.8rem 1.8rem;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.4rem;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  border-radius: 4rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.blog-filters > li a.active, .blog-filters > li a:hover {
  background: #00A0BC;
  color: #FFFFFF;
}

.blog-no-posts {
  position: relative;
  display: block;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin: 0;
  padding: 6rem 0;
}

.blog-sidebar {
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 769px) {
  .blog-sidebar {
    float: right;
    width: 34rem;
    padding: 4rem 3rem;
    background: rgba(0, 160, 188, 0.05);
  }
}
@media only screen and (max-width: 768px) {
  .blog-sidebar {
    margin-top: 6rem;
  }
}

.blog-sidebar-cta {
  position: relative;
  padding: 2.4rem 1rem;
  background-image: url("../image/side-cta-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .blog-sidebar-cta {
    margin-bottom: 4rem;
  }
}
.blog-sidebar-cta .sidebar-cta-title {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: center;
  margin: 0;
}
.blog-sidebar-cta .sidebar-cta-actions {
  position: relative;
  margin-top: 2rem;
  display: block;
}
.blog-sidebar-cta .sidebar-cta-actions > li {
  position: relative;
  display: block;
  width: 100%;
}
.blog-sidebar-cta .sidebar-cta-actions > li:not(:last-child) {
  margin-bottom: 1.6rem;
}
.blog-sidebar-cta .sidebar-cta-actions .link-btn {
  margin: 0 auto;
  height: 5rem;
}
@media print, screen and (min-width: 769px) {
  .blog-sidebar-cta .sidebar-cta-actions .link-btn {
    width: 22rem;
  }
}
.blog-sidebar-cta .sidebar-cta-note {
  position: relative;
  margin-top: 2rem;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .blog-sidebar-cta .sidebar-cta-note {
    font-size: 1.4rem;
  }
}

.blog-sidebar-block {
  position: relative;
  display: block;
}
@media only screen and (max-width: 768px) {
  .blog-sidebar-block {
    padding: 3rem 2rem 3rem;
    background: rgba(0, 160, 188, 0.05);
  }
}
.blog-sidebar-block + .blog-sidebar-block {
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .blog-sidebar-block + .blog-sidebar-block {
    margin-top: 4rem;
  }
}

.blog-sidebar-box {
  position: relative;
  display: block;
  padding: 3rem 2rem;
  margin-top: 8rem;
}
@media print, screen and (min-width: 769px) {
  .blog-sidebar-box {
    background: #FFFFFF;
    -webkit-box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.05);
            box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.05);
  }
}
@media only screen and (max-width: 768px) {
  .blog-sidebar-box {
    padding: 3rem 2rem;
    background: rgba(0, 160, 188, 0.05);
    margin-top: 4rem;
  }
}

.blog-sidebar-title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.6rem;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin: 0 0 2.4rem;
}
.blog-sidebar-title .en {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 3rem;
  font-weight: 300;
  line-height: 3.6rem;
  letter-spacing: 0.05em;
  color: #00A0BC;
  white-space: nowrap;
}
.blog-sidebar-title .jp {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 3.6rem;
  letter-spacing: 0.05em;
  color: #00A0BC;
  white-space: nowrap;
}

.blog-sidebar-cats {
  position: relative;
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
}
.blog-sidebar-cats li {
  position: relative;
  display: block;
}
.blog-sidebar-cats li:not(:last-child) {
  margin-bottom: 1.6rem;
}
.blog-sidebar-cats li a {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 3.2rem;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  text-decoration: none;
  padding: 0 0 0 0.8rem;
  margin: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.blog-sidebar-cats li a::before {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 1.6rem;
  height: 2px;
  background: #00A0BC;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.blog-sidebar-cats li a:hover, .blog-sidebar-cats li a.active {
  color: #00A0BC;
}
.blog-sidebar-cats li a:hover {
  padding-left: 2.4rem;
}
.blog-sidebar-cats li a:hover::before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

.blog-sidebar-populars {
  position: relative;
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
}
.blog-sidebar-populars > li {
  position: relative;
  display: block;
}
.blog-sidebar-populars > li:not(:last-child) {
  padding-bottom: 2.4rem;
  border-bottom: 1px solid #FFFFFF;
  margin-bottom: 2.4rem;
}
.blog-sidebar-populars .popular-blog-block {
  position: relative;
  display: block;
}
.blog-sidebar-populars .popular-blog-block::after {
  content: "";
  display: block;
  clear: both;
}
.blog-sidebar-populars .popular-blog-block .blog-rank {
  position: relative;
  display: block;
  width: 3rem;
  height: 3rem;
  background: rgba(0, 160, 188, 0.6);
  border-radius: 50%;
  font-family: "Inter", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 3rem;
  letter-spacing: 0;
  color: #FFFFFF;
  text-align: center;
  padding: 0;
  margin: 0.2rem 0 0;
  float: left;
  z-index: 1;
}
.blog-sidebar-populars .popular-blog-block .blog-body {
  position: relative;
  display: block;
  float: right;
  width: calc(100% - 4.6rem);
}
.blog-sidebar-populars .popular-blog-block .blog-title {
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.875;
  letter-spacing: 0.025em;
  color: #4D4D4D;
  text-align: left;
  margin: 0;
}
.blog-sidebar-populars .popular-blog-block .blog-title a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.blog-sidebar-populars .popular-blog-block .blog-title a:hover {
  color: #00A0BC;
}
.blog-sidebar-populars .popular-blog-block .blog-date {
  position: relative;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.1em;
  text-align: right;
  margin-top: 0.6rem;
  color: rgba(77, 77, 77, 0.7);
}

.blog-sidebar-keywords {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.2rem 1.2rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.blog-sidebar-keywords > li {
  position: relative;
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.blog-sidebar-keywords > li a {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  background: #E9E9E8;
  padding: 1.2rem 2rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  border-radius: 4.8rem;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 768px) {
  .blog-sidebar-keywords > li a {
    background: #FFFFFF;
  }
}
.blog-sidebar-keywords > li a:hover {
  background: #00A0BC;
  color: #FFFFFF;
  -webkit-transform: translateY(-0.4rem);
          transform: translateY(-0.4rem);
}

.blog-detail-article {
  position: relative;
}
.blog-detail-article .article-meta {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem 2.4rem;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-meta {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 1.2rem 1.6rem;
    margin-bottom: 3rem;
  }
}
.blog-detail-article .article-meta__cats {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.2rem 1.2rem;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  list-style: none;
  padding: 0;
  margin: 0;
}
.blog-detail-article .article-meta__cats > li {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
.blog-detail-article .article-meta__cats > li a {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  background: #00A0BC;
  padding: 1.2rem 2rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  border-radius: 4.8rem;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-meta__cats > li a {
    font-size: 1.4rem;
    line-height: 2.4rem;
    padding: 0.8rem 1.6rem;
    border-radius: 4rem;
  }
}
.blog-detail-article .article-meta__cats > li a:hover {
  background: rgba(0, 160, 188, 0.5);
  -webkit-transform: translateY(-0.4rem);
          transform: translateY(-0.4rem);
}
.blog-detail-article .article-meta__date {
  position: relative;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.1em;
  color: rgba(77, 77, 77, 0.7);
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-meta__date {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}
.blog-detail-article .article-title {
  position: relative;
  display: block;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  margin: 0 0 5rem;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-title {
    font-size: 2.4rem;
    margin: 0 0 2.4rem;
  }
}
.blog-detail-article .article-thumb {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0 0 5rem;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-thumb {
    margin-bottom: 4rem;
  }
}
.blog-detail-article .article-thumb > img {
  position: relative;
  display: block;
}
.blog-detail-article .article-content {
  position: relative;
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  word-break: break-all;
  padding: 0;
  margin: 0;
  border: 0;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content {
    font-size: 1.4rem;
    line-height: 2;
  }
}
.blog-detail-article .article-content::after {
  content: "";
  display: block;
  clear: both;
}
.blog-detail-article .article-content > *:first-child {
  margin-top: 0 !important;
}
.blog-detail-article .article-content > *:last-child {
  margin-bottom: 0 !important;
}
.blog-detail-article .article-content h1,
.blog-detail-article .article-content h2,
.blog-detail-article .article-content h3,
.blog-detail-article .article-content h4,
.blog-detail-article .article-content h5,
.blog-detail-article .article-content h6 {
  margin: 5rem 0 3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  scroll-margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content h1,
  .blog-detail-article .article-content h2,
  .blog-detail-article .article-content h3,
  .blog-detail-article .article-content h4,
  .blog-detail-article .article-content h5,
  .blog-detail-article .article-content h6 {
    margin: 4rem 0 2.4rem;
  }
}
.blog-detail-article .article-content h1 {
  position: relative;
  font-size: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content h1 {
    font-size: 2.4rem;
  }
}
.blog-detail-article .article-content h2 {
  position: relative;
  margin: 5rem 0 3rem;
  padding: 2rem 2rem 2rem 5.6rem;
  font-size: 2rem;
  background: rgba(0, 160, 188, 0.4);
  border-radius: 3rem;
  color: #4D4D4D;
}
.blog-detail-article .article-content h2::before {
  content: "";
  position: absolute;
  top: 1.6rem;
  bottom: 1.6rem;
  left: 3.6rem;
  width: 0.4rem;
  border-radius: 0.4rem;
  background: #00A0BC;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content h2 {
    font-size: 1.8rem;
    padding: 1.6rem 1.6rem 1.6rem 3.2rem;
    margin: 4rem 0 2.4rem;
  }
  .blog-detail-article .article-content h2::before {
    left: 1.8rem;
  }
}
.blog-detail-article .article-content h3 {
  position: relative;
  margin-top: 4rem;
  margin-bottom: 2.4rem;
  font-size: 1.8rem;
  color: #4D4D4D;
  padding-bottom: 1rem;
  border-bottom: 2px solid #00A0BC;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content h3 {
    font-size: 1.8rem;
  }
}
.blog-detail-article .article-content h4 {
  position: relative;
  margin-top: 4rem;
  margin-bottom: 2.4rem;
  font-size: 1.8rem;
  color: #4D4D4D;
}
.blog-detail-article .article-content h5,
.blog-detail-article .article-content h6 {
  position: relative;
  margin-top: 3rem;
  margin-bottom: 2.4rem;
  font-size: 1.6rem;
  color: #4D4D4D;
}
.blog-detail-article .article-content p {
  margin: 0 0 2.4rem;
}
.blog-detail-article .article-content a {
  color: #00A0BC;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.blog-detail-article .article-content a:hover {
  opacity: 0.7;
}
.blog-detail-article .article-content strong,
.blog-detail-article .article-content b {
  font-weight: 700;
}
.blog-detail-article .article-content em,
.blog-detail-article .article-content i {
  font-style: italic;
}
.blog-detail-article .article-content mark {
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(40%, #FFE6A8));
  background: linear-gradient(transparent 40%, #FFE6A8 40%);
  color: inherit;
}
.blog-detail-article .article-content del {
  color: rgba(77, 77, 77, 0.7);
  text-decoration: line-through;
}
.blog-detail-article .article-content ins {
  background: rgba(0, 160, 188, 0.2);
  text-decoration: none;
}
.blog-detail-article .article-content ul,
.blog-detail-article .article-content ol {
  position: relative;
  margin: 0 0 2.4rem;
  padding: 0;
}
.blog-detail-article .article-content ul {
  list-style: none;
  padding: 0;
}
.blog-detail-article .article-content ul > li {
  position: relative;
  padding-left: 2.2rem;
}
.blog-detail-article .article-content ul > li:not(:last-child) {
  margin-bottom: 0.6rem;
}
.blog-detail-article .article-content ul > li::before {
  content: "";
  position: absolute;
  top: 1.2rem;
  left: 0.2rem;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: #00A0BC;
}
.blog-detail-article .article-content ul ul {
  margin: 0.6rem 0;
}
.blog-detail-article .article-content ul ul > li::before {
  background: transparent;
  border: 0.2rem solid #00A0BC;
  width: 0.7rem;
  height: 0.7rem;
  top: 1.2rem;
}
.blog-detail-article .article-content ol {
  position: relative;
  list-style: none;
  padding: 0;
  counter-reset: wysiwyg-ol;
}
.blog-detail-article .article-content ol > li {
  position: relative;
  padding-left: 3.6rem;
  counter-increment: wysiwyg-ol;
}
.blog-detail-article .article-content ol > li:not(:last-child) {
  margin-bottom: 0.6rem;
}
.blog-detail-article .article-content ol > li::before {
  content: counter(wysiwyg-ol);
  position: absolute;
  top: 0.4rem;
  left: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: rgba(0, 160, 188, 0.4);
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
  color: #4D4D4D;
}
.blog-detail-article .article-content ol ol {
  margin: 0.6rem 0;
  counter-reset: wysiwyg-ol-sub;
}
.blog-detail-article .article-content ol ol > li {
  counter-increment: wysiwyg-ol-sub;
  padding-left: 2.4rem;
}
.blog-detail-article .article-content ol ol > li::before {
  top: 0.6rem;
  content: counter(wysiwyg-ol-sub, lower-alpha);
  background: transparent;
  width: auto;
  height: auto;
  font-size: 1.6rem;
  color: #00A0BC;
}
.blog-detail-article .article-content blockquote {
  position: relative;
  margin: 2.4rem 0;
  padding: 2.4rem 3rem;
  border-left: 0.4rem solid #00A0BC;
  border-radius: 0 1.6rem 1.6rem 0;
  background: rgba(0, 160, 188, 0.05);
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content blockquote {
    padding: 2rem;
  }
}
.blog-detail-article .article-content blockquote p:last-child {
  margin-bottom: 0;
}
.blog-detail-article .article-content img {
  display: block;
  max-width: 100%;
  width: inherit;
  height: auto;
  margin: 3rem auto;
}
.blog-detail-article .article-content figure {
  position: relative;
  display: block;
  max-width: 100%;
  padding: 0;
  margin: 3rem 0;
}
.blog-detail-article .article-content figure img {
  margin: 0 auto;
}
.blog-detail-article .article-content .alignnone,
.blog-detail-article .article-content .aligncenter,
.blog-detail-article .article-content .alignleft,
.blog-detail-article .article-content .alignright,
.blog-detail-article .article-content .wp-caption {
  max-width: 100%;
  height: auto;
}
.blog-detail-article .article-content .alignleft {
  float: left;
  margin: 1.2rem 1.6rem 1.2rem 0;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .alignleft {
    float: none;
    margin: 2.4rem auto;
  }
}
.blog-detail-article .article-content .alignright {
  float: right;
  margin: 1.2rem 0 1.2rem 1.6rem;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .alignright {
    float: none;
    margin: 2.4rem auto;
  }
}
.blog-detail-article .article-content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.blog-detail-article .article-content .wp-caption {
  margin: 2.4rem auto;
  max-width: 100%;
}
.blog-detail-article .article-content .wp-caption-text,
.blog-detail-article .article-content figcaption {
  position: relative;
  display: block;
  margin-top: 1.2rem;
  font-size: 1.4rem;
  color: rgba(77, 77, 77, 0.7);
  text-align: center;
}
.blog-detail-article .article-content .wp-block-table,
.blog-detail-article .article-content .table-scroll {
  width: 100%;
  margin: 3rem 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 1.2rem;
}
.blog-detail-article .article-content table {
  width: 100%;
  margin: 3rem 0;
  border-collapse: separate;
  border-spacing: 0;
  background: #FFFFFF;
  border: 1px solid rgba(77, 77, 77, 0.12);
  border-radius: 1.2rem;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.blog-detail-article .article-content table th,
.blog-detail-article .article-content table td {
  position: relative;
  padding: 1.6rem 1.6rem;
  border-bottom: 1px solid rgba(77, 77, 77, 0.12);
  border-right: 1px solid rgba(77, 77, 77, 0.12);
  text-align: left;
  vertical-align: top;
  font-size: 1.6rem;
  line-height: 1.75;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content table th,
  .blog-detail-article .article-content table td {
    padding: 1.2rem 1.6rem;
    font-size: 1.4rem;
    white-space: nowrap;
  }
}
.blog-detail-article .article-content table th:last-child,
.blog-detail-article .article-content table td:last-child {
  border-right: none;
}
.blog-detail-article .article-content table tr:last-child th,
.blog-detail-article .article-content table tr:last-child td {
  border-bottom: none;
}
.blog-detail-article .article-content table th {
  background: rgba(0, 160, 188, 0.05);
  font-weight: 700;
  color: #4D4D4D;
}
.blog-detail-article .article-content table tbody tr:nth-child(even) td {
  background: rgba(77, 77, 77, 0.07);
}
.blog-detail-article .article-content .wp-block-table table {
  margin: 0;
}
.blog-detail-article .article-content hr {
  margin: 3rem 0;
  border: none;
  height: 1px;
  background: rgba(77, 77, 77, 0.15);
}
.blog-detail-article .article-content dl {
  margin: 0 0 2.4rem;
}
.blog-detail-article .article-content dt {
  margin-top: 1.2rem;
  font-weight: 700;
}
.blog-detail-article .article-content dd {
  margin: 0.6rem 0 0 1.2rem;
}
.blog-detail-article .article-content pre,
.blog-detail-article .article-content code {
  font-family: "Montserrat", sans-serif;
  font-size: 1.4rem;
}
.blog-detail-article .article-content pre {
  margin: 2.4rem 0;
  padding: 2rem;
  overflow-x: auto;
  background: rgba(77, 77, 77, 0.07);
  border-radius: 1.2rem;
  line-height: 1.75;
}
.blog-detail-article .article-content code {
  padding: 0.2rem 0.6rem;
  background: rgba(0, 160, 188, 0.15);
  border-radius: 0.4rem;
}
.blog-detail-article .article-content pre code {
  padding: 0;
  background: transparent;
}
.blog-detail-article .article-content .wp-block-image,
.blog-detail-article .article-content .wp-block-gallery,
.blog-detail-article .article-content .wp-block-embed,
.blog-detail-article .article-content .wp-block-video,
.blog-detail-article .article-content iframe,
.blog-detail-article .article-content video {
  position: relative;
  display: block;
  max-width: 100%;
  margin: 2.4rem 0;
}
.blog-detail-article .article-content iframe,
.blog-detail-article .article-content video {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  border: 0;
  border-radius: 1.6rem;
}
.blog-detail-article .article-content .wp-block-quote,
.blog-detail-article .article-content .wp-block-pullquote {
  margin: 2.4rem 0;
}
.blog-detail-article .article-content .article-summary {
  position: relative;
  margin: 5rem 0;
  border-radius: 2.4rem;
  overflow: hidden;
  background: #F6F6F5;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .article-summary {
    border-radius: 2rem;
    margin: 4rem 0;
  }
}
.blog-detail-article .article-content .article-summary__title {
  position: relative;
  padding: 1.6rem 2rem;
  background: #00A0BC;
  font-size: 2.4rem;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.5;
  text-align: center;
  margin: 0 !important;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .article-summary__title {
    font-size: 1.8rem !important;
  }
}
.blog-detail-article .article-content .article-summary__list {
  position: relative;
  padding: 2.4rem 2.4rem 3rem 4rem;
  list-style: none;
  counter-reset: summary-ol;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .article-summary__list {
    padding: 2rem 2rem 2.4rem;
  }
}
.blog-detail-article .article-content .article-summary__list > li {
  position: relative;
  padding-left: 2.4rem;
  counter-increment: summary-ol;
  color: #4D4D4D;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .article-summary__list > li {
    padding-left: 2rem;
  }
}
.blog-detail-article .article-content .article-summary__list > li:not(:last-child) {
  margin-bottom: 0.6rem;
}
.blog-detail-article .article-content .article-summary__list > li::before {
  content: counter(summary-ol);
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.75;
  color: #00A0BC;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .article-summary__list > li::before {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.blog-detail-article .article-content .article-toc {
  position: relative;
  margin: 5rem 0;
  padding: 1.6rem;
  background: #00A0BC;
  border-radius: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .article-toc {
    padding: 1.2rem;
    border-radius: 2rem;
    margin: 4rem 0;
  }
}
.blog-detail-article .article-content .article-toc .article-toc__title, .blog-detail-article .article-content .article-toc > h2:first-child, .blog-detail-article .article-content .article-toc > h3:first-child {
  position: relative;
  display: block;
  margin: 0 0 1.2rem !important;
  padding: 0.4rem 0.8rem;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 2.4rem !important;
  font-weight: 700;
  color: #FFFFFF !important;
  line-height: 1.5;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .article-toc .article-toc__title, .blog-detail-article .article-content .article-toc > h2:first-child, .blog-detail-article .article-content .article-toc > h3:first-child {
    font-size: 1.8rem !important;
  }
}
.blog-detail-article .article-content .article-toc .article-toc__title::before, .blog-detail-article .article-content .article-toc > h2:first-child::before, .blog-detail-article .article-content .article-toc > h3:first-child::before {
  display: none;
}
.blog-detail-article .article-content .article-toc .article-toc__toggle {
  position: relative;
  float: right;
  border: none;
  background: transparent;
  color: #FFFFFF;
  font-size: 1.6rem;
  font-weight: 500;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 0.2rem;
  padding: 0.4rem 0.8rem;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .article-toc .article-toc__toggle {
    font-size: 1.4rem;
  }
}
.blog-detail-article .article-content .article-toc .article-toc__body {
  padding: 0;
  background: transparent;
}
.blog-detail-article .article-content .article-toc .article-toc__list, .blog-detail-article .article-content .article-toc > ol, .blog-detail-article .article-content .article-toc > ul,
.blog-detail-article .article-content .article-toc .article-toc__body > ol,
.blog-detail-article .article-content .article-toc .article-toc__body > ul {
  margin: 0;
  padding: 2.4rem 2.4rem 2.8rem;
  list-style: none;
  background: #FFFFFF;
  border-radius: 1.6rem;
  counter-reset: toc-h2;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .article-toc .article-toc__list, .blog-detail-article .article-content .article-toc > ol, .blog-detail-article .article-content .article-toc > ul,
  .blog-detail-article .article-content .article-toc .article-toc__body > ol,
  .blog-detail-article .article-content .article-toc .article-toc__body > ul {
    padding: 2rem 2rem 2.4rem;
    border-radius: 1.2rem;
  }
}
.blog-detail-article .article-content .article-toc .article-toc__item--h2,
.blog-detail-article .article-content .article-toc .article-toc__list > li,
.blog-detail-article .article-content .article-toc .article-toc__body > ol > li, .blog-detail-article .article-content .article-toc > ol > li {
  position: relative;
  padding-left: 2.4rem;
  margin: 0 0 1.2rem;
  counter-increment: toc-h2;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .article-toc .article-toc__item--h2,
  .blog-detail-article .article-content .article-toc .article-toc__list > li,
  .blog-detail-article .article-content .article-toc .article-toc__body > ol > li, .blog-detail-article .article-content .article-toc > ol > li {
    padding-left: 2rem;
    margin: 0 0 0.8rem;
  }
}
.blog-detail-article .article-content .article-toc .article-toc__item--h2:last-child,
.blog-detail-article .article-content .article-toc .article-toc__list > li:last-child,
.blog-detail-article .article-content .article-toc .article-toc__body > ol > li:last-child, .blog-detail-article .article-content .article-toc > ol > li:last-child {
  margin-bottom: 0;
}
.blog-detail-article .article-content .article-toc .article-toc__item--h2::before,
.blog-detail-article .article-content .article-toc .article-toc__list > li::before,
.blog-detail-article .article-content .article-toc .article-toc__body > ol > li::before, .blog-detail-article .article-content .article-toc > ol > li::before {
  content: counter(toc-h2);
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  font-family: "Inter", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.75;
  color: #00A0BC;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .article-toc .article-toc__item--h2::before,
  .blog-detail-article .article-content .article-toc .article-toc__list > li::before,
  .blog-detail-article .article-content .article-toc .article-toc__body > ol > li::before, .blog-detail-article .article-content .article-toc > ol > li::before {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.blog-detail-article .article-content .article-toc .article-toc__sub,
.blog-detail-article .article-content .article-toc .article-toc__item--h2 > ul,
.blog-detail-article .article-content .article-toc .article-toc__list > li > ul,
.blog-detail-article .article-content .article-toc .article-toc__body > ol > li > ul, .blog-detail-article .article-content .article-toc > ol > li > ul {
  margin: 0.6rem 0 0;
  padding: 0;
  list-style: none;
}
.blog-detail-article .article-content .article-toc .article-toc__item--h3,
.blog-detail-article .article-content .article-toc .article-toc__sub > li,
.blog-detail-article .article-content .article-toc .article-toc__item--h2 > ul > li,
.blog-detail-article .article-content .article-toc .article-toc__list > li > ul > li,
.blog-detail-article .article-content .article-toc .article-toc__body > ol > li > ul > li, .blog-detail-article .article-content .article-toc > ol > li > ul > li {
  position: relative;
  margin: 0 0 0.4rem;
  padding-left: 2rem;
  counter-increment: none;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-content .article-toc .article-toc__item--h3,
  .blog-detail-article .article-content .article-toc .article-toc__sub > li,
  .blog-detail-article .article-content .article-toc .article-toc__item--h2 > ul > li,
  .blog-detail-article .article-content .article-toc .article-toc__list > li > ul > li,
  .blog-detail-article .article-content .article-toc .article-toc__body > ol > li > ul > li, .blog-detail-article .article-content .article-toc > ol > li > ul > li {
    padding-left: 1.6rem;
    margin: 0 0 0.4rem;
  }
}
.blog-detail-article .article-content .article-toc .article-toc__item--h3:last-child,
.blog-detail-article .article-content .article-toc .article-toc__sub > li:last-child,
.blog-detail-article .article-content .article-toc .article-toc__item--h2 > ul > li:last-child,
.blog-detail-article .article-content .article-toc .article-toc__list > li > ul > li:last-child,
.blog-detail-article .article-content .article-toc .article-toc__body > ol > li > ul > li:last-child, .blog-detail-article .article-content .article-toc > ol > li > ul > li:last-child {
  margin-bottom: 0;
}
.blog-detail-article .article-content .article-toc .article-toc__item--h3::before,
.blog-detail-article .article-content .article-toc .article-toc__sub > li::before,
.blog-detail-article .article-content .article-toc .article-toc__item--h2 > ul > li::before,
.blog-detail-article .article-content .article-toc .article-toc__list > li > ul > li::before,
.blog-detail-article .article-content .article-toc .article-toc__body > ol > li > ul > li::before, .blog-detail-article .article-content .article-toc > ol > li > ul > li::before {
  content: "";
  position: absolute;
  top: 1.1rem;
  left: 0;
  width: 0;
  height: 0;
  border-radius: 0;
  background: transparent;
  border-style: solid;
  border-width: 0.5rem 0 0.5rem 0.8rem;
  border-color: transparent transparent transparent #00A0BC;
}
.blog-detail-article .article-content .article-toc a {
  color: #4D4D4D;
  text-decoration: none;
  font-weight: 500;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.blog-detail-article .article-content .article-toc a:hover {
  color: #00A0BC;
}
.blog-detail-article .article-content .article-toc.is-collapsed .article-toc__title, .blog-detail-article .article-content .article-toc.is-collapsed > h2:first-child, .blog-detail-article .article-content .article-toc.is-collapsed > h3:first-child {
  margin-bottom: 0 !important;
}
.blog-detail-article .article-content .article-toc.is-collapsed .article-toc__body, .blog-detail-article .article-content .article-toc.is-collapsed > ol, .blog-detail-article .article-content .article-toc.is-collapsed > ul {
  display: none;
}
.blog-detail-article .article-supervisor {
  position: relative;
  display: block;
  padding: 4rem 5rem;
  background: #F6F6F5;
  margin-top: 5rem;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-supervisor {
    padding: 2rem 2rem;
    margin-top: 4rem;
  }
}
.blog-detail-article .article-supervisor::after {
  content: "";
  display: block;
  clear: both;
}
.blog-detail-article .article-supervisor__avatar {
  position: relative;
  display: block;
  float: left;
  width: 20rem;
  height: 20rem;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  overflow: hidden;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-supervisor__avatar {
    width: 12rem;
    height: 12rem;
    margin-right: 1.6rem;
    margin-bottom: 1.6rem;
  }
}
.blog-detail-article .article-supervisor__avatar img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0;
}
.blog-detail-article .article-supervisor__body {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
  z-index: 0;
}
@media print, screen and (min-width: 769px) {
  .blog-detail-article .article-supervisor__body {
    float: right;
    width: calc(100% - 24rem);
  }
}
.blog-detail-article .article-supervisor__role {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  color: #00A0BC;
  letter-spacing: 0.1em;
  margin: 0 0 0.4rem;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-supervisor__role {
    font-size: 1.4rem;
    margin: 0 0 0.2rem;
  }
}
.blog-detail-article .article-supervisor__name {
  position: relative;
  display: block;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: #4D4D4D;
  letter-spacing: 0.1em;
  margin: 0 0 1.6rem;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-supervisor__name {
    font-size: 1.8rem;
    margin: 0 0 1.2rem;
  }
}
.blog-detail-article .article-supervisor__desc {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  color: #4D4D4D;
  letter-spacing: 0.05em;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-supervisor__desc {
    font-size: 1.4rem;
  }
}
.blog-detail-article .article-supervisor__desc p {
  margin: 0;
}
.blog-detail-article .article-pagination {
  position: relative;
  display: block;
  padding: 0;
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-pagination {
    margin-top: 6rem;
  }
}
.blog-detail-article .article-pagination::after {
  content: "";
  display: block;
  clear: both;
}
.blog-detail-article .article-pagination .article-pagination-more {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 3.6rem;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  padding-right: 3rem;
  white-space: nowrap;
  margin: 0 auto;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-pagination .article-pagination-more {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    padding-right: 2.4rem;
  }
}
.blog-detail-article .article-pagination .article-pagination-more::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.6rem);
  right: 0;
  width: 1.6rem;
  height: 1.2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.59473 0.20408C7.75806 -0.0182409 8.0714 -0.0664023 8.29395 0.0966578L15.7939 5.59763C15.7972 5.60002 15.7996 5.60397 15.8027 5.60642C15.9217 5.69776 15.9999 5.8395 16 6.00095C16 6.12087 15.9552 6.22926 15.8848 6.31541C15.8811 6.31992 15.8778 6.32469 15.874 6.32908C15.8509 6.35537 15.8259 6.37939 15.7979 6.40037C15.7964 6.40146 15.7954 6.40319 15.7939 6.40427L15.7891 6.4072C15.7839 6.41088 15.7787 6.41446 15.7734 6.41795L8.29395 11.9043C8.07128 12.0676 7.75804 12.0195 7.59473 11.7969C7.43197 11.5743 7.4799 11.2618 7.70215 11.0986L13.9697 6.50095H0.5C0.223858 6.50095 0 6.2771 0 6.00095C0.000180305 5.72497 0.223969 5.50095 0.5 5.50095H13.9697L7.70215 0.903298C7.4797 0.739928 7.43147 0.426664 7.59473 0.20408Z' fill='%234D4D4D'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}
.blog-detail-article .article-pagination .article-pagination-more:before {
  position: absolute;
  content: "";
  width: 3.6rem;
  height: 3.6rem;
  background: #00A0BC;
  border-radius: 50%;
  top: calc(50% - 1.8rem);
  left: -1.6rem;
  z-index: -1;
  -webkit-transition: left 0.5s ease, background-color 0.5s ease;
  transition: left 0.5s ease, background-color 0.5s ease;
}
.blog-detail-article .article-pagination .article-pagination-more:hover::before {
  left: calc(100% - 2.5rem);
  background: rgba(0, 160, 188, 0.05);
}
.blog-detail-article .article-pagination .article-pagination-prev {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 3.6rem;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  padding-left: 3rem;
  white-space: nowrap;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-pagination .article-pagination-prev {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    padding-left: 2.4rem;
  }
}
.blog-detail-article .article-pagination .article-pagination-prev::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.6rem);
  left: 0;
  width: 1.6rem;
  height: 1.2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.40527 0.20408C8.24194 -0.0182409 7.9286 -0.0664023 7.70605 0.0966578L0.206055 5.59763C0.202808 5.60002 0.200445 5.60397 0.197266 5.60642C0.0782877 5.69776 0.000105695 5.8395 0 6.00095C0 6.12087 0.0447547 6.22926 0.115234 6.31541C0.118891 6.31992 0.122158 6.32469 0.125977 6.32908C0.149057 6.35537 0.17408 6.37939 0.202148 6.40037C0.203606 6.40146 0.204583 6.40319 0.206055 6.40427L0.210938 6.4072C0.216095 6.41088 0.221262 6.41446 0.226562 6.41795L7.70605 11.9043C7.92872 12.0676 8.24196 12.0195 8.40527 11.7969C8.56803 11.5743 8.5201 11.2618 8.29785 11.0986L2.03027 6.50095H15.5C15.7761 6.50095 16 6.2771 16 6.00095C15.9998 5.72497 15.776 5.50095 15.5 5.50095H2.03027L8.29785 0.903298C8.5203 0.739928 8.56853 0.426664 8.40527 0.20408Z' fill='%234D4D4D'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  z-index: 0;
}
.blog-detail-article .article-pagination .article-pagination-prev:hover::after {
  -webkit-transform: translateX(-0.4rem);
          transform: translateX(-0.4rem);
}
.blog-detail-article .article-pagination .article-pagination-next {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 3.6rem;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  padding-right: 3rem;
  white-space: nowrap;
  text-align: right;
}
@media only screen and (max-width: 768px) {
  .blog-detail-article .article-pagination .article-pagination-next {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    padding-right: 2.4rem;
  }
}
.blog-detail-article .article-pagination .article-pagination-next::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.6rem);
  right: 0;
  width: 1.6rem;
  height: 1.2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.59473 0.20408C7.75806 -0.0182409 8.0714 -0.0664023 8.29395 0.0966578L15.7939 5.59763C15.7972 5.60002 15.7996 5.60397 15.8027 5.60642C15.9217 5.69776 15.9999 5.8395 16 6.00095C16 6.12087 15.9552 6.22926 15.8848 6.31541C15.8811 6.31992 15.8778 6.32469 15.874 6.32908C15.8509 6.35537 15.8259 6.37939 15.7979 6.40037C15.7964 6.40146 15.7954 6.40319 15.7939 6.40427L15.7891 6.4072C15.7839 6.41088 15.7787 6.41446 15.7734 6.41795L8.29395 11.9043C8.07128 12.0676 7.75804 12.0195 7.59473 11.7969C7.43197 11.5743 7.4799 11.2618 7.70215 11.0986L13.9697 6.50095H0.5C0.223858 6.50095 0 6.2771 0 6.00095C0.000180305 5.72497 0.223969 5.50095 0.5 5.50095H13.9697L7.70215 0.903298C7.4797 0.739928 7.43147 0.426664 7.59473 0.20408Z' fill='%234D4D4D'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  z-index: 0;
}
.blog-detail-article .article-pagination .article-pagination-next:hover::after {
  -webkit-transform: translateX(0.4rem);
          transform: translateX(0.4rem);
}

.blog-related {
  position: relative;
  margin-top: 10rem;
}
.blog-related .section-title {
  position: relative;
}
.blog-related .section-content {
  position: relative;
  display: block;
}
.blog-related .related-blog-grid {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 2.4rem minmax(0, 1fr) 2.4rem minmax(0, 1fr);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4rem 2.4rem;
}
@media only screen and (max-width: 768px) {
  .blog-related .related-blog-grid {
    -ms-grid-columns: (minmax(0, 1fr))[1];
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

.page-blog {
  position: relative;
  padding: 8rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .page-blog {
    padding: 5rem 0 10rem;
  }
}
.page-blog .blog-intro {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 3.2rem;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin: 0 0 10rem;
}
@media only screen and (max-width: 768px) {
  .page-blog .blog-intro {
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: 0.05em;
    margin: 0 0 5rem;
  }
}
.page-blog .blog-articles {
  position: relative;
}
.page-blog .wp-pagenavi {
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .page-blog .wp-pagenavi {
    margin-top: 6rem;
  }
}

.page-contact {
  position: relative;
  padding: 8rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .page-contact {
    padding: 5rem 0 10rem;
  }
}
.page-contact .contact-lead {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin: 0 0 8rem;
}
@media only screen and (max-width: 768px) {
  .page-contact .contact-lead {
    font-size: 1.6rem;
    margin: 0 0 6rem;
  }
}
.page-contact .contact-form {
  position: relative;
  display: block;
  max-width: 100rem;
  margin: 0 auto;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  padding: 5rem 5rem 6rem;
  background: #E9E9E8;
  border-top: 0.3rem solid #00A0BC;
}
@media only screen and (max-width: 768px) {
  .page-contact .contact-form {
    padding: 3.2rem 2rem 4rem;
  }
}
.page-contact .contact-form {
  /* input */
}
.page-contact .contact-form input[type=text],
.page-contact .contact-form input[type=email],
.page-contact .contact-form input[type=tel],
.page-contact .contact-form input[type=number],
.page-contact .contact-form input[type=password],
.page-contact .contact-form select,
.page-contact .contact-form textarea {
  position: relative;
  background: #FFFFFF;
  border: 1px solid rgba(77, 77, 77, 0.19);
  padding: 1.2rem 2rem;
  width: 100%;
  font-family: "Shippori Mincho", serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 3rem;
  text-align: left;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  outline: none;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: border-color 0.2s ease;
  transition: border-color 0.2s ease;
}
.page-contact .contact-form input[type=text]::-webkit-input-placeholder, .page-contact .contact-form input[type=email]::-webkit-input-placeholder, .page-contact .contact-form input[type=tel]::-webkit-input-placeholder, .page-contact .contact-form input[type=number]::-webkit-input-placeholder, .page-contact .contact-form input[type=password]::-webkit-input-placeholder, .page-contact .contact-form select::-webkit-input-placeholder, .page-contact .contact-form textarea::-webkit-input-placeholder {
  color: rgba(77, 77, 77, 0.4);
}
.page-contact .contact-form input[type=text]::-moz-placeholder, .page-contact .contact-form input[type=email]::-moz-placeholder, .page-contact .contact-form input[type=tel]::-moz-placeholder, .page-contact .contact-form input[type=number]::-moz-placeholder, .page-contact .contact-form input[type=password]::-moz-placeholder, .page-contact .contact-form select::-moz-placeholder, .page-contact .contact-form textarea::-moz-placeholder {
  color: rgba(77, 77, 77, 0.4);
}
.page-contact .contact-form input[type=text]:-ms-input-placeholder, .page-contact .contact-form input[type=email]:-ms-input-placeholder, .page-contact .contact-form input[type=tel]:-ms-input-placeholder, .page-contact .contact-form input[type=number]:-ms-input-placeholder, .page-contact .contact-form input[type=password]:-ms-input-placeholder, .page-contact .contact-form select:-ms-input-placeholder, .page-contact .contact-form textarea:-ms-input-placeholder {
  color: rgba(77, 77, 77, 0.4);
}
.page-contact .contact-form input[type=text]::-ms-input-placeholder, .page-contact .contact-form input[type=email]::-ms-input-placeholder, .page-contact .contact-form input[type=tel]::-ms-input-placeholder, .page-contact .contact-form input[type=number]::-ms-input-placeholder, .page-contact .contact-form input[type=password]::-ms-input-placeholder, .page-contact .contact-form select::-ms-input-placeholder, .page-contact .contact-form textarea::-ms-input-placeholder {
  color: rgba(77, 77, 77, 0.4);
}
.page-contact .contact-form input[type=text]::placeholder,
.page-contact .contact-form input[type=email]::placeholder,
.page-contact .contact-form input[type=tel]::placeholder,
.page-contact .contact-form input[type=number]::placeholder,
.page-contact .contact-form input[type=password]::placeholder,
.page-contact .contact-form select::placeholder,
.page-contact .contact-form textarea::placeholder {
  color: rgba(77, 77, 77, 0.4);
}
.page-contact .contact-form input[type=text],
.page-contact .contact-form input[type=email],
.page-contact .contact-form input[type=tel],
.page-contact .contact-form input[type=number],
.page-contact .contact-form input[type=password],
.page-contact .contact-form select {
  height: 5.4rem;
}
.page-contact .contact-form textarea {
  height: 20rem;
}
.page-contact .contact-form input[type=text]:focus,
.page-contact .contact-form input[type=email]:focus,
.page-contact .contact-form input[type=tel]:focus,
.page-contact .contact-form input[type=number]:focus,
.page-contact .contact-form input[type=password]:focus,
.page-contact .contact-form select:focus,
.page-contact .contact-form textarea:focus {
  border-color: #00A0BC;
}
.page-contact .contact-form .form-inputs {
  position: relative;
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid rgba(77, 77, 77, 0.19);
}
.page-contact .contact-form .form-inputs > li {
  position: relative;
  display: block;
  padding: 2.4rem 0;
  border-bottom: 1px solid rgba(77, 77, 77, 0.19);
}
.page-contact .contact-form .input-group {
  position: relative;
  padding: 0;
  margin: 0;
}
@media print, screen and (min-width: 769px) {
  .page-contact .contact-form .input-group {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 21.6rem 1rem minmax(0, 1fr);
    grid-template-columns: 21.6rem minmax(0, 1fr);
    gap: 1rem;
  }
}
.page-contact .contact-form .input-group .input-label {
  position: relative;
  display: block;
  font: inherit;
}
@media print, screen and (min-width: 769px) {
  .page-contact .contact-form .input-group .input-label {
    padding: 1rem 0 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-contact .contact-form .input-group .input-label {
    margin-bottom: 1.2rem;
  }
}
.page-contact .contact-form .input-group .input-label .required {
  position: relative;
  display: inline-block;
  padding: 0.2rem 1rem;
  background: #00A0BC;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  margin-left: 1.6rem;
}
.page-contact .contact-form .input-group .input-field {
  position: relative;
  display: block;
}
.page-contact .contact-form .form-accept {
  position: relative;
  display: block;
  text-align: center;
  width: 100%;
  margin-top: 3.6rem;
}
@media only screen and (max-width: 768px) {
  .page-contact .contact-form .form-accept {
    margin-top: 3rem;
  }
}
.page-contact .contact-form .form-accept a {
  color: #00A0BC;
  text-decoration: underline;
}
.page-contact .contact-form .form-submit {
  position: relative;
  margin-top: 3.6rem;
}
@media only screen and (max-width: 768px) {
  .page-contact .contact-form .form-submit {
    margin-top: 3rem;
  }
}
.page-contact .contact-form .form-submit .link-btn {
  margin: 0 auto;
  cursor: pointer;
}
.page-contact .contact-form .wpcf7-form-control-wrap {
  position: relative;
  display: block;
}
.page-contact .contact-form .wpcf7-list-item {
  position: relative;
  display: block;
  padding-left: 0;
  margin: 0;
}
.page-contact .contact-form .wpcf7-list-item label {
  display: inline-block;
  cursor: pointer;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=radio], .page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=checkbox] {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=radio] + .wpcf7-list-item-label, .page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=checkbox] + .wpcf7-list-item-label {
  position: relative;
  display: inline-block;
  padding-left: 3.6rem;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=radio] + .wpcf7-list-item-label::before, .page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=radio] + .wpcf7-list-item-label::after, .page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=checkbox] + .wpcf7-list-item-label::before, .page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=checkbox] + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=radio] + .wpcf7-list-item-label::before, .page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=radio] + .wpcf7-list-item-label::after {
  border-radius: 5rem;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=radio] + .wpcf7-list-item-label::before {
  top: 0.5rem;
  left: 0;
  width: 2rem;
  height: 2rem;
  border: 1px solid #4D4D4D;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=radio] + .wpcf7-list-item-label::after {
  top: 1rem;
  left: 0.5rem;
  width: 1rem;
  height: 1rem;
  background: #4D4D4D;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=radio]:not(:checked) + .wpcf7-list-item-label::after {
  opacity: 0;
  visibility: hidden;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=radio]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  visibility: visible;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=checkbox] + .wpcf7-list-item-label::before {
  top: 0.4rem;
  left: 0;
  width: 2.4rem;
  height: 2.4rem;
  background-color: #FFFFFF;
  border: 1px solid #4D4D4D;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=checkbox] + .wpcf7-list-item-label::after {
  top: 0.5rem;
  left: 0.9rem;
  width: 0.8rem;
  height: 1.6rem;
  border: 1px solid #4D4D4D;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=checkbox]:not(:checked) + .wpcf7-list-item-label::after {
  opacity: 0;
  visibility: hidden;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=checkbox]:checked + .wpcf7-list-item-label::before {
  border-color: #4D4D4D;
}
.page-contact .contact-form .wpcf7-list-item.wpcf7-list-item [type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  visibility: visible;
}
.page-contact .contact-form .wpcf7-spinner {
  display: none;
}
.page-contact .contact-form .wpcf7-response-output {
  position: relative;
  width: 100%;
  padding: 2rem 2.4rem;
  margin: 4rem auto 0;
}
@media only screen and (max-width: 768px) {
  .page-contact .contact-form .wpcf7-response-output {
    margin-top: 3.6rem;
  }
}

.page-thanks {
  position: relative;
  padding: 10rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .page-thanks {
    padding: 8rem 0 10rem;
  }
}
.page-thanks .thanks-lead {
  position: relative;
  display: block;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .page-thanks .thanks-lead {
    margin-bottom: 6rem;
  }
}
.page-thanks .thanks-lead .en {
  position: relative;
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 7.2rem;
  font-weight: 200;
  line-height: 8rem;
  letter-spacing: 0.05em;
  color: #00A0BC;
  text-align: center;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .page-thanks .thanks-lead .en {
    font-size: 4.8rem;
    line-height: 5.6rem;
  }
}
.page-thanks .thanks-lead .jp {
  position: relative;
  display: block;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
  margin: 0.6rem 0 0;
}
@media only screen and (max-width: 768px) {
  .page-thanks .thanks-lead .jp {
    font-size: 1.8rem;
    line-height: 1.75;
    letter-spacing: 0.05em;
    margin: 0.4rem 0 0;
  }
}
.page-thanks .thanks-message {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin: 0;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .page-thanks .thanks-message {
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: 0.05em;
  }
}
.page-thanks .thanks-action {
  position: relative;
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .page-thanks .thanks-action {
    margin-top: 6rem;
  }
}
.page-thanks .thanks-action .page-btn {
  margin: 0 auto;
}

.page-cases {
  position: relative;
  padding: 8rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .page-cases {
    padding: 5rem 0 10rem;
  }
}
.page-cases .content-in {
  max-width: 93.6rem;
}
.page-cases .case-lead {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin: 0 0 8rem;
}
@media only screen and (max-width: 768px) {
  .page-cases .case-lead {
    font-size: 1.6rem;
    margin: 0 0 6rem;
  }
}
.page-cases .case-list {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0rem, 1fr) 8rem minmax(0rem, 1fr);
  grid-template-columns: repeat(2, minmax(0rem, 1fr));
  gap: 8rem 8rem;
}
@media only screen and (max-width: 768px) {
  .page-cases .case-list {
    -ms-grid-columns: minmax(0rem, 1fr);
    grid-template-columns: repeat(1, minmax(0rem, 1fr));
    gap: 4.8rem;
  }
}
.page-cases .case-list > li {
  position: relative;
}
.page-cases .case-card {
  position: relative;
  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: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: 2px solid #00A0BC;
  border-radius: 2rem;
  padding: 3.6rem 4rem 4rem;
}
@media only screen and (max-width: 768px) {
  .page-cases .case-card {
    padding: 3rem 3rem 3.6rem;
  }
}
.page-cases .case-card .card-body {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
}
.page-cases .case-card .card-body .icon {
  position: relative;
  width: 12rem;
  margin: 0 auto 1.6rem;
}
.page-cases .case-card .card-body .lead {
  position: relative;
  display: block;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  color: #4D4D4D;
  text-align: center;
  margin: 0 -2rem 1.6rem;
}
@media only screen and (max-width: 768px) {
  .page-cases .case-card .card-body .lead {
    font-size: 1.6rem;
    line-height: 1.75;
    margin: 0 -1.5rem 1.6rem;
  }
}
.page-cases .case-card .card-body .desc {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #4D4D4D;
}
.page-cases .case-card .card-action {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  .page-cases .case-card .card-action {
    margin-top: 3.2rem;
  }
}
.page-cases .case-card .card-action .link-btn {
  position: relative;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}

.page-case-detail {
  position: relative;
  padding: 8rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail {
    padding: 6rem 0 10rem;
  }
}
.page-case-detail .case-title {
  position: relative;
  display: block;
  font-size: 4rem;
  font-weight: 500;
  line-height: 4.8rem;
  letter-spacing: 0.04em;
  color: #4D4D4D;
  text-align: left;
  margin: 0 0 3.2rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-title {
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: left;
    margin-bottom: 2.4rem;
  }
}
.page-case-detail .case-meta {
  position: relative;
  display: block;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #4D4D4D;
  text-align: left;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-meta {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.page-case-detail .case-label {
  position: relative;
  display: block;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 4.8rem;
  letter-spacing: 0.04em;
  color: #4D4D4D;
  text-align: left;
  padding: 0 0 0 2rem;
  margin: 0 0 2.4rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-label {
    font-size: 2.2rem;
    line-height: 3.2rem;
    padding-left: 1.6rem;
    margin-bottom: 2rem;
    margin-right: -2rem;
  }
}
.page-case-detail .case-label::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0.8rem;
  height: 4.8rem;
  border-radius: 0.8rem;
  background: #00A0BC;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-label::before {
    width: 0.5rem;
    height: 3.2rem;
  }
}
.page-case-detail .case-concern {
  position: relative;
  margin: 6.4rem 0 0;
  padding: 3.6rem 4rem 4rem;
  background: #E9E9E8;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-concern {
    margin-top: 4.8rem;
    padding: 3rem 2rem 3.6rem;
  }
}
.page-case-detail .case-concern .concern-label {
  position: relative;
}
.page-case-detail .case-concern .concern-desc {
  position: relative;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-concern .concern-desc {
    font-size: 1.6rem;
    letter-spacing: 0.02em;
    line-height: 1.875;
  }
}
.page-case-detail .case-approach {
  position: relative;
  padding: 4rem 4rem 4rem;
  background: #EAF6F9;
  margin: 6.4rem 0 0;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-approach {
    margin-top: 5.6rem;
    padding: 3.6rem 2rem 3.6rem;
  }
}
.page-case-detail .case-approach::after {
  content: "";
  display: block;
  clear: both;
}
.page-case-detail .case-approach .approach-title {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 500;
  line-height: 5.6rem;
  letter-spacing: 0.08em;
  color: #00A0BC;
  text-align: center;
  margin: 0 0 5.6rem;
}
@media print, screen and (min-width: 769px) {
  .page-case-detail .case-approach .approach-title {
    float: left;
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-approach .approach-title {
    font-size: 2.6rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
    margin-bottom: 4rem;
  }
}
.page-case-detail .case-approach .approach-block {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .page-case-detail .case-approach .approach-block {
    float: left;
    width: 100%;
  }
  .page-case-detail .case-approach .approach-block.w-half {
    width: calc(50% - 2rem);
  }
  .page-case-detail .case-approach .approach-block.w-half:nth-of-type(even) {
    margin-left: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-approach .approach-block:not(:first-of-type) {
    margin-top: 4.8rem;
  }
}
.page-case-detail .case-approach .approach-block .block-label {
  position: relative;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-approach .approach-block .block-label {
    margin-bottom: 2.4rem;
  }
}
.page-case-detail .case-approach .approach-block .block-content {
  position: relative;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-approach .approach-block .block-content {
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: 0.02em;
  }
}
.page-case-detail .case-approach .approach-block .block-content p {
  position: relative;
  margin: 0;
}
.page-case-detail .case-approach .approach-block .block-content .list {
  position: relative;
  display: block;
}
.page-case-detail .case-approach .approach-block .block-content .list > li {
  position: relative;
  padding-left: 1.8rem;
}
.page-case-detail .case-approach .approach-block .block-content .list > li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 700;
}
.page-case-detail .case-approach .approach-result {
  position: relative;
  margin-top: 6.4rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-approach .approach-result {
    margin-top: 4.8rem;
  }
}
.page-case-detail .case-approach .approach-result .block-label {
  position: relative;
}
.page-case-detail .case-approach .approach-result .block-desc {
  position: relative;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-approach .approach-result .block-desc {
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: 0.02em;
  }
}
.page-case-detail .case-approach .approach-result .block-desc b {
  font-weight: 700;
  color: #00A0BC;
}
.page-case-detail .case-compare {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 14rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.6rem 14rem;
  width: 100%;
  max-width: 86rem;
  margin: 8rem auto 0;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-compare {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    gap: 10.8rem;
    margin-top: 6rem;
  }
}
.page-case-detail .case-compare::after {
  content: "";
  position: absolute;
  top: calc(50% - 8.4rem);
  left: calc(50% - 4rem);
  width: 8rem;
  height: 15.4rem;
  background-image: url("data:image/svg+xml,%3Csvg width='54' height='120' viewBox='0 0 54 120' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54 60L-5.81507e-07 120L4.66386e-06 -2.36041e-06L54 60Z' fill='url(%23paint0_linear_122_264)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_122_264' x1='54' y1='60' x2='2.61818' y2='60' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300A0BC'/%3E%3Cstop offset='1' stop-color='%2300A0BC' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-compare::after {
    top: calc(50% - 2.7rem);
    left: calc(50% - 6rem);
    width: 12rem;
    height: 5.4rem;
    background-image: url("data:image/svg+xml,%3Csvg width='120' height='54' viewBox='0 0 120 54' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M60 54L-4.61764e-07 -5.81507e-07L120 4.66386e-06L60 54Z' fill='url(%23paint0_linear_132_372)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_132_372' x1='60.0003' y1='54' x2='60.0003' y2='2.61818' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300A0BC'/%3E%3Cstop offset='1' stop-color='%2300A0BC' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  }
}
.page-case-detail .case-compare .compare-col {
  position: relative;
}
.page-case-detail .case-compare .compare-col .phase {
  position: relative;
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 4.5rem;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: center;
  margin: 0 0 1.8rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-compare .compare-col .phase {
    font-size: 2rem;
    line-height: 3rem;
    margin-bottom: 1.2rem;
  }
}
.page-case-detail .case-compare .compare-col .phase--after {
  font-family: "Shippori Mincho", serif;
  color: #00A0BC;
}
.page-case-detail .case-compare .compare-col .photo {
  position: relative;
  display: block;
  width: 36rem;
  height: 45.8rem;
  margin: 0 auto;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-compare .compare-col .photo {
    width: 22.4rem;
    height: 27.8rem;
  }
}
.page-case-detail .case-compare .compare-col .photo img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  z-index: 0;
}
.page-case-detail .case-compare .compare-col .photo span {
  position: absolute;
  left: 50%;
  top: calc(50% - 3.6rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 10.8rem;
  padding: 0.4rem 1.6rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 3.2rem;
  background: #FF1818;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  text-align: center;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-compare .compare-col .photo span {
    top: calc(50% - 2.8rem);
    min-width: 6.8rem;
    padding: 0.3rem 1.2rem;
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}
.page-case-detail .case-compare .compare-col .stats {
  position: relative;
  display: block;
  width: 100%;
  max-width: 36rem;
  padding: 3rem 3rem 2.8rem;
  background: #D9D9D9;
  margin: -2.4rem auto 0;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-compare .compare-col .stats {
    max-width: 22.4rem;
    margin-top: -1.6rem;
    padding: 2rem 1.4rem 1.2rem;
  }
}
.page-case-detail .case-compare .compare-col .stats .list {
  position: relative;
  display: block;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 3.2rem;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  padding: 0;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-compare .compare-col .stats .list {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}
.page-case-detail .case-compare .compare-col .stats .list > li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-case-detail .case-compare .compare-col .stats .list > li:not(:last-child) {
  margin-bottom: 1rem;
}
.page-case-detail .case-compare .compare-col .stats .list > li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2px;
  right: 2px;
  height: 2px;
  background: rgba(77, 77, 77, 0.3);
  z-index: 0;
}
.page-case-detail .case-compare .compare-col .stats .list > li span {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #D9D9D9;
  padding-right: 1.2rem;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-compare .compare-col .stats .list > li span {
    padding-right: 0.6rem;
  }
}
.page-case-detail .case-compare .compare-col .stats .list > li em {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Shippori Mincho", serif;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 3.2rem;
  background: #D9D9D9;
  padding-left: 1.2rem;
  min-width: 9.7rem;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-compare .compare-col .stats .list > li em {
    min-width: 5.9rem;
    font-size: 2rem;
    line-height: 2.4rem;
    padding-left: 0.6rem;
  }
}
.page-case-detail .case-compare .compare-col .stats .meta {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 3.2rem;
  letter-spacing: 0;
  color: #7B7B7B;
  text-align: left;
  margin: 1.2rem 0 0;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-compare .compare-col .stats .meta {
    font-size: 1.2rem;
    line-height: 1.8;
    margin-top: 1.2rem;
  }
}
.page-case-detail .case-compare .compare-col .stats--after {
  background: #00A0BC;
}
.page-case-detail .case-compare .compare-col .stats--after .list {
  color: #FFFFFF;
}
.page-case-detail .case-compare .compare-col .stats--after .list > li::before {
  background: rgba(255, 255, 255, 0.3);
}
.page-case-detail .case-compare .compare-col .stats--after .list > li span {
  background: #00A0BC;
}
.page-case-detail .case-compare .compare-col .stats--after .list > li em {
  background: #00A0BC;
}
.page-case-detail .case-compare .compare-col .stats--after .meta {
  color: #FFFFFF;
}
.page-case-detail .case-trainer {
  position: relative;
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-trainer {
    margin-top: 5.6rem;
  }
}
.page-case-detail .case-trainer .block-label {
  position: relative;
}
.page-case-detail .case-trainer .block-content {
  position: relative;
}
.page-case-detail .case-trainer .block-content::after {
  content: "";
  display: block;
  clear: both;
}
.page-case-detail .case-trainer .block-content .trainer-profile {
  position: relative;
  display: block;
}
@media print, screen and (min-width: 769px) {
  .page-case-detail .case-trainer .block-content .trainer-profile {
    width: 23.7rem;
    float: left;
  }
}
.page-case-detail .case-trainer .block-content .trainer-profile .photo {
  position: relative;
  width: 16.5rem;
  height: 16.5rem;
  margin: 0 auto;
  border-radius: 50%;
  background: #D9D9D9;
  overflow: hidden;
}
.page-case-detail .case-trainer .block-content .trainer-profile .photo img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.page-case-detail .case-trainer .block-content .trainer-profile .name {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: center;
  margin: 1.6rem 0 0;
}
.page-case-detail .case-trainer .block-content .trainer-message {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  margin: 0;
}
@media print, screen and (min-width: 769px) {
  .page-case-detail .case-trainer .block-content .trainer-message {
    width: calc(100% - 26.9rem);
    float: right;
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-trainer .block-content .trainer-message {
    margin-top: 1.6rem;
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: 0.02em;
  }
}
.page-case-detail .case-trainer .block-content .trainer-message p {
  margin: 0;
}
.page-case-detail .case-action {
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-action {
    margin-top: 5.6rem;
  }
}
.page-case-detail .case-action .page-btn {
  width: 41.2rem;
  height: 7.2rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-action .page-btn {
    width: 100%;
    max-width: 34.2rem;
    height: 6.4rem;
  }
}
.page-case-detail .case-related {
  position: relative;
  margin-top: 12rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-related {
    margin-top: 8rem;
  }
}
.page-case-detail .case-related .section-title {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-related .section-title {
    margin-bottom: 4rem;
  }
}
.page-case-detail .related-list {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 8rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8rem;
  max-width: 93.6rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .related-list {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    gap: 4.8rem;
  }
}
.page-case-detail .related-list > li {
  position: relative;
}
.page-case-detail .case-card {
  position: relative;
  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: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: 2px solid #00A0BC;
  border-radius: 2rem;
  padding: 3.6rem 4rem 4rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-card {
    padding: 3rem 3rem 3.6rem;
  }
}
.page-case-detail .case-card .card-body {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
}
.page-case-detail .case-card .card-body .icon {
  position: relative;
  width: 12rem;
  margin: 0 auto 1.6rem;
}
.page-case-detail .case-card .card-body .lead {
  position: relative;
  display: block;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  color: #4D4D4D;
  text-align: center;
  margin: 0 -2rem 1.6rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-card .card-body .lead {
    font-size: 1.6rem;
    line-height: 1.75;
    margin: 0 -1.5rem 1.6rem;
  }
}
.page-case-detail .case-card .card-body .desc {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #4D4D4D;
}
.page-case-detail .case-card .card-action {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  .page-case-detail .case-card .card-action {
    margin-top: 3.2rem;
  }
}
.page-case-detail .case-card .card-action .link-btn {
  position: relative;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}

.page-price {
  position: relative;
  padding: 8rem 0 0;
}
@media only screen and (max-width: 768px) {
  .page-price {
    padding: 5rem 0 0;
  }
}
.page-price .container {
  max-width: 144rem;
}

.page-price-wrapper {
  position: relative;
}

.price-lead {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .price-lead {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    text-align: left;
  }
}

.price-nav-block {
  position: relative;
  margin: 6.4rem 0 0;
}
@media only screen and (max-width: 768px) {
  .price-nav-block {
    margin: 5.6rem 0 0;
  }
}

.price-nav-title {
  position: relative;
  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;
  gap: 1rem;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin: 0 0 2.4rem;
}
@media only screen and (max-width: 768px) {
  .price-nav-title {
    font-size: 1.8rem;
    margin-bottom: 1.6rem;
  }
}
.price-nav-title::after {
  content: "";
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 0.4rem;
  border-left: 0.8rem solid transparent;
  border-right: 0.8rem solid transparent;
  border-top: 1rem solid #00A0BC;
}

.price-nav-desc {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .price-nav-desc {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
}

.price-nav-list {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 4rem minmax(0, 1fr) 4rem minmax(0, 1fr) 4rem minmax(0, 1fr);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4rem;
  margin: 4rem 0 0;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .price-nav-list {
    -ms-grid-columns: minmax(0, 1fr) 1.6rem minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
  }
}
.price-nav-list > li {
  position: relative;
}

.price-nav-link {
  position: relative;
  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;
  width: 100%;
  min-height: 9.6rem;
  padding: 1.6rem 4rem 1.6rem 1.6rem;
  background: #FFFFFF;
  border-radius: 0.5rem;
  -webkit-box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.05);
          box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.05);
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #4D4D4D;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
  -webkit-transition: color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: color 0.2s ease, box-shadow 0.2s ease;
  transition: color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .price-nav-link {
    min-height: 5.6rem;
    padding: 0.8rem 2.4rem 0.8rem 1.2rem;
    font-size: 1.4rem;
    line-height: 1.25;
    letter-spacing: 0.02em;
  }
}
.price-nav-link span {
  position: relative;
  color: inherit;
  text-decoration: none;
  text-align: center;
  -webkit-transition: color 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: color 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 3;
}
.price-nav-link::after {
  content: "";
  position: absolute;
  top: calc(50% - 1.5rem);
  right: 2.4rem;
  width: 2.2rem;
  height: 3rem;
  background-image: url("data:image/svg+xml,%3Csvg width='22' height='30' viewBox='0 0 22 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.8643 24L19.8359 16.6826L22 18.8604L12.8643 28.4492V28.5898H12.7314L11.3877 30L9.94141 28.5898H9.83398V28.4854L0 18.8994L2.08496 16.6426L9.83398 24.1953V0H12.8643V24Z' fill='%2300A0BC'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  z-index: 3;
}
@media only screen and (max-width: 768px) {
  .price-nav-link::after {
    top: calc(50% - 0.75rem);
    right: 1.2rem;
    width: 1.1rem;
    height: 1.5rem;
  }
}
.price-nav-link::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  display: block;
  background: #00A0BC;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1), -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  z-index: 1;
}
.price-nav-link:hover {
  color: #FFFFFF;
}
.price-nav-link:hover::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.price-nav-link:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg width='22' height='30' viewBox='0 0 22 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.8643 24L19.8359 16.6826L22 18.8604L12.8643 28.4492V28.5898H12.7314L11.3877 30L9.94141 28.5898H9.83398V28.4854L0 18.8994L2.08496 16.6426L9.83398 24.1953V0H12.8643V24Z' fill='%23FFFFFF'/%3E%3C/svg%3E%0A");
}

.price-gallery-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: 0;
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .price-gallery-wrapper {
    margin-top: 6rem;
  }
}

.price-gallery {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 0;
  -webkit-animation: infinite-scroll 20s linear infinite;
          animation: infinite-scroll 20s linear infinite;
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .price-gallery {
    -webkit-animation: none;
            animation: none;
  }
}
.price-gallery .thumb {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 38rem;
  height: 20rem;
}
@media only screen and (max-width: 768px) {
  .price-gallery .thumb {
    width: 30.4rem;
    height: 16rem;
  }
}
.price-gallery .thumb img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
}
.price-gallery .thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(86, 86, 86, 0.4);
  z-index: 1;
}

.price-course-wrapper {
  position: relative;
}

.price-course {
  position: relative;
  padding: 8rem 0 9rem;
}
@media only screen and (max-width: 768px) {
  .price-course {
    padding: 6rem 0 7rem;
  }
}

.price-course--diet {
  background: #00A0BC;
}
.price-course--diet .price-course-title,
.price-course--diet .price-course-common,
.price-course--diet .price-course-note,
.price-course--diet .price-course-plus {
  color: #FFFFFF;
}
.price-course--diet .price-join {
  background: transparent;
  border-color: #FFFFFF;
}
.price-course--diet .price-join .price-join-title,
.price-course--diet .price-join .price-join-content {
  color: #FFFFFF;
}
.price-course--diet .price-join .price-join-icon {
  color: #FFFFFF;
}
.price-course--diet .price-join .price-join-icon path {
  fill: #FFFFFF;
}
.price-course--diet .price-join s {
  color: #FFFFFF;
  text-decoration-color: #FFFFFF;
}
.price-course--diet .price-join em {
  color: #FFFFFF;
}

#course-ticket::before,
#course-pilates::before {
  content: "";
  position: absolute;
  top: 0;
  max-width: 100%;
  height: 1px;
  background: #FFFFFF;
  z-index: 0;
}
@media print, screen and (min-width: 769px) {
  #course-ticket::before,
  #course-pilates::before {
    left: calc(50% - 68rem);
    width: 136rem;
  }
}
@media only screen and (max-width: 768px) {
  #course-ticket::before,
  #course-pilates::before {
    left: 2rem;
    right: 2rem;
  }
}

.price-course-title {
  font-family: "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #00A0BC;
  text-align: left;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .price-course-title {
    font-size: 2.4rem;
    letter-spacing: 0;
    letter-spacing: -0.03em;
    margin-right: -1.5rem;
  }
}

.price-course-common {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #4D4D4D;
  margin: 1.6rem 0 0;
}
@media only screen and (max-width: 768px) {
  .price-course-common {
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: 0;
    margin-top: 1.6rem;
  }
}

.price-course-note {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  margin: 2.4rem 0 0;
}
@media only screen and (max-width: 768px) {
  .price-course-note {
    font-size: 1.4rem;
  }
}

.price-course-plus {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin: 4rem 0 0;
}
@media only screen and (max-width: 768px) {
  .price-course-plus {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 3.2rem;
  }
}

.price-plan-list {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 4.3rem minmax(0, 1fr) 4.3rem minmax(0, 1fr);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4.3rem;
  margin: 6.4rem 0 0;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media print, screen and (min-width: 769px) {
  .price-plan-list {
    padding: 3.2rem 0 0;
  }
}
@media only screen and (max-width: 768px) {
  .price-plan-list {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    gap: 4.8rem;
    margin-top: 3.2rem;
  }
}
.price-plan-list > li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.price-plan {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  padding: 4.8rem 4.8rem 4.8rem;
  background: #FFFFFF;
  border-radius: 2rem;
}
@media only screen and (max-width: 768px) {
  .price-plan {
    padding: 3.2rem 2.4rem 3.2rem;
    border-radius: 2rem;
  }
}
.price-plan-badge {
  position: absolute;
  top: -3.2rem;
  left: 4rem;
  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;
  min-width: 18rem;
  height: 6.4rem;
  padding: 0 2.4rem;
  background: #00A0BC;
  border: 2px solid #FFFFFF;
  border-radius: 6.4rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  margin: 0;
  z-index: 1;
  white-space: nowrap;
}
@media only screen and (max-width: 768px) {
  .price-plan-badge {
    top: -2.2rem;
    left: 2.4rem;
    min-width: 12.5rem;
    height: 4.5rem;
    padding: 0 1.6rem;
    font-size: 1.8rem;
    border-width: 2px;
  }
}
.price-plan-name {
  position: relative;
  font-size: 3rem;
  font-weight: 500;
  line-height: 3.6rem;
  letter-spacing: 0.04em;
  color: #00A0BC;
  margin: 0 0 1.2rem;
}
@media only screen and (max-width: 768px) {
  .price-plan-name {
    font-size: 2.4rem;
    line-height: 3rem;
    margin-bottom: 1rem;
  }
}
.price-plan-amount {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0;
  margin: 0 0 4rem;
}
@media only screen and (max-width: 768px) {
  .price-plan-amount {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 2.4rem;
  }
}
.price-plan-amount span {
  font-size: 3rem;
  font-weight: 600;
  line-height: 3.6rem;
  letter-spacing: 0;
  color: #4D4D4D;
}
@media only screen and (max-width: 768px) {
  .price-plan-amount span {
    font-size: 2.4rem;
    line-height: 3rem;
  }
}
.price-plan-amount small {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.04em;
  color: #4D4D4D;
}
@media only screen and (max-width: 768px) {
  .price-plan-amount small {
    font-size: 1.2rem;
    line-height: 2.2rem;
  }
}
.price-plan-amount em {
  font-style: normal;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 3rem;
  letter-spacing: 0.04em;
  color: #4D4D4D;
  margin-left: auto;
}
@media only screen and (max-width: 768px) {
  .price-plan-amount em {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }
}
.price-plan-amount b {
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 3.2rem;
  color: #4D4D4D;
  margin-left: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .price-plan-amount b {
    font-size: 1.8rem;
    line-height: 3rem;
    margin-left: 1.2rem;
  }
}
.price-plan-amount .tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 4.2rem;
  height: 2.4rem;
  padding: 0.2rem 0.6rem;
  margin-right: 1rem;
  margin-bottom: 0.2rem;
  background: #00A0BC;
  border-radius: 0.3rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2rem;
  letter-spacing: 0.08em;
  color: #FFFFFF;
}
.price-plan-spec {
  position: relative;
  margin: 0;
  padding: 0;
  border-top: 1px solid #E9E9E8;
}
.price-plan-spec > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 3rem;
  letter-spacing: 0.04em;
  color: #4D4D4D;
  border-bottom: 1px solid #E9E9E8;
  padding: 1.6rem 0;
}
@media only screen and (max-width: 768px) {
  .price-plan-spec > div {
    font-size: 1.4rem;
    line-height: 2.4rem;
    padding: 1.4rem 0;
  }
}
.price-plan-spec dt,
.price-plan-spec dd {
  margin: 0;
}
.price-plan-spec dd {
  text-align: right;
}
.price-plan.is-popular {
  margin-top: 0;
}

.price-plan-list--ticket {
  -ms-grid-columns: minmax(0, 1fr) 3rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
  margin-top: 2.4rem;
  padding-top: 0;
}
@media only screen and (max-width: 768px) {
  .price-plan-list--ticket {
    gap: 1.6rem;
    margin-top: 1.6rem;
    padding-top: 0;
  }
}
.price-plan-list--ticket .price-plan {
  padding: 4rem 1.6rem 4.8rem 1.6rem;
}
@media only screen and (max-width: 768px) {
  .price-plan-list--ticket .price-plan {
    padding: 2.4rem 1.2rem 2.4rem;
  }
}
.price-plan-list--ticket .price-plan-amount {
  margin-bottom: 3.2rem;
}
@media print, screen and (min-width: 769px) {
  .price-plan-list--ticket .price-plan-amount {
    padding-bottom: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .price-plan-list--ticket .price-plan-amount {
    margin-right: -1.2rem;
    margin-bottom: 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .price-plan-list--ticket .price-plan-amount em {
    margin: 0;
    letter-spacing: 0;
  }
}
.price-plan-list--ticket .price-plan-amount sub {
  font-style: normal;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5rem;
  letter-spacing: 0.04em;
  color: #4D4D4D;
}
@media print, screen and (min-width: 769px) {
  .price-plan-list--ticket .price-plan-amount sub {
    position: absolute;
    left: 0;
    bottom: 0;
  }
}
@media only screen and (max-width: 768px) {
  .price-plan-list--ticket .price-plan-amount sub {
    letter-spacing: 0;
    line-height: 2rem;
    margin-left: 0.6rem;
  }
}

.price-ticket-grid {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 6rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6rem;
  margin-top: 4.8rem;
}
@media only screen and (max-width: 768px) {
  .price-ticket-grid {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    gap: 3.2rem;
    margin-top: 3.2rem;
  }
}

.price-ticket-group {
  position: relative;
  min-width: 0;
}

.price-ticket-label {
  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;
  width: 100%;
  min-height: 6.4rem;
  border: 1px solid #00A0BC;
  background: #FFFFFF;
  font-size: 3rem;
  font-weight: 500;
  line-height: 4rem;
  letter-spacing: 0.04em;
  color: #00A0BC;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .price-ticket-label {
    min-height: 4.8rem;
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
}

.price-plan--wide {
  margin-top: 3.2rem;
  padding: 4rem 4rem 4rem 5.6rem;
}
@media only screen and (max-width: 768px) {
  .price-plan--wide {
    margin-top: 3.2rem;
    padding: 3.2rem 2.4rem 3.2rem;
  }
}

.is-popular--wide .price-plan-badge {
  min-width: 33.9rem;
}
@media only screen and (max-width: 768px) {
  .is-popular--wide .price-plan-badge {
    min-width: 22.6rem;
  }
}

.price-plan--wide .price-plan-amount {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 0;
}
.price-plan--wide .price-plan-amount em {
  margin-left: 0;
}

.price-plan-per {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5rem;
  letter-spacing: 0.04em;
  color: #000000;
  margin: -0.8rem 0 1.6rem;
}
@media only screen and (max-width: 768px) {
  .price-plan-per {
    margin: -0.4rem 0 1rem;
  }
}

.price-plan-caution {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.5rem;
  letter-spacing: 0.04em;
  color: #4D4D4D;
  margin: 0 0 0 auto;
  text-align: right;
}
@media only screen and (max-width: 768px) {
  .price-plan-caution {
    font-size: 1.4rem;
    line-height: 1.75;
    text-align: left;
    margin: 1.2rem 0 0;
  }
}

.price-plan--wide {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .price-plan--wide .price-plan-caution {
    position: absolute;
    right: 4rem;
    bottom: 4rem;
  }
}

.price-join {
  position: relative;
  margin-top: 4rem;
  padding: 2.4rem 4rem 2.4rem 11rem;
  background: rgba(217, 217, 217, 0.3);
  border: 1px solid #4D4D4D;
  border-radius: 2rem;
}
@media only screen and (max-width: 768px) {
  .price-join {
    margin-top: 3.2rem;
    padding: 2rem 1.8rem 2rem 1.8rem;
  }
}
.price-join-icon {
  position: absolute;
  top: calc(50% - 2.5rem);
  left: 3rem;
  width: 5rem;
  height: 5rem;
  color: #4D4D4D;
}
@media only screen and (max-width: 768px) {
  .price-join-icon {
    top: 2rem;
    left: 1.8rem;
    width: 2.5rem;
    height: 2.5rem;
  }
}
.price-join-icon path {
  fill: #4D4D4D;
}
.price-join-title {
  position: relative;
  font-size: 3rem;
  font-weight: 500;
  line-height: 4rem;
  letter-spacing: 0.04em;
  color: #4D4D4D;
  margin: 0 0 1.6rem;
}
@media only screen and (max-width: 768px) {
  .price-join-title {
    padding: 0 0 0 3.6rem;
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-bottom: 1rem;
  }
}
.price-join-content {
  position: relative;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 3.2rem;
  letter-spacing: 0.04em;
  color: #4D4D4D;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .price-join-content {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}
.price-join-content p {
  font: inherit;
  color: inherit;
  margin: 0;
}
.price-join-content s {
  text-decoration: line-through;
  text-decoration-color: #4D4D4D;
  text-decoration-thickness: 1px;
}
.price-join-content em {
  font-style: normal;
  font-size: 2rem;
  color: #00A0BC;
}
@media only screen and (max-width: 768px) {
  .price-join-content em {
    font-size: 1.6rem;
  }
}

.price-join-free {
  display: inline;
  margin-left: 0.4rem;
  font-size: 2rem;
  color: #FFEE00;
}
@media print, screen and (min-width: 769px) {
  .price-join-free {
    white-space: nowrap;
  }
}
@media only screen and (max-width: 768px) {
  .price-join-free {
    display: block;
    margin: 0.6rem 0 0;
    font-size: 1.4rem;
    letter-spacing: 0;
  }
}

.price-join-caution {
  margin-top: 0.8rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.04em;
  color: #4D4D4D;
}
@media only screen and (max-width: 768px) {
  .price-join-caution {
    font-size: 1.4rem;
    margin-top: 0.8rem;
  }
}

@media print, screen and (min-width: 769px) {
  #course-pilates .price-join .price-join-caution {
    position: absolute;
    top: 2.8rem;
    right: 4rem;
    margin-top: 0 !important;
  }
}

.price-faq {
  position: relative;
  padding: 6rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .price-faq {
    padding: 4rem 0 8rem;
  }
}
.price-faq .container {
  max-width: 108rem;
}

.price-faq-head {
  position: relative;
  text-align: center;
  margin-bottom: 6.4rem;
}
@media only screen and (max-width: 768px) {
  .price-faq-head {
    margin-bottom: 3.2rem;
  }
}
.price-faq-head .jp {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.3rem;
  letter-spacing: 0.2em;
  color: #4D4D4D;
  margin: 0;
}
.price-faq-head .en {
  font-family: "Ysabeau SC", sans-serif;
  font-size: 6rem;
  font-weight: 500;
  line-height: 6rem;
  letter-spacing: 0.08em;
  color: #00A0BC;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .price-faq-head .en {
    font-size: 4.8rem;
    line-height: 6rem;
  }
}

.price-faq .page-back {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .price-faq .page-back {
    margin-top: 4.8rem;
  }
}
.price-faq .page-back .page-btn {
  width: 41.2rem;
  height: 7.2rem;
}
@media only screen and (max-width: 768px) {
  .price-faq .page-back .page-btn {
    width: 100%;
    max-width: 34.2rem;
  }
}

.page-lp {
  background: #E5E5E5;
}
.page-lp #header {
  position: fixed;
  background: rgba(76, 76, 76, 0.5);
  height: 7rem;
  border-bottom: none;
}
@media only screen and (max-width: 768px) {
  .page-lp #header {
    height: 6rem;
  }
}
.page-lp #header .header-wrapper .header-nav .nav-menu {
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
}
.page-lp #header .header-wrapper .header-nav .nav-menu > li .menu-link {
  position: relative;
  color: #FFFFFF;
  letter-spacing: 0;
  z-index: 0;
}
.page-lp #header .header-wrapper .header-nav .nav-menu > li .menu-link::before {
  background-color: #FFFFFF;
}
.page-lp #header .header-wrapper .header-nav .nav-menu > .menu-space {
  background: rgba(255, 255, 255, 0.2);
}
.page-lp #header .header-wrapper .header-nav .nav-menu > .dropdown .menu-link::after {
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.9137 0.195265C13.1623 -0.065088 13.5651 -0.0650881 13.8136 0.195265C14.0621 0.455617 14.0621 0.877632 13.8136 1.13798L7.44993 7.80474C7.20141 8.06509 6.79858 8.06509 6.55007 7.80474L0.186388 1.13798C-0.0621293 0.877632 -0.0621293 0.455617 0.186388 0.195265C0.434905 -0.0650882 0.837735 -0.0650882 1.08625 0.195265L7 6.39066L12.9137 0.195265Z' fill='white'/%3E%3C/svg%3E%0A");
}
.page-lp #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu {
  background: rgba(76, 76, 76, 0.5);
}
.page-lp #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu::before {
  background: #7A7A7A;
}
.page-lp #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu::after {
  display: none;
}
.page-lp #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link .label .en {
  color: #FFFFFF;
}
.page-lp #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link .label .jp {
  color: #FFFFFF;
}
.page-lp #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link::before {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.12012 0.195049C7.27836 -0.0213219 7.57608 -0.064233 7.78516 0.0993455L14.8115 5.60716C14.8169 5.61141 14.821 5.61734 14.8262 5.62181C14.8455 5.63832 14.8633 5.65609 14.8799 5.67552C14.8859 5.68259 14.8919 5.68961 14.8975 5.697C14.9156 5.72096 14.9307 5.7469 14.9443 5.77415C14.946 5.77754 14.9486 5.78049 14.9502 5.78392C14.9811 5.8492 15 5.92211 15 5.99974C15 6.07475 14.9822 6.14512 14.9531 6.20872C14.9488 6.21818 14.9433 6.22691 14.9385 6.23606C14.9269 6.25775 14.9139 6.27806 14.8994 6.29759C14.8928 6.30659 14.8862 6.31542 14.8789 6.32395C14.8635 6.34196 14.8469 6.35826 14.8291 6.37376C14.8227 6.37934 14.8182 6.38706 14.8115 6.39231L7.78516 11.9001C7.57611 12.0639 7.27844 12.0217 7.12012 11.8054C6.96204 11.5891 7.00334 11.281 7.21191 11.1169L13.1104 6.49095H0.474609C0.212521 6.49077 9.73433e-05 6.27117 0 5.99974C0 5.72822 0.212461 5.50772 0.474609 5.50755H13.1084L7.21191 0.883525C7.00317 0.719604 6.9622 0.411483 7.12012 0.195049Z' fill='white'/%3E%3C/svg%3E%0A");
}
.page-lp #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link::after {
  border: 1px solid #FFFFFF;
}
.page-lp #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.12012 0.195049C7.27836 -0.0213219 7.57608 -0.064233 7.78516 0.0993455L14.8115 5.60716C14.8169 5.61141 14.821 5.61734 14.8262 5.62181C14.8455 5.63832 14.8633 5.65609 14.8799 5.67552C14.8859 5.68259 14.8919 5.68961 14.8975 5.697C14.9156 5.72096 14.9307 5.7469 14.9443 5.77415C14.946 5.77754 14.9486 5.78049 14.9502 5.78392C14.9811 5.8492 15 5.92211 15 5.99974C15 6.07475 14.9822 6.14512 14.9531 6.20872C14.9488 6.21818 14.9433 6.22691 14.9385 6.23606C14.9269 6.25775 14.9139 6.27806 14.8994 6.29759C14.8928 6.30659 14.8862 6.31542 14.8789 6.32395C14.8635 6.34196 14.8469 6.35826 14.8291 6.37376C14.8227 6.37934 14.8182 6.38706 14.8115 6.39231L7.78516 11.9001C7.57611 12.0639 7.27844 12.0217 7.12012 11.8054C6.96204 11.5891 7.00334 11.281 7.21191 11.1169L13.1104 6.49095H0.474609C0.212521 6.49077 9.73433e-05 6.27117 0 5.99974C0 5.72822 0.212461 5.50772 0.474609 5.50755H13.1084L7.21191 0.883525C7.00317 0.719604 6.9622 0.411483 7.12012 0.195049Z' fill='%234C4C4C'/%3E%3C/svg%3E%0A");
}
.page-lp #header .header-wrapper .header-nav .nav-menu > .dropdown .dropdown-menu .dropdown-link:hover::after {
  background: #FFFFFF;
}
.page-lp #header .header-wrapper .header-nav .nav-actions .action-btn {
  background: #4C4C4C;
  color: #FFFFFF;
}
.page-lp #header .header-wrapper .header-nav .nav-actions .action-btn::before {
  background: #FFFFFF;
}
.page-lp #header .header-wrapper .header-nav .nav-actions .action-btn::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='white'/%3E%3C/svg%3E%0A");
}
.page-lp #header .header-wrapper .header-nav .nav-actions .action-btn:hover {
  color: #4C4C4C;
}
.page-lp #header .header-wrapper .header-nav .nav-actions .action-btn:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.1068 0.185515C7.27766 -0.0268203 7.59102 -0.0621019 7.80583 0.106752L14.7738 5.58852C14.9098 5.67629 15 5.82803 15 6.00059C14.9999 6.17276 14.9094 6.32294 14.7738 6.41074L7.80583 11.8935C7.59093 12.0625 7.27764 12.0263 7.1068 11.8137C6.93647 11.6012 6.97187 11.292 7.18641 11.1231L13.0738 6.49238H0.497087C0.222635 6.49238 0.000131129 6.27209 0 6.00059C0 5.72898 0.222554 5.50879 0.497087 5.50879H13.0757L7.18641 0.8771C6.97172 0.708031 6.93601 0.398045 7.1068 0.185515Z' fill='%234C4C4C'/%3E%3C/svg%3E%0A");
}
.page-lp .mobile-nav-toggle .toggle-icon span {
  background: #FFFFFF;
}
.page-lp .mobile-nav-toggle.toggle-active .toggle-icon span {
  background: #FFFFFF;
}
.page-lp #mobile-nav {
  background-color: #4D4D4D;
}
.page-lp #mobile-nav .mobile-nav-container {
  border-top: 1px solid #FFFFFF;
}
.page-lp #mobile-nav .mobile-nav-menu > li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.page-lp #mobile-nav .mobile-nav-menu > li .menu-link {
  color: #FFFFFF;
}
.page-lp #mobile-nav .mobile-nav-menu > li .menu-link:hover {
  color: #CDCDCD;
}
.page-lp #mobile-nav .mobile-nav-menu > li .menu-link::before {
  border-right: 2px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
}
.page-lp #mobile-nav .mobile-nav-menu > li .menu-sub > li {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.page-lp #mobile-nav .mobile-nav-menu > li .menu-sub .sub-link {
  color: #FFFFFF;
}
.page-lp #mobile-nav .mobile-nav-menu > li .menu-sub .sub-link::before {
  border-right: 2px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
}
.page-lp #mobile-nav .mobile-nav-menu > li .menu-sub .sub-link:hover {
  color: #CDCDCD;
}

.lp-fv {
  position: relative;
  padding: 0;
  margin: 0;
  overflow: hidden;
  z-index: 0;
}
@media print, screen and (min-width: 769px) {
  .lp-fv {
    height: 74rem;
  }
}
@media only screen and (max-width: 768px) {
  .lp-fv {
    height: 64rem;
  }
}
.lp-fv .lp-fv-bg {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 0;
}
.lp-fv .lp-fv-bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  z-index: 0;
}
.lp-fv .lp-fv-body {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 12rem 0;
}
@media print, screen and (min-width: 769px) {
  .lp-fv .lp-fv-body {
    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;
  }
}
@media only screen and (max-width: 768px) {
  .lp-fv .lp-fv-body {
    padding: 12rem 0 8rem;
  }
}
.lp-fv .lp-fv-body {
  z-index: 2;
}
.lp-fv .lp-fv-body .container {
  position: relative;
  z-index: 0;
}
.lp-fv .lp-fv-copy {
  position: relative;
  display: block;
}
.lp-fv .lp-fv-copy .title {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 5.6rem;
  letter-spacing: 0.2em;
  color: #FFFFFF;
  text-align: center;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-fv .lp-fv-copy .title {
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0.15em;
    margin-left: -1rem;
    margin-right: -1rem;
  }
}
.lp-fv .lp-fv-copy .desc {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  margin: 2.4rem 0 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .lp-fv .lp-fv-copy .desc {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}
.lp-fv .lp-fv-actions {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.6rem;
  margin-top: 6rem;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .lp-fv .lp-fv-actions {
    gap: 1.6rem;
    margin-top: 4rem;
  }
}
.lp-fv .lp-fv-actions > li {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (max-width: 768px) {
  .lp-fv .lp-fv-actions > li {
    width: 100%;
  }
}
.lp-fv .lp-fv-actions .link-btn {
  position: relative;
  margin: 0 auto;
}
.lp-fv .lp-fv-badge-sp {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  text-align: center;
  margin: 3.6rem 0 0;
}
.lp-fv .lp-fv-badge {
  position: absolute;
  right: 4rem;
  bottom: 4rem;
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 16rem;
  height: 16rem;
  border-radius: 50%;
  background: rgba(28, 28, 28, 0.7);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: center;
  z-index: 2;
}
.lp-fv .lp-fv-badge span {
  display: block;
  font: inherit;
}
.lp-fv .lp-fv-badge span:first-child {
  padding-bottom: 0.9rem;
  margin-bottom: 0.8rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}
.lp-fv .lp-fv-scroll {
  position: absolute;
  left: 50%;
  bottom: 4rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: "Inter", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.2em;
  color: #FFFFFF;
  text-align: center;
  text-decoration: none;
  padding: 0 0 2.6rem;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .lp-fv .lp-fv-scroll {
    padding-bottom: 2.4rem;
    bottom: 3.2rem;
  }
}
.lp-fv .lp-fv-scroll span {
  font: inherit;
}
.lp-fv .lp-fv-scroll::after {
  content: "";
  position: absolute;
  left: calc(50% - 0.8rem);
  bottom: 0;
  display: block;
  width: 1.4rem;
  height: 1.2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='12' viewBox='0 0 14 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 0.510638L7 12L0 0.510638L0.932491 0L6.99895 9.95645L13.0665 0L14 0.510638Z' fill='white'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding: 0;
  margin: 0;
}
.lp-fv .lp-fv-scroll:hover::after {
  -webkit-transform: translateY(0.4rem);
          transform: translateY(0.4rem);
}

.lp-about-section {
  position: relative;
  padding: 12rem 0 8rem;
  overflow: hidden;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .lp-about-section {
    padding: 8rem 0 8rem;
  }
}
.lp-about-section .lp-about-layout {
  position: relative;
  display: block;
}
@media print, screen and (min-width: 769px) {
  .lp-about-section .lp-about-layout {
    width: 100%;
    max-width: 94rem;
    padding: 0 0 9.4rem;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-layout {
    margin-left: -2rem;
    margin-right: -2rem;
    padding-bottom: 9.4rem;
  }
}
.lp-about-section .lp-about-layout::after {
  content: "";
  display: block;
  clear: both;
}
.lp-about-section .lp-about-layout::before {
  content: "";
  position: absolute;
  left: calc(50% - 6rem);
  bottom: 0;
  width: 12rem;
  height: 5.4rem;
  background-image: url("data:image/svg+xml,%3Csvg width='120' height='54' viewBox='0 0 120 54' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M60 54L120 -5.81507e-07L-2.36041e-06 4.66386e-06L60 54Z' fill='url(%23paint0_linear_116_227)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_116_227' x1='60' y1='54' x2='60' y2='18.4931' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300A0BC'/%3E%3Cstop offset='1' stop-color='%2300A0BC' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0;
}
.lp-about-section .lp-about-copy {
  position: relative;
  max-width: 100%;
}
@media print, screen and (min-width: 769px) {
  .lp-about-section .lp-about-copy {
    position: absolute;
    top: 4rem;
    left: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    z-index: 1;
  }
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-copy {
    padding: 0 2rem;
    z-index: 2;
  }
}
.lp-about-section .lp-about-copy .title {
  position: relative;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-copy .title {
    margin-bottom: 8rem;
  }
}
.lp-about-section .lp-about-copy .title .en {
  position: relative;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.2em;
  color: #00A0BC;
  margin: 0 0 0.8rem;
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-copy .title .en {
    text-align: center;
  }
}
.lp-about-section .lp-about-copy .title .jp {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #00A0BC;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-copy .title .jp {
    text-align: center;
  }
}
.lp-about-section .lp-about-copy .title .catch {
  position: relative;
  font-family: "Shippori Mincho", serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #00A0BC;
  margin: 1.2rem 0 0;
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-copy .title .catch {
    text-align: center;
  }
}
.lp-about-section .lp-about-copy .suben {
  position: relative;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5rem;
  letter-spacing: 0.05em;
  color: rgba(0, 0, 0, 0.4);
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-copy .suben {
    text-align: center;
  }
}
.lp-about-section .lp-about-copy .question {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  margin: 0.6rem 0 0;
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-copy .question {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    text-align: center;
  }
}
.lp-about-section .lp-about-copy .points {
  position: relative;
  display: block;
  padding: 0;
  margin: 3.6rem 0 0;
  list-style: none;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.75rem;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-copy .points {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin-top: 4rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.lp-about-section .lp-about-copy .points > li {
  position: relative;
  padding-left: 1.6rem;
}
.lp-about-section .lp-about-copy .points > li:not(:last-child) {
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-copy .points > li:not(:last-child) {
    margin-bottom: 2.8rem;
  }
}
.lp-about-section .lp-about-copy .points > li::before {
  content: "";
  position: absolute;
  top: 0.6rem;
  left: 0.2rem;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background: #00A0BC;
}
.lp-about-section .lp-about-thumb {
  position: relative;
  width: 70.2rem;
  max-width: 100%;
  margin: 0;
}
@media print, screen and (min-width: 769px) {
  .lp-about-section .lp-about-thumb {
    float: right;
  }
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-thumb {
    position: absolute;
    left: 0;
    bottom: 2.4rem;
    width: 100%;
  }
}
.lp-about-section .lp-about-result {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 4rem auto 0;
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-result {
    margin-top: 2.4rem;
  }
}
.lp-about-section .lp-about-result::before {
  content: "";
  position: absolute;
  left: -8.4rem;
  bottom: 0;
  width: 7.8rem;
  height: 7.8rem;
  background-image: url(../image/lp/about-woman.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-result::before {
    left: -4.8rem;
    bottom: -0.4rem;
  }
}
.lp-about-section .lp-about-result .label {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.4rem;
  letter-spacing: 0.2em;
  color: #4D4D4D;
  text-align: center;
  margin: 0 0 1.2rem;
  z-index: 1;
}
.lp-about-section .lp-about-result .line {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid #4D4D4D;
  max-width: 100%;
  margin: 0 auto;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-result .line {
    font-size: 2rem;
    letter-spacing: 0.05em;
    text-align: left;
  }
  .lp-about-section .lp-about-result .line:last-child {
    -webkit-transform: translateX(3.2rem);
            transform: translateX(3.2rem);
  }
}
.lp-about-section .lp-about-result .line:not(:last-child) {
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .lp-about-section .lp-about-result .line:not(:last-child) {
    margin-bottom: 1.6rem;
  }
}

.lp-method-section {
  position: relative;
  padding: 10rem 0 10rem;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .lp-method-section {
    padding: 8rem 0 8rem;
  }
}
.lp-method-section::before {
  content: "";
  position: absolute;
  left: 4rem;
  right: 4rem;
  top: 0;
  height: 80rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#F5F5F5), color-stop(8%, rgba(245, 245, 245, 0.92)), to(rgba(245, 245, 245, 0)));
  background: linear-gradient(180deg, #F5F5F5 0%, rgba(245, 245, 245, 0.92) 8%, rgba(245, 245, 245, 0) 100%);
  border-radius: 80rem;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .lp-method-section::before {
    left: 1.5rem;
    right: 1.5rem;
    height: auto;
    bottom: 5rem;
    border-radius: 13.6rem;
  }
}
.lp-method-section .container {
  position: relative;
  z-index: 1;
}
.lp-method-section .lp-method-title {
  position: relative;
  margin-bottom: 3rem;
}
.lp-method-section .lp-method-title .en {
  position: relative;
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.2em;
  color: #00A0BC;
  text-align: center;
  margin: 0 0 1.2rem;
}
@media only screen and (max-width: 768px) {
  .lp-method-section .lp-method-title .en {
    margin-bottom: 1rem;
  }
}
.lp-method-section .lp-method-title .jp {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: 5.6rem;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-method-section .lp-method-title .jp {
    font-size: 3.2rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}
.lp-method-section .lp-method-desc {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: center;
  width: 62.4rem;
  max-width: 100%;
  margin: 4rem auto 0;
}
@media only screen and (max-width: 768px) {
  .lp-method-section .lp-method-desc {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    margin-top: 2.4rem;
  }
}
.lp-method-section .lp-method-steps {
  position: relative;
  margin-top: 6rem;
}
@media only screen and (max-width: 768px) {
  .lp-method-section .lp-method-steps {
    margin-top: 4rem;
  }
}
.lp-method-section .lp-method-steps .lead {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .lp-method-section .lp-method-steps .lead {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    line-height: 1.875;
    margin-bottom: 2.4rem;
  }
}
.lp-method-section .lp-method-steps .list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6.4rem;
  max-width: 100%;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-method-section .lp-method-steps .list {
    gap: 4.8rem;
  }
}
.lp-method-section .lp-method-steps .list::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 32rem);
  width: 64rem;
  height: 24.5rem;
  background-image: url("data:image/svg+xml,%3Csvg width='640' height='245' viewBox='0 0 640 245' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M475.245 49.3255C408.879 49.0678 357.088 19.6922 326.542 6.14365V0C324.535 0.990036 322.325 2.04788 319.98 3.14642C317.634 2.04788 315.438 0.990036 313.418 0V6.14365C282.573 19.8278 229.657 49.5967 161.8 49.3255C84.7368 49.0271 27.3056 13.4808 0 0V245C27.3056 231.519 84.7504 195.973 161.813 195.675C229.657 195.417 282.573 225.172 313.431 238.856V245C315.451 244.01 317.648 242.952 319.993 241.854C322.339 242.952 324.535 244.01 326.555 245V238.856C357.101 225.294 408.892 195.932 475.258 195.675C553.975 195.363 612.627 231.492 640 245V128.908C640 129.098 640 126.914 640 122.832V0C612.627 13.5079 553.989 49.6374 475.258 49.3255H475.245Z' fill='%2300A0BC' fill-opacity='0.2'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .lp-method-section .lp-method-steps .list::before {
    top: 12.3rem;
    left: calc(50% - 12.2rem);
    height: 60.8rem;
    width: 24.4rem;
    background-image: url("data:image/svg+xml,%3Csvg width='244' height='608' viewBox='0 0 244 608' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M194.876 451.482C195.132 388.435 224.388 339.233 237.881 310.215H244C243.014 308.308 241.96 306.209 240.866 303.981C241.96 301.752 243.014 299.666 244 297.747H237.881C224.253 268.445 194.606 218.174 194.876 153.71C195.173 80.4999 230.574 25.9403 244 0H-9.5779e-06C13.4257 25.9403 48.827 80.5128 49.1242 153.723C49.3808 218.174 19.7469 268.445 6.11856 297.76H-9.5779e-06C0.985986 299.679 2.0395 301.765 3.13355 303.994C2.0395 306.222 0.985986 308.308 -9.5779e-06 310.227H6.11856C19.6253 339.246 48.8675 388.448 49.1242 451.495C49.4348 526.276 13.4527 581.995 -9.5779e-06 608H115.618C115.429 608 117.604 608 121.669 608H244C230.547 581.995 194.565 526.289 194.876 451.495V451.482Z' fill='%2300A0BC' fill-opacity='0.2'/%3E%3C/svg%3E%0A");
  }
}
.lp-method-section .lp-method-steps .list > li {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .lp-method-section .lp-method-steps .list > li {
    width: 100%;
  }
}
.lp-method-section .lp-method-steps .list .step {
  position: relative;
  display: block;
  width: 24.5rem;
  height: 24.5rem;
  padding: 6rem 2.4rem 3rem;
  background: #00A0BC;
  border-radius: 50%;
  color: #FFFFFF;
  text-align: center;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .lp-method-section .lp-method-steps .list .step {
    margin: 0 auto;
  }
}
.lp-method-section .lp-method-steps .list .step .title {
  position: relative;
  display: block;
  margin-bottom: 1rem;
}
.lp-method-section .lp-method-steps .list .step .title .en {
  position: relative;
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: center;
  margin: 0;
}
.lp-method-section .lp-method-steps .list .step .title .jp {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: 0.6rem 0 0;
}
.lp-method-section .lp-method-steps .list .step .desc {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  margin: 0;
}

.lp-reason-section {
  position: relative;
  padding: 10rem 0 12rem;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .lp-reason-section {
    padding: 8rem 0 10rem;
  }
}
.lp-reason-section::before {
  content: "";
  position: absolute;
  top: -4rem;
  left: calc(50% - 1px);
  width: 2px;
  height: 10rem;
  background-image: url("data:image/svg+xml,%3Csvg width='2' height='86' viewBox='0 0 2 86' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4.80233C2 5.35033 1.55228 5.79457 0.999998 5.79457C0.447713 5.79457 -3.34241e-06 5.35033 -3.36636e-06 4.80233L-3.53291e-06 0.992248C0.000165458 0.444387 0.447817 6.78481e-08 0.999998 4.37115e-08C1.55218 1.95748e-08 1.99983 0.444387 2 0.992248L2 4.80233ZM2 14.3285C1.99994 14.8764 1.55225 15.3207 0.999999 15.3207C0.447752 15.3207 5.99482e-05 14.8764 -2.94996e-06 14.3285L-3.1165e-06 10.5184C-3.14046e-06 9.97041 0.447713 9.52616 0.999999 9.52616C1.55228 9.52616 2 9.97041 2 10.5184L2 14.3285ZM2 23.8537C2 24.4017 1.55229 24.8459 0.999999 24.8459C0.447714 24.8459 -2.50965e-06 24.4017 -2.5336e-06 23.8537L-2.70014e-06 20.0436C6.01501e-05 19.4957 0.447752 19.0514 0.999999 19.0514C1.55225 19.0514 1.99994 19.4957 2 20.0436L2 23.8537ZM2 33.3798C1.99983 33.9277 1.55218 34.3721 1 34.3721C0.447817 34.3721 0.000164861 33.9277 -2.1172e-06 33.3798L-2.28374e-06 29.5698C-2.3077e-06 29.0218 0.447714 28.5775 0.999999 28.5775C1.55229 28.5775 2 29.0218 2 29.5698L2 33.3798ZM2 42.905C2 43.453 1.55229 43.8973 1 43.8973C0.447714 43.8973 -1.67689e-06 43.453 -1.70084e-06 42.905L-1.86738e-06 39.095C-1.89134e-06 38.547 0.447714 38.1027 1 38.1027C1.55229 38.1027 2 38.547 2 39.095L2 42.905ZM2 52.4302C2 52.9782 1.55229 53.4225 1 53.4225C0.447715 53.4225 -1.26053e-06 52.9782 -1.28448e-06 52.4302L-1.45102e-06 48.6202C0.000165479 48.0723 0.447818 47.6279 1 47.6279C1.55218 47.6279 1.99984 48.0723 2 48.6202L2 52.4302ZM2 61.9564C1.99994 62.5043 1.55225 62.9486 1 62.9486C0.447756 62.9486 6.51219e-05 62.5043 -8.68078e-07 61.9564L-1.03462e-06 58.1463C-1.05858e-06 57.5983 0.447715 57.1541 1 57.1541C1.55229 57.1541 2 57.5983 2 58.1463L2 61.9564ZM2 71.4816C2 72.0296 1.55229 72.4738 1 72.4738C0.447716 72.4738 -4.27765e-07 72.0296 -4.51719e-07 71.4816L-6.18263e-07 67.6715C6.12013e-05 67.1236 0.447754 66.6793 1 66.6793C1.55225 66.6793 1.99994 67.1236 2 67.6715L2 71.4816ZM2 81.0078C1.99983 81.5556 1.55218 82 1 82C0.447825 82 0.000177246 81.5556 -3.53171e-08 81.0078L-2.01861e-07 77.1977C-2.25815e-07 76.6497 0.447716 76.2054 1 76.2054C1.55229 76.2054 2 76.6497 2 77.1977L2 81.0078Z' fill='%2300A0BC'/%3E%3C/svg%3E%0A");
  background-repeat: repeat-y;
  background-position: top center;
  z-index: 0;
}
.lp-reason-section .lp-reason-title {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: 5.6rem;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin: 0 0 7.2rem;
}
.lp-reason-section .lp-reason-list {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 7.8rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7.2rem 7.8rem;
  width: 100%;
  max-width: 82.2rem;
  padding: 0 0 8.4rem;
  margin: 0 auto 2.4rem;
}
@media only screen and (max-width: 768px) {
  .lp-reason-section .lp-reason-list {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    gap: 7.2rem;
  }
}
.lp-reason-section .lp-reason-list::before {
  content: "";
  position: absolute;
  left: calc(50% - 6rem);
  bottom: 0;
  width: 12rem;
  height: 5.4rem;
  background-image: url("data:image/svg+xml,%3Csvg width='120' height='54' viewBox='0 0 120 54' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M60 54L120 -5.81507e-07L-2.36041e-06 4.66386e-06L60 54Z' fill='url(%23paint0_linear_116_227)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_116_227' x1='60' y1='54' x2='60' y2='18.4931' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300A0BC'/%3E%3Cstop offset='1' stop-color='%2300A0BC' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0;
}
.lp-reason-section .lp-reason-list > li {
  position: relative;
  z-index: 1;
}
.lp-reason-section .lp-reason-list .num {
  position: absolute;
  top: -3.6rem;
  left: calc(50% - 3.2rem);
  display: block;
  width: 6.4rem;
  height: 6.4rem;
  background: #00A0BC;
  border-radius: 50%;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 4rem;
  font-weight: 200;
  line-height: 5rem;
  color: #FFFFFF;
  text-align: center;
  z-index: 2;
}
.lp-reason-section .lp-reason-list .thumb {
  position: relative;
  display: block;
  width: 100%;
  border-radius: 0.6rem;
  margin: 0;
  z-index: 0;
}
.lp-reason-section .lp-reason-list .title {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
  margin: 2.4rem 0 0;
}
.lp-reason-section .lp-reason-list .desc {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  margin: 1.2rem 0 0;
}
.lp-reason-section .lp-reason-course {
  position: relative;
  display: block;
  width: 100%;
  max-width: 92rem;
  margin: 0 auto;
}
.lp-reason-section .lp-reason-course .course-title {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
  margin: 0 0 2.4rem;
}
.lp-reason-section .lp-reason-course .course-card {
  position: relative;
  display: block;
  padding: 2rem 2rem;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 0.6rem;
}
@media only screen and (max-width: 768px) {
  .lp-reason-section .lp-reason-course .course-card {
    padding: 3.2rem 2.4rem 2.4rem;
  }
}
.lp-reason-section .lp-reason-course .course-card::after {
  content: "";
  display: block;
  clear: both;
}
.lp-reason-section .lp-reason-course .course-card .card-lead {
  position: relative;
  display: block;
}
@media print, screen and (min-width: 769px) {
  .lp-reason-section .lp-reason-course .course-card .card-lead {
    float: left;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin-left: 2rem;
    margin-top: 0.4rem;
  }
}
.lp-reason-section .lp-reason-course .course-card .card-lead .name {
  position: relative;
  display: block;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #00A0BC;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-reason-section .lp-reason-course .course-card .card-lead .name {
    text-align: center;
  }
}
.lp-reason-section .lp-reason-course .course-card .card-lead .price {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.6rem;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-reason-section .lp-reason-course .course-card .card-lead .price {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.lp-reason-section .lp-reason-course .course-card .card-lead .price span {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Inter", sans-serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: 4.8rem;
  letter-spacing: 0.02em;
  color: #00A0BC;
  white-space: nowrap;
}
.lp-reason-section .lp-reason-course .course-card .card-lead .price small {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
  color: #00A0BC;
  white-space: nowrap;
}
.lp-reason-section .lp-reason-course .course-card .card-lead .term {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0;
  color: #4D4D4D;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-reason-section .lp-reason-course .course-card .card-lead .term {
    text-align: center;
  }
}
.lp-reason-section .lp-reason-course .course-card .card-points {
  position: relative;
  display: block;
  background: #F6F6F6;
  padding: 2rem 3rem;
  border-radius: 0.6rem;
}
@media print, screen and (min-width: 769px) {
  .lp-reason-section .lp-reason-course .course-card .card-points {
    float: right;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .lp-reason-section .lp-reason-course .course-card .card-points {
    margin-top: 2.4rem;
    padding: 2rem 2.4rem;
  }
}
.lp-reason-section .lp-reason-course .course-card .card-points ul {
  position: relative;
  display: -ms-grid;
  display: grid;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  margin: 0;
  padding: 0;
}
@media print, screen and (min-width: 769px) {
  .lp-reason-section .lp-reason-course .course-card .card-points ul {
    -ms-grid-columns: auto 3rem auto;
    grid-template-columns: auto auto;
    gap: 0.8rem 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .lp-reason-section .lp-reason-course .course-card .card-points ul {
    line-height: 2;
  }
}
.lp-reason-section .lp-reason-course .course-card .card-points ul > li {
  position: relative;
  display: block;
}
.lp-reason-section .lp-reason-course .course-card .card-points ul > li::before {
  content: "・";
}

.lp-cta-band {
  position: relative;
  display: block;
  padding: 0;
  z-index: 0;
}
.lp-cta-band .lp-cta-band-back {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  z-index: 0;
}
.lp-cta-band .lp-cta-band-gallery {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 0;
  -webkit-animation: infinite-scroll 20s linear infinite;
          animation: infinite-scroll 20s linear infinite;
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .lp-cta-band .lp-cta-band-gallery {
    -webkit-animation: none;
            animation: none;
  }
}
.lp-cta-band .lp-cta-band-gallery .thumb {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 38rem;
  height: 27.8rem;
}
@media only screen and (max-width: 768px) {
  .lp-cta-band .lp-cta-band-gallery .thumb {
    width: 48rem;
    height: 36rem;
  }
}
.lp-cta-band .lp-cta-band-gallery .thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.lp-cta-band .lp-cta-band-body {
  position: absolute;
  inset: 0;
  background: rgba(86, 86, 86, 0.8);
  padding: 6rem 2rem;
  z-index: 1;
}
.lp-cta-band .lp-cta-band-title {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: 5.6rem;
  letter-spacing: 0.2em;
  color: #FFFFFF;
  text-align: center;
  margin: 0 0 4rem;
}
@media only screen and (max-width: 768px) {
  .lp-cta-band .lp-cta-band-title {
    font-size: 2.4rem;
    line-height: 1.5;
    margin-bottom: 3.6rem;
  }
}
.lp-cta-band .lp-cta-band-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.6rem;
  padding: 0;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-cta-band .lp-cta-band-actions {
    gap: 1.6rem;
  }
}
.lp-cta-band .lp-cta-band-actions > li {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (max-width: 768px) {
  .lp-cta-band .lp-cta-band-actions > li {
    width: 100%;
  }
}
.lp-cta-band .lp-cta-band-actions > li .link-btn {
  margin: 0 auto;
}

.lp-ba-section {
  position: relative;
  padding: 10rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .lp-ba-section {
    padding: 8rem 0 10rem;
  }
}
.lp-ba-section .lp-ba-head {
  position: relative;
  text-align: center;
  margin-bottom: 6.4rem;
}
@media only screen and (max-width: 768px) {
  .lp-ba-section .lp-ba-head {
    margin-bottom: 4.8rem;
  }
}
.lp-ba-section .lp-ba-head .label {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.3rem 1.6rem;
  background: #00A0BC;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  text-transform: uppercase;
  border-radius: 3rem;
  margin: 0 auto 1rem;
}
@media only screen and (max-width: 768px) {
  .lp-ba-section .lp-ba-head .label {
    margin-bottom: 1.2rem;
  }
}
.lp-ba-section .lp-ba-head .title {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: 5.6rem;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .lp-ba-section .lp-ba-head .title {
    font-size: 2.4rem;
    line-height: 3.6rem;
    letter-spacing: 0.05em;
  }
}
.lp-ba-section .lp-ba-head .title::before, .lp-ba-section .lp-ba-head .title::after {
  content: "";
  position: absolute;
  top: 3.2rem;
  width: 5rem;
  height: 1px;
  background: #00A0BC;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .lp-ba-section .lp-ba-head .title::before, .lp-ba-section .lp-ba-head .title::after {
    top: 2.1rem;
    width: 3.6rem;
  }
}
.lp-ba-section .lp-ba-head .title::before {
  left: -6rem;
  -webkit-transform: rotate(50deg);
          transform: rotate(50deg);
}
@media only screen and (max-width: 768px) {
  .lp-ba-section .lp-ba-head .title::before {
    left: -4rem;
  }
}
.lp-ba-section .lp-ba-head .title::after {
  right: -5rem;
  -webkit-transform: rotate(-50deg);
          transform: rotate(-50deg);
}
@media only screen and (max-width: 768px) {
  .lp-ba-section .lp-ba-head .title::after {
    right: -3.2rem;
  }
}
.lp-ba-section .lp-ba-list {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 5rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5rem;
}
@media only screen and (max-width: 768px) {
  .lp-ba-section .lp-ba-list {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    gap: 4rem;
  }
}
.lp-ba-section .lp-ba-thumbs {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 5rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5rem;
}
@media only screen and (max-width: 768px) {
  .lp-ba-section .lp-ba-thumbs {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    gap: 4rem;
  }
}
.lp-ba-section .lp-ba-thumbs .thumb {
  position: relative;
  display: block;
  margin: 0;
}

.lp-ba-card {
  position: relative;
  display: block;
  background: none;
  border: 2px solid #FFFFFF;
  padding: 2rem 2rem;
}
.lp-ba-card .card-compare {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 10.2rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.6rem 10.2rem;
}
@media only screen and (max-width: 768px) {
  .lp-ba-card .card-compare {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    gap: 7.8rem;
  }
}
.lp-ba-card .card-compare::after {
  content: "";
  position: absolute;
  top: calc(50% - 7.2rem);
  left: calc(50% - 2.7rem);
  width: 5.4rem;
  height: 12rem;
  background-image: url("data:image/svg+xml,%3Csvg width='54' height='120' viewBox='0 0 54 120' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54 60L-5.81507e-07 120L4.66386e-06 -2.36041e-06L54 60Z' fill='url(%23paint0_linear_122_264)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_122_264' x1='54' y1='60' x2='2.61818' y2='60' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300A0BC'/%3E%3Cstop offset='1' stop-color='%2300A0BC' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .lp-ba-card .card-compare::after {
    top: calc(50% - 3.2rem);
    left: calc(50% - 6rem);
    width: 12rem;
    height: 5.4rem;
    background-image: url("data:image/svg+xml,%3Csvg width='120' height='54' viewBox='0 0 120 54' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M60 54L-4.61764e-07 -5.81507e-07L120 4.66386e-06L60 54Z' fill='url(%23paint0_linear_132_372)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_132_372' x1='60.0003' y1='54' x2='60.0003' y2='2.61818' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300A0BC'/%3E%3Cstop offset='1' stop-color='%2300A0BC' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  }
}
.lp-ba-card .card-col {
  position: relative;
}
.lp-ba-card .card-col .phase {
  position: relative;
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 3rem;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: center;
  margin: 0 0 1.2rem;
}
.lp-ba-card .card-col .phase--after {
  font-family: "Shippori Mincho", serif;
  color: #00A0BC;
}
.lp-ba-card .card-col .photo {
  position: relative;
  display: block;
  width: 8.6rem;
  height: 27.8rem;
  margin: 0 auto;
  z-index: 1;
}
.lp-ba-card .card-col .photo img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  z-index: 0;
}
.lp-ba-card .card-col .photo span {
  position: absolute;
  top: calc(50% - 2.8rem);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 6.8rem;
  padding: 0.3rem 1.2rem;
  background: #FF1818;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  text-align: center;
  z-index: 2;
}
.lp-ba-card .card-col .stats {
  position: relative;
  display: block;
  width: 100%;
  max-width: 22.4rem;
  padding: 2rem 1.4rem 1.2rem;
  background: transparent;
  margin: -1.6rem auto 0;
}
.lp-ba-card .card-col .stats .list {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  padding: 0;
  margin: 0;
}
.lp-ba-card .card-col .stats .list > li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.lp-ba-card .card-col .stats .list > li:not(:last-child) {
  margin-bottom: 1rem;
}
.lp-ba-card .card-col .stats .list > li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2px;
  right: 2px;
  height: 2px;
  background: rgba(77, 77, 77, 0.3);
  z-index: 0;
}
.lp-ba-card .card-col .stats .list > li span {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #E5E5E5;
  padding-right: 0.6rem;
  z-index: 1;
}
.lp-ba-card .card-col .stats .list > li em {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Shippori Mincho", serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.4rem;
  background: #E5E5E5;
  padding-left: 0.6rem;
  min-width: 5.9rem;
  z-index: 1;
}
.lp-ba-card .card-col .stats .meta {
  position: relative;
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  color: #7B7B7B;
  text-align: left;
  margin: 1.2rem 0 0;
}
.lp-ba-card .card-col .stats--after {
  background: #00A0BC;
}
.lp-ba-card .card-col .stats--after .list {
  color: #FFFFFF;
}
.lp-ba-card .card-col .stats--after .list > li::before {
  background: rgba(255, 255, 255, 0.3);
}
.lp-ba-card .card-col .stats--after .list > li span {
  background: #00A0BC;
}
.lp-ba-card .card-col .stats--after .list > li em {
  background: #00A0BC;
}
.lp-ba-card .card-col .stats--after .meta {
  color: #FFFFFF;
}

.lp-price-section {
  position: relative;
  padding: 10rem 0 12rem;
  background: #00A0BC;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .lp-price-section {
    padding: 8rem 0 8rem;
  }
}
.lp-price-section .lp-price-title {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: 5.6rem;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: center;
  margin: 0 0 7.2rem;
}
@media only screen and (max-width: 768px) {
  .lp-price-section .lp-price-title {
    margin-bottom: 7.2rem;
  }
}
.lp-price-section .lp-price-card {
  position: relative;
  width: 46.8rem;
  max-width: 100%;
  margin: 0 auto;
  padding: 2rem 2rem;
  background: #FFFFFF;
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.1);
  z-index: 1;
}
.lp-price-section .lp-price-card .card-badge {
  position: absolute;
  top: -3.6rem;
  left: -5.6rem;
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 12rem;
  height: 12rem;
  border-radius: 50%;
  background: #FFEE00;
  color: #007F95;
  -webkit-box-shadow: 0 0 0.4rem 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 0.4rem 0 rgba(0, 0, 0, 0.3);
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .lp-price-section .lp-price-card .card-badge {
    top: -4rem;
    left: -1.6rem;
    width: 8rem;
    height: 8rem;
  }
}
.lp-price-section .lp-price-card .card-badge span {
  position: relative;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 2rem;
  font-weight: 900;
  line-height: 2.6rem;
  letter-spacing: 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .lp-price-section .lp-price-card .card-badge span {
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
}
.lp-price-section .lp-price-card .card-badge strong {
  position: relative;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 3rem;
  font-weight: 900;
  line-height: 3.6rem;
  letter-spacing: 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .lp-price-section .lp-price-card .card-badge strong {
    font-size: 2rem;
    line-height: 2.4rem;
  }
}
.lp-price-section .lp-price-card .card-title {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #00A0BC;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  padding-bottom: 0.8rem;
  border-bottom: 2px solid #00A0BC;
  margin: 0 auto 2.4rem;
}
@media only screen and (max-width: 768px) {
  .lp-price-section .lp-price-card .card-title {
    padding-bottom: 0.6rem;
    letter-spacing: 0.05em;
    margin-bottom: 2rem;
  }
  .lp-price-section .lp-price-card .card-title.sp-ls {
    letter-spacing: -0.02em;
    white-space: nowrap;
  }
}
.lp-price-section .lp-price-card .card-title .tag {
  display: inline-block;
  min-width: 5.6rem;
  background: #00A0BC;
  color: #FFFFFF;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 0.2rem 0.8rem;
  border-radius: 0.4rem;
  vertical-align: text-bottom;
  margin: 0 1rem 0.1rem 0;
}
@media only screen and (max-width: 768px) {
  .lp-price-section .lp-price-card .card-title .tag {
    display: none;
  }
}
.lp-price-section .lp-price-card .card-content {
  position: relative;
}
.lp-price-section .lp-price-card .card-content .name {
  position: relative;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #00A0BC;
  text-align: center;
  margin: 0 0 0.6rem;
}
.lp-price-section .lp-price-card .card-content .price {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.4rem;
  white-space: nowrap;
  padding: 0;
  margin: 0;
}
.lp-price-section .lp-price-card .card-content .price span {
  position: relative;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #00A0BC;
  color: #FFFFFF;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 0.2rem 0.8rem;
  border-radius: 0.4rem;
  vertical-align: text-bottom;
  margin: 0 1rem 0.5rem 0;
}
@media only screen and (max-width: 768px) {
  .lp-price-section .lp-price-card .card-content .price span {
    margin: 0 0.8rem 0.5rem 0;
  }
}
.lp-price-section .lp-price-card .card-content .price em {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Inter", sans-serif;
  font-style: normal;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 4rem;
  letter-spacing: 0;
  color: #4D4D4D;
}
.lp-price-section .lp-price-card .card-content .price small {
  position: relative;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
  color: #4D4D4D;
}
.lp-price-section .lp-price-card .card-note {
  position: relative;
  display: block;
  padding: 1.2rem 1.6rem;
  background: #F4F4F4;
  border-radius: 1rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #7B7B7B;
  text-align: center;
  margin: 2.4rem 0 0;
}
@media only screen and (max-width: 768px) {
  .lp-price-section .lp-price-card .card-note {
    margin-top: 2rem;
  }
}
.lp-price-section .lp-price-bridge {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  text-align: center;
  background-image: url("data:image/svg+xml,%3Csvg width='500' height='80' viewBox='0 0 500 80' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M250.136 39.2549L492.676 39.2559L493.675 39.2568V40.2686L493.676 76.5693L498.303 71.9102C498.691 71.5194 499.32 71.5228 499.708 71.918C500.096 72.3132 500.096 72.9501 499.708 73.3408L493.385 79.709C492.997 80.0996 492.368 80.096 491.98 79.7012L485.656 73.2607C485.268 72.8656 485.268 72.2286 485.656 71.8379C486.044 71.4471 486.673 71.4505 487.061 71.8457L491.688 76.5586V41.2695L8.31041 41.2666V76.5693L12.9374 71.9092C13.3254 71.5187 13.9547 71.522 14.3426 71.917C14.7306 72.3122 14.7305 72.95 14.3426 73.3408L8.0194 79.709C7.63143 80.0996 7.00212 80.0962 6.61412 79.7012L0.290883 73.2607C-0.0969638 72.8656 -0.0969581 72.2287 0.290883 71.8379C0.678855 71.4471 1.3081 71.4506 1.69616 71.8457L6.32311 76.5586V39.2539H248.136V0H250.136V39.2549Z' fill='white'/%3E%3C/svg%3E%0A");
  background-size: 50rem 8rem;
  background-repeat: no-repeat;
  background-position: top center;
  padding: 2.8rem 0 3rem;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-price-section .lp-price-bridge {
    padding: 4.5rem 0 4.8rem;
    background-size: 1.6rem 11.2rem;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='112' viewBox='0 0 16 112' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.03809 108.149L14.5322 102.829L16 104.251L8 111.998L0 104.251L1.46777 102.829L6.96191 108.149V0H9.03809V108.149Z' fill='white'/%3E%3C/svg%3E%0A");
    background-position: center center;
  }
}
.lp-price-section .lp-price-bridge span {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 1rem;
  background: #00A0BC;
  max-width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .lp-price-section .lp-price-bridge span {
    padding: 0.4rem 0 0.6rem;
  }
}
.lp-price-section .lp-price-grid {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.4rem;
  margin: 0;
}
.lp-price-section .lp-price-grid .lp-price-card {
  margin: 0;
}
.lp-price-section .lp-price-extra {
  position: relative;
  margin: 9rem 0 0;
}
@media only screen and (max-width: 768px) {
  .lp-price-section .lp-price-extra {
    margin-top: 6rem;
  }
}
.lp-price-section .lp-price-extra .extra-title {
  position: relative;
  display: block;
  font-family: "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: center;
  margin: 0 0 2rem;
}
.lp-price-section .lp-price-extra .extra-grid {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.4rem;
  margin: 0;
  padding: 0;
}
.lp-price-section .lp-price-extra .extra-card {
  position: relative;
  display: block;
  width: 33rem;
  max-width: 100%;
  padding: 2.4rem 2rem 2.4rem;
  border: 1px solid #FFFFFF;
  border-radius: 1rem;
  z-index: 1;
}
.lp-price-section .lp-price-extra .extra-card .name {
  position: relative;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  text-align: center;
  margin: 0 0 0.6rem;
}
.lp-price-section .lp-price-extra .extra-card .price {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.4rem;
  white-space: nowrap;
  padding: 0;
  margin: 0;
}
.lp-price-section .lp-price-extra .extra-card .price span {
  position: relative;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #FFFFFF;
  color: #00A0BC;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 0.2rem 0.8rem;
  border-radius: 0.4rem;
  vertical-align: text-bottom;
  margin: 0 1rem 0.5rem 0;
}
.lp-price-section .lp-price-extra .extra-card .price em {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Inter", sans-serif;
  font-style: normal;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 4rem;
  letter-spacing: 0;
  color: #FFFFFF;
}
.lp-price-section .lp-price-extra .extra-card .price small {
  position: relative;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
  color: #FFFFFF;
}
.lp-price-section .lp-price-extra .extra-note {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  text-align: center;
  margin: 1.6rem 0 0;
}
.lp-price-section .lp-price-action {
  position: relative;
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .lp-price-section .lp-price-action {
    margin-top: 6rem;
  }
}
.lp-price-section .lp-price-action .link-btn {
  margin: 0 auto;
  background: #FFFFFF;
}

.lp-faq-section {
  position: relative;
  padding: 10rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .lp-faq-section {
    padding: 8rem 0 10rem;
  }
}
.lp-faq-section .container {
  max-width: 100rem;
}
.lp-faq-section .lp-faq-head {
  position: relative;
  margin-bottom: 6rem;
}
.lp-faq-section .lp-faq-head .jp {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
  margin-bottom: 0.4rem;
}
@media only screen and (max-width: 768px) {
  .lp-faq-section .lp-faq-head .jp {
    margin-bottom: 0.6rem;
  }
}
.lp-faq-section .lp-faq-head .en {
  position: relative;
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 8rem;
  font-weight: 200;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #00A0BC;
  text-align: center;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-faq-section .lp-faq-head .en {
    font-size: 4.8rem;
  }
}
.lp-faq-section .faq-list {
  border-top: 1px solid #FFFFFF;
}
.lp-faq-section .faq-list .faq-item {
  border-bottom: 1px solid #FFFFFF;
}
.lp-faq-section .lp-blog-list {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 2.4rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.4rem;
  padding: 0;
  margin: 6rem 0 0;
}
@media only screen and (max-width: 768px) {
  .lp-faq-section .lp-blog-list {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
  }
}
.lp-faq-section .lp-blog-card {
  position: relative;
  display: block;
  background: #FFFFFF;
  padding: 1.6rem 1.6rem 2.4rem;
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
}
.lp-faq-section .lp-blog-card .thumb {
  position: relative;
  display: block;
  aspect-ratio: 416/142;
  border-radius: 1rem;
  overflow: hidden;
  margin: 0;
  z-index: 0;
}
.lp-faq-section .lp-blog-card .thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.lp-faq-section .lp-blog-card .action {
  position: relative;
  margin-top: 2.4rem;
}
.lp-faq-section .lp-blog-card .action .link-btn {
  margin: 0 auto;
  width: 27.8rem;
}
@media only screen and (max-width: 768px) {
  .lp-faq-section .lp-blog-card .action .link-btn {
    width: 26.4rem;
  }
}
.lp-faq-section .lp-course-card {
  position: relative;
  display: block;
  padding: 2rem 2rem;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 0.6rem;
  margin-top: 6rem;
}
@media only screen and (max-width: 768px) {
  .lp-faq-section .lp-course-card {
    padding: 3.2rem 2.4rem 2.4rem;
  }
}
.lp-faq-section .lp-course-card::after {
  content: "";
  display: block;
  clear: both;
}
.lp-faq-section .lp-course-card .card-lead {
  position: relative;
  display: block;
}
@media print, screen and (min-width: 769px) {
  .lp-faq-section .lp-course-card .card-lead {
    float: left;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin-left: 2rem;
    margin-top: 0.4rem;
  }
}
.lp-faq-section .lp-course-card .card-lead .name {
  position: relative;
  display: block;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #00A0BC;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-faq-section .lp-course-card .card-lead .name {
    text-align: center;
  }
}
.lp-faq-section .lp-course-card .card-lead .price {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.6rem;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-faq-section .lp-course-card .card-lead .price {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.lp-faq-section .lp-course-card .card-lead .price span {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Inter", sans-serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: 4.8rem;
  letter-spacing: 0.02em;
  color: #00A0BC;
  white-space: nowrap;
}
.lp-faq-section .lp-course-card .card-lead .price small {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
  color: #00A0BC;
  white-space: nowrap;
}
.lp-faq-section .lp-course-card .card-lead .term {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0;
  color: #4D4D4D;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .lp-faq-section .lp-course-card .card-lead .term {
    text-align: center;
  }
}
.lp-faq-section .lp-course-card .card-points {
  position: relative;
  display: block;
  background: #F6F6F6;
  padding: 2rem 3rem;
  border-radius: 0.6rem;
}
@media print, screen and (min-width: 769px) {
  .lp-faq-section .lp-course-card .card-points {
    float: right;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .lp-faq-section .lp-course-card .card-points {
    margin-top: 2.4rem;
    padding: 2rem 2.4rem;
  }
}
.lp-faq-section .lp-course-card .card-points ul {
  position: relative;
  display: -ms-grid;
  display: grid;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  margin: 0;
  padding: 0;
}
@media print, screen and (min-width: 769px) {
  .lp-faq-section .lp-course-card .card-points ul {
    -ms-grid-columns: auto 3rem auto;
    grid-template-columns: auto auto;
    gap: 0.8rem 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .lp-faq-section .lp-course-card .card-points ul {
    line-height: 2;
  }
}
.lp-faq-section .lp-course-card .card-points ul > li {
  position: relative;
  display: block;
}
.lp-faq-section .lp-course-card .card-points ul > li::before {
  content: "・";
}

.page-facility {
  position: relative;
  padding: 8rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .page-facility {
    padding: 6rem 0 10rem;
  }
}
.page-facility .section-lead {
  position: relative;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #4D4D4D;
  text-align: center;
  margin: 0 0 8rem;
}
@media only screen and (max-width: 768px) {
  .page-facility .section-lead {
    letter-spacing: 0.05em;
    text-align: left;
    margin-bottom: 6rem;
  }
}
.page-facility .section-title {
  margin-bottom: 7.2rem;
}
@media only screen and (max-width: 768px) {
  .page-facility .section-title {
    margin-bottom: 4.8rem;
  }
}
.page-facility .section-content {
  position: relative;
  width: 100%;
  max-width: 80rem;
  margin: 0 auto;
}
.page-facility .section-content .facility-list {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 8rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8rem 8rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
@media only screen and (max-width: 768px) {
  .page-facility .section-content .facility-list {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    gap: 4rem;
  }
}
.page-facility .section-content .facility-list > li {
  position: relative;
}
.page-facility .section-content .facility-card {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.05);
          box-shadow: 0 0 2rem rgba(0, 0, 0, 0.05);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  padding: 0;
  margin: 0;
  z-index: 0;
}
.page-facility .section-content .facility-card .label {
  position: relative;
  padding: 4rem 2rem 2.4rem;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #00A0BC;
  text-align: center;
  margin: 0;
}
.page-facility .section-content .facility-card .thumb {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 360/170;
  overflow: hidden;
  padding: 0;
  margin: 0;
}
.page-facility .section-content .facility-card .thumb img {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.page-facility .section-content .facility-card .desc {
  position: relative;
  padding: 2.4rem 2rem 4rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  text-align: left;
  margin: 0;
}
.page-facility .section-content a.facility-card {
  display: block;
}
.page-facility .section-content a.facility-card:hover {
  -webkit-transform: translateY(-0.5rem);
          transform: translateY(-0.5rem);
}
.page-facility .section-content a.facility-card:hover .thumb img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.page-flow-section {
  position: relative;
  padding: 10rem 0 12rem;
  background: #EAF6F9;
}
@media only screen and (max-width: 768px) {
  .page-flow-section {
    padding: 8rem 0 10rem;
  }
}
.page-flow-section .section-title {
  margin-bottom: 7.2rem;
}
@media only screen and (max-width: 768px) {
  .page-flow-section .section-title {
    margin-bottom: 5.6rem;
  }
}
.page-flow-section .section-content {
  position: relative;
  width: 100%;
  max-width: 88rem;
  margin: 0 auto;
}
.page-flow-section .flow-list {
  position: relative;
  display: block;
  padding: 0;
  list-style: none;
}
.page-flow-section .flow-list > li {
  position: relative;
}
.page-flow-section .flow-list > li:not(:last-child) {
  margin-bottom: 8rem;
}
@media print, screen and (min-width: 769px) {
  .page-flow-section .flow-list > li:not(:last-child)::after {
    content: "";
    position: absolute;
    left: calc(50% - 3.2rem);
    bottom: -5.6rem;
    width: 0;
    height: 0;
    border-left: 3.2rem solid transparent;
    border-right: 3.2rem solid transparent;
    border-top: 3.2rem solid #00A0BC;
  }
}
@media only screen and (max-width: 768px) {
  .page-flow-section .flow-list > li:not(:last-child) {
    margin-bottom: 4rem;
  }
}
.page-flow-section .flow-step {
  position: relative;
  display: block;
  padding: 0 0 0 7.5rem;
}
@media only screen and (max-width: 768px) {
  .page-flow-section .flow-step {
    padding: 5rem 0 0;
  }
}
.page-flow-section .flow-num {
  position: absolute;
  top: calc(50% - 7.5rem);
  left: 0;
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  width: 15rem;
  height: 15rem;
  border-radius: 50%;
  background: #00A0BC;
  color: #FFFFFF;
  text-align: center;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .page-flow-section .flow-num {
    top: 0;
    left: calc(50% - 5rem);
    width: 10rem;
    height: 10rem;
  }
}
.page-flow-section .flow-num .label {
  display: block;
  font-family: "Ysabeau SC", sans-serif;
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 0.6rem;
}
@media only screen and (max-width: 768px) {
  .page-flow-section .flow-num .label {
    font-size: 1.6rem;
    font-weight: 400;
    margin-bottom: 0.4rem;
  }
}
.page-flow-section .flow-num .num {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 5.6rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .page-flow-section .flow-num .num {
    font-size: 4rem;
  }
}
.page-flow-section .flow-card {
  position: relative;
  display: block;
  min-height: 20rem;
  padding: 4.8rem 4.8rem 4.8rem 11.2rem;
  background: #FFFFFF;
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 2rem rgba(0, 0, 0, 0.1);
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-flow-section .flow-card {
    padding: 7.2rem 2rem 3.2rem;
  }
}
.page-flow-section .flow-card .title {
  position: relative;
  display: block;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #00A0BC;
  margin: 0 0 1rem;
}
@media only screen and (max-width: 768px) {
  .page-flow-section .flow-card .title {
    font-size: 2rem;
  }
}
.page-flow-section .flow-card .desc {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #4D4D4D;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .page-flow-section .flow-card .desc {
    font-size: 1.6rem;
  }
}

.page-company {
  position: relative;
  padding: 8rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .page-company {
    padding: 6rem 0 10rem;
  }
}
.page-company .company-message {
  position: relative;
  padding: 6rem 4.8rem;
  background: #EAF6F9;
}
@media only screen and (max-width: 768px) {
  .page-company .company-message {
    padding: 4.8rem 2rem;
  }
}
.page-company .company-message .scroll-to {
  position: absolute;
  top: -6rem;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .page-company .company-message .scroll-to {
    top: -4.8rem;
  }
}
.page-company .company-message .section-title {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .page-company .company-message .section-title {
    margin-bottom: 4rem;
  }
}
.page-company .company-message .section-content {
  position: relative;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.7rem;
  letter-spacing: 0.04em;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .page-company .company-message .section-content {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}
.page-company .company-message .section-content::after {
  content: "";
  display: block;
  clear: both;
}
.page-company .company-message .section-content .portrait {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .page-company .company-message .section-content .portrait {
    float: left;
    width: 52.2rem;
    max-width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .page-company .company-message .section-content .portrait {
    margin-bottom: 3.2rem;
  }
}
.page-company .company-message .section-content .portrait img {
  position: relative;
  display: block;
  width: 100%;
  height: 41.4rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  margin: 0;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-company .company-message .section-content .portrait img {
    height: 21.4rem;
  }
}
.page-company .company-message .section-content .portrait .caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.8rem;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  text-align: center;
  margin: 0;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .page-company .company-message .section-content .portrait .caption {
    bottom: 1.2rem;
    font-size: 1.6rem;
  }
}
.page-company .company-message .section-content .info {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .page-company .company-message .section-content .info {
    float: right;
    width: calc(100% - 52.2rem - 3.2rem);
    max-width: 100%;
  }
}
.page-company .company-message .section-content .info h4 {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  color: #00A0BC;
  margin: 2.4rem 0 1rem;
}
@media only screen and (max-width: 768px) {
  .page-company .company-message .section-content .info h4 {
    font-size: 1.8rem;
    margin: 2rem 0 1rem;
  }
}
.page-company .company-message .section-content .info p {
  margin: 0;
}
.page-company .company-message .section-content .studio {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .page-company .company-message .section-content .studio {
    float: right;
    width: calc(100% - 52.2rem - 3.2rem);
    max-width: 100%;
    clear: right;
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-company .company-message .section-content .studio {
    margin-top: 3.2rem;
  }
}
.page-company .company-message .section-content .studio img {
  position: relative;
  display: block;
  width: 100%;
  height: 78rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  margin: 0;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-company .company-message .section-content .studio img {
    height: 30rem;
  }
}
.page-company .company-message .section-content .copy {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .page-company .company-message .section-content .copy {
    float: left;
    width: 52.2rem;
    max-width: 100%;
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-company .company-message .section-content .copy {
    margin-top: 3.2rem;
  }
}
.page-company .company-message .section-content .copy h4 {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  color: #00A0BC;
  margin: 2.4rem 0 1rem;
}
@media only screen and (max-width: 768px) {
  .page-company .company-message .section-content .copy h4 {
    font-size: 1.8rem;
    margin: 2rem 0 1rem;
  }
}
.page-company .company-message .section-content .copy h4:first-child {
  margin-top: 0;
}
.page-company .company-message .section-content .copy p {
  position: relative;
}
.page-company .company-profile {
  position: relative;
  margin-top: 12.4rem;
}
@media only screen and (max-width: 768px) {
  .page-company .company-profile {
    margin-top: 10rem;
  }
}
.page-company .company-profile .scroll-to {
  position: absolute;
  top: -8rem;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .page-company .company-profile .scroll-to {
    top: -6rem;
  }
}
.page-company .company-profile .section-title {
  position: relative;
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 768px) {
  .page-company .company-profile .section-title {
    margin-bottom: 3.6rem;
  }
}
.page-company .company-profile .section-content {
  position: relative;
  width: 100%;
  max-width: 72rem;
  margin: 0 auto;
}
.page-company .company-profile .section-content .table {
  position: relative;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  text-align: left;
  border-collapse: collapse;
  border: none;
}
.page-company .company-profile .section-content .table tbody {
  position: relative;
  border: none;
}
.page-company .company-profile .section-content .table tr {
  border-bottom: 1px solid #C1BBBB;
}
.page-company .company-profile .section-content .table th {
  position: relative;
  padding: 2rem 0 2rem 2.4rem;
  width: 25.4rem;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .page-company .company-profile .section-content .table th {
    padding: 2rem 0;
    width: 12.8rem;
  }
}
.page-company .company-profile .section-content .table td {
  position: relative;
  padding: 2rem 0;
}
.page-company .company-access {
  position: relative;
  margin-top: 12.4rem;
}
@media only screen and (max-width: 768px) {
  .page-company .company-access {
    margin-top: 10rem;
  }
}
.page-company .company-access .scroll-to {
  position: absolute;
  top: -8rem;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .page-company .company-access .scroll-to {
    top: -6rem;
  }
}
.page-company .company-access .section-title {
  position: relative;
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 768px) {
  .page-company .company-access .section-title {
    margin-bottom: 3.6rem;
  }
}
.page-company .company-access .section-content {
  position: relative;
  width: 100%;
  max-width: 72rem;
  margin: 0 auto;
}
.page-company .company-access .section-content .table {
  position: relative;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  text-align: left;
  border-collapse: collapse;
  border: none;
}
@media only screen and (max-width: 768px) {
  .page-company .company-access .section-content .table {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}
.page-company .company-access .section-content .table tbody {
  position: relative;
  border: none;
}
.page-company .company-access .section-content .table tr {
  border-bottom: 1px solid #C1BBBB;
}
.page-company .company-access .section-content .table th {
  position: relative;
  padding: 2rem 0 2rem 2.4rem;
  width: 25.4rem;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  .page-company .company-access .section-content .table th {
    width: 12.8rem;
    padding: 2rem 0;
  }
}
.page-company .company-access .section-content .table td {
  position: relative;
  padding: 2rem 0;
}
.page-company .company-access .section-content .map {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  margin-top: 8rem;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .page-company .company-access .section-content .map {
    margin-top: 4.8rem;
  }
}
.page-company .company-access .section-content .map iframe {
  position: relative;
  display: block;
  width: 100%;
  height: 40rem;
  -o-object-fit: cover;
     object-fit: cover;
  border: none;
  margin: 0;
}
.page-company .company-actions {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem 4.8rem;
  margin-top: 12rem;
  padding: 0;
  list-style: none;
}
@media only screen and (max-width: 768px) {
  .page-company .company-actions {
    margin-top: 8rem;
    gap: 2.4rem;
  }
}
.page-company .company-actions > li {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (max-width: 768px) {
  .page-company .company-actions > li {
    width: 100%;
  }
}
.page-company .company-actions .page-btn {
  width: 41.2rem;
  height: 7.2rem;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .page-company .company-actions .page-btn {
    width: 100%;
    max-width: 34.2rem;
    height: 6.4rem;
  }
}