@charset "UTF-8";
/* ------------------------------------------------------
*	scrollTest.jsとともに使用
* ------------------------------------------------------ */
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

a {
  color: inherit;
  outline: none;
  text-decoration: none;
}

.contents * {
  margin: 0;
  padding: 0;
}

.fancybox__container {
  z-index: 1000000000;
  --fancybox-bg: #fff;
  --carousel-button-svg-filter: none;
  --carousel-button-color: #fff;
  --carousel-button-bg: #9c9c9c;
}

.fancybox__slide {
  padding: 0;
  --carousel-button-width: 48px;
  --carousel-button-height: 48px;
  --carousel-button-svg-width: 24px;
  --carousel-button-svg-height: 24px;
}

.fancybox__content {
  padding: 0;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.fancybox__content > .carousel__button.is-close {
  top: 20px;
  right: 20px;
}

.fancybox__container,
.contents {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.75;
  letter-spacing: 0.08em;
  color: var(--c-text);
  background-color: var(--c-bg);
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .fancybox__container,
.contents {
    font-size: min(2rem, 3.3333333333vw);
  }
}
.fancybox__container a,
.contents a {
  outline: none;
  text-decoration: none;
}
.fancybox__container img,
.contents img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.contents button[data-fancybox-close] {
  display: none;
}

:root {
  --c-1st: #c9dfad;
  --c-2nd: #fbf4e6;
  --c-bg: #fff;
  --c-text: #534437;
  --c-text-strong: #7cb968;
  --svg-arrow: url('data:image/svg+xml,            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 20">                <path class="cls-2" d="M24.29,7.99c-.08,0-.19,.01-.32,.04l-2.62-2.92c-1.42-1.54-2.98-2.82-4.63-3.8l-1-.68c-.07-.05-.15-.07-.23-.07h-.78c-.23,0-.41,.18-.41,.41v1.32c0,.13,.06,.25,.16,.33l1.82,1.37s.05,.04,.08,.05l1.67,.71v.28c0,.19,.13,.35,.31,.4l.43,.11,1.98,2.06c-2.86,.11-6.15,.17-9.79,.17s-7.26-.06-10.38-.18c-.14,0-.26,.06-.34,.16-.08,.11-.11,.25-.07,.37l.55,1.73c.04,.12,.13,.22,.26,.26l.91,.32c.1,.04,.22,.03,.32-.02l.54-.27,3.18,.13s.07,0,.11-.01l.5-.11,.45,.11s.09,.01,.13,.01l1.72-.13,.61,.12c.16,.04,.36,.06,.65,.06,.56,0,1.04-.13,1.42-.38,.47-.05,1.19-.08,2.13-.08,1.01,0,1.76,.03,2.23,.09,.07,0,.13,0,.19-.02l.43-.16c1.31,0,2.85,.1,4.58,.29l-6.89,6.28c-.15,.14-.18,.36-.07,.53l.82,1.28c.07,.1,.17,.17,.29,.18,.02,0,.04,0,.06,0,.1,0,.19-.04,.27-.1l5.56-4.83,.39-.16c.08-.03,.16-.09,.2-.17l.69-1.17,2.91-2.46c.11-.1,.17-.24,.14-.39-.13-.68-.56-1.07-1.18-1.07Z"/>            </svg>');
  --svg-heart: url('data:image/svg+xml,            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 65">            <path d="M65.65,3.93c-13.99-12.09-29.65,7.61-29.65,7.61,0,0-15.67-19.71-29.65-7.61-24.46,21.14,29.65,61.07,29.65,61.07,0,0,54.11-39.93,29.65-61.07Z"/>            </svg>');
  --padd: calc( 35 / 600 * 100% );
}
@media screen and (max-width: 767px) {
  :root {
    --pgap: 15px;
  }
}

@media print {
  @page {
    margin: 10mm;
    size: A4;
  }
  body {
    width: 297mm;
    -webkit-print-color-adjust: exact;
            print-color-adjust: exact;
  }
}
/* ------------------------------------------------------
    SECTION
------------------------------------------------------ */
.sec {
  --inner: 530;
  padding-top: min(75px, 12.5%);
  padding-bottom: min(75px, 12.5%);
}
.sec__body {
  max-width: 750px;
  margin: 0 auto;
}
.sec__inner {
  width: calc(var(--inner) / 600 * 100%);
  margin: 0 auto;
}
.sec__inner--530 {
  width: 88.3333333333%;
  margin: 0 auto;
}
.sec__inner--472 {
  width: 78.6666666667%;
  margin: 0 auto;
}
.sec .sec__title {
  margin-bottom: 5.6603773585%;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(3.625rem, 4.8333333333vw);
  font-weight: 600;
  line-height: 1.64;
  letter-spacing: 0.2em;
  text-align: center;
}
.sec .sec__title span {
  display: block;
  margin-top: 1.8867924528%;
}
.sec .sec__title--noimage {
  margin-bottom: 8.4905660377%;
  background-color: #f00;
}
.sec .sec__fig {
  margin-bottom: 40px;
  background-color: #f00;
}
.sec .sec__desc {
  margin-bottom: 9.4339622642%;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(2.75rem, 3.6666666667vw);
  line-height: 1.8695;
  letter-spacing: 0.05em;
  text-align: justify;
}

span.leader {
  background-color: #f00;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
}

/* ------------------------------------------------------
    コラム枠
------------------------------------------------------ */
.column {
  --innerW: 530;
  --textW: 472;
  position: relative;
}
.column .column__flame {
  padding-top: calc(70 / var(--innerW) * 100%);
  padding-bottom: calc(70 / var(--innerW) * 100%);
  border-radius: 20px;
  border: 1px solid #000;
  overflow: hidden;
}
.column .column__body {
  width: calc(var(--textW) / var(--innerW) * 100%);
  margin: 0 auto;
}
.column .column__crown {
  position: absolute;
  top: 0;
  left: 50%;
  padding: 0 1em;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #fff;
  font-size: min(3rem, 4vw);
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.25;
  color: #000;
}
.column .column__crown::before, .column .column__crown::after {
  position: absolute;
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background-color: var(--c-text);
  top: 0;
}
.column .column__crown::before {
  left: 0;
}
.column .column__crown::after {
  right: 0;
}

/* ------------------------------------------------------
    共通ボタン
------------------------------------------------------ */
.link-wrap {
  --innerW: 530;
  color: #FF000A;
  margin-top: calc(40 / var(--innerW) * 100%);
}
.link-wrap > p {
  margin-bottom: calc(5 / var(--innerW) * 100%);
  font-size: min(2.25rem, 3vw);
  font-weight: 600;
  text-align: center;
}
.link-wrap > div {
  position: relative;
}
.link-wrap > div::before, .link-wrap > div::after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  width: 1px;
  height: 120%;
  background-color: #FF000A;
}
.link-wrap > div::before {
  left: 0;
  -webkit-transform: translate(0, -50%) rotate(-17.5deg);
          transform: translate(0, -50%) rotate(-17.5deg);
  -webkit-transform-origin: 50% 0%;
          transform-origin: 50% 0%;
}
.link-wrap > div::after {
  right: 0;
  -webkit-transform: translate(0, -50%) rotate(17.5deg);
          transform: translate(0, -50%) rotate(17.5deg);
  -webkit-transform-origin: 50% 0%;
          transform-origin: 50% 0%;
}
.link-wrap > div p {
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
.link-wrap > div p:nth-child(1) {
  font-size: min(2.125rem, 2.8333333333vw);
  margin-bottom: 0.5em;
}
.link-wrap > div p:nth-child(2) {
  font-size: min(3.375rem, 4.5vw);
  margin-bottom: 0.75em;
}

.link {
  position: relative;
  display: grid;
  place-items: center;
  padding: 0.49em;
  border-radius: 100px;
  border: 2px solid #FF000A;
  background-color: #FF000A;
  font-size: min(2.75rem, 3.6666666667vw);
  font-weight: 600;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.03em;
  line-height: 1.25;
  text-align: center;
  color: #fff;
}
.link::after {
  content: "";
  position: absolute;
  display: block;
  width: 5.5084745763%;
  height: 100%;
  top: 0;
  right: 4.8728813559%;
  -webkit-mask-image: var(--svg-arrow);
          mask-image: var(--svg-arrow);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 0 50%;
          mask-position: 0 50%;
  background-color: #fff;
}

/* ------------------------------------------------------
    SECTION
------------------------------------------------------ */
.recipe {
  position: relative;
}
.recipe > div {
  position: relative;
  padding: 10.593220339%;
  background-color: #fff;
  z-index: 1;
}
.recipe::after {
  display: block;
  content: "";
  aspect-ratio: 472/35;
  background: url(../images/shadow.png) 0 0/100% auto no-repeat;
  mix-blend-mode: multiply;
}
.recipe h3 {
  position: relative;
  margin-bottom: 22px;
  padding: 0.7272em;
  border-radius: 30px;
  background-color: var(--c-1st);
  font-size: min(2.75rem, 3.6666666667vw);
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
.recipe h3 div {
  position: absolute;
  width: 23.1182795699%;
  right: 0;
  top: 50%;
  -webkit-transform: translate(35%, -50%);
          transform: translate(35%, -50%);
}
.recipe figure {
  margin-bottom: 22px;
}
.recipe dl {
  letter-spacing: 0.02em;
}
.recipe dl dt {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.recipe dl dd:not(:last-of-type) {
  margin-bottom: 1em;
}
.recipe dl dd ol li {
  text-indent: -1.25em;
  padding-left: 1.25em;
}
.recipe dl dd ol li span {
  display: inline-block;
  width: 1.25em;
  text-align: center;
  text-indent: 0;
}

/* ------------------------------------------------------
    SECTION
------------------------------------------------------ */
.standard {
  --innerW: 530;
  background-color: var(--c-1st);
  padding: calc(20 / var(--innerW) * 100%);
}
.standard .standard__title {
  position: relative;
  margin-bottom: 5.1020408163%;
  font-size: min(3.75rem, 5vw);
  font-weight: 600;
  text-align: center;
}
.standard .standard__title span {
  display: block;
  font-size: 76.6666666667%;
  font-weight: 600;
  line-height: 1;
}
.standard .standard__title::after {
  position: absolute;
  display: block;
  content: "";
  aspect-ratio: 56/52;
  width: 11.4285714286%;
  bottom: 0;
  right: 9.1836734694%;
  background: url(../images/spoon.png) 0 0/100% auto no-repeat;
}
.standard .standard__body {
  padding: 6.1224489796%;
  background-color: #fff;
  text-align: center;
  line-height: 1;
}
.standard__or {
  margin: 0.666em 0;
  font-size: min(3.75rem, 5vw);
  font-weight: 600;
  color: var(--c-text-strong);
}
.standard__plus {
  padding: 3.488372093% 0;
  color: var(--c-text-strong);
}
.standard__note {
  font-size: min(1.875rem, 2.5vw);
  line-height: 1.533;
}

.ttt {
  padding: 4.6511627907% 6.976744186% 4.6511627907%;
  border-radius: 30px;
  background-color: var(--c-2nd);
}
.ttt:last-of-type {
  margin-bottom: 4.6511627907%;
}
.ttt > p {
  margin-bottom: 0.25em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(3.25rem, 4.3333333333vw);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.15em;
}
.ttt > p span {
  font-size: 76.923%;
}
.ttt > figure {
  max-width: 170px;
  margin: 0 auto;
}
.ttt__layout {
  display: grid;
  grid-template-columns: 1fr 0.5fr 1fr;
  grid-template-rows: auto auto;
  grid-auto-flow: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}
.ttt__layout div {
  min-width: 0;
}
.ttt__layout figure {
  max-width: 110px;
  margin: 0 auto 10px;
}
.ttt__desc p:nth-of-type(1) {
  position: relative;
  margin: 0 auto 5px;
  width: 100%;
  max-width: 124px;
  font-size: min(1.75rem, 2.3333333333vw);
  font-weight: 600;
  letter-spacing: 0.12em;
}
.ttt__desc p:nth-of-type(1)::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  top: 50%;
  border-top: 1px solid var(--c-text);
}
.ttt__desc p:nth-of-type(1) span {
  position: relative;
  padding: 0 0.75em;
  background-color: #fff1e0;
}
.ttt__desc p:nth-of-type(2) {
  font-size: min(2.5rem, 3.3333333333vw);
  font-weight: 600;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
.ttt__name {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 3px 10px 2px;
  border: 1px solid var(--c-text);
  border-radius: 10px;
  font-size: min(2rem, 2.6666666667vw);
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1;
  text-indent: 0.15em;
}
.ttt__arrow {
  max-width: 46px;
  margin: 0 auto;
}
.ttt__or {
  font-size: min(3.75rem, 5vw);
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1;
  text-indent: 0.15em;
  color: var(--c-text-strong);
}

.ttt2 {
  padding: 6.1224489796%;
  border-radius: 30px;
  background-color: #fff;
  border: 3px solid var(--c-text-strong);
}
.ttt2:last-of-type {
  margin-bottom: 4.6511627907%;
}
.ttt2__elm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  border-radius: 30px;
  background-color: #fdf1df;
  padding: 10px;
}
.ttt2__elm > div:nth-child(2) {
  text-align: center;
}
.ttt2__elm p:nth-of-type(1) {
  margin-bottom: 0.25em;
  font-size: min(3.25rem, 4.3333333333vw);
  font-weight: 600;
}
.ttt2__elm p:nth-of-type(2) {
  font-weight: 600;
}
.ttt2__elm figure {
  max-width: 66px;
}

@media screen and (max-width: 767px) {
  .fixed-anchor {
    margin-top: -60px;
    padding-top: 60px;
  }
}

.u-table-scroll {
  width: 100%;
  overflow-x: auto;
}
.u-table-scroll table {
  width: auto !important;
  min-width: 100% !important;
  white-space: nowrap;
}

.u-ztop {
  z-index: 100;
}

.u-nowrap {
  white-space: nowrap;
}

.u-hidden {
  display: none !important;
}

.u-disable {
  pointer-events: none;
}

.u-transparent {
  opacity: 0;
}

.u-active {
  opacity: 0.5;
}

.u-debug {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  top: 10px;
  left: 10px;
  width: 100px;
  height: 20px;
  border-radius: 10px;
  background-color: rgba(255, 0, 0, 0.8);
  font-size: 1.2rem;
  color: #fff;
  z-index: 1000;
}

.u-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sp {
    display: inline-block;
  }
}

.u-pc {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
}

.u-lg {
  display: none;
}
@media screen and (max-width: 1391px) {
  .u-lg {
    display: inline;
  }
}

.u-text-center {
  text-align: center;
}

.u-text-right {
  text-align: right;
}

.u-text-left {
  text-align: left;
}

.u-text-indent {
  text-indent: 1em;
}

.u-text-negative-indent {
  padding-left: 1em;
  text-indent: -1em;
}

.u-text-justify {
  text-align: justify;
  text-justify: inter-ideograph;
}

.u-txt-bold,
.u-text-bold {
  font-weight: bold;
}

.u-txt-underline {
  text-decoration: underline;
}

/********************************************************

	flex-grid:| sm  | md  | lg  |  xl  |
	min-width:| 576 | 768 | 992 | 1200 |
	max-width:| 575 | 767 | 991 | 1199 |

********************************************************/
.u-txt-justify {
  text-align: justify;
  text-justify: inter-ideograph;
}

/* ------------------------------------------------------
    ユーティリティ
------------------------------------------------------ */
.u-mbr05 {
  margin-bottom: 5px;
}

.u-mbr10 {
  margin-bottom: 10px;
}

.u-mbr15 {
  margin-bottom: 15px;
}

.u-mbr20 {
  margin-bottom: 20px;
}

.u-mbr30 {
  margin-bottom: 30px;
}

.u-mbr40 {
  margin-bottom: 40px;
}

.u-mbr50 {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .u-mbr50 {
    margin-bottom: 30px;
  }
}

.u-mbr60 {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .u-mbr60 {
    margin-bottom: 30px;
  }
}

.u-mbr70 {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .u-mbr70 {
    margin-bottom: 30px;
  }
}

.u-mbr80 {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .u-mbr80 {
    margin-bottom: 30px;
  }
}

.u-mbr90 {
  margin-bottom: 90px;
}
@media screen and (max-width: 767px) {
  .u-mbr90 {
    margin-bottom: 30px;
  }
}

.u-mbr100 {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .u-mbr100 {
    margin-bottom: 80px;
  }
}
/* youtube-box ------------------------ */
.youtube-box {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube-box iframe {
  width: 100%;
  height: 100%;
}

/********************************************************
	Utility: display
********************************************************/
.u-dn {
  display: none !important;
}

.u-d-i {
  display: inline !important;
}

.u-d-ib {
  display: inline-block !important;
}

.u-d-b {
  display: block !important;
}

@media screen and (max-width: 1199px) {
  .u-dn--lg {
    display: none !important;
  }
  .u-d-i--lg {
    display: inline !important;
  }
  .u-d-ib--lg {
    display: block !important;
  }
  .u-d-b--lg {
    display: block !important;
  }
}
@media screen and (max-width: 991px) {
  .u-dn--md {
    display: none !important;
  }
  .u-d-i--md {
    display: inline !important;
  }
  .u-d-ib--md {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .u-dn--sm {
    display: none !important;
  }
  .u-d-i--sm {
    display: inline !important;
  }
  .u-d-ib--sm {
    display: inline-block !important;
  }
  .u-d-b--sm {
    display: block !important;
  }
}
@media screen and (max-width: 575px) {
  .u-dn--xs {
    display: none !important;
  }
  .u-d-i--xs {
    display: inline !important;
  }
  .u-d-ib--xs {
    display: inline-block !important;
  }
  .u-d-b--xs {
    display: block !important;
  }
}
.catalog {
  --innerW: 530;
  background-color: #f9eae9;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(2.75rem, 3.6666666667vw);
  line-height: 1.8695;
  letter-spacing: 0.07em;
  text-align: justify;
}
.catalog .sec__body {
  position: relative;
  width: 88.3333333333%;
  padding: 7.5% 0;
  border-radius: 15px;
  background-color: #fff;
}
.catalog .sec__body .catalog-wrap {
  width: 88.679245283%;
  margin: 0 auto;
}
.catalog .deco1 {
  position: absolute;
  width: 47.5471698113%;
  top: 0;
  right: 0;
  -webkit-transform: translate(32.5396825397%, -58.1081081081%);
          transform: translate(32.5396825397%, -58.1081081081%);
}
.catalog .deco2 {
  position: absolute;
  width: 43.7735849057%;
  bottom: 0;
  left: 0;
  -webkit-transform: translate(-33.6206896552%, 45.1086956522%);
          transform: translate(-33.6206896552%, 45.1086956522%);
}
.catalog h2 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 4.2553191489%;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(3.625rem, 4.8333333333vw);
  font-weight: 600;
  line-height: 1.6333;
  letter-spacing: 0.13em;
  text-align: center;
  color: #da5e6e;
}
.catalog h2::before, .catalog h2::after {
  content: "";
  display: block;
  width: 0.35em;
  height: 2.75em;
  border-left: 1px solid #da5e6e;
  border-right: 1px solid #da5e6e;
}
.catalog h2::before {
  -webkit-transform: skewX(20deg);
          transform: skewX(20deg);
}
.catalog h2::after {
  -webkit-transform: skewX(-20deg);
          transform: skewX(-20deg);
}
.catalog .catalog-wrap figure:nth-of-type(1) {
  margin-bottom: 3.1914893617%;
}
.catalog .catalog-wrap figure:nth-of-type(2) {
  margin-bottom: 17.0212765957%;
}
.catalog .catalog-wrap p:nth-of-type(3) {
  margin-bottom: 5.3191489362%;
}
.catalog h3 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  aspect-ratio: 472/150;
  background-image: url(../images/ad/deco-bg.png);
  background-position: 0 0;
  background-size: 100% 100%;
  font-size: min(2.9375rem, 3.9166666667vw);
  font-weight: 600;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.09em;
  line-height: 1.5531;
  text-align: center;
  color: #da5e6e;
}
.catalog h3 span {
  position: absolute;
  top: -30.7692307692%;
  left: -4.2553191489%;
  width: 22.1276595745%;
}

.catalog2 {
  padding: 13.3333333333% 0 8%;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(2.75rem, 3.6666666667vw);
  line-height: 1.6222;
  letter-spacing: 0.19em;
  text-align: center;
}
.catalog2 .sec__body {
  width: 88.3333333333%;
  padding: 5.8333333333% 0 9.1666666667%;
  border-radius: 15px;
  background-color: #fff;
  border: 3px solid #e69598;
}
.catalog2 .sec__body .catalog-wrap {
  width: 88.679245283%;
  margin: 0 auto;
}
.catalog2 a {
  position: relative;
  display: block;
  width: 100%;
  padding: 0.75em;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(25%, #e48e97), to(#dc6776));
  background: linear-gradient(to bottom, #e48e97 25%, #dc6776 100%);
  border-radius: 100px;
  -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
          box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(2.875rem, 3.8333333333vw);
  font-weight: 600;
  line-height: 1.34;
  letter-spacing: 0.19em;
  text-align: center;
  color: #fff;
}
.catalog2 a::after {
  position: absolute;
  content: "";
  display: block;
  width: 0.6em;
  height: 0.6em;
  right: 1.25em;
  top: calc(50% - 0.3em);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.catalog2 p:nth-child(1) {
  margin-bottom: 2.1276595745%;
}
.catalog2 figure {
  margin-bottom: 4.2553191489%;
}
.catalog2 figure + a {
  margin-bottom: 6.3829787234%;
}
.catalog2 a + p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 4.2553191489%;
}
.catalog2 a + p::before, .catalog2 a + p::after {
  content: "";
  border: 1px dashed var(--c-text);
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
}
.catalog2 a + p::before {
  margin-right: 1em;
  -webkit-transform: skew(20deg);
          transform: skew(20deg);
}
.catalog2 a + p::after {
  margin-left: 1em;
  -webkit-transform: skew(-20deg);
          transform: skew(-20deg);
}

.brand ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 30px;
}
.brand ul li {
  position: relative;
  z-index: 1;
}
.brand ul li a {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1/1;
  background-color: #fff;
  border: 1px solid #e69598;
}
.brand ul li a::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 6px;
  left: 6px;
  background-color: #f7e1e0;
  z-index: -1;
}
.brand ul li p {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 0.5em 3px 0;
  bottom: 10px;
  right: 0;
  border-bottom: 1px solid var(--c-text);
  font-size: min(1.375rem, 1.8333333333vw);
  font-weight: 500;
  letter-spacing: 0.15em;
  color: var(--c-text);
  line-height: 1;
}
.brand ul li p::before, .brand ul li p::after {
  content: "";
  position: relative;
  display: inline-block;
  width: 0.636em;
  height: 0.636em;
  top: 0.2em;
  border-top: 1px solid var(--c-text);
  border-right: 1px solid var(--c-text);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.brand ul li p::after {
  left: -2px;
}

button[data-fancybox-close] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  outline: 0;
  width: 100%;
  padding: 0.6em;
  margin-top: 9.4339622642%;
  border-radius: 100px;
  background-color: #9c9c9c;
  -webkit-box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.3);
  cursor: pointer;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: 600;
  font-size: min(2.875rem, 3.8333333333vw);
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1;
  text-align: center;
  color: #fff;
}

.category ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.category ul li {
  position: relative;
  z-index: 1;
}
.category ul li a {
  position: relative;
  display: grid;
  place-items: center;
  background-color: #fff;
  border: 1px solid #ab7dae;
  color: inherit;
}
.category ul li a::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 6px;
  left: 6px;
  background-color: #d9c9f6;
  z-index: -1;
}
.category ul li p:nth-child(1) {
  width: 100%;
  padding: 0.5em 0 0.65em;
  background-color: #ab7dae;
  font-size: min(2.75rem, 3.6666666667vw);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
  color: #fff;
}
.category ul li p:nth-child(1)::after {
  content: "";
  position: relative;
  display: inline-block;
  width: 0.6363em;
  height: 0.6363em;
  top: -0.05em;
  border: 2px solid #fff;
  border-width: 2px 2px 0 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.category ul li p:nth-child(3) {
  width: 100%;
  padding: 0.75em 1em 1em;
  font-size: min(2rem, 2.6666666667vw);
  letter-spacing: 0.02em;
  line-height: 1.714;
  text-align: justify;
}

.c1 {
  --innerW: 530;
  --textW: 472;
  padding-top: 13.3333333333%;
  background-color: #fff;
}
.c1 .link-wrap {
  color: #d44523;
}
.c1 .link-wrap .link {
  border: 2px solid #d44523;
  background-color: #d44523;
}
.c1__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: calc(15 / var(--textW) * 100%);
  font-size: min(3.25rem, 4.3333333333vw);
  font-weight: 600;
  letter-spacing: 0.13em;
  line-height: 1.25;
  text-align: center;
}
.c1__title span {
  font-size: min(5.25rem, 7vw);
  color: var(--c-text-strong);
}
.c1__title::before, .c1__title::after {
  content: "";
  display: block;
  width: 1.26em;
  aspect-ratio: 33/74;
}
.c1__title:before {
  margin-right: 1rem;
  background: url(../images/c1-deco1.svg) no-repeat;
}
.c1__title:after {
  margin-left: 1rem;
  background: url(../images/c1-deco2.svg) no-repeat;
}
.c1__inner {
  width: calc(442 / var(--textW) * 100%);
  margin: 0 auto;
}
.c1__inner .s2-note {
  margin-bottom: 22.0930232558%;
}
.c1__lead {
  margin-bottom: 4.6511627907%;
  font-size: min(4.125rem, 5.5vw);
  font-weight: 600;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: var(--c-text-strong);
  text-align: center;
  line-height: 1.57;
  letter-spacing: 0.09em;
}
.c1__lead + figure {
  margin-bottom: 5.8139534884%;
}
.c1__desc {
  margin-bottom: 13.9534883721%;
  text-align: justify;
}
.c1 .c1-ranking {
  margin-bottom: 10px;
}
.c1 .c1-ranking li:nth-child(n+4) {
  border-bottom: 1px solid #c6c7c7;
}

.c1-sub {
  --inner: 442;
}
.c1-sub:not(:last-of-type) {
  margin-bottom: calc(75 / var(--inner) * 100%);
}
.c1-sub__title {
  position: relative;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 98fr 334fr;
  gap: 3.3936651584%;
  padding: 1em 0;
  margin-bottom: 11.3122171946%;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(2.625rem, 3.5vw);
  font-weight: 600;
  line-height: 1.619;
  letter-spacing: 0.11em;
}
.c1-sub__title span {
  position: relative;
}
.c1-sub__title::before {
  position: absolute;
  display: block;
  content: "";
  width: 200%;
  height: 100%;
  margin: 0 -50%;
  background-color: var(--c-1st);
}
.c1-sub figure {
  --inner: 442;
  margin-bottom: calc(10 / var(--inner) * 100%);
}
.c1-sub p.c1-note + p {
  margin-top: 2em;
}
.c1-sub figure + .c1-ranking,
.c1-sub p.c1-text + .c1-ranking {
  margin-top: calc(25 / var(--inner) * 100%);
}
.c1-sub p.c1-text + p.c1-text {
  margin-top: 2em;
}
.c1-sub p.c1-text + figure {
  margin-top: calc(25 / var(--inner) * 100%);
}
.c1-sub p.c1-text + figure + p.c1-text {
  margin-top: calc(25 / var(--inner) * 100%);
}

.c1-text {
  text-align: justify;
}

.c1-rate {
  display: grid;
  grid-template-columns: 18.4444444444% 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4.4444444444%;
  padding: calc(10 / var(--inner) * 100%) 0 calc(10 / var(--inner) * 100%);
  overflow: hidden;
}
.c1-rate > div {
  margin-right: -115%; /* 表示拡大 */
  font-size: min(2.5rem, 3.3333333333vw);
  font-weight: 600;
  line-height: 1.5;
}

.rank-type1 {
  display: grid;
  grid-template-columns: 15% auto 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3%;
  padding: 1.8867924528% 0;
}
.rank-type1 > p:nth-of-type(2) {
  font-size: min(2.25rem, 3vw);
  font-weight: 600;
  line-height: 1.375;
}
.rank-type1 > p:nth-of-type(3):after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 4px dotted var(--c-text);
}
.rank-type1 > p:nth-of-type(4) {
  font-size: min(3rem, 4vw);
  font-weight: 600;
}

.c1-rate-bar {
  margin-top: 4px;
  width: 50%;
  height: 26px;
  background-color: #c1b899;
}

.c1-heart,
.c1-rank-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c1-heart strong,
.c1-rank-text strong {
  margin-top: -0.5em;
  font-size: min(3rem, 4vw);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.c1-heart strong span,
.c1-rank-text strong span {
  font-size: 66.666%;
}

.c1-heart {
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--svg-heart);
          mask-image: var(--svg-heart);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 0 50%;
          mask-position: 0 50%;
  color: #fff;
  background-color: #c1b899;
}

.c1-note {
  font-size: min(1.875rem, 2.5vw);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: right;
}

.end {
  background-color: #fff;
}
.end .sec__body {
  width: 88.3333333333%;
}
.end a {
  display: block;
  margin-bottom: 20px;
}

.pickup h2 {
  margin-bottom: 10.3773584906%;
}
.pickup li {
  margin-bottom: 5.6603773585%;
}

.price {
  --innerW: 530;
}
.price ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.price ul li {
  position: relative;
  z-index: 1;
}
.price ul li a {
  position: relative;
  display: grid;
  place-items: center;
  padding: 0.9166em;
  background-color: #fff;
  border: 2px solid #80c2bf;
  font-size: min(3rem, 4vw);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  color: inherit;
}
.price ul li a::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 6px;
  left: 6px;
  background-color: #92ccc5;
  z-index: -1;
}

.qa {
  background-color: #d8c2d9;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(2.42rem, 3.6666666667vw);
  line-height: 2.0434;
  letter-spacing: 0.05em;
}
.qa .sec__body {
  width: 88.3333333333%;
}
.qa h2 {
  position: relative;
  border-top: 3px solid #fff;
  border-bottom: 3px solid #fff;
  padding: 7px 0;
  margin-bottom: 15.0943396226%;
}
.qa h2::before, .qa h2::after {
  content: "";
  display: block;
  border-top: 1px solid #fff;
}
.qa h2 figure {
  position: absolute;
  top: -12.3456790123%;
  left: 1.8867924528%;
  width: 15.8490566038%;
}
.qa dl > div {
  border-radius: 10px;
  background-color: #fff;
  padding: 8.4905660377%;
}
.qa dl > div:first-child {
  position: relative;
}
.qa dl > div:first-child figure {
  position: absolute;
  top: -11.2936344969%;
  right: 1.8867924528%;
  width: 20.7547169811%;
}
.qa dl > div:not(:last-of-type) {
  margin-bottom: 5.6603773585%;
}
.qa dt {
  position: relative;
  padding-bottom: 10px;
  border-bottom: 1px solid #c9abcb;
  padding-bottom: 6.6666666667%;
  margin-bottom: 6.6666666667%;
}
.qa dt::before, .qa dt::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  background-color: #c9abcb;
}
.qa dt::before {
  bottom: 4px;
}
.qa dt::after {
  bottom: 9px;
}
.qa dt div {
  display: grid;
  grid-template-columns: 64fr minmax(0, 350fr);
  gap: 5.7777777778%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: min(3.19rem, 4.8333333333vw);
  font-weight: 600;
  line-height: 1.6333;
  letter-spacing: 0.2em;
  white-space: nowrap;
}
.qa dt div.ex {
  letter-spacing: 0.1em;
}
.qa dt div::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/qa/question.svg) 50% 50%/69.8412698413% auto no-repeat;
}
.qa dd {
  position: relative;
  text-align: justify;
}
.qa dd::before {
  content: "";
  position: relative;
  display: inline-block;
  top: 0.25em;
  width: 1.8em;
  aspect-ratio: 40/35;
  margin-right: 0.5em;
  background: url(../images/qa/answer.svg) 0 0/100% auto no-repeat;
}

.ranking {
  padding-bottom: min(20px, 3.3333333333%);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(2.125rem, 2.8333333333vw);
}
.ranking .tab {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ranking .tab li {
  padding: 0.65em 0;
  border-radius: 10px 10px 0 0;
  background-color: #b1b1b1;
  cursor: pointer;
  font-size: min(3.75rem, 5vw);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
  color: #fff;
  text-align: center;
}
.ranking .tab li.active {
  background-color: #f9eae9;
  color: #da5e6e;
}
.ranking .tab li svg {
  position: relative;
  width: 1.5em;
  top: 0.15em;
  fill: currentColor;
}
.ranking .tab1,
.ranking .tab2 {
  background-color: #f9eae9;
  display: none;
  padding: 6.6666666667% 0;
  margin-bottom: 7.5%;
}
.ranking .tab1.active,
.ranking .tab2.active {
  display: block;
}
.ranking .tab1 > p,
.ranking .tab2 > p {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 3.3333333333%;
  font-size: min(3.375rem, 4.5vw);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.17em;
  text-align: center;
}
.ranking .tab1 > p::before, .ranking .tab1 > p::after,
.ranking .tab2 > p::before,
.ranking .tab2 > p::after {
  content: "";
  display: block;
  width: 0.25em;
  height: 1em;
  border-left: 1px solid var(--c-text);
  border-right: 1px solid var(--c-text);
}
.ranking .tab1 > p::before,
.ranking .tab2 > p::before {
  margin-right: 1em;
  -webkit-transform: skewX(30deg);
          transform: skewX(30deg);
}
.ranking .tab1 > p::after,
.ranking .tab2 > p::after {
  margin-left: 1em;
  -webkit-transform: skewX(-30deg);
          transform: skewX(-30deg);
}
.ranking .tab1 .thumbnails,
.ranking .tab2 .thumbnails {
  display: grid;
  gap: 8px;
  width: 88.3333333333%;
  margin: 0 auto 5%;
}
.ranking .tab1 .thumbnails {
  grid-template-columns: repeat(3, 1fr);
}
.ranking .tab2 .thumbnails {
  grid-template-columns: repeat(4, 1fr);
}
.ranking .thumbnail {
  display: grid;
  place-items: center;
  height: 50px;
  border-radius: 20px;
  background-color: #b1b1b1;
  cursor: pointer;
  -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
          box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  color: #fff;
}
.ranking .thumbnail.active {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(25%, #e48e97), to(#dc6776));
  background: linear-gradient(to bottom, #e48e97 25%, #dc6776 100%);
}
.ranking .slider {
  position: relative;
}
.ranking .slide {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  overflow: hidden;
}
.ranking .slide a {
  display: grid;
  grid-template-columns: 250fr 280fr;
  background-color: #fff;
  line-height: 1;
  white-space: nowrap;
  color: var(--c-text);
}
.ranking .slide a div {
  display: grid;
  grid-template-rows: 1fr auto;
  padding: 5.3571428571%;
}
.ranking .slide a div p:nth-child(1) {
  font-size: 123.5294117647%;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3863;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
.ranking .slide a div p:nth-child(1) span {
  font-size: 70%;
}
.ranking .slide a div p:nth-child(1).ex {
  letter-spacing: -0.03em;
}
.ranking .slide a div p:nth-child(2) {
  letter-spacing: 0.05em;
}
.ranking .slide a div p:nth-child(2) span {
  font-size: 188.2352941176%;
  font-weight: 600;
}
.ranking .swiper {
  width: 88.3333333333%;
  margin: 0 auto;
}
.ranking .swiper-button-prev,
.ranking .swiper-button-next {
  position: absolute;
  width: 5.8333333333%;
  height: 6.4rem;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #707070;
  cursor: pointer;
}
.ranking .swiper-button-prev::after,
.ranking .swiper-button-next::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-position: 50% 50%;
  background-size: 38.4615384615% auto;
  background-repeat: no-repeat;
}
.ranking .swiper-button-prev {
  left: 0;
}
.ranking .swiper-button-prev::after {
  background-image: url(../images/top-prev.svg);
}
.ranking .swiper-button-next {
  right: 0;
}
.ranking .swiper-button-next::after {
  background-image: url(../images/top-next.svg);
}

.postage {
  padding-top: 6.6037735849%;
  margin-bottom: 8.0943396226%;
  font-size: min(2.25rem, 3vw);
  font-weight: 500;
  line-height: 1.6666;
  letter-spacing: 0.02em;
  text-align: center;
}
.postage__body {
  position: relative;
  padding-bottom: 4.7169811321%;
  margin-bottom: 2.8301886792%;
  border-top: 1px solid transparent;
  background-color: #da5e6e;
}
.postage__body::before, .postage__body::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 100%;
  top: 0;
  background: url(../images/bg-chip.png) 0 0/12px 12px repeat-y;
}
.postage__body::before {
  left: -6px;
}
.postage__body::after {
  right: -6px;
}
.postage__body h3 {
  margin-top: -6.6037735849%;
  margin-bottom: 3.7735849057%;
  position: relative;
  z-index: 9;
}
.postage__body span {
  color: #ffed00;
}
.postage__frame {
  position: relative;
  max-width: 92.4528301887%;
  margin: 0 auto;
  padding: 3.7735849057%;
  border: 2px solid #fff;
  color: #fff;
  text-align: center;
}
.postage__frame::before, .postage__frame::after {
  content: "";
  position: absolute;
  width: 2px;
  height: calc(100% - 10px);
  background-color: #fff;
  top: 5px;
}
.postage__frame::before {
  left: 4px;
}
.postage__frame::after {
  right: 4px;
}
.postage__frame dt {
  margin-bottom: 1.0204081633%;
  padding: 0.35em;
  background-color: #fff;
  border-radius: 100px;
  font-size: 133.3333333333%;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #da5e6e;
}
.postage__frame dd:nth-of-type(1) {
  margin-bottom: 4.0816326531%;
}
.postage__frame dd p:nth-of-type(1) {
  margin-bottom: 1.0204081633%;
  font-size: 103.1111111111%;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: 0.04em;
}
.postage__frame dd p:nth-of-type(2) {
  font-size: 88.8888888889%;
}

.postage2 {
  padding-top: 50px;
}
.postage2 img {
  width: 100%;
  height: auto;
}
.postage2__body {
  position: relative;
  background-color: #da5e6e;
  color: #fff;
  text-align: center;
  border-top: 1px solid transparent;
}
.postage2 h3 {
  position: relative;
  margin-top: -40px;
}

.survey {
  position: relative;
  background-color: #d8c2d9;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(2.75rem, 3.6666666667vw);
  letter-spacing: 0.04em;
  line-height: 1.3478;
}
.survey .sec__body {
  position: relative;
  width: 88.3333333333%;
  border-radius: 10px;
  background-color: #fff;
}
.survey .sec__body > figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 22.641509434%;
  -webkit-transform: translate(-29.1666666667%, -42.3076923077%);
          transform: translate(-29.1666666667%, -42.3076923077%);
}
.survey .sec__body .survey-wrap {
  width: 84.9056603774%;
  padding: 11.320754717% 0;
  margin: 0 auto;
}
.survey ol {
  margin-bottom: 5.5555555556%;
}
.survey ol li.c1-rate:nth-child(1) .c1-heart,
.survey ol li.c1-rate:nth-child(1) .c1-rate-bar {
  background-color: #51ba97;
}
.survey ol li.c1-rate:nth-child(2) .c1-heart,
.survey ol li.c1-rate:nth-child(2) .c1-rate-bar {
  background-color: #e2858e;
}
.survey ol li.c1-rate:nth-child(3) .c1-heart,
.survey ol li.c1-rate:nth-child(3) .c1-rate-bar {
  background-color: #ab7dae;
}
.survey p.ex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.survey p.ex::before, .survey p.ex::after {
  content: "";
  display: block;
  width: 0.5454em;
  aspect-ratio: 12/55;
}
.survey p.ex::before {
  background: url(../images/survey/deco-1.svg) 0 0/100% auto no-repeat;
}
.survey p.ex::after {
  background: url(../images/survey/deco-2.svg) 0 0/100% auto no-repeat;
}

.survey-title {
  margin-bottom: 7.7777777778%;
}
.survey-title p:nth-child(1) {
  margin-bottom: 1.1111111111%;
  font-size: min(2.625rem, 3.5vw);
  font-weight: 600;
  line-height: 1.6531;
  letter-spacing: 0.08em;
  text-align: center;
  color: #ab7dae;
}
.survey-title h2 {
  margin-bottom: 3.3333333333%;
}
.survey-title p:nth-child(3) {
  font-size: min(1.75rem, 2.3333333333vw);
  line-height: 1.824;
  letter-spacing: 0.05em;
  text-align: center;
}

.survey-title-sub {
  position: relative;
  padding: 0.9em 0.95em 1em;
  background-color: #ab7dae;
  border-radius: 20px;
  margin-bottom: 6.6666666667%;
  font-size: min(3.375rem, 4.5vw);
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.541;
  text-align: center;
  color: #fff;
}
.survey-title-sub::after {
  content: "";
  position: absolute;
  display: block;
  width: 20px;
  height: 16px;
  top: calc(100% - 1px);
  left: calc(50% - 8px);
  background-color: #ab7dae;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.survey1 {
  margin-bottom: 15.5555555556%;
}

/*.survey1 > p {
  margin: 0 -8.8888888889%;
  line-height: 2.0217;
  text-align: center;
  white-space: nowrap;
}*/

.survey2 {
  margin-bottom: 17.7777777778%;
}
.survey2 h4 {
  margin-bottom: 6.6666666667%;
}
.survey2 dl {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px 4.4444444444%;
  margin-bottom: 7.7777777778%;
}
.survey2 dl dt {
  font-size: min(2.42rem, 3.6666666667vw);
  text-align: right;
  line-height: 1.3043;
  letter-spacing: 0.02em;
}
.survey2 dl dd {
  display: grid;
  place-items: center;
  height: 2.5em;
  font-size: min(2.64rem, 4vw);
  font-weight: 600;
  letter-spacing: 0.2em;
}
.survey2 dl dd p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.survey2 dl dd p span {
  margin-left: 0.75em;
  font-size: 72%;
  line-height: 1.111em;
}
.survey2 section:nth-of-type(1) dd {
  background-color: #f6c5bc;
}
.survey2 section:nth-of-type(1) dd:nth-of-type(1) {
  background-color: #fff1b7;
}
.survey2 section:nth-of-type(2) dd {
  background-color: #e1cce2;
}
/*.survey2 section:nth-of-type(2) dd:nth-of-type(n+2) {
  background-color: #bcdfd4;
}*/
.survey2 section:nth-of-type(3) dd:nth-of-type(1) {
  background-color: #f6c5bc;
}
.survey2 section:nth-of-type(3) dd:nth-of-type(2) {
  background-color: #fff1b7;
}
.survey2 section:nth-of-type(3) dd:nth-of-type(3), .survey2 section:nth-of-type(3) dd:nth-of-type(5) {
  background-color: #bcdfd4;
}
.survey2 section:nth-of-type(3) dd:nth-of-type(4) {
  background-color: #c5e6f8;
}
.survey2 p.ex:nth-of-type(1),
.survey2 p.ex:nth-of-type(2) {
  margin-bottom: 11.1111111111%;
}

.top {
  --innerW: 530;
  padding-bottom: min(75px, 12.5%);
}
.top__body {
  max-width: 750px;
  margin: 0 auto;
}
.top select,
.top button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  outline: 0;
  padding: 0.6em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(2.875rem, 3.8333333333vw);
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.top button {
  cursor: pointer;
}

.top-modal-link {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  width: 88.3333333333%;
  margin: 0 auto 8.4905660377%;
}
.top-modal-link button {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 170/90;
  border-radius: 20px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(25%, #e48e97), to(#dc6776));
  background: linear-gradient(to bottom, #e48e97 25%, #dc6776 100%);
  -webkit-box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.3);
  font-size: min(2.375rem, 3.1666666667vw);
  font-weight: 500;
  text-align: center;
  line-height: 1.4em;
  letter-spacing: 0.05em;
  color: #fff;
}
.top-modal-link button p {
  margin-top: 0.25em;
}
.top-modal-link button p strong {
  font-size: 140%;
  font-weight: 600;
}

.top-hero {
  margin-bottom: 3.7735849057%;
}

.top-note {
  margin-bottom: 11.320754717%;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(2.875rem, 3.8333333333vw);
  font-weight: 500;
  letter-spacing: 0.09em;
  line-height: 1.625;
  text-align: center;
  color: #da5e6e;
}
.top-note strong {
  padding: 0.1em 1em;
  border-radius: 100px;
  background-color: #f9eae9;
}
.top-note span {
  font-size: 86.9565217391%;
}
.top-note img {
  width: 7.5471698113%;
  margin: 1.8867924528% auto 0;
}

.top-search {
  width: 75%;
  margin: 0 auto;
  text-align: center;
}
.top-search p:nth-of-type(1) {
  margin-bottom: 5.5555555556%;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(3rem, 4vw);
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 1;
  text-align: center;
}
.top-search p:nth-of-type(1) img {
  margin-bottom: 5.5555555556%;
}
.top-search p:nth-of-type(2) {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(2.25rem, 3vw);
  font-weight: 500;
  letter-spacing: 0.02em;
  text-align: center;
}
.top-search p:nth-of-type(2) strong {
  font-size: 122.2222%;
  font-weight: inherit;
  letter-spacing: 0.12em;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
}
.top-search select {
  width: 100%;
  border: 2px solid #da5e6e;
  border-radius: 10px;
  background-color: #fff;
  color: currentColor;
}
.top-search button {
  width: 100%;
  margin: 4.4444444444% 0 4.4444444444%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(25%, #e48e97), to(#dc6776));
  background: linear-gradient(to bottom, #e48e97 25%, #dc6776 100%);
  border-radius: 100px;
  -webkit-box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.3);
  font-weight: 600;
  color: #fff;
}
.top-search button::before {
  content: "";
  position: relative;
  display: inline-block;
  width: 0.9043em;
  aspect-ratio: 1/1;
  top: 0.15em;
  margin-right: 0.75em;
  background: url(../images/top-search.svg) 0 0/100% auto no-repeat;
}
.top-search hr {
  position: relative;
  padding: 2.2222222222% 0;
  border: none;
}
.top-search hr::before, .top-search hr::after {
  content: "";
  display: block;
  width: 1px;
  height: 1.5em;
  background-color: #585858;
  margin: 0 auto;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.top-search hr::after {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.top-search .select-wrap {
  position: relative;
  width: 100%;
}
.top-search .select-wrap::before {
  position: absolute;
  display: block;
  content: "";
  width: 0.5em;
  height: 0.5em;
  border: 2px solid #da5e6e;
  border-top: none;
  border-right: none;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  pointer-events: none;
}

/* ------------------------------------------------------
    gift-lineup-wrap
------------------------------------------------------ */
.gift-lineup-wrap {
  padding: 13.3333333333% 0;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(2.75rem, 3.6666666667vw);
  line-height: 1.6222;
  letter-spacing: 0.19em;
  text-align: center;
}

.gift-lineup {
  width: 100%;
  height: 60vh;
}
.gift-lineup iframe {
  width: 100%;
  height: 100%;
}



/* movie-9-16 ------------------------ */
.movie-9-16 {
  width: 100%;
  aspect-ratio: 9 / 16;
}
.movie-16-9 iframe, .movie-1-1 iframe, .movie-9-16 iframe {
  width: 100%;
  height: 100%;
}




/* @use "component/_cover.scss";
@use "component/_modal.scss";; */