@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap";

.header-new,
.header-new *,
.header-new *:before,
.header-new *:after,
.footer-new,
.footer-new *,
.footer-new *:before,
.footer-new *:after {
  box-sizing: border-box;
  line-height: 1
}

.header-new,
.footer-new {
  --hbase: 10px
}

@media (min-width: 1921px) {

  .header-new,
  .footer-new {
    --hbase: calc(100vw / 192)
  }
}

@media (max-width: 1440px) {

  .header-new,
  .footer-new {
    --hbase: calc(100vw / 144)
  }
}

@media (max-width: 750px) {

  .header-new,
  .footer-new {
    --hbase: 10px
  }
}

.header-new,
.footer-new {
  font-family: Noto Sans JP, sans-serif
}

@media (max-width: 750px) {
  .u-pcOnly {
    display: none !important
  }
}

@media (min-width: 751px) {
  .u-spOnly {
    display: none !important
  }
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  z-index: 1000
}

@media (min-width: 751px) {
  .l-header {
    height: clamp(60px, 4.1666666667vw, 80px)
  }
}

@media (max-width: 750px) {
  .l-header {
    height: 13.3333333333vw
  }
}

.l-header__inner {
  position: relative;
  width: 100%;
  height: 100%
}

@media (max-width: 750px) {
  .l-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4vw
  }
}

@media (min-width: 751px) {
  .l-header__logo {
    position: absolute;
    left: calc(var(--hbase) * 3.6);
    top: 50%;
    transform: translateY(-50%);
    width: calc(var(--hbase) * 21.6);
    height: calc(var(--hbase) * 2)
  }
}

@media (max-width: 750px) {
  .l-header__logo {
    width: 67.2vw;
    height: 4.8vw
  }
}

.l-header__logo-link,
.l-header__logo-wrap {
  display: block;
  width: 100%;
  height: 100%
}

.l-header__logo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center
}

.l-header__nav {
  position: absolute;
  right: calc(var(--hbase) * 5.6);
  top: 0;
  height: 100%
}

.l-header__nav-list {
  display: flex;
  align-items: center;
  gap: calc(var(--hbase) * 4.8);
  height: 100%;
  list-style: none;
  margin: 0;
  padding: 0
}

.l-header__nav-item {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center
}

.l-header__nav-item:last-child {
  margin-left: calc(var(--hbase) * 1.2)
}

.l-header__nav-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 0;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  font-size: calc(var(--hbase) * 1.4);
  line-height: 1;
  letter-spacing: .02em;
  color: #000;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .l-header__nav-item:hover .l-header__nav-btn {
    opacity: .7
  }
}

.l-header__nav-item.is-active .l-header__nav-btn {
  opacity: .7
}

.l-header__hamburger {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.3333333333vw;
  width: 9.6vw
}

.l-header__hamburger[aria-expanded=true] .l-header__hamburger-line {
  width: 5.904vw
}

.l-header__hamburger[aria-expanded=true] .l-header__hamburger-line--top {
  transform: translateY(.8vw) rotate(45deg)
}

.l-header__hamburger[aria-expanded=true] .l-header__hamburger-line--bottom {
  width: 5.904vw;
  transform: translateY(-.8vw) rotate(-45deg)
}

.l-header__hamburger-line {
  display: block;
  height: 1px;
  background-color: #000;
  transition: width .2s ease, transform .2s ease
}

.l-header__hamburger-line--top {
  width: 4.8vw
}

.l-header__hamburger-line--bottom {
  width: 4.8vw
}

.l-megamenu {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  background-color: #fff;
  padding: calc(var(--hbase) * 5) 0;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
  pointer-events: none
}

.l-megamenu:before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(var(--hbase) * -1);
  width: 100%;
  height: calc(var(--hbase) * 1)
}

.l-megamenu[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto
}

.l-megamenu__inner {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: calc(var(--hbase) * 6);
  width: 100%
}

.l-header:has([data-megamenu-trigger=kigyo]:hover) #megamenu-kigyo,
.l-header:has([data-megamenu-trigger=jigyo]:hover) #megamenu-jigyo,
.l-header:has([data-megamenu-trigger=monodukuri]:hover) #megamenu-monodukuri,
.l-megamenu:hover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto
}

.c-megamenu-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(var(--hbase) * 1.6);
  width: calc(var(--hbase) * 20);
  text-decoration: none;
  color: #000
}

.c-megamenu-card__img_wrapper {
  position: relative;
  width: 100%;
  height: calc(var(--hbase) * 10);
  overflow: hidden
}

.c-megamenu-card__img_wrapper img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s ease
}

.c-megamenu-card__label {
  align-self: flex-start;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  font-size: calc(var(--hbase) * 1.4);
  line-height: 1;
  letter-spacing: .02em;
  white-space: nowrap;
  transition: opacity .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .l-megamenu .c-megamenu-card:hover .c-megamenu-card__img_wrapper img {
    transform: scale(1.07)
  }

  .l-megamenu .c-megamenu-card:hover .c-megamenu-card__label {
    opacity: .7
  }
}

.c-megamenu-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(var(--hbase) * 3);
  width: calc(var(--hbase) * 20)
}

.c-megamenu-column__sub {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(var(--hbase) * 1.6);
  list-style: none;
  margin: 0;
  padding: 0
}

.c-megamenu-column__sub li {
  margin: 0
}

.c-megamenu-column__sub a {
  display: inline-flex;
  align-items: center;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  font-size: calc(var(--hbase) * 1.4);
  line-height: 1;
  letter-spacing: .02em;
  color: #000;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .c-megamenu-column__sub a:hover {
    opacity: .7
  }
}

.c-megamenu-column:first-child .c-megamenu-column__sub {
  gap: calc(var(--hbase) * 1.8)
}

.l-drawer {
  position: fixed;
  left: 0;
  top: 13.3333333333vw;
  width: 100%;
  height: calc(100vh - 13.3333333333vw);
  height: calc(100dvh - 13.3333333333vw);
  background-color: #fff;
  overflow-y: auto;
  z-index: 900;
  transform: translate(100%);
  transition: transform .3s ease;
  -webkit-overflow-scrolling: touch
}

.l-drawer[aria-hidden=false] {
  transform: translate(0)
}

.l-drawer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-bottom: calc(64vw + env(safe-area-inset-bottom))
}

.l-drawer__item {
  position: relative
}

.l-drawer__item:after {
  content: "";
  position: absolute;
  left: 3.3333333333vw;
  right: 3.3333333333vw;
  bottom: 0;
  height: 1px;
  background-color: #d7d7d7
}

.l-drawer__toggle,
.l-drawer__link {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: 0;
  cursor: pointer;
  width: 100%;
  padding: 6.4vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1;
  color: #000;
  text-decoration: none;
  text-align: left
}

.l-drawer__label {
  display: inline-block
}

.l-drawer__icon {
  position: relative;
  flex-shrink: 0;
  width: 3.2vw;
  height: 3.2vw
}

.l-drawer__icon:before,
.l-drawer__icon:after {
  content: "";
  position: absolute;
  background-color: #000;
  transition: transform .2s ease, opacity .2s ease
}

.l-drawer__icon:before {
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
  transform: translateY(-50%)
}

.l-drawer__icon:after {
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
  transform: translate(-50%)
}

.l-drawer__icon--arrow:after {
  content: none
}

.l-drawer__icon--arrow:before {
  width: 2.1333333333vw;
  height: 2.1333333333vw;
  background: none;
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  transform: translateY(-50%) rotate(45deg);
  left: auto;
  right: .5333333333vw
}

.l-drawer__toggle[aria-expanded=true] .l-drawer__icon:after,
.l-drawer__nested-toggle[aria-expanded=true] .l-drawer__icon:after {
  transform: translate(-50%) scaleY(0)
}

.l-drawer__panel {
  display: none;
  padding: 0 6.4vw 6.4vw
}

.l-drawer__toggle[aria-expanded=true] + .l-drawer__panel {
  display: block
}

.l-drawer__cards {
  list-style: none;
  margin: 0;
  padding: 0 0 0 3.7333333333vw;
  display: flex;
  flex-wrap: wrap;
  gap: 5.3333333333vw
}

.l-drawer__cards > li {
  margin: 0;
  width: 37.3333333333vw
}

.l-drawer__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.1333333333vw;
  text-decoration: none;
  color: #000
}

.l-drawer__card-img_wrapper {
  position: relative;
  width: 37.3333333333vw;
  height: 19.4666666667vw;
  overflow: hidden
}

.l-drawer__card-img_wrapper img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.l-drawer__card-label {
  display: block;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  font-size: 3.2vw;
  line-height: 1;
  color: #000
}

.l-drawer__nested-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw
}

.l-drawer__nested {
  margin: 0
}

.l-drawer__nested-toggle {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #f7f7f7;
  border: 0;
  cursor: pointer;
  width: 100%;
  padding: 0 4.2666666667vw 0 0;
  display: flex;
  align-items: center;
  gap: 4.2666666667vw;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  font-size: 3.2vw;
  line-height: 1;
  color: #000;
  text-align: left
}

.l-drawer__nested-img_wrapper {
  position: relative;
  flex-shrink: 0;
  width: 37.3333333333vw;
  height: 19.4666666667vw;
  overflow: hidden
}

.l-drawer__nested-img_wrapper img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.l-drawer__nested-label {
  flex: 1
}

.l-drawer__nested-sub {
  display: none;
  list-style: none;
  margin: 5.3333333333vw 0 0;
  padding: 0;
  flex-direction: column;
  gap: 4.8vw
}

.l-drawer__nested-sub li {
  margin: 0;
  line-height: 1
}

.l-drawer__nested-sub a {
  display: block;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  font-size: 3.2vw;
  line-height: 1;
  color: #000;
  text-decoration: none;
  text-align: left
}

.l-drawer__nested-toggle[aria-expanded=true] + .l-drawer__nested-sub {
  display: flex
}

body.is-drawer-open {
  overflow: hidden
}

#footer.l-footer {
  background-color: #f7f7f7;
  color: #727171
}

#footer.l-footer a {
  color: inherit;
  text-decoration: none
}

#footer.l-footer a:hover {
  text-decoration: none
}

@media (hover: hover) and (pointer: fine) {

  #footer.l-footer .l-footer__link:hover,
  #footer.l-footer .l-footer__logo:hover,
  #footer.l-footer .l-footer__sns-link:hover {
    opacity: .7
  }
}

#footer.l-footer .l-footer__link:active,
#footer.l-footer .l-footer__logo:active,
#footer.l-footer .l-footer__sns-link:active {
  opacity: .7
}

.l-footer {
  position: relative;
  width: 100%;
  background-color: #f7f7f7;
  color: #727171
}

@media (min-width: 751px) {
  .l-footer {
    height: calc(var(--hbase) * 27.6)
  }
}

@media (max-width: 750px) {
  .l-footer {
    padding: 8vw 12vw
  }
}

.l-footer__inner {
  position: relative;
  width: 100%;
  height: 100%
}

@media (max-width: 750px) {
  .l-footer__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8vw
  }
}

@media (min-width: 751px) {
  .l-footer__brand {
    position: absolute;
    left: calc(var(--hbase) * 5.2);
    top: calc(var(--hbase) * 4.2);
    width: calc(var(--hbase) * 26.6);
    display: flex;
    flex-direction: column;
    gap: calc(var(--hbase) * 3.6)
  }
}

@media (max-width: 750px) {
  .l-footer__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8vw;
    width: 100%
  }
}

.l-footer__logo {
  display: block;
  text-decoration: none;
  transition: opacity .3s ease
}

@media (min-width: 751px) {
  .l-footer__logo {
    width: calc(var(--hbase) * 26.6);
    height: calc(var(--hbase) * 1.7)
  }
}

@media (max-width: 750px) {
  .l-footer__logo {
    width: 65.6vw;
    height: 4.2666666667vw
  }
}

.l-footer__logo-wrap {
  display: block;
  width: 100%;
  height: 100%
}

.l-footer__logo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center
}

@media (max-width: 750px) {
  .l-footer__logo-wrap img {
    object-position: center
  }
}

.l-footer__sns {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center
}

@media (min-width: 751px) {
  .l-footer__sns {
    gap: calc(var(--hbase) * 2)
  }
}

@media (max-width: 750px) {
  .l-footer__sns {
    width: 100%;
    justify-content: space-between
  }
}

.l-footer__sns-item {
  display: flex;
  align-items: center;
  justify-content: center
}

@media (min-width: 751px) {
  .l-footer__sns-item {
    width: calc(var(--hbase) * 2);
    height: calc(var(--hbase) * 2)
  }
}

@media (max-width: 750px) {
  .l-footer__sns-item {
    width: 8vw;
    height: 8vw
  }
}

.l-footer__sns-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  opacity: 1;
  transition: opacity .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .l-footer__sns-link:hover {
    opacity: .7
  }
}

.l-footer__sns-link:active {
  opacity: .7
}

.l-footer__sns-icon {
  display: block
}

@media (min-width: 751px) {
  .l-footer__sns-icon {
    width: calc(var(--hbase) * 2);
    height: calc(var(--hbase) * 2)
  }
}

@media (max-width: 750px) {
  .l-footer__sns-icon {
    width: 6.4vw;
    height: 6.4vw
  }
}

.l-footer__sns-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain
}

@media (min-width: 751px) {
  .l-footer__info {
    position: absolute;
    right: calc(var(--hbase) * 4.1);
    top: calc(var(--hbase) * 4.8);
    width: calc(var(--hbase) * 31.2);
    display: flex;
    flex-direction: column
  }
}

@media (max-width: 750px) {
  .l-footer__info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8vw;
    text-align: center;
    width: 100%
  }
}

.l-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  width: 100%
}

@media (min-width: 751px) {
  .l-footer__links {
    align-items: flex-start
  }
}

@media (max-width: 750px) {
  .l-footer__links {
    align-items: center
  }
}

.l-footer__links li {
  margin: 0;
  line-height: 1
}

@media (min-width: 751px) {
  .l-footer__links--primary {
    gap: calc(var(--hbase) * 2.4)
  }
}

@media (max-width: 750px) {
  .l-footer__links--primary {
    gap: 5.3333333333vw
  }
}

@media (min-width: 751px) {
  .l-footer__links--small {
    gap: calc(var(--hbase) * 2);
    margin-top: calc(var(--hbase) * 4)
  }
}

@media (max-width: 750px) {
  .l-footer__links--small {
    gap: 2.6666666667vw
  }
}

.l-footer__link {
  display: block;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  line-height: 1;
  color: #727171;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .l-footer__link:hover {
    opacity: .7
  }
}

.l-footer__link:active {
  opacity: .7
}

@media (min-width: 751px) {
  .l-footer__links--primary .l-footer__link {
    font-size: calc(var(--hbase) * 1.2);
    letter-spacing: .02em
  }
}

@media (max-width: 750px) {
  .l-footer__links--primary .l-footer__link {
    font-size: 2.6666666667vw
  }
}

@media (min-width: 751px) {
  .l-footer__links--small .l-footer__link {
    font-size: calc(var(--hbase) * 1);
    letter-spacing: .02em
  }
}

@media (max-width: 750px) {
  .l-footer__links--small .l-footer__link {
    font-size: 2.4vw
  }
}

.l-footer__copyright {
  margin: 0;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  line-height: 1;
  color: #727171;
  text-align: center;
  white-space: nowrap
}

@media (min-width: 751px) {
  .l-footer__copyright {
    font-size: calc(var(--hbase) * 1);
    letter-spacing: .02em;
    margin-top: calc(var(--hbase) * 8);
    width: 100%
  }
}

@media (max-width: 750px) {
  .l-footer__copyright {
    font-size: 2.1333333333vw;
    letter-spacing: .04em
  }
}
