@charset "UTF-8";
/* =======================================================
blog
======================================================= */
.p-blog {
  padding: calc(75/16 * 1rem) 0 calc(97/16 * 1rem);
}
.p-blog .c-ttl {
  margin-bottom: calc(43/16 * 1rem);
  --_c-ttl-color: var(--color-primary);
}
.p-blog .c-ttl__inner::before {
  background-image: url("/megahobby/images/common/ttl-line--primary.svg");
}
.p-blog__article-wrapper {
  display: grid;
  gap: calc(34/16 * 1rem);
  max-width: calc(1058/16 * 1rem);
  margin-inline: auto;
  margin-bottom: calc(77/16 * 1rem);
}
@media (width >= 768px) {
  .p-blog__article-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-blog__article-link {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  overflow: hidden;
  background-color: var(--color-brightest);
  border: 1px solid var(--color-gray);
  border-radius: calc(6/16 * 1rem);
  box-shadow: 0 calc(3/16 * 1rem) 0 var(--color-gray-light);
}
.p-blog__article-link:focus-visible {
  box-shadow: none;
  translate: 0 0.25em;
}
@media (any-hover: hover) {
  .p-blog__article-link:hover {
    box-shadow: none;
    translate: 0 0.25em;
  }
}
@media (width <= 767px) {
  .p-blog__article-link {
    display: grid;
    grid-template-columns: auto 1fr;
  }
}
.p-blog__article-imgwrapper {
  border-bottom: 1px solid var(--color-gray);
}
.p-blog__article-imgwrapper > img {
  display: block;
  width: calc(330/16 * 1rem);
  aspect-ratio: 330/210;
  object-fit: cover;
}
@media (width <= 767px) {
  .p-blog__article-imgwrapper > img {
    width: calc(15.46875 * 1rem);
  }
}
.p-blog__article-body {
  position: relative;
  padding: calc(18/16 * 1rem) calc(12/16 * 1rem) calc(84/16 * 1rem);
  padding-inline: calc(1.125 * 1rem);
  background-color: var(--color-brightest);
}
.p-blog__article-date {
  display: block;
  margin-bottom: calc(11/16 * 1rem);
  font-size: calc(13/16 * 1em);
  font-weight: 700;
  color: var(--color-gray02);
}
@media (width <= 767px) {
  .p-blog__article-date {
    margin-bottom: calc(1.03125 * 1rem);
    font-size: calc(1.21875 * 1em);
  }
}
.p-blog__article-ttl {
  font-size: calc(18/16 * 1em);
  font-weight: 600;
  color: var(--color-base);
  letter-spacing: 0;
}
@media (width <= 767px) {
  .p-blog__article-ttl {
    display: -webkit-box;
    overflow: hidden;
    font-size: calc(1.6875 * 1em);
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
.p-blog__article-more {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(139/16 * 1rem);
  height: calc(36/16 * 1rem);
  padding: calc(5/16 * 1rem) 0 0 calc(56/16 * 1rem);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-brightest);
  background-image: url("/megahobby/images/common/product-more-bg.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (width <= 767px) {
  .p-blog__article-more {
    width: calc(13.03125 * 1rem);
    height: calc(3.375 * 1rem);
    padding: calc(0.46875 * 1rem) 0 0 calc(5.25 * 1rem);
    font-size: 1.5rem;
  }
}
.p-blog__bnr-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: calc(35/16 * 1rem);
  justify-content: center;
}
@media (width <= 767px) {
  .p-blog__bnr-wrapper {
    gap: calc(3.28125 * 1rem);
  }
}
.p-blog__bnr {
  display: block;
}
@media (width >= 768px) {
  .p-blog__bnr {
    width: calc(250/16 * 1rem);
  }
}
.p-blog__bnr:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .p-blog__bnr:hover {
    opacity: 0.7;
  }
}

/* =======================================================
brand
======================================================= */
.p-brand {
  position: relative;
  padding: calc(79/16 * 1rem) 0 calc(95/16 * 1rem);
  background-color: var(--color-brightest);
}
@media (width <= 767px) {
  .p-brand {
    padding-top: 0;
  }
}
.p-brand::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(451/16 * 1rem);
  height: calc(600/16 * 1rem);
  content: "";
  background-image: url("/megahobby/images/top/brand-foot-bg01.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.p-brand .l-inner {
  position: relative;
  z-index: var(--z-index-on);
}
.p-brand .c-ttl {
  margin-bottom: calc(43/16 * 1rem);
}
.p-brand__bnr-wrapper {
  display: grid;
  gap: calc(31/16 * 1rem) calc(26/16 * 1rem);
  margin-bottom: calc(61/16 * 1rem);
}
@media (width >= 768px) {
  .p-brand__bnr-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-brand__bnr:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .p-brand__bnr:hover {
    opacity: 0.7;
  }
}

/* =======================================================
btm-bnr
======================================================= */
.p-btm {
  padding: calc(31/16 * 1rem) 0;
  background-color: #d7d7d7;
}
@media (width <= 767px) {
  .p-btm {
    display: none;
  }
}
.p-btm .l-inner {
  display: flex;
  flex-wrap: wrap;
  gap: calc(29/16 * 1rem);
  justify-content: center;
}
.p-btm__bnr {
  display: flex;
}
@media (width >= 768px) {
  .p-btm__bnr {
    width: calc(220/16 * 1rem);
  }
}
.p-btm__bnr:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .p-btm__bnr:hover {
    opacity: 0.7;
  }
}

/* =======================================================
common
======================================================= */
/* =======================================================
swiperリセット
======================================================= */
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  position: relative;
  bottom: initial;
  left: initial;
  display: flex;
  transition-timing-function: ease;
  transition-duration: var(--transition-duration);
  transition-property: background-color;
  will-change: background-color;
  transform: none;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet,
.swiper-pagination-custom .swiper-pagination-bullet,
.swiper-pagination-fraction .swiper-pagination-bullet {
  display: block;
  margin: 0;
  background-color: var(--color-gray-light);
  border-radius: calc(infinity * 1px);
  opacity: 1;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet-active,
.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active,
.swiper-pagination-custom .swiper-pagination-bullet-active,
.swiper-pagination-fraction .swiper-pagination-bullet-active {
  background-color: var(--color-limited-accent);
}

.swiper-button-prev,
.swiper-button-next {
  top: revert;
  right: revert;
  left: revert;
  height: revert;
  margin-top: revert;
  color: revert;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

/* =======================================================
bg
======================================================= */
.p-bg__wrapper {
  background-image: url("/megahobby/images/top/bg.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* =======================================================
event-information
======================================================= */
.p-event-information {
  padding: calc(86/16 * 1rem) 0 calc(101/16 * 1rem);
}
.p-event-information .c-ttl {
  --_c-ttl-color: var(--color-primary);
  margin-bottom: calc(51/16 * 1rem);
}
.p-event-information .c-ttl::before {
  font-size: calc(83/16 * 1rem);
}
.p-event-information .c-ttl__inner::before {
  background-image: url("/megahobby/images/common/ttl-line--primary.svg");
}
.p-event-information__box-wrapper {
  display: grid;
  gap: calc(70/16 * 1rem);
}
.p-event-information__box {
  padding-bottom: calc(56/16 * 1rem);
  overflow: hidden;
  background-color: var(--color-brightest);
  border: 1px solid var(--color-primary);
  border-radius: calc(6/16 * 1rem);
  box-shadow: 0 calc(4/16 * 1rem) 0 var(--color-primary);
}
.p-event-information__box.--news .p-event-information__box-bnr-wrapper {
  gap: calc(23/16 * 1rem);
  margin-block: calc(46/16 * 1rem) 0;
}
@media (width <= 767px) {
  .p-event-information__box.--news .p-event-information__box-bnr-wrapper {
    gap: calc(2.15625 * 1rem);
  }
}
@media (width >= 768px) {
  .p-event-information__box.--news .p-event-information__box-bnr {
    width: calc(257/16 * 1rem);
  }
}
@media (width <= 767px) {
  .p-event-information__box.--news .p-event-information__box-bnr {
    width: 100%;
  }
}
.p-event-information__box.--news .p-event-information__box-bnr > img {
  aspect-ratio: 257/88;
}
.p-event-information__box-bnr {
  position: relative;
}
.p-event-information__box-bnr-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: calc(16/16 * 1rem);
  justify-content: center;
  margin-block: calc(54/16 * 1rem);
}
@media (width <= 767px) {
  .p-event-information__box-bnr-wrapper {
    gap: calc(2 * 1rem);
    padding-inline: calc(var(--inner-padding-inline) / 16px * 1rem);
  }
}
.p-event-information__box-bnr.--questionnaire {
  --bnr-date-bg: #fe906c;
}
.p-event-information__box-bnr.--manuals {
  --bnr-date-bg: #f55001;
}
.p-event-information__box-bnr-date {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(53/171 * 100%);
  font-size: calc(13/16 * 1rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.08em;
  pointer-events: none;
  background-color: var(--bnr-date-bg);
}
@media (width <= 767px) {
  .p-event-information__box-bnr-date {
    font-size: calc(1.5 * 1rem);
  }
}
@media (width >= 768px) {
  .p-event-information__box-bnr {
    width: calc(349/16 * 1rem);
  }
}
.p-event-information__box-bnr:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .p-event-information__box-bnr:hover {
    opacity: 0.7;
  }
}
.p-event-information__box-bnr > img {
  aspect-ratio: 349/198;
  object-fit: cover;
}
.p-event-information__box-news {
  position: relative;
  display: grid;
  gap: calc(40/16 * 1rem);
  padding: calc(36/16 * 1rem) calc(32/16 * 1rem) calc(49/16 * 1rem);
}
.p-event-information__box-news::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: calc(100% - 32/16 * 1rem * 2);
  height: 1px;
  content: "";
  background-color: var(--color-primary);
  translate: -50%;
}
.p-event-information__box-news-inner {
  padding-inline: calc(7/16 * 1rem) calc(15/16 * 1rem);
}
.p-event-information__box-news-ttl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: calc(14/16 * 1rem);
  align-items: center;
  padding-block: calc(var(--_padding-block) - var(--font-base-offset-top)) calc(var(--_padding-block) + var(--font-base-offset-top));
  margin-bottom: calc(15/16 * 1rem);
  font-size: calc(18/16 * 1rem);
  font-weight: 700;
  line-height: calc(22/18);
  --_padding-block: calc(7/16 * 1rem);
}
.p-event-information__box-news-ttl::before {
  width: calc(12/16 * 1rem);
  height: calc(100% + 14/16 * 1rem);
  content: "";
  background-color: var(--color-base);
}
@media (width <= 767px) {
  .p-event-information__box-news-ttl::before {
    width: calc(1.125 * 1rem);
    height: calc(100% + 1.3125 * 1rem);
  }
}
@media (width <= 767px) {
  .p-event-information__box-news-ttl {
    gap: calc(1.3125 * 1rem);
    margin-bottom: calc(1.40625 * 1rem);
    font-size: calc(1.6875 * 1rem);
  }
}
.p-event-information__box-news-txt {
  font-size: calc(14/16 * 1rem);
  font-weight: 700;
  line-height: calc(30/14);
}
.p-event-information__box-news-txt a {
  color: blue;
  text-decoration: underline;
}
@media (width <= 767px) {
  .p-event-information__box-news-txt {
    font-size: calc(1.3125 * 1rem);
  }
}
.p-event-information__bnr-wrapper {
  display: flex;
  margin-inline: auto;
  margin-top: calc(54/16 * 1rem);
}
@media (width >= 768px) {
  .p-event-information__bnr-wrapper {
    max-width: calc(482/16 * 1rem);
  }
}
@media (width <= 767px) {
  .p-event-information__bnr-wrapper {
    margin-inline: calc(var(--inner-padding-inline) / 16px * 1rem);
  }
}
.p-event-information__bnr-wrapper:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .p-event-information__bnr-wrapper:hover {
    opacity: 0.7;
  }
}

/* =======================================================
limited
======================================================= */
.p-limited {
  position: relative;
  padding-bottom: calc(113/16 * 1rem);
  overflow: hidden;
  background-color: var(--color-brightest);
}
.p-limited::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(913/16 * 1rem);
  height: calc(968/16 * 1rem);
  content: "";
  background-image: url("/megahobby/images/top/limited-foot-bg.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.p-limited .l-inner {
  position: relative;
  z-index: var(--z-index-on);
}
.p-limited .l-inner::before {
  position: absolute;
  top: 0;
  left: -100vw;
  width: 100vw;
  height: calc(138/16 * 1rem);
  content: "";
  background-color: var(--color-limited-accent);
}
.p-limited .c-ttl {
  --_c-ttl-color: var(--color-limited);
  position: relative;
  padding-block: calc(13/16 * 1rem);
}
.p-limited .c-ttl::before {
  z-index: var(--z-index-on);
}
.p-limited .c-ttl::after {
  position: absolute;
  top: 0;
  left: calc(-10.125 * 1rem);
  width: calc(1010/16 * 1rem);
  height: calc(138/16 * 1rem);
  content: "";
  background-image: url("/megahobby/images/top/limited-ttl-bg.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.p-limited .c-ttl__inner {
  position: relative;
  z-index: var(--z-index-on);
}
.p-limited .c-ttl__inner::before {
  background-image: url("/megahobby/images/common/ttl-line--limited.svg");
}
.p-limited .c-pagination__btn {
  --_background-color: var(--color-base);
  background-image: url("/megahobby/images/common/pagination-arrow--white.svg");
}
@media (width <= 767px) {
  .p-limited .c-pagination {
    margin-top: 1.75rem;
  }
}

/* =======================================================
movie
======================================================= */
.p-movie {
  padding: calc(56/16 * 1rem) 0 calc(103/16 * 1rem);
  background-color: var(--color-movie);
}
.p-movie .c-ttl {
  --_c-ttl-color: var(--color-movie-light);
  margin-bottom: calc(6/16 * 1rem);
}
.p-movie .c-ttl__inner::before {
  background-image: url("/megahobby/images/common/ttl-line--movie-light.svg");
}
.p-movie__lead {
  margin-bottom: calc(57/16 * 1rem);
  font-size: calc(18/16 * 1em);
  font-weight: 600;
  color: var(--color-brightest);
}
@media (width <= 767px) {
  .p-movie__lead {
    font-size: calc(1.6875 * 1em);
  }
}
@media (width <= 767px) {
  .p-movie__shorts-wrapper {
    position: relative;
    display: block;
  }
}
.p-movie__shorts-swiper-wrapper {
  margin-bottom: calc(48/16 * 1rem);
}
@media (width >= 768px) {
  .p-movie__shorts-swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: calc(19/16 * 1rem);
  }
}
@media (width <= 767px) {
  .p-movie__shorts {
    width: 50%;
    margin-inline: calc(10/16 * 1rem);
  }
}
.p-movie__shorts > iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 221/394;
}
.p-movie__shorts-btn-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: var(--z-index-on);
  display: none;
  width: 100%;
  translate: -50% -50%;
}
@media (width <= 767px) {
  .p-movie__shorts-btn-wrapper {
    display: block;
    max-width: calc(320/16 * 1rem);
  }
}
.p-movie__shorts-btn {
  top: 50%;
  width: calc(107/16 * 1rem);
  aspect-ratio: 1;
  background-image: url("/megahobby/images/top/swiper-arrow-ltr.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  translate: 0 -50%;
}
.p-movie__shorts-btn.--prev {
  left: calc(73.5/16 * 1rem * -1);
}
.p-movie__shorts-btn.--next {
  right: calc(73.5/16 * 1rem * -1);
  rotate: -180deg;
}
.p-movie .c-btn {
  min-width: calc(475/16 * 1rem);
}
.p-movie__slide-container {
  position: relative;
  margin-top: calc(101/16 * 1rem);
  margin-bottom: calc(51/16 * 1rem);
}
.p-movie__slide {
  display: block;
  width: calc(625/16 * 1rem);
  margin-inline: calc(42/2/16 * 1rem);
}
@media (width <= 767px) {
  .p-movie__slide {
    width: calc(600/16 * 1rem);
  }
}
.p-movie__slide iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 625/352;
}
.p-movie__slide-btn-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: var(--z-index-on);
  width: 100%;
  max-width: calc(626/16 * 1rem);
  height: 100%;
  translate: -50% -50%;
}
@media (width <= 767px) {
  .p-movie__slide-btn-wrapper {
    max-width: calc(600/16 * 1rem);
  }
}
.p-movie__slide-btn {
  top: 50%;
  width: calc(107/16 * 1rem);
  aspect-ratio: 1;
  background-image: url("/megahobby/images/top/swiper-arrow-ltr.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  translate: 0 -50%;
}
.p-movie__slide-btn.--prev {
  left: calc(73.5/16 * 1rem * -1);
}
.p-movie__slide-btn.--next {
  right: calc(73.5/16 * 1rem * -1);
  rotate: -180deg;
}

/* =======================================================
mv
======================================================= */
.p-mv__slide-container {
  position: relative;
  max-width: calc(720/16 * 1rem);
  margin-inline: auto;
}
@media (width <= 767px) {
  .p-mv__slide-container {
    max-width: calc(600/16 * 1rem);
  }
}
.p-mv__slide {
  display: block;
  width: calc(720/16 * 1rem);
  margin-inline: 1.09375rem;
}
@media (width <= 767px) {
  .p-mv__slide {
    width: calc(600/16 * 1rem);
  }
}
.p-mv__slide img {
  aspect-ratio: 720/409;
  object-fit: cover;
  transition-timing-function: ease;
  transition-duration: var(--transition-duration);
  transition-property: transform opacity;
  will-change: transform opacity;
}
.p-mv__slide img:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .p-mv__slide img:hover {
    opacity: 0.7;
  }
}
.p-mv__slide-btn-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: var(--z-index-on);
  width: 100%;
  max-width: calc(800/16 * 1rem);
  height: 100%;
  translate: -50% -50%;
}
.p-mv__slide-btn {
  top: 12.78125rem;
  width: calc(107/16 * 1rem);
  aspect-ratio: 1;
  background-image: url("/megahobby/images/top/swiper-arrow-ltr.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  translate: 0 -50%;
}
@media (width <= 767px) {
  .p-mv__slide-btn {
    top: 10.625rem;
  }
}
.p-mv__slide-btn.--prev {
  left: calc(73.5/16 * 1rem * -1);
}
.p-mv__slide-btn.--next {
  right: calc(73.5/16 * 1rem * -1);
  rotate: -180deg;
}
.p-mv__slide-pagination {
  gap: calc(10/16 * 1rem);
  justify-content: center;
  margin-top: calc(18/16 * 1rem);
}
@media (width <= 767px) {
  .p-mv__slide-pagination {
    gap: calc(15/16 * 1rem);
    margin-top: calc(24/16 * 1rem);
  }
}
.p-mv__slide-pagination > span {
  width: calc(10/16 * 1rem);
  height: auto;
  aspect-ratio: 1;
}
@media (width <= 767px) {
  .p-mv__slide-pagination > span {
    width: calc(15/16 * 1rem);
  }
}

/* =======================================================
new-release
======================================================= */
.p-new-release {
  padding: calc(64/16 * 1rem) 0 calc(164/16 * 1rem);
}
.p-new-release .c-ttl {
  --_c-ttl-color: var(--color-primary);
}
.p-new-release .c-ttl__inner::before {
  background-image: url("/megahobby/images/common/ttl-line--primary.svg");
}

/* =======================================================
release-schedule
======================================================= */
.p-release-schedule {
  padding: calc(68/16 * 1rem) 0 calc(145/16 * 1rem);
  background-color: var(--color-release-schedule);
}
.p-release-schedule .c-ttl {
  margin-bottom: calc(43/16 * 1rem);
}
.p-release-schedule .c-ttl::before {
  font-size: calc(83/16 * 1rem);
}
@media (width <= 767px) {
  .p-release-schedule .c-product__link-wrapper {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(43/16/2 * 1rem) calc(28/16/2 * 1rem);
    margin-bottom: calc(74/16/2 * 1rem);
  }
}
@media (width <= 767px) {
  .p-release-schedule .c-product__imgwrapper > img {
    width: calc(210/16/2 * 1rem);
  }
}
@media (width <= 767px) {
  .p-release-schedule .c-product__body {
    padding: calc(18/16/2 * 1rem) calc(12/16/2 * 1rem) calc(84/16/2 * 1rem);
  }
}
@media (width <= 767px) {
  .p-release-schedule .c-product__def {
    gap: calc(9/16/2 * 1rem);
    margin-bottom: 1rem;
  }
}
@media (width <= 767px) {
  .p-release-schedule .c-product__dttl {
    padding-block: calc(var(--_padding-block) - var(--font-base-offset-top)) calc(var(--_padding-block) + var(--font-base-offset-top));
    padding-inline: calc(10/16/2 * 1rem);
    font-size: calc(12/16/2 * 1em);
  }
}
@media (width <= 767px) {
  .p-release-schedule .c-product__ditem {
    font-size: calc(19.5/16/2 * 1em);
  }
}
@media (width <= 767px) {
  .p-release-schedule .c-product__ttl {
    font-size: calc(21/16/2 * 1rem);
  }
}
@media (width <= 767px) {
  .p-release-schedule .c-product__more {
    width: calc(6.515625 * 1rem);
    height: calc(1.6875 * 1rem);
    padding: calc(0.234375 * 1rem) 0 0 calc(2.625 * 1rem);
    font-size: 0.75rem;
  }
}

/* =======================================================
search
======================================================= */
.p-search {
  position: relative;
  padding-block: calc(129/16 * 1rem) calc(69/16 * 1rem);
}
.p-search::before, .p-search::after {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.p-search::before {
  top: calc(28/16 * -1rem);
  left: 0;
  z-index: var(--z-index-on);
  width: calc(233/16 * 1rem);
  height: calc(608/16 * 1rem);
  background-image: url("/megahobby/images/top/search-head-bg01.svg");
}
@media (width <= 767px) {
  .p-search::before {
    top: calc(39/16 * -1rem);
  }
}
.p-search::after {
  top: calc(173/16 * -1rem);
  right: 0;
  width: calc(304/16 * 1rem);
  height: calc(504/16 * 1rem);
  background-image: url("/megahobby/images/top/search-head-bg02.svg");
}
@media (width <= 767px) {
  .p-search::after {
    top: revert;
    bottom: 0;
  }
}
.p-search__box {
  position: relative;
  z-index: var(--z-index-on);
  display: flex;
  gap: calc(18/16 * 1rem);
  justify-content: center;
}
@media (width <= 767px) {
  .p-search__box {
    display: grid;
    gap: calc(32/16 * 1rem);
  }
}
.p-search__form {
  box-sizing: content-box;
  display: flex;
  overflow: hidden;
  background-color: var(--color-brightest);
  border: 2px solid var(--color-gray);
  border-radius: 6px;
}
.p-search__label {
  --_padding-block: calc(16/16 * 1rem);
  position: relative;
  padding-block: calc(var(--_padding-block) - var(--font-base-offset-top)) calc(var(--_padding-block) + var(--font-base-offset-top));
  padding-inline: calc(29/16 * 1rem) calc(95/16 * 1rem);
  font-size: calc(15/16 * 1em);
  font-weight: 600;
  line-height: calc(20/15);
  color: var(--color-brightest);
  background-image: url("/megahobby/images/top/search-bg.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (width <= 767px) {
  .p-search__label {
    font-size: calc(22.5/16 * 1em);
  }
}
.p-search__input-wrap {
  display: flex;
  padding-right: calc(26/16 * 1rem);
  padding-left: 1rem;
}
.p-search__input {
  font-size: 1em;
}
@media (width >= 768px) {
  .p-search__input {
    width: calc(346/16 * 1rem);
    padding-right: 1rem;
  }
}
@media (width <= 767px) {
  .p-search__input {
    width: calc(252/16 * 1rem);
    font-size: 1.5em;
  }
}
.p-search__input::placeholder {
  color: var(--color-gray);
}
@media (width <= 767px) {
  .p-search__input::placeholder {
    font-size: 1em;
  }
}
.p-search__btn img {
  width: calc(38/16 * 1rem);
  aspect-ratio: 1;
}
.p-search .c-btn {
  --_padding-block: calc(10/16 * 1rem);
  padding-inline: calc(14/16 * 1rem);
  border-radius: calc(6/16 * 1rem);
}
@media (width >= 768px) {
  .p-search .c-btn {
    margin-inline: 0;
  }
}
@media (width <= 767px) {
  .p-search .c-btn {
    --_padding-block: calc(15/16 * 1rem);
    padding-inline: calc(21/16 * 1rem);
  }
}

/* =======================================================
sns
======================================================= */
.p-sns {
  position: relative;
  padding: calc(122/16 * 1rem) 0 calc(108/16 * 1rem);
  overflow: hidden;
  background-color: var(--color-brightest);
}
.p-sns::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(501/16 * 1rem);
  height: calc(600/16 * 1rem);
  content: "";
  background-image: url("/megahobby/images/top/sns-foot-bg01.svg");
}
.p-sns__head-bg {
  position: relative;
}
.p-sns__head-bg::before, .p-sns__head-bg::after {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.p-sns__head-bg::before {
  top: calc(-20.5 * 1rem);
  left: 0;
  width: calc(492/16 * 1rem);
  height: calc(617/16 * 1rem);
  background-image: url("/megahobby/images/top/sns-head-bg01.svg");
}
.p-sns__head-bg::after {
  top: calc(-15.875 * 1rem);
  right: 0;
  width: calc(577/16 * 1rem);
  height: calc(504/16 * 1rem);
  background-image: url("/megahobby/images/top/sns-head-bg02.svg");
}
.p-sns .l-inner {
  position: relative;
  z-index: var(--z-index-on);
}
.p-sns .c-ttl {
  margin-bottom: calc(33/16 * 1rem);
}
.p-sns__box-wrapper {
  display: grid;
  gap: calc(70/16 * 1rem);
  max-width: calc(1162/16 * 1rem);
  margin-inline: auto;
}
.p-sns__box .c-subttl {
  --_c-subttl-color: var(--color-brightest);
  background-image: url("/megahobby/images/common/subttl-bg-sns.svg");
}
.p-sns__box .c-subttl::after {
  background-color: var(--color-gray03);
}
.p-sns__box .c-subttl__inner::before {
  background-image: url("/megahobby/images/common/subttl-line-white.svg");
}
.p-sns__box {
  background-color: var(--color-brightest);
  border: 1px solid var(--color-gray03);
  border-radius: calc(6/16 * 1rem);
}
.p-sns__box.--sns {
  padding-bottom: calc(39/16 * 1rem);
}
.p-sns__box.--sns .c-btn {
  min-width: calc(475/16 * 1rem);
}
.p-sns__box.--link {
  padding-bottom: calc(61/16 * 1rem);
}
.p-sns__official-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: calc(25/16 * 1rem) calc((67.5625 * 1rem - 21.6875 * 1rem * 3) / 2);
  justify-content: center;
  padding-block: calc(54/16 * 1rem) calc(42/16 * 1rem);
}
.p-sns__official {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  padding: calc(12/16 * 1rem);
  background-color: var(--color-base);
}
@media (width >= 768px) {
  .p-sns__official {
    min-width: calc(347/16 * 1rem);
  }
}
@media (width <= 767px) {
  .p-sns__official {
    padding: calc(1.125 * 1rem);
  }
}
.p-sns__official:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .p-sns__official:hover {
    opacity: 0.7;
  }
}
.p-sns__official::after {
  position: absolute;
  top: 50%;
  right: calc(27/16 * 1rem);
  width: calc(73/16 * 1rem);
  height: calc(75/16 * 1rem);
  content: "";
  background-image: url("/megahobby/images/common/icon-x.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  translate: 0 -50%;
}
.p-sns__official.--megachan .p-sns__official-name {
  text-align: right;
  translate: calc(9/16 * 1rem);
}
.p-sns__official-imgwrapper {
  max-width: calc(57/16 * 1rem);
}
@media (width <= 767px) {
  .p-sns__official-imgwrapper {
    max-width: calc(5.34375 * 1rem);
  }
}
.p-sns__official-name {
  font-size: calc(19/16 * 1em);
  font-weight: 900;
  line-height: calc(26/19);
  color: var(--color-brightest);
  text-align: center;
}
@media (width <= 767px) {
  .p-sns__official-name {
    font-size: calc(1.78125 * 1em);
  }
}
.p-sns__official-icon-wrapper {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, calc(80/16 * 1rem));
  gap: calc(34/16 * 1rem);
  justify-content: center;
  padding-bottom: calc(54/16 * 1rem);
  margin-bottom: calc(41/16 * 1rem);
}
.p-sns__official-icon-wrapper::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: calc(100% - 64/16 * 1rem);
  height: 1px;
  content: "";
  background-color: var(--color-gray03);
  translate: -50%;
}
.p-sns__official-icon:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .p-sns__official-icon:hover {
    opacity: 0.7;
  }
}
.p-sns__link-wrapper {
  display: grid;
  gap: calc(20/16 * 1rem);
  justify-content: center;
  padding-top: calc(53/16 * 1rem);
}
@media (width >= 768px) {
  .p-sns__link-wrapper {
    grid-template-columns: repeat(3, calc(347/16 * 1rem));
  }
}
@media (width <= 767px) {
  .p-sns__link-wrapper {
    padding-inline: calc(24/16 * 1rem);
  }
}
.p-sns__link {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: calc(68/16 * 1rem);
  padding-inline: calc(16/16 * 1rem);
  font-size: calc(19/16 * 1em);
  font-weight: 900;
  line-height: calc(26/19);
  color: var(--color-brightest);
  background-color: var(--_background-color);
  border-radius: calc(20/16 * 1rem);
}
@media (width <= 767px) {
  .p-sns__link {
    gap: calc(24/16 * 1rem);
    min-height: calc(6.375 * 1rem);
    padding-inline: calc(1.5 * 1rem);
    font-size: calc(1.78125 * 1em);
  }
}
.p-sns__link:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .p-sns__link:hover {
    opacity: 0.7;
  }
}
.p-sns__link::before, .p-sns__link::after {
  content: "";
}
.p-sns__link::before {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.p-sns__link::after {
  justify-self: end;
  width: calc(34/16 * 1rem);
  aspect-ratio: 1;
  background-image: url("/megahobby/images/common/btn-icon.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.p-sns__link.--megahouseportal {
  --_background-color: var(--color-primary);
}
.p-sns__link.--megahouseportal::before {
  width: calc(43/16 * 1rem);
  height: calc(50/16 * 1rem);
  background-image: url("/megahobby/images/top/icon-megahouse-portal.png");
}
.p-sns__link.--mega-toy {
  --_background-color: var(--color-mega-toy);
}
.p-sns__link.--mega-toy::before {
  width: calc(80/16 * 1rem);
  height: calc(34/16 * 1rem);
  background-image: url("/megahobby/images/top/icon-mega-toy.png");
}
.p-sns__link.--megatreashop {
  --_background-color: var(--color-megatreashop);
}
.p-sns__link.--megatreashop::before {
  width: calc(53/16 * 1rem);
  height: calc(54/16 * 1rem);
  background-image: url("/megahobby/images/top/icon-megatreashop.png");
}

@media (width <= 767px) {
  .p-sns__official-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-block: calc(54/16/2 * 1rem) calc(42/16/2 * 1rem);
    padding-inline: calc(20/16 * 1rem);
  }
  .p-sns__official {
    padding: calc(0.5625 * 1rem);
  }
  .p-sns__official::after {
    right: calc(27/16/2 * 1rem);
    width: calc(73/16/2 * 1rem);
    height: calc(75/16/2 * 1rem);
  }
  .p-sns__official.--megachan .p-sns__official-name {
    text-align: right;
    translate: calc(9/16/2 * 1rem);
  }
  .p-sns__official-imgwrapper {
    max-width: calc(2.671875 * 1rem);
  }
  .p-sns__official-name {
    font-size: calc(0.890625 * 1em);
  }
  .p-sns__official-icon-wrapper {
    grid-template-columns: repeat(3, calc(80/16/2 * 1rem));
    gap: calc(34/16/2 * 1rem);
    padding-bottom: calc(54/16/2 * 1rem);
    margin-bottom: calc(41/16/2 * 1rem);
  }
  .p-sns__official-icon-wrapper::after {
    width: calc(100% - 64/16/2 * 1rem);
  }
  .p-sns__link-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-inline: calc(24/16 * 1rem);
    padding-top: calc(53/16/2 * 1rem);
  }
  .p-sns__link {
    gap: calc(24/16/2 * 1rem);
    min-height: calc(3.1875 * 1rem);
    padding-inline: calc(0.75 * 1rem);
    font-size: calc(0.890625 * 1em);
  }
  .p-sns__link::after {
    width: calc(34/16/2 * 1rem);
  }
  .p-sns__link.--megahouseportal::before {
    width: calc(43/16/2 * 1rem);
    height: calc(50/16/2 * 1rem);
  }
  .p-sns__link.--mega-toy::before {
    width: calc(80/16/2 * 1rem);
    height: calc(34/16/2 * 1rem);
  }
  .p-sns__link.--megatreashop::before {
    width: calc(53/16/2 * 1rem);
    height: calc(54/16/2 * 1rem);
  }
}