@charset "UTF-8";
/*! 
Theme Name: Minamigaoka Hospital
Version: 1.0.0
Author: 
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@500;700&display=swap");
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
*::before, *::after {
  box-sizing: inherit;
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  margin: auto;
  -webkit-overflow-scrolling: touch;
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  color: #333333;
  scroll-behavior: smooth;
}

.pageName {
  display: none;
}

body {
  width: 100%;
  position: relative;
  overflow-x: hidden;
  font-family: "Zen Maru Gothic";
  font-weight: 500;
  color: #333333;
  line-height: 2;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  overflow: hidden;
  max-width: 100vw;
  height: auto;
}

li {
  list-style: none;
}

button {
  padding: 0;
  outline: none;
  border: none;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

img {
  max-width: 100%;
  border: none;
  vertical-align: top;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-style: none;
}

br.-sp {
  display: none;
}
br.-pc {
  display: block;
}

.pageTop {
  display: none;
}

main {
  display: block;
  line-height: 1.5;
  transition: opacity 0.3s ease;
  transition: all 1s cubic-bezier(0.59, 0, 0.265, 0.995);
  transition-timing-function: cubic-bezier(0.59, 0, 0.265, 0.995);
}
@media (max-width: 767px) {
  main {
    margin-top: 0px !important;
  }
}
main.-show {
  margin-top: 0px !important;
  opacity: 1;
}

@media (min-width: 768px) {
  .noTransition * {
    transition: none !important;
  }
}

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

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  display: inline-block;
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
a:hover {
  opacity: 0.7;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: none;
  -webkit-appearance: none;
  border-radius: 0;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
  -webkit-appearance: none;
  border-radius: 0px;
}

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

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

@media (max-width: 767px) {
  br.-sp {
    display: inline;
  }
  br.-pc {
    display: none;
  }
}
embed,
iframe,
object {
  max-width: 100%;
}

figure {
  margin: 0;
  position: relative;
  overflow: hidden;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
}

table {
  width: 100%;
  display: inline-flex;
  overflow: hidden;
}

tbody {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

tr {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}

th {
  display: inline-block;
  text-align: left;
  padding-right: 1em;
}

td {
  display: inline-block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-weight: 500;
  font-family: "Zen Maru Gothic";
}

p {
  font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}

body,
button,
input,
select,
optgroup,
textarea {
  font-weight: normal;
  font-style: normal;
}

.grecaptcha-badge {
  display: none !important;
}

.anchor {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: -150px;
  left: 0;
  width: 1px;
  height: 1px;
  display: block;
}

.breadcrumb {
  margin-top: clamp(10px, 1.0416666667vw, 20px);
  width: 100%;
  padding-left: clamp(20px, 5.2083333333vw, 100px);
  padding-right: clamp(20px, 5.2083333333vw, 100px);
  position: relative;
  z-index: 4;
}
@media (max-width: 767px) {
  .breadcrumb {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.breadcrumbList {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 5px;
  width: 100%;
}

.breadcrumbItem {
  font-size: clamp(1.1rem, (0.7291666667vw), 1.4rem);
  font-weight: 300;
  line-height: 1.2;
  color: black;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
@media (max-width: 767px) {
  .breadcrumbItem {
    line-height: 1.2;
  }
}
.breadcrumbItem:not(:last-of-type)::after {
  color: black;
  content: "/";
  display: inline-block;
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.btn {
  cursor: pointer;
  position: relative;
}
.btn:hover {
  opacity: 1;
}
.btn:hover .btnIcon {
  border-width: 0px;
  border-color: transparent;
}
.btn:hover .btnIcon::after {
  width: calc(100% + 3.4px);
  height: calc(100% + 3.4px);
  transition: all 0.4s;
  opacity: 1;
}
.btn:hover .btnArrow.-normal {
  opacity: 0;
}
.btn:hover .btnArrow.-inverted {
  opacity: 1;
}

.btnIcon {
  aspect-ratio: 1/1;
  display: inline-block;
  position: relative;
  border-radius: 50%;
  transition: all 0.2s;
  overflow: hidden;
}
.btnIcon::after {
  border-radius: 50%;
  content: "";
  display: block;
  width: 0px;
  height: 0px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.01s linear 0.2s, height 0.01s linear 0.2s, opacity 0.2s ease;
  opacity: 0;
}

.btnArrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-46%, -50%);
  content: "";
  display: block;
  transition: all 0.4s ease;
  z-index: 1;
  -o-object-fit: contain;
     object-fit: contain;
}
.btnArrow.-inverted {
  opacity: 0;
}

.btnInvert {
  cursor: pointer;
  position: relative;
}
.btnInvert:hover {
  opacity: 1;
}
.btnInvert:hover .btnInvertIcon::after {
  width: calc(100% - 3px);
  height: calc(100% - 3px);
  transition: all 0.5s;
  opacity: 1;
}
.btnInvert:hover .btnInvertArrow.-normal {
  opacity: 0;
}
.btnInvert:hover .btnInvertArrow.-inverted {
  opacity: 1;
}

.btnInvertIcon {
  aspect-ratio: 1/1;
  display: inline-block;
  position: relative;
  border-radius: 50%;
  transition: all 0.2s;
  overflow: hidden;
}
.btnInvertIcon::after {
  border-radius: 50%;
  content: "";
  display: block;
  width: 0%;
  height: 0%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.02s linear, height 0.02s linear, opacity 0.4s ease;
  opacity: 1;
}

.btnInvertArrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -57%);
  content: "";
  display: block;
  transition: all 0.3s;
  z-index: 2;
  -o-object-fit: contain;
     object-fit: contain;
}
.btnInvertArrow.-inverted {
  opacity: 0;
}

.burger {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 20;
  background-color: #6eccaf;
  width: clamp(85px, 10.4166666667vw, 200px);
  height: clamp(85px, 10.4166666667vw, 200px);
  border-bottom-left-radius: clamp(21px, 2.6041666667vw, 50px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.burger.-active {
  transform: translateY(0px) !important;
  opacity: 1 !important;
}

.burgerBtn {
  cursor: pointer;
  width: clamp(42px, 5.2083333333vw, 100px);
  height: clamp(17px, 2.0833333333vw, 40px);
  position: relative;
}
.burgerBtn:hover {
  opacity: 0.8;
}

.burgerBar {
  height: clamp(2px, 0.2604166667vw, 5px);
  background-color: white;
  position: absolute;
  transition: all 0.2s cubic-bezier(0.77, 0, 0.175, 1) 0.2s;
  border-radius: calc(clamp(2px, 0.2604166667vw, 5px) / 2);
}
.burgerBar:nth-of-type(1) {
  left: 0;
  top: 0;
  width: clamp(42px, 5.2083333333vw, 100px);
  transform: translate(0%, 0%) rotate(0deg);
}
.burgerBar:nth-of-type(1).-active {
  width: clamp(40px, 4.8958333333vw, 94px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(20deg);
}
.burgerBar:nth-of-type(2) {
  top: 50%;
  left: 50%;
  width: clamp(42px, 5.2083333333vw, 100px);
  transform: translate(-50%, -50%) rotate(0deg);
}
.burgerBar:nth-of-type(2).-active {
  top: 50%;
  width: clamp(40px, 4.8958333333vw, 94px);
  transform: translate(-50%, -50%) rotate(-20deg);
}
.burgerBar:nth-of-type(3) {
  width: clamp(17px, 2.0833333333vw, 40px);
  top: 100%;
  right: 0%;
  transform-origin: 100% 100%;
  transform: translate(0%, -100%) rotate(0deg);
}
.burgerBar:nth-of-type(3).-active {
  right: clamp(2px, 0.2604166667vw, 5px);
  width: clamp(40px, 4.8958333333vw, 94px);
  opacity: 0;
  transform: translate(0%, calc(-100% - clamp(2px, 0.2604166667vw, 5px) / 2)) rotate(20deg);
}

.pagination {
  padding-top: clamp(55px, 3.3333333333vw, 64px);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -moz-column-gap: clamp(24px, 3.125vw, 60px);
       column-gap: clamp(24px, 3.125vw, 60px);
}

.paginationPrev.-hide,
.paginationNext.-hide {
  pointer-events: none;
  opacity: 0;
}
.paginationPrev::after,
.paginationNext::after {
  content: "";
  display: block;
  width: 13px;
  height: 25px;
  background-image: url(./optimized/news/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.paginationPrev::after {
  rotate: 180deg;
}

.paginationInner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -moz-column-gap: clamp(18px, 2.5vw, 48px);
       column-gap: clamp(18px, 2.5vw, 48px);
}

.paginationNumber {
  position: relative;
  font-size: clamp(1.6rem, (1.0416666667vw), 2rem);
  line-height: 1.2;
}
.paginationNumber.-current::after {
  content: "";
  display: block;
  width: clamp(24px, 1.7708333333vw, 34px);
  height: 1px;
  background: white;
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
}

.ttl {
  font-size: clamp(2.468rem, (2.75vw), 5.28rem);
  line-height: 1;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .ttl {
    text-align: center;
  }
}

.about {
  padding-top: clamp(100px, 10.4166666667vw, 200px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  position: relative;
  z-index: 4;
}
@media (max-width: 767px) {
  .about {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .about {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .about {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 767px) {
  .about {
    padding-top: 0;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.about::after {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + 2px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #f6fbfb;
  z-index: -1;
}

.aboutInner {
  opacity: 0;
  transition: all 1s ease;
  transform: translateY(50px);
}
.aboutInner.-show {
  opacity: 1;
  transform: translateY(0px);
}

.aboutContainer {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 1450px) {
  .aboutContainer {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
}

.aboutImg {
  width: clamp(390px, 33.3333333333vw, 640px);
  aspect-ratio: 640/440;
  border-radius: 20px;
}
@media (max-width: 1450px) {
  .aboutImg {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .aboutImg {
    width: 100vw;
    min-width: 100vw;
    margin-left: -20px;
    border-radius: 0;
    aspect-ratio: 390/240;
  }
}

.aboutContents {
  margin-top: clamp(45px, 3.0208333333vw, 58px);
  padding-right: 40px;
}
@media (max-width: 767px) {
  .aboutContents {
    padding-right: 0;
    width: 100%;
  }
}

.aboutInfo {
  margin-top: clamp(34px, 2.34375vw, 45px);
}
@media (max-width: 767px) {
  .aboutInfo {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}
@media (max-width: 500px) {
  .aboutInfo {
    display: block;
  }
}

.aboutInfoList {
  row-gap: clamp(19px, 1.3541666667vw, 26px);
  display: inline-flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.aboutInfoItem {
  max-width: 100%;
}

.aboutInfoWrap.-tel {
  -moz-column-gap: clamp(19px, 1.25vw, 24px);
       column-gap: clamp(19px, 1.25vw, 24px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  margin-bottom: 15px;
}
.aboutInfoWrap.-common {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(21px, 1.5625vw, 30px);
       column-gap: clamp(21px, 1.5625vw, 30px);
}

.aboutInfoTxt span {
  display: inline-block;
}
.aboutInfoTxt.-tel {
  font-size: clamp(3rem, (2.2395833333vw), 4.3rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #6eccaf;
}
.aboutInfoTxt.-common {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 2.6666666667;
  letter-spacing: 0.2em;
  margin-top: -0.5em;
}
@media (max-width: 767px) {
  .aboutInfoTxt.-common {
    letter-spacing: 0;
  }
  .aboutInfoTxt.-common br {
    display: none;
  }
}

.aboutInfoIcon {
  aspect-ratio: 1/1;
}
.aboutInfoIcon.-tel {
  width: 31px;
}
.aboutInfoIcon.-common {
  width: 20px;
  margin-left: 5px;
  margin-top: clamp(3px, 0.3125vw, 6px);
}
@media (max-width: 767px) {
  .aboutInfoIcon.-common {
    margin-left: 0;
  }
}

.aboutInfoDef {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}

.aboutInfoTerm {
  min-width: clamp(93px, 6.3020833333vw, 121px);
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 2.6666666667;
  letter-spacing: 0.2em;
  margin-top: -0.5em;
}
@media (max-width: 767px) {
  .aboutInfoTerm {
    letter-spacing: 0;
  }
}

.aboutInfoDesc {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 2.6666666667;
  letter-spacing: 0.2em;
  margin-top: -0.5em;
}
@media (max-width: 767px) {
  .aboutInfoDesc {
    letter-spacing: 0;
  }
}
.aboutInfoDesc span {
  display: inline-block;
}

.aboutLinks {
  width: 100%;
}

.aboutLinksBanner {
  margin-top: clamp(50px, 3.125vw, 60px);
  width: 100%;
  border: 1px solid #ebebeb;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
  overflow: hidden;
}
.aboutLinksBanner img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform: scale(1.01);
  text-orientation: center;
}

.aboutLinksList {
  margin-top: clamp(10px, 2.0833333333vw, 40px);
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(10px, 2.0833333333vw, 40px);
  -moz-column-gap: clamp(20px, 2.0833333333vw, 40px);
       column-gap: clamp(20px, 2.0833333333vw, 40px);
}

.aboutLinksItem.-full {
  width: 100%;
}
.aboutLinksItem.-half {
  width: calc((100% - clamp(20px, 2.0833333333vw, 40px) * 1) / 2);
}
@media (max-width: 767px) {
  .aboutLinksItem.-half {
    width: calc((100% - clamp(20px, 2.0833333333vw, 40px) * 0) / 1);
  }
}

.aboutLinksLink {
  background-color: white;
  width: 100%;
  border: 0.5px solid #6eccaf;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  -moz-column-gap: 25px;
       column-gap: 25px;
  overflow: hidden;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
  height: clamp(80px, 5.2083333333vw, 100px);
  position: relative;
  padding-right: 1em;
}
@media (max-width: 767px) {
  .aboutLinksLink {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    -moz-column-gap: 33px;
         column-gap: 33px;
    padding-left: 27px;
  }
}
.aboutLinksLink::after {
  content: "";
  display: block;
  width: 120%;
  aspect-ratio: 1/1;
  background-color: #6eccaf;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.01s cubic-bezier(0.77, 0, 0.175, 1) 0.2s, opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.aboutLinksLink:hover {
  opacity: 1;
}
.aboutLinksLink:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s ease;
}
.aboutLinksLink:hover .aboutLinksIcon.-normal {
  opacity: 0;
}
.aboutLinksLink:hover .aboutLinksIcon.-inverted {
  opacity: 1;
}
.aboutLinksLink:hover .aboutLinksTtl {
  color: white;
}

.aboutLinksIcons {
  width: clamp(47px, 3.1770833333vw, 61px);
  min-width: clamp(47px, 3.1770833333vw, 61px);
  aspect-ratio: 61/50;
  position: relative;
}

.aboutLinksIcon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: all 0.6s ease;
  z-index: 1;
}
.aboutLinksIcon.-inverted {
  opacity: 0;
}

.aboutLinksTtl {
  font-size: clamp(1.9rem, (1.25vw), 2.4rem);
  line-height: 1.1666666667;
  letter-spacing: 0.2em;
  text-align: center;
  color: #6eccaf;
  transition: all 0.6s ease;
  z-index: 1;
}
@media (max-width: 767px) {
  .aboutLinksTtl {
    letter-spacing: 0.1em;
    text-align: left;
  }
}
.aboutLinksTtl span {
  display: inline-block;
}

.access {
  padding-top: clamp(93px, 9.4791666667vw, 182px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  position: relative;
  padding-bottom: clamp(120px, 7.8125vw, 150px);
  z-index: 3;
}
@media (max-width: 767px) {
  .access {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .access {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .access {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 767px) {
  .access {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.access::after {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + 2px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #f6fbfb;
  z-index: -1;
}

.accessInner {
  opacity: 0;
  transition: all 1s ease;
  transform: translateY(50px);
}
.accessInner.-show {
  opacity: 1;
  transform: translateY(0px);
}

.accessContainer {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .accessContainer {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
}

.accessContents {
  padding-right: 2em;
}

.accessContentsList {
  margin-top: clamp(26px, 2.3958333333vw, 46px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(25px, 2.7083333333vw, 52px);
}

.accessContentsItem {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(21px, 1.4583333333vw, 28px);
       column-gap: clamp(21px, 1.4583333333vw, 28px);
}

.accessContentsIcon {
  width: 20px;
  min-width: 20px;
  aspect-ratio: 1/1;
}

.accessContentsTxt {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 2;
  letter-spacing: 0.1em;
  margin-top: calc(-100% + 100% - clamp(5px, 0.4166666667vw, 8px));
}
@media (max-width: 767px) {
  .accessContentsTxt {
    line-height: 1.6875;
  }
}
@media (max-width: 767px) {
  .accessContentsTxt {
    letter-spacing: 0;
  }
  .accessContentsTxt br {
    display: none;
  }
}
.accessContentsTxt span {
  display: inline-block;
}

.accessMap {
  border: none;
  width: clamp(390px, 33.3333333333vw, 640px);
  min-width: clamp(390px, 33.3333333333vw, 640px);
  aspect-ratio: 640/440;
  border-radius: 20px;
}
@media (max-width: 767px) {
  .accessMap {
    border-radius: 0;
    aspect-ratio: 440/240;
    width: 100vw;
    min-width: 100vw;
    margin-left: -20px;
  }
}

.address {
  position: relative;
  padding-top: clamp(50px, 10.4166666667vw, 200px);
  padding-bottom: clamp(50px, 10.4166666667vw, 200px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  z-index: 2;
}
@media (max-width: 767px) {
  .address {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .address {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .address {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 767px) {
  .address {
    padding-bottom: 0;
  }
}
.address::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + clamp(210px, 15.625vw, 300px));
  background: #f6fbfb;
  position: absolute;
  bottom: 0px;
  left: 0;
  z-index: -1;
}

.addressTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.4807692308;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .addressTtl {
    text-align: center;
  }
}

.addressBody {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-direction: row;
  -moz-column-gap: clamp(28px, 2.0833333333vw, 40px);
       column-gap: clamp(28px, 2.0833333333vw, 40px);
}
@media (max-width: 1450px) {
  .addressBody {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
}

.addressBodyContents {
  width: 100%;
}

.addressBodyTel {
  margin-top: clamp(30px, 4.1666666667vw, 80px);
  font-size: clamp(3rem, (2.2395833333vw), 4.3rem);
  font-weight: bold;
  line-height: 1.6744186047;
  letter-spacing: 0.1em;
  color: #6eccaf;
}
.addressBodyTel.-noSpace {
  margin-top: 0;
}
@media (max-width: 1450px) {
  .addressBodyTel.-noSpace {
    margin-top: 30px;
  }
}

.addressBodyTxt {
  margin-top: clamp(20px, 2.0833333333vw, 40px);
  font-size: clamp(1.6rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}

.addressBodyImg {
  width: clamp(390px, 33.3333333333vw, 640px);
  min-width: clamp(390px, 33.3333333333vw, 640px);
  aspect-ratio: 640/440;
  border-radius: 20px;
}
@media (max-width: 1450px) {
  .addressBodyImg {
    margin-top: 50px;
    aspect-ratio: 350/240;
    width: 100%;
    min-width: 100%;
  }
}

.addressAccess {
  margin-top: clamp(50px, 5.2083333333vw, 100px);
  width: 100%;
  aspect-ratio: 1320/660;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
}
@media (max-width: 767px) {
  .addressAccess {
    border-radius: 0;
    aspect-ratio: 390/240;
    width: 100vw;
    min-width: 100vw;
    margin-left: -20px;
  }
}

.addressBodyList {
  margin-top: 30px;
  width: 100%;
  border-top: 1px solid #999999;
  padding-top: clamp(23px, 1.5104166667vw, 29px);
  padding-bottom: clamp(23px, 1.5104166667vw, 29px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  row-gap: 14px;
}
@media (max-width: 767px) {
  .addressBodyList {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.addressBodyList:last-of-type {
  border-bottom: 1px solid #999999;
}

.addressBodyTerm {
  width: clamp(160px, 10.4166666667vw, 200px);
  min-width: clamp(160px, 10.4166666667vw, 200px);
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
  padding-right: 1em;
}
@media (max-width: 767px) {
  .addressBodyTerm {
    padding-right: 0;
  }
}
.addressBodyTerm span {
  display: inline-block;
}

.addressBodyDesc {
  padding-left: 30px;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
  position: relative;
}
@media (max-width: 767px) {
  .addressBodyDesc {
    padding-left: 38px;
  }
}
@media (max-width: 374px) {
  .addressBodyDesc {
    font-size: 1.3rem;
  }
}
.addressBodyDesc::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% + clamp(23px, 1.5104166667vw, 29px));
  background: #d6d6d6;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .addressBodyDesc::before {
    display: none;
  }
}

.addressBodyDescTxt {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 374px) {
  .addressBodyDescTxt {
    font-size: 1.3rem;
  }
}

.addressDetails {
  margin-top: clamp(12px, 0.9375vw, 18px);
}

.addressDetailsList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: clamp(8px, 0.8333333333vw, 16px);
}

.addressDetailsTerm {
  width: clamp(55px, 4.4270833333vw, 85px);
  min-width: clamp(55px, 4.4270833333vw, 85px);
  line-height: 2.3;
}
@media (max-width: 374px) {
  .addressDetailsTerm {
    min-width: 40px;
    width: 40px;
  }
}

.addressDetailsDesc {
  width: calc(100% - clamp(55px, 4.4270833333vw, 85px));
  min-width: calc(100% - clamp(55px, 4.4270833333vw, 85px));
  line-height: 2.3;
}

.addressBodyIcon {
  margin-top: clamp(0px, 0.1041666667vw, 2px);
  width: 30px;
  min-width: 30px;
  height: 30px;
  margin-right: clamp(10px, 0.78125vw, 15px);
  -o-object-fit: contain;
     object-fit: contain;
}
.addressBodyIcon.-adjust1 {
  margin-top: 0;
  transform: translateY(clamp(10px, 0.8333333333vw, 16px));
}
.addressBodyIcon.-adjust2 {
  margin-top: -2px;
}

.addressBodyList + .addressBodyList {
  margin-top: 0;
}

.contact {
  position: relative;
  z-index: 3;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  margin-top: clamp(35px, 9.1145833333vw, 175px);
}
@media (max-width: 767px) {
  .contact {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .contact {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .contact {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.contact::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + clamp(210px, 15.625vw, 300px));
  background: #f6fbfb;
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: -1;
}

.contactInner {
  width: 100%;
}

.contactInfo {
  width: 100%;
}

.contactInfoTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.4807692308;
  letter-spacing: 0.2em;
}
.contactInfoTtl:not(:first-child) {
  margin-top: clamp(102.9px, 7.65625vw, 147px);
}
@media (max-width: 767px) {
  .contactInfoTtl {
    text-align: center;
  }
}
.contactInfoTtl span {
  display: inline-block;
}

.contactInfoWrap {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.contactInfoTel {
  margin-top: clamp(45.5px, 3.3854166667vw, 65px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  margin-bottom: 15px;
  color: #6eccaf;
}
@media (max-width: 767px) {
  .contactInfoTel {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
  }
}
.contactInfoTel span.-normal {
  font-size: clamp(3rem, (2.2395833333vw), 4.3rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
.contactInfoTel span.-small {
  font-size: clamp(1.8rem, (1.25vw), 2.4rem);
  font-weight: bold;
  line-height: 1;
  margin-bottom: -0.2em;
}
@media (max-width: 767px) {
  .contactInfoTel span.-small {
    margin-left: auto;
  }
}

.contactInfoIcon {
  aspect-ratio: 1/1;
  width: 31px;
  margin-right: clamp(19px, 1.25vw, 24px);
}

.contactInfoTxt {
  margin-top: clamp(45.5px, 3.3854166667vw, 65px);
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  width: 100%;
}

.contactStatus {
  margin-top: clamp(36px, 4.375vw, 84px);
  width: 100%;
  position: relative;
}

.contactStatusList {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  border-radius: clamp(10.5px, 0.78125vw, 15px);
  overflow: hidden;
  border: 1px solid #6eccaf;
  background: white;
}

.contactStatusItem {
  font-size: clamp(1.6rem, (1.5625vw), 3rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #6eccaf;
  width: 33.3333333333%;
  position: relative;
  padding: 15px;
  text-align: center;
}
.contactStatusItem:not(:last-of-type)::before {
  content: "";
  display: block;
  width: clamp(27px, 1.875vw, 36px);
  height: calc(100% + 2px);
  position: absolute;
  top: -1px;
  right: -1px;
  z-index: 3;
  background-image: url(../img/contact/progress_inverted.svg);
  background-size: auto 100%;
  background-position: center right;
  background-repeat: no-repeat;
  transform: translateX(50%);
}
.contactStatusItem:not(:last-of-type)::after {
  content: "";
  display: block;
  width: clamp(23px, 1.71875vw, 33px);
  height: calc(100% + 2px);
  background-color: #6eccaf;
  z-index: 2;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(50%);
}
.contactStatusItem.-current {
  color: white;
  background: #6eccaf;
}
.contactStatusItem.-current:not(:last-of-type)::before {
  content: "";
  display: block;
  width: clamp(27px, 1.875vw, 36px);
  height: calc(100% + 2px);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  transform: translateX(50%);
  background-image: url(../img/contact/progress.svg);
  background-size: auto 100%;
  background-position: center right;
  background-repeat: no-repeat;
}
.contactStatusItem.-current:not(:last-of-type)::after {
  content: "";
  display: block;
  width: clamp(27px, 1.875vw, 36px);
  height: calc(100% + 2px);
  background-color: white;
  z-index: 2;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(50%);
}
.contactStatusItem.-current:not(:last-of-type) + .contactStatusItem::after {
  display: none;
}
.contactStatusItem.-noBg::after {
  display: none;
}

.contactMain {
  margin-top: clamp(70px, 5.2083333333vw, 100px);
  width: 100%;
  padding-bottom: clamp(140px, 10.4166666667vw, 200px);
}

.contactMainNote {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1;
}
.contactMainNote span {
  color: #ee9ca1;
}

.contactMainForm {
  margin-top: clamp(21px, 1.5625vw, 30px);
  width: 100%;
}
.contactMainForm .screen-reader-response {
  display: none;
}
.contactMainForm .wpcf7 {
  display: contents;
}
.contactMainForm form {
  width: 100%;
}
.contactMainForm .wpcf7-not-valid-tip {
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(100%);
}

.contactMainRow {
  margin-top: clamp(35px, 2.6041666667vw, 50px);
}
.contactMainRow > p {
  display: contents;
}

.contactMainLabel {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1;
}
.contactMainLabel.-must::before {
  content: "※";
  color: #ee9ca1;
  margin-right: 10px;
}

.contactMainCheck {
  margin-top: clamp(21px, 1.5625vw, 30px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(35px, 2.6041666667vw, 50px);
       column-gap: clamp(35px, 2.6041666667vw, 50px);
  padding-left: 30px;
  padding-right: 30px;
  flex-wrap: wrap;
  row-gap: 20px;
}
@media (max-width: 767px) {
  .contactMainCheck {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.contactMainCheck .wpcf7-list-item {
  margin-left: 0;
}
.contactMainCheck .wpcf7-list-item-label {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.contactMainCheck .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background-image: url(../img/contact/unchecked.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.contactMainCheck input {
  display: contents;
}
.contactMainCheck input:checked + .wpcf7-list-item-label::before {
  background-image: url(../img/contact/checked.svg);
}

.contactMainField {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(20px, 2.6041666667vw, 50px);
       column-gap: clamp(20px, 2.6041666667vw, 50px);
}
.contactMainField > p {
  display: contents;
}
.contactMainField .wpcf7-form-control-wrap {
  display: contents;
}

.contactMainInput {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
  padding-left: clamp(21px, 1.5625vw, 30px);
  padding-right: clamp(21px, 1.5625vw, 30px);
  padding-top: clamp(15px, 1.5625vw, 30px);
  padding-bottom: clamp(15px, 1.5625vw, 30px);
  border-radius: clamp(14px, 1.0416666667vw, 20px);
  border: 1px solid black;
  background: none;
  width: 100%;
}
.contactMainInput::-moz-placeholder {
  color: #999999;
}
.contactMainInput::placeholder {
  color: #999999;
}

.contactMainWrap {
  margin-top: clamp(7px, 0.5208333333vw, 10px);
  position: relative;
}
.contactMainWrap.-short {
  width: calc((50% - clamp(20px, 2.6041666667vw, 50px)) * 0.5);
}
@media (max-width: 767px) {
  .contactMainWrap.-short {
    width: calc((100% - clamp(20px, 2.6041666667vw, 50px)) * 0.5);
  }
}
.contactMainWrap.-middle {
  width: 50%;
}
@media (max-width: 767px) {
  .contactMainWrap.-middle {
    width: 100%;
  }
}
.contactMainWrap.-long {
  width: 100%;
}

.contactMainTextarea {
  margin-top: clamp(7px, 0.5208333333vw, 10px);
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
  padding-left: clamp(21px, 1.5625vw, 30px);
  padding-right: clamp(21px, 1.5625vw, 30px);
  padding-top: clamp(21px, 1.5625vw, 30px);
  padding-bottom: clamp(21px, 1.5625vw, 30px);
  border-radius: clamp(14px, 1.0416666667vw, 20px);
  border: 1px solid black;
  background: none;
  width: 100%;
  height: 160px;
  resize: vertical;
}
.contactMainTextarea::-moz-placeholder {
  color: #999999;
}
.contactMainTextarea::placeholder {
  color: #999999;
}

.contactMainBottom {
  margin-top: clamp(48px, 5vw, 96px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  width: 100%;
}
.contactMainBottom > p {
  display: contents;
}
.contactMainBottom .wpcf7-form-control-wrap,
.contactMainBottom .wpcf7-form-control,
.contactMainBottom .wpcf7-list-item {
  display: contents;
}

.contactMainAcceptance {
  margin-top: clamp(21px, 1.5625vw, 30px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(35px, 2.6041666667vw, 50px);
       column-gap: clamp(35px, 2.6041666667vw, 50px);
  flex-wrap: wrap;
  row-gap: 20px;
  display: contents;
}
.contactMainAcceptance a {
  text-decoration: underline;
}
.contactMainAcceptance + .wpcf7-list-item-label {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  font-size: clamp(1.26rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
}
.contactMainAcceptance + .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background-image: url(../img/contact/unchecked.svg);
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 10px;
  margin-top: clamp(0px, 0.2083333333vw, 4px);
}
.contactMainAcceptance:checked + .wpcf7-list-item-label::before {
  background-image: url(../img/contact/checked.svg);
}

.contactMainSubmit {
  position: absolute;
  left: -200vw;
}
.contactMainSubmit + .wpcf7-spinner {
  display: contents;
}

.contactMainBtn {
  margin-top: clamp(37.5px, 3.90625vw, 75px);
  display: block !important;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  color: #6eccaf;
  border: 1px solid #6eccaf;
  background: white;
  border-radius: clamp(14px, 1.0416666667vw, 20px);
  padding-left: clamp(64px, 4.1666666667vw, 80px);
  padding-right: clamp(64px, 4.1666666667vw, 80px);
  padding-top: clamp(15px, 1.3020833333vw, 25px);
  padding-bottom: clamp(15px, 1.3020833333vw, 25px);
  pointer-events: none;
  opacity: 0.3;
}
.contactMainBtn.-allow {
  pointer-events: auto;
  opacity: 1;
}

.contactAcceptanceLink {
  text-decoration: underline;
}

.contactConfirm {
  margin-top: clamp(70px, 5.2083333333vw, 100px);
  width: 100%;
  padding-bottom: clamp(140px, 10.4166666667vw, 200px);
  transition: all 0.2s ease;
  opacity: 1;
}
.contactConfirm.-hide {
  opacity: 0;
}

.contactConfirmForm {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(45px, 3.90625vw, 75px);
  background-color: white;
  padding: clamp(50px, 6.5104166667vw, 125px) clamp(20px, 5.2083333333vw, 100px);
  border-radius: clamp(14px, 1.0416666667vw, 20px);
}

.contactConfirmTtl {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1;
}
.contactConfirmTtl.-must::before {
  content: "※";
  color: #ee9ca1;
  margin-right: 10px;
}

.contactConfirmAnswer {
  font-size: clamp(1.6rem, (1.1458333333vw), 2.2rem);
  font-weight: 500;
  line-height: 1.5;
  border-bottom: 1px solid #6eccaf;
}

.contactConfirmWrap {
  width: 100%;
}

.contactConfirmRow {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(14px, 1.0416666667vw, 20px);
}

.contactConfirmBottom {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  -moz-column-gap: clamp(16px, 1.6666666667vw, 32px);
       column-gap: clamp(16px, 1.6666666667vw, 32px);
  row-gap: clamp(14px, 1.0416666667vw, 20px);
  margin-top: clamp(35px, 2.6041666667vw, 50px);
}

.contactConfirmBtn {
  display: flex !important;
  justify-content: center;
  align-items: center;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  color: #6eccaf;
  border: 1px solid #6eccaf;
  background: white;
  border-radius: clamp(14px, 1.0416666667vw, 20px);
  padding-left: clamp(64px, 4.1666666667vw, 80px);
  padding-right: clamp(64px, 4.1666666667vw, 80px);
  padding-top: clamp(15px, 1.3020833333vw, 25px);
  padding-bottom: clamp(15px, 1.3020833333vw, 25px);
}
@media (max-width: 767px) {
  .contactConfirmBtn {
    width: 296px;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}

.contactSent {
  margin-top: clamp(70px, 5.2083333333vw, 100px);
  width: 100%;
  padding-bottom: clamp(140px, 10.4166666667vw, 200px);
}

.contactSentInner {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.contactSentTtl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  margin-bottom: 15px;
  color: #6eccaf;
  font-size: clamp(3rem, (2.2395833333vw), 4.3rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}

.contactSentTxt {
  margin-top: clamp(35px, 2.6041666667vw, 50px);
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  text-align: center;
}
.contactSentTxt span {
  display: inline-block;
}

.contactSentBtn {
  margin-top: clamp(62.9px, 4.6875vw, 90px);
  display: flex !important;
  justify-content: center;
  align-items: center;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  color: #6eccaf;
  border: 1px solid #6eccaf;
  background: white;
  border-radius: clamp(14px, 1.0416666667vw, 20px);
  padding-left: clamp(64px, 4.1666666667vw, 80px);
  padding-right: clamp(64px, 4.1666666667vw, 80px);
  padding-top: clamp(15px, 1.3020833333vw, 25px);
  padding-bottom: clamp(15px, 1.3020833333vw, 25px);
}
@media (max-width: 767px) {
  .contactSentBtn {
    width: 296px;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}

.footer {
  position: relative;
}
@media (max-width: 767px) {
  .footer {
    margin-top: 100px;
  }
}

.footerFixed {
  z-index: 10;
  width: 100%;
  height: 100lvh;
}

.footerNav {
  width: 57.8947368421%;
  margin-top: calc(-100% + 100% - clamp(13px, 1.3020833333vw, 25px));
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 1450px) {
  .footerNav {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 1000px) {
  .footerNav {
    width: 100%;
    border-top: 1px solid #cccccc;
    margin-top: 0;
  }
}

.footerNavList {
  width: 44.7727272727%;
}
@media (max-width: 1450px) {
  .footerNavList {
    width: 100%;
  }
}

.footerNavItem {
  position: relative;
  width: 100%;
  max-width: 100%;
  border-bottom: 1px solid #cccccc;
}

.footerInner {
  width: 100vw;
  padding-top: clamp(100px, 11.40625vw, 219px);
  padding-bottom: clamp(22px, 3.90625vw, 75px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.footerContainer {
  width: 100%;
  max-width: 1920px;
  display: inline-flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: column;
  padding-right: clamp(20px, 15.625vw, 300px);
  padding-left: clamp(20px, 5.2083333333vw, 100px);
}
@media (max-width: 1600px) {
  .footerContainer {
    padding-right: clamp(20px, 5.2083333333vw, 100px);
  }
}
@media (max-width: 767px) {
  .footerContainer {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.footerBlocks {
  margin-top: clamp(41px, 3.125vw, 60px);
  row-gap: 47px;
  display: inline-flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 1000px) {
  .footerBlocks {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.footerInfo {
  min-width: clamp(535px, 41.6666666667vw, 600px);
}
@media (max-width: 767px) {
  .footerInfo {
    min-width: 0;
  }
}

.footerInfoBtn {
  margin-top: clamp(21px, 1.5625vw, 30px);
  width: clamp(154px, 11.4583333333vw, 220px);
}
.footerInfoBtn img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.footerInfoList {
  row-gap: clamp(19px, 1.3541666667vw, 26px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.footerInfoItem {
  max-width: 100%;
}

.footerInfoWrap.-tel {
  -moz-column-gap: clamp(19px, 1.25vw, 24px);
       column-gap: clamp(19px, 1.25vw, 24px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  margin-bottom: 15px;
}
.footerInfoWrap.-common {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(21px, 1.5625vw, 30px);
       column-gap: clamp(21px, 1.5625vw, 30px);
}

.footerInfoTxt.-tel {
  font-size: clamp(3rem, (2.2395833333vw), 4.3rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #6eccaf;
}
.footerInfoTxt.-common {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 2.6666666667;
  letter-spacing: 0.2em;
  margin-top: -0.5em;
}
@media (max-width: 767px) {
  .footerInfoTxt.-common {
    letter-spacing: 0;
  }
  .footerInfoTxt.-common br {
    display: none;
  }
}

.footerInfoIcon {
  aspect-ratio: 1/1;
}
.footerInfoIcon.-tel {
  width: 31px;
}
.footerInfoIcon.-common {
  width: 20px;
  margin-left: 5px;
  margin-top: clamp(3px, 0.3125vw, 6px);
}
@media (max-width: 767px) {
  .footerInfoIcon.-common {
    margin-left: 0;
  }
}

.footerInfoDef {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .footerInfoDef {
    flex-wrap: wrap;
  }
}

.footerInfoTerm {
  min-width: clamp(93px, 6.3020833333vw, 121px);
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 2.6666666667;
  letter-spacing: 0.2em;
  margin-top: -0.5em;
}
@media (max-width: 767px) {
  .footerInfoTerm {
    letter-spacing: 0;
  }
}

.footerInfoDesc {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 2.6666666667;
  letter-spacing: 0.2em;
  margin-top: -0.5em;
}
@media (max-width: 767px) {
  .footerInfoDesc {
    letter-spacing: 0;
  }
}
.footerInfoDesc span {
  display: inline-block;
}

.footerNavBtn,
.footerNavBtn2 {
  width: 100%;
  padding-top: clamp(13px, 1.3020833333vw, 25px);
  padding-bottom: clamp(13px, 1.3020833333vw, 25px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}

.footerNavIcon {
  width: 20px;
  min-width: 20px;
  border: 1.7px solid #333;
}
.footerNavIcon::after {
  background-color: #d6d6d6;
}

.footerNavArrow {
  width: 5px;
  height: 9px;
  z-index: 1;
}

.footerNavTtl {
  padding-left: clamp(22px, 1.7708333333vw, 34px);
  padding-right: 14px;
  text-align: left;
  white-space: nowrap;
  letter-spacing: 0.2em;
  color: #333333;
  font-size: clamp(1.6rem, (0.9895833333vw), 1.9rem);
  line-height: 1.4736842105;
}
@media (max-width: 374px) {
  .footerNavTtl {
    font-size: 1.5rem;
  }
}

.footerNavExpand {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: inline-block;
}

.footerNavExpandInner {
  position: relative;
  display: inline-block;
  width: 14px;
  min-width: 14px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
.footerNavExpandInner::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background-color: #6eccaf;
  transform: translate(-50%, -50%);
  opacity: 1;
  transition: all 0.3s;
}
.footerNavExpandInner::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 100%;
  border-radius: 2px;
  background-color: #6eccaf;
  transform: translate(-50%, -50%);
}
.footerNavExpandInner.-hide::before {
  opacity: 0;
}

.footerNavWrap {
  padding-left: clamp(42px, 2.6041666667vw, 50px);
  overflow: hidden;
  transition: all 0.3s ease;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.footerNavWrap.-hide {
  height: 0 !important;
}

.footerNavLink {
  padding-top: clamp(13px, 1.40625vw, 27px);
  padding-bottom: clamp(13px, 1.40625vw, 27px);
  -moz-column-gap: clamp(14px, 1.25vw, 24px);
       column-gap: clamp(14px, 1.25vw, 24px);
  letter-spacing: 0.2em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  font-size: clamp(1.6rem, (1.0416666667vw), 2rem);
  line-height: 1.5;
  width: 100%;
}

.footerBottom {
  margin-top: clamp(50px, 3.0729166667vw, 59px);
  height: clamp(150px, 10.4166666667vw, 200px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  position: relative;
  color: white;
}
@media (max-width: 767px) {
  .footerBottom {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column-reverse;
    row-gap: 30px;
  }
}
@media (max-width: 374px) {
  .footerBottom {
    row-gap: 12px;
  }
}
.footerBottom::after {
  content: "";
  display: block;
  width: 150vw;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  background-color: #6eccaf;
}

.footerRights {
  font-size: clamp(1.4rem, (0.8333333333vw), 1.6rem);
  line-height: 1.5;
}
@media (max-width: 767px) {
  .footerRights {
    text-align: center;
  }
}

.footerPolicy {
  letter-spacing: 0.2em;
  text-align: right;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 1.5;
}
@media (max-width: 767px) {
  .footerPolicy {
    text-align: center;
  }
}

.footerHead {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-direction: row;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  padding-left: clamp(20px, 5.2083333333vw, 100px);
  padding-right: clamp(20px, 6.7708333333vw, 130px);
}
@media (max-width: 1600px) {
  .footerHead {
    padding-right: clamp(20px, 5.2083333333vw, 100px);
  }
}
@media (max-width: 767px) {
  .footerHead {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row;
  }
}

.footerHeadLine {
  width: 100%;
  height: 3px;
  background-color: #6eccaf;
  display: block;
  border-radius: 1.5px;
}
@media (max-width: 767px) {
  .footerHeadLine {
    display: none;
  }
}

.footerBtn {
  margin-left: 28px;
  transform: translateY(50%);
}
@media (max-width: 767px) {
  .footerBtn {
    margin-left: 0;
    position: absolute;
    top: 20px;
    right: 20px;
    transform: translateY(0);
  }
}

.footerBtnIcon {
  width: 40px;
  min-width: 40px;
  background-color: #6eccaf;
}
.footerBtnIcon::after {
  background-color: white;
}

.footerBtnArrow {
  width: 16px;
  height: 8px;
}

.footerLogo {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  margin-right: 39px;
}
@media (max-width: 767px) {
  .footerLogo {
    margin-right: 0;
  }
}

.footerLogoSub {
  font-size: 1.9rem;
  letter-spacing: 0.03em;
  line-height: 1;
  text-align: center;
  color: #6eccaf;
  white-space: nowrap;
}

.footerLogoMain {
  font-size: 5rem;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-align: center;
  color: #6eccaf;
  white-space: nowrap;
}

.fv {
  margin-top: clamp(70px, 7.8125vw, 150px);
  width: 100%;
  padding-left: clamp(20px, 5.2083333333vw, 100px);
  padding-right: clamp(20px, 5.2083333333vw, 100px);
  position: relative;
  z-index: 3;
}
@media (max-width: 767px) {
  .fv {
    padding-left: 0;
    padding-right: 0;
  }
}
.fv.-home::after {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + 2px);
  position: absolute;
  top: clamp(400px, 31.25vw, 600px);
  left: 50%;
  transform: translate(-50%, 0%);
  background-color: #f6fbfb;
  z-index: -1;
}

.fvInner {
  width: 100%;
  height: clamp(500px, 41.6666666667vw, 800px);
  position: relative;
}

.fvSlider {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-top-left-radius: 100px;
  border-top-right-radius: 100px;
  z-index: 1;
}
@media (max-width: 767px) {
  .fvSlider {
    border-radius: 0;
  }
}

.fvImg {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-top-left-radius: 100px;
  border-top-right-radius: 100px;
  z-index: 1;
}
.fvImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  scale: 1.1;
  transition: scale 1.5s ease, opacity 1s ease;
  opacity: 0;
}
.fvImg img.-show {
  scale: 1;
  opacity: 1;
}
@media (max-width: 767px) {
  .fvImg {
    border-radius: 0;
  }
}

.fvSliderSlide {
  position: absolute;
  pointer-events: none;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  transition: transform 7s linear, opacity 1s ease;
  opacity: 0;
}
.fvSliderSlide.-active {
  transform: translate(-50%, -50%) scale(1.1);
  opacity: 1;
}
.fvSliderSlide.-right {
  -o-object-position: center right;
     object-position: center right;
}

.fvCopy {
  position: absolute;
  left: clamp(40px, 5.2083333333vw, 100px);
  top: clamp(205px, 14.7916666667vw, 284px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  z-index: 2;
  -moz-column-gap: 14px;
       column-gap: 14px;
}
@media (max-width: 1000px) {
  .fvCopy {
    top: 70px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row-reverse;
  }
}

.fvCopyTtl {
  overflow: hidden;
  letter-spacing: 0.2em;
  text-align: center;
  font-size: clamp(3rem, (3.125vw), 6rem);
  line-height: 1.75;
}
@media (max-width: 1000px) {
  .fvCopyTtl {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    line-height: 1.18;
  }
}
.fvCopyTtl.-show span {
  transform: translate(0%);
}
.fvCopyTtl span {
  display: inline-block;
  transform: translateY(105%);
  transition: all 0.5s ease 1s;
}
@media (max-width: 1000px) {
  .fvCopyTtl span {
    transform: translateX(-105%);
  }
}

.fvCopyTxt {
  overflow: hidden;
  letter-spacing: 0.54em;
  text-align: center;
  font-size: clamp(1.2rem, (1.25vw), 2.4rem);
  line-height: 1.75;
}
@media (max-width: 1000px) {
  .fvCopyTxt {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    line-height: 1.5;
    padding-top: 6px;
  }
}
.fvCopyTxt.-show span:not(.-rotate) {
  transform: translate(0%);
}
.fvCopyTxt span:not(.-rotate) {
  display: inline-block;
  transform: translateY(105%);
  transition: all 0.5s ease 1s;
}
@media (max-width: 1000px) {
  .fvCopyTxt span:not(.-rotate) {
    transform: translateX(-105%);
  }
}
@media (max-width: 1000px) {
  .fvCopyTxt span.-rotate {
    rotate: 90deg;
    transform-origin: center center;
    display: inline-block;
    transform: translate(5px, 2px);
  }
}

.fvMain {
  position: absolute;
  left: clamp(40px, 5.2083333333vw, 100px);
  top: clamp(205px, 14.7916666667vw, 284px);
  z-index: 2;
}
@media (max-width: 1000px) {
  .fvMain {
    top: 70px;
  }
}

.fvMainTtl {
  overflow: hidden;
  letter-spacing: 0.2em;
  text-align: center;
  font-size: clamp(3rem, (3.125vw), 6rem);
  line-height: 1.75;
}
.fvMainTtl.-show span {
  transform: translate(0%);
}
.fvMainTtl span {
  display: inline-block;
  transform: translateY(105%);
  transition: all 0.5s ease 0.5s;
}
@media (max-width: 1000px) {
  .fvMainTtl span {
    transform: translateX(-105%);
  }
}

.guide {
  width: 100%;
  position: relative;
  margin-top: clamp(50px, 10.4166666667vw, 200px);
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
}
@media (max-width: 767px) {
  .guide {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .guide {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .guide {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.guideTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.4807692308;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .guideTtl {
    text-align: center;
  }
}

.guideBody {
  margin-top: 33px;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(20px, 2.6041666667vw, 50px);
}

.guideBodyInner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(29.4px, 2.1875vw, 42px);
       column-gap: clamp(29.4px, 2.1875vw, 42px);
}
@media (max-width: 767px) {
  .guideBodyInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 30px;
  }
}

.guideBodyGroup {
  width: 100%;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
  background: #f6fbfb;
  padding-top: clamp(20px, 2.6041666667vw, 50px);
  padding-right: clamp(20px, 2.6041666667vw, 50px);
  padding-bottom: 50px;
  padding-left: clamp(20px, 2.6041666667vw, 50px);
}

.guideContents {
  width: 100%;
}

.guideBodyTtl {
  font-size: clamp(2.2rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  color: #6eccaf;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}

.guideBodyIcon {
  margin-top: clamp(1px, 0.1041666667vw, 2px);
  width: 30px;
  min-width: 30px;
  height: 30px;
  margin-right: clamp(8px, 0.78125vw, 15px);
  -o-object-fit: contain;
     object-fit: contain;
}

.guideBodyTxt {
  font-size: clamp(1.8rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.1em;
}

.guideBodyList {
  margin-top: 20px;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 25px;
}

.guideBodyItem {
  font-size: clamp(1.8rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: 15px;
       column-gap: 15px;
}

.guideBodyNum {
  font-size: clamp(2.8rem, (1.4583333333vw), 2.8rem);
  font-weight: 500;
  line-height: 1;
}

.guideBodyContents {
  width: 100%;
  position: relative;
}

.guideBodyNote {
  margin-top: 25px;
  color: #ee9ca1;
  font-size: clamp(1.8rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.1em;
}

.guideSlider {
  width: clamp(310px, 30.7291666667vw, 590px);
  min-width: clamp(310px, 30.7291666667vw, 590px);
  max-width: 100%;
}
@media (max-width: 767px) {
  .guideSlider {
    width: 100%;
    min-width: 100%;
  }
}
.guideSlider .splide__pagination {
  display: flex !important;
  bottom: -9px;
  transform: translate(0%, 100%);
  -moz-column-gap: 6px;
       column-gap: 6px;
}
.guideSlider .splide__pagination__page {
  background: white;
  border: 1px solid #6eccaf;
}
.guideSlider .splide__pagination__page.is-active {
  transform: scale(1);
  background-color: #6eccaf;
  opacity: 1;
}

.guideSliderInner {
  border-radius: clamp(10px, 1.0416666667vw, 20px);
}

.guideSliderItem img {
  width: 100%;
  aspect-ratio: 590/405;
}
@media (max-width: 767px) {
  .guideSliderItem img {
    aspect-ratio: 310/233;
  }
}

.guideBodyBtn {
  margin-top: 42px;
  margin-left: auto;
  width: 400px;
  max-width: 100%;
  padding-top: clamp(23px, 1.4583333333vw, 28px);
  padding-bottom: clamp(25px, 1.4583333333vw, 28px);
  padding-right: clamp(30px, 1.5625vw, 30px);
  padding-left: clamp(30px, 1.5625vw, 30px);
  border: 1px solid #6eccaf;
  border-radius: 20px;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  color: #6eccaf;
  font-size: clamp(1.8rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  overflow: hidden;
  z-index: 1;
}
@media (max-width: 767px) {
  .guideBodyBtn {
    width: 100%;
  }
}
.guideBodyBtn::before {
  content: "";
  display: block;
  background-color: white;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
}
.guideBodyBtn::after {
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.01s cubic-bezier(0.77, 0, 0.175, 1) 0.2s, opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  content: "";
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  width: 120%;
  opacity: 0;
  background-color: #6eccaf;
}
@media (max-width: 767px) {
  .guideBodyBtn::after {
    width: 120%;
  }
}
.guideBodyBtn:hover {
  opacity: 1;
}
.guideBodyBtn:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s ease;
}
.guideBodyBtn:hover .guideBottomIcon.-normal {
  opacity: 0;
}
.guideBodyBtn:hover .guideBottomIcon.-inverted {
  opacity: 1;
}
.guideBodyBtn:hover .guideBottomTtl {
  color: white;
}
.guideBodyBtn:hover .guideBottomArrow.-normal {
  opacity: 0;
}
.guideBodyBtn:hover .guideBottomArrow.-inverted {
  opacity: 1;
}

.guideBottomArrows {
  width: 20px;
  min-width: 20px;
  aspect-ratio: 1/1;
  z-index: 1;
  margin-left: auto;
  position: relative;
}

.guideBottomArrowsInner {
  position: relative;
  width: 100%;
  height: 100%;
}

.guideBottomArrow {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.guideBottomArrow.-inverted {
  opacity: 0;
}

.guideBodyTable {
  margin-top: clamp(25px, 2.0833333333vw, 40px);
  width: 100%;
  overflow: scroll;
  padding-bottom: 10px;
}
.guideBodyTable tbody {
  width: 100%;
}
.guideBodyTable tr {
  width: 100%;
}
.guideBodyTable tr:nth-of-type(odd) th,
.guideBodyTable tr:nth-of-type(odd) td {
  background-color: white;
}
.guideBodyTable tr:first-of-type th {
  border-top-left-radius: clamp(10px, 1.0416666667vw, 20px);
}
.guideBodyTable tr:first-of-type td:last-of-type {
  border-top-right-radius: clamp(10px, 1.0416666667vw, 20px);
}
.guideBodyTable tr:last-of-type th {
  border-bottom-left-radius: clamp(10px, 1.0416666667vw, 20px);
  border-bottom: 1px solid #999;
}
.guideBodyTable tr:last-of-type td {
  border-bottom: 1px solid #999;
}
.guideBodyTable tr:last-of-type td:last-of-type {
  border-bottom-right-radius: clamp(10px, 1.0416666667vw, 20px);
}
.guideBodyTable th,
.guideBodyTable td {
  font-size: clamp(1.6rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.1em;
  padding-top: clamp(20px, 1.5104166667vw, 29px);
  padding-bottom: clamp(20px, 1.5104166667vw, 29px);
  border-top: 1px solid #999;
  white-space: nowrap;
}
.guideBodyTable th {
  border-left: 1px solid #999;
  width: clamp(165px, 19.0104166667vw, 365px);
  min-width: clamp(165px, 19.0104166667vw, 365px);
  padding-left: clamp(10px, 2.6041666667vw, 50px);
  padding-right: clamp(10px, 2.6041666667vw, 50px);
}
.guideBodyTable td {
  width: clamp(120px, 11.09375vw, 213px);
  min-width: clamp(120px, 11.09375vw, 213px);
  text-align: center;
  border-left: 1px solid #999;
}
.guideBodyTable td:last-of-type {
  border-right: 1px solid #999;
}

.simplebar-scrollbar:before {
  position: absolute;
  opacity: 1 !important;
  content: "";
  background: #6eccaf;
  border-radius: 0px;
  left: 2px;
  border-radius: 3px;
  right: 2px;
  opacity: 0;
  transition: opacity 0.2s 0.5s linear;
}

.simplebar-vertical {
  display: none;
}

.simplebar-track {
  background: #b6e5d7;
  border-radius: 3px;
}

.simplebar-scrollbar {
  height: 100%;
}
.simplebar-scrollbar::before {
  height: 100%;
  top: 0;
  left: 0;
}

.simplebar-track.simplebar-horizontal {
  height: 5px;
}

.guideBodyInfo {
  margin-top: 15px;
  font-size: clamp(1.8rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .guideBodyInfo {
    letter-spacing: 0;
  }
}

.guideBodyTtl + .guideBodyTxt {
  margin-top: 20px;
}

.guideBodyInner + .guideBodyInner {
  margin-top: 80px;
}

.headerFixed {
  position: fixed;
  display: block;
  top: 0;
  right: 50%;
  z-index: 10;
  width: 100%;
  height: 100lvh;
  transform: translateX(100%);
  transition: all 0.7s cubic-bezier(0.77, 0, 0.175, 1);
  opacity: 0;
  pointer-events: none;
}
.headerFixed.-active {
  opacity: 1;
  pointer-events: all;
  transform: translateX(50%);
}
.headerFixed::after {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background: #6eccaf;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}

.headerLogo {
  position: fixed;
  top: clamp(23px, 2.2395833333vw, 43px);
  left: clamp(20px, 5.2083333333vw, 100px);
  z-index: 20;
  white-space: nowrap;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.headerLogo.-active {
  opacity: 1 !important;
  transform: translateY(0px) !important;
}

.headerLogoSub {
  text-align: center;
  color: #6eccaf;
  white-space: nowrap;
  font-size: clamp(1rem, (0.9895833333vw), 1.9rem);
  line-height: 1;
  transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}
.headerLogoSub.-active {
  color: white;
}

.headerLogoMain {
  font-size: clamp(2.5rem, (2.6041666667vw), 5rem);
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-align: center;
  color: #6eccaf;
  white-space: nowrap;
  transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}
.headerLogoMain.-active {
  color: white;
}

.headerNav {
  width: 57.8947368421%;
  margin-top: calc(-100% + 100% - clamp(13px, 1.3020833333vw, 25px));
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 1450px) {
  .headerNav {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 1000px) {
  .headerNav {
    width: 100%;
    margin-top: 0;
  }
}

.headerNavList {
  width: 44.7727272727%;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.1s ease 0.5s;
}
@media (max-width: 1450px) {
  .headerNavList {
    width: 100%;
  }
  .headerNavList:first-of-type {
    border-top: 1px solid white;
  }
}
.headerNavList:nth-of-type(1).-active {
  opacity: 1;
  transform: translateY(0px);
  transition: all 0.6s ease 0.6s;
}
.headerNavList:nth-of-type(2).-active {
  opacity: 1;
  transform: translateY(0px);
  transition: all 0.6s ease 0.7s;
}
@media (max-width: 767px) {
  .headerNavList:nth-of-type(2).-active {
    transition: all 0.6s ease 0.6s;
  }
}

.headerNavItem {
  position: relative;
  width: 100%;
  max-width: 100%;
  border-bottom: 1px solid white;
}

.headerCloseTrigger {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 4;
  display: none;
  width: 100vw;
  height: 100vh;
}
.headerCloseTrigger.-active {
  display: block;
}

.headerScroll {
  overflow-y: scroll;
  width: 100vw;
  max-height: 100%;
  padding-top: clamp(135px, 17.7604166667vw, 341px);
  padding-bottom: clamp(22px, 3.90625vw, 75px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
@media (max-width: 767px) {
  .headerScroll {
    padding-bottom: calc(clamp(22px, 3.90625vw, 75px) + 100lvh - 100svh);
  }
}

.headerContainer {
  width: 100%;
  max-width: 1920px;
  display: inline-flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: column;
  padding-right: clamp(20px, 15.625vw, 300px);
  padding-left: clamp(20px, 5.2083333333vw, 100px);
}
@media (max-width: 1600px) {
  .headerContainer {
    padding-right: clamp(20px, 5.2083333333vw, 100px);
  }
}
@media (max-width: 767px) {
  .headerContainer {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.headerBlocks {
  row-gap: 60px;
  display: inline-flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 1000px) {
  .headerBlocks {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.headerInfo {
  min-width: clamp(535px, 41.6666666667vw, 600px);
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.1s ease 0.5s;
}
@media (max-width: 767px) {
  .headerInfo {
    display: none;
    min-width: 0;
  }
}
.headerInfo.-active {
  opacity: 1;
  transform: translateY(0px);
  transition: all 0.6s ease 0.5s;
}

.headerInfoList {
  row-gap: clamp(19px, 1.3541666667vw, 26px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.headerInfoWrap.-tel {
  -moz-column-gap: clamp(19px, 1.25vw, 24px);
       column-gap: clamp(19px, 1.25vw, 24px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  margin-bottom: 15px;
}
.headerInfoWrap.-common {
  -moz-column-gap: clamp(21px, 1.5625vw, 30px);
       column-gap: clamp(21px, 1.5625vw, 30px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}

.headerInfoTxt.-tel {
  font-size: clamp(3rem, (2.2395833333vw), 4.3rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  color: white;
}
.headerInfoTxt.-common {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 2.6666666667;
  letter-spacing: 0.2em;
  margin-top: -0.5em;
  color: white;
}
@media (max-width: 767px) {
  .headerInfoTxt.-common {
    letter-spacing: 0;
  }
  .headerInfoTxt.-common br {
    display: none;
  }
}

.headerInfoIcon {
  aspect-ratio: 1/1;
}
.headerInfoIcon.-tel {
  width: 31px;
}
.headerInfoIcon.-common {
  width: 20px;
  margin-left: 5px;
  margin-top: clamp(3px, 0.3125vw, 6px);
}
@media (max-width: 767px) {
  .headerInfoIcon.-common {
    margin-left: 0;
  }
}

.headerInfoDef {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .headerInfoDef {
    flex-wrap: wrap;
  }
}

.headerInfoTerm {
  min-width: clamp(93px, 6.3020833333vw, 121px);
  color: white;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 2.6666666667;
  letter-spacing: 0.2em;
  margin-top: -0.5em;
}
@media (max-width: 767px) {
  .headerInfoTerm {
    letter-spacing: 0;
  }
}

.headerInfoDesc {
  color: white;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 2.6666666667;
  letter-spacing: 0.2em;
  margin-top: -0.5em;
}
@media (max-width: 767px) {
  .headerInfoDesc {
    letter-spacing: 0;
  }
}
.headerInfoDesc span {
  display: inline-block;
}

.headerNavBtn,
.headerNavBtn2 {
  width: 100%;
  padding-top: clamp(13px, 1.3020833333vw, 25px);
  padding-bottom: clamp(13px, 1.3020833333vw, 25px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  pointer-events: none !important;
}
.headerNavBtn.-active,
.headerNavBtn2.-active {
  pointer-events: auto !important;
}

.headerNavIcon {
  width: 20px;
  min-width: 20px;
  border: 1.7px solid white;
}
.headerNavIcon::after {
  background-color: white;
}

.headerNavArrow {
  width: 5px;
  height: 9px;
}

.headerNavTtl {
  padding-left: clamp(22px, 1.7708333333vw, 34px);
  padding-right: 14px;
  color: white;
  text-align: left;
  white-space: nowrap;
  letter-spacing: 0.2em;
  font-size: clamp(1.6rem, (0.9895833333vw), 1.9rem);
  line-height: 1.4736842105;
}
@media (max-width: 374px) {
  .headerNavTtl {
    font-size: 1.5rem;
  }
}

.headerNavExpand {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: inline-block;
}

.headerNavExpandInner {
  position: relative;
  display: inline-block;
  width: 14px;
  min-width: 14px;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
.headerNavExpandInner::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background-color: white;
  transform: translate(-50%, -50%);
  opacity: 1;
  transition: all 0.3s;
}
.headerNavExpandInner::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 100%;
  border-radius: 2px;
  background-color: white;
  transform: translate(-50%, -50%);
}
.headerNavExpandInner.-hide::before {
  opacity: 0;
}

.headerNavWrap {
  padding-left: clamp(42px, 2.6041666667vw, 50px);
  overflow: hidden;
  transition: all 0.3s ease;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.headerNavWrap.-hide {
  height: 0 !important;
}

.headerNavLink {
  padding-top: clamp(13px, 1.40625vw, 27px);
  padding-bottom: clamp(13px, 1.40625vw, 27px);
  -moz-column-gap: clamp(14px, 1.25vw, 24px);
       column-gap: clamp(14px, 1.25vw, 24px);
  color: white;
  letter-spacing: 0.2em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  font-size: clamp(1.6rem, (1.0416666667vw), 2rem);
  line-height: 1.5;
  width: 100%;
}

.headerBottom {
  margin-top: clamp(45px, 7.9166666667vw, 152px);
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .headerBottom {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column-reverse;
    row-gap: 30px;
  }
}

.headerRights {
  font-size: clamp(1.4rem, (0.8333333333vw), 1.6rem);
  line-height: 1.5;
}
@media (max-width: 767px) {
  .headerRights {
    text-align: center;
  }
}

.headerPolicy {
  color: #fff;
  letter-spacing: 0.2em;
  text-align: right;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 1.5;
}
@media (max-width: 767px) {
  .headerPolicy {
    text-align: center;
  }
}

.headerSub {
  position: fixed;
  top: clamp(33px, 3.9583333333vw, 76px);
  right: clamp(110px, 14.3229166667vw, 275px);
  z-index: 11;
}
.headerSub.-active {
  opacity: 1 !important;
  transform: translateY(0px) !important;
}

.headerSubList {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  -moz-column-gap: clamp(32px, 2.6041666667vw, 50px);
       column-gap: clamp(32px, 2.6041666667vw, 50px);
}

.headerSubLink {
  letter-spacing: 0.1em;
  font-size: clamp(1.5rem, (1.0416666667vw), 2rem);
  line-height: 1.75;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.headerSubLink.-active {
  color: white;
}
.headerSubLink.-online {
  color: white;
  background-color: #6eccaf;
  height: clamp(25px, 1.5625vw, 30px);
  padding-left: clamp(22px, 1.40625vw, 27px);
  padding-right: clamp(22px, 1.40625vw, 27px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  border-radius: 15px;
}
.headerSubLink.-online.-active {
  color: #6eccaf;
  background-color: white;
}

.headerBg {
  width: 100vw;
  height: clamp(70px, 7.8125vw, 150px);
  border-bottom-left-radius: clamp(21px, 2.6041666667vw, 50px);
  background-color: white;
  z-index: 9;
  position: fixed;
  top: 0;
  left: 0;
  transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.headerBg.-active {
  transform: translateY(0px) !important;
  opacity: 1 !important;
}
.headerBg::after {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 10px;
  content: "";
  display: block;
  background-color: #6eccaf;
  z-index: 1;
}

.hero {
  margin-top: clamp(70px, 7.8125vw, 150px);
  width: 100%;
  padding-left: clamp(20px, 5.2083333333vw, 100px);
  padding-right: clamp(20px, 5.2083333333vw, 100px);
  position: relative;
  z-index: 4;
}
@media (max-width: 767px) {
  .hero {
    padding-left: 0;
    padding-right: 0;
  }
}
.hero.-home::after {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + 2px);
  position: absolute;
  top: clamp(400px, 31.25vw, 600px);
  left: 50%;
  transform: translate(-50%, 0%);
  background-color: #f6fbfb;
  z-index: -1;
}

.heroInner {
  width: 100%;
  height: clamp(200px, 34.375vw, 660px);
  position: relative;
}

.heroImg {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-top-left-radius: clamp(70px, 5.2083333333vw, 100px);
  border-top-right-radius: clamp(70px, 5.2083333333vw, 100px);
  z-index: 1;
}
.heroImg::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgb(255, 255, 255);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 15%, rgba(255, 255, 255, 0) 100%);
  z-index: 1;
}
.heroImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 80% 50%;
     object-position: 80% 50%;
  scale: 1.1;
  transition: scale 1.5s ease, opacity 1s ease;
  opacity: 0;
  position: relative;
  z-index: 0;
  scale: 1;
  opacity: 1;
}
@media (max-width: 767px) {
  .heroImg img {
    -o-object-position: 92% 50%;
       object-position: 92% 50%;
  }
}
@media (max-width: 767px) {
  .heroImg {
    border-radius: 0;
  }
}

.heroMain {
  position: absolute;
  left: clamp(20px, 10.4166666667vw, 200px);
  top: 50%;
  transform: translateY(-70%);
  z-index: 2;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(6px, 1.0416666667vw, 20px);
       column-gap: clamp(6px, 1.0416666667vw, 20px);
}
@media (max-width: 1000px) {
  .heroMain {
    transform: translateY(-50%);
  }
}
@media (max-width: 767px) {
  .heroMain {
    left: 20px;
  }
}

.heroMainTtl {
  overflow: hidden;
  letter-spacing: 0.2em;
  text-align: left;
  font-size: clamp(3rem, (3.125vw), 6rem);
  line-height: 1.75;
}
.heroMainTtl.-small {
  font-size: clamp(2.4rem, (3.125vw), 6rem);
  line-height: 1.75;
}
.heroMainTtl span {
  display: inline-block;
  transform: translate(0%);
  transition: all 0.5s ease 0.5s;
}

.heroMainIcon {
  width: clamp(54px, 7.1354166667vw, 137px);
  min-width: clamp(54px, 7.1354166667vw, 137px);
  height: clamp(54px, 7.1354166667vw, 137px);
  -o-object-fit: contain;
     object-fit: contain;
  transform: translateY(calc(-100% + 100% - clamp(5px, 0.625vw, 12px)));
}

.important {
  margin-top: calc(-100% + 100% - clamp(50px, 3.9583333333vw, 76px));
  position: relative;
  z-index: 3;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  transform: translateY(75px);
  opacity: 0;
  transition: all 0.5s ease 1s;
}
@media (max-width: 767px) {
  .important {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.important.-show {
  opacity: 1;
  transform: translate(0);
}

.importantInner {
  margin-left: auto;
  margin-right: auto;
  background-color: white;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
  padding-top: 29px;
  padding-left: clamp(15px, 6.0416666667vw, 116px);
  padding-right: clamp(15px, 6.0416666667vw, 116px);
  padding-bottom: clamp(19px, 2.8125vw, 54px);
  width: 100%;
  max-width: 920px;
  filter: drop-shadow(0px 12.3px 12.3px rgba(0, 0, 0, 0.05));
}
@media (max-width: 767px) {
  .importantInner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    padding-left: 15px;
    padding-right: 15px;
  }
}

.importantTtl {
  display: inline-block;
  font-size: clamp(2.19rem, (1.875vw), 3.6rem);
  line-height: 1;
  color: #6eccaf;
  letter-spacing: 0.2em;
  position: relative;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .importantTtl {
    line-height: 0.8219178082;
  }
}
@media (max-width: 767px) {
  .importantTtl {
    text-align: center;
  }
}
.importantTtl::after {
  content: "";
  display: block;
  width: calc(100% + clamp(0px, 0.78125vw, 15px));
  height: clamp(1px, 0.15625vw, 3px);
  background-color: #6eccaf;
  position: absolute;
  bottom: calc(-100% + 100% - clamp(6px, 0.5208333333vw, 10px));
  left: 50%;
  transform: translateX(-50%);
}

.importantArchive {
  margin-top: clamp(26px, 2.7083333333vw, 52px);
}

.importantArchiveList {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(13px, 1.6145833333vw, 31px);
}

.importantArchiveLink {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  row-gap: 4px;
}
@media (max-width: 767px) {
  .importantArchiveLink {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.importantArchiveTime {
  font-size: clamp(1.6rem, (1.0416666667vw), 2rem);
  line-height: 1.5;
  letter-spacing: 0.2em;
  padding-left: clamp(32px, 2.34375vw, 45px);
  position: relative;
}
@media (max-width: 767px) {
  .importantArchiveTime {
    font-size: clamp(1.4rem, (1.0416666667vw), 2rem);
    line-height: 1.5;
  }
}
.importantArchiveTime::before {
  content: "";
  display: block;
  width: 20px;
  aspect-ratio: 1/1;
  background-image: url(../img/common/icon_exclamation_green.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-48%);
}
@media (max-width: 767px) {
  .importantArchiveTime::before {
    top: 130%;
    transform: translateY(0%);
  }
}

.importantArchiveTtl {
  font-size: clamp(1.6rem, (1.0416666667vw), 2rem);
  line-height: 1.5;
  padding-left: clamp(30px, 3.125vw, 60px);
}

.info {
  position: fixed;
  bottom: 5vh;
  right: 0;
  z-index: 5;
  max-width: calc(100vw - 16px);
  transform: translateX(100%);
  transition: all 0.3s ease;
}
.info.-expanded {
  transform: translateX(0%);
}
@media (max-width: 767px) {
  .info.-expanded {
    transform: translate(-50%, 0);
  }
}
@media (max-width: 767px) {
  .info {
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 100%);
    width: calc(100% - 40px);
  }
}

.infoInner {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row;
}

.infoHeader {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-100%);
  height: 100%;
}
@media (max-width: 767px) {
  .infoHeader {
    height: auto;
    width: 100%;
    transform: translate(0, -100%);
  }
}

.infoHeaderBtn {
  border-top-left-radius: clamp(20px, 1.8229166667vw, 35px);
  border-bottom-left-radius: clamp(20px, 1.8229166667vw, 35px);
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  height: 100%;
  background-color: #6eccaf;
  border: 1px solid #6eccaf;
  transition: all 0.3s ease;
  cursor: pointer;
  padding-top: clamp(23px, 1.8229166667vw, 35px);
  padding-bottom: clamp(17px, 1.8229166667vw, 35px);
  padding-left: 30px;
  padding-right: 30px;
}
@media (max-width: 767px) {
  .infoHeaderBtn {
    border-top-left-radius: clamp(20px, 1.8229166667vw, 35px);
    border-top-right-radius: clamp(20px, 1.8229166667vw, 35px);
    border-bottom-left-radius: 0;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    border: 1px solid #6eccaf;
  }
}
.infoHeaderBtn:hover {
  background-color: white;
}
.infoHeaderBtn:hover .infoHeaderArrow {
  border: 1.7px solid #6eccaf;
}
.infoHeaderBtn:hover .infoHeaderTxt {
  color: #6eccaf;
}
.infoHeaderBtn:hover .infoHeaderIcon.-green {
  opacity: 1;
}
.infoHeaderBtn:hover .infoHeaderArrowIcon.-inverted {
  opacity: 1;
}

.infoHeaderIcons {
  position: relative;
}

.infoHeaderIcon {
  width: 20px;
  min-width: 20px;
  aspect-ratio: 1/1;
}
.infoHeaderIcon.-green {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.infoHeaderTxt {
  margin-top: 21px;
  writing-mode: vertical-rl;
  color: white;
  white-space: nowrap;
  letter-spacing: 0.3em;
}
@media (max-width: 767px) {
  .infoHeaderTxt {
    writing-mode: horizontal-tb;
    letter-spacing: 0.2em;
    margin-top: 0;
    padding-left: 16px;
  }
}

.infoHeaderArrow {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 1.7px solid white;
  border-radius: 50%;
  margin-top: auto;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  rotate: 180deg;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .infoHeaderArrow {
    rotate: 270deg;
    margin-left: auto;
  }
}
.infoHeaderArrow.-expanded {
  rotate: 0deg;
}
@media (max-width: 767px) {
  .infoHeaderArrow.-expanded {
    rotate: 90deg;
  }
}
.infoHeaderArrow::after {
  background-color: #6eccaf;
}

.infoHeaderArrowIcon {
  width: 5px;
  height: 9px;
}
.infoHeaderArrowIcon.-inverted {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.infoContents {
  padding-top: clamp(23px, 1.8229166667vw, 35px);
  padding-bottom: clamp(17px, 1.8229166667vw, 35px);
  padding-left: 30px;
  padding-right: clamp(30px, 6.5104166667vw, 125px);
  background-color: white;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(30px, 6.71875vw, 129px);
       column-gap: clamp(30px, 6.71875vw, 129px);
  box-shadow: 0px 12px 12px rgba(0, 0, 0, 0.05);
}
@media (max-width: 1097px) {
  .infoContents {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: clamp(17px, 1.9791666667vw, 38px);
  }
}
@media (max-width: 767px) {
  .infoContents {
    width: 100%;
    padding-top: 35px;
    padding-bottom: 35px;
  }
}

.infoContentsList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(17px, 1.9791666667vw, 38px);
}
@media (max-width: 767px) {
  .infoContentsList {
    width: 100%;
  }
}

.infoContentsItem {
  width: 100%;
}

.infoContentsLink {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}

.infoContentsSymbol {
  margin-top: clamp(1px, 0.1041666667vw, 2px);
}

.infoContentsTxt {
  font-size: clamp(1.4rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.01em;
  padding-left: clamp(10px, 2.6041666667vw, 50px);
  padding-right: clamp(20px, 1.4583333333vw, 28px);
  max-width: 365px;
}

.infoContentsIcon {
  width: 20px;
  min-width: 20px;
  border: 1.7px solid #333;
  margin-left: auto;
  margin-top: clamp(1px, 0.1041666667vw, 2px);
}
.infoContentsIcon::after {
  background-color: #d6d6d6;
}

.infoContentsArrow {
  width: 5px;
  height: 9px;
}

.information {
  padding-top: clamp(92px, 12.1875vw, 234px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  position: relative;
  z-index: 3;
}
@media (max-width: 767px) {
  .information {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .information {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .information {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 767px) {
  .information {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.informationInner {
  opacity: 0;
  transition: all 1s ease;
  transform: translateY(50px);
}
.informationInner.-show {
  opacity: 1;
  transform: translateY(0px);
}

.informationContents {
  margin-top: clamp(40px, 3.3333333333vw, 64px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
}
@media (max-width: 767px) {
  .informationContents {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: clamp(35px, 2.0833333333vw, 40px);
  }
}

.informationContentsList {
  width: 43.7121212121%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(35px, 2.0833333333vw, 40px);
}
@media (max-width: 767px) {
  .informationContentsList {
    width: 100%;
  }
}

.informationContentsItem {
  width: 100%;
}

.informationContentsLink {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(20px, 1.4583333333vw, 28px);
       column-gap: clamp(20px, 1.4583333333vw, 28px);
  width: 100%;
}

.informationContentsSymbol {
  width: 20px;
  min-width: 20px;
  aspect-ratio: 1/1;
}

.informationContentsTxt {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-top: -3px;
}
@media (max-width: 767px) {
  .informationContentsTxt {
    letter-spacing: 0;
  }
}

.informationContentsIcon {
  width: 20px;
  min-width: 20px;
  border: 1.7px solid #333;
  margin-left: auto;
  margin-top: clamp(1px, 0.1041666667vw, 2px);
}
.informationContentsIcon::after {
  background-color: #d6d6d6;
}

.informationContentsArrow {
  width: 5px;
  height: 9px;
}

.intro {
  width: 100%;
  position: relative;
  margin-top: clamp(50px, 10.4166666667vw, 200px);
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
}
@media (max-width: 767px) {
  .intro {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .intro {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .intro {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.intro::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + clamp(210px, 15.625vw, 300px));
  background: #f6fbfb;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
}

.introInner {
  width: 100%;
  z-index: 1;
  position: relative;
}

.introBody {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(0px, 6.25vw, 120px);
       column-gap: clamp(0px, 6.25vw, 120px);
}
@media (max-width: 767px) {
  .introBody {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 40px;
  }
}

.introBodyTxt {
  width: 100%;
  font-size: clamp(1.8rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .introBodyTxt {
    letter-spacing: 0;
  }
}

.introBodyWrap {
  position: relative;
}
.introBodyWrap::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  background-color: #fff;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.1s ease;
}
@media (max-width: 767px) {
  .introBodyWrap::after {
    display: none;
  }
}
.introBodyWrap:hover::after {
  opacity: 0.5;
}
.introBodyWrap:hover .introBodyBtn {
  opacity: 1;
  pointer-events: auto;
}

.introBodyBtn {
  background-color: #6eccaf;
  color: #fff;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  -moz-column-gap: clamp(0px, 3.90625vw, 75px);
       column-gap: clamp(0px, 3.90625vw, 75px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 30px;
  padding-right: 30px;
  border-radius: 30px;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.1s ease;
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  .introBodyBtn {
    display: none;
  }
}
.introBodyBtn img {
  width: 23px;
  height: 22px;
  min-width: 22px;
}

.introBodyImg {
  width: clamp(350px, 33.3333333333vw, 640px);
  min-width: clamp(350px, 33.3333333333vw, 640px);
  max-width: 100%;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 767px) {
  .introBodyImg {
    width: 100%;
    min-width: 100%;
  }
}

.introExpanded {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 20;
  width: 100vw;
  height: 100vh;
  background-color: rgba(56, 56, 56, 0.8);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.1s ease;
}
.introExpanded.-show {
  opacity: 1;
  pointer-events: auto;
}
@media (max-width: 767px) {
  .introExpanded {
    display: none;
  }
}

.introExpandedInner {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.introExpandedClose {
  position: absolute;
  top: 50px;
  right: 50px;
  width: 50px;
  height: 50px;
  cursor: pointer;
}

.introExpandedImg {
  width: 80%;
  height: 80%;
  -o-object-fit: contain;
     object-fit: contain;
}

.nav {
  position: relative;
  z-index: 3;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  margin-top: clamp(55px, 5.2083333333vw, 100px);
}
@media (max-width: 767px) {
  .nav {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .nav {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .nav {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.nav::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + clamp(210px, 15.625vw, 300px));
  background: #f6fbfb;
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: -1;
}

.navInner {
  width: 100%;
}

.navList {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(16px, 2.0833333333vw, 40px);
  -moz-column-gap: clamp(16px, 2.0833333333vw, 40px);
       column-gap: clamp(16px, 2.0833333333vw, 40px);
  align-items: stretch;
}

.navListItem {
  width: calc((100% - clamp(16px, 2.0833333333vw, 40px) * 3) / 4);
}
@media (max-width: 1450px) {
  .navListItem {
    width: calc((100% - clamp(16px, 2.0833333333vw, 40px) * 1) / 2);
  }
}
@media (max-width: 767px) {
  .navListItem {
    width: calc((100% - clamp(16px, 2.0833333333vw, 40px) * 0) / 1);
  }
}

.navListLink {
  width: 100%;
  background-color: #6eccaf;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  color: white;
  border-radius: 20px;
  padding: clamp(22px, 1.0416666667vw, 20px) 30px;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
}

.navLink {
  width: 100%;
  max-width: 100%;
  padding-top: clamp(20px, 1.5625vw, 30px);
  padding-bottom: clamp(20px, 1.5625vw, 30px);
  padding-right: 30px;
  padding-left: 30px;
  border: 1px solid #6eccaf;
  border-radius: 20px;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  color: white;
  height: 100%;
  font-size: clamp(2rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  overflow: hidden;
  z-index: 1;
}
@media (max-width: 767px) {
  .navLink {
    margin-left: auto;
    margin-right: auto;
  }
}
.navLink::before {
  content: "";
  display: block;
  background-color: #6eccaf;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
}
.navLink::after {
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.01s cubic-bezier(0.77, 0, 0.175, 1) 0.2s, opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  content: "";
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  width: 120%;
  opacity: 0;
  background-color: white;
}
@media (max-width: 767px) {
  .navLink::after {
    width: 120%;
  }
}
.navLink span {
  display: inline-block;
}
.navLink:hover {
  opacity: 1;
}
.navLink:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s ease;
}
.navLink:hover .navLinkIcon.-normal {
  opacity: 0;
}
.navLink:hover .navLinkIcon.-inverted {
  opacity: 1;
}
.navLink:hover .navLinkTtl {
  color: #6eccaf;
}
.navLink:hover .navLinkArrow.-normal {
  opacity: 1;
}
.navLink:hover .navLinkArrow.-inverted {
  opacity: 0;
}

.navLinkTtl {
  font-size: clamp(2rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.6;
  transition: all 0.3s ease;
}

.navLinkArrows {
  width: 20px;
  min-width: 20px;
  aspect-ratio: 1/1;
  z-index: 1;
  margin-left: auto;
  position: relative;
}

.navLinkArrowsInner {
  position: relative;
  width: 100%;
  height: 100%;
}

.navLinkArrow {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.navLinkArrow.-normal {
  opacity: 0;
}
.navLinkArrow.-inverted {
  opacity: 1;
}

.news {
  margin-top: clamp(95px, 9.375vw, 180px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  padding-bottom: clamp(100px, 10.4166666667vw, 200px);
  position: relative;
  z-index: 3;
}
@media (max-width: 767px) {
  .news {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .news {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .news {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 767px) {
  .news {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.newsInner {
  opacity: 0;
  transition: all 1s ease;
  transform: translateY(50px);
}
.newsInner.-show {
  opacity: 1;
  transform: translateY(0px);
}

.newsContainer {
  margin-top: 55px;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-direction: row;
  position: relative;
  row-gap: 48px;
}
@media (max-width: 767px) {
  .newsContainer {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.newsContainer::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: #999999;
}
@media (max-width: 767px) {
  .newsContainer::after {
    display: none;
  }
}

.newsCategory {
  width: 41.3589364845%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
}
@media (max-width: 767px) {
  .newsCategory {
    width: 100%;
  }
}

.newsCategoryArrow {
  width: 5px;
  height: 9px;
  z-index: 1;
}

.newsCategoryTtl {
  width: 100%;
  font-size: clamp(2rem, (1.7708333333vw), 3.4rem);
  line-height: 1.5588235294;
  letter-spacing: 0.15em;
  color: #6eccaf;
}

.newsCategoryList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  margin-top: clamp(32px, 3.6458333333vw, 70px);
  width: 100%;
  min-height: clamp(270px, 16.5625vw, 318px);
}
@media (max-width: 767px) {
  .newsCategoryList {
    min-height: 0;
  }
}

.newsCategoryItem {
  border-bottom: 1px solid #999999;
  width: 100%;
  opacity: 0;
  transition: all 1s ease;
  transform: translateY(50px);
}
.newsCategoryItem:first-of-type {
  border-top: 1px solid #999999;
}
.newsCategoryItem:nth-of-type(1) {
  transition-delay: calc(1 * 0.1s);
}
.newsCategoryItem:nth-of-type(2) {
  transition-delay: calc(2 * 0.1s);
}
.newsCategoryItem:nth-of-type(3) {
  transition-delay: calc(3 * 0.1s);
}
.newsCategoryItem.-show {
  opacity: 1;
  transform: translateY(0px);
}

.newsCategoryLink {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  width: 100%;
  padding-top: 15px;
  padding-bottom: 18px;
  -moz-column-gap: clamp(20px, 2.0833333333vw, 40px);
       column-gap: clamp(20px, 2.0833333333vw, 40px);
}

.newsCategoryTime {
  letter-spacing: 0.2em;
  text-align: center;
  font-size: clamp(1.4rem, (0.9375vw), 1.8rem);
  line-height: 2;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  width: clamp(60px, 5.2083333333vw, 100px);
  min-width: clamp(60px, 5.2083333333vw, 100px);
  position: relative;
}
.newsCategoryTime::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #d6d6d6;
}

.newsCategoryBtnTtl {
  padding-right: 1em;
}
.newsCategoryBtnTtl span {
  display: inline-block;
}

.newsCategoryTtlSecond {
  letter-spacing: 0.1em;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  line-height: 1.6666666667;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.newsCategoryBtn {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}

.newsCategoryIcon {
  margin-top: clamp(5px, 0.7291666667vw, 14px);
  width: 30px;
  min-width: 30px;
  background-color: #6eccaf;
}
@media (max-width: 1450px) {
  .newsCategoryIcon {
    margin-top: clamp(3px, 0.4137931034vw, 6px);
  }
}
.newsCategoryIcon::after {
  background-color: white;
}

.notFound {
  padding-top: clamp(143px, 11.6145833333vw, 223px);
  padding-left: clamp(11px, 11.4583333333vw, 220px);
  padding-right: clamp(11px, 11.4583333333vw, 220px);
  padding-bottom: 100px;
  margin: auto;
  width: 100%;
}
@media (max-width: 767px) {
  .notFound {
    padding-left: 11px;
    padding-right: 11px;
  }
}

.notFoundInner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.notFoundWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
}

.notFoundImg {
  width: clamp(161px, 24.1145833333vw, 463px);
  position: relative;
  overflow: hidden;
}
.notFoundImg::after {
  display: block;
  padding-top: 171.7062634989%;
  content: "";
}
@media (max-width: 767px) {
  .notFoundImg {
    position: relative;
    overflow: hidden;
  }
  .notFoundImg::after {
    display: block;
    padding-top: 172.6708074534%;
    content: "";
  }
}

@media (max-width: 767px) {
  .notFoundHeading {
    line-height: 1.3153846154;
  }
}
.notFoundHeading span {
  margin-left: 0.3em;
  margin-right: 0.26em;
}

.notFoundDesc {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: clamp(8px, 1.4583333333vw, 28px);
  letter-spacing: 0.03em;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .notFoundDesc {
    line-height: 1.2142857143;
  }
}

.notFoundLink {
  margin-top: 56px;
  border: 1px solid #757575;
  color: #757575;
  height: clamp(45px, 2.5vw, 48px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: clamp(343px, 24.1145833333vw, 463px);
  max-width: 100%;
}
@media (max-width: 767px) {
  .notFoundLink {
    line-height: 1.5;
  }
}

.overview {
  margin-top: clamp(55px, 5.2083333333vw, 100px);
  position: relative;
  z-index: 2;
  padding-bottom: clamp(100px, 10.0520833333vw, 193px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
}
@media (max-width: 767px) {
  .overview {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .overview {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .overview {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.overview::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + clamp(210px, 15.625vw, 300px));
  background: #f6fbfb;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
}

.overviewInner {
  width: 100%;
  position: relative;
  z-index: 1;
}

.overviewTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.2115384615;
  color: #6eccaf;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .overviewTtl {
    text-align: center;
  }
}

.overviewBody {
  margin-top: clamp(50px, 3.90625vw, 75px);
  -moz-column-gap: clamp(59.4px, 4.4270833333vw, 85px);
       column-gap: clamp(59.4px, 4.4270833333vw, 85px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  row-gap: 30px;
}
@media (max-width: 1450px) {
  .overviewBody {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
  }
}
@media (max-width: 767px) {
  .overviewBody {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}

.overviewBodyTxt {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
}

.overviewBodyImg {
  width: clamp(200px, 13.8020833333vw, 265px);
  max-width: 60%;
  -o-object-fit: contain;
     object-fit: contain;
}

.schedule {
  margin-top: clamp(100px, 10.4166666667vw, 200px);
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
}
@media (max-width: 767px) {
  .schedule {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .schedule {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .schedule {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.scheduleInner {
  width: 100%;
}

.scheduleTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.2115384615;
  color: #6eccaf;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .scheduleTtl {
    text-align: center;
  }
}
.scheduleTtl span {
  display: inline-block;
}
@media (max-width: 767px) {
  .scheduleTtl span.-pc {
    display: none;
  }
}

.scheduleBody {
  margin-top: clamp(50px, 5.2083333333vw, 100px);
  width: 100%;
}

.scheduleBodyRow {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  -moz-column-gap: 100px;
       column-gap: 100px;
  row-gap: 20px;
}

.scheduleBodyTtl {
  font-size: clamp(1.9rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.scheduleBodyList {
  margin-top: 30px;
  width: 100%;
  border-top: 1px solid #999999;
  padding-top: clamp(23px, 1.5104166667vw, 29px);
  padding-bottom: clamp(23px, 1.5104166667vw, 29px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  row-gap: 14px;
}
@media (max-width: 767px) {
  .scheduleBodyList {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.scheduleBodyList:last-of-type {
  border-bottom: 1px solid #999999;
}

.scheduleBodyTerm {
  width: clamp(160px, 10.4166666667vw, 200px);
  min-width: clamp(160px, 10.4166666667vw, 200px);
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
  padding-right: 1em;
}
@media (max-width: 767px) {
  .scheduleBodyTerm {
    padding-right: 0;
  }
}
.scheduleBodyTerm span {
  display: inline-block;
}

.scheduleBodyIcon {
  margin-top: clamp(2px, 0.2083333333vw, 4px);
  width: 30px;
  min-width: 30px;
  height: 30px;
  margin-right: clamp(10px, 0.78125vw, 15px);
  -o-object-fit: contain;
     object-fit: contain;
}

.scheduleBodyDesc {
  padding-left: 30px;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
  position: relative;
}
@media (max-width: 767px) {
  .scheduleBodyDesc {
    padding-left: 38px;
  }
}
@media (max-width: 374px) {
  .scheduleBodyDesc {
    font-size: 1.3rem;
  }
}
.scheduleBodyDesc::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% + clamp(23px, 1.5104166667vw, 29px));
  background: #d6d6d6;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .scheduleBodyDesc::before {
    display: none;
  }
}

.scheduleBodyDescTxt {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 374px) {
  .scheduleBodyDescTxt {
    font-size: 1.3rem;
  }
}

.scheduleDetails {
  margin-top: clamp(12px, 0.9375vw, 18px);
}

.scheduleDetailsList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: clamp(8px, 0.8333333333vw, 16px);
}

.scheduleDetailsTerm {
  width: clamp(55px, 4.4270833333vw, 85px);
  min-width: clamp(55px, 4.4270833333vw, 85px);
  line-height: 2.3;
}
@media (max-width: 374px) {
  .scheduleDetailsTerm {
    min-width: 40px;
    width: 40px;
  }
}

.scheduleDetailsDesc {
  width: calc(100% - clamp(55px, 4.4270833333vw, 85px));
  min-width: calc(100% - clamp(55px, 4.4270833333vw, 85px));
  line-height: 2.3;
}

.scheduleBodyTable {
  margin-top: 50px;
  width: 100%;
}
.scheduleBodyTable.-different {
  margin-top: clamp(20px, 1.5625vw, 30px);
}
.scheduleBodyTable tbody {
  width: 100%;
  border: 1px solid #999999;
  border-radius: 10px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .scheduleBodyTable tbody {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.scheduleBodyTable tr {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
  border-top: 1px solid #999999;
}
@media (max-width: 767px) {
  .scheduleBodyTable tr {
    display: contents;
  }
}
.scheduleBodyTable tr:first-of-type {
  border-top: none;
}
@media (max-width: 767px) {
  .scheduleBodyTable tr:first-of-type {
    background: none;
    width: 40px;
    min-width: 40px;
  }
}
.scheduleBodyTable tr:first-of-type th {
  background-color: rgba(110, 204, 175, 0.5);
  padding-top: clamp(8px, 0.78125vw, 15px);
  padding-bottom: clamp(8px, 0.78125vw, 15px);
}
@media (max-width: 767px) {
  .scheduleBodyTable tr:first-of-type th {
    background: none;
  }
}
.scheduleBodyTable tr:first-of-type th:last-of-type {
  border-right: none;
}
.scheduleBodyTable th,
.scheduleBodyTable td {
  width: 14.2857142857%;
  min-width: 14.2857142857%;
  max-width: 14.2857142857%;
  text-align: center;
  border-right: 1px solid #999999;
}
@media (max-width: 767px) {
  .scheduleBodyTable th,
  .scheduleBodyTable td {
    border-right: 0;
  }
  .scheduleBodyTable th.-order1,
  .scheduleBodyTable td.-order1 {
    order: 1;
  }
  .scheduleBodyTable th.-order2,
  .scheduleBodyTable td.-order2 {
    order: 2;
  }
  .scheduleBodyTable th.-order3,
  .scheduleBodyTable td.-order3 {
    order: 3;
  }
  .scheduleBodyTable th.-order4,
  .scheduleBodyTable td.-order4 {
    order: 4;
  }
  .scheduleBodyTable th.-order5,
  .scheduleBodyTable td.-order5 {
    order: 5;
  }
  .scheduleBodyTable th.-order6,
  .scheduleBodyTable td.-order6 {
    order: 6;
  }
  .scheduleBodyTable th.-order7,
  .scheduleBodyTable td.-order7 {
    order: 7;
  }
  .scheduleBodyTable th.-order8,
  .scheduleBodyTable td.-order8 {
    order: 8;
  }
  .scheduleBodyTable th.-order9,
  .scheduleBodyTable td.-order9 {
    order: 9;
  }
  .scheduleBodyTable th.-order10,
  .scheduleBodyTable td.-order10 {
    order: 10;
  }
  .scheduleBodyTable th.-order11,
  .scheduleBodyTable td.-order11 {
    order: 11;
  }
  .scheduleBodyTable th.-order12,
  .scheduleBodyTable td.-order12 {
    order: 12;
  }
  .scheduleBodyTable th.-order13,
  .scheduleBodyTable td.-order13 {
    order: 13;
  }
  .scheduleBodyTable th.-order14,
  .scheduleBodyTable td.-order14 {
    order: 14;
  }
  .scheduleBodyTable th.-order15,
  .scheduleBodyTable td.-order15 {
    order: 15;
  }
  .scheduleBodyTable th.-order16,
  .scheduleBodyTable td.-order16 {
    order: 16;
  }
  .scheduleBodyTable th.-order17,
  .scheduleBodyTable td.-order17 {
    order: 17;
  }
  .scheduleBodyTable th.-order18,
  .scheduleBodyTable td.-order18 {
    order: 18;
  }
  .scheduleBodyTable th.-order19,
  .scheduleBodyTable td.-order19 {
    order: 19;
  }
  .scheduleBodyTable th.-order20,
  .scheduleBodyTable td.-order20 {
    order: 20;
  }
  .scheduleBodyTable th.-order21,
  .scheduleBodyTable td.-order21 {
    order: 21;
  }
  .scheduleBodyTable th.-order22,
  .scheduleBodyTable td.-order22 {
    order: 22;
  }
  .scheduleBodyTable th.-order23,
  .scheduleBodyTable td.-order23 {
    order: 23;
  }
  .scheduleBodyTable th.-order24,
  .scheduleBodyTable td.-order24 {
    order: 24;
  }
  .scheduleBodyTable th.-order25,
  .scheduleBodyTable td.-order25 {
    order: 25;
  }
  .scheduleBodyTable th.-order26,
  .scheduleBodyTable td.-order26 {
    order: 26;
  }
  .scheduleBodyTable th.-order27,
  .scheduleBodyTable td.-order27 {
    order: 27;
  }
  .scheduleBodyTable th.-order28,
  .scheduleBodyTable td.-order28 {
    order: 28;
  }
  .scheduleBodyTable th.-order29,
  .scheduleBodyTable td.-order29 {
    order: 29;
  }
  .scheduleBodyTable th.-order30,
  .scheduleBodyTable td.-order30 {
    order: 30;
  }
  .scheduleBodyTable th.-order31,
  .scheduleBodyTable td.-order31 {
    order: 31;
  }
  .scheduleBodyTable th.-order32,
  .scheduleBodyTable td.-order32 {
    order: 32;
  }
  .scheduleBodyTable th.-order33,
  .scheduleBodyTable td.-order33 {
    order: 33;
  }
  .scheduleBodyTable th.-order34,
  .scheduleBodyTable td.-order34 {
    order: 34;
  }
  .scheduleBodyTable th.-order35,
  .scheduleBodyTable td.-order35 {
    order: 35;
  }
  .scheduleBodyTable th.-order36,
  .scheduleBodyTable td.-order36 {
    order: 36;
  }
  .scheduleBodyTable th.-order37,
  .scheduleBodyTable td.-order37 {
    order: 37;
  }
  .scheduleBodyTable th.-order38,
  .scheduleBodyTable td.-order38 {
    order: 38;
  }
  .scheduleBodyTable th.-order39,
  .scheduleBodyTable td.-order39 {
    order: 39;
  }
  .scheduleBodyTable th.-order40,
  .scheduleBodyTable td.-order40 {
    order: 40;
  }
  .scheduleBodyTable th.-order41,
  .scheduleBodyTable td.-order41 {
    order: 41;
  }
  .scheduleBodyTable th.-order42,
  .scheduleBodyTable td.-order42 {
    order: 42;
  }
  .scheduleBodyTable th.-order43,
  .scheduleBodyTable td.-order43 {
    order: 43;
  }
  .scheduleBodyTable th.-order44,
  .scheduleBodyTable td.-order44 {
    order: 44;
  }
  .scheduleBodyTable th.-order45,
  .scheduleBodyTable td.-order45 {
    order: 45;
  }
  .scheduleBodyTable th.-order46,
  .scheduleBodyTable td.-order46 {
    order: 46;
  }
  .scheduleBodyTable th.-order47,
  .scheduleBodyTable td.-order47 {
    order: 47;
  }
  .scheduleBodyTable th.-order48,
  .scheduleBodyTable td.-order48 {
    order: 48;
  }
  .scheduleBodyTable th.-order49,
  .scheduleBodyTable td.-order49 {
    order: 49;
  }
  .scheduleBodyTable th.-order50,
  .scheduleBodyTable td.-order50 {
    order: 50;
  }
  .scheduleBodyTable th.-order1,
  .scheduleBodyTable td.-order1 {
    width: 40px;
    min-width: 40px;
  }
  .scheduleBodyTable th.-order2,
  .scheduleBodyTable td.-order2 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order3,
  .scheduleBodyTable td.-order3 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order4,
  .scheduleBodyTable td.-order4 {
    width: 40px;
    min-width: 40px;
  }
  .scheduleBodyTable th.-order5,
  .scheduleBodyTable td.-order5 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order6,
  .scheduleBodyTable td.-order6 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order7,
  .scheduleBodyTable td.-order7 {
    width: 40px;
    min-width: 40px;
  }
  .scheduleBodyTable th.-order8,
  .scheduleBodyTable td.-order8 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order9,
  .scheduleBodyTable td.-order9 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order10,
  .scheduleBodyTable td.-order10 {
    width: 40px;
    min-width: 40px;
  }
  .scheduleBodyTable th.-order11,
  .scheduleBodyTable td.-order11 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order12,
  .scheduleBodyTable td.-order12 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order13,
  .scheduleBodyTable td.-order13 {
    width: 40px;
    min-width: 40px;
  }
  .scheduleBodyTable th.-order14,
  .scheduleBodyTable td.-order14 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order15,
  .scheduleBodyTable td.-order15 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order16,
  .scheduleBodyTable td.-order16 {
    width: 40px;
    min-width: 40px;
  }
  .scheduleBodyTable th.-order17,
  .scheduleBodyTable td.-order17 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order18,
  .scheduleBodyTable td.-order18 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order19,
  .scheduleBodyTable td.-order19 {
    width: 40px;
    min-width: 40px;
  }
  .scheduleBodyTable th.-order20,
  .scheduleBodyTable td.-order20 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order21,
  .scheduleBodyTable td.-order21 {
    width: calc((100% - 40px) / 2);
    min-width: calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
    border-left: 1px solid #999999;
  }
  .scheduleBodyTable th.-order22,
  .scheduleBodyTable td.-order22 {
    width: 40px;
    min-width: 40px;
  }
  .scheduleBodyTable th.-order1,
  .scheduleBodyTable td.-order1 {
    height: 40px;
    min-height: 40px;
    background-color: rgba(110, 204, 175, 0.5) !important;
  }
  .scheduleBodyTable th.-order2,
  .scheduleBodyTable td.-order2 {
    height: 40px;
    min-height: 40px;
    background-color: rgba(110, 204, 175, 0.5) !important;
  }
  .scheduleBodyTable th.-order3,
  .scheduleBodyTable td.-order3 {
    height: 40px;
    min-height: 40px;
    background-color: rgba(110, 204, 175, 0.5) !important;
  }
  .scheduleBodyTable th.-order4,
  .scheduleBodyTable td.-order4 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order5,
  .scheduleBodyTable td.-order5 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order6,
  .scheduleBodyTable td.-order6 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order7,
  .scheduleBodyTable td.-order7 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order8,
  .scheduleBodyTable td.-order8 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order9,
  .scheduleBodyTable td.-order9 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order10,
  .scheduleBodyTable td.-order10 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order11,
  .scheduleBodyTable td.-order11 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order12,
  .scheduleBodyTable td.-order12 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order13,
  .scheduleBodyTable td.-order13 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order14,
  .scheduleBodyTable td.-order14 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order15,
  .scheduleBodyTable td.-order15 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order16,
  .scheduleBodyTable td.-order16 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order17,
  .scheduleBodyTable td.-order17 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order18,
  .scheduleBodyTable td.-order18 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order19,
  .scheduleBodyTable td.-order19 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order20,
  .scheduleBodyTable td.-order20 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order21,
  .scheduleBodyTable td.-order21 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
  .scheduleBodyTable th.-order22,
  .scheduleBodyTable td.-order22 {
    height: auto;
    min-height: auto;
    border-top: 1px solid #999999;
  }
}
.scheduleBodyTable th {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding-right: 0;
}
.scheduleBodyTable td {
  display: flex;
  justify-content: stretch;
  align-items: normal;
  flex-direction: column;
}
.scheduleBodyTable td:last-of-type {
  border-right: none;
}

.scheduleBodyTime {
  background-color: rgba(110, 204, 175, 0.25);
  font-size: clamp(1.4rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  width: 100%;
}

.scheduleBodyWrap {
  padding-top: 12px;
  padding-bottom: 12px;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding-left: 5px;
  padding-right: 5px;
  min-height: clamp(80px, 6.7708333333vw, 130px);
}

.scheduleBodyName {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}

.scheduleBodyTypes {
  margin-top: 4px;
  font-size: clamp(1.3rem, (0.7291666667vw), 1.4rem);
  font-weight: 500;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .scheduleBodyTypes {
    margin-top: 0;
    letter-spacing: -0.05em;
  }
}
.scheduleBodyTypes span {
  display: inline-block;
}

.scheduleBodyNote {
  margin-top: 20px;
  text-align: right;
  font-size: clamp(1.4rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
}
.scheduleBodyNote.-nospace {
  margin-top: 0;
}
@media (max-width: 767px) {
  .scheduleBodyNote {
    text-align: left;
  }
}

.scheduleLink {
  margin-top: 50px;
  width: 100%;
  max-width: 100%;
  padding-top: clamp(15px, 1.0416666667vw, 20px);
  padding-bottom: clamp(15px, 1.0416666667vw, 20px);
  padding-right: clamp(30px, 3.125vw, 60px);
  padding-left: clamp(30px, 3.125vw, 60px);
  border: 1px solid #6eccaf;
  border-radius: 20px;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  color: #6eccaf;
  font-size: clamp(1.6rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  overflow: hidden;
  z-index: 1;
}
@media (max-width: 767px) {
  .scheduleLink {
    margin-left: auto;
    margin-right: auto;
  }
}
.scheduleLink::before {
  content: "";
  display: block;
  background-color: white;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
}
.scheduleLink::after {
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.01s cubic-bezier(0.77, 0, 0.175, 1) 0.2s, opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  content: "";
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  width: 120%;
  opacity: 0;
  background-color: #6eccaf;
}
@media (max-width: 767px) {
  .scheduleLink::after {
    width: 120%;
  }
}
.scheduleLink:hover {
  opacity: 1;
}
.scheduleLink:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s ease;
}
.scheduleLink:hover .scheduleLinkIcon.-normal {
  opacity: 0;
}
.scheduleLink:hover .scheduleLinkIcon.-inverted {
  opacity: 1;
}
.scheduleLink:hover .scheduleLinkTtl {
  color: white;
}
.scheduleLink:hover .scheduleLinkArrow.-normal {
  opacity: 0;
}
.scheduleLink:hover .scheduleLinkArrow.-inverted {
  opacity: 1;
}

.scheduleLinkTtl {
  font-size: clamp(1.8rem, (1.4583333333vw), 2.8rem);
  font-weight: 500;
  line-height: 1.5;
  transition: all 0.3s ease;
}

.scheduleLinkArrows {
  width: 20px;
  min-width: 20px;
  aspect-ratio: 1/1;
  z-index: 1;
  margin-left: auto;
  position: relative;
}

.scheduleLinkArrowsInner {
  position: relative;
  width: 100%;
  height: 100%;
}

.scheduleLinkArrow {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.scheduleLinkArrow.-inverted {
  opacity: 0;
}

.scheduleBodyList + .scheduleBodyList {
  margin-top: 0;
}

.scheduleBodyTypes + .scheduleBodyName {
  margin-top: clamp(8px, 0.78125vw, 15px);
}

.scheduleLink + .scheduleLink {
  margin-top: clamp(20px, 1.5625vw, 30px);
}

.scheduleLink + .scheduleBodyRow {
  margin-top: clamp(50px, 5.2083333333vw, 100px);
}

.summary {
  padding-top: clamp(90px, 9.5833333333vw, 184px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  padding-bottom: clamp(100px, 10.4166666667vw, 200px);
  position: relative;
  z-index: 3;
}
@media (max-width: 767px) {
  .summary {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .summary {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .summary {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 767px) {
  .summary {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.summary::after {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + 2px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #f6fbfb;
  z-index: -1;
}

.summaryInner {
  width: 100%;
  position: relative;
  z-index: 4;
  opacity: 0;
  transition: all 1s ease;
  transform: translateY(50px);
}
.summaryInner.-show {
  opacity: 1;
  transform: translateY(0px);
}

.summaryTop {
  margin-top: clamp(26px, 3.2291666667vw, 62px);
  width: 100%;
  position: relative;
  z-index: 1;
}

.summaryTopList {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: 10px;
  -moz-column-gap: clamp(20px, 2.0833333333vw, 40px);
       column-gap: clamp(20px, 2.0833333333vw, 40px);
  align-items: stretch;
}

.summaryTopItem {
  position: relative;
  width: calc((100% - clamp(20px, 2.0833333333vw, 40px) * 4) / 5);
  opacity: 0;
  transition: all 1s ease;
  transform: translateY(50px);
}
.summaryTopItem:nth-of-type(1) {
  transition-delay: calc(1 * 0.1s);
}
.summaryTopItem:nth-of-type(2) {
  transition-delay: calc(2 * 0.1s);
}
.summaryTopItem:nth-of-type(3) {
  transition-delay: calc(3 * 0.1s);
}
.summaryTopItem:nth-of-type(4) {
  transition-delay: calc(4 * 0.1s);
}
.summaryTopItem:nth-of-type(5) {
  transition-delay: calc(5 * 0.1s);
}
.summaryTopItem:nth-of-type(6) {
  transition-delay: calc(6 * 0.1s);
}
.summaryTopItem:nth-of-type(7) {
  transition-delay: calc(7 * 0.1s);
}
.summaryTopItem:nth-of-type(8) {
  transition-delay: calc(8 * 0.1s);
}
.summaryTopItem:nth-of-type(9) {
  transition-delay: calc(9 * 0.1s);
}
.summaryTopItem:nth-of-type(10) {
  transition-delay: calc(10 * 0.1s);
}
.summaryTopItem.-show {
  opacity: 1;
  transform: translateY(0px);
}
@media (max-width: 767px) {
  .summaryTopItem {
    transition-delay: 0s !important;
    width: calc((100% - clamp(20px, 2.0833333333vw, 40px) * 0) / 1);
  }
}

.summaryTopLink {
  width: 100%;
  height: 100%;
  border: 0.5px solid #ebebeb;
  border-radius: clamp(8.5px, 1.0416666667vw, 20px);
  position: relative;
}

.summaryTopWrap {
  width: 100%;
  height: 100%;
  padding-top: clamp(23px, 3.4375vw, 66px);
  padding-bottom: clamp(70px, 5.5208333333vw, 106px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  border-radius: clamp(8.5px, 1.0416666667vw, 20px);
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .summaryTopWrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    padding-top: 23px;
    padding-bottom: 15px;
    padding-left: 10px;
    padding-right: 25px;
    height: auto;
  }
}
.summaryTopWrap::before {
  content: "";
  display: block;
  background-color: white;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
}
.summaryTopWrap::after {
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.1s cubic-bezier(0.77, 0, 0.175, 1) 0.2s, opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  content: "";
  display: block;
  opacity: 0;
  aspect-ratio: 1/1;
  border-radius: 50%;
  width: 250%;
}
@media (max-width: 767px) {
  .summaryTopWrap::after {
    width: 120%;
  }
}
.summaryTopWrap.-pink::after {
  background-color: #ee9ca1;
}
.summaryTopWrap.-sky::after {
  background-color: #72cacc;
}
.summaryTopWrap.-orange::after {
  background-color: #efb078;
}
.summaryTopWrap.-red::after {
  background-color: #e58563;
}
.summaryTopWrap.-blue::after {
  background-color: #71aacc;
}
.summaryTopWrap:hover {
  opacity: 1;
}
.summaryTopWrap:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 2s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s ease;
}
@media (max-width: 767px) {
  .summaryTopWrap:hover::after {
    transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s ease;
  }
}
.summaryTopWrap:hover .summaryTopIcon.-normal {
  opacity: 0;
}
.summaryTopWrap:hover .summaryTopIcon.-inverted {
  opacity: 1;
}
.summaryTopWrap:hover .summaryTopTtl {
  color: white;
}
.summaryTopWrap:hover .summaryTopArrow.-normal {
  opacity: 0;
}
.summaryTopWrap:hover .summaryTopArrow.-inverted {
  opacity: 1;
}
.summaryTopWrap.-expanded {
  opacity: 1;
}
@media (max-width: 767px) {
  .summaryTopWrap.-expanded {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
}
.summaryTopWrap.-expanded::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 2s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s ease;
}
@media (max-width: 767px) {
  .summaryTopWrap.-expanded::after {
    transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s ease;
  }
}
.summaryTopWrap.-expanded .summaryTopIcon.-normal {
  opacity: 0;
}
.summaryTopWrap.-expanded .summaryTopIcon.-inverted {
  opacity: 1;
}
.summaryTopWrap.-expanded .summaryTopTtl {
  color: white;
}
.summaryTopWrap.-expanded .summaryTopArrow.-normal {
  opacity: 0;
}
.summaryTopWrap.-expanded .summaryTopArrow.-inverted {
  opacity: 1;
}

.summaryTopIcons {
  position: relative;
  height: clamp(50px, 3.5416666667vw, 68px);
  width: 100%;
}
@media (max-width: 767px) {
  .summaryTopIcons {
    width: 79px;
    min-width: 79px;
  }
}
@media (max-width: 374px) {
  .summaryTopIcons {
    width: 45px;
    min-width: 45px;
  }
}

.summaryTopIcon {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.6s ease;
}
.summaryTopIcon.-inverted {
  opacity: 0;
}

.summaryTopTtl {
  font-size: clamp(1.9rem, (1.25vw), 2.4rem);
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: all 0.6s ease;
  margin-top: clamp(15px, 1.40625vw, 27px);
  text-align: center;
  color: black;
}
@media (max-width: 374px) {
  .summaryTopTtl {
    font-size: 1.7rem;
  }
}
@media (max-width: 767px) {
  .summaryTopTtl {
    padding-left: 8px;
    padding-right: 8px;
    text-align: left;
    margin-top: 0;
  }
}
.summaryTopTtl span {
  display: inline-block;
}

.summaryTopArrows {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: clamp(36px, 2.4479166667vw, 47px);
  width: 20px;
  min-width: 20px;
  aspect-ratio: 1/1;
  z-index: 1;
}
@media (max-width: 767px) {
  .summaryTopArrows {
    margin-left: auto;
    position: static;
    bottom: auto;
    left: auto;
    transform: translate(0);
  }
}

.summaryTopArrowsInner {
  position: relative;
  width: 100%;
  height: 100%;
}

.summaryTopArrow {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.6s ease;
}
.summaryTopArrow.-inverted {
  opacity: 0;
}

.summaryBottom {
  margin-top: clamp(26px, 2.1354166667vw, 41px);
  width: 100%;
  transition: all 0.6s ease;
}
@media (max-width: 767px) {
  .summaryBottom {
    margin-top: 10px;
  }
}
.summaryBottom.-expanded {
  margin-top: clamp(90px, 4.1666666667vw, 80px);
}

.summaryBottomList {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: 10px;
  -moz-column-gap: clamp(20px, 2.0833333333vw, 40px);
       column-gap: clamp(20px, 2.0833333333vw, 40px);
  align-items: stretch;
}

.summaryBottomItem {
  width: calc((100% - clamp(20px, 2.0833333333vw, 40px) * 1) / 2);
  opacity: 0;
  transition: all 1s ease;
  transform: translateY(50px);
}
.summaryBottomItem:nth-of-type(1) {
  transition-delay: calc(1 * 0.1s);
}
.summaryBottomItem:nth-of-type(2) {
  transition-delay: calc(2 * 0.1s);
}
.summaryBottomItem:nth-of-type(3) {
  transition-delay: calc(3 * 0.1s);
}
.summaryBottomItem:nth-of-type(4) {
  transition-delay: calc(4 * 0.1s);
}
.summaryBottomItem.-show {
  opacity: 1;
  transform: translateY(0px);
}
@media (max-width: 767px) {
  .summaryBottomItem {
    width: calc((100% - clamp(20px, 2.0833333333vw, 40px) * 0) / 1);
    transition-delay: 0s !important;
  }
}

.summaryBottomTtl {
  font-size: clamp(1.9rem, (1.25vw), 2.4rem);
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: all 0.6s ease;
  padding-left: 16px;
  padding-right: 8px;
}
@media (max-width: 374px) {
  .summaryBottomTtl {
    font-size: 1.7rem;
  }
}
@media (max-width: 767px) {
  .summaryBottomTtl {
    padding-left: 8px;
  }
}
.summaryBottomTtl span {
  display: inline-block;
}

.summaryBottomLink {
  height: 100%;
  padding-top: clamp(23px, 1.9791666667vw, 38px);
  padding-bottom: clamp(15px, 2.5vw, 48px);
  padding-right: clamp(30px, 2.6041666667vw, 50px);
  padding-left: clamp(30px, 2.6041666667vw, 50px);
  border: 0.5px solid #ebebeb;
  border-radius: clamp(8.5px, 1.0416666667vw, 20px);
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  overflow: hidden;
}
.summaryBottomLink::before {
  content: "";
  display: block;
  background-color: white;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
}
.summaryBottomLink::after {
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.01s cubic-bezier(0.77, 0, 0.175, 1) 0.2s, opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  content: "";
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  width: 120%;
  opacity: 0;
  background-color: #6eccaf;
}
@media (max-width: 767px) {
  .summaryBottomLink::after {
    width: 120%;
  }
}
@media (max-width: 767px) {
  .summaryBottomLink {
    padding-top: 23px;
    padding-bottom: 15px;
    padding-left: 10px;
    padding-right: 25px;
  }
}
.summaryBottomLink:hover {
  opacity: 1;
}
.summaryBottomLink:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s ease;
}
.summaryBottomLink:hover .summaryBottomIcon.-normal {
  opacity: 0;
}
.summaryBottomLink:hover .summaryBottomIcon.-inverted {
  opacity: 1;
}
.summaryBottomLink:hover .summaryBottomTtl {
  color: white;
}
.summaryBottomLink:hover .summaryBottomArrow.-normal {
  opacity: 0;
}
.summaryBottomLink:hover .summaryBottomArrow.-inverted {
  opacity: 1;
}

.summaryBottomIcons {
  position: relative;
  height: clamp(50px, 3.5416666667vw, 68px);
  width: clamp(85px, 5.46875vw, 105px);
  min-width: clamp(85px, 5.46875vw, 105px);
}
@media (max-width: 767px) {
  .summaryBottomIcons {
    width: 79px;
    min-width: 79px;
  }
}
@media (max-width: 374px) {
  .summaryBottomIcons {
    width: 45px;
    min-width: 45px;
  }
}

.summaryBottomIcon {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: right center;
     object-position: right center;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translate(0%, -50%);
  transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
@media (max-width: 767px) {
  .summaryBottomIcon {
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
    -o-object-position: center;
       object-position: center;
  }
}
.summaryBottomIcon.-inverted {
  opacity: 0;
}

.summaryBottomArrows {
  width: 20px;
  min-width: 20px;
  aspect-ratio: 1/1;
  z-index: 1;
  margin-left: auto;
  position: relative;
}

.summaryBottomArrowsInner {
  position: relative;
  width: 100%;
  height: 100%;
}

.summaryBottomArrow {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.summaryBottomArrow.-inverted {
  opacity: 0;
}

.summaryExpand {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  bottom: 0;
  width: 100%;
  transform: translateY(calc(-50px + 50%));
  overflow: hidden !important;
  border-bottom-left-radius: clamp(8px, 1.0416666667vw, 20px) !important;
  border-bottom-right-radius: clamp(8px, 1.0416666667vw, 20px) !important;
  opacity: 0;
  pointer-events: none;
  transition: all 0.6s ease;
}
@media (max-width: 767px) {
  .summaryExpand {
    position: relative;
    bottom: auto;
    left: auto;
    transform: translateY(0%);
    opacity: 1;
  }
  .summaryExpand.-hide {
    height: 0 !important;
  }
}
.summaryExpand.-expanded {
  opacity: 1;
  transform: translateY(50%);
  pointer-events: auto;
}
@media (max-width: 767px) {
  .summaryExpand.-expanded {
    transform: translate(0);
  }
}

.summaryExpandList {
  width: 100%;
}

.summaryExpandItem {
  width: 100%;
}

.summaryExpandLink {
  width: 100%;
  font-size: clamp(1.8rem, (1.25vw), 2.4rem);
  line-height: 1.25;
  letter-spacing: 0.1em;
  padding-left: clamp(10px, 1.5104166667vw, 29px);
  padding-right: clamp(10px, 1.0416666667vw, 20px);
  color: black;
  padding-top: 10px;
  padding-bottom: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
@media (max-width: 767px) {
  .summaryExpandLink {
    padding-right: 34px;
    font-size: 2.2rem;
    padding-left: 100px;
  }
}
@media (max-width: 374px) {
  .summaryExpandLink {
    padding-left: 63px;
  }
}
.summaryExpandLink:hover {
  opacity: 1;
}
.summaryExpandLink:hover .summaryExpandArrow.-inverted {
  opacity: 1;
}
.summaryExpandLink.-color1 {
  background-color: #fae1e3;
}
.summaryExpandLink.-color2 {
  background-color: #f6cdd0;
}
.summaryExpandLink.-color3 {
  background-color: #f3babd;
}
.summaryExpandLink span {
  text-align: left;
}

.summaryExpandArrows {
  position: relative;
  width: 12px;
  min-width: 12px;
  height: 12px;
}

.summaryExpandArrow {
  width: 100%;
  min-width: 100%;
  aspect-ratio: 1/1;
  transition: all 0.6s ease;
}
.summaryExpandArrow.-inverted {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0;
}

.visual {
  width: 100%;
  margin-top: clamp(100px, 19.7916666667vw, 380px);
}

.visualInner {
  width: 100%;
  height: clamp(240px, 41.6666666667vw, 800px);
  overflow: hidden;
}

.visualImg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 20%;
     object-position: 50% 20%;
}
@media (max-width: 767px) {
  .visualImg {
    transform: scale(1.1);
  }
}

.doctors {
  margin-top: clamp(100px, 10.4166666667vw, 200px);
  width: 100%;
  position: relative;
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
}
@media (max-width: 767px) {
  .doctors {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .doctors {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .doctors {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.doctorsInner {
  position: relative;
  z-index: 1;
  padding-top: 100px;
  padding-bottom: clamp(100px, 10.4166666667vw, 200px);
}
.doctorsInner::after {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background-color: #f6fbfb;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}

.doctorsTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.2115384615;
  color: #6eccaf;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .doctorsTtl {
    text-align: center;
  }
}
.doctorsTtl span {
  display: inline-block;
}

.doctorsBody {
  margin-top: clamp(50px, 4.9479166667vw, 95px);
}

.doctorsBodyList {
  margin-top: clamp(50px, 5.2083333333vw, 100px);
  width: 100%;
}
.doctorsBodyList.-double {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: 120px;
  -moz-column-gap: clamp(60px, 6.25vw, 120px);
       column-gap: clamp(60px, 6.25vw, 120px);
}
.doctorsBodyList.-single {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: 120px;
  -moz-column-gap: clamp(60px, 6.25vw, 120px);
       column-gap: clamp(60px, 6.25vw, 120px);
}

.doctorsBodyItem.-double {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: clamp(22px, 1.5625vw, 30px);
  width: calc((100% - clamp(84px, 6.25vw, 120px) * 1) / 2);
}
@media (max-width: 1450px) {
  .doctorsBodyItem.-double {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .doctorsBodyItem.-double {
    width: calc((100% - clamp(84px, 6.25vw, 120px) * 0) / 1);
  }
}
.doctorsBodyItem.-single {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: clamp(22px, 1.5625vw, 30px);
  width: calc((100% - clamp(84px, 6.25vw, 120px) * 0) / 1);
}
@media (max-width: 767px) {
  .doctorsBodyItem.-single {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}

.doctorsBodyContents {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
}

.doctorsBodyTypes {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
}
@media (max-width: 1450px) {
  .doctorsBodyTypes {
    text-align: center;
    width: 100%;
  }
}
.doctorsBodyTypes span {
  display: inline-block;
}

.doctorsBodyName {
  margin-top: clamp(11px, 1.0416666667vw, 20px);
  font-size: clamp(2.2rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.doctorsBodyName.-nospace {
  margin-top: 0;
}
@media (max-width: 767px) {
  .doctorsBodyName.-nospace {
    text-align: center;
    width: 100%;
  }
}
@media (max-width: 1450px) {
  .doctorsBodyName:not(.-nospace) {
    text-align: center;
    width: 100%;
  }
}
.doctorsBodyName span {
  display: inline-block;
}

.doctorsBodyKana {
  margin-top: 2px;
  font-size: clamp(1.6rem, (0.8333333333vw), 1.6rem);
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 1450px) {
  .doctorsBodyKana:not(.-different) {
    text-align: center;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .doctorsBodyKana.-different {
    text-align: center;
    width: 100%;
  }
}
.doctorsBodyKana span {
  display: inline-block;
}

.doctorsBodyTtl {
  margin-top: 35px;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.5;
  position: relative;
}
.doctorsBodyTtl::after {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #999999;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translateX(calc(10px + 100%));
}

.doctorsBodyTxt {
  margin-top: 20px;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.5;
  position: relative;
}

.doctorsMore {
  margin-top: 30px;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.7777777778;
  position: relative;
}

@media (max-width: 500px) {
  .doctorsMoreList.-different {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 30px;
  }
}

.doctorsMoreItem {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}
.doctorsMoreItem.-different {
  -moz-column-gap: 30px;
       column-gap: 30px;
}
@media (max-width: 500px) {
  .doctorsMoreItem.-different {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.doctorsMoreItem:not(.-different) {
  -moz-column-gap: 9px;
       column-gap: 9px;
}
@media (max-width: 767px) {
  .doctorsMoreItem:not(.-different) {
    letter-spacing: 0;
  }
}
.doctorsMoreItem:not(.-different)::before {
  margin-top: 15px;
  content: "";
  display: block;
  width: 4px;
  min-width: 4px;
  height: 4px;
  background: #999999;
  border-radius: 50%;
}
.doctorsMoreItem span.-year {
  white-space: nowrap;
}

.doctorsBodyImg {
  width: 220px;
  min-width: 220px;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  aspect-ratio: 220/267;
}

.procedure {
  width: 100%;
  position: relative;
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
}
@media (max-width: 767px) {
  .procedure {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .procedure {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .procedure {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.procedureInner {
  width: 100%;
  position: relative;
  z-index: 1;
  padding-top: clamp(100px, 10.4166666667vw, 200px);
  padding-bottom: clamp(100px, 10.4166666667vw, 200px);
}
.procedureInner::after {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background-color: #f6fbfb;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}

.procedureTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.2115384615;
  color: #6eccaf;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .procedureTtl {
    text-align: center;
  }
}

.procedureBody {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(35px, 6.7708333333vw, 130px);
       column-gap: clamp(35px, 6.7708333333vw, 130px);
}
@media (max-width: 767px) {
  .procedureBody {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
}

.procedureBodyList {
  margin-top: clamp(30px, 5.2083333333vw, 100px);
  width: calc(100% - clamp(350px, 33.3333333333vw, 640px) - clamp(35px, 6.7708333333vw, 130px));
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(30px, 3.125vw, 60px);
}
@media (max-width: 767px) {
  .procedureBodyList {
    width: 100%;
    min-width: 100%;
  }
}

.procedureBodyItem {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: 9px;
       column-gap: 9px;
}
@media (max-width: 767px) {
  .procedureBodyItem {
    letter-spacing: 0;
  }
}
.procedureBodyItem::before {
  margin-top: clamp(10px, 0.625vw, 12px);
  content: "";
  display: block;
  width: 4px;
  min-width: 4px;
  height: 4px;
  background: #999999;
  border-radius: 50%;
}

.procedureBodyImg {
  width: clamp(350px, 33.3333333333vw, 640px);
  min-width: clamp(350px, 33.3333333333vw, 640px);
  max-width: 100%;
  aspect-ratio: 640/440;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
}
@media (max-width: 767px) {
  .procedureBodyImg {
    margin-top: 50px;
    width: 100%;
    min-width: 100%;
  }
}

.hpz {
  margin-top: clamp(100px, 10.4166666667vw, 200px);
  width: 100%;
  position: relative;
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
}
@media (max-width: 767px) {
  .hpz {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .hpz {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .hpz {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.hpz.-green {
  padding-top: clamp(100px, 10.4166666667vw, 200px);
  padding-bottom: clamp(100px, 10.4166666667vw, 200px);
  background-color: #f6fbfb;
}

.hpzTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.2115384615;
  color: #6eccaf;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .hpzTtl {
    text-align: center;
  }
}
.hpzTtl span {
  display: inline-block;
}

.hpzBody {
  margin-top: 40px;
  width: 100%;
}
.hpzBody.-moreSpace {
  margin-top: clamp(50px, 5.2083333333vw, 100px);
}
.hpzBody.-green {
  background-color: #f6fbfb;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
  padding-top: clamp(30px, 2.6041666667vw, 50px);
  padding-bottom: clamp(30px, 2.6041666667vw, 50px);
  padding-left: clamp(20px, 2.6041666667vw, 50px);
  padding-right: clamp(20px, 2.6041666667vw, 50px);
}
.hpzBody.-white {
  background-color: white;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
  padding-top: clamp(30px, 2.6041666667vw, 50px);
  padding-bottom: clamp(30px, 2.6041666667vw, 50px);
  padding-left: clamp(20px, 2.6041666667vw, 50px);
  padding-right: clamp(20px, 2.6041666667vw, 50px);
}

.hpzBodyList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(10px, 1.0416666667vw, 20px);
}

.hpzBodyItem {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: 9px;
       column-gap: 9px;
}
@media (max-width: 767px) {
  .hpzBodyItem {
    letter-spacing: 0;
  }
}
.hpzBodyItem::before {
  margin-top: clamp(10px, 0.625vw, 12px);
  content: "";
  display: block;
  width: 4px;
  min-width: 4px;
  height: 4px;
  background: #999999;
  border-radius: 50%;
}

.hpzBodyTxt {
  margin-top: 7px;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .hpzBodyTxt {
    letter-spacing: 0;
  }
}

.hpzBodyTtl {
  font-size: clamp(1.8rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .hpzBodyTtl {
    letter-spacing: 0;
  }
}

.hpzBodyTable {
  margin-top: 27px;
  border-radius: 10px;
  width: auto;
  border-collapse: collapse;
  display: table;
  position: relative;
  border: none;
  overflow: visible;
}
.hpzBodyTable::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
  border-radius: 10px;
  border: 1px solid #999999;
}
.hpzBodyTable.-type1 td {
  padding-left: clamp(10px, 5.7291666667vw, 110px);
  padding-right: clamp(10px, 5.7291666667vw, 110px);
}
@media (max-width: 767px) {
  .hpzBodyTable.-type1 td {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.hpzBodyTable.-type2 td:not(:last-of-type) {
  padding-left: clamp(5px, 3.6458333333vw, 70px);
  padding-right: clamp(5px, 3.6458333333vw, 70px);
  border-right: 1px solid #999999;
}
.hpzBodyTable.-type2 td:last-of-type {
  white-space: nowrap;
  padding-left: clamp(15px, 3.6458333333vw, 70px);
  padding-right: clamp(15px, 3.6458333333vw, 70px);
}
@media (max-width: 767px) {
  .hpzBodyTable.-type2 tr:not(:first-of-type):not(:last-of-type) td {
    text-align: left;
  }
}
.hpzBodyTable tbody {
  border: none;
  display: table-row-group;
}
.hpzBodyTable tr {
  display: table-row;
}
.hpzBodyTable tr:not(:first-of-type) {
  border-top: 1px solid #999999;
}
.hpzBodyTable th,
.hpzBodyTable td {
  display: table-cell;
  font-size: clamp(1.6rem, (1.3541666667vw), 2.6rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding-top: clamp(25px, 2.0833333333vw, 40px);
  padding-bottom: clamp(25px, 2.0833333333vw, 40px);
  text-align: center;
}
@media (max-width: 767px) {
  .hpzBodyTable th,
  .hpzBodyTable td {
    letter-spacing: 0;
  }
}
.hpzBodyTable th {
  background-color: #f6fbfb;
  padding-left: 0.5em;
  padding-right: 0.5em;
  width: clamp(100px, 7.8125vw, 150px);
  min-width: clamp(100px, 7.8125vw, 150px);
  text-align: center;
  border-right: 1px solid #999999;
}

.hpzBodyNote {
  margin-top: clamp(8px, 1.0416666667vw, 20px);
}

.hpzBodyCaution {
  font-size: clamp(1.4rem, (0.8333333333vw), 1.6rem);
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.1em;
  margin-top: 25px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .hpzBodyCaution {
    letter-spacing: 0;
  }
}

.hpzBodyCaution + .hpzBodyCaution {
  margin-top: 0;
}

.visitor {
  margin-top: clamp(100px, 10.4166666667vw, 200px);
  width: 100%;
  position: relative;
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
}
@media (max-width: 767px) {
  .visitor {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .visitor {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .visitor {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.visitorTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.2115384615;
  color: #6eccaf;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .visitorTtl {
    text-align: center;
  }
}
.visitorTtl span {
  display: inline-block;
}

.visitorBody {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(35px, 6.7708333333vw, 130px);
       column-gap: clamp(35px, 6.7708333333vw, 130px);
}
@media (max-width: 767px) {
  .visitorBody {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
}

.visitorBodyContents {
  margin-top: clamp(20px, 2.6041666667vw, 50px);
}

.visitorBodyTtl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(20px, 1.5625vw, 30px);
       column-gap: clamp(20px, 1.5625vw, 30px);
  row-gap: 8px;
  flex-wrap: wrap;
}
.visitorBodyTtl span.-main {
  font-size: clamp(1.8rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
.visitorBodyTtl span.-sub {
  font-size: clamp(1.5rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .visitorBodyTtl span.-sub {
    letter-spacing: 0;
  }
}

.visitorBodyList {
  margin-top: 25px;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row;
  width: 100%;
  border-top: 1px solid #999;
}

.visitorBodyTerm {
  font-size: clamp(1.5rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  padding-top: clamp(25px, 1.5625vw, 30px);
  padding-bottom: clamp(25px, 1.5625vw, 30px);
  width: 45%;
  min-width: 45%;
  position: relative;
  padding-left: clamp(8px, 1.1458333333vw, 22px);
  padding-right: clamp(8px, 1.1458333333vw, 22px);
}
@media (max-width: 767px) {
  .visitorBodyTerm {
    width: 50%;
    min-width: 50%;
  }
}
.visitorBodyTerm span {
  display: inline-block;
}
.visitorBodyTerm::before {
  content: "";
  display: block;
  width: 1px;
  height: 75%;
  background-color: #d6d6d6;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.visitorBodyTerm span {
  letter-spacing: 0;
}

.visitorBodyDesc {
  font-size: clamp(1.5rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  padding-top: clamp(25px, 1.5625vw, 30px);
  padding-bottom: clamp(25px, 1.5625vw, 30px);
  width: 55%;
  min-width: 55%;
  padding-left: clamp(8px, 2.6041666667vw, 50px);
  padding-right: clamp(8px, 2.6041666667vw, 50px);
}
@media (max-width: 767px) {
  .visitorBodyDesc {
    width: 50%;
    min-width: 50%;
  }
}
.visitorBodyDesc span {
  letter-spacing: 0;
}

.visitorBodyBottom {
  margin-top: clamp(30px, 2.0833333333vw, 40px);
}

.visitorBodyNote {
  color: #6eccaf;
  font-size: clamp(1.5rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .visitorBodyNote {
    letter-spacing: 0;
  }
}

.visitorBodyImg {
  width: clamp(350px, 33.3333333333vw, 640px);
  min-width: clamp(350px, 33.3333333333vw, 640px);
  max-width: 100%;
  aspect-ratio: 640/440;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
}
@media (max-width: 767px) {
  .visitorBodyImg {
    margin-top: 40px;
    width: 100%;
    min-width: 100%;
  }
}

.visitorBottom {
  margin-top: clamp(30px, 2.6041666667vw, 50px);
  width: 100%;
  background-color: #f6fbfb;
  padding-top: clamp(30px, 2.6041666667vw, 50px);
  padding-bottom: clamp(30px, 2.6041666667vw, 50px);
  padding-left: clamp(20px, 2.6041666667vw, 50px);
  padding-right: clamp(30px, 2.6041666667vw, 50px);
  border-radius: clamp(10px, 1.0416666667vw, 20px);
}

.visitorBottomList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 20px;
}

.visitorBottomItem {
  font-size: clamp(1.5rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  list-style: decimal;
  list-style-position: inside;
}
@media (max-width: 767px) {
  .visitorBottomItem {
    letter-spacing: 0;
  }
}

.visitorBodyList + .visitorBodyList {
  margin-top: 0px;
  border-bottom: 1px solid #999;
}

.visitorBodyNote + .visitorBodyNote {
  margin-top: 20px;
}

.greetings {
  position: relative;
  padding-top: 100px;
  padding-bottom: clamp(50px, 10.4166666667vw, 200px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  z-index: 2;
}
@media (max-width: 767px) {
  .greetings {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .greetings {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .greetings {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.greetings::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + 1px);
  background: #f6fbfb;
  position: absolute;
  bottom: 0px;
  left: 0;
  z-index: -1;
}

.greetingsTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.4807692308;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .greetingsTtl {
    text-align: center;
  }
}

.greetingsBody {
  margin-top: clamp(30px, 5.2083333333vw, 100px);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(0px, 6.25vw, 120px);
       column-gap: clamp(0px, 6.25vw, 120px);
}
@media (max-width: 767px) {
  .greetingsBody {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 40px;
  }
}

.greetingsBodyProfile {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  width: clamp(350px, 22.9166666667vw, 440px);
  min-width: clamp(350px, 22.9166666667vw, 440px);
  max-width: 100%;
}
@media (max-width: 767px) {
  .greetingsBodyProfile {
    width: 100%;
    min-width: 100%;
  }
}

.greetingsBodyImg {
  width: 100%;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
  aspect-ratio: 440/640;
}

.greetingsBodyPosition {
  margin-top: 20px;
  text-align: center;
  font-size: clamp(1.6rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.1em;
}

.greetingsBodyName {
  margin-top: 10px;
  text-align: center;
  font-size: clamp(1.8rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.greetingsBodyTxt {
  font-size: clamp(1.8rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}

.greetingsBodyTtl {
  color: #6eccaf;
  margin-top: clamp(50px, 5.2083333333vw, 100px);
  font-size: clamp(2.2rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.greetingsBodyList {
  margin-top: clamp(29px, 2.6041666667vw, 50px);
}

.greetingsBodyItem {
  font-size: clamp(1.8rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  list-style-position: inside;
}
.greetingsBodyItem::before {
  content: "・";
  margin-right: 10px;
}

.details {
  position: relative;
  padding-top: 100px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  z-index: 2;
}
@media (max-width: 767px) {
  .details {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .details {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .details {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.detailsInner {
  width: 100%;
}

.detailsTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.4807692308;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .detailsTtl {
    text-align: center;
  }
}

.detailsTable {
  margin-top: clamp(50px, 5.2083333333vw, 100px);
}
.detailsTable tbody {
  border-top: 1px solid #999;
  width: 100%;
}
.detailsTable tr {
  border-bottom: 1px solid #999;
  width: 100%;
}
.detailsTable th,
.detailsTable td {
  padding-top: clamp(15px, 1.3020833333vw, 25px);
  padding-bottom: clamp(15px, 1.3020833333vw, 25px);
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
}
.detailsTable th {
  min-width: clamp(100px, 5.7291666667vw, 110px);
  width: clamp(100px, 5.7291666667vw, 110px);
}
.detailsTable td {
  width: calc(100% - clamp(100px, 5.7291666667vw, 110px));
  padding-left: clamp(20px, 1.8229166667vw, 35px);
  position: relative;
}
.detailsTable td::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 20px);
  background: rgba(214, 214, 214, 0.8);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.more {
  position: relative;
  margin-top: clamp(75px, 10.4166666667vw, 200px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  z-index: 2;
}
@media (max-width: 767px) {
  .more {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .more {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .more {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.more.-green {
  padding-top: clamp(100px, 10.4166666667vw, 200px);
  padding-bottom: clamp(100px, 10.4166666667vw, 200px);
}
.more.-green::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + 1px);
  background: #f6fbfb;
  position: absolute;
  bottom: 0px;
  left: 0;
  z-index: -1;
}

.moreInner {
  width: 100%;
}

.moreTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.4807692308;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .moreTtl {
    text-align: center;
  }
}
.moreTtl span {
  display: inline-block;
}

.moreBody {
  margin-top: clamp(50px, 5.2083333333vw, 100px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(100px, 7.4479166667vw, 143px);
}

.moreBodyRow {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(0px, 6.25vw, 120px);
       column-gap: clamp(0px, 6.25vw, 120px);
}
@media (max-width: 767px) {
  .moreBodyRow {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
    row-gap: 25px;
  }
}

.moreBodyColumn {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(25px, 2.6041666667vw, 50px);
}

.moreBodyTxt {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
}

.moreBodyImg {
  width: clamp(350px, 33.3333333333vw, 640px);
  min-width: clamp(350px, 33.3333333333vw, 640px);
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
}

.moreBodyTtl {
  font-size: clamp(2.2rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #6eccaf;
}
.moreBodyTtl span {
  display: inline-block;
}

.default {
  position: relative;
  margin-top: clamp(75px, 10.4166666667vw, 200px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  z-index: 2;
}
@media (max-width: 767px) {
  .default {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .default {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .default {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.default.-green {
  margin-top: 0;
  padding-top: clamp(75px, 10.4166666667vw, 200px);
  padding-bottom: clamp(100px, 10.4166666667vw, 200px);
}
.default.-green::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + clamp(210px, 15.625vw, 300px));
  background: #f6fbfb;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
}

.defaultInner {
  position: relative;
  z-index: 1;
}

.defaultBodyTtl.-first {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.4807692308;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .defaultBodyTtl.-first {
    text-align: center;
  }
}
.defaultBodyTtl.-second {
  margin-top: 100px;
  font-size: clamp(2.2rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #6eccaf;
}

.defaultBodyTxt {
  margin-top: clamp(50px, 5.2083333333vw, 100px);
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .defaultBodyTxt {
    letter-spacing: 0;
  }
}
.defaultBodyTxt.-right {
  text-align: right;
}
.defaultBodyTxt.-nospace {
  margin-top: 0;
}
.defaultBodyTxt span {
  display: inline-block;
}

.defaultBtn {
  margin-top: 100px;
  width: 300px;
  max-width: 100%;
  padding-top: clamp(20px, 1.5625vw, 30px);
  padding-bottom: clamp(20px, 1.5625vw, 30px);
  padding-right: clamp(30px, 1.9270833333vw, 37px);
  padding-left: clamp(30px, 1.9270833333vw, 37px);
  border: 1px solid #6eccaf;
  border-radius: 20px;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  color: #6eccaf;
  font-size: clamp(1.8rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  overflow: hidden;
  z-index: 1;
}
@media (max-width: 767px) {
  .defaultBtn {
    margin-left: auto;
    margin-right: auto;
  }
}
.defaultBtn::before {
  content: "";
  display: block;
  background-color: white;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
}
.defaultBtn::after {
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.01s cubic-bezier(0.77, 0, 0.175, 1) 0.2s, opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  content: "";
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  width: 120%;
  opacity: 0;
  background-color: #6eccaf;
}
@media (max-width: 767px) {
  .defaultBtn::after {
    width: 120%;
  }
}
.defaultBtn:hover {
  opacity: 1;
}
.defaultBtn:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s ease;
}
.defaultBtn:hover .defaultBtnIcon.-normal {
  opacity: 0;
}
.defaultBtn:hover .defaultBtnIcon.-inverted {
  opacity: 1;
}
.defaultBtn:hover .defaultBtnTtl {
  color: white;
}
.defaultBtn:hover .defaultBtnArrow.-normal {
  opacity: 0;
}
.defaultBtn:hover .defaultBtnArrow.-inverted {
  opacity: 1;
}

.defaultBtnArrows {
  width: 20px;
  min-width: 20px;
  aspect-ratio: 1/1;
  z-index: 1;
  margin-left: auto;
  position: relative;
}

.defaultBtnArrowsInner {
  position: relative;
  width: 100%;
  height: 100%;
}

.defaultBtnArrow {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.defaultBtnArrow.-inverted {
  opacity: 0;
}

.defaultBodyTtl.-second + .defaultBodyTxt {
  margin-top: clamp(25px, 2.6041666667vw, 50px);
}

.defaultBtn + .defaultBtn {
  margin-top: 30px;
}

.hours {
  position: relative;
  padding-top: clamp(50px, 10.4166666667vw, 200px);
  padding-bottom: clamp(50px, 10.4166666667vw, 200px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  z-index: 2;
}
@media (max-width: 767px) {
  .hours {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .hours {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .hours {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 767px) {
  .hours {
    padding-bottom: 0;
  }
}
.hours::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + clamp(210px, 15.625vw, 300px));
  background: #f6fbfb;
  position: absolute;
  bottom: 0px;
  left: 0;
  z-index: -1;
}

.hoursTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.4807692308;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .hoursTtl {
    text-align: center;
  }
}

.hoursBody {
  margin-top: clamp(50px, 5.2083333333vw, 100px);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(28px, 2.0833333333vw, 40px);
       column-gap: clamp(28px, 2.0833333333vw, 40px);
}
@media (max-width: 1450px) {
  .hoursBody {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.hoursBodyContents {
  width: 100%;
}

.hoursBodyTel {
  margin-top: clamp(30px, 4.1666666667vw, 80px);
  font-size: clamp(3rem, (2.2395833333vw), 4.3rem);
  font-weight: bold;
  line-height: 1.6744186047;
  letter-spacing: 0.1em;
  color: #6eccaf;
}
.hoursBodyTel.-noSpace {
  margin-top: 0;
}
@media (max-width: 1450px) {
  .hoursBodyTel.-noSpace {
    margin-top: 30px;
  }
}

.hoursBodyTxt {
  margin-top: clamp(20px, 2.0833333333vw, 40px);
  font-size: clamp(1.6rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.hoursBodyImg {
  width: clamp(390px, 33.3333333333vw, 640px);
  min-width: clamp(390px, 33.3333333333vw, 640px);
  aspect-ratio: 640/440;
  border-radius: 20px;
}
@media (max-width: 1450px) {
  .hoursBodyImg {
    margin-top: 50px;
    aspect-ratio: 350/240;
    width: 100%;
    min-width: 100%;
  }
}
@media (max-width: 767px) {
  .hoursBodyImg {
    width: 100vw;
    min-width: 100vw;
    max-width: 100vw;
    margin-left: -20px;
    border-radius: 0;
  }
}

.hoursAccess {
  margin-top: clamp(50px, 5.2083333333vw, 100px);
  width: 100%;
  aspect-ratio: 1320/660;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
}
@media (max-width: 767px) {
  .hoursAccess {
    border-radius: 0;
    aspect-ratio: 390/240;
    width: 100vw;
    min-width: 100vw;
    margin-left: -20px;
  }
}

.hoursBodyList {
  width: 100%;
  border-top: 1px solid #999999;
  padding-top: clamp(23px, 1.5104166667vw, 29px);
  padding-bottom: clamp(23px, 1.5104166667vw, 29px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  row-gap: 14px;
}
@media (max-width: 767px) {
  .hoursBodyList {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.hoursBodyList:last-of-type {
  border-bottom: 1px solid #999999;
}

.hoursBodyTerm {
  width: clamp(160px, 10.4166666667vw, 200px);
  min-width: clamp(160px, 10.4166666667vw, 200px);
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
  padding-right: 1em;
}
@media (max-width: 767px) {
  .hoursBodyTerm {
    padding-right: 0;
  }
}
.hoursBodyTerm span {
  display: inline-block;
}

.hoursBodyDesc {
  padding-left: 30px;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
  position: relative;
}
@media (max-width: 767px) {
  .hoursBodyDesc {
    padding-left: 38px;
  }
}
@media (max-width: 374px) {
  .hoursBodyDesc {
    font-size: 1.3rem;
  }
}
.hoursBodyDesc::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% + clamp(23px, 1.5104166667vw, 29px));
  background: #d6d6d6;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .hoursBodyDesc::before {
    display: none;
  }
}

.hoursBodyDescTxt {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 374px) {
  .hoursBodyDescTxt {
    font-size: 1.3rem;
  }
}

.hoursDetails {
  margin-top: clamp(12px, 0.9375vw, 18px);
}

.hoursDetailsList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: clamp(8px, 0.8333333333vw, 16px);
}

.hoursDetailsTerm {
  width: clamp(55px, 4.4270833333vw, 85px);
  min-width: clamp(55px, 4.4270833333vw, 85px);
  line-height: 2.3;
}
@media (max-width: 374px) {
  .hoursDetailsTerm {
    min-width: 40px;
    width: 40px;
  }
}

.hoursDetailsDesc {
  width: calc(100% - clamp(55px, 4.4270833333vw, 85px));
  min-width: calc(100% - clamp(55px, 4.4270833333vw, 85px));
  line-height: 2.3;
}

.hoursBodyIcon {
  margin-top: clamp(0px, 0.1041666667vw, 2px);
  width: 30px;
  min-width: 30px;
  height: 30px;
  margin-right: clamp(10px, 0.78125vw, 15px);
  -o-object-fit: contain;
     object-fit: contain;
}

.hoursBodyList + .hoursBodyList {
  margin-top: 0;
}

.feature {
  position: relative;
  z-index: 1;
  padding-bottom: clamp(75px, 6.5104166667vw, 125px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
}
@media (max-width: 767px) {
  .feature {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .feature {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .feature {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.feature::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + clamp(210px, 15.625vw, 300px));
  background: #f6fbfb;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
}

.featureInner {
  width: 100%;
  position: relative;
  z-index: 1;
}

.featureTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.2115384615;
  color: #6eccaf;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .featureTtl {
    text-align: center;
  }
}
.featureTtl span {
  display: inline-block;
}

.featureBody {
  width: 100%;
}

.featureBodyList {
  margin-top: 40px;
  width: 100%;
}
.featureBodyList.-triple {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: 80px;
  -moz-column-gap: clamp(56px, 4.1666666667vw, 80px);
       column-gap: clamp(56px, 4.1666666667vw, 80px);
}
.featureBodyList.-double {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: 80px;
  -moz-column-gap: clamp(84px, 6.25vw, 120px);
       column-gap: clamp(84px, 6.25vw, 120px);
}

.featureBodyItem {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.featureBodyItem.-triple {
  width: calc((100% - clamp(56px, 4.1666666667vw, 80px) * 2) / 3);
}
@media (max-width: 767px) {
  .featureBodyItem.-triple {
    width: calc((100% - clamp(56px, 4.1666666667vw, 80px) * 0) / 1);
  }
}
.featureBodyItem.-double {
  width: calc((100% - clamp(84px, 6.25vw, 120px) * 1) / 2);
}
@media (max-width: 767px) {
  .featureBodyItem.-double {
    width: calc((100% - clamp(84px, 6.25vw, 120px) * 0) / 1);
  }
}

.featureBodyImg {
  width: 100%;
  height: clamp(175px, 13.0208333333vw, 250px);
  background-color: white;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
@media (max-width: 767px) {
  .featureBodyImg {
    height: 226px;
  }
}
.featureBodyImg img {
  width: 80%;
  height: 80%;
  -o-object-fit: contain;
     object-fit: contain;
}

.featureBodyTtl {
  margin-top: 25px;
  font-size: clamp(2.2rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .featureBodyTtl {
    letter-spacing: 0;
  }
}

.featureBodyInline span {
  display: inline-block;
}

.featureBodyNum {
  font-size: clamp(2.2rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}

.featureBodyTxt {
  margin-top: 25px;
  font-size: clamp(1.9rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.featureBodyTxt span {
  letter-spacing: 0;
}
.featureBodyTxt span.-highlight {
  font-weight: bold;
  color: #ee9ca1;
}

.network {
  position: relative;
  z-index: 3;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
}
@media (max-width: 767px) {
  .network {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.network.-first {
  margin-top: clamp(35px, 9.1145833333vw, 175px);
  padding-bottom: clamp(60px, 9.4270833333vw, 181px);
}
.network.-second {
  overflow: hidden;
  padding-top: clamp(60px, 9.84375vw, 189px);
  padding-bottom: clamp(60px, 9.4270833333vw, 181px);
}
@media (max-width: 1000px) {
  .network {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .network {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.network::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + clamp(210px, 15.625vw, 300px));
  background: #f6fbfb;
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: -1;
}

.networkInner {
  width: 100%;
}

.networkTtl {
  font-size: clamp(2.5rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.4807692308;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .networkTtl {
    text-align: center;
  }
}
.networkTtl span {
  display: inline-block;
}

.networkBody {
  width: 100%;
  margin-top: clamp(50px, 7.3958333333vw, 142px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(0px, 8.6979166667vw, 167px);
       column-gap: clamp(0px, 8.6979166667vw, 167px);
}
.networkBody.-noSpace {
  margin-top: 0;
}
@media (max-width: 767px) {
  .networkBody {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    row-gap: 15px;
  }
}

.networkBodyContents {
  width: calc(100% - clamp(275px, 25vw, 480px) - clamp(0px, 8.6979166667vw, 167px));
}
@media (max-width: 767px) {
  .networkBodyContents {
    width: 100%;
  }
}

.networkBodyTtl {
  font-size: clamp(2.2rem, (2.2395833333vw), 4.3rem);
  font-weight: 500;
  line-height: 1.6976744186;
  letter-spacing: 0.1em;
  color: #6eccaf;
}
@media (max-width: 767px) {
  .networkBodyTtl {
    text-align: center;
  }
}

.networkBodyTxt {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  margin-top: clamp(25px, 2.96875vw, 57px);
}
@media (max-width: 767px) {
  .networkBodyTxt {
    letter-spacing: 0;
  }
}

.networkBodyImg {
  width: clamp(275px, 25vw, 480px);
  min-width: clamp(275px, 25vw, 480px);
  max-width: 100%;
}

.regional {
  padding-top: clamp(60px, 9.4791666667vw, 182px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  position: relative;
  padding-bottom: clamp(60px, 7.8125vw, 150px);
  z-index: 3;
}
@media (max-width: 767px) {
  .regional {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .regional {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .regional {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 767px) {
  .regional {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.regionalInner {
  width: 100%;
}

.regionalTtl {
  font-size: clamp(2.2rem, (2.2395833333vw), 4.3rem);
  font-weight: 500;
  line-height: 1.6976744186;
  color: #6eccaf;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .regionalTtl {
    text-align: center;
  }
}

.regionalBody {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(0px, 8.6979166667vw, 167px);
       column-gap: clamp(0px, 8.6979166667vw, 167px);
}
@media (max-width: 767px) {
  .regionalBody {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    row-gap: 30px;
  }
}

.regionalBodyContents {
  width: calc(100% - clamp(275px, 25vw, 480px) - clamp(0px, 8.6979166667vw, 167px));
}
@media (max-width: 767px) {
  .regionalBodyContents {
    width: 100%;
  }
}

.regionalBodyTel {
  font-size: clamp(3rem, (2.2395833333vw), 4.3rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #6eccaf;
}

.regionalBodyTxt {
  margin-top: clamp(20px, 2.0833333333vw, 40px);
  font-size: clamp(1.6rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}

.regionalBodyImg {
  width: clamp(230px, 21.0416666667vw, 404px);
  min-width: clamp(230px, 21.0416666667vw, 404px);
  max-width: 100%;
}

.regionalAccess {
  margin-top: clamp(50px, 5.2083333333vw, 100px);
  width: 100%;
  aspect-ratio: 1320/660;
  border-radius: clamp(10px, 1.0416666667vw, 20px);
}
@media (max-width: 767px) {
  .regionalAccess {
    border-radius: 0;
    aspect-ratio: 390/240;
    width: 100vw;
    min-width: 100vw;
    margin-left: -20px;
  }
}

.regionalBodyList {
  margin-top: 30px;
  width: 100%;
  border-top: 1px solid #999999;
  padding-top: clamp(23px, 1.5104166667vw, 29px);
  padding-bottom: clamp(23px, 1.5104166667vw, 29px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  row-gap: 14px;
}
@media (max-width: 767px) {
  .regionalBodyList {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.regionalBodyList:last-of-type {
  border-bottom: 1px solid #999999;
}

.regionalBodyTerm {
  width: clamp(140px, 10.4166666667vw, 200px);
  min-width: clamp(140px, 10.4166666667vw, 200px);
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
  padding-right: 1em;
}
@media (max-width: 767px) {
  .regionalBodyTerm {
    padding-right: 0;
  }
}
.regionalBodyTerm span {
  display: inline-block;
}

.regionalBodyDesc {
  padding-left: 30px;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
  position: relative;
}
@media (max-width: 767px) {
  .regionalBodyDesc {
    padding-left: 38px;
  }
}
@media (max-width: 374px) {
  .regionalBodyDesc {
    font-size: 1.3rem;
  }
}
.regionalBodyDesc::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% + clamp(23px, 1.5104166667vw, 29px));
  background: #d6d6d6;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .regionalBodyDesc::before {
    display: none;
  }
}

.regionalBodyDescTxt {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 374px) {
  .regionalBodyDescTxt {
    font-size: 1.3rem;
  }
}

.regionalDetails {
  margin-top: clamp(12px, 0.9375vw, 18px);
}

.regionalDetailsList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: clamp(8px, 0.8333333333vw, 16px);
}

.regionalDetailsTerm {
  width: clamp(55px, 4.4270833333vw, 85px);
  min-width: clamp(55px, 4.4270833333vw, 85px);
  line-height: 2.3;
}
@media (max-width: 374px) {
  .regionalDetailsTerm {
    min-width: 40px;
    width: 40px;
  }
}

.regionalDetailsDesc {
  width: calc(100% - clamp(55px, 4.4270833333vw, 85px));
  min-width: calc(100% - clamp(55px, 4.4270833333vw, 85px));
  line-height: 2.3;
}

.regionalBodyIcon {
  margin-top: clamp(0px, 0.1041666667vw, 2px);
  width: 30px;
  min-width: 30px;
  height: 30px;
  margin-right: clamp(10px, 0.78125vw, 15px);
  -o-object-fit: contain;
     object-fit: contain;
}
.regionalBodyIcon.-adjust1 {
  margin-top: 0;
  transform: translateY(clamp(10px, 0.8333333333vw, 16px));
}
.regionalBodyIcon.-adjust2 {
  margin-top: -2px;
}

.regionalBodyWrap.-tel {
  margin-top: clamp(25px, 2.6041666667vw, 50px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}

.regionalBodyList + .regionalBodyList {
  margin-top: 0;
}

.partners {
  position: relative;
  z-index: 3;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  margin-top: clamp(35px, 9.1145833333vw, 175px);
}
@media (max-width: 767px) {
  .partners {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .partners {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .partners {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.partnersInner {
  width: 100%;
}

.partnersTtl {
  font-size: clamp(2.2rem, (2.2395833333vw), 4.3rem);
  font-weight: 500;
  line-height: 1.6976744186;
  letter-spacing: 0.1em;
  color: #6eccaf;
}
@media (max-width: 767px) {
  .partnersTtl {
    text-align: center;
  }
}

.partnersList {
  margin-top: clamp(30px, 3.125vw, 60px);
}

.partnersItem {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
}
.partnersItem::before {
  content: "・";
}
@media (max-width: 767px) {
  .partnersItem {
    letter-spacing: 0;
  }
}

.vax {
  position: relative;
  z-index: 3;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
}
@media (max-width: 767px) {
  .vax {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.vax.-first {
  margin-top: clamp(35px, 9.1145833333vw, 175px);
  padding-bottom: clamp(60px, 9.4270833333vw, 181px);
}
.vax.-first::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + clamp(210px, 15.625vw, 300px));
  background: #f6fbfb;
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: -1;
}
.vax.-second {
  padding-top: clamp(60px, 9.4270833333vw, 181px);
}
.vax.-third {
  padding-top: clamp(60px, 9.4270833333vw, 181px);
}
@media (max-width: 1000px) {
  .vax {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .vax {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.vaxInner {
  width: 100%;
}

.vaxBody {
  max-width: 1000px;
}

.vaxBodyTtl.-first {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.3461538462;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .vaxBodyTtl.-first {
    text-align: center;
  }
}
.vaxBodyTtl.-second {
  margin-top: clamp(35px, 2.6041666667vw, 50px);
  color: #6eccaf;
  font-size: clamp(2rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.vaxBodyTtl span {
  display: inline-block;
}

.vaxBodyTable.-first {
  margin-top: 20px;
  border-radius: 10px;
  border: 1px solid #999999;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
.vaxBodyTable.-first thead {
  width: 100%;
  background-color: #b6e5d7;
}
.vaxBodyTable.-first tbody {
  width: 100%;
}
.vaxBodyTable.-first tbody tr:nth-of-type(even) {
  background-color: #dbf2eb;
}
.vaxBodyTable.-first tr {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
}
.vaxBodyTable.-first tr:not(:first-of-type) {
  border-top: 1px solid #999999;
}
.vaxBodyTable.-first th,
.vaxBodyTable.-first td {
  padding-top: 24px;
  padding-bottom: 24px;
  padding-left: 0.3em;
  padding-right: 0.3em;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.vaxBodyTable.-first th:first-of-type,
.vaxBodyTable.-first td:first-of-type {
  width: 80%;
  border-right: 1px solid #999999;
}
@media (max-width: 767px) {
  .vaxBodyTable.-first th:first-of-type,
  .vaxBodyTable.-first td:first-of-type {
    width: 65.7142857143%;
  }
}
.vaxBodyTable.-first th:last-of-type,
.vaxBodyTable.-first td:last-of-type {
  width: 20%;
}
@media (max-width: 767px) {
  .vaxBodyTable.-first th:last-of-type,
  .vaxBodyTable.-first td:last-of-type {
    width: 34.2857142857%;
  }
}
.vaxBodyTable.-second {
  margin-top: clamp(17.5px, 1.3020833333vw, 25px);
  border-radius: 10px;
  border: 1px solid #999999;
}
.vaxBodyTable.-second tbody {
  width: 100%;
}
.vaxBodyTable.-second tr {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
}
.vaxBodyTable.-second tr:not(:first-of-type) {
  border-top: 1px solid #999999;
}
.vaxBodyTable.-second th,
.vaxBodyTable.-second td {
  padding-top: 24px;
  padding-bottom: 24px;
  padding-left: 0.3em;
  padding-right: 0.3em;
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.vaxBodyTable.-second th {
  width: 30%;
  border-right: 1px solid #999999;
  background-color: #dbf2eb;
}
@media (max-width: 767px) {
  .vaxBodyTable.-second th {
    width: 34.2857142857%;
  }
}
.vaxBodyTable.-second td {
  width: 70%;
}
@media (max-width: 767px) {
  .vaxBodyTable.-second td {
    width: 65.7142857143%;
  }
}

.vaxBodyRow {
  margin-top: clamp(17.5px, 1.3020833333vw, 25px);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .vaxBodyRow {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    row-gap: 20px;
  }
}

.vaxBodyTxt {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}

.vaxBodyImg {
  padding-left: clamp(84px, 6.25vw, 120px);
  padding-right: clamp(84px, 6.25vw, 120px);
}
.vaxBodyImg img {
  width: clamp(123px, 8.5416666667vw, 164px);
  min-width: clamp(123px, 8.5416666667vw, 164px);
}

.vaxBodyTable.-second + .vaxBodyTtl.-second {
  margin-top: clamp(74.4px, 4.84375vw, 93px);
}

.vaxBodyRow + .vaxBodyTable.-first {
  margin-top: clamp(59.4px, 4.4270833333vw, 85px);
}

.checkup {
  position: relative;
  z-index: 3;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  margin-top: clamp(35px, 9.1145833333vw, 175px);
  padding-top: clamp(60px, 9.4270833333vw, 181px);
  padding-bottom: clamp(60px, 9.4270833333vw, 181px);
}
@media (max-width: 767px) {
  .checkup {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.checkup::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background: #f6fbfb;
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: -1;
}
@media (max-width: 1000px) {
  .checkup {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .checkup {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.checkupInner {
  width: 100%;
}

.checkupTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.3461538462;
  letter-spacing: 0.02em;
}

.checkupTxt {
  margin-top: clamp(35px, 2.6041666667vw, 50px);
  font-size: clamp(2.1rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: #6eccaf;
}

.faq {
  position: relative;
  padding-top: clamp(50px, 10.4166666667vw, 200px);
  padding-bottom: clamp(50px, 10.4166666667vw, 200px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  z-index: 2;
}
@media (max-width: 767px) {
  .faq {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .faq {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .faq {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.faq::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + clamp(210px, 15.625vw, 300px));
  background: #f6fbfb;
  position: absolute;
  bottom: 0px;
  left: 0;
  z-index: -1;
}

.faqInner {
  width: 100%;
}

.faqHead {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
  z-index: 2;
}

.faqHeadTxt {
  position: relative;
  z-index: 1;
}

.faqHeadTtl {
  font-size: clamp(3.6rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.5;
  position: relative;
}
@media (max-width: 767px) {
  .faqHeadTtl {
    text-align: center;
  }
}
.faqHeadTtl span {
  display: inline-block;
}

.faqBody {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.faqBodyList {
  margin-top: clamp(50px, 5.2083333333vw, 100px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(30px, 2.6041666667vw, 50px);
}

.faqBodyItem {
  min-width: 100%;
  border: 1px solid #999999;
  border-radius: 10px;
  overflow: hidden;
}

.faqBodyBtn {
  min-height: clamp(75px, 5.2083333333vw, 100px);
  position: relative;
  padding-top: clamp(20px, 1.5625vw, 30px);
  padding-bottom: clamp(20px, 1.5625vw, 30px);
  padding-left: clamp(20px, 2.6041666667vw, 50px);
  padding-right: clamp(20px, 2.6041666667vw, 50px);
  text-align: left;
  cursor: pointer;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  -moz-column-gap: clamp(14px, 2.34375vw, 45px);
       column-gap: clamp(14px, 2.34375vw, 45px);
  font-size: clamp(1.6rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.65;
  font-family: "Noto Sans JP";
  color: #333;
}
@media (max-width: 767px) {
  .faqBodyBtn {
    min-height: 0;
  }
}
.faqBodyBtn::before {
  content: "Q";
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  margin-top: -5px;
  font-family: "Zen Maru Gothic";
  font-size: clamp(3rem, (2.0833333333vw), 4rem);
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 767px) {
  .faqBodyBtn::before {
    line-height: 1;
  }
}
.faqBodyBtn:hover {
  background-color: #f9f9f9;
}

.faqBodyExpand {
  position: relative;
  display: inline-block;
  width: clamp(18.9px, 1.40625vw, 27px);
  min-width: clamp(18.9px, 1.40625vw, 27px);
  aspect-ratio: 1/1;
  margin-left: auto;
  transition: all 0.3s ease;
}
.faqBodyExpand::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  width: clamp(15px, 0.78125vw, 15px);
  height: 2px;
  background-color: #6eccaf;
  transition: all 0.1s ease;
}
.faqBodyExpand::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  width: 2px;
  height: clamp(15px, 0.78125vw, 15px);
  background-color: #6eccaf;
}
.faqBodyExpand.-hide::before {
  opacity: 0;
}

.faqBodyAnswer {
  text-align: left;
  padding-top: clamp(15px, 2.1354166667vw, 41px);
  padding-bottom: clamp(15px, 2.1354166667vw, 41px);
  padding-left: clamp(20px, 2.6041666667vw, 50px);
  padding-right: clamp(20px, 2.6041666667vw, 50px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: clamp(14px, 1.8229166667vw, 35px);
       column-gap: clamp(14px, 1.8229166667vw, 35px);
  overflow: hidden;
  font-size: clamp(1.4rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.7777777778;
  font-family: "Zen Maru Gothic";
  min-height: clamp(75px, 5.2083333333vw, 100px);
}
@media (max-width: 767px) {
  .faqBodyAnswer {
    line-height: 1.7142857143;
  }
}
@media (max-width: 767px) {
  .faqBodyAnswer {
    min-height: 0;
  }
}
.faqBodyAnswer a {
  text-decoration: underline;
}
.faqBodyAnswer.-hide {
  min-height: 0 !important;
  height: 0 !important;
  padding-top: 0;
  padding-bottom: 0;
}
.faqBodyAnswer::before {
  margin-top: -0.3em;
  content: "A";
  font-size: clamp(2.5rem, (2.6041666667vw), 5rem);
  font-weight: 500;
  line-height: 1.4;
  font-family: "Noto Sans JP";
  color: #6eccaf;
}
@media (max-width: 767px) {
  .faqBodyAnswer::before {
    line-height: 1.2;
  }
}

.faqMore {
  margin-top: clamp(50px, 10.4166666667vw, 200px);
  cursor: pointer;
  text-align: center;
  border: none;
  background-size: 300% 100%;
  background-image: linear-gradient(to right, rgb(52, 73, 115), rgb(40, 98, 116), rgb(107, 87, 156));
  transition: all 0.4s ease-in-out;
  color: white;
  font-size: clamp(1.6rem, (1.25vw), 2.4rem);
  line-height: 1.875;
  letter-spacing: 0.1em;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: clamp(35px, 2.6041666667vw, 50px);
  padding-bottom: clamp(31.4px, 2.34375vw, 45px);
  min-width: clamp(400px, 41.6666666667vw, 800px);
}
@media (max-width: 767px) {
  .faqMore {
    line-height: 1.40625;
  }
}
@media (max-width: 767px) {
  .faqMore {
    min-width: 0;
    width: 100%;
    padding-left: 0.8em;
    padding-right: 0.8em;
  }
}
.faqMore:hover {
  background-position: 100% 0;
  opacity: 1;
}
.faqMore span {
  display: inline-block;
}

.faqBodyList + .faqHeadTtl {
  margin-top: clamp(90px, 9.8958333333vw, 190px);
}

.extra {
  position: relative;
  margin-top: clamp(75px, 10.4166666667vw, 200px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(20px, (15.625vw), 300px);
  padding-right: clamp(20px, (15.625vw), 300px);
  z-index: 2;
  padding-top: clamp(100px, 10.4166666667vw, 200px);
  padding-bottom: clamp(100px, 10.4166666667vw, 200px);
}
@media (max-width: 767px) {
  .extra {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.extra::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% + 1px);
  background: #f6fbfb;
  position: absolute;
  bottom: 0px;
  left: 0;
  z-index: -1;
}
@media (max-width: 1000px) {
  .extra {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    width: 100%;
    padding-left: clamp(20px, (5.2083333333vw), 100px);
    padding-right: clamp(20px, (5.2083333333vw), 100px);
  }
}
@media (max-width: 1000px) and (max-width: 767px) {
  .extra {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.extraInner {
  width: 100%;
}

.extraTtl {
  font-size: clamp(3rem, (2.7083333333vw), 5.2rem);
  font-weight: 500;
  line-height: 1.4807692308;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .extraTtl {
    text-align: center;
  }
}

.extraBody {
  margin-top: clamp(35px, 2.6041666667vw, 50px);
  width: 100%;
}

.extraBlock {
  width: 100%;
  background-color: white;
  padding: clamp(20px, 2.6041666667vw, 50px);
  border-radius: 10px;
  margin-top: clamp(20px, 2.6041666667vw, 50px);
}

.extraBlockTtl.-first {
  font-size: clamp(2.2rem, (1.25vw), 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  color: #6eccaf;
}
.extraBlockTtl.-second {
  font-size: clamp(1.8rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.5;
}

.extraBlockItem {
  margin-top: 30px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  -moz-column-gap: 14px;
       column-gap: 14px;
}

.extraBlockNum {
  font-size: clamp(2rem, (1.5625vw), 3rem);
  font-weight: 500;
  line-height: 1;
}

.extraBlockWrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(7px, 0.5208333333vw, 10px);
}

.extraBlockDesc {
  font-size: clamp(1.6rem, (0.9375vw), 1.8rem);
  font-weight: 500;
  line-height: 1.6666666667;
}

.extraBottom {
  max-width: 100%;
  width: 800px;
  margin: clamp(20px, 2.6041666667vw, 50px) auto;
}

.extraImg {
  display: block;
  width: 100%;
}

.extraTxt,
.extraLink {
  max-width: 100%;
  font-size: clamp(1.6rem, (1.0416666667vw), 2rem);
  font-weight: 500;
  line-height: 1.65;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.fixed_img_chefdr {
  -o-object-position: top;
     object-position: top;
}

.doctorsBodyItem.-double {
  width: 100%;
}

#faq_outpatient,
#faq_procedure {
  padding-top: 10rem;
}

@media screen and (max-width: 767px) {
  body:not(.home) main {
    margin-top: 15rem !important;
  }
}/*# sourceMappingURL=style.css.map */