/**
 * フォント指定
 *
 * @format
 */

html {
  font-family: "Zen Maru Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans",
    "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.03em;
  scroll-behavior: smooth;
  font-feature-settings: "palt";
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-break: break-word;
  color: #441d0b;
}
.zen-maru-gothic-bold {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 900;
  font-style: normal;
}

/* CSSリセット（ブラウザのデフォルトスタイルを統一） */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
/* 基本設定 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
/* リストやリンクのスタイル */
ol,
ul {
  list-style: none;
}
a {
  text-decoration: none;
  color: inherit;
}
/* 表のスタイル */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* 画像の設定 */
img {
  width: 100%;
  height: auto;
}
/* セレクタのデフォルトスタイル解除 */
button,
input,
select,
textarea {
  border: none;
  background: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
/* 文章要素の基本設定 */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/* 画像の最大幅を設定 */
img {
  max-width: 100%;
  height: auto;
}
/* ボタンのリセット */
button {
  border: none;
  background: none;
  cursor: pointer;
}
/* 強弱のリセット */
strong {
  font-weight: unset;
}
/* SEO用に非表示 */
.visuallyHidden {
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

/* 文字罫線 */
.problemTitleArea h3 strong::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  background-color: var(--cream100);
  z-index: -1;
}

/* 色指定 */
:root {
  --pink10: #faeee9; /* 背景ピンク */
  --pink20: #f0d9cf; /* 背景ピンク */
  --pink50: #f1d2c5; /* 背景ピンク */
  --pink80: #ffc6ac; /* サブピンク */
  --pink100: #e3775a; /* メインピンク */
  --pink150: #de6848; /* 強調ピンク */
  --cream100: #faf4e2; /* メインクリーム */
  --brown50: #796257; /* 背景ブラウン */
  --brown80: #563e33; /* 背景ブラウン */
  --brown100: #441d0b; /* メインブラウン */
}

.colorPink {
  color: var(--pink100);
}

/* テキストリンクのスタイル */
.footerLink a,
.steamerPdfLink a {
  text-decoration: underline;
  text-decoration-color: var(--brown100); /* 初期ブラウン色 */
  transition: color 0.1s ease, text-decoration-color 0.3s ease;
}

.footerLink a:hover,
.steamerPdfLink a:hover {
  color: var(--pink100);
  text-decoration-color: var(--pink100);
}

.footerLink a:hover::after,
.steamerPdfLink a:hover::after {
  content: "";
  display: inline-block;
  background-image: url(../img/pink02_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  color: var(--pink100);
}

/* cvボタン装飾 */
.cvBtnArea a .cvBtnShipping {
  background-color: #fff;
  color: var(--pink100);
  border: var(--pink100);
}

.cvBtnArea a .cvBtnMainCopy {
  background-color: var(--pink100);
  color: #fff;
  border: var(--pink100);
}

/* コンテンツ共通部分　 */
/* mainVisual */
.cvBtnMainCopy {
  background-color: var(--pink100);
}

.cvBtnSubCopy {
  font-family: "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: bold;
}
/* problem */
.problemTitleBusinesscategoryDetail {
  background-color: var(--pink100);
  color: #fff;
}

.problemWorriesDetail:nth-child(1)::before {
  content: "";
  background: url(../img/problemWorriesDetail01_icon.png) no-repeat;
  background-size: contain;
  position: absolute;
}

.problemWorriesDetail:nth-child(2)::before {
  content: "";
  background: url(../img/problemWorriesDetail02_icon.png) no-repeat;
  background-size: contain;
  position: absolute;
}

.problemWorriesDetail:nth-child(3)::before {
  content: "";
  background: url(../img/problemWorriesDetail03_icon.png) no-repeat;
  background-size: contain;
  position: absolute;
}

.problemWorriesDetail:nth-child(4)::before {
  content: "";
  background: url(../img/problemWorriesDetail04_icon.png) no-repeat;
  background-size: contain;
  position: absolute;
}

.problemWorriesDetail:nth-child(5)::before {
  content: "";
  background: url(../img/problemWorriesDetail05_icon.png) no-repeat;
  background-size: contain;
  position: absolute;
}

/* service */
#service {
  background-color: var(--cream100);
}

.serviceTitle p {
  background-color: #e3775a;
  color: #fff;
}

.costDownDetailListDetailNumber {
  background-color: #fff;
}

.costDownDetailListDetailNumber {
  color: var(--pink100);
}

.costDownDetailListDetailNumber strong {
  color: var(--pink100);
}

.costDownDetailListDetailBox {
  background-color: var(--pink50);
}

.delicious {
  background-color: var(--pink50);
}

.costDownDetailListDetailBox dd {
  color: var(--pink100);
}

.costDownMeritDetail::before {
  content: "";
  display: inline-block;
  background-image: url(../img/costDownMeritDetail_icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.deliciousIndustryTextDetail dt {
  color: #fff;
  background-color: var(--pink100);
}

.deliciousIndustryTextDetail dd {
  background-color: #fff;
}

/* PC */
@media screen and (min-width: 1024px) {
  .pc_only {
    display: inline-block !important;
  }
  .sp_only {
    display: none !important;
  }

  /* ホバーのスタイル */
  .mainVisualCvIcon a,
  .cvBtnArea a,
  .luxuryBentoFormBtn a,
  .luxuryBentoExtraText a,
  .cvBtnArea a .cvBtnMainCopy,
  .mainVisualCvIcon a .cvBtnMainCopy {
    transition: all 0.3s ease;
    display: inline-block;
  }

  .mainVisualCvIcon a:hover,
  .cvBtnArea a:hover,
  .luxuryBentoFormBtn a:hover,
  .luxuryBentoExtraText a:hover,
  .mainVisualCvIcon a:hover {
    transform: scale(1.025); /* 少しだけ拡大 */
  }

  .mainVisualCvIcon a:hover .cvBtnMainCopy,
  .luxuryBentoFormBtn a:hover {
    background-color: #dc5300;
  }

  .luxuryBentoExtraText a:hover {
    background-color: var(--brown100);
  }

  .cvBtnArea a:hover .cvBtnMainCopy {
    background-color: #dc5300;
    border: 5px solid #dc5300;
  }

  /* mainVisual */
  #mainVisual {
    width: 100%;
    background-image: url(../img/mainimg_bg.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    height: 46.5vw;
  }

  .mainLogo img {
    width: 12%;
    height: auto;
    position: absolute;
    top: 40px;
    left: 50px;
    z-index: 2;
  }

  .mainVisualCopyBox {
    width: 45.6%;
    height: 100%;
    position: absolute;
    top: 16%;
    left: 3.6%;
    z-index: 2;
  }

  .mainCopy01 img {
    width: 90%;
    height: auto;
    margin: 0 auto;
    display: block;
    margin-bottom: -4.5%;
    position: relative;
    z-index: 3;
  }

  .mainCopy02 img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
    margin-bottom: -2%;
  }

  .mainCopy03 img {
    width: 89%;
    height: auto;
    margin: 0 auto;
    display: block;
  }

  .mainVisualSideCopy {
    width: 13%;
    height: auto;
    position: absolute;
    top: 4.8%;
    right: 2.5%;
    z-index: 2;
  }

  .mainVisualMeritBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 39%;
    height: auto;
    position: absolute;
    bottom: -7%;
    left: 7%;
  }

  .mainVisualMeritDetail {
    width: 31%;
    height: auto;
    position: relative;
  }

  .mainVisualCvIcon {
    width: 19%;
    height: auto;
    position: absolute;
    bottom: -14%;
    right: 3.5%;
    text-align: center;
  }

  .cvBtnMainCopy {
    display: inline-block;
    padding: 1.5vw 2vw;
    border-radius: 5vw 5vw 0 0;
    font-size: max(1.3vw, 22px);
    line-height: 1.5;
    letter-spacing: 0.09em;
    width: 100%;
  }

  .cvBtnSubCopy {
    display: inline-block;
    background-color: var(--cream100);
    color: var(--pink100);
    padding: 1.2vw 2vw;
    border-radius: 0 0 5vw 5vw;
    font-size: max(1.34vw, 15px);
    line-height: 1.5;
    letter-spacing: 0.09em;
    width: 100%;
  }

  .cvBtnSubCopy::after {
    content: "";
    display: inline-block;
    width: 0.7vw;
    height: 1.1vw;
    background-image: url(../img/pink02_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: -0.4vw;
  }

  /* problem */

  #problem {
    padding-top: 7vw;
  }

  .problemTitleArea {
    text-align: center;
    margin: 0 auto 3vw;
  }

  .problemTitleArea h3 {
    font-size: max(1.3vw, 38px);
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 2vw;
    display: inline-block;
    position: relative;
  }

  .problemTitleArea h3 strong {
    position: relative;
  }

  .problemTitleArea h3 strong::after {
    bottom: 0.2em;
    height: 0.5em;
    border-radius: 0.25em;
  }

  .problemSubTitle h3::before {
    content: "";
    display: inline-block;
    width: 40%;
    height: 55%;
    background: url(../img/line_left.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 69%;
    left: -44px;
    transform: translateY(-50%);
  }

  .problemSubTitle h3::after {
    content: "";
    display: inline-block;
    width: 40%;
    height: 55%;
    background: url(../img/line_right.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 69%;
    right: -151px;
    transform: translateY(-50%);
  }

  .problemTitleBusinesscategoryArea {
    display: flex;
    justify-content: center;
    align-items: baseline;
  }

  .problemTitleBusinesscategory {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }

  .problemTitleBusinesscategoryDetail {
    font-size: max(1.5vw, 20px);
    line-height: 1.5;
    margin-bottom: 1vw;
    letter-spacing: 0.09em;
    display: inline-block;
    position: relative;
    padding: 6px 20px;
    border-radius: 24px;
  }

  .problemTitleBusinesscategoryText {
    font-size: max(1.3vw, 25px);
    line-height: 1.5;
    letter-spacing: 0.09em;
    display: inline-block;
    position: relative;
    margin-left: 5px;
  }

  .problemMainTitle {
    font-size: max(5.2vw, 20px);
    height: auto;
    margin: 1vw auto 0;
    display: block;
  }

  .problemMainTitle .dot {
    display: inline-block;
    position: relative;
    color: var(--pink100);
  }

  .problemMainTitle .dot::before {
    content: "●";
    color: var(--pink100);
    font-size: 0.2em;
    position: absolute;
    top: -0.5em;
    left: 50%;
    transform: translateX(-50%);
  }

  .problemWorries {
    width: 65%;
    margin: 0 auto;
    position: relative;
  }

  .problemWorries {
    background: url(../img/problemWorries_user.png) no-repeat center/contain;
    position: relative;
    background-repeat: no-repeat;
    background-size: 26%;
    background-position: 23vw 18vw;
    height: 47vw;
    letter-spacing: 0.12em;
  }

  .problemWorriesDetail {
    font-size: min(1.4vw, 28px);
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
  }

  .problemWorriesDetail strong {
    font-size: min(1.8vw, 32px);
    letter-spacing: 0;
  }

  .problemWorriesDetail:nth-child(1) {
    background: url(../img/problemWorriesDetail01_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 4vw;
    left: -1vw;
    width: 40%;
    height: 14.3vw;
    padding-top: 6vw;
    padding-right: 5.5vw;
  }

  .problemWorriesDetail:nth-child(1)::before {
    width: 3.5vw;
    height: 3.5vw;
    top: 3.6vw;
    left: 10vw;
    transform: translateX(-50%) translateY(-50%);
  }

  .problemWorriesDetail:nth-child(2) {
    background: url(../img/problemWorriesDetail02_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0.5vw;
    left: 23vw;
    width: 39%;
    height: 16vw;
    padding-top: 6vw;
    padding-right: 6vw;
  }

  .problemWorriesDetail:nth-child(2)::before {
    width: 3.5vw;
    height: 3.5vw;
    top: 3.7vw;
    left: 10.2vw;
    transform: translateX(-50%) translateY(-50%);
  }

  .problemWorriesDetail:nth-child(3) {
    background: url(../img/problemWorriesDetail03_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 5.2vw;
    right: -3.5vw;
    width: 39%;
    height: 14.2vw;
    padding-top: 6.3vw;
    padding-right: 2.2vw;
  }

  .problemWorriesDetail:nth-child(3)::before {
    position: absolute;
    width: 4.6vw;
    height: 4.6vw;
    top: 3.7vw;
    right: 9.2vw;
    transform: translateX(-50%) translateY(-50%);
  }

  .problemWorriesDetail:nth-child(4) {
    background: url(../img/problemWorriesDetail04_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 23vw;
    left: 1vw;
    width: 39%;
    height: 13.9vw;
    padding-top: 6.2vw;
    padding-right: 7vw;
  }

  .problemWorriesDetail:nth-child(4)::before {
    width: 3.5vw;
    height: 3.5vw;
    top: 4.1vw;
    left: 9vw;
    transform: translateX(-50%) translateY(-50%);
  }

  .problemWorriesDetail:nth-child(5) {
    background: url(../img/problemWorriesDetail05_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 24vw;
    right: -0.5vw;
    width: 39%;
    height: 14.3vw;
    padding-top: 6.8vw;
    padding-right: 0.5vw;
  }

  .problemWorriesDetail:nth-child(5)::before {
    width: 4.4vw;
    height: 4.4vw;
    top: 3.9vw;
    left: 12.4vw;
    transform: translateX(-50%) translateY(-50%);
  }

  /* service */
  #service {
    position: relative;
    margin-top: 4vw;
    padding-bottom: 13.6vw;
  }

  #service::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 25vw;
    background-image: url(../img/service_user.png);
    background-repeat: no-repeat;
    background-size: 23vw;
    background-position: 71vw 0.8vw;
    z-index: 999;
  }

  #service::before {
    content: "";
    position: absolute;
    top: -8vw;
    left: 0;
    width: 100%;
    height: 19vw;
    background-image: url(../img/service_bg_top.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
  }

  .serviceTitleArea {
    width: 43%;
    margin: 0 auto 3.4vw;
    text-align: center;
    position: relative;
    z-index: 9999;
  }

  .serviceTitle p {
    font-size: min(1.3vw, 22px);
    line-height: 1.5;
    letter-spacing: 0.09em;
    display: inline-block;
    padding: 0.1vw 2.5vw;
    font-weight: 900;
    border-radius: 24px;
    position: absolute;
    top: 1vw;
    right: 0;
  }

  .serviceTitle p strong {
    font-size: min(1.5vw, 32px);
  }

  .serviceTitle h3 img {
    margin-top: 0.8vw;
  }

  .costDownArea {
    background-color: #fff;
    width: 70%;
    min-width: 800px;
    margin: 0 auto 5vw;
    border-radius: 80px;
    display: flex;
    padding: 4vw 4vw;
  }

  .costDownIntro {
    color: #fff;
    background-image: url(../img/costDownIntro_bg.png);
    background-repeat: no-repeat;
    background-position: top;
    display: inline-block;
    background-size: contain;
    text-align: center;
    width: 8vw;
    height: 6.8vw;
    font-size: max(1.3vw, 17px);
    line-height: 1.3;
    letter-spacing: 0.09em;
    padding-top: 1.4vw;
    padding-left: 0.1vw;
    margin-top: -1vw;
    margin-bottom: 1vw;
  }

  .costDownDetailTitle::before {
    content: "";
    display: inline-block;
    width: 75%;
    height: 75%;
    background-image: url(../img/line_left_02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
    position: absolute;
  }

  .costDownDetailTitle::after {
    content: "";
    display: inline-block;
    width: 75%;
    height: 75%;
    background-image: url(../img/costDownDetailTitle_right.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
    position: absolute;
  }

  .costDownTitle h3 {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: min(2.6vw, 47px);
    margin: 0 auto;
    letter-spacing: 0.09em;
  }

  .costDownDetail {
    text-align: center;
    padding-left: 2vw;
  }

  .costDownDetailTitle {
    font-size: min(2.1vw, 37px);
    position: relative;
    display: inline-block;
    margin-bottom: 1.2vw;
  }

  .costDownDetailTitle::before {
    top: 0.5vw;
    left: -1.6vw;
  }

  .costDownDetailTitle::after {
    top: 0.5vw;
    right: -1.6vw;
  }

  .costDownDetailList {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .costDownDetailListDetail {
    width: 32.6%;
  }

  .costDownDetailListDetailNumber {
    font-size: min(1.3vw, 22px);
    line-height: 1;
    width: 4.8vw;
    height: 4.8vw;
    border-radius: 50%;
    padding-top: 0.6vw;
    margin: 0 auto;
    position: relative;
    z-index: 2;
  }

  .costDownDetailListDetailNumber {
    font-size: min(1.3vw, 13px);
    position: relative;
    z-index: 2;
    letter-spacing: 0.09em;
  }

  .costDownDetailListDetailNumber strong {
    font-size: min(2.5vw, 48px);
    letter-spacing: 0.01em;
    padding-bottom: 0.1vw;
    display: inline-block;
  }

  .costDownDetailListDetailBox {
    border-radius: 30px;
    margin: -1.2vw 0 1vw;
    position: relative;
    z-index: 1;
    padding: 1.6vw 1.5vw;
  }

  .costDownDetailListDetailBox dt {
    font-size: max(2.2vw, 25px);
    letter-spacing: 0.05em;
  }

  .costDownDetailListDetailBox dt::after {
    content: "";
    display: block;
    height: 5px;
    width: 100%;
    background-image: radial-gradient(
      circle,
      #fbf2ee 0 2.5px,
      transparent 2.5px
    );
    background-size: 15px 5px;
    background-repeat: repeat-x;
    background-position: left center;
    background-origin: content-box;
    margin: 0.7vw 0 0.7vw;
  }

  .costDownDetailListDetailBox dd {
    font-size: max(1.2vw, 13px);
    letter-spacing: 0.05em;
  }

  .costDownDetailListDetailText {
    font-size: max(0.9vw, 13px);
    letter-spacing: 0.08em;
    margin-bottom: 2vw;
  }

  .costDownMerit {
    background-color: var(--cream100);
    padding: 2vw 5vw;
    border-radius: 30px;
    font-size: max(1.4vw, 16px);
    text-align: left;
  }

  .costDownMeritDetail {
    text-indent: -1.9em;
    padding-left: 1em;
  }

  .costDownMeritDetail::before {
    width: 2vw;
    height: 2vw;
    margin-right: 0.5em;
  }

  .costDownMeritDetail:nth-of-type(1) {
    display: inline-block;
    margin-right: 6.5vw;
    margin-bottom: 1vw;
  }

  .costDownMeritDetail:nth-of-type(2) {
    display: inline-block;
    margin-bottom: 1vw;
  }

  .delicious {
    width: 85%;
    margin: 0 auto 3vw;
    border-radius: 80px;
    padding: 8vw 0 5vw;
  }

  .deliciousTitleArea {
    margin: 0 auto 3vw;
    text-align: center;
    position: relative;
  }

  .deliciousTitleArea01 {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: absolute;
    top: -11vw;
    left: 50%;
    transform: translateX(-50%);
  }

  .deliciousSubTitle {
    font-size: max(2vw, 22px);
    line-height: 1.5;
    color: var(--pink100);
    background-image: url(../img/deliciousSubTitle_bg.png);
    background-repeat: no-repeat;
    display: inline-block;
    background-size: contain;
    width: 9vw;
    height: 8vw;
    letter-spacing: 0.04em;
    padding-top: 2.2vw;
    margin-bottom: 2vw;
  }

  .delicioush2SubTitle {
    font-size: max(2vw, 30px);
    letter-spacing: 0.09em;
    line-height: 1.7;
    display: inline-block;
  }

  .deliciousTitleArea h2 {
    font-size: max(3.2vw, 30px);
    line-height: 1;
  }

  .deliciousTitleArea h2 strong {
    display: inline-block;
    font-size: max(5vw, 40px);
    letter-spacing: 0.1em;
    margin-right: -0.5em;
  }

  .deliciousTitleArea h2::after {
    content: "";
    position: absolute;
    top: -22vw;
    right: -2vw;
    width: 19vw;
    height: 39vw;
    background-image: url(../img/service_user_02.png);
    background-repeat: no-repeat;
    background-size: 19vw;
    z-index: 999;
  }

  .deliciousText {
    width: 100%;
    margin: 0 auto 2.4vw;
    text-align: center;
    font-size: min(2vw, 33px);
    letter-spacing: 0.05em;
    line-height: 1.7;
  }

  .deliciousIndustryArea {
    width: 66%;
    margin: 0 auto 1vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
  }

  .deliciousIndustryArea li {
    background-color: var(--pink10);
    width: 9.2vw;
    height: 9.2vw;
    border-radius: 1000px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: min(1.35vw, 27px);
    letter-spacing: 0.05em;
  }

  .deliciousIndustryText {
    width: 100%;
    margin: 0 auto 2vw;
    text-align: center;
    font-size: max(2vw, 30px);
    letter-spacing: 0.05em;
    line-height: 1.7;
  }

  .deliciousIndustryText strong {
    font-size: max(4vw, 50px);
  }

  .deliciousspan01 {
    font-size: min(4vw, 45px);
    font-weight: 900;
  }

  .deliciousspan02 {
    font-size: min(4vw, 70px);
  }

  .deliciousIndustryTextDetail {
    width: 80%;
    margin: 0 auto 2vw;
    text-align: center;
  }

  .deliciousIndustryTextDetail dt {
    font-size: min(2vw, 33px);
    letter-spacing: 0.05em;
    padding: 0.5vw 2.5vw;
    border-radius: 100px;
    display: inline-block;
  }

  .deliciousIndustryTextDetail dd {
    width: 100%;
    margin: -1.8vw auto 0;
    padding: 3vw 0 3vw;
    font-size: max(1.8vw, 20px);
    border-radius: 20px;
  }

  .deliciousIndustryTextDetail dd strong {
    font-size: max(3vw, 30px);
    letter-spacing: 0;
  }

  .deliciousMenuImages {
    width: 84%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
  }

  .deliciousMenuImages li {
    width: 32.4%;
    height: auto;
  }

  .deliciousMenuImages li img {
    width: 100%;
    height: auto;
    border-radius: 10px;
  }

  .cvBtnArea {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  .cvBtnArea a .cvBtnShipping {
    display: inline-block;
    height: auto;
    margin: 0 auto;
    padding: 0.1vw 4.1vw;
    border-radius: 100px;
    font-size: max(2vw, 30px);
    border: var(--pink100) 5px solid;
    letter-spacing: 0.05em;
    z-index: 2;
    position: relative;
  }

  .cvBtnArea a .cvBtnMainCopy {
    display: block;
    height: auto;
    margin: -1.3vw auto 0;
    padding: 1.05vw 7vw 1vw;
    border-radius: 30px;
    font-size: max(2vw, 20px);
    border: var(--pink100) 5px solid;
    letter-spacing: 0.05em;
    z-index: 1;
    position: relative;
    box-shadow: 6px 6px 0px var(--pink50);
  }

  .cvBtnArea a .cvBtnMainCopy strong {
    font-size: max(2.8vw, 30px);
  }

  .cvBtnArea a .cvBtnMainCopy::before {
    content: "";
    display: inline-block;
    width: 14vw;
    height: 9vw;
    background-image: url(../img/cvBtn_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 0.5em;
    position: absolute;
    top: -2vw;
    left: -6.8vw;
  }

  .cvBtnArea a .cvBtnMainCopy::after {
    content: "";
    display: inline-block;
    width: 1.5vw;
    height: 2.5vw;
    background-image: url(../img/white_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 1.5vw;
    top: calc(50% - 1.25vw);
  }

  #productLineUp {
    position: relative;
    margin-top: 0;
    padding-bottom: 4vw;
  }

  #productLineUp::before {
    content: "";
    position: absolute;
    top: -9.5vw;
    left: 0;
    width: 100%;
    height: 19vw;
    background-image: url(../img/service_bg_top_white.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
  }

  .productLineUpTitleArea {
    width: 80%;
    margin: 0 auto 3.8vw;
    text-align: center;
    z-index: 2;
    position: relative;
  }

  .productLineUpTitleArea::before {
    content: "";
    position: absolute;
    top: -4.3vw;
    left: -4.8vw;
    width: 20vw;
    height: 29vw;
    background-image: url(../img/productLineUp_user.png);
    background-repeat: no-repeat;
    background-size: 20vw;
    z-index: 999;
  }

  .productLineUpSubTitleDetail {
    font-size: min(3vw, 51px);
  }

  .productLineUpSubTitleDetailSpan {
    background-color: var(--pink100);
    color: #fff;
    padding: 0.2vw 0.9vw 0.4vw;
    border-radius: 20px;
    display: inline-block;
    line-height: 1;
    font-size: max(2vw, 25px);
    margin-right: 0.5vw;
    letter-spacing: 0.05em;
  }

  .productLineUpSubTitleDetailSpan02 {
    font-size: max(2vw, 17px);
  }

  .productLineUpSubTitleDetail strong {
    font-size: max(3.5vw, 35px);
  }

  .productLineUpMainTitle {
    position: relative;
    width: 80%;
    margin: -0.5vw auto 0;
    text-align: center;
  }

  .productLineUpMainTitle p:nth-of-type(1) {
    margin: 0 auto;
    font-size: max(5.5vw, 30px);
    color: var(--pink100);
    position: relative;
    letter-spacing: 0;
  }

  .productLineUpMainTitle p:nth-of-type(1)::before {
    background-image: url(../img/productLineUp_title.png);
    content: "";
    display: inline-block;
    width: 3.2vw;
    height: 3.2vw;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
    position: absolute;
    top: 0.2vw;
    left: 7.4vw;
  }

  .productLineUpMainTitle p:nth-of-type(2) {
    position: absolute;
    width: 20%;
    right: -2vw;
    top: -4.6vw;
  }

  .productLineUpDetailArea h3 {
    font-size: max(2.4vw, 20px);
    line-height: 1.5;
    text-align: center;
    margin-bottom: 2.8vw;
  }

  .productLineUpDetailTitle01 {
    display: block;
    margin: 0 auto;
    position: relative;
    text-align: center;
  }

  .productLineUpDetailTitle01::before {
    content: "";
    display: inline-block;
    width: 0.7em;
    height: 1.3em;
    background-image: url(../img/line_left_02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
    position: relative;
    top: 50%;
    left: -0.3vw;
    transform: translateY(20%);
  }

  .productLineUpDetailTitle01::after {
    content: "";
    display: inline-block;
    width: 0.7em;
    height: 1.3em;
    background-image: url(../img/costDownDetailTitle_right.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
    position: relative;
    top: 50%;
    right: -0.3vw;
    transform: translateY(20%);
  }

  .productLineUpDetailTitle02 {
    display: inline-block;
    font-size: min(4vw, 62px);
    letter-spacing: 0.09em;
  }

  .productLineUpDetailList {
    width: 74%;
    min-width: 960px;
    margin: 0 auto 3vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
  }

  .productLineUpDetailListDetail {
    width: 32.3%;
  }

  .productLineUpDetailList img {
    border-radius: 20px 20px 0 0;
    display: block;
  }

  .productLineUpDetailList figcaption dl {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
  }

  .productLineUpDetailList figcaption dt {
    width: 28%;
    background-color: var(--pink50);
    color: var(--pink100);
    font-size: max(3vw, 30px);
    letter-spacing: 0;
    border-radius: 0 0 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }

  .productLineUpDetailList figcaption dd {
    width: 82%;
    background-color: var(--cream100);
    font-size: max(0.8vw, 15px);
    border-radius: 0 0 20px 0;
    padding: 0.5vw 0.5vw 0.7vw;
    text-indent: -0.5em;
    padding-left: 1em;
  }

  .productLineUpMerit {
    width: 100%;
    margin: 0 auto 2.8vw;
    text-align: center;
    font-size: max(2vw, 20px);
    letter-spacing: 0.05em;
    line-height: 1.9;
  }

  .productLineUpMerit strong {
    font-size: max(2.4vw, 23px);
    position: relative;
  }

  .productLineUpMerit strong::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    background-color: var(--pink50);
    z-index: -1;
    font-size: max(2.4vw, 23px);
    bottom: 0;
    height: 0.5em;
    border-radius: 0.25em;
  }

  .productLineUpMerit::after {
    content: "";
    display: block;
    height: 8px; /* ←ドットの直径に揃える */
    width: 43.5%;
    background-image: radial-gradient(
      circle,
      var(--pink50) 0 4px,
      transparent 4px
    );
    background-size: 20px 8px; /* ← 横幅はお好み（16pxならドットと同じ間隔） */
    background-repeat: repeat-x;
    background-position: left center;
    background-origin: content-box;
    margin: 3vw auto 0;
  }

  .productLineUpMeritDetail {
    width: 100%;
    margin: 0 auto 4.5vw;
    text-align: center;
  }

  .productLineUpMeritDetailTitle {
    font-size: max(2.8vw, 30px);
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 1.5vw;
    color: var(--pink100);
  }

  .productLineUpMeritDetailTitle span {
    font-size: min(3vw, 45px);
  }

  .productLineUpMeritDetailText ul {
    width: 60%;
    min-width: 900px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
  }

  .productLineUpMeritDetailText ul li {
    width: 32.5%;
    font-size: max(1.4vw, 17px);
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
    border: 5px solid var(--pink50);
    border-radius: 20px;
    padding: 1vw 0.5vw 1.2vw;
  }

  .priceBox {
    width: 100%;
    margin: 0 auto 6vw;
    text-align: center;
  }

  .priceHeading {
    width: 40%;
    margin: 0 auto;
    font-size: min(3vw, 47px);
    color: #fff;
    background-color: var(--pink100);
    padding: 1.3vw 0.5vw;
    border-radius: 100px;
    position: relative;
    z-index: 2;
  }

  .priceHeading .dot {
    display: inline-block;
    position: relative;
  }

  .priceHeading .dot::before {
    content: "●";
    color: #fff;
    font-size: 0.2em;
    position: absolute;
    top: -0.8em;
    left: 50%;
    transform: translateX(-50%);
  }

  .priceContent {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1;
  }

  .priceUpper {
    background-color: var(--cream100);
    width: 55%;
    min-width: 700px;
    margin: -4.3vw auto 0;
    padding: 5.5vw 5vw 2.8vw;
    border-radius: 80px 80px 0 0;
    text-align: center;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
  }

  .priceUpperContent {
    width: 35%;
    margin: 1vw auto 0;
  }

  .priceNote {
    font-size: min(2vw, 33px);
    letter-spacing: 0.05em;
    margin-bottom: 0.6vw;
  }

  .priceNote::before {
    content: "";
    display: inline-block;
    width: 0.7em;
    height: 1.1em;
    background-image: url(../img/line_left_02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
    position: relative;
    top: 50%;
    transform: translateY(20%);
  }

  .priceNote::after {
    content: "";
    display: inline-block;
    width: 0.7em;
    height: 1.1em;
    background-image: url(../img/costDownDetailTitle_right.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
    position: relative;
    top: 50%;
    transform: translateY(20%);
  }

  .priceCase {
    font-size: min(2vw, 35px);
    background-color: #fff;
    border-radius: 100px;
    padding: 0.3vw 1.5vw;
    display: inline-block;
  }

  .priceCase strong {
    font-size: min(3vw, 55px);
    border-radius: 100px;
    line-height: 1;
  }

  .pricePerMeal {
    width: 65%;
    font-size: max(3.8vw, 35px);
    letter-spacing: 0.05em;
    margin-bottom: 0.6vw;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }

  .pricePerMeal span {
    font-size: max(4.8vw, 40px);
    line-height: 1.2;
  }

  .pricePerMeal strong {
    font-size: max(9vw, 50px);
    border-radius: 100px;
    line-height: 1;
    color: var(--pink100);
    letter-spacing: 0;
  }

  .priceLower {
    background-color: var(--pink20);
    width: 55%;
    min-width: 700px;
    margin: 0 auto;
    padding: 3vw 5vw 2.6vw;
    border-radius: 0 0 80px 80px;
    text-align: center;
    position: relative;
  }

  .priceTag {
    color: #fff;
    position: absolute;
    font-size: min(1.5vw, 25px);
    top: -2.5vw;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../img/priceTag.png);
    background-repeat: no-repeat;
    background-position: top;
    display: inline-block;
    background-size: contain;
    text-align: center;
    height: 5.5vw;
    width: 6vw;
    padding-top: 1.5vw;
    letter-spacing: 0;
  }

  .priceDescription {
    font-size: max(2.1vw, 20px);
    margin-bottom: 0.6vw;
    letter-spacing: 0.05em;
  }

  .freeShipping {
    font-size: max(3.3vw, 30px);
    margin-bottom: 0.4vw;
  }

  .freeShipping strong {
    font-size: max(5.5vw, 50px);
    line-height: 1;
    letter-spacing: 0.05em;
  }

  .priceNoteSmall {
    font-size: min(3vw, 16px);
    margin-bottom: 1.3vw;
    letter-spacing: 0.05em;
  }

  .deliveryCoverage {
    background-color: var(--pink10);
    border-radius: 100px;
    font-size: min(3vw, 25px);
    display: inline-block;
    padding: 0.8vw 2.4vw;
    color: var(--pink100);
    line-height: 1;
    letter-spacing: 0.09em;
  }

  .riceOptionSection {
    width: 100%;
    margin: 5vw auto;
    text-align: center;
  }

  .riceOptionHeading {
    font-size: max(3vw, 32px);
    line-height: 1;
    margin-bottom: 2.5vw;
    letter-spacing: 0;
  }

  .riceOptionHeading::after {
    content: "";
    display: block;
    height: 8px; /* ←ドットの直径に揃える */
    width: 55%;
    background-image: radial-gradient(
      circle,
      var(--pink50) 0 4px,
      transparent 4px
    );
    background-size: 20px 8px; /* ← 横幅はお好み（16pxならドットと同じ間隔） */
    background-repeat: repeat-x;
    background-position: left center;
    background-origin: content-box;
    margin: 1.8vw auto 0;
  }

  .riceOptionContent {
    width: 50%;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
  }

  .riceOptionImage {
    width: 28%;
  }

  .riceOptionImage img {
    border-radius: 20px;
  }

  .riceOptionDetails {
    width: 72%;
    padding-left: 2vw;
  }

  .riceOptionQuantity {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    margin-bottom: 1vw;
  }

  .riceOptionQuantity p:nth-of-type(1) {
    font-size: max(1.8vw, 20px);
    line-height: 1;
    letter-spacing: 0.05em;
    border: 2px solid var(--brown100);
    border-radius: 100px;
    padding: 0.4vw 1.1vw 0.7vw 1.6vw;
  }

  .riceOptionQuantity p:nth-of-type(1) span:nth-of-type(1) {
    font-size: max(2vw, 23px);
  }

  .riceOptionQuantity p:nth-of-type(1) span:nth-of-type(2) {
    font-size: max(2.3vw, 28px);
  }

  .riceOptionQuantity p:nth-of-type(2) {
    font-size: max(2vw, 25px);
    line-height: 1;
    margin-left: 2vw;
    padding-bottom: 1vw;
  }

  .riceOptionQuantity p:nth-of-type(2) strong {
    font-size: max(4vw, 28px);
    padding-left: 0.5vw;
  }

  .riceOptionNote {
    font-size: max(1.25vw, 15px);
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: left;
  }

  .riceOptionNote strong {
    font-size: max(1.5vw, 18px);
    line-height: 1;
    letter-spacing: 0.05em;
  }

  #flow {
    position: relative;
    margin-top: 4vw;
    margin-bottom: 5vw;
    padding-bottom: 9vw;
    background-color: var(--cream100);
  }

  #flow::before {
    content: "";
    position: absolute;
    top: -8vw;
    left: 0;
    width: 100%;
    height: 19vw;
    background-image: url(../img/service_bg_top.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
    transform: scaleX(-1);
  }

  .flowTitleArea {
    width: 80%;
    margin: 0 auto 3.8vw;
    text-align: center;
    z-index: 2;
    position: relative;
    padding-top: 1vw;
  }

  .flowSubTitle {
    font-size: max(1.6vw, 25px);
    letter-spacing: 0.05em;
    color: #fff;
    background-color: var(--pink100);
    padding: 0.5vw 2.5vw;
    border-radius: 100px;
    display: inline-block;
    margin: 0 auto 2vw;
  }

  .flowMainTitle01 {
    font-size: max(2.5vw, 30px);
    letter-spacing: 0.05em;
    line-height: 1;
    display: inline-block;
    position: relative;
    margin-bottom: 1vw;
  }

  .flowMainTitle01 strong {
    font-size: max(3.3vw, 30px);
    letter-spacing: 0.05em;
  }

  .flowMainTitle02 {
    font-size: max(3.4vw, 30px);
  }

  .flowMainTitle02 strong {
    font-size: max(5vw, 30px);
    line-height: 1;
    display: inline-block;
    position: relative;
  }

  .flowMainTitle01::before {
    content: "";
    display: inline-block;
    width: 2vw;
    height: 3.7vw;
    background: url(../img/line_left.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 2vw;
    left: -2.5vw;
    transform: translateY(-50%);
  }

  .flowMainTitle01::after {
    content: "";
    display: inline-block;
    width: 2vw;
    height: 3.7vw;
    background: url(../img/line_right.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 2vw;
    right: -2.5vw;
    transform: translateY(-50%);
  }

  .flowSteps {
    margin-bottom: 5vw;
  }

  .processStep {
    width: 57%;
    min-width: 830px;
    margin: 0 auto;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
    position: relative;
    z-index: 2;
  }

  .stepDetails {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding: 1.83vw 3vw;
  }

  .processStep:nth-child(odd) {
    background-color: #fff;
    border-radius: 20px;
  }
  .stepNumber {
    width: 48%;
    display: flex;
    font-size: max(1.5vw, 20px);
  }

  .number {
    color: var(--pink100);
    margin-right: 1vw;
    letter-spacing: 0.09em;
  }

  .stepDescription {
    width: 52%;
    font-size: max(1vw, 15px);
    line-height: 1.5;
  }

  .flowTitleArea::before {
    content: "";
    position: absolute;
    top: -2.3vw;
    right: -7vw;
    width: 23vw;
    height: 30vw;
    background-image: url(../img/flow_user.png);
    background-repeat: no-repeat;
    background-size: 23vw;
    z-index: 1;
  }

  #orderFlow {
    position: relative;
    margin-top: 0;
    padding-bottom: 12vw;
  }

  #orderFlow::before {
    content: "";
    position: absolute;
    top: -9.5vw;
    left: 0;
    width: 100%;
    height: 19vw;
    background-image: url(../img/service_bg_top_white.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
  }

  #orderFlow .sectionHeader {
    width: 80%;
    margin: 0 auto 3.8vw;
    text-align: center;
    z-index: 2;
    position: relative;
  }

  .sectionLead {
    background-color: var(--pink50);
    display: inline-block;
    font-size: max(2vw, 25px);
    border-radius: 100px;
    padding: 0.1vw 2.5vw 0.2vw;
    letter-spacing: 0.05em;
    margin-bottom: 1.8vw;
    position: relative;
  }

  .sectionLeadSub {
    font-size: max(1.5vw, 20px);
  }

  .sectionLead .dot {
    display: inline-block;
    position: relative;
  }

  .sectionLead .dot::before {
    content: "●";
    font-size: 0.2em;
    position: absolute;
    top: -0.8em;
    left: 50%;
    transform: translateX(-50%);
  }

  .stepText {
    position: relative;
    font-size: max(2.7vw, 25px);
    padding-left: 2.7vw;
  }

  .sectionLead strong {
    font-size: max(5.1vw, 30px);
    line-height: 1;
    position: absolute;
    top: -1.5vw;
    left: 0.1vw;
  }

  #orderFlow .sectionHeader h2 {
    font-size: max(3.8vw, 30px);
    line-height: 1;
    letter-spacing: 0.05em;
    margin-bottom: 1vw;
  }

  #orderFlow .sectionHeader h2 strong {
    font-size: max(4.8vw, 35px);
  }

  #orderFlow .sectionHeader h2 span {
    font-size: max(3.2vw, 25px);
  }

  .orderSteps {
    width: 66%;
    min-width: 900px;
    margin: 0 auto 3.2vw;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: nowrap;
  }

  .orderStep {
    width: 32.3%;
    background-color: var(--cream100);
    border-radius: 20px;
    padding: 2.8vw 3.5vw;
    text-align: center;
  }

  .orderStep figure {
    width: 100%;
    height: auto;
  }

  .orderStep figure img {
    width: 80%;
    height: auto;
    margin: 0 auto 1.5vw;
  }

  .orderStep figure figcaption h3 {
    font-size: max(1.75vw, 20px);
    line-height: 1;
    letter-spacing: 0.05em;
    margin-bottom: 1.2vw;
  }

  .orderStep figure figcaption p {
    font-size: max(1.1vw, 15px);
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .orderStep:nth-child(1),
  .orderStep:nth-child(2) {
    position: relative;
  }

  .orderStep:nth-child(1)::after,
  .orderStep:nth-child(2)::after {
    content: "";
    background-image: url(../img/pink_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 3vw;
    height: 3.5vw;
    right: -2vw;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    z-index: 1;
  }

  .steamerBox {
    width: 60%;
    min-width: 850px;
    margin: 0 auto 1vw;
    border: 6px solid var(--pink20);
    border-radius: 40px;
    padding: 1vw 0 2.5vw;
    text-align: center;
  }

  .steamerBox h2 {
    font-size: max(1.6vw, 25px);
    line-height: 1;
    letter-spacing: 0.05em;
    margin-bottom: 1.8vw;
    color: var(--pink100);
    border-bottom: 5px solid var(--pink20);
    padding-bottom: 1vw;
  }

  .steamerBox h2 strong {
    font-size: max(2.2vw, 30px);
  }

  .steamerPriceArea {
    width: 80%;
    margin: 0 auto;
  }

  .steamerPriceLead {
    font-size: max(2vw, 26px);
    line-height: 1.3;
    text-align: left;
    margin-bottom: 0.8vw;
    letter-spacing: 0.05em;
  }

  .steamerPrice dd {
    font-size: max(1vw, 15px);
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: left;
    background-color: var(--cream100);
    padding: 0.9vw 2vw;
    border-radius: 20px;
  }

  .steamerPriceArea {
    display: flex;
  }

  .steamerPrice {
    width: 80%;
  }

  .steamerDetails {
    width: 20%;
    position: relative;
  }

  .steamerDetails img {
    position: absolute;
    width: 8vw;
    left: 2.3vw;
    top: -0.5vw;
    min-width: 95px;
  }

  .steamerBadge {
    position: absolute;
    color: #fff;
    font-size: max(1.3vw, 14px);
    top: -4vw;
    left: 16vw;
    transform: translateX(-50%);
    background-image: url(../img/steamerBadge.png);
    background-repeat: no-repeat;
    background-position: top;
    background-size: contain;
    text-align: center;
    height: 8vw;
    width: 10vw;
    padding-top: 1.6vw;
    letter-spacing: 0;
    line-height: 1.25;
  }

  .steamerBadge span {
    font-size: max(2.2vw, 25px);
  }

  .steamerDetails figure {
    width: 100%;
    height: auto;
  }

  .steamerPdfLink {
    margin: 0 auto 5vw;
    text-align: center;
    font-size: max(1.2vw, 20px);
  }

  .steamerPdfLink p {
    display: inline-block;
    position: relative;
  }

  .steamerPdfLink a::after {
    content: "";
    display: inline-block;
    width: 0.7vw;
    height: 0.9vw;
    background-image: url(../img/black_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
  }

  #voiceSection {
    position: relative;
    margin-top: 0;
    padding-bottom: 9vw;
    background-color: var(--pink50);
  }

  #voiceSection::before {
    content: "";
    position: absolute;
    top: -5vw;
    left: 0;
    width: 100%;
    height: 6vw;
    background-image: url(../img/service_bg_pink.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
  }

  #voiceSection .sectionHeader {
    width: 80%;
    margin: 0 auto 3.8vw;
    text-align: center;
    z-index: 2;
    position: relative;
    padding-top: 2vw;
  }

  #voiceSection .sectionLabel {
    color: #fff;
    position: absolute;
    font-size: max(2vw, 20px);
    top: -4.8vw;
    left: 23vw;
    transform: translateX(-50%);
    background-image: url(../img/priceTag.png);
    background-repeat: no-repeat;
    background-position: top;
    display: inline-block;
    background-size: contain;
    text-align: center;
    height: 8vw;
    width: 8.5vw;
    padding-top: 2vw;
    letter-spacing: 0.03em;
  }

  #voiceSection .sectionLabel span {
    font-size: max(1.7vw, 17px);
  }

  #voiceSection .sectionTitleSub {
    font-size: max(2.1vw, 25px);
    letter-spacing: 0.05em;
    display: inline-block;
    position: relative;
  }

  #voiceSection .sectionTitleSub .dot {
    font-size: max(2.5vw, 30px);
    letter-spacing: 0.05em;
    color: var(--pink150);
    display: inline-block;
    position: relative;
  }

  #voiceSection .sectionTitleSub .dot::before {
    content: "●";
    color: var(--pink150);
    font-size: 0.2em;
    position: absolute;
    top: -0.8em;
    left: 50%;
    transform: translateX(-50%);
  }

  #voiceSection .sectionTitleSub::before {
    background-image: url(../img/productLineUp_title.png);
    content: "";
    display: inline-block;
    width: 2vw;
    height: 2vw;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
    position: absolute;
    top: -0.2vw;
    right: -1.3vw;
    transform: scaleX(-1);
  }

  #voiceSection .sectionTitleMain {
    display: block;
    font-size: max(5.5vw, 30px);
    color: var(--pink150);
    letter-spacing: 0.05em;
    text-shadow: 2px 4px 0 #fff;
    line-height: 1;
  }

  #voiceSection .sectionTitleMain .smallText {
    font-size: max(4vw, 20px);
  }

  .voiceList {
    width: 62%;
    min-width: 900px;
    margin: 0 auto 3.2vw;
  }

  .voiceItem {
    margin-bottom: 5vw;
  }

  .voiceItemInner {
    display: grid;
    grid-template-columns: 11% 89%;
    grid-template-rows: 1fr;
    row-gap: 1vw;
    margin-bottom: 2vw;
  }

  .voiceNumber {
    font-size: max(1.5vw, 22px);
    color: var(--pink100);
    text-align: center;
    line-height: 1;
    letter-spacing: 0.08em;
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
  }

  .voiceNumber span {
    display: block;
    font-size: max(6.5vw, 80px);
    line-height: 1;
    letter-spacing: 0;
  }

  .voiceContent {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    display: flex;
    background-color: #fff;
    align-items: center;
    padding: 1vw 2vw;
    border-radius: 20px;
  }

  .voiceHeadline {
    font-size: max(1.6vw, 24px);
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-align: left;
  }

  .voiceHeadline strong {
    color: var(--pink150);
  }

  .voiceTags {
    display: flex;
    flex-wrap: nowrap;
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }

  .voiceTags li {
    border-radius: 100px;
    padding: 1vw 1.2vw;
    line-height: 1;
    font-size: max(1.2vw, 18px);
    letter-spacing: 0.05em;
  }

  .voiceTags li:nth-of-type(1) {
    color: #fff;
    background-color: var(--pink100);
    margin-right: 0.5vw;
  }

  .voiceTags li:nth-of-type(2) {
    color: var(--pink150);
    background-color: #fff;
  }

  .voiceTextArea {
    background-color: #faeee2;
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
    height: 15.5vw;
  }

  .voiceText {
    font-size: max(1.25vw, 15px);
    line-height: 1.7;
    letter-spacing: 0.05em;
    width: 67%;
    display: block;
    padding: 2.6vw 1vw 0 3.2vw;
  }

  .voiceImage {
    width: 33%;
    display: flex;
    justify-content: center;
  }

  .voiceList .voiceItem:nth-of-type(1) .voiceImage img {
    width: 18vw;
    margin-top: -2.46vw;
  }

  .voiceList .voiceItem:nth-of-type(2) .voiceImage img {
    width: 19vw;
    margin-top: -2.76vw;
  }

  .voiceList .voiceItem:nth-of-type(3) .voiceImage img {
    width: 17.2vw;
    margin-top: -3.3vw;
  }

  #faqSection {
    position: relative;
    margin-top: 4vw;
    padding-bottom: 13.6vw;
    background-color: var(--cream100);
  }

  #faqSection::before {
    content: "";
    position: absolute;
    top: -10vw;
    left: 0;
    width: 100%;
    height: 19vw;
    background-image: url(../img/service_bg_top.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
  }

  #faqSection .sectionHeader {
    width: 80%;
    margin: 0 auto 5vw;
    text-align: center;
    z-index: 2;
    position: relative;
    font-size: max(4vw, 30px);
    letter-spacing: 0.15em;
  }

  #faqSection .sectionHeader::after {
    content: "";
    display: block;
    height: 8px;
    width: 39%;
    background-image: radial-gradient(
      circle,
      var(--brown100) 0 4px,
      transparent 4px
    );
    background-size: 20px 8px;
    background-repeat: repeat-x;
    background-position: left center;
    background-origin: content-box;
    margin: 1.2vw auto 0;
  }

  #faqSection .sectionHeader::before {
    content: "";
    position: absolute;
    top: -13.3vw;
    left: 0;
    width: 20vw;
    height: 29vw;
    background-image: url(../img/faq_icon.png);
    background-repeat: no-repeat;
    background-size: 20vw;
    z-index: 3;
  }

  .faqList {
    width: 58%;
    min-width: 800px;
    margin: 0 auto 6vw;
    position: relative;
    z-index: 5;
  }

  .faqItem {
    margin-bottom: 2.5vw;
  }

  .faqQuestion {
    background-color: #fff;
    border-radius: 10px;
    padding: 1.3vw 2.4vw;
    line-height: 1;
    font-size: max(1.4vw, 18px);
    letter-spacing: 0.09em;
    margin-bottom: 1.3vw;
  }

  .faqQuestion span {
    color: var(--pink100);
    font-size: max(1.4vw, 20px);
    margin-right: 0.7vw;
  }

  .faqAnswer {
    width: 92%;
    margin: 0 auto;
    font-size: max(1.1vw, 15px);
    letter-spacing: 0.09em;
    line-height: 1.7;
  }

  #luxuryBentoSection {
    position: relative;
    margin-top: 0;
    padding-bottom: 6vw;
    background-color: var(--brown50);
  }

  #luxuryBentoSection::before {
    content: "";
    position: absolute;
    top: -6vw;
    left: 0;
    width: 100%;
    height: 7vw;
    background-image: url(../img/service_bg_brown.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
  }

  .luxuryBentoTitle {
    text-align: center;
    padding-top: 2.5vw;
    margin-bottom: 4vw;
    color: #fff;
    position: relative;
  }

  .luxuryBentoTitle01 {
    font-size: max(4.4vw, 30px);
    display: inline-block;
    line-height: 1;
    position: relative;
    letter-spacing: 0.05em;
    margin-bottom: 1vw;
  }

  .luxuryBentoTitle01::after {
    content: "";
    display: inline-block;
    width: 3.6vw;
    height: 3.6vw;
    background-image: url(../img/luxuryBentoExtraTitle_deco.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -1.56vw;
    right: -2.6vw;
  }

  .luxuryBentoTitle01 .colorPink02 {
    color: var(--pink80);
  }

  .luxuryBentoTitle02 {
    font-size: max(3.7vw, 25px);
    letter-spacing: 0.09em;
    display: block;
  }

  .luxuryBentoTitle01::before {
    content: "";
    position: absolute;
    top: -6.3vw;
    left: -25vw;
    width: 19vw;
    height: 23vw;
    background-image: url(../img/luxuryBentoSection_user.png);
    background-repeat: no-repeat;
    background-size: 19vw;
    z-index: 3;
  }

  .luxuryBentoContent {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
    position: relative;
    z-index: 5;
  }

  .luxuryBentoImage {
    width: 78.5%;
  }

  .luxuryBentoImage img {
    width: 100%;
    height: auto;
    border-radius: 0 50px 50px 0;
  }

  .luxuryBentoSideMessage {
    width: 21.5%;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
  }

  .luxuryBentoBadge {
    width: 11vw;
    height: 8vw;
    font-size: max(1.5vw, 17px);
    line-height: 1;
    padding-top: 3.1vw;
    padding-left: 0;
    color: #fff;
    background-image: url(../img/luxuryBentoIntro_bg.png);
    background-repeat: no-repeat;
    display: inline-block;
    background-size: contain;
    position: absolute;
    top: -6.4vw;
    right: 6.3vw;
    text-align: center;
  }

  .luxuryBentoSideText {
    font-size: max(2.7vw, 20px);
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin: 3vw 3vw 0 1vw;
    writing-mode: vertical-rl;
    text-orientation: upright;
    color: #fff;
    letter-spacing: 0.1em;
  }

  .luxuryBentoSideText .colorPink02 {
    font-size: max(3.3vw, 25px);
    color: var(--pink80);
    margin-top: -0.4vw;
  }

  .luxuryBentoScene {
    width: 80%;
    min-width: 900px;
    margin: 2vw auto 0;
    text-align: center;
    color: #fff;
    position: relative;
  }

  .luxuryBentoSceneTitle {
    font-size: max(2.7vw, 25px);
    line-height: 1;
    margin-bottom: 3vw;
    display: inline-block;
    position: relative;
  }

  .luxuryBentoSceneTitle strong {
    font-size: max(3.7vw, 35px);
    line-height: 1;
    margin-bottom: 1vw;
  }

  .luxuryBentoSceneTitle strong .colorPink02 {
    color: var(--pink150);
  }

  .luxuryBentoSceneTitle::before {
    content: "";
    display: inline-block;
    width: 1.2vw;
    height: 3vw;
    background: url(../img/line_left_white.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 2.3vw;
    left: -2.2vw;
    transform: translateY(-50%);
  }

  .luxuryBentoSceneTitle::after {
    content: "";
    display: inline-block;
    width: 1.2vw;
    height: 3vw;
    background: url(../img/line_right_white.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 2.3vw;
    right: -2.2vw;
    transform: translateY(-50%);
  }

  .luxuryBentoSceneList {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
    margin-bottom: 1vw;
    width: 82%;
    margin: 0 auto 3vw;
  }

  .luxuryBentoSceneList li {
    font-size: max(1.7vw, 20px);
    line-height: 1.5;
    border: 7px solid #fff;
    border-radius: 25px;
    padding: 1.5vw 0 1.7vw;
    width: 47%;
    text-align: center;
  }

  .luxuryBentoFormBtn {
    margin-bottom: 4vw;
  }

  .luxuryBentoFormBtn a {
    font-size: max(1.5vw, 20px);
    line-height: 1;
    padding: 0.9vw 5vw;
    border-radius: 100px;
    background-color: var(--pink100);
    color: #fff;
    display: inline-block;
    position: relative;
  }

  .luxuryBentoFormBtn a::after {
    content: "";
    display: inline-block;
    width: 1vw;
    height: 1.4vw;
    background-image: url(../img/white_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 1.5vw;
  }

  .luxuryBentoExtra {
    width: 80%;
    margin: 0 auto;
    text-align: center;
    position: relative;
  }

  .luxuryBentoExtraLabel {
    height: 9vw;
    width: 9.5vw;
    font-size: max(2vw, 25px);
    transform: translateX(-50%);
    background-image: url(../img/luxuryBentoExtraLabel.png);
    background-repeat: no-repeat;
    display: inline-block;
    background-size: contain;
    position: absolute;
    top: -4vw;
    left: 10vw;
    padding-top: 2vw;
    padding-left: 0;
    line-height: 1.1;
    text-align: center;
    z-index: 999;
  }

  .luxuryBentoExtraTitle {
    background-color: var(--brown80);
    color: #fff;
    font-size: max(2vw, 20px);
    line-height: 1;
    padding: 2.7vw 0;
    border-radius: 20px 20px 0 0;
    width: 78%;
    margin: 0 auto;
    position: relative;
  }

  .luxuryBentoExtraTitle strong {
    font-size: max(2.5vw, 25px);
    line-height: 1;
  }

  .luxuryBentoExtraTitle::after {
    content: "";
    display: inline-block;
    width: 2.5vw;
    height: 2.5vw;
    background-image: url(../img/luxuryBentoExtraTitle_deco.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 2.2vw;
    right: 3vw;
  }

  .luxuryBentoExtraContent {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
    width: 78%;
    margin: 0 auto;
    background-color: var(--cream100);
    border-radius: 0 0 20px 20px;
  }

  .luxuryBentoExtraContent img {
    width: 40%;
    border-radius: 0 0 0 20px;
  }

  .luxuryBentoExtraText {
    width: 60%;
    font-size: max(1.5vw, 15px);
    line-height: 1.7;
    letter-spacing: 0.09em;
    padding: 2vw 0;
  }

  .luxuryBentoExtraText p {
    width: 75%;
    margin: 0 auto;
    margin-bottom: 1vw;
    text-align: left;
  }

  .luxuryBentoExtraText a {
    font-size: max(1.6vw, 15px);
    line-height: 1;
    width: 100%;
    margin: 0 auto;
    text-align: left;
    display: inline-block;
    background-color: var(--brown80);
    color: #fff;
    padding: 0.7vw 2vw 0.8vw;
    border-radius: 100px;
    display: inline-block;
    position: relative;
    text-align: center;
    letter-spacing: 0;
  }

  .luxuryBentoExtraText a::after {
    content: "";
    display: inline-block;
    width: 1vw;
    height: 1.4vw;
    background-image: url(../img/white_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 1.5vw;
    top: 0.9vw;
  }

  #siteFooter {
    padding: 4vw 0;
  }

  .footerInner {
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: nowrap;
  }

  .footerLogoArea {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: nowrap;
  }

  .footerLogo {
    margin-right: 2vw;
  }

  .footerLogoImg {
    display: block;
    width: 16vw;
    margin-bottom: 0.5vw;
  }

  .footerLogoText {
    font-size: max(1.1vw, 15px);
    letter-spacing: 0.05em;
  }

  .footerLogoTextSub {
    font-size: max(0.9vw, 10px);
    margin-left: 0.5vw;
  }

  .footerAddress {
    font-size: max(1.1vw, 15px);
    letter-spacing: 0.05em;
  }

  .footerLink a {
    font-size: max(1.3vw, 15px);
    position: relative;
  }

  .footerLink a::after {
    content: "";
    display: inline-block;
    width: 0.7vw;
    height: 0.9vw;
    background-image: url(../img/black_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: 0.2vw;
  }
}

/* SP */
@media screen and (max-width: 1023px) {
  .pc_only {
    display: none !important;
  }

  .sp_only {
    display: inline-block !important;
  }

  /* mainVisual */
  #mainVisual {
    width: 100%;
    background-image: url(../img/sp_mainimg_bg.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    position: relative;
    height: 139.5vw;
    margin-bottom: 51vw;
  }

  .mainLogo img {
    width: 25%;
    height: auto;
    position: absolute;
    top: 3vw;
    left: 3vw;
    z-index: 2;
  }

  .mainCopy01 img {
    position: absolute;
    width: 65%;
    right: 0;
    top: 3vw;
  }

  .mainCopy02 img {
    position: absolute;
    width: 85%;
    left: 50%;
    top: 17vw;
    transform: translateX(-50%);
  }

  .mainCopy03 img {
    position: absolute;
    width: 89%;
    left: 52%;
    top: 41.5vw;
    transform: translateX(-50%);
  }

  .mainVisualSideCopy {
    width: 20%;
    height: auto;
    position: absolute;
    top: 58.4vw;
    right: 2.5%;
    z-index: 2;
  }

  .mainVisualMeritBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 93%;
    height: auto;
    position: absolute;
    top: 111vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
  }

  .mainVisualMeritDetail {
    width: 32%;
    height: auto;
    position: relative;
  }

  .mainVisualCvIcon {
    width: 100%;
    height: auto;
    position: absolute;
    top: 139vw;
    text-align: center;
  }

  .mainVisualCvIcon::before {
    content: "";
    position: absolute;
    top: -10vw;
    left: 0;
    width: 100%;
    height: 19vw;
    background-image: url(../img/top_cviconbtn_bg.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
  }

  .cvBtnMainCopy {
    display: inline-block;
    padding: 6vw 7.5vw 0;
    font-size: max(1.3vw, 22px);
    line-height: 1.5;
    letter-spacing: 0.09em;
    width: 100%;
  }

  .cvBtnSubCopy {
    display: inline-block;
    background-color: var(--pink100);
    color: var(--pink100);
    padding: 1.6vw 2vw 7vw;
    font-size: max(1.34vw, 15px);
    line-height: 1.5;
    letter-spacing: 0.09em;
    width: 100%;
    position: relative;
  }

  .cvBtnSubCopyText {
    background-color: #fff;
    display: inline-block;
    width: 75%;
    border-radius: 5px;
    padding: 1.3vw 0 0.8vw;
    font-size: max(4vw, 17px);
  }

  .cvBtnSubCopy::after {
    content: "";
    display: inline-block;
    width: 2vw;
    height: 3.5vw;
    background-image: url(../img/pink02_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 15.5vw;
    top: calc(50% - 3.9vw);
  }

  /* problem */
  .problemTitleArea {
    text-align: center;
    margin: 10vw auto 3vw;
  }

  .problemTitleArea h3 {
    font-size: max(4vw, 16px);
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 5vw;
    display: inline-block;
    position: relative;
  }

  .problemTitleArea h3 strong {
    font-size: max(5vw, 18px);
    position: relative;
    font-weight: 900;
  }

  .problemTitleArea h3 strong::after {
    bottom: 0.2em;
    height: 0.5em;
    border-radius: 0.25em;
  }

  .problemSubTitle h3::before {
    content: "";
    display: inline-block;
    width: 45%;
    height: 57%;
    background: url(../img/line_left.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 9vw;
    left: -6vw;
    transform: translateY(-50%);
  }

  .problemSubTitle h3::after {
    content: "";
    display: inline-block;
    width: 45%;
    height: 57%;
    background: url(../img/line_right.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 9vw;
    right: -21vw;
    transform: translateY(-50%);
  }

  .problemTitleBusinesscategoryArea {
    position: relative;
    margin-bottom: 3vw;
    display: flex;
    justify-content: center;
  }

  .problemTitleBusinesscategory {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5vw 1vw;
    width: 90%;
  }

  .problemTitleBusinesscategoryDetail {
    font-size: max(4vw, 15px);
    line-height: 1.5;
    margin-bottom: 1vw;
    letter-spacing: 0.09em;
    display: inline-block;
    position: relative;
    padding: 1vw 1.8vw;
    border-radius: 100px;
  }

  .problemTitleBusinesscategoryDetail:nth-of-type(3) {
    margin-right: 2vw;
  }

  .problemTitleBusinesscategoryText {
    font-size: max(4vw, 14px);
    position: absolute;
    right: 11%;
    top: 10.5vw;
    font-weight: 900;
  }

  .problemMainTitle {
    font-size: max(6.5vw, 27px);
    height: auto;
    margin: 1vw auto 0;
    display: block;
    font-weight: 900;
    letter-spacing: 0;
  }

  .problemMainTitle .dot {
    display: inline-block;
    position: relative;
    color: var(--pink100);
  }

  .problemMainTitle .dot::before {
    content: "●";
    color: var(--pink100);
    font-size: 0.2em;
    position: absolute;
    top: -0.5em;
    left: 50%;
    transform: translateX(-50%);
  }

  .problemWorries {
    width: 90%;
    margin: 0 auto;
    position: relative;
    height: 112vw;
  }

  .problemWorries::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/problemWorries_user.png) no-repeat;
    background-size: 25vw;
    background-position: 32vw 80vw;
    z-index: 999;
  }

  .problemWorriesDetail {
    font-size: max(3.5vw, 13px);
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
  }
  .problemWorriesDetail strong {
    font-size: max(4.1vw, 15px);
    letter-spacing: 0;
  }

  .problemWorriesDetail:nth-child(1) {
    background: url(../img/sp_problemWorriesDetail01_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 4vw;
    left: -2vw;
    width: 53%;
    height: 34vw;
    padding-top: 14vw;
    padding-right: 0;
  }

  .problemWorriesDetail:nth-child(1)::before {
    width: 8.5vw;
    height: 8.5vw;
    top: 7.6vw;
    left: 24.5vw;
    transform: translateX(-50%) translateY(-50%);
  }

  .problemWorriesDetail:nth-child(2) {
    background: url(../img/sp_problemWorriesDetail02_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 32vw;
    left: 26vw;
    width: 53%;
    height: 32vw;
    padding-top: 15vw;
    padding-right: 0;
  }

  .problemWorriesDetail:nth-child(2)::before {
    width: 8.5vw;
    height: 8.5vw;
    top: 9vw;
    left: 25.2vw;
    transform: translateX(-50%) translateY(-50%);
  }

  .problemWorriesDetail:nth-child(3) {
    background: url(../img/sp_problemWorriesDetail03_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 4.2vw;
    right: -2vw;
    width: 44%;
    height: 30vw;
    padding-top: 13.5vw;
    padding-right: 0;
  }

  .problemWorriesDetail:nth-child(3)::before {
    position: absolute;
    width: 9.5vw;
    height: 9.5vw;
    top: 8vw;
    right: 10vw;
    transform: translateX(-50%) translateY(-50%);
  }

  .problemWorriesDetail:nth-child(4) {
    background: url(../img/sp_problemWorriesDetail04_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 62.5vw;
    right: 0;
    width: 47%;
    height: 33vw;
    padding-top: 14.8vw;
    padding-right: 0;
  }

  .problemWorriesDetail:nth-child(4)::before {
    width: 8.5vw;
    height: 8.5vw;
    top: 9.5vw;
    right: 13vw;
    transform: translateX(-50%) translateY(-50%);
  }

  .problemWorriesDetail:nth-child(5) {
    background: url(../img/sp_problemWorriesDetail05_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 57vw;
    left: -2vw;
    width: 54%;
    height: 33.5vw;
    padding-top: 16vw;
    padding-right: 0;
  }

  .problemWorriesDetail:nth-child(5)::before {
    width: 10vw;
    height: 10vw;
    top: 9vw;
    left: 24.5vw;
    transform: translateX(-50%) translateY(-50%);
  }

  /* service */
  #service {
    position: relative;
    margin-top: 5vw;
  }

  #service::before {
    content: "";
    position: absolute;
    top: -13vw;
    left: 0;
    width: 100%;
    height: 19vw;
    background-image: url(../img/service_bg_top.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
  }

  #service::after {
    content: "";
    position: absolute;
    bottom: -6vw;
    left: 0;
    width: 100%;
    height: 19vw;
    background-image: url(../img/sp_service_bg_bottom.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    z-index: 1;
  }

  .serviceTitleArea {
    width: 90%;
    margin: 0 auto 9vw;
    text-align: center;
    position: relative;
    z-index: 9999;
  }

  .serviceTitle p {
    font-size: min(4.5vw, 14px);
    line-height: 1.5;
    letter-spacing: 0.09em;
    display: inline-block;
    padding: 0.28vw 7vw;
    font-weight: 900;
    border-radius: 24px;
    position: relative;
    z-index: 999;
  }

  .serviceTitle p strong {
    font-size: min(5vw, 19px);
  }

  .serviceTitle h3 img {
    margin-top: -1.2vw;
    padding-right: 3vw;
  }

  .costDownArea {
    position: relative;
  }

  .costDownDetailTitle {
    position: relative;
    text-align: center;
    font-size: max(5.3vw, 21px);
    font-weight: 900;
    line-height: 1.5;
    margin-bottom: 8vw;
  }

  .costDownDetailTitle::before {
    content: "";
    display: inline-block;
    width: 5%;
    height: 74%;
    background: url(../img/sp_line_left.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 9vw;
    left: 10vw;
    transform: translateY(-50%);
  }

  .costDownDetailTitle::after {
    content: "";
    display: inline-block;
    width: 5%;
    height: 74%;
    background: url(../img/sp_line_right.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 9vw;
    right: 10vw;
    transform: translateY(-50%);
  }

  .costDownDetailList {
    margin-bottom: 29vw;
  }
  .costDownDetailListDetail {
    position: relative;
    margin-bottom: 8vw;
  }

  .costDownDetailListDetail:last-of-type {
    margin-bottom: 0;
  }

  .costDownDetailListDetail:first-of-type::after {
    content: "";
    position: absolute;
    top: -16vw;
    left: -3.4vw;
    width: 100%;
    height: 29vw;
    background-image: url(../img/service_user.png);
    background-repeat: no-repeat;
    background-size: 29vw;
    background-position: 71vw 0.8vw;
    z-index: 999;
  }

  .costDownDetailListDetailNumber {
    font-size: max(2vw, 9px);
    line-height: 0.2;
    width: 18vw;
    height: 18vw;
    border-radius: 50%;
    position: absolute;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    padding-top: 1.2vw;
    top: -5vw;
    left: 9vw;
  }

  .costDownDetailListDetailNumber strong {
    font-size: max(8vw, 32px);
    letter-spacing: 0.01em;
    padding-bottom: 0.1vw;
    display: inline-block;
    line-height: 0;
  }

  .costDownDetailListDetailBox {
    width: 70%;
    height: 100%;
    background-color: var(--pink50);
    border-radius: 30px;
    padding: 5vw 3.4vw 6vw;
    margin: 0 auto 2vw;
    text-align: center;
  }

  .costDownDetailListDetailBox dt {
    font-size: max(8vw, 30px);
    letter-spacing: 0.05em;
  }

  .costDownDetailListDetailBox dt::after {
    content: "";
    display: block;
    height: 5px;
    width: 100%;
    background-image: radial-gradient(
      circle,
      #fbf2ee 0 2.5px,
      transparent 2.5px
    );
    background-size: 13px 5px;
    background-repeat: repeat-x;
    background-position: left center;
    background-origin: content-box;
    margin: 1.6vw 0;
  }

  .costDownDetailListDetailBox dd {
    font-size: max(4.5vw, 18px);
    letter-spacing: 0.05em;
  }

  .costDownDetailListDetailText {
    font-size: max(4vw, 15px);
    letter-spacing: 0.02em;
    width: 80%;
    margin: 0 auto;
    text-align: center;
  }

  .costDownIntro {
    color: #fff;
    background-image: url(../img/sp_costDownIntro_bg.png);
    background-repeat: no-repeat;
    background-position: top;
    display: inline-block;
    background-size: contain;
    text-align: center;
    width: 24vw;
    height: 21vw;
    font-size: max(4.5vw, 16px);
    line-height: 1.3;
    letter-spacing: 0.09em;
    padding-top: 4vw;
    padding-left: 0.1vw;
  }

  .costDownTitle {
    position: absolute;
    bottom: 0;
    display: flex;
    align-items: center;
    top: 164vw;
    left: 7vw;
  }

  .costDownTitle h3 {
    font-size: max(6vw, 23px);
    line-height: 1.3;
    letter-spacing: 0.09em;
    padding-left: 2vw;
  }

  .costDownMerit {
    width: 85%;
    background-color: #fff;
    margin: 0 auto 9vw;
    padding: 7vw 11vw 7vw 17vw;
    border-radius: 30px;
    font-size: max(4vw, 16px);
    text-align: left;
    position: relative;
  }

  .costDownMeritDetail::before {
    width: 8vw;
    height: 6.4vw;
    margin-right: 0.5em;
  }

  .costDownMeritDetail {
    text-indent: -2.3em;
    padding-left: 1em;
    margin-bottom: 3.5vw;
    line-height: 1.4;
  }

  .costDownMeritDetail:last-of-type {
    margin-bottom: 0;
  }

  .delicious {
    position: relative;
    padding-top: 4vw;
  }

  .deliciousSubTitle {
    font-size: max(4vw, 16px);
    line-height: 1.5;
    color: var(--pink100);
    background-image: url(../img/deliciousSubTitle_bg.png);
    background-repeat: no-repeat;
    display: inline-block;
    background-size: contain;
    width: 20vw;
    height: 18vw;
    padding-top: 5.5vw;
    padding-left: 0;
    margin-bottom: 3vw;
    letter-spacing: 0;
  }

  .deliciousTitleArea01 {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }

  .delicioush2SubTitle {
    font-size: max(5vw, 18px);
    letter-spacing: 0.09em;
    line-height: 1;
    display: inline-block;
    margin-left: -4vw;
  }

  .deliciousTitleArea h2 {
    font-size: max(7vw, 23px);
    text-align: center;
    margin-bottom: 4vw;
  }

  .deliciousTitleArea h2 strong {
    display: inline-block;
    font-size: max(9vw, 37px);
    letter-spacing: 0;
    margin-right: -3.5vw;
    margin-inline-start: -5vw;
  }

  .deliciousTitleArea h2::after {
    content: "";
    position: absolute;
    top: -41vw;
    right: 0;
    width: 36vw;
    height: 69vw;
    background-image: url(../img/service_user_02.png);
    background-repeat: no-repeat;
    background-size: 34vw;
    z-index: 999;
  }

  .deliciousText {
    width: 90%;
    margin: 0 auto 4vw;
    text-align: center;
    font-size: max(4vw, 15px);
    letter-spacing: 0.05em;
    line-height: 1.7;
  }

  .deliciousIndustryArea {
    width: 80%;
    margin: 0 auto 5vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    gap: 0 2vw;
  }

  .deliciousIndustryArea li {
    background-color: var(--pink10);
    width: 25vw;
    height: 25vw;
    border-radius: 1000px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: max(3.7vw, 14px);
    letter-spacing: 0.05em;
  }

  .deliciousIndustryArea li:nth-of-type(4),
  .deliciousIndustryArea li:nth-of-type(5) {
    margin-top: -2vw;
  }

  .deliciousIndustryText {
    width: 100%;
    margin: 0 auto 5vw;
    text-align: center;
    font-size: max(4vw, 20px);
    letter-spacing: 0.05em;
    line-height: 1.2;
  }

  .deliciousIndustryText strong {
    font-size: max(6vw, 36px);
  }

  .deliciousspan01 {
    font-size: max(6vw, 24px);
    font-weight: 900;
  }

  .deliciousspan02 {
    font-size: max(9vw, 32px);
  }

  .deliciousIndustryTextDetail {
    width: 80%;
    margin: 0 auto 9vw;
    text-align: center;
  }

  .deliciousIndustryTextDetail dt {
    font-size: max(4vw, 15px);
    letter-spacing: 0;
    padding: 0.8vw 3vw;
    border-radius: 100px;
    display: inline-block;
  }

  .deliciousIndustryTextDetail dd {
    width: 100%;
    margin: -3.5vw auto 0;
    padding: 5.5vw 8vw 4.5vw;
    font-size: max(4vw, 17px);
    border-radius: 20px;
    text-align: center;
    letter-spacing: 0;
  }

  .deliciousIndustryTextDetail dd strong {
    font-size: max(5vw, 21px);
    letter-spacing: 0;
    margin-right: -0.5em;
    margin-left: -1em;
  }

  .deliciousMenuImages {
    display: flex;
    width: 100%;
  }

  #service .cvBtnArea {
    background-color: var(--pink50);
    padding: 10vw 0;
  }

  .cvBtnArea {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  .cvBtnArea a .cvBtnShipping {
    display: inline-block;
    height: auto;
    margin: 0 auto;
    padding: 1.1vw 10vw 1.75vw;     /* ← これだけでもマシにはなる */
    line-height: 1;        /* ← 行間を詰める */
    border-radius: 100px;
    font-size: max(4.2vw, 17px);
    border: var(--pink100) 3px solid;
    letter-spacing: 0.05em;
    z-index: 2;
    position: relative;
    font-weight: 900;
  }

  .cvBtnArea a .cvBtnMainCopy {
    width: 80%;
    display: block;
    height: auto;
    margin: -4.5vw auto 0;
    padding: 3vw 0 2vw;
    border-radius: 10px;
    font-size: max(4vw, 16px);
    border: var(--pink100) 5px solid;
    letter-spacing: 0.05em;
    z-index: 1;
    position: relative;
  }

  .cvBtnArea a .cvBtnMainCopy strong {
    font-size: max(6vw, 23px);
  }

  #productLineUp {
    margin-top: 14.5vw;
    padding-bottom: 18vw;
  }

  .productLineUpTitleArea {
    margin: 0 auto 7vw;
    text-align: center;
    z-index: 2;
    position: relative;
  }

  .productLineUpSubTitleDetail {
    font-size: max(5vw, 20px);
    list-style: 1;
  }

  .productLineUpSubTitleDetailSpan {
    background-color: var(--pink100);
    color: #fff;
    padding: 0.2vw 2vw 0.6vw;
    border-radius: 100px;
    display: inline-block;
    line-height: 1;
    font-size: max(4.5vw, 16px);
    margin-right: 0.5vw;
    letter-spacing: 0.05em;
  }

  .productLineUpSubTitleDetailSpan02 {
    font-size: max(3.7vw, 17px);
  }

  .productLineUpSubTitleDetail strong {
    font-size: max(6vw, 26px);
  }

  .productLineUpMainTitle {
    position: relative;
    margin: -0.5vw auto 0;
    text-align: center;
  }

  .productLineUpMainTitle p:nth-of-type(1) {
    margin: -1.5vw auto;
    font-size: max(10.5vw, 38px);
    color: var(--pink100);
    position: relative;
    letter-spacing: 0;
    display: inline-block;
  }

  .productLineUpMainTitle p:nth-of-type(1)::before {
    background-image: url(../img/productLineUp_title.png);
    content: "";
    display: inline-block;
    width: 5.2vw;
    height: 5.2vw;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
    position: absolute;
    top: 0.2vw;
    left: -3vw;
  }

  .productLineUpMainTitle p:nth-of-type(2) {
    position: absolute;
    width: 20%;
    right: 4vw;
    top: -22vw;
  }

  .productLineUpDetailArea h3 {
    font-size: max(6vw, 21px);
    line-height: 1.5;
    text-align: center;
    margin-bottom: 3vw;
  }

  .productLineUpDetailTitle01 {
    display: block;
    margin: 0 auto;
    position: relative;
    text-align: center;
    font-size: max(4vw, 15px);
  }

  .productLineUpDetailTitle01::before {
    content: "";
    display: inline-block;
    width: 0.5em;
    height: 1em;
    background-image: url(../img/line_left_02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
    position: relative;
    top: 50%;
    left: -1.3vw;
    transform: translateY(20%);
  }

  .productLineUpDetailTitle01::after {
    content: "";
    display: inline-block;
    width: 0.5em;
    height: 1em;
    background-image: url(../img/costDownDetailTitle_right.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
    position: relative;
    top: 50%;
    right: -1.3vw;
    transform: translateY(20%);
  }

  .productLineUpDetailList {
    width: 85%;
    margin: 0 auto 3vw;
  }

  .productLineUpDetailListDetail {
    margin-bottom: 8vw;
    position: relative;
  }

  .productLineUpDetailList img {
    border-radius: 20px 20px 0 0;
    display: block;
  }

  .productLineUpDetailList figcaption dt {
    width: 16vw;
    height: 15.5vw;
    background-color: var(--pink50);
    color: var(--pink100);
    font-size: max(8vw, 33px);
    letter-spacing: 0;
    border-radius: 0 19px 0 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    position: absolute;
    top: 0;
    right: 0;
  }

  .productLineUpDetailList figcaption dd {
    width: 100%;
    background-color: var(--cream100);
    font-size: max(3vw, 12px);
    border-radius: 0 0 20px 20px;
    padding: 3vw 4vw 3vw 0;
    text-indent: -0.5em;
    padding-left: 1em;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: justify;
  }

  .productLineUpMerit {
    width: 85%;
    margin: 0 auto 2.8vw;
    text-align: left;
    font-size: max(4.5vw, 16px);
    letter-spacing: 0;
    line-height: 1.9;
  }

  .productLineUpMerit::before {
    content: "";
    position: absolute;
    width: 29vw;
    height: 43vw;
    right: 0;
    background-image: url(../img/productLineUp_user.png);
    background-repeat: no-repeat;
    background-size: 30vw;
    z-index: 999;
  }

  .productLineUpMerit strong {
    position: relative;
  }

  .productLineUpMerit strong::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    background-color: var(--pink50);
    z-index: -1;
    font-size: max(2.4vw, 23px);
    bottom: 0;
    height: 0.45em;
    border-radius: 0.25em;
  }

  .productLineUpMerit::after {
    content: "";
    display: block;
    height: 8px; /* ←ドットの直径に揃える */
    width: 74%;
    background-image: radial-gradient(
      circle,
      var(--pink50) 0 4px,
      transparent 4px
    );
    background-size: 20px 8px; /* ← 横幅はお好み（16pxならドットと同じ間隔） */
    background-repeat: repeat-x;
    background-position: left center;
    background-origin: content-box;
    margin: 8vw 0;
  }

  .productLineUpMeritDetail {
    width: 100%;
    margin: 0 auto 10vw;
    text-align: center;
  }

  .productLineUpMeritDetailTitle {
    font-size: max(7vw, 28px);
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 1.5vw;
    color: var(--pink100);
  }

  .productLineUpMeritDetailTitle span {
    font-size: min(5.5vw, 23px);
  }

  .productLineUpMeritDetailText ul {
    width: 75%;
    margin: 0 auto;
  }

  .productLineUpMeritDetailText ul li {
    font-size: max(4.3vw, 17px);
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
    border: 3px solid var(--pink50);
    border-radius: 12px;
    padding: 1vw 0.5vw 1.2vw;
    margin-bottom: 2vw;
  }

  .productLineUpMeritDetailText ul li:last-of-type {
    margin-bottom: 0;
  }

  .priceBox {
    width: 100%;
    margin: 0 auto 9vw;
    text-align: center;
  }

  .priceHeading {
    width: 75%;
    margin: 0 auto;
    font-size: max(5vw, 19px);
    color: #fff;
    background-color: var(--pink100);
    padding: 2vw 0 1.7vw;
    border-radius: 100px;
    position: relative;
    z-index: 2;
  }

  .priceHeading .dot {
    display: inline-block;
    position: relative;
  }

  .priceHeading .dot::before {
    content: "●";
    color: #fff;
    font-size: 0.2em;
    position: absolute;
    top: -0.8em;
    left: 50%;
    transform: translateX(-50%);
  }

  .priceContent {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1;
  }

  .priceUpper {
    background-color: var(--cream100);
    width: 90%;
    margin: -4.3vw auto 0;
    padding: 6vw 3vw 6.8vw;
    border-radius: 50px 50px 0 0;
    text-align: center;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
  }

  .priceUpperContent {
    width: 40%;
    margin: 3vw auto 0;
  }

  .priceNote {
    font-size: max(3.8vw, 13px);
    letter-spacing: 0.05em;
    margin-bottom: 0.6vw;
  }

  .priceNote::before {
    content: "";
    display: inline-block;
    width: 0.7em;
    height: 1.1em;
    background-image: url(../img/line_left_02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
    position: relative;
    top: 50%;
    transform: translateY(20%);
  }

  .priceNote::after {
    content: "";
    display: inline-block;
    width: 0.7em;
    height: 1.1em;
    background-image: url(../img/costDownDetailTitle_right.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
    position: relative;
    top: 50%;
    transform: translateY(20%);
  }

  .priceCase {
    font-size: max(4.1vw, 14px);
    background-color: #fff;
    border-radius: 100px;
    padding: 0.3vw 2vw;
    display: inline-block;
  }

  .priceCase strong {
    font-size: max(4.8vw, 21px);
    border-radius: 100px;
    line-height: 1;
  }

  .pricePerMeal {
    width: 60%;
    font-size: max(6.3vw, 20px);
    letter-spacing: 0.05em;
    margin-bottom: 0.6vw;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }

  .pricePerMeal span {
    font-size: max(7.5vw, 28px);
    line-height: 1.3;
  }

  .pricePerMeal strong {
    font-size: max(17.5vw, 50px);
    border-radius: 100px;
    line-height: 1;
    color: var(--pink100);
    letter-spacing: -0.03em;
  }

  .priceLower {
    background-color: var(--pink20);
    width: 90%;
    margin: 0 auto;
    padding: 8vw 0 5.5vw;
    border-radius: 0 0 50px 50px;
    text-align: center;
    position: relative;
  }

  .priceTag {
    color: #fff;
    position: absolute;
    font-size: max(3.5vw, 13px);
    top: -6vw;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../img/priceTag.png);
    background-repeat: no-repeat;
    background-position: top;
    display: inline-block;
    background-size: contain;
    text-align: center;
    height: 13vw;
    width: 15vw;
    padding-top: 3.6vw;
    letter-spacing: 0;
  }

  .priceDescription {
    font-size: max(3.6vw, 14px);
    margin-bottom: 0.6vw;
    letter-spacing: 0.05em;
  }

  .freeShipping {
    font-size: max(6.7vw, 23px);
    margin-bottom: 0.4vw;
  }

  .freeShipping strong {
    font-size: max(9vw, 42px);
    line-height: 1;
    letter-spacing: 0.06em;
  }

  .priceNoteSmall {
    font-size: max(3vw, 12px);
    margin-bottom: 4vw;
    letter-spacing: 0.05em;
  }

  .deliveryCoverage {
    background-color: var(--pink10);
    border-radius: 100px;
    font-size: max(3.5vw, 14px);
    display: inline-block;
    padding: 1.3vw 6vw;
    color: var(--pink100);
    line-height: 1;
    letter-spacing: 0.09em;
  }

  .riceOptionSection {
    width: 100%;
    margin: 11vw auto 10vw;
    text-align: center;
  }

  .riceOptionHeading {
    font-size: max(5vw, 21px);
    line-height: 1;
    margin-bottom: 2.5vw;
    letter-spacing: 0;
  }

  .riceOptionHeading::after {
    content: "";
    display: block;
    height: 8px; /* ←ドットの直径に揃える */
    width: 90%;
    background-image: radial-gradient(
      circle,
      var(--pink50) 0 4px,
      transparent 4px
    );
    background-size: 20px 8px; /* ← 横幅はお好み（16pxならドットと同じ間隔） */
    background-repeat: repeat-x;
    background-position: left center;
    background-origin: content-box;
    margin: 5vw auto;
  }

  .riceOptionContent {
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    position: relative;
  }

  .riceOptionImage {
    width: 45%;
    padding-left: 5%;
  }

  .riceOptionImage img {
    border-radius: 10px;
  }

  .riceOptionDetails {
    width: 55%;
  }

  .riceOptionQuantity p:nth-of-type(1) {
    font-size: max(4vw, 11px);
    line-height: 1;
    letter-spacing: 0.05em;
    border: 2px solid var(--brown100);
    border-radius: 100px;
    padding: 0.4vw 4.1vw 0.7vw 4.6vw;
    display: inline-block;
  }

  .riceOptionQuantity p:nth-of-type(1) span:nth-of-type(1) {
    font-size: max(5vw, 13px);
  }

  .riceOptionQuantity p:nth-of-type(1) span:nth-of-type(2) {
    font-size: max(6vw, 16px);
  }

  .riceOptionQuantity p:nth-of-type(2) {
    font-size: max(6.5vw, 20px);
    line-height: 1;
  }

  .riceOptionQuantity p:nth-of-type(2) strong {
    font-size: max(11vw, 40px);
    line-height: 1;
  }

  .riceOptionNote {
    font-size: max(3vw, 13px);
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
    position: absolute;
    top: 27vw;
    width: 100%;
    left: 0;
  }

  .riceOptionNote strong {
    font-size: max(4vw, 14px);
    line-height: 1;
    letter-spacing: 0.05em;
  }

  #flow {
    position: relative;
    margin-bottom: 5vw;
    padding-bottom: 13vw;
    padding-top: 4vw;
    background-color: var(--cream100);
  }

  #flow::before {
    content: "";
    position: absolute;
    top: -8vw;
    left: 0;
    width: 100%;
    height: 19vw;
    background-image: url(../img/service_bg_top.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
    transform: scaleX(-1);
  }

  .flowTitleArea {
    width: 100%;
    margin: 0 auto 7vw;
    text-align: center;
    z-index: 2;
    position: relative;
  }

  .flowSubTitle {
    font-size: max(3vw, 13px);
    letter-spacing: 0.05em;
    color: #fff;
    background-color: var(--pink100);
    padding: 1.1vw 6.5vw;
    border-radius: 100px;
    display: inline-block;
    margin: 0 auto 3.7vw;
  }

  .flowMainTitle01 {
    font-size: max(4vw, 16px);
    line-height: 1;
    display: inline-block;
    position: relative;
    margin-bottom: 1vw;
  }

  .flowMainTitle01 strong {
    font-size: max(5vw, 25px);
  }

  .flowMainTitle02 {
    font-size: max(5vw, 27px);
  }

  .flowMainTitle02 strong {
    font-size: max(9vw, 39px);
    line-height: 1;
    display: inline-block;
    position: relative;
  }

  .flowMainTitle01::before {
    content: "";
    display: inline-block;
    width: 4vw;
    height: 7vw;
    background: url(../img/line_left.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 3vw;
    left: -4.5vw;
    transform: translateY(-50%);
  }

  .flowMainTitle01::after {
    content: "";
    display: inline-block;
    width: 4vw;
    height: 7vw;
    background: url(../img/line_right.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 3vw;
    right: -5.5vw;
    transform: translateY(-50%);
  }

  .flowSteps {
    margin-bottom: 5vw;
  }

  .processStep {
    width: 85%;
    margin: 0 auto 5vw;
    position: relative;
    z-index: 2;
  }

  .processStep:last-of-type {
    margin-bottom: 10vw;
  }

  .stepNumber {
    display: flex;
    font-size: max(5vw, 22px);
    background-color: #fff;
    padding: 1.5vw 5vw;
    border-radius: 100px;
    align-items: center;
    margin-bottom: 2vw;
  }

  .number {
    color: var(--pink100);
    margin-right: 1vw;
    letter-spacing: 0.09em;
  }

  .stepTitle {
    font-size: max(3.8vw, 17px);
    margin-right: 1vw;
    letter-spacing: 0.09em;
  }

  .stepDescription {
    font-size: max(3vw, 14px);
    line-height: 1.5;
  }

  .flowTitleArea::before {
    content: "";
    position: absolute;
    top: 21vw;
    right: 0;
    width: 21vw;
    height: 26vw;
    background-image: url(../img/flow_user.png);
    background-repeat: no-repeat;
    background-size: 20vw;
    z-index: 1;
  }

  #orderFlow {
    position: relative;
    margin-top: 0;
    padding-bottom: 12vw;
  }

  #orderFlow::before {
    content: "";
    position: absolute;
    top: -10.5vw;
    left: 0;
    width: 100%;
    height: 19vw;
    background-image: url(../img/service_bg_top_white.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
  }

  #orderFlow .sectionHeader {
    margin: 0 auto 6vw;
    text-align: center;
    z-index: 2;
    position: relative;
  }

  .sectionLead {
    background-color: var(--pink50);
    display: inline-block;
    font-size: max(4vw, 16px);
    border-radius: 100px;
    padding: 0 3vw 1.2vw;
    letter-spacing: 0.05em;
    margin-bottom: 1.8vw;
    position: relative;
    line-height: 1.3;
  }

  .sectionLeadSub {
    font-size: max(3vw, 12px);
  }

  .sectionLead .dot {
    display: inline-block;
    position: relative;
  }

  .sectionLead .dot::before {
    content: "●";
    font-size: 0.2em;
    position: absolute;
    top: -0.8em;
    left: 50%;
    transform: translateX(-50%);
  }

  .stepText {
    position: relative;
    font-size: max(5vw, 25px);
    padding-left: 6.5vw;
  }

  .sectionLead strong {
    font-size: max(10vw, 45px);
    line-height: 1;
    position: absolute;
    top: -3vw;
    left: 0.6vw;
  }

  #orderFlow .sectionHeader h2 {
    font-size: max(6vw, 31px);
    line-height: 1;
    letter-spacing: 0.05em;
    margin-bottom: 1vw;
  }

  #orderFlow .sectionHeader h2 strong {
    font-size: max(9vw, 37px);
  }

  #orderFlow .sectionHeader h2 span {
    font-size: max(5vw, 27px);
  }

  .orderSteps {
    width: 85%;
    margin: 0 auto 3.2vw;
  }

  .orderStep {
    background-color: var(--cream100);
    border-radius: 20px;
    padding: 4vw 6.5vw;
    text-align: center;
    margin-bottom: 2vw;
  }

  .orderStep:last-of-type {
    margin-bottom: 8vw;
  }

  .orderStep figure {
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
  }

  .orderStep figure img {
    width: 22%;
    height: auto;
    margin: 0 auto 1.5vw;
  }

  .orderStep figure figcaption {
    width: 80%;
    text-align: left;
    padding-left: 4vw;
  }

  .orderStep figure figcaption h3 {
    font-size: max(4vw, 18px);
    line-height: 1;
    letter-spacing: 0.05em;
    margin-bottom: 1.5vw;
  }

  .orderStep figure figcaption p {
    font-size: max(3vw, 14px);
    line-height: 1.4;
  }

  .orderStep:nth-child(1),
  .orderStep:nth-child(2) {
    position: relative;
  }

  .orderStep:nth-child(1)::after,
  .orderStep:nth-child(2)::after {
    content: "";
    background-image: url(../img/pink_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-size: 3.5vw;
    width: 3.5vw;
    height: 6.1vw;
    bottom: -7.5vw;
    transform: translateY(-50%);
    position: absolute;
    z-index: 1;
    transform: translateY(-50%) rotate(90deg);
  }

  .steamerBox {
    width: 87%;
    margin: 0 auto 1vw;
    border: 4px solid var(--pink20);
    border-radius: 20px;
    text-align: center;
  }

  .steamerBox h2 {
    font-size: max(3vw, 17px);
    line-height: 1.3;
    letter-spacing: 0.05em;
    color: var(--pink100);
    border-bottom: 5px solid var(--pink20);
    padding: 3vw 5vw;
    text-align: left;
  }

  .steamerBox h2 strong {
    font-size: max(5vw, 18px);
  }

  .steamerPriceArea {
    display: flex;
    padding: 3vw 5vw;
    position: relative;
  }

  .steamerPriceLead {
    font-size: max(3vw, 15px);
    line-height: 1.5;
    text-align: left;
    margin-bottom: 0.8vw;
  }

  .steamerPriceLead .colorPink {
    font-size: max(3.5vw, 17px);
  }

  .steamerPrice dd {
    font-size: max(2.5vw, 14px);
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: left;
    border-radius: 20px;
  }

  .steamerPrice {
    width: 79%;
  }

  .steamerDetails img {
    position: absolute;
    width: 24vw;
    right: -6vw;
    top: -3vw;
    z-index: 999;
  }

  .steamerBadge {
    position: absolute;
    color: #fff;
    font-size: max(4vw, 14px);
    top: -23vw;
    right: -21vw;
    transform: translateX(-50%);
    background-image: url(../img/sp_steamerBadge.png);
    background-repeat: no-repeat;
    background-position: top;
    text-align: center;
    height: 23vw;
    width: 28vw;
    padding-top: 3.6vw;
    letter-spacing: 0;
    line-height: 1.25;
    background-size: 28vw;
  }

  .steamerBadge span {
    font-size: max(7vw, 25px);
  }

  .steamerPdfLink {
    margin: 0 auto 7vw;
    text-align: center;
    font-size: max(3vw, 13px);
  }

  .steamerPdfLink p {
    display: inline-block;
    position: relative;
  }

  .steamerPdfLink a::after {
    content: "";
    display: inline-block;
    width: 1.3vw;
    height: 2.3vw;
    background-image: url(../img/black_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
  }

  #voiceSection {
    position: relative;
    padding-top: 5vw;
    padding-bottom: 9vw;
    background-color: var(--pink50);
  }

  #voiceSection::before {
    content: "";
    position: absolute;
    top: -5vw;
    left: 0;
    width: 100%;
    height: 6vw;
    background-image: url(../img/service_bg_pink.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
  }

  #voiceSection .sectionHeader {
    width: 80%;
    margin: 0 auto 8vw;
    text-align: center;
    z-index: 2;
    position: relative;
    padding-top: 2vw;
  }

  #voiceSection .sectionLabel {
    color: #fff;
    position: absolute;
    font-size: max(5vw, 16px);
    top: -11.8vw;
    left: 6vw;
    transform: translateX(-50%);
    background-image: url(../img/priceTag.png);
    background-repeat: no-repeat;
    background-position: top;
    display: inline-block;
    background-size: contain;
    text-align: center;
    height: 16vw;
    width: 18vw;
    padding-top: 3.6vw;
    letter-spacing: 0.03em;
  }

  #voiceSection .sectionLabel span {
    font-size: max(3vw, 14px);
  }

  #voiceSection .sectionTitleSub {
    font-size: max(4vw, 18px);
    letter-spacing: 0.05em;
    display: inline-block;
    position: relative;
  }

  #voiceSection .sectionTitleSub .dot {
    font-size: max(5vw, 23px);
    letter-spacing: 0.05em;
    color: var(--pink150);
    display: inline-block;
    position: relative;
  }

  #voiceSection .sectionTitleSub .dot::before {
    content: "●";
    color: var(--pink150);
    font-size: 0.2em;
    position: absolute;
    top: -0.8em;
    left: 50%;
    transform: translateX(-50%);
  }

  #voiceSection .sectionTitleSub::before {
    background-image: url(../img/productLineUp_title.png);
    content: "";
    display: inline-block;
    width: 5.5vw;
    height: 5.5vw;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
    position: absolute;
    top: -1.2vw;
    right: -3.3vw;
    transform: scaleX(-1);
  }

  #voiceSection .sectionTitleMain {
    display: block;
    font-size: max(9vw, 50px);
    color: var(--pink150);
    letter-spacing: 0.05em;
    text-shadow: 2px 4px 0 #fff;
    line-height: 1;
  }

  #voiceSection .sectionTitleMain .smallText {
    font-size: max(7vw, 40px);
  }

  .voiceList {
    margin: 0 auto 6vw;
    overflow: hidden;
  }

  .voiceItem {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 8vw;
  }

  .voiceItemInner {
    display: grid;
    grid-template-columns: 18% 83%;
    grid-template-rows: 1fr;
    row-gap: 2vw;
    margin-bottom: 2vw;
  }

  .voiceNumber {
    font-size: max(2.5vw, 7px);
    color: var(--pink150);
    text-align: center;
    line-height: 1;
    letter-spacing: 0.08em;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    flex-direction: column;
    border-radius: 10px 0 0 10px;
  }

  .voiceNumber span {
    font-size: max(10vw, 29px);
    line-height: 1;
    letter-spacing: 0;
  }

  .voiceContent {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    display: flex;
    background-color: #fff;
    align-items: center;
    padding: 2.8vw 5vw 2.8vw 0;
    border-radius: 0 10px 10px 0;
  }

  .voiceHeadline {
    font-weight: bold;
    font-size: max(4vw, 17px);
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-align: left;
  }

  .voiceHeadline strong {
    color: var(--pink150);
  }

  .voiceTags {
    display: flex;
    flex-wrap: nowrap;
    grid-column: 1 / 3;
    grid-row: 2 / 3;
  }

  .voiceTags li {
    border-radius: 100px;
    padding: 1.5vw 2vw;
    line-height: 1;
    font-size: max(3vw, 13px);
    letter-spacing: 0.05em;
  }

  .voiceTags li:nth-of-type(1) {
    color: #fff;
    background-color: var(--pink150);
    margin-right: 1.5vw;
  }

  .voiceTags li:nth-of-type(2) {
    color: var(--pink150);
    background-color: #fff;
  }

  .voiceTextArea {
    background-color: #f7e3da;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    position: relative;
  }

  .voiceText {
    font-size: max(3.5vw, 14px);
    line-height: 1.7;
    width: 73%;
    padding: 3.5vw 0 3.5vw 5vw;
  }

  .voiceImage {
    width: 27%;
    display: flex;
    justify-content: center;
  }

  .voiceList .voiceItem:nth-of-type(1) .voiceImage img {
    width: 33vw;
    position: absolute;
    bottom: -3.5vw;
    right: -9vw;
  }

  .voiceList .voiceItem:nth-of-type(2) .voiceImage img {
    width: 34vw;
    position: absolute;
    bottom: 0;
    right: -9vw;
  }

  .voiceList .voiceItem:nth-of-type(3) .voiceImage img {
    width: 32vw;
    position: absolute;
    bottom: 0;
    right: -9vw;
  }

  #faqSection {
    position: relative;
    padding-top: 3vw;
    padding-bottom: 18vw;
    background-color: var(--cream100);
  }

  #faqSection::before {
    content: "";
    position: absolute;
    top: -10vw;
    left: 0;
    width: 100%;
    height: 19vw;
    background-image: url(../img/service_bg_top.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
  }

  #faqSection .sectionHeader {
    width: 80%;
    margin: 0 auto 9vw;
    text-align: center;
    z-index: 2;
    position: relative;
    font-size: max(4vw, 25px);
    letter-spacing: 0.15em;
  }

  #faqSection .sectionHeader::after {
    content: "";
    display: block;
    height: 5px;
    width: 58.5%;
    background-image: radial-gradient(
      circle,
      var(--brown100) 2.5px,
      transparent 2.5px
    );
    background-size: 15px 5px;
    background-repeat: repeat-x;
    background-position: left center;
    background-origin: content-box;
    margin: 1.2vw auto 0;
  }

  #faqSection .sectionHeader::before {
    content: "";
    position: absolute;
    top: -15vw;
    left: -11.3vw;
    width: 26vw;
    height: 41vw;
    background-image: url(../img/faq_icon.png);
    background-repeat: no-repeat;
    background-size: 26vw;
    z-index: 3;
    transform: rotate(15deg);
  }

  .faqList {
    width: 90%;
    margin: 0 auto 6vw;
    position: relative;
    z-index: 5;
  }

  .faqItem {
    margin-bottom: 5vw;
  }

  .faqQuestion {
    background-color: #fff;
    border-radius: 100px;
    padding: 3vw 5vw 3.5vw;
    line-height: 1;
    font-size: max(3.5vw, 16px);
    margin-bottom: 1.3vw;
  }

  .faqQuestion span {
    color: var(--pink100);
    font-size: max(4vw, 19px);
  }

  .faqAnswer {
    width: 87%;
    margin: 0 auto;
    font-size: max(3vw, 15px);
    letter-spacing: 0.09em;
    line-height: 1.7;
  }

  #luxuryBentoSection {
    position: relative;
    margin-top: 0;
    padding-bottom: 13vw;
    padding-top: 3vw;
    background-color: var(--brown50);
  }

  #luxuryBentoSection::before {
    content: "";
    position: absolute;
    top: -6vw;
    left: 0;
    width: 100%;
    height: 7vw;
    background-image: url(../img/service_bg_brown.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    z-index: 1;
  }

  .luxuryBentoTitle {
    text-align: center;
    padding-top: 2.5vw;
    margin-bottom: 4vw;
    color: #fff;
    position: relative;
  }

  .luxuryBentoTitle01 {
    font-size: max(6vw, 27px);
    display: inline-block;
    line-height: 1;
    position: relative;
    letter-spacing: 0.05em;
    margin-bottom: 1vw;
  }

  .luxuryBentoTitle01::after {
    content: "";
    display: inline-block;
    width: 3.6vw;
    height: 3.6vw;
    background-image: url(../img/luxuryBentoExtraTitle_deco.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -1.56vw;
    right: -2.6vw;
  }

  .luxuryBentoTitle01 .colorPink02 {
    color: var(--pink80);
  }

  .luxuryBentoTitle02 {
    font-size: max(7vw, 23px);
    letter-spacing: 0.09em;
    display: block;
  }

  .luxuryBentoTitle01::before {
    content: "";
    position: absolute;
    top: -5vw;
    left: -36vw;
    width: 26vw;
    height: 30vw;
    background-image: url(../img/luxuryBentoSection_user.png);
    background-repeat: no-repeat;
    background-size: 25vw;
    z-index: 3;
    transform: scaleX(-1);
  }

  .luxuryBentoContent {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
    position: relative;
    z-index: 5;
    margin-bottom: 5vw;
  }

  .luxuryBentoImage {
    width: 78%;
  }

  .luxuryBentoImage img {
    width: 100%;
    height: auto;
    border-radius: 0 10px 10px 0;
  }

  .luxuryBentoSideMessage {
    width: 22%;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
  }

  .luxuryBentoBadge {
    width: 15vw;
    height: 12vw;
    font-size: max(3vw, 13px);
    line-height: 1;
    padding-top: 2.3vw;
    padding-left: 1vw ;
    color: #fff;
    background-image: url(../img/luxuryBentoIntro_bg.png);
    background-repeat: no-repeat;
    display: inline-block;
    background-size: contain;
    position: absolute;
    top: -8vw;
    right: 4vw;
    text-align: center;
  }

  .luxuryBentoSideText {
    font-size: max(4.2vw, 16px);
    line-height: 1.4;
    letter-spacing: 0.1em;
    margin: 5vw 3vw 0 1vw;
    writing-mode: vertical-rl;
    text-orientation: upright;
    color: #fff;
    letter-spacing: 0.15em;
  }

  .luxuryBentoSideText .colorPink02 {
    font-size: max(5vw, 18px);
    color: var(--pink80);
    margin-top: -0.4vw;
  }

  .luxuryBentoScene {
    width: 80%;
    margin: 2vw auto 0;
    text-align: center;
    color: #fff;
    position: relative;
  }

  .luxuryBentoSceneTitle {
    font-size: max(5vw, 20px);
    line-height: 1;
    margin-bottom: 3vw;
    display: inline-block;
    position: relative;
  }

  .luxuryBentoSceneTitle strong {
    font-size: max(6vw, 25px);
    line-height: 1;
    margin-bottom: 1vw;
  }

  .luxuryBentoSceneTitle strong .colorPink02 {
    color: var(--pink150);
  }

  .luxuryBentoSceneTitle::before {
    content: "";
    display: inline-block;
    width: 3vw;
    height: 6vw;
    background: url(../img/line_left_white.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 3.3vw;
    left: -3.5vw;
    transform: translateY(-50%);
  }

  .luxuryBentoSceneTitle::after {
    content: "";
    display: inline-block;
    width: 3vw;
    height: 6vw;
    background: url(../img/line_right_white.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 3.3vw;
    right: -3.5vw;
    transform: translateY(-50%);
  }

  .luxuryBentoSceneList {
    width: 100%;
    margin: 0 auto 3vw;
    background-color: #623326;
    border-radius: 40px;
    padding: 4vw 8vw;
  }

  .luxuryBentoSceneList li {
    font-size: max(3vw, 15px);
    line-height: 1.5;
    text-align: center;
  }

  .luxuryBentoSceneList li:first-of-type:after {
    content: "";
    display: block;
    height: 4px; /* ← 高さも小さく */
    width: 100%;
    background-image: radial-gradient(
      circle,
      var(--pink100) 0 2px,
      transparent 2px
    );
    background-size: 10px 4px;
    background-repeat: repeat-x;
    background-position: left center;
    background-origin: content-box;
    margin: 2.2vw auto;
  }

  .luxuryBentoFormBtn {
    margin-bottom: 10vw;
  }

  .luxuryBentoFormBtn a {
    font-size: max(3.5vw, 16px);
    line-height: 1;
    padding: 3vw 5vw;
    border-radius: 10px;
    background-color: var(--pink100);
    color: #fff;
    display: inline-block;
    position: relative;
    width: 90%;
  }

  .luxuryBentoFormBtn a::after {
    content: "";
    display: inline-block;
    width: 1.8vw;
    height: 3.3vw;
    background-image: url(../img/white_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 2.5vw;
    top: 4.2vw;
  }

  .luxuryBentoExtra {
    width: 90%;
    margin: 0 auto;
    text-align: center;
    position: relative;
  }

  .luxuryBentoExtraLabel {
    height: 12vw;
    width: 13.1vw;
    font-size: max(3vw, 12px);
    transform: translateX(-50%) translateY(-5%);
    background-image: url(../img/luxuryBentoExtraLabel.png);
    background-repeat: no-repeat;
    display: inline-block;
    background-size: contain;
    position: absolute;
    top: -9vw;
    left: 6vw;
    padding-top: 2.8vw;
    padding-left: 0;
    line-height: 1.1;
    text-align: center;
    z-index: 999;
    letter-spacing: 0;
  }

  .luxuryBentoExtraTitle {
    background-color: var(--brown80);
    color: #fff;
    font-size: max(3.8vw, 13px);
    line-height: 1;
    padding: 2.9vw 0;
    border-radius: 20px 20px 0 0;
    margin: 0 auto;
    position: relative;
    letter-spacing: 0;
  }

  .luxuryBentoExtraTitle strong {
    font-size: max(3.5vw, 14px);
    line-height: 1;
  }

  .luxuryBentoExtraTitle::after {
    content: "";
    display: inline-block;
    width: 3.5vw;
    height: 3.3vw;
    background-image: url(../img/luxuryBentoExtraTitle_deco.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 2.2vw;
  }

  .luxuryBentoExtraContent {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
    margin: 0 auto 3vw;
    background-color: var(--cream100);
    border-radius: 0 0 20px 20px;
  }

  .luxuryBentoExtraContent img {
    width: 40%;
    border-radius: 0 0 0 20px;
  }

  .luxuryBentoExtraText {
    width: 60%;
    font-size: max(3.3vw, 13px);
    line-height: 1.4;
    padding: 2vw 0;
  }

  .luxuryBentoExtraText p {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 1vw;
    text-align: left;
  }

  .luxuryBentoExtra a {
    font-size: max(4vw, 15px);
    line-height: 1;
    width: 100%;
    margin: 0 auto;
    background-color: #3b251a;
    color: #fff;
    padding: 4vw 16vw;
    border-radius: 10px;
    display: inline-block;
    position: relative;
    text-align: center;
    letter-spacing: 0;
  }

  .luxuryBentoExtra a::after {
    content: "";
    display: inline-block;
    width: 2vw;
    height: 3.3vw;
    background-image: url(../img/white_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 2vw;
    top: 4.5vw;
  }

  #siteFooter {
    padding: 4vw 0;
  }

  .footerInner {
    width: 90%;
    margin: 0 auto;
  }

  .footerLogo {
    margin-right: 2vw;
  }

  .footerLogoImg {
    display: block;
    width: 30vw;
    margin-bottom: 0.5vw;
  }

  .footerLogoText {
    font-size: max(3vw, 15px);
    letter-spacing: 0.05em;
  }

  .footerLogoTextSub {
    font-size: max(2.5vw, 10px);
    margin-left: 0.5vw;
  }

  .footerAddress {
    font-size: max(3vw, 13px);
    letter-spacing: 0.05em;
    margin-bottom: 2vw;
  }

  .footerLink a {
    font-size: max(3vw, 15px);
    position: relative;
  }

  .footerLink a::after {
    content: "";
    display: inline-block;
    width: 1.1vw;
    height: 1.9vw;
    background-image: url(../img/black_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: 0.2vw;
  }
}
