@charset "UTF-8";
/* ==========================================
 Layout
============================================*/
@media screen and (min-width: 992px) {
  .content-box:first-child {
    display: contents;
  }
}
/* ==========================================
 Contents
============================================*/
/* MV */
.mv__image img {
  width: 100%;
}

@media screen and (min-width: 992px) {
  .mv {
    margin-inline: calc((100% - 100vw) / 2);
  }
}
/* 会員向け情報 */
.user-info {
  color: #7a7a7a;
  margin-bottom: var(--sz-64);
}

.user-info__name {
  text-align: center;
  font-size: var(--sz-32);
  font-weight: normal;
  margin-bottom: var(--sz-20);
}

.news {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--sz-32);
}

.news__item {
  --toggler-scale: 1 1;
}
.news__item.active {
  --toggler-scale: 1 -1;
}

.news__header {
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
  padding-right: var(--sz-86);
}
.news__header::before {
  content: "";
  cursor: pointer;
  position: absolute;
  top: 45%;
  right: var(--sz-25);
  width: var(--sz-36);
  height: var(--sz-12);
  background-color: var(--color-primary);
  scale: var(--toggler-scale);
  --w: var(--sz-2);
  clip-path: polygon(0 var(--w), var(--w) 0, 50% calc(100% - 1.5 * var(--w)), calc(100% - var(--w)) 0, 100% var(--w), 50% 100%);
}

.news__title {
  color: #6fa2ff;
  font-size: var(--sz-28);
  line-height: 1.6;
  padding-right: 0.5em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: underline;
}

.news__date {
  font-size: var(--sz-22);
  line-height: 2;
  flex-shrink: 0;
  white-space: nowrap;
}

.news__body {
  font-size: var(--sz-26);
  line-height: 1.5;
  padding-block: 1em;
  display: none;
}

.user-info__point-box {
  margin-bottom: var(--sz-32);
  border: 1px solid var(--color-primary);
  text-align: center;
  font-size: var(--sz-26);
  line-height: 1.38;
  padding: 0.4em;
  width: 88%;
  margin-inline: auto;
}

.user-info__nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--sz-20);
}
.user-info__nav > * {
  color: var(--color-pink);
  font-size: var(--sz-26);
  line-height: 1.38;
  text-decoration: none;
  padding: 0.2em 1em;
  margin-inline: 0;
  border-radius: 100vh;
}

.user-info__btn-mypage {
  color: #fff;
  font-weight: 700;
  background-color: #ffb3c6;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--color-pink);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--color-pink);
  --bs-btn-disabled-border-color: #fff;
  --bs-btn-disabled-bg: var(--color-pink);
  --bs-btn-hover-border-color: #fff;
}

@media screen and (min-width: 992px) {
  .user-info {
    padding-top: var(--sz-45);
    margin-bottom: var(--sz-32);
  }
  .news {
    max-width: 570px;
    margin-inline: auto;
    margin-bottom: var(--sz-40);
  }
  .news__title {
    font-size: var(--sz-24);
  }
  .news__body {
    font-size: var(--sz-24);
  }
  .user-info__point-box {
    font-size: var(--sz-24);
    width: 60%;
  }
  .user-info__nav > * {
    font-size: var(--sz-24);
  }
}
/* メニュー */
.menu {
  color: #7a7a7a;
  padding-block: 0 var(--sz-20);
}

.menu__heading {
  text-align: center;
  font-size: var(--sz-50);
  font-weight: 700;
  padding-bottom: var(--sz-18);
  margin-bottom: var(--sz-16);
  border-bottom: 1px solid var(--color-primary);
  width: var(--sz-454);
  margin-inline: auto;
}

.menu__lead {
  text-align: center;
  font-size: var(--sz-23);
  font-weight: 400;
  line-height: 1.56;
  margin-bottom: var(--sz-35);
}

.menu__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sz-32) var(--sz-26);
}

.menu__btn {
  border-radius: var(--sz-20);
  color: #fff;
  background-color: var(--color-bg);
  text-align: center;
  font-size: var(--sz-30);
  font-weight: 700;
  line-height: 233%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: var(--sz-118);
  position: relative;
  margin-bottom: var(--sz-6);
}
.menu__btn::before {
  content: "";
  border: var(--sz-3) solid var(--color-border);
  border-radius: var(--sz-20);
  --d: var(--sz-4);
  width: calc(100% - 2 * var(--d));
  height: calc(100% - 2 * var(--d));
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.menu__btn:hover {
  color: #fff;
  background-color: var(--color-hover-bg);
}

.menu__btn--cleaning {
  --color-bg: #7ecfff;
  --color-border: #718cc7;
  --color-hover-bg: #718cc7;
}

.menu__btn--processing {
  --color-bg: #b58cbe;
  --color-border: #e9cee3;
  --color-hover-bg: #e9cee3;
}

.menu__btn--storage {
  --color-bg: #61c464;
  --color-border: #c0dd98;
  --color-hover-bg: #c0dd98;
}

.menu__btn--relation {
  --color-bg: #ee7c7e;
  --color-border: #efd9a5;
  --color-hover-bg: #efd9a5;
}

.menu__btn--futon {
  --color-bg: #f2a7c6;
  --color-border: #ee84b1;
  --color-hover-bg: #ee84b1;
}

.menu__desc {
  text-align: center;
  font-size: var(--sz-23);
  line-height: 1.56;
  margin-bottom: 0;
}

@media screen and (min-width: 992px) {
  .menu {
    padding-block: var(--sz-40) 0;
    margin-inline: var(--sz-45);
  }
  .menu__lead {
    font-size: var(--sz-26);
    margin-bottom: var(--sz-50);
  }
  .menu__list {
    gap: var(--sz-28) var(--sz-64);
  }
  .menu__btn {
    font-size: var(--sz-44);
    line-height: 1.52;
  }
  .menu__desc {
    font-size: var(--sz-26);
  }
}