@charset "UTF-8";
body {
  position: relative;
  margin: 0;
  min-height: 100vh;
  background-color: #F2E5E4;
  background-size: cover;
  background-position: center;
  color: #444;
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 500;
}
body:has(.l-menu--sp.is-active) {
  overflow: hidden;
  height: 100dvh;
}

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

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

img {
  display: block;
}

h1.logo {
  border: none;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 278px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}

.logo__lovemen {
  text-align: center;
  margin-top: -15px;
  margin-bottom: 30px;
}
@media screen and (max-width: 1280px) {
  .logo__lovemen {
    margin-top: 0;
    margin-bottom: 0;
  }
}
.logo__lovemen span {
  display: inline-block;
  border-radius: 4px;
  padding: 5px 10px;
  background-color: #E2516C;
  color: #fff;
}

h3 {
  border: none;
  background: none;
}

.swiper-pagination-bullet-active {
  width: 16px;
  height: 14px;
  background-color: #e2516c;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='67 79 166 142'%3E%3Cpath d='M150.08 112.44c5.41-17.37 20.84-25.73 35.92-25.73 18.03 0 31.79 15.08 31.79 33.26 0 21.96-11.96 38.18-24.25 53.09-11.8 14.26-43.46 40.23-43.46 40.23h-.33c0 0-31.5-25.97-43.29-40.23-12.29-14.91-24.25-31.13-24.25-53.09 0-18.52 14.26-33.26 31.95-33.26 14.91 0 30.18 8.36 35.59 25.73H150.08z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='67 79 166 142'%3E%3Cpath d='M150.08 112.44c5.41-17.37 20.84-25.73 35.92-25.73 18.03 0 31.79 15.08 31.79 33.26 0 21.96-11.96 38.18-24.25 53.09-11.8 14.26-43.46 40.23-43.46 40.23h-.33c0 0-31.5-25.97-43.29-40.23-12.29-14.91-24.25-31.13-24.25-53.09 0-18.52 14.26-33.26 31.95-33.26 14.91 0 30.18 8.36 35.59 25.73H150.08z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.swiper-wrapper {
  position: relative;
}

.swiper-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  bottom: -10px !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  display: none;
}

.swiper-button-prev,
.swiper-button-next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  position: absolute;
  top: 300px;
}
.swiper-button-prev path,
.swiper-button-next path {
  fill: #E2516C;
}

.swiper-button-prev {
  left: 20px;
}

.swiper-button-next {
  right: 20px;
}
.swiper-button-next svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-tokimeki .swiper-button-prev {
  top: 360px;
  left: 10px;
}

.p-tokimeki .swiper-button-next {
  top: 360px;
  right: 10px;
}

.l-left {
  position: sticky;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  top: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  padding-left: 40px;
  padding-right: 40px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-left::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 999px) {
  .l-left {
    display: block;
    position: relative;
    width: clamp(375px, 100vw, 390px);
    height: auto;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
    padding-top: 110px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.l-right {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #F2E5E4;
  overflow-y: scroll;
  padding-bottom: 40px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-right::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 1280px) {
  .l-right {
    display: none;
  }
}

.l-center {
  position: relative;
  width: clamp(375px, 100vw, 390px);
  margin: 0 auto;
  background: #fff;
}
@media screen and (max-width: 1280px) {
  .l-center {
    padding-top: 70px;
  }
}
@media screen and (max-width: 999px) {
  .l-center {
    padding-top: 0;
  }
}

.l-content {
  padding: 20px;
}

.p-maincathch {
  padding: 30px 20px 0;
  overflow: hidden;
  position: relative;
}
.p-maincathch::before {
  content: "";
  width: 100%;
  height: 250px;
  background-color: #ECDCE2;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.p-maincathch.login {
  padding: 30px 20px 40px;
}
.p-maincathch.login::before {
  display: none;
}
.p-maincathch .c-text--maste {
  position: relative;
  margin: -40px;
  left: 30px;
  width: 240px;
  text-align: left;
}
.p-maincathch .c-text--maste h4 {
  font-weight: 700;
  margin-bottom: 6px;
}
.p-maincathch .c-text--maste p {
  font-size: 12px;
}

.p-maincathch__text {
  font-size: 14px;
  margin-bottom: 10px;
  position: relative;
  z-index: 1;
  text-align: center;
}

h2.p-maincathch__title {
  background: transparent;
  border-bottom: none;
  display: block;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 20px;
  padding-bottom: 0;
  position: relative;
  z-index: 1;
  text-align: center;
}
h2.p-maincathch__title span {
  color: #E2516C;
}

.p-maincathch__media {
  margin-bottom: 40px;
  position: relative;
  z-index: 1;
}
.p-maincathch__media figcaption {
  text-align: center;
}
.p-maincathch__media img {
  width: 236px;
  max-width: 100%;
  height: 334px;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.16);
  margin-left: auto;
  margin-right: auto;
}

.p-maincatch__content-wrap {
  position: relative;
}
.p-maincatch__content-wrap[data-expanded=false] .p-maincatch__content-inner {
  position: relative;
  max-height: 160px;
  overflow: hidden;
}
.p-maincatch__content-wrap[data-expanded=false] .p-maincatch__content-inner::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#ffffff));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
  pointer-events: none;
}
.p-maincatch__content-wrap[data-expanded=true] .p-maincatch__content-inner {
  max-height: none;
}
.p-maincatch__content-wrap[data-expanded=true] .p-maincatch__content-inner::after {
  display: none;
}

.js-more {
  position: relative;
}
.js-more::before {
  content: "";
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), to(#FFF));
  background: linear-gradient(to bottom, transparent 50%, #FFF 100%);
  position: absolute;
  pointer-events: none;
  bottom: 0;
  left: 0;
  z-index: 0;
}
.js-more.is-open::before {
  display: none;
}

.p-maincathch__content_catch-phrase {
  font-size: 20px;
  font-weight: 700;
}

.p-maincathch__content_title {
  color: #E2516C;
  font-size: 16px;
  font-weight: 700;
  margin-top: 20px;
}

/* ボタンのデザイン */
.js-more-btn {
  background: transparent;
  border: none;
  color: #444;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin: 20px auto 0;
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 1;
}
.js-more-btn .icon-arrow {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.js-more-btn[aria-expanded=true] .icon-arrow {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
}

.p-maincatch__more-btn {
  display: block;
  margin: 16px auto 0;
  padding: 10px 24px;
  background-color: #333;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.p-maincatch__more-btn:hover {
  background-color: #555;
}

.p-latest_issue {
  background: #FFF1F1;
  text-align: center;
  padding: 40px;
}

.p-latest_issue__image {
  margin-left: auto;
  margin-right: auto;
}

h2.p-latest_issue__title {
  margin: 0;
  background: transparent;
  border-bottom: none;
  margin-top: 12px;
  margin-bottom: 10px;
  font-size: 20px;
  display: block;
  text-align: center;
}

.p-latest_issue__text {
  margin: 0;
  text-align: center;
  font-size: 10px;
  line-height: 1;
}

.p-latest_issue__title {
  margin: 0;
  text-align: center;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 700;
}

.p-latest_issue__image {
  width: 188px;
  height: 266px;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-box-shadow: 2px 3px 7px rgba(0, 0, 0, 0.16);
          box-shadow: 2px 3px 7px rgba(0, 0, 0, 0.16);
}

.p-sneak_peek {
  background: #fff;
  padding: 40px 20px;
}

.p-sneak_peek__title {
  margin: 0;
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 15px;
  border: none;
}

.p-sneak_peek__item img {
  width: 199px;
  height: 281px;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-box-shadow: 2px 3px 7px rgba(0, 0, 0, 0.16);
          box-shadow: 2px 3px 7px rgba(0, 0, 0, 0.16);
}

.p-sneak_peek__item:nth-child(2) img {
  width: 198px;
}

.p-sneak_peek__copy {
  color: #434343;
  font-size: 14px;
  line-height: 2;
  margin-top: 15px;
}
.p-sneak_peek__copy h4 {
  font-size: 15px;
  font-weight: 700;
}

.p-sneak_peek__copy--left {
  left: 24px;
  width: 187px;
}

.p-sneak_peek__copy--right {
  left: 231px;
  width: 193px;
}

.p-huroku {
  padding: 20px;
}

.p-huroku__tag__wrap {
  border-top: 1px solid rgba(215, 182, 165, 0.5);
}

.p-huroku__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 12px;
  gap: 12px;
}

.p-huroku__tag {
  width: 124px;
  height: 22px;
  margin: 0;
  background: #e8e6fc;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
}

.p-huroku__block img {
  width: 92px;
  height: 102px;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-huroku__title {
  margin: 0;
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
  border-bottom: none;
  margin-bottom: 12px;
}

.p-huroku__block p {
  width: 237px;
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-huroku__caution {
  width: 360px;
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid rgba(215, 182, 165, 0.5019607843);
  color: #e2516c;
  font-size: 12px;
  line-height: 1.7;
}

.p-huroku__button {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 15px;
  margin-top: 20px;
}

.p-huroku__button *:nth-of-type(1) {
  grid-area: 1/1/2/2;
}

.p-huroku__button *:nth-of-type(2) {
  grid-area: 1/2/2/3;
}

.p-huroku__button *:nth-of-type(3) {
  grid-area: 2/1/3/3;
}

.c-button,
.c-button--long,
.c-button--entry,
.c-button--long--reverse {
  display: grid;
  place-items: center;
  background: #e2516c;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  border-radius: 100px;
}

.c-button {
  height: 40px;
}

.c-button--long {
  height: 40px;
  background: #fff;
  color: #e2516c;
  border: 1px solid #e2516c;
}

.c-button--long--reverse {
  height: 40px;
  background: #e2516c;
  color: #fff;
  border: 1px solid #e2516c;
}

.c-link {
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
}

.c-link__link {
  display: inline-block;
  border-bottom: 1px solid #d98c9a;
  color: #d98c9a;
  padding-bottom: 10px;
  font-weight: 700;
}
.c-link__link svg {
  margin-left: 10px;
}

.c-list li {
  position: relative;
  margin-left: 2em;
}
.c-list li::before {
  content: "";
  width: 6px;
  height: 6px;
  display: block;
  background-color: #d98c9a;
  border-radius: 100%;
  position: absolute;
  left: -1em;
  top: 0.5em;
}

.c-text--maste {
  position: relative;
}
.c-text--maste > div {
  background-color: #fff;
  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.16);
  padding: 20px;
}

.c-photo--maste {
  position: relative;
}
.c-photo--maste img {
  border-radius: 4px;
  overflow: hidden;
}

.c-icon-member {
  display: block;
  width: 30px;
  height: 30px;
  padding: 4px 9px 4px;
  border-radius: 100%;
  background-color: #e2516c;
  border: 1px solid #fff;
  position: absolute;
  top: 30px;
  right: 30px;
}
@media screen and (max-width: 1280px) {
  .c-icon-member {
    top: 35px;
    right: 17px;
  }
}
.c-icon-member svg {
  fill: #fff;
}

.c-article {
  background-color: #fff;
  padding: 15px;
  margin-top: 15px;
  display: grid;
  gap: 10px;
}

.p-lovemen {
  background: #FFF1F1;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 20px;
  padding-right: 20px;
}

h2.p-lovemen__title {
  margin: 0;
  text-align: center;
  font-size: 24px;
  line-height: 1.42;
  font-weight: 700;
  display: block;
  background: none;
  border: none;
}

.p-lovemen__title span {
  display: inline-grid;
  font-size: 36px;
  place-items: center;
  padding: 0 10px;
  margin: 0 5px;
  background: #d98c9a;
  color: #fff;
  border-radius: 4px;
}

.p-lovemen__caution {
  margin: 8px 0 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
}

.c-title {
  text-align: center;
  font-size: 24px;
  line-height: 1.3;
  font-weight: 700;
  margin-top: 40px;
}
.c-title svg {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
}

h2.c-title {
  display: block;
  background: none;
  border: none;
  margin: 20px 0;
}
h2.c-title:first-child {
  margin-top: 0;
}

.p-lovemen__subtitle-bg {
  padding: 12px;
  margin-top: 20px;
  background: #d98c9a;
  color: #fff;
  text-align: center;
  font-size: 24px;
  line-height: 1.35;
  font-weight: 500;
  width: calc(100% + 40px);
  margin-left: -20px;
}
.p-lovemen__subtitle-bg span {
  font-weight: 700;
  font-size: 28px;
}

.p-lovemen__block img {
  width: 196px;
  height: 278px;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.16);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
}

.p-lovemen__block {
  padding-top: 40px;
  padding-bottom: 40px;
}

.p-lovemen__block p {
  text-align: center;
  line-height: 1.85;
  font-weight: 700;
}

h3.p-lovemen__subtitle {
  text-align: center;
  font-size: 24px;
  line-height: 1.45;
  font-weight: 700;
  border: none;
}

.p-lovemen__subhead {
  text-align: center;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  margin-top: 20px;
  margin-bottom: 15px;
}

.p-lovemen__feature {
  margin-top: 30px;
}
.p-lovemen__feature li {
  background: #d98c9a;
  color: #fff;
  border-radius: 4px;
  padding: 10px;
}
.p-lovemen__feature li > img {
  margin: 10px auto;
}
.p-lovemen__feature li p {
  font-size: 14px;
}
.p-lovemen__feature li .p-lovemen__feature__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.p-lovemen__feature li .p-lovemen__feature__block img {
  width: 64px;
  height: 64px;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-lovemen__feature li .p-lovemen__feature__block h5 {
  font-size: 20px;
  font-weight: 700;
}
.p-lovemen__feature li .p-lovemen__feature__block p {
  font-size: 14px;
}
.p-lovemen__feature li + li {
  margin-top: 15px;
}
.p-lovemen__feature h5 {
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
}
.p-lovemen__feature h5 span {
  display: block;
  margin-bottom: 4px;
}
.p-lovemen__feature p {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 300;
}

.p-lovemen__more {
  text-align: center;
  font-size: 18px;
  line-height: 1.65;
  margin-top: 20px;
  margin-bottom: 20px;
}

.p-lovemen__campaign {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
}

.p-lovemen__campaign__block {
  position: relative;
  background-color: #fff;
  border-radius: 4px;
  padding: 20px;
  -webkit-filter: drop-shadow(0 3px 7px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0 3px 7px rgba(0, 0, 0, 0.16));
}
.p-lovemen__campaign__block::after {
  content: "";
  position: absolute;
  left: calc(50% - 34px);
  bottom: -16px;
  width: 34px;
  height: 22px;
  background: inherit;
  clip-path: path("M 0 0 C 10 5, 13 16, 9 22 C 19 17, 29 10, 34 0 Z");
}
.p-lovemen__campaign__block h3 {
  border: none;
}

.p-lovemen__campaign h3 {
  display: inline-block;
  margin: 0 0 18px;
  padding-bottom: 10px;
  color: #d98c9a;
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
  border-bottom: 2px solid #d98c9a;
}

.p-lovemen__campaign p {
  line-height: 1.8;
}

.p-lovemen__campaign strong {
  display: block;
  margin-top: 18px;
  color: #e2516c;
  font-size: 18px;
  line-height: 1;
}

.c-button--entry {
  width: 100%;
  padding: 15px;
  background: #e2516c;
  font-size: 20px;
  margin-left: auto;
  margin-right: auto;
}

.c-block--row {
  display: grid;
  gap: 5px;
  margin-bottom: 15px;
}

.l-wrapper {
  display: grid;
  grid-template-columns: 1fr 390px 1fr;
  justify-items: center;
}
@media screen and (max-width: 1280px) {
  .l-wrapper {
    grid-template-columns: 1fr 390px 0.5fr;
  }
}
@media screen and (max-width: 999px) {
  .l-wrapper {
    display: block;
  }
}

.l-header--sp {
  display: none;
  position: fixed;
  z-index: 100;
  background-color: #F6F2F1;
  width: clamp(375px, 100vw, 1280px);
}
@media screen and (max-width: 1280px) {
  .l-header--sp {
    display: block;
  }
}

.l-header--sp__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px;
  gap: 20px;
}
.l-header--sp__block img {
  width: 160px;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-header--sp__block a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}

.l-menu--sp {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 0;
  background-color: #fff;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  overflow: hidden;
}
.l-menu--sp > div {
  padding-top: 40px;
  padding-bottom: 40px;
}
.l-menu--sp h2.l-menu__title span {
  background-color: #fff;
}
.l-menu--sp.is-active {
  overflow-y: scroll;
  grid-template-rows: 1fr;
  height: calc(100dvh - 60px);
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-menu--sp.is-active::-webkit-scrollbar {
  display: none;
}
.l-menu--sp ul {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 20px;
  -webkit-column-gap: 2%;
     -moz-column-gap: 2%;
          column-gap: 2%;
  text-align: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  z-index: 100;
  width: 322px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.l-menu--sp li {
  position: relative;
  margin-left: 4%;
  margin-right: 4%;
  font-size: 13px;
}
.l-menu--sp li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-menu--sp li a:hover {
  text-decoration: none;
}
.l-menu--sp img {
  margin-left: auto;
  margin-right: auto;
  width: 68px;
}
.l-menu--sp .l-menu__button {
  max-width: 322px;
}

button.l-menu--sp__hamburger {
  border: none;
  width: 40px;
  cursor: pointer;
  background: none;
  width: 50px;
  height: 30px;
}
button.l-menu--sp__hamburger svg {
  width: 100%;
}

.swiper-peek {
  overflow: hidden;
  padding-bottom: 10px;
}

.l-menu--pc {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 20px;
  -webkit-column-gap: 2%;
     -moz-column-gap: 2%;
          column-gap: 2%;
  text-align: center;
  text-align: center;
  width: 400px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1280px) {
  .l-menu--pc {
    display: none;
  }
}
.l-menu--pc li {
  margin-left: 4%;
  margin-right: 4%;
  font-size: 13px;
  position: relative;
}
.l-menu--pc li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-menu--pc li a:hover {
  text-decoration: none;
}
.l-menu--pc img {
  margin-left: auto;
  margin-right: auto;
  width: 68px;
}

.l-menu__button {
  width: 100%;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}

h2.l-menu__title {
  width: 400px;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  text-align: center;
  background: none;
  border: none;
  display: block;
}
h2.l-menu__title::before {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background-color: #444;
  position: absolute;
  top: 1em;
  z-index: 0;
}
h2.l-menu__title span {
  display: inline-block;
  padding: 2px 15px;
  background-color: #F2E5E4;
  position: relative;
  z-index: 100;
  text-align: center;
  font-size: 14px;
  font-weight: normal;
  color: #444;
}

.p-lovemen-button {
  position: absolute;
  width: 200px;
  right: 10px;
  bottom: 10px;
}

.p-partner {
  background-color: #FFF1F1;
  padding: 20px;
}

.p-partner__accent {
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  color: #d98c9a;
  padding-bottom: 10px;
}

.p-partner__title {
  position: relative;
  font-family: "Noto Serif", serif;
  font-size: 20px;
  font-weight: 700;
  color: #58757E;
}

.p-partner__title_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  position: absolute;
  top: 30px;
  right: 35px;
  z-index: 1;
}
.p-partner__title_wrap h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: serif;
  font-size: 17px;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.p-partner__title_wrap h3 span {
  background: #fff;
  max-height: -webkit-fit-content;
  max-height: -moz-fit-content;
  max-height: fit-content;
  padding: 10px 0 30px;
}
.p-partner__title_wrap h3 span:nth-child(2) {
  margin-top: 20px;
}
.p-partner__title_wrap h4 {
  font-size: 13px;
  margin-top: 40px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.p-partner__title_wrap h4 span {
  background: #fff;
  padding: 10px 0 30px;
}

.p-partner__catchphrase {
  color: #65A053;
  font-family: serif;
  font-size: 21px;
}

.p-partner__subtitle {
  font-size: 15px;
  margin-bottom: 10px;
}

.p-partner__block {
  display: grid;
  gap: 10px;
  margin-top: 15px;
}

.p-partner__block--page__img--left .c-photo--maste,
.p-partner__block--page__img--left .c-photo {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}

.p-partner__block--page__img--right .c-photo--maste {
  float: right;
  margin-left: 20px;
  margin-bottom: 20px;
}

.p-partner__block--page {
  margin-bottom: 30px;
}

.p-partner__column {
  background-color: #FFF1F1;
  border-radius: 4px;
  padding: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.p-partner__text {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.c-profile__text {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.p-partner__text--fade {
  position: relative;
}

.p-partner__text--fade::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), to(#FFF));
  background: linear-gradient(to bottom, transparent 50%, #FFF 100%);
}

.c-profile {
  padding: 15px;
  border-radius: 4px;
  background-color: #fff;
}

.p_partner-name {
  font-weight: 700;
}

.p-partner__profile__block {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 10px;
}

.c-profile__block {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 10px;
}

.c-profile__profile {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 10px;
  margin-bottom: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-profile__title {
  font-weight: 700;
  color: #fff;
  background-color: #d98c9a;
  padding: 5px 10px;
  border-radius: 0 15px 0 15px;
  text-align: center;
}

.c-profile__name {
  font-weight: 700;
  font-size: 16px;
}
.c-profile__name .c-profile__katagaki {
  font-size: 12px;
  color: #444;
}
.c-profile__name span {
  display: inline-block;
}
.p-partner__column__title {
  font-size: 16px;
  font-weight: 700;
  padding-bottom: 5px;
  margin-bottom: 15px;
  border-bottom: 1px dotted #444;
}

h4.p-partner__section__title {
  font-size: 16px;
  font-weight: 700;
  padding-bottom: 5px;
  margin-bottom: 15px;
  margin-top: 30px;
  text-align: center;
}
h4.p-partner__section__title::after {
  content: "";
  display: block;
  height: 4px;
  width: 40px;
  background-color: #d98c9a;
  margin-left: auto;
  margin-right: auto;
  margin-top: 15px;
}

h4.p-partner__section__title2 {
  margin-top: 40px;
  margin-bottom: 20px;
  text-align: center;
  color: #d76378;
  font-weight: 700;
  font-size: 16px;
}

.p-partner__section__column strong {
  display: block;
  margin-top: 15px;
  margin-bottom: 10px;
}

.p-partner__section + .p-partner__section {
  margin-top: 20px;
}

.p-partner__memo {
  position: relative;
}
.p-partner__memo h4 {
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
}
.p-partner__memo h4 span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #e8e3fc));
  background: linear-gradient(transparent 60%, #e8e3fc 60%);
}
.p-partner__memo ul {
  margin: 10px;
}
.p-partner__memo ul li {
  list-style: inside;
}
.p-partner__memo > div {
  background-color: #fff;
  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.16);
  position: relative;
  z-index: 1;
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 20px;
}
.p-partner__memo::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background: #f9d8de;
  width: 100%;
  height: 100%;
  -webkit-transform: rotate(3deg);
          transform: rotate(3deg);
  z-index: 0;
}

.p-survey {
  padding: 20px;
}

.p-survey__text {
  text-align: center;
  margin-bottom: 20px;
}

.p-latest-issue--member {
  padding: 20px;
}

.p-latest-issue__title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}

.p-latest-issue__subtitle {
  font-size: 16px;
  margin-bottom: 10px;
  margin-top: 15px;
  font-weight: 700;
}
.p-latest-issue__subtitle span {
  display: inline-block;
  background-color: #fff;
  padding: 2px 6px;
  font-size: 13px;
  font-weight: 700;
  /* color: #fff; */
  border: 1px solid #333;
}

.p-tokimeki {
  padding-top: 40px;
  padding-bottom: 40px;
  overflow: hidden;
}
.p-tokimeki .influencer-name {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}
.p-tokimeki .influencer-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}
.p-tokimeki .c-link {
  padding: 0 20px;
}
.p-tokimeki .swiper-tokimeki .swiper-slide-prev,
.p-tokimeki .swiper-tokimeki .swiper-slide-next {
  -webkit-transition: 0.5s -webkit-transform;
  transition: 0.5s -webkit-transform;
  transition: 0.5s transform;
  transition: 0.5s transform, 0.5s -webkit-transform;
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}

.p-tokimeki__button {
  padding-left: 20px;
  padding-right: 20px;
}

.p-kikaku {
  padding: 40px 20px;
  background-color: #fff;
}

.p-banner {
  width: 300px;
  margin-left: auto;
  margin-right: auto;
  overflow-y: scroll;
  height: 100dvh;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.p-banner::-webkit-scrollbar {
  display: none;
}
.p-banner li {
  margin-top: 20px;
}

.p-latest-item {
  padding: 20px;
}

.p-latest-item__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin-left: auto;
  margin-right: auto;
}

.p-novel {
  padding: 20px;
}

.p-novel_content_wrap {
  margin-bottom: 20px;
}

.p-novel_title,
.p-novel_name {
  text-decoration: none;
}

.p-novel_title {
  font-size: 20px;
  font-weight: 700;
}

.p-article {
  padding: 40px 20px 20px;
  background-color: #fff1f1;
}

.p-article__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin-bottom: 30px;
}
.p-article__list a {
  display: grid;
  gap: 10px;
  background-color: #fff;
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.16);
  overflow: hidden;
}
.p-article__list a > div {
  padding: 12px;
}

.p-article__tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
  background-color: #E2516C;
  border-radius: 100px;
  padding: 5px;
}
.p-article__tab button {
  cursor: pointer;
  border-radius: 100px;
  font-weight: 700;
  padding: 5px 10px;
  font-size: 14px;
  border: none;
  background: none;
  color: #fff;
}
.p-article__tab button[aria-selected=true] {
  background-color: #fff;
  color: #E2516C;
}

.p-article__panel {
  margin-top: 25px;
}

.p-fotune {
  padding: 20px;
}

.p-fotune__explanation {
  padding: 20px;
  display: grid;
  gap: 15px;
}

.p-fotune__explanation__img {
  width: 200px;
  margin-left: auto;
  margin-right: auto;
}

.p-fotune__explanation__caption {
  text-align: center;
}
.p-fotune__explanation__caption span:nth-of-type(1) {
  display: block;
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 10px;
}
.p-fotune__explanation__caption span:nth-of-type(2) {
  display: block;
}

.p-fotune__explanation__title {
  font-family: "Noto Serif", serif;
  font-size: 20px;
  font-weight: 700;
  color: #58757E;
}

.p-fotune .c-modal-trigger__btn {
  text-align: center;
}
.p-fotune .c-modal-trigger__btn img {
  margin-bottom: 10px;
}

.p-issue {
  width: 350px;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
@media screen and (max-width: 1280px) {
  .p-issue > div {
    height: calc(100dvh - 100px);
    margin-top: 100px;
  }
}
@media screen and (max-width: 999px) {
  .p-issue > div {
    height: auto;
    margin-top: 0;
  }
}
.p-issue::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/img/usr/loveyou/hero-cover.jpg") center/cover no-repeat;
  -webkit-filter: blur(12px);
          filter: blur(12px);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  z-index: -1;
}
@media screen and (max-width: 999px) {
  .p-issue::before {
    display: none;
  }
}
.p-issue::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.35);
  z-index: -1;
}
@media screen and (max-width: 999px) {
  .p-issue::after {
    display: none;
  }
}

.p-issue__img {
  width: 280px;
  margin-left: auto;
  margin-right: auto;
}

.p-issue__button {
  margin-top: 20px;
}
.p-issue__button a + a {
  margin-top: 15px;
}

.p-issue__button--harf {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 20px;
}

.p-issue__banner {
  margin-top: 20px;
  padding-bottom: 40px;
}

.p-fotune {
  padding: 20px;
  background-color: #FFF1F1;
}

.p-fotune__text {
  text-align: center;
  margin-bottom: 10px;
}

.p-fotune__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  text-align: center;
  margin-bottom: 20px;
}

.p-maincatch__slider .swiper-slide {
  position: relative;
}

.p-maincatch__slider__text {
  background-color: rgba(255, 255, 255, 0.7);
  padding: 10px 15px;
  position: absolute;
  bottom: 10px;
  left: 10px;
  text-align: left;
  width: calc(100% - 50px);
}

.p-lens {
  background-color: rgba(183, 206, 231, 0.22);
  padding: 40px 20px;
}
.p-lens .c-title svg g path {
  stroke: #58757E;
}
.p-lens .c-profile__title {
  background-color: #58757E;
}

.p-lovess {
  padding: 40px 20px;
  background-color: #FFF1F1;
}

.p-lovess__block {
  display: grid;
  gap: 15px;
}

.p-lovess__title {
  font-size: 18px;
  font-weight: 700;
}

.p-influencer {
  padding: 15px;
}

.p-influencer_intro {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.c-modal-trigger__btn {
  border: none;
  background: transparent;
  cursor: pointer;
  color: #444;
  font-family: "Zen Kaku Gothic New", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 500;
  padding: 0;
}

.p-influencer_intro__media {
  border: 1px solid #E54C98;
  border-radius: 20px;
  margin: 0 auto 5px;
  max-width: 300px;
  overflow: hidden;
}

.p-influencer_intro__name {
  font-size: 18px;
  font-weight: 600;
}

.p-influencer_intro__name .small {
  font-size: 10px;
}

.p-influencer_intro__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 3px;
}
.p-influencer_intro__tag span {
  font-size: 10px;
}

.p-influencer_intro__sns-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
}
.p-influencer_intro__sns-icon a {
  max-width: 40px;
}

.c-modal__body .p-influencer {
  padding: 0;
}

.c-modal__body .p-influencer_intro__media {
  max-width: min(65%, 300px);
  margin-bottom: 5px;
}

.c-modal__body .p-influencer_intro__catchphrase {
  font-size: 18px;
  font-weight: 600;
  padding-left: 15px;
  margin-bottom: 5px;
}

.c-modal__body .p-influencer_intro__name {
  background: #F6F2F1;
  border-radius: 0 100px 100px 0;
  margin-bottom: 20px;
  padding: 5px 15px;
}

.c-modal__body .p-influencer_intro__neme__title {
  font-size: 18px;
}

.c-modal__body .p-influencer_intro__name p:nth-child(2) {
  font-size: 24px;
}

.c-modal__body .p-influencer_intro__name p .small {
  font-size: 18px;
}

.c-modal__body .p-influencer_intro__comment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  padding: 0 15px;
}

.c-modal__body .p-influencer_intro__comment p {
  font-weight: 600;
  margin-bottom: 10px;
}

.c-modal__body .p-influencer_intro__career > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

c-modal__body .p-influencer_intro__career > span > span:nth-child(1) {
  min-width: 55px;
}

.c-modal__body .p-influencer_intro__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

.c-modal__body .p-influencer_intro__tag span {
  font-size: 14px;
  font-weight: 400;
}

.p-influencer_intro__sns {
  width: 100%;
  background: #fff;
  padding-bottom: 10px;
  position: sticky;
  bottom: 0;
  left: 0;
}

.c-modal__body .p-influencer_intro__sns-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  margin-bottom: 10px;
}
.c-modal__body .p-influencer_intro__sns-title span {
  min-width: 60px;
  text-align: center;
}

.c-modal__body .p-influencer_intro__sns-title::before,
.c-modal__body .p-influencer_intro__sns-title::after {
  content: "";
  width: 50%;
  border-bottom: 1px dashed;
}

.c-modal__body .p-influencer_intro__sns-icon {
  gap: 30px;
}

.c-modal__body .p-influencer_intro__sns-icon a {
  max-width: 30px;
}

@media (max-width: 767px) {
  .p-influencer_intro {
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-banner {
  padding-bottom: 20px;
}

.l-footer {
  background-color: #d98c9a;
  text-align: center;
  padding: 20px;
  color: #fff;
}

.u-center {
  text-align: center;
}

.u-mt20 {
  margin-top: 20px;
}

.is-hidden {
  display: none;
}

/* モーダルトリガー */
.c-modal-trigger {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.c-modal-trigger__item {
  margin: 0;
}

.c-modal-trigger__btn {
  display: block;
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: left;
}

/* モーダル本体 */
.c-modal {
  position: absolute;
  inset: 0;
  z-index: 100;
}

.c-modal[hidden] {
  display: none;
}

.c-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  -webkit-animation: backdropIn 0.35s ease both;
          animation: backdropIn 0.35s ease both;
}

/* 中央に出る箱 */
.c-modal__panel {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  width: min(90vw, 360px);
  max-height: 85vh;
  overflow: auto;
  background: #fff;
  border-radius: 12px;
  padding: 0;
  -webkit-animation: fadeUp 0.35s ease both;
          animation: fadeUp 0.35s ease both;
}

.c-modal__body {
  padding: 20px 0;
}

.c-modal__close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  color: #444;
  cursor: pointer;
  font-family: "Zen Kaku Gothic New", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

@-webkit-keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) translateY(16px);
            transform: translate(-50%, -50%) translateY(16px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) translateY(16px);
            transform: translate(-50%, -50%) translateY(16px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
@-webkit-keyframes backdropIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes backdropIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-modal__overlay,
  .c-modal__panel {
    -webkit-animation: none;
            animation: none;
  }
}
.back-to-top-link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  text-decoration: none;
}