@charset "UTF-8";
/* Link Button */
.c-btn a {
  font-size: 1.5rem;
  font-weight: bold;
  width: 100%;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  display: block;
  position: relative;
}

.c-btn a.--fit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: none;
}

.c-btn a.--left {
  margin-left: 0;
  margin-right: auto;
}

.c-btn a.--right {
  margin-left: auto;
  margin-right: 0;
}

.c-btn a.--center {
  margin-left: auto;
  margin-right: auto;
}

.c-btn a.--reverse {
  background: #fff;
  color: var(--mainColor);
}

.c-btn a.--reverse:hover {
  background: var(--mainColor);
  color: #fff;
}

.c-btn.--typeA a {
  border-bottom: 1px solid currentColor;
  max-width: 9.54em;
  padding: 0.4em 1.5em 0.4em 0;
}

.c-btn.--typeA a:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 1.07em;
  aspect-ratio: 1 / 0.375;
  background: currentColor;
  -webkit-mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
          mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
  -webkit-transition: inherit;
  transition: inherit;
}

.c-btn.--typeA a:hover:after {
  right: 0.5em;
}

.c-btn.--typeB a {
  color: #fff;
  background: var(--mainColor);
  border: 1px solid var(--mainColor);
  padding: 1.35em 3em 1.35em 2em;
  position: relative;
}

.c-btn.--typeB a.--skeleton {
  color: var(--mainColor);
  background: transparent;
  border: 1px solid var(--mainColor);
}

.c-btn.--typeB a.--skeleton:hover {
  color: #fff;
  background: var(--mainColor);
}

.c-btn.--typeB a.--reverse {
  color: #fff;
  border-color: #fff;
}

.c-btn.--typeB a.--reverse:hover {
  color: var(--textColor);
  background: #fff;
}

.c-btn.--typeB a:after {
  content: '';
  position: absolute;
  top: 0;
  right: 2em;
  bottom: 0;
  margin: auto;
  width: 1.2em;
  aspect-ratio: 1 / 0.375;
  background: currentColor;
  -webkit-mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
          mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
}

.c-btn.--typeB a[target="_blank"]:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.c-btn.--typeB a:hover {
  color: var(--mainColor);
  background: #fff;
}

@media screen and (max-width: 1380px) {
  .c-btn a {
    font-size: 1.1vw;
  }
}

@media screen and (max-width: 800px) {
  .c-btn a {
    font-size: 2.5vw;
  }
}

/* Block Link */
.c-blocklink a {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* Image Link */
.c-imglink.left {
  text-align: left;
}

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

.c-imglink.right {
  text-align: right;
}

.c-imglink img {
  display: inline;
}

:root {
  --c-flex-gap: 20px;
}

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

.c-flex.gap {
  gap: var(--c-flex-gap);
}

.c-flex.gapLarge {
  gap: calc(var(--c-flex-gap) * 2);
}

.c-flex--2 > * {
  width: calc(100% / 2);
}

.c-flex--2.gap > * {
  width: calc(calc(100% - calc(var(--c-flex-gap) * calc(2 - 1))) / 2);
}

.c-flex--3 > * {
  width: calc(100% / 3);
}

.c-flex--3.gap > * {
  width: calc(calc(100% - calc(var(--c-flex-gap) * calc(3 - 1))) / 3);
}

.c-flex--4 > * {
  width: calc(100% / 4);
}

.c-flex--4.gap > * {
  width: calc(calc(100% - calc(var(--c-flex-gap) * calc(4 - 1))) / 4);
}

.c-flex--5 > * {
  width: calc(100% / 5);
}

.c-flex--5.gap > * {
  width: calc(calc(100% - calc(var(--c-flex-gap) * calc(5 - 1))) / 5);
}

.c-flex--6 > * {
  width: calc(100% / 6);
}

.c-flex--6.gap > * {
  width: calc(calc(100% - calc(var(--c-flex-gap) * calc(6 - 1))) / 6);
}

.c-flex.--end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.c-flex.--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-flex.--between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.c-flex.--alignEnd {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.c-flex.--alignCenter {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-flex.--wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.c-flex.--reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.c-flex.--column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

[data-ruby] {
  position: relative;
  display: inline-block;
  line-height: 1;
}

[data-ruby]:before {
  content: attr(data-ruby);
  position: absolute;
  top: -1.2em;
  left: 50%;
  font-size: clamp(6px,0.5em,16px);
  line-height: 1;
  letter-spacing: -0.05em;
  text-align: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
}

hr.c-hr {
  background: var(--mainColor);
  border: 0;
  width: var(--container);
  height: 2px;
  margin: 0 auto;
}

.c-heading1 {
  font-size: 8rem;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: -0.05em;
  text-indent: -0.05em;
}

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

.c-heading1.--right {
  text-align: right;
}

@media screen and (max-width: 1380px) {
  .c-heading1 {
    font-size: 5.882vw;
  }
}

@media screen and (max-width: 800px) {
  .c-heading1 {
    font-size: 8vw;
  }
}

.c-heading2 {
  font-size: 5rem;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: -0.05em;
  text-indent: -0.05em;
}

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

.c-heading2.--right {
  text-align: right;
}

.c-heading2.--font40 {
  font-size: 4rem;
}

@media screen and (max-width: 1380px) {
  .c-heading2 {
    font-size: 3.67vw;
  }
  .c-heading2.--font40 {
    font-size: 2.94vw;
  }
}

@media screen and (max-width: 800px) {
  .c-heading2 {
    font-size: 6.25vw;
  }
  .c-heading2.--font40 {
    font-size: 5vw;
  }
}

.c-subHeading {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1380px) {
  .c-subHeading {
    font-size: 1.03vw;
  }
}

@media screen and (max-width: 800px) {
  .c-subHeading {
    font-size: 2.34vw;
  }
}

.c-subHeading2 {
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--pageColor);
}

.c-subHeading2 .en {
  font-size: 0.9375em;
  margin-top: 0.5em;
}

@media screen and (min-width: 801px) {
  .c-subHeading2 {
    position: absolute;
    top: 0;
    right: 0;
  }
}

@media screen and (min-width: 801px) and (max-width: 1380px) {
  .c-subHeading2 {
    right: 4%;
    font-size: 1.18vw;
  }
}

@media screen and (max-width: 800px) {
  .c-subHeading2 {
    font-size: 2.67vw;
    margin-top: 1em;
  }
}

.c-itemCard .img {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #f1f1f1;
  border: 1px solid #ccc;
  overflow: hidden;
  position: relative;
}

.c-itemCard .img .label {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 87.5%;
  font-weight: bold;
  color: #fff;
  background: var(--mainColor);
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.4em 1em;
  z-index: 1;
}

.c-itemCard .img img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.c-itemCard .cat {
  font-size: 75%;
  font-weight: bold;
  margin-top: 2.25em;
  color: #717171;
}

.c-itemCard .name {
  font-weight: bold;
  margin-top: 0.75em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.c-itemCard .price {
  font-weight: bold;
  margin-top: 0.25em;
}

.c-itemCard .price .tax {
  font-size: 75%;
}

.c-itemCard a {
  display: block;
}

.c-itemCard a:hover .img img, .c-itemCard a:focus-visible .img img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.c-itemsListWrapper {
  position: relative;
}

.c-itemsListWrapper .swiper-arrow {
  position: absolute;
  top: 150px;
  font-size: 1.5rem;
  width: 1em;
  height: 1em;
  z-index: 2;
}

.c-itemsListWrapper .swiper-arrow:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border-top: 0.14em solid var(--mainColor);
  border-right: 0.14em solid var(--mainColor);
}

.c-itemsListWrapper .swiper-arrow.--prev:after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.c-itemsListWrapper .swiper-arrow.--next:after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.c-itemsListWrapper .swiper-arrow:after {
  border-width: 0.15em;
}

.c-itemsListWrapper .swiper-arrow.--prev {
  right: calc(100% + 0.25em);
}

.c-itemsListWrapper .swiper-arrow.--next {
  left: calc(100% + 0.25em);
}

.c-itemsList.--list > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 60px 30px;
}

.c-itemsList.--list > ul > li {
  width: calc(calc(100% - 60px) / 3);
}

.c-itemsList.--list.--col3 {
  container-type: inline-size;
}

.c-itemsList.--list.--col3 > ul {
  gap: 4.4cqw 2.2cqw;
}

.c-itemsList.--list.--col3 > ul > li {
  width: calc(calc(100% - 4.4cqw) / 3);
}

.c-itemsList.--list.--col4 {
  container-type: inline-size;
}

.c-itemsList.--list.--col4 > ul {
  gap: 4.4cqw 2cqw;
}

.c-itemsList.--list.--col4 > ul > li {
  width: calc(calc(100% - 6cqw) / 4);
}

@media screen and (max-width: 1380px) {
  .c-itemsList.--list > ul {
    gap: 4.4vw 2.2vw;
  }
  .c-itemsList.--list > ul > li {
    width: calc(calc(100% - 4.4vw) / 3);
  }
}

@media screen and (max-width: 800px) {
  .c-itemsList.--list.--col3 > ul, .c-itemsList.--list.--col4 > ul {
    gap: 4.4cqw 2cqw;
  }
  .c-itemsList.--list.--col3 > ul > li, .c-itemsList.--list.--col4 > ul > li {
    width: calc(calc(100% - 2cqw) / 2);
  }
}

.c-itemsList.--grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 60px 27px;
}

.c-itemsList.--grid > .img {
  grid-column: 3 / 5;
  grid-row: 1 / 3;
}

@media screen and (max-width: 1380px) {
  .c-itemsList.--grid {
    gap: 4.4vw 2vw;
  }
}

@media screen and (max-width: 800px) {
  .c-itemsList.--grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .c-itemsList.--grid > .img {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }
}

.c-itemsList.--typeA {
  padding-bottom: 60px;
  margin: 0 -20px;
}

.c-itemsList.--typeA .swiper-slide {
  position: relative;
  font-size: 1.6rem;
  padding: 0 20px;
}

.c-itemsList.--typeA .swiper-slide .cat {
  margin-top: 2.5em;
}

.c-itemsList.--typeA .swiper-pagination-progressbar {
  z-index: 3;
  pointer-events: none;
  top: auto;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  max-width: var(--container);
  background: none;
}

.c-itemsList.--typeA .swiper-pagination-progressbar:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 1px;
  background: var(--mainColor);
}

.c-itemsList.--typeA .swiper-pagination-progressbar-fill {
  background: var(--mainColor);
}

.c-itemsList.--typeA a:hover .img img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

@media screen and (max-width: 1380px) {
  .c-itemsList.--typeA {
    padding-bottom: 4.4vw;
    margin: 0 -1.47vw;
  }
  .c-itemsList.--typeA .swiper-slide {
    font-size: 1.18vw;
    padding: 0 1.47vw;
  }
}

@media screen and (max-width: 800px) {
  .c-itemsList.--typeA .swiper-slide {
    font-size: 3vw;
  }
}

.c-itemsList.--typeB {
  position: relative;
  margin: 0 -15px;
}

.c-itemsList.--typeB .swiper-slide {
  font-size: 1.6rem;
  padding: 0 15px;
  position: relative;
}

.c-itemsList.--typeB .swiper-arrow {
  position: absolute;
  top: 150px;
  font-size: 2rem;
  width: 1em;
  height: 1em;
  z-index: 2;
}

.c-itemsList.--typeB .swiper-arrow:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border-top: 0.14em solid var(--mainColor);
  border-right: 0.14em solid var(--mainColor);
}

.c-itemsList.--typeB .swiper-arrow.--prev:after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.c-itemsList.--typeB .swiper-arrow.--next:after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.c-itemsList.--typeB .swiper-arrow:after {
  border-width: 0.15em;
}

.c-itemsList.--typeB .swiper-arrow.--prev {
  right: 100%;
}

.c-itemsList.--typeB .swiper-arrow.--next {
  left: 100%;
}

@media screen and (max-width: 1380px) {
  .c-itemsList.--typeB {
    margin: 0 -1.1vw;
  }
  .c-itemsList.--typeB .swiper-slide {
    font-size: 1.18vw;
    padding: 0 1.1vw;
  }
  .c-itemsList.--typeB .swiper-arrow {
    top: 11vw;
  }
  .c-itemsList.--typeB .swiper-arrow.--prev {
    right: auto;
    left: 4%;
  }
  .c-itemsList.--typeB .swiper-arrow.--next {
    left: auto;
    right: 4%;
  }
}

@media screen and (max-width: 800px) {
  .c-itemsList.--typeB .swiper-slide {
    font-size: 2.67vw;
  }
}

@media screen and (max-width: 1380px) {
  .c-itemsListWrapper .swiper-arrow {
    top: 11vw;
  }
  .c-itemsListWrapper .swiper-arrow.--prev {
    right: auto;
    left: -2%;
  }
  .c-itemsListWrapper .swiper-arrow.--next {
    left: auto;
    right: -2%;
  }
}

@media screen and (max-width: 800px) {
  .c-itemsListWrapper .swiper-arrow {
    top: 22vw;
  }
}

.c-postList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 60px 30px;
  font-size: 1.6rem;
}

.c-postList > li {
  width: calc(calc(100% - 90px) / 4);
}

@media screen and (max-width: 1380px) {
  .c-postList {
    gap: 4.4vw 2.2vw;
  }
  .c-postList > li {
    width: calc(calc(100% - 6.6vw) / 4);
  }
}

@media screen and (max-width: 800px) {
  .c-postList {
    gap: 8.8vw 4.4vw;
  }
  .c-postList > li {
    width: calc(calc(100% - 4.4vw) / 2);
  }
}

.c-notes > li {
  padding-left: 1em;
  text-indent: -1em;
}

.c-ul01 > li {
  padding-left: 1em;
  text-indent: -1em;
}

.c-ul01 > li:before {
  content: '・ ';
}

.c-seriesList {
  -webkit-columns: 3;
     -moz-columns: 3;
          columns: 3;
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
  border-top: 1px solid var(--mainColor);
  border-left: 1px solid var(--mainColor);
}

.c-seriesList > li {
  border-right: 1px solid var(--mainColor);
  border-bottom: 1px solid var(--mainColor);
}

.c-seriesList > li > * {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.1em;
  padding: 1em 1em 1em 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
}

.c-seriesList > li > a {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.c-seriesList > li > a:hover {
  color: #fff;
  background: var(--mainColor);
}

.c-seriesList > li.--current > * {
  color: #fff;
  background: var(--mainColor);
}

@media screen and (max-width: 1380px) {
  .c-seriesList > li > * {
    font-size: 1.1vw;
  }
}

@media screen and (max-width: 800px) {
  .c-seriesList {
    -webkit-columns: 2;
       -moz-columns: 2;
            columns: 2;
  }
  .c-seriesList > li > * {
    font-size: 2.5vw;
    padding: 0.5em;
    white-space: wrap;
    height: 3em;
  }
}

.c-details > summary {
  font-weight: bold;
  display: block;
  padding-right: 1em;
  cursor: pointer;
  position: relative;
}

.c-details > summary + * {
  margin-top: 1em;
}

.c-details > summary:before, .c-details > summary:after {
  content: '';
  position: absolute;
  top: 0.75em;
  right: 0;
  width: 1em;
  height: 0.15em;
  background: #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.c-details > summary:before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.c-details::details-content {
  height: 0;
  -webkit-transition: height 0.3s ease, opacity 0.3s ease, content-visibility 0.3s ease allow-discrete;
  transition: height 0.3s ease, opacity 0.3s ease, content-visibility 0.3s ease allow-discrete;
  transition-behavior: allow-discrete;
}

.c-details[open] > summary:before {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.c-details[open]::details-content {
  height: calc-size(auto, size);
  opacity: 1;
}

.c-details:not([open])::details-content {
  opacity: 0;
}

.c-imgSlider {
  position: relative;
}

.c-imgSliderWrapper {
  position: relative;
}

.c-imgSliderWrapper .swiper-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  font-size: 1.5rem;
  width: 0.9em;
  height: 0.9em;
  z-index: 2;
  opacity: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  z-index: 2;
}

.c-imgSliderWrapper .swiper-arrow:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border-top: 0.14em solid var(--mainColor);
  border-right: 0.14em solid var(--mainColor);
}

.c-imgSliderWrapper .swiper-arrow.--prev:after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.c-imgSliderWrapper .swiper-arrow.--next:after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.c-imgSliderWrapper .swiper-arrow:before, .c-imgSliderWrapper .swiper-arrow:after {
  border-color: #000;
}

.c-imgSliderWrapper .swiper-arrow.--prev {
  right: 100%;
}

.c-imgSliderWrapper .swiper-arrow.--next {
  left: 100%;
}

.c-imgSliderWrapper:hover .swiper-arrow {
  opacity: 1;
}

.c-imgSlider .swiper-slide {
  width: 100%;
}

.c-imgSlider .swiper-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  font-size: 1.5rem;
  width: 0.9em;
  height: 0.9em;
  z-index: 2;
  opacity: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  z-index: 2;
}

.c-imgSlider .swiper-arrow:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border-top: 0.14em solid var(--mainColor);
  border-right: 0.14em solid var(--mainColor);
}

.c-imgSlider .swiper-arrow.--prev:after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.c-imgSlider .swiper-arrow.--next:after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.c-imgSlider .swiper-arrow:before, .c-imgSlider .swiper-arrow:after {
  border-color: #000;
}

.c-imgSlider .swiper-arrow.--prev {
  right: 100%;
}

.c-imgSlider .swiper-arrow.--next {
  left: 100%;
}

@media screen and (max-width: 1380px) {
  .c-imgSliderWrapper .swiper-arrow {
    font-size: 1.1vw;
  }
}

.c-itemSlider {
  container-type: inline-size;
}

.c-itemSlider .swiper-slide {
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid #ccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-itemSlider .swiper-slide img {
  max-width: 100%;
  max-height: 100%;
}

.c-itemSlider_thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.3cqw;
  margin-top: 30px;
}

.c-itemSlider_thumb > li {
  width: calc(calc(100% - 16.1cqw) / 8);
  aspect-ratio: 1 / 1;
  border: 1px solid #ccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-itemSlider_thumb > li img {
  max-width: 100%;
  max-height: 100%;
}

@media screen and (max-width: 1380px) {
  .c-itemSlider_thumb {
    margin-top: 2.2vw;
  }
}

@media screen and (max-width: 800px) {
  .c-itemSlider_thumb > li {
    width: calc(calc(100% - 11.5vw) / 6);
  }
}

.c-tab_navWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  container-type: inline-size;
}

.c-tab_nav {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  cursor: pointer;
}

.c-tab_nav .button {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  min-height: 5em;
  border: 1px solid #5a5a5a;
  padding: 0.5em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.c-tab_nav .button:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.2em;
  background: var(--pageColor);
  opacity: 0;
  -webkit-transition: inherit;
  transition: inherit;
}

.c-tab_nav .img {
  opacity: 0.6;
  margin-top: 30px;
  width: 100%;
  aspect-ratio: 1 / 0.442;
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.c-tab_nav .img img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-tab_nav:not(:last-child) .button {
  border-right: 0;
}

.c-tab_nav:hover .button, .c-tab_nav:focus-visible .button {
  background: rgba(255, 255, 255, 0.0365);
}

.c-tab_nav:hover .button:after, .c-tab_nav:focus-visible .button:after {
  opacity: 0.5;
}

.c-tab_nav:hover .img, .c-tab_nav:focus-visible .img {
  opacity: 0.75;
}

.c-tab_nav.--active .button {
  background: rgba(255, 255, 255, 0.073);
}

.c-tab_nav.--active .button:after {
  opacity: 1;
}

.c-tab_nav.--active .img {
  opacity: 1;
}

.c-tab_content {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.c-tab_content:not(.--active) {
  display: none;
}

.c-tab_content.--active {
  -webkit-animation: tabActive 0.5s ease 0s 1 normal forwards running;
          animation: tabActive 0.5s ease 0s 1 normal forwards running;
}

@-webkit-keyframes tabActive {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes tabActive {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@media screen and (max-width: 1380px) {
  .c-tab_nav .button {
    font-size: 1.47cqw;
  }
  .c-tab_nav .img {
    margin-top: 2.2vw;
  }
}

@media screen and (max-width: 800px) {
  .c-tab_nav .button {
    font-size: 3.34cqw;
  }
  .c-tab_nav .img {
    aspect-ratio: 1 / 1;
    margin-top: 7.2vw;
  }
}

.c-recruitItem {
  display: grid;
  gap: 40px;
  grid-template-columns: 90px 28% auto;
}

.c-recruitItem + .c-recruitItem {
  margin-top: 60px;
  padding-top: 60px;
  border-top: 1px solid #ccc;
}

.c-recruitItem .status {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}

.c-recruitItem .status .label {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  display: block;
  padding: 0.5em;
  border: 1px solid var(--mainColor);
}

.c-recruitItem .status .label.--active {
  color: #fff;
  background: var(--mainColor);
}

.c-recruitItem .name {
  grid-column: 2 / 4;
  grid-row: 1 / 2;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.3;
}

.c-recruitItem .name .en {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  color: #717171;
  display: block;
}

.c-recruitItem .title {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  font-size: 1.3rem;
  font-weight: bold;
}

.c-recruitItem .detail {
  grid-column: 3 / 4;
  grid-row: 2 / 3;
}

.c-recruitItem .detail table {
  width: 100%;
  border-collapse: collapse;
  border-bottom: 1px solid #ccc;
}

.c-recruitItem .detail table th, .c-recruitItem .detail table td {
  border-top: 1px solid #ccc;
  text-align: left;
  padding: 1.25em 0;
}

.c-recruitItem .detail table th {
  font-weight: bold;
  width: 10.5em;
}

.c-recruitItem .detail table td {
  font-size: 1.5rem;
}

@media screen and (max-width: 1380px) {
  .c-recruitItem {
    gap: 3vw;
    grid-template-columns: 8vw 28% auto;
  }
  .c-recruitItem + .c-recruitItem {
    margin-top: 4.4vw;
    padding-top: 4.4vw;
  }
  .c-recruitItem .status .label {
    font-size: 1vw;
  }
  .c-recruitItem .name {
    font-size: 2.2vw;
  }
  .c-recruitItem .name .en {
    font-size: 1.03vw;
  }
  .c-recruitItem .title {
    font-size: 1vw;
  }
  .c-recruitItem .detail table td {
    font-size: 1.1vw;
  }
}

@media screen and (max-width: 800px) {
  .c-recruitItem {
    grid-template-columns: 15vw auto;
  }
  .c-recruitItem + .c-recruitItem {
    margin-top: 10vw;
    padding-top: 10vw;
  }
  .c-recruitItem .status .label {
    font-size: 2vw;
  }
  .c-recruitItem .name {
    font-size: 5vw;
  }
  .c-recruitItem .name .en {
    font-size: 2.34vw;
  }
  .c-recruitItem .title {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    font-size: 2.17vw;
  }
  .c-recruitItem .detail {
    grid-column: 2 / 4;
    grid-row: 2 / 3;
  }
  .c-recruitItem .detail table td {
    font-size: 2.5vw;
  }
}

.c-runway {
  position: relative;
}

.c-runway:before {
  content: '';
  position: absolute;
  top: 15%;
  left: 0;
  margin: auto;
  width: 100%;
  aspect-ratio: 1 / 0.167;
  background: url(../img/runway/runway.png) repeat-x top left/auto 100%;
  -webkit-animation: runwayBg 30s linear 0s infinite normal forwards running;
          animation: runwayBg 30s linear 0s infinite normal forwards running;
}

@-webkit-keyframes runwayBg {
  0% {
    background-position: top left;
  }
  100% {
    background-position: top left -94.934vw;
  }
}

@keyframes runwayBg {
  0% {
    background-position: top left;
  }
  100% {
    background-position: top left -94.934vw;
  }
}

.c-runway_slider {
  overflow: visible;
}

.c-runway_slider .swiper-slide {
  width: 100%;
  aspect-ratio: 1 / 0.7941;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-runway_slider .swiper-slide .img {
  max-height: 100%;
  -webkit-transition: 2s cubic-bezier(0.5, 0.33, 0.33, 1);
  transition: 2s cubic-bezier(0.5, 0.33, 0.33, 1);
  opacity: 0;
  -webkit-transform: scale(0.75);
          transform: scale(0.75);
}

.c-runway_slider .swiper-slide .img img {
  max-height: 100%;
}

.c-runway_slider .swiper-slide .name {
  position: absolute;
  top: 49.5%;
  left: 0%;
  font-size: 1.8rem;
  font-weight: bold;
  padding-bottom: 0.25em;
  border-bottom: 1px solid currentColor;
  width: 33.1%;
  -webkit-transition: 1s;
  transition: 1s;
  opacity: 0;
  -webkit-transform: translateX(1.5em);
          transform: translateX(1.5em);
}

.c-runway_slider .swiper-slide .name .num {
  color: var(--pageColor);
}

.c-runway_slider .swiper-slide-active .img, .c-runway_slider .swiper-slide-duplicate-active .img {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.c-runway_slider .swiper-slide-active .name, .c-runway_slider .swiper-slide-duplicate-active .name {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.c-runway_slider .swiper-pagination-progressbar {
  z-index: 3;
  pointer-events: none;
  top: -7%;
  left: auto;
  right: 2%;
  bottom: auto;
  width: 11.7647%;
  background: none;
}

.c-runway_slider .swiper-pagination-progressbar:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 1px;
  background: var(--mainColor);
}

.c-runway_slider .swiper-pagination-progressbar-fill {
  background: var(--mainColor);
}

.c-runway_slider .swiper-pagination-current, .c-runway_slider .swiper-pagination-total {
  position: absolute;
  top: -0.5em;
  bottom: -0.5em;
  margin: auto;
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--mainColor);
}

.c-runway_slider .swiper-pagination-current {
  right: calc(100% + 1em);
}

.c-runway_slider .swiper-pagination-total {
  left: calc(100% + 1em);
}

@media screen and (max-width: 1380px) {
  .c-runway_slider .swiper-slide .name {
    font-size: 1.3235vw;
  }
}

@media screen and (max-width: 800px) {
  .c-runway:before {
    -webkit-animation-duration: 15s;
            animation-duration: 15s;
  }
  .c-runway_slider .swiper-slide {
    aspect-ratio: 9 / 18;
  }
  .c-runway_slider .swiper-slide .name {
    top: auto;
    bottom: -5%;
    font-size: 4vw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 60%;
  }
  .c-runway_slider .swiper-pagination-progressbar {
    top: -2%;
    right: auto;
    left: 8%;
    width: 35%;
  }
}

*::-webkit-input-placeholder {
  color: #ccc;
}

*::-moz-placeholder {
  color: #ccc;
}

*:-ms-input-placeholder {
  color: #ccc;
}

*::-ms-input-placeholder {
  color: #ccc;
}

*::placeholder {
  color: #ccc;
}

.c-textbox input {
  border: 1px solid #ccc;
  width: 100%;
  padding: 0.5em 1em;
}

.c-checkbox {
  display: block;
  padding-left: 1.25em;
  position: relative;
}

.c-checkbox input[type="checkbox"] {
  display: none;
}

.c-checkbox:before {
  content: '';
  position: absolute;
  top: 0.34em;
  left: 0;
  width: 1em;
  height: 1em;
  border: 1px solid #000;
  border-radius: 0.2em;
}

.c-checkbox:after {
  content: '';
  position: absolute;
  top: 0.56em;
  left: 0.12em;
  width: 0.68em;
  height: 0.4em;
  border-bottom: 0.15em solid #fff;
  border-left: 0.15em solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.c-checkbox:has(input:checked):before {
  background: var(--mainColor);
}

.c-radio {
  padding-left: 1.5em;
  position: relative;
}

.c-radio:before {
  content: '';
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  border: 1px solid var(--mainColor);
}

.c-radio input[type='radio'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: none;
}

.c-radio:has(input:checked):before {
  background: var(--mainColor);
}

.c-search_trigger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.c-search_trigger i.icon {
  font-size: 1.4em;
}

.c-search_target {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
  display: none;
}

.c-search_target button i.icon {
  font-size: 2.1rem;
}

.c-search.is-active .c-search_trigger {
  display: none;
}

.c-search.is-active .c-search_target {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-tal {
  text-align: left !important;
}

.u-tac {
  text-align: center !important;
}

.u-tar {
  text-align: right !important;
}

.u-imgLeft {
  margin-left: 0;
  margin-right: auto;
}

.u-imgCenter {
  margin-left: auto;
  margin-right: auto;
}

.u-imgRight {
  margin-left: auto;
  margin-right: 0;
}

.font-10 {
  font-size: 1rem !important;
}

.font-11 {
  font-size: 1.1rem !important;
}

.font-12 {
  font-size: 1.2rem !important;
}

.font-13 {
  font-size: 1.3rem !important;
}

.font-14 {
  font-size: 1.4rem !important;
}

.font-15 {
  font-size: 1.5rem !important;
}

.font-16 {
  font-size: 1.6rem !important;
}

.font-17 {
  font-size: 1.7rem !important;
}

.font-18 {
  font-size: 1.8rem !important;
}

.font-19 {
  font-size: 1.9rem !important;
}

.font-20 {
  font-size: 2rem !important;
}

.font-21 {
  font-size: 2.1rem !important;
}

.font-22 {
  font-size: 2.2rem !important;
}

.font-23 {
  font-size: 2.3rem !important;
}

.font-24 {
  font-size: 2.4rem !important;
}

.font-25 {
  font-size: 2.5rem !important;
}

.font-26 {
  font-size: 2.6rem !important;
}

.font-27 {
  font-size: 2.7rem !important;
}

.font-28 {
  font-size: 2.8rem !important;
}

.font-29 {
  font-size: 2.9rem !important;
}

.font-30 {
  font-size: 3rem !important;
}

.font-60 {
  font-size: 6rem !important;
}

@media screen and (min-width: 801px) and (max-width: 1380px) {
  .font-10 {
    font-size: 0.83333vw !important;
  }
  .font-11 {
    font-size: 0.91667vw !important;
  }
  .font-12 {
    font-size: 1vw !important;
  }
  .font-13 {
    font-size: 1.08333vw !important;
  }
  .font-14 {
    font-size: 1.16667vw !important;
  }
  .font-15 {
    font-size: 1.25vw !important;
  }
  .font-16 {
    font-size: 1.33333vw !important;
  }
  .font-17 {
    font-size: 1.41667vw !important;
  }
  .font-18 {
    font-size: 1.5vw !important;
  }
  .font-19 {
    font-size: 1.58333vw !important;
  }
  .font-20 {
    font-size: 1.66667vw !important;
  }
  .font-21 {
    font-size: 1.75vw !important;
  }
  .font-22 {
    font-size: 1.83333vw !important;
  }
  .font-23 {
    font-size: 1.91667vw !important;
  }
  .font-24 {
    font-size: 2vw !important;
  }
  .font-25 {
    font-size: 2.08333vw !important;
  }
  .font-26 {
    font-size: 2.16667vw !important;
  }
  .font-27 {
    font-size: 2.25vw !important;
  }
  .font-28 {
    font-size: 2.33333vw !important;
  }
  .font-29 {
    font-size: 2.41667vw !important;
  }
  .font-30 {
    font-size: 2.5vw !important;
  }
  .font-60 {
    font-size: calc(60px / calc($container-val * 100)) !important;
  }
}

@media screen and (max-width: 800px) {
  .font-10 {
    font-size: max(1vw * 10 / 800 * 100 * ((24 - 10) * 0.1),10px) !important;
  }
  .font-11 {
    font-size: max(1vw * 11 / 800 * 100 * ((24 - 11) * 0.1),10px) !important;
  }
  .font-12 {
    font-size: max(1vw * 12 / 800 * 100 * ((24 - 12) * 0.1),10px) !important;
  }
  .font-13 {
    font-size: max(1vw * 13 / 800 * 100 * ((24 - 13) * 0.1),10px) !important;
  }
  .font-14 {
    font-size: max(1vw * 14 / 800 * 100 * ((24 - 14) * 0.1),10px) !important;
  }
  .font-15 {
    font-size: max(1vw * 15 / 800 * 100 * ((24 - 15) * 0.1),10px) !important;
  }
  .font-16 {
    font-size: max(1vw * 16 / 800 * 100 * ((24 - 16) * 0.1),10px) !important;
  }
  .font-17 {
    font-size: max(1vw * 17 / 800 * 100 * ((24 - 17) * 0.1),10px) !important;
  }
  .font-18 {
    font-size: max(1vw * 18 / 800 * 100 * ((24 - 18) * 0.1),10px) !important;
  }
  .font-19 {
    font-size: max(1vw * 19 / 800 * 100 * ((24 - 19) * 0.1),10px) !important;
  }
  .font-20 {
    font-size: max(1vw * 20 / 800 * 100 * ((24 - 20) * 0.1),10px) !important;
  }
  .font-21 {
    font-size: max(1vw * 21 / 800 * 100 * ((24 - 21) * 0.1),10px) !important;
  }
  .font-22 {
    font-size: max(1vw * 22 / 800 * 100 * ((24 - 22) * 0.1),10px) !important;
  }
  .font-23 {
    font-size: max(1vw * 23 / 800 * 100 * ((24 - 23) * 0.1),10px) !important;
  }
  .font-24 {
    font-size: max(1vw * 24 / 800 * 100 * ((24 - 24) * 0.1),10px) !important;
  }
  .font-25 {
    font-size: max(1vw * 25 / 800 * 100 * ((24 - 25) * 0.1),10px) !important;
  }
  .font-26 {
    font-size: max(1vw * 26 / 800 * 100 * ((24 - 26) * 0.1),10px) !important;
  }
  .font-27 {
    font-size: max(1vw * 27 / 800 * 100 * ((24 - 27) * 0.1),10px) !important;
  }
  .font-28 {
    font-size: max(1vw * 28 / 800 * 100 * ((24 - 28) * 0.1),10px) !important;
  }
  .font-29 {
    font-size: max(1vw * 29 / 800 * 100 * ((24 - 29) * 0.1),10px) !important;
  }
  .font-30 {
    font-size: max(1vw * 30 / 800 * 100 * ((24 - 30) * 0.1),10px) !important;
  }
  .font-60 {
    font-size: max(60px / 800 * 100 * -36 * 0.1),10px) !important;
  }
}

.u-bg {
  background: #fffc01;
  padding: 0 0.2em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.u-marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #F4DF42));
  background: linear-gradient(transparent 50%, #F4DF42 50%);
  padding-bottom: 0.3em;
}

.u-bold {
  font-weight: bold;
}

.u-mainColor {
  color: var(--mainColor);
}

.u-subcolor {
  color: var(--subColor);
}

.u-emp {
  color: #BD0010;
}

.u-link {
  color: var(--mainColor);
  text-decoration: underline;
}

.u-link:hover {
  text-decoration: none;
}

.mt-5 {
  margin-top: 0.5em !important;
}

.mt-10 {
  margin-top: 1em !important;
}

.mt-15 {
  margin-top: 1.5em !important;
}

.mt-20 {
  margin-top: 2em !important;
}

.mt-25 {
  margin-top: 2.5em !important;
}

.mt-30 {
  margin-top: 3em !important;
}

.mt-35 {
  margin-top: 3.5em !important;
}

.mt-40 {
  margin-top: 4em !important;
}

.mt-45 {
  margin-top: 4.5em !important;
}

.mt-50 {
  margin-top: 5em !important;
}

i.icon {
  display: inline-block;
  width: 1em;
  aspect-ratio: 1 / 1;
  background: url() no-repeat center/contain;
}

i.icon-search {
  background-image: url(../img/icons/search.svg);
}

.alignleft {
  margin-left: 0;
  margin-right: auto;
}

.aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.alignright {
  margin-left: auto;
  margin-right: 0;
}

:root {
  --maskX: 100%;
  --maskY: 3.854vw;
}

@media screen and (max-width: 800px) {
  :root {
    --maskX: 100%;
    --maskY: 6.736vw;
  }
}

.js-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  z-index: 9999;
  background: #fff;
}

.js-loading .logo {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 300px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.js-loading.is-loaded {
  -webkit-transition: 0.5s ease 0.3s;
  transition: 0.5s ease 0.3s;
  opacity: 0;
  pointer-events: none;
}

.parallaxWrapper {
  position: relative;
}

.parallaxWrapper > *:last-child {
  padding-bottom: 50px;
}

.parallax {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  z-index: -1;
}

.parallax .bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: -webkit-gradient(linear, left top, left bottom, from(#3a90e6), to(#07315a));
  background: linear-gradient(#3a90e6, #07315a);
}

.parallax.--mask {
  -webkit-mask: url(../images/mask.svg) no-repeat center top/var(--maskX) var(--maskY), linear-gradient(transparent, transparent calc(var(--maskY) - 1px), #000 calc(var(--maskY) - 1px), #000 100%);
          mask: url(../images/mask.svg) no-repeat center top/var(--maskX) var(--maskY), linear-gradient(transparent, transparent calc(var(--maskY) - 1px), #000 calc(var(--maskY) - 1px), #000 100%);
  margin-top: calc(-1 * var(--maskY));
  height: calc(100% + var(--maskY));
}

@media screen and (max-width: 800px) {
  .parallax {
    background-size: auto 100vh;
  }
}

.p-mainVisual {
  overflow: hidden;
}

.p-mainVisual.--img img {
  width: 100%;
  max-width: none;
}

.p-mainVisual_slider {
  position: relative;
}

.p-mainVisual_slider .swiper-slide {
  width: 86.94vw;
  aspect-ratio: 1 / 0.569;
  container-type: inline-size;
  z-index: 3;
  color: #fff;
}

.p-mainVisual_slider .swiper-slide:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.6)));
  background: linear-gradient(rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.6));
  z-index: 2;
  pointer-events: none;
}

.p-mainVisual_slider .swiper-slide img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-mainVisual_slider .swiper-slide .txt {
  position: absolute;
  left: 2.4%;
  bottom: 14%;
  padding-left: 3%;
  z-index: 3;
}

.p-mainVisual_slider .swiper-slide .category {
  position: absolute;
  left: 1em;
  bottom: 0.5em;
  font-size: 1.534cqw;
  font-weight: bold;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.p-mainVisual_slider .swiper-slide .title {
  font-size: 5.368cqw;
  font-weight: bold;
  line-height: 1;
}

.p-mainVisual_slider .swiper-slide .arrow {
  position: absolute;
  left: 2%;
  bottom: 8.2%;
  font-size: 1.15cqw;
  font-weight: bold;
  letter-spacing: 0.075em;
  padding: 0 3em 0.4em 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 1px solid #fff;
  z-index: 3;
}

.p-mainVisual_slider .swiper-slide .arrow:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 1.067em;
  aspect-ratio: 1 / 0.375;
  background: currentColor;
  -webkit-mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
          mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
}

.p-mainVisual_slider .swiper-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  font-size: 3.34vw;
  width: 1em;
  height: 1em;
  background: #fff;
  z-index: 3;
}

.p-mainVisual_slider .swiper-arrow:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 0.32em;
  aspect-ratio: 1 / 0.375;
  background: #000;
  -webkit-mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
          mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
}

.p-mainVisual_slider .swiper-arrow.--prev {
  left: 6.535vw;
}

.p-mainVisual_slider .swiper-arrow.--prev:after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-mainVisual_slider .swiper-arrow.--next {
  right: 6.535vw;
}

.p-mainVisual_slider .swiper-pagination-progressbar {
  z-index: 3;
  pointer-events: none;
  top: auto;
  left: auto;
  right: 10.2%;
  bottom: 4.1%;
  width: 10.6%;
  background: none;
}

.p-mainVisual_slider .swiper-pagination-progressbar:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 1px;
  background: #979797;
}

.p-mainVisual_slider .swiper-pagination-progressbar-fill {
  background: #fff;
}

.p-mainVisual_slider .swiper-pagination-current, .p-mainVisual_slider .swiper-pagination-total {
  position: absolute;
  top: -0.5em;
  bottom: -0.5em;
  margin: auto;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
}

.p-mainVisual_slider .swiper-pagination-current {
  right: calc(100% + 1em);
}

.p-mainVisual_slider .swiper-pagination-total {
  left: calc(100% + 1em);
}

.p-newArrivals {
  padding: 120px 0;
  overflow: hidden;
}

.p-newArrivals .c-head .l-container {
  position: relative;
}

.p-newArrivals .c-head .c-btn {
  position: absolute;
  bottom: 1em;
  right: 0;
}

.p-newArrivals .c-head .c-btn a {
  width: 9.54em;
}

.p-newArrivals .c-itemsList {
  overflow: visible;
}

@media screen and (max-width: 1380px) {
  .p-newArrivals {
    padding: 8.83vw 0;
  }
  .p-newArrivals .c-head .c-btn {
    right: 4%;
  }
}

@media screen and (max-width: 800px) {
  .p-newArrivals {
    padding: 15vw 0;
  }
}

.p-pickup {
  padding: 120px 0;
  background: var(--mainColor);
  color: #fff;
}

.p-pickup_grid {
  display: grid;
  grid-template-columns: 57.5% calc(42.5% - 12px);
  grid-template-rows: 1fr 1fr;
  gap: 12px;
}

.p-pickup_grid .item {
  position: relative;
}

.p-pickup_grid .item.--grid1 {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}

.p-pickup_grid .item.--grid1 .img {
  aspect-ratio: 1 / 1.064;
}

.p-pickup_grid .img {
  width: 100%;
  aspect-ratio: 1 / 0.726;
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-pickup_grid .img:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, rgba(0, 0, 0, 0.7)), to(black)) no-repeat left top/100% 200%;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7) 50%, black) no-repeat left top/100% 200%;
  -webkit-transition: inherit;
  transition: inherit;
}

.p-pickup_grid .img img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: inherit;
  transition: inherit;
}

.p-pickup_grid .content {
  position: absolute;
  left: 32px;
  bottom: 27px;
}

.p-pickup_grid .cat {
  font-size: 1.4rem;
  font-weight: bold;
}

.p-pickup_grid .name {
  font-size: 5rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: -0.025em;
}

.p-pickup_grid .arrow {
  font-size: 1.5rem;
  font-weight: bold;
  padding-right: 2em;
  margin-top: 1em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}

.p-pickup_grid .arrow:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 1.07em;
  aspect-ratio: 1 / 0.375;
  background: currentColor;
  -webkit-mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
          mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-pickup_grid a:hover .img:after {
  background-position: left top 50%;
}

.p-pickup_grid a:hover .img img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.p-pickup_grid a:hover .arrow:after {
  right: -0.5em;
}

.p-pickup_slider {
  position: relative;
}

.p-pickup_slider .swiper-arrow {
  position: absolute;
  bottom: calc(100% + 77px);
  right: 0;
  font-size: 50px;
  width: 1em;
  height: 1em;
  border: 1px solid #5a5a5a;
  z-index: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-pickup_slider .swiper-arrow:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 0.32em;
  aspect-ratio: 1 / 0.375;
  background: #fff;
  -webkit-mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
          mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
  -webkit-transition: inherit;
  transition: inherit;
}

.p-pickup_slider .swiper-arrow.--prev {
  right: 1em;
}

.p-pickup_slider .swiper-arrow.--prev:after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-pickup_slider .swiper-arrow:hover {
  background: #fff;
}

.p-pickup_slider .swiper-arrow:hover:after {
  background: var(--mainColor);
}

@media screen and (max-width: 1380px) {
  .p-pickup {
    padding: 8.83vw 0;
  }
  .p-pickup_grid {
    gap: 0.88vw;
    grid-template-columns: 57.5% calc(42.5% - 0.88vw);
  }
  .p-pickup_grid .content {
    left: 2.35vw;
    bottom: 1.98vw;
  }
  .p-pickup_grid .cat {
    font-size: 1.03vw;
  }
  .p-pickup_grid .name {
    font-size: 3.67vw;
  }
  .p-pickup_grid .arrow {
    font-size: 1.1vw;
  }
  .p-pickup_slider .swiper-arrow {
    bottom: calc(100% + 5.67vw);
    font-size: 3.67vw;
  }
}

@media screen and (max-width: 800px) {
  .p-pickup {
    padding: 15vw 0;
  }
  .p-pickup_grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-pickup_grid .img {
    aspect-ratio: 16/9 !important;
  }
  .p-pickup_grid .cat {
    font-size: 2.34vw;
  }
  .p-pickup_grid .name {
    font-size: 8.34vw;
  }
  .p-pickup_grid .arrow {
    font-size: 2.5vw;
  }
  .p-pickup_slider .swiper-arrow {
    font-size: 8vw;
  }
}

.p-series {
  padding: 120px 0;
}

.p-series_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 60px;
  border-top: 1px solid var(--mainColor);
}

.p-series_list > li {
  width: calc(calc(100% - 60px) / 2);
  border-bottom: 1px solid #ccc;
}

.p-series_list > li > * {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  display: block;
  padding: 1.25em 1.5em;
  position: relative;
}

.p-series_list > li > *:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 1em;
  aspect-ratio: 1 / 0.375;
  background: currentColor;
  -webkit-mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
          mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
  -webkit-transition: inherit;
  transition: inherit;
}

.p-series_list > li > a {
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(33.33%, transparent), color-stop(66.66%, var(--mainColor)), to(var(--mainColor))) no-repeat left top/300% 100%;
  background: linear-gradient(90deg, transparent, transparent 33.33%, var(--mainColor) 66.66%, var(--mainColor)) no-repeat left top/300% 100%;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.p-series_list > li > a:hover {
  color: #fff;
  background-position: left 100% top;
}

.p-series_list > li > a:hover:after {
  right: 1em;
}

.p-series_list > li .en {
  font-size: 65%;
  font-weight: normal;
  display: block;
}

@media screen and (max-width: 1380px) {
  .p-series {
    padding: 8.83vw 0;
  }
  .p-series_list {
    gap: 0 4.4vw;
  }
  .p-series_list > li {
    width: calc(calc(100% - 4.4vw) / 2);
  }
  .p-series_list > li > * {
    font-size: 1.47vw;
  }
}

@media screen and (max-width: 800px) {
  .p-series {
    padding: 15vw 0;
  }
  .p-series_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-series_list > li {
    width: 100%;
  }
  .p-series_list > li > * {
    font-size: 3.34vw;
  }
}

.p-news {
  padding: 120px 0;
  color: #fff;
  background: var(--mainColor);
}

.p-news .l-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}

.p-news .c-head {
  width: calc(44.12% - 20px);
}

.p-news .c-body {
  width: 55.88%;
}

.p-news_list {
  border-top: 1px solid #5a5a5a;
}

.p-news_list > li {
  font-weight: bold;
  border-bottom: 1px solid #5a5a5a;
}

.p-news_list > li > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3em;
  padding: 3.5em 3.5em 3.5em 0;
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(33.33%, transparent), color-stop(66.66%, #fff), to(#fff)) no-repeat left top/300% 100%;
  background: linear-gradient(90deg, transparent, transparent 33.33%, #fff 66.66%, #fff) no-repeat left top/300% 100%;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.p-news_list > li > a:after {
  content: '';
  position: absolute;
  top: 0;
  right: 1.25em;
  bottom: 0;
  margin: auto;
  width: 1.357em;
  aspect-ratio: 1 / 0.375;
  background: currentColor;
  -webkit-mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
          mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
  -webkit-transition: inherit;
  transition: inherit;
}

.p-news_list > li > a:hover {
  color: var(--mainColor);
  background-position: left 50% top;
}

.p-news_list > li > a:hover:after {
  right: 2em;
}

.p-news_list .date {
  color: #8c8c8c;
}

.p-news_list .title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

@media screen and (max-width: 1380px) {
  .p-news {
    padding: 8.83vw 0;
  }
  .p-news .l-container {
    gap: 1.47vw;
  }
  .p-news .c-head {
    width: calc(44.12% - 1.47vw);
  }
}

@media screen and (max-width: 800px) {
  .p-news {
    padding: 15vw 0;
  }
  .p-news .l-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5vw;
  }
  .p-news .c-head {
    position: relative;
    width: 100%;
  }
  .p-news .c-head .c-btn {
    position: absolute;
    right: 0;
    bottom: 1em;
  }
  .p-news .c-head .c-btn > a {
    width: 9.54em;
  }
  .p-news .c-body {
    width: 100%;
  }
  .p-news_list > li > a {
    gap: 3em;
    padding: 1.5em 3.5em 1.5em 0;
  }
}

.p-concept {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-concept .c-head {
  width: 50%;
  aspect-ratio: 1 / 0.9427;
  overflow: hidden;
  position: relative;
}

.p-concept .c-head img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-concept .c-body {
  width: 50%;
  background: #f0f0f0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-concept .c-body .inner {
  padding: 4% 8%;
}

.p-concept .c-body h2 {
  font-size: 10.6rem;
  font-weight: bold;
  line-height: 0.8;
  letter-spacing: -0.05em;
  margin-top: 0.2em;
}

.p-concept .c-body .txt {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.1em;
  margin-top: 3em;
}

.p-concept .c-body .txt > * + * {
  margin-top: 2em;
}

@media screen and (max-width: 1380px) {
  .p-concept .c-body h2 {
    font-size: 7.8vw;
  }
  .p-concept .c-body .txt {
    font-size: 1.1vw;
  }
}

@media screen and (max-width: 800px) {
  .p-concept {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-concept .c-head {
    width: 100%;
  }
  .p-concept .c-body {
    width: 100%;
  }
  .p-concept .c-body .inner {
    padding: 15vw 8%;
  }
  .p-concept .c-body .txt {
    font-size: 2.8vw;
  }
}

/* modal */
.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  opacity: 0;
  pointer-events: none;
  z-index: 502;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.c-modalTrigger {
  cursor: pointer;
}

.c-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.c-modal_close {
  position: absolute;
  top: -3em;
  right: 0;
  width: 2.5em;
  height: 2.5em;
  cursor: pointer;
  z-index: 503;
}

.c-modal_close:before, .c-modal_close:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 0.15em;
  background: #fff;
}

.c-modal_close:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.c-modal_close:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

#is-cover {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.9);
  z-index: 101;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/* Animation */
.js-scroll.fadeInUp {
  opacity: 0;
  -webkit-transition: 0.6s ease 0.3s;
  transition: 0.6s ease 0.3s;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
}

.js-scroll.fadeInLeft {
  opacity: 0;
  -webkit-transition: 0.6s ease 0.3s;
  transition: 0.6s ease 0.3s;
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
}

.js-scroll.fadeInRight {
  opacity: 0;
  -webkit-transition: 0.6s ease 0.3s;
  transition: 0.6s ease 0.3s;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
}

.js-scroll.fadeInZoom {
  opacity: 0;
  -webkit-transition: 0.6s ease 0.3s;
  transition: 0.6s ease 0.3s;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}

.js-scroll.fadeInPop {
  -webkit-transition: 0.4s cubic-bezier(0.2, 0, 0.2, 1.6) 0.3s;
  transition: 0.4s cubic-bezier(0.2, 0, 0.2, 1.6) 0.3s;
  opacity: 0;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
}

.js-scroll.fadeInMask {
  -webkit-transition: 1.5s ease 0.3s;
  transition: 1.5s ease 0.3s;
  -webkit-mask-image: linear-gradient(-45deg, transparent 45%, #000 55%);
          mask-image: linear-gradient(-45deg, transparent 45%, #000 55%);
  -webkit-mask-size: 300% 300%;
          mask-size: 300% 300%;
  -webkit-mask-position: 100% 100%;
          mask-position: 100% 100%;
}

.js-scroll.is-scroll.fadeInUp, .js-scroll.is-scroll.fadeInLeft, .js-scroll.is-scroll.fadeInRight, .js-scroll.is-scroll.fadeInZoom, .js-scroll.is-scroll.fadeInPop {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

.js-scroll.is-scroll.fadeInMask {
  -webkit-mask-position: 0 0;
          mask-position: 0 0;
}

:root {
  --pageColor: var(--mainColor);
}

.u-pageColor {
  color: var(--pageColor);
}

.c-breadcrumbs {
  padding-top: 1.75em;
  padding-bottom: 1.75em;
}

.c-breadcrumbs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 1.2rem;
  gap: 0.5em 2em;
}

.c-breadcrumbs ul > li + li {
  position: relative;
}

.c-breadcrumbs ul > li + li:before {
  content: '/';
  position: absolute;
  top: 0.2em;
  left: -1.5em;
  font-size: 0.75em;
}

.c-pageTitle {
  padding: 4em 0 3.5em;
  border-bottom: 1px solid #ccc;
}

.c-pageTitle h1 {
  font-size: 10.6rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: -0.05em;
  margin-top: 0.125em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.1em 0.5em;
}

.c-pageTitle h1 .sub {
  font-size: 1.6rem;
  letter-spacing: 0.15em;
  margin-bottom: 0.75em;
}

.c-pageTitle.js-scroll {
  -webkit-transition: 1s cubic-bezier(0.33, 0, 0.33, 1) 0.3s;
  transition: 1s cubic-bezier(0.33, 0, 0.33, 1) 0.3s;
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
}

.c-pageTitle.is-scroll {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

@media screen and (max-width: 1380px) {
  .c-pageTitle h1 {
    font-size: 7.8vw;
  }
  .c-pageTitle h1 .sub {
    font-size: 1.18vw;
  }
}

@media screen and (max-width: 800px) {
  .c-pageTitle h1 {
    font-size: 10.6vw;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .c-pageTitle h1 .sub {
    font-size: 2.67vw;
    line-height: 1.3;
  }
}

.c-layoutIntro {
  padding: 120px 0;
}

.c-layoutIntro .l-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}

.c-layoutIntro .c-head {
  width: 50%;
}

.c-layoutIntro .c-head h2 {
  font-size: 10.6rem;
  font-weight: bold;
  line-height: 0.8;
  letter-spacing: -0.05em;
  margin-top: 0.2em;
}

.c-layoutIntro .c-body {
  width: calc(50% - 20px);
}

.c-layoutIntro .c-body p {
  font-size: 1.5rem;
  line-height: 2.1;
  letter-spacing: 0.1em;
}

.c-layoutIntro .txt1 {
  font-size: 3.4rem;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: var(--pageColor);
}

@media screen and (max-width: 1380px) {
  .c-layoutIntro {
    padding: 8.8vw 0;
  }
  .c-layoutIntro .l-container {
    gap: 1.47vw;
  }
  .c-layoutIntro .c-head h2 {
    font-size: 7.8vw;
  }
  .c-layoutIntro .c-body {
    width: calc(50% - 1.47vw);
  }
  .c-layoutIntro .c-body p {
    font-size: 1.1vw;
  }
  .c-layoutIntro .txt1 {
    font-size: 2.5vw;
  }
}

@media screen and (max-width: 800px) {
  .c-layoutIntro {
    padding: 17vw 0;
  }
  .c-layoutIntro .l-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6vw;
  }
  .c-layoutIntro .c-head {
    width: 100% !important;
  }
  .c-layoutIntro .c-head h2 {
    font-size: 17vw;
  }
  .c-layoutIntro .c-body {
    width: 100% !important;
  }
  .c-layoutIntro .c-body p {
    font-size: 2.5vw;
  }
  .c-layoutIntro .txt1 {
    font-size: 5vw;
  }
}

.c-contentFooter {
  padding: 120px 0;
  border-top: 1px solid #ccc;
}

.c-contentFooter .c-btn a {
  max-width: 39.714em;
}

@media screen and (max-width: 1380px) {
  .c-contentFooter {
    padding: 8.8vw 0;
  }
}

.p-recruit01 {
  padding: 85px 0 180px;
}

.p-recruit01 .l-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}

.p-recruit01 .c-head {
  width: 48%;
}

.p-recruit01 .c-head h2 .main {
  font-size: 10.6rem;
  font-weight: bold;
  line-height: 0.8;
  letter-spacing: -0.05em;
  margin-top: 0.2em;
  display: block;
}

.p-recruit01 .c-head h2 .sub {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.067em;
  color: #717171;
  display: block;
}

.p-recruit01 .c-body {
  width: calc(52% - 20px);
  margin-top: 2em;
  letter-spacing: 0.125em;
}

.p-recruit01 .c-body h3 {
  font-size: 2.4rem;
  font-weight: bold;
}

.p-recruit01 .c-body p {
  font-size: 1.5rem;
  line-height: 2;
}

@media screen and (max-width: 1380px) {
  .p-recruit01 {
    padding: 6.25vw 0 13.24vw;
  }
  .p-recruit01 .l-container {
    gap: 1.47vw;
  }
  .p-recruit01 .c-head h2 .main {
    font-size: 7.8vw;
  }
  .p-recruit01 .c-head h2 .sub {
    font-size: 1.03vw;
  }
  .p-recruit01 .c-body {
    width: calc(52% - 1.4vw);
  }
  .p-recruit01 .c-body h3 {
    font-size: 1.75vw;
  }
  .p-recruit01 .c-body p {
    font-size: 1.1vw;
  }
}

@media screen and (max-width: 800px) {
  .p-recruit01 .l-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-recruit01 .c-head {
    width: 100%;
  }
  .p-recruit01 .c-head h2 .main {
    font-size: 10.6vw;
  }
  .p-recruit01 .c-head h2 .sub {
    font-size: 2.34vw;
  }
  .p-recruit01 .c-body {
    width: 100%;
  }
  .p-recruit01 .c-body h3 {
    font-size: 4vw;
  }
  .p-recruit01 .c-body p {
    font-size: 2.5vw;
  }
}

.p-recruit02 {
  padding: 60px 0 120px;
}

@media screen and (max-width: 1380px) {
  .p-recruit02 {
    padding: 4.4vw 0 8.8vw;
  }
}

@media screen and (max-width: 800px) {
  .p-recruit02 {
    padding: 10vw 0 20vw;
  }
}

.c-archive {
  padding-top: 60px;
  padding-bottom: 120px;
}

@media screen and (max-width: 1380px) {
  .c-archive {
    padding-top: 4.4vw;
    padding-bottom: 8.8vw;
  }
}

.p-items .c-head {
  padding: 1.5em 0;
  position: relative;
}

.p-items .c-head .count {
  font-weight: bold;
}

.p-items .c-head .c-pager {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.p-items .c-body {
  border-top: 1px solid #ccc;
  padding-top: 20px;
}

.p-items h2 {
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.3;
}

@media screen and (max-width: 1380px) {
  .p-items .c-body {
    padding-top: 1.47vw;
  }
  .p-items h2 {
    font-size: 3vw;
  }
}

.p-singleItem_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
  padding: 60px 0 50px;
}

.p-singleItem_img {
  width: 54.5%;
}

.p-singleItem_detail {
  width: calc(45.5% - 60px);
}

.p-singleItem_detail > * + * {
  margin-top: 0.5em;
}

.p-singleItem_detail .category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6em;
  font-size: 1.3rem;
}

.p-singleItem_detail .category > li {
  background: #e7e7e7;
  padding: 0.15em 0.3em;
}

.p-singleItem_detail .name {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.3;
}

.p-singleItem_detail .price {
  font-size: 3rem;
  font-weight: bold;
  margin-top: 1em;
}

.p-singleItem_detail .price .tax {
  font-size: 50%;
  font-weight: 500;
}

.p-singleItem_detail .button > a {
  text-align: center;
  color: #fff;
  background: #888;
  padding: 0.5em 1em;
  display: block;
}

.p-singleItem_detail .c-notes {
  color: #717171;
}

.p-singleItem_detail .c-details {
  padding: 2em 0;
  border-top: 1px solid var(--mainColor);
}

.p-singleItem_detail .c-details:last-child {
  border-bottom: 1px solid var(--mainColor);
}

@media screen and (max-width: 1380px) {
  .p-singleItem_inner {
    gap: 4.4vw;
    padding: 4.4vw 0 3.68vw;
  }
  .p-singleItem_detail {
    width: calc(45.5% - 4.4vw);
  }
  .p-singleItem_detail .category {
    font-size: 1vw;
  }
  .p-singleItem_detail .name {
    font-size: 2.65vw;
  }
  .p-singleItem_detail .price {
    font-size: 2.2vw;
  }
}

@media screen and (max-width: 800px) {
  .p-singleItem_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-singleItem_img {
    width: 100%;
  }
  .p-singleItem_detail {
    width: 100%;
  }
  .p-singleItem_detail .category {
    font-size: 2.17vw;
  }
  .p-singleItem_detail .name {
    font-size: 6vw;
  }
  .p-singleItem_detail .price {
    font-size: 5vw;
  }
}

.p-singleContent h2 {
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: -0.04em;
}

.p-singleContent > * {
  padding: 50px 0;
}

.p-singleContent > *:last-child {
  padding-bottom: 120px;
}

@media screen and (max-width: 1380px) {
  .p-singleContent h2 {
    font-size: 3.68vw;
  }
  .p-singleContent > * {
    padding: 3.68vw 0;
  }
  .p-singleContent > *:last-child {
    padding-bottom: 8.83vw;
  }
}

@media screen and (max-width: 800px) {
  .p-singleContent h2 {
    font-size: 6.25vw;
  }
}

.c-pager {
  font-size: 1.2rem;
  line-height: 1;
}

.c-pager > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
}

.c-pager > ul .page-numbers {
  width: 2.84em;
  height: 2.84em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #ccc;
  vertical-align: middle;
}

.c-pager > ul .page-numbers.prev {
  width: 8.34em;
  padding-left: 3.5em;
  position: relative;
}

.c-pager > ul .page-numbers.prev:after {
  content: '';
  position: absolute;
  top: 0;
  left: 1em;
  bottom: 0;
  margin: auto;
  width: 1.42em;
  aspect-ratio: 1 / 0.375;
  background: currentColor;
  -webkit-mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
          mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.c-pager > ul .page-numbers.next {
  width: 8.34em;
  padding-right: 3.5em;
  position: relative;
}

.c-pager > ul .page-numbers.next:after {
  content: '';
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  margin: auto;
  width: 1.42em;
  aspect-ratio: 1 / 0.375;
  background: currentColor;
  -webkit-mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
          mask: url(../img/icons/arrow001.svg) no-repeat center/contain;
}

.c-pager > ul .page-numbers.current {
  color: #fff;
  background: var(--mainColor);
  border-color: var(--mainColor);
}

.c-pager > ul a {
  -webkit-transition: 0.15s;
  transition: 0.15s;
}

.c-pager > ul a:hover {
  color: #fff;
  background: var(--mainColor);
  border-color: var(--mainColor);
}

@media screen and (max-width: 1380px) {
  .c-pager {
    font-size: 1vw;
  }
}

.c-catList .title {
  font-size: 1.5rem;
  font-weight: bold;
  padding: 1.25em 0;
}

.c-catList details {
  border-top: 1px solid #ccc;
  padding: 2em 0;
}

.c-catList details:last-child {
  border-bottom: 1px solid #ccc;
}

.c-catList details > summary {
  font-size: 1.4rem;
  font-weight: bold;
}

.c-catList .child {
  font-size: 1.4rem;
  margin-top: 1.25em;
  padding-left: 0.5em;
}

.c-catList .child > li + li {
  margin-top: 1.4em;
}

@media screen and (max-width: 1380px) {
  .c-catList .title {
    font-size: 1.1vw;
  }
  .c-catList details > summary {
    font-size: 1.03vw;
  }
  .c-catList .child {
    font-size: 1.03vw;
  }
}

@supports (interpolate-size: allow-keywords) {
  :root {
    interpolate-size: allow-keywords;
  }
  .c-catList details[open]::details-content {
    height: auto;
  }
}
