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

html {
  -webkit-text-size-adjust: 100%;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

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

button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
}

button {
  cursor: pointer;
}

img,
svg {
  display: block;
  max-width: 100%;
}

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

table {
  border-collapse: collapse;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(15px, 13.8539493294px + 0.1490312966vw, 16px);
  line-height: clamp(28px, 23.4157973174px + 0.5961251863vw, 32px);
  color: #464646;
  background-color: #ffffff;
  -webkit-font-smoothing: antialiased;
}

img {
  height: auto;
}

a {
  transition: opacity 0.3s;
}

@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .spOnly {
    display: none !important;
  }
}

.l-section {
  position: relative;
}

.l-inner {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(15px, -105.3353204173px + 15.6482861401vw, 120px);
  padding-right: clamp(15px, -105.3353204173px + 15.6482861401vw, 120px);
}

.l-inner.--s {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(15px, -105.3353204173px + 15.6482861401vw, 120px);
  padding-right: clamp(15px, -105.3353204173px + 15.6482861401vw, 120px);
}

.l-header {
  position: static;
  z-index: auto;
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0;
  pointer-events: none;
}
.l-header a,
.l-header button {
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .l-header {
    position: absolute;
    z-index: 100;
  }
}

.l-header__logo {
  display: flex;
  flex-direction: column;
  position: fixed;
  z-index: 1;
  margin-top: 0;
  color: #019c63;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .l-header__logo {
    top: 7px;
    left: 15px;
  }
}
@media screen and (min-width: 769px) {
  .l-header__logo {
    top: clamp(15px, -2.1907600596px + 2.2354694486vw, 30px);
    left: clamp(15px, -36.5722801788px + 6.7064083458vw, 60px);
  }
}
.l-header__logo img {
  display: block;
  width: 223px;
  height: 119px;
}
@media screen and (max-width: 768px) {
  .l-header__logo img {
    width: 106px;
    height: 56px;
  }
}

.l-header__logoName {
  display: flex;
  align-items: center;
  gap: clamp(6px, 3.7078986587px + 0.2980625931vw, 8px);
  font-family: "Niconne", cursive;
  font-size: clamp(28px, 11.955290611px + 2.086438152vw, 42px);
  font-weight: 400;
  letter-spacing: 0.02em;
}

.l-header__leaf {
  width: clamp(18px, 6.5394932936px + 1.4903129657vw, 28px);
  height: clamp(18px, 6.5394932936px + 1.4903129657vw, 28px);
  color: #019c63;
}

.l-header__logoSub {
  margin-top: clamp(2px, -0.2921013413px + 0.2980625931vw, 4px);
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-size: clamp(7px, 2.4157973174px + 0.5961251863vw, 11px);
  font-weight: 700;
  letter-spacing: 0.12em;
}

.l-header__menuBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: clamp(6px, -0.8763040238px + 0.8941877794vw, 12px);
  width: clamp(45px, 8.3263785395px + 4.7690014903vw, 77px);
  height: clamp(45px, 8.3263785395px + 4.7690014903vw, 77px);
  border-radius: clamp(10px, 7.7078986587px + 0.2980625931vw, 12px);
  background-color: #4a4a4a;
  position: fixed;
  top: 15px;
  right: 15px;
  z-index: 102;
}
@media screen and (min-width: 769px) {
  .l-header__menuBtn {
    top: clamp(15px, -25.1117734724px + 5.21609538vw, 50px);
    right: clamp(15px, -36.5722801788px + 6.7064083458vw, 60px);
  }
}
.l-header__menuBtn span {
  display: block;
  width: clamp(17px, 3.2473919523px + 1.7883755589vw, 29px);
  height: 2px;
  background-color: #ffffff;
  transform-origin: center;
  transition: transform 0.3s, opacity 0.3s;
}
.l-header__menuBtn.is-open span:nth-child(1) {
  transform: translateY(clamp(8px, 1.1236959762px + 0.8941877794vw, 14px)) rotate(45deg);
}
.l-header__menuBtn.is-open span:nth-child(2) {
  opacity: 0;
}
.l-header__menuBtn.is-open span:nth-child(3) {
  transform: translateY(clamp(-14px, -1.1236959762px + -0.8941877794vw, -8px)) rotate(-45deg);
}

.l-header__nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 101;
  pointer-events: auto;
  width: 450px;
  height: 100vh;
  height: 100dvh;
  max-height: 100dvh;
  border-radius: 60px 0 0 60px;
  background-color: #039c63;
  box-shadow: -5px 0 10.8px rgba(0, 0, 0, 0.26);
  visibility: hidden;
  overflow: hidden;
  overflow: clip;
  transform: translateX(100%);
  transition: transform 0.3s, visibility 0s linear 0.3s;
}
.l-header__nav.is-open {
  visibility: visible;
  transform: translateX(0);
  transition: transform 0.3s, visibility 0s;
}
.l-header__nav.is-open.is-settled {
  transform: none;
  transition: visibility 0s;
}
@media screen and (max-width: 768px) {
  .l-header__nav {
    width: 100%;
    max-width: 450px;
    border-radius: 24px 0 0 24px;
  }
}

.l-header__navScroll {
  position: absolute;
  top: 107px;
  right: 60px;
  bottom: 0;
  left: 60px;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
  scrollbar-width: none;
}
.l-header__navScroll::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-header__navScroll {
    top: 57px;
    right: 24px;
    bottom: env(safe-area-inset-bottom, 0px);
    left: 24px;
  }
}

.l-header__navList {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 14px;
  width: 100%;
  padding-bottom: 150px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .l-header__navList {
    padding-bottom: 60px;
  }
}

.l-header__navLink {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 100%;
  padding-bottom: 17px;
  border-bottom: 1px dashed #ffffff;
  color: #ffffff;
  font-weight: 700;
}
.l-header__navLink:hover {
  opacity: 0.8;
}

.l-header__navList li:last-child .l-header__navLink {
  padding-bottom: 0;
  border-bottom: 0;
}

.l-header__navEn {
  color: #f8fd6d;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
}

.l-header__navJa {
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 20px;
}

@media screen and (max-width: 768px) {
  .l-header__menuBtn {
    border-radius: 8px;
  }
}
.l-footer {
  background-color: #ffffff;
}

.l-footer__nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(clamp(16px, -2.3368107303px + 2.3845007452vw, 32px) * 2);
  margin: 0 clamp(15px, -36.5722801788px + 6.7064083458vw, 60px);
  padding: 20px clamp(16px, -103.1892697466px + 15.4992548435vw, 120px);
  border-top: 1px solid #e3e3e3;
  border-bottom: 1px solid #e3e3e3;
}
@media screen and (max-width: 768px) {
  .l-footer__nav {
    flex-direction: column;
    gap: 1px;
  }
}

.l-footer__navItem {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  gap: 8px;
  width: 160px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l-footer__navItem {
    width: 100%;
    padding: 12px 0;
  }
}
.l-footer__navItem:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + clamp(16px, -2.3368107303px + 2.3845007452vw, 32px));
  width: clamp(1px, -0.1460506706px + 0.1490312966vw, 2px);
  height: 36px;
  background-color: #e3e3e3;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .l-footer__navItem:not(:last-child)::after {
    top: auto;
    bottom: 0;
    left: 50%;
    width: 36px;
    height: 1px;
    transform: translate(-50%, 50%);
  }
}
.l-footer__navItem:hover {
  opacity: 0.7;
}

.l-footer__navEn {
  font-size: clamp(14px, 11.7078986587px + 0.2980625931vw, 16px);
  font-weight: 700;
  line-height: clamp(14px, 3.6855439642px + 1.3412816692vw, 23px);
  color: #019c63;
}

.l-footer__navJa {
  font-size: clamp(16px, 11.4157973174px + 0.5961251863vw, 20px);
  font-weight: 700;
  line-height: clamp(16px, 1.1013412817px + 1.9374068554vw, 29px);
  color: #464646;
}

.l-footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(24px, 5.6631892697px + 2.3845007452vw, 40px);
  padding: clamp(40px, 17.0789865872px + 2.9806259314vw, 60px) clamp(30px, -73.1445603577px + 13.4128166915vw, 120px) clamp(40px, 17.0789865872px + 2.9806259314vw, 60px);
}

.l-footer__logo {
  font-family: "Niconne", cursive;
  font-size: clamp(36px, 22.2473919523px + 1.7883755589vw, 48px);
  line-height: 1;
  color: #019c63;
  text-align: center;
}

.l-footer__logoSub {
  margin-top: 6px;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-align: center;
}

.l-footer__sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 6.8315946349px + 1.1922503726vw, 24px);
}

.l-footer__snsLink {
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(33px, 19.2473919523px + 1.7883755589vw, 45px);
  height: clamp(33px, 19.2473919523px + 1.7883755589vw, 45px);
  border-radius: 50%;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
}
.l-footer__snsLink:hover {
  opacity: 0.7;
}

.l-footer__snsLink.--yt {
  width: clamp(37px, 22.1013412817px + 1.9374068554vw, 50px);
  border-radius: 0;
}

.l-footer__meta {
  margin-top: clamp(0px, -27.5052160954px + 3.5767511177vw, 24px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1440px;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .l-footer__meta {
    flex-direction: column;
    align-items: center;
  }
}

.l-footer__legal {
  display: flex;
  align-items: center;
  gap: 24px;
}

.l-footer__legal a {
  position: relative;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #a8a8a8;
}
.l-footer__legal a:hover {
  opacity: 0.7;
}
.l-footer__legal a:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 12px);
  width: 1px;
  height: 14px;
  background-color: #a8a8a8;
  transform: translate(-50%, -50%);
}

.l-footer__copy {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #a8a8a8;
}

@media screen and (max-width: 768px) {
  .l-footer__nav {
    gap: 40px;
    padding: 40px 15px;
  }
  .l-footer__navItem {
    gap: 8px;
    padding: 0;
  }
  .l-footer__navItem:not(:last-child)::after {
    bottom: -20px;
  }
  .l-footer__navJa {
    font-size: 18px;
    line-height: 18px;
  }
  .l-footer__bottom {
    gap: 32px;
    padding: 60px 30px;
  }
  .l-footer__logo img {
    width: 196px;
    height: auto;
  }
  .l-footer__sns {
    gap: 24px;
  }
  .l-footer__snsLink.--yt {
    width: 38px;
  }
  .l-footer__snsLink.--yt img {
    width: 38px;
    height: 27px;
  }
  .l-footer__meta {
    gap: 32px;
    margin-top: 24px;
  }
}
.l-siteHeader {
  background-color: #ffffff;
}

.l-siteHeader__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 17px clamp(16px, -57.347242921px + 9.5380029806vw, 80px) 18px;
}

.l-siteHeader__logo {
  flex-shrink: 0;
  width: clamp(120px, 50.0909090909px + 9.0909090909vw, 181px);
}

.l-siteHeader__logo img {
  width: 100%;
  height: auto;
}

.l-siteHeader__body {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 21px;
  min-width: 0;
}

.l-siteHeader__top {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  width: 100%;
}

.l-siteHeader__lead {
  position: relative;
  flex: 0 1 386px;
  min-width: 0;
  height: 32px;
  margin: 0;
  padding: 0 16px;
  overflow: hidden;
  font-size: 14px;
  font-weight: 700;
  line-height: 32px;
  color: #464646;
  white-space: nowrap;
}
.l-siteHeader__lead::before, .l-siteHeader__lead::after {
  display: block;
  position: absolute;
  content: "";
  margin: auto;
  top: 1px;
  width: 7px;
  height: 30px;
  border-top: 1px solid #2eaa7c;
  border-bottom: 1px solid #2eaa7c;
}
.l-siteHeader__lead::before {
  left: 0;
  border-left: 1px solid #2eaa7c;
}
.l-siteHeader__lead::after {
  right: 0;
  border-right: 1px solid #2eaa7c;
}

.l-siteHeader__leadEm {
  color: #2eaa7c;
}

.l-siteHeader__phone {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 21px;
  height: 34px;
  padding: 0 16px;
  border: 1px solid #464646;
  border-radius: 70px;
  background-color: #464646;
  color: #ffffff;
  line-height: 1;
  transition: background-color 0.3s, color 0.3s;
}
.l-siteHeader__phone:hover {
  background-color: #ffffff;
  color: #464646;
}

.l-siteHeader__phoneMain {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 18px;
  font-weight: 700;
  line-height: 18px;
}
.l-siteHeader__phoneMain::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 10.5px);
  width: 1px;
  height: 16px;
  background-color: currentColor;
  transform: translate(-50%, -50%);
}

.l-siteHeader__phoneIcon {
  display: block;
  flex-shrink: 0;
}

.l-siteHeader__hours {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-weight: 700;
  line-height: 15px;
}

.l-siteHeader__hoursLabel {
  font-size: 13px;
}

.l-siteHeader__hoursTime {
  font-size: 15px;
}

.l-siteHeader__reserve {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 9px;
  height: 34px;
  padding: 0 20px;
  border: 1px solid #019c63;
  border-radius: 68px;
  background-color: #019c63;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  transition: background-color 0.3s, color 0.3s;
}
.l-siteHeader__reserve:hover {
  background-color: #ffffff;
  color: #019c63;
}

.l-siteHeader__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: calc(clamp(12px, -8.6289120715px + 2.6825633383vw, 30px) * 2 + 1px);
}

.l-siteHeader__navItem {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #464646;
}
.l-siteHeader__navItem::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + clamp(12px, -8.6289120715px + 2.6825633383vw, 30px) + 0.5px);
  width: 1px;
  height: 36px;
  background-color: #e5e5e5;
  transform: translate(-50%, -50%);
}
.l-siteHeader__navItem:hover {
  opacity: 0.7;
}

.l-siteHeader__navEn {
  font-size: 12px;
  font-weight: 700;
  line-height: 12px;
  color: #019c63;
}

.l-siteHeader__navJa {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 15px;
  font-weight: 700;
  line-height: 15px;
}

.l-siteFooter {
  background-color: #ffffff;
  color: #454645;
}

.l-siteFooter__partners {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.l-siteFooter__partner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 250px;
  height: 111px;
  margin-right: -1px;
  border-right: 1px solid #e5e5e5;
  border-left: 1px solid #e5e5e5;
  background-color: #ffffff;
}

.l-siteFooter__partner img {
  width: auto;
  max-width: 82%;
  height: auto;
  max-height: 89px;
  object-fit: contain;
}

.l-siteFooter__payment {
  background-color: #f8f8f8;
}

.l-siteFooter__paymentInner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px 40px;
  max-width: 1440px;
  min-height: 144px;
  margin: 0 auto;
  padding: 19px clamp(20px, -117.5260804769px + 17.8837555887vw, 140px) 20px;
}

.l-siteFooter__paymentText {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  color: #454645;
}

.l-siteFooter__paymentImg {
  width: min(589px, 100%);
  height: auto;
}

.l-siteFooter__main {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.l-siteFooter__mainInner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
  max-width: 1440px;
  min-height: 386px;
  margin: 0 auto;
  padding: 42px clamp(16px, -80.2682563338px + 12.5186289121vw, 100px) 38px clamp(20px, -118.6721311475px + 18.0327868852vw, 141px);
}

.l-siteFooter__columns {
  display: flex;
  align-items: flex-start;
  gap: clamp(24px, -40.1788375559px + 8.345752608vw, 80px);
}

.l-siteFooter__brand {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  align-items: center;
  gap: 22px;
  width: clamp(240px, 125.3949329359px + 14.9031296572vw, 340px);
}

.l-siteFooter__logo {
  width: 186px;
}

.l-siteFooter__logo img {
  width: 100%;
  height: auto;
}

.l-siteFooter__sns {
  display: flex;
  align-items: center;
  gap: 18px;
}

.l-siteFooter__snsLink {
  display: block;
  width: 25px;
  height: 25px;
}
.l-siteFooter__snsLink:hover {
  opacity: 0.7;
}

.l-siteFooter__snsLink img {
  width: 25px;
  height: 25px;
  object-fit: cover;
}

.l-siteFooter__contacts {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
}

.l-siteFooter__tel,
.l-siteFooter__reserve {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 36px;
  border-radius: 48px;
  font-weight: 700;
  line-height: 1;
  transition: background-color 0.3s, color 0.3s;
}

.l-siteFooter__tel {
  gap: 5px;
  border: 1px solid #464646;
  background-color: #464646;
  color: #ffffff;
  font-size: 17px;
}
.l-siteFooter__tel:hover {
  background-color: #ffffff;
  color: #464646;
}

.l-siteFooter__reserve {
  justify-content: space-between;
  padding: 0 12px 0 28px;
  border: 1px solid #019c63;
  border-radius: 61px;
  background-color: #019c63;
  color: #ffffff;
  font-size: 14px;
}
.l-siteFooter__reserve:hover {
  background-color: #ffffff;
  color: #019c63;
}

.l-siteFooter__links {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 21px;
  min-width: 0;
  padding-top: 14px;
}

.l-siteFooter__parent {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 160px;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  color: #454645;
}
.l-siteFooter__parent::before {
  content: "";
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #019c63;
}
.l-siteFooter__parent:hover {
  color: #019c63;
}

.l-siteFooter__subs {
  display: grid;
  grid-template-columns: 145px minmax(120px, 1fr) minmax(145px, 1.2fr);
  gap: 12px 30px;
  margin-top: 13px;
}

.l-siteFooter__child {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
  line-height: 17px;
  color: #454645;
}
.l-siteFooter__child::before {
  content: "";
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background-color: #019c63;
}
.l-siteFooter__child:hover {
  color: #019c63;
}

.l-siteFooter__row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.l-siteFooter__legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.l-siteFooter__legalList {
  display: flex;
  align-items: center;
  gap: 19px;
}

.l-siteFooter__legalList a {
  position: relative;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  color: #a8a8a8;
}
.l-siteFooter__legalList a:hover {
  text-decoration: underline;
}
.l-siteFooter__legalList a:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 9.5px);
  width: 1px;
  height: 11px;
  background-color: #a8a8a8;
  transform: translate(-50%, -50%);
}

.l-siteFooter__copy {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  color: #a8a8a8;
}

.l-siteFooter__powered {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 56px;
}

.l-siteFooter__poweredText {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 12px;
  font-weight: 300;
  line-height: 1;
  color: #1b4278;
}

.l-siteFooter__poweredLogo {
  width: 177px;
  height: auto;
}

.c-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: clamp(74px, 62.5394932936px + 1.4903129657vw, 84px);
  padding: 12px 32px 12px 72px;
  border: 3px solid transparent;
  border-radius: 52px;
  font-size: clamp(18px, 11.1236959762px + 0.8941877794vw, 24px);
  font-weight: 700;
  line-height: 24px;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-btn {
    width: 100%;
    padding-left: 64px;
  }
}

.c-btn.--primary::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 40px;
  width: 28px;
  height: 25px;
  margin-top: auto;
  margin-bottom: auto;
  background: url("../img/common/icon-bubble.svg") center/contain no-repeat;
}
@media screen and (max-width: 768px) {
  .c-btn.--primary::before {
    left: 28px;
  }
}
.c-btn.--primary:hover::before {
  background-color: currentColor;
  background-image: none;
  mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2225%22%20viewBox%3D%220%200%2028%2025%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M14%200C21.7363%200%2028%205.47208%2028%2012.2281C27.9812%2013.8263%2027.625%2015.4033%2026.9538%2016.8592C26.2826%2018.315%2025.3111%2019.6181%2024.1007%2020.6859C24.1654%2021.5091%2024.399%2022.3109%2024.7875%2023.043C25.1761%2023.775%2025.7115%2024.4222%2026.3615%2024.9454C24.0944%2025.1924%2021.8153%2024.5961%2019.9733%2023.2742C18.081%2024.0513%2016.0509%2024.453%2014%2024.4562C6.2637%2024.4562%200%2018.974%200%2012.2281C0%205.48227%206.2637%200%2014%200Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fsvg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-mode: alpha;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2225%22%20viewBox%3D%220%200%2028%2025%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M14%200C21.7363%200%2028%205.47208%2028%2012.2281C27.9812%2013.8263%2027.625%2015.4033%2026.9538%2016.8592C26.2826%2018.315%2025.3111%2019.6181%2024.1007%2020.6859C24.1654%2021.5091%2024.399%2022.3109%2024.7875%2023.043C25.1761%2023.775%2025.7115%2024.4222%2026.3615%2024.9454C24.0944%2025.1924%2021.8153%2024.5961%2019.9733%2023.2742C18.081%2024.0513%2016.0509%2024.453%2014%2024.4562C6.2637%2024.4562%200%2018.974%200%2012.2281C0%205.48227%206.2637%200%2014%200Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fsvg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-mode: alpha;
}
.c-btn.--primary {
  width: clamp(306px, 198.2712369598px + 14.0089418778vw, 400px);
  background-color: #019c63;
  border-color: #ffffff;
  color: #ffffff;
}
.c-btn.--primary:hover {
  background-color: #ffffff;
  color: #019c63;
}

.c-btn.--dark::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 40px;
  width: 22px;
  height: 29px;
  margin-top: auto;
  margin-bottom: auto;
  background: url("../img/common/icon-tel.svg") center/contain no-repeat;
}
@media screen and (max-width: 768px) {
  .c-btn.--dark::before {
    left: 28px;
  }
}
.c-btn.--dark:hover::before {
  background-color: currentColor;
  background-image: none;
  mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2222%22%20height%3D%2229%22%20viewBox%3D%220%200%2022%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M1.96702%201.22735C-0.00546873%202.51979%20-0.390537%206.55907%200.351309%209.85211C1.12038%2013.1335%202.43632%2016.2589%204.24285%2019.0945C6.08327%2021.9035%208.3662%2024.3895%2011.0012%2026.4538C13.6731%2028.483%2017.4829%2029.7738%2019.4538%2028.4814C20.4667%2027.7314%2021.3305%2026.7952%2022%2025.7219L20.9407%2024.0722L18.0362%2019.5296C17.8193%2019.193%2016.4645%2019.501%2015.7713%2019.8947C15.0503%2020.42%2014.4424%2021.0876%2013.9843%2021.8572C13.3462%2022.2304%2012.8118%2021.8572%2011.6959%2021.3396C10.0055%2020.1991%208.58979%2018.6902%207.55287%2016.924C6.37951%2015.2472%205.59324%2013.326%205.25189%2011.3017C5.23775%2010.0601%205.11987%209.41547%205.7234%208.97884C6.60576%208.86966%207.457%208.58067%208.22556%208.12938C8.86367%207.65305%209.69668%206.52732%209.48293%206.19071L6.55955%201.65446L5.50022%200C4.25656%200.181004%203.05787%200.5974%201.96702%201.22735Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fsvg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-mode: alpha;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2222%22%20height%3D%2229%22%20viewBox%3D%220%200%2022%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M1.96702%201.22735C-0.00546873%202.51979%20-0.390537%206.55907%200.351309%209.85211C1.12038%2013.1335%202.43632%2016.2589%204.24285%2019.0945C6.08327%2021.9035%208.3662%2024.3895%2011.0012%2026.4538C13.6731%2028.483%2017.4829%2029.7738%2019.4538%2028.4814C20.4667%2027.7314%2021.3305%2026.7952%2022%2025.7219L20.9407%2024.0722L18.0362%2019.5296C17.8193%2019.193%2016.4645%2019.501%2015.7713%2019.8947C15.0503%2020.42%2014.4424%2021.0876%2013.9843%2021.8572C13.3462%2022.2304%2012.8118%2021.8572%2011.6959%2021.3396C10.0055%2020.1991%208.58979%2018.6902%207.55287%2016.924C6.37951%2015.2472%205.59324%2013.326%205.25189%2011.3017C5.23775%2010.0601%205.11987%209.41547%205.7234%208.97884C6.60576%208.86966%207.457%208.58067%208.22556%208.12938C8.86367%207.65305%209.69668%206.52732%209.48293%206.19071L6.55955%201.65446L5.50022%200C4.25656%200.181004%203.05787%200.5974%201.96702%201.22735Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fsvg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-mode: alpha;
}
.c-btn.--dark {
  width: clamp(330px, 249.7764530551px + 10.4321907601vw, 400px);
  background-color: #464646;
  color: #ffffff;
}
.c-btn.--dark:hover {
  background-color: #ffffff;
  color: #464646;
  border-color: #464646;
}

.c-btn.--reserve::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 40px;
  width: 32px;
  height: 32px;
  margin-top: auto;
  margin-bottom: auto;
  background: url("../img/common/icon-calendar.svg") center/contain no-repeat;
}
@media screen and (max-width: 768px) {
  .c-btn.--reserve::before {
    left: 28px;
  }
}
.c-btn.--reserve:hover::before {
  background-color: currentColor;
  background-image: none;
  mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M10.2113%205.61258C10.6347%205.61258%2011.0407%205.44714%2011.3401%205.15266C11.6395%204.85818%2011.8077%204.45878%2011.8077%204.04233V1.57111C11.8077%201.15443%2011.6394%200.754808%2011.3399%200.460168C11.0403%200.165527%2010.6341%200%2010.2105%200C9.78685%200%209.3806%200.165527%209.08107%200.460168C8.78153%200.754808%208.61326%201.15443%208.61326%201.57111V4.04233C8.61326%204.24868%208.65461%204.45301%208.73494%204.64363C8.81528%204.83426%208.933%205.00744%209.08141%205.15327C9.22983%205.2991%209.40603%205.41473%209.59991%205.49354C9.79379%205.57235%2010.0016%205.6128%2010.2113%205.61258Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M21.9876%205.61258C22.4109%205.61258%2022.817%205.44714%2023.1163%205.15266C23.4157%204.85818%2023.5839%204.45878%2023.5839%204.04233V1.57111C23.5839%201.15443%2023.4156%200.754808%2023.1161%200.460168C22.8165%200.165527%2022.4103%200%2021.9867%200C21.5631%200%2021.1568%200.165527%2020.8573%200.460168C20.5578%200.754808%2020.3895%201.15443%2020.3895%201.57111V4.04233C20.3895%204.24868%2020.4308%204.45301%2020.5112%204.64363C20.5915%204.83426%2020.7092%205.00744%2020.8577%205.15327C21.0061%205.2991%2021.1823%205.41473%2021.3761%205.49354C21.57%205.57235%2021.7778%205.6128%2021.9876%205.61258Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M27.5198%202.239H24.9918V4.04265C24.9918%204.82527%2024.6758%205.57584%2024.1132%206.12923C23.5506%206.68263%2022.7876%206.99352%2021.9919%206.99352C21.1963%206.99352%2020.4333%206.68263%2019.8707%206.12923C19.3081%205.57584%2018.992%204.82527%2018.992%204.04265V2.239H13.2173V4.04265C13.2173%204.82527%2012.9013%205.57584%2012.3387%206.12923C11.7761%206.68263%2011.013%206.99352%2010.2174%206.99352C9.4218%206.99352%208.65877%206.68263%208.09618%206.12923C7.53359%205.57584%207.21753%204.82527%207.21753%204.04265V2.239H4.48544C3.29583%202.239%202.15494%202.70385%201.31376%203.53129C0.472572%204.35873%200%205.48098%200%206.65115V27.5879C0%2028.758%200.472572%2029.8803%201.31376%2030.7077C2.15494%2031.5352%203.29583%2032%204.48544%2032H27.5146C28.7042%2032%2029.8451%2031.5352%2030.6862%2030.7077C31.5274%2029.8803%2032%2028.758%2032%2027.5879V6.65115C32%205.48187%2031.5281%204.3604%2030.6881%203.53311C29.848%202.70582%2028.7085%202.24037%2027.5198%202.239ZM29.8227%2027.593C29.8222%2028.1937%2029.5795%2028.7696%2029.1477%2029.1943C28.7159%2029.619%2028.1304%2029.8578%2027.5198%2029.8583H4.48544C3.87481%2029.8578%203.28933%2029.619%202.85755%2029.1943C2.42577%2028.7696%202.18299%2028.1937%202.18253%2027.593V9.43471H29.8227V27.593Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M14.8904%2023.9084H10.8498V27.8829H14.8904V23.9084Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M14.8904%2017.7511H10.8498V21.7257H14.8904V17.7511Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M8.62895%2023.9084H4.58839V27.8829H8.62895V23.9084Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M8.62895%2017.7511H4.58839V21.7257H8.62895V17.7511Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M27.4151%2011.5905H23.3746V15.5651H27.4151V11.5905Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M21.1537%2011.5905H17.1131V15.5651H21.1537V11.5905Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M21.9771%2018.3291L20.775%2017.4093L18.5873%2020.1791L17.2875%2019.1494L16.3367%2020.318L18.8403%2022.2882L21.9771%2018.3291Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M27.4151%2017.7511H23.3746V21.7257H27.4151V17.7511Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M21.1537%2023.9084H17.1131V27.8829H21.1537V23.9084Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M14.8904%2011.5905H10.8498V15.5651H14.8904V11.5905Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fsvg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-mode: alpha;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M10.2113%205.61258C10.6347%205.61258%2011.0407%205.44714%2011.3401%205.15266C11.6395%204.85818%2011.8077%204.45878%2011.8077%204.04233V1.57111C11.8077%201.15443%2011.6394%200.754808%2011.3399%200.460168C11.0403%200.165527%2010.6341%200%2010.2105%200C9.78685%200%209.3806%200.165527%209.08107%200.460168C8.78153%200.754808%208.61326%201.15443%208.61326%201.57111V4.04233C8.61326%204.24868%208.65461%204.45301%208.73494%204.64363C8.81528%204.83426%208.933%205.00744%209.08141%205.15327C9.22983%205.2991%209.40603%205.41473%209.59991%205.49354C9.79379%205.57235%2010.0016%205.6128%2010.2113%205.61258Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M21.9876%205.61258C22.4109%205.61258%2022.817%205.44714%2023.1163%205.15266C23.4157%204.85818%2023.5839%204.45878%2023.5839%204.04233V1.57111C23.5839%201.15443%2023.4156%200.754808%2023.1161%200.460168C22.8165%200.165527%2022.4103%200%2021.9867%200C21.5631%200%2021.1568%200.165527%2020.8573%200.460168C20.5578%200.754808%2020.3895%201.15443%2020.3895%201.57111V4.04233C20.3895%204.24868%2020.4308%204.45301%2020.5112%204.64363C20.5915%204.83426%2020.7092%205.00744%2020.8577%205.15327C21.0061%205.2991%2021.1823%205.41473%2021.3761%205.49354C21.57%205.57235%2021.7778%205.6128%2021.9876%205.61258Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M27.5198%202.239H24.9918V4.04265C24.9918%204.82527%2024.6758%205.57584%2024.1132%206.12923C23.5506%206.68263%2022.7876%206.99352%2021.9919%206.99352C21.1963%206.99352%2020.4333%206.68263%2019.8707%206.12923C19.3081%205.57584%2018.992%204.82527%2018.992%204.04265V2.239H13.2173V4.04265C13.2173%204.82527%2012.9013%205.57584%2012.3387%206.12923C11.7761%206.68263%2011.013%206.99352%2010.2174%206.99352C9.4218%206.99352%208.65877%206.68263%208.09618%206.12923C7.53359%205.57584%207.21753%204.82527%207.21753%204.04265V2.239H4.48544C3.29583%202.239%202.15494%202.70385%201.31376%203.53129C0.472572%204.35873%200%205.48098%200%206.65115V27.5879C0%2028.758%200.472572%2029.8803%201.31376%2030.7077C2.15494%2031.5352%203.29583%2032%204.48544%2032H27.5146C28.7042%2032%2029.8451%2031.5352%2030.6862%2030.7077C31.5274%2029.8803%2032%2028.758%2032%2027.5879V6.65115C32%205.48187%2031.5281%204.3604%2030.6881%203.53311C29.848%202.70582%2028.7085%202.24037%2027.5198%202.239ZM29.8227%2027.593C29.8222%2028.1937%2029.5795%2028.7696%2029.1477%2029.1943C28.7159%2029.619%2028.1304%2029.8578%2027.5198%2029.8583H4.48544C3.87481%2029.8578%203.28933%2029.619%202.85755%2029.1943C2.42577%2028.7696%202.18299%2028.1937%202.18253%2027.593V9.43471H29.8227V27.593Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M14.8904%2023.9084H10.8498V27.8829H14.8904V23.9084Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M14.8904%2017.7511H10.8498V21.7257H14.8904V17.7511Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M8.62895%2023.9084H4.58839V27.8829H8.62895V23.9084Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M8.62895%2017.7511H4.58839V21.7257H8.62895V17.7511Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M27.4151%2011.5905H23.3746V15.5651H27.4151V11.5905Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M21.1537%2011.5905H17.1131V15.5651H21.1537V11.5905Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M21.9771%2018.3291L20.775%2017.4093L18.5873%2020.1791L17.2875%2019.1494L16.3367%2020.318L18.8403%2022.2882L21.9771%2018.3291Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M27.4151%2017.7511H23.3746V21.7257H27.4151V17.7511Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M21.1537%2023.9084H17.1131V27.8829H21.1537V23.9084Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M14.8904%2011.5905H10.8498V15.5651H14.8904V11.5905Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fsvg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-mode: alpha;
}
.c-btn.--reserve {
  width: clamp(330px, 249.7764530551px + 10.4321907601vw, 400px);
  background-color: #019c63;
  color: #ffffff;
}
.c-btn.--reserve:hover {
  background-color: #ffffff;
  color: #019c63;
  border-color: #019c63;
}

.c-btn__label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  text-align: left;
}

.c-btn__sub {
  font-size: 16px;
  font-weight: 700;
  line-height: 16px;
}

.c-secTtl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(12px, 7.4157973174px + 0.5961251863vw, 16px);
  text-align: center;
}

.c-secTtl__en {
  display: inline-flex;
  align-items: center;
  gap: clamp(4px, 2.8539493294px + 0.1490312966vw, 5px);
  padding: clamp(4px, 2.8539493294px + 0.1490312966vw, 5px) clamp(7px, 5.8539493294px + 0.1490312966vw, 8px) clamp(5px, 3.8539493294px + 0.1490312966vw, 6px) clamp(6px, 4.8539493294px + 0.1490312966vw, 7px);
  border: 2px solid #019c64;
  border-radius: 47px;
  color: #019c63;
  font-size: clamp(12px, 9.7078986587px + 0.2980625931vw, 14px);
  font-weight: 700;
  line-height: clamp(12px, 9.7078986587px + 0.2980625931vw, 14px);
}
.c-secTtl__en::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: clamp(16px, 9.1236959762px + 0.8941877794vw, 22px);
  height: clamp(12px, 8.5618479881px + 0.4470938897vw, 15px);
  background: url("../img/common/icon-leaf-green.svg") center/contain no-repeat;
}

.c-secTtl__ja {
  color: #454645;
  font-size: clamp(28px, 8.5171385991px + 2.5335320417vw, 45px);
  font-weight: 700;
  line-height: clamp(40px, 34.2697466468px + 0.7451564829vw, 45px);
}

.c-secTtl__jaSub {
  display: block;
  font-size: clamp(22px, 10.5394932936px + 1.4903129657vw, 32px);
  line-height: clamp(32px, 13.6631892697px + 2.3845007452vw, 48px);
}

.c-secTtl__ja:has(> .c-secTtl__jaSub) {
  line-height: clamp(40px, 9.0566318927px + 4.0238450075vw, 67px);
}

.c-secTtl.--white .c-secTtl__en {
  border-color: #ffffff;
  color: #ffffff;
}
.c-secTtl.--white .c-secTtl__en::before {
  background-image: url("../img/common/icon-leaf-white.svg");
}
.c-secTtl.--white .c-secTtl__ja {
  color: #ffffff;
}

.c-lead {
  font-size: clamp(18px, 11.1236959762px + 0.8941877794vw, 24px);
  font-weight: 700;
  line-height: clamp(32px, 25.1236959762px + 0.8941877794vw, 38px);
  color: #464646;
}

.c-lead.--center {
  text-align: center;
}

.c-mainTxt {
  font-size: clamp(15px, 13.8539493294px + 0.1490312966vw, 16px);
  font-weight: 500;
  line-height: clamp(28px, 23.4157973174px + 0.5961251863vw, 32px);
  color: #464646;
  text-align: left;
  max-width: 800px;
}

.c-mainTxt.--fullwidth {
  max-width: 100%;
}

.c-mainTxt + .c-mainTxt {
  margin-top: clamp(24px, 5.6631892697px + 2.3845007452vw, 40px);
}

.c-mainTxt.--bold {
  font-weight: 700;
}

.c-summary {
  color: #464646;
  font-size: clamp(16px, 11.4157973174px + 0.5961251863vw, 20px);
  font-weight: 700;
  line-height: clamp(32px, 22.8315946349px + 1.1922503726vw, 40px);
  text-align: center;
}

.c-wave {
  position: absolute;
  left: 0;
  width: 100%;
  height: clamp(47px, -99.694485842px + 19.0760059613vw, 175px);
  line-height: 0;
  pointer-events: none;
  z-index: 2;
}
.c-wave svg {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.c-wave.--over,
.c-wave.--into {
  width: 100vw;
  max-width: 100%;
  height: 12.1527777778vw;
}
@media screen and (max-width: 768px) {
  .c-wave.--over,
  .c-wave.--into {
    height: 12.0512820513vw;
  }
}

.c-wave.--over {
  top: auto;
  bottom: calc(100% - 1px);
  transform: none;
}

.c-wave.--into {
  top: -1px;
  transform: scaleY(-1);
}

.c-kv {
  position: sticky;
  top: min(0px, 100vh - clamp(740px, 499.3293591654px + 31.2965722802vw, 950px));
  top: min(0px, 100dvh - clamp(740px, 499.3293591654px + 31.2965722802vw, 950px));
  z-index: 0;
  height: clamp(740px, 499.3293591654px + 31.2965722802vw, 950px);
  overflow: hidden;
  background-color: #ffffff;
}

main:has(> .c-kv) > :not(.c-kv) {
  position: relative;
  z-index: 2;
}

.c-kv__deco {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  perspective: 800px;
}

.c-kv__leaf {
  --sway: 80px;
  --tilt: -40deg;
  --fall: 10s;
  --sway-time: 3s;
  --land: 7.2s;
  --land-delay: 0s;
  --sway-name: c-kv-leaf-sway;
  position: absolute;
  left: calc(var(--x) / 1440 * 100%);
  top: calc(var(--y) / 950 * 100%);
  width: calc(var(--w) / 1440 * 100%);
  height: auto;
  transform: none;
  translate: 0 0;
  rotate: var(--rot, 0deg);
  scale: var(--scale, none);
  transform-origin: center;
  animation: c-kv-leaf-land var(--land) linear var(--land-delay) both;
}
@media screen and (max-width: 768px) {
  .c-kv__leaf {
    left: calc(var(--sx) / 390 * 100%);
    top: calc(var(--sy) / 740 * 100%);
    width: calc(var(--sw) / 390 * 100%);
  }
}

.c-kv__leaf:nth-child(1) {
  --sway: 76px;
  --tilt: -44deg;
  --fall: 8s;
  --sway-time: 2.4s;
  --land: 6.4s;
  --land-delay: 0.18s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(2) {
  --sway: -104px;
  --tilt: 60deg;
  --fall: 9s;
  --sway-time: 2.8s;
  --land: 7.2s;
  --land-delay: 0.36s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(3) {
  --sway: 132px;
  --tilt: -76deg;
  --fall: 10s;
  --sway-time: 3.2s;
  --land: 8s;
  --land-delay: 0.54s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(4) {
  --sway: -160px;
  --tilt: 28deg;
  --fall: 11s;
  --sway-time: 3.6s;
  --land: 8.8s;
  --land-delay: 0.72s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(5) {
  --sway: 48px;
  --tilt: -44deg;
  --fall: 12s;
  --sway-time: 2s;
  --land: 9.6s;
  --land-delay: 0.9s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(6) {
  --sway: -76px;
  --tilt: 60deg;
  --fall: 13s;
  --sway-time: 2.4s;
  --land: 5.6s;
  --land-delay: 1.08s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(7) {
  --sway: 104px;
  --tilt: -76deg;
  --fall: 14s;
  --sway-time: 2.8s;
  --land: 6.4s;
  --land-delay: 1.26s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(8) {
  --sway: -132px;
  --tilt: 28deg;
  --fall: 15s;
  --sway-time: 3.2s;
  --land: 7.2s;
  --land-delay: 0s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(9) {
  --sway: 160px;
  --tilt: -44deg;
  --fall: 7s;
  --sway-time: 3.6s;
  --land: 8s;
  --land-delay: 0.18s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(10) {
  --sway: -48px;
  --tilt: 60deg;
  --fall: 8s;
  --sway-time: 2s;
  --land: 8.8s;
  --land-delay: 0.36s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(11) {
  --sway: 76px;
  --tilt: -76deg;
  --fall: 9s;
  --sway-time: 2.4s;
  --land: 9.6s;
  --land-delay: 0.54s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(12) {
  --sway: -104px;
  --tilt: 28deg;
  --fall: 10s;
  --sway-time: 2.8s;
  --land: 5.6s;
  --land-delay: 0.72s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(13) {
  --sway: 132px;
  --tilt: -44deg;
  --fall: 11s;
  --sway-time: 3.2s;
  --land: 6.4s;
  --land-delay: 0.9s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(14) {
  --sway: -160px;
  --tilt: 60deg;
  --fall: 12s;
  --sway-time: 3.6s;
  --land: 7.2s;
  --land-delay: 1.08s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(15) {
  --sway: 48px;
  --tilt: -76deg;
  --fall: 13s;
  --sway-time: 2s;
  --land: 8s;
  --land-delay: 1.26s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(16) {
  --sway: -76px;
  --tilt: 28deg;
  --fall: 14s;
  --sway-time: 2.4s;
  --land: 8.8s;
  --land-delay: 0s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(17) {
  --sway: 104px;
  --tilt: -44deg;
  --fall: 15s;
  --sway-time: 2.8s;
  --land: 9.6s;
  --land-delay: 0.18s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(18) {
  --sway: -132px;
  --tilt: 60deg;
  --fall: 7s;
  --sway-time: 3.2s;
  --land: 5.6s;
  --land-delay: 0.36s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(19) {
  --sway: 160px;
  --tilt: -76deg;
  --fall: 8s;
  --sway-time: 3.6s;
  --land: 6.4s;
  --land-delay: 0.54s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(20) {
  --sway: -48px;
  --tilt: 28deg;
  --fall: 9s;
  --sway-time: 2s;
  --land: 7.2s;
  --land-delay: 0.72s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(21) {
  --sway: 76px;
  --tilt: -44deg;
  --fall: 10s;
  --sway-time: 2.4s;
  --land: 8s;
  --land-delay: 0.9s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(22) {
  --sway: -104px;
  --tilt: 60deg;
  --fall: 11s;
  --sway-time: 2.8s;
  --land: 8.8s;
  --land-delay: 1.08s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(23) {
  --sway: 132px;
  --tilt: -76deg;
  --fall: 12s;
  --sway-time: 3.2s;
  --land: 9.6s;
  --land-delay: 1.26s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(24) {
  --sway: -160px;
  --tilt: 28deg;
  --fall: 13s;
  --sway-time: 3.6s;
  --land: 5.6s;
  --land-delay: 0s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(25) {
  --sway: 48px;
  --tilt: -44deg;
  --fall: 14s;
  --sway-time: 2s;
  --land: 6.4s;
  --land-delay: 0.18s;
  --sway-name: c-kv-leaf-sway;
}

.c-kv__leaf:nth-child(26) {
  --sway: -76px;
  --tilt: 60deg;
  --fall: 15s;
  --sway-time: 2.4s;
  --land: 7.2s;
  --land-delay: 0.36s;
  --sway-name: c-kv-leaf-sway-alt;
}

.c-kv__leaf:nth-child(27) {
  --sway: 104px;
  --tilt: -76deg;
  --fall: 7s;
  --sway-time: 2.8s;
  --land: 8s;
  --land-delay: 0.54s;
  --sway-name: c-kv-leaf-sway;
}

@keyframes c-kv-leaf-land {
  from {
    translate: var(--sway) -78vh;
    rotate: calc(var(--rot, 0deg) + var(--tilt) * 0.4);
  }
  to {
    translate: 0 0;
    rotate: var(--rot, 0deg);
  }
}
.c-kv.is-falling .c-kv__leaf {
  translate: none;
  rotate: none;
  animation-name: c-kv-leaf-fall, var(--sway-name);
  animation-duration: var(--fall), var(--sway-time);
  animation-timing-function: linear, ease-in-out;
  animation-iteration-count: infinite, infinite;
  animation-direction: normal, alternate;
  animation-fill-mode: none, none;
  animation-delay: var(--fall-delay, 0s), 0s;
}

@keyframes c-kv-leaf-fall {
  from {
    top: -15%;
  }
  to {
    top: 115%;
  }
}
@keyframes c-kv-leaf-sway {
  from {
    transform: translateX(0) rotate(0deg) rotateX(0deg);
  }
  to {
    transform: translateX(var(--sway)) rotate(var(--tilt)) rotateX(180deg);
  }
}
@keyframes c-kv-leaf-sway-alt {
  from {
    transform: translateX(var(--sway)) rotate(var(--tilt)) rotateX(180deg);
  }
  to {
    transform: translateX(0) rotate(0deg) rotateX(0deg);
  }
}
.c-kv__emblem {
  position: absolute;
  top: clamp(148px, 145.7078986587px + 0.2980625931vw, 150px);
  left: 50%;
  width: clamp(340px, -15.2757078987px + 46.1997019374vw, 650px);
  transform: translateX(-50%);
  text-align: center;
  color: #019c63;
}

.c-kv__leafBg {
  position: absolute;
  top: clamp(0px, 0px + 0vw, 0px);
  left: 50%;
  width: clamp(340px, -15.2757078987px + 46.1997019374vw, 650px);
  height: clamp(238px, -7.2548435171px + 31.8926974665vw, 452px);
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 45%, rgba(236, 245, 234, 0.95) 0%, rgba(210, 235, 214, 0.55) 42%, rgba(255, 255, 255, 0) 70%);
  border-radius: 50% 50% 46% 54%;
  z-index: 0;
}

.c-kv__arc {
  position: relative;
  z-index: 1;
  font-size: clamp(13px, 9.5618479881px + 0.4470938897vw, 16px);
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #019c63;
}

.c-kv__arc::before,
.c-kv__arc::after {
  content: "";
  display: inline-block;
  width: clamp(16px, 6.8315946349px + 1.1922503726vw, 24px);
  height: 1px;
  margin: 0 8px 4px;
  background-color: #019c63;
  vertical-align: middle;
  transform: rotate(-28deg);
}

.c-kv__arc::after {
  transform: rotate(28deg);
}

.c-kv__years {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-top: clamp(8px, 3.4157973174px + 0.5961251863vw, 12px);
  font-family: "Niconne", cursive;
  line-height: 0.85;
}

.c-kv__num {
  font-size: clamp(160px, 22.4739195231px + 17.8837555887vw, 280px);
  letter-spacing: clamp(-20px, -2.8315946349px + -1.1922503726vw, -12px);
  line-height: 0.8;
}

.c-kv__th {
  margin-top: clamp(36px, 22.2473919523px + 1.7883755589vw, 48px);
  font-size: clamp(72px, 16.9895678092px + 7.1535022355vw, 120px);
  line-height: 1;
}

.c-kv__thanks {
  position: absolute;
  top: 24.71%;
  left: 56.25%;
  width: 227px;
  z-index: 2;
  text-align: left;
  color: #ff485e;
  -webkit-text-stroke: 1px #ff485e;
  paint-order: stroke fill;
  font-family: "Nothing You Could Do", cursive;
  font-size: clamp(20px, 3.955290611px + 2.086438152vw, 34px);
  font-weight: 400;
  line-height: clamp(26px, 9.955290611px + 2.086438152vw, 40px);
  letter-spacing: clamp(-2.04px, -0.2373174367px + -0.1251862891vw, -1.2px);
  transform: matrix(0.9397, -0.342, -0.0872, 0.9962, 0, 0);
  transform-origin: center;
  white-space: nowrap;
  animation: c-kv-thanks-pop 1.1s ease 2.4s both;
}
@media screen and (max-width: 768px) {
  .c-kv__thanks {
    top: 93.65px;
    right: auto;
    left: 252.93px;
    width: auto;
    -webkit-text-stroke-width: 0.6px;
    font-size: 20px;
    line-height: 26px;
    letter-spacing: -1.2px;
    transform: translate(-50%, -50%) rotate(-20deg) skewX(-25deg) scaleY(0.91);
    animation-name: c-kv-thanks-pop-sp;
  }
}

.c-kv__thanksChar {
  display: inline-block;
  opacity: 0;
  animation: c-kv-thanks-char 0.5s ease-out forwards;
}

.c-kv__thanksChar:nth-of-type(1) {
  animation-delay: 0.35s;
}

.c-kv__thanksChar:nth-of-type(2) {
  animation-delay: 0.415s;
}

.c-kv__thanksChar:nth-of-type(3) {
  animation-delay: 0.48s;
}

.c-kv__thanksChar:nth-of-type(4) {
  animation-delay: 0.545s;
}

.c-kv__thanksChar:nth-of-type(5) {
  animation-delay: 0.61s;
}

.c-kv__thanksChar:nth-of-type(6) {
  animation-delay: 0.675s;
}

.c-kv__thanksChar:nth-of-type(7) {
  animation-delay: 0.74s;
}

.c-kv__thanksChar:nth-of-type(8) {
  animation-delay: 0.805s;
}

.c-kv__thanksChar:nth-of-type(9) {
  animation-delay: 0.87s;
}

.c-kv__thanksChar:nth-of-type(10) {
  animation-delay: 0.935s;
}

.c-kv__thanksChar:nth-of-type(11) {
  animation-delay: 1s;
}

.c-kv__thanksChar:nth-of-type(12) {
  animation-delay: 1.065s;
}

.c-kv__thanksChar:nth-of-type(13) {
  animation-delay: 1.13s;
}

.c-kv__thanksChar:nth-of-type(14) {
  animation-delay: 1.195s;
}

.c-kv__thanksChar:nth-of-type(15) {
  animation-delay: 1.26s;
}

.c-kv__thanksChar:nth-of-type(16) {
  animation-delay: 1.325s;
}

.c-kv__thanksChar:nth-of-type(17) {
  animation-delay: 1.39s;
}

.c-kv__thanksChar:nth-of-type(18) {
  animation-delay: 1.455s;
}

.c-kv__thanksChar:nth-of-type(19) {
  animation-delay: 1.52s;
}

.c-kv__thanksChar:nth-of-type(20) {
  animation-delay: 1.585s;
}

.c-kv__thanksChar:nth-of-type(21) {
  animation-delay: 1.65s;
}

@keyframes c-kv-thanks-char {
  from {
    opacity: 0;
    transform: translateY(0.28em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes c-kv-thanks-pop {
  0% {
    transform: matrix(0.9397, -0.342, -0.0872, 0.9962, 0, 0) scale(1);
  }
  45% {
    transform: matrix(0.9397, -0.342, -0.0872, 0.9962, 0, 0) scale(1.2);
  }
  100% {
    transform: matrix(0.9397, -0.342, -0.0872, 0.9962, 0, 0) scale(1);
  }
}
@keyframes c-kv-thanks-pop-sp {
  0% {
    transform: translate(-50%, -50%) rotate(-20deg) skewX(-25deg) scaleY(0.91);
  }
  45% {
    transform: translate(-50%, -50%) rotate(-20deg) skewX(-25deg) scale(1.2, 1.092);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-20deg) skewX(-25deg) scaleY(0.91);
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-kv {
    position: relative;
    top: auto;
  }
  .c-kv__leaf,
  .c-kv.is-falling .c-kv__leaf {
    animation: none;
    translate: 0 0;
    rotate: var(--rot, 0deg);
    transform: none;
  }
  .c-kv__thanks,
  .c-kv__thanksChar {
    animation: none;
  }
  .c-kv__thanksChar {
    opacity: 1;
  }
}
.c-kv__anniversary {
  position: relative;
  z-index: 1;
  margin-top: clamp(-16px, 1.1684053651px + -1.1922503726vw, -8px);
  font-family: "Niconne", cursive;
  font-size: clamp(46px, 16.2026825633px + 3.8748137109vw, 72px);
  line-height: 1;
}

.c-kv__range {
  position: relative;
  z-index: 1;
  font-family: "Niconne", cursive;
  font-size: clamp(32px, 13.6631892697px + 2.3845007452vw, 48px);
  line-height: clamp(32px, 11.3710879285px + 2.6825633383vw, 50px);
}

.c-kv__copy {
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(137px, 29.2712369598px + 14.0089418778vw, 231px);
  z-index: 2;
  padding: 0 clamp(45px, 4.8882265276px + 5.21609538vw, 80px);
  text-align: center;
}

.c-kv__copyTtl {
  font-size: clamp(20px, 13.1236959762px + 0.8941877794vw, 26px);
  font-weight: 700;
  line-height: clamp(34px, 31.7078986587px + 0.2980625931vw, 36px);
  color: #464646;
}

.c-kv__copyTtl em {
  font-style: normal;
  color: #019c63;
}

.c-kv__copyLead {
  margin-top: clamp(11px, 21.7302533532px + -0.7451564829vw, 16px);
  font-size: clamp(15px, 11.5618479881px + 0.4470938897vw, 18px);
  font-weight: 500;
  line-height: clamp(25.5px, 24.9269746647px + 0.0745156483vw, 26px);
  color: #464646;
}

.c-kv__scroll {
  position: absolute;
  left: 50%;
  bottom: clamp(33px, 2.0566318927px + 4.0238450075vw, 60px);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 46px;
  transform: translateX(-50%);
  color: #e0e0e0;
  font-size: 10px;
  font-weight: 700;
  line-height: 14px;
  letter-spacing: 0;
}

.c-kv__scrollIcon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #e0e0e0;
  border-radius: 50%;
  color: #c8c8c8;
}

.c-media {
  display: flex;
  align-items: flex-start;
  gap: clamp(24px, -17.2578241431px + 5.3651266766vw, 60px);
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-media {
    flex-direction: column;
  }
}

@media screen and (min-width: 769px) {
  .c-media.--reverse {
    flex-direction: row-reverse;
  }
}

.c-media__img {
  flex: 0 0 auto;
  width: clamp(330px, 192.4739195231px + 17.8837555887vw, 450px);
  border-radius: clamp(16px, 6.8315946349px + 1.1922503726vw, 24px);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-media__img {
    width: 100%;
    margin: auto;
  }
}
.c-media__img img {
  width: 100%;
  height: clamp(248px, 146.001490313px + 13.2637853949vw, 337px);
  object-fit: cover;
}

.c-media__img.--lg {
  width: clamp(330px, 140.9016393443px + 24.5901639344vw, 495px);
}
@media screen and (max-width: 768px) {
  .c-media__img.--lg {
    width: 100%;
  }
}
.c-media__img.--lg img {
  height: clamp(248px, 73.8002980626px + 22.652757079vw, 400px);
}
@media screen and (max-width: 768px) {
  .c-media__img.--lg img {
    height: auto;
  }
}

.c-media__img.--md {
  width: clamp(330px, 249.7764530551px + 10.4321907601vw, 400px);
}
@media screen and (max-width: 768px) {
  .c-media__img.--md {
    width: 100%;
  }
}
.c-media__img.--md img {
  height: clamp(220px, 156.9672131148px + 8.1967213115vw, 275px);
}
@media screen and (max-width: 768px) {
  .c-media__img.--md img {
    height: auto;
  }
}

.c-media__img.--case {
  width: clamp(330px, 158.0923994039px + 22.3546944858vw, 480px);
  border-radius: clamp(16px, -4.6289120715px + 2.6825633383vw, 34px);
}
@media screen and (max-width: 768px) {
  .c-media__img.--case {
    width: 100%;
  }
}
.c-media__img.--case img {
  height: clamp(227px, 108.956780924px + 15.3502235469vw, 330px);
  border-radius: clamp(16px, -4.6289120715px + 2.6825633383vw, 34px);
}
@media screen and (max-width: 768px) {
  .c-media__img.--case img {
    height: auto;
  }
}

.c-media__body {
  flex: 1;
  min-width: 0;
}

.c-media__ttl {
  margin-bottom: clamp(16px, 6.8315946349px + 1.1922503726vw, 24px);
  color: #019c63;
  font-size: clamp(18px, 15.7078986587px + 0.2980625931vw, 20px);
  font-weight: 700;
  line-height: clamp(28px, 23.4157973174px + 0.5961251863vw, 32px);
}

.c-media__ttl.--lg {
  font-size: clamp(20px, 15.4157973174px + 0.5961251863vw, 24px);
  line-height: clamp(32px, 29.7078986587px + 0.2980625931vw, 34px);
}

.c-ph {
  display: block;
  width: 100%;
  background-color: #eeeeee;
  color: #999999;
  object-fit: cover;
}

.c-panel {
  background-color: #ffffff;
  border-radius: clamp(24px, -40.1788375559px + 8.345752608vw, 80px);
  padding: clamp(80px, 57.0789865872px + 2.9806259314vw, 100px) clamp(15px, -59.4932935917px + 9.6870342772vw, 80px);
}

.c-panel__head {
  margin-bottom: clamp(40px, -5.8420268256px + 5.9612518629vw, 80px);
}

.c-stack {
  display: flex;
  flex-direction: column;
  gap: clamp(40px, 17.0789865872px + 2.9806259314vw, 60px);
}

.c-note {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.c-note .c-lead {
  margin-bottom: clamp(24px, 5.6631892697px + 2.3845007452vw, 40px);
}

.c-feature {
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
  padding: 30px 32px 32px;
  border-radius: 32px;
  background-color: #f4f4f4;
}

.c-feature__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 155px;
}
.c-feature__icon img {
  width: clamp(140px, 94.1579731744px + 5.9612518629vw, 180px);
  height: 140px;
  object-fit: contain;
}

.c-feature__head {
  display: flex;
  align-items: flex-end;
  gap: 12px;
}

.c-feature__num {
  color: #f4f4f4;
  font-size: 40px;
  font-weight: 700;
  line-height: 44px;
  -webkit-text-stroke: 2px #019c63;
  paint-order: stroke fill;
}

.c-feature__ttl {
  color: #019c63;
  font-size: clamp(16px, 11.4157973174px + 0.5961251863vw, 20px);
  font-weight: 700;
  line-height: 32px;
}

.c-record {
  display: flex;
  gap: clamp(16px, -11.5052160954px + 3.5767511177vw, 40px);
  padding: 32px clamp(20px, 8.5394932936px + 1.4903129657vw, 30px);
  border-radius: 32px;
  background-color: #f4f4f4;
}

.c-record > div {
  flex: 1;
  min-width: 0;
}

.c-record .c-mainTxt {
  max-width: none;
}

.c-record__bar {
  --c-record-hole: 17px;
  --c-record-pitch: 32.3px;
  position: relative;
  overflow: hidden;
  flex: 0 0 var(--c-record-hole);
  align-self: stretch;
}
.c-record__bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: min(100%, calc(round(down, 100% - var(--c-record-hole) + 0.1px, var(--c-record-pitch)) + var(--c-record-hole)));
  background-image: radial-gradient(circle at calc(var(--c-record-hole) / 2) calc(var(--c-record-hole) / 2), #019c63 calc(var(--c-record-hole) / 2), transparent calc(var(--c-record-hole) / 2 + 0.5px));
  background-position: center top;
  background-repeat: repeat-y;
  background-size: var(--c-record-hole) var(--c-record-pitch);
}

.c-record__ttl {
  margin-bottom: 20px;
  color: #019c63;
  font-size: clamp(18px, 11.1236959762px + 0.8941877794vw, 24px);
  font-weight: 700;
  line-height: clamp(28px, 21.1236959762px + 0.8941877794vw, 34px);
}

.c-voice {
  display: flex;
  gap: clamp(16px, 6.8315946349px + 1.1922503726vw, 24px);
  padding: clamp(24px, 5.6631892697px + 2.3845007452vw, 40px);
  border-radius: 32px;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .c-voice {
    flex-direction: column;
    align-items: center;
  }
}

.c-voice__photo {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  width: 148px;
  height: 148px;
  border-radius: 50%;
  overflow: hidden;
  background-color: #ff7575;
}
.c-voice__photo img {
  width: 52px;
  height: 59px;
}
.c-voice__photo.is-photo {
  position: relative;
}
.c-voice__photo.is-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .c-voice__body {
    width: 100%;
  }
}

.c-voice__name {
  color: #019c63;
  font-size: clamp(20px, 15.4157973174px + 0.5961251863vw, 24px);
  font-weight: 700;
  line-height: 34px;
}
.c-voice__name::after {
  content: "";
  display: block;
  width: 57px;
  height: 2px;
  margin: clamp(23px, 25.1460506706px + -0.1490312966vw, 24px) 0;
  background-color: #97dac1;
}

.c-voice__txt {
  color: #464646;
  font-size: clamp(15px, 13.8539493294px + 0.1490312966vw, 16px);
  font-weight: 500;
  line-height: 30px;
}
.c-voice__txt .c-voice__article + .voiceQa {
  margin-top: 32px;
}

.c-csr {
  position: relative;
  overflow: hidden;
  padding: 32px clamp(20px, 1.6631892697px + 2.3845007452vw, 36px);
  border: 1px solid #dbdbdb;
  border-radius: 32px;
}
@media screen and (max-width: 768px) {
  .c-csr {
    background: linear-gradient(180deg, #fff 54.893%, rgba(255, 255, 255, 0.3) 68.06%), url("../img/top/img-CSR-01.png") #f4f4f4 center bottom/100.434% 46.263% no-repeat;
    padding-bottom: 180px;
  }
  .c-csr:nth-child(2) {
    background: linear-gradient(180deg, #fff 54.893%, rgba(255, 255, 255, 0.3) 68.06%), url("../img/top/img-CSR-02.png") #f4f4f4 center bottom/100.434% 46.263% no-repeat;
    background: linear-gradient(180deg, #fff 54.89%, rgba(255, 255, 255, 0.3) 98.06%), url(../img/top/img-CSR-02.png) lightgray center bottom/100.434% 47.263% no-repeat;
  }
  .c-csr:nth-child(3) {
    background: linear-gradient(180deg, #fff 54.893%, rgba(255, 255, 255, 0.3) 68.06%), url("../img/top/img-CSR-03.png") #f4f4f4 center bottom/100.434% 46.263% no-repeat;
  }
  .c-csr:nth-child(4) {
    background: linear-gradient(180deg, #fff 54.893%, rgba(255, 255, 255, 0.3) 68.06%), url("../img/top/img-CSR-04.png") #f4f4f4 center bottom/100.434% 46.263% no-repeat;
  }
  .c-csr:nth-child(5) {
    background: linear-gradient(180deg, #fff 54.893%, rgba(255, 255, 255, 0.3) 68.06%), url("../img/top/img-CSR-05.png") #f4f4f4 center bottom/100.434% 46.263% no-repeat;
  }
}
@media screen and (min-width: 769px) {
  .c-csr {
    padding-right: 280px;
  }
}

.c-csr__bg {
  display: none;
}
@media screen and (min-width: 769px) {
  .c-csr__bg {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 38%;
    height: 100%;
    margin: 0;
    object-fit: cover;
  }
}

.c-csr__bgFade {
  display: none;
}
@media screen and (min-width: 769px) {
  .c-csr__bgFade {
    display: block;
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 62%, rgba(255, 255, 255, 0.3) 100%);
  }
}

.c-csr__ttl,
.c-csr__txt {
  position: relative;
  z-index: 1;
}

.c-csr__ttl {
  margin-bottom: 24px;
  color: #019c63;
  font-size: clamp(18px, 15.7078986587px + 0.2980625931vw, 20px);
  font-weight: 700;
  line-height: 32px;
}

.c-marquee {
  overflow: hidden;
  width: calc(100% + clamp(15px, -59.4932935917px + 9.6870342772vw, 80px) * 2);
  margin-right: calc(clamp(15px, -59.4932935917px + 9.6870342772vw, 80px) * -1);
  margin-left: calc(clamp(15px, -59.4932935917px + 9.6870342772vw, 80px) * -1);
}

.c-marquee__track {
  display: flex;
  width: max-content;
  animation: c-marquee 60s linear infinite;
}

.c-marquee:hover .c-marquee__track {
  animation-play-state: paused;
}

.c-marquee__group {
  display: flex;
  flex: 0 0 auto;
  gap: 24px;
  padding-right: 24px;
}

@keyframes c-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-marquee__track {
    animation: none;
  }
}
.c-marquee__item {
  flex: 0 0 auto;
  width: 300px;
  height: 225px;
  border-radius: 12px;
  overflow: hidden;
}
.c-marquee__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-timeline {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: clamp(40px, -143.3681073025px + 23.8450074516vw, 200px);
  margin-top: clamp(0px, -91.6840536513px + 11.9225037258vw, 80px);
  padding: clamp(20px, -24.695976155px + 5.8122205663vw, 59px) clamp(0px, -68.7630402385px + 8.9418777943vw, 60px) clamp(0px, -27.5052160954px + 3.5767511177vw, 24px);
}
@media screen and (max-width: 768px) {
  .c-timeline {
    display: flex;
    flex-direction: column;
    gap: 48px;
    padding: 0;
  }
}

.c-timeline::before {
  content: "";
  position: absolute;
  top: 20px;
  bottom: 0;
  left: 50%;
  width: 5px;
  background-color: #a1d0bf;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .c-timeline::before {
    display: none;
  }
}

.c-timeline__col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .c-timeline__col {
    display: contents;
  }
}

.c-timeline__col.--right {
  margin-top: 101px;
}
@media screen and (max-width: 768px) {
  .c-timeline__col.--right {
    margin-top: 0;
  }
}

.c-timeline__item {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .c-timeline__item {
    order: 0;
  }
}

@media screen and (max-width: 768px) {
  .c-timeline__item.--2 {
    order: 2;
  }
}

@media screen and (max-width: 768px) {
  .c-timeline__item.--4 {
    order: 4;
  }
}

@media screen and (max-width: 768px) {
  .c-timeline__item.--6 {
    order: 6;
  }
}

@media screen and (max-width: 768px) {
  .c-timeline__item.--1 {
    order: 1;
  }
}

@media screen and (max-width: 768px) {
  .c-timeline__item.--3 {
    order: 3;
  }
}

@media screen and (max-width: 768px) {
  .c-timeline__item.--5 {
    order: 5;
  }
}

.c-timeline__dot {
  position: absolute;
  top: 58px;
  width: 21px;
  height: 21px;
  border: 4px solid #ffffff;
  border-radius: 50%;
  background-color: #019c63;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .c-timeline__dot {
    position: static;
    display: block;
    margin: 0 auto 16px;
  }
}

.c-timeline__col:not(.--right) .c-timeline__dot {
  right: clamp(-110px, 61.6840536513px + -11.9225037258vw, -30px);
}
@media screen and (max-width: 768px) {
  .c-timeline__col:not(.--right) .c-timeline__dot {
    right: auto;
  }
}
.c-timeline__col:not(.--right) .c-timeline__dot::before {
  display: block;
  position: absolute;
  content: "";
  margin: auto;
  top: 50%;
  right: 17px;
  width: clamp(0px, -103.1445603577px + 13.4128166915vw, 90px);
  height: 4px;
  overflow: hidden;
  background-image: url("../img/common/line-dot.svg");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 99px 4px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c-timeline__col:not(.--right) .c-timeline__dot::before {
    display: none;
  }
}

.c-timeline__col.--right .c-timeline__dot {
  top: clamp(40px, 78.6289120715px + -2.6825633383vw, 58px);
  left: clamp(-110px, 61.6840536513px + -11.9225037258vw, -30px);
}
@media screen and (max-width: 768px) {
  .c-timeline__col.--right .c-timeline__dot {
    left: auto;
  }
}
.c-timeline__col.--right .c-timeline__dot::before {
  display: block;
  position: absolute;
  content: "";
  margin: auto;
  top: 50%;
  left: 17px;
  width: clamp(0px, -113.4590163934px + 14.7540983607vw, 99px);
  height: 4px;
  overflow: hidden;
  background-image: url("../img/common/line-dot.svg");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 99px 4px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c-timeline__col.--right .c-timeline__dot::before {
    display: none;
  }
}

.c-timeline__card {
  padding: 26px 30px 36px;
  border-radius: 24px;
  background-color: #ffffff;
}

.c-timeline__year {
  color: #97dac1;
  font-size: 36px;
  font-weight: 700;
  line-height: 34px;
}

.c-timeline__ttl {
  margin-top: 10px;
  color: #019c63;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}

.c-timeline__sub {
  margin-top: 20px;
  color: #464646;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
}

.c-timeline__txt {
  margin-top: 8px;
  color: #464646;
  font-size: 15px;
  font-weight: 500;
  line-height: 26px;
}

.c-timeline__photo {
  margin-top: 20px;
  border-radius: 12px;
  overflow: hidden;
}
.c-timeline__photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 380/190;
  object-fit: cover;
}

.c-story {
  position: relative;
  overflow-anchor: none;
}
.c-story * {
  overflow-anchor: none;
}

.c-story__steps {
  --c-story-gap: clamp(24px, -1.2131147541px + 3.2786885246vw, 46px);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: center;
  gap: clamp(12px, -15.5052160954px + 3.5767511177vw, 36px);
  min-height: 70px;
  margin-bottom: var(--c-story-gap);
}

.c-story__step {
  position: relative;
  width: 17px;
  height: 17px;
  border: 0;
  border-radius: 50%;
  background-color: #bfcfc9;
}
.c-story__step.is-current {
  background-color: #019c63;
}
.c-story__step.is-current::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 4px;
  height: calc(var(--c-story-gap) + var(--c-story-lift, 0px));
  background-color: #019c63;
  transform: translateX(-50%);
}

button.c-story__step {
  width: 25px;
  height: 25px;
}

button.c-story__step.--sub {
  --c-story-lift: 4px;
  width: 17px;
  height: 17px;
  margin-bottom: var(--c-story-lift);
}

span.c-story__step {
  --c-story-lift: 4px;
  margin-bottom: var(--c-story-lift);
}

.c-story__stepLabel {
  position: absolute;
  bottom: calc(100% + clamp(10px, 4.2697466468px + 0.7451564829vw, 15px));
  left: 50%;
  width: max-content;
  transform: translateX(-50%);
  color: #019c63;
  font-size: 15px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .c-story__stepLabel {
    font-size: 11px;
  }
}

.c-story__viewport {
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-story__viewport {
    touch-action: pan-y;
    overscroll-behavior-x: none;
    -webkit-user-select: none;
    user-select: none;
  }
}

.c-story__window {
  overflow: hidden;
  overflow: clip;
}
@media screen and (max-width: 768px) {
  .c-story__window {
    overscroll-behavior: none;
  }
}
.c-story__window.is-android {
  overflow: clip;
  overscroll-behavior: auto;
}

.c-story__track {
  width: 100%;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.c-story__track.is-dragging {
  transition: none;
}

.c-story__rail {
  display: flex;
  align-items: flex-start;
  width: max-content;
  min-width: 100%;
}

.c-story__rail > .c-story__slide:nth-child(n + 4) {
  display: none;
}

.c-story__pool {
  display: none;
}

.c-story__slide {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  max-height: var(--story-h, none);
  overflow: clip;
}

@media (prefers-reduced-motion: reduce) {
  .c-story__track {
    transition: none;
  }
}
.c-story__card {
  padding: clamp(24px, 14.8315946349px + 1.1922503726vw, 32px);
  border-radius: 32px;
  background-color: #f4f4f4;
}
.c-story__card .c-mainTxt {
  max-width: none;
}
@media screen and (max-width: 768px) {
  .c-story__card {
    touch-action: pan-y;
  }
}

.c-story > .c-summary {
  max-height: 480px;
  margin-top: 144px;
  overflow: hidden;
  opacity: 1;
  transition: none;
}

.c-story:not(.is-first) > .c-summary {
  max-height: 0;
  margin-top: 0;
  opacity: 0;
}

.c-story__ttl {
  margin-bottom: 20px;
  color: #019c63;
  font-size: clamp(18px, 15.7078986587px + 0.2980625931vw, 20px);
  font-weight: 700;
  line-height: 32px;
}

.c-story__nav {
  position: absolute;
  top: calc(50% + clamp(0px, -36.6736214605px + 4.7690014903vw, 32px));
  z-index: 2;
  width: clamp(40px, 21.6631892697px + 2.3845007452vw, 56px);
  height: clamp(40px, 21.6631892697px + 2.3845007452vw, 56px);
  border: 2px solid #019c63;
  border-radius: 50%;
  background-color: #ffffff;
  color: #019c63;
}
@media screen and (max-width: 768px) {
  .c-story__nav {
    display: none;
  }
}
.c-story__nav svg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + 4px);
  max-width: none;
  height: calc(100% + 4px);
  transform: translate(-50%, -50%);
}
.c-story__nav:hover:not(:disabled) {
  background-color: #019c63;
  color: #ffffff;
}
.c-story__nav:disabled {
  border-color: #bfcfc9;
  background-color: #ffffff;
  color: #bfcfc9;
  cursor: default;
}

.c-story__nav.--prev {
  left: clamp(-4px, 4.5842026826px + -0.5961251863vw, 0px);
  transform: translate(-50%, -50%);
}

.c-story__nav.--next {
  right: clamp(-7px, 8.0223546945px + -1.043219076vw, 0px);
  transform: translate(50%, -50%);
}

.c-breadcrumb {
  background-color: #ffffff;
  border-top: 1px solid #e5e5e5;
}

.c-breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 5px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 9px clamp(20px, -48.7630402385px + 8.9418777943vw, 80px);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.c-breadcrumb__list a {
  color: #454645;
}
.c-breadcrumb__list a:hover {
  text-decoration: underline;
}

.c-breadcrumb__sep,
.c-breadcrumb__list [aria-current=page] {
  color: #a3a3a3;
}

.c-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.c-pager__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(30px, 23.1236959762px + 0.8941877794vw, 36px);
  height: clamp(30px, 23.1236959762px + 0.8941877794vw, 36px);
  border: 1px solid #0ca06a;
  background-color: #ffffff;
  color: #0ca06a;
  font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  transition: background-color 0.3s, color 0.3s;
}
.c-pager__item:hover {
  background-color: #0ca06a;
  color: #ffffff;
}
.c-pager__item.is-current {
  border-color: transparent;
  background-color: #0ca06a;
  color: #ffffff;
}
.c-pager__item.is-current:hover {
  border-color: #0ca06a;
  background-color: #ffffff;
  color: #0ca06a;
}

.c-pager__ellipsis {
  color: #0ca06a;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
}

.c-catNav {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 20px;
  width: clamp(180px, 116.9672131148px + 8.1967213115vw, 235px);
}
@media screen and (max-width: 768px) {
  .c-catNav {
    width: 100%;
  }
}

.c-catNav__label {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #0ca06a;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}
.c-catNav__label::before {
  content: "";
  flex-shrink: 0;
  width: 15px;
  height: 14px;
  background: url("../img/common/icon-bubble-green.svg") center/contain no-repeat;
}

.c-catNav__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media screen and (max-width: 768px) {
  .c-catNav__list {
    flex-direction: row;
    gap: 8px;
    margin-right: -15px;
    padding-right: 15px;
    padding-bottom: 14px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .c-catNav__list::-webkit-scrollbar {
    display: none;
  }
  .c-catNav__list > li {
    flex-shrink: 0;
  }
}

.c-catNav__item {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 48px;
  padding: 10px 16px;
  border: 1px solid #0ca06a;
  border-radius: 5px;
  background-color: #ffffff;
  color: #0ca06a;
  font-size: clamp(16px, 13.7078986587px + 0.2980625931vw, 18px);
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-catNav__item {
    width: max-content;
    height: auto;
    flex-shrink: 0;
    padding: 8px 14px;
  }
}
.c-catNav__item:hover {
  background-color: #0ca06a;
  color: #ffffff;
}
.c-catNav__item.is-current {
  background-color: #0ca06a;
  color: #ffffff;
}
.c-catNav__item.is-current::after {
  display: block;
  position: absolute;
  content: "";
  margin: auto;
  top: 16px;
  right: -10px;
  width: 0;
  height: 0;
  margin: 0;
  border-width: 7px 0 7px 10px;
  border-style: solid;
  border-color: transparent transparent transparent #0ca06a;
}
@media screen and (max-width: 768px) {
  .c-catNav__item.is-current::after {
    top: auto;
    right: auto;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 10px 7px 0;
    border-color: #0ca06a transparent transparent;
  }
}
.c-catNav__item.is-current:hover {
  background-color: #ffffff;
  color: #0ca06a;
}

.c-voiceCard__link {
  display: flex;
  flex-direction: column;
  gap: 20px;
  color: #000000;
}
.c-voiceCard__link:hover .c-voiceCard__img img {
  transform: scale(1.06);
}
.c-voiceCard__link:hover .c-voiceCard__cat {
  text-decoration: none;
}

a.c-voiceCard__cat:hover {
  text-decoration: none;
}

.c-voiceCard__img {
  aspect-ratio: 259/180;
  margin: 0;
  overflow: hidden;
  border-radius: 25px;
}

.c-voiceCard__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.c-voiceCard__body {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .c-voiceCard__body {
    padding: 0 15px;
  }
}

.c-voiceCard__cat {
  display: inline-flex;
  align-items: flex-end;
  gap: 6px;
  color: #0ca06a;
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.c-voiceCard__cat::before {
  content: "";
  flex-shrink: 0;
  width: 15px;
  height: 14px;
  background: url("../img/common/icon-bubble-green.svg") center/contain no-repeat;
}

.c-voiceCard__texts {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.c-voiceCard__name {
  font-size: clamp(18px, 15.7078986587px + 0.2980625931vw, 20px);
  font-weight: 700;
  line-height: 1.4;
}

.c-voiceCard__excerpt {
  display: -webkit-box;
  overflow: hidden;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.topGreen {
  overflow-x: clip;
  display: flex;
  flex-direction: column;
  gap: clamp(80px, -11.6840536513px + 11.9225037258vw, 160px);
  padding: clamp(60px, 14.1579731744px + 5.9612518629vw, 100px) 0 clamp(80px, -57.5260804769px + 17.8837555887vw, 200px);
  background-color: #019c63;
  color: #ffffff;
}

.topWelcome__deco {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.topWelcome__leaf {
  position: absolute;
  left: calc(var(--x) / 1440 * 100%);
  top: calc(var(--y) / 1440 * 100vw);
  width: calc(var(--w) / 1440 * 100%);
  height: auto;
  rotate: var(--rot, 0deg);
  opacity: 1;
  will-change: translate, opacity;
}
@media (prefers-reduced-motion: reduce) {
  .topWelcome__leaf {
    will-change: auto;
  }
}

.topWelcome > .l-inner,
.topStore > .l-inner,
.topStory > .l-inner,
.topValues > .l-inner,
.topCsr > .l-inner,
.topSpecial > .l-inner,
.topBonds > .l-inner {
  position: relative;
  z-index: 4;
}

.topMessage {
  position: relative;
  isolation: isolate;
  padding: clamp(80px, 11.2369597615px + 8.9418777943vw, 140px) 0 clamp(80px, 11.2369597615px + 8.9418777943vw, 140px);
  background-color: #019c63;
  color: #ffffff;
}

.topMessage .c-mainTxt {
  color: #ffffff;
}

.topMessage > .l-inner {
  position: relative;
  z-index: 4;
}

.topMessage__deco {
  position: absolute;
  inset: 0;
  z-index: 3;
  overflow-x: clip;
  pointer-events: none;
}

.topMessage__leaf {
  position: absolute;
  left: calc(var(--x) / 1440 * 100%);
  top: calc(var(--y) / 1440 * 100vw);
  width: calc(var(--w) / 1440 * 100%);
  height: auto;
  rotate: var(--rot, 0deg);
  opacity: 1;
  will-change: translate, opacity;
}
@media (prefers-reduced-motion: reduce) {
  .topMessage__leaf {
    will-change: auto;
  }
}

.topMessage__body {
  display: flex;
  align-items: flex-start;
  gap: clamp(32px, -23.0104321908px + 7.1535022355vw, 80px);
  margin-top: clamp(48px, -11.5946348733px + 7.7496274218vw, 100px);
}
@media screen and (min-width: 769px) {
  .topMessage__body {
    margin-left: calc(-1 * clamp(15px, -105.3353204173px + 15.6482861401vw, 120px));
  }
}
@media screen and (max-width: 768px) {
  .topMessage__body {
    flex-direction: column;
  }
}

.topMessage__photo {
  flex: 0 0 auto;
  width: clamp(375px, 126.3070044709px + 32.3397913562vw, 592px);
  overflow: hidden;
  border-radius: 0 clamp(24px, 5.6631892697px + 2.3845007452vw, 40px) clamp(24px, 5.6631892697px + 2.3845007452vw, 40px) 0;
}
@media screen and (max-width: 768px) {
  .topMessage__photo {
    width: calc(100% - 15px);
    order: 2;
  }
}
.topMessage__photo img {
  width: 100%;
  height: clamp(435px, 146.1952309985px + 37.5558867362vw, 687px);
  object-fit: cover;
  object-position: center top;
}

.topMessage__text {
  position: relative;
  flex: 1;
  min-width: 0;
  max-width: 603px;
}

.topMessage__quote {
  position: absolute;
  color: rgba(255, 255, 255, 0.25);
  font-size: clamp(100px, 31.2369597615px + 8.9418777943vw, 160px);
  font-weight: 700;
  line-height: 0.875;
  pointer-events: none;
}

.topMessage__quote.--open {
  top: clamp(-50px, -28.5394932936px + -1.4903129657vw, -40px);
  left: clamp(-30px, 8.6289120715px + -2.6825633383vw, -12px);
}

.topMessage__quote.--close {
  right: clamp(-30px, 34.3815201192px + -4.4709388972vw, 0px);
  bottom: clamp(22px, 60.6289120715px + -2.6825633383vw, 40px);
}

.topMessage__sign {
  margin-top: clamp(32px, 4.4947839046px + 3.5767511177vw, 56px);
  text-align: right;
}

.topMessage__role {
  font-size: clamp(15px, 13.8539493294px + 0.1490312966vw, 16px);
  font-weight: 700;
  line-height: clamp(24px, 24px + 0vw, 24px);
}

.topMessage__name {
  margin-top: 8px;
  font-size: clamp(20px, 15.4157973174px + 0.5961251863vw, 24px);
  font-weight: 700;
  line-height: 24px;
}

.topWelcome .c-stack {
  gap: 40px;
}

.topWelcome__lead {
  margin-bottom: clamp(24px, 5.6631892697px + 2.3845007452vw, 40px);
}

.topHistory > .l-inner {
  position: relative;
  z-index: 4;
}

.topHistory__deco {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.topHistory__leaf,
.topHistory__timelineLeaf {
  position: absolute;
  top: calc(var(--y) / 1440 * 100vw);
  height: auto;
  opacity: 1;
  will-change: translate, opacity;
}
@media (prefers-reduced-motion: reduce) {
  .topHistory__leaf,
  .topHistory__timelineLeaf {
    will-change: auto;
  }
}

.topHistory__leaf {
  left: calc(var(--x) / 1440 * 100%);
  width: calc(var(--w) / 1440 * 100%);
}

.topHistory__timelineDeco {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.topHistory__timelineLeaf {
  left: calc(var(--x) / 1440 * 100vw);
  width: calc(var(--w) / 1440 * 100vw);
}

.topHistory__intro {
  max-width: 800px;
  margin: clamp(40px, -5.8420268256px + 5.9612518629vw, 80px) auto 0;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .topHistory__intro {
    text-align: left;
  }
}

.topHistory__intro .c-lead {
  margin-bottom: clamp(20px, 8.5394932936px + 1.4903129657vw, 30px);
  color: #ffffff;
}

.topHistory__intro .c-mainTxt {
  color: #ffffff;
}

.topHistory .c-summary {
  margin-top: clamp(48px, 11.3263785395px + 4.7690014903vw, 80px);
  font-weight: 500;
  color: #ffffff;
}

.topStore__intro {
  max-width: 800px;
  margin: 0 auto clamp(32px, 13.6631892697px + 2.3845007452vw, 48px);
  text-align: center;
}
.topStore__intro .c-lead {
  margin-bottom: clamp(0px, -36.6736214605px + 4.7690014903vw, 32px);
}
@media screen and (min-width: 769px) {
  .topStore__intro .c-mainTxt {
    text-align: left;
  }
}

.topStore .c-media {
  gap: clamp(24px, -5.7973174367px + 3.8748137109vw, 50px);
}

.topValues__intro {
  max-width: 800px;
  margin: 0 auto clamp(40px, 17.0789865872px + 2.9806259314vw, 60px);
}
.topValues__intro .c-lead {
  margin-bottom: clamp(0px, -36.6736214605px + 4.7690014903vw, 32px);
}

.topValues__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 11.3710879285px + 2.6825633383vw, 50px) clamp(16px, -0.044709389px + 2.086438152vw, 30px);
}
@media screen and (max-width: 768px) {
  .topValues__grid {
    grid-template-columns: 1fr;
  }
}

.topPanel .c-summary,
.topStore .c-summary,
.topValues .c-summary,
.topCsr .c-summary,
.topBonds .c-summary,
.topNext .c-summary {
  margin-top: clamp(48px, 11.3263785395px + 4.7690014903vw, 80px);
  color: #464646;
}

.topCsr .c-stack {
  gap: clamp(40px, 28.5394932936px + 1.4903129657vw, 50px);
}

.topRecord__stats {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(40px, 3.3263785395px + 4.7690014903vw, 72px);
  margin-top: clamp(40px, -5.8420268256px + 5.9612518629vw, 80px);
}

.topRecord__hero,
.topRecord__pair {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(12px, -4.044709389px + 2.086438152vw, 26px);
  color: #ffffff;
  text-align: center;
}

.topRecord__pair {
  gap: clamp(24px, -31.0104321908px + 7.1535022355vw, 72px);
}
@media screen and (max-width: 768px) {
  .topRecord__pair {
    flex-direction: column;
  }
}

.topRecord__pair .topRecord__hero {
  gap: clamp(12px, 2.8315946349px + 1.1922503726vw, 20px);
}

.topRecord__bracket {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: clamp(18px, -18.6736214605px + 4.7690014903vw, 50px);
  height: clamp(72px, 12.4053651267px + 7.7496274218vw, 124px);
}
.topRecord__bracket::before {
  display: block;
  position: absolute;
  content: "";
  margin: auto;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.topRecord__bracket.--lg {
  width: clamp(22px, -26.1341281669px + 6.259314456vw, 64px);
  height: clamp(90px, 10.9225037258px + 10.2831594635vw, 159px);
}

.topRecord__bracket.--left::before {
  background-image: url("../img/top/orn-wheat-left.svg");
}

.topRecord__bracket.--right::before {
  background-image: url("../img/top/orn-wheat-right.svg");
}

.topRecord__label {
  margin-bottom: clamp(0px, -2.2921013413px + 0.2980625931vw, 2px);
  font-size: clamp(18px, 1.955290611px + 2.086438152vw, 32px);
  font-weight: 700;
  line-height: 26px;
}

.topRecord__label.--sm {
  margin-bottom: clamp(0px, -4.5842026826px + 0.5961251863vw, 4px);
  font-size: clamp(16px, 6.8315946349px + 1.1922503726vw, 24px);
  line-height: 24px;
}

.topRecord__num {
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.topRecord__num span {
  font-size: clamp(56px, 5.5737704918px + 6.5573770492vw, 100px);
  line-height: clamp(64px, 22.7421758569px + 5.3651266766vw, 100px);
}

.topRecord__num small {
  font-size: clamp(28px, -8.6736214605px + 4.7690014903vw, 60px);
  line-height: 1;
}

.topRecord__num.--sm span {
  font-size: clamp(40px, -5.8420268256px + 5.9612518629vw, 80px);
  line-height: clamp(48px, 11.3263785395px + 4.7690014903vw, 80px);
}

.topRecord__num.--sm small {
  font-size: clamp(22px, -3.2131147541px + 3.2786885246vw, 44px);
}

.topRecord__summary {
  margin-top: clamp(40px, 17.0789865872px + 2.9806259314vw, 60px);
  text-align: center;
}

.topRecord__summary .c-lead,
.topRecord__summary .c-mainTxt,
.topRecord .c-summary {
  color: #ffffff;
}

.topRecord__summary .c-lead {
  margin-bottom: clamp(20px, 6.2473919523px + 1.7883755589vw, 32px);
}

.topRecord__summary .c-mainTxt {
  max-width: none;
  color: #f4f4f4;
}
@media screen and (min-width: 769px) {
  .topRecord__summary .c-mainTxt {
    text-align: center;
  }
}

.topRecord__list {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 11.3710879285px + 2.6825633383vw, 50px);
  margin-top: clamp(40px, -5.8420268256px + 5.9612518629vw, 80px);
}

.topRecord .c-summary {
  margin-top: clamp(48px, 11.3263785395px + 4.7690014903vw, 80px);
}

.topStory__profile {
  display: flex;
  align-items: flex-start;
  gap: clamp(24px, -5.7973174367px + 3.8748137109vw, 50px);
}
@media screen and (max-width: 768px) {
  .topStory__profile {
    flex-direction: column;
  }
}

.topStory__photoCol {
  flex: 0 0 auto;
  width: clamp(330px, 123.7108792846px + 26.825633383vw, 510px);
}
@media screen and (max-width: 768px) {
  .topStory__photoCol {
    width: 100%;
  }
}

.c-storyWrap {
  margin-top: clamp(46px, 50.2921013413px + -0.2980625931vw, 48px);
}

.topStory__photo {
  width: 100%;
}

.topStory__photo img {
  width: 100%;
  height: clamp(260px, 108.7213114754px + 19.6721311475vw, 392px);
  border-radius: 24px;
  object-fit: cover;
}

.topStory__role {
  margin-top: 24px;
  color: #464646;
  font-size: 14px;
  font-weight: 700;
  line-height: 26px;
}

.topStory__name {
  margin-top: 8px;
  color: #464646;
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
}

.topSpecial__hero {
  width: 100%;
  height: clamp(250px, -36.5126676602px + 37.2578241431vw, 500px);
  border-radius: clamp(20px, 3.955290611px + 2.086438152vw, 34px);
  object-fit: cover;
}

.topSpecial .c-media,
.topBonds .c-media {
  gap: clamp(24px, -5.7973174367px + 3.8748137109vw, 50px);
}

.topSpecial .c-media__body .c-mainTxt + .c-mainTxt {
  margin-top: 32px;
}

.topSpecial__copy {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 14.8315946349px + 1.1922503726vw, 32px);
}

@media screen and (min-width: 769px) {
  .topVoices .c-btn.--primary::before {
    left: 50px;
  }
}

.topVoices__list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.topVoices__more {
  display: flex;
  justify-content: center;
  margin-top: clamp(48px, 11.3263785395px + 4.7690014903vw, 80px);
}

.topWelcome__deco,
.topMessage__deco,
.topHistory__deco,
.topHistory__timelineDeco,
.c-leafDeco {
  perspective: 1000px;
}

.c-leafDeco {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.topWelcome__leaf,
.topMessage__leaf,
.topHistory__leaf,
.topHistory__timelineLeaf,
.c-leafDeco__item {
  transform-style: preserve-3d;
  scale: var(--scale, none);
}

.c-leafDeco__item {
  position: absolute;
  left: calc(var(--x) / 1440 * 100%);
  top: calc(var(--y) / 1440 * 100vw);
  width: calc(var(--w) / 1440 * 100%);
  height: auto;
  rotate: var(--rot, 0deg);
  opacity: 1;
  will-change: translate, opacity;
}
@media (prefers-reduced-motion: reduce) {
  .c-leafDeco__item {
    will-change: auto;
  }
}

.topRecord > .l-inner,
.topVoices > .l-inner,
.topNext > .l-inner {
  position: relative;
  z-index: 4;
}

.topNext {
  position: relative;
  overflow-x: clip;
  padding: clamp(140px, 25.3949329359px + 14.9031296572vw, 240px) 0 clamp(120px, 28.3159463487px + 11.9225037258vw, 200px);
  background-color: #ecf5ea;
}

.topNext__intro {
  max-width: 800px;
  margin: clamp(40px, -5.8420268256px + 5.9612518629vw, 80px) auto clamp(48px, 11.3263785395px + 4.7690014903vw, 80px);
  text-align: center;
}
.topNext__intro .c-lead {
  margin-bottom: clamp(0px, -45.8420268256px + 5.9612518629vw, 40px);
}

.topNext .c-stack,
.topNext .c-summary {
  margin-left: clamp(0px, -91.6840536513px + 11.9225037258vw, 80px);
  margin-right: clamp(0px, -91.6840536513px + 11.9225037258vw, 80px);
}

.topNext .c-media {
  gap: clamp(24px, -5.7973174367px + 3.8748137109vw, 50px);
}

.topClose {
  position: relative;
  padding: clamp(140px, 71.2369597615px + 8.9418777943vw, 200px) 0 clamp(80px, 57.0789865872px + 2.9806259314vw, 100px);
  background-color: #ffffff;
  text-align: center;
}

.topClose__mark {
  position: relative;
  width: clamp(292px, 154.4739195231px + 17.8837555887vw, 412px);
  margin: 0 auto;
  color: #019c63;
}

.topClose__leaf {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 40%, rgb(236, 245, 234) 0%, rgba(210, 235, 214, 0.2) 55%, rgba(255, 255, 255, 0) 72%);
  border-radius: 50%;
}

.topClose__arc {
  position: relative;
  font-size: clamp(13px, 10.7078986587px + 0.2980625931vw, 15px);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.topClose__num {
  position: relative;
  font-family: "Niconne", cursive;
  font-size: clamp(120px, 51.2369597615px + 8.9418777943vw, 180px);
  line-height: 0.8;
}

.topClose__th {
  font-size: clamp(64px, 34.2026825633px + 3.8748137109vw, 90px);
}

.topClose__anniversary {
  position: relative;
  font-family: "Niconne", cursive;
  font-size: clamp(40px, 29.6855439642px + 1.3412816692vw, 49px);
  line-height: 1;
}

.topClose__range {
  position: relative;
  font-family: "Niconne", cursive;
  font-size: clamp(28px, 21.1236959762px + 0.8941877794vw, 34px);
}

@media screen and (min-width: 769px) {
  .topClose .c-btn.--dark,
  .topClose .c-btn.--reserve {
    padding-right: 29px;
    padding-left: 41px;
  }
  .topClose .c-btn.--dark::before,
  .topClose .c-btn.--reserve::before {
    left: 37px;
  }
}

.topClose__msg {
  margin: clamp(28px, -4.0894187779px + 4.172876304vw, 56px) auto clamp(24px, -3.5052160954px + 3.5767511177vw, 48px);
  max-width: 800px;
  font-size: clamp(18px, 11.1236959762px + 0.8941877794vw, 24px);
  font-weight: 700;
  line-height: clamp(32px, 22.8315946349px + 1.1922503726vw, 40px);
}

.topClose__actions {
  display: flex;
  justify-content: center;
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .topClose__actions {
    flex-direction: column;
    align-items: center;
  }
}

.topGreen .c-secTtl {
  margin-bottom: 0;
}

.u-mt20 {
  margin-top: clamp(16px, 11.4157973174px + 0.5961251863vw, 20px);
}

.u-mt32 {
  margin-top: 32px;
}

.u-mt56 {
  margin-top: clamp(40px, 21.6631892697px + 2.3845007452vw, 56px);
}

.u-mt60 {
  margin-top: clamp(40px, 17.0789865872px + 2.9806259314vw, 60px);
}

.u-mt80 {
  margin-top: clamp(48px, 11.3263785395px + 4.7690014903vw, 80px);
}

@media screen and (max-width: 768px) {
  .topGreen {
    gap: 120px;
    padding: 100px 0 200px;
  }
  .topMessage {
    padding-top: 120px;
  }
  .topMessage__body {
    gap: 64px;
    margin-top: 64px;
  }
  .topMessage__text {
    padding: 0 15px;
  }
  .topMessage .c-mainTxt + .c-mainTxt {
    margin-top: 32px;
  }
  .topMessage__photo {
    width: calc(100% + 15px);
    margin-left: -15px;
  }
  .topMessage__quote {
    font-size: 140px;
    line-height: 120px;
  }
  .topMessage__quote.--open {
    top: -40px;
    left: -5px;
  }
  .topMessage__quote.--close {
    right: -14px;
    bottom: 55px;
  }
  .topMessage__sign {
    margin-top: 54px;
  }
  .c-panel {
    border-radius: 40px;
  }
  .c-lead {
    font-size: 20px;
    line-height: 36px;
    text-align: left;
  }
  .c-summary {
    line-height: 28px;
    text-align: left;
  }
  .c-marquee__group {
    gap: 15px;
    padding-right: 15px;
  }
  .topWelcome .c-panel__head {
    margin-bottom: 64px;
  }
  .topWelcome__lead {
    margin-bottom: 32px;
  }
  .topWelcome .c-stack,
  .topWelcome .c-media {
    gap: 32px;
  }
  .topWelcome .c-media__img {
    order: 2;
    border-radius: 20px;
  }
  .topWelcome .c-mainTxt + .c-mainTxt {
    margin-top: 32px;
  }
  .topStore .c-panel__head {
    margin-bottom: 56px;
  }
  .topStore__intro {
    margin-bottom: 48px;
  }
  .topStore__intro .c-lead {
    margin-bottom: 32px;
  }
  .topStore .c-stack.u-mt80 {
    margin-top: 80px;
  }
  .topStore .c-stack {
    gap: 60px;
  }
  .topStore .c-media {
    gap: 40px;
  }
  .topStore .c-media__img {
    order: 2;
    border-radius: 20px;
  }
  .topStore .c-media__ttl {
    margin-bottom: 24px;
    line-height: 30px;
  }
  .topStore .c-summary {
    margin-top: 56px;
  }
  .topHistory__intro {
    margin-top: 56px;
    padding: 0 15px;
  }
  .topHistory__intro .c-lead {
    margin-bottom: 32px;
  }
  .topHistory .c-timeline {
    margin-top: 60px;
    padding: 59px 0 3px;
  }
  .topHistory .c-timeline::before {
    display: block;
    top: 0;
    bottom: 60px;
  }
  .topHistory .c-timeline__card {
    width: 330px;
    max-width: 100%;
    margin: 0 auto;
    padding: 24px 20px 30px;
    border-radius: 20px;
  }
  .topHistory .c-timeline__year {
    font-size: 32px;
  }
  .topHistory .c-timeline__ttl {
    margin-top: 8px;
  }
  .topHistory .c-timeline__sub {
    margin-top: 16px;
  }
  .topHistory .c-timeline__photo {
    margin-top: 18px;
  }
  .topHistory .c-summary {
    margin-top: 60px;
    padding: 0 15px;
    line-height: 30px;
  }
  .topStory .c-panel__head {
    margin-bottom: 56px;
  }
  .topStory .c-secTtl__jaSub {
    line-height: 40px;
  }
  .topStory .c-secTtl__ja {
    max-width: 196px;
  }
  .topStory__profile {
    gap: 40px;
  }
  .topStory__photo img {
    height: 358px;
  }
  .topStory__body .u-mt32 {
    margin-top: 20px;
  }
  .c-storyWrap {
    margin-top: 35px;
  }
  .c-story__steps {
    --c-story-gap: 32px;
    gap: 13px;
  }
  button.c-story__step {
    width: 21px;
    height: 21px;
  }
  button.c-story__step.--sub {
    width: 13px;
    height: 13px;
  }
  span.c-story__step {
    width: 13px;
    height: 13px;
  }
  .c-story__stepLabel {
    font-size: 12px;
    line-height: 15px;
  }
  .c-story__card {
    padding: 24px 15px;
    border-radius: 24px;
  }
  .c-story__ttl {
    margin-bottom: 16px;
    line-height: 28.8px;
  }
  .c-story > .c-summary {
    margin-top: 56px;
  }
  .topValues .c-panel__head {
    margin-bottom: 56px;
  }
  .topValues .c-secTtl__jaSub {
    font-size: 32px;
    line-height: 46px;
  }
  .topValues .c-secTtl__ja {
    line-height: 41px;
  }
  .topValues__intro {
    margin-bottom: 60px;
  }
  .topValues__intro .c-lead {
    margin-bottom: 32px;
  }
  .topValues__grid {
    gap: 40px;
  }
  .c-feature {
    gap: 16px;
    padding: 26px 15px;
    border-radius: 24px;
  }
  .c-feature__icon img {
    width: 214px;
    height: 155px;
  }
  .c-feature__head {
    align-items: flex-start;
  }
  .c-feature__ttl {
    padding-top: 14px;
    font-size: 18px;
    line-height: 29px;
  }
  .topValues .c-summary {
    margin-top: 56px;
  }
  .topRecord__stats {
    gap: 28px;
    margin-top: 56px;
  }
  .topRecord__hero {
    gap: 16px;
  }
  .topRecord__pair {
    flex-direction: row;
    align-items: flex-end;
    gap: 18px;
  }
  .topRecord__pair .topRecord__hero {
    align-items: flex-end;
    gap: 10px;
  }
  .topRecord__bracket {
    width: 31px;
    height: 76px;
  }
  .topRecord__bracket.--lg {
    width: 42px;
    height: 105px;
  }
  .topRecord__label {
    margin-bottom: 2px;
    font-size: 20px;
  }
  .topRecord__label.--sm {
    margin-bottom: 4px;
    font-size: 16px;
  }
  .topRecord__num span {
    font-size: 56px;
    line-height: 64px;
  }
  .topRecord__num small {
    font-size: 36px;
  }
  .topRecord__num.--sm {
    font-size: 32px;
    line-height: 32px;
  }
  .topRecord__num.--sm span {
    font-size: 32px;
    line-height: 32px;
  }
  .topRecord__num.--sm small {
    font-size: 20px;
    line-height: 1;
  }
  .topRecord__num.--sm span:last-of-type::before {
    content: "\a";
    white-space: pre;
  }
  .topRecord__summary {
    margin-top: 60px;
    padding: 0 15px;
  }
  .topRecord__summary .c-lead {
    margin-bottom: 32px;
  }
  .topRecord__list {
    gap: 36px;
    margin-top: 56px;
  }
  .c-record {
    gap: 16px;
    padding: 28px 15px;
    border-radius: 24px;
  }
  .c-record__bar {
    --c-record-hole: 14px;
    --c-record-pitch: 26.5px;
  }
  .c-record__ttl {
    margin-bottom: 16px;
    font-size: 18px;
    line-height: 29px;
  }
  .topRecord .c-summary {
    margin-top: 56px;
  }
  .topCsr .c-panel__head {
    margin-bottom: 56px;
  }
  .topCsr .c-note .c-lead {
    margin-bottom: 32px;
  }
  .topCsr .c-stack.u-mt60 {
    margin-top: 60px;
  }
  .topCsr .c-stack {
    gap: 50px;
  }
  .c-csr {
    padding: 26px 15px 180px;
    border-radius: 24px;
  }
  .c-csr__ttl {
    margin-bottom: 16px;
    line-height: 29px;
  }
  .topCsr .c-summary {
    margin-top: 56px;
  }
  .topSpecial .c-panel__head {
    margin-bottom: 56px;
  }
  .topSpecial__copy {
    gap: 28px;
  }
  .topSpecial .u-mt60 {
    margin-top: 48px;
  }
  .topSpecial .c-stack {
    gap: 48px;
  }
  .topSpecial .c-media {
    gap: 36px;
  }
  .topSpecial .c-media__img.--case {
    border-radius: 20px;
  }
  .topSpecial .c-media__img.--case img {
    border-radius: 20px;
  }
  .topBonds .c-panel__head {
    margin-bottom: 56px;
  }
  .topBonds .c-note .c-lead {
    margin-bottom: 28px;
  }
  .topBonds .c-marquee.u-mt56,
  .topBonds .c-stack.u-mt80 {
    margin-top: 56px;
  }
  .topBonds .c-media {
    gap: 32px;
  }
  .topBonds .c-media__ttl.--lg {
    font-size: 18px;
    line-height: 29px;
  }
  .topBonds .c-summary {
    margin-top: 56px;
  }
  .topVoices__list.u-mt80 {
    margin-top: 56px;
  }
  .topVoices__list {
    gap: 32px;
  }
  .c-voice {
    padding: 24px 15px;
    border-radius: 24px;
  }
  .c-voice__photo {
    width: 122px;
    height: 122px;
  }
  .c-voice__photo img {
    width: 39px;
    height: 45px;
  }
  .c-voice__name {
    text-align: center;
  }
  .c-voice__name::after {
    margin: 15px auto;
  }
  .c-voice__txt {
    line-height: 28px;
  }
  .topVoices__more {
    margin-top: 56px;
  }
  .topVoices__more .c-btn {
    padding-left: 67px;
    font-size: 20px;
  }
  .topVoices__more .c-btn::before {
    left: 26px;
    width: 27px;
    height: 24px;
  }
  .topNext {
    padding: 120px 0 100px;
  }
  .topNext > .l-inner {
    padding-right: 30px;
    padding-left: 30px;
  }
  .topNext__intro {
    margin: 56px auto 56px;
  }
  .topNext__intro .c-lead {
    margin-bottom: 32px;
  }
  .topNext .c-stack {
    gap: 60px;
  }
  .topNext .c-media {
    gap: 32px;
  }
  .topNext .c-media__img.--md {
    width: 100%;
  }
  .topNext .c-media__ttl.--lg {
    font-size: 18px;
    line-height: 29px;
  }
  .topNext .c-summary {
    margin-top: 56px;
  }
  .topClose {
    padding: 120px 0 60px;
  }
  .topClose > .l-inner {
    padding-right: 30px;
    padding-left: 30px;
  }
  .topClose__msg {
    margin: 28px auto 40px;
    font-size: 20px;
    line-height: 36px;
  }
  .topClose__actions {
    gap: 20px;
  }
  .topClose .c-btn.--dark,
  .topClose .c-btn.--reserve {
    width: 100%;
    min-height: 84px;
  }
  .topClose .c-btn.--dark,
  .topClose .c-btn.--reserve {
    font-size: 24px;
  }
  .topClose .c-btn.--dark {
    padding-right: 25px;
    padding-left: 37px;
  }
  .topClose .c-btn.--dark::before {
    left: 38px;
  }
  .topClose .c-btn.--reserve {
    padding-right: 25px;
    padding-left: 52px;
  }
  .topClose .c-btn.--reserve::before {
    left: 33px;
  }
  .topWelcome__leaf,
  .topMessage__leaf,
  .topHistory__leaf,
  .c-leafDeco__item {
    left: calc(var(--sx, calc(var(--x) * 390 / 1440)) / 390 * 100%);
    top: calc(var(--sy, calc(var(--y) * 390 / 1440)) / 390 * 100vw);
    width: calc(var(--sw, calc(var(--w) * 390 / 1440)) / 390 * 100%);
  }
  .topHistory__timelineLeaf {
    left: calc(var(--sx) / 390 * 100vw - 15px);
    top: calc(var(--sy) / 390 * 100vw);
    width: calc(var(--sw) / 390 * 100vw);
  }
}
.voicePage {
  line-height: 1.5;
  background-color: #ffffff;
  color: #464646;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
}
.voicePage img {
  display: block;
  max-width: 100%;
  height: auto;
}
.voicePage p {
  margin: 0;
}
.voicePage a:hover {
  opacity: 1;
}

.voiceSingle__hero.is-empty,
.c-voiceCard__img.is-empty {
  background-color: #ecf5ea;
}

.voiceKv {
  position: relative;
  display: flex;
  align-items: flex-start;
  height: clamp(180px, 25.2831594635px + 20.1192250373vw, 315px);
  overflow: hidden;
  border-radius: 0 0 clamp(60px, -20.2235469449px + 10.4321907601vw, 130px) clamp(60px, -20.2235469449px + 10.4321907601vw, 130px);
}

.voiceKv__bg {
  position: absolute;
  inset: 0;
  background-color: #4fca6a;
}
.voiceKv__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(92, 125, 163, 0.75);
  mix-blend-mode: multiply;
}

.voiceKv__title {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding-top: clamp(63px, -0.0327868852px + 8.1967213115vw, 118px);
  padding-left: clamp(20px, -68.2459016393px + 11.4754098361vw, 97px);
  color: #ffffff;
  font-size: clamp(30px, 1.348733234px + 3.7257824143vw, 55px);
  font-weight: 700;
  line-height: 1.45;
}

.voiceList {
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(60px, 32.4947839046px + 3.5767511177vw, 84px) clamp(15px, -59.4932935917px + 9.6870342772vw, 80px) clamp(80px, 34.1579731744px + 5.9612518629vw, 120px);
}

.voiceList__layout {
  display: flex;
  align-items: flex-start;
  gap: clamp(51px, 40.6855439642px + 1.3412816692vw, 60px);
}
@media screen and (max-width: 768px) {
  .voiceList__layout {
    flex-direction: column;
  }
}

.voiceList__main {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: clamp(40px, 17.0789865872px + 2.9806259314vw, 60px);
  min-width: 0;
}

.voiceList__empty {
  width: 100%;
  color: #464646;
  font-size: 16px;
  text-align: center;
}

.voiceList__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  column-gap: clamp(16px, 6.8315946349px + 1.1922503726vw, 24px);
  row-gap: clamp(51px, 47.5618479881px + 0.4470938897vw, 54px);
}
@media screen and (max-width: 768px) {
  .voiceList__grid {
    grid-template-columns: 1fr;
  }
}

.voiceSingle {
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(60px, 32.4947839046px + 3.5767511177vw, 84px) clamp(15px, -151.1773472429px + 21.609538003vw, 160px) clamp(80px, 34.1579731744px + 5.9612518629vw, 120px);
}

.voiceSingle__article {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(36px, 29.1236959762px + 0.8941877794vw, 42px);
}

.voiceSingle__hero {
  width: 100%;
  max-width: 770px;
  height: clamp(243px, -73.3099850969px + 41.1326378539vw, 519px);
  margin: 0;
  overflow: hidden;
  border-radius: 25px;
}
.voiceSingle__hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.voiceSingle__content {
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 23.4157973174px + 0.5961251863vw, 32px);
  width: 100%;
}
@media screen and (max-width: 768px) {
  .voiceSingle__content {
    padding: 0 15px;
  }
}
.voiceSingle__content.--qa {
  gap: clamp(28px, 14.2473919523px + 1.7883755589vw, 40px);
}

.voiceQa {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.voiceQa__item {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.voiceQa__q {
  margin: 0;
  padding: 4px 20px;
  border-left: 6px solid #0ca06a;
  color: #000000;
  font-size: 16px;
  font-weight: 700;
  line-height: 28px;
}

.voiceQa__a {
  color: #000000;
  font-size: clamp(15px, 13.8539493294px + 0.1490312966vw, 16px);
  font-weight: 500;
  line-height: clamp(26.25px, 24.2444113264px + 0.260804769vw, 28px);
}
.voiceQa__a p {
  margin: 0;
}

.voiceSingle__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(14px, 11.7078986587px + 0.2980625931vw, 16px);
}

.voiceSingle__name {
  color: #000000;
  font-size: clamp(24px, 19.4157973174px + 0.5961251863vw, 28px);
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .voiceSingle__name {
    color: #0ca06a;
  }
}

.voiceSingle__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(11px, 9.8539493294px + 0.1490312966vw, 12px) 24px;
  padding: clamp(20px, 15.4157973174px + 0.5961251863vw, 24px) clamp(15px, -4.4828614009px + 2.5335320417vw, 32px);
  background-color: #ecf7f7;
  border-radius: 12px;
}

.voiceSingle__spec {
  display: flex;
  align-items: center;
  gap: clamp(12px, 9.7078986587px + 0.2980625931vw, 14px);
}

.voiceSingle__specLabel,
.voiceSingle__specValue {
  margin: 0;
}

.voiceSingle__specLabel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px 3px;
  border: 1px solid #0ca06a;
  border-radius: 44px;
  color: #0ca06a;
  font-size: 14px;
  font-weight: 500;
  line-height: normal;
  white-space: nowrap;
}

.voiceSingle__specValue {
  color: #000000;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  white-space: nowrap;
}

.voiceSingle__body {
  display: flex;
  flex-direction: column;
  gap: clamp(0px, -36.6736214605px + 4.7690014903vw, 32px);
  color: #000000;
  font-size: clamp(15px, 13.8539493294px + 0.1490312966vw, 16px);
  font-weight: 500;
  line-height: clamp(26.25px, 24.2444113264px + 0.260804769vw, 28px);
}
@media screen and (max-width: 768px) {
  .voiceSingle__body > * + * {
    margin-top: 1em;
  }
}

.voiceSingle__related {
  margin-top: clamp(60px, 55.4157973174px + 0.5961251863vw, 64px);
  padding: 50px clamp(0px, -68.7630402385px + 8.9418777943vw, 60px);
  background-color: #ebf5ea;
  border-radius: 29px;
}

.voiceSingle__relatedTitle {
  margin-bottom: 24px;
  color: #019c63;
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}

.voiceSingle__relatedList {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .voiceSingle__relatedList {
    display: flex;
    gap: 15px;
    padding: 0 15px 8px;
    overflow-x: auto;
  }
}

@media screen and (max-width: 768px) {
  .voiceSingle__relatedList .c-voiceCard {
    flex: 0 0 277px;
  }
}

.voiceSingle__back {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 264px;
  height: 51px;
  margin: clamp(60px, 55.4157973174px + 0.5961251863vw, 64px) auto 0;
  padding: 14px 52px;
  border-radius: 68px;
  background-color: #019c63;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
  transition: background-color 0.3s, color 0.3s;
}
.voiceSingle__back:hover {
  background-color: #ffffff;
  color: #019c63;
  outline: 1px solid #019c63;
}

.u-visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
