@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  line-height: 1.5;
  min-width: 320px;
  min-height: 100vh;
  color: #333333;
  background-color: #fff;
  text-rendering: optimizeSpeed;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, ans-serif;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

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

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
dt,
dd,
table,
figure,
blockquote {
  margin: 0;
}

body {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, ans-serif;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1.67;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
@media screen and (max-width: 640px) {
  body {
    font-size: 14px;
  }
}

ul,
ol {
  list-style-type: none;
  padding-left: 0;
}

img,
picture {
  display: block;
  vertical-align: middle;
  height: auto;
  width: 100%;
}

hr {
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  margin: 0;
}

/* @  スマホの画像長押し禁止
* ------------------------------------------------------------ */
img {
  -webkit-touch-callout: none;
}

[data-whatinput=mouse] *:focus,
[data-whatinput=touch] *:focus {
  outline: none !important;
}

/* @  禁則処理の指定
* ------------------------------------------------------------ */
p,
li,
dt,
dd,
th,
td,
pre {
  -ms-line-break: strict;
  line-break: strict;
  word-wrap: break-word;
  word-break: normal;
}

/* @  Link Reset
* ------------------------------------------------------------ */
a {
  transition: color 150ms ease;
  text-decoration: none;
  color: #fff;
}
a:hover {
  color: rgba(255, 255, 255, 0.6);
  opacity: 0.6;
}
a:active {
  color: rgba(255, 255, 255, 0.6);
}

@media (hover: hover) and (pointer: fine) {
  a[href^="tel:"] {
    pointer-events: none;
    color: inherit;
    text-decoration: none;
    cursor: default;
  }
}
/* @ Code Layout
 * ------------------------------------------------------------ */
code,
kbd,
pre,
samp {
  font-family: "Helvetica Neue", Arial, -apple-system, BlinkMacSystemFont, sans-serif;
}

code {
  font-size: 90%;
  padding: 6px;
  color: #000;
  border: solid 1px #ddd;
  border-radius: 3px;
  background-color: #efefef;
}

kbd {
  font-size: 90%;
  padding: 2px 4px;
  color: #c7254e;
  border-radius: 3px;
  background-color: #f9f2f4;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}

kbd kbd {
  font-size: 100%;
  font-weight: bold;
  padding: 0;
  box-shadow: none;
}

pre {
  font-size: 14px;
  display: block;
  margin: 0;
  padding: 10px;
  white-space: pre-wrap;
  word-wrap: break-word;
  word-break: break-all;
  color: #aaa;
  border: 1px solid #ccc;
  border-radius: 3px;
  background-color: #ccc;
}

pre code {
  font-size: inherit;
  padding: 0;
  white-space: pre-wrap;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
}

p {
  max-height: 100%;
}

address {
  font-style: normal;
}

h1,
h2,
h3,
h4 {
  font-weight: 500;
}

@keyframes bomb {
  0% {transform: scale(1);}
  50% {transform: scale(.95);}
  100% {transform: scale(1);}
}

/* @  Print Reset
* ------------------------------------------------------------ */
@media print {
  header,
  footer {
    display: none;
  }
}
/* Heading, Paragraph, List, Link
======================================================== */
main {
  margin-top: 0;
  background-color: #8b0d08;
}

.p-inner {
  width: min(640px, 100%);
  margin-left: auto;
  margin-right: auto;
  padding-left: 34.1333333333px;
  padding-right: 34.1333333333px;
  box-shadow: -10px 0 20px rgba(0, 0, 0, 0.1), 10px 0 20px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 640px) {
  .p-inner {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}

.p-copylight {
  background-color: #d8d0b6;
  padding-top: 10px;
  padding-bottom: 10px;
}
@media screen and (max-width: 640px) {
  .p-copylight {
    padding-bottom: 150px;
  }
}

.p-copylight_text {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(11px, 10px + 0.3vw, 13px);
  line-height: 1.5;
  text-align: center;
  font-weight: 700;
}

/* mainvisual */
.p-mainvisual {
  background-image: url(/wp/wp-content/uploads/2025/06/bg-mainvisual.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
  .p-mainvisual {
    background-image: url(/wp/wp-content/uploads/2025/06/bg-mainvisual-sp.png);
    padding-bottom: 0;
  }
}

.p-mainvisual_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(640px, 100%);
  margin-left: auto;
  margin-right: auto;
  box-shadow: -10px 0 20px rgba(0, 0, 0, 0.1), 10px 0 20px rgba(0, 0, 0, 0.1);
}

.p-mainvisual_list {
  display: flex;
  -moz-column-gap: 10.24px;
       column-gap: 10.24px;
  background-color: #fff;
  padding-top: 14.5066666667px;
  padding-bottom: 14.5066666667px;
  padding-left: 10.24px;
  padding-right: 10.24px;
}
@media screen and (max-width: 640px) {
  .p-mainvisual_list {
    padding-top: 2.2666666667vw;
    padding-bottom: 2.2666666667vw;
    padding-left: 1.6vw;
    padding-right: 1.6vw;
  }
}

/* CTA */
.p-cta .p-inner {
  padding-top: 25.6px;
  padding-bottom: 34.1333333333px;
  background-image: linear-gradient(to bottom, #8e0a07, #5d3119);
}
@media screen and (max-width: 640px) {
  .p-cta .p-inner {
    padding-top: 4vw;
    padding-bottom: 5.3333333333vw;
  }
}

.p-cta_info {
  width: min(660px, 100%);
  height: auto;
  margin-bottom: 17.0666666667px;
}
.p-cta_info img {
  width: 100%;
  height: auto;
}

/* Diet */
.p-diet .p-inner {
  padding-left: 0;
  padding-right: 0;
}

.p-diet_question {
  padding-top: 58.88px;
  padding-bottom: 307.2px;
  background-image: url(../img/bg-dietquestion.jpg);
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
  padding-left: 34.1333333333px;
  padding-right: 34.1333333333px;
}
@media screen and (max-width: 640px) {
  .p-diet_question {
    padding-top: 9.2vw;
    padding-bottom: 48vw;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}

.p-dietquestion_title {
  width: min(520.5333333333px, 100%);
  margin-left: auto;
  margin-right: auto;
}
.p-dietquestion_title img {
  width: 100%;
  height: auto;
}

.p-dietquestion_img {
  width: min(529.0666666667px, 100%);
  margin-left: auto;
  margin-right: auto;
}
.p-dietquestion_img img {
  width: 100%;
  height: auto;
}

.p-diet_why {
  padding-top: 55.4666666667px;
  padding-bottom: 68.2666666667px;
  background-image: url(../img/bg-dietwhy.png);
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  clip-path: polygon(100% 0, 100% 92%, 50% 100%, 0 92%, 0 0);
}

.p-dietwhy_title {
  width: min(620.3733333333px, 100%);
  padding-bottom: 34.1333333333px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 640px) {
  .p-dietwhy_title {
    width: min(96.9333333333vw, 100%);
    padding-bottom: 5.3333333333vw;
  }
}

.p-dietwhy_img {
  width: min(554.6666666667px, 100%);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 640px) {
  .p-dietwhy_img {
    width: min(86.6666666667vw, 100%);
  }
}
.p-dietwhy_img img {
  width: 100%;
  height: auto;
}

.p-dietintro {
  padding-top: 132.2666666667px;
  padding-bottom: 25.6px;
  background-image: url(../img/bg-dietintro_top.png), url(../img/bg-dietintro.jpg);
  background-size: 100% auto, cover;
  background-position: top, center;
  background-repeat: no-repeat, no-repeat;
  margin-top: calc(89.6px * -1);
  z-index: 0;
}
@media screen and (max-width: 640px) {
  .p-dietintro {
    padding-top: 20.6666666667vw;
    padding-bottom: 4vw;
    margin-top: -14vw;
  }
}

.p-dietintro_img {
  width: 100%;
}

.p-dietintro_title {
  width: min(493.2266666667px, 100%);
  margin-left: auto;
  margin-right: auto;
  margin-top: 34.1333333333px;
  margin-bottom: 34.1333333333px;
}
@media screen and (max-width: 640px) {
  .p-dietintro_title {
    width: min(77.0666666667vw, 100%);
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-dietintro_title img {
  width: 100%;
  height: auto;
}

.p-dietintro_text {
  font-size: 25.6px;
  text-align: center;
  line-height: 1.67;
  font-weight: 500;
  padding-left: 34.1333333333px;
  padding-right: 34.1333333333px;
  margin-bottom: 40.96px;
}
@media screen and (max-width: 640px) {
  .p-dietintro_text {
    font-size: 4vw;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
    margin-bottom: 6.4vw;
  }
}

.p-dietintro_inner {
  padding-left: 34.1333333333px;
  padding-right: 34.1333333333px;
}
@media screen and (max-width: 640px) {
  .p-dietintro_inner {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}

.p-dietintro_message {
  background-image: url(../img/img-dietintro_flower.png);
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
  padding-left: 34.1333333333px;
  padding-right: 34.1333333333px;
  padding-top: 34.1333333333px;
  padding-bottom: 34.1333333333px;
  font-size: 34.9866666667px;
  text-align: center;
  font-weight: 600;
  color: #8c0c08;
}
@media screen and (max-width: 640px) {
  .p-dietintro_message {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
    padding-top: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
    font-size: 5.4666666667vw;
  }
}

.p-point .p-inner {
  background-color: #ede4e4;
  background-image: url(../img/bg-point.png);
  background-size: 100% auto;
  background-position: top;
  background-repeat: no-repeat;
  padding-top: 89.6px;
  padding-bottom: 89.6px;
  padding-left: 34.1333333333px;
  padding-right: 34.1333333333px;
}
@media screen and (max-width: 640px) {
  .p-point .p-inner {
    padding-top: 14vw;
    padding-bottom: 14vw;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}

.p-point_intro {
  font-size: 25.6px;
  text-align: center;
  line-height: 1.43;
  font-weight: 500;
}
@media screen and (max-width: 640px) {
  .p-point_intro {
    font-size: 4vw;
  }
}

.p-point_title {
  width: min(582.8266666667px, 100%);
  margin-left: auto;
  margin-right: auto;
  margin-top: 25.6px;
  margin-bottom: 34.1333333333px;
}
.p-point_title img {
  width: 100%;
}

.p-point_list {
  display: flex;
  flex-direction: column;
  row-gap: 85.3333333333px;
  margin-bottom: 59.7333333333px;
}
@media screen and (max-width: 640px) {
  .p-point_list {
    row-gap: 13.3333333333vw;
    margin-bottom: 9.3333333333vw;
  }
}
.p-point_list > li {
  display: flex;
  flex-direction: column;
}

.p-point_list-title {
  display: flex;
  -moz-column-gap: 25.6px;
       column-gap: 25.6px;
  font-family: "Noto Serif JP", serif;
  font-size: 45.2266666667px;
  font-weight: 500;
  line-height: 1.32;
  color: #5d3119;
}
@media screen and (max-width: 640px) {
  .p-point_list-title {
    -moz-column-gap: 4.5333333333vw;
         column-gap: 4.5333333333vw;
    font-size: 7.4666666667vw;
  }
}
.p-point_list-title .number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 93.8666666667px;
  height: 106.6666666667px;
  background-color: #8b0d08;
  font-family: "Noto Serif JP", serif;
  font-size: 47.7866666667px;
  font-weight: 500;
  color: #fff;
}
@media screen and (max-width: 640px) {
  .p-point_list-title .number {
    width: 14.9333333333vw;
    height: 17.3333333333vw;
    font-size: 7.4666666667vw;
  }
}
.p-point_list-title.row1 {
  line-height: 2;
}

.p-point_list-img {
  width: min(571.7333333333px, 100%);
  margin-top: 25.6px;
}
@media screen and (max-width: 640px) {
  .p-point_list-img {
    margin-top: 4vw;
  }
}

.p-point_list-subtitle {
  width: min(229.5466666667px, 100%);
  margin-top: 25.6px;
  margin-bottom: 42.6666666667px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 640px) {
  .p-point_list-subtitle {
    width: min(35.8666666667vw, 100%);
    margin-top: 4vw;
    margin-bottom: 6.6666666667vw;
  }
}
.p-point_list-subtitle img {
  width: 100%;
}

.p-point_list-item {
  display: flex;
  flex-direction: column;
  row-gap: 30.72px;
}
@media screen and (max-width: 640px) {
  .p-point_list-item {
    row-gap: 4.8vw;
  }
}
.p-point_list-item > li {
  display: flex;
  -moz-column-gap: 17.0666666667px;
       column-gap: 17.0666666667px;
  background-color: #fff;
  font-size: 25.6px;
  padding-top: 25.6px;
  padding-bottom: 25.6px;
  padding-left: 13.6533333333px;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  .p-point_list-item > li {
    -moz-column-gap: 2.6666666667vw;
         column-gap: 2.6666666667vw;
    font-size: 4vw;
    padding-top: 4vw;
    padding-bottom: 4vw;
    padding-left: 2.1333333333vw;
  }
}
.p-point_list-item > li::before {
  content: "";
  width: 37.5466666667px;
  height: 31.5733333333px;
  background-image: url(../img/icon-check.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  flex-shrink: 0;
  margin-top: 8.5333333333px;
}
@media screen and (max-width: 640px) {
  .p-point_list-item > li::before {
    width: 5.8666666667vw;
    height: 4.9333333333vw;
    margin-top: 1.3333333333vw;
  }
}

.p-point_list-text {
  font-size: 23.8933333333px;
  line-height: 1.5;
  font-weight: 500;
  margin-top: 59.7333333333px;
}
@media screen and (max-width: 640px) {
  .p-point_list-text {
    font-size: 4vw;
    margin-top: 9.3333333333vw;
  }
}

.p-point_list-feature {
  display: flex;
  flex-direction: column;
  background-color: #8b0d08;
  border-radius: 17.0666666667px;
  padding-top: 17.0666666667px;
  padding-bottom: 17.0666666667px;
  padding-left: 15.36px;
  padding-right: 15.36px;
}
@media screen and (max-width: 640px) {
  .p-point_list-feature {
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
    padding-left: 2.4vw;
    padding-right: 2.4vw;
  }
}
.p-point_list-feature > li {
  display: flex;
  align-items: center;
  -moz-column-gap: 17.0666666667px;
       column-gap: 17.0666666667px;
  font-family: "Noto Serif JP", serif;
  font-size: 32.4266666667px;
  font-weight: 500;
  line-height: 1.34;
  color: #fff;
  padding-top: 17.0666666667px;
  padding-bottom: 17.0666666667px;
  border-bottom: 1px solid #c49897;
}
@media screen and (max-width: 640px) {
  .p-point_list-feature > li {
    font-size: 5.0666666667vw;
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}
.p-point_list-feature > li:last-child {
  border-bottom: none;
}
.p-point_list-feature > li .number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 69.12px;
  height: 69.12px;
  background-color: #fff;
  color: #8b0d08;
  border-radius: 50%;
}
@media screen and (max-width: 640px) {
  .p-point_list-feature > li .number {
    width: 10.8vw;
    height: 10.8vw;
  }
}

/* Result */
.p-result .p-inner {
  padding-left: 0;
  padding-right: 0;
}

.p-result_img {
  width: 100%;
  height: auto;
}
.p-result_img img {
  width: 100%;
  height: auto;
}

/* Plan */
.p-plan .p-inner {
  background-image: linear-gradient(to bottom, #8e0a07, #5d3119);
  padding-top: 34.1333333333px;
  padding-bottom: 51.2px;
  padding-left: 34.1333333333px;
  padding-right: 34.1333333333px;
}
@media screen and (max-width: 640px) {
  .p-plan .p-inner {
    padding-top: 5.3333333333vw;
    padding-bottom: 8vw;
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}

.p-plan_fukidashi {
  width: min(571.7333333333px, 100%);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 640px) {
  .p-plan_fukidashi {
    width: min(89.3333333333vw, 100%);
  }
}

.p-plan_title {
  width: min(529.92px, 100%);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 25.6px;
}
@media screen and (max-width: 640px) {
  .p-plan_title {
    width: min(82.8vw, 100%);
    margin-bottom: 4vw;
  }
}

.p-plan_movie {
  margin-bottom: 25.6px;
}
@media screen and (max-width: 640px) {
  .p-plan_movie {
    margin-bottom: 4vw;
  }
}

/* Course */
.p-course .p-inner {
  background-color: #fffeef;
  background-image: url(../img/bg-course.png);
  background-size: 100% auto;
  background-position: top;
  background-repeat: no-repeat;
  padding-top: 76.8px;
  padding-bottom: 34.1333333333px;
  padding-left: 0;
  padding-right: 0;
}
@media screen and (max-width: 640px) {
  .p-course .p-inner {
    padding-top: 12vw;
    padding-bottom: 5.3333333333vw;
  }
}

.p-course_title {
  width: min(442.0266666667px, 100%);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 25.6px;
}
@media screen and (max-width: 640px) {
  .p-course_title {
    width: min(69.0666666667vw, 100%);
    margin-bottom: 4vw;
  }
}

.p-course_list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 34.1333333333px;
  padding-left: 13.6533333333px;
}
.p-course_list > li {
  display: flex;
  align-items: flex-start;
  gap: 17.0666666667px;
  position: relative;
}
@media screen and (max-width: 640px) {
  .p-course_list > li {
    gap: 2.6666666667vw;
  }
}
.p-course_list > li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 44.3733333333px;
  top: 88.7466666667px;
  width: 2px;
  height: 100%;
  background-color: #8a0e09;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .p-course_list > li:not(:last-child)::after {
    left: 6.9333333333vw;
    top: 13.8666666667vw;
  }
}
.p-course_list > li .number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 88.7466666667px;
  height: 88.7466666667px;
  border-radius: 50%;
  background-image: linear-gradient(to bottom, #8e0a07, #5d3119);
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 640px) {
  .p-course_list > li .number {
    width: 13.8666666667vw;
    height: 13.8666666667vw;
  }
}
.p-course_list > li .number img {
  width: 21.3333333333px;
  height: 32.4266666667px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 640px) {
  .p-course_list > li .number img {
    width: 3.3333333333vw;
    height: 5.0666666667vw;
  }
}
.p-course_list > li .p-course_list-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12.8px;
}
@media screen and (max-width: 640px) {
  .p-course_list > li .p-course_list-content {
    gap: 2vw;
  }
}

.p-course_list-title {
  font-family: "Noto Serif JP", serif;
  font-size: 47.7866666667px;
  font-weight: 500;
  color: #8c0c08;
}
@media screen and (max-width: 640px) {
  .p-course_list-title {
    font-size: 7.4666666667vw;
  }
}
.p-course_list-title .sub {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  font-size: 25.6px;
  color: #000000;
}
@media screen and (max-width: 640px) {
  .p-course_list-title .sub {
    font-size: 4vw;
  }
}

.p-course_list-img {
  width: min(546.1333333333px, 100%);
}
@media screen and (max-width: 640px) {
  .p-course_list-img {
    width: min(85.3333333333vw, 100%);
  }
}

.p-course_list-textwrap {
  padding-right: 34.1333333333px;
}
@media screen and (max-width: 640px) {
  .p-course_list-textwrap {
    padding-right: 5.3333333333vw;
  }
}

.p-course_list-text {
  font-size: 25.6px;
  font-weight: 500;
  line-height: 1.56;
  margin-bottom: 48.64px;
}
.p-course_list-text:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 640px) {
  .p-course_list-text {
    font-size: 4vw;
    margin-bottom: 7.6vw;
  }
}

.p-course_list-img-item01 {
  width: min(485.5466666667px, 100%);
  padding-top: 34.1333333333px;
}
@media screen and (max-width: 640px) {
  .p-course_list-img-item01 {
    width: min(75.8666666667vw, 100%);
    padding-top: 5.3333333333vw;
  }
}

.p-course_list-tag {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 5.9733333333px;
       column-gap: 5.9733333333px;
  row-gap: 11.9466666667px;
  padding-right: 34.1333333333px;
  margin-bottom: 34.1333333333px;
}
@media screen and (max-width: 640px) {
  .p-course_list-tag {
    -moz-column-gap: 0.9333333333vw;
         column-gap: 0.9333333333vw;
    row-gap: 1.8666666667vw;
    padding-right: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-course_list-tag li {
  min-width: 4em;
  background-color: #694642;
  border-radius: 4.2666666667px;
  padding-left: 14.5066666667px;
  padding-right: 14.5066666667px;
  padding-top: 8.5333333333px;
  padding-bottom: 8.5333333333px;
  font-size: 23.04px;
  font-weight: 500;
  color: #fff;
}
@media screen and (max-width: 640px) {
  .p-course_list-tag li {
    border-radius: 0.6666666667vw;
    padding-left: 2.1333333333vw;
    padding-right: 2.1333333333vw;
    padding-top: 1.3333333333vw;
    padding-bottom: 1.3333333333vw;
    font-size: 3.6vw;
  }
}

/* CASE */
.p-case .p-inner {
  background-image: url(../img/bg-case.png);
  background-size: 100% auto;
  background-position: top;
  background-repeat: no-repeat;
  padding-top: 85.3333333333px;
  padding-bottom: 34.1333333333px;
}
@media screen and (max-width: 640px) {
  .p-case .p-inner {
    padding-top: 13.3333333333vw;
    padding-bottom: 5.3333333333vw;
  }
}

.p-case_title {
  width: min(452.2666666667px, 100%);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 29.8666666667px;
}
@media screen and (max-width: 640px) {
  .p-case_title {
    width: min(70.6666666667vw, 100%);
    margin-bottom: 4.6666666667vw;
  }
}

.p-case_title-info {
  font-size: 25.6px;
  color: #ffffff;
  text-align: center;
  margin-bottom: 68.2666666667px;
}
@media screen and (max-width: 640px) {
  .p-case_title-info {
    font-size: 4vw;
    margin-bottom: 10.6666666667vw;
  }
}

.p-case_list {
  display: flex;
  flex-direction: column;
  row-gap: 42.6666666667px;
}
@media screen and (max-width: 640px) {
  .p-case_list {
    row-gap: 6.6666666667vw;
  }
}
.p-case_list > li {
  background-color: #fff;
  border-radius: 25.6px;
  padding-top: 40.1066666667px;
  padding-left: 18.7733333333px;
  padding-right: 18.7733333333px;
  padding-bottom: 32.4266666667px;
}
@media screen and (max-width: 640px) {
  .p-case_list > li {
    padding-top: 6.2666666667vw;
    padding-left: 2.9333333333vw;
    padding-right: 2.9333333333vw;
    padding-bottom: 5.0666666667vw;
  }
}

.p-case_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 8.5333333333px;
  overflow: hidden;
  margin-bottom: 38.4px;
}
@media screen and (max-width: 640px) {
  .p-case_table {
    border-radius: 1.3333333333vw;
    margin-bottom: 6vw;
  }
}
.p-case_table tr th {
  background-color: #fff9f9;
  padding: 8.5333333333px 17.0666666667px;
  font-size: 25.6px;
  font-weight: 400;
  text-align: center;
  border: 1px solid #989898;
  width: 50%;
}
@media screen and (max-width: 640px) {
  .p-case_table tr th {
    padding: 1.3333333333vw 2.6666666667vw;
    font-size: 4vw;
  }
}
.p-case_table tr td {
  font-size: 25.6px;
  font-weight: 400;
  text-align: center;
  border: 1px solid #989898;
  width: 50%;
}
@media screen and (max-width: 640px) {
  .p-case_table tr td {
    font-size: 4vw;
  }
}
.p-case_table tr .item01 {
  border-top-left-radius: 8.5333333333px;
}
@media screen and (max-width: 640px) {
  .p-case_table tr .item01 {
    border-top-left-radius: 1.3333333333vw;
  }
}
.p-case_table tr .item02 {
  border-top-right-radius: 8.5333333333px;
}
@media screen and (max-width: 640px) {
  .p-case_table tr .item02 {
    border-top-right-radius: 1.3333333333vw;
  }
}
.p-case_table tr .item03 {
  border-bottom-left-radius: 8.5333333333px;
}
@media screen and (max-width: 640px) {
  .p-case_table tr .item03 {
    border-bottom-left-radius: 1.3333333333vw;
  }
}
.p-case_table tr .item04 {
  border-bottom-right-radius: 8.5333333333px;
}
@media screen and (max-width: 640px) {
  .p-case_table tr .item04 {
    border-bottom-right-radius: 1.3333333333vw;
  }
}

.p-case_before-after {
  display: flex;
  justify-content: center;
  -moz-column-gap: 48.64px;
       column-gap: 48.64px;
}
@media screen and (max-width: 640px) {
  .p-case_before-after {
    -moz-column-gap: 7.6vw;
         column-gap: 7.6vw;
  }
}

.p-case_before {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-case_before::after {
  content: "";
  position: absolute;
  right: -38.4px;
  top: 50%;
  transform: translateY(-50%);
  width: 22.1866666667px;
  height: 47.7866666667px;
  background-color: #8c0c08;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
@media screen and (max-width: 640px) {
  .p-case_before::after {
    right: -6vw;
    width: 3.4666666667vw;
    height: 7.4666666667vw;
  }
}

.p-case_before-title {
  width: min(106.6666666667px, 100%);
  margin-bottom: 8.5333333333px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 640px) {
  .p-case_before-title {
    width: min(16.6666666667vw, 100%);
    margin-bottom: 1.3333333333vw;
  }
}

.p-case_before-img {
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.p-case_after {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-case_after-title {
  width: min(88.7466666667px, 100%);
  margin-bottom: 8.5333333333px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 640px) {
  .p-case_after-title {
    width: min(13.8666666667vw, 100%);
    margin-bottom: 1.3333333333vw;
  }
}

.p-case_after-img {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.p-case_result {
  position: relative;
  display: block;
  width: 100%;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  color: #5d3119;
  font-weight: 600;
  font-size: 43.52px;
  line-height: 1.35;
  padding-left: 65.7066666667px;
  padding-right: 65.7066666667px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 28.16px;
  margin-bottom: 25.6px;
}
@media screen and (max-width: 640px) {
  .p-case_result {
    font-size: 6.8vw;
    line-height: 1.35;
    padding-left: 10.2666666667vw;
    padding-right: 10.2666666667vw;
    margin-top: 4.4vw;
    margin-bottom: 4vw;
  }
}
.p-case_result::before, .p-case_result::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34.1333333333px;
  height: 98.9866666667px;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
  .p-case_result::before, .p-case_result::after {
    width: 5.3333333333vw;
    height: 15.4666666667vw;
  }
}
.p-case_result::before {
  background-image: url(../img/img-leaf_left.png);
  left: 23.04px;
}
@media screen and (max-width: 640px) {
  .p-case_result::before {
    left: 3.6vw;
  }
}
.p-case_result::after {
  background-image: url(../img/img-leaf_right.png);
  right: 23.04px;
}
@media screen and (max-width: 640px) {
  .p-case_result::after {
    right: 3.6vw;
  }
}

.p-case_info {
  font-size: 18.7733333333px;
  color: #929292;
  text-align: right;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .p-case_info {
    font-size: 2.9333333333vw;
  }
}

/* voice */
.p-voice .p-inner {
  padding-top: 89.6px;
  padding-bottom: 85.3333333333px;
  background-color: #fff;
}
@media screen and (max-width: 640px) {
  .p-voice .p-inner {
    padding-top: 14vw;
    padding-bottom: 13.3333333333vw;
  }
}

.p-voice_title {
  width: min(336.2133333333px, 100%);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 640px) {
  .p-voice_title {
    width: min(52.5333333333vw, 100%);
  }
}

.p-voice_list {
  display: flex;
  flex-direction: column;
}
.p-voice_list li {
  padding-top: 37.5466666667px;
  padding-bottom: 37.5466666667px;
  border-bottom: 4px dotted #909090;
}
@media screen and (max-width: 640px) {
  .p-voice_list li {
    padding-top: 5.8666666667vw;
    padding-bottom: 5.8666666667vw;
  }
}

.p-voice_list-item {
  display: flex;
  -moz-column-gap: 22.1866666667px;
       column-gap: 22.1866666667px;
}
@media screen and (max-width: 640px) {
  .p-voice_list-item {
    -moz-column-gap: 3.4666666667vw;
         column-gap: 3.4666666667vw;
  }
}
.p-voice_list-item > dl {
  margin-bottom: 17.0666666667px;
}
@media screen and (max-width: 640px) {
  .p-voice_list-item > dl {
    margin-bottom: 2.6666666667vw;
  }
}

.p-voice_list-img {
  width: min(158.72px, 100%);
  flex-shrink: 0;
}
@media screen and (max-width: 640px) {
  .p-voice_list-img {
    width: min(24.8vw, 100%);
  }
}

.p-voice_list-title {
  font-size: 25.6px;
  line-height: 1.57;
  font-weight: 500;
  padding-top: 29.8666666667px;
}
@media screen and (max-width: 640px) {
  .p-voice_list-title {
    font-size: 4vw;
    line-height: 1.57;
    padding-top: 4.6666666667vw;
  }
}
.p-voice_list-title .highlight {
  background: linear-gradient(transparent 50%, #fff600 50% 100%);
}

.p-voice_list-text {
  font-size: 25.6px;
  line-height: 1.57;
  font-weight: 500;
  padding-top: 38.4px;
}
@media screen and (max-width: 640px) {
  .p-voice_list-text {
    font-size: 4vw;
    line-height: 1.57;
    padding-top: 6vw;
  }
}
.p-voice_list-text .red {
  color: #d60000;
}

.p-voice_list-info {
  font-size: 17.92px;
  text-align: right;
  font-weight: 500;
}
@media screen and (max-width: 640px) {
  .p-voice_list-info {
    font-size: 2.8vw;
  }
}
.p-voice_list-info.space {
  margin-top: 29.8666666667px;
}
@media screen and (max-width: 640px) {
  .p-voice_list-info.space {
    margin-top: 4.6666666667vw;
  }
}

/* recommend */
.p-recommend .p-inner {
  padding-top: 64px;
  padding-bottom: 89.6px;
  background-color: #4c2f1f;
}
@media screen and (max-width: 640px) {
  .p-recommend .p-inner {
    padding-top: 10vw;
    padding-bottom: 14vw;
  }
}

.p-recommend_title {
  width: min(602.4533333333px, 100%);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 55.4666666667px;
}
@media screen and (max-width: 640px) {
  .p-recommend_title {
    width: min(94.1333333333vw, 100%);
    margin-bottom: 8.6666666667vw;
  }
}

.p-recommend_list {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 8.5333333333px;
  padding-left: 32.4266666667px;
  padding-right: 32.4266666667px;
  padding-top: 42.6666666667px;
  padding-bottom: 38.4px;
}
@media screen and (max-width: 640px) {
  .p-recommend_list {
    border-radius: 1.3333333333vw;
    padding-left: 5.0666666667vw;
    padding-right: 5.0666666667vw;
    padding-top: 6.6666666667vw;
    padding-bottom: 6vw;
  }
}
.p-recommend_list li {
  display: flex;
  align-items: center;
  -moz-column-gap: 34.1333333333px;
       column-gap: 34.1333333333px;
  font-size: 30.72px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  padding-top: 17.0666666667px;
  padding-bottom: 17.0666666667px;
  border-bottom: 1px solid #060102;
}
@media screen and (max-width: 640px) {
  .p-recommend_list li {
    font-size: 4.8vw;
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}
.p-recommend_list li:last-child {
  border-bottom: none;
}
.p-recommend_list li::before {
  content: "";
  width: 40.96px;
  height: 40.1066666667px;
  background-image: url(../img/icon-check.png);
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
  margin-top: 8.5333333333px;
}
@media screen and (max-width: 640px) {
  .p-recommend_list li::before {
    width: 6.4vw;
    height: 6.2666666667vw;
  }
}

/* salon */
.p-salon .p-inner {
  padding-left: 0;
  padding-right: 0;
}

/* セクションの背景や余白調整 */
/* セクション見出し画像 */
#salon_sec h2 img {
  display: block;
}

/* 店舗タイトル */
.salon_title {
  cursor: pointer;
}

.salon_title img {
  vertical-align: middle;
}

.salon_box {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  padding: 0;
  border: none;
  margin-bottom: 0;
  background: url(../img/bg01.jpg) repeat;
}

.salon_box div {
  position: relative;
  height: 100%;
}

.salon_title.opened + .salon_box {
  max-height: 1000px;
  padding: 20px;
  padding: 10px 10px 15px;
  font-size: 0.8em;
}

.salon_title + .salon_box {
  display: none;
}

/* 店舗内レイアウト */
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* 写真 */
.photo {
  float: left;
  max-width: 35%;
  margin-right: 20px;
}

/* 電話番号リンク */
.salon_box .tel {
  font-size: 1.4rem;
  line-height: 1em;
  margin-bottom: 3px;
}

.salon_box .tel a {
  text-decoration: none;
  color: #000000;
}

.salon_box .tel img {
  position: relative;
  display: inline-block;
  top: 0.5rem;
  transform: translatey(-50%);
  padding-right: 5px;
  width: 20px;
}

.salon_box div {
  position: relative;
  height: 100%;
}

/* 住所部分 */
.addressBox {
  display: flex;
  justify-content: space-between;
}

.addressText {
  width: 65%;
}

.addressMap {
  flex: 1;
}

.addressMap a img {
  vertical-align: middle;
}

.contactBox {
  display: flex;
  justify-content: space-between;
  padding: 2% 0;
}

.contactBox a {
  display: block;
  flex: 1;
  text-align: center;
  text-decoration: none;
  font-size: 0.875em;
  font-weight: bold;
}

.contactBox a i {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 4px;
}

.contactBox a img {
  width: 46%;
  padding-bottom: 4px;
}

.contactBox a p {
  color: #282828;
}

.contactBox .contactMap,
.contactBox .contactMap p {
  color: #a79385;
}

.contactBox .contactTel,
.contactBox .contactTel p {
  color: #488e4f;
}

.contactBox .contactReserve,
.contactBox .contactReserve p {
  color: #a3666d;
}

/* .contactBox .contactLine p {
    color: #00b900;
} */
.contactBox .contactTel i {
  font-size: 9.75vw;
  padding-bottom: 0;
}

.contactBox .contactLine i {
  font-size: inherit;
}

/* アクセス情報 */
.access {
  clear: both;
  margin-top: 15px;
  font-size: 13px;
  color: #444;
}

/* footer */
.p-footer {
  background-color: #8b0d08;
  overflow: hidden;
}
.p-footer .p-inner {
  padding-left: 0;
  padding-right: 0;
  box-shadow: -10px 0 15px -5px rgba(0, 0, 0, 0.2), 10px 0 15px -5px rgba(0, 0, 0, 0.2);
}

.p-copylight {
  background-color: #d8d0b6;
  padding-top: 10px;
  padding-bottom: 10px;
}

/* Utility classes
======================================================== */
@media screen and (max-width: 640px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 640px) {
  .sp {
    display: block;
  }
}

.p-dietintro_movie,
.p-plan_movie { width: 100%; }
.p-dietintro_movie video,
.p-plan_movie video,
.p-course_list-img video { width: 100%; }

.p-cta_btn {
  animation: bomb 1.8s ease infinite;
}