@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap");
html {
  scroll-behavior: smooth;
}

a {
  -webkit-transition: opacity ease-in-out 0.3s;
  display: block;
  transition: opacity ease-in-out 0.3s;
}
a:hover {
  opacity: 0.8;
}

:root {
  --base-width: 440;
  --radius-pill: 9999px;
}

.content-wrapper {
  --c-ratio: calc(100cqw / var(--base-width));
  --space-5: calc(5 * var(--c-ratio));
  --space-10: calc(10 * var(--c-ratio));
  --space-15: calc(15 * var(--c-ratio));
  --space-20: calc(20 * var(--c-ratio));
  --space-25: calc(25 * var(--c-ratio));
  --space-30: calc(30 * var(--c-ratio));
  --space-35: calc(35 * var(--c-ratio));
  --space-40: calc(40 * var(--c-ratio));
  --space-45: calc(45 * var(--c-ratio));
  --space-50: calc(50 * var(--c-ratio));
  --space-55: calc(55 * var(--c-ratio));
  --space-60: calc(60 * var(--c-ratio));
  --space-65: calc(65 * var(--c-ratio));
  --space-70: calc(70 * var(--c-ratio));
  --space-75: calc(75 * var(--c-ratio));
  --space-80: calc(80 * var(--c-ratio));
  --space-85: calc(85 * var(--c-ratio));
  --space-90: calc(90 * var(--c-ratio));
  --space-95: calc(95 * var(--c-ratio));
  --space-100: calc(100 * var(--c-ratio));
  --f-size-14: clamp(
    calc(14px * 0.75),
    calc(14 * var(--c-ratio)),
    calc(14px * 1.5)
  );
  --f-size-15: clamp(
    calc(15px * 0.75),
    calc(15 * var(--c-ratio)),
    calc(15px * 1.5)
  );
  --f-size-16: clamp(
    calc(16px * 0.75),
    calc(16 * var(--c-ratio)),
    calc(16px * 1.5)
  );
  --f-size-17: clamp(
    calc(17px * 0.75),
    calc(17 * var(--c-ratio)),
    calc(17px * 1.5)
  );
  --f-size-18: clamp(
    calc(18px * 0.75),
    calc(18 * var(--c-ratio)),
    calc(18px * 1.5)
  );
  --f-size-19: clamp(
    calc(19px * 0.75),
    calc(19 * var(--c-ratio)),
    calc(19px * 1.5)
  );
  --f-size-20: clamp(
    calc(20px * 0.75),
    calc(20 * var(--c-ratio)),
    calc(20px * 1.5)
  );
  --f-size-21: clamp(
    calc(21px * 0.75),
    calc(21 * var(--c-ratio)),
    calc(21px * 1.5)
  );
  --f-size-22: clamp(
    calc(22px * 0.75),
    calc(22 * var(--c-ratio)),
    calc(22px * 1.5)
  );
  --f-size-23: clamp(
    calc(23px * 0.75),
    calc(23 * var(--c-ratio)),
    calc(23px * 1.5)
  );
  --f-size-24: clamp(
    calc(24px * 0.75),
    calc(24 * var(--c-ratio)),
    calc(24px * 1.5)
  );
  --f-size-25: clamp(
    calc(25px * 0.75),
    calc(25 * var(--c-ratio)),
    calc(25px * 1.5)
  );
  --radius-8: calc(8 * var(--c-ratio));
  --radius-16: calc(16 * var(--c-ratio));
  --radius-18: calc(18 * var(--c-ratio));
  --radius-24: calc(24 * var(--c-ratio));
  --border-1: max(1px, calc(1 * var(--c-ratio)));
  --border-2: max(1px, calc(2 * var(--c-ratio)));
  --padding-inline-12: max(calc(12 * var(--c-ratio)), 10px);
  --padding-inline-14: max(calc(14 * var(--c-ratio)), 12px);
  --padding-inline-18: max(calc(18 * var(--c-ratio)), 15px);
}

img {
  width: 100%;
}

sup {
  top: -0.7em;
  font-size: 0.5em;
}

.main-content {
  -webkit-font-feature-settings: "palt";
  display: block;
  position: relative;
  width: 100%;
  min-height: 100vh;
  font-feature-settings: "palt";
  letter-spacing: 0.07em;
}
.main-content::before {
  z-index: -1;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background-attachment: fixed;
  background-image: url(../images/bg.png);
  background-position: top center;
  background-repeat: repeat;
  background-size: 1800px;
  content: "";
  pointer-events: none;
}

/*--- content ----*/
.content {
  z-index: 1;
  position: relative;
  overflow: hidden;
}
.content-wrapper {
  container-type: inline-size;
  margin-inline: auto;
  position: relative;
  width: calc(var(--base-width) * 1px);
}
.content-inner {
  margin-inline: auto;
  padding-inline: var(--padding-inline-12);
  width: 100%;
}

/*--- grid ----*/

/* --- heading --- */
.heading-lv2 {
  position: relative;
  text-align: center;
}
.heading-lv2::before, .heading-lv2::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #CF6460;
  background-size: auto 100%;
  content: "";
}
.heading-lv2::before {
  top: -14px;
}
.heading-lv2::after {
  bottom: -14px;
}
.heading-lv2-text {
  position: relative;
  color: #CF6460;
  font-size: 4.4rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.2727272727;
}

/* --- list --- */
.list-note > li {
  padding-left: 1.2em;
  text-indent: -0.55em;
}
.list-note > li > span:first-child {
  display: inline-block;
  margin-right: 0.2em;
}

/* --- bnr-box --- */
.bnr-box {
  background-color: #365A99;
}
.bnr-box-title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: end;
  padding: 7px 30px 7px 8px;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
}
.bnr-box-title::after {
  aspect-ratio: 1/1;
  position: absolute;
  right: 16px;
  width: 8px;
  rotate: 45deg;
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: #ffffff;
  content: "";
}

/* --- product-data --- */
.product-data-list-item {
  padding-bottom: 11.5px;
  border-bottom: 1px dotted #7B4A00;
}
.product-data-list-item:not(:first-child) {
  padding-top: 13px;
}
.product-data-list-item dt {
  color: #052666;
  font-size: 1.8rem;
  font-weight: bold;
}
.product-data-list-item dd {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

/** ============ バナーエリア　＋　オンラインメイクアドバイス　===========*/
.search {
  padding-inline: var(--padding-inline-12);
  margin-top: calc(33 * var(--c-ratio));
  padding-top: calc(46 * var(--c-ratio));
  padding-bottom: calc(53 * var(--c-ratio));
  background-color: #ffffff;
}
.content-inner .search {
  padding: 0;
}
.search-content {
  position: relative;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  overflow: hidden;
  border: calc(8 * var(--c-ratio)) solid #87BCE0;
  border-radius: calc(4 * var(--c-ratio));
  background: #FFFFFF;
}
.search-title {
  width: calc(328 * var(--c-ratio));
  margin: 0 auto;
}
.search-btn {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-transition: background 0.15s ease-in-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: calc(334 * var(--c-ratio));
  min-height: calc(72 * var(--c-ratio));
  margin: 52px auto 60px;
  margin-top: 32px;
  margin-bottom: 36px;
  padding: 4px 33px;
  border-radius: var(--radius-pill);
  background-color: #0073C0;
  color: #ffffff;
  font-size: var(--f-size-20);
  font-weight: bold;
  text-align: center;
  transition: background 0.15s ease-in-out;
}
.search-btn::before {
  aspect-ratio: 1/1;
  position: absolute;
  left: calc(20 * var(--c-ratio));
  width: calc(24 * var(--c-ratio));
  background: center/contain url(/topics/2026summer/images/icon-search.svg) no-repeat;
  content: "";
}
.search-btn::after {
  aspect-ratio: 11/16;
  position: absolute;
  right: calc(24 * var(--c-ratio));
  width: calc(12 * var(--c-ratio));
  background: center/contain url(/topics/2026summer/images/icon-arrow-1.svg) no-repeat;
  content: "";
}

/* --- side-visual --- */
.side-visual {
  --padding-width: 40px;
  display: grid;
  position: fixed;
  top: 0;
  left: 0;
  place-content: center;
  width: calc((100% - 1px * var(--base-width)) / 2);
  height: 100dvh;
  padding: var(--padding-width);
}
.side-visual img {
  aspect-ratio: 398/656;
  width: 100%;
  max-width: 460px;
  max-height: calc(100dvh - var(--padding-width) * 2);
}

/* --- side-navi --- */
.side-navi {
  --navi-width: 312;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  top: 0;
  right: 0;
  align-items: center;
  justify-content: center;
  width: calc((100% - 1px * var(--base-width)) / 2);
  height: 100dvh;
  padding: 40px;
}
.side-navi-button {
  display: none;
}
.side-navi-content {
  container-type: inline-size;
  container-name: side-navi-content;
  aspect-ratio: 312/611;
  display: grid;
  position: relative;
  grid-template-columns: 1fr;
  place-content: center;
  width: 100%;
  max-width: calc(1px * var(--navi-width));
  max-height: calc(100dvh - 80px);
  background-image: url(../images/sv-2.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.side-navi-content__list {
  --navi-ratio: calc(100cqw / var(--navi-width));
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  row-gap: calc(23 * var(--navi-ratio));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  justify-content: start;
  width: 100%;
}
.side-navi-content__list .-link-item {
  width: 100%;
}
.side-navi-content__list .-link-item a {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-transition: background-color 0.15s ease-in-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(41 * var(--navi-ratio));
  border-radius: 4px;
  background-color: #ffffff;
  color: #02489E;
  font-weight: 700;
  transition: background-color 0.15s ease-in-out;
}
.side-navi-content__list .-link-item a span {
  display: inline-block;
  height: 100%;
  margin-top: calc(4 * var(--navi-ratio));
  font-size: calc(20 * var(--navi-ratio));
  vertical-align: middle;
}
.side-navi-content__list .-link-item a span::before, .side-navi-content__list .-link-item a span::after {
  display: inline-block;
  width: calc(35 * var(--navi-ratio));
  height: 100%;
  margin-top: calc(-4 * var(--navi-ratio));
  background-repeat: no-repeat;
  background-size: auto 100%;
  content: "";
}
.side-navi-content__list .-link-item a span::before {
  background-image: url(../images/mark_cross-1.svg);
  background-position: left top;
}
.side-navi-content__list .-link-item a span::after {
  background-image: url(../images/mark_cross-2.svg);
  background-position: right top;
}
.side-navi.is-open .side-navi-content {
  display: block;
  opacity: 1;
}
@starting-style {
  .side-navi.is-open .side-navi-content {
    opacity: 0;
  }
}

body.nav-open {
  overflow: hidden;
}

/* --- present --- */
.is-pc-space {
  display: inline;
}

.triangle {
  padding-block: 0.7rem;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-top-right-radius: 1rem;
  border-top-left-radius: 1rem;
  background-color: #44BAAD;
  color: #fff;
  font-size: 1.3rem;
  line-height: 1;
  text-align: center;
}
.triangle::before, .triangle::after {
  translate: 0 -2px;
  display: inline-block;
  width: 20px;
  height: 8px;
  font-size: 9px;
  content: "▼";
}

.present {
  margin-top: var(--space-25);
  overflow: hidden;
  border-top-right-radius: var(--radius-pill);
  border-top-left-radius: var(--radius-pill);
  background: top/contain url(/topics/2026summer/images/present_bg.png) repeat-y;
}
.present::before {
  aspect-ratio: 474/290;
  display: block;
  z-index: -1;
  position: absolute;
  top: calc(8 * var(--c-ratio));
  left: calc((474 - var(--base-width)) / 2 * var(--c-ratio) * -1);
  width: calc(474 * var(--c-ratio));
  background: top/contain url(/topics/2026summer/images/contents_top_shadow.png) no-repeat;
  content: "";
}
.present-section {
  padding-inline: var(--padding-inline-12);
  z-index: 1;
  position: relative;
  padding-top: var(--space-45);
  padding-bottom: var(--space-40);
}
.present-section-heading {
  padding-block: 0 var(--space-30);
  width: 100%;
}
.present-section-heading-title {
  padding-bottom: var(--space-20);
}
.present-section-heading-copy {
  font-size: var(--f-size-18);
  line-height: 1.7777777778;
  text-align: center;
}
.present-about {
  position: relative;
}
.present-about-heading {
  margin-inline: auto;
  width: calc(316 * var(--c-ratio));
  padding-top: calc(53 * var(--c-ratio));
  padding-bottom: calc(13 * var(--c-ratio));
}
.present-about-heading img {
  display: block;
}
.present-about-kv__img {
  position: relative;
  padding-bottom: calc(32 * var(--c-ratio));
}
.present-about-kv__text {
  font-size: var(--f-size-17);
  line-height: 1.4705882353;
  text-align: center;
}
.present-grid {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  display: grid;
  position: relative;
  align-items: stretch;
}
.present-grid-col1 {
  padding-inline: min(120px, 10.9090909091vw);
  grid-template-columns: 1fr;
}
.present-grid-col2 {
  -webkit-column-gap: min(115px, 10.4545454545vw);
  -moz-column-gap: min(115px, 10.4545454545vw);
  grid-template-columns: repeat(2, 1fr);
  column-gap: min(115px, 10.4545454545vw);
}
.present-grid-col2::after {
  -webkit-transform: translateX(-50%);
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: min(44px, 4vw);
  height: 100%;
  transform: translateX(-50%);
  background-image: url(../images/present_separator.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
  pointer-events: none;
}
.present-grid-col3 {
  -webkit-column-gap: min(50px, 4.1666666667vw);
  -moz-column-gap: min(50px, 4.1666666667vw);
  grid-template-columns: 29.8181818182% 32.3636363636% auto;
  column-gap: min(50px, 4.1666666667vw);
}
.present-grid-col3::before, .present-grid-col3::after {
  -webkit-transform: translateX(-50%);
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  width: min(44px, 4vw);
  height: 92%;
  transform: translateX(-50%);
  background-image: url(../images/present_separator.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
  pointer-events: none;
}
.present-grid-col3::before {
  left: 31.1%;
}
.present-grid-col3::after {
  left: 68.1%;
}
.present-grid .is-sp {
  display: none !important;
}
.present-grid .is-pc {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
.present-detail {
  margin-inline: auto;
  position: relative;
  width: 100%;
}
.present-detail + .present-detail::before {
  margin-block: var(--space-40) var(--space-30);
  display: block;
  width: 100%;
  height: 1px;
  background-color: #052666;
  content: "";
  opacity: 0.4;
}
.present-detail-section {
  position: relative;
  padding: var(--space-20) var(--padding-inline-14);
  border-radius: var(--radius-18);
  background-color: #fff;
}
.present-detail-section + .present-detail-section {
  margin-top: var(--space-25);
}
.present-detail-title {
  -webkit-box-align: start;
  -ms-flex-align: start;
  gap: var(--space-15);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 3;
  position: relative;
  align-items: start;
  width: 100%;
}
.present-detail-title.-valign-c {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.present-detail-title-main {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}
.present-detail-title__point {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: calc(75 * var(--c-ratio));
}
.present-detail-title__text {
  position: relative;
  margin-top: 0;
  color: #052666;
  font-size: var(--f-size-22);
  font-weight: bold;
  line-height: 1.5;
}
.present-detail-title__text .tk {
  display: block;
  position: absolute;
  top: -10px;
  left: 0;
  font-size: 10px;
}
.present-detail-img {
  display: block;
  margin: var(--space-15) auto var(--space-10);
}
.present-detail .present-detail-img:nth-of-type(n+2) {
  margin-top: calc(22 * var(--c-ratio));
}
.present-detail .present-detail-img ~ .present-detail-img:last-child {
  margin-bottom: 0;
}
.present-detail-text {
  font-size: var(--f-size-16);
  line-height: 1.5;
}
.present-detail-text p + p {
  margin-top: 1em;
}
.-present-03 .present-detail .present-detail-img:nth-of-type(2) {
  margin-top: var(--space-35);
}
.present-note {
  margin-top: var(--space-20);
}
.present-note > .list-note > li {
  font-size: var(--f-size-15);
  line-height: 1.5;
}

/* --- product --- */
.product {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.product-festival-title {
  margin-bottom: 32px;
  padding-right: 6%;
  padding-left: 6%;
}
.product-main {
  padding-top: calc(42 * var(--c-ratio));
  padding-bottom: 10px;
}
.product-bottom {
  margin-top: 12px;
}
.product-heading {
  margin-bottom: var(--space-15);
}
.product-list-note {
  font-size: var(--f-size-15);
  line-height: 1.5;
}
.product-list-note li:nth-of-type(1) span {
  color: #0068B7;
}

/* --- product-detail --- */
.product-detail {
  z-index: 1;
  position: relative;
}
.product-detail:not(:last-child) {
  margin-bottom: calc(65 * var(--c-ratio));
}
.product-detail-body {
  position: relative;
}
.product-detail-heading {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: nowrap;
  gap: var(--space-10);
  padding-inline: calc(16 * var(--c-ratio)) calc(12 * var(--c-ratio));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  height: calc(92 * var(--c-ratio));
  color: #ffffff;
  font-size: var(--f-size-25);
  font-weight: bold;
  line-height: 1.2;
  text-align: left;
}
.-type01 .product-detail-heading {
  background: #0091D6;
}
.-color-p .product-detail-heading {
  background: #6E54A0;
}
.-type02 .product-detail-heading {
  background: #6E54A0;
}
.-type02 .product-detail-heading.-line-1 {
  height: calc(80 * var(--c-ratio));
}
.-type03 .product-detail-heading {
  background: #052666;
}
.product-detail-heading .product-detail-heading-note {
  font-size: 16px;
}
.product-detail-box .product-detail-heading {
  width: 100%;
  min-height: 55px;
  margin: 0 !important;
  padding: 16px 10px 16px;
  font-size: 2.4rem;
}
.product-detail-box.-type03 .product-detail-heading {
  padding: 6px 10px 2px;
}
.product-detail-heading > span {
  position: relative;
  text-align: center;
}
.product-detail-heading ruby {
  letter-spacing: 0.06em;
}
.product-detail-heading rt {
  font-size: 1rem;
  letter-spacing: 0em;
}
.product-detail-heading-sub {
  font-size: 1.6rem;
  font-weight: normal;
}
.product-detail-heading-left {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  text-align: left !important;
}
.product-detail-heading-right {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: calc(143 * var(--c-ratio));
}
.product-detail-heading-term {
  -ms-flex-negative: 0;
  display: block;
  flex-shrink: 0;
  width: 100%;
  padding: calc(3 * var(--c-ratio)) calc(7 * var(--c-ratio)) calc(5 * var(--c-ratio));
  border-radius: var(--radius-pill);
  background-color: #ffffff;
  font-size: var(--f-size-19);
  line-height: 1.2;
  text-align: center;
}
.product-detail-heading-term .text-marker {
  display: inline-block !important;
  z-index: 1;
  position: relative;
  margin-top: calc(-2 * var(--c-ratio));
  padding: 0 calc(3 * var(--c-ratio)) calc(3 * var(--c-ratio));
}
.product-detail-heading-term .text-marker::before {
  display: block;
  z-index: -1;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(8 * var(--c-ratio));
  background-color: #FFD700;
  content: "";
}
.-type01 .product-detail-heading-term {
  color: #0091D6;
}
.-type02 .product-detail-heading-term {
  color: #6E54A0;
}
.product-detail-box .product-detail-heading-term {
  font-size: 2.4rem;
}
.-sub .product-detail-heading {
  height: calc(75 * var(--c-ratio));
  font-size: var(--f-size-20);
}
.-sub.-kenko .product-detail-heading {
  margin-top: var(--space-40);
}
.-layout-3 .product-detail-heading {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  height: calc(65 * var(--c-ratio));
}
.-layout-3.-pickup-3 .product-detail-heading > span {
  margin-bottom: calc(-13 * var(--c-ratio));
}
.-layout-3.-pickup-3 .product-detail-heading .-ruby-30 {
  display: block;
  position: absolute;
  top: calc(-16 * var(--c-ratio));
  right: calc(-20 * var(--c-ratio));
  font-size: 0.65em;
}
.-makeup-base .product-detail-heading {
  height: calc(72 * var(--c-ratio));
}
.product-detail-body {
  padding-inline: var(--padding-inline-14);
  padding-top: calc(36 * var(--c-ratio));
  padding-bottom: var(--space-40);
}
.-type01 .product-detail-body {
  padding-inline: var(--padding-inline-14);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: var(--space-35);
  padding-bottom: var(--space-35);
  background-color: #EAFAFF;
}
.-type01 .product-detail-body + .product-detail-body {
  margin-top: var(--space-20);
}
.-type02 .product-detail-body {
  padding-top: calc(24 * var(--c-ratio));
  padding-bottom: calc(33 * var(--c-ratio));
  background-color: #fff;
}
.-sub .product-detail-body {
  padding-inline: var(--padding-inline-18);
  padding-top: calc(17 * var(--c-ratio));
  padding-bottom: calc(23 * var(--c-ratio));
  background-color: #fff;
}
.-sub.-fairlucent .product-detail-body {
  padding: 0;
}
.-sub.-layout-3 .product-detail-body {
  padding-top: calc(19 * var(--c-ratio));
  padding-bottom: calc(30 * var(--c-ratio));
}
.-sub.-layout-3.-pickup-1 .product-detail-body, .-sub.-layout-3.-pickup-2 .product-detail-body, .-sub.-layout-3.-pickup-3 .product-detail-body {
  padding-bottom: calc(23 * var(--c-ratio));
}
.-summer-make .product-detail-body {
  padding-bottom: 48px;
}
.-summer-recommend .product-detail-body {
  padding-bottom: 46px;
}
.product-detail-balloon, .product-detail-otoku, .product-detail-eligible-products {
  margin-right: auto;
  margin-bottom: 18px;
  margin-left: auto;
}
.-type01 .product-detail-balloon, .-type01 .product-detail-otoku, .-type01 .product-detail-eligible-products {
  width: 56.75%;
  width: 100%;
  max-width: 282px;
}
.-type02 .product-detail-balloon, .-type02 .product-detail-otoku, .-type02 .product-detail-eligible-products {
  width: 100%;
  margin-bottom: 5px;
}
.-autumn-make .product-detail-balloon, .-autumn-make .product-detail-otoku, .-autumn-make .product-detail-eligible-products {
  margin-bottom: 20px;
}
.product-detail-eligible-products {
  max-width: 100%;
  text-align: center;
}
.product-detail-section {
  margin: 0;
  padding: 0;
}
.product-detail-section.-sub + .product-detail-section.-sub {
  margin-top: calc(21 * var(--c-ratio));
}
.product-detail-pickup .product-detail-section.-sub.-layout-3 + .product-detail-section.-sub.-layout-3 {
  margin-top: calc(16 * var(--c-ratio));
}
.product-detail-container {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  flex-direction: column;
}
.product-detail-item {
  margin: 0;
  padding: 0;
}
.product-detail-item + .product-detail-item::before {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: calc(8 * var(--c-ratio));
  margin-bottom: calc(19 * var(--c-ratio));
  background-image: repeating-linear-gradient(to right, #052666 0 1px, transparent 1px 4px);
  content: "";
}
.product-detail-item + .product-detail-item.-yugu-4::before {
  margin-top: calc(19 * var(--c-ratio));
}
.product-detail-item-title {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
  gap: calc(17 * var(--c-ratio));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
  margin-top: 0px;
}
.product-detail-item-title__point {
  display: block;
  width: calc(75 * var(--c-ratio));
}
.product-detail-item-title__title {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
  gap: calc(5 * var(--c-ratio));
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex: 1 0 auto;
  align-items: center;
  justify-content: space-between;
}
.product-detail-item-title__set {
  display: block;
  width: calc(44 * var(--c-ratio));
}
.product-detail-item-title__text {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  display: block;
  position: relative;
  flex: 1 0 auto;
  font-size: var(--f-size-21);
  font-weight: 700;
  line-height: 1.2857142857;
}
.product-detail-item-info {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
  margin-top: calc(7 * var(--c-ratio));
}
.product-detail-item-info__img {
  width: calc(188 * var(--c-ratio));
}
.-yugu-1 .product-detail-item-info__img {
  width: calc(201 * var(--c-ratio));
}
.product-detail-item-info__text {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(215 * var(--c-ratio));
  font-size: var(--f-size-15);
  letter-spacing: -0.01em;
  line-height: 1.4;
}
.product-detail-item-info__text p + p {
  margin-top: 0.9em;
}
.-yugu-1 .product-detail-item-info__text {
  top: calc(12 * var(--c-ratio));
}
.-yugu-2 .product-detail-item-info__text {
  top: calc(26 * var(--c-ratio));
}
.-yugu-3 .product-detail-item-info__text {
  top: calc(41 * var(--c-ratio));
}
.-yugu-4 .product-detail-item-info__text {
  top: calc(34 * var(--c-ratio));
}
.-yugu-5 .product-detail-item-info__text {
  top: calc(30 * var(--c-ratio));
}
.product-detail-item-info__term {
  padding-block: calc(2 * var(--c-ratio));
  display: grid;
  place-content: center;
  width: calc(141 * var(--c-ratio));
  min-height: calc(31 * var(--c-ratio));
  background-color: #999999;
}
.product-detail-item-info__term span {
  color: #ffffff;
  font-size: var(--f-size-17);
  font-weight: bold;
  line-height: 1.5882352941;
}
.-layout-2 .product-detail-item {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
.-layout-2 .product-detail-item .-fbox-l {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc(76 * var(--c-ratio));
  flex: 0 0 calc(76 * var(--c-ratio));
}
.-layout-2 .product-detail-item .-fbox-r {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}
.-layout-2 .product-detail-item .-fbox-r .product-detail-item-info {
  margin-top: 0;
}
.-layout-2 .product-detail-item .product-detail-item-info__text + .product-detail-item-title {
  margin-top: calc(17 * var(--c-ratio));
}
.-layout-2 .product-detail-item .product-detail-item-title__point {
  width: calc(64 * var(--c-ratio));
}
.-layout-2 .product-detail-item .product-detail-item-info__img {
  width: calc(276 * var(--c-ratio));
}
.-layout-2 .product-detail-item .product-detail-item-title__text {
  color: #052666;
  font-size: var(--f-size-19);
  letter-spacing: 0.02em;
  line-height: 1.6842105263;
}
.-layout-2 .product-detail-item .product-detail-item-info__text {
  position: static;
  top: unset;
  right: unset;
  width: 100%;
  margin-top: calc(19 * var(--c-ratio));
  font-size: var(--f-size-16);
  line-height: 1.5;
}
.-layout-2 .product-detail-item .product-detail-item-info__text.-margin-low {
  margin-top: calc(3 * var(--c-ratio));
}
.-layout-3 .product-detail-item {
  position: relative;
}
.-layout-3 .product-detail-item .-absbox {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.-layout-3 .product-detail-item .product-detail-item-info {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.-layout-3 .product-detail-item .product-detail-item-info .product-detail-item-info__term {
  background-color: #6E54A0;
}
.-layout-3 .product-detail-item .product-detail-item-info .product-detail-item-info__img {
  width: 100%;
}
.-layout-3 .product-detail-item .product-detail-item-info .product-detail-item-info__text {
  position: static;
  top: unset;
  right: unset;
  width: 100%;
  margin-top: calc(8 * var(--c-ratio));
  text-align: center;
}
.-layout-3 .product-detail-item .product-detail-item-info .product-detail-item-title {
  display: block;
  margin-top: calc(-10 * var(--c-ratio));
}
.-layout-3 .product-detail-item .product-detail-item-info .product-detail-item-title__text {
  font-size: var(--f-size-19);
}
.-layout-3.-pickup-2 .product-detail-item .product-detail-item-title {
  margin-top: calc(15 * var(--c-ratio));
}
.-layout-3.-pickup-2 .product-detail-item .product-detail-item-title .-ruby-tk {
  display: block;
  position: absolute;
  top: calc(-13 * var(--c-ratio));
  left: calc(-11 * var(--c-ratio));
  font-size: 0.6666em;
}
.-layout-3.-pickup-2 .product-detail-item .product-detail-item-info__term {
  position: relative;
}
.-layout-3.-pickup-2 .product-detail-item .product-detail-item-info__term::after {
  display: block;
  position: absolute;
  top: 0;
  right: calc(-28 * var(--c-ratio));
  width: calc(30 * var(--c-ratio));
  height: 100%;
  background-color: #6E54A0;
  content: "";
}
.-layout-3.-pickup-3 .product-detail-item .product-detail-item-title {
  margin-top: 0;
}
.product-detail-pickup {
  padding-inline: var(--padding-inline-14);
  padding-block: calc(27 * var(--c-ratio));
  background-color: #DBD5EA;
}
.product-detail-pickup .product-detail-body {
  padding-bottom: calc(23 * var(--c-ratio));
}
.product-detail-pickup .-mark-7days {
  position: absolute;
  top: calc(-18 * var(--c-ratio));
  right: 0;
  width: calc(141 * var(--c-ratio));
}
.product-detail-note {
  margin-top: 3px;
  margin-left: 0;
  font-size: 12px;
}
.product-detail-new {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  width: 100%;
  column-gap: 1.5rem;
}
.product-detail-new p {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  color: #F48395;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.2;
}
.product-detail-new .line-pink-dots {
  margin-block: 0;
}
.product-detail-banner-tk {
  margin-inline: auto;
  width: 100%;
  max-width: 740px;
  margin-top: 3.6rem;
}
.product-detail-banner-tk__banner {
  -webkit-box-shadow: 6px 6px 10px rgba(0, 0, 0, 0.1529411765);
  box-shadow: 6px 6px 10px rgba(0, 0, 0, 0.1529411765);
}
.product-detail-box {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}
.product-detail-box.-present {
  max-width: 760px;
  margin-top: 40px;
  margin-right: auto;
  margin-left: auto;
}
.product-detail-box-title {
  position: relative;
  padding: 10px;
  color: #ffffff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
}
.-type02 .product-detail-box-title {
  background: -webkit-gradient(linear, left top, right top, from(#052666), to(#0068B7));
  background: linear-gradient(to right, #052666, #0068B7);
}
.-present .product-detail-box-title {
  padding: 10px 70px;
}
.product-detail-box-title--balloon {
  position: absolute;
  top: -20px;
  left: -20px;
  width: 116px;
}
.product-detail-box-container {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-grow: 1;
  padding: 18px min(20px, 1.6vw) 32px;
}
.-type01 .product-detail-box-container {
  border: 2px solid #0586CF;
  border-top: 0;
  background-color: rgba(255, 255, 255, 0.66);
}
.-type02 .product-detail-box-container {
  border: 3px solid #0066B4;
  border-top: 0;
  background-color: #E9E6F3;
}
.-type03 .product-detail-box-container {
  border: 1px solid #052666;
  border-top: 0;
  background-color: rgba(255, 255, 255, 0.66);
}
.product-detail-box-container.-authent, .product-detail-box-container.-authent-mask {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.-program30 .product-detail-box-container {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.product-detail-data {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  gap: var(--space-10);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}
.product-detail-data-header {
  margin-bottom: calc(23 * var(--c-ratio));
}
.product-detail-data-header .-fbox {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.product-detail-data-header .-fbox-l {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc(96 * var(--c-ratio));
  flex: 0 0 calc(96 * var(--c-ratio));
}
.product-detail-data-header .-fbox-r {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}
.product-detail-data-header__point {
  width: calc(75 * var(--c-ratio));
}
.product-detail-data-header__title {
  color: #052666;
  font-size: var(--f-size-19);
  font-weight: 700;
  line-height: 1.6842105263;
}
.product-detail-data-header__text {
  margin-top: calc(9 * var(--c-ratio));
  color: #052666;
  font-size: var(--f-size-19);
  font-weight: 700;
  line-height: 1.6842105263;
}
.product-detail-data-title h4 {
  color: #052666;
  font-size: var(--f-size-19);
  font-weight: 700;
  line-height: 1.4210526316;
}
.product-detail-data-list {
  font-size: var(--f-size-16);
  line-height: 1.5;
}
.product-detail-data + .product-detail-data::before {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: calc(18 * var(--c-ratio));
  margin-bottom: calc(8 * var(--c-ratio));
  background-image: repeating-linear-gradient(to right, #7B4A00 0 1px, transparent 1px 2px);
  content: "";
}
.product-detail-data-imgbox {
  margin: 0;
  padding: 0;
}
.product-detail-data__link {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-end;
  margin-top: var(--space-15);
  font-size: var(--f-size-16);
  font-weight: 700;
}
.product-detail-data__link a {
  display: inline-block;
  position: relative;
  padding-top: calc(7 * var(--c-ratio));
  padding-right: calc(30 * var(--c-ratio));
  padding-bottom: calc(7 * var(--c-ratio));
  padding-left: calc(14 * var(--c-ratio));
  background-color: #052666;
  color: #ffffff;
  letter-spacing: 0.032em;
  line-height: 1;
}
.product-detail-data__link a::after {
  -webkit-transform: translateY(-50%);
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: calc(5 * var(--c-ratio));
  width: calc(20 * var(--c-ratio));
  transform: translateY(-50%);
  background: center/contain url(/topics/2026summer/images/icon-arrow-2.svg) no-repeat;
  content: "";
}
.product-detail-data-term {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  color: #052666;
  font-size: 2rem;
  font-weight: bold;
}
.product-detail-data-term-point {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: min(100px, 8vw);
  margin-top: -15px;
  margin-right: 38px;
  margin-bottom: -11px;
}
.product-detail-data-term-text {
  row-gap: 20px;
  display: grid;
}
.product-detail-data-description {
  margin-top: 40px;
}
.product-detail-data-box {
  position: relative;
  margin-top: 40px;
  padding: 30px 30px 23px;
  background-color: rgba(152, 209, 245, 0.24);
  color: #052666;
  font-weight: bold;
}
.product-detail-term {
  display: inline-block;
  margin-bottom: 14px;
  padding: 3px 26px;
  border-radius: 50px;
  color: #ffffff;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
}
.-type03 .product-detail-term {
  background-color: #052666;
}
.product-detail-group .product-detail-term {
  margin-left: -5%;
}
.product-detail-group .product-detail-term .-sm {
  font-size: min(1.8rem, 1.2vw);
}
.-authent .product-detail-term, .-authent-mask .product-detail-term {
  margin-top: 12px;
  margin-bottom: 12px;
}
.-program30 .product-detail-term {
  margin-bottom: 0;
  margin-left: -15%;
}
.product-detail-bnr {
  max-width: 464px;
  margin: 48px auto 0;
}
.product-detail-data .product-detail-bnr {
  margin-top: 15px;
}
.product-detail-bnr a:hover {
  opacity: 0.8;
}

/* --- present-set --- */
.present-set {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  padding: 20px min(32px, 2vw) 22px min(36px, 3vw);
}
.present-set-fig-img {
  z-index: 1;
  position: relative;
  width: min(166px, 18vw);
  margin-top: -63px;
  margin-right: -5%;
  margin-bottom: -3%;
  margin-left: -5%;
}
.present-set-fig-img.-bag {
  position: absolute;
  bottom: 0;
  width: 175px;
}
.present-set-fig-lead {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  position: relative;
  flex-grow: 1;
  padding-right: min(30px, 3vw);
  font-size: 1.8rem;
  line-height: 1.6666666667;
}
.present-set-fig-lead-balloon {
  margin-top: 5px;
  padding: 7px 24% 7px 15px;
  border-radius: 30px;
  background: #ffffff;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}
.present-set-fig .accent {
  color: #0586CF;
  font-weight: bold;
}
.present-set-fig .accent.-lg {
  font-size: 2.4rem;
  line-height: 1;
}
.present-set-brand {
  margin-top: 8px;
  margin-left: auto;
  color: #052666;
  font-weight: bold;
}
.present-set-brand-term {
  position: relative;
  padding: 7px 18px;
  background-color: #ffffff;
  font-size: 1.8rem;
  line-height: 1.5;
}
.present-set-brand-term::after {
  position: absolute;
  content: "";
}
.present-set-brand-description {
  margin-top: 20px;
}
.present-set-note {
  margin-top: 14px;
  font-size: 11px;
  line-height: 1.5454545455;
}

.product-item {
  display: block;
  width: 100%;
}
.product-item__img {
  margin-inline: auto;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: grid;
  align-items: center;
  justify-content: center;
  height: 217px;
}
.product-item__img.-start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: start;
}
.jupier-01 .product-item__img img {
  width: 196px;
}
.jupier-02 .product-item__img img {
  width: 244px;
}
.jupier-03 .product-item__img img {
  width: 118px;
}
.jupier-04 .product-item__img img {
  width: 323px;
}
.jupier-05 .product-item__img img {
  width: 319px;
}
.jupier-06 .product-item__img img, .jupier-07 .product-item__img img {
  width: 352px;
}
.fairlucent-01 .product-item__img {
  height: 224px;
}
.fairlucent-01 .product-item__img img {
  max-width: 298px;
}
.fairlucent-02 .product-item__img {
  height: 224px;
}
.fairlucent-02 .product-item__img img {
  max-width: 177px;
}
.fairlucent-03 .product-item__img {
  height: 154px;
}
.fairlucent-03 .product-item__img img {
  max-width: 150px;
}
.product-item__name {
  margin-top: 10px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
}
.-fairlucent .product-item__name {
  margin-top: 23px;
  font-size: 1.8rem;
  line-height: 1.4444444444;
}
.product-item__price + .product-item__name {
  margin-top: 15px;
}
.product-item__price {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.sp {
  display: none !important;
}
.pb100 {
  padding-bottom: 100px !important;
}

.d-i-block {
  display: inline-block !important;
}

.fc-red {
  color: #CD213A !important;
}

.fc-blue {
  color: #007CC3 !important;
}

.fc-light-blue {
  color: #0068B7 !important;
}

.fw-bold {
  font-weight: bold !important;
}

.border-b-none {
  border-bottom: none !important;
}

.ffs-palt {
  -webkit-font-feature-settings: "palt" !important;
  font-feature-settings: "palt" !important;
}

.text-marker {
  display: inline !important;
  padding: 0 2px;
}
.line-blue-dots {
  margin-block: 2rem;
  display: block;
  width: 100%;
  height: 3px;
  border: none;
  background-image: url(../images/line_dots_blue.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1200px auto;
}

.line-pink-dots {
  margin-block: 2rem;
  display: block;
  width: 100%;
  height: 3px;
  border: none;
  background-image: url(../images/line_dots_pink.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 560px auto;
}

/* clearfix */
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.clear-both {
  clear: both !important;
}

@media (width <= 1160px) {
  .main-content {
    display: block;
  }
  .side-visual {
    display: none !important;
  }
  .side-navi {
    --navi-width: 344;
    -webkit-transform: none;
    display: block;
    z-index: 20;
    place-content: unset;
    width: auto;
    height: unset;
    padding: 0;
    transform: none;
  }
  .side-navi-button {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    gap: 6px;
    -webkit-transition: background-color 0.15s ease-in-out;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 21;
    position: fixed;
    top: 28px;
    right: 14px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: var(--radius-pill);
    background-color: #222222;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out;
  }
  .side-navi-button__line {
    -webkit-transition: -webkit-transform 0.15s ease-in-out;
    display: block;
    width: 25px;
    height: 1px;
    border-radius: 1px;
    background-color: #ffffff;
    transition: -webkit-transform 0.15s ease-in-out;
    transition: transform 0.15s ease-in-out;
    transition: transform 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
  }
  [aria-expanded=true] .side-navi-button__line:nth-child(1) {
    -webkit-transform: translateY(7px) rotate(32deg);
    width: 27px;
    transform: translateY(7px) rotate(32deg);
  }
  [aria-expanded=true] .side-navi-button__line:nth-child(2) {
    opacity: 0;
  }
  [aria-expanded=true] .side-navi-button__line:nth-child(3) {
    -webkit-transform: translateY(-7px) rotate(-32deg);
    width: 27px;
    transform: translateY(-7px) rotate(-32deg);
  }
  .side-navi-content {
    -webkit-transition: opacity 0.3s, display 0.3s allow-discrete;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-width: inherit;
    height: 100dvh !important;
    max-height: unset;
    background-attachment: fixed;
    background-color: #fff;
    background-image: url(../images/bg.png);
    background-position: top center;
    background-repeat: repeat;
    background-size: 1800px;
    opacity: 0;
    transition: opacity 0.3s, display 0.3s allow-discrete;
  }
  @starting-style {
    .side-navi-content {
      opacity: 1;
    }
  }
  .side-navi-content__list {
    container-type: inline-size;
    aspect-ratio: unset;
    row-gap: 28px;
    margin-inline: auto;
    width: 344px;
    background: unset;
  }
  .side-navi-content__list .-link-item a {
    height: calc(45 * var(--navi-ratio));
  }
  .side-navi-content__list .-link-item a span {
    font-size: calc(22 * var(--navi-ratio));
  }
}

@media screen and (max-width: 768px) {
  .content-wrapper {
    width: 100%;
    min-width: 320px;
    overflow-x: clip;
  }
  .heading-lv2::before {
    top: -3px;
  }
  .heading-lv2::after {
    bottom: -3px;
  }
  .heading-lv2-text {
    font-size: 2.4rem;
  }
  .bnr-box-title {
    padding: 4px 28px 4px 8px;
    font-size: 1.1rem;
  }
  .bnr-box-title::after {
    width: 6px;
  }
  .product-data-list-item {
    padding-bottom: 20px;
  }
  .product-data-list-item:not(:first-child) {
    padding-top: 20px;
  }
  .product-data-list-item.border-b-none {
    padding-bottom: 0;
  }
  .product-data-list-item dt {
    margin-bottom: 12px;
    font-size: 1.6rem;
  }
  .product-data-list-item dd {
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .product-detail-data .product-data-list-item dd {
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .side-visual {
    display: none;
  }
  .side-navi {
    --navi-width: 440;
  }
  .side-navi-button {
    top: 76px;
  }
  .side-navi-content {
    container-type: inline-size;
  }
  .side-navi-content__list {
    container-type: unset;
    width: calc(344 * var(--navi-ratio));
  }
  .is-pc-space {
    display: none;
  }
  .triangle {
    border-top-right-radius: 0.8rem;
    border-top-left-radius: 0.8rem;
  }
  .present-grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
  }
  .present-grid-col1 {
    padding-inline: 0;
  }
  .present-grid-col2::after {
    content: unset;
  }
  .present-grid-col3::before, .present-grid-col3::after {
    content: unset;
  }
  .present-grid .is-sp {
    display: block !important;
  }
  .present-grid .is-pc {
    display: none !important;
  }
  .present-detail-title__text .tk {
    top: -9px;
    font-size: 9px;
  }
  .product-festival-title {
    margin-bottom: 28px;
    padding-right: max(2.6666666667%, 10px);
    padding-left: max(2.6666666667%, 10px);
  }
  .product-bottom {
    margin-top: 0;
    padding-top: 5px;
    padding-bottom: 0;
  }
  .product-data-card {
    width: min(100%, 331px);
    margin-top: 15px;
  }
  .-type03 .product-detail-heading {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
  }
  .product-detail-box .product-detail-heading {
    min-height: 56px;
    padding: 14px 17px;
    font-size: 1.6rem;
  }
  .product-detail-box.-program30 .product-detail-heading {
    padding-top: 0;
  }
  .product-detail-heading-sub {
    margin-left: 4px;
    font-size: 1.2rem;
  }
  .product-detail-box .product-detail-heading-term {
    font-size: 1.6rem;
  }
  .product-detail-box.-present .product-detail-heading-term {
    margin-left: auto;
  }
  .-summer-make .product-detail-body {
    padding-bottom: 35px;
  }
  .-summer-recommend .product-detail-body {
    padding-bottom: 32px;
  }
  .product-detail-balloon, .product-detail-otoku, .product-detail-eligible-products {
    margin-bottom: 25px;
  }
  .-type01 .product-detail-balloon, .-type01 .product-detail-otoku, .-type01 .product-detail-eligible-products {
    width: 253px;
  }
  .-type02 .product-detail-balloon, .-type02 .product-detail-otoku, .-type02 .product-detail-eligible-products {
    width: 100%;
    margin-bottom: 14px;
  }
  .product-detail-banner-tk {
    padding-bottom: 2rem;
  }
  .product-detail-box + .product-detail-box {
    margin-top: 20px;
  }
  .product-detail-box.-present {
    margin-top: 32px;
  }
  .product-detail-box-title {
    padding: 12px 10px;
    font-size: 1.6rem;
    letter-spacing: -0.05em;
  }
  .-present .product-detail-box-title {
    padding: 10px 16px;
    line-height: 1.3;
  }
  .product-detail-box-title--balloon {
    top: -50px;
    left: 0;
    width: 86px;
  }
  .product-detail-box-container {
    padding: 10px 10px 16px;
  }
  .-fairlucent-helth-food .product-detail-box-container {
    padding-bottom: 24px;
  }
  .product-detail-box-container + .product-detail-box-container {
    border-top: none;
  }
  .product-detail-box-container.-authent, .product-detail-box-container.-authent-mask {
    padding: 10px 10px 26px;
  }
  .product-detail-data-term {
    font-size: 1.6rem;
  }
  .product-detail-data-term + .product-detail-data-term {
    margin-top: 28px;
  }
  .product-detail-data-term-point {
    width: 64px;
    margin-top: -24px;
    margin-right: 18px;
    margin-bottom: -25px;
    margin-left: 0;
  }
  .product-detail-data-description {
    margin-top: 20px;
  }
  .product-detail-data-box {
    margin-top: 32px;
    padding: 23px 10px 12px;
  }
  .product-detail-term {
    min-width: 125px;
    margin-bottom: 10px;
    font-size: 1.6rem;
  }
  .product-detail-group .product-detail-term {
    min-width: min(125px, 34vw);
    margin-left: 0;
    padding: 5px 10px;
    font-size: 1.4rem;
  }
  .product-detail-group .product-detail-term .-sm {
    font-size: 1.2rem;
  }
  .-authent .product-detail-term, .-authent-mask .product-detail-term {
    margin-top: 15px;
    margin-bottom: -1%;
    padding: 3px 10px;
  }
  .-program30 .product-detail-term {
    margin-top: 15px;
    margin-bottom: -1%;
    padding: 3px 10px;
  }
  .product-detail-bnr {
    margin: 7% auto 0;
  }
  .present-set {
    padding: 15px 12px;
  }
  .present-set-fig::after {
    display: block;
    clear: both;
    content: "";
  }
  .present-set-fig-img {
    width: 118px;
    margin-top: -30px;
    margin-right: -24px;
    margin-bottom: -30px;
    margin-left: -15px;
    float: left;
  }
  .present-set-fig-img.-bag {
    z-index: 1;
    right: -4px;
    bottom: -7px;
    width: 126px;
  }
  .present-set-fig-lead {
    z-index: 1;
    max-width: 354px;
    margin: auto;
    padding-right: 0;
    font-size: 1.5rem;
    letter-spacing: -0.05em;
  }
  .present-set-fig-lead-main {
    margin-right: -6px;
  }
  .present-set-fig-lead-balloon {
    margin-top: 18px;
    padding: 6px 30% 6px 5%;
    font-size: 1.2rem;
  }
  .present-set-fig .accent.-lg {
    font-size: 2rem;
  }
  .present-set-brand {
    -webkit-box-align: start;
    -ms-flex-align: start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
    margin-top: 20px;
  }
  .present-set-brand-term {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 3px 12px;
    font-size: 1.6rem;
    text-align: center;
  }
  .present-set-brand-term::after {
    -webkit-transform: translateY(-50%);
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid #ffffff;
  }
  .present-set-brand-description {
    margin-top: -2px;
    margin-left: 20px;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .present-set-note {
    margin-top: 20px;
  }
  .product-item__img {
    width: 100%;
    height: auto;
    min-height: 45px;
    margin-top: 0;
  }
  .jupier-02 .product-item__img img {
    width: 100%;
  }
  .jupier-03 .product-item__img img {
    width: 121px;
  }
  .jupier-04 .product-item__img img {
    width: 100%;
  }
  .jupier-05 .product-item__img img {
    width: 100%;
  }
  .jupier-06 .product-item__img img, .jupier-07 .product-item__img img {
    width: 100%;
  }
  .product-item__name {
    margin-top: 23px;
    font-size: 16px;
  }
  .jupier-01 .product-item__name {
    z-index: 1;
    position: relative;
    margin-top: -2px;
  }
  .jupier-03 .product-item__name {
    margin-top: 10px;
  }
  .jupier-08 .product-item__name {
    margin-top: 0;
  }
  .product-item__price {
    margin-top: 7px;
    font-size: 1.3rem;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}

@media screen and (min-width: 768px), print {
  .grid-type01 {
    gap: 72px min(40px, 2.8vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-type01 .grid-container:first-child {
    grid-column-start: span 2;
  }
  .grid-type01 .grid-container:nth-child(2) {
    grid-column-start: 1;
  }
  .grid-type01 .grid-container:nth-child(3) {
    grid-column-start: 2;
  }
  .grid-type02 {
    gap: 48px 38px;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .grid-type02 .grid-container:first-child {
    grid-column-start: span 2;
  }
  .grid-type02 .grid-container:nth-child(2) {
    grid-column-start: span 2;
  }
  .grid-type02 .grid-container:nth-child(3) {
    grid-column-start: 1;
  }
  .grid-type02 .grid-container:nth-child(4) {
    grid-column-start: 2;
  }
  .grid-type03 {
    gap: 90px 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-type04 {
    padding-inline: 1.7857142857%;
    gap: 0 60px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .product-data-list-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .product-data-list-item dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 235px;
    margin-right: 2px;
  }
  .product-data-list-item dd:not(:last-child) {
    margin-right: 16px;
  }
  .product-data-card.-card01 {
    width: 53.2276330691%;
  }
  .product-data-card.-card02 {
    width: 77.6896942242%;
  }
  dd > .product-data-card {
    margin-top: 12px;
  }
  .product-detail-box .product-detail-heading-term {
    letter-spacing: -0.06em;
  }
  .product-detail-box.-present .product-detail-heading-term {
    padding: 3px 16px;
    font-size: 1.5rem;
  }
  .product-detail-banner-tk .product-detail-note {
    margin-top: 0.6rem;
  }
  .product-detail-box-container + .product-detail-box-container {
    padding-left: 0;
  }
  .product-detail-box-container.-authent, .product-detail-box-container.-authent-mask {
    padding: 18px min(26px, 2.4vw) 26px;
  }
  .-program30 .product-detail-box-container {
    padding: 18px min(40px, 2.5vw) 32px;
  }
  .product-detail-group .product-detail-term {
    padding: 5px 20px;
    font-size: min(2rem, 1.4vw);
    line-height: 1.25;
  }
  .present-set-fig {
    -webkit-box-align: start;
    -ms-flex-align: start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
  }
  .present-set-fig-img.-bag {
    top: 29%;
    right: 5px;
  }
  .present-set-brand-term::after {
    -webkit-transform: translateX(-50%);
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-top: 8px solid #ffffff;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
  }
  .present-set-note {
    margin-left: -8px;
  }
  .product-item.fairlucent-02 {
    padding-left: 4.5%;
  }
  .-fairlucent .product-item.fairlucent-03 {
    padding-left: 0;
  }
  .fairlucent-01 .product-item__img {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
  }
  .fairlucent-02 .product-item__img {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
  }
  .fairlucent-02 .product-item__img img {
    margin-left: 10.5%;
  }
  .fairlucent-03 .product-item__img img {
    margin-left: -12%;
  }
  .fairlucent-03 .product-item__name {
    margin-left: 3.5%;
  }
  .fairlucent-03 .product-item__price {
    margin-left: 3.5%;
  }
}

@media (hover: hover) {
  .search-btn:hover {
    background: #1381ca;
  }
  .side-navi-content__list .-link-item a:hover {
    -webkit-box-shadow: 0 0 12px 3px #ffffff;
    background-color: #d2e6ef;
    box-shadow: 0 0 12px 3px #ffffff;
    opacity: 1;
  }
  .product-detail-data__link a:hover {
    opacity: 0.65;
  }
}

@media (height <= 530px) {
  .side-visual {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    place-content: unset;
    align-items: start;
    justify-content: center;
  }
  .side-visual img {
    width: auto !important;
    height: 450px;
    max-height: unset;
  }
  .side-navi {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
  }
  .side-navi-content {
    height: 450px;
    max-height: unset;
  }
}

@media (width <= 1160px) and (hover: hover) {
  .side-navi-button:hover {
    background-color: #636363;
  }
}
/*# sourceMappingURL=style.css.map */
