@charset "UTF-8";
:root {
  --design-width: 1440;
}

@media screen and (max-width: 1023px) {
  :root {
    --design-width: 768;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --design-width: 390;
  }
}
.p-header {
  position: relative;
}
.p-header img {
  max-width: 100%;
  vertical-align: bottom;
}

.p-header__inner {
  position: relative;
  display: flex;
  justify-content: flex-end;
  padding: min(12 / var(--design-width) * 100vw, 12px) min(30 / var(--design-width) * 100vw, 30px);
}
.p-header__inner .l-logo-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.p-header__inner .l-logo-wrap .e-logo-01 {
  width: min(250 / var(--design-width) * 100vw, 250px);
}
.p-header__inner .e-navi-01 ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 min(12 / var(--design-width) * 100vw, 12px);
}
.p-header__inner .e-navi-01 ul li a {
  display: block;
}
.p-header__inner .e-navi-01 ul li a img {
  width: min(24 / var(--design-width) * 100vw, 24px);
}
.p-header__inner .e-navi-01 ul li a span {
  display: block;
  font-size: min(10 / var(--design-width) * 100vw, 10px);
  font-weight: 500;
}
.p-header__inner .e-navi-01 ul li.m-mypage-02 {
  display: none;
}
.p-header__inner .e-navi-02 {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-header__inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: min(8 / var(--design-width) * 100vw, 8px) min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-header__inner .l-logo-wrap .e-logo-01 {
    width: min(200 / var(--design-width) * 100vw, 200px);
  }
  .p-header__inner .e-navi-01 ul {
    gap: 0 min(8 / var(--design-width) * 100vw, 8px);
  }
  .p-header__inner .e-navi-01 ul li a img {
    width: min(18 / var(--design-width) * 100vw, 18px);
  }
  .p-header__inner .e-navi-01 ul li a span {
    font-size: min(9 / var(--design-width) * 100vw, 9px);
  }
  .p-header__inner .e-navi-01 ul li.m-mypage-02 {
    display: block;
  }
  .p-header__inner .e-navi-01 ul li.m-guide-01, .p-header__inner .e-navi-01 ul li.m-mypage-01, .p-header__inner .e-navi-01 ul li.m-favorite-01 {
    display: none;
  }
  .p-header__inner .e-navi-02 {
    display: block;
  }
  .p-header__inner .e-navi-02 a img {
    width: min(18 / var(--design-width) * 100vw, 18px);
  }
  .p-header__inner .e-navi-02 a span {
    display: block;
    font-size: min(9 / var(--design-width) * 100vw, 9px);
    font-weight: 500;
  }
}

.p-header__nav {
  background-color: #fafafa !important;
}
.p-header__nav > div {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(14 / var(--design-width) * 100vw, 14px);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-header__nav > div {
    justify-content: flex-start;
  }
}

.p-header__nav__parent > li {
  position: relative;
}
.p-header__nav__parent > li > a {
  display: block;
  padding: min(12 / var(--design-width) * 100vw, 12px) min(16 / var(--design-width) * 100vw, 16px);
}
.p-header__nav__parent > li:hover .p-header__nav__child {
  display: block;
  z-index: 10;
  position: absolute;
  top: min(46 / var(--design-width) * 100vw, 46px);
  left: 0;
  display: block;
  border-radius: min(6 / var(--design-width) * 100vw, 6px);
  background: #fafafa;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  text-align: left;
  padding: min(24 / var(--design-width) * 100vw, 24px) min(24 / var(--design-width) * 100vw, 24px);
  white-space: nowrap;
}
.p-header__nav__parent > li:hover .p-header__nav__child li a {
  display: block;
  padding: min(4 / var(--design-width) * 100vw, 4px) 0;
  background-image: url(https://gigaplus.makeshop.jp/ryubo/assets/r25/cmn-arrow-right-01.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: min(6 / var(--design-width) * 100vw, 6px) auto;
  padding-right: min(28 / var(--design-width) * 100vw, 28px);
}
.p-header__nav__parent > li:hover .p-header__nav__child li + li {
  margin-top: min(4 / var(--design-width) * 100vw, 4px);
}
@media screen and (max-width: 767px) {
  .p-header__nav__parent {
    width: auto !important;
    /* スライド間および最初と最後の余白調整 */
  }
  .p-header__nav__parent:first-child {
    margin-left: min(24 / var(--design-width) * 100vw, 24px);
  }
  .p-header__nav__parent:last-child {
    margin-right: min(24 / var(--design-width) * 100vw, 24px) !important;
  }
  .p-header__nav__parent > li > a {
    padding: min(8 / var(--design-width) * 100vw, 8px) min(16 / var(--design-width) * 100vw, 16px);
  }
  .p-header__nav__parent > li:hover .p-header__nav__child {
    display: none;
  }
}

.p-header__nav__child {
  display: none;
}

.swiper-gnavi-sp-button-prev::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f053";
  font-size: min(16 / var(--design-width) * 100vw, 16px);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.7);
  width: min(24 / var(--design-width) * 100vw, 24px);
  height: 100%;
  color: #ffffff;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-gnavi-sp-button-next::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
  font-size: min(16 / var(--design-width) * 100vw, 16px);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.7);
  width: min(24 / var(--design-width) * 100vw, 24px);
  height: 100%;
  color: #ffffff;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-gnavi-sp-button-prev.swiper-button-disabled,
.swiper-gnavi-sp-button-next.swiper-button-disabled {
  display: none !important;
}

@media screen and (min-width: 768px) {
  .swiper-gnavi-sp {
    overflow: visible !important;
  }
  .swiper-gnavi-sp .swiper-wrapper {
    transform: none !important;
    width: auto !important;
    flex-wrap: wrap;
  }
  .swiper-gnavi-sp .swiper-slide {
    width: auto !important;
    flex-shrink: 1 !important;
  }
  .swiper-gnavi-sp-button-prev,
  .swiper-gnavi-sp-button-next {
    display: none !important;
  }
}
.p-header__search {
  background-color: #CBDFF5;
  padding: 8px;
}
.p-header__search form {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  border: 1px solid #2963a2;
  border-radius: 2px;
  overflow: hidden;
  width: min(770 / var(--design-width) * 100vw, 770px);
  margin: 0 auto;
}
.p-header__search form input {
  flex: 1;
  padding: min(12 / var(--design-width) * 100vw, 12px);
  font-size: min(13 / var(--design-width) * 100vw, 13px);
}
.p-header__search form button, .p-header__search form a {
  padding: 0;
  border: none;
  background-color: #2963a2;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(40 / var(--design-width) * 100vw, 40px);
  height: min(40 / var(--design-width) * 100vw, 40px);
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-header__search {
    background-color: #CBDFF5;
    padding: 12px;
  }
  .p-header__search form {
    width: 100%;
  }
  .p-header__search form input {
    padding: min(8 / var(--design-width) * 100vw, 8px);
    font-size: min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-header__search form button, .p-header__search form a {
    width: min(32 / var(--design-width) * 100vw, 32px);
    height: min(32 / var(--design-width) * 100vw, 32px);
  }
}

.p-header__note-pc {
  background-color: #2a64a6;
  color: #ffffff;
  text-align: center;
  padding: min(8 / var(--design-width) * 100vw, 8px) 0;
  font-size: min(14 / var(--design-width) * 100vw, 14px);
}
.p-header__note-pc a {
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-header__note-pc {
    display: none;
  }
}

.p-header__note-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-header__note-sp {
    display: block;
    background-color: #2a64a6;
    color: #ffffff;
    text-align: center;
    padding: min(8 / var(--design-width) * 100vw, 8px) 0;
    font-size: min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-header__note-sp a {
    color: #ffffff;
  }
}

.swiper-home-kv-wrap {
  position: relative;
}
.swiper-home-kv-wrap .swiper-home-kv img {
  max-width: 100%;
  vertical-align: bottom;
}
.swiper-home-kv-wrap .swiper-home-kv .swiper-slide {
  width: min(1200 / var(--design-width) * 100vw, 1200px);
}
.swiper-home-kv-wrap .swiper-home-kv .swiper-home-kv-button-prev {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
  width: min(100 / var(--design-width) * 100vw, 100px);
  cursor: pointer;
}
.swiper-home-kv-wrap .swiper-home-kv .swiper-home-kv-button-next {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1;
  width: min(100 / var(--design-width) * 100vw, 100px);
  cursor: pointer;
}
.swiper-home-kv-wrap .swiper-home-kv-pagination {
  position: absolute;
  bottom: min(-20 / var(--design-width) * 100vw, -20px);
  left: 0;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 min(8 / var(--design-width) * 100vw, 8px);
}
.swiper-home-kv-wrap .swiper-home-kv-pagination .swiper-pagination-bullet {
  border-radius: 0;
  width: min(50 / var(--design-width) * 100vw, 50px);
  height: min(3 / var(--design-width) * 100vw, 3px);
  background-color: #D9D9D9;
  opacity: 1;
}
.swiper-home-kv-wrap .swiper-home-kv-pagination .swiper-pagination-bullet-active {
  height: min(5 / var(--design-width) * 100vw, 5px);
  background-color: #747474;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .swiper-home-kv-wrap .swiper-home-kv .swiper-slide {
    width: 100%;
  }
  .swiper-home-kv-wrap .swiper-home-kv .swiper-home-kv-button-prev {
    left: -8px;
    width: min(70 / var(--design-width) * 100vw, 70px);
  }
  .swiper-home-kv-wrap .swiper-home-kv .swiper-home-kv-button-next {
    right: -8px;
    width: min(70 / var(--design-width) * 100vw, 70px);
  }
}

:focus {
  outline: none;
}

.p-home-main img {
  max-width: 100%;
  vertical-align: bottom;
}
.p-home-main .l-section-01 {
  padding: min(56 / var(--design-width) * 100vw, 56px) 0;
}
.p-home-main .l-section-02 {
  border-top: 1px solid #e0e0e0;
  margin-top: min(32 / var(--design-width) * 100vw, 32px);
  padding: min(32 / var(--design-width) * 100vw, 32px) 0 0;
}
.p-home-main .l-wrap-01 {
  max-width: min(1264 / var(--design-width) * 100vw, 1264px);
  margin-left: auto;
  margin-right: auto;
}
.p-home-main .l-wrap-02 {
  max-width: min(1008 / var(--design-width) * 100vw, 1008px);
  margin-left: auto;
  margin-right: auto;
}
.p-home-main .c-heading-01 {
  text-align: center;
  margin-bottom: min(40 / var(--design-width) * 100vw, 40px);
}
.p-home-main .c-heading-01 h1,
.p-home-main .c-heading-01 h2,
.p-home-main .c-heading-01 h3,
.p-home-main .c-heading-01 h4,
.p-home-main .c-heading-01 h5,
.p-home-main .c-heading-01 h6 {
  font-size: min(24 / var(--design-width) * 100vw, 24px);
  font-weight: 700;
}
body.ct999 .p-home-main .c-heading-01 {
  color: #8A5C63;
}
body.ct999 .p-home-main .c-heading-01::after {
  content: "";
  display: block;
  width: min(100 / var(--design-width) * 100vw, 100px);
  height: 1px;
  background-color: #8A5C63;
  margin: min(16 / var(--design-width) * 100vw, 16px) auto 0;
}
.p-home-main .c-link-01 {
  text-align: right;
  margin-top: min(36 / var(--design-width) * 100vw, 36px);
  font-size: min(14 / var(--design-width) * 100vw, 14px);
  font-weight: 500;
}
.p-home-main > .l-section-01:first-child {
  padding-top: min(100 / var(--design-width) * 100vw, 100px);
}
@media screen and (max-width: 767px) {
  .p-home-main .l-section-01.--v-sp-pt-none {
    padding-top: 0;
  }
  .p-home-main .l-section-02 {
    border-top: 1px solid #e0e0e0;
    margin-top: min(32 / var(--design-width) * 100vw, 32px);
    padding: min(32 / var(--design-width) * 100vw, 32px) 0 0;
  }
  .p-home-main .l-section-02.--v-sp-pt-none {
    padding-top: 0;
  }
  .p-home-main .l-wrap-01 {
    max-width: 100%;
    padding: 0 min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-main .l-wrap-02 {
    max-width: 100%;
    padding: 0 min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-main .c-heading-01 {
    margin-bottom: min(30 / var(--design-width) * 100vw, 30px);
  }
  .p-home-main .c-link-01 {
    margin-top: min(34 / var(--design-width) * 100vw, 34px);
  }
  .p-home-main > .l-section-01:first-child {
    padding-top: min(80 / var(--design-width) * 100vw, 80px);
  }
}

.p-home-section-01 .e-list-01 {
  width: min(720 / var(--design-width) * 100vw, 720px);
  margin-left: auto;
  margin-right: auto;
}
.p-home-section-01 .e-list-01 dl {
  display: flex;
  gap: 0 min(32 / var(--design-width) * 100vw, 32px);
}
.p-home-section-01 .e-list-01 dl dt {
  white-space: nowrap;
  font-size: min(14 / var(--design-width) * 100vw, 14px);
  font-weight: 500;
}
.p-home-section-01 .e-list-01 dl dd {
  font-size: min(15 / var(--design-width) * 100vw, 15px);
  flex: 1;
}
.p-home-section-01 .e-list-01 dl dd a {
  text-decoration: underline;
}
.p-home-section-01 .e-list-01 dl dd a:hover {
  text-decoration: none;
}
.p-home-section-01 .e-list-01 dl + dl {
  margin-top: min(8 / var(--design-width) * 100vw, 8px);
}
@media screen and (max-width: 767px) {
  .p-home-section-01 .e-list-01 {
    width: 100%;
  }
  .p-home-section-01 .e-list-01 dl {
    display: block;
  }
  .p-home-section-01 .e-list-01 dl dd {
    flex: none;
  }
  .p-home-section-01 .e-list-01 dl + dl {
    margin-top: min(16 / var(--design-width) * 100vw, 16px);
  }
}

.p-home-section-02 .e-list-01 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: min(32 / var(--design-width) * 100vw, 32px) min(16 / var(--design-width) * 100vw, 16px);
}
.p-home-section-02 .e-list-01 a {
  display: block;
}
.p-home-section-02 .e-list-01 a .m-img-01 {
  border-radius: min(8 / var(--design-width) * 100vw, 8px);
  overflow: hidden;
  margin-bottom: min(8 / var(--design-width) * 100vw, 8px);
}
.p-home-section-02 .e-list-01 a .m-copy-01 {
  font-size: min(14 / var(--design-width) * 100vw, 14px);
}
.p-home-section-02 .e-list-01 a .m-title-01 {
  font-size: min(16 / var(--design-width) * 100vw, 16px);
  font-weight: 700;
}
.p-home-section-02 .e-list-02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(32 / var(--design-width) * 100vw, 32px) min(16 / var(--design-width) * 100vw, 16px);
}
.p-home-section-02 .e-list-02 > div {
  width: calc((100% - min(48 / var(--design-width) * 100vw, 48px)) / 4);
}
.p-home-section-02 .e-list-02 a {
  display: block;
}
.p-home-section-02 .e-list-02 a .m-img-01 {
  border-radius: min(8 / var(--design-width) * 100vw, 8px);
  overflow: hidden;
  margin-bottom: min(8 / var(--design-width) * 100vw, 8px);
}
.p-home-section-02 .e-list-02 a .m-copy-01 {
  font-size: min(14 / var(--design-width) * 100vw, 14px);
}
.p-home-section-02 .e-list-02 a .m-title-01 {
  font-size: min(16 / var(--design-width) * 100vw, 16px);
  font-weight: 700;
}
.p-home-section-02 .e-bnr-01 {
  margin: min(56 / var(--design-width) * 100vw, 56px) auto 0;
  width: min(800 / var(--design-width) * 100vw, 800px);
}
.p-home-section-02 .e-bnr-01 + .e-bnr-01 {
  margin-top: min(24 / var(--design-width) * 100vw, 24px);
}
@media screen and (max-width: 767px) {
  .p-home-section-02 .e-list-01 {
    grid-template-columns: repeat(2, 1fr);
    gap: min(20 / var(--design-width) * 100vw, 20px) min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-section-02 .e-list-01 a .m-img-01 {
    border-radius: min(6 / var(--design-width) * 100vw, 6px);
    margin-bottom: min(6 / var(--design-width) * 100vw, 6px);
  }
  .p-home-section-02 .e-list-01 a .m-copy-01 {
    font-size: min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-section-02 .e-list-02 {
    gap: min(20 / var(--design-width) * 100vw, 20px) min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-section-02 .e-list-02 > div {
    width: calc((100% - min(20 / var(--design-width) * 100vw, 20px)) / 2);
  }
  .p-home-section-02 .e-list-02 a .m-img-01 {
    border-radius: min(6 / var(--design-width) * 100vw, 6px);
    margin-bottom: min(6 / var(--design-width) * 100vw, 6px);
  }
  .p-home-section-02 .e-list-02 a .m-copy-01 {
    font-size: min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-section-02 .e-bnr-01 {
    width: 100%;
  }
  .p-home-section-02 .e-bnr-01 + .e-bnr-01 {
    margin-top: min(12 / var(--design-width) * 100vw, 12px);
  }
}

.p-home-section-03 {
  background-color: #f3f3f3;
}
.p-home-section-03 .e-list-01 ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 min(24 / var(--design-width) * 100vw, 24px);
}
.p-home-section-03 .e-list-01 ul li a {
  display: block;
  background-color: #ffffff;
  border-radius: min(8 / var(--design-width) * 100vw, 8px);
  padding: min(10 / var(--design-width) * 100vw, 10px) min(10 / var(--design-width) * 100vw, 10px) min(24 / var(--design-width) * 100vw, 24px);
  text-align: center;
  height: 100%;
  box-sizing: border-box;
}
.p-home-section-03 .e-list-01 ul li a .m-img-01 {
  border-radius: min(8 / var(--design-width) * 100vw, 8px);
  overflow: hidden;
}
.p-home-section-03 .e-list-01 ul li a .m-cate-01 {
  font-size: min(14 / var(--design-width) * 100vw, 14px);
  margin-top: min(8 / var(--design-width) * 100vw, 8px);
}
.p-home-section-03 .e-list-01 ul li a .m-title-01 {
  font-size: min(16 / var(--design-width) * 100vw, 16px);
  font-weight: 500;
  margin-top: min(4 / var(--design-width) * 100vw, 4px);
}
.p-home-section-03 .e-list-01 ul li a .m-price-01 {
  font-size: min(16 / var(--design-width) * 100vw, 16px);
  font-weight: 700;
  margin-top: min(4 / var(--design-width) * 100vw, 4px);
}
@media screen and (max-width: 767px) {
  .p-home-section-03 .e-list-01 {
    overflow-x: scroll;
  }
  .p-home-section-03 .e-list-01 ul {
    gap: 0 min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-section-03 .e-list-01 ul li {
    width: min(140 / var(--design-width) * 100vw, 140px);
  }
  .p-home-section-03 .e-list-01 ul li a {
    border-radius: min(4 / var(--design-width) * 100vw, 4px);
    padding: min(4 / var(--design-width) * 100vw, 4px) min(4 / var(--design-width) * 100vw, 4px) min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-section-03 .e-list-01 ul li a .m-img-01 {
    border-radius: min(4 / var(--design-width) * 100vw, 4px);
  }
  .p-home-section-03 .e-list-01 ul li a .m-cate-01 {
    font-size: min(8 / var(--design-width) * 100vw, 8px);
    margin-top: min(4 / var(--design-width) * 100vw, 4px);
  }
  .p-home-section-03 .e-list-01 ul li a .m-title-01 {
    font-size: min(10 / var(--design-width) * 100vw, 10px);
  }
  .p-home-section-03 .e-list-01 ul li a .m-price-01 {
    font-size: min(12 / var(--design-width) * 100vw, 12px);
  }
}

.p-home-section-04 .e-list-01 ul {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: min(28 / var(--design-width) * 100vw, 28px) min(28 / var(--design-width) * 100vw, 28px);
}
.p-home-section-04 .e-list-01 ul li a {
  display: block;
  text-align: center;
}
.p-home-section-04 .e-list-01 ul li a .m-title-01 {
  font-size: min(14 / var(--design-width) * 100vw, 14px);
  margin-top: min(12 / var(--design-width) * 100vw, 12px);
}
.p-home-section-04 .e-list-02 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(16 / var(--design-width) * 100vw, 16px);
}
.p-home-section-04 .e-list-02 ul li {
  width: calc((100% - min(48 / var(--design-width) * 100vw, 48px)) / 4);
}
.p-home-section-04 .e-list-02 ul li a {
  display: flex;
  align-items: center;
  gap: 0 min(16 / var(--design-width) * 100vw, 16px);
  border: 1px solid #e0e0e0;
  border-radius: min(8 / var(--design-width) * 100vw, 8px);
  overflow: hidden;
}
.p-home-section-04 .e-list-02 ul li a .m-img-01 {
  width: min(64 / var(--design-width) * 100vw, 64px);
  height: min(64 / var(--design-width) * 100vw, 64px);
  object-fit: cover;
  border-right: 1px solid #e0e0e0;
}
.p-home-section-04 .e-list-02 ul li a .m-title-01 {
  font-size: min(16 / var(--design-width) * 100vw, 16px);
}
@media screen and (max-width: 767px) {
  .p-home-section-04 .e-list-01 {
    padding: 0 min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-section-04 .e-list-01 ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-section-04 .e-list-01 ul li a .m-title-01 {
    font-size: min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-section-04 .e-list-02 ul {
    display: block;
  }
  .p-home-section-04 .e-list-02 ul li {
    width: 100%;
  }
  .p-home-section-04 .e-list-02 ul li + li {
    margin-top: min(16 / var(--design-width) * 100vw, 16px);
  }
}

.p-home-section-05__content ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: min(24 / var(--design-width) * 100vw, 24px);
}
.p-home-section-05__content ul li {
  position: relative;
  padding-top: min(34 / var(--design-width) * 100vw, 34px);
}
.p-home-section-05__content ul li a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  background-color: #ffffff;
}
.p-home-section-05__content ul li a .e-text-01 {
  padding: min(8 / var(--design-width) * 100vw, 8px) 0 0;
  text-align: center;
}
.p-home-section-05__content ul li a .e-text-01 .m-cate-01 {
  font-size: min(14 / var(--design-width) * 100vw, 14px);
}
.p-home-section-05__content ul li a .e-text-01 .m-title-01 {
  font-size: min(16 / var(--design-width) * 100vw, 16px);
  font-weight: 500;
  margin-top: min(4 / var(--design-width) * 100vw, 4px);
}
.p-home-section-05__content ul li a .e-text-01 .m-price-01 {
  font-size: min(16 / var(--design-width) * 100vw, 16px);
  font-weight: 700;
  margin-top: min(4 / var(--design-width) * 100vw, 4px);
}
.p-home-section-05__content ul li::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  display: block;
  width: min(32 / var(--design-width) * 100vw, 32px);
  height: min(34 / var(--design-width) * 100vw, 34px);
  background-size: min(32 / var(--design-width) * 100vw, 32px) auto;
  margin: 0 auto;
}
.p-home-section-05__content ul li:nth-child(1)::before {
  background-image: url(https://gigaplus.makeshop.jp/ryubo/assets/r25/home-ranking-01.webp);
}
.p-home-section-05__content ul li:nth-child(2)::before {
  background-image: url(https://gigaplus.makeshop.jp/ryubo/assets/r25/home-ranking-02.webp);
}
.p-home-section-05__content ul li:nth-child(3)::before {
  background-image: url(https://gigaplus.makeshop.jp/ryubo/assets/r25/home-ranking-03.webp);
}
.p-home-section-05__content ul li:nth-child(4)::before {
  background-image: url(https://gigaplus.makeshop.jp/ryubo/assets/r25/home-ranking-04.webp);
}
.p-home-section-05__content ul li:nth-child(5)::before {
  background-image: url(https://gigaplus.makeshop.jp/ryubo/assets/r25/home-ranking-05.webp);
}
@media screen and (max-width: 767px) {
  .p-home-section-05__content {
    overflow-x: scroll;
  }
  .p-home-section-05__content ul {
    gap: min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-section-05__content ul li {
    width: min(132 / var(--design-width) * 100vw, 132px);
  }
  .p-home-section-05__content ul li a .e-text-01 {
    padding: min(8 / var(--design-width) * 100vw, 8px) 0 0;
    text-align: center;
  }
  .p-home-section-05__content ul li a .e-text-01 .m-cate-01 {
    font-size: min(8 / var(--design-width) * 100vw, 8px);
  }
  .p-home-section-05__content ul li a .e-text-01 .m-title-01 {
    font-size: min(10 / var(--design-width) * 100vw, 10px);
    text-align: left;
  }
  .p-home-section-05__content ul li a .e-text-01 .m-price-01 {
    font-size: min(12 / var(--design-width) * 100vw, 12px);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.p-home-section-06 {
  background-color: #f3f3f3;
}
.p-home-section-06 .e-list-01 ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(8 / var(--design-width) * 100vw, 8px);
}
.p-home-section-06 .e-list-01 ul li a {
  display: flex;
  align-items: center;
  gap: 0 min(40 / var(--design-width) * 100vw, 40px);
  padding: min(24 / var(--design-width) * 100vw, 24px) min(70 / var(--design-width) * 100vw, 70px) min(24 / var(--design-width) * 100vw, 24px) min(24 / var(--design-width) * 100vw, 24px);
  height: calc(100% - min(48 / var(--design-width) * 100vw, 48px));
  background-color: #ffffff;
  border-radius: min(8 / var(--design-width) * 100vw, 8px);
  background-image: url(https://gigaplus.makeshop.jp/ryubo/assets/r25/cmn-arrow-right-01.svg);
  background-repeat: no-repeat;
  background-position: right min(24 / var(--design-width) * 100vw, 24px) center;
}
.p-home-section-06 .e-list-01 ul li a .m-date-01 {
  white-space: nowrap;
  font-size: min(13 / var(--design-width) * 100vw, 13px);
}
.p-home-section-06 .e-list-01 ul li a .m-text-01 {
  font-size: min(15 / var(--design-width) * 100vw, 15px);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-home-section-06 .e-list-01 ul {
    display: block;
  }
  .p-home-section-06 .e-list-01 ul li a {
    display: block;
    padding: min(12 / var(--design-width) * 100vw, 12px) min(80 / var(--design-width) * 100vw, 80px) min(12 / var(--design-width) * 100vw, 12px) min(20 / var(--design-width) * 100vw, 20px);
    height: 100%;
    background-position: right min(20 / var(--design-width) * 100vw, 20px) center;
  }
  .p-home-section-06 .e-list-01 ul li a .m-date-01 {
    font-size: min(10 / var(--design-width) * 100vw, 10px);
  }
  .p-home-section-06 .e-list-01 ul li a .m-text-01 {
    font-size: min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-section-06 .e-list-01 ul li + li {
    margin-top: min(8 / var(--design-width) * 100vw, 8px);
  }
}

.p-home-section-07 .e-list-01 ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(24 / var(--design-width) * 100vw, 24px);
}
.p-home-section-07 .e-list-01 ul li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid #e0e0e0;
  border-radius: min(8 / var(--design-width) * 100vw, 8px);
  overflow: hidden;
}
.p-home-section-07 .e-list-01 ul li .e-review-01 {
  padding: min(20 / var(--design-width) * 100vw, 20px) min(28 / var(--design-width) * 100vw, 28px);
}
.p-home-section-07 .e-list-01 ul li .e-review-01 .m-star-01 {
  color: #f2ae2a;
}
.p-home-section-07 .e-list-01 ul li .e-review-01 .m-user-01 {
  display: flex;
  align-items: center;
  gap: 0 min(8 / var(--design-width) * 100vw, 8px);
  font-size: min(13 / var(--design-width) * 100vw, 13px);
  font-weight: 700;
  margin-top: min(4 / var(--design-width) * 100vw, 4px);
}
.p-home-section-07 .e-list-01 ul li .e-review-01 .m-comment-01 {
  font-size: min(14 / var(--design-width) * 100vw, 14px);
  margin-top: min(12 / var(--design-width) * 100vw, 12px);
}
.p-home-section-07 .e-list-01 ul li .e-review-01 .m-date-01 {
  font-size: min(13 / var(--design-width) * 100vw, 13px);
  font-weight: 700;
  margin-top: min(12 / var(--design-width) * 100vw, 12px);
}
.p-home-section-07 .e-list-01 ul li .e-item-01 {
  background-color: #f7f7f7;
  display: flex;
  align-items: center;
  gap: 0 min(16 / var(--design-width) * 100vw, 16px);
  padding: min(20 / var(--design-width) * 100vw, 20px) min(52 / var(--design-width) * 100vw, 52px) min(20 / var(--design-width) * 100vw, 20px) min(28 / var(--design-width) * 100vw, 28px);
  background-image: url(https://gigaplus.makeshop.jp/ryubo/assets/r25/cmn-arrow-right-01.svg);
  background-repeat: no-repeat;
  background-position: right min(24 / var(--design-width) * 100vw, 24px) center;
  background-size: min(8 / var(--design-width) * 100vw, 8px) auto;
}
.p-home-section-07 .e-list-01 ul li .e-item-01 .m-img-01 {
  width: min(86 / var(--design-width) * 100vw, 86px);
}
.p-home-section-07 .e-list-01 ul li .e-item-01 .m-text-01 {
  flex: 1;
}
.p-home-section-07 .e-list-01 ul li .e-item-01 .m-text-01 dt {
  font-size: min(13 / var(--design-width) * 100vw, 13px);
}
.p-home-section-07 .e-list-01 ul li .e-item-01 .m-text-01 dd {
  font-size: min(15 / var(--design-width) * 100vw, 15px);
  font-weight: 500;
  line-height: 1.4;
  margin-top: min(4 / var(--design-width) * 100vw, 4px);
}
.p-home-section-07 .e-list-01 ul li:nth-child(n+4) {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-home-section-07 .e-list-01 {
    overflow-x: scroll;
  }
  .p-home-section-07 .e-list-01 ul {
    grid-template-columns: repeat(40, 1fr);
    gap: min(20 / var(--design-width) * 100vw, 20px);
  }
  .p-home-section-07 .e-list-01 ul li {
    width: min(244 / var(--design-width) * 100vw, 244px);
    border-radius: min(6 / var(--design-width) * 100vw, 6px);
  }
  .p-home-section-07 .e-list-01 ul li .e-review-01 {
    padding: min(12 / var(--design-width) * 100vw, 12px) min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-section-07 .e-list-01 ul li .e-review-01 .m-user-01 {
    gap: 0 min(4 / var(--design-width) * 100vw, 4px);
    font-size: min(8 / var(--design-width) * 100vw, 8px);
  }
  .p-home-section-07 .e-list-01 ul li .e-review-01 .m-comment-01 {
    font-size: min(9 / var(--design-width) * 100vw, 9px);
    margin-top: min(4 / var(--design-width) * 100vw, 4px);
  }
  .p-home-section-07 .e-list-01 ul li .e-review-01 .m-date-01 {
    font-size: min(8 / var(--design-width) * 100vw, 8px);
    margin-top: min(8 / var(--design-width) * 100vw, 8px);
  }
  .p-home-section-07 .e-list-01 ul li .e-item-01 {
    gap: 0 min(8 / var(--design-width) * 100vw, 8px);
    padding: min(12 / var(--design-width) * 100vw, 12px) min(32 / var(--design-width) * 100vw, 32px) min(12 / var(--design-width) * 100vw, 12px) min(12 / var(--design-width) * 100vw, 12px);
    background-position: right min(12 / var(--design-width) * 100vw, 12px) center;
  }
  .p-home-section-07 .e-list-01 ul li .e-item-01 .m-img-01 {
    width: min(52 / var(--design-width) * 100vw, 52px);
  }
  .p-home-section-07 .e-list-01 ul li .e-item-01 .m-text-01 dt {
    font-size: min(8 / var(--design-width) * 100vw, 8px);
  }
  .p-home-section-07 .e-list-01 ul li .e-item-01 .m-text-01 dd {
    font-size: min(9 / var(--design-width) * 100vw, 9px);
    margin-top: min(2 / var(--design-width) * 100vw, 2px);
  }
}

.p-home-section-08 {
  background-color: #f3f3f3;
}
.p-home-section-08 .e-list-01 ul {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: min(24 / var(--design-width) * 100vw, 24px);
}
.p-home-section-08 .e-list-01 ul li a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: min(8 / var(--design-width) * 100vw, 8px);
  overflow: hidden;
  height: 100%;
  background-color: #ffffff;
}
.p-home-section-08 .e-list-01 ul li a .e-text-01 {
  padding: min(8 / var(--design-width) * 100vw, 8px) min(8 / var(--design-width) * 100vw, 8px) min(16 / var(--design-width) * 100vw, 16px);
  text-align: center;
}
.p-home-section-08 .e-list-01 ul li a .e-text-01 .m-cate-01 {
  font-size: min(13 / var(--design-width) * 100vw, 13px);
}
.p-home-section-08 .e-list-01 ul li a .e-text-01 .m-title-01 {
  font-size: min(14 / var(--design-width) * 100vw, 14px);
  font-weight: 500;
  margin-top: min(4 / var(--design-width) * 100vw, 4px);
}
.p-home-section-08 .e-list-01 ul li a .e-text-01 .m-price-01 {
  font-size: min(14 / var(--design-width) * 100vw, 14px);
  font-weight: 700;
  margin-top: min(4 / var(--design-width) * 100vw, 4px);
}
@media screen and (max-width: 767px) {
  .p-home-section-08 .e-list-01 {
    overflow-x: scroll;
  }
  .p-home-section-08 .e-list-01 ul {
    grid-template-columns: repeat(40, 1fr);
    gap: min(16 / var(--design-width) * 100vw, 16px);
  }
  .p-home-section-08 .e-list-01 ul li {
    width: min(140 / var(--design-width) * 100vw, 140px);
  }
  .p-home-section-08 .e-list-01 ul li a {
    border-radius: min(4 / var(--design-width) * 100vw, 4px);
  }
  .p-home-section-08 .e-list-01 ul li a .e-text-01 {
    padding: min(8 / var(--design-width) * 100vw, 8px) min(8 / var(--design-width) * 100vw, 8px) min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-home-section-08 .e-list-01 ul li a .e-text-01 .m-cate-01 {
    font-size: min(8 / var(--design-width) * 100vw, 8px);
  }
  .p-home-section-08 .e-list-01 ul li a .e-text-01 .m-title-01 {
    font-size: min(10 / var(--design-width) * 100vw, 10px);
    text-align: left;
  }
  .p-home-section-08 .e-list-01 ul li a .e-text-01 .m-price-01 {
    font-size: min(12 / var(--design-width) * 100vw, 12px);
  }
}

.p-home-section-09 .e-list-01 ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: min(28 / var(--design-width) * 100vw, 28px);
}
.p-home-section-09 .e-list-01 ul li a {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-home-section-09 .e-list-01 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: min(16 / var(--design-width) * 100vw, 16px);
  }
  .p-home-section-09 .e-list-01 ul li {
    width: calc((100% - min(16 / var(--design-width) * 100vw, 16px)) / 2);
  }
}

.p-footer img {
  max-width: 100%;
  vertical-align: bottom;
}

.p-footer__inner-01 {
  padding: min(56 / var(--design-width) * 100vw, 56px) min(90 / var(--design-width) * 100vw, 90px) min(30 / var(--design-width) * 100vw, 30px);
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .p-footer__inner-01 {
    padding: min(30 / var(--design-width) * 100vw, 30px) 0;
  }
}

.p-footer__inner-01__main .e-catch-01 {
  width: min(206 / var(--design-width) * 100vw, 206px);
}
.p-footer__inner-01__main .l-wrap-01 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 0 min(60 / var(--design-width) * 100vw, 60px);
  margin-top: min(30 / var(--design-width) * 100vw, 30px);
}
.p-footer__inner-01__main .l-wrap-01 .e-sns-01 dt {
  font-size: min(14 / var(--design-width) * 100vw, 14px);
  font-weight: 500;
}
.p-footer__inner-01__main .l-wrap-01 .e-sns-01 dd {
  margin-top: min(8 / var(--design-width) * 100vw, 8px);
  display: flex;
  gap: 0 min(8 / var(--design-width) * 100vw, 8px);
  align-items: center;
}
.p-footer__inner-01__main .l-wrap-01 .e-navi-01 dt {
  font-size: min(14 / var(--design-width) * 100vw, 14px);
  font-weight: 500;
}
.p-footer__inner-01__main .l-wrap-01 .e-navi-01 dd {
  font-size: min(13 / var(--design-width) * 100vw, 13px);
}
.p-footer__inner-01__main .l-wrap-01 .e-navi-01 dd div {
  margin-top: min(8 / var(--design-width) * 100vw, 8px);
}
.p-footer__inner-01__main .l-wrap-01 .e-navi-02 {
  display: none;
}
.p-footer__inner-01__main .l-wrap-01 .e-info-01 .m-catch-01 {
  display: none;
}
.p-footer__inner-01__main .l-wrap-01 .e-info-01 img {
  display: block;
  width: min(250 / var(--design-width) * 100vw, 250px);
}
.p-footer__inner-01__main .l-wrap-01 .e-info-01 address {
  font-size: min(12 / var(--design-width) * 100vw, 12px);
  margin-top: min(8 / var(--design-width) * 100vw, 8px);
}
@media screen and (max-width: 767px) {
  .p-footer__inner-01__main .e-catch-01 {
    display: none;
  }
  .p-footer__inner-01__main .l-wrap-01 {
    display: block;
    margin-top: 0;
  }
  .p-footer__inner-01__main .l-wrap-01 .e-sns-01 dt {
    text-align: center;
  }
  .p-footer__inner-01__main .l-wrap-01 .e-sns-01 dd {
    margin-top: min(12 / var(--design-width) * 100vw, 12px);
    justify-content: center;
    gap: 0 min(16 / var(--design-width) * 100vw, 16px);
  }
  .p-footer__inner-01__main .l-wrap-01 .e-navi-01 {
    display: none;
  }
  .p-footer__inner-01__main .l-wrap-01 .e-navi-02 {
    display: flex;
    justify-content: center;
    gap: 0 min(40 / var(--design-width) * 100vw, 40px);
    background-color: #115ba2;
    padding: min(24 / var(--design-width) * 100vw, 24px) 0;
    margin-top: min(50 / var(--design-width) * 100vw, 50px);
  }
  .p-footer__inner-01__main .l-wrap-01 .e-navi-02 a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    color: #ffffff;
  }
  .p-footer__inner-01__main .l-wrap-01 .e-navi-02 a .m-icon-01 {
    width: min(59 / var(--design-width) * 100vw, 59px);
    margin: 0 auto;
  }
  .p-footer__inner-01__main .l-wrap-01 .e-navi-02 a .m-icon-02 {
    width: min(54 / var(--design-width) * 100vw, 54px);
    margin: 0 auto;
  }
  .p-footer__inner-01__main .l-wrap-01 .e-navi-02 a span {
    display: block;
    font-size: min(16 / var(--design-width) * 100vw, 16px);
    font-weight: 700;
  }
  .p-footer__inner-01__main .l-wrap-01 .e-info-01 {
    margin-top: min(24 / var(--design-width) * 100vw, 24px);
  }
  .p-footer__inner-01__main .l-wrap-01 .e-info-01 .m-catch-01 {
    display: block;
    width: min(160px / var(--design-width) * 100vw, 160pxpx);
    margin: 0 auto min(12 / var(--design-width) * 100vw, 12px);
  }
  .p-footer__inner-01__main .l-wrap-01 .e-info-01 img {
    width: min(160 / var(--design-width) * 100vw, 160px);
    margin: 0 auto;
  }
  .p-footer__inner-01__main .l-wrap-01 .e-info-01 address {
    font-size: min(12 / var(--design-width) * 100vw, 12px);
    margin-top: min(8 / var(--design-width) * 100vw, 8px);
    text-align: center;
  }
}

.p-footer__inner-02 {
  padding: min(24 / var(--design-width) * 100vw, 24px) min(90 / var(--design-width) * 100vw, 90px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  font-size: min(12 / var(--design-width) * 100vw, 12px);
}
.p-footer__inner-02 .e-link-01 {
  display: flex;
  gap: 0 min(24 / var(--design-width) * 100vw, 24px);
}
@media screen and (max-width: 767px) {
  .p-footer__inner-02 {
    padding: min(24 / var(--design-width) * 100vw, 24px) 0;
    display: block;
    font-size: min(10 / var(--design-width) * 100vw, 10px);
    text-align: center;
  }
  .p-footer__inner-02 .e-link-01 {
    justify-content: center;
    gap: 0 min(8 / var(--design-width) * 100vw, 8px);
    font-size: min(14 / var(--design-width) * 100vw, 14px);
    margin-bottom: min(24 / var(--design-width) * 100vw, 24px);
  }
}

.p-cate-list-01 {
  display: grid;
  /* 3と5の最小公倍数である15カラムを作成 */
  grid-template-columns: repeat(15, 1fr);
  grid-column-gap: 24px;
  grid-row-gap: 24px;
}
.p-cate-list-01 a {
  display: block;
  position: relative; /* 重ねる基準 */
  overflow: hidden;
  border-radius: min(8 / var(--design-width) * 100vw, 8px);
}
.p-cate-list-01 a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s;
}
.p-cate-list-01 a .e-title-01 {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: min(28 / var(--design-width) * 100vw, 28px);
  font-weight: 700;
  color: #FFFFFF;
  white-space: nowrap;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-cate-list-01 a:hover img {
  transform: scale(1.05);
}
.p-cate-list-01 {
  /* --- 上段：3分割（1つにつき5カラム分使用） --- */
}
.p-cate-list-01 .div1 {
  grid-column: 1/6;
  grid-row: 1/3;
  height: min(520 / var(--design-width) * 100vw, 520px);
}
.p-cate-list-01 .div2 {
  grid-column: 6/11;
  grid-row: 1/3;
  height: min(520 / var(--design-width) * 100vw, 520px);
}
.p-cate-list-01 {
  /* div3とdiv4は右端の5カラム分の中で上下に積む */
}
.p-cate-list-01 .div3 {
  grid-column: 11/16;
  grid-row: 1/2;
  height: min(248 / var(--design-width) * 100vw, 248px);
}
.p-cate-list-01 .div4 {
  grid-column: 11/16;
  grid-row: 2/3;
  height: min(248 / var(--design-width) * 100vw, 248px);
}
.p-cate-list-01 {
  /* --- 下段：5分割（1つにつき3カラム分使用） --- */
}
.p-cate-list-01 .div5 {
  grid-column: 1/4;
  grid-row: 3/4;
  height: min(248 / var(--design-width) * 100vw, 248px);
}
.p-cate-list-01 .div6 {
  grid-column: 4/7;
  grid-row: 3/4;
  height: min(248 / var(--design-width) * 100vw, 248px);
}
.p-cate-list-01 .div7 {
  grid-column: 7/10;
  grid-row: 3/4;
  height: min(248 / var(--design-width) * 100vw, 248px);
}
.p-cate-list-01 .div8 {
  grid-column: 10/13;
  grid-row: 3/4;
  height: min(248 / var(--design-width) * 100vw, 248px);
}
.p-cate-list-01 .div9 {
  grid-column: 13/16;
  grid-row: 3/4;
  height: min(248 / var(--design-width) * 100vw, 248px);
}