@charset "UTF-8";

/* ===== VR Store "目的例" icon section — scoped, no effect outside #vr_store_ ===== */

/* --- top pill + red banner heading --- */
#vr_store_ + div.composite_box01 .heading.block_header_6 {
  position: relative;
  max-width: 1400px;
  margin: 0 auto 70px;
  padding-top: 50px;
  text-align: left;
}
#vr_store_ + div.composite_box01 .heading.block_header_6 h2.h {
  position: absolute;
  top: 50px; /* matches padding-top above = the banner's top edge */
  left: 24px; /* fixed corner margin — stable at any screen size */
  transform: translateY(-50%); /* centers pill on that edge */
  z-index: 3;
  margin: 0;
  background: #ffffff;
  color: #e5313c;
  font-weight: 700;
  font-size: 14px;
  padding: 0px 16px;
  border-radius: 18px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
}
#vr_store_ + div.composite_box01 .heading.block_header_6 p {
  margin: 0;
  background: #e5313c;
  color: #ffffff;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
  padding: 30px 40px 26px;
  border-radius: 35px;
}
#vr_store_ + div.composite_box01 .heading.block_header_6 > div {
  width: 100%;
  text-align: center;
}
#vr_store_ + div.composite_box01 .heading.block_header_6 .h {
  font-size: 2rem !important;
}
#vr_store_ + div.composite_box01 .heading.block_header_6:before {
  display: none;
}
/* --- cards grid (3 per row, auto-wraps to a 2nd row once more are added) --- */
#vr_store_ + div.composite_box01 .wrapper_item {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem 2rem;
  justify-items: center;
  max-width: 1300px;
  margin: 0 auto;
}
#vr_store_ + div.composite_box01 .inner_item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  text-align: center;
}

/* title overlaid on the upper part of the circle */
#vr_store_ + div.composite_box01 .inner_item .heading.block_header_4 {
  position: absolute;
  top: 48px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  width: 82%;
  margin: 0;
}
#vr_store_ + div.composite_box01 .inner_item .heading.block_header_4 h3.h {
  margin: 0;
  padding: 0;
  color: #ffffff;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.3;
}

/* gradient circle — sits ABOVE the white text box */
#vr_store_ + div.composite_box01 .inner_item_img {
  position: relative;
  z-index: 2;
  width: 240px;
  height: 240px !important;
  border-radius: 50%;
  background: #4e67b0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 70px;
  box-sizing: border-box;
  overflow: hidden;
  margin: 0 auto;
}
#vr_store_ + div.composite_box01 .inner_item_img a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
#vr_store_ + div.composite_box01 .inner_item_img img {
  width: 76px !important;
  height: 76px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  filter: brightness(0) invert(1);
}

/* white description box — small tuck under the circle only, text stays clear */
#vr_store_ + div.composite_box01 .inner_item_txt {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 100px;
  margin-top: -20px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  padding: 30px 18px 24px;
  box-sizing: border-box;
  margin-bottom: 1rem;
}
#vr_store_ + div.composite_box01 .inner_item_txt p {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.6;
}

/* responsive */
@media (max-width: 900px) {
  #vr_store_ + div.composite_box01 .wrapper_item {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 2rem;
  }
  #vr_store_ + div.composite_box01 .inner_item_img {
    width: 200px;
    height: 200px !important;
    padding-bottom: 36px;
  }
}
@media (max-width: 640px) {
  #vr_store_ + div.composite_box01 .wrapper_item {
    grid-template-columns: 1fr;
    gap: 60px;
  }
  #vr_store_ + div.composite_box01 .heading.block_header_6 p {
    font-size: 20px;
    padding: 28px 24px 24px !important;
  }
}

/* allow shadows to render outside the clipping container */
#vr_store_ + div.composite_box01,
#vr_store_ + div.composite_box01 .content_wrapper {
  overflow: visible !important;
}

/* small safety margin so edge-card shadows have room to breathe */
#vr_store_ + div.composite_box01 .wrapper_item {
  padding: 0 16px;
  box-sizing: border-box;
}









#c2 + div .content_wrapper .wrapper_item > .inner_item:nth-child(2) {
    display: none;
}

 #c2 + div .content_wrapper .wrapper_item {
 justify-content: center;
 }




 #top_bg_2 + section .content_wrapper .heading.block_header_1,
#intro + section .content_wrapper .heading.block_header_1 {
 padding-top: 0; 
 }