@charset "UTF-8";
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;
  background: transparent;
  font-size: 100%;
  vertical-align: baseline;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  background: transparent;
  font-size: 100%;
  vertical-align: baseline;
}

/* change colours to suit your needs */
ins {
  background-color: #f5f5f5;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #f5f5f5;
  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;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #cccccc;
}

input,
select {
  vertical-align: middle;
}

:root {
  --header-height: 95px;
  --filter-bar-height: 52px;
}

*,
*:after,
*:before {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  scroll-padding-top: calc(var(--header-height) + var(--filter-bar-height) + 30px);
}

body {
  position: relative;
  min-height: 100vsh;
  color: #060606;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
}
body::after {
  visibility: hidden;
  z-index: 50;
  position: absolute;
  inset: 0;
  background: rgba(38, 32, 32, 0.48);
  content: "";
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
body.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  overflow-y: scroll;
}
body.is-fixed::after {
  visibility: visible;
  opacity: 1;
}

a {
  color: inherit;
  text-underline-offset: 0.2em;
}
a:hover {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

button {
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

h2, h3, h4, h5, h6 {
  margin-top: 10px;
  margin-bottom: 10px;
}

@font-face {
  font-style: normal;
  font-weight: 800;
  src: url(../fonts/HappyFont-HeadlineBlack.woff2) format("woff2"), url(../fonts/HappyFont-HeadlineBlack.woff) format("woff"), url(../fonts/HappyFont-HeadlineBlack.eot) format("eot");
  font-family: HappyFont;
  font-display: swap;
}
.l-container {
  width: 100%;
  max-width: calc(1560px + 2 * max(15px, 5.8vw - 12.8px));
  margin: auto;
  padding-right: max(15px, 5.8vw - 12.8px);
  padding-left: max(15px, 5.8vw - 12.8px);
}
.l-container.-no-pad-on-mobile {
  padding-right: 0;
  padding-left: 0;
}
.l-container.-wide {
  max-width: calc(1800px + 2 * max(15px, 5.8vw - 12.8px));
}
.l-container.-narrow {
  max-width: calc(1260px + 2 * max(15px, 5.8vw - 12.8px));
}
.l-container.-page-inner {
  max-width: 1070px;
  padding-right: 0;
  padding-left: 0;
}
.l-container.-product-list {
  max-width: calc(1513px + 2 * max(15px, 5.8vw - 12.8px));
}

.l-contents {
  margin-bottom: 64px;
}

.l-footer-group {
  margin-top: 8rem;
}
.l-footer-group .c-button {
  margin-bottom: 60px;
  margin-left: max(15px, 5.8vw - 12.8px);
}

.l-header {
  -webkit-backface-visibility: hidden;
  z-index: 100;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  right: 0;
  left: 0;
          backface-visibility: hidden;
}

.l-main.-no-footer-margin + .l-footer-group {
  margin-top: 0;
}
.l-main.-no-footer-border + .l-footer-group > .p-sns {
  border-top: none;
}

.l-section {
  margin-top: 6.6rem;
}
.l-section > * + * {
  margin-top: 3rem;
}
.l-section > .p-collection + .p-collection {
  margin-top: 6rem;
}

.c-accordion dt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #BEBEBC;
  cursor: pointer;
}
.c-accordion dt::after {
  width: 16px;
  height: 9.33px;
  background: url(../images/chevron-bottom.svg) no-repeat center center/contain;
  content: "";
}
.c-accordion dt.is-open::after {
  transform: rotate(-180deg);
}
.c-accordion dd {
  display: none;
  padding: 2rem 1.8rem 2rem;
  border-bottom: 1px solid #BEBEBC;
}

.c-announcement-bar {
  padding: 1rem max(15px, 5.8vw - 12.8px);
  background: #000000;
  color: #FFFFFF;
  line-height: 1.5;
  letter-spacing: -0.05em;
  text-align: center;
}
.c-announcement-bar p {
  font-weight: 700;
  font-size: 1.4rem;
  text-align: left;
}
.c-announcement-bar__note {
  display: none;
  color: #BEBEBC;
}
.c-announcement-bar__note small {
  font-size: 1.2rem;
}

.c-banner-card {
  position: relative;
  aspect-ratio: 42/19;
}
.c-banner-card__link {
  grid-gap: 3vw;
  display: grid;
  place-content: center;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 2%;
  text-decoration: none;
}
.c-banner-card__link:not(div)::before {
  position: absolute;
  inset: 0;
  background-color: #FFDD00;
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease-in-out;
}
.c-banner-card__image {
  z-index: -1;
  position: absolute;
  inset: 0;
}
.c-banner-card__image img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.c-banner-card__heading {
  z-index: 2;
  margin: 0;
  font-size: clamp(2.4rem, 2.152rem + 0.66vw, 3.3rem);
  line-height: 1.5;
  text-align: center;
}
.c-banner-card__heading span {
  display: block;
  font-weight: 400;
  font-size: min(3.5vw, 1.5rem);
}
.c-banner-card__heading.-text-white {
  color: #FFFFFF;
}

.c-button, .c-staff__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background-color: transparent;
  color: inherit;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}
.c-button.-push, .-push.c-staff__button {
  position: relative;
  padding: 0.5rem 1rem;
  border: 1px solid #060606;
  background-color: #FFFFFF;
  font-weight: 700;
}
.c-button.-push::after, .-push.c-staff__button::after {
  display: block;
  position: absolute;
  right: -1px;
  bottom: 0;
  left: -1px;
  transform: translateY(calc(100% + 1px));
  border-width: 0.35rem;
  border-style: solid;
  border-color: #060606 transparent transparent transparent;
  content: "";
}
.c-button.-push.-s, .-push.-s.c-staff__button {
  min-width: 15rem;
  min-height: 2.8rem;
  padding: 0.8rem 1rem;
  font-size: 1.5rem;
}
.c-button.-push.-m, .-push.-m.c-staff__button {
  min-width: 15rem;
  min-height: 2.8rem;
  font-size: 2rem;
}
.c-button.-push.-l, .-push.-l.c-staff__button {
  min-width: 17rem;
  min-height: 3.9rem;
  font-weight: 400;
  font-size: 1.6rem;
}
.c-button.-push.-xl, .-push.-xl.c-staff__button {
  min-width: 20rem;
  min-height: 5.4rem;
  font-size: 2rem;
}
.c-button.-push.-xxl, .-push.-xxl.c-staff__button {
  flex-direction: column;
  min-height: 6.8rem;
  font-size: 1.4rem;
  line-height: 1.2;
}
.c-button.-push.-close, .-push.-close.c-staff__button {
  width: 3rem;
  min-height: 2.8rem;
  padding: 0.5rem;
}
.c-button.-push.-close::after, .-push.-close.c-staff__button::after {
  border-width: 0.3rem;
}
.c-button.-rounded, .-rounded.c-staff__button {
  padding: 0.5rem 1.3rem;
  border: 1px solid #060606;
  border-radius: 2rem;
  font-size: 1.6rem;
  line-height: 1.9rem;
}
.c-button.-rounded.-s, .-rounded.-s.c-staff__button {
  padding: 0.75rem 0.9rem;
  font-size: 1.2rem;
  line-height: 1;
}
.c-button.-rounded.-m, .-rounded.-m.c-staff__button {
  padding: 1rem 3rem;
  font-size: 1.4rem;
  line-height: 1;
}
.c-button.-rounded.-hover-yellow, .-rounded.-hover-yellow.c-staff__button {
  transition: background-color 0.2s ease-in-out;
}
.c-button.-rounded.-yellow, .-rounded.-yellow.c-staff__button {
  background: #FFDD00;
}
.c-button.-rounded.-white, .-rounded.-white.c-staff__button {
  background: #FFFFFF;
}
.c-button.-with-icon, .-with-icon.c-staff__button {
  gap: 0.5em;
}
.c-button.-with-icon img, .-with-icon.c-staff__button img {
  max-height: 1.2em;
}
.c-button.-wight-normal, .-wight-normal.c-staff__button {
  font-weight: 400;
}
.c-button.-wight-bold, .-wight-bold.c-staff__button {
  font-weight: 700;
}
.c-button.-action, .-action.c-staff__button {
  width: 100%;
  max-width: 493px;
  padding: 0.84em;
  border: 1px solid #060606;
  font-weight: 700;
  font-size: 1.8rem;
}
.c-button.-action.-green, .-action.-green.c-staff__button {
  background-color: #00B852;
}
.c-button.-blinking, .-blinking.c-staff__button {
  position: relative;
  padding: 1em 3em;
  border-radius: 2px;
  background-color: #D9D9D9;
  font-size: 1.6rem;
  letter-spacing: -0.12em;
  transition: background-color 0.2s ease-in-out;
}
.c-button.-blinking::before, .-blinking.c-staff__button::before {
  position: absolute;
  top: 50%;
  left: 20px;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #060606;
  content: "";
  animation: blinking 2.5s linear infinite;
  opacity: 0;
}

@keyframes blinking {
  25%, 75% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
.c-card {
  text-align: center;
}
.c-card__link {
  text-decoration: none;
}
.c-card__image {
  position: relative;
  aspect-ratio: 47/52;
  margin-bottom: 0.8rem;
}
.c-card__image img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.c-card__badges {
  display: flex;
  position: absolute;
  top: 0.5rem;
  left: 0;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  gap: 0.3rem;
  font-size: 1rem;
  font-size: clamp(1rem, 1.2vw, 1.2rem);
}
.c-card__badge {
  display: flex;
  z-index: 2;
  flex-grow: 0;
  align-items: center;
  justify-content: center;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0.5rem 1em;
  border: 1px solid #FFFFFF;
  color: #FFFFFF;
  font-weight: 700;
  line-height: 1.5;
}
.c-card__badge.-pink {
  background-color: #FF6699;
}
.c-card__badge.-green {
  background-color: #418D5A;
}
.c-card__badge.-black {
  background-color: #060606;
}
.c-card__badge.-red {
  background-color: #F04040;
}
.c-card__title {
  font-size: 1.3rem;
  line-height: 1.5;
  word-break: break-all;
}
.c-card__price {
  font-size: 1.3rem;
}

.c-category {
  text-align: center;
}
.c-category__link {
  text-decoration: none;
}
.c-category__image {
  aspect-ratio: 1/1;
  width: 100%;
  margin-bottom: 1rem;
  overflow: hidden;
  border: 2px solid #060606;
  border-radius: 50%;
}
.c-category__image img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
  transition: transform 0.2s ease-in-out;
}
.c-category__body {
  font-size: 1.6rem;
  line-height: 1.5;
}
.c-category__body span {
  display: block;
  font-weight: 400;
  font-size: 1.4rem;
}

.c-gnav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  gap: 1em;
  font-weight: 400;
  font-size: 1.5rem;
}
.c-gnav a {
  text-decoration: none;
}
.c-gnav > li {
  display: grid;
  place-content: center;
  height: 100%;
}
.c-gnav > li > a {
  position: relative;
  padding: 0.5rem 0;
  line-height: 1.5;
  white-space: nowrap;
}
.c-gnav__submenu {
  display: none;
  position: absolute;
  top: 58px;
  right: 0;
  width: 100%;
  padding: 3rem 0;
  background: #FFFFFF;
}
.c-gnav__submenu-list {
  -moz-column-gap: 4rem;
  display: flex;
       column-gap: 4rem;
  row-gap: 2rem;
  height: 100%;
  line-height: 2.3rem;
}
.c-gnav__submenu-block > li {
  margin-bottom: 2rem;
}

.c-hamburger {
  align-self: center;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 0;
  cursor: pointer;
}
.c-hamburger[aria-expanded=true] {
  display: none;
}

.c-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: clamp(2.4rem, 2.152rem + 0.66vw, 3.3rem);
  line-height: 1.5;
}
.c-heading__jp {
  display: block;
  position: relative;
  top: 0.2em;
  font-weight: normal;
  font-size: 1.6rem;
}
.c-heading.-line {
  position: relative;
  padding-bottom: 1.5rem;
  font-size: clamp(2.4rem, 2.01rem + 1.04vw, 3.8rem);
  letter-spacing: -0.013em;
  text-align: center;
}
.c-heading.-line::after {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #7A7A7A;
  content: "";
}
.c-heading.-page, .c-heading.-product-list {
  justify-content: center;
  margin-top: 35px;
  padding: 0 0 1.2em;
  font-size: 2.2rem;
  line-height: 1.2;
}
.c-heading.-product-list {
  margin-bottom: 24px;
  border-bottom: 1px solid #060606;
}
.c-heading.-lv2 {
  display: block;
  font-size: 2rem;
}
.c-heading.-lv3 {
  display: block;
  font-size: 1.6rem;
}
.c-heading.-contact-section {
  margin-top: 30px;
  font-size: 1.9rem;
}

.c-image-banner.-bg-fluorescent-green {
  background-color: #E0FF00;
}
.c-image-banner.-wave {
  z-index: 2;
  position: relative;
}
.c-image-banner.-wave::before {
  z-index: -1;
  position: absolute;
  top: -25px;
  left: 0;
  width: 100%;
  height: 99px;
  background-image: url(../images/wave-fluorescent-green.svg);
  background-size: 861px;
  background-repeat: repeat-x;
  content: "";
}

.c-imporant-information__link {
  display: block;
  margin-bottom: 52px;
  padding: 15px;
  color: #010039;
  font-weight: bold;
  text-decoration: none;
}
.c-imporant-information__link:hover {
  color: #2533AB;
}

.c-input {
  margin-top: -1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border: none;
  border-bottom: 1px solid #7A7A7A;
  border-radius: 0;
  background: transparent;
  font-size: 1.4rem;
}
.c-input::-moz-placeholder {
  color: #060606;
}
.c-input::placeholder {
  color: #060606;
}

.c-loading {
  z-index: 101;
  position: fixed;
  inset: 0;
  overflow: hidden;
  background-color: #FFFFFF;
}
.c-loading__list {
  grid-gap: 5vw;
  display: grid;
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
}
.c-loading__smile {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  transform: rotate(0);
  border-radius: 50%;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAU+SURBVHgB7d3tldtEFMbxZ2mApQKGCpIOEDQAHaw7IB2sOkiggXUFLGkAhwo2aQCbBmBpIBvdo9VmY9+R9TqSrf/vnPthJ7GPPXPnTZIlCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEP4uYjbIjZFXKmfUMTN43tdC01dqqyzhyK2Ktukj1+K+O/x/XLNWFD5IZ9Hpu62e++VC0280Zf1ZslzqW5e6rBN+w4sT77SsLKGZU2Ex3jupdDEpfN317rLGpbNgtdbuva+tfNeb4QmXumw7jbqZqsRR8Ax3OnwA79WO8F5j77T+ZJYh6/WbM/jldq5lt8OQTOWy//QTXtNkN/rtkIba/Vrh1jy3egEeAlkcWwnm9W8tmnFoRQbBat2CJHXWflt5HV/a+DR70LjsLXgXeTfdkW8LeJdEfcqK+pblYcKsshrflX76QPSSvUj1h9FfFCZqN8V8ULxNrAE/FFlu52Elfxe1DbuhD5y9W+Djyrb8+TYqBabBprERt2PX+GzXN3b4F/1P5A9qaD4miIWlrRMucMK+nx2pOmo96dmvuNtI1N8Z1bFVmVvZdQbT6ayHayuYxuN1zrzQ15rHX5xRrz0vAEgqaFPxTW1c8ruhZSCU5a8DeaUgEFIyVvmLCYBPaz70vLq+38lNlUCvnfKvhZS8hJwp8SmSkBvqOdSq7S8+l7UGnD/ywYhpRdOWfKzTlOuAXd7f9uUEIRUglP2jxZkrcPjUCshBevs3kHo5KYcAb2NCOvANLx6fq8JTJmA75yy74UUMqdskgScmnelDMcDx7fRYb1faYG8q2RWwpiC/PVf0ASmPhPyl1O2yJ6YUOaU2fS70wJ5u7E+P6LGcd70u+ifu3oVwqVZ4wjyp9/Jjj7M4WKEt07ZT8IYVk7ZVgvdAVdiPx/MhKFZsrH7dezfTMfiVhjSSjPa/c5NJipnbN7odyM88TYjVNAwVprZ5mOOMvmVlAl9eaPfRjjgjYJUVD/XEh27qUx+ZZ30L/MnFOQfYWBpU8M7P8zZkW7WEpu7toLotUOwG4t7ydf2ZqGL5N1illN0zdmt1rxObLfdYCZpaCN/Kg5CHUuwrfwOfCU0FuT3YqtcenGcTbFMvQOJTcUcmvHl8uuLqbcH7zwxm5JDufx6shtMBqEz67neox8srgWzkl8/rPsGEtT9zvvnbqV48uXCYILi95te4nRsTzjIRfIlZVdvxJLQpumgZbDki+12l9ohk6lLQpumg87bN6q/2TjJl4AlYWxNeK532LdR7wfFvzfJl1jQ8cYIOg/Hplx7pEIuJBdUn4T2b1c6XU1GPUs+zpFPLHaw+pTXhnZBwVr138vOcGTCLNgocOyxYDeadyLaiGebjFz13+XsnmJ0LoLqp6sq7KLXTPNRTbU2kh/rRHZqjSl35qyBmiRitUYMSq8a7eyzbnT8szLqnZig42uo52FJYFcRj/VTxQsdJl3TJ4my1jthQe0S0cISw6bpXGXDt0nKC32ZbDa1WsLdqNmovD/d5jrjS6nGemL6HFkSWSJcqTu7ic/9s/CEx7hUt8R5eHzv31SuCZM/uwPjCqp/XOlUUa3xMmEx7PfGNtX2eap7n4Srki4XVywvniXjWvGLX4dKOFvX/a5ywxO0cEtaA7Zho5GtGTOVj7Sq/vZGqYea99mpXDfaE4g+qHw0xU54QgK2U20sQs3/2al+kwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICYTyLVWOj/irRaAAAAAElFTkSuQmCC);
  background-size: contain;
  background-color: #FFDD00;
  animation: clockwise 4s linear infinite;
}
.c-loading__smile:nth-child(2n) {
  margin-top: calc(-50% - 1.5vw);
}
.c-loading__smile.-translucent {
  animation: anticlockwise 4s ease infinite;
  opacity: 0.5;
}

@keyframes clockwise {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes anticlockwise {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-360deg);
  }
}
.c-scroll-top-button {
  grid-gap: 2px;
  display: grid;
  z-index: 60;
  position: fixed;
  right: max(15px, 5.8vw - 12.8px);
  bottom: 20px;
  place-content: center;
  place-items: center;
  width: 48px;
  height: 48px;
  border: none;
  background-image: url(../images/bg-scroll-up.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-color: transparent;
  color: #060606;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
  cursor: pointer;
}
.c-scroll-top-button img {
  width: 14px;
}

.c-search {
  height: 100%;
}
.c-search__form {
  z-index: 10;
  position: relative;
  place-items: center;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1px solid #D9D9D9;
  border-radius: 2px 0 0 2px;
  background-color: #BEBEBC;
}
.c-search__form:after {
  display: block;
  position: absolute;
  top: calc(50% - 0.8rem);
  right: 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
  background-image: url(../images/search.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  pointer-events: none;
}
.c-search__form input {
  width: 48px;
  height: 100%;
  padding: 1.2rem 1.6rem;
  border: none;
  border-radius: 0;
  outline: none;
  background-color: transparent;
  line-height: normal;
}
.c-search__form input::-moz-placeholder {
  color: transparent;
  font-size: 1.5rem;
  letter-spacing: -0.11em;
}
.c-search__form input::placeholder {
  color: transparent;
  font-size: 1.5rem;
  letter-spacing: -0.11em;
}
.c-search__form.is-focused::after {
  content: none;
}
.c-search__form.is-focused input {
  width: 100%;
  background-color: #fff;
}
.c-search__reset {
  display: none;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  border: none;
  background: transparent;
  cursor: pointer;
}

.c-staff {
  grid-gap: 20px;
  display: grid;
  grid-template-columns: min(37%, 118px) 1fr;
  align-items: center;
}
.c-staff__position {
  margin-bottom: 0.5em;
  font-size: 1rem;
  opacity: 0.8;
}
.c-staff__name {
  margin-bottom: 0.5em;
  font-weight: 700;
  font-size: 1.7rem;
}
.c-staff__comment {
  margin-bottom: 0.5em;
  font-weight: 700;
  font-size: 1.3rem;
}
.c-staff__button {
  padding: 0.6rem 1.9rem !important;
  font-size: 1rem !important;
}

.p-about {
  margin-top: -78px;
}
.p-about__mv {
  padding: 138px 0 60px;
  background-image: url(../images/asset-70.svg);
  background-position: 50%;
  background-size: 800px;
  color: #FFFFFF;
}
.p-about__mv-heading {
  max-width: 1000px;
}
.p-about__mv-heading span {
  display: block;
  margin-top: 1.5em;
  font-size: 1.8rem;
}
.p-about__mv-body {
  grid-gap: 4rem;
  display: grid;
  place-items: center;
  margin-top: 60px;
}
.p-about__mv-text {
  padding: 2rem;
}
.p-about__mv-text h2 {
  font-size: 2rem;
}
.p-about__mv-text p {
  font-size: 1.6rem;
}
.p-about__mv-image {
  width: 50%;
  padding: 1rem;
}
.p-about__video {
  position: relative;
  aspect-ratio: 16/9;
}
.p-about__video iframe {
  -o-object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
     object-fit: cover;
}
.p-about__division {
  display: block;
  width: 100%;
}
.p-about__division img {
  width: 100%;
}
.p-about__section {
  display: grid;
}
.p-about__section.-bg-red {
  background-color: #EF4623;
  color: #FFDD00;
}
.p-about__section.-bg-yellow {
  background-color: #FFDD00;
}
.p-about__section.-bg-green {
  background-color: #56B472;
  color: #FFFFFF;
}
.p-about__section.-bg-pink {
  background-color: #F29BB2;
}
.p-about__section.-image-first .p-about__section-image {
  border-top: none;
  border-bottom: 1px solid #060606;
}
.p-about__section-image {
  border-top: 1px solid #060606;
}
.p-about__section-body {
  padding: 4rem;
}
.p-about__section-body h2 {
  font-size: clamp(2rem, 2vw, 3.2rem);
}
.p-about__section-body p {
  font-size: clamp(1.6rem, 1.2672rem + 0.33vw, 1.8rem);
  line-height: 1.78;
}
.p-about__section-body a {
  color: inherit;
  font-weight: 700;
  font-size: 1.6rem;
  text-decoration: none;
}
.p-about__section-body a::after {
  display: inline-block;
  margin-left: 0.3em;
  content: "→";
  transition: transform 0.2s ease-in-out;
}
.p-about__section-inner {
  width: 100%;
}
.p-about__section-inner > * + * {
  margin-top: 1em;
}

.p-banners {
  grid-gap: 1rem;
  display: grid;
}

.p-brand-story {
  position: relative;
  padding: 28px;
  background: #D9D9D9;
}
.p-brand-story::before {
  z-index: -1;
  position: absolute;
  top: -25px;
  left: 0;
  width: 100%;
  height: 99px;
  background-image: url(../images/wave-light-gray.svg);
  background-size: 861px;
  background-repeat: repeat-x;
  content: "";
}
.p-brand-story__inner {
  grid-gap: 20px;
  display: grid;
  place-items: center;
  width: 100%;
  max-width: calc(1085px + 2 * max(15px, 5.8vw - 12.8px));
  margin: auto;
}
.p-brand-story__text {
  line-height: 2;
}

.p-categories {
  max-width: 1294px;
  margin-right: auto;
  margin-left: auto;
  border: 1px solid #7A7A7A;
}
.p-categories__row:last-child .p-categories__body {
  border-bottom: none;
}
.p-categories__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.7rem 0;
  gap: 1.7rem;
  border-bottom: 1px solid #7A7A7A;
  font-weight: 700;
  font-size: clamp(2rem, 1.5824rem + 1.12vw, 3.5rem);
  line-height: 1.05;
}
.p-categories__heading br {
  display: none;
}
.p-categories__heading span {
  color: #FFFFFF;
  font-size: 1.9rem;
}
.p-categories__heading.-bg-pink {
  background: #FF94B8;
}
.p-categories__body {
  padding: 6%;
  border-bottom: 1px solid #7A7A7A;
}
.p-categories__list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 2.2rem 6%;
}
.p-categories__item {
  width: 46%;
}

.p-collection {
  grid-gap: 2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-flow: dense;
}
.p-collection__media a {
  display: block;
  position: relative;
  text-align: center;
}
.p-collection__media img {
  width: 100%;
}
.p-collection__media .c-button {
  position: absolute;
  bottom: 7rem;
  left: 50%;
  margin-left: -7.5rem;
}
.p-collection.-media-left .p-collection__media {
  grid-row: 1/2;
  grid-column: 1/3;
}
.p-collection.-media-center .p-collection__media {
  grid-row: 1/2;
  grid-column: 1/3;
}

.p-contact-guide {
  max-width: 610px;
  margin: 0 auto;
}
.p-contact-guide__item {
  margin-bottom: 55px;
  padding: 35px 20px;
  border: 2px solid #010039;
  text-align: center;
}
.p-contact-guide__item.u-bg--yellow {
  border: 0;
}
.p-contact-guide__item-tel {
  -moz-column-gap: 10px;
  display: flex;
       column-gap: 10px;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 30px;
}
.p-contact-guide__item-tel::before {
  display: block;
  width: 3.5rem;
  height: 2.6rem;
  background-image: url(../images/icon_freedial.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
.p-contact-guide__item-time {
  margin-top: 1.5rem;
}
.p-contact-guide__item.-form {
  text-align: left;
}
.p-contact-guide__item-note {
  display: block;
  padding-left: 1.4em;
  font-size: 1.2rem;
}
.p-contact-guide__item-note.-emphasis {
  margin-top: 30px;
  color: #FF6699;
  text-indent: -1.4em;
}
.p-contact-guide__item-note.-emphasis::before {
  content: "※";
}
.p-contact-guide__item-button {
  display: block;
  max-width: 240px;
  margin: 35px auto 0;
  padding: 5px 0;
  border: 2px solid #010039;
  background-color: #00B852;
  text-align: center;
}

.p-contact .remark {
  margin-bottom: 30px;
  text-align: center;
}
.p-contact .required {
  color: #FF6699;
}
.p-contact table {
  width: 100%;
  max-width: 975px;
  margin: 0 auto;
  border-collapse: collapse;
}
.p-contact table th {
  display: block;
  padding: 10px 5px 10px 25px;
  border: 1px solid #090909;
  border-bottom: none;
  background-color: #00B852;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
}
.p-contact table td {
  display: block;
  padding: 10px 5px 10px 25px;
  border: 1px solid #090909;
  border-bottom: none;
}
.p-contact table tr:last-child td {
  border: 1px solid #090909;
}
.p-contact input, .p-contact textarea, .p-contact select {
  -webkit-appearance: none;
  max-width: 95%;
  padding: 6px;
  border: 1px solid #222222;
}
.p-contact select {
  -webkit-appearance: auto;
}
.p-contact input[type=submit] {
  -webkit-appearance: none;
  border-radius: 0;
}
.p-contact input[type=submit] + input {
  margin-left: 10px;
}
.p-contact .submit-wrap {
  padding-top: 55px;
  text-align: center;
}
.p-contact .submit-wrap input {
  padding: 10px 100px;
  border: 1px solid #090909;
  background-color: #00B852;
}
.p-contact .wd20per {
  width: 20%;
}

.p-drawer {
  display: none;
  z-index: 200;
  position: relative;
  height: 100%;
  max-height: calc(100vh - 200px);
  max-height: calc(100svh - 200px);
  overflow-y: auto;
}
.p-drawer::-webkit-scrollbar {
  display: none;
}
.p-drawer__close {
  display: none;
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 20px;
  height: 20px;
  border: none;
  background-color: transparent;
  cursor: pointer;
}
.p-drawer__search .c-search__form {
  -webkit-backdrop-filter: blur(0.75rem);
  display: block;
  border-radius: 0;
          backdrop-filter: blur(0.75rem);
  background: linear-gradient(0deg, hsla(0, 0%, 85%, 0.4), hsla(0, 0%, 85%, 0.4)), hsla(0, 0%, 100%, 0.6);
  background-blend-mode: lighten;
}
.p-drawer__search .c-search__form input {
  width: 100%;
  padding: 1.7rem 1.6rem;
}
.p-drawer__search .c-search__form input::-moz-placeholder {
  color: #060606;
}
.p-drawer__search .c-search__form input::placeholder {
  color: #060606;
}
.p-drawer__filter {
  background-color: #D9D9D9;
}
.p-drawer__nav {
  display: flex;
  flex-wrap: wrap;
  padding: 20px 20px 32px;
  gap: 24px 40px;
  background-color: #D9D9D9;
  color: #686868;
  font-weight: 700;
  font-size: 1.5rem;
}
.p-drawer__nav a {
  color: #686868;
  text-decoration: none;
}
.p-drawer__sns {
  padding: 32px 20px;
  background-color: #D9D9D9;
}
.p-drawer__sns h2 {
  color: #686868;
  font-size: 1.1rem;
}
.p-drawer__sns .p-sns__list {
  justify-content: flex-start;
  gap: 11px;
}
.p-drawer__newsletter {
  z-index: 2;
  position: relative;
  padding: 20px;
  background-color: #FE96B5;
}
.p-drawer__newsletter::before {
  z-index: -1;
  position: absolute;
  top: -25px;
  left: 0;
  width: 100%;
  height: 99px;
  background-image: url(../images/wave-pink.svg);
  background-size: 861px;
  background-repeat: repeat-x;
  content: "";
}
.p-drawer__newsletter-heading {
  padding: 0;
  color: #686868;
  font-size: 1.5rem;
}
.p-drawer__newsletter-text {
  font-size: 1.4rem;
  line-height: 1.25;
}
.p-drawer__newsletter-button {
  margin-top: 15px;
}

.p-event {
  padding: 3.3rem 0;
  background-color: rgba(54, 45, 45, 0.5);
  color: #FFFFFF;
  text-decoration: none;
}
.p-event__list {
  grid-gap: 20px 10px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 3rem;
}
.p-event__list li {
  text-align: center;
}
.p-event__list li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #FFFFFF;
  text-decoration: none;
}
.p-event__title {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}
.p-event__desc {
  font-size: 1.2rem;
}

.p-fall-edition {
  display: flex;
  position: relative;
  height: 476px;
  padding: 30px 0;
  background: linear-gradient(to bottom, #FFE702, #ECDB01 28%, #C1C1C3 75%);
  font-display: column;
}
.p-fall-edition__image {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 303px;
}
.p-fall-edition__image img {
  -o-object-fit: cover;
  -o-object-position: 28% bottom;
  width: 100%;
  height: 100%;
     object-fit: cover;
     object-position: 28% bottom;
}
.p-fall-edition__text {
  z-index: 1;
  position: relative;
  margin-top: auto;
  margin-bottom: 0;
}
.p-fall-edition__text .p-heading-wrapper {
  align-items: flex-start;
}
.p-fall-edition__heading {
  font-size: 4.4rem;
  line-height: 1.2;
  font-family: happyFont;
  letter-spacing: 0.025em;
  text-align: left;
}

.p-family-point__image {
  margin-top: 3rem;
}
.p-family-point__buttons {
  grid-gap: 12px 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.p-family-point__buttons .c-button {
  width: 100%;
}
.p-family-point__benefit-list {
  display: flex;
  flex-direction: column;
  max-width: 80%;
  margin-right: auto;
  margin-left: auto;
  gap: 10px;
  list-style-type: none;
  text-align: center;
}
.p-family-point__benefit-item {
  grid-gap: 10px;
  display: grid;
  grid-template-rows: auto auto 1fr;
  grid-template-columns: 1fr 1fr;
  flex: 1;
  place-content: center;
  place-items: center;
  width: 100%;
  max-width: 318px;
  margin-right: auto;
  margin-left: auto;
  padding: 3%;
}
.p-family-point__benefit-item.-bg-blue {
  background-color: #61BDE6;
}
.p-family-point__benefit-item.-bg-yellow {
  background-color: #FFDD00;
}
.p-family-point__benefit-item.-bg-pink {
  background-color: #F984AB;
}
.p-family-point__benefit-smile {
  justify-self: end;
  width: 34px;
}
.p-family-point__benefit-smile img {
  width: 100%;
}
.p-family-point__benefit-num {
  justify-self: start;
  font-weight: 700;
  font-size: 3.1rem;
}
.p-family-point__benefit-text {
  grid-column: 1/3;
  font-weight: 700;
  font-size: 1.8rem;
}
.p-family-point__benefit-image {
  grid-column: 1/3;
}
.p-family-point__stage {
  text-align: center;
}
.p-family-point__stage-body {
  display: inline-block;
  line-height: 2;
  text-align: left;
}
.p-family-point__stage-note {
  padding-left: 1em;
}
.p-family-point__stage-note::before {
  margin-left: -1em;
  content: "※";
}
.p-family-point__stage-rules div {
  display: grid;
  grid-template-columns: auto 1fr;
  padding-left: 1em;
}
.p-family-point__stage-rules dt {
  white-space: nowrap;
}
.p-family-point__stage-rules dt::after {
  content: "：";
}
.p-family-point__stage-procedure {
  margin-top: 40px;
  padding-left: 1em;
}
.p-family-point__stage-procedure h4 {
  line-height: 2;
}
.p-family-point__stage-procedure h4::before {
  margin-left: -1em;
  content: "・";
}
.p-family-point__stage-table {
  width: 100%;
  max-width: 995px;
  margin-right: auto;
  margin-left: auto;
  font-size: 1.6rem;
}
.p-family-point__stage-table.-pc {
  display: none;
  table-layout: fixed;
}
.p-family-point__stage-table.-pc th:first-child {
  background-color: #FCFBDF;
}
.p-family-point__stage-table.-pc th, .p-family-point__stage-table.-pc td {
  height: 68px;
  border: 1px solid #7A7A7A;
  text-align: center;
  vertical-align: middle;
}
.p-family-point__stage-table.-pc th > span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.p-family-point__stage-table.-pc tbody th {
  width: 5.75%;
}
.p-family-point__stage-table.-sp {
  table-layout: auto;
}
.p-family-point__stage-table.-sp thead th {
  height: 47px;
}
.p-family-point__stage-table.-sp thead th > span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.p-family-point__stage-table.-sp thead td {
  height: 40px;
  background-color: #BEE7F2;
}
.p-family-point__stage-table.-sp th, .p-family-point__stage-table.-sp td {
  height: 68px;
  border: 1px solid #7A7A7A;
  text-align: center;
  vertical-align: middle;
}
.p-family-point__stage-table.-sp tbody th {
  width: 45%;
}
.p-family-point__stage-table + .p-family-point__stage-table {
  margin-top: 2rem;
}
.p-family-point__caption {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 3em;
  margin-bottom: 1em;
  gap: 8px;
  font-weight: 700;
  font-size: 2rem;
}
.p-family-point__stageup-image {
  display: block;
  max-width: 957px;
  margin-right: auto;
  margin-left: auto;
}

.p-filter {
  display: flex;
  z-index: 99;
  flex-direction: column;
}
.p-filter__cat {
  padding: 0;
}
.p-filter__cat.-colaboration {
  order: 1;
}
.p-filter__heading {
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.6rem;
  border-bottom: 1px solid #7A7A7A;
  font-weight: 400;
  font-size: 1.7rem;
}
.p-filter__sub-heading {
  margin-bottom: 0.75em;
  font-weight: 700;
  font-size: 1.5rem;
}
.p-filter__sub-heading:not(:first-child) {
  margin-top: 2em;
}
.p-filter__list {
  grid-gap: 15px min(15px, 5%);
  display: grid;
}
.p-filter__list.-list {
  grid-gap: 20px 6px;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
}
.p-filter__list.-half {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}
.p-filter__list.-circle {
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  justify-content: center;
}
.p-filter__list.-full {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}
.p-filter__item a {
  font-weight: 700;
  font-size: 1.4rem;
  text-decoration: none;
}
.p-filter__item.-with-image > a {
  display: flex;
  align-items: center;
  gap: 6px;
  line-height: 1.2;
}
.p-filter__item.-with-image figure {
  width: 38px;
  margin: 0;
  border-width: 1px;
  border-color: #7A7A7A;
}
.p-filter__item.-with-image p {
  width: calc(100% - 38px);
  font-size: 1.4rem;
}
.p-filter__item.-bar > a {
  display: grid;
  place-content: center;
  width: 100%;
  height: 40px;
  border: 1px solid #7A7A7A;
  border-radius: 20px;
  background-color: #FFFFFF;
  transition: background-color 0.2s ease-in-out;
}
.p-filter__item.-circle {
  aspect-ratio: 1/1;
}
.p-filter__item.-circle > a {
  grid-gap: 4px;
  display: grid;
  place-content: center;
  place-items: center;
  width: 100%;
  height: 100%;
  border: 1px solid #7A7A7A;
  border-radius: 50%;
  background-color: #FFFFFF;
  font-size: 1rem;
  transition: background-color 0.2s ease-in-out;
}
.p-filter__item.-circle img {
  height: 42.59px;
}
.p-filter__item.-disc {
  padding-left: 1rem;
}
.p-filter__item.-disc > a {
  line-height: 1.2;
}
.p-filter__item.-disc > a::before {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 8px;
  border-radius: 6px;
  background-color: #060606;
  content: "";
}
.p-filter__item.-disc > a span {
  display: block;
  margin-left: 20px;
  font-size: 1.1rem;
}

.p-footer {
  display: grid;
  position: relative;
  min-height: 80px;
  background-color: #c1c1c1;
}
.p-footer__inner {
  display: grid;
  grid-template-rows: 1fr auto auto auto;
  min-height: 344px;
  padding: 20px max(15px, 5.8vw - 12.8px) 10px max(15px, 5.8vw - 12.8px);
}
.p-footer::before {
  z-index: -1;
  position: absolute;
  top: -25px;
  left: 0;
  width: 100%;
  height: 99px;
  background-image: url(../images/wave-gray.svg);
  background-size: 861px;
  background-repeat: repeat-x;
  content: "";
}
.p-footer__sns {
  text-align: left;
}
.p-footer__sns p {
  margin-bottom: 0.5em;
  letter-spacing: -0.2em;
}
.p-footer__nav {
  grid-gap: 3rem 4%;
  display: grid;
  padding: 6rem 0;
}
.p-footer__block {
  font-size: 1.2rem;
  line-height: 1.67;
}
.p-footer__heading {
  margin-bottom: 0.3em;
  font-weight: 700;
  font-size: 1.8rem;
}
.p-footer__bottom-nav {
  margin-bottom: 40px;
  font-size: 1.6rem;
}
.p-footer__bottom-nav a {
  text-decoration: none;
}
.p-footer__scroll-top {
  position: fixed;
  right: max(15px, 5.8vw - 12.8px);
  bottom: 20px;
}
.p-footer__copy {
  display: grid;
  place-content: center;
  font-size: 1.6rem;
  text-align: center;
}
.p-footer__inner .p-footer__copy {
  display: block;
  text-align: left;
}

.p-greetings__heading {
  grid-gap: 12px;
  display: grid;
  place-content: center;
  place-items: center;
}
.p-greetings__heading img {
  max-width: 60%;
}
.p-greetings__heading .c-heading {
  font-size: clamp(2.4rem, 2.01rem + 1.04vw, 3.8rem);
  letter-spacing: -0.013em;
}
.p-greetings__text {
  margin-top: 1rem;
  font-weight: 700;
  letter-spacing: -0.06em;
  text-align: center;
}
.p-greetings__images {
  grid-gap: 10px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
}
.p-greetings__image.-large {
  grid-row: span 2;
  grid-column: span 2;
}

.p-header * {
  min-width: unset;
  min-height: unset;
}
.p-header__inner {
  grid-gap: 4rem;
  display: grid;
  grid-template-rows: 55px;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.p-header__inner.is-search-active {
  grid-template-columns: auto 1fr;
}
.p-header__navbar {
  position: relative;
  height: 48px;
}
.p-header__menu {
  position: relative;
  align-items: center;
  margin: 1.5rem 1.6rem;
}
.p-header__menu.is-drawer-open {
  height: auto;
}
.p-header__menu.is-drawer-open .p-header__balloon {
  display: block;
}
.p-header__menu.is-drawer-open .p-drawer__close {
  display: block;
}
.p-header__menu .p-drawer {
  grid-column: 1/3;
}
.p-header__logo {
  display: grid;
  place-content: center;
  height: 4.8rem;
  border-radius: 2px;
  background-color: #D9D9D9;
}
.p-header__logo a {
  text-decoration: none;
}
.p-header__logo-mark {
  width: 26px;
  height: 24px;
}
.p-header__logo-type {
  display: none;
}
.p-header__nav {
  grid-gap: 4rem;
  display: none;
  align-items: center;
  height: 100%;
}
.p-header__nav img {
  max-width: unset;
}
.p-header__balloon {
  display: none;
  grid-column: 1/3;
  margin-top: -5px;
  padding-bottom: 12px;
  background-color: #D9D9D9;
  text-align: center;
}
.p-header__searchbar .c-search {
  display: none;
}
.p-header__searchbar a {
  position: absolute;
  top: 1.5rem;
  right: 3.2rem;
  line-height: 1;
}
.p-header__utility {
  display: none;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  height: 4.8rem;
  margin: 1.5rem 2rem;
  padding: 0 2rem;
  border-radius: 2px;
  background-color: #D9D9D9;
}
.p-header__utility li {
  display: flex;
  align-self: center;
  line-height: 1;
}
.p-header__utility li a {
  padding: 0.8rem;
}
.p-header__hamburger {
  position: absolute;
  top: 50%;
  left: 3.2rem;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
}
.p-header.-simple .p-header__logo {
  display: block;
  border-radius: 0;
  background-color: transparent;
}
.p-header.-simple .p-header__inner {
  grid-template-columns: unset;
  place-content: center;
}

.p-heading-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  text-align: center;
}

.p-mainvisual {
  margin-top: -78px;
}
.p-mainvisual__item {
  display: grid;
  position: relative;
  place-content: center;
  aspect-ratio: 377/380;
  width: 100%;
  overflow: hidden;
}
.p-mainvisual__item img, .p-mainvisual__item iframe {
  -o-object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
     object-fit: cover;
}
.p-mainvisual__item.-movie iframe {
  transform: scale(1.8);
  pointer-events: none;
}
.p-mainvisual .splide__arrows {
  display: flex;
  position: absolute;
  bottom: 20px;
  left: 50%;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
  transform: translateX(-50%);
}
.p-mainvisual .splide__arrow {
  position: static;
  transform: translateY(0);
  background-color: transparent;
}
.p-mainvisual .splide__arrow--prev img {
  transform: rotate(90deg);
}
.p-mainvisual .splide__arrow--next img {
  transform: rotate(-90deg);
}
.p-mainvisual .splide__pagination {
  position: static;
}
.p-mainvisual .splide__pagination__page {
  background-color: #C0BFCD;
  opacity: 1;
}
.p-mainvisual .splide__pagination__page.is-active {
  transform: scale(1);
  background-color: #42406B;
  opacity: 1;
}

.p-new-born {
  z-index: 1;
  position: relative;
  height: 628px;
  background-color: #C1C1C1;
}
.p-new-born::before {
  z-index: -1;
  position: absolute;
  top: -25px;
  left: 0;
  width: 100%;
  height: 99px;
  background-image: url(../images/wave-gray.svg);
  background-size: 861px;
  background-repeat: repeat-x;
  content: "";
}
.p-new-born__inner {
  display: grid;
  position: absolute;
  top: 50%;
  left: 50%;
  place-content: center;
  place-items: center;
  width: 100%;
  max-width: 960px;
  padding: 0 max(15px, 5.8vw - 12.8px);
  transform: translate(-50%, -50%);
}
.p-new-born__heading {
  place-self: normal;
  margin-bottom: 0.5em;
  font-weight: 800;
  font-size: 4.4rem;
  line-height: 1;
  font-family: happyFont;
}
.p-new-born__text {
  font-weight: 500;
  font-size: 1.5rem;
}
.p-new-born__image {
  width: 240px;
}

.p-newlook__mv {
  margin-top: -78px;
  margin-bottom: 100px;
  padding: 150px max(15px, 5.8vw - 12.8px) 80px;
  background-image: url(../images/mv-image.jpg);
  background-size: cover;
  background-color: #c1c1c1;
}
.p-newlook__mv-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.p-newlook__mv-image {
  align-self: center;
  width: 240px;
}
.p-newlook__mv-image .p-new-born__image {
  width: 100%;
}
.p-newlook__mv-body .p-new-born__heading {
  margin-bottom: 0.5em;
  font-size: 4.5rem;
}
.p-newlook__contents {
  max-width: calc(740px + 2 * max(15px, 5.8vw - 12.8px));
  margin-right: auto;
  margin-left: auto;
  padding-right: max(15px, 5.8vw - 12.8px);
  padding-left: max(15px, 5.8vw - 12.8px);
  text-align: center;
}
.p-newlook__contents p {
  max-width: 577px;
  margin-right: auto;
  margin-left: auto;
  font-size: 1.4rem;
  line-height: 2;
  text-align: left;
}
.p-newlook__compare {
  display: flex;
  margin: 40px 0;
}
.p-newlook__compare-image {
  display: flex;
  position: relative;
  flex: 1;
  flex-direction: column;
  align-items: center;
  padding: 10px 20px;
  gap: 30px;
}
.p-newlook__compare-image.-no-padding {
  padding: 10px 0;
}
.p-newlook__compare-image figcaption {
  margin-top: auto;
}
.p-newlook__compare-image:not(:first-child)::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  border-left: 1px dashed #707070;
  content: "";
}

.fs-l-productLayout {
  grid-gap: 20px;
  display: grid;
}
.p-product__details > * + * {
  margin-top: 20px;
}
.p-product__main {
  padding: 20px max(15px, 5.8vw - 12.8px);
  border-bottom: 1px solid #A5A3A3;
}
.p-product__price {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-top: 10px;
  padding-top: 24px;
  gap: 1rem;
}
.p-product__heading {
  padding-top: 0.75em;
  padding-bottom: 0.75em;
  border-top: 1px solid #A5A3A3;
  border-bottom: 1px solid #A5A3A3;
  font-weight: 700;
  font-size: 1.8rem;
}
.p-product__itemlist {
  padding: 0 max(15px, 5.8vw - 12.8px);
}
.p-product__description {
  margin-top: 20px;
  padding: 0 max(15px, 5.8vw - 12.8px);
}
.p-product__description .detail_table {
  width: 100%;
}
.p-product__description .detail_table tbody {
  border: 1px solid #A5A3A3;
}
.p-product__description .detail_table caption {
  margin-bottom: 0.5em;
  font-weight: 700;
  font-size: 2rem;
  text-align: left;
}
.p-product__description .detail_table th, .p-product__description .detail_table td {
  padding: 0.8rem 1rem;
  border: 1px solid #A5A3A3;
  font-weight: 700;
  line-height: 1.5;
}
.p-product__description .detail_table th {
  width: 114px;
  max-width: 32vw;
  background-color: #00B852;
  text-align: left;
}

.p-shop-info {
  padding: 6.6rem 0;
  background-image: url(../images/bg-shop-info.jpg);
  background-size: cover;
}
.p-shop-info > * > * + * {
  margin-top: 3rem;
}
.p-shop-info__list {
  grid-gap: 20px 10px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.p-shop-info__list li {
  border: 1px solid #060606;
  background: #FFFFFF;
  text-align: center;
}
.p-shop-info__list li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8%;
  text-decoration: none;
}
.p-shop-info__image {
  aspect-ratio: 75/46;
  width: 100%;
  margin-bottom: 10px;
}
.p-shop-info__image img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.p-shop-info__name {
  margin-bottom: auto;
  letter-spacing: -0.05em;
}
.p-shop-info__button {
  margin-top: 10px;
  padding: 0.75rem 2rem !important;
}

.p-shoplist {
  display: flex;
  flex-direction: column;
  gap: 35px;
}
.p-shoplist__item {
  border: 1px solid #060606;
}
.p-shoplist__info {
  padding: 24px;
  border-bottom: 1px solid #060606;
}
.p-shoplist__name {
  margin-top: 1em;
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1.27;
  letter-spacing: -0.05em;
}
.p-shoplist__name span {
  display: inline-block;
}
.p-shoplist__details {
  margin-top: 1em;
  letter-spacing: normal;
}
.p-shoplist__details p span {
  display: inline-block;
}
.p-shoplist__map {
  position: relative;
  aspect-ratio: 33/28;
}
.p-shoplist__map .c-button {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.p-shoplist__staff {
  border-top: 1px solid #060606;
}
.p-shoplist__staff-list {
  grid-gap: 26px;
  display: grid;
  padding: 24px;
}
.p-shoplist__heading {
  margin: 0;
  padding: 10px;
  border-bottom: 1px solid #060606;
  font-size: 2.5rem;
  text-align: center;
}

.p-sns__heading {
  margin-bottom: 1rem;
  font-size: 1.8rem;
}
.p-sns__list {
  display: flex;
  align-items: center;
  gap: 1.1rem;
}
.p-sns__list li {
  transition: transform 0.2s ease-in-out;
}

.p-starwars {
  padding: 32px max(15px, 5.8vw - 12.8px);
  background-image: url(../images/bg-starwars.jpg);
  background-position: center center;
  background-size: 1558px;
}
.p-starwars__heading {
  grid-gap: 12px;
  display: grid;
  place-content: center;
  place-items: center;
}
.p-starwars__heading img {
  max-width: 60%;
}
.p-starwars__images {
  grid-gap: 10px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
}
.p-starwars__image.-no1 {
  grid-column: 1/3;
}
.p-starwars__image.-no2 {
  grid-column: 1/3;
}
.p-starwars__image.-no3, .p-starwars__image.-no4 {
  grid-column: span 1;
}
.p-starwars__image.-no4 {
  grid-column: 2/3;
}
.p-starwars__image.-no5, .p-starwars__image.-no6, .p-starwars__image.-no7 {
  grid-column: 1/3;
}

.p-sustainability__mv {
  grid-gap: 32px 40px;
  display: grid;
  padding-top: 60px;
  padding-bottom: 60px;
}
.p-sustainability__mv-heading {
  max-width: 600px;
  font-weight: 700;
  font-size: 5rem;
  line-height: 1.1;
}
.p-sustainability__mv-heading span {
  display: block;
  margin-top: 1.5em;
  font-size: 1.8rem;
}
.p-sustainability__mv-body {
  max-width: 825px;
  font-size: 1.6rem;
  line-height: 1.78;
}
.p-sustainability__mv-body > * + * {
  margin-top: 1.5em;
}
.p-sustainability__mv-image {
  max-width: 700px;
  margin: auto;
}
.p-sustainability__division {
  display: block;
  width: 100%;
}
.p-sustainability__division img {
  width: 100%;
}
.p-sustainability__section {
  padding-top: 60px;
  padding-bottom: 60px;
}
.p-sustainability__section.-bg-blue {
  background-color: #AEDDEA;
}
.p-sustainability__section.-bg-green {
  background-color: #56B472;
  color: #FFFFFF;
}
.p-sustainability__section.-bg-yellow {
  background-color: #F9F050;
}
.p-sustainability__inner {
  max-width: calc(1000px + 2 * max(15px, 5.8vw - 12.8px));
  margin: auto;
  padding-right: max(15px, 5.8vw - 12.8px);
  padding-left: max(15px, 5.8vw - 12.8px);
}
.p-sustainability__container {
  grid-gap: 40px;
  display: grid;
  padding: 20px 0;
}
.p-sustainability__container.-goal {
  align-items: center;
  padding: 0;
}
.p-sustainability__container.-goal .p-sustainability__body p {
  font-size: 1.6rem;
}
.p-sustainability__container.-goal .p-sustainability__image {
  max-width: 500px;
  margin-right: auto;
  margin-left: auto;
}
.p-sustainability__body h2 {
  font-size: clamp(2rem, 2vw, 3.2rem);
  line-height: 1.2;
}
.p-sustainability__body p {
  font-size: 1.6rem;
  line-height: 1.88;
}
.p-sustainability__body sup {
  position: relative;
  top: -0.75em;
  font-size: 60%;
}
.p-sustainability__body .p-sustainability__note {
  padding-left: 1.2em;
  font-weight: 700;
  font-size: 1.3rem;
}
.p-sustainability__body .p-sustainability__note::before {
  display: inline-block;
  content: "※";
  text-indent: -1.2em;
}
.p-sustainability__body > * {
  margin-top: 1em;
}
.p-sustainability__image {
  margin: auto;
}
.p-sustainability__wash {
  text-align: center;
}
.p-sustainability__wash p {
  font-size: 1.6rem;
  line-height: 1.88;
  text-align: left;
}
.p-sustainability__wash h2 {
  font-size: 2rem;
  text-align: left;
}
.p-sustainability__wash ul {
  margin-left: 1.2em;
  list-style: disc;
}
.p-sustainability__wash ul li {
  margin: 0.5em 0;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: left;
}
.p-sustainability__wash-note {
  -moz-column-gap: 68px;
  display: grid;
       column-gap: 68px;
  max-width: 658px;
  margin: auto;
  margin-top: 60px;
}
.p-sustainability__people {
  text-align: center;
}
.p-sustainability__people .p-sustainability__body p {
  text-align: left;
}
.p-sustainability__people .p-sustainability__body h2 {
  position: relative;
  left: -0.3em;
  font-size: 2rem;
}
.p-sustainability__people .p-sustainability__body a {
  font-weight: 700;
  font-size: 1.6rem;
  text-decoration: underline;
}
.p-sustainability__people .p-sustainability__image {
  max-width: 700px;
}
.p-sustainability__people p {
  font-size: 1.6rem;
  line-height: 1.88;
  text-align: left;
}

.u-bg--pink {
  background-color: #F99ABA;
}
.u-bg--yellow {
  background-color: #FFDD00;
}
.u-bg--blue {
  background-color: #82B6FF;
}
.u-bg--green {
  background-color: #00B852;
}
.u-bg--purple {
  background-color: #D796DF;
}
.u-bg--gray {
  background-color: #eeeeee;
}

.u-color--pink {
  color: #FF6699;
}
.u-color--white {
  color: #ffffff;
}

.u-display--ib {
  display: inline-block;
}
.u-display--none {
  display: none;
}
.u-display--block {
  display: block;
}
.u-display--pc {
  display: none;
}

.u-font-size--em {
  font-size: 1.5em;
}

.u-mt-0 {
  margin-top: 0rem;
}

.u-mb-0 {
  margin-bottom: 0rem;
}

.u-mt-1 {
  margin-top: 1rem;
}

.u-mb-1 {
  margin-bottom: 1rem;
}

.u-mt-2 {
  margin-top: 2rem;
}

.u-mb-2 {
  margin-bottom: 2rem;
}

.u-mt-3 {
  margin-top: 3rem;
}

.u-mb-3 {
  margin-bottom: 3rem;
}

.u-mt-4 {
  margin-top: 4rem;
}

.u-mb-4 {
  margin-bottom: 4rem;
}

.u-mt-5 {
  margin-top: 5rem;
}

.u-mb-5 {
  margin-bottom: 5rem;
}

.u-mt-6 {
  margin-top: 6rem;
}

.u-mb-6 {
  margin-bottom: 6rem;
}

.u-mt-7 {
  margin-top: 7rem;
}

.u-mb-7 {
  margin-bottom: 7rem;
}

.u-mt-8 {
  margin-top: 8rem;
}

.u-mb-8 {
  margin-bottom: 8rem;
}

.u-mt-9 {
  margin-top: 9rem;
}

.u-mb-9 {
  margin-bottom: 9rem;
}

.u-mt-10 {
  margin-top: 10rem;
}

.u-mb-10 {
  margin-bottom: 10rem;
}

.u-text--center {
  text-align: center;
}

.fr2-productList {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.fr2-listItem {
  width: calc((100% - 2rem) / 2);
  text-align: center;
  word-break: break-all;
}
.fr2-listItem__link {
  text-decoration: none;
}
.fr2-listItem__imageContainer {
  margin-bottom: 0.8rem;
}
.fr2-listItem__productName {
  font-size: 1.3rem;
  line-height: 1.5;
}
.fr2-listItem__productPrice {
  display: flex;
  justify-content: center;
  font-size: 1.3rem;
}

.fr2-price__addon {
  display: none;
}

.orig_price {
  margin-right: 0.3rem;
  font-size: 1.1rem;
  text-decoration: line-through;
}
.orig_price[data-aux1=""] {
  display: none;
}

#ranking {
  counter-reset: number 0;
}
#ranking .fr2-listItem {
  position: relative;
}
#ranking .fr2-listItem::before {
  display: grid;
  position: absolute;
  top: -8px;
  left: 0;
  place-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #7A7A7A;
  background-color: #FF6699;
  content: counter(number);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.5rem;
  counter-increment: number 1;
}
#ranking .fr2-listItem:nth-child(n+4)::before {
  background-color: #FFDD00;
  color: #060606;
}

.fs-c-accountService__page:not(.fs-c-accountService__page--accountDelete) .fs-c-accountService__pageLink {
  border: 1px solid #7A7A7A;
  box-shadow: none;
  box-shadow: 0 0 2px #060606;
}
.fs-c-accountService__page:not(.fs-c-accountService__page--accountDelete) .fs-c-accountService__pageLink__label {
  color: #060606;
}
.fs-c-accountService__page:not(.fs-c-accountService__page--accountDelete) .fs-c-accountService__pageLink__label::before {
  color: #060606;
}
.fs-c-accountService__page:nth-child(5n+1):not(.fs-c-accountService__page--accountDelete) .fs-c-accountService__pageLink {
  border: none;
  border-radius: 0;
  background: #009E49;
  box-shadow: none;
}
.fs-c-accountService__page:nth-child(5n+2):not(.fs-c-accountService__page--accountDelete) .fs-c-accountService__pageLink {
  border: none;
  border-radius: 0;
  background: #40A5D6;
  box-shadow: none;
}
.fs-c-accountService__page:nth-child(5n+3):not(.fs-c-accountService__page--accountDelete) .fs-c-accountService__pageLink {
  border: none;
  border-radius: 0;
  background: #E6390F;
  box-shadow: none;
}
.fs-c-accountService__page:nth-child(5n+4):not(.fs-c-accountService__page--accountDelete) .fs-c-accountService__pageLink {
  border: none;
  border-radius: 0;
  background: #F198B6;
  box-shadow: none;
}
.fs-c-accountService__page:nth-child(5n+5):not(.fs-c-accountService__page--accountDelete) .fs-c-accountService__pageLink {
  border: none;
  border-radius: 0;
  background: #FFDD00;
  box-shadow: none;
}

.fs-c-aggregateRating {
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 3rem;
  padding: 1.5rem max(15px, 5.8vw - 12.8px);
  border-top: 1px solid #A5A3A3;
  border-bottom: 1px solid #A5A3A3;
}
.fs-c-aggregateRating__rating {
  flex: unset;
  flex-wrap: wrap;
}
.fs-c-aggregateRating__rating::before {
  flex: unset;
  margin-right: 2rem;
  font-size: 1.4rem;
}
.fs-c-aggregateRating__count {
  flex-grow: 0;
  margin-left: 0.9rem;
  font-size: 1.4rem;
}
.fs-c-aggregateRating__count::before {
  content: "(";
}
.fs-c-aggregateRating__count:after {
  content: "件)";
}

.fs-c-breadcrumb {
  margin: 10px auto 0;
  padding: 0 10px;
}

.fs-c-button--primary.fs-c-button--addToCart--variation {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  border-left: 1px solid #A5A3A3;
  font-size: 1.4rem;
  white-space: nowrap;
}
.fs-c-button--primary.fs-c-button--addToCart--variation::before {
  width: 20px;
  height: 20px;
  background: url(../images/cart.svg) no-repeat center center/contain;
  content: "";
}
.fs-c-button--inquiryAboutProduct {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: 0.75em;
  background: #FE96B5;
  color: #060606;
  font-size: 1.6rem;
}
.fs-c-button--inquiryAboutProduct:hover {
  text-decoration: none;
}
.fs-c-button--plain.fs-c-button--viewExtendedImage:hover {
  text-decoration: none;
}
.fs-c-button--plain.fs-c-button--viewAllReviews {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.fs-c-button--plain.fs-c-button--viewAllReviews::before {
  position: relative;
  top: 1px;
  width: 25.6px;
  height: 24px;
  background: url(../images/comment.svg) no-repeat center center/contain;
  content: "";
}

.fs-c-cartTable__headerCell, .fs-c-cartTable__dataCell {
  padding: 8px;
  border: 1px solid #7A7A7A;
}

.fs-c-cartTableContainer {
  padding: 0;
  border: none;
  border-radius: 0;
}

.fs-c-continueShopping {
  margin-bottom: 70px;
}

.fs-c-documentArticle__heading {
  margin-bottom: 25px;
  padding: 0;
  background: none;
  color: #060606;
  font-weight: bold;
  font-size: 1.9rem;
  text-align: left;
}

.fs-c-documentColumn__heading {
  margin-bottom: 25px;
  padding: 0;
  border: none;
  background: none;
  color: #878D89;
  font-weight: bold;
  font-size: 1.8rem;
  text-align: left;
}
.fs-c-productSelection .fs-c-dropdown__menu {
  padding: 8px 10px;
  border: 1px solid #A5A3A3;
  border-radius: 0;
  color: #060606;
}
.fs-c-productSelection .fs-c-dropdown::before {
  z-index: 2;
  position: absolute;
  top: 50%;
  right: 13px;
  width: 0;
  height: 0;
  transform: translateY(-50%);
  border-width: 10px 5.5px 0 5.5px;
  border-style: solid;
  border-color: #FFFFFF transparent transparent transparent;
  content: "";
}
.fs-c-productSelection .fs-c-dropdown::after {
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  width: 2em;
  height: 100%;
  padding: 0;
  border: none;
  border-radius: 0;
  background: #060606;
  content: "";
}

.fs-c-inputInformation .fs-c-inputInformation__field {
  padding: 32px 32px;
}

.fs-c-inquiryAboutProduct {
  padding: 0 max(15px, 5.8vw - 12.8px);
}

.fs-c-pagination__item.is-active {
  background-color: #eb5b93;
}

.fs-c-productMainImage {
  position: relative;
  border-bottom: 1px solid #A5A3A3;
}
.fs-c-productMainImage__expandButton {
  position: absolute;
  right: 0;
  bottom: -1px;
  padding: 0;
}
.fs-c-productMainImage__expandButton button {
  display: inline-grid;
  place-content: center;
  width: 37px;
  height: 37px;
  border: 1px solid #060606;
}
.fs-c-productThumbnail {
  grid-gap: 10px 8px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 20px max(15px, 5.8vw - 12.8px);
  border-bottom: 1px solid #A5A3A3;
}
.fs-c-productThumbnail__image {
  margin: 0;
}
.fs-c-productThumbnail__image .is-active > img {
  border: 2px solid #060606;
}
.fs-c-productNameHeading {
  margin-bottom: 0.5em;
  font-size: 2.4rem;
  line-height: 1.33333;
}
.fs-c-productNameHeading__copy {
  display: block;
  margin-bottom: 10px;
  font-size: 1.8rem;
}
.fs-c-productNumber {
  padding: 5px 20px;
  font-size: 1.4rem;
}
.fs-c-productNumber__number {
  font-weight: 400;
}
.fs-c-productNotice {
  margin-top: 14px;
}
.fs-c-productSalesPeriod {
  margin: 24px 0;
  padding: 13px 8px;
  border-color: #CCCBCB;
}
.fs-c-productPrices {
  -moz-column-gap: 24px;
  display: flex;
       column-gap: 24px;
  flex-wrap: wrap;
  align-items: center;
}
.fs-c-productPrices--productDetail .fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price {
  font-weight: 700;
  font-size: 2.5rem;
}
.fs-c-productPrices--productDetail .fs-c-productPrice--member .fs-c-productPrice__main__price {
  color: #F04040 !important;
}
.fs-c-productPrice {
  line-height: 1.7;
}
x .fs-c-productPrice__addon::before, x .fs-c-productPrice__addon::after {
  content: none;
}
.fs-c-productPrice--listed {
  position: absolute;
  top: 0;
}
.fs-c-productPrice:not(.fs-c-productPrice__addon--listed) .fs-c-productPrice__addon {
  margin-left: 4px;
  font-size: 1.4rem;
}
.fs-c-productPrice:not(.fs-c-productPrice__addon--listed) .fs-c-productPrice__addon::before, .fs-c-productPrice:not(.fs-c-productPrice__addon--listed) .fs-c-productPrice__addon::after {
  content: none;
}
.fs-c-productPointDisplay {
  position: relative;
  top: -6px;
  padding: 6px 20px;
  background-color: #060606;
  font-size: 1.4rem;
}
.fs-c-productPointDisplay__quantity {
  font-weight: 400;
}
.fs-c-productMark {
  margin-top: 10px;
}
.fs-c-productMark__mark {
  padding: 6px 20px;
  border-radius: 0;
  font-size: 1.2rem;
}
.fs-c-productSelection {
  padding: 0 max(15px, 5.8vw - 12.8px);
}
.fs-c-productSelection__name {
  margin-top: 1em;
  margin-bottom: 0.5em;
  padding: 0;
  background-color: transparent;
  font-weight: 700;
  font-size: 1.6rem;
}
.fs-c-productSelection__selection {
  padding: 0;
}
.fs-c-productOption {
  padding: 0 max(15px, 5.8vw - 12.8px);
}
.fs-c-productOption__name {
  padding: 12px 18px;
  font-weight: 400;
  font-size: 1.4rem;
}
.fs-c-productOption__label .fs-c-requiredMark {
  display: inline;
  width: auto;
  height: auto;
  text-indent: 0;
}
.fs-c-productOption__label .fs-c-requiredMark::before {
  display: none;
}
.fs-c-productOption__field {
  margin: 16px 0 12px;
}
.fs-c-productOption__comment {
  font-size: 1.4rem;
}
.fs-c-productReview__allReviews {
  justify-content: center;
  margin-bottom: 25px;
  padding: 0 max(15px, 5.8vw - 12.8px);
}
.fs-c-productReview__addReview {
  justify-content: center;
  padding: 0 max(15px, 5.8vw - 12.8px);
}

.fs-c-productList__controller {
  margin-top: 20px;
  margin-bottom: 20px;
}
.fs-c-productList__list {
  grid-gap: 32px 20px;
  grid-template-columns: repeat(2, 1fr);
}
.fs-c-productList__list__item {
  padding: 0;
  border-bottom: none;
}
.fs-c-productListItem__productName .fs-c-productName__copy {
  margin-bottom: 0.3em;
}
.fs-c-productListItem__prices {
  padding-right: 24px;
  font-size: 1.3rem;
}
.fs-c-productListItem__prices .fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price {
  font-weight: 700;
  font-size: 1.6rem;
}
.fs-c-productListItem__prices .fs-c-productPrice--member .fs-c-productPrice__main__price {
  color: #F04040 !important;
}
.fs-c-productListItem__prices .fs-c-productPrice:not(.fs-c-productPrice__addon--listed) .fs-c-productPrice__addon {
  font-size: 1.3rem;
}
.fs-c-productListItem .fs-c-productPrice--listed {
  position: static;
}
.fs-c-productListItem__control {
  padding: 0;
}
.fs-c-productListItem__control .fs-c-button--viewProductDetail {
  display: none;
}
.fs-c-productListItem__control .fs-c-button--addToWishList--icon,
.fs-c-productListItem__control .fs-c-button--removeFromWishList--icon {
  margin-top: -30px;
}

.fs-c-rating__value {
  margin-left: 1rem;
  color: #060606;
  font-size: 1.8rem;
}

.fs-c-requiredMark::before {
  margin-left: 0.2em;
  line-height: 1.5;
}

.fs-c-reviewRating {
  position: relative;
  top: -1px;
}
.fs-c-reviewStars[data-ratingCount] {
  position: relative;
  width: 103px;
  height: 17px;
}
.fs-c-reviewStars[data-ratingCount]::before {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/star-gray.svg) no-repeat left center;
  content: "";
}
.fs-c-reviewStars[data-ratingCount]::after {
  position: absolute;
  left: 0;
  height: 100%;
  background: url(../images/star-light.svg) no-repeat left center;
  content: "";
}
.fs-c-reviewStars[data-ratingCount="1.0"]::after {
  width: 20%;
}
.fs-c-reviewStars[data-ratingCount="2.0"]::after {
  width: 40%;
}
.fs-c-reviewStars[data-ratingCount="3.0"]::after {
  width: 60%;
}
.fs-c-reviewStars[data-ratingCount="4.0"]::after {
  width: 80%;
}
.fs-c-reviewStars[data-ratingCount="5.0"]::after {
  width: 100%;
}
.fs-c-reviewList__item {
  margin-bottom: 3rem;
  padding: 0 max(15px, 5.8vw - 12.8px);
  border-bottom: none;
}
.fs-c-reviewList__item:first-child {
  border-top: none;
}
.fs-c-reviewList__item__info {
  gap: 0.5rem;
}
.fs-c-reviewList__item__body {
  margin-bottom: 0;
  padding: 0;
  border: none;
}
.fs-c-reviewInfo__date {
  order: 3;
  margin: 0;
}
.fs-c-reviewInfo__date dt::after {
  content: none;
}
.fs-c-reviewInfo__reviewer {
  gap: 1rem;
}
.fs-c-reviewBody {
  white-space: pre-line;
}

.fs-c-reviewer__name {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.5;
}
.fs-c-reviewer__profile {
  font-size: 1.1rem;
}
.fs-c-reviewerStatus {
  display: block;
  min-width: 80px;
  height: 20px;
  margin: 0;
  padding: 0;
  background: #060606;
  font-size: 1.1rem;
  line-height: 20px;
  vertical-align: middle;
}

.fs-c-totalAndActions {
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
}

.fs-c-variationAndActions {
  padding: 0 max(15px, 5.8vw - 12.8px);
}
.fs-c-variationLabel {
  margin-bottom: 0.5em;
  font-size: 2rem;
}
.fs-c-variationList__item__image {
  display: grid;
  place-content: center;
  width: 60px;
  margin: 6px;
}
.fs-c-variationList__item__title {
  margin-top: 1.5rem;
  background-color: transparent;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: left;
}
.fs-c-variationList__item__body {
  margin-top: 4px;
  border: 1px solid #A5A3A3;
}
.fs-c-variationCart {
  padding: 0;
}
.fs-c-variationCart > li {
  grid-template-columns: auto 1fr auto max(132px, 35%);
  min-height: 65px;
}
.fs-c-variationCart > li + li {
  margin-top: 0;
  border-top: 1px solid #A5A3A3;
}
.fs-c-variationCart__variationName {
  grid-column: 2/3;
  padding: 6px;
}
.fs-c-variationCart__image img {
  width: 53px;
  height: 53px;
  margin: 6px;
}
.fs-c-variationCart__cartButton {
  display: flex;
  grid-column: 4/5;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.fs-c-variationCart__wishlist {
  margin: 0 5px;
}

.fs-l-footer {
  border-top: none;
  background-color: transparent;
}

.fs-l-header--min {
  border-bottom: 1px solid #7A7A7A;
}

.fs-l-pageMain .-mainContentsWrap {
  max-width: 960px;
  margin: 0 auto;
}

.fs-p-accountInfo {
  padding: 15px 15px;
  color: #010039;
}
.fs-p-accountInfo__accountName {
  margin-bottom: 10px;
}
.fs-p-accountInfo__body {
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
}
.fs-p-accountInfo__point__point__available__number {
  color: #E6390F;
}

.fs-p-heading--lv2 {
  margin-bottom: 2rem;
  padding: 1.5rem 0;
  border-top: 1px solid #A5A3A3;
  border-bottom: 1px solid #A5A3A3;
  color: #060606;
}

.fs-p-productDescription--short {
  margin-top: 16px;
}

.fs-p-productSearch__formSwitch {
  background-color: #fdfbd5;
}
.fs-p-productSearch__form {
  background-color: #fdfbd5;
}

.fs-p-snsArea {
  justify-content: center;
}

@media (min-width: 768px){
  .l-container.-no-pad-on-mobile {
    padding-right: max(15px, 5.8vw - 12.8px);
    padding-left: max(15px, 5.8vw - 12.8px);
  }
  .l-contents {
    margin: 64px 0;
  }
  .c-announcement-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 2rem;
  }
  .c-announcement-bar__note {
    display: block;
  }
  .c-banner-card__link {
    grid-gap: 1.6rem;
  }
  .c-banner-card__heading {
    font-size: min(1.9186046512vw, 3.3rem);
    line-height: 2;
  }
  .c-banner-card__heading span {
    font-size: 1.5rem;
  }
  .c-button.-push, .-push.c-staff__button {
    padding: 1.35rem 2.7rem;
  }
  .c-button.-push.-s, .-push.-s.c-staff__button {
    min-width: 11rem;
    min-height: 3.6rem;
    padding: 1rem 2.7rem;
    font-size: 1.1rem;
  }
  .c-button.-push.-s::after, .-push.-s.c-staff__button::after {
    border-width: 0.3rem;
  }
  .c-button.-push.-m, .-push.-m.c-staff__button {
    min-height: 4.7rem;
  }
  .c-button.-push.-l, .-push.-l.c-staff__button {
    padding: 0.5rem 1rem;
  }
  .c-button.-push.-xl, .-push.-xl.c-staff__button {
    font-size: 1.7rem;
  }
  .c-button.-push.-xxl, .-push.-xxl.c-staff__button {
    min-height: 7.8rem;
    font-size: 1.5rem;
  }
  .c-button.-action, .-action.c-staff__button {
    padding: 1em;
    font-size: 2.4rem;
  }
  .c-card__badges {
    top: unset;
    bottom: 0.5rem;
    gap: 0.4rem;
  }
  .c-card__title {
    font-size: 1.4rem;
  }
  .c-category__body {
    font-size: 1.7rem;
  }
  .c-heading {
    flex-direction: row;
    gap: 2.4rem;
    font-size: 3.3rem;
  }
  .c-heading.-line {
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 3rem;
    gap: 0;
  }
  .c-heading.-line::after {
    width: 288px;
  }
  .c-heading.-page, .c-heading.-product-list {
    margin-top: 35px;
    padding: 1.8em 0;
    gap: 0;
    font-size: 2.4rem;
  }
  .c-heading.-lv2 {
    font-size: 2.4rem;
  }
  .c-heading.-lv3 {
    font-size: 1.7rem;
  }
  .c-heading.-contact-section {
    margin-top: 30px;
    font-size: 1.9rem;
  }
  .c-input {
    font-size: 1.6rem;
  }
  .c-loading__list {
    grid-gap: 3vw;
  }
  .c-scroll-top-button {
    grid-gap: 6px;
    width: 70px;
    height: 70px;
    font-size: 1.4rem;
  }
  .c-scroll-top-button img {
    width: auto;
  }
  .c-staff {
    grid-template-columns: 37% 1fr;
  }
  .p-about__mv {
    padding: 198px 0 120px;
  }
  .p-about__mv-heading span {
    font-size: 2.4rem;
  }
  .p-about__section.-image-first .p-about__section-image {
    border: none;
    border-right: 1px solid #060606;
  }
  .p-banners {
    grid-gap: min(3vw, 4rem);
    grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
  }
  .p-brand-story {
    padding: 30px 0;
  }
  .p-brand-story__inner {
    grid-gap: min(2vw, 40px) min(4vw, 80px);
    grid-template-rows: 1fr auto auto auto 1fr;
    grid-template-columns: 1fr auto;
    place-items: unset;
    padding-right: max(15px, 5.8vw - 12.8px);
    padding-left: max(15px, 5.8vw - 12.8px);
  }
  .p-brand-story__heading {
    grid-row: 2/3;
    align-self: self-end;
    margin-top: 2rem;
  }
  .p-brand-story__image {
    grid-row: 1/6;
    grid-column: 2/3;
    align-self: center;
  }
  .p-brand-story__text {
    grid-row: 3/4;
  }
  .p-brand-story__button {
    grid-row: 4/5;
    align-self: self-start;
    justify-self: left;
    margin-bottom: 2rem;
  }
  .p-categories__row {
    display: grid;
    grid-template-columns: 25% 1fr;
  }
  .p-categories__row:last-child .p-categories__heading {
    border-bottom: none;
  }
  .p-categories__heading {
    display: block;
    padding: min(3vw, 4.2rem);
    border-right: 1px solid #7A7A7A;
  }
  .p-categories__heading br {
    display: block;
  }
  .p-categories__heading span {
    display: block;
    margin-top: 1.5rem;
    font-size: 1.9rem;
  }
  .p-categories__body {
    padding: 3vw 4vw;
  }
  .p-categories__list {
    gap: 4.8rem 5%;
  }
  .p-categories__item {
    width: 30%;
  }
  .p-collection {
    grid-gap: min(1.5vw, 2rem);
    grid-template-columns: repeat(4, 1fr);
  }
  .p-collection__media {
    padding: 7.5% 6.25%;
  }
  .p-collection.-media-left .p-collection__media {
    grid-row: 1/3;
    grid-column: 1/3;
  }
  .p-collection.-media-center .p-collection__media {
    grid-row: 1/3;
    grid-column: 2/4;
  }
  .p-contact-guide__item {
    padding: 48px;
  }
  .p-contact-guide__item-tel {
    font-size: 34px;
  }
  .p-contact-guide__item-tel::before {
    width: 44px;
    height: 30px;
  }
  .p-contact table th {
    display: table-cell;
    padding: 30px 5px 30px 25px;
  }
  .p-contact table td {
    display: table-cell;
    margin-top: 0px;
    padding: 30px 5px 30px 25px;
  }
  .p-contact table tr:last-child th {
    border: 1px solid #090909;
  }
  .p-event__list {
    grid-gap: 32px;
  }
  .p-event__title {
    font-size: 1.9rem;
    letter-spacing: -0.049em;
  }
  .p-event__desc {
    font-size: 1.4rem;
  }
  .p-fall-edition {
    height: 514px;
    padding: 60px 0;
  }
  .p-fall-edition__image {
    height: 402px;
  }
  .p-fall-edition__image img {
    -o-object-position: center bottom;
       object-position: center bottom;
  }
  .p-fall-edition__text .p-heading-wrapper {
    align-items: center;
  }
  .p-fall-edition__text .c-button {
    position: relative;
    top: 10px;
  }
  .p-fall-edition__heading {
    font-size: 6.4rem;
  }
  .p-family-point__image {
    margin-top: 5rem;
    margin-bottom: 3rem;
  }
  .p-family-point__benefit-list {
    flex-direction: row;
    justify-content: center;
    max-width: 1012px;
    gap: 3%;
  }
  .p-family-point__benefit-item {
    grid-gap: 5px;
    grid-template-rows: auto auto auto 1fr;
    grid-template-columns: unset;
    margin-right: unset;
    margin-left: unset;
  }
  .p-family-point__benefit-smile {
    justify-self: center;
    width: 36px;
  }
  .p-family-point__benefit-num {
    justify-self: center;
    font-size: 3.5rem;
  }
  .p-family-point__benefit-text {
    grid-column: 1/2;
    font-size: 2rem;
  }
  .p-family-point__benefit-image {
    grid-column: 1/2;
  }
  .p-family-point__stage-table.-pc {
    display: table;
  }
  .p-family-point__stage-table.-sp {
    display: none;
  }
  .p-family-point__caption {
    gap: 20px;
    font-size: 2.4rem;
  }
  .p-family-point__stageup-note {
    text-align: center;
  }
  .p-family-point__stageup-image {
    margin-bottom: 8rem;
  }
  .p-footer__nav {
    grid-template-columns: repeat(4, 1fr);
  }
  .p-footer__block {
    max-width: 264px;
  }
  .p-greetings__heading {
    grid-gap: 24px;
  }
  .p-greetings__heading img {
    max-width: 100%;
  }
  .p-greetings__images {
    grid-gap: 10px;
    grid-template-rows: repeat(3, 1fr);
    grid-template-columns: repeat(4, 1fr);
    grid-auto-flow: column;
  }
  .p-greetings__image.-right {
    grid-column: 4/5;
  }
  .p-heading-wrapper {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.5rem 3.2rem;
    text-align: left;
  }
  .p-mainvisual__item {
    aspect-ratio: 1560/696;
  }
  .p-mainvisual__item.-movie iframe {
    transform: scale(1.6) translateY(2%);
  }
  .p-mainvisual .splide__pagination__page {
    width: 10px;
    height: 10px;
    margin: 6px;
  }
  .p-new-born {
    height: 500px;
  }
  .p-new-born__inner {
    grid-gap: 20px;
    grid-template-columns: 60% 1fr;
    place-content: unset;
    place-items: start;
    align-items: center;
  }
  .p-new-born__heading {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 5.3rem;
  }
  .p-new-born__image {
    grid-row: 1/4;
    grid-column: 2/3;
    width: auto;
    margin-top: -22%;
    margin-bottom: -22%;
  }
  .p-newlook__mv {
    padding: 170px max(15px, 5.8vw - 12.8px);
  }
  .p-newlook__mv-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }
  .p-newlook__mv-image {
    align-self: unset;
    width: 30%;
  }
  .p-newlook__contents p {
    text-align: center;
  }
  .p-newlook__compare {
    margin: 80px 0;
  }
  .p-newlook__compare-image {
    padding: 10px 0;
    gap: 50px;
  }
  .fs-l-productLayout {
    grid-gap: 40px 5.7%;
    grid-template-rows: auto 1fr;
    grid-template-columns: 44% 1fr;
  }
  .p-product__images {
    grid-row: 1/2;
    grid-column: 1/2;
  }
  .p-product__details > * + * {
    margin-top: 40px;
  }
  .p-product__details {
    display: flex;
    grid-row: 1/3;
    grid-column: 2/3;
    flex-direction: column;
  }
  .p-product__details .fs-p-snsArea {
    order: 1;
  }
  .p-product__others {
    grid-column: 1/2;
  }
  .p-product__main {
    padding: 20px 0;
    border-top: 1px solid #A5A3A3;
  }
  .p-product__heading {
    font-size: 2.2rem;
  }
  .p-product__itemlist {
    padding: 0;
  }
  .p-product__description {
    margin-top: 40px;
    padding: 0;
  }
  .p-product__description .detail_table caption {
    font-size: 2.2rem;
  }
  .p-shop-info__list {
    grid-gap: 20px;
  }
  .p-shop-info__name {
    font-size: 1.9rem;
  }
  .p-shoplist__item {
    display: grid;
    grid-template-columns: 52% 1fr;
  }
  .p-shoplist__info {
    padding: 9%;
    border-right: 1px solid #060606;
    border-bottom: none;
  }
  .p-shoplist__name {
    font-size: 2.5rem;
  }
  .p-shoplist__map {
    aspect-ratio: unset;
  }
  .p-shoplist__map .c-button {
    right: 34px;
    bottom: 24px;
    left: auto;
    transform: translateX(0);
  }
  .p-shoplist__staff {
    display: grid;
    grid-template-columns: min(187px, 17.5vw) 1fr;
    grid-column: 1/3;
  }
  .p-shoplist__staff-list {
    grid-gap: 50px 40px;
    grid-template-columns: 1fr 1fr;
    padding: min(6%, 50px);
  }
  .p-shoplist__heading {
    padding: 32px;
    border-right: 1px solid #060606;
    border-bottom: none;
    text-align: left;
  }
  .p-starwars {
    padding: 80px max(15px, 5.8vw - 12.8px);
  }
  .p-starwars__heading {
    grid-gap: 24px;
  }
  .p-starwars__heading img {
    max-width: 100%;
  }
  .p-starwars__images {
    grid-gap: 10px;
    grid-template-rows: repeat(5, auto);
    grid-template-columns: repeat(4, 1fr);
    grid-auto-flow: column;
  }
  .p-starwars__image.-no2 {
    grid-row: 2/4;
  }
  .p-starwars__image.-no5, .p-starwars__image.-no6, .p-starwars__image.-no7 {
    grid-column: 3/5;
  }
  .p-starwars__image.-no5 {
    grid-row: 1/3;
  }
  .p-starwars__image.-no6 {
    grid-row: 3/4;
  }
  .p-starwars__image.-no7 {
    grid-row: 4/5;
  }
  .p-sustainability__container.-goal .p-sustainability__body p {
    margin-top: 0;
    font-size: 2rem;
  }
  .p-sustainability__wash p {
    text-align: center;
  }
  .p-sustainability__wash h2 {
    text-align: center;
  }
  .p-sustainability__wash ul li {
    margin: 0;
  }
  .p-sustainability__wash ul li + li {
    margin-top: 1em;
  }
  .p-sustainability__wash-note {
    grid-template-columns: 1fr 1fr;
  }
  .p-sustainability__people .p-sustainability__body a {
    font-size: 2rem;
  }
  .u-display--pc {
    display: block;
  }
  .u-display--sp {
    display: none;
  }
  .fr2-productList {
    gap: 6rem min(1.5vw, 2rem);
  }
  .fr2-listItem {
    width: calc((100% - min(1.5vw, 2rem) * 3) / 4);
  }
  .fr2-listItem__productName {
    font-size: 1.4rem;
  }
  #ranking .fr2-listItem::before {
    right: 0;
    left: unset;
    width: 46px;
    height: 46px;
    border-width: 1px;
    font-size: 2.3rem;
  }
  #ranking .fr2-listItem:nth-child(n+5) {
    width: calc((100% - min(1.5vw, 2rem) * 5) / 6);
  }
  #ranking .fr2-listItem:nth-child(n+5)::before {
    width: 35px;
    height: 35px;
    font-size: 2rem;
  }
  .fs-c-aggregateRating {
    justify-content: flex-start;
    padding: 1.5rem 0;
  }
  .fs-c-breadcrumb {
    max-width: 1493px;
    margin: 29px auto 0;
  }
  .fs-c-button--primary.fs-c-button--addToCart--variation {
    gap: 4px;
    font-size: 1.5rem;
  }
  .fs-c-button--primary.fs-c-button--addToCart--variation::before {
    width: 25px;
    height: 25px;
  }
  .fs-c-documentArticle__heading {
    margin-bottom: 22px;
  }
  .fs-c-documentColumn__heading {
    margin-bottom: 22px;
    font-size: 1.6rem;
  }
  .fs-c-productSelection .fs-c-dropdown {
    max-width: 379px;
  }
  .fs-c-inquiryAboutProduct {
    padding: 0;
  }
  .fs-c-productMainImage {
    border: 1px solid #A5A3A3;
  }
  .fs-c-productMainImage__expandButton {
    right: -1px;
    bottom: -37px;
  }
  .fs-c-productThumbnail {
    grid-gap: 25px 10px;
    padding: 7.5%;
    border-right: 1px solid #A5A3A3;
    border-left: 1px solid #A5A3A3;
  }
  .fs-c-productNameHeading {
    font-size: 3rem;
  }
  .fs-c-productSelection {
    padding: 0;
  }
  .fs-c-productOption {
    padding: 0;
  }
  .fs-c-productList__list {
    grid-gap: 6rem 2%;
    grid-template-columns: repeat(4, 1fr);
  }
  .fs-c-productListItem__prices {
    font-size: 1.4rem;
  }
  .fs-c-productListItem__prices .fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price {
    font-size: 2rem;
  }
  .fs-c-productListItem__prices .fs-c-productPrice:not(.fs-c-productPrice__addon--listed) .fs-c-productPrice__addon {
    font-size: 1.4rem;
  }
  .fs-c-productListItem__control .fs-c-button--addToWishList--icon,
  .fs-c-productListItem__control .fs-c-button--removeFromWishList--icon {
    margin-top: -36px;
  }
  .fs-c-reviewList__item {
    padding: 0;
  }
  .fs-c-reviewList__item__info {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
  }
  .fs-c-reviewInfo__reviewer {
    margin-right: 0.5rem;
  }
  .fs-c-variationAndActions {
    padding: 0;
  }
  .fs-c-variationLabel {
    font-size: 2.2rem;
  }
  .fs-c-variationList__item__title {
    font-size: 1.8rem;
  }
  .fs-c-variationCart > li {
    min-height: 72px;
  }
  .fs-c-variationCart__image img {
    width: 60px;
    height: 60px;
  }
  .fs-c-variationCart__wishlist {
    margin: 0 20px;
  }
  .fs-p-heading--lv2 {
    font-size: 2.2rem;
  }
  .fs-p-productDescription--short {
    margin-top: 16px;
  }
}

@media (min-width: 1000px){
  :root {
    --header-height: 60px;
  }
  .l-footer-group .c-button {
    margin-left: 20px;
  }
  .c-gnav__submenu-block {
    width: calc((100% - 12rem) / 4);
  }
  .c-scroll-top-button {
    right: 20px;
    bottom: 50px;
  }
  .p-about__mv-body {
    grid-template-columns: 1fr 1fr;
    padding: 4rem;
  }
  .p-about__mv-text {
    max-width: 535px;
    padding: 0;
  }
  .p-about__mv-text h2 {
    font-size: 3.2rem;
  }
  .p-about__mv-text p {
    font-size: 1.8rem;
  }
  .p-about__mv-image {
    width: auto;
    padding: 0;
  }
  .p-about__mv-image img {
    max-width: 300px;
  }
  .p-about__section {
    grid-template-columns: 1fr 1fr;
  }
  .p-about__section-image {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 31vw;
    border-top: none;
    border-left: 1px solid #060606;
  }
  .p-about__section-image img {
    -o-object-fit: cover;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
       object-fit: cover;
  }
  .p-about__section-body {
    display: flex;
    align-items: center;
    padding: 72px;
  }
  .p-banners {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-categories__item {
    width: 21.25%;
  }
  .p-event__list {
    grid-template-columns: repeat(4, 1fr);
  }
  .p-family-point__buttons {
    grid-gap: 12px;
    grid-template-columns: repeat(4, 1fr);
  }
  .p-footer__inner {
    grid-template-rows: 1fr auto auto;
    grid-template-columns: 1fr auto;
    min-height: 260px;
    padding: 30px 20px 10px 20px;
  }
  .p-footer__sns {
    grid-column: 1/3;
  }
  .p-footer__nav {
    grid-column: 1/3;
  }
  .p-footer__bottom-nav {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    gap: 40px;
  }
  .p-footer__scroll-top {
    right: 20px;
    bottom: 50px;
  }
  .p-footer__copy {
    margin-top: 0;
  }
  .p-header__inner {
    grid-template-rows: 58px;
    grid-template-columns: repeat(2, auto);
  }
  .p-header.-simple .p-header__inner {
    grid-template-rows: 104px;
    grid-template-columns: unset;
    place-content: center;
  }
  .p-header.-simple .p-header__logo {
    display: block;
  }
  .p-header.-simple .p-header__logo img {
    width: 31rem;
    height: 3.8rem;
  }
  .p-shop-info__list {
    grid-template-columns: repeat(auto-fit, calc((100% - 60px) / 4));
    justify-content: center;
  }
  .p-sustainability__mv {
    grid-template-columns: 1fr min(50%, 600px);
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .p-sustainability__mv-heading {
    align-self: self-end;
    font-size: 6.5rem;
  }
  .p-sustainability__mv-heading span {
    font-size: 2.4rem;
  }
  .p-sustainability__mv-body {
    grid-row: 2/3;
    grid-column: 1/2;
    align-self: self-start;
    font-size: 1.8rem;
  }
  .p-sustainability__mv-image {
    grid-row: 1/3;
    grid-column: 2/3;
    align-self: center;
    max-width: 500px;
  }
  .p-sustainability__container {
    grid-gap: 22px;
    grid-template-columns: 50% 1fr;
    padding: 40px;
  }
  .p-sustainability__container.-goal {
    grid-gap: 0;
  }
  .p-sustainability__container.-goal .p-sustainability__body, .p-sustainability__container.-goal .p-sustainability__image {
    padding: 20px 60px;
  }
  .p-sustainability__people .p-sustainability__body {
    max-width: 358px;
    margin-right: auto;
    margin-left: auto;
  }
  .p-sustainability__people .p-sustainability__image {
    max-width: 305px;
  }
  .p-sustainability__people p {
    text-align: center;
  }
}

@media (min-width: 1200px){
  .c-accordion dd {
    padding: 0;
  }
  .c-accordion.-sp dt {
    border-bottom: none;
  }
  .c-accordion.-sp dt::after {
    content: none;
  }
  .c-accordion.-sp dd {
    display: block;
    border-bottom: none;
  }
  .p-drawer {
    margin-right: -2rem;
    margin-left: -2rem;
  }
  .p-drawer__close {
    right: 1rem;
    left: unset;
    width: 32px;
    height: 32px;
  }
  .p-drawer__search {
    display: none;
  }
  .p-drawer__filter {
    background-color: transparent;
  }
  .p-drawer__nav {
    padding: 20px 48px 32px;
    gap: 24px 48px;
    background-color: transparent;
  }
  .p-drawer__sns {
    padding: 20px 48px 32px;
    background-color: transparent;
  }
  .p-drawer__newsletter {
    padding: 32px 48px;
  }
  .p-filter {
    -moz-column-count: 3;
    -moz-column-gap: 5.5%;
    display: block;
         column-gap: 5.5%;
    padding: 44px 48px;
         column-count: 3;
  }
  .p-filter__cat {
    -moz-column-break-inside: avoid;
    margin-bottom: 45px;
         break-inside: avoid;
  }
  .p-filter__heading {
    margin-bottom: 0.75em;
    padding: 0;
    color: #686868;
    font-weight: 700;
    font-size: 1.5rem;
  }
  .p-filter__list.-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-filter__list.-half {
    grid-template-columns: 1fr;
  }
  .p-filter__list.-circle {
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  }
  .p-filter__list.-full {
    grid-template-columns: 1fr;
  }
  .p-header__navbar {
    display: flex;
    align-items: flex-start;
    height: 78px;
  }
  .p-header__navbar.is-search-active .p-header__logo-type, .p-header__navbar.is-search-active .p-header__nav {
    display: none;
  }
  .p-header__navbar.is-search-active .p-header__menu {
    grid-template-columns: unset;
  }
  .p-header__navbar.is-search-active .p-header__searchbar {
    flex-grow: 1;
  }
  .p-header__menu {
    grid-gap: 0 50px;
    display: grid;
    grid-template-columns: auto 1fr;
    margin: 1.5rem 2rem;
    padding: 0 2rem;
    border-radius: 2px;
    background-color: #D9D9D9;
  }
  .p-header__menu.is-drawer-open {
    width: 1064px;
  }
  .p-header__logo {
    border-radius: 0;
    background-color: transparent;
  }
  .p-header__logo a {
    display: flex;
    place-content: unset;
    align-items: center;
    gap: 17px;
  }
  .p-header__logo-type {
    display: block;
    width: 15.723rem;
    height: 1.5rem;
  }
  .p-header__nav {
    display: flex;
  }
  .p-header__balloon {
    padding-bottom: 20px;
    text-align: left;
  }
  .p-header__searchbar {
    display: grid;
    grid-template-columns: 1fr 47px;
    align-items: center;
    height: 4.8rem;
    margin: 1.5rem 0 1.5rem 2rem;
    margin-left: auto;
    border-radius: 2px;
    background-color: #D9D9D9;
    transition: flex-grow 0.2s ease-in-out;
  }
  .p-header__searchbar .c-search {
    display: block;
  }
  .p-header__searchbar a {
    display: grid;
    position: static;
    place-content: center;
    height: 100%;
  }
  .p-header__utility {
    display: flex;
  }
  .p-header__hamburger {
    top: calc(100% - 0.5rem);
    width: 32px;
    height: 32px;
    transform: translateY(0);
  }
  .fs-c-breadcrumb__list {
    margin-left: 10px;
  }
}

@media (min-width: 1400px){
  :root {
    --header-height: 106px;
  }
  .c-gnav__submenu {
    top: 90px;
  }
  .c-gnav__submenu-block {
    width: calc((100% - 20rem) / 6);
  }
  .c-search__form input {
    width: 21.6rem;
  }
  .c-search__form input::-moz-placeholder {
    color: #060606;
  }
  .c-search__form input::placeholder {
    color: #060606;
  }
  .p-header__inner {
    grid-template-rows: 104px;
    grid-template-columns: 1fr auto 1fr;
  }
}

@media (min-width: 1910px){
  .p-about__section-inner {
    width: 800px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media (hover: hover){
  .c-banner-card__link:not(div):hover::before {
    opacity: 0.36;
  }
  .c-button.-push:hover, .-push.c-staff__button:hover {
    transform: translateY(0.2rem);
  }
  .c-button.-push:hover::after, .-push.c-staff__button:hover::after {
    bottom: 1px;
  }
  .c-button.-push.-close:hover, .-push.-close.c-staff__button:hover {
    transform: translateY(0.1rem);
  }
  .c-button.-push.-close:hover::after, .-push.-close.c-staff__button:hover::after {
    bottom: 0.1rem;
  }
  .c-button.-rounded.-hover-yellow:hover, .-rounded.-hover-yellow.c-staff__button:hover {
    background-color: #FCEE95;
  }
  .c-button.-blinking:hover, .-blinking.c-staff__button:hover {
    background-color: #BEBEBC;
  }
  .c-category__image img:hover {
    transform: scale(1.1);
  }
  .c-gnav > li > a:hover {
    position: relative;
    background-image: url(../images/wavyLine.svg);
    background-size: 8rem;
    background-repeat: repeat-x;
    background-position-y: bottom;
  }
  .p-about__section-body a:hover::after {
    transform: translateX(5px);
  }
  .p-filter__item a:hover {
    text-decoration: underline;
  }
  .p-filter__item.-bar > a:hover {
    border: none;
    background-color: #E0FF00;
    text-decoration: none;
  }
  .p-filter__item.-circle > a:hover {
    border: none;
    background-color: #E0FF00;
    text-decoration: none;
  }
  .p-filter__item.-disc > a:hover {
    text-decoration: none;
  }
  .p-filter__item.-disc > a:hover::before {
    background-color: #E0FF00;
  }
  .p-footer__bottom-nav a:hover {
    text-decoration: underline;
  }
  .p-shoplist__details p a:hover {
    text-decoration: underline;
  }
  .p-sns__list li:hover {
    transform: translateY(-2px);
  }
  .p-sustainability__people .p-sustainability__body a:hover {
    text-decoration: none;
  }
}.splide__container{box-sizing:border-box;position:relative}.splide__list{display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important;backface-visibility:hidden}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;-ms-flex-wrap:wrap;-ms-flex-pack:center;display:-ms-flexbox;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;margin:0;line-height:1;list-style-type:none;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{visibility:hidden;position:relative}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{-ms-flex-negative:0;box-sizing:border-box;position:relative;flex-shrink:0;margin:0;backface-visibility:hidden;list-style-type:none!important}.splide__slide img{vertical-align:bottom}.splide__spinner{contain:strict;display:inline-block;position:absolute;top:0;right:0;bottom:0;left:0;width:20px;height:20px;margin:auto;border:2px solid #999;border-radius:50%;border-left-color:transparent;animation:splide-loading 1s linear infinite}.splide__sr{clip:rect(0 0 0 0);position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{z-index:0;position:relative;overflow:hidden}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{z-index:0;margin:0!important;opacity:0}.splide__track--fade>.splide__list>.splide__slide.is-active{z-index:1;opacity:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;-ms-flex-pack:center;display:-ms-flexbox;display:flex;z-index:1;position:absolute;top:50%;align-items:center;justify-content:center;width:2em;height:2em;padding:0;transform:translateY(-50%);border:0;border-radius:50%;background:#ccc;cursor:pointer;opacity:.7}.splide__arrow svg{fill:#000;width:1.2em;height:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{z-index:1;position:absolute;right:0;bottom:.5em;left:0;padding:0 1em}.splide__pagination__page{display:inline-block;position:relative;width:8px;height:8px;margin:3px;padding:0;border:0;border-radius:50%;background:#ccc;opacity:.7;transition:transform .2s linear}.splide__pagination__page.is-active{z-index:1;transform:scale(1.4);background:#fff}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{height:3px;background:#ccc}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{right:1em;left:auto}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{right:auto;left:1em}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{top:auto;bottom:1em}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{-ms-flex-direction:column;display:-ms-flexbox;display:flex;top:0;right:.5em;bottom:0;left:auto;flex-direction:column;padding:1em 0}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}
.p-top-banner-wrap.wrapper img {
  margin:0 auto;
}
.p-top-banner-wrap.wrapper {
  text-align: center;
  padding-right: max(15px, 5.8vw - 12.8px);
  padding-left: max(15px, 5.8vw - 12.8px);
  margin-top: 6.6rem;
}
.p-top-banner-wrap.wrapper img.pc-only {
  display: none;
}
.p-top-banner-wrap.wrapper img.sp-only {
  display: inline;
}
@media (min-width: 768px){
  .p-top-banner-wrap.wrapper {
    text-align: center;
    padding-right: 0;
    padding-left: 0;
  }
  .p-top-banner-wrap.wrapper img.pc-only {
    display: inline;
  }
  .p-top-banner-wrap.wrapper img.sp-only {
    display: none;
  }

}