@charset "utf-8";

/**
 * @file
 * メインCSSファイル
 */

/* global */
* {
  scroll-margin-top: var(--size-80);
}

@media (max-width: 768px) {
  * {
    scroll-margin-top: var(--size-40);
  }
}

html {
  position: relative;
  scroll-behavior: smooth;
  overflow-x: hidden;
  overflow-y: scroll;
}
.is-overflow-hidden {
  overflow: hidden;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  background: url(../img/common/bg.webp) repeat;
  background-size: 100%;
}
section {
  overflow: hidden;
}
img {
  height: auto;
}

/* component */
.c-skip-link {
  position: absolute;
  top: -200px;
  left: 0;
  background: #FFF;
  color: #000;
  padding: 8px;
  z-index: 100;
  transition: top 0.3s ease-in-out;
}
.c-skip-link:focus {
  top: 10px;
  z-index: 302;
}
.c-bold {
  font-weight: 700;
}
.c-button {
  display: block;
  width: fit-content;
  padding: var(--size-4) var(--size-16);
  font-size: var(--size-14);
  line-height: 1.4;
  font-weight: 500;
  transition: opacity 0.3s ease;
  background: #E81425;
  color: #fff;
}
.c-button:hover {
  opacity: 0.5;
}
.c-button-round {
  display: block;
  width: fit-content;
  min-width: var(--size-300);
  padding: var(--size-10);
  margin: 0 auto;
  text-align: center;
  background: #E81425;
  color: #fff;
  border-radius: 100vmax;
  transition: opacity 0.3s ease;
  font-size: var(--size-20);
  font-weight: 500;
  line-height: 1.4;
}
.c-button-round:hover {
  opacity: 0.5;
}
.c-only-pc {
  display: block;
}
.c-only-sp {
  display: none;
}

@media (max-width: 768px) {
  .c-only-pc {
    display: none;
  }
  .c-only-sp {
    display: block;
  }
  .c-button-round {
    font-size: var(--size-16);
  }
}
.c-outer {
  padding: 0 var(--size-50);
}
.c-inner {
  width: 100%;
  max-width: calc(var(--size-1600) + var(--size-50) * 2);
  margin: 0 auto;
  padding: 0 var(--size-50);
}
.c-inner-narrow {
  width: 100%;
  max-width: var(--size-1380);
  margin: 0 auto;
}
.c-inner-left {
  margin-left: max(0px, calc((100vw - var(--size-1600)) / 2 - var(--size-50)));
  padding-left: var(--size-50);
  max-width: 100%;
}
.c-inner-right {
  margin-right: max(0px, calc((100vw - var(--size-1600)) / 2 - var(--size-50)));
  padding-right: var(--size-50);
  max-width: 100%;
}
.c-indent {
  margin-left: var(--size-110);
}

@media (max-width: 1240px) {
  .c-inner-left {
    padding-left: var(--size-80);
  }
  .c-inner-right {
    padding-right: var(--size-80);
  }
  .c-indent {
    margin-left: 0;
  }
}

@media (max-width: 768px) {
  .c-outer {
    padding: 0 var(--size-20);
  }
  .c-inner {
    padding: 0 var(--size-10);
  }
  .c-inner-left {
    padding-left: var(--size-20);
  }
  .c-inner-right {
    padding-right: var(--size-20);
  }
  .l-hamburger-menu .c-inner {
    padding: 0;
  }
}

/* swiper */
.c-swiper-pagination {
  display: flex;
  justify-content: center;
  gap: var(--size-10);
  align-items: center;
}
.c-swiper-pagination .swiper-pagination-bullet {
  width: var(--size-50);
  height: var(--size-8);
  margin: 0!important;
  background: #E2E2E2;
  border-radius: 0;
  opacity: 1;
}
.c-swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #A2A2A2;
}
.c-swiper-controls {
  display: flex;
  align-items: center;
  gap: var(--size-28);
  max-width: var(--size-450);
}
.c-swiper-control__pagination:has(:nth-child(2)) {
  display: flex;
  flex: 1;
  border: solid 1px #D1D1D1;
  border-radius: 100vmax;
  background: #fff;
}
.c-swiper-controls .c-swiper-control__pagination .swiper-pagination-bullet {
  width: var(--size-50);
  height: var(--size-8);
  margin: 0;
  background: #fff;
  border-radius: 0;
  flex: 1;
}
.c-swiper-control__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #BABABA;
  border-radius: 100vmax;
}
.c-swiper-control__navigation {
  display: flex;
  gap: var(--size-24);
}
.c-swiper-control__prev,
.c-swiper-control__next {
  position: unset;
  width: var(--size-51);
  height: var(--size-51);
  margin-top: 0;
  cursor: pointer;
}
.c-swiper-control__prev[aria-disabled="true"],
.c-swiper-control__next[aria-disabled="true"] {
  opacity: 0.5;
  pointer-events: none;
}
.c-swiper-control__prev::after,
.c-swiper-control__next::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/common/icon-slide-arrow-wh.png) no-repeat center center / contain;
}
.c-swiper-control__next::after {
  transform: scale(-1, 1);
}

@media (max-width: 768px) {
  .c-swiper-control__prev,
  .c-swiper-control__next {
    width: var(--size-40);
    height: var(--size-40);
  }
  .c-swiper-control__navigation {
    gap: var(--size-18);
  }
  .c-swiper-controls {
    gap: var(--size-21);
  }
  .c-swiper-controls .c-swiper-control__pagination .swiper-pagination-bullet {
    height: var(--size-3);
  }
}

/* シャドウ */
.c-shadow-15 {
  box-shadow: 0 0 15px 0 rgba(134, 134, 134, 0.16);
}
.c-shadow-5 {
  box-shadow: 0 0 5px 0 rgba(134, 134, 134, 0.16);
}

/* グレー背景 */
.c-bg-gray {
  background: rgba(217, 217, 217, 0.33);
}

/* タイトル */
.c-page-title__group-wrapper {
  display: flex;
  width: 100%;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--size-20);
}
.c-page-title__text-en {
  font-size: var(--size-18);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #E81425;
}
.c-page-title__text {
  font-size: var(--size-36);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

@media (max-width: 768px) {
  .c-page-title__text-en {
    font-size: var(--size-12);
  }
  .c-page-title__text {
    font-size: var(--size-24);
  }
}

/* サイドバー */
.c-has-sidebar {
  display: flex;
  gap: var(--size-20);
  padding: 0 0 var(--size-100);
}
.c-has-sidebar__aside {
  width: var(--size-330);
  height: fit-content;
}
.c-has-sidebar__aside:has(.c-sidebar__anchor) {
  position: sticky;
  top: var(--size-120);
}
.c-has-sidebar__main {
  flex: 1;
}
.c-sidebar__text {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.5;
  flex: 1;
}
.c-sidebar__text-title {
  display: block;
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-sidebar__date {
  display: block;
  margin-bottom: var(--size-10);
  font-size: var(--size-14);
  font-weight: 500;
  line-height: 1.4;
  color: #E81425;
}
.c-sidebar__text-sub {
  display: block;
  font-size: var(--size-12);
  font-weight: 500;
  line-height: 1.4;
}
.c-sidebar__button {
  display: flex;
  width: 100%;
  padding: var(--size-8);
  align-items: center;
  justify-content: center;
  gap: var(--size-8);
  font-size: var(--size-14);
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
  border-radius: 100vmax;
  background: #E60314;
  text-align: center;
}
.c-sidebar__button-icon {
  display: block;
  width: var(--size-10);
  height: var(--size-6);
  transition: transform 0.3s;
  margin-top: var(--size-2);
}
.c-sidebar__button.is-active .c-sidebar__button-icon {
  transform: scaleY(-1);
}
.c-sidebar__anchor {
  display: flex;
  flex-direction: column;
  gap: var(--size-25);
}
.c-sidebar__anchor-link {
  display: block;
  padding: var(--size-10);
  font-size: var(--size-20);
  font-weight: 500;
  line-height: 1.4;
  background: #F2F2F2;
  transition: background 0.3s ease, color 0.3s ease;
  text-align: center;
}
.c-sidebar__anchor-link:hover {
  background: #E81425;
  color: #fff;
}
.c-sidebar__anchor-link.is-active {
  background: #E81425;
  color: #fff;
}

@media (max-width: 768px) {
  .c-has-sidebar {
    flex-direction: column;
    padding-bottom: var(--size-70);
  }
  .c-has-sidebar__aside {
    width: 100%;
  }
  .c-sidebar__accodion {
    display: flex;
    flex-direction: column-reverse;
  }
  .c-sidebar__group.js-accordion .c-sidebar__title {
    margin-bottom: var(--size-10);
  }
  .c-sidebar__anchor-link {
    font-size: var(--size-10);
    padding: var(--size-7);
  }
}


/* チェックボックス */
.c-radio,
.c-check {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.c-radio__icon,
.c-check__icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--size-17);
  height: var(--size-17);
  margin-right: var(--size-10);
  top: var(--size-5);
}
.c-radio__icon img,
.c-check__icon img {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--size-17);
  height: var(--size-17);
  transition: opacity 0.3s ease;
}
.c-radio__icon-checked,
.c-check__icon-check {
  opacity: 0;
}
.c-check__icon .c-check__icon-check {
  left: 4px;
  top: calc(50% - 1px);
  transform: translateY(-50%);
}
.c-radio:checked ~ .c-radio__icon .c-radio__icon-checked {
  opacity: 1;
}
.c-radio:checked ~ .c-radio__icon .c-radio__icon-default {
  opacity: 0;
}
.c-check:checked ~ .c-check__icon .c-check__icon-check {
  opacity: 1;
}
.c-check:checked ~ .c-check__icon .c-check__icon-default {
  /* opacity: 0; */
}
.c-sidebar__link {
  transition: opacity 0.3s ease;
}
.c-sidebar__link:hover {
  opacity: 0.5;
}

/* サイドバー */
.c-sidebar__inner {
  padding: var(--size-40) var(--size-20);
  background: #fff;
}
.c-sidebar__group {
  margin-bottom: var(--size-40);
}
.u-column2 .c-sidebar__list {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--size-20);
  row-gap: 0;
}
.u-column2 .c-sidebar__item {
  width: calc(50% - var(--size-20) / 2);
}
.c-sidebar__link {
  position: relative;
  display: flex;
  padding: var(--size-8) 0;
  cursor: pointer;
}
.c-sidebar__link:has(.c-radio) {
  align-items: flex-start;
}
.c-sidebar__title {
  margin-bottom: var(--size-30);
  font-size: var(--size-18);
  font-weight: 500;
  line-height: 1.4;
}
.c-sidebar__title.u-has-border {
  padding-bottom: var(--size-26);
  margin-bottom: var(--size-20);
  border-bottom: solid 1px #707070;
}
.c-sidebar__item.u-category {
  display: flex;
  align-items: center;
}
.c-sidebar__item.u-category:before {
  content: "";
  display: inline-block;
  margin-top: var(--size-2);
  width: var(--size-16);
  height: var(--size-16);
  border: solid 1px #E81425;
  margin-right: var(--size-10);
  transition: box-shadow 0.3s ease;
}
.c-sidebar__item.u-category.is-current:before {
  background: #E81425;
}
.c-sidebar__item.u-category:hover:before {
  box-shadow: inset 0 0 0 1px #E81425;
}
.c-sidebar__item.u-genre {
  display: block;
  cursor: pointer;
  transition: opacity 0.3s ease;
  margin-bottom: var(--size-28);
  padding-bottom: var(--size-28);
  border-bottom: solid 1px rgba(112, 112, 112, 0.14);
}
.c-sidebar__item.u-genre:last-child {
  margin-bottom: 0;
}
.c-sidebar__item.u-genre:hover {
  opacity: 0.5;
}
.u-genre .c-sidebar__link:hover {
  opacity: 1;
}
.c-sidebar__sub {
  display: flex;
  margin-top: var(--size-20);
  gap: var(--size-7);
}
.c-sidebar__sub-image img {
  width: var(--size-128);
  height: var(--size-128);
}
.c-sidebar__sub-image-text {
  font-size: var(--size-12);
  font-weight: 500;
  line-height: 1.4;
  margin-top: var(--size-5);
  color: #E81425;
}
.c-sidebar__sub-text {
  flex: 1;
  font-size: var(--size-12);
  font-weight: 500;
  line-height: 1.4;
}

@media (max-width: 768px) {
  .u-genre .c-sidebar__sub {
    display: none;
    padding: var(--size-10) var(--size-12);
    border: solid 1px #E81425;
    width: calc(100% + var(--size-20));
    margin-left: calc(var(--size-10) * -1);
  }
  .u-genre.c-sidebar__item {
    position: relative;
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: var(--size-20);
  }
  .u-genre .c-sidebar__more {
    position: absolute;
    top: var(--size-35);
    right: 0;
    color: #E81425;
    font-size: var(--size-12);
    font-weight: 500;
    line-height: 1.4;
  }
  .u-genre .c-sidebar__more-text {
    position: relative;
    display: block;
    padding-right: var(--size-12);
  }
  .u-genre .c-sidebar__more-text:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: var(--size-8);
    height: var(--size-1);
    background: #E81425;
  }
  .u-genre .c-sidebar__more-text:before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: var(--size-8);
    height: var(--size-1);
    background: #E81425;
    transform: rotate(90deg);
    transition: transform 0.3s ease;
  }
  .is-active .c-sidebar__more-text:before {
    transform: rotate(0deg);
  }
  .c-sidebar__inner {
    padding: var(--size-20) var(--size-10);
  }
  .c-sidebar__anchor {
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--size-10);
  }
  .c-sidebar__anchor-item {
    width: calc(50% - var(--size-10) / 2);
  }
}
@media (min-width: 769px) {
  .u-genre .c-sidebar__sub {
    display: flex!important;
  }
}


/* 店舗 */
.c-sidebar__term-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--size-31);
  height: var(--size-31);
  margin-right: var(--size-8);
}
.c-sidebar__term-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-store__list {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  padding: var(--size-20);
  background: #fff;
}
.c-store__list.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.c-store__item {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.c-store__list.is-visible .c-store__item {
  opacity: 1;
  transform: translateY(0);
}
.p-category-related .c-store__item {
  width: 100%;
  opacity: 1;
  transform: translateY(0);
}
.c-store-result-count {
  display: inline-block;
}
.c-store__facility-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-9);
}
.c-store__facility-item {
  width: var(--size-19);
}
.c-store__facility-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-store__list {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--size-20);
  row-gap: var(--size-60);
}
.c-store__item {
  width: calc(33.33% - var(--size-20) * 2 / 3);
}
.c-store__image-wrapper {
  height: auto;
  overflow: hidden;
  aspect-ratio: 390 / 307;
  position: relative;
}
.genre-recommend .c-store__image-wrapper:after {
  content: "";
  position: absolute;
  bottom: var(--size-15);
  right: var(--size-15);
  width: var(--size-88);
  height: var(--size-88);
  background: url(../img/confidence/icon-recommend.webp) no-repeat center center / contain;
}
.genre-original .c-store__image-wrapper:after {
  content: "";
  position: absolute;
  bottom: var(--size-15);
  right: var(--size-15);
  width: var(--size-88);
  height: var(--size-88);
  background: url(../img/confidence/icon-original.webp) no-repeat center center / contain;
}
.u-confidence .c-store__image-wrapper {
  border: solid 1px #EAEAEA;
}
.c-store__image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-store__content {
  margin: var(--size-12) 0 var(--size-14);
}
.c-store__title {
  font-size: var(--size-18);
  font-weight: 500;
}
.c-store__info-label {
  width: fit-content;
  min-width: var(--size-56);
  padding: var(--size-3);
  text-align: center;
  background: #E81425;
  color: #fff;
}
.c-store__info-wrapper {
  display: flex;
  flex-wrap: wrap;
  padding: var(--size-10) 0;
  column-gap: var(--size-5);
  row-gap: var(--size-8);
}
.c-store__info {
  display: flex;
  align-items: center;
  gap: var(--size-5);
  font-size: var(--size-12);
  font-weight: 500;
}
.c-store__available-items {
  font-size: var(--size-12);
  font-weight: 500;
  line-height: 1.4;
}
.c-store__link {
  transition: opacity 0.3s ease;
}
.c-store__link:hover {
  opacity: 0.7;
}

@media (max-width: 1140px) {
  .c-store__item {
    width: calc(50% - var(--size-20) / 2);
  }
}

@media (max-width: 950px) {
  .c-store__list {
    padding: var(--size-15) var(--size-10);
    column-gap: var(--size-10);
    row-gap: var(--size-20);
  }
  .c-store__item {
    width: calc(50% - var(--size-10) / 2);
  }
  .c-store__info-wrapper,
  .c-store__available-items,
  .c-store__facility-list {
    display: none;
  }
  .c-store__title {
    font-size: var(--size-14);
  }
  .c-store__content {
    margin: var(--size-12) 0 0;
  }
  .genre-recommend .c-store__image-wrapper:after,
  .genre-original .c-store__image-wrapper:after {
    bottom: var(--size-7);
    right: var(--size-7);
    width: var(--size-37);
    height: var(--size-37);
  }
}


/* メインコンテンツ */
.l-main {
  min-height: 100vh;
}

/* instagram インスタグラム */
.l-instagram-swiper {
  padding-left: var(--size-7);
}
.l-instagram-gallery {
  width: 100%;
  padding: var(--size-100) 0 var(--size-100);
}
.l-instagram-gallery {
  display: flex;
  flex-direction: column;
  gap: var(--size-20);
}
.l-instagram-filter {
  width: 100%;
}
.l-instagram-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-10);
  list-style: none;
  padding: 0;
  margin: 0;
}
.l-modal-content {
  display: flex;
  margin: auto;
  color: #fff;
  max-width: var(--size-935);
  max-height: var(--size-828);
  /* height: 70vh; */
  height: 85vh;
  width: 90vw;
  position: relative;
  background: #000;
  border-radius: var(--size-20);
  overflow: hidden;
}
.l-modal-media-date {
  position: relative;
  width: 50%;
  padding: var(--size-15);
}
.l-modal-details {
  width: 50%;
  padding: var(--size-20);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

/* Component */
.c-video-thumb,
.c-image-thumb {
  aspect-ratio: 362 / 627;
  object-fit: cover;
}
.c-instagram-tag-btn {
  display: block;
  padding: var(--size-3) var(--size-10);
  border-radius: 100vmax;
  background: #fff;
  cursor: pointer;
  transition: box-shadow 0.3s ease;
  font-size: var(--size-14);
  line-height: 1.4;
}
.c-instagram-tag-btn:hover {
  box-shadow: inset 0 0 0 1px #E81425;
}
.c-instagram-tag-btn.is-active {
  background: #E81425;
  color: #fff;
}
.c-instagram-item {
  position: relative;
  cursor: pointer;
  width: var(--size-362);
  margin: var(--size-15) 0;
  border-radius: var(--size-25);
  overflow: hidden;
}
.c-instagram-item:last-child {
  margin-right: var(--size-50);
}
.c-item-stats {
  padding: var(--size-15) var(--size-20);
  background: #fff;
  display: flex;
  gap: var(--size-13);
  font-size: var(--size-10);
}
.c-item-stats__like,
.c-item-stats__comments {
  display: inline-flex;
  align-items: center;
  gap: var(--size-8);
}
.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: var(--size-40);
  box-sizing: border-box;
}
.c-modal.is-hidden {
  display: none;
}
.c-modal-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  z-index: 10000;
}
.c-modal-close {
  position: fixed;
  top: var(--size-20);
  right: var(--size-20);
  font-size: var(--size-30);
  color: #fff;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10001;
  width: var(--size-40);
  height: var(--size-40);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.46);
  transition: background-color 0.2s;
  line-height: 1;
}

/* safariとiosだけボタンの位置調整 */
@supports (-webkit-touch-callout: none) {
  .c-modal-close {
    padding-bottom: var(--size-2);
  }
}
.c-modal-close:hover {
  background: rgba(0, 0, 0, 0.8);
}
.c-modal-media {
  width: 100%;
  height: 100%;
  max-height: 100%;
  /* object-fit: cover; */
}
.c-modal-date {
  display: block;
  margin-top: var(--size-5);
  font-size: var(--size-12);
  font-weight: 300;
  color: #fff;
}
.c-modal-caption {
  flex: 1;
  display: flex;
  gap: var(--size-30);
  margin-bottom: var(--size-20);
  white-space: pre-line;
  word-break: break-word;
  max-height: 70vh;
  overflow-y: auto;
  padding-bottom: var(--size-20);
  font-size: var(--size-14);
  line-height: 1.4;
}
.c-modal-caption__logo {
  width: var(--size-42);
  height: var(--size-42);
  border-radius: 50%;
  overflow: hidden;
}
.c-modal-caption__text-name {
  font-weight: 700;
  color: #fff;
}
.c-modal-caption__text {
  flex: 1;
}
.c-modal-stats {
  border-top: var(--size-1) solid #191919;
  margin-bottom: var(--size-28);
  border-bottom: var(--size-1) solid #191919;
  padding-top: var(--size-20);
  padding-bottom: var(--size-20);
}
.c-modal-stats__like,
.c-modal-stats__comments {
  display: inline-flex;
  align-items: center;
  gap: var(--size-5);
}
.c-modal-link {
  display: flex;
  align-items: center;
  gap: var(--size-15);
  font-size: var(--size-14);
  color: #fff;
  text-decoration: none;
  padding: var(--size-14) var(--size-46);
  background: #E81425;
  border-radius: 100vmax;
  text-align: center;
  transition: opacity 0.3s ease;
  width: fit-content;
  margin: 0 auto;
}
.c-modal-link:hover {
  opacity: 0.8;
}
.c-mute-toggle {
  position: absolute;
  bottom: var(--size-20);
  right: var(--size-20);
  width: var(--size-40);
  height: var(--size-40);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.46);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  transition: background-color 0.2s;
}
.c-mute-toggle:hover {
  background: rgba(0, 0, 0, 0.8);
}
.c-mute-toggle__icon {
  width: var(--size-24);
  height: var(--size-24);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--size-20);
}
.c-mute-toggle__icon::before {
  content: "";
  background: url(../img/common/icon-mute.svg) no-repeat center center / contain;
  width: var(--size-24);
  height: var(--size-24);
}
.c-mute-toggle.is-unmuted .c-mute-toggle__icon::before {
  content: "";
  background: url(../img/common/icon-volume.svg) no-repeat center center / contain;
  width: var(--size-24);
  height: var(--size-24);
}
.u-hidden {
  display: none;
}
.p-instagram-gallery__header-text {
  text-align: right;
  font-size: var(--size-16);
  font-weight: 300;
  margin-bottom: var(--size-28);
  margin-right: var(--size-50);
}
.p-instagram-gallery__inner {
  display: flex;
  gap: var(--size-160);
}
.p-instagram-gallery__title {
  width: var(--size-348);
}
.p-instagram-gallery__slider {
  flex: 1;
}
.p-instagram-gallery__controls {
  margin-top: var(--size-50);
  margin-left: auto;
  margin-right: var(--size-50);
}
.p-instagram-gallery__title-text {
  display: flex;
  align-items: center;
  gap: var(--size-16);
  margin-bottom: var(--size-5);
}
.p-instagram-gallery__title-text-span {
  font-size: var(--size-18);
  font-weight: 300;
  line-height: 1.4;
  color: #EB3643;
}
.p-instagram-gallery__title {
  font-size: var(--size-36);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #000;
  margin-bottom: var(--size-45);
}
.p-instagram-gallery__title-tag {
  font-size: var(--size-17);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #000;
  margin-bottom: var(--size-30);
}
.modal-next {
  right: calc(50% - var(--size-935) / 2 - var(--size-50));
}
.modal-next::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/common/modal-slide-arrow.svg) no-repeat center center / contain;
}
.modal-prev {
  left: calc(50% - var(--size-935) / 2 - var(--size-50));
}
.modal-prev::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/common/modal-slide-arrow.svg) no-repeat center center / contain;
  transform: scaleX(-1);
}

@media (max-width: 1240px) {
  .p-instagram-gallery__inner {
    gap: var(--size-80);
  }
}

@media (max-width: 1024px) {
  .p-instagram-gallery__inner {
    flex-direction: column;
    gap: var(--size-20);
  }
  .p-instagram-gallery__title {
    margin-bottom: 0;
    padding-bottom: var(--size-16);
  }
  .p-instagram-gallery__title {
    width: 100%;
  }
  .l-instagram-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: var(--size-8);
    padding-bottom: var(--size-16);
    padding-right: var(--size-20);
  }
  .l-instagram-tags li {
    flex: 0 0 auto;
    min-width: 0;
  }
  .c-instagram-tag-btn {
    display: block;
  }
}

@media (max-width: 768px) {
  .l-instagram-gallery {
    padding: var(--size-30) 0 var(--size-70);
  }
  .l-modal-slide {
    border-radius: var(--size-20);
    overflow: hidden;
  }
  .l-modal-content {
    height: 90vh;
    max-height: 90vh;
    width: 90vw;
    overflow-y: auto;
  }
  .l-modal-media-date {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 380 / 500;
  }
  .l-modal-media-date img,
  .l-modal-media-date video {
    width: fit-content;
    margin: 0 auto;
  }
  .c-modal-caption {
    overflow: visible;
    max-height: 100%;
    gap: var(--size-15);
  }
  .l-modal-content {
    flex-direction: column;
    max-height: 85vh;
  }
  .l-modal-media-date {
    padding: 10px;
  }
  .l-modal-media-date img,
  .l-modal-media-date video {
    max-height: 70vh;
  }
  .l-modal-details {
    min-width: 100%;
    max-width: none;
    padding: var(--size-15);
    overflow-y: visible;
  }
  .c-modal {
    padding: 20px;
  }
  .c-mute-toggle {
    bottom: var(--size-15);
    right: var(--size-15);
    width: var(--size-36);
    height: var(--size-36);
  }
  .c-mute-toggle__icon {
    width: var(--size-24);
    height: var(--size-24);
    font-size: var(--size-16);
  }
  .modal-prev {
    left: 0;
    width: var(--size-24);
  }
  .modal-next {
    right: 0;
    width: var(--size-24);
  }
  .c-modal-close {
    width: var(--size-30);
    height: var(--size-30);
    font-size: var(--size-21);
    top: var(--size-15);
    right: var(--size-15);
  }
  .p-instagram-title-read {
    font-size: var(--size-14);
    line-height: 1.4;
    font-weight: 300;
    margin-bottom: var(--size-15);
    padding-right: var(--size-20);
    letter-spacing: 0;
  }
  .p-instagram-title-copy {
    font-size: var(--size-14);
    font-weight: 500;
    margin-bottom: var(--size-10);
    padding-right: var(--size-20);
    letter-spacing: 0;
  }
  .p-instagram-gallery__controls {
    margin: var(--size-15) var(--size-20) 0 0;
  }
  .p-instagram-gallery__inner {
    gap: 0;
  }
  .p-instagram-gallery__title {
    font-size: var(--size-24);
    padding-bottom: var(--size-10);
  }
  .p-instagram-gallery__title-text img {
    width: var(--size-27);
    height: var(--size-27);
  }
  .p-instagram-gallery__title-text-span {
    font-size: var(--size-14);
  }
  .c-instagram-tag-btn {
    font-size: var(--size-12);
    font-weight: 300;
  }
}

/* HTML: <div class="loader"></div> */
.loader {
  width: var(--size-50);
  --b: var(--size-8); 
  aspect-ratio: 1;
  border-radius: 50%;
  padding: var(--size-1);
  background: conic-gradient(#0000 10%,#f03355) content-box;
  -webkit-mask:
    repeating-conic-gradient(#0000 0deg,#000 1deg 20deg,#0000 21deg 36deg),
    radial-gradient(farthest-side,#0000 calc(100% - var(--b) - 1px),#000 calc(100% - var(--b)));
  -webkit-mask-composite: destination-in;
          mask-composite: intersect;
  animation:l4 1s infinite steps(10);
}
@keyframes l4 {to{transform: rotate(1turn)}}

@media (max-width: 1380px) {
  .c-instagram-item {
    width: var(--size-280);
  }
  .c-video-thumb,
  .c-image-thumb {
    aspect-ratio: 280 / 448;
  }
}

/* header */
.l-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--size-30) 0;
  background-color: #fff;
}
.l-nav-list {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--size-15);
}
.l-nav-logo-img {
  width: var(--size-185);
}
.l-nav-hamburger {
  width: var(--size-40);
  height: var(--size-16);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}
.l-nav-link {
  display: inline-block;
  padding: var(--size-4) var(--size-20);
  font-size: var(--size-24);
  letter-spacing: 0.2em;
  border-radius: 100vmax;
  transition: opacity 0.3s ease;
}
.l-nav-link:hover {
  opacity: 0.5;
}
.l-nav-link.u-red {
  border: 2px solid #E60012;
  color: #E60012;
}
.l-nav-link.u-green {
  border: 2px solid #67C492;
  color: #67C492;
}
.l-nav-link.u-blue {
  border: 2px solid #6799C4;
  color: #6799C4;
}
.l-nav-hamburger {
  margin-left: var(--size-18);
  position: relative;
  z-index: 1001;
}
.l-nav-hamburger-line {
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #000;
  transition: transform 0.3s ease;
}
.l-nav-hamburger-line:nth-child(1) {
  top: 0;
  width: 100%;
}
.l-nav-hamburger-line:nth-child(2) {
  top: 100%;
  width: 100%;
}
.is-active .l-nav-hamburger-line:nth-child(1) {
  top: 50%;
  transform: rotate(30deg);
}
.is-active .l-nav-hamburger-line:nth-child(2) {
  top: 50%;
  transform: rotate(-30deg);
}
.l-header {
  position: relative;
  z-index: 1000;
  background-color: #fff;
}
.l-header-inner {
  position: relative;
}
.l-hamburger-menu {
  position: fixed;
  top: var(--header-height, 0px);
  left: 0;
  width: 100vw;
  z-index: 1099;
  background-color: #F3F0EB;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease;
}
.l-hamburger-menu.is-active {
  visibility: visible;
  opacity: 1;
  height: 100vh;
  overflow-y: auto;
}
/* .c-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease;
}
.c-overlay.is-active {
  visibility: visible;
  opacity: 1;
} */
.l-hamburger-menu-inner {
  display: flex;
  padding: var(--size-100) 0;
  gap: var(--size-50);
  justify-content: space-between;
}
.l-hamburger-menu-lists {
  display: flex;
  gap: var(--size-100);
}
.l-hamburger-menu-lists.c-only-sp {
  display: none;
}
.l-hamburger-menu-list {
  font-weight: 500;
  font-size: var(--size-14);
  display: flex;
  flex-direction: column;
  gap: var(--size-20);
}
.l-hamburger-menu-list-item {
  padding: var(--size-10) 0;
}
.l-hamburger-menu-item-instagram {
  position: relative;
  top: -8px;
}
.l-hamburger-menu-link {
  transition: opacity 0.3s ease;
}
.l-hamburger-menu-link:hover {
  opacity: 0.5;
}
.l-hamburger-menu-navigations {
  width: calc(60% - var(--size-50) * 1 / 2);
  max-width: var(--size-912);
}
.l-hamburger-menu-links {
  width: calc(40% - var(--size-50) * 1 / 2);
  max-width: var(--size-575);
}

@media (max-width: 1024px) {
  .l-nav-list {
    gap: var(--size-5);
  }
  .l-nav-link {
    font-size: var(--size-14);
    font-weight: 700;
    padding: var(--size-4) var(--size-8) var(--size-4);
    letter-spacing: 0;
    line-height: 1;
  }
  .l-hamburger-menu-inner {
    flex-direction: column;
    gap: var(--size-20);
    max-width: 100%;
  }
  .l-hamburger-menu-navigations {
    max-width: 100%;
    width: 100%;
  }
  .l-hamburger-menu-links {
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 768px) {
  .l-header-inner {
    padding: var(--size-5) var(--size-20);
  }
  .l-nav-logo-img {
    width: var(--size-54);
  }
  .l-nav {
    padding: 0;
  }
  .l-nav-hamburger {
    width: var(--size-20);
    height: var(--size-9);
    margin-left: var(--size-10);
  }
  .l-hamburger-menu-inner {
    padding: 0 0 var(--size-40);
  }
  .l-hamburger-menu-navigations {
    padding: 0;
  }
  .l-hamburger-menu-lists.c-only-pc {
    display: none;
  }
  .l-hamburger-menu-lists.c-only-sp {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 0;
  }
  .l-hamburger-menu-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    flex-direction: row;
  }
  .l-hamburger-menu-item {
    width: 50%;
    height: var(--size-70);
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #E2DFDC;
    text-align: center;
  }
  .l-hamburger-menu-item:nth-child(2n - 1) {
    border-right: 1px solid #E2DFDC;
  }
  .l-hamburger-menu-item:nth-child(n + 3) {
    margin-top: -1px;
  }
  .l-hamburger-menu-link {
    font-size: var(--size-14);
    line-height: 1.4;
    font-weight: 500;
  }
  .l-store-info-item-content {
    display: none;
  }
  .l-hamburger-menu-info-instagram {
    display: block;
    width: fit-content;
    margin: var(--size-50) auto;
  }
  .l-hamburger-menu-info-link {
    display: block;
    margin: 0 auto var(--size-30);
    width: var(--size-218);
  }
  .l-hamburger-menu-info-tel {
    font-size: var(--size-12);
    line-height: 1.4;
    font-weight: 500;
    text-align: center;
  }
  .l-hamburger-menu-info-date {
    font-size: var(--size-12);
    line-height: 1.4;
    font-weight: 500;
    text-align: center;
  }
  .l-hamburger-menu-info-copyright {
    font-size: var(--size-10);
    line-height: 1.4;
    font-weight: 500;
    margin-top: var(--size-20);
    text-align: center;
  }
  .l-header.is-fixed {
    width: 100vw;
  }
  .l-hamburger-menu {
    top: var(--header-height-sp, 0px);
  }
}


/* フッター */
.l-footer__inner {
  padding: var(--size-166) 0;
  background: #F4F1EC;
  display: flex;
  gap: var(--size-100);
  margin-top: -1px;
}
.l-footer__inner-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.l-footer__inner-content-inner {
  max-width: var(--size-436);
}
.l-footer__inner-content-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-70);
}
.l-footer__inner-info{
  min-width: var(--size-230);
  margin-top: var(--size-78);
  font-weight: 500;
}
.l-footer__inner-store {
  flex: 1;
  max-width: var(--size-912);
}
.l-footer__inner-logo-img {
  width: var(--size-185);
  display: block;
  margin-bottom: var(--size-10);
}
.l-footer__inner-address-tel {
  font-size: var(--size-14);
  line-height: 1.4;
}
.l-footer__inner-address-time {
  font-size: var(--size-12);
  line-height: 1.4;
  margin-bottom: var(--size-12);
}
.l-footer__inner-address-copyright {
  font-size: var(--size-10);
  line-height: 1.4;
}
.l-footer__inner-list-item {
  margin-bottom: var(--size-20);
}
.l-footer__inner-list-item-link {
  font-size: var(--size-14);
  line-height: 1.4;
  font-weight: 500;
  transition: opacity 0.3s ease;
}
.l-footer__inner-list-item-link:hover {
  opacity: 0.5;
}
.l-footer__inner-store .l-store-info-item-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 1380px) {
  .l-footer__inner-store {
    flex: unset;
    width: 100%;
    margin-top: var(--size-40);
  }
}

@media (max-width: 1024px) {
  .l-footer__inner {
    padding: var(--size-100) 0 var(--size-56);
  }
}

@media (max-width: 768px) {
  .l-footer__inner {
    padding: var(--size-50) 0;
  }
  .l-footer__inner .c-inner {
    padding: 0;
  }
  .l-footer__inner .l-hamburger-menu-item:nth-child(-n + 2) {
    border-top: 1px solid #E2DFDC;
  }
  .l-footer__inner-info {
    margin: auto;
    text-align: center;
    margin-bottom: var(--size-58);
  }
  .l-footer__inner-logo-img {
    width: var(--size-218);
    margin-bottom: var(--size-20);
  }
  .l-footer__inner-address-tel {
    font-size: var(--size-12);
  }
  .l-footer__inner-address-time {
    font-size: var(--size-10);
  }
  .l-footer__inner-address-copyright {
    font-size: var(--size-10);
  }
  .l-footer__inner-list {
    display: none;
  }
  .l-footer__inner-store {
    margin-top: 0;
  }
  .l-footer__inner-store .l-store-info-item-content {
    display: block;
  }
  .l-footer__inner-store .l-store-info-item-title:after {
    transform: rotate(180deg);
  }
  .l-footer__inner-store .l-store-info-item-title.is-active:after {
    transform: rotate(0deg);
  }
  .l-footer__inner-content {
    justify-content: center;
  }
}

/* 店舗情報 */
.l-store-info {
  display: flex;
  flex-direction: column;
  gap: var(--size-10);
}
.js-accordion-title {
  cursor: pointer;
}
.l-store-info-item-title {
  background: #fff;
  padding: var(--size-10) var(--size-12);
  font-size: var(--size-18);
  font-weight: 500;
}
.l-store-info-item-title:after {
  content: "";
  display: inline-block;
  width: var(--size-13);
  height: var(--size-13);
  margin-left: var(--size-12);
  background: url(../img/common/icon-arrow-down.svg) no-repeat center center / contain;
  transform: rotate(180deg);
}
.l-store-info-item-title.is-active:after {
  transform: rotate(0deg);
}
.l-store-info-item-content-list-item-link {
  transition: opacity 0.3s ease;
}
.l-store-info-item-content-list-item-link:hover {
  opacity: 0.5;
}

@media(min-width: 769px) {
  .l-store-info-item-content-list {
    column-count: 2;
    column-gap: 70px;
    max-width: var(--size-912);
  }
  .l-store-info-item-content-list-item {
    break-inside: avoid;
  }
  .l-store-info-item-content-list-item-title {
    font-size: var(--size-16);
    font-weight: 500;
    padding-bottom: var(--size-10);
    border-bottom: 1px solid #BEBEBE;
    margin-bottom: var(--size-14);
  }
  .l-store-info-item-content-list-item-list-item-link {
    display: block;
    font-size: var(--size-14);
    line-height: 1.4;
    font-weight: 500;
    margin-bottom: var(--size-10);
    transition: opacity 0.3s ease;
  }
  .l-store-info-item-content-list-item-list-item-link:hover {
    opacity: 0.5;
  }
  .l-store-info-item-content-list-item-list {
    display: flex;
    flex-wrap: wrap;
  }
  .l-store-info-item-content-list-item-list-item {
    width: var(--size-120);
  }
  .l-store-info-item-content-list-item {
    margin-bottom: var(--size-70);
  }
}

@media (max-width: 768px) {
  .l-store-info {
    padding: 0 var(--size-10);
    margin: var(--size-16) 0 0;
  }
  .l-store-info-item-title:after {
    transform: rotate(0);
  }
  .l-store-info-item-title.is-active:after {
    transform: rotate(180deg);
  }
  .l-store-info-item-title {
    padding: var(--size-9) var(--size-18);
    font-size: var(--size-16);
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .l-store-info-item-content {
    background: rgba(255, 255, 255, 0.85);
  }
  .l-store-info-item-content {
    border-top: solid 1px rgba(190, 190, 190, 0.16);
  }
  .l-store-info-item-content-list-item {
    padding: var(--size-16) 0;
    margin: 0 var(--size-18);
  }
  .l-store-info-item-content-list-item-link {
    font-size: var(--size-16);
  }
  .l-store-info-item-content-list-item {
    padding: var(--size-40) 0 0;
  }
  .l-store-info-item-content-list-item:last-child {
    padding-bottom: var(--size-44);
  }
  .l-store-info-item-content-list-item:first-child {
    padding-top: var(--size-28);
  }
  .l-store-info-item-content-list-item:last-child {
    margin-bottom: 0;
  }
  .l-store-info-item-content-list-item-link {
    font-size: var(--size-15);
    font-weight: 500;
    transition: opacity 0.3s ease;
  }
  .l-store-info-item-content-list-item-link:hover {
    opacity: 0.5;
  }
  .l-store-info-item-content-list-item-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: var(--size-10);
    gap: var(--size-10);
  }
  .l-store-info-item-content-list-item-list-item {
    width: calc(50% - var(--size-10) / 2);
  }
  .l-store-info-item-content-list-item-list-item-link {
    font-size: var(--size-14);
    line-height: 1.4;
    font-weight: 500;
    transition: opacity 0.3s ease;
  }
  .l-store-info-item-content-list-item-list-item-link:hover {
    opacity: 0.5;
  }
  .l-store-info-item-content-list-item-title {
    font-size: var(--size-16);
    padding-bottom: var(--size-4);
    border-bottom: 1px solid #BEBEBE;
    margin-bottom: var(--size-14);
  }
}

/* リンク */
.l-links-list {
  display: flex;
  flex-wrap: wrap;
}
.l-links-list-item {
  width: 50%;
  aspect-ratio: 1 / 1;
  position: relative;
  overflow: hidden;
}
.l-links-list-item-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
}
.l-links-list-item-image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.l-links-list-item-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: rgba(0, 0, 0, 0.46);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: var(--size-16);
  font-weight: 500;
}
.l-links-list-item:hover .l-links-list-item-image {
  transform: scale(1.1);
}
.l-footer__bottom {
  background: #E50213;
}
.l-footer__bottom-banners {
  display: flex;
  padding: var(--size-40);
  gap: var(--size-15);
  justify-content: center;
}
.l-footer__bottom-banners-item {
  width: var(--size-194);
}
.l-footer__bottom-banners-item-link {
  display: block;
  transition: opacity 0.3s ease;
}
.l-footer__bottom-banners-item-link:hover {
  opacity: 0.8;
}

@media (max-width: 768px) {
  .l-footer__bottom-banners {
    padding: var(--size-24) var(--size-10) var(--size-32);
    flex-wrap: wrap;
    gap: var(--size-5);
  }
  .l-footer__bottom-banners-item {
    width: calc(50% - var(--size-5) / 2);
  }
}

/* MV */
.p-mv__swiper-slide {
  width: var(--size-440);
  max-height: var(--size-750);
}
.p-mv__slide-image {
  display: block;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.16);
  transition: opacity 0.3s ease;
}
a.p-mv__slide-image:hover {
  opacity: 0.5;
}
.p-mv__slide-image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-mv__swiper-slide.u-slide2 {
  display: flex;
  flex-direction: column;
  gap: var(--size-20);
}
.p-mv__swiper-slide.u-reverse {
  flex-direction: column-reverse;
}
.p-mv__swiper-slide.u-slide2 .p-mv__slide-image {
  gap: var(--size-20);
}
.u-slide2 .p-mv__slide-image:nth-child(1) {
  flex: 1;
}
.u-slide2 .p-mv__slide-image:nth-child(2) {
  width: 100%;
  aspect-ratio: 1 / 1;
}

@media (max-width: 768px) {
  .p-mv__swiper-pagination {
    gap: var(--size-5);
    justify-content: flex-end;
  }
  .p-mv__swiper-pagination .swiper-pagination-bullet {
    width: var(--size-25);
    height: var(--size-5);
    margin: 0!important;
  }
  .p-mv__slide-image.c-shadow-15 {
    box-shadow: none;
  }
  .p-mv__swiper-slide {
    padding: 0;
  }
}

/* インフォ */
.p-info__inner {
  padding: var(--size-15) 0;
  display: flex;
  gap: var(--size-20);
}
.p-info__tokubai {
  display: block;
  width: fit-content;
  transition: opacity 0.3s ease;
  width: var(--size-440);
  height: fit-content;
}
.p-info__news {
  flex: 1;
}
.p-info__tokubai:hover {
  opacity: 0.5;
}
.p-info__tokubai-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-info__news-inner-wrapper {
  display: flex;
  align-items: center;
  height: 100%;
  background: #fff;
}
.p-info__news-inner {
  display: flex;
  width: 100%;
  gap: var(--size-70);
  padding: var(--size-40) var(--size-55);
}
.p-info__news-title {
  font-size: var(--size-36);
  line-height: 1;
  font-weight: 500;
  margin-bottom: var(--size-8);
}
.p-info__news-title-text {
  font-size: var(--size-14);
  line-height: 1.4;
  font-weight: 500;
}
.p-info__news-list {
  flex: 1;
}
.p-info__news-list-item-link {
  display: flex;
  align-items: center;
  padding: var(--size-30) 0;
  border-bottom: 1px solid rgba(112, 112, 112, 0.12);
  transition: opacity 0.3s ease;
}
.p-info__news-list-item-item:last-child .p-info__news-list-item-link {
  border-bottom: none;
  padding-bottom: 0;
}
.p-info__news-list-item-link:hover {
  opacity: 0.5;
}
.p-info__news-list-item-item:first-child .p-info__news-list-item-link {
  padding-top: 0;
}
.p-info__news-list-item-link-category {
  font-size: var(--size-14);
  line-height: 1.4;
  font-weight: 500;
  padding: var(--size-5) var(--size-10);
  background: #E81425;
  color: #fff;
  width: fit-content;
  min-width: var(--size-185);
  text-align: center;
}
.p-info__news-list-item-link-category.u-campaign {
  background: #96BA88;
}
.p-info__news-list-item-link-category.u-event {
  background: #87CACC;
}
.p-info__news-list-item-link-category.u-news {
  background: #EAC47C;
}
.p-info__news-list-item-link-date {
  font-size: var(--size-14);
  line-height: 1.4;
  font-weight: 300;
  margin-left: var(--size-55);
  margin-right: var(--size-62);
}
.p-info__news-list-item-link-title {
  flex: 1;
  font-size: var(--size-14);
  line-height: 1.4;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1380px) {
  .p-info__inner {
    flex-direction: column;
    gap: var(--size-20);
    align-items: center;
  }
  .p-info__news {
    width: 100%;
  }
}

@media (max-width: 1024px) {
  .p-info__news-list-item-link {
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
  }
  .p-info__news-list-item-link-date {
    margin: var(--size-10) 0;
  }
  .p-info__news-list-item-link-title {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .p-info__tokubai {
    width: 100%;
    max-width: var(--size-440);
  }
  .p-info__inner {
    gap: var(--size-40);
  }
  .p-info__news-inner {
    flex-direction: column;
    gap: var(--size-20);
    padding: var(--size-24) var(--size-28);
  }
  .p-info__news-title-group {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .p-info__news-title {
    font-size: var(--size-24);
  }
  .p-info__news-title-text {
    font-size: var(--size-12);
  }
  .p-info__news-list-item-link-category {
    font-size: var(--size-12);
    min-width: var(--size-121);
  }
  .p-info__news-list-item-link-date {
    margin: var(--size-2) 0 var(--size-10);
  }
  .p-info__news-list-item-link-title {
    font-size: var(--size-16);
  }
  .p-info__news-list-item-link {
    padding: var(--size-20) 0;
  }
}

/* キャンペーン */
.l-campaign {
  padding: var(--size-150) 0 var(--size-100);
}
.p-campaign__inner {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-20);
}
.p-campaign__swiper {
  margin-top: var(--size-100);
  overflow: visible;
}
.p-campaign__swiper-slide {
  margin-top: var(--size-5);
  margin-bottom: var(--size-5);
  width: var(--size-350);
  padding: var(--size-10) var(--size-10) var(--size-15);
  background: #fff;
  transition: opacity 0.3s ease;
}
.p-campaign__swiper-slide:hover {
  opacity: 0.5;
}
.p-campaign__swiper-slide-image {
  aspect-ratio: 330 / 428;
}
.p-campaign__swiper-slide-image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-campaign__swiper-slide-date {
  font-size: var(--size-14);
  line-height: 1.5;
  font-weight: 500;
  margin: var(--size-20) 0 var(--size-10);
  color: #E81425;
}
.p-campaign__swiper-slide-title {
  font-size: var(--size-16);
  line-height: 1.5;
  font-weight: 500;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
}
.p-campaign__controls {
  margin-top: var(--size-70);
  margin-left: auto;
  margin-right: var(--size-50);
}

@media (max-width: 1024px) {
  .p-campaign__swiper {
    margin-top: var(--size-50);
  }
}

@media (max-width: 768px) {
  .l-campaign {
    padding: var(--size-70) 0 var(--size-60);
  }
  .p-campaign__inner {
    gap: var(--size-15);
    padding: 0 var(--size-10);
  }
  .p-campaign__swiper {
    margin-top: 0;
  }
  .p-campaign__swiper-slide {
    width: var(--size-281);
    padding: var(--size-9) var(--size-9) var(--size-19);
  }
  .p-campaign__swiper-slide-date {
    line-height: 1;
    margin: var(--size-18) 0 var(--size-6);
  }
  .p-campaign__controls {
    margin: var(--size-20) 0 0;
  }
}

/* レシピ */
.l-recipe {
  padding: var(--size-150) 0 var(--size-100);
  background: rgba(217, 217, 217, 0.33);
}
.p-recipe__inner {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-20);
}
.p-recipe__swiper {
  margin-top: var(--size-57);
  overflow: visible;
}
.p-recipe__swiper-slide {
  margin-top: var(--size-5);
  margin-bottom: var(--size-5);
  width: var(--size-333);
  background: #fff;
  transition: opacity 0.3s ease;
}
.p-recipe__swiper-slide:hover {
  opacity: 0.5;
}
.p-recipe__swiper-slide-image {
  aspect-ratio: 333 / 474;
  overflow: hidden;
}
.p-recipe__swiper-slide-image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-recipe__swiper-slide-contents {
  padding: var(--size-10);
}
.p-recipe__title-tokubai-message {
  width: var(--size-268);
  display: block;
  margin-top: var(--size-21);
}
.p-recipe__link-date {
  font-size: var(--size-14);
  line-height: 1.5;
  font-weight: 500;
  color: #E81425;
  text-align: right;
}
.p-recipe__link-image {
  display: block;
  margin-top: var(--size-6);
  width: var(--size-219);
  transition: opacity 0.3s ease;
}
.p-recipe__link-image:hover {
  opacity: 0.5;
}
.p-recipe__link-update {
  margin-top: var(--size-20);
  font-size: var(--size-14);
  text-align: right;
  line-height: 1.5;
  font-weight: 500;
}
.p-recipe__swiper-slide-sub-title {
  font-size: var(--size-10);
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: var(--size-7);
  color: #E81425;
}
.p-recipe__swiper-slide-title {
  font-size: var(--size-12);
  line-height: 1.5;
  font-weight: 500;
}
.p-recipe__controls {
  margin-top: var(--size-50);
  margin-left: auto;
  margin-right: var(--size-50);
}

@media (max-width: 1024px) {
  .p-recipe__swiper {
    margin-top: var(--size-50);
  }
}

@media (max-width: 768px) {
  .l-recipe {
    padding: var(--size-50) 0 var(--size-60);
  }
  .p-recipe__inner {
    gap: var(--size-10);
    padding: 0 var(--size-10);
  }
  .p-recipe__title-tokubai-message {
    margin-top: var(--size-12);
    width: var(--size-326);
  }
  .p-recipe__swiper {
    margin-top: 0;
  }
  .p-recipe__swiper-slide {
    width: var(--size-280);
    padding: var(--size-12) var(--size-10) var(--size-16);
  }
  .p-recipe__controls {
    margin: var(--size-20) 0 0;
  }
  .p-recipe__swiper-slide-contents {
    padding: 0;
    margin-top: var(--size-20);
  }
  .p-recipe__swiper-slide-sub-title {
    margin-bottom: var(--size-2);
    font-size: var(--size-12);
  }
  .p-recipe__swiper-slide-title {
    font-size: var(--size-16);
  }
}

/* バナー */
.l-banner {
  padding: var(--size-88) 0 var(--size-64);
  background: #fff;
}
.l-banner__swiper-slide {
  display: flex;
  gap: var(--size-30);
}
.l-banner__swiper-slide-link {
  display: block;
  aspect-ratio: 1 / 1;
  transition: opacity 0.3s ease;
  border: solid 1px #E2DFDC;
}
.l-banner__swiper-slide-link:hover {
  opacity: 0.5;
}
.l-banner__swiper-slide-image-img {
  aspect-ratio: 1 / 1;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 1024px) {
  .l-banner__swiper-slide {
    flex-direction: column;
  }
  .l-banner__swiper-slide-link {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .l-banner {
    padding: var(--size-40) var(--size-10) var(--size-30);
  }
  .l-banner__swiper-slide {
    gap: var(--size-10);
    width: calc(50% - var(--size-15));
  }
}

/* インフォ */
.l-info-nav {
  background: #fff;
}
.l-info-nav__list {
  display: flex;
  flex-wrap: wrap;
}
.l-info-nav__list-item {
  position: relative;
  flex: 1;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.l-info-nav__list-item-image {
  display: block;
  width: 100%;
  height: 100%;
  transition: scale 0.3s ease;
}
.l-info-nav__list-item-image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.l-info-nav__list-item-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.46);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 2;
}
.l-info-nav__list-item:hover .l-info-nav__list-item-image {
  scale: 1.1;
}

@media (max-width: 1280px) {
  .l-info-nav__list-item-link {
    font-size: var(--size-17);
    line-height: 1.5;
  }
}

@media (max-width: 768px) {
  .l-info-nav__list-item {
    width: 50%;
    flex: unset;
  }
}

/* --- ヘッダーのスライド表示用 --- */
.l-header.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 1100;
  transform: translateY(-100%);
  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
}
.l-header.is-visible {
  transform: translateY(0);
}

#global-loader {
  position: fixed;
  z-index: 99999;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100vw;
  height: 100vh;
  background: #fff;
  transition: opacity 0.3s ease;
  opacity: 1;
  pointer-events: all;
}
#global-loader.is-hide {
  opacity: 0;
  pointer-events: none;
}

/* パンくず */
.l-breadcrumb {
  display: flex;
  margin-top: var(--size-12);
  align-items: center;
  flex-wrap: wrap;
  font-size: var(--size-12);
  font-weight: 500;
  row-gap: var(--size-4);
}
.l-breadcrumb__item:nth-child(n + 2)::before {
  content: "〉";
  margin-left: .75em;
}
.l-breadcrumb__link {
  transition: opacity 0.3s ease;
}
.l-breadcrumb__link:hover {
  opacity: 0.5;
}

/* ページヘッダー */
.l-page-header {
  padding: var(--size-100) 0 var(--size-62);
}
.l-page-header__content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--size-20);
}
.l-page-header__content.u-line {
  align-items: flex-end;
}
.l-page-header__image {
  width: var(--size-228);
  height: auto;
  position: relative;
  background: #fff;
}
.l-page-header__line-qr {
  position: absolute;
  top: 17px;
  right: 19px;
  width: 80px;
  height: 80px;
}
.c-store-result-count {
  font-size: var(--size-14);
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #EB3643;
}
.c-store-result-count__num {
  font-size: var(--size-44);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 0 var(--size-14);
  color: #000;
}

@media (max-width: 768px) {
  .l-page-header {
    padding: var(--size-30) 0;
  }
  .l-page-header__image {
    width: var(--size-140);
  }
  .c-store-result-count__num {
    font-size: var(--size-36);
    margin: 0 var(--size-8);
  }
  .c-store-result-count {
    font-size: var(--size-12);
  }
}

/* ページネーション */
.l-pagination {
  display: flex;
  justify-content: center;
  margin-top: var(--size-50);
  font-size: var(--size-20);
}
.l-pagination a {
  transition: opacity 0.3s ease;
}
.l-pagination a:hover {
  opacity: 0.5;
}
.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--size-30);
  height: var(--size-30);
  border-radius: 100vmax;
  line-height: 1;
}
.page-numbers.current {
  background: #E81425;
  color: #fff;
}

/* 店舗詳細 */
.l-store-detail {
  padding: 0 0 var(--size-100);
}
.c-store-detail__content {
  padding: var(--size-30);
  background: #fff;
}
.p-store-detail__top {
  display: flex;
  gap: var(--size-40);
}
.p-store-detail__top-slider {
  width: calc(50% - var(--size-40) / 2);
}
.p-store-detail__info {
  width: calc(50% - var(--size-40) / 2);
}
.p-store-detail__info-flyer-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
}
.p-store-detail__title {
  font-size: var(--size-20);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: var(--size-30);
  display: flex;
  align-items: center;
}
.p-store-detail__info-contents {
  margin-top: var(--size-60);
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--size-16);
  column-gap: var(--size-12);
}
.p-store-detail__info-text {
  display: flex;
  align-items: center;
  gap: var(--size-12);
}
.p-store-detail__info-text.u-100 {
  width: 100%;
}
.p-store-detail__info-label {
  width: fit-content;
  min-width: var(--size-100);
  font-size: var(--size-20);
  font-weight: 500;
  line-height: 1.5;
  padding: var(--size-4) var(--size-10);
  background: #E81425;
  color: #fff;
  text-align: center;
}
.p-store-detail__info-value {
  font-size: var(--size-20);
  font-weight: 500;
  line-height: 1.4;
}
.p-store-detail__title:before {
  content: "";
  display: inline-block;
  width: var(--size-20);
  height: var(--size-20);
  background: #EB3643;
  margin-right: var(--size-4);
}
.c-swiper-pagination.p-store-detail__swiper-pagination {
  justify-content: flex-start;
}
.p-store-detail__slide-image {
  height: 100%;
  aspect-ratio: 720 / 520;
}
.p-store-detail__slide-image-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-store-detail__bottom {
  margin-top: var(--size-50);
  display: flex;
  gap: var(--size-40);
}
.p-store-detail__bottom-info + .p-store-detail__bottom-info {
  margin-top: var(--size-37);
}
.p-store-detail__bottom-inner {
  width: calc(50% - var(--size-40) / 2);
}
.p-store-detail__bottom-info-list {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--size-35);
  column-gap: var(--size-22);
}
.p-store-detail__bottom-info-item {
  display: flex;
  align-items: center;
  gap: var(--size-8);
}
.p-store-detail__bottom-info-icon {
  width: var(--size-31);
  height: var(--size-31);
}
.p-store-detail__bottom-info-text-main {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.5;
}
.p-store-detail__bottom-info-text-small {
  display: block;
  font-size: var(--size-12);
  font-weight: 500;
  line-height: 1.5;
}
.p-store-detail__bottom-tenant-list {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--size-20);
  column-gap: var(--size-6);
}
.p-store-detail__bottom-tenant-item {
  width: var(--size-95);
}
.p-store-detail__bottom-tenant-icon {
  aspect-ratio: 2 / 1;
  width: 100%;
  height: auto;
  border: solid 1px #DEDEDE;
  display: block;
}
.p-store-detail__bottom-tenant-text {
  margin-top: var(--size-6);
  font-size: var(--size-12);
  line-height: 1.2;
  overflow-wrap: break-word;
}
.p-store-detail__bottom-message {
  background: #FAFAFA;
  padding: var(--size-30) var(--size-20);
}
.p-store-detail__bottom-message-wrapper {
  display: flex;
  gap: var(--size-20);
}
.p-store-detail__bottom-message-image {
  width: var(--size-200);
  height: auto;
}
.p-store-detail__bottom-message-details {
  margin-top: var(--size-20);
}
.p-store-detail__bottom-message-subtitle {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: var(--size-6);
}
.p-store-detail__bottom-message-subtitle:before {
  content: "";
  display: inline-block;
  width: var(--size-8);
  height: var(--size-16);
  background: #E81425;
  margin-right: var(--size-12);
  position: relative;
  top: var(--size-2);
}
.p-store-detail__bottom-message-hobby {
  font-size: var(--size-14);
  line-height: 1.5;
}
.p-store-detail__bottom-message-nickname {
  font-size: var(--size-14);
  line-height: 1.5;
}
.p-store-detail__bottom-message-contents {
  flex: 1;
}
.p-store-detail__bottom-message-name {
  font-size: var(--size-20);
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: var(--size-20);
}
.p-store-detail__bottom-message-text {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 2;
}
.p-store-detail__bottom-map {
  margin-top: var(--size-135);
}
.p-store-detail__bottom-map iframe {
  width: 100%;
  aspect-ratio: 1540 / 642;
}
.l-store-related {
  padding: 0 0 var(--size-100);
}
.p-store-related__swiper {
  max-width: var(--size-1250);
  margin: 0 auto;
  padding: var(--size-5);
}
.p-store-related__swiper .c-store__item {
  width: 100%;
  padding: var(--size-10);
  box-shadow: 0 0 5px 0 rgba(134, 134, 134, 0.16);
}
.p-store-related__swiper .c-store__list,
.p-store-related__swiper-sp .c-store__list {
  flex-wrap: nowrap;
  column-gap: unset;
  row-gap: unset;
  padding: 0;
}
.p-store-related__title {
  margin-bottom: var(--size-45);
  font-size: var(--size-36);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
.p-store-related__swiper-pagination {
  margin-top: var(--size-50);
}

@media (max-width: 1024px) {
  .p-store-detail__top {
    flex-direction: column;
    gap: var(--size-35);
  }
  .p-store-detail__bottom {
    flex-direction: column;
    gap: var(--size-40);
  }
  .p-store-detail__top-slider {
    width: 100%;
  }
  .p-store-detail__info {
    width: 100%;
  }
  .p-store-detail__bottom-inner {
    width: 100%;
  }
  .p-store-detail__bottom-map {
    margin-top: var(--size-40);
  }
}

@media (max-width: 768px) {
  .c-store-detail__content {
    padding: var(--size-17) var(--size-10) var(--size-25);
  }
  .p-store-detail__title {
    font-size: var(--size-17);
    line-height: 1.8;
  }
  .p-store-detail__info-contents {
    flex-direction: column;
  }
  .p-store-detail__info-label {
    width: var(--size-80);
    font-size: var(--size-16);
  }
  .p-store-detail__info-value {
    flex: 1;
    font-size: var(--size-14);
  }
  .p-store-detail__bottom {
    margin-top: var(--size-40);
  }
  .p-store-detail__bottom-info-list {
    flex-direction: column;
    row-gap: var(--size-18);
  }
  .p-store-detail__bottom-info-item {
    width: 100%;
  }
  .p-store-detail__bottom-message-image {
    width: var(--size-120);
  }
  .p-store-detail__bottom-message-details {
    margin-top: var(--size-10);
  }
  .p-store-detail__bottom-message-subtitle {
    font-size: var(--size-14);
  }
  .p-store-detail__bottom-message-subtitle:before {
    width: var(--size-6);
    height: var(--size-14);
    margin-right: var(--size-8);
  }
  .p-store-detail__bottom-message-hobby {
    font-size: var(--size-12);
  }
  .p-store-detail__bottom-message-nickname {
    font-size: var(--size-12);
  }
  .p-store-related__title {
    font-size: var(--size-24);
    margin-bottom: var(--size-30);
  }
  .p-store-related__swiper-pagination-sp {
    margin-top: var(--size-26);
  }
  .p-store-detail__bottom-map iframe {
    aspect-ratio: 335 / 313;
    height: 100%;
  }
  .p-store-detail__bottom-message {
    padding: var(--size-33) var(--size-16);
  }
  .p-store-detail__bottom-message-name {
    font-size: var(--size-16);
    margin-bottom: var(--size-10);
  }
  .p-store-detail__bottom-message-text {
    font-size: var(--size-14);
    margin-top: var(--size-18);
  }
  .p-store-related__swiper-sp {
    padding: var(--size-5);
  }
  .p-store-related__swiper-slide {
    position: relative;
    top: -20px;
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--size-10);
    row-gap: var(--size-20);
  }
  .p-store-related__swiper-sp .c-store__item {
    opacity: 1;
    width: calc(50% - var(--size-10) / 2);
  }
  .p-store-detail__title:before {
    width: var(--size-18);
    height: var(--size-18);
    margin-right: var(--size-8);
  }
}

@media (max-width: 500px) {
  .p-store-detail__bottom-tenant-item {
    width: calc(33.333% - var(--size-6) * 2 / 3);
    max-width: var(--size-150);
  }
}

/* トピックス */
.p-topics__list {
  display: flex;
  flex-wrap: wrap;
  padding: var(--size-100) var(--size-80);
  row-gap: var(--size-100);
  column-gap: var(--size-40);
  background: #fff;
}
.p-topics__item {
  width: calc(33.333% - var(--size-40) * 2 / 3);
}
.p-topics__link {
  transition: opacity 0.3s ease;
}
.p-topics__link:hover {
  opacity: 0.7;
}
.p-topics__image {
  width: 100%;
  aspect-ratio: 330 / 428;
  background: #FFF;
}
.p-topics__image img {
  border: solid 1px #c4c4c4;
  object-fit: contain;
}
.p-topics__category {
  width: fit-content;
  min-width: var(--size-185);
  padding: var(--size-5);
  margin: var(--size-15) 0;
  font-size: var(--size-14);
  font-weight: 500;
  text-align: center;
  color: #fff;
  background: #BA8888
}
.p-topics__category.u-campaign {
  background: #96BA88;
}
.p-topics__category.u-event {
  background: #EAC47C;
}
.p-topics__category.u-news {
  background: #87CACC;
}
.p-topics__date {
  font-size: var(--size-14);
  color: #E81425;
  font-weight: 500;
  margin-bottom: var(--size-10);
}
.p-topics__title {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.4;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
}
.c-sidebar__archive-year-title {
  font-size: var(--size-14);
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: var(--size-10);
  color: #E81425;
}
.c-sidebar__archive-year-table {
  width: 100%;
}
.c-sidebar__archive-year-table tr {
  display: flex;
}
.c-sidebar__archive-year-table tr:not(:first-child) {
  margin-top: var(--size-16);
}
.c-sidebar__archive-year-table td {
  width: calc(100% / 6);
}
.c-sidebar__archive-year-table td:not(:last-child) {
  border-right: solid 1px #DDDDDD;
}
.c-sidebar__archive-year-table-cell-text,
.c-sidebar__archive-year-table-cell-link {
  font-size: var(--size-14);
  font-weight: 500;
  line-height: 1.4;
  display: block;
  text-align: center;
}
.c-sidebar__archive-year-table-cell-text {
  color: #DDDDDD;
}
.c-sidebar__archive-year-table-cell-link {
  transition: color 0.3s ease;
}
.c-sidebar__archive-year-table-cell-link:hover {
  color: #E81425;
}

@media (max-width: 768px) {
  .p-topics__list {
    padding: var(--size-10);
    column-gap: var(--size-10);
    row-gap: var(--size-30);
  }
  .p-topics__item {
    width: calc(50% - var(--size-10) / 2);
  }
  .p-topics__category {
    min-width: unset;
    width: 100%;
    margin: var(--size-8) 0;
  }
  .p-topics__date {
    font-size: var(--size-12);
    margin-bottom: var(--size-6);
  }
  .p-topics__title {
    font-size: var(--size-14);
    -webkit-line-clamp: 4;
  }
}

/* シングルページ */
.p-single__top {
  display: flex;
  gap: var(--size-50);
  padding: var(--size-50);
  background: #fff;
}
.u-confidence .p-single__top {
  gap: var(--size-30);
}
.p-single__top-image {
  flex: 1;
}
.p-single__top-content {
  min-width: var(--size-512);
  width: 50%;
}
.p-single__swiper-pagination {
  justify-content: flex-start;
  margin-top: var(--size-40);
}
.p-single__top-date {
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: var(--size-20);
  color: #E81425;
}
.p-single__top-title {
  margin-bottom: var(--size-35);
  font-size: var(--size-29);
  font-weight: 500;
  line-height: 1.4;
}
.p-single__pdf {
  color: #fff;
  background: #E81425;
  padding: var(--size-5) var(--size-20);
  font-size: var(--size-14);
  font-weight: 500;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  gap: var(--size-5);
  width: fit-content;
  border-radius: 100vmax;
  transition: opacity 0.3s ease;
  line-height: 1.4;
}
.p-single__pdf:hover {
  opacity: 0.7;
}
.p-single__pdf-size {
  font-size: var(--size-12);
}
.p-single__pdf-icon {
  margin-left: var(--size-5);
}
.p-single__text {
  margin-top: var(--size-62);
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 2.1;
  letter-spacing: 0.1em;
}
.p-single__text p {
  margin-bottom: var(--size-20);
}
.p-single__text p:last-child {
  margin-bottom: 0;
}
.p-single__nav {
  margin-top: var(--size-60);
  display: flex;
  gap: var(--size-20);
  justify-content: center;
}
.p-single__nav-link {
  width: var(--size-30);
  height: var(--size-30);
  display: block;
}
.p-single__nav-link.is-disabled {
  opacity: 0.5;
}
.p-category-related {
  max-width: var(--size-1080);
  margin: var(--size-168) auto 0;
}
.p-category-related__title {
  font-size: var(--size-36);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-bottom: var(--size-74);
  text-align: center;
}
.p-single-related__swiper-pagination {
  margin-top: var(--size-72);
}
.p-single__top-content-info.u-sp {
  display: none;
}
.u-confidence .p-single__image {
  position: relative;
  border: solid 1px #EAEAEA;
  height: 100%;
  aspect-ratio: 731 / 574;
}
.p-single__image.genre-recommend:before {
  content: '';
  position: absolute;
  bottom: var(--size-20);
  right: var(--size-20);
  width: var(--size-155);
  height: var(--size-155);
  background: url(../img/confidence/icon-recommend.webp) no-repeat center center / contain;
}
.p-single__image.genre-original:before {
  content: '';
  position: absolute;
  bottom: var(--size-20);
  right: var(--size-20);
  width: var(--size-155);
  height: var(--size-155);
  background: url(../img/confidence/icon-original.webp) no-repeat center center / contain;
}
.p-single__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-single__handling-period {
  padding: var(--size-5) var(--size-20);
  background: #F2F2F2;
  margin-bottom: var(--size-30);
  font-size: var(--size-20);
  font-weight: 500;
  line-height: 1.4;
}
.p-single__main-text {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 2;
}
.p-single__main-text p {
  margin-bottom: var(--size-20);
}
.p-single__message-group {
  margin-top: var(--size-40);
}
.p-single__message-title {
  font-size: var(--size-20);
  font-weight: 500;
  line-height: 1.4;
  padding-bottom: var(--size-12);
  margin-bottom: var(--size-26);
  border-bottom: solid 1px rgba(112, 112, 112, 0.22);
}
.p-single__message-content {
  display: flex;
  gap: var(--size-20);
}
.p-single__message-image {
  width: var(--size-275);
  height: auto;
}
.p-single__message-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-single__message-text {
  flex: 1;
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 2;
}

@media (max-width: 1380px) {
  .p-single__top-content-info.u-sp {
    display: block;
    margin-bottom: var(--size-23);
  }
  .p-single__top-content-info.u-pc {
    display: none;
  }
  .p-single__top {
    flex-direction: column;
    gap: var(--size-35);
  }
  .p-single__top-image {
    max-width: 100%;
  }
  .p-single__top-content {
    width: 100%;
    min-width: unset;
  }
}

@media (max-width: 768px) {
  .p-single__top {
    padding: var(--size-30) var(--size-10);
  }
  .p-single__top-date {
    font-size: var(--size-12);
    margin-bottom: var(--size-17);
  }
  .p-single__top-title {
    font-size: var(--size-18);
    margin-bottom: var(--size-20);
  }
  .p-single__text {
    margin-top: 0;
    font-size: var(--size-16);
  }
  .p-single__swiper-pagination {
    margin-top: var(--size-30);
  }
  .p-single__nav {
    margin-top: var(--size-40);
  }
  .p-category-related {
    margin-top: var(--size-66);
  }
  .p-category-related__title {
    font-size: var(--size-20);
    margin-bottom: var(--size-56);
  }
  .p-single-related__swiper-pagination {
    margin-top: var(--size-40);
  }
  .p-single__related-slide-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--size-10);
  }
  .p-single__related-sp-slide {
    width: calc(50% - var(--size-10) / 2);
  }
  .p-single-related-sp__swiper-pagination {
    margin-top: var(--size-40);
  }
  .p-single__handling-period {
    margin-top: var(--size-20);
  }
  .p-single__message-group {
    margin-top: var(--size-60);
  }
  .p-single__message-content {
    flex-direction: column;
  }
  .p-single__message-image {
    width: 100%;
  }
  .p-single__image.genre-recommend:before {
    content: '';
    position: absolute;
    bottom: var(--size-7);
    right: var(--size-7);
    width: var(--size-75);
    height: var(--size-75);
    background: url(../img/confidence/icon-recommend.webp) no-repeat center center / contain;
  }
  .p-single__image.genre-original:before {
    content: '';
    position: absolute;
    bottom: var(--size-7);
    right: var(--size-7);
    width: var(--size-75);
    height: var(--size-75);
    background: url(../img/confidence/icon-original.webp) no-repeat center center / contain;
  }
}

/* 404 */
.l-404 {
  margin: 0 0 var(--size-100);
}
.l-404__content {
  padding: var(--size-100) var(--size-50);
  background: #fff;
}
.l-404__title {
  font-size: var(--size-36);
}
.l-404__text {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 2;
  margin-bottom: var(--size-20);
}

@media (max-width: 768px) {
  .l-404 {
    margin: 0 0 var(--size-60);
  }
  .l-404__content {
    padding: var(--size-60) var(--size-10);
  }
  .l-404__title {
    font-size: var(--size-21);
  }
  .l-404__text {
    font-size: var(--size-14);
  }
}

/* 会社概要 */
.p-company__section {
  padding: var(--size-35) var(--size-32);
  margin-bottom: var(--size-50);
  background: #fff;
}
.p-company__section:last-child {
  margin-bottom: 0;
}
.p-company__section-inner {
  display: flex;
  gap: var(--size-50);
}
.p-company__section-title-wrap {
  min-width: var(--size-275);
}
.p-company__section-content {
  flex: 1;
}
.p-company__section-title-text-en {
  font-size: var(--size-18);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: var(--size-6);
  color: #E81425;
}
.p-company__section-title-text {
  font-size: var(--size-32);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.u-message .p-company__section-content {
  margin: var(--size-165) 0 var(--size-50);
  max-width: var(--size-720);
}
.p-company__message-content-title {
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: var(--size-24);
  padding-left: var(--size-15);
  border-left: solid var(--size-8) #E81425;
}
.p-company__message-content-read {
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: var(--size-60);
}
.p-company__message-content-text {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 2.5;
  margin-bottom: var(--size-70);
}
.p-company__message-content-name {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.5;
  width: fit-content;
  margin-left: auto;
}
.p-company__about-table {
  width: 100%;
}
.p-company__about-table-row {
  display: flex;
  align-items: center;
  gap: var(--size-61);
  padding: var(--size-22) 0;
  border-bottom: solid 1px #EFEFEF;
}
.p-company__about-table-row-title,
.p-company__about-table-row-content {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.5;
}
.p-company__about-table-wrapper  {
  width: 100%;
  overflow-x: auto;
}
.u-excutive .p-company__about-table {
  min-width: var(--size-620);
}
.u-excutive .p-company__about-table-row-title {
  width: var(--size-176);
}
.u-excutive .p-company__about-table-row-content {
  min-width: var(--size-96);
  flex: unset;
}
.p-company__section-content-title {
  font-size: var(--size-18);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: var(--size-10);
  padding: var(--size-2) var(--size-40);
  border: solid var(--size-1) #E81425;
  width: fit-content;
}
.u-excutive .p-company__about-table-row {
  padding: var(--size-20) 0 var(--size-10);
}
.p-company__about-table-row-title {
  width: var(--size-96);
}
.p-company__about-table-row-content {
  flex: 1;
}
.p-company__about-table-row-content-item {
  white-space: nowrap;
}
.u-history .p-company__section-title-wrap {
  width: var(--size-710);
}
.u-history .p-company__section-content {
  flex: 1;
  max-width: var(--size-275);
  margin-top: var(--size-150);
}
.p-company__history-content {
  position: relative;
  margin-left: var(--size-44);
  margin-top: var(--size-62);
}
.p-company__history-content:before {
  content: '';
  position: absolute;
  top: var(--size-5);
  left: var(--size-218);
  width: var(--size-1);
  height: calc(100% - var(--size-10));
  background: #E81425;
}
.p-company__history-content-list {
  position: relative;
  display: flex;
  gap: var(--size-64);
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: var(--size-50);
}
.p-company__history-content-list:last-child {
  margin-bottom: 0;
}
.p-company__history-content-list:before {
  content: '';
  position: absolute;
  top: var(--size-5);
  left: var(--size-209);
  width: var(--size-19);
  height: var(--size-19);
  background: rgba(221,132,139,.64);
  border-radius: 50%;
}
.p-company__history-content-list:after {
  content: '';
  position: absolute;
  top: var(--size-10);
  left: var(--size-214);
  width: var(--size-9);
  height: var(--size-9);
  background: #E81425;
  border-radius: 50%;
}
.p-company__history-content-list-title {
  width: var(--size-190);
  white-space: nowrap;
}
.p-company__history-content-list-text {
  flex: 1;
}
.p-company__history-content-images {
  display: flex;
  flex-direction: column;
  gap: var(--size-30);
}
.p-company__history-content-image-text {
  font-size: var(--size-14);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-top: var(--size-16);
}
.u-notice .p-company__section-content {
  margin: var(--size-100) 0;
}
.p-company__financial-content-item-title {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: var(--size-15);
}
.p-company__financial-content-item-text {
  font-size: var(--size-14);
  font-weight: 500;
  line-height: 1.5;
}
.p-company__financial-content-item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--size-300);
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.5;
  margin-top: var(--size-50);
  padding: var(--size-11);
  background: #E81425;
  color: #fff;
  border-radius: 100vmax;
  gap: var(--size-12);
  transition: opacity 0.3s;
}
.p-company__financial-content-item-image {
  width: var(--size-20);
  height: var(--size-27);
}
.p-company__financial-content-item-link:hover {
  opacity: 0.7;
}
.p-company__financial-bottom {
  margin-top: var(--size-35);
  padding-top: var(--size-35);
  border-top: solid 1px #EBEBEB;
}
.p-company__financial-bottom-item {
  display: flex;
  align-items: center;
  gap: var(--size-15);
}
.p-company__financial-bottom-item-title {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.5;
}
.p-company__financial-bottom-item-banner {
  width: var(--size-158);
}
.p-company__financial-bottom-item-text {
  flex: 1;
  font-size: var(--size-14);
  font-weight: 500;
  line-height: 1.5;
}
.p-company__financial-bottom-item-text-span {
  display: inline-block;
  padding: 0;
  margin: var(--size-2) var(--size-5);
  color: #E81425;
  border-bottom: var(--size-1) solid #E81425;
  transition: opacity 0.3s;
}
.p-company__financial-bottom-item-text-span:hover {
  opacity: 0.5;
}
.p-company__section-content-button {
  display: block;
  width: 100%;
  max-width: var(--size-370);
  margin: var(--size-35) auto 0;
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  padding: var(--size-13);
  background: #E81425;
  color: #fff;
  border-radius: 100vmax;
  transition: opacity 0.3s;
}
.p-company__section-content-button:hover {
  opacity: 0.7;
}
.p-company__section-content.u-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.p-company__section-title-image {
  display: block;
}

@media (max-width: 1440px) {
  .p-company__section-inner {
    flex-direction: column;
    gap: var(--size-30);
  }
  .p-company__section-title-wrap {
    min-width: 100%;
  }
  .p-company__section-content {
    margin-top: var(--size-50);
  }
  .u-message .p-company__section-content {
    margin: 0;
    max-width: 100%;
  }
  .p-company__section-content {
    margin-top: var(--size-20);
    max-width: 100%;
  }
  .p-company__history-content-images {
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: var(--size-15);
    row-gap: var(--size-24);
  }
  .u-history .p-company__section-content {
    max-width: 100%;
    margin-top: var(--size-50);
  }
  .u-history .p-company__section-title-wrap {
    width: 100%;
  }
  .p-company__history-content-image-wrap {
    width: calc(50% - var(--size-15) / 2);
  }
  .p-company__history-content-image {
    width: 100%;
    aspect-ratio: 160 / 105;
  }
  .p-company__history-content-image-text {
    margin-top: var(--size-10);
  }
  .u-notice .p-company__section-content {
    margin: var(--size-50) 0;
  }
}

@media (max-width: 1024px) {
  .p-company__section {
    padding: var(--size-45) var(--size-10);
  }
  .p-company__section-title-text-en {
    font-size: var(--size-12);
  }
  .p-company__section-title-text {
    font-size: var(--size-18);
  }
  .p-company__section-content {
    margin-top: var(--size-15);
  }
  .p-company__message-content-title {
    font-size: var(--size-18);
  }
  .p-company__message-content-read {
    font-size: var(--size-18);
  }
  .p-company__message-content-text {
    font-size: var(--size-14);
  }
  .p-company__message-content-name {
    font-size: var(--size-14);
  }
  .p-company__about-table-row {
    gap: var(--size-12);
    padding: var(--size-10) 0;
    align-items: flex-start;
  }
  .p-company__about-table-row-title,
  .p-company__about-table-row-content {
    font-size: var(--size-14);
  }
  .p-company__about-table-row-title {
    width: var(--size-86);
  }
  .p-company__section-title-image {
    width: 100%;
    max-width: var(--size-350);
  }
  .p-company__about-table-row-content {
    flex: 1;
  }
  .p-company__history-content {
    margin-top: var(--size-50);
    margin-left: 0;
  }
  .p-company__history-content-list {
    font-size: var(--size-14);
  }
  .p-company__history-content-list:before {
    top: var(--size-10);
  }
  .p-company__history-content-list:after {
    top: var(--size-15);
  }
  .p-company__history-content-image-text {
    font-size: var(--size-12);
  }
  .l-company .c-has-sidebar {
    flex-direction: column;
    gap: var(--size-50);
  }
  .l-company .c-has-sidebar__aside {
    position: static;
    width: 100%;
  }
  .l-company .c-has-sidebar__main {
    width: 100%;
  }
  .l-company .c-has-sidebar__aside-inner {
    padding: 0;
  }
}

@media (max-width: 768px) {
  .p-company__section {
    margin-bottom: var(--size-30);
  }
  .p-company__history-content-list {
    gap: var(--size-67);
  }
  .p-company__history-content-list-title {
    width: var(--size-86);
  }
  .p-company__history-content-list-title-small {
    display: block;
    font-size: var(--size-12);
  }
  .p-company__history-content:before {
    left: var(--size-114);
  }
  .p-company__history-content-list:before {
    left: var(--size-105);
  }
  .p-company__history-content-list:after {
    left: var(--size-110);
  }
  .p-company__history-content-list-text {
    font-size: var(--size-12);
  }
  .u-notice .p-company__section-content {
    margin: var(--size-20) 0;
  }
  .p-company__financial-content-item-title {
    font-size: var(--size-14);
  }
  .p-company__financial-bottom {
    border-top: none;
    margin-top: 0;
    padding-top: var(--size-47);
  }
  .p-company__financial-bottom-item-title {
    font-size: var(--size-14);
  }
  .p-company__financial-bottom-item-text {
    font-size: var(--size-12);
  }
  .p-company__financial-bottom-item {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--size-10);
  }
  .p-company__top-anchor-link {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: var(--size-30);
    gap: var(--size-10);
    font-size: var(--size-12);
    font-weight: 500;
    line-height: 1.5;
    transition: opacity 0.3s;
    letter-spacing: 0.1em;
  }
  .p-company__top-anchor-link-icon {
    transform: scale(-1);
    width: var(--size-10);
  }
  .p-company__top-anchor-link:hover {
    opacity: 0.7;
  }
  .p-company__financial-bottom-item-text-span {
    padding: 0;
  }
  .p-company__message-content-text {
    font-size: var(--size-13);
  }
  .p-company__section-content-button {
    margin: var(--size-20) auto 0;
  }
  .p-company__section-content-title {
    font-size: var(--size-16);
    padding: var(--size-2) var(--size-20)
  }
}

/* ポイントカード */
.p-page-card__content {
  display: flex;
  gap: var(--size-40);
  padding: var(--size-20);
  background: #fff;
}
.p-page-card__content-text {
  width: var(--size-780);
}
.p-page-card__content-image {
  flex: 1;
}
.p-page-card__content-title {
  padding: var(--size-21) var(--size-56);
  background: #F2F2F2;
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: var(--size-45);
}
.p-page-card__content-label {
  display: flex;
  gap: var(--size-10);
}
.p-page-card__content-label-text {
  margin-bottom: var(--size-30);
  font-size: var(--size-20);
  font-weight: 500;
  line-height: 1.4;
  padding: var(--size-8) var(--size-20);
  border-radius: 100vmax;
  background: #3CA0EA;
  color: #fff;
  width: var(--size-227);
  text-align: center;
}
.p-page-card__content-label-text.u-green {
  background: #40AF7C;
}
.p-page-card__content-label-icon {
  width: var(--size-16);
}
.p-page-card__content-text-text {
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.5;
}
.p-page-card__section-title-text-en {
  font-size: var(--size-18);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.1em;
  color: #E81425;
  display: block;
}
.p-page-card__section-title-text {
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.p-page-rakuten-point-card__content {
  background: #fff;
}
.p-page-rakuten-point-card__content-inner {
  padding: var(--size-60) 0 0;
  margin: 0 var(--size-66);
}
.p-page-rakuten-point-card__content-inner.u-has-border {
  padding-bottom: var(--size-40);
  border-top: solid var(--size-1) #E8E8E8;
}
.p-page-rakuten-point-card__content-inner-method {
  padding: var(--size-40);
  background: #F4F4F4;
}
.p-page-rakuten-point-card__content-inner-method-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--size-35);
  font-size: var(--size-36);
  color: #3CA0EA;
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: var(--size-50);
}
.p-page-rakuten-point-card__content-inner-method-item-image {
  width: var(--size-110);
}
.p-page-rakuten-point-card__content-inner-method-choose {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--size-10);
}
.p-page-rakuten-point-card__content-inner-method-choose-item {
  width: 100%;
  max-width: var(--size-640);
  border-radius: var(--size-24);
  overflow: hidden;
  background: #fff;
  border: solid var(--size-3) #3CA0EA;
}
.u-black.p-page-rakuten-point-card__content-inner-method-choose-item {
  color: #000;
  border-color: #000;
}
.p-page-rakuten-point-card__content-inner-method-choose-item-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--size-18);
  color: #3CA0EA;
  font-size: var(--size-29);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: var(--size-16);
  border-bottom: solid var(--size-3) #3CA0EA;
}
.u-black .p-page-rakuten-point-card__content-inner-method-choose-item-title {
  color: #000;
  border-bottom: solid var(--size-3) #000;
}
.p-page-rakuten-point-card__content-inner-method-choose-item-content {
  padding: var(--size-36) var(--size-24);
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p-page-rakuten-point-card__content-inner-method-choose-item-content-text {
  font-size: var(--size-24);
  text-align: center;
}
.p-page-rakuten-point-card__content-inner-method-choose-item-content-button {
  display: block;
  width: 100%;
  max-width: var(--size-493);
  margin: var(--size-35) auto 0;
  text-align: center;
  font-size: var(--size-18);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  border-radius: 100vmax;
  background: #3CA0EA;
  color: #fff;
  padding: var(--size-8);
  transition: opacity 0.3s;
}
.p-page-rakuten-point-card__content-inner-method-choose-item-content-button:hover {
  opacity: 0.7;
}
.u-black .p-page-rakuten-point-card__content-inner-method-choose-item-content-button {
  background: #000;
}
.p-page-rakuten-point-card__content-inner-method-attention {
  margin-top: var(--size-30);
  font-size: var(--size-14);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p-page-rakuten-point-card__content-inner-method-attention-text-span {
  white-space: nowrap;
}
.p-page-rakuten-point-card__content-inner-title {
  margin-bottom: var(--size-65);
  font-size: var(--size-36);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.5;
}
.p-page-rakuten-point-card__content-inner-title-small {
  font-size: var(--size-24);
  display: block;
}
.p-page-rakuten-point-card__content-inner-image {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--size-30);
  margin-bottom: var(--size-40);
  justify-content: space-between;
}
.p-page-rakuten-point-card__content-inner-image-text {
  font-size: var(--size-47);
  font-weight: 700;
  color: #E81425;
}
.p-page-rakuten-point-card__content-inner-image-item {
  width: var(--size-477);
}
.p-page-rakuten-point-card__content-inner-image-item:last-child {
  width: var(--size-188);
}
.p-page-rakuten-point-card__content-inner-text {
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  margin-bottom: var(--size-60);
  letter-spacing: 0.1em;
}
.p-page-rakuten-point-card__content-inner-text-strong {
  font-size: var(--size-48);
  font-weight: 500;
  color: #E81425;
}
.p-page-card__section {
  overflow: visible;
}
.p-page-card__aside {
  margin: var(--size-43) 0 var(--size-61);
}
.p-page-process__content {
  margin-top: var(--size-37);
  padding: var(--size-53) var(--size-10) var(--size-60);
  background: #F4F4F4;
  text-align: center;
}
.p-page-process__process-title {
  font-size: var(--size-24);
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: var(--size-35);
}
.p-page-process__process-button {
  display: block;
  width: 100%;
  max-width: var(--size-493);
  margin: 0 auto;
  font-size: var(--size-18);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: var(--size-8);
  border-radius: 100vmax;
  background: #E81425;
  color: #fff;
  transition: opacity 0.3s;
}
.p-page-process__process-button:hover {
  opacity: 0.7;
}
.p-page-card__image {
  margin: var(--size-66) 0 var(--size-100);
  background: #fff;
}
.p-page-card__image-item {
  display: block;
  width: 100%;
  max-width: var(--size-1426);
  margin: 0 auto;
}
.p-page-card__how-to-use {
  background: #fff;
}
.p-page-card__how-to-use-inner {
  max-width: calc(var(--size-1250) + var(--size-30) * 2);
  margin: 0 auto;
  padding: var(--size-85) var(--size-30);
}
.p-page-card__how-to-use-inner-title {
  display: block;
  padding: var(--size-8) var(--size-32);
  font-size: var(--size-24);
  color: #E81425;
  font-weight: 500;
  line-height: 1.5;
  border: solid var(--size-1) #E81425;
  border-radius: 100vmax;
  margin-bottom: var(--size-30);
}
.p-page-card__how-to-use-inner-content-group {
  display: flex;
  gap: var(--size-10);
  margin-bottom: var(--size-46);
}
.p-page-card__how-to-use-inner-content {
  width: var(--size-642);
}
.p-page-card__how-to-use-inner-image {
  flex: 1;
}
.p-page-card__how-to-use-inner-content-text {
  font-size: var(--size-18);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: var(--size-68);
}
.p-page-card__how-to-use-inner-content-attention {
  display: flex;
  align-items: center;
  gap: var(--size-10);
  flex-wrap: wrap;
}
.p-page-card__how-to-use-inner-content-attention-text {
  display: flex;
  gap: var(--size-10);
  align-items: center;
  font-size: var(--size-18);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p-page-card__how-to-use-inner-content-attention-list {
  margin-top: var(--size-26);
}
.p-page-card__how-to-use-inner-content-attention-list-item {
  position: relative;
  font-size: var(--size-14);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-left: calc(1em * 1.1);
}
.p-page-card__how-to-use-inner-content-attention-list-item:before {
  content: '※';
  position: absolute;
  top: 0;
  left: calc(-1em * 1.1);
}
.p-page-card__how-to-use-attention {
  max-width: var(--size-1540);
  margin: var(--size-37) var(--size-30) var(--size-78);
  padding: var(--size-85) var(--size-30);
  background: #F5F5F5;
  text-align: center;
}
.p-page-card__how-to-use-attention-title {
  margin-bottom: var(--size-26);
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.5;
}
.p-page-card__how-to-use-attention-text {
  margin-bottom: var(--size-54);
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p-page-card__how-to-use-attention-text-strong {
  font-size: var(--size-24);
}
.p-page-card__how-to-use-attention-image {
  display: block;
  max-width: var(--size-1266);
  width: 100%;
  margin: 0 auto;
}
.p-page-card__how-to-use-store {
  text-align: center;
  padding-bottom: var(--size-100);
}
.p-page-card__how-to-use-store-title {
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: var(--size-26);
}
.p-page-card__how-to-use-store-text {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: var(--size-30);
}
.p-page-card__how-to-use-store-button {
  display: block;
  width: 100%;
  max-width: var(--size-493);
  margin: 0 auto;
  font-size: var(--size-20);
  padding: var(--size-8);
  border-radius: 100vmax;
  background: #E81425;
  color: #fff;
  transition: opacity 0.3s;
}
.p-page-card__how-to-use-store-button:hover {
  opacity: 0.7;
}
.p-page-card__how-to-use-store-attention-list {
  margin-top: var(--size-31);
}
.p-page-card__how-to-use-store-attention-list-item {
  font-size: var(--size-14);
  font-weight: 500;
  line-height: 1.5;
  margin-left: calc(1em * 1.1);
}
.p-page-card__faq {
  background: #fff;
}
.p-page-card__faq-inner {
  max-width: calc(var(--size-1360) + var(--size-10) * 2);
  margin: 0 auto;
  padding: var(--size-85) var(--size-10);
}
.p-page-card__faq-list {
  padding: 0 0 var(--size-50);
  margin: 0 var(--size-50) var(--size-50);
  border-bottom: solid var(--size-1) #E3E3E3;
}
.p-page-card__faq-list:last-child {
  margin-bottom: 0;
}
.p-page-card__faq-list-title,
.p-page-card__faq-list-content {
  position: relative;
  font-weight: 500;
  line-height: 1.5;
  margin-left: 56px;
}
.p-page-card__faq-list-title {
  font-size: var(--size-20);
  padding-right: var(--size-48);
}
.p-page-card__faq-list-content {
  font-size: var(--size-18);
  margin-top: var(--size-32);
  display: none;
}
.p-page-card__faq-list-content-small {
  font-size: var(--size-14);
  font-weight: 500;
  line-height: 1.5;
}
.p-page-card__faq-list-title:before,
.p-page-card__faq-list-content:before {
  position: absolute;
  top: -15px;
  left: -56px;
  font-size: var(--size-36);
  font-weight: 500;
  line-height: 1.5;
  color: #E81425;
}
.p-page-card__faq-list-title:before {
  content: 'Q';
}
.p-page-card__faq-list-content:before {
  content: 'A';
}
.p-page-card__faq-list-title:after {
  content: '';
  width: var(--size-32);
  height: var(--size-32);
  position: absolute;
  top: 0;
  right: 0;
  background: url(../img/common/icon-plus.svg) no-repeat center center / contain;
  transition: background 0.3s;
}
.p-page-card__faq-list-title.is-active:after {
  background: url(../img/common/icon-minus.svg) no-repeat center center / contain;
}
.p-page-card__faq-list-content-red {
  color: #E81425;
}
.p-page-card__aside-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-16);
}
.p-page-card__aside-list-item {
  width: calc(33.333% - var(--size-16) * 2 / 3);
}
.p-page-card__aside-list-item-link {
  font-size: var(--size-21);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: var(--size-8) var(--size-32);
  background: #E81425;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--size-10);
  transition: opacity 0.3s;
}
.p-page-card__aside-list-item-link:hover {
  opacity: 0.7;
}

@media (max-width: 1500px) {
  .p-page-card__content-title {
    padding: var(--size-10);
    font-size: var(--size-20);
    margin-bottom: var(--size-20);
  }
  .p-page-card__content-label-text {
    font-size: var(--size-16);
  }
  .p-page-card__aside-list-item-link {
    font-size: var(--size-16);
  }
  .p-page-card__content-text-text {
    font-size: var(--size-16);
  }
  .p-page-rakuten-point-card__content-inner-title {
    font-size: var(--size-18);
  }
  .p-page-rakuten-point-card__content-inner-title-small {
    font-size: var(--size-16);
  }
  .p-page-rakuten-point-card__content-inner-method-choose-item-content-button {
    font-size: var(--size-16);
  }
  .p-page-rakuten-point-card__content-inner-method-choose-item-content-text {
    font-size: var(--size-16);
  }
  .p-page-rakuten-point-card__content-inner-text {
    font-size: var(--size-18);
  }
  .p-page-rakuten-point-card__content-inner-text-strong {
    font-size: var(--size-24);
  }
  .p-page-rakuten-point-card__content-inner-title {
    font-size: var(--size-18);
  }
  .p-page-rakuten-point-card__content-inner-image-item {
    font-size: var(--size-16);
  }
  .p-page-rakuten-point-card__content-inner-method-item-image {
    width: var(--size-60);
  }
  .p-page-rakuten-point-card__content-inner-method-item {
    font-size: var(--size-20);
  }
  .p-page-rakuten-point-card__content-inner-method-choose-item-content {
    padding: var(--size-20) var(--size-10);
  }
  .p-page-rakuten-point-card__content-inner-method-choose-item-content-text {
    font-size: var(--size-16);
  }
  .p-page-rakuten-point-card__content-inner-method-choose-item-title {
    font-size: var(--size-18);
    padding: var(--size-10);
  }
  .p-page-rakuten-point-card__content-inner-method-choose-item-title img {
    width: var(--size-20);
  }
  .p-page-process__process-title {
    font-size: var(--size-18);
  }
  .p-page-process__process-button {
    font-size: var(--size-16);
  }
  .p-page-card__how-to-use-inner-title {
    font-size: var(--size-18);
  }
  .p-page-card__how-to-use-inner-content-text {
    font-size: var(--size-16);
    margin-bottom: var(--size-30);
  }
  .p-page-card__how-to-use-inner-content-attention-text {
    font-size: var(--size-16);
  }
  .p-page-card__how-to-use-inner-content-attention-text img {
    width: var(--size-20);
  }
  .p-page-card__how-to-use-inner-content-attention-list-item {
    font-size: var(--size-12);
  }
  .p-page-card__how-to-use-inner-image {
    max-width: var(--size-480);
  }
  .p-page-card__how-to-use-attention-title {
    font-size: var(--size-21);
  }
  .p-page-card__how-to-use-attention-text {
    font-size: var(--size-14);
  }
  .p-page-card__how-to-use-attention-text-strong {
    font-size: var(--size-18);
  }
  .p-page-card__how-to-use-store-title {
    font-size: var(--size-21);
  }
  .p-page-card__how-to-use-store-text {
    font-size: var(--size-16);
  }
  .p-page-card__how-to-use-store-button {
    font-size: var(--size-16);
  }
  .p-page-card__how-to-use-store-attention-list {
    width: fit-content;
    margin: var(--size-31) auto 0;
  }
  .p-page-card__how-to-use-store-attention-list-item {
    font-size: var(--size-12);
    text-align: left;
  }
  .p-page-card__faq-list-title {
    font-size: var(--size-18);
  }
  .p-page-card__faq-list-content {
    font-size: var(--size-16);
  }
  .p-page-card__faq-list-content-small {
    font-size: var(--size-12);
  }
  .p-page-card__faq-list-title:before,
  .p-page-card__faq-list-content:before {
    font-size: var(--size-30);
    top: -11px;
  }
}

@media (max-width: 1240px) {
  .p-page-card__aside-list-item-link {
    font-size: var(--size-12);
    padding: var(--size-8);
  }
  .p-page-card__content {
    flex-direction: column-reverse;
    gap: var(--size-20);
    padding: var(--size-20);
  }
  .p-page-card__content-image {
    max-width: var(--size-480);
  }
  .p-page-card__content-text {
    width: 100%;
  }
  .p-page-rakuten-point-card__content-inner-method-choose {
    flex-direction: column;
  }
  .p-page-rakuten-point-card__content-inner-method-choose-item {
    max-width: 100%;
  }
  .p-page-rakuten-point-card__content-inner-method-choose-item-title {
    font-size: var(--size-24);
  }
}

@media (max-width: 1024px) {
  .p-page-card__aside-list {
    gap: var(--size-10);
  }
  .p-page-card__aside-list-item {
    width: calc(50% - var(--size-10) * 1 / 2);
  }
  .p-page-card__how-to-use-inner-content-group {
    flex-direction: column;
    gap: var(--size-30);
  }
  .p-page-card__how-to-use-inner-content {
    width: 100%;
  }
  .p-page-card__how-to-use-inner-image {
    max-width: var(--size-480);
  }
}

@media (max-width: 768px) {
  .p-page-card__content {
    padding: var(--size-20) var(--size-10);
  }
  .p-page-card__content-title {
    font-size: var(--size-16);
  }
  .p-page-card__content-label-text {
    width: var(--size-150);
    padding: var(--size-4) var(--size-10);
    font-size: var(--size-14);
  }
  .p-page-card__content-text-text {
    font-size: var(--size-14);
  }
  .p-page-card__section-title-text-en {
    font-size: var(--size-14);
  }
  .p-page-card__section-title-text {
    font-size: var(--size-18);
  }
  .p-page-rakuten-point-card__content-inner {
    margin: 0 var(--size-10);
    padding: var(--size-40) var(--size-10);
  }
  .p-page-rakuten-point-card__content-inner-title-small {
    font-size: var(--size-12);
  }
  .p-page-rakuten-point-card__content-inner-title {
    font-size: var(--size-14);
    margin-bottom: var(--size-20);
  }
  .p-page-rakuten-point-card__content-inner-text {
    font-size: var(--size-14);
    margin-bottom: 0;
  }
  .p-page-rakuten-point-card__content-inner-text-strong {
    display: block;
    font-size: var(--size-24);
  }
  .p-page-rakuten-point-card__content-inner.u-has-border {
    padding: var(--size-40) 0 var(--size-20);
  }
  .p-page-rakuten-point-card__content-inner-image-item {
    font-size: var(--size-14);
  }
  .p-page-rakuten-point-card__content-inner-method {
    padding: var(--size-40) var(--size-10);
  }
  .p-page-rakuten-point-card__content-inner-method-item {
    margin-bottom: var(--size-20);
    font-size: var(--size-14);
    gap: var(--size-5);
  }
  .p-page-rakuten-point-card__content-inner-method-item-image {
    width: var(--size-40);
  }
  .p-page-rakuten-point-card__content-inner-method-choose-item-content-button {
    margin-top: var(--size-10);
    font-size: var(--size-10);
  }
  .p-page-rakuten-point-card__content-inner-method-choose-item-title {
    font-size: var(--size-14);
  }
  .p-page-rakuten-point-card__content-inner-method-choose-item-content {
    padding: var(--size-10);
  }
  .p-page-rakuten-point-card__content-inner-method-choose-item-content-text {
    font-size: var(--size-12);
    margin-bottom: var(--size-10);
  }
  .p-page-card__section-title-image {
    width: var(--size-100);
  }
  .p-page-card__aside-list-item {
    width: 100%;
  }
  .p-page-rakuten-point-card__content-inner-image {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--size-10);
  }
  .p-page-rakuten-point-card__content-inner-image-text {
    rotate: 90deg;
  }
  .p-page-rakuten-point-card__content-inner-method-attention-text-span {
    white-space: normal;
    font-size: var(--size-10);
  }
  .p-page-rakuten-point-card__content-inner-method-attention-text {
    font-size: var(--size-12);
  }
  .p-page-rakuten-point-card__content-inner-method-attention-text-span {
    display: block;
  }
  .p-page-process__process-title {
    font-size: var(--size-16);
  }
  .p-page-process__process-button {
    font-size: var(--size-14);
  }
  .p-page-card__how-to-use-inner-title {
    font-size: var(--size-16);
  }
  .p-page-card__image {
    margin: var(--size-40) 0 var(--size-60);
  }
  .p-page-card__how-to-use-inner {
    padding: var(--size-40) var(--size-10);
  }
  .p-page-card__how-to-use-inner-content-group {
    gap: var(--size-20);
    margin-bottom: 0;
  }
  .p-page-card__how-to-use-inner-content-text {
    font-size: var(--size-14);
    margin-bottom: var(--size-20);
  }
  .p-page-card__how-to-use-inner-title {
    padding: var(--size-5) var(--size-10);
    margin-bottom: var(--size-20);
  }
  .p-page-card__how-to-use-inner-content-attention-text {
    font-size: var(--size-12);
  }
  .p-page-card__how-to-use-inner-content-attention-list-item {
    font-size: var(--size-10);
  }
  .p-page-card__how-to-use-attention {
    margin: 0 var(--size-10);
    padding: var(--size-20) var(--size-10);
  }
  .p-page-card__how-to-use-attention-title {
    font-size: var(--size-18);
  }
  .p-page-card__how-to-use-attention-text {
    font-size: var(--size-12);
    text-align: left;
    margin-bottom: var(--size-10);
  }
  .p-page-card__how-to-use-attention-text-strong {
    font-size: var(--size-16);
  }
  .p-page-card__how-to-use-store {
    margin-top: var(--size-20);
    padding: var(--size-20) var(--size-10);
  }
  .p-page-card__how-to-use-store-title {
    font-size: var(--size-16);
  }
  .p-page-card__how-to-use-store-text {
    font-size: var(--size-14);
  }
  .p-page-card__how-to-use-store-attention-list-item {
    font-size: var(--size-10);
  }
  .p-page-card__how-to-use-store-attention-list {
    margin: var(--size-20) auto 0;
  }
  .p-page-card__faq-list {
    margin: 0 0 var(--size-30);
    padding : 0 0 var(--size-30)
  }
  .p-page-card__how-to-use-store-button {
    font-size: var(--size-14);
  }
  .p-page-card__faq-list-title {
    font-size: var(--size-16);
  }
  .p-page-card__faq-list-content {
    font-size: var(--size-14);
  }
  .p-page-card__faq-list-content-small {
    font-size: var(--size-10);
  }
  .p-page-card__faq-list-title:after {
    top: var(--size-3);
    width: var(--size-20);
    height: var(--size-20);
  }
  .p-page-card__faq-list-title, {
    padding-right: var(--size-30);
  }
  .p-page-card__faq-list-content,
  .p-page-card__faq-list-title {
    margin-left: var(--size-30);
  }
  .p-page-card__faq-list-title:before {
    width: var(--size-20);
    height: var(--size-20);
  }
  .p-page-card__faq-list-title:before,
  .p-page-card__faq-list-content:before {
    top: -9px;
    margin-left: var(--size-30);
    font-size: var(--size-24);
  }
  .p-page-card__faq-inner {
    padding: var(--size-40) var(--size-10);
  }
  .p-page-rakuten-point-card__content-inner-image-item:last-child {
    width: var(--size-140);
  }
}

/* 法務関連 */
.l-terms {
  padding: var(--size-65) var(--size-100);
  background: #fff;
  margin-bottom: var(--size-100);
}
.l-terms__title {
  font-size: var(--size-24);
  font-weight: 500;
  margin-bottom: var(--size-30);
  line-height: 1.4;
}
.l-terms__description {
  font-size: var(--size-16);
  line-height: 1.7;
  font-weight: 500;
  margin-bottom: var(--size-50);
}
.l-terms__description:last-child,
.l-terms__title:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .l-terms {
    padding: var(--size-40) var(--size-10);
  }
  .l-terms__title {
    font-size: var(--size-18);
  }
  .l-terms__description {
    font-size: var(--size-14);
  }
  .l-terms {
    margin-bottom: var(--size-40);
  }
}

/* 健康運営 */
.p-health-management__section-inner {
  padding: var(--size-20);
  display: flex;
  gap: var(--size-40);
  background: #fff;
}
.p-health-management__section-inner.c-shadow-15 {
  margin: var(--size-15);
}
.p-health-management__section-inner-image {
  flex: 1;
}
.p-health-management__section-inner-content {
  width: var(--size-780);
}
.p-health-management__section-inner-content-title {
  padding: var(--size-12);
  margin-bottom: var(--size-54);
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.5;
  background: #F2F2F2;
  border-radius: 100vmax;
  text-align: center;
}
.p-health-management__section-inner-content-title-strong {
  color: #E81425;
  font-size: var(--size-36);
}
.p-health-management__section-inner-content-subtitle {
  padding-bottom: var(--size-12);
  margin-bottom: var(--size-28);
  border-bottom: 1px solid rgba(112, 112, 112, 0.22);
  font-size: var(--size-20);
  line-height: 1.4;
  font-weight: 500;
}
.p-health-management__section-inner-content-text {
  font-size: var(--size-16);
  line-height: 2;
  font-weight: 500;
  margin-bottom: var(--size-34);
}
.p-health-management__section-inner-content-image {
  width: var(--size-272);
}
.p-health-management__section-title-group {
  margin: var(--size-80) 0 var(--size-50);
}
.p-health-management__section-title-en {
  font-size: var(--size-18);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  color: #E81425;
}
.p-health-management__section-title {
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
.p-health-management__issue-inner {
  padding: var(--size-50) var(--size-20);
  margin: var(--size-15);
  background: #fff;
}
.p-health-management__issue-inner-content {
  display: flex;
  gap: var(--size-20);
}
.p-health-management__issue-inner-content-title {
  flex: 1;
}
.p-health-management__issue-inner-content-certification {
  width: var(--size-770);
}
.p-health-management__issue-inner-content-text {
  flex: 1;
  font-size: var(--size-18);
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.p-health-management__issue-inner-content-certification-title {
  color: #E81425;
  border-radius: 100vmax;
  border: 1px solid #E81425;
  padding: var(--size-8) var(--size-20);
  margin-bottom: var(--size-10);
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
.p-health-management__issue-inner-content-certification-content {
  display: flex;
  gap: var(--size-40);
  align-items: center;
}
.p-health-management__issue-inner-content-certification-content-image {
  width: var(--size-170);
}
.p-health-management__issue-inner-content-certification-content-text {
  flex: 1;
  font-size: var(--size-14);
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.p-health-management__team-inner {
  padding: var(--size-50) var(--size-20);
  margin: var(--size-15);
  background: #fff;
}
.p-health-management__team-inner-content-text {
  margin-bottom: var(--size-30);
  font-size: var(--size-16);
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
.p-health-management__activity-inner {
  padding: var(--size-50) var(--size-20);
  margin: var(--size-15);
  background: #fff;
}
.p-health-management__activity-inner-content-text {
  font-size: var(--size-16);
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: var(--size-30);
}
.p-health-management__activity-inner-content-table-wrapper {
  overflow-x: auto;
}
.p-health-management__activity-inner-content-table {
  width: 100%;
  min-width: var(--size-650);
}
.p-health-management__activity-inner-content-table-thead-tr-th {
  background: #E81425;
  border: 1px solid #D1D1D1;
  color: #fff;
  font-size: var(--size-16);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  padding: var(--size-15);
  width: 33%;
  background: #E81425;
}
.p-health-management__activity-inner-content-table-tbody-tr-td {
  font-size: var(--size-16);
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  padding: var(--size-15);
  background: #EAEAEA;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #D1D1D1;
}
.p-health-management__activity-inner-content-table-tbody-tr:nth-child(2n-1) .p-health-management__activity-inner-content-table-tbody-tr-td {
  background: #F8F8F8;
}
.p-health-management__activity-inner-content-table-tbody-tr-ul {
  text-align: left;
  padding-left: var(--size-20);
}
.p-health-management__activity-inner-content-table-tbody-tr-ul-li {
  position: relative;
  font-size: var(--size-16);
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.p-health-management__activity-inner-content-table-tbody-tr-ul-li:before {
  content: '・';
  position: absolute;
  top: 0;
  left: -1.1em;
}
.p-health-management__activity-inner-content-table-tbody-tr-td-p-strong {
  font-size: var(--size-24);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0;
  color: #E81425;
}
.p-health-management__activity-inner-content-table-tbody-tr-td-p-small {
  display: block;
  font-size: var(--size-12);
}
.p-health-management__activity-inner-content-table-tbody-tr-td-p {
  margin-top: var(--size-16);
}
.p-health-management__activity-inner-content-table-tbody-tr-td-p:first-child {
  margin-top: 0;
}
.p-health-management__activity-inner-content {
  max-width: var(--size-1250);
  margin: 0 auto;
}
.p-health-management__activity-inner-content-title {
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  padding: var(--size-8) var(--size-20);
  border-radius: 100vmax;
  border: 1px solid #E81425;
  color: #E81425;
  margin-bottom: var(--size-36);
}
.p-health-management__activity-inner-content-slider-swiper-slide {
  box-shadow: inset 0 0 2px 0 rgba(134, 134, 134, .16);
  padding: var(--size-10);
}
.p-health-management__activity-inner-content-slider-swiper-slide-image img {
  aspect-ratio: 288 / 192;
  width: 100%;
  object-fit: cover;
}
.p-health-management__activity-inner-content-slider-swiper-slide-content {
  margin-top: var(--size-10);
  font-size: var(--size-14);
  line-height: 1.5;
  font-weight: 500;
}

@media (max-width: 1480px) {
  .p-health-management__section-inner {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .p-health-management__section-inner-image {
    width: 100%;
    max-width: var(--size-500);
  }
  .p-health-management__section-inner-content {
    width: 100%;
  }
  .p-health-management__issue-inner-content {
    flex-direction: column;
    gap: var(--size-40);
  }
  .p-health-management__issue-inner-content-title {
    width: 100%;
  }
  .p-health-management__issue-inner-content-certification {
    width: 100%;
  }
  .p-health-management__section-inner-content-image {
    display: block;
    margin: 0 auto;
  }
}

@media (max-width: 1024px) {
  .p-health-management__section-inner-content-title {
    font-size: var(--size-16);
  }
  .p-health-management__section-inner-content-title-strong {
    font-size: var(--size-20);
  }
  .p-health-management__section-inner-content-subtitle {
    font-size: var(--size-16);
  }
  .p-health-management__section-inner-content-text {
    font-size: var(--size-14);
  }
  .p-health-management__section-title-en {
    font-size: var(--size-16);
  }
  .p-health-management__section-title {
    font-size: var(--size-20);
  }
  .p-health-management__issue-inner-content-title {
    font-size: var(--size-16);
  }
  .p-health-management__issue-inner-content-certification-title {
    font-size: var(--size-16);
  }
  .p-health-management__issue-inner-content-certification-content-text {
    font-size: var(--size-14);
  }
  .p-health-management__team-inner-content-text {
    font-size: var(--size-14);
  }
  .p-health-management__activity-inner-content-title {
    font-size: var(--size-18);
  }
  .p-health-management__activity-inner-content-slider-swiper-slide-content {
    font-size: var(--size-14);
  }
}

@media (max-width: 768px) {
  .p-health-management .c-shadow-15 {
    box-shadow: inset 0 0 5px 0 rgba(134, 134, 134, .16);
  }
  .p-health-management__section-inner.c-shadow-15 {
    margin: var(--size-5);
  }
  .p-health-management__section-inner-content-title {
    margin-bottom: var(--size-40);
  }
  .p-health-management__section-inner-content-subtitle {
    margin-bottom: var(--size-16);
    padding-bottom: var(--size-10);
  }
  .p-health-management__section-title {
    font-size: var(--size-18);
  }
  .p-health-management__issue-inner-content-title {
    font-size: var(--size-14);
  }
  .p-health-management__issue-inner-content-certification-title {
    font-size: var(--size-14);
  }
  .p-health-management__issue-inner {
    padding: var(--size-30) var(--size-10);
    margin: var(--size-5);
  }
  .p-health-management__section-title-group {
    margin: var(--size-60) 0 var(--size-30);
  }
  .p-health-management__issue-inner-content-text {
    font-size: var(--size-14);
  }
  .p-health-management__issue-inner-content-certification-content-text {
    font-size: var(--size-14);
  }
  .p-health-management__team-inner-content-text {
    font-size: var(--size-14);
    text-align: left;
  }
  .p-health-management__issue-inner-content-certification-content {
    flex-direction: column-reverse;
    gap: var(--size-20);
  }
  .p-health-management__activity-inner {
    padding: var(--size-30) var(--size-10);
    margin: var(--size-5);
  }
  .p-health-management__activity-inner-content-text {
    font-size: var(--size-14);
  }
  .p-health-management__team-inner {
    padding: var(--size-30) var(--size-10);
    margin: var(--size-5);
  }
  .p-health-management__team-inner-content-text {
    font-size: var(--size-14);
  }
  .p-health-management__activity-inner-content-table-thead-tr-th {
    font-size: var(--size-14);
  }
  .p-health-management__activity-inner-content-table-tbody-tr-td {
    font-size: var(--size-13);
  }
  .p-health-management__activity-inner-content-table-tbody-tr-ul-li {
    font-size: var(--size-13);
  }
  .p-health-management__activity-inner-content-table-tbody-tr-td-p-strong {
    font-size: var(--size-18);
  }
  .p-health-management__activity-inner-content-table-tbody-tr-td-p-small {
    font-size: var(--size-10);
  }
  .p-health-management__activity-inner-content-title {
    font-size: var(--size-14);
    margin-bottom: var(--size-20);
  }
}

.p-csr__content {
  padding: var(--size-35) var(--size-32);
  background: #fff;
}
.p-csr__section-content-title {
  font-size: var(--size-24);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  padding: var(--size-8) var(--size-20);
  border-radius: 100vmax;
  border: 1px solid #E81425;
  color: #E81425;
  margin: var(--size-30) 0  var(--size-48);
}
.p-csr__section-content-item {
  display: flex;
  gap: var(--size-15);
}
.p-csr__section-content-item-text {
  width: calc(50% - var(--size-15) / 2);
}
.p-csr__section-content-item-image {
  width: calc(50% - var(--size-15) / 2);
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-10);
  height: fit-content;
}
.p-csr__section-content-item-image-item {
  width: calc(50% - var(--size-5));
  height: fit-content;
  max-height: var(--size-225);
  object-fit: contain;
}
.u-full .p-csr__section-content-item-image-item {
  width: 100%;
}
.p-csr__section-content-item-text-title {
  font-size: var(--size-20);
  font-weight: 500;
  line-height: 1.4;
  padding-bottom: var(--size-12);
  border-bottom: 1px solid rgba(112, 112, 112, .22);
  margin-bottom: var(--size-28);
}
.p-csr__section-content-item-text-text {
  font-size: var(--size-16);
  line-height: 2;
  font-weight: 500;
}
.p-csr__section-content-item-text-read {
  font-size: var(--size-20);
  margin-bottom: var(--size-20);
  line-height: 1.4;
  font-weight: 500;
}
.p-csr__section-content-item-text-list {
  font-size: var(--size-16);
  line-height: 2;
  font-weight: 500;
}
.p-csr__section-content-item-text-list-item {
  position: relative;
  padding-left: var(--size-20);
}
.p-csr__section-content-item-text-list-item:before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
}
.p-csr__section-content-item {
  margin-bottom: var(--size-50);
}
.p-csr__section-content-item-list {
  display: flex;
  gap: var(--size-20);
}
.p-csr__section-content-item-list-item {
  display: flex;
  flex-direction: column;
  width: calc(33.33% - var(--size-20) * 2 / 3);
}
.p-csr__section-content-item-list-item-text {
  width: 100%;
  flex: 1;
  margin-bottom: var(--size-20);
}
.p-csr__section-content-item-list-item-text-title {
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 2;
  margin-bottom: var(--size-10);
  color: #E81425;
}
.p-csr__section-content-item-list-item-text-text {
  font-size: var(--size-16);
  line-height: 2;
  font-weight: 500;
}
.p-csr__section-content-item-text-button {
  display: flex;
  width: var(--size-280);
  align-items: center;
  justify-content: space-between;
  gap: var(--size-10);
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.4;
  background: #E81425;
  padding: var(--size-10) var(--size-28);
  color: #fff;
  margin-top: var(--size-50);
  transition: opacity .3s ease-in-out;
}
.p-csr__section-content-item-text-button:hover {
  opacity: .7;
}

@media (max-width: 1280px) {
  .p-csr__section-content-item {
    flex-direction: column;
    gap: var(--size-20);
  }
  .p-csr__section-content-item-text {
    width: 100%;
  }
  .p-csr__section-content-item-image {
    width: 100%;
  }
  .p-csr__section-content-item-image-item {
    max-height: unset;
  }
  .p-csr__section-content-item-list {
    flex-wrap: wrap;
    justify-content: center;
  }
  .p-csr__section-content-item-list-item {
    width: calc(50% - var(--size-10));
  }
}

@media (max-width: 768px) {
  .p-csr__section-content-title {
    font-size: var(--size-16);
    padding: var(--size-8) var(--size-10);
    margin: var(--size-20) 0  var(--size-30);
  }
  .p-csr__section-content-item {
    margin-bottom: var(--size-50);
  }
  .p-csr__section-content-item-text-title {
    font-size: var(--size-16);
    margin-bottom: var(--size-12);
    padding-bottom: var(--size-8);
  }
  .p-csr__section-content-item-text-text {
    font-size: var(--size-14);
  }
  .p-csr__section-content-item-text-read {
    font-size: var(--size-14);
    margin-bottom: var(--size-10);
  }
  .p-csr__section-content-item-text-list {
    font-size: var(--size-14);
  }
  .p-csr__section-content-item-text-list-item {
    font-size: var(--size-14);
  }
  .p-csr__section-content-item-list-item {
    width: 100%;
  }
  .p-csr__section-content-item-list-item-text {
    margin-bottom: var(--size-10);
  }
  .p-csr__section-content-item-list-item-text-title {
    font-size: var(--size-14);
    margin-bottom: var(--size-5);
  }
  .p-csr__section-content-item-list-item-text-text {
    font-size: var(--size-14);
  }
  .p-csr__section-content-item-text-button {
    width: 100%;
    font-size: var(--size-14);
    padding: var(--size-10) var(--size-10);
    margin-top: var(--size-20);
  }
  .p-csr__section-content-item-image-item {
    width: 100%;
    height: auto;
  }
}