@charset "UTF-8";
/* ==========================================================================
  global
  ========================================================================== */
/* ==========================================================================
  オンライントップ（online/index.php）
========================================================================== */
.comp-kvArea.is-online .swiper-container {
  margin-bottom: 40px;
}
.comp-kvArea.is-online .swiper-pagination {
  padding-top: 8px;
}
@media (max-width: 719px) {
  .comp-kvArea.is-online .swiper-slide {
    overflow: hidden;
  }
  .comp-kvArea.is-online .slide-media {
    display: block;
    aspect-ratio: 828/1104;
    overflow: hidden;
    background-color: #fff;
  }
  .comp-kvArea.is-online .slide-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}

@media (max-width: 768px) {
  .comp-kvArea.is-online .swiper-slide.is-double-btn .c-btnwrap {
    width: 100%;
    left: 0 !important;
    right: 0 !important;
    bottom: 4% !important;
    transform: none !important;
    gap: 8px;
    padding: 0 5%;
    box-sizing: border-box;
    justify-content: center;
  }
  .comp-kvArea.is-online .swiper-slide.is-double-btn .c-btnwrap .c-btn {
    flex: 0 1 auto;
    height: 8.2vw;
    width: 37vw;
    line-height: 8.2vw;
    border-radius: 4vw;
    font-size: 3.5vw !important;
    margin-top: 0 !important;
  }
}

.u-heading-pagemiddle .jp_S {
  font-size: 3.2rem;
  line-height: 1.3;
  line-height: 1.4;
  order: 1;
}
@media (max-width: 460px) {
  .u-heading-pagemiddle .jp_S {
    font-size: 6.9vw !important;
  }
}
.u-heading-pagemiddle .eng_L {
  font-size: 1.3rem;
  line-height: 1.3;
  font-weight: bold;
  font-weight: 400;
  margin-top: 4px;
  order: 2;
}
@media (max-width: 460px) {
  .u-heading-pagemiddle .eng_L {
    font-size: 2.99vw !important;
  }
}

.comp-category-online-slider {
  position: relative;
}

@media (min-width: 960px) {
  .js-swiper-category-online {
    overflow: visible;
  }
  .js-swiper-category-online .swiper-wrapper {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    height: auto;
    transform: none;
  }
  .js-swiper-category-online .swiper-slide {
    width: calc((100% - 40px) / 6);
    height: auto;
    margin: 0;
  }
}
@media (max-width: 959px) {
  .js-swiper-category-online {
    overflow: hidden;
    height: 272px;
  }
  .js-swiper-category-online .swiper-wrapper {
    height: 272px !important;
  }
  .js-swiper-category-online .swiper-slide {
    height: 132px;
  }
}
.comp-category-online-btn {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 190/200;
  background: #FFFFFF;
  border: 1px solid #ECECEC;
  border-radius: 16px;
  text-decoration: none;
  color: #333333;
  overflow: hidden;
}
@media (min-width: 960px) {
  .comp-category-online-btn:hover {
    opacity: 0.7;
  }
  .comp-category-online-btn:hover .comp-category-online-btn-thum {
    transform: translateX(-50%) scale(1.06);
  }
}
@media (max-width: 959px) {
  .comp-category-online-btn {
    width: 100%;
    height: 132px;
    aspect-ratio: auto;
  }
}
.comp-category-online-btn-thum {
  position: absolute;
  top: 6%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 84%;
  height: 80%;
  transform: translateX(-50%);
  transition: transform 0.4s ease-in-out;
}
.comp-category-online-btn-thum img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (max-width: 959px) {
  .comp-category-online-btn-thum {
    top: 2px;
    width: 88px;
    height: 88px;
  }
}
.comp-category-online-btn-name {
  position: absolute;
  right: 8px;
  bottom: 14px;
  left: 8px;
  z-index: 1;
  display: block;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-align: center;
  font-size: 1.4rem;
}
@media (max-width: 460px) {
  .comp-category-online-btn-name {
    font-size: 3.22vw !important;
  }
}
@media (max-width: 959px) {
  .comp-category-online-btn-name {
    right: 28px;
    bottom: 10px;
    left: 8px;
    letter-spacing: 0.02em;
    font-size: 1.5rem;
  }
}
@media (max-width: 959px) and (max-width: 460px) {
  .comp-category-online-btn-name {
    font-size: 3.45vw !important;
  }
}
.comp-category-online-btn::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 1;
  width: 20px;
  height: 20px;
  background: url(/img/common/icon-arrowcircle-red.svg) no-repeat 0 0;
  background-size: contain;
  transition: 0.3s all;
}
@media (max-width: 959px) {
  .comp-category-online-btn::after {
    right: 8px;
    bottom: 8px;
    width: 24px;
    height: 24px;
  }
}
@media (min-width: 960px) {
  .comp-category-online-btn:hover::after {
    right: 8px;
  }
}

.comp-category-online-next,
.comp-category-online-prev {
  display: none;
}
@media (max-width: 959px) {
  .comp-category-online-next,
  .comp-category-online-prev {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.3);
    transform: translateY(-50%);
    cursor: pointer;
  }
  .comp-category-online-next::after,
  .comp-category-online-prev::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
  }
  .comp-category-online-next.is-end, .comp-category-online-next.is-start,
  .comp-category-online-prev.is-end,
  .comp-category-online-prev.is-start {
    display: none;
  }
}

@media (max-width: 959px) {
  .comp-category-online-next {
    right: 0;
  }
  .comp-category-online-next::after {
    transform: translate(-1px, 1px) rotate(45deg);
  }
}

@media (max-width: 959px) {
  .comp-category-online-prev {
    left: 0;
  }
  .comp-category-online-prev::after {
    transform: translate(1px, 1px) rotate(-135deg);
  }
}

.comp-category-online-bnr {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 24px;
}
.comp-category-online-bnr a {
  display: block;
  width: 223px;
  height: 64px;
  overflow: hidden;
  border-radius: 16px;
}
@media (min-width: 960px) {
  .comp-category-online-bnr a:hover {
    opacity: 0.7;
  }
}
.comp-category-online-bnr a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 959px) {
  .comp-category-online-bnr {
    gap: 8px;
  }
  .comp-category-online-bnr a {
    width: calc((100% - 8px) / 2);
    max-width: 172px;
  }
}

.comp-ranking .u-contain {
  aspect-ratio: 1/1;
  height: auto !important;
}

.c-prod-list .u-rankicon,
.c-prod-slider .u-rankicon {
  margin-bottom: 8px;
}

.comp-ranking .tab br.u-show-sp {
  display: none;
}
@media (max-width: 480px) {
  .comp-ranking .tab br.u-show-sp {
    display: block;
  }
}
.comp-ranking .js-tabContent {
  padding-bottom: 0 !important;
}

.comp-online-member {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
}
@media (max-width: 768px) {
  .comp-online-member {
    padding: 64px 0;
  }
}
.comp-online-member .l-inner {
  position: relative;
  z-index: 1;
}
.comp-online-member .l-inner::before, .comp-online-member .l-inner::after {
  content: "";
  position: absolute;
  display: block;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.comp-online-member .l-inner::before {
  bottom: -80px;
  left: -10vw;
  transform: translateY(5%);
  width: clamp(380px, 26vw, 480px);
  aspect-ratio: 444/420;
  background-image: url(/img/online/illust-addvantage-left-PC.svg);
}
@media (max-width: 1080px) {
  .comp-online-member .l-inner::before {
    left: clamp(-40vw, 50vw - 620px, -10vw);
  }
}
@media (max-width: 768px) {
  .comp-online-member .l-inner::before {
    top: auto;
    bottom: -80px;
    left: -10vw;
    width: 45vw;
    transform: none;
    aspect-ratio: 193/371;
    background-image: url(/img/online/illust-addvantage-left-SP.svg);
  }
}
.comp-online-member .l-inner::after {
  bottom: -80px;
  right: -11vw;
  transform: translateY(5%);
  width: clamp(380px, 24vw, 460px);
  aspect-ratio: 441/479;
  background-image: url(/img/online/illust-addvantage-right-PC.svg);
}
@media (max-width: 1080px) {
  .comp-online-member .l-inner::after {
    right: clamp(-40vw, 50vw - 640px, -10vw);
  }
}
@media (max-width: 768px) {
  .comp-online-member .l-inner::after {
    right: -10vw;
    bottom: -92px;
    width: 70vw;
    transform: none;
    aspect-ratio: 256/344;
    background-image: url(/img/online/illust-addvantage-right-SP.svg);
  }
}

.comp-online-member-reason {
  display: flex;
  align-items: center;
  gap: 24px;
}
.comp-online-member-reason .u-heading-pagemiddle {
  flex: 0 0 auto;
  margin: 0;
  text-align: left;
}
.comp-online-member-reason .u-heading-pagemiddle .jp_S {
  font-weight: 300;
  line-height: 1.3;
  font-size: clamp(22px, 2.6vw, 32px);
}
.comp-online-member-reason .u-heading-pagemiddle .eng_L {
  font-family: "Verdana", sans-serif;
  margin-top: 16px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.comp-online-member-reason .u-heading-pagemiddle .is-w960 {
  display: none;
}
@media (max-width: 959px) {
  .comp-online-member-reason {
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
  }
  .comp-online-member-reason .u-heading-pagemiddle {
    text-align: center;
  }
  .comp-online-member-reason .u-heading-pagemiddle .jp_S {
    font-size: 32px;
    font-weight: 300;
    line-height: 1.3;
  }
  .comp-online-member-reason .u-heading-pagemiddle .u-show-sp {
    display: none;
  }
  .comp-online-member-reason .u-heading-pagemiddle .is-w960 {
    display: block;
  }
}
@media (max-width: 768px) {
  .comp-online-member-reason {
    gap: 16px;
  }
  .comp-online-member-reason .u-heading-pagemiddle .jp_S {
    font-size: 2.6rem;
  }
}
@media (max-width: 768px) and (max-width: 460px) {
  .comp-online-member-reason .u-heading-pagemiddle .jp_S {
    font-size: 5.75vw !important;
  }
}
@media (max-width: 768px) {
  .comp-online-member-reason .u-heading-pagemiddle .eng_L {
    margin-top: 12px;
  }
  .comp-online-member-reason .u-heading-pagemiddle .is-w960 {
    display: none;
  }
  .comp-online-member-reason .u-heading-pagemiddle .u-show-sp {
    display: block;
  }
}

.comp-online-member-list {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.comp-online-member-list li {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 0;
  text-align: center;
}
.comp-online-member-list li::before, .comp-online-member-list li:last-child::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 1px;
  height: 100%;
  background: rgba(204, 204, 204, 0.6);
  transform: translateY(-50%);
}
.comp-online-member-list li::before {
  left: 0;
}
.comp-online-member-list li:last-child::after {
  right: 0;
}
.comp-online-member-list picture {
  display: block;
}
.comp-online-member-list img {
  display: block;
  width: 100%;
  max-width: 200px;
  height: auto;
  margin-bottom: 8px;
}
.comp-online-member-list .u-honbun-S,
.comp-online-member-list .u-heading-M {
  margin: 0;
  line-height: 1.3;
}
.comp-online-member-list .u-honbun-S {
  font-size: clamp(12px, 1.2vw, 14px);
}
.comp-online-member-list .u-heading-M {
  font-weight: 400;
  font-size: clamp(18px, 2vw, 24px);
}
@media (max-width: 959px) {
  .comp-online-member-list {
    width: 100%;
  }
  .comp-online-member-list .u-honbun-S {
    font-size: clamp(11px, 1.35vw, 13px);
  }
  .comp-online-member-list .u-heading-M {
    font-weight: 400;
    font-size: clamp(16px, 2.5vw, 24px);
  }
}
@media (max-width: 768px) {
  .comp-online-member-list {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    justify-content: center;
    row-gap: 40px;
    width: 100%;
    max-width: none;
    margin-right: auto;
    margin-left: auto;
  }
  .comp-online-member-list::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 92%;
    height: 1px;
    background: rgba(204, 204, 204, 0.6);
    transform: translate(-50%, -50%);
  }
  .comp-online-member-list li {
    flex: none;
    width: auto;
  }
  .comp-online-member-list li::before, .comp-online-member-list li:last-child::after {
    display: none;
  }
  .comp-online-member-list li:nth-child(odd)::after {
    content: "";
    position: absolute;
    top: 4%;
    right: 0;
    display: block;
    width: 1px;
    height: 100%;
    background: rgba(204, 204, 204, 0.6);
    transform: none;
  }
  .comp-online-member-list img {
    width: 62%;
    max-width: 180px;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  .comp-online-member-list img {
    width: 90%;
    max-width: 240px;
    margin: auto;
  }
}
@media (max-width: 768px) {
  .comp-online-member-list .u-honbun-S {
    font-size: 1.1rem;
  }
}
@media (max-width: 768px) and (max-width: 460px) {
  .comp-online-member-list .u-honbun-S {
    font-size: 2.53vw !important;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  .comp-online-member-list .u-honbun-S {
    font-size: clamp(12px, 2.6vw, 15px) !important;
  }
}
@media (max-width: 768px) {
  .comp-online-member-list .u-heading-M {
    font-size: 1.8rem;
    font-weight: 500;
  }
}
@media (max-width: 768px) and (max-width: 460px) {
  .comp-online-member-list .u-heading-M {
    font-size: 4.14vw !important;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  .comp-online-member-list .u-heading-M {
    font-size: clamp(14px, 4.6vw, 24px) !important;
  }
}

.comp-online-member-entry {
  margin-top: 24px;
  text-align: center;
}
@media (min-width: 960px) {
  .comp-online-member-entry .c-btnwrap.is-clm {
    gap: 16px;
  }
}
@media (max-width: 959px) {
  .comp-online-member-entry .c-btnwrap.is-clm {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 16px;
  }
  .comp-online-member-entry .c-btnwrap.is-clm .c-btn {
    margin: 0;
  }
  .comp-online-member-entry .c-btnwrap.is-clm .c-btn:nth-of-type(n+2) {
    margin-top: 0;
  }
}
@media (max-width: 768px) {
  .comp-online-member-entry .c-btnwrap.is-clm {
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .comp-online-member-entry {
    margin-top: 40px;
  }
}

.comp-online-member-logo {
  position: relative;
}

.comp-online-member-script {
  position: relative;
  z-index: 1;
  width: fit-content;
  margin: 0 auto -16px;
  transform: rotate(-2deg);
  transform-origin: center 70%;
}
.comp-online-member-script img {
  display: block;
  width: 181px;
  height: auto;
}
@media (max-width: 768px) {
  .comp-online-member-script {
    margin-bottom: -12px;
  }
  .comp-online-member-script img {
    width: 42vw;
    max-width: 160px;
  }
}

.comp-online-member-brand {
  display: inline-block;
  min-width: 344px;
  margin: 0;
  padding: 20px 28px;
  border: 4px solid #EB212E;
}
.comp-online-member-brand img {
  display: block;
  width: 245px;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .comp-online-member-brand {
    min-width: 0;
    box-sizing: border-box;
    padding: 5% 6%;
  }
  .comp-online-member-brand img {
    width: 100%;
    max-width: 220px;
  }
}

.comp-online-member-lead {
  font-size: clamp(22px, 2.6vw, 32px);
  margin: 24px 0 0;
  font-weight: 300;
  text-align: center;
}
@media (max-width: 959px) {
  .comp-online-member-lead {
    font-size: 32px;
  }
}
@media (max-width: 768px) {
  .comp-online-member-lead {
    font-size: 2rem;
    margin-top: 16px;
    font-weight: 300;
  }
}
@media (max-width: 768px) and (max-width: 460px) {
  .comp-online-member-lead {
    font-size: 4.6vw !important;
  }
}

/* ==========================================================================
  リポジトリ側で追記（デザイン側からの差し替え時に消さないこと）
  body#top により styles.css の「#top .comp-recommend」（PCで下余白80px）が
  新着製品にも当たってしまうため、.u-sec の既定値（64px）へ戻す
  （CSSの読み込み順に左右されないよう、body を付けて詳細度を上げている）
========================================================================== */
@media (min-width: 960px) {
  body#top .comp-recommend {
    padding-bottom: 64px;
  }
}
/*# sourceMappingURL=online.css.map */