@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,200..900;1,200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap");
:root {
  --font-noto-sans: "Noto Sans Japanese", sans-serif;
  --font-noto-serif: "Noto Serif Japanese", serif;
  --font-hiragino:
    "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --font-crimson: "Crimson Pro", serif;
  --font-lora: "Lora", serif;
  --font-yugo:
    "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3",
    "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  --font-yumincho:
    "游明朝体", "Yu Mincho", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "MS PMincho", "MS 明朝", serif;
  --font-zen: "Zen Old Mincho", serif;
  --font-bison: "Bison", sans-serif;
  --font-bebas: "Bebas Neue", sans-serif;
  --font-en: Arial, Helvetica, sans-serif;
  --hover-opacity: 0.7;
  --header-height-pc: 119px;
  --header-height-sp: 57px;
  --color-primary: #95424d;
  --gradient-primary: linear-gradient(
    90deg,
    #9f3053 0%,
    #d66b7d 46%,
    #9f3053 78%,
    #d66b7d 100%
  );
  --color-secondary: #ffebeb;
  --color-secondary-light: #fff7f7;
  --color-tertiary: #d1667a;
  --color-gold: #eecf68;
  --color-gold-soft: #ede3b7;
  --color-gold-light: #ffebb9;
}

body {
  font-family: var(--font-yugo);
  font-size: 16px;
  color: #333;
  overflow-x: hidden;
}

.wrapper {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-width: 1080px;
  height: 100%;
  width: 100%;
  margin-top: var(--header-height-pc);
}
@media screen and (max-width: 744px) {
  .wrapper {
    min-width: 100%;
    width: 100%;
    margin-top: var(--header-height-sp);
  }
}

/**************************************************
  ブレイクポイント改修用
***************************************************/
.tmp-wrapper {
  margin-top: var(--header-height-pc);
  margin-top: 119px;
}
.tmp-wrapper *,
.tmp-wrapper *::before,
.tmp-wrapper *::after {
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
.tmp-wrapper *,
.tmp-wrapper *::before,
.tmp-wrapper *::after {
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .tmp-wrapper {
    width: 100%;
    margin-top: var(--header-height-sp);
  }
}

@media (max-width: 767px) {
  .tmp-pc_only {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .tmp-sp_only {
    display: none !important;
  }
}

.prp-eyebrows {
  --color-primary: #4e4846;
  --color-alpha: rgb(241.3027027027, 240.1286486486, 239.7372972973);
  --color-secondary: rgba(78, 72, 70, 0.3);
  --color-strong: rgb(31.1432432432, 18.9283783784, 14.8567567568);
}

body {
  font-size: 16px;
}
@media screen and (max-width: 744px) {
  body {
    font-size: 12px;
  }
}

main {
  overflow: hidden;
}
@media screen and (max-width: 744px) {
  main {
    margin-top: 0;
    overflow-x: hidden;
  }
}

section {
  clear: both;
  display: block;
  overflow: inherit;
}
@media screen and (max-width: 744px) {
  section {
    overflow: visible;
  }
}
section .inner {
  margin: 0 auto;
  max-width: 1000px;
  padding: 0px 0;
  width: 100%;
}
section:not(#f_top-footer, #f_top-copy) {
  clear: both;
  line-height: 1.7;
}

.animete-bar {
  position: relative;
}
.animete-bar .bar {
  width: 2px;
  height: 80px;
  position: absolute;
  z-index: 2;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 744px) {
  .animete-bar .bar {
    width: 0.2666666667vw;
    height: 17.0666666667vw;
    top: -8.5333333333vw;
    transform: none;
  }
}
.animete-bar .bar::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  background: var(--color-primary);
  background-size: 200% 200%;
  animation: bggradient 10s ease infinite;
  height: 100%;
  animation: pathmove 3s cubic-bezier(0.77, 0.01, 0.7, 1) 0s infinite;
}
@media screen and (max-width: 744px) {
  .animete-bar._2 .bar {
    height: 16vw;
    top: -8vw;
  }
}
.animete-bar._3 .bar {
  top: -100px;
}
@media screen and (max-width: 744px) {
  .animete-bar._3 .bar {
    height: 10.6666666667vw;
    top: -16vw;
  }
}
.animete-bar._4 .bar {
  height: 140px;
  top: -120px;
}
@media screen and (max-width: 744px) {
  .animete-bar._4 .bar {
    height: 21.3333333333vw;
    top: -10.6666666667vw;
  }
}
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
  }
  30% {
    height: 100%;
  }
  100% {
    height: 0;
    top: 100%;
  }
}

/*****************************************************
/* kv
*****************************************************/
.p-kv {
  padding-bottom: 72px;
}
@media screen and (max-width: 744px) {
  .p-kv {
    padding-bottom: 44.8vw;
  }
}
.p-kv .p-kv__inner1 {
  max-width: 1366px;
  margin: 0 auto;
  display: flex;
  position: relative;
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv__inner1 {
    display: block;
  }
}
.p-kv .p-kv__inner1::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1920px;
  height: 400px;
  z-index: -1;
  background: url(../images/kv-05.webp) center/cover no-repeat;
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv__inner1::after {
    width: 100%;
    height: 20.8vw;
  }
}
.p-kv .p-kv__slide {
  max-width: 668px;
  width: 100%;
  position: relative;
}
@media (max-width: 1366px) {
  .p-kv .p-kv__slide {
    width: 50%;
  }
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv__slide {
    max-width: 76.8vw;
    width: 100%;
  }
}
.p-kv .animete-bar {
  position: absolute;
  bottom: 140px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
@media screen and (max-width: 744px) {
  .p-kv .animete-bar {
    bottom: 14.1333333333vw;
  }
}
.p-kv .animete-bar .bar {
  width: 2px;
  height: 310px;
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 744px) {
  .p-kv .animete-bar .bar {
    width: 0.2666666667vw;
    height: 32vw;
    transform: none;
  }
}
.p-kv .animete-bar .bar::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  background: var(--color-primary);
  height: 100%;
  animation: pathmove 3s cubic-bezier(0.77, 0.01, 0.7, 1) 0s infinite;
}
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
  }
  30% {
    height: 100%;
  }
  100% {
    height: 0;
    top: 100%;
  }
}
.p-kv .swiper__wrap {
  height: 592px;
}
@media screen and (max-width: 744px) {
  .p-kv .swiper__wrap {
    height: initial;
  }
}
.p-kv .p-slider {
  height: 100%;
  width: 100%;
  z-index: 0;
  /* ズームアップアニメーション */
  /* アクティブスライドやその前後のスライドにズームアップ効果を適用 */
  /* スライド内の画像に適用 */
}
.p-kv .p-slider .active {
  filter: blur(5px); /* アクティブ以外をぼかす */
}
.p-kv .p-slider .swiper-slide {
  overflow: hidden;
}
.p-kv .p-slider .slide-img {
  height: 100%;
  position: relative;
}
.p-kv .p-slider .slide-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画像がスライドにフィットするように調整 */
}
@keyframes zoomUp {
  0% {
    transform: scale(1); /* 初期状態：通常サイズ */
  }
  70% {
    transform: scale(1.25); /* 最終状態：ズームイン */
  }
  100% {
    transform: scale(1.25); /* 最終状態：ズームイン */
  }
}
.p-kv .p-slider .swiper-slide-active .slide-img,
.p-kv .p-slider .swiper-slide-duplicate-active .slide-img,
.p-kv .p-slider .swiper-slide-prev .slide-img {
  animation: zoomUp 10s linear 0s 1 normal both; /* ズームアップアニメーション */
}
.p-kv .p-slider .slide-img img {
  display: block;
}
.p-kv .p-kv__titles {
  writing-mode: vertical-lr;
  position: absolute;
  top: 24px;
  right: -82px;
  z-index: 1;
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv__titles {
    right: 11.4666666667vw;
    top: 6.6666666667vw;
  }
}
.p-kv .p-kv__title {
  font-family: var(--font-noto-serif);
  font-size: 111.6px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 8px;
  background: linear-gradient(to right, #fff 52%, black 48%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; /* 背景のみ表示 */
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv__title span {
    background: linear-gradient(to right, black 64%, black 36%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; /* 背景のみ表示 */
  }
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv__title {
    margin-bottom: 0;
    font-size: 19.2vw;
    letter-spacing: 1.7493333333vw;
    background: linear-gradient(to right, #fff 64%, black 36%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; /* 背景のみ表示 */
  }
}
.p-kv .p-kv__subtitle {
  color: #ba8b57;
  text-orientation: upright; /* 英字を縦にする */
  font-family: var(--font-noto-serif);
  font-size: 21.6px;
  font-weight: 500;
  line-height: 120%; /* 25.92px */
  letter-spacing: 6px;
  padding-left: 14px;
  padding-top: 4px;
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv__subtitle {
    font-size: 4vw;
    letter-spacing: 0.8vw;
    padding-left: 0;
    padding-top: 0;
  }
}
.p-kv .kv-symbol {
  max-width: 515px;
  margin-left: 150px;
  margin-top: 125px;
  position: relative;
}
@media screen and (max-width: 744px) {
  .p-kv .kv-symbol {
    max-width: 76.2666666667vw;
    margin-top: 30.9333333333vw;
    margin-left: 12vw;
  }
}
.p-kv .kv-symbol::after {
  content: "";
  position: absolute;
  bottom: -310px;
  right: -220px;
  width: 872px;
  height: 732px;
  background: url(../images/kv-06.webp) center/cover no-repeat;
}
@media screen and (max-width: 744px) {
  .p-kv .kv-symbol::after {
    width: 116.2666666667vw;
    height: 89.6vw;
    right: -20.2666666667vw;
    bottom: -56vw;
  }
}
.p-kv .kv-symbol__heading {
  height: 61px;
  margin-bottom: 40px;
  white-space: nowrap;
}
.p-kv .kv-symbol__heading .kv-symbol-heading__text1 {
  position: absolute;
  top: 0;
  left: 0;
  color: #333;
  font-family: var(--font-noto-serif);
  font-size: 32px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 9.6px;
}
@media (max-width: 1366px) {
  .p-kv .kv-symbol__heading .kv-symbol-heading__text1 {
    font-size: 2.3426061493vw;
    letter-spacing: 0.7027818448vw;
  }
}
@media (max-width: 1080px) {
  .p-kv .kv-symbol__heading .kv-symbol-heading__text1 {
    font-size: 26px;
    letter-spacing: 7.6px;
  }
}
.p-kv .kv-symbol__heading .kv-symbol-heading__text1--span1 {
  color: #333;
  text-align: right;
  font-family: var(--font-noto-serif);
  font-size: 56px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 5.6px;
}
@media (max-width: 1366px) {
  .p-kv .kv-symbol__heading .kv-symbol-heading__text1--span1 {
    font-size: 4.0995607613vw;
    letter-spacing: 0.4099560761vw;
  }
}
@media (max-width: 1080px) {
  .p-kv .kv-symbol__heading .kv-symbol-heading__text1--span1 {
    font-size: 50px;
    letter-spacing: 4.6px;
  }
}
.p-kv .kv-symbol__heading .kv-symbol-heading__text2 {
  position: absolute;
  top: 32px;
  left: 19px;
  color: #333;
  font-family: var(--font-noto-serif);
  font-size: 32px;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: 9.6px;
}
@media (max-width: 1366px) {
  .p-kv .kv-symbol__heading .kv-symbol-heading__text2 {
    font-size: 2.3426061493vw;
    letter-spacing: 0.7027818448vw;
  }
}
@media (max-width: 1080px) {
  .p-kv .kv-symbol__heading .kv-symbol-heading__text2 {
    font-size: 26px;
    letter-spacing: 7.6px;
  }
}
@media screen and (max-width: 744px) {
  .p-kv .kv-symbol-sp__heading .kv-symbol-sp__heading__text1 {
    color: #333;
    font-family: var(--font-noto-serif);
    font-size: 8.5333333333vw;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: 7.2533333333vw;
    position: absolute;
    top: -25.6vw;
    left: -3.2vw;
  }
}
@media screen and (max-width: 744px) {
  .p-kv .kv-symbol-sp__heading .kv-symbol-sp__heading__text1--span {
    color: #333;
    font-family: var(--font-noto-serif);
    font-size: 4.8vw;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: 1.44vw;
  }
}
@media screen and (max-width: 744px) {
  .p-kv .kv-symbol-sp__heading .kv-symbol-sp__heading__text2 {
    color: #333;
    font-family: var(--font-noto-serif);
    font-size: 4.7386666667vw;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: 1.4213333333vw;
    position: absolute;
    top: -20vw;
    left: 6.1333333333vw;
  }
}
@media screen and (max-width: 744px) {
  .p-kv .kv-symbol-sp__heading .kv-symbol-sp__heading__text3 {
    color: #333;
    font-family: var(--font-noto-serif);
    font-size: 4.72vw;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: 7.5466666667vw;
    position: absolute;
    top: -12.2666666667vw;
    left: 13.0666666667vw;
  }
}
@media screen and (max-width: 744px) {
  .p-kv .kv-symbol-sp__heading .kv-symbol-sp__heading__text4 {
    color: #333;
    font-family: var(--font-noto-serif);
    font-size: 4.72vw;
    font-weight: 500;
    line-height: 100%;
    position: absolute;
    top: -13.3333333333vw;
    left: 1.8666666667vw;
  }
}
@media screen and (max-width: 744px) {
  .p-kv .kv-symbol-sp__heading .kv-symbol-sp__heading__text4--span {
    color: #333;
    font-family: var(--font-noto-serif);
    font-size: 8.5333333333vw;
    font-weight: 600;
    line-height: 100%;
    letter-spacing: 9.2266666667vw;
  }
}
@media screen and (max-width: 744px) {
  .p-kv .kv-symbol-sp__heading .kv-symbol-sp__heading__text4--span2 {
    letter-spacing: 7.28vw;
  }
}
@media screen and (max-width: 744px) {
  .p-kv .kv-symbol-sp__heading .kv-symbol-sp__heading__text4--span3 {
    letter-spacing: 1.68vw;
  }
}
.p-kv .kv-symbol__img {
  position: relative;
  z-index: 1;
}
@media (max-width: 1366px) {
  .p-kv .kv-symbol__img {
    width: 90%;
  }
}
@media screen and (max-width: 744px) {
  .p-kv .kv-symbol__img {
    max-width: 100%;
  }
}
.p-kv .p-kv-eye_img_wrap {
  height: 260px;
  overflow: hidden;
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv-eye_img_wrap {
    height: 32vw;
  }
}
.p-kv .anime-auto-rotate {
  position: absolute;
  bottom: 0;
  right: 340px;
  z-index: 0;
  z-index: 1;
}
@media screen and (max-width: 744px) {
  .p-kv .anime-auto-rotate {
    bottom: initial;
    top: 0;
    right: 0;
  }
}
.p-kv .anime-auto-rotate .anime-auto-rotate__scroll {
  position: absolute;
  width: 160px;
  height: 160px;
  bottom: -80px;
  right: -80px;
}
@media screen and (max-width: 744px) {
  .p-kv .anime-auto-rotate .anime-auto-rotate__scroll {
    width: 21.3333333333vw;
    height: 21.3333333333vw;
    top: -10.6666666667vw;
    right: 4.2666666667vw;
    position: absolute;
    z-index: 2;
  }
}
.p-kv .anime-auto-rotate .anime-auto-rotate__scroll--circle {
  height: auto;
  width: 100%;
  animation: rotate 15s linear infinite;
}
@keyframes rotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.p-kv .kv-worries {
  position: absolute;
  bottom: -70px;
  right: -1200px;
  width: 1366px;
  height: 127px;
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-noto-sans);
  font-weight: 400;
  font-size: 36px;
  line-height: 130%;
  letter-spacing: 4.68px;
  display: flex;
  align-items: baseline;
  padding: 40px;
  z-index: 1;
}
@media (max-width: 1366px) {
  .p-kv .kv-worries {
    font-size: 32px;
  }
}
@media screen and (max-width: 744px) {
  .p-kv .kv-worries {
    display: block;
    width: 60.2666666667vw;
    height: 30.1333333333vw;
    right: -23.2vw;
    bottom: -90.6666666667vw;
    color: #fff;
    font-size: 4.8vw;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.6186666667vw;
    padding-left: 0;
    align-items: center;
    text-align: right;
    padding-top: 4.2666666667vw;
    padding-right: 10.6666666667vw;
  }
}
.p-kv .kv-worries span {
  color: #fff;
  font-family: var(--font-noto-sans);
  font-weight: 400;
  font-size: 28px;
  line-height: 130%;
  letter-spacing: 3.64px;
}
@media (max-width: 1366px) {
  .p-kv .kv-worries span {
    width: 2.0497803807vw;
  }
}
@media screen and (max-width: 744px) {
  .p-kv .kv-worries span {
    font-size: 4.8vw;
  }
}
.p-kv .p-kv-eye {
  max-width: 1000px;
  width: 100%;
  margin: 192px auto 0;
  position: relative;
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv-eye {
    margin: 43.2vw auto 0;
  }
}
.p-kv .p-kv-eye__bgtext {
  position: absolute;
  top: -45px;
  left: -75px;
  font-family: var(--font-noto-serif);
  color: #9d9d9d;
  font-size: 160px;
  font-weight: 200;
  line-height: 80%;
  transform: skewX(-8deg);
  rotate: -4deg;
  opacity: 0.2;
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv-eye__bgtext {
    font-size: 21.3333333333vw;
    top: -32.5333333333vw;
    left: 2.1333333333vw;
    z-index: -1;
  }
}
.p-kv .p-kv-eye_img_parallax_wrap {
  position: absolute;
  top: 0;
  right: -183px;
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv-eye_img_parallax_wrap {
    top: initial;
    bottom: -44.8vw;
    right: 0;
  }
}
.p-kv .p-kv-eye__img {
  max-width: 818px;
  width: 100%;
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv-eye__img {
    top: initial;
    bottom: -44.8vw;
    right: 0;
    max-width: 100%;
  }
}
.p-kv .p-kv-eye__texts {
  max-width: 750px;
  color: #333;
  font-family: var(--font-noto-serif);
  font-size: 21px;
  font-weight: 600;
  line-height: 200%;
  padding-top: 222px;
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv-eye__texts {
    max-width: 100%;
    font-size: 4.8vw;
    padding-top: 16.2666666667vw;
    padding-left: 6.4vw;
    padding-right: 6.4vw;
  }
}
.p-kv .p-kv-eye__texts span {
  font-family: var(--font-noto-serif);
  font-size: 48px;
}
@media screen and (max-width: 744px) {
  .p-kv .p-kv-eye__texts span {
    font-size: 8.5333333333vw;
  }
}

.nojq {
  display: none;
}

/* --------------------------------------------------
 p-about
-------------------------------------------------- */
.p-about {
  width: 100%;
  height: 100%;
  background: url(../images/about-05.webp) center/cover no-repeat;
}
@media screen and (max-width: 744px) {
  .p-about {
    background: url(../images/about-05-sp.webp) center/cover no-repeat;
  }
}
.p-about .p-about__inner {
  max-width: 1080px;
  padding: 48px 40px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 744px) {
  .p-about .p-about__inner {
    flex-direction: column-reverse;
    padding: 8.5333333333vw 4.2666666667vw;
  }
}
.p-about .p-about__left {
  max-width: 408px;
}
@media screen and (max-width: 744px) {
  .p-about .p-about__left {
    max-width: 100%;
  }
}
.p-about .p-about__box {
  color: #fff;
  text-align: center;
  font-family: var(--font-noto-serif);
  font-size: 32px;
  font-weight: 500;
  background: #ba8b57;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  padding: 5px 0 9px;
}
@media screen and (max-width: 744px) {
  .p-about .p-about__box {
    font-size: 5.6vw;
    padding: 0.2666666667vw 0 0.5333333333vw;
    max-width: 73.8666666667vw;
    width: 100%;
    margin: 0 auto 4.2666666667vw;
  }
}
.p-about .p-about__circles {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 16px;
}
@media screen and (max-width: 744px) {
  .p-about .p-about__circles {
    max-width: 68.5333333333vw;
    margin: 0 auto 4.2666666667vw;
    gap: 2.1333333333vw;
  }
}
.p-about .p-about__arrow {
  max-width: 230px;
  width: 100%;
  margin: 0 auto 16px;
}
@media screen and (max-width: 744px) {
  .p-about .p-about__arrow {
    max-width: 41.6vw;
  }
}
.p-about .p-about__growth {
  color: #fff;
  text-align: center;
  font-family: var(--font-noto-serif);
  font-size: 48px;
  font-weight: 500;
  line-height: 100%;
}
@media screen and (max-width: 744px) {
  .p-about .p-about__growth {
    font-size: 8.5333333333vw;
  }
}
.p-about .p-about__right {
  max-width: 554px;
}
@media screen and (max-width: 744px) {
  .p-about .p-about__right {
    max-width: 100%;
  }
}
.p-about .p-about__h2 {
  color: #fff;
  font-family: var(--font-noto-serif);
  font-size: 42px;
  font-weight: 500;
  line-height: 130%;
  margin-bottom: 0;
  padding-bottom: 7px;
  letter-spacing: 2px;
}
@media screen and (max-width: 744px) {
  .p-about .p-about__h2 {
    font-size: 6.4vw;
    text-align: center;
    margin-bottom: 1.8666666667vw;
  }
}
.p-about .p-about__h3 {
  color: #fff;
  font-family: var(--font-bison);
  font-size: 13px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 3.9px;
  padding-bottom: 40px;
}
@media screen and (max-width: 744px) {
  .p-about .p-about__h3 {
    font-size: 2.9333333333vw;
    letter-spacing: 0.88vw;
    text-align: center;
    padding-bottom: 6.4vw;
  }
}
.p-about .p-about__text {
  color: #fff;
  font-size: 21px;
  font-weight: 500;
  line-height: 200%;
  padding-bottom: 24px;
}
@media screen and (max-width: 744px) {
  .p-about .p-about__text {
    font-size: 4vw;
    padding-bottom: 6.4vw;
  }
}
.p-about .p-about__annotation {
  color: #fff;
  text-align: right;
  font-size: 15px;
  font-weight: 500;
  line-height: 200%;
}
@media screen and (max-width: 744px) {
  .p-about .p-about__annotation {
    padding-bottom: 6.4vw;
    font-size: 2.9333333333vw;
  }
}

/* --------------------------------------------------
 p-recommend
-------------------------------------------------- */
.p-recommend .recommend__h2 {
  color: #333;
  text-align: center;
  font-family: var(--font-noto-serif);
  font-size: 42px;
  font-style: normal;
  font-weight: 600;
  line-height: 130%;
  padding-top: 32px;
  margin-bottom: 32px;
  letter-spacing: 6px;
}
@media screen and (max-width: 744px) {
  .p-recommend .recommend__h2 {
    font-size: 6.4vw;
    padding-top: 6.4vw;
    margin-bottom: 6.4vw;
  }
}
.p-recommend .recommend__cards {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, 1fr);
  height: 300px;
}
@media screen and (max-width: 744px) {
  .p-recommend .recommend__cards {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(3, 50.1333333333vw);
    height: initial;
  }
}
.p-recommend .recommend__card {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 744px) {
  .p-recommend .recommend__card {
    justify-content: right;
    padding-right: 12.8vw;
  }
}
.p-recommend .recommend__card:nth-of-type(1) {
  width: 100.4%;
  height: 100.4%;
  background: url(../images/recommend-01.webp) center/cover no-repeat;
}
.p-recommend .recommend__card:nth-of-type(2) {
  width: 100.4%;
  height: 100.4%;
  background: url(../images/recommend-02.webp) center/cover no-repeat;
}
.p-recommend .recommend__card:nth-of-type(3) {
  width: 100%;
  height: 100.4%;
  background: url(../images/recommend-03.webp) center/cover no-repeat;
}
.p-recommend .recommend__card__subtext {
  color: #fff;
  font-family: var(--font-bison);
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 3.9px;
  padding-bottom: 8px;
}
@media screen and (max-width: 744px) {
  .p-recommend .recommend__card__subtext {
    text-align: right;
    font-size: 3.4666666667vw;
    letter-spacing: 1.04vw;
    padding-bottom: 2.1333333333vw;
  }
}
.p-recommend .recommend__card__maintext {
  color: #fff;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: 2.4px;
  padding-bottom: 16px;
  position: relative;
}
@media (max-width: 1200px) {
  .p-recommend .recommend__card__maintext {
    font-size: 20px;
  }
}
@media screen and (max-width: 744px) {
  .p-recommend .recommend__card__maintext {
    text-align: right;
    font-size: 5.6vw;
    letter-spacing: 0.56vw;
    padding-bottom: 4.2666666667vw;
  }
}
.p-recommend .recommend__card__maintext::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 56px;
  height: 1px;
  background: #fff;
}
@media screen and (max-width: 744px) {
  .p-recommend .recommend__card__maintext::after {
    left: initial;
    right: 0;
    width: 14.9333333333vw;
    height: 0.2666666667vw;
  }
}

/* --------------------------------------------------
 mechanism
-------------------------------------------------- */
.p-mechanism {
  background: var(--color-primary);
  padding: 72px 0;
}
@media screen and (max-width: 744px) {
  .p-mechanism {
    padding: 12.8vw 0 8.5333333333vw;
  }
}
@media screen and (max-width: 744px) {
  .p-mechanism .p-mechanism__inner {
    padding: 0 4.2666666667vw;
  }
}
.p-mechanism .p-mechanism__titles {
  padding-bottom: 32px;
}
@media screen and (max-width: 744px) {
  .p-mechanism .p-mechanism__titles {
    padding-bottom: 6.4vw;
  }
}
.p-mechanism .p-mechanism__h2 {
  color: #fff;
  text-align: center;
  font-family: var(--font-noto-serif);
  font-size: 42px;
  font-weight: 500;
  line-height: 130%;
  margin-bottom: 0;
  padding-bottom: 14px;
  letter-spacing: 6px;
}
@media screen and (max-width: 744px) {
  .p-mechanism .p-mechanism__h2 {
    font-size: 6.4vw;
    padding-bottom: 1.3333333333vw;
  }
}
.p-mechanism .p-mechanism__h3 {
  color: #fff;
  font-family: var(--font-bison);
  font-size: 13px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 3.9px;
  text-align: center;
}
@media screen and (max-width: 744px) {
  .p-mechanism .p-mechanism__h3 {
    font-size: 2.9333333333vw;
    letter-spacing: 0.88vw;
  }
}
.p-mechanism .p-mechanism__cards {
  max-width: 780px;
  margin: 0 auto;
  display: grid;
  gap: 60px;
  grid-template-columns: repeat(3, 1fr);
  padding-bottom: 32px;
}
@media screen and (max-width: 744px) {
  .p-mechanism .p-mechanism__cards {
    grid-template-columns: repeat(1, 1fr);
    gap: 6.9333333333vw;
    padding-bottom: 6.4vw;
  }
}
.p-mechanism .p-mechanism__card {
  position: relative;
}
@media screen and (max-width: 744px) {
  .p-mechanism .p-mechanism__card {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 744px) {
  .p-mechanism .p-mechanism-card__arrow1 {
    position: absolute;
    width: 13.3333333333vw;
    height: 10.6666666667vw;
    background: url(../images/arrow-right.svg) center/cover no-repeat;
    right: 15.2vw;
    bottom: -9.0666666667vw;
    transform: rotate(90deg);
  }
}
.p-mechanism .p-mechanism-card__arrow2 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -54px;
  width: 50px;
  height: 40px;
  background: url(../images/arrow-right.svg) center/cover no-repeat;
}
@media screen and (max-width: 744px) {
  .p-mechanism .p-mechanism-card__arrow2 {
    left: initial;
    top: initial;
    width: 13.3333333333vw;
    height: 10.6666666667vw;
    right: 15.2vw;
    bottom: -9.0666666667vw;
    transform: rotate(90deg);
  }
}
.p-mechanism .p-mechanism-card__arrow3 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -54px;
  width: 50px;
  height: 40px;
  background: url(../images/arrow-right.svg) center/cover no-repeat;
}
@media screen and (max-width: 744px) {
  .p-mechanism .p-mechanism-card__arrow3 {
    display: none;
  }
}
@media screen and (max-width: 744px) {
  .p-mechanism .p-mechanism__img {
    max-width: 43.7333333333vw;
    width: 100%;
  }
}
.p-mechanism .p-mechanism__card__text {
  color: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 130%;
  background: #6e6e6e;
  height: 54px;
  align-items: center;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 744px) {
  .p-mechanism .p-mechanism__card__text {
    max-width: 43.4666666667vw;
    width: 100%;
    height: 100%;
    line-height: 170%;
    height: 90%;
    margin-top: auto;
    font-size: 4vw;
  }
}
.p-mechanism .p-mechanism__card__text3 {
  background: #ba8b57;
}
.p-mechanism .p-mechanism__text {
  color: #fff;
  text-align: center;
  font-size: 21px;
  font-weight: 500;
  line-height: 200%;
}
@media screen and (max-width: 744px) {
  .p-mechanism .p-mechanism__text {
    font-size: 4vw;
    text-align: left;
    letter-spacing: 0.1vw;
  }
}

/*****************************************************
/* tissue
*****************************************************/
.p-tissue {
  background: #f8f4f1;
}

/* --------------------------------------------------
 施術の流れ
-------------------------------------------------- */
#tempFlow .tempFlow__lists {
  background: #f8f4f1;
}

/* --------------------------------------------------
 費用
-------------------------------------------------- */
#tempPrice {
  background: #f8f4f1;
}

/* --------------------------------------------------
 広告用
-------------------------------------------------- */

/*# sourceMappingURL=style.css.map */
