@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 10px;
  font-weight: 400;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/*css調整*/
a:hover {
  opacity: 0.6;
}

html {
  font-family: "Noto Sans JP", serif;
  font-size: 0.6666666667vw;
  overflow-x: hidden;
  margin: 0 auto;
  max-width: 76.9rem;
}
@media screen and (max-width: 480px) {
  html {
    font-size: 2.6666666667vw;
  }
}

body {
  margin: 0 auto;
  max-width: 37rem;
  width: 100%;
  overflow-x: hidden;
}

.Inner {
  width: 100%;
  max-width: 76.8rem;
  margin: 0 auto;
  padding: 0 1.5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 769px) {
  .Inner {
    width: 100%;
  }
}

a:hover {
  opacity: 0.6;
}

img {
  max-width: 100%;
}

.pc {
  display: block !important;
}
@media screen and (max-width: 769px) {
  .pc {
    display: none !important;
  }
}
.pc--flex {
  display: flex !important;
}
@media screen and (max-width: 769px) {
  .pc--flex {
    display: none !important;
  }
}

.sp {
  display: none !important;
}
@media screen and (max-width: 769px) {
  .sp {
    display: block !important;
  }
}
.sp--flex {
  display: none !important;
}
@media screen and (max-width: 769px) {
  .sp--flex {
    display: flex !important;
  }
}

body {
  background-color: #f4f4ee;
}

.Fv {
  position: relative;
  background-color: #F4F4EE;
  padding-top: 5.6rem;
}
.Fv__container {
  padding: 0;
  box-sizing: border-box;
  position: relative;
}
.Fv__container__img {
  width: 100%;
  height: auto;
  display: block;
}
.Fv__container__img img {
  width: 100%;
  height: auto;
}
.Fv__container__cv {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 20rem;
}
.Fv__container__cv__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  width: calc((100% - 4rem) * 0.75);
  padding: 1.2rem 1.6rem;
  margin: -8rem auto 1rem;
  background: linear-gradient(to right, #FF80B6 0%, #FF4C97 100%);
  border-radius: 9999px;
  box-shadow: 0 0.6rem 1.4rem rgba(255, 74, 150, 0.28);
  text-decoration: none;
  position: relative;
  box-sizing: border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.Fv__container__cv__btn:hover {
  transform: translateY(-0.15rem);
  box-shadow: 0 0.8rem 1.6rem rgba(255, 74, 150, 0.35);
}
.Fv__container__cv__btn.Fv__container__cv__btn--standalone {
  margin: 0 auto 5rem;
}
.Fv__container__cv__btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  flex-shrink: 0;
}
.Fv__container__cv__btn__icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.Fv__container__cv__btn__text {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 769px) {
  .Fv__container__cv__btn {
    padding: 1rem 1.4rem;
    margin: -6rem auto 1rem;
  }
}
.Fv__container__cv__text {
  width: calc(100% - 4rem);
  height: auto;
  display: block;
  text-decoration: none;
  position: relative;
  margin: 0 auto;
}
.Fv__container__cv__text img {
  width: 100%;
  height: auto;
}

.How {
  position: relative;
  background: url(../images/how_bg.png) no-repeat top center/contain;
  padding: 4rem 0 6rem 0;
}
.How::before {
  content: "how to miyon";
  display: block;
  position: absolute;
  top: -2rem;
  left: 50%;
  transform: translateX(-50%);
  width: 110%;
  color: #FBD603;
  font-family: "Jost", serif;
  font-size: 6.8rem;
  text-align: center;
}
.How__container {
  position: relative;
}
.How__container__content {
  width: 100%;
  margin-bottom: 2rem;
  position: relative;
}
.How__container__content img {
  width: 100%;
}
.How__container__muryou {
  text-align: center;
  margin-bottom: 2rem;
}
.How__container__muryou .min {
  color: #FF4A96;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 2.4rem;
}
.How__container__muryou .big {
  color: #FF4A96;
  text-align: center;
  font-size: 2.4rem;
  line-height: 2.8rem;
  font-weight: 700;
  background: linear-gradient(transparent 60%, #FBD603 60%);
}
.How__container__oubo {
  font-size: 1.5rem;
  line-height: 2.3rem;
  text-align: center;
  color: #333333;
  font-weight: 700;
}

.Title .en {
  color: #FF81B6;
  font-family: "Jost", serif;
  line-height: 2.1rem;
  letter-spacing: 0.08rem;
  font-size: 1.5rem;
  margin-bottom: 0.6rem;
  text-align: center;
}
.Title .ja {
  font-size: 1.8rem;
  line-height: 2.4rem;
  text-align: center;
  color: #333333;
  font-weight: 700;
  margin-bottom: 1rem;
}
.Title .sub {
  font-size: 1.2rem;
  line-height: 2.5rem;
  font-weight: 700;
  text-align: center;
  color: #333333;
}
.Title .sub .line,
.Join__container__wrap__dis .line {
  background: linear-gradient(transparent 60%, #fffc7e 60%);
  color: #FF4A96;
  font-size: inherit;
  line-height: inherit;
  font-weight: 700;
}
.Title .sub .bold {
  font-size: 1.2rem;
  line-height: 2.5rem;
  font-weight: bold;
  color: #333333;
}
.Title .sub .small {
  font-size: 1.2rem;
  line-height: 2.5rem;
  font-weight: 400;
  color: #333333;
}
.Title--noafter:after {
  content: none !important;
}

.List {
  padding: 2rem 0;
}
.List__container .Title {
  margin-bottom: 3rem;
}
.List__container .Product__wrap {
  margin-bottom: 4rem;
}

.Btn {
  width: 30rem;
  height: 5.5rem;
  background: rgb(255, 129, 182);
  background: linear-gradient(90deg, rgb(255, 129, 182) 1%, rgb(255, 74, 150) 100%);
  border-radius: 2.75rem;
  line-height: 5.5rem;
  color: white;
  font-size: 1.6rem;
  text-align: center;
  display: block;
  text-decoration: none;
  margin: 0 auto;
  font-weight: 700;
  border: none;
  cursor: pointer;
}
.Btn--gray {
  background: #D9D9D9;
}
.Btn:hover {
  opacity: 0.6;
}

.Product__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.Product__wrap__item {
  width: calc(50% - 0.5rem);
  background-color: #fff;
  display: block;
  padding: 2rem 1rem;
  box-sizing: border-box;
  margin-bottom: 0.9rem;
}
.Product__wrap__item__head {
  margin-bottom: 1rem;
}
.Product__wrap__item__head__maker {
  font-size: 1rem;
  line-height: 1.3rem;
  margin-bottom: 0.5rem;
  height: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.Product__wrap__item__head__name {
  font-size: 1.3rem;
  line-height: 1.7rem;
  font-weight: 700;
  height: 3.3rem;
}
.Product__wrap__item__img {
  width: 100%;
  height: 150px;
  margin-bottom: 2rem;
}
.Product__wrap__item__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.Product__wrap__item__food__info {
  display: flex;
  align-items: center;
  height: 40px;
}
.Product__wrap__item__food__info__tag {
  display: block;
  color: #fff;
  width: 8rem;
  text-align: center;
  height: 1.5rem;
  line-height: 1.5rem;
  font-weight: 700;
  border-radius: 0.7rem;
  margin-right: 1rem;
  font-size: 10px;
}
.Product__wrap__item__food__info__tag.moniter {
  background-color: #FBB903;
}
.Product__wrap__item__food__info__tag.kounyuu {
  background-color: #6896DF;
}
.Product__wrap__item__food__info__price {
  color: #333333;
  font-size: 1rem;
  line-height: 1.3rem;
  text-decoration: line-through;
  margin-right: 0.5rem;
}
.Product__wrap__item__food__info__point {
  color: #333333;
  font-size: 1rem;
  line-height: 1.3rem;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.Product__wrap__item__food__info__point span {
  color: white;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.5rem;
  background: #ff81b6;
  width: 16px;
  height: 16px;
}
.Product__wrap__item__food__info__priceless {
  color: #FB0303;
  font-size: 1rem;
  line-height: 1.3rem;
}
.Product__wrap__item__food__countdown {
  display: flex;
  align-items: center;
  margin-bottom: 1.2rem;
}
.Product__wrap__item__food__countdown__pople {
  color: #333333;
  font-size: 1rem;
  line-height: 1.3rem;
  margin-right: 2rem;
}
.Product__wrap__item__food__countdown__pople span {
  font-size: 1.2rem;
  font-family: "Jost", serif;
  color: #333333;
}
.Product__wrap__item__food__countdown__day {
  font-size: 1rem;
  line-height: 1.7rem;
  font-weight: 700;
  color: #000;
}
.Product__wrap__item__food__countdown__day span {
  font-size: 1.2rem;
  font-family: "Jost", serif;
  color: #333333;
}
.Product__wrap__item__food__sns {
  display: flex;
}
.Product__wrap__item__food__sns a {
  width: 1.6rem;
  height: 1.6rem;
  display: block;
  margin-right: 0.5rem;
}
.Product__wrap__item__food__sns a img {
  width: 100%;
}
.Product__wrap__item__food__sns a:first-child {
  margin-top: 1px;
  margin-right: 0.6rem;
}
.Product__wrap__item__food__sns a:not(:first-child) {
  width: 1.7rem;
  height: 1.7rem;
}

.Campaign {
  position: relative;
  padding: 6rem 0;
}
.Campaign::before {
  content: "";
  display: block;
  position: absolute;
  top: -1rem;
  left: -3rem;
  width: 38.1rem;
  height: 24.9rem;
}
.Campaign__container .Title {
  margin-bottom: 2rem;
}
.Campaign__container__content .swiper-container {
  margin-bottom: 2rem;
}
.Campaign__container__content .swiper-container .swiper-slide img {
  width: 100%;
}
.Campaign__container__content .swiper-container .swiper-pagination {
  margin-top: 5rem;
  bottom: 6rem;
}
.Campaign__container__content .swiper-container .swiper-pagination .swiper-pagination-bullet {
  width: 3rem;
  height: 0.2rem;
  background-color: #D9D9D9;
  border-radius: 0;
  margin: 0 0.5rem;
}
.Campaign__container__content .swiper-container .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #FF81B6;
}

.Join {
  padding: 2rem 0;
}
.Join__container .Title {
  margin-bottom: 3rem;
}
.Join__container__wrap__item {
  display: flex;
  align-items: center;
  background-color: #fff;
  margin-bottom: 2rem;
  padding: 2rem 0;
  box-sizing: border-box;
  border-radius: 0rem 10rem 10rem 0rem;
  position: relative;
}
.Join__container__wrap__item::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-100%);
  width: 10rem;
  height: 100%;
  background-color: #fff;
}
.Join__container__wrap__item .Join__container__wrap__item__img {
  padding-right: 2rem;
}
.Join__container__wrap__item .Join__container__wrap__item__img--03 img {
  width: 120px;
}
.Join__container__wrap__item:nth-of-type(even) {
  border-radius: 10rem 0 0 10rem;
  flex-direction: row-reverse;
}
.Join__container__wrap__item:nth-of-type(even)::before {
  left: auto;
  right: 0;
  transform: translateX(100%);
}
.Join__container__wrap__item:nth-of-type(even) .Join__container__wrap__item__img {
  padding-left: 2rem;
}
.Join__container__wrap__item__text {
  width: 50%;
}
.Join__container__wrap__item__text__en {
  color: #A8A67B;
  font-size: 1.6rem;
  font-family: "Jost", serif;
  line-height: 1.8rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2rem;
  margin-top: 1rem;
}
.Join__container__wrap__item__text__ttl {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.3rem;
  color: #FF4A96;
  text-align: center;
}
.Join__container__wrap__item__text__dis {
  font-size: 1rem;
  line-height: 1.6rem;
  color: #333333;
  text-align: center;
}
.Join__container__wrap__item__img {
  width: 50%;
}
.Join__container__wrap__item__img img {
  width: 90%;
  margin: 0 auto;
  display: block;
}
.Join__container__wrap__dis {
  font-size: 1.3rem;
  line-height: 2rem;
  text-align: center;
  margin-bottom: 2rem;
}

.Review {
  position: relative;
  padding-top: 5rem;
  margin-top: 3rem;
}
.Review::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 25px;
  height: 25px;
  background-color: #fff;
  z-index: -1;
  width: 100%;
  height: 18rem;
  border-radius: 50% 50% 0 0/100% 100% 0 0;
}
.Review__container__wrap {
  display: flex;
  flex-wrap: wrap;
  padding-top: 4rem;
  justify-content: space-around;
  background-color: #fff;
  padding-bottom: 5rem;
  margin: 0 -1.5rem;
  justify-content: center;
}
.Review__container__wrap__item {
  width: calc(50% - 1.9rem);
  margin-bottom: 0.8rem;
  padding: 0 0.5rem;
  box-sizing: border-box;
}
.Review__container__wrap__item img {
  width: 100%;
}

.Faq {
  padding: 3rem 0;
}
.Faq__container .Title {
  margin-bottom: 4rem;
}
.Faq__container__wrap {
}
.Faq__container__wrap .Accordion {
  background-color: #fff;
  margin-bottom: 0.9rem;
  border-radius: 2rem;
}
.Faq__container__wrap .Accordion .A_Open {
  font-size: 1.2rem;
  font-weight: 700;
  left: 1.6rem;
  color: #333333;
  position: relative;
  padding: 2rem 3rem 2rem 3.5rem;
  box-sizing: border-box;
}
.Faq__container__wrap .Accordion .A_Open::before {
  content: "";
  display: block;
  position: absolute;
  color: #fff;
  top: 1.4rem;
  left: -2px;
  border-radius: 50%;
  background-color: #A8A67B;
  width: 2.5rem;
  height: 2.5rem;
  text-align: center;
  line-height: 2.5rem;
  border: 1px solid #FF81B6;
  font-family: "Jost", serif;
  font-size: 1.5rem;
  font-weight: normal;
}
.Faq__container__wrap .Accordion .A_Open::before {
  content: "Q";
  background-color: #FF81B6;
}
.Faq__container__wrap .Accordion .Box {
  display: none;
  padding: 2rem 3rem 2rem 5rem;
  position: relative;
  box-sizing: border-box;
}
.Faq__container__wrap .Accordion .Box::before {
  content: "A";
  display: block;
  position: absolute;
  left: 1.5rem;
  top: 1.5rem;
  width: 2.5rem;
  height: 2.5rem;
  line-height: 2.5rem;
  text-align: center;
  border-radius: 50%;
  font-size: 1.5rem;
  font-family: "Jost", serif;
  border: 1px solid #A8A67B;
  color: #A8A67B;
}
.Faq__container__wrap .Accordion .Box p {
  font-size: 1.1rem;
  line-height: 2.2rem;
}
.Faq__container__btn {
  width: 30rem;
  height: 5.5rem;
  background-color: #fff;
  border-radius: 2.75rem;
  border: 1px solid #000;
  line-height: 5.5rem;
  color: #333333;
  font-size: 1.6rem;
  text-align: center;
  display: block;
  text-decoration: none;
  margin: 0 auto;
  font-weight: 700;
}
.Faq__container__btn--line {
  background-color: #06C755;
  color: #fff;
  border: none;
  margin-top: 2rem;
}

.Food__fv {
  background-color: #fff;
  padding: 5rem 0;
}
.Food__fv__content {
  padding: 0 1rem;
}
.Food__fv__content__wrap {
  display: flex;
  position: relative;
}
.Food__fv__content__wrap__left {
  width: 60%;
}
.Food__fv__content__wrap__left__logo {
  width: 11.3rem;
  margin-bottom: 2.7rem;
}
.Food__fv__content__wrap__left__logo img {
  width: 100%;
}
.Food__fv__content__wrap__left__text {
  margin-bottom: 3.6rem;
}
.Food__fv__content__wrap__left__text__min {
  font-size: 1.4rem;
  line-height: 2rem;
  font-weight: 700;
  color: #2C2C34;
}
.Food__fv__content__wrap__left__text__big {
  font-size: 2.7rem;
  line-height: 3.7rem;
  font-weight: 700;
  color: #FF4A96;
}
.Food__fv__content__wrap__img {
  width: 53%;
  position: relative;
  position: absolute;
  bottom: 24rem;
  right: -3rem;
}
.Food__fv__content__wrap__img img {
  width: 100%;
  position: absolute;
}
.Food__fv__content__dis {
  font-size: 1.1rem;
  line-height: 2.2rem;
  color: #333333;
  margin-bottom: 2.7rem;
}

.Header_blank {
  height: 5rem;
}

.Header {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 100%;
  max-width: 36.9rem;
  z-index: 100;
  background-color: white;
  padding: 12px 0;
  border-bottom: 1px solid #E3E3E3;
}
.Header__container {
  padding: 0;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
}
.Header__container__left {
  display: flex;
  align-items: center;
}
.Header__container__left__logo {
  width: 8.7rem;
  margin-right: 2rem;
  display: block;
}
.Header__container__left__logo img {
  width: 100%;
}
.Header__container__left__dis {
  font-size: 1rem;
  line-height: 1.362rem;
  color: #333333;
  font-weight: 700;
}
.Header__container__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.Header__container__right__register {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
}
.Header__container__right__register__text {
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: #333333;
}
.Header__container__right__login {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.Header__container__right__login img {
  height: auto;
  width: 114px;
}

.Header__login {
  background-color: #fff;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 100%;
  max-width: 37.9rem;
}
.Header__login__container {
  padding: 1.5rem 0;
}
.Header__login__container__logo {
  display: block;
  width: 8.7rem;
  margin: 0 auto;
}
.Header__login__container__logo img {
  width: 100%;
  display: block;
}

.Header__other {
  background-color: #fff;
  padding: 1rem 0;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 100%;
  max-width: 37.9rem;
  width: 100%;
  z-index: 100;
}
.Header__other__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /*========= ボタンのためのCSS ===============*/
  /*×に変化*/
}
.Header__other__container .openbtn1 {
  position: relative;
  z-index: 9999; /*ボタンを最前面に*/
  cursor: pointer;
  width: 2.2rem;
  height: 2rem;
}
.Header__other__container .openbtn1 span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 0; /*  線の位置*/
  height: 0.2rem; /*  線の太さ*/
  border-radius: 0;
  background-color: #2C2C34; /* ボタンの色*/
  width: 100%; /*  ボタンに対する線の長さ*/
}
.Header__other__container .openbtn1 span:nth-of-type(1) {
  top: 0.2rem;
}
.Header__other__container .openbtn1 span:nth-of-type(2) {
  top: 1rem;
}
.Header__other__container .openbtn1 span:nth-of-type(3) {
  top: 1.8rem;
}
.Header__other__container .openbtn1.active span:nth-of-type(1) {
  top: 0.5rem;
  left: 0px;
  transform: translateY(6px) rotate(-45deg);
  width: 100%;
}
.Header__other__container .openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}
.Header__other__container .openbtn1.active span:nth-of-type(3) {
  top: 1.5rem;
  left: 0;
  transform: translateY(-6px) rotate(45deg);
  width: 100%;
}
.Header__other__container__logo {
  width: 8.7rem;
}
.Header__other__container__logo img {
  width: 100%;
}
.Header__other__container__login {
  width: 3.6rem;
  height: 3.6rem;
}
.Header__other__container__login img {
  width: 100%;
}

/*========= ナビゲーションのためのCSS ===============*/
#g-nav {
  /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
  position: fixed;
  z-index: -1;
  opacity: 0; /*はじめは透過0*/
  /*ナビの位置と形状*/
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100vh; /*ナビの高さ*/
  background: #fff; /* 背景色 */
  /*動き*/
  transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive {
  opacity: 1;
  z-index: 999;
  display: block;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh; /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.g-nav__logo {
  border-bottom: 1px solid #f4f4ee;
  width: 100%;
  height: 5rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0 1.5rem;
}
.g-nav__logo img {
  width: 100%;
  width: 8.7rem;
  display: block;
  position: relative;
}

/*ナビゲーション*/
#g-nav ul {
  display: none;
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  z-index: 999;
  top: 35%; /* menuの範囲 */
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 2rem);
  border-top: 1px solid #EEEEEE;
}

#g-nav.panelactive ul {
  display: block;
}

/*リストのレイアウト設定*/
#g-nav li {
  list-style: none;
  text-align: center;
  border-bottom: 1px solid #EEEEEE;
  padding: 2.5rem 0;
}

#g-nav li a {
  color: #333;
  text-decoration: none;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
  font-size: 1.6rem;
}

.Breadcrumb {
  margin-top: 5.4rem;
  padding: 1.5rem 0;
}
.Breadcrumb ul {
  display: flex;
}
.Breadcrumb ul li {
  list-style-type: none;
}
.Breadcrumb ul li a {
  font-size: 1rem;
  line-height: 1.362rem;
  color: #333333;
  text-decoration: none;
}
.Breadcrumb ul li:not(:last-child)::after {
  content: ">";
  margin: 0 1rem;
}

.menu_right .openbtn1.active span:nth-of-type(1) {
  top: 0.5rem;
  left: 0px;
  transform: translateY(3px) rotate(-45deg);
  width: 100%;
}
.menu_right .log__out {
  color: rgba(51, 51, 51, 0.2);
  font-size: 1rem;
  text-align: center;
  text-align: center;
  display: block;
  margin-top: 4rem;
}

.Footer {
  padding: 2rem 0;
  background-color: #fff;
}
.Footer__container__sns {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-bottom: 20px;
}
.Footer__container__sns__link__img {
  width: 38px;
}
.Footer__container__sns__link__img--x {
  width: 36px;
  margin-top: 1px;
}
.Footer__container__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 31rem;
  margin-bottom: 5rem;
  margin: 0 auto 10px;
}
.Footer__container__wrap a {
  color: #333333;
  font-size: 1.1rem;
  line-height: 1.3rem;
  padding: 0 1rem;
  margin: 0.5rem 0;
  border-right: 1px solid #333333;
  text-decoration: none;
}
.Footer__container__copy {
  font-size: 1rem;
  line-height: 1.4rem;
  font-family: "Jost", serif;
  text-align: center;
  color: #999999;
}

.Page__login {
  padding: 7rem 0 4rem 0;
}
.Page__login .Title {
  margin: 1rem 0 2rem;
}
.Page__login .agree {
  font-size: 1.2rem;
  color: #333333;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}
.Page__login .agree input {
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 0.1rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #999999;
  background-color: #fff;
  margin-right: 1.5rem;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
.Page__login .agree a {
  color: #333333;
}
.Page__login__check {
  background-color: #fff;
  padding: 2rem;
  margin-top: 4rem;
}
.Page__login__check__title {
  font-size: 1.6rem;
  line-height: 2.1rem;
  font-weight: 700;
  color: #FF81B6;
  margin-bottom: 2rem;
}
.Page__login__check__dis {
  font-size: 1.3rem;
  line-height: 2rem;
  color: #333333;
}
.Page__login__check__dis a {
  font-size: 1.3rem;
  line-height: 2rem;
  color: #333333;
}
.Page__login__welcome {
  padding: 4rem 0 0 0;
  margin-bottom: 4rem;
  position: relative;
}
.Page__login__welcome::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 25px;
  height: 25px;
  background-color: #fff;
  z-index: -1;
  width: 100%;
  height: 18rem;
  border-radius: 50% 50% 0 0/100% 100% 0 0;
}
.Page__login__welcome__img img {
  width: 100%;
  width: 15rem;
  display: block;
  margin: 0 auto;
  margin-bottom: 2rem;
}
.Page__login__welcome__box {
  background-color: #fff;
  padding: 0 2rem 4rem 2rem;
}
.Page__login__welcome__box p {
  font-size: 1.3rem;
  line-height: 2.6rem;
}

.Page .Title .sub {
  color: #666666;
}

.Form {
  background-color: #fff;
  padding: 2rem 2rem;
  margin-bottom: 3em;
}
.Form__item {
  padding: 2rem 0;
}
.Form__item.line {
  border-bottom: 1px solid #EEEEEE;
}
.Form__item .text-danger {
  color: red;
  font-size: 1.2rem;
  margin: 10px 0 0;
  display: block;
}
.Form__item:last-of-type.line {
  border-bottom: none;
}
.Form__item__label {
  margin-bottom: 0.7rem;
}
.Form__item__label label {
  font-size: 1.3rem;
  line-height: 2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
}
.Form__item__label label .require {
  color: #fff;
  background-color: #FF4A96;
  border-radius: 1rem;
  width: 5rem;
  height: 1.5rem;
  font-size: 1rem;
  font-weight: 700;
  margin-right: 1rem;
  display: block;
  text-align: center;
  line-height: 1.5rem;
}
.Form__item__label label .attention {
  font-size: 0.9rem;
  color: #999999;
  margin-left: 1rem;
}
.Form__item__input input[type=text] {
  width: 100%;
  border: 1px solid #999;
  padding: 1.4rem 1.8rem;
  box-sizing: border-box;
  border-radius: 0.5rem;
  font-size: 16px;
  line-height: 2rem;
  letter-spacing: 0;
}
.Form__item__input input[type=email] {
  width: 100%;
  border: 1px solid #999;
  padding: 1.4rem 1.8rem;
  box-sizing: border-box;
  border-radius: 0.5rem;
  font-size: 16px;
  line-height: 2rem;
  letter-spacing: 0;
}
.Form__item__input select {
  width: 100%;
  border: 1px solid #999;
  padding: 1.4rem 1.8rem;
  box-sizing: border-box;
  border-radius: 0.5rem;
  font-size: 16px;
  line-height: 2rem;
  letter-spacing: 0;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: white;
}
.Form__item__input input::-moz-placeholder {
  color: #CCCCCC;
  font-size: 16px;
  line-height: 2rem;
}
.Form__item__input input::placeholder {
  color: #CCCCCC;
  font-size: 16px;
  line-height: 2rem;
}
.Form__item__input.radio {
  display: flex;
}
.Form__item__input.radio label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-right: 3rem;
}
.Form__item__input.radio label input {
  width: 2.6rem;
  height: 2.6rem;
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #DDDDDD;
  border-radius: 50%;
  margin-right: 1rem;
}
.Form__item__input.radio label span {
  color: #333333;
  font-size: 1.3rem;
  line-height: 2rem;
  display: block;
}
.Form__item__input.radio label input[type=radio]:checked {
  position: relative;
}
.Form__item__input.radio label input[type=radio]:checked::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.2rem;
  height: 1.2rem;
  background-color: #888888;
  border-radius: 50%;
}
.Form__item__input.birthday {
  display: flex;
  justify-content: space-between;
}
.Form__item__input.birthday .select {
  width: 30.3333%;
}
.Form__item__input.birthday select {
  display: block;
  width: 100%;
  border: 1px solid #999;
  padding: 1.2rem 1.8rem;
  box-sizing: border-box;
  border-radius: 0.5rem;
  font-size: 1.3rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 4.4rem;
  background-color: #fff;
}
.Form__item__input.birthday select option[value=""] {
  font-size: 1.3rem;
  line-height: 2rem;
  color: #CCCCCC;
}
.Form__item__input.birthday select option[disabled] {
  color: #CCCCCC !important;
}
.Form__item__input textarea {
  width: 100%;
  border: 1px solid #999;
  padding: 1.4rem 1.8rem;
  box-sizing: border-box;
  border-radius: 0.5rem;
  font-size: 1.3rem;
  letter-spacing: 0.08rem;
  resize: none;
  height: 33.1rem;
}
.Form .Password {
  text-align: center;
  font-size: 1rem;
  line-height: 1.6rem;
  color: #333333;
  display: block;
  margin-top: 3rem;
}
.Form__dis {
  font-size: 1.3rem;
  line-height: 2.6rem;
  color: #333333;
  margin-bottom: 3.2rem;
}
.Form__mailcheck {
  background-color: #F8F8F8;
  padding: 2.5rem 0;
}
.Form__mailcheck__text {
  font-size: 1.5rem;
  line-height: 2.4rem;
  text-align: center;
  color: #333333;
}

.Page__authentiflcation {
  padding: 5rem 0 6rem 0;
}
.Page__authentiflcation .Form {
  margin-bottom: 7rem;
}

.error {
  margin: 2rem 0 0rem 0;
  display: block;
  font-size: 1.2rem;
  color: #FB0303;
  font-weight: 500;
}
.error--agree {
  margin-bottom: 20px;
  text-align: center;
}

.select {
  position: relative;
}
.select::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  width: 1.5rem;
  height: 1.5rem;
  z-index: 1;
  background: url(../images/allow.png) no-repeat center/contain;
}

.Agree__content .agree {
  max-block-size: 0;
}
.Agree__content .error {
  text-align: center;
  margin-bottom: 5rem;
}

.Page__campaign__content {
  background-color: #fff;
  padding: 1rem 2rem 5rem 2rem;
  margin-bottom: 6rem;
}
.Page__campaign__content__img {
  margin-bottom: 3rem;
}
.Page__campaign__content__img img {
  width: 100%;
}
.Page__campaign__content__text__ttl {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 3.2rem;
  color: #333333;
  margin-bottom: 2rem;
}
.Page__campaign__content__text__dis {
  font-size: 1.3rem;
  line-height: 2.2rem;
  color: #333333;
}
.Page__campaign__count {
  background-color: #fff;
  width: 30rem;
  height: 6rem;
  margin: 0 auto;
  border-radius: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 6rem;
}
.Page__campaign__count .ja {
  color: #999;
  font-size: 1.1rem;
  font-weight: 700;
  margin-right: 4rem;
}
.Page__campaign__count .num {
  color: #a8a67b;
  font-size: 3rem;
  line-height: 4.3rem;
  font-family: "Jost", serif;
}
.Page__campaign__count__text {
  display: flex;
  align-items: center;
}
.Page__campaign__setting {
  margin-bottom: 6rem;
}
.Page__campaign__setting .Title {
  margin-bottom: 2rem;
}
.Page__campaign__setting__flex {
  display: flex;
  justify-content: space-between;
}
.Page__campaign__setting__flex__item {
  width: calc(50% - 0.9rem);
  background-color: #fff;
  padding: 1rem 1rem;
  box-sizing: border-box;
}
.Page__campaign__setting__flex__item__img {
  width: 5.6rem;
  height: 5.6rem;
  margin-bottom: 2rem;
  margin: 0 auto;
  margin-bottom: 2rem;
}
.Page__campaign__setting__flex__item__img img {
  width: 100%;
}
.Page__campaign__setting__flex__item__ttl {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 500;
  color: #333333;
  margin-bottom: 1.5rem;
  text-align: center;
}
.Page__campaign__setting__flex__item__btn {
  width: 100%;
  display: block;
  height: 3.4rem;
  line-height: 3.4rem;
  text-align: center;
  text-decoration: none;
  border-radius: 1.7rem;
}
.Page__campaign__setting__flex__item__btn span {
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
}
.Page__campaign__setting__flex__item__btn.pink {
  border: 1px solid #ff4a96;
}
.Page__campaign__setting__flex__item__btn.pink span {
  color: #ff4a96;
}
.Page__campaign__setting__flex__item__btn.gold {
  background: rgb(216, 213, 148);
  background: linear-gradient(90deg, rgb(216, 213, 148) 1%, rgb(151, 147, 62) 100%);
}
.Page__campaign__setting__flex__item__btn.gold span {
  color: #fff;
  position: relative;
  padding-left: 2rem;
}
.Page__campaign__setting__flex__item__btn.gold span::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0px;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
}
.Page__campaign__item {
  padding-bottom: 9.5rem;
}
.Page__campaign__item .Title {
  margin-bottom: 2rem;
}
.Page__campaign__item .Product__wrap {
  margin-bottom: 4rem;
}

.Product__wrap__item__btn {
  border: 1px solid #FF4A96;
  border-radius: 5rem;
  width: 100%;
  height: 3.3rem;
  line-height: 3.3rem;
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  color: #FF4A96;
  display: block;
  text-decoration: none;
  margin-top: 2rem;
}

.Title:after {
  content: "";
  display: block;
  width: 50px;
  height: 1px;
  background-color: black;
  margin: 2rem auto;
}

.Page__items {
  padding-bottom: 5rem;
}
.Page__items .Title {
  margin-bottom: 3rem;
}
.Page__items .Product__wrap {
  margin-bottom: 8rem;
}

.Page__product {
  padding-bottom: 5rem;
}
.Page__product__head {
  background-color: #fff;
  padding: 1rem 0 2rem;
  margin-bottom: 4rem;
}
.Page__product__head__title {
  margin-bottom: 2rem;
}
.Page__product__head__brand {
  font-size: 1.4rem;
  line-height: 2.9rem;
  color: #333333;
  margin-bottom: 0rem;
}
.Page__product__head__name {
  color: #333333;
  font-size: 2.4rem;
  line-height: 3.6rem;
  font-weight: 700;
}
.Page__product__head__img img {
  width: 100%;
}
.Page__product__head__dis {
  border-bottom: 1px solid #eeeeee;
  padding: 1rem 0;
  margin-bottom: 3rem;
}
.Page__product__head__dis p {
  color: #333333;
  font-size: 1.2rem;
  line-height: 1.9rem;
  white-space: wrap;
}
.Page__product__head__info {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.Page__product__head__info__box {
  width: 8.8rem;
  height: 2rem;
  line-height: 2rem;
  border-radius: 1rem;
  font-weight: bold;
  background-color: #fbb903;
  color: #fff;
  text-align: center;
}
.Page__product__head__info__price .ja {
  font-size: 1rem;
  color: #333333;
}
.Page__product__head__info__price .price {
  font-size: 1.8rem;
  font-family: "Jost", serif;
  color: #333333;
  text-decoration: line-through;
}
.Page__product__head__info__price .price span {
  font-size: 1rem;
}
.Page__product__head__info__price .muryou {
  font-size: 1.6rem;
  color: #fb0303;
}
.Page__product__head__table {
  margin-bottom: 3rem;
}
.Page__product__head__table__item {
  display: flex;
}
.Page__product__head__table__item__left p, .Page__product__head__table__item__right p {
  font-size: 1.4rem;
  line-height: 2.8rem;
  color: #333333;
}
.Page__product__head__table__item__left p span, .Page__product__head__table__item__right p span {
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 2.8rem;
  color: #333333;
  margin-left: 1rem;
  line-height: 0;
}
.Page__product__head__table__item__left {
  width: 20%;
}
.Page__product__head__table__item__right {
  width: 80%;
}
.Page__product__head__sns {
  margin-bottom: 2rem;
  display: flex;
  justify-content: center;
}
.Page__product__head__sns a {
  width: 2.4rem;
  height: 2.4rem;
  display: block;
  margin: 0 0.5rem;
}
.Page__product__head__sns a img {
  width: 100%;
}
.Page__product__menu {
  display: flex;
  justify-content: center;
  padding-bottom: 4rem;
}
.Page__product__menu__item {
  border-left: 1px solid #999999;
  padding: 0 1rem;
}
.Page__product__menu__item:last-of-type {
  border-right: 1px solid #999999;
}
.Page__product__menu__item a {
  font-size: 1.3rem;
  color: #888888;
  font-weight: 700;
  text-decoration: none;
}
.Page__product__menu__item a:hover {
  opacity: 0.7;
}
.Page__product__box {
  background-color: #fff;
  padding: 2rem 0;
  margin-bottom: 4rem;
}
.Page__product__box__container__title {
  font-size: 2rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 2rem;
  border-left: 5px solid #ff81b6;
  padding-left: 1rem;
}
.Page__product__box__container__dis {
  font-size: 1.3rem;
  line-height: 2rem;
  color: #333333;
  margin-bottom: 2rem;
}
.Page__product__box__container__dis * {
  font-size: 1em;
  line-height: 1.6;
}
.Page__product__box__container__img {
  margin-bottom: 2rem;
}
.Page__product__box__container__img img {
  width: 100%;
}
.Page__product__box__container__pink {
  font-size: 2rem;
  font-weight: 500;
  color: #ff81b6;
  margin-bottom: 2rem;
}
.Page__product__box__container__post {
  border-bottom: 1px solid #eeeeee;
}
.Page__product__box__container__post:last-of-type {
  border-bottom: none;
}
.Page__product__box__container__post__pink {
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 700;
  color: #ff81b6;
  margin-bottom: 2rem;
}
.Page__product__box__container__post__text {
  font-size: 1.3rem;
  line-height: 2rem;
  margin-bottom: 2rem;
}
.Page__product__box__container__post__img {
  margin-bottom: 2rem;
}
.Page__product__box__container__post__img img {
  width: 100%;
}

.Page__entry {
  padding-top: 2rem;
}
.Page__entry__head {
  background-color: #fff;
  padding: 3rem 0;
  margin-bottom: 2rem;
}
.Page__entry__head__box {
  box-shadow: 4px 4px 10px -4px #000000;
  margin-bottom: 2rem;
  display: flex;
  padding: 2rem;
  box-sizing: border-box;
}
.Page__entry__head__box__left {
  width: 30%;
}
.Page__entry__head__box__left img {
  width: 100%;
}
.Page__entry__head__box__right {
  width: 70%;
}
.Page__entry__head__box__right__brand {
  font-size: 1.2rem;
  line-height: 1.6rem;
  color: #333333;
  margin-bottom: 1rem;
}
.Page__entry__head__box__right__title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.4rem;
  color: #333333;
  margin-bottom: 1rem;
}
.Page__entry__head__box__right__moniter {
  width: 8.8rem;
  display: block;
  height: 2rem;
  line-height: 2rem;
  border-radius: 1rem;
  background-color: #fbb903;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}
.Page__entry__head__dis {
  text-align: center;
  font-size: 1.3rem;
  line-height: 2.6rem;
}
.Page__entry .Form {
  margin-bottom: 2rem;
}

.p-main__apply {
  padding-bottom: 5.4rem;
}

.Form--questionnaire {
  padding-bottom: 4rem;
}
.Form__title__text {
  display: flex;
  align-items: center;
  color: #333;
  font-size: 2rem;
  line-height: 1.5rem;
  font-weight: 700;
  padding-bottom: 2rem;
  border-bottom: 1px solid #EEEEEE;
}
.Form__title__text .require {
  color: #fff;
  background-color: #FF4A96;
  margin-right: 1rem;
  font-size: 1rem;
  font-weight: 700;
  width: 5rem;
  height: 1.5rem;
  line-height: 1.5rem;
  border-radius: 0.7rem;
  text-align: center;
  margin-top: 2px;
}
.Form__title__dis {
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 1rem;
  color: #333333;
}
.Form__question {
  border-bottom: 1px solid #EEEEEE;
}
.Form__question__title {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
  margin-top: 3rem;
}
.Form__question__title__number span {
  background-color: #A8A67B;
  color: #fff;
  font-family: "Jost", serif;
  text-align: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  line-height: 2.5rem;
  display: block;
  margin-right: 1rem;
  font-size: 1.1rem;
}
.Form__question__title__text p {
  font-size: 1.3rem;
  line-height: 2rem;
  font-weight: 700;
  color: #333333;
  display: block;
}
.Form__question__radio {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #EEEEEE;
  padding: 0 0 2rem 0;
}
.Form__question__radio label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 1rem;
}
.Form__question__radio label input {
  width: 2.6rem;
  height: 2.6rem;
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #DDDDDD;
  border-radius: 50%;
  margin-right: 1rem;
}
.Form__question__radio label span {
  color: #333333;
  font-size: 1.3rem;
  line-height: 2rem;
  display: block;
}
.Form__question__radio label input[type=radio]:checked,
.Form__question__radio label input[type=checkbox]:checked {
  position: relative;
}
.Form__question__radio label input[type=radio]:checked::before,
.Form__question__radio label input[type=checkbox]:checked::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.2rem;
  height: 1.2rem;
  background-color: #888888;
  border-radius: 50%;
}
.Form__question__textarea textarea {
  border-radius: 0.5rem;
  border: 1px solid #999999;
  padding: 1.2rem 1.8rem;
  font-size: 16px;
  line-height: 2rem;
  resize: none;
  height: 15rem;
}
.Form__question__textarea textarea::-moz-placeholder {
  color: #CCCCCC;
  font-size: 16px;
  line-height: 2rem;
}
.Form__question__textarea textarea::placeholder {
  color: #CCCCCC;
  font-size: 16px;
  line-height: 2rem;
}
.Form__question .question-contents__text {
  width: 100%;
  border: 1px solid #999;
  padding: 1.4rem 1.8rem;
  box-sizing: border-box;
  border-radius: 0.5rem;
  font-size: 16px;
  line-height: 2rem;
  letter-spacing: 0;
}

.Form__item__flex {
  display: flex;
  justify-content: space-between;
}
.Form__item__flex__box {
  width: 45%;
}

.Point {
  background-color: #fff;
  padding: 1rem 0;
  border-top: 1px solid #f4f4ee;
}
.Point__container {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
.Point__container .ja {
  font-size: 1.1rem;
  font-weight: 700;
  margin-right: 3rem;
}
.Point__container .number {
  font-size: 3rem;
  line-height: 4.3rem;
  font-family: "Jost", serif;
  color: #FF81B6;
  padding-left: 3rem;
  position: relative;
  z-index: 1;
}
.Point__container .number::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 2rem;
  height: 2rem;
  background: url(../images/icon.png) no-repeat center/contain;
}

.Page__thanks {
  padding-top: 1rem;
  padding-bottom: 10rem;
}
.Page__thanks .Title {
  margin-bottom: 3rem;
}
.Page__thanks__message {
  background-color: #fff;
  margin-bottom: 5rem;
  padding: 2rem;
}
.Page__thanks__message p {
  font-size: 1.3rem;
  line-height: 2.6rem;
  color: #333333;
}

.Page__send .Form__item__attention {
  font-size: 1.3rem;
  color: #333333;
  padding: 0;
  line-height: 1.5;
  margin-bottom: 0;
}

.Page__send .Form__item__ttl {
  display: flex;
  align-items: center;
}

.Page__send .Form__item__ttl .require {
  margin-right: 0.5rem;
}

.Page__send .Form__item__ttl .ttl {
  font-size: 1.8rem;
  font-weight: bold;
  color: #333333;
}

.Page__send .Form__item__ttl_dis {
  font-size: 1.3rem;
  color: #333333;
  margin-top: 2rem;
}

.Page__send .Form__item__ttl .require {
  color: #fff;
  background-color: #999999;
  border-radius: 1rem;
  width: 5rem;
  height: 1.5rem;
  font-size: 1rem;
  font-weight: 700;
  margin-right: 1rem;
  display: block;
  text-align: center;
  line-height: 1.5rem;
}

.Page__entry {
  padding-bottom: 8rem;
}
.Page__entry .Title {
  margin-bottom: 3rem;
}
.Page__entry .Product__wrap__none {
  padding: 7rem 0 20rem 0;
}
.Page__entry .Product__wrap__none p {
  color: #cccccc;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 3rem;
  text-align: center;
}

.Product__wrap__item {
  cursor: pointer;
}
.Product__wrap__item.off {
  opacity: 0.3;
  cursor: not-allowed;
}

.Product__hit__item {
  margin-bottom: 0.9rem;
  width: calc(50% - 5px);
}
.Product__hit__item .Product__wrap__item {
  width: 100%;
  margin-bottom: 0;
}
.Product__hit__item__btn {
  padding: 5px 10px 2rem;
  background-color: white;
}
.Product__hit__item__btn__btn {
  font-size: 16px;
  text-decoration: none;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 10px 10px;
  cursor: pointer;
  border-radius: 20px;
  background-color: #ff81b6;
  color: #fff;
}
.Product__hit__item__btn__btn--disabled {
  background-color: #cccccc;
  color: #fff;
  border: none;
}

.Page__entry__dis {
  padding-top: 1rem;
}

.Point__box {
  background-color: #fff;
  height: 6rem;
  display: flex;
  align-items: center;
  border-radius: 3rem;
  width: 30rem;
  box-sizing: border-box;
  justify-content: space-between;
  padding: 0 3rem 0 4rem;
  margin: 0 auto;
  margin-bottom: 3rem;
}
.Point__box__text {
  font-weight: bold;
  color: #999999;
}
.Point__box__number {
  font-size: 3rem;
  font-family: "Jost", serif;
  color: #FF81B6;
  position: relative;
  padding-left: 3rem;
}
.Point__box__number::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 2rem;
  height: 2rem;
  background: url(../images/icon.png) no-repeat center/contain;
}

.Page__point {
  padding-bottom: 5rem;
  padding-top: 0.5rem;
}
.Page__point .Title {
  margin-bottom: 1rem;
}
.Page__point .Point__box {
  margin-bottom: 3rem;
}
.Page__point__flex {
  display: flex;
  justify-content: space-between;
}
.Page__point__flex__item {
  padding: 2rem;
  box-sizing: border-box;
  background-color: #fff;
  display: flex;
  align-items: center;
}
.Page__point__flex__item__img {
  width: 50%;
  padding-right: 1rem;
  box-sizing: border-box;
}
.Page__point__flex__item__img img {
  width: 100%;
}
.Page__point__flex__item__text {
  width: 50%;
  padding-left: 1rem;
  box-sizing: border-box;
}
.Page__point__flex__item__text__ttl {
  font-size: 1.5rem;
  font-weight: bold;
  color: #333;
  text-align: center;
  margin-bottom: 1rem;
  line-height: 2rem;
}
.Page__point__flex__item__text__btn {
  background-color: #FF4A96;
  color: #fff;
  text-align: center;
  height: 3.3rem;
  line-height: 3.3rem;
  display: block;
  border-radius: 1.65rem;
  font-size: 1.4rem;
  font-weight: bold;
  text-decoration: none;
}
.Page__point__history {
  background-color: #fff;
  box-sizing: border-box;
  padding: 1rem 2.3rem;
  margin-bottom: 4rem;
}
.Page__point__history__item {
  border-bottom: 1px solid #EEEEEE;
  padding: 1rem 0;
  display: flex;
  align-items: center;
  justify-content: start;
}
.Page__point__history__item:last-of-type {
  border-bottom: none;
}
.Page__point__history__item__day {
  width: 25%;
}
.Page__point__history__item__day p {
  font-size: 1rem;
  letter-spacing: 0.06rem;
  font-family: "Jost", serif;
  color: #333333;
}
.Page__point__history__item__title {
  width: 60%;
}
.Page__point__history__item__title p {
  color: #333333;
  font-size: 1rem;
  line-height: 1.6rem;
}
.Page__point__history__item__point {
  width: 20%;
  padding-left: 10%;
  box-sizing: border-box;
}
.Page__point__history__item__point p {
  font-size: 1.2rem;
  color: #FF81B6;
}
.Page__point__history__off {
  padding: 9.5rem 0 8rem 0;
  background-color: transparent;
}
.Page__point__history__off p {
  font-size: 1.8rem;
  text-align: center;
  color: #cccccc;
  font-weight: bold;
}

.Page__message {
  padding-bottom: 4rem;
}
.Page__message .Title {
  margin-bottom: 3rem;
}
.Page__message__list {
  margin-bottom: 4rem;
}
.Page__message__list__item {
  display: flex;
  padding: 1.4rem 2rem;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  background-color: #fff;
  text-decoration: none;
}
.Page__message__list__item__left {
  width: 20%;
}
.Page__message__list__item__left__box {
  width: 6rem;
  height: 1.5rem;
  line-height: 1.5rem;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  margin-bottom: 1rem;
  display: block;
  border-radius: 0.75rem;
}
.Page__message__list__item__left__box.tousenn {
  background-color: #FF4A96;
}
.Page__message__list__item__left__box.osirase {
  background-color: #A8A67B;
}
.Page__message__list__item__left__box.rakusenn {
  background-color: #999999;
}
.Page__message__list__item__left__day {
  font-size: 1rem;
  color: #333333;
  font-family: "Jost", serif;
}
.Page__message__list__item__right {
  width: 80%;
  padding-left: 1rem;
  box-sizing: border-box;
}
.Page__message__list__item__right p {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.92rem;
  color: #333333;
}

.Page__post {
  padding: 1rem 0 4rem 0;
}
.Page__post__head {
  margin-bottom: 2rem;
}
.Page__post__head__info {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
}
.Page__post__head__info__box {
  width: 6rem;
  height: 1.5rem;
  line-height: 1.5rem;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  display: block;
  border-radius: 0.75rem;
  margin-right: 1rem;
}
.Page__post__head__info__box.tousenn {
  background-color: #FF4A96;
}
.Page__post__head__info__box.osirase {
  background-color: #A8A67B;
}
.Page__post__head__info__box.rakusenn {
  background-color: #999999;
}
.Page__post__head__info__day {
  font-size: 1rem;
  color: #333333;
  font-family: "Jost", serif;
}
.Page__post__head__title {
  font-size: 1.8rem;
  color: #333333;
  font-weight: bold;
  line-height: 2.4rem;
}
.Page__post__content {
  background-color: #fff;
  padding: 2rem;
  margin-bottom: 2rem;
}
.Page__post__content p {
  font-size: 1.3rem;
  line-height: 2.6rem;
  color: #333333;
}

.Page__login__confirm {
  padding-top: 0.5rem;
}
.Page__login__confirm .Title {
  margin-bottom: 1rem;
}
.Page__login__confirm__menu__list {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
}
.Page__login__confirm__menu__list__item {
  padding: 0 1rem;
  border-right: 1px solid #999999;
  list-style-type: none;
}
.Page__login__confirm__menu__list__item:last-child {
  border-right: none;
}
.Page__login__confirm__menu__list__item a {
  font-weight: bold;
  font-size: 1.3rem;
  color: #888888;
  text-decoration: none;
}
.Page__login__confirm .Form {
  margin-bottom: 3rem;
}

.Page__setting {
  padding: 1rem 0 19rem 0;
}
.Page__setting .Title {
  margin-bottom: 2.1rem;
}
.Page__setting__box {
  margin-bottom: 4.6rem;
  padding: 4rem 2rem;
  background-color: #fff;
}
.Page__setting__box p {
  text-align: center;
  font-size: 1.3rem;
  line-height: 2.6rem;
  color: #333333;
}

.Page__contact {
  padding-bottom: 4rem;
}
.Page__contact .Title {
  margin-bottom: 3rem;
}
.Page__contact select {
  width: 100%;
  display: block;
  border: 1px solid #999;
  padding: 1.2rem 1.8rem;
  box-sizing: border-box;
  border-radius: 0.5rem;
  font-size: 1.3rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 4.4rem;
  background-color: #fff;
}
.Page__contact select option[value=""] {
  font-size: 1.3rem;
  line-height: 2rem;
  color: #CCCCCC;
}
.Page__contact select option[disabled] {
  color: #CCCCCC !important;
}

.Form__item__dis {
  margin-bottom: 2.5rem;
}
.Form__item__dis p {
  font-size: 1.3rem;
  color: #333;
  line-height: 2.08rem;
}

/* ============================================
   CTA Block (FV直下・追加)
   上が丸い背景の連続ブロック: Cta--lead → QuickSteps → ProductGallery → Cta--btn
   ============================================ */
.Cta {
  text-align: center;
}
.Cta--lead {
  padding: 5rem 0 3rem;
  margin-top: 3rem;
}
.Cta--btn {
  padding: 0 0 2rem;
}
.Cta__container {
  max-width: 56rem;
  margin: 0 auto;
  position: relative;
}
.Cta__lead {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.6;
  color: #333;
  letter-spacing: 0.02em;
}
.Cta__btn {
  display: block;
  width: calc(100% - 4rem);
  max-width: 36rem;
  margin: 0 auto;
  text-decoration: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.Cta__btn:hover {
  transform: translateY(-0.2rem);
  opacity: 0.9;
}
.Cta__btn img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 769px) {
  .Cta--lead {
    padding: 4rem 0 2rem;
    margin-top: 2rem;
  }
  .Cta--btn {
    padding: 0 0 1.5rem;
  }
  .Cta__lead {
    font-size: 1.8rem;
  }
}

/* ============================================
   Product Card 上書き (1カラム横長・左画像/右テキスト)
   ============================================ */
.Product__wrap {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.Product__wrap__item {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding: 1.8rem 2rem;
  border-radius: 0.8rem;
  box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.04);
  margin-bottom: 0;
}
.Product__wrap__item__main {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  width: 100%;
}
.Product__wrap__item__img {
  width: 40%;
  height: auto;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
  margin-bottom: 0;
  border-radius: 0.8rem;
  overflow: hidden;
  background-color: #D9D9D9;
}
.Product__wrap__item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.Product__wrap__item__food {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.Product__wrap__item__head {
  margin-bottom: 0;
}
.Product__wrap__item__head__maker {
  font-size: 1.15rem;
  line-height: 1.5;
  margin-bottom: 0.4rem;
  height: auto;
  color: #888;
  white-space: normal;
  text-overflow: clip;
  overflow: visible;
}
.Product__wrap__item__head__name {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
  height: auto;
  color: #333;
}
.Product__wrap__item__food__countdown {
  margin-bottom: 0;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
  padding-top: 1.2rem;
  border-top: 1px solid #EEE;
  width: 100%;
}
.Product__wrap__item__food__countdown__pople,
.Product__wrap__item__food__countdown__day {
  font-size: 1.2rem;
  line-height: 1.5;
  color: #555;
  margin-right: 0;
}
.Product__wrap__item__food__countdown__pople span,
.Product__wrap__item__food__countdown__day span {
  font-size: 1.5rem;
  font-weight: 700;
  color: #333;
  margin: 0 0.2rem;
}
.Product__wrap__item__food__sns {
  gap: 0.8rem;
  padding-top: 0;
  border-top: none;
}
.Product__wrap__item__food__sns a {
  width: 2.2rem;
  height: 2.2rem;
  margin-right: 0;
}
.Product__wrap__item__food__sns a:first-child,
.Product__wrap__item__food__sns a:not(:first-child) {
  width: 2.2rem;
  margin: 0;
}
@media screen and (max-width: 769px) {
  .Product__wrap__item {
    width: 100%;
    padding: 1.2rem 1.4rem;
    gap: 1.4rem;
  }
  .Product__wrap__item__img {
    width: 40%;
    height: auto;
    aspect-ratio: 1 / 1;
  }
  .Product__wrap__item__head__name {
    font-size: 1.4rem;
  }
  .Product__wrap__item__food__sns a {
    width: 1.8rem;
    height: 1.8rem;
  }
}

/* ============================================
   Reason (miyonが無料な理由・図解)
   ============================================ */
.Reason {
  background-color: #f4f4ee;
  padding: 6rem 0 5rem;
}
.Reason .Title {
  margin-bottom: 4.5rem;
}
.Reason__diagram {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  max-width: 56rem;
  margin: 0 auto;
  gap: 1.6rem;
  padding: 0 1.5rem;
}
.Reason__nodes {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 0;
}
.Reason__flows {
  display: flex;
  justify-content: center;
  gap: 1.4rem;
}
.Reason__flows .Reason__flow__line {
  flex: 1;
  max-width: 22rem;
}
.Reason__node {
  flex: 0 0 auto;
  text-align: center;
}
.Reason__nodes__gap {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 1.2rem;
  padding: 0 0.8rem 2.4rem;
}
.Reason__arrow {
  position: relative;
  height: 0.5rem;
  border-radius: 0.25rem;
}
.Reason__arrow--right {
  background: #6BA7DD;
  margin-right: 0.8rem;
}
.Reason__arrow--right::after {
  content: "";
  position: absolute;
  right: -0.8rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 0.9rem solid #6BA7DD;
  border-top: 0.7rem solid transparent;
  border-bottom: 0.7rem solid transparent;
}
.Reason__arrow--left {
  background: #FF4A96;
  margin-left: 0.8rem;
}
.Reason__arrow--left::before {
  content: "";
  position: absolute;
  left: -0.8rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-right: 0.9rem solid #FF4A96;
  border-top: 0.7rem solid transparent;
  border-bottom: 0.7rem solid transparent;
}
.Reason__node__icon {
  width: 6.5rem;
  height: 6.5rem;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.6rem;
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.06);
}
.Reason__node__icon--brand {
  background: #FF4A96;
}
.Reason__node__icon svg {
  width: 70%;
  height: 70%;
}
.Reason__node__name {
  font-size: 1.2rem;
  font-weight: 700;
  color: #333;
  letter-spacing: 0.02em;
}
.Reason__node__name--brand {
  color: #FF4A96;
}
.Reason__flow__line {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 1rem 1.2rem;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  border-radius: 0.4rem;
  box-sizing: border-box;
}
.Reason__flow__line--right {
  background: #6BA7DD;
}
.Reason__flow__line--left {
  background: #BDB8AC;
}
.Reason__flow__line--accent {
  background: #FF4A96;
}
.Reason__flow__no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  background: #fff;
  border-radius: 50%;
  font-family: "Jost", sans-serif;
  font-size: 1rem;
  font-weight: 700;
}
.Reason__flow__line--right .Reason__flow__no {
  color: #6BA7DD;
}
.Reason__flow__line--accent .Reason__flow__no {
  color: #FF4A96;
}
.Reason__flow__text {
  flex: 1;
  text-align: center;
  word-break: keep-all;
}

/* ============================================
   Categories (取り扱いジャンル紹介・案件下に配置)
   ============================================ */
.Categories {
  background-color: #f4f4ee;
  padding: 6rem 0 5rem;
}
.Categories .Title {
  margin-bottom: 4rem;
}
.Categories__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.8rem;
  max-width: 25rem;
  margin: 0 auto;
  list-style: none;
  padding: 0;
}
.Categories__item {
  text-align: center;
}
.Categories__item__img {
  width: 100%;
  border-radius: 1.4rem;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.05);
  margin-bottom: 1.2rem;
  transition: transform 0.3s ease;
}
.Categories__item:hover .Categories__item__img {
  transform: translateY(-0.4rem);
}
.Categories__item__img img {
  width: 100%;
  height: auto;
  display: block;
}
.Categories__item__name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #333;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 769px) {
  .Categories {
    padding: 4rem 0 3.5rem;
  }
  .Categories .Title {
    margin-bottom: 3rem;
  }
  .Categories__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem;
    max-width: 24rem;
    padding: 0 1.5rem;
  }
  .Categories__item__img {
    border-radius: 1.2rem;
    margin-bottom: 0.8rem;
  }
  .Categories__item__name {
    font-size: 1.3rem;
  }
}

/* ============================================
   Saving (旧・節約イメージ。現在未使用。HTML削除済み)
   ============================================ */
.Saving {
  background-color: #f4f4ee;
  padding: 6rem 0 5rem;
}
.Saving .Title {
  margin-bottom: 4.5rem;
}
.Saving .Title .ja {
  line-height: 1.6;
}
.Saving__title__price {
  color: #FF4A96;
  font-size: 1.4em;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.Saving__compare {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 3rem;
  max-width: 56rem;
  margin: 0 auto;
}
.Saving__compare__col {
  flex: 1;
  text-align: center;
  max-width: 18rem;
}
.Saving__compare__bars {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  margin-bottom: 1.5rem;
  min-height: 22rem;
}
.Saving__compare__bar {
  border-radius: 0.6rem 0.6rem 0 0;
  padding: 2.4rem 0.6rem;
  color: #fff;
  text-align: center;
  box-sizing: border-box;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.Saving__compare__bar--base {
  background-color: #BDB8AC;
}
.Saving__compare__bar--bonus {
  background: transparent;
  border: 2px dashed #FF4A96;
  color: #FF4A96;
}
.Saving__compare__bar__text {
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: 600;
}
.Saving__compare__bar__cat {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0.6rem;
  letter-spacing: 0.02em;
  opacity: 0.95;
}
.Saving__compare__bar__price {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
}
.Saving__compare__label {
  font-size: 1.3rem;
  font-weight: 600;
  color: #777;
  line-height: 1.5;
}
.Saving__compare__label--main {
  color: #FF4A96;
}
.Saving__compare__arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding-bottom: 6rem;
}
.Saving__compare__arrow svg {
  width: 5rem;
  height: auto;
}
.Saving__compare__arrow__note {
  margin-top: 0.6rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #E8A04A;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.Saving__note {
  margin-top: 3rem;
  font-size: 1.1rem;
  color: #999;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 769px) {
  .Saving {
    padding: 4rem 0 3.5rem;
  }
  .Saving .Title {
    margin-bottom: 3rem;
  }
  .Saving .Title .ja {
    font-size: 1.7rem;
  }
  .Saving__compare {
    gap: 0.6rem;
  }
  .Saving__compare__col {
    max-width: 12rem;
  }
  .Saving__compare__bars {
    min-height: 16rem;
  }
  .Saving__compare__bar {
    padding: 1rem 0.4rem;
  }
  .Saving__compare__bar--bonus {
    padding: 1.6rem 0.4rem;
  }
  .Saving__compare__bar__text,
  .Saving__compare__bar__cat {
    font-size: 1.05rem;
  }
  .Saving__compare__bar__price {
    font-size: 1.6rem;
  }
  .Saving__compare__label {
    font-size: 1.1rem;
  }
  .Saving__compare__arrow svg {
    width: 3.5rem;
  }
  .Saving__compare__arrow__note {
    font-size: 0.95rem;
  }
  .Saving__compare__arrow {
    padding-bottom: 4.5rem;
  }
}

/* ============================================
   Quick Steps (3STEP横並び・CTA直下)
   ============================================ */
.QuickSteps {
  background-color: #fff;
  padding: 1rem 0 2rem;
}
.QuickSteps__list {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  max-width: 70rem;
  margin: 0 auto;
  list-style: none;
  padding: 0;
}
.QuickSteps__item {
  flex: 1;
  text-align: center;
  position: relative;
}
.QuickSteps__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 30%;
  right: -1rem;
  width: 0;
  height: 0;
  border-left: 0.8rem solid #FFB8D1;
  border-top: 0.6rem solid transparent;
  border-bottom: 0.6rem solid transparent;
}
.QuickSteps__item__img {
  width: 9rem;
  height: 9rem;
  margin: 0 auto 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.QuickSteps__item__img img {
  width: 100%;
  height: auto;
}
.QuickSteps__item__no {
  font-family: "Jost", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: #FF4A96;
  margin-bottom: 0.6rem;
}
.QuickSteps__item__text {
  font-size: 1.5rem;
  font-weight: bold;
  color: #333;
  line-height: 1.5;
}
@media screen and (max-width: 769px) {
  .QuickSteps {
    padding: 1rem 0 1.5rem;
  }
  .QuickSteps__list {
    gap: 1rem;
    padding: 0 1.5rem;
  }
  .QuickSteps__item__img {
    width: 6.5rem;
    height: 6.5rem;
    margin-bottom: 0.8rem;
  }
  .QuickSteps__item__no {
    font-size: 1rem;
  }
  .QuickSteps__item__text {
    font-size: 1.2rem;
  }
  .QuickSteps__item:not(:last-child)::after {
    right: -0.5rem;
    border-left-width: 0.6rem;
    border-top-width: 0.4rem;
    border-bottom-width: 0.4rem;
  }
}

/* ============================================
   Product Gallery (装飾イラスト並び)
   ============================================ */
.ProductGallery {
  background-color: #fff;
  padding: 1rem 0 2rem;
}
.ProductGallery__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
  max-width: 80rem;
  margin: 0 auto;
  list-style: none;
  padding: 0;
}
.ProductGallery__item {
  border-radius: 1.2rem;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}
.ProductGallery__item:hover {
  transform: translateY(-0.4rem);
}
.ProductGallery__item img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 769px) {
  .ProductGallery {
    padding: 0.5rem 0 1.5rem;
  }
  .ProductGallery__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem;
    padding: 0 1.5rem;
  }
  .ProductGallery__item {
    border-radius: 1rem;
  }
}

/* ============================================
   CTA Button — pinkバルーン型（中段STEP03後CTA用）
   ※ 上段（FV直後）は .Cta--btn--legacy で元の画像表示にrevert
   ============================================ */
.Cta__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 1.6rem 2rem;
  background: linear-gradient(135deg, #FF6FA5 0%, #FF4A96 100%);
  border-radius: 9999px;
  box-shadow: 0 0.6rem 1.6rem rgba(255, 74, 150, 0.35);
  color: #fff;
  text-align: center;
}
.Cta__btn img,
.Cta__btn__icon {
  width: 3rem;
  height: auto;
  max-width: 3rem;
  object-fit: contain;
}
.Cta__btn__text {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 769px) {
  .Cta__btn {
    padding: 1.4rem 1.6rem;
  }
  .Cta__btn__text {
    font-size: 1.6rem;
  }
  .Cta__btn img,
  .Cta__btn__icon {
    width: 2rem;
    max-width: 2rem;
  }
}

/* ============================================
   CTA Button Legacy — 上段（FV直後）は元の画像表示
   ============================================ */
.Cta--btn--legacy .Cta__btn {
  display: block;
  padding: 0;
  background: none;
  box-shadow: none;
  border-radius: 0;
}
.Cta--btn--legacy .Cta__btn img {
  width: 100%;
  max-width: 100%;
}

/* ============================================
   Footer — シンプル化（©Somun のみ）
   ============================================ */
.Footer__container {
  text-align: center;
}
.Footer__container__copy {
  font-size: 1.2rem;
  line-height: 1.6;
  font-family: "Jost", serif;
  color: #999;
  text-align: center;
  margin: 0;
}
