@charset "UTF-8";
/* CSS Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Hind:wght@300;400;500;600;700&family=Kosugi+Maru&display=swap");
body, html {
  font-size: 10px;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

body {
  min-height: 100vh;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.8px;
  word-break: normal;
  word-wrap: break-word;
}

article, aside, blockquote, body, code, dd, details, div, dl, dt, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, img, input, legend, li, menu, nav, ol, p, pre, section, summary, td, textarea, th, ul {
  border: 0;
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: bottom;
}

li, ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address, caption, cite, code, dfn, em, mark, strong, th, time, var {
  font-style: normal;
  font-weight: 400;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
}

q:after, q:before {
  content: "";
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

mark {
  background: #fff;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, keygen, select, textarea {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

body a {
  opacity: 1;
  transition: 0.35s ease-in-out;
}

body a:hover {
  opacity: 0.6;
}

button, input[type=button], input[type=reset], input[type=submit] {
  -webkit-appearance: none;
}

input[type=text], input[type=password] {
  outline: none;
}

small {
  font-size: 10px;
}

a {
  text-decoration: none;
}

*, :after, :before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

/* スムーズなスクロールアニメーション */
html {
  scroll-behavior: smooth;
}

/* ヘッダーの高さ分のマージンを設定 */
:target::before {
  content: "";
  display: block;
  height: 60px; /* ヘッダーの高さに合わせる */
  margin-top: -60px; /* マイナス値でヘッダー分をオフセット */
}

body {
  margin: 0 auto;
  color: #4B4B4B;
  background-color: #ffffff;
}

@media screen and (min-width: 431px) {
  body {
    background-image: url(../images/pc-back.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
  }
}
.wrapper {
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  background-color: white;
}

@media screen and (min-width: 768px) {
  .wrapper {
    max-width: 750px;
  }
}
.mark {
  background: linear-gradient(transparent 50%, rgba(247, 237, 152, 0.6) 50%);
}

.pc-block {
  display: block;
}

.sp-block {
  display: none;
}

@media screen and (max-width: 767px) {
  .sp-block {
    display: block;
  }
  .pc-block {
    display: none;
  }
}
/*-----hrader----------------------------------------*/
.header {
  padding: 0.4rem 2rem;
  background-color: #ffffff;
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header__inner--logo {
  width: 223px;
}
.header__inner--nav {
  width: 5rem;
  height: 5rem;
  display: block;
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 2rem;
  cursor: pointer;
}
.header__inner--nav .openBtn {
  width: 100%;
  height: 100%;
  transition: all 0.4s;
}
.header__inner--nav .openBtn span {
  width: 50%;
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 2px;
  border-radius: 2px;
  background: #4B4B4B;
  z-index: 9999;
}
.header__inner--nav .openBtn span:nth-of-type(1) {
  top: 17px;
}
.header__inner--nav .openBtn span:nth-of-type(2) {
  top: 25px;
}
.header__inner--nav .openBtn span:nth-of-type(3) {
  top: 33px;
}
.header__inner--nav .openBtn.active span:nth-of-type(1) {
  transform: translate(-12px, 11px) rotate(-45deg);
  width: 50%;
}
.header__inner--nav .openBtn.active span:nth-of-type(2) {
  opacity: 0;
}
.header__inner--nav .openBtn.active span:nth-of-type(3) {
  transform: translate(-12px, -5px) rotate(45deg);
  width: 50%;
}
.header__inner--nav #g-nav {
  position: fixed;
  z-index: 9990;
  top: 0;
  right: 0;
  width: 75%;
  height: 100vh;
  background-color: #ffffff;
  transition: all 0.6s;
  pointer-events: none;
  opacity: 0;
}
.header__inner--nav #g-nav .navContent {
  width: 85%;
  position: relative;
  top: 30rem;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
}
.header__inner--nav #g-nav .navContent:first-child {
  border-top: 1px solid #B79935;
}
.header__inner--nav #g-nav .navContent li {
  padding: 1rem 0 1rem 3rem;
  font-size: 1.6rem;
  text-align: left;
  border-bottom: 1px solid #B79935;
  position: relative;
}
.header__inner--nav #g-nav .navContent li::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 5px;
  height: 5px;
  border-right: 2px solid #B79935;
  border-bottom: 2px solid #B79935;
  transform: rotate(-45deg);
  top: 2rem;
  left: 1rem;
}
.header__inner--nav #g-nav .navContent li a {
  font-weight: 500;
  color: #4B4B4B;
  display: block;
}
.header__inner--nav #g-nav.panelactive {
  right: 0;
  opacity: 1;
  pointer-events: all;
}
.header #navBack {
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50;
  transition: all 0.6s;
  opacity: 0;
  pointer-events: none;
}
.header #navBack.darken {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .header {
    padding: 0.8rem 2rem;
  }
  .header__inner--logo {
    width: 250px;
  }
  .header__inner--nav {
    top: 0.5rem;
  }
  .header__inner--nav #g-nav .navContent {
    top: 40rem;
  }
  .header__inner--nav #g-nav .navContent li {
    padding: 1.5rem 0 1.5rem 4rem;
    font-size: 2rem;
  }
  .header__inner--nav #g-nav .navContent li::before {
    width: 7px;
    height: 7px;
    top: 2.6rem;
    left: 1.2rem;
  }
  .header__inner--nav #g-nav .navContent li a {
    font-weight: 600;
  }
}
/*-----mv--------------------------------------------*/
.mv {
  margin-top: 5rem;
}
.mv__mainCopy {
  width: 100%;
  background-image: url(../images/mv_bg_top.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top center;
  padding: 0.5rem 3% 21rem;
}
.mv__mainCopy h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 2;
  text-shadow: white 0 0 10px;
}
.mv__mainCopy h2 em {
  font-size: 2rem;
  font-weight: 600;
  background: linear-gradient(transparent 70%, rgba(242, 172, 158, 0.6) 70%);
}
.mv__mainCopy h2 em span {
  font-weight: 800;
}
.mv__mainCopy h2 strong {
  font-size: 4.8rem;
  color: #E84B69;
  font-weight: 600;
  line-height: 1;
}
.mv__mainCopy h2 strong .copySpace01 {
  font-size: 3.2rem;
  letter-spacing: -5px;
}
.mv__mainCopy h2 strong .copySpace02 {
  letter-spacing: -5px;
}
.mv__appealBand {
  width: 100%;
  margin-top: -19.5rem;
  padding: 0 5rem 1rem 3.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-family: "Noto Serif JP", serif;
  background: linear-gradient(transparent 67%, #FF8B74 67%);
}
.mv__appealBand figure {
  width: 110px;
}
.mv__appealBand p {
  width: 18rem;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.4;
  color: white;
  text-shadow: rgba(0, 0, 0, 0.25) 0 0 3px;
}
.mv__appealBand p span {
  font-family: "Noto Serif", serif;
  font-style: italic;
  font-weight: 800;
  font-size: 3rem;
}
.mv__appealArea {
  width: 100%;
  padding-bottom: 5rem;
  background-image: url(../images/mv_bg_bottom.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: bottom center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
}
.mv__appealArea__contents {
  display: flex;
  justify-content: space-around;
}
.mv__appealArea__contents p {
  width: 17.6rem;
  background-image: url(../images/main_bubble.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  text-align: center;
}
.mv__appealArea__contents .appeal01 {
  padding: 4rem 0 5rem 0;
}
.mv__appealArea__contents .appeal01 span {
  font-size: 1.2rem;
  font-weight: 500;
}
.mv__appealArea__contents .appeal01 em {
  font-family: "Noto Serif", serif;
  font-size: 3.6rem;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0;
  line-height: 3.6rem;
  color: #E84B69;
}
.mv__appealArea__contents .appeal02 {
  padding: 5.5rem 0 4rem 0;
}
.mv__appealArea__contents .appeal02 em {
  font-family: "Noto Serif JP", serif;
  font-size: 2.8rem;
  font-weight: 600;
  color: #E84B69;
}
.mv__appealArea__button {
  width: 25rem;
  margin: 0 auto;
  cursor: pointer;
}
.mv__appealArea__button a {
  width: 100%;
  padding: 1.2rem 0;
  font-family: "Zen Maru Gothic", serif;
  font-size: 1.6rem;
  font-weight: 600;
  text-shadow: rgba(0, 0, 0, 0.25) 0 0 3px;
  text-align: center;
  color: white;
  background-color: #E84B69;
  border: white 2px solid;
  border-radius: 5rem;
  box-shadow: rgba(0, 0, 0, 0.25) 0 3px 5px;
  display: block;
  position: relative;
  z-index: 5;
}
.mv__appealArea__button a::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 30px;
  height: 5px;
  background-image: url(../images/button_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .mv {
    margin-top: 6rem;
  }
  .mv__mainCopy {
    padding: 2rem 5rem 36rem;
  }
  .mv__mainCopy h2 {
    font-size: 4rem;
    line-height: 2;
  }
  .mv__mainCopy h2 em {
    font-size: 3rem;
  }
  .mv__mainCopy h2 strong {
    font-size: 8rem;
    color: #E84B69;
    font-weight: 600;
    line-height: 1;
  }
  .mv__mainCopy h2 strong .copySpace01 {
    font-size: 6rem;
  }
  .mv__appealBand {
    margin-top: -27.5rem;
    padding: 0 6rem 1rem 7rem;
  }
  .mv__appealBand figure {
    width: 170px;
  }
  .mv__appealBand p {
    width: 38rem;
    font-size: 4rem;
    line-height: 1.2;
  }
  .mv__appealBand p span {
    font-size: 6rem;
  }
  .mv__appealArea {
    width: 100%;
    padding-bottom: 10rem;
    font-size: 2.2rem;
  }
  .mv__appealArea__contents {
    justify-content: center;
    gap: 3rem;
  }
  .mv__appealArea__contents p {
    width: 28rem;
  }
  .mv__appealArea__contents .appeal01 {
    padding: 6rem 0 7rem 0;
  }
  .mv__appealArea__contents .appeal01 span {
    font-size: 1.6rem;
  }
  .mv__appealArea__contents .appeal01 em {
    font-size: 6rem;
    line-height: 7rem;
  }
  .mv__appealArea__contents .appeal02 {
    padding: 8.5rem 0 4rem 0;
    line-height: 1.8;
  }
  .mv__appealArea__contents .appeal02 em {
    font-size: 4.6rem;
    line-height: 1.4;
  }
  .mv__appealArea__button {
    width: 40rem;
  }
  .mv__appealArea__button a {
    padding: 1.8rem 0;
    font-size: 2.4rem;
    border: white 3px solid;
  }
  .mv__appealArea__button a::after {
    width: 50px;
    height: 10px;
    right: 3rem;
  }
}
/*-----point-----------------------------------------*/
.point {
  padding: 5rem 3% 2rem;
  background-image: url(../images/stone_bg.webp);
  background-position: top center;
  background-size: 100%;
}
.point__title {
  width: 30rem;
  margin: 0 auto 5rem;
  position: relative;
}
.point__title::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 5rem;
  height: 5.5rem;
  background-image: url(../images/butterfly.svg);
  background-repeat: no-repeat;
  background-size: contain;
  top: -5.2rem;
  right: -2.2rem;
}
.point__title h3 {
  width: 28rem;
  margin: 0 auto;
  padding: 2rem 0 1.6rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.8rem;
  text-align: center;
  line-height: 1.2;
  position: relative;
}
.point__title h3 .titleBold {
  font-weight: 600;
}
.point__title h3 .titleItalic {
  font-family: "Noto Serif", serif;
  font-style: italic;
  color: #B79935;
  font-size: 4rem;
  font-weight: 600;
}
.point__title h3 .title20 {
  font-size: 2rem;
  font-weight: 600;
}
.point__title h3::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 100%;
  border: #FF8B74 0.5px solid;
  top: -3px;
  left: -3px;
}
.point__title h3::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 100%;
  border: #FF8B74 0.5px solid;
  top: 3px;
  left: 3px;
}
.point__box {
  width: 100%;
  min-width: 35rem;
  padding: 4rem 0 3rem;
  background-color: white;
  box-shadow: rgba(0, 0, 0, 0.25) 0 0 10px;
  position: relative;
  left: 50%;
  transform: translate(-50%);
}
.point__box .pointNo {
  width: 7rem;
  height: 7rem;
  margin: -7rem auto 2rem;
  padding: 1.5rem;
  color: white;
  background-color: #FF8B74;
  border-radius: 50%;
  font-family: "Hind", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  position: relative;
}
.point__box .pointNo span {
  font-size: 3.6rem;
  line-height: 1;
}
.point__box h4 {
  margin: 0 auto;
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
}
.point__box h4 .underDot {
  border-bottom: dotted 2px #FF8B74;
}
.point__box h4 .size18 {
  font-size: 1.8rem;
  font-weight: 700;
}
.point__box h4 .size20 {
  font-size: 2rem;
  font-weight: 700;
}
.point__box h4 .size30 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
}
.point__box h4 .italic {
  font-family: "Noto Serif", serif;
  font-size: 3rem;
  font-style: italic;
  font-weight: 600;
  color: #B79935;
}
.point__box h4 .gold20 {
  font-size: 2rem;
  font-weight: 700;
  color: #B79935;
}
.point__box h4 .gold24 {
  font-size: 2.4rem;
  font-weight: 700;
  color: #B79935;
}
.point__box figure {
  width: 31rem;
  margin: 1rem auto;
}
.point__box p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
.point__box .mid {
  font-weight: 700;
}
.point__box .goldBold {
  font-weight: 800;
  color: #B79935;
}
.point__box .goldGrad {
  background: liner-gradient(60deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  background: -webkit-linear-gradient(30deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.point .point01 {
  margin: 1rem auto;
}
.point .point01 .pointNo {
  position: relative;
}
.point .point01 .pointNo::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1px;
  height: 40px;
  background-color: #FF8B74;
  top: -3rem;
  left: 50%;
  transform: translateX(-50%);
}
.point .point02 {
  margin: 5rem auto;
}
.point .point02 h4 {
  line-height: 2;
}
.point .point03 {
  margin: 5rem auto 3rem;
}
.point .point03 h4 {
  line-height: 1.5;
}
.point .point02 .pointNo,
.point .point03 .pointNo {
  position: relative;
}
.point .point02 .pointNo::before,
.point .point03 .pointNo::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1px;
  height: 30px;
  background-color: #FF8B74;
  top: -2rem;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  .point {
    padding: 7rem 5rem 5rem;
  }
  .point__title {
    width: 60rem;
    margin: 0 auto 5rem;
  }
  .point__title::before {
    width: 10rem;
    height: 11rem;
    top: -9.2rem;
    right: -2.2rem;
  }
  .point__title h3 {
    width: 50rem;
    padding: 3.4rem 0 2.6rem;
    font-size: 3rem;
    line-height: 1.2;
  }
  .point__title h3 .titleBold {
    font-weight: 600;
  }
  .point__title h3 .titleItalic {
    font-size: 6.4rem;
  }
  .point__title h3 .title20 {
    font-size: 3rem;
  }
  .point__title h3::before {
    top: -5px;
    left: -5px;
  }
  .point__title h3::after {
    top: 5px;
    left: 5px;
  }
  .point__box {
    padding: 4rem 0 5rem;
  }
  .point__box .pointNo {
    width: 8.5rem;
    height: 8.5rem;
    margin: -7rem auto 2rem;
    padding: 2rem 0 1.5rem;
    font-size: 2rem;
    line-height: 0.8;
  }
  .point__box .pointNo span {
    font-size: 4.2rem;
    line-height: 1;
  }
  .point__box h4 {
    font-size: 2.6rem;
  }
  .point__box h4 .underDot {
    border-bottom: dotted 4px #FF8B74;
  }
  .point__box h4 .size18 {
    font-size: 2.6rem;
    font-weight: 600;
    letter-spacing: 3px;
  }
  .point__box h4 .size20 {
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 3px;
  }
  .point__box h4 .size30 {
    font-size: 5rem;
  }
  .point__box h4 .italic {
    font-size: 5rem;
  }
  .point__box h4 .gold20 {
    font-size: 3.6rem;
    font-weight: 700;
    color: #B79935;
  }
  .point__box h4 .gold24 {
    font-size: 3.8rem;
    font-weight: 700;
    color: #B79935;
  }
  .point__box figure {
    width: 50rem;
    margin: 2rem auto;
  }
  .point__box p {
    font-size: 2rem;
  }
  .point .point01 {
    margin: 6rem auto 3rem;
  }
  .point .point01 .pointNo::before {
    height: 50px;
    top: -5rem;
  }
  .point .point02 {
    margin: 6rem auto;
  }
  .point .point02 h4 {
    line-height: 2;
  }
  .point .point03 {
    margin: 5rem auto 3rem;
  }
  .point .point03 h4 {
    line-height: 1.5;
  }
  .point .point02 .pointNo::before,
  .point .point03 .pointNo::before {
    width: 1px;
    height: 50px;
    top: -3rem;
  }
}
/*-----cta-----------------------------------------*/
.cta {
  padding: 4rem 3% 5rem;
  background-image: url(../images/cta_bg.webp);
  background-size: 100%;
}
.cta h3 {
  margin: 0 auto;
  padding: 0.7rem 0 2.5rem;
  color: #FF8B74;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  text-align: center;
  background-image: url(../images/monitor.svg);
  background-size: 28rem;
  background-position: top center;
  background-repeat: no-repeat;
}
.cta h4 {
  min-width: 35rem;
  padding: 1rem 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 2rem;
  text-align: center;
  color: #ffffff;
  background-color: #FF8B74;
  border-radius: 1rem 1rem 0 0;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.cta h4 em {
  font-size: 2.4rem;
  font-weight: 700;
}
.cta h4 span {
  font-size: 2.1rem;
}
.cta__content {
  width: 100%;
  min-width: 35rem;
  padding: 1rem 0;
  background-color: white;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.cta__content::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 5.5rem;
  height: 5.5rem;
  background-image: url(../images/cta_bubble.webp);
  background-repeat: no-repeat;
  background-size: contain;
  top: -5px;
  right: 25px;
}
.cta__content h5 {
  width: 24rem;
  margin: 0 auto;
  font-family: "Noto Serif JP", serif;
  font-size: 2.2rem;
  font-weight: 600;
  text-align: center;
  border-bottom: #D0D0D0 1px solid;
  position: relative;
  z-index: 0;
}
.cta__content h5 span {
  color: #B79935;
  font-size: 2rem;
}
.cta__content__flex {
  margin-top: -2rem;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.cta__content__flex figure {
  width: 16rem;
  margin-left: -1rem;
  margin-right: -1rem;
}
.cta__content__flex .ctaPrice {
  width: 20rem;
}
.cta__content__flex .ctaPrice .regular {
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.cta__content__flex .ctaPrice .regular__price {
  width: 15rem;
  margin-right: -3rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
}
.cta__content__flex .ctaPrice .regular__price .price01 {
  font-weight: 700;
}
.cta__content__flex .ctaPrice .regular__price .price02 {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
  position: relative;
}
.cta__content__flex .ctaPrice .regular__price .price02::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 75px;
  height: 2px;
  background-color: #E84B69;
  top: 12px;
  left: 20px;
  transform: rotate(15deg);
}
.cta__content__flex .ctaPrice .regular__price .price02 span {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: -1px;
  margin: 0 5px;
}
.cta__content__flex .ctaPrice .regular__price .price02 small {
  font-size: 1rem;
  font-weight: 400;
  position: relative;
  top: -1.5rem;
  right: 1.5rem;
}
.cta__content__flex .ctaPrice .regular__off {
  width: 6.5rem;
  padding: 1rem 0;
  color: white;
  text-align: center;
  line-height: 1.2;
  background-image: url(../images/off_bg.svg);
  background-repeat: no-repeat;
  background-size: contain;
  font-size: 1.6rem;
  font-weight: 700;
  transform: rotate(7deg);
}
.cta__content__flex .ctaPrice .regular__off em {
  font-size: 2rem;
  font-weight: 700;
}
.cta__content__flex .ctaPrice .campaign {
  margin: 0.5rem auto;
  padding: 3px 0;
  font-size: 1.6rem;
  font-weight: 700;
  color: white;
  background-color: #B79935;
  border-left: white 1px solid;
  border-right: white 1px solid;
  text-align: center;
  position: relative;
}
.cta__content__flex .ctaPrice .campaign::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 7px;
  height: 100%;
  background-color: white;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  top: 0;
  left: -1px;
}
.cta__content__flex .ctaPrice .campaign::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 7px;
  height: 100%;
  background-color: white;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  top: 0;
  right: -1px;
}
.cta__content__flex .ctaPrice .price04 {
  margin-bottom: 1.5rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  text-wrap: nowrap;
}
.cta__content__flex .ctaPrice .price04 .price05 {
  margin: 0 0.5rem;
  font-family: "Noto Serif", serif;
  font-size: 5rem;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0;
  background: liner-gradient(60deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  background: -webkit-linear-gradient(-30deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.cta__content__flex .ctaPrice .price04 .price06 {
  font-size: 2.2rem;
  font-weight: 500;
}
.cta__content__flex .ctaPrice .price04 .price07 {
  font-size: 1rem;
  font-weight: 400;
  position: relative;
  top: -2rem;
  right: 3rem;
}
.cta__content__note {
  width: 32rem;
  margin: 0 auto;
  display: block;
  text-wrap: nowrap;
}
.cta__content__note small {
  font-size: 1.2rem;
  font-weight: 500;
}
.cta__content__appeal {
  width: 34rem;
  margin: 1rem auto;
  font-size: 1.4rem;
  font-weight: 600;
  justify-content: flex-start;
  gap: 0.5rem;
  display: flex;
  flex-wrap: wrap;
}
.cta__content__appeal li {
  padding: 0.5rem 1rem;
  background-color: rgba(242, 172, 158, 0.3);
}
.cta__more {
  min-width: 35rem;
  font-family: "Noto Sans JP", sans-serif;
  background-color: white;
  text-align: center;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.cta__more__band {
  padding: 7px 0;
  font-size: 1.6rem;
  font-weight: 600;
  color: white;
  text-shadow: rgba(0, 0, 0, 0.25) 0 0 3px;
  background-color: #FF8B74;
  position: relative;
}
.cta__more__band::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 12px;
  height: 10px;
  background-color: #FF8B74;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%);
}
.cta__more__next {
  padding: 2rem 0;
  font-size: 2rem;
  font-weight: 600;
  position: relative;
}
.cta__more__next::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 25px;
  height: 25px;
  background-image: url(../images/continue_left.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 1.5rem;
  left: 7.5rem;
}
.cta__more__next::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 25px;
  height: 25px;
  background-image: url(../images/continue_right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 1.5rem;
  right: 7.5rem;
}
.cta__more__next p {
  display: inline-block;
}
.cta__more__next p span {
  font-size: 1.8rem;
  font-weight: 600;
}
.cta__more__button {
  width: 30rem;
  margin: 0 auto;
  padding-bottom: 3rem;
  cursor: pointer;
}
.cta__more__button a {
  width: 100%;
  padding: 1.2rem 0;
  font-family: "Zen Maru Gothic", serif;
  font-size: 1.6rem;
  font-weight: 600;
  text-shadow: rgba(0, 0, 0, 0.25) 0 0 3px;
  text-align: center;
  color: white;
  background-color: #E84B69;
  border: white 2px solid;
  border-radius: 5rem;
  box-shadow: rgba(0, 0, 0, 0.25) 0 3px 5px;
  display: block;
  position: relative;
  z-index: 5;
}
.cta__more__button a::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 30px;
  height: 5px;
  background-image: url(../images/button_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .cta {
    padding: 5rem;
  }
  .cta h3 {
    margin: 0 auto 1rem;
    padding: 1rem 0 3rem;
    font-size: 2.4rem;
    background-size: 40rem;
  }
  .cta h4 {
    padding: 1.5rem 0;
    font-size: 3rem;
  }
  .cta h4 em {
    font-size: 3.6rem;
  }
  .cta h4 span {
    font-size: 3.4rem;
  }
  .cta__content {
    padding: 3rem;
  }
  .cta__content::before {
    width: 10rem;
    height: 10rem;
    top: -5px;
    right: 40px;
  }
  .cta__content h5 {
    width: 43rem;
    font-size: 4rem;
    line-height: 1.4;
    border-bottom: #D0D0D0 2px solid;
  }
  .cta__content h5 span {
    font-size: 3.2rem;
  }
  .cta__content__flex {
    margin-top: -3rem;
  }
  .cta__content__flex figure {
    width: 26rem;
    margin-left: -1rem;
    margin-right: -1rem;
  }
  .cta__content__flex .ctaPrice {
    width: 30rem;
  }
  .cta__content__flex .ctaPrice .regular__price {
    width: 22rem;
    margin-right: -6rem;
    font-size: 2rem;
  }
  .cta__content__flex .ctaPrice .regular__price .price01 {
    font-weight: 700;
  }
  .cta__content__flex .ctaPrice .regular__price .price02 {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.2;
    position: relative;
  }
  .cta__content__flex .ctaPrice .regular__price .price02::after {
    width: 75px;
    height: 2px;
    top: 12px;
    left: 20px;
  }
  .cta__content__flex .ctaPrice .regular__price .price02 span {
    font-size: 3.6rem;
    letter-spacing: -1px;
    margin: 0 8px;
  }
  .cta__content__flex .ctaPrice .regular__price .price02 small {
    font-size: 1.2rem;
    top: -2rem;
    right: 2.5rem;
  }
  .cta__content__flex .ctaPrice .regular__off {
    width: 11.4rem;
    padding: 1.8rem 0;
    line-height: 1;
    font-size: 3rem;
  }
  .cta__content__flex .ctaPrice .regular__off em {
    font-size: 4rem;
  }
  .cta__content__flex .ctaPrice .campaign {
    margin: 1rem auto;
    font-size: 2.6rem;
    font-weight: 700;
  }
  .cta__content__flex .ctaPrice .price04 {
    margin-bottom: 1.5rem;
    font-size: 2.8rem;
  }
  .cta__content__flex .ctaPrice .price04 .price05 {
    margin: 0 0.5rem;
    font-size: 8rem;
    font-weight: 600;
  }
  .cta__content__flex .ctaPrice .price04 .price06 {
    font-size: 2.8rem;
    font-weight: 600;
  }
  .cta__content__flex .ctaPrice .price04 .price07 {
    font-size: 1.4rem;
    top: -3rem;
    right: 4rem;
  }
  .cta__content__note {
    width: 42rem;
  }
  .cta__content__note small {
    font-size: 1.6rem;
  }
  .cta__content__appeal {
    width: 42rem;
    margin: 1.5rem auto;
    font-size: 1.8rem;
    gap: 0.8rem;
  }
  .cta__more__band {
    padding: 10px 0;
    font-size: 2.6rem;
  }
  .cta__more__band::after {
    width: 30px;
    height: 18px;
    bottom: -15px;
  }
  .cta__more__next {
    padding: 3rem 0;
    font-size: 3rem;
  }
  .cta__more__next::before {
    width: 40px;
    height: 40px;
    top: 2rem;
    left: 15rem;
  }
  .cta__more__next::after {
    width: 40px;
    height: 40px;
    top: 2rem;
    right: 15rem;
  }
  .cta__more__next p span {
    font-size: 2rem;
  }
  .cta__more__button {
    width: 46rem;
    padding-bottom: 3rem;
  }
  .cta__more__button a {
    padding: 1.8rem 0;
    font-size: 2.4rem;
    border: white 3px solid;
    border-radius: 5rem;
  }
  .cta__more__button a::after {
    width: 50px;
    height: 10px;
    right: 3rem;
  }
}
/*------trouble-----------------------------------------*/
.trouble {
  padding: 5rem 3%;
  background-image: url(../images/trouble_bg.webp);
  background-size: 100%;
}
.trouble h3 {
  width: 32rem;
  margin: 0 auto 5rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.8;
  border-bottom: 1px solid #4B4B4B;
}
.trouble h3 span {
  font-size: 2.2rem;
  font-weight: 700;
}
.trouble h3 .emdot {
  color: #B79935;
  font-weight: 800;
  text-shadow: white 0 0 5px;
  background-image: radial-gradient(circle at center, #4B4B4B 12%, transparent 18%); /* 点の色とサイズ調整 */
  background-position: top right; /* 点の位置 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 2.3rem 0.4rem; /* 点の間隔とサイズ調整 */
  padding-top: 0.1rem; /* 縦方向の位置調整 */
}
.trouble__content {
  margin: 1rem auto;
  display: flex;
}
.trouble__content figure {
  width: 18rem;
}
.trouble__content .troubleText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  text-shadow: rgba(0, 0, 0, 0.3) 0 0 3px;
  position: relative;
}
.trouble__content .troubleText p {
  margin: 3px auto;
  padding: 2px 10px;
  background-color: #767676;
  box-shadow: rgba(0, 0, 0, 0.3) 3px 3px 3px;
  color: white;
  display: inline-block;
  text-wrap: nowrap;
}
.trouble__content .troubleText p span {
  font-size: 2.4rem;
  font-weight: 600;
}
.trouble .trouble01,
.trouble .trouble03 {
  justify-content: flex-start;
}
.trouble .trouble01 .troubleText,
.trouble .trouble03 .troubleText {
  text-align: left;
}
.trouble .trouble02,
.trouble .trouble04 {
  justify-content: flex-end;
}
.trouble .trouble02 .troubleText,
.trouble .trouble04 .troubleText {
  text-align: right;
}
.trouble .trouble01 .troubleText {
  width: 16rem;
  top: -2rem;
  left: -2rem;
}
.trouble .trouble02 .troubleText {
  width: 17rem;
  top: 1rem;
  right: -2rem;
}
.trouble .trouble03 .troubleText {
  width: 16rem;
  top: 1rem;
  left: -2rem;
}
.trouble .trouble04 figure {
  margin-left: -5rem;
}
.trouble .trouble04 .troubleText {
  font-size: 1.4rem;
  width: 22rem;
  top: 3.5rem;
  right: 2.6rem;
}
.trouble .trouble04 .troubleText span {
  font-size: 2.2rem;
  font-weight: 600;
}
.trouble__conclusion {
  width: 90%;
  min-width: 34rem;
  margin: 5rem auto 0;
  padding: 2.5rem 0;
  background-color: white;
  position: relative;
}
.trouble__conclusion::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 50px;
  height: 50px;
  background-image: url(../images/moja.svg);
  background-repeat: no-repeat;
  background-size: contain;
  top: -1rem;
  left: 5rem;
}
.trouble__conclusion::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px solid #B79935;
  top: 5px;
  left: 5px;
}
.trouble__conclusion p {
  font-family: "Noto Serif JP", serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
.trouble__conclusion p .gold18 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #B79935;
}
.trouble__conclusion p em {
  font-size: 2.2rem;
  font-weight: 600;
  color: #4B4B4B;
}

@media screen and (min-width: 768px) {
  .trouble {
    padding: 5rem;
  }
  .trouble h3 {
    width: 45rem;
    margin: 0 auto 5rem;
    font-size: 2.4rem;
  }
  .trouble h3 span {
    font-size: 3rem;
  }
  .trouble h3 .emdot {
    background-size: 3rem 0.6rem; /* 点の間隔とサイズ調整 */
  }
  .trouble__content {
    margin: 2rem auto;
  }
  .trouble__content figure {
    width: 38rem;
  }
  .trouble__content .troubleText {
    font-size: 3rem;
  }
  .trouble__content .troubleText p {
    margin: 3px auto;
    padding: 2px 10px;
    background-color: #767676;
    box-shadow: rgba(0, 0, 0, 0.3) 3px 3px 3px;
    color: white;
    display: inline-block;
    text-wrap: nowrap;
  }
  .trouble__content .troubleText p span {
    font-size: 4rem;
    font-weight: 600;
  }
  .trouble .trouble01,
  .trouble .trouble03 {
    justify-content: flex-start;
  }
  .trouble .trouble01 .troubleText,
  .trouble .trouble03 .troubleText {
    text-align: left;
  }
  .trouble .trouble02,
  .trouble .trouble04 {
    justify-content: flex-end;
  }
  .trouble .trouble02 .troubleText,
  .trouble .trouble04 .troubleText {
    text-align: right;
  }
  .trouble .trouble01 .troubleText {
    width: 30rem;
    top: -2rem;
    left: -4rem;
  }
  .trouble .trouble02 .troubleText {
    width: 30rem;
    top: 4rem;
    right: -3rem;
  }
  .trouble .trouble03 .troubleText {
    width: 30rem;
    top: 4rem;
    left: -4rem;
  }
  .trouble .trouble04 figure {
    margin-left: -5rem;
  }
  .trouble .trouble04 .troubleText {
    width: 34.5rem;
    font-size: 2.6rem;
    top: 10.5rem;
    right: 1rem;
  }
  .trouble .trouble04 .troubleText span {
    font-size: 3.8rem;
    font-weight: 600;
  }
  .trouble__conclusion {
    width: 50rem;
    margin: 7rem auto 0;
    padding: 2.5rem 0;
  }
  .trouble__conclusion::before {
    width: 70px;
    height: 70px;
    top: -2rem;
    left: 10rem;
  }
  .trouble__conclusion p {
    font-size: 2.4rem;
  }
  .trouble__conclusion p .gold18 {
    font-size: 3rem;
  }
  .trouble__conclusion p em {
    font-size: 3.4rem;
  }
}
/*-----about---------------------------------------------------*/
.about {
  background-color: #FDF9F8;
  padding: 0 0 5rem;
}
.about__title {
  width: 100%;
  padding: 1rem 0;
  background-image: url(../images/about_bg.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center bottom;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
  text-align: center;
}
.about__title__inner {
  width: 24rem;
  height: 24rem;
  margin: 0 auto;
  padding: 2.5rem 0;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
}
.about__title__inner h3 {
  width: 15rem;
  margin: 1rem auto;
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem;
  font-weight: 700;
  border-bottom: 1px solid #4B4B4B;
}
.about__content {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.3;
}
.about__content .about01 {
  width: 28rem;
  margin: 2rem auto 0;
  font-size: 1.6rem;
  font-weight: 700;
  display: block;
}
.about__content .about02 {
  font-size: 2.4rem;
  font-weight: 600;
  color: #B79935;
}
.about__content .about03 {
  font-size: 1.4rem;
  font-weight: 600;
  color: #B79935;
}
.about__content figure {
  margin: 1.5rem auto;
}
.about__content .about04 {
  font-size: 2rem;
  font-weight: 600;
}

@media screen and (min-width: 768px) {
  .about {
    padding: 0 0 7rem;
  }
  .about__title {
    padding: 3rem 0;
    line-height: 1.7;
    font-size: 2rem;
  }
  .about__title__inner {
    width: 42rem;
    height: 42rem;
    padding: 5.5rem 0;
    line-height: 2;
  }
  .about__title__inner h3 {
    width: 30rem;
    margin: 1rem auto;
    font-size: 4rem;
  }
  .about__content {
    font-size: 2rem;
    line-height: 1.3;
  }
  .about__content .about01 {
    width: 50rem;
    margin: 2rem auto 1rem;
    font-size: 3rem;
    text-wrap: nowrap;
  }
  .about__content .about02 {
    font-size: 3.6rem;
  }
  .about__content .about03 {
    font-size: 2rem;
  }
  .about__content figure {
    margin: 2rem auto;
  }
  .about__content .about04 {
    font-size: 2.8rem;
    font-weight: 600;
  }
}
/*-----efffect------------------------------------------*/
.effect {
  padding: 3rem 3%;
  background-image: url(../images/effect_bg.webp);
  background-size: 100%;
  background-position: top center;
  text-align: center;
}
.effect h3 {
  font-family: "Noto Serif JP", serif;
  line-height: 1.8;
}
.effect h3 .effect01 {
  font-size: 2.4rem;
  font-weight: 800;
}
.effect h3 .effect02 {
  font-size: 2.2rem;
  font-weight: 500;
}
.effect h3 .effect03 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #B79935;
}
.effect h3 .effect04 {
  font-size: 1.6rem;
  font-weight: 500;
}
.effect__check {
  width: 28rem;
  margin: 1.5rem auto 2rem;
  padding: 1.5rem 1.8rem 3rem;
  background-image: url(../images/checkBack.svg);
  background-size: 100%;
  background-repeat: no-repeat;
}
.effect__check li {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: left;
  line-height: 1.8;
  text-wrap: nowrap;
}
.effect__check li img {
  width: 1.8rem;
  margin-right: 0.5rem;
  vertical-align: middle;
}
.effect .effect05 {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 600;
  display: inline-block;
  text-align: center;
  position: relative;
  bottom: 1rem;
}
.effect .effect05 em {
  color: #B79935;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
}
.effect .effect05 em span {
  font-size: 4rem;
  font-weight: 600;
  font-style: italic;
  padding-right: 8px;
  letter-spacing: -3px;
  line-height: 0.1;
  background: liner-gradient(60deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  background: -webkit-linear-gradient(-30deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.effect figure {
  margin: 1rem auto;
}
.effect .effect06 {
  padding-bottom: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  display: inline-block;
  background-image: url(../images/effect_more.svg);
  background-position: bottom center;
  background-size: 100%;
  background-repeat: no-repeat;
}
.effect__more {
  padding: 1rem;
  display: grid;
  grid-template-columns: 14.5rem 18rem;
  column-gap: 1rem;
  row-gap: 1rem;
}
.effect__more li {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  text-align: left;
  text-wrap: nowrap;
}
.effect__more li img {
  width: 4rem;
  margin-right: 0.5rem;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .effect {
    padding: 5rem;
  }
  .effect h3 {
    font-family: "Noto Serif JP", serif;
    line-height: 1.8;
  }
  .effect h3 .effect01 {
    font-size: 3rem;
    font-weight: 800;
  }
  .effect h3 .effect02 {
    font-size: 2.4rem;
  }
  .effect h3 .effect03 {
    font-size: 2.8rem;
  }
  .effect h3 .effect04 {
    font-size: 2.6rem;
    font-weight: 600;
  }
  .effect__check {
    width: 45rem;
    margin: 2rem auto;
    padding: 2.5rem 3.5rem 6rem;
  }
  .effect__check li {
    font-size: 2.4rem;
  }
  .effect__check li img {
    width: 2.8rem;
    margin-right: 1rem;
    vertical-align: middle;
  }
  .effect .effect05 {
    font-size: 2.8rem;
    bottom: 1rem;
  }
  .effect .effect05 em span {
    font-size: 5rem;
  }
  .effect figure {
    margin: 2rem auto;
  }
  .effect .effect06 {
    margin-top: 2rem;
    padding-bottom: 1.5rem;
    font-size: 3rem;
    font-weight: 500;
  }
  .effect__more {
    padding: 2rem 5rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem;
    row-gap: 1rem;
  }
  .effect__more li {
    font-size: 2rem;
    font-weight: 600;
  }
  .effect__more li img {
    width: 6rem;
    margin-right: 1rem;
  }
}
/*-----feature-------------------------------------------*/
.feature {
  padding: 5rem 0 5rem;
  background-image: url(../images/stone_bg.webp);
  background-position: top center;
  background-size: 100%;
  position: relative;
  z-index: 0;
}
.feature h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  position: relative;
}
.feature h3::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 33rem;
  height: 12.5rem;
  background-image: url(../images/logo_back.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 25px;
  left: 15px;
  z-index: -1;
}
.feature h3 span {
  color: #B79935;
  font-weight: 600;
}
.feature h3 em {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 2.5;
}
.feature__content {
  margin-top: -4rem;
}
.feature__content h4 {
  font-family: "Hind", sans-serif;
  font-size: 5.5rem;
  font-weight: 400;
  position: relative;
  color: #B79935;
  top: 4rem;
}
.feature__content figure {
  width: 34rem;
}
.feature__content p {
  margin-top: 1rem;
  font-size: 1.6rem;
  font-weight: 500;
}
.feature .featureA {
  text-align: left;
}
.feature .featureA h4 {
  left: 1rem;
}
.feature .featureA p {
  padding-left: 1rem;
}
.feature .featureB {
  text-align: right;
}
.feature .featureB h4 {
  right: 1rem;
}
.feature .featureB figure {
  margin: 0 0 0 auto;
}
.feature .featureB p {
  padding-right: 1rem;
}

@media screen and (min-width: 768px) {
  .feature {
    padding: 7rem 0;
  }
  .feature h3 {
    font-size: 2.6rem;
  }
  .feature h3::after {
    width: 50rem;
    height: 19.5rem;
    top: 30px;
    left: 85px;
  }
  .feature h3 em {
    font-size: 4rem;
    line-height: 2.5;
  }
  .feature__content {
    margin-top: -2rem;
  }
  .feature__content h4 {
    font-size: 9rem;
    top: 4.5rem;
    line-height: 1;
  }
  .feature__content figure {
    width: 55rem;
  }
  .feature__content p {
    margin-top: 1rem;
    font-size: 2.4rem;
  }
  .feature .featureA h4 {
    left: 1rem;
  }
  .feature .featureA p {
    padding-left: 2rem;
  }
  .feature .featureB h4 {
    right: 1rem;
  }
  .feature .featureB figure {
    margin: 0 0 0 auto;
  }
  .feature .featureB p {
    padding-right: 2rem;
  }
}
/*-----different-------------------------------------------*/
.different {
  padding: 4rem 3%;
  background-image: url(../images/water_bg.webp);
  background-size: cover;
}
.different h3 {
  width: 30rem;
  margin: 0 auto;
  padding: 2rem 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 2rem;
  text-align: center;
  background-color: white;
  box-shadow: rgba(0, 0, 0, 0.25) 0 2px 3px;
  position: relative;
}
.different h3::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 30px;
  height: 1px;
  background-color: #FF8B74;
  transform: rotate(-45deg);
  top: 5px;
  left: -10px;
}
.different h3::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 30px;
  height: 1px;
  background-color: #FF8B74;
  transform: rotate(-45deg);
  bottom: 5px;
  right: -10px;
}
.different h4 {
  margin-top: 3rem;
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  line-height: 0.5;
}
.different h4 .underDot {
  border-bottom: 4px dotted #FF8B74;
}
.different h4 .circle {
  width: 5.5rem;
  height: 5.5rem;
  margin-right: 1rem;
  padding: 1rem 0 0 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 2px;
  text-shadow: rgba(0, 0, 0, 0.5) 0 0 2px;
  border-radius: 50%;
  color: white;
  background: liner-gradient(60deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  background: -webkit-linear-gradient(30deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  display: inline-block;
  position: relative;
  top: 1rem;
}
.different h4 .goldBold {
  font-weight: 700;
  color: #B79935;
}
.different figure {
  width: 30rem;
  margin: 0 auto;
}
.different p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  text-align: center;
  line-height: 2;
}
.different p .italic26 {
  font-family: "Noto Serif", serif;
  font-size: 2.6rem;
  font-weight: 600;
  font-style: italic;
  color: #B79935;
  line-height: 1;
}
.different p .gold14 {
  font-size: 1.4rem;
  font-weight: 700;
  color: #B79935;
}

@media screen and (min-width: 768px) {
  .different {
    padding: 7rem 5rem;
  }
  .different h3 {
    width: 45rem;
    padding: 3rem 0;
    font-size: 3rem;
  }
  .different h3::before {
    width: 50px;
    height: 2px;
    top: 10px;
    left: -15px;
  }
  .different h3::after {
    width: 50px;
    height: 2px;
    bottom: 10px;
    right: -15px;
  }
  .different h4 {
    margin-top: 4rem;
    font-size: 3rem;
  }
  .different h4 .circle {
    width: 8rem;
    height: 8rem;
    margin-right: 1rem;
    padding: 1.5rem 0 0 0.5rem;
    font-size: 2.4rem;
  }
  .different figure {
    width: 50rem;
    margin: 0 auto;
  }
  .different p {
    font-size: 2.4rem;
    line-height: 1.8;
  }
  .different p .italic26 {
    font-size: 3.4rem;
  }
  .different p .gold14 {
    font-size: 2.6rem;
  }
}
/*-----great-----------------------------------------------*/
.great {
  padding-bottom: 4rem;
  background-image: url(../images/great_bg.webp);
  background-size: 100%;
}
.great__title {
  padding: 2.5rem 0;
  background-image: url(../images/great_title_bg.webp);
  background-size: 100%;
  background-repeat: no-repeat;
}
.great__title .bold {
  font-weight: 700;
}
.great__title .goldBold {
  font-weight: 700;
  color: #B79935;
}
.great__title h3 {
  width: 23rem;
  padding: 3rem 0 1.5rem 2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: left;
  background-color: rgba(255, 255, 255, 0.5);
}
.great__title h3 .equal {
  position: relative;
}
.great__title h3 .equal::before {
  width: 9rem;
  display: inline-block;
  position: absolute;
  content: "（臍帯由来）";
  font-size: 1.4rem;
  font-weight: 500;
  top: -2rem;
  left: 50%;
  transform: translateX(-50%);
}
.great__content h4 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.6rem;
  font-weight: 700;
  color: #B79935;
  text-align: center;
}
.great__content h4 .enclose {
  padding: 5px 10px;
  font-size: 2.4rem;
  font-weight: 700;
  color: white;
  text-shadow: rgba(0, 0, 0, 0.25) 0 0 3px;
  background-color: #B79935;
  border-radius: 5px;
}
.great__content h4 .greatGradItalic {
  font-family: "Noto Serif", serif;
  font-size: 8rem;
  font-weight: 500;
  font-style: italic;
  line-height: 1;
  background: liner-gradient(60deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  background: -webkit-linear-gradient(30deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.great__content p {
  margin: 1rem auto;
  padding: 0 3%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
}
.great__content p .goldBold {
  font-weight: 700;
  color: #B79935;
}
.great__content p .bold {
  font-weight: 700;
}
.great .great01 {
  margin: 4rem auto;
}
.great .great01__title {
  display: flex;
  justify-content: center;
}
.great .great01__title h4 {
  margin-right: -4rem;
  position: relative;
  bottom: 1rem;
  z-index: 2;
}
.great .great01__title figure {
  width: 19rem;
}
.great .great02 {
  margin: 4rem auto;
}
.great .great02__title {
  display: flex;
  justify-content: center;
}
.great .great02__title figure {
  width: 16rem;
  margin-right: -1rem;
}
.great .great02__title h4 {
  position: relative;
  bottom: 1rem;
  z-index: 2;
}
.great .great03__title {
  padding-left: 2rem;
}
.great .great03__title h4 .enclose {
  margin-right: 1rem;
}
.great .great03__title h4 .greatGrad {
  font-size: 5rem;
  background: liner-gradient(60deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  background: -webkit-linear-gradient(30deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  vertical-align: sub;
}
.great .great03 table {
  width: 94%;
  min-width: 35rem;
  margin: 0 auto;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  border: 1px solid #D0D0D0;
  border-collapse: collapse;
  background-color: white;
}
.great .great03 table th, .great .great03 table td {
  border: 1px solid #D0D0D0;
  height: 45px;
}
.great .great03 table th {
  width: 25%;
  text-align: center;
  font-weight: 600;
  background-color: rgba(242, 172, 158, 0.3);
}
.great .great03 table th:first-child {
  background-color: white;
}
.great .great03 table th:nth-child(2) {
  font-size: 1.6rem;
  font-weight: 700;
}
.great .great03 table td .tableNote {
  font-size: 1rem;
  font-weight: 500;
}
.great .great03 table td .stamp {
  color: #FF8B74;
}
.great .great03 table td:first-child {
  font-weight: 600;
  background-color: rgba(247, 238, 163, 0.3);
}
.great .great03 table td:nth-child(2) {
  font-weight: 600;
}
.great .great03 table .redbox {
  position: relative;
}
.great .great03 table .redbox::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 102%;
  height: 227px;
  border: 3px solid #E84B69;
  top: -1px;
  left: -1px;
}
.great .great03 .noteArea p {
  margin: 0.5rem auto;
  line-height: 1.2;
}
.great .great03 .noteArea p small {
  font-size: 1.2rem;
  font-weight: 500;
}
.great .great04__title {
  position: relative;
  top: 2.5rem;
}
.great .great04__title h4 .enclose {
  margin-right: 1rem;
}
.great .great04__title h4 .greatGrad {
  font-size: 5rem;
  background: liner-gradient(60deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  background: -webkit-linear-gradient(30deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  vertical-align: sub;
}
.great .great04 figure {
  width: 100%;
  min-width: 35rem;
  margin: 0 auto;
  padding: 0 3%;
}
.great .great04 .graphNote {
  line-height: 1.2;
}
.great .great04 .graphNote small {
  font-size: 1.2rem;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .great {
    padding-bottom: 7rem;
  }
  .great__title {
    padding: 4rem 0;
  }
  .great__title h3 {
    width: 45rem;
    padding: 6rem 0 4rem 5rem;
    font-size: 2.8rem;
    line-height: 1.8;
  }
  .great__title h3 .equal::before {
    width: 12rem;
    font-size: 1.8rem;
    top: -2.5rem;
  }
  .great__content h4 {
    font-size: 3rem;
  }
  .great__content h4 .enclose {
    padding: 5px 10px;
    font-size: 3.2rem;
  }
  .great__content h4 .greatGradItalic {
    font-size: 10rem;
  }
  .great__content p {
    margin: 1rem auto;
    padding: 0 5rem;
    font-size: 2rem;
    line-height: 1.8;
  }
  .great .great01 {
    margin: 6rem auto;
  }
  .great .great01__title {
    display: flex;
    justify-content: center;
  }
  .great .great01__title h4 {
    margin-right: -4rem;
    position: relative;
    bottom: 1rem;
    z-index: 2;
  }
  .great .great01__title figure {
    width: 25rem;
  }
  .great .great02 {
    margin: 4rem auto;
  }
  .great .great02__title figure {
    width: 25rem;
  }
  .great .great03__title h4 .greatGrad {
    font-size: 8rem;
  }
  .great .great03 table {
    width: 60rem;
    font-size: 2rem;
  }
  .great .great03 table th, .great .great03 table td {
    border: 1px solid #D0D0D0;
    height: 60px;
  }
  .great .great03 table th:nth-child(2) {
    font-size: 2.4rem;
  }
  .great .great03 table td .tableNote {
    font-size: 1rem;
    font-weight: 500;
  }
  .great .great03 table .redbox::after {
    width: 102%;
    height: 302px;
    top: -1px;
    left: -1px;
  }
  .great .great03 .noteArea {
    padding-left: 3rem;
  }
  .great .great03 .noteArea p {
    margin: 0.3rem auto;
    line-height: 1;
  }
  .great .great03 .noteArea p small {
    font-size: 1.2rem;
    font-weight: 500;
  }
  .great .great04__title {
    top: 4.5rem;
  }
  .great .great04__title h4 .greatGrad {
    font-size: 8rem;
  }
  .great .great04 figure {
    padding: 0 5rem;
  }
  .great .great04 .graphNote {
    line-height: 1;
  }
  .great .great04 .graphNote small {
    font-size: 1.2rem;
    font-weight: 400;
  }
}
/*-----compare-----------------------------------------*/
.compare {
  padding: 3rem 3% 5rem;
  background-image: url(../images/stone_bg.webp);
  background-size: 100%;
}
.compare h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.8;
}
.compare h3 .underLine {
  margin-top: 1rem;
  display: inline-block;
  border-bottom: 1px solid #4B4B4B;
  line-height: 1.4;
}
.compare h3 .goldSerif {
  font-size: 2.4rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #B79935;
}
.compare h3 .emdot {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
  background-image: radial-gradient(circle at center, #B79935 12%, transparent 18%); /* 点の色とサイズ調整 */
  background-position: top right; /* 点の位置 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 2.3rem 0.4rem; /* 点の間隔とサイズ調整 */
  padding-top: 0.1rem; /* 縦方向の位置調整 */
}
.compare__content {
  width: 100%;
  min-width: 35rem;
  margin: 3rem auto;
  display: flex;
  justify-content: space-between;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.compare__content ul {
  padding: 1rem 0.5rem;
}
.compare__content ul li {
  padding: 1rem 0;
  text-align: center;
  border-top: #D0D0D0 1px solid;
  text-wrap: nowrap;
  height: 4rem;
}
.compare__content ul li:first-child {
  font-size: 1.8rem;
  font-weight: 600;
  color: #FF8B74;
  border-top: none;
  height: 8rem;
}
.compare__content ul li:first-child img {
  width: 6rem;
  margin-right: 1rem;
  vertical-align: middle;
}
.compare__content .nosedrop {
  width: 46%;
  font-size: 1.4rem;
  font-weight: 700;
  color: #B79935;
  border: 3px solid #E84B69;
  border-radius: 5px;
}
.compare__content .drip {
  width: 53%;
  font-size: 1.2rem;
  font-weight: 600;
  color: #4B4B4B;
  border: 2px solid #D0D0D0;
  border-radius: 5px;
}
.compare p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}
.compare p em {
  font-size: 2rem;
  font-weight: 800;
}

@media screen and (min-width: 768px) {
  .compare {
    padding: 7rem 5rem;
  }
  .compare h3 {
    font-size: 3rem;
  }
  .compare h3 .underLine {
    line-height: 1.6;
  }
  .compare h3 .goldSerif {
    font-size: 4rem;
  }
  .compare h3 .emdot {
    font-size: 3.8rem;
    background-size: 4rem 0.6rem; /* 点の間隔とサイズ調整 */
    padding-top: 0.1rem; /* 縦方向の位置調整 */
  }
  .compare__content {
    margin: 5rem auto;
  }
  .compare__content ul {
    padding: 1rem 1rem;
  }
  .compare__content ul li {
    padding: 1rem 0;
    height: 5rem;
  }
  .compare__content ul li:first-child {
    font-size: 2.4rem;
    height: 10rem;
  }
  .compare__content ul li:first-child img {
    width: 8rem;
    margin-right: 1rem;
    vertical-align: middle;
  }
  .compare__content .nosedrop {
    width: 49%;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.2;
  }
  .compare__content .drip {
    width: 49%;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.4;
  }
  .compare p {
    font-size: 2.6rem;
  }
  .compare p em {
    font-size: 3rem;
    font-weight: 800;
  }
}
/*-----role---------------------------------------------*/
.role__title {
  width: 100%;
  padding: 4rem 3%;
  background-image: url(../images/role_title_bg.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: bottom center;
}
.role__title h3 {
  margin: 1rem auto 2rem;
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}
.role__title p {
  margin: 3px 0 3px 1rem;
  padding: 0.5rem 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  display: inline-block;
  background-color: white;
  box-shadow: rgba(0, 0, 0, 0.25) 0 3px 5px;
}
.role__title__text01 {
  font-size: 2.4rem;
  font-weight: 700;
  color: #B79935;
}
.role__title__text02 {
  font-size: 2.6rem;
  font-weight: 700;
  color: #B79935;
  letter-spacing: -1px;
}
.role__content {
  padding: 0 3% 7rem;
  background-image: url(../images/role_bg.webp);
  background-size: 100%;
  background-position: bottom center;
  background-repeat: no-repeat;
}
.role__content p {
  font-family: "Noto Sans", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.8;
}
.role__content p span {
  font-size: 1.4rem;
  font-weight: 700;
  color: #B79935;
}
.role__content figure {
  margin: 1rem auto;
}
.role__but {
  padding: 0 3% 4rem;
  background-image: url(../images/role_but_bg.webp);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
}
.role__but__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.8;
  position: relative;
  bottom: 5rem;
}
.role__but__text .bold {
  font-weight: 700;
}
.role__but__text em {
  padding: 0 0 1.5rem 1.5rem;
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.4;
  color: white;
  background-image: url(../images/but_bubble.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(-6deg);
}
.role__but figure {
  width: 30rem;
  margin: -3rem auto 0;
}
.role__but__box {
  padding: 1.5rem;
  background-color: white;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  position: relative;
}
.role__but__box::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 4rem;
  background-color: white;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  left: 0;
  bottom: -4rem;
}
.role__but__box span {
  color: #B79935;
  font-weight: 600;
}

@media screen and (min-width: 768px) {
  .role__title {
    padding: 7rem 5rem 15rem;
    background-position: center;
  }
  .role__title h3 {
    margin: 3rem auto 0;
    font-size: 3.4rem;
  }
  .role__title p {
    margin: 5px 0 5px 3rem;
    padding: 0.5rem 1rem;
    font-size: 3.2rem;
    position: relative;
    top: 5rem;
  }
  .role__title__text01 {
    font-size: 3.6rem;
    font-weight: 600;
    color: #B79935;
  }
  .role__title__text02 {
    font-size: 4rem;
    font-weight: 600;
    color: #B79935;
  }
  .role__content {
    padding: 0 5rem 7rem;
  }
  .role__content p {
    font-size: 2rem;
  }
  .role__content p span {
    font-size: 2rem;
  }
  .role__content figure {
    margin: 2rem auto;
  }
  .role__but {
    padding: 0 5rem 6rem;
  }
  .role__but__text {
    font-size: 2rem;
    bottom: 1rem;
    line-height: 2;
  }
  .role__but__text .bold {
    font-weight: 700;
  }
  .role__but__text em {
    padding: 0 0 2rem 2rem;
    font-size: 4rem;
  }
  .role__but figure {
    width: 45rem;
    margin: 0 auto;
  }
  .role__but__box {
    padding: 2rem 3rem;
    font-size: 2rem;
  }
  .role__but__box::after {
    height: 6rem;
    bottom: -6rem;
  }
}
/*-----important-----------------------------------------*/
.important {
  padding-bottom: 4rem;
  background-image: url(../images/important_bg.webp);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}
.important__lead {
  background-image: url(../images/important_lead_bg.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  text-align: center;
}
.important__lead p {
  padding: 8rem 0 10rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.8;
}
.important__lead p .goldGrad {
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.4;
  background: liner-gradient(60deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  background: -webkit-linear-gradient(30deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.important__text {
  margin-top: -4rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}
.important__text p {
  line-height: 1.8;
}
.important__text p em {
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: 800;
  line-height: 2;
}
.important__text p span {
  margin: 0.3rem auto;
  padding: 0 1rem;
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: white;
  background-color: #B79935;
  text-shadow: rgba(0, 0, 0, 0.25) 0 0 3px;
  display: inline-block;
}
.important__figure {
  display: flex;
  justify-content: center;
  align-items: center;
}
.important__figure figure {
  width: 15rem;
  margin-right: -7rem;
  position: relative;
  z-index: 2;
}
.important__figure p {
  width: 23rem;
  padding: 6rem 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  background-image: url(../images/important_bubble.webp);
  background-size: contain;
  background-repeat: no-repeat;
}
.important__figure p span {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 800;
}
.important__figure p em {
  font-family: "Noto Serif", serif;
  font-size: 4.6rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1;
  background: liner-gradient(60deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  background: -webkit-linear-gradient(30deg, #B79935 0, #B9A340 20%, #F3D97E 65%, #9B8014 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.important__note {
  padding: 0 3%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.2;
}
.important__note ul {
  margin-left: 1rem;
}
.important__note ul li {
  position: relative;
}
.important__note ul li::before {
  position: absolute;
  content: "・";
  font-size: 1.2rem;
  display: inline-block;
  top: 0.1rem;
  left: -1rem;
}

@media screen and (min-width: 768px) {
  .important {
    padding-bottom: 6rem;
  }
  .important__lead p {
    padding: 12rem 0 16rem;
    font-size: 2rem;
  }
  .important__lead p .goldGrad {
    font-size: 3.8rem;
  }
  .important__text {
    margin-top: -4rem;
    font-size: 2.4rem;
  }
  .important__text p {
    line-height: 1.8;
  }
  .important__text p em {
    font-size: 3.4rem;
  }
  .important__text p span {
    margin: 0.3rem auto;
    padding: 0 1rem;
    font-size: 3.8rem;
  }
  .important__figure {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .important__figure figure {
    width: 24rem;
    margin-right: -10rem;
  }
  .important__figure p {
    width: 32rem;
    padding: 9rem 0;
    font-size: 2.8rem;
  }
  .important__figure p span {
    font-size: 3rem;
  }
  .important__figure p em {
    font-size: 5rem;
  }
  .important__note {
    padding: 0 5rem;
  }
}
/*-----flow-----------------------------------------*/
.flow {
  padding: 5rem 3% 3rem;
  background-image: url(../images/stone_bg.webp);
  background-size: 100%;
  position: relative;
  z-index: 0;
}
.flow__top {
  width: 29rem;
  margin: 0 auto;
  padding: 0.5rem 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  color: white;
  background-color: #B79935;
  display: block;
}
.flow h3 {
  margin: 1rem auto;
  padding: 2rem 0 3rem;
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  position: relative;
}
.flow h3::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 20rem;
  height: 9rem;
  background-image: url(../images/flow_title_bg.webp);
  background-size: contain;
  background-repeat: no-repeat;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.flow__content {
  width: 100%;
  min-width: 35rem;
  margin: 3rem auto;
  padding: 2rem 2rem 3rem;
  background-color: white;
  box-shadow: rgba(0, 0, 0, 0.25) 0 0 10px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.flow__content__item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.flow__content__item .flowNo {
  padding-right: 1rem;
  font-family: "Hind", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  text-align: center;
  color: #FF8B74;
  border-right: 2px solid #FF8B74;
}
.flow__content__item .flowNo span {
  font-size: 3.6rem;
  line-height: 0.8;
}
.flow__content__item .flowHead {
  margin-left: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
}
.flow__content__item .flowHead span {
  font-size: 1.4rem;
}
.flow__content figure {
  margin: 1rem auto;
}
.flow__content .flowText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
}
.flow .arrowShort {
  position: relative;
}
.flow .arrowShort::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 5rem;
  height: 2rem;
  background-color: #FF8B74;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  bottom: -2.5rem;
  left: 50%;
  transform: translateX(-50%);
}
.flow__arrow {
  width: 14rem;
  margin: 2rem auto 4rem;
  position: relative;
  z-index: 1;
}
.flow__arrow::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 6rem;
  height: 9rem;
  background-image: url(../images/flow_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
.flow__arrow p {
  padding: 5px 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  background-color: white;
  border: 1px solid #4B4B4B;
  border-radius: 5rem;
  background-color: white;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .flow {
    padding: 6rem 5rem;
  }
  .flow__top {
    width: 42rem;
    font-size: 2.4rem;
    font-weight: 600;
  }
  .flow h3 {
    margin: 1rem auto;
    padding: 6rem 0 6rem;
    font-size: 3rem;
  }
  .flow h3::after {
    width: 38rem;
    height: 17rem;
  }
  .flow__content {
    margin: 5rem auto;
    padding: 5rem;
  }
  .flow__content__item .flowNo {
    padding-right: 1.5rem;
    font-size: 2.4rem;
    border-right: 3px solid #FF8B74;
  }
  .flow__content__item .flowNo span {
    font-size: 4rem;
  }
  .flow__content__item .flowHead {
    margin-left: 1.5rem;
    font-size: 2.6rem;
    line-height: 1.3;
  }
  .flow__content__item .flowHead span {
    font-size: 1.8rem;
  }
  .flow__content figure {
    margin: 1.5rem auto;
  }
  .flow__content .flowText {
    font-size: 2rem;
  }
  .flow .arrowShort::after {
    width: 10rem;
    height: 4rem;
    bottom: -4.5rem;
  }
  .flow__arrow {
    width: 20rem;
    margin: 2rem auto 4rem;
    position: relative;
    z-index: 1;
  }
  .flow__arrow::after {
    width: 9rem;
    height: 14rem;
    top: 55%;
  }
  .flow__arrow p {
    padding: 1rem 0;
    font-size: 2rem;
  }
}
/*-----voice------------------------------------------*/
.voice {
  padding: 3rem 3%;
  background-color: #FFFBF9;
  background-image: url(../images/voice_bg.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top center;
  text-align: center;
}
.voice h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  line-height: 2;
}
.voice h3 .voiceTop {
  font-size: 1.6rem;
  font-weight: 500;
  display: inline-block;
}
.voice__icon {
  width: 5rem;
  margin: 0 auto 2rem;
}
.voice__note {
  font-size: 1.2rem;
  font-weight: 400;
  text-align: center;
  text-wrap: nowrap;
}
.voice__content {
  width: 100%;
  min-width: 35rem;
  margin: 1rem auto;
  padding: 1rem 1.5rem;
  background-color: white;
  border-radius: 1rem;
  box-shadow: rgba(0, 0, 0, 0.25) 0 0 10px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.voice__content__head {
  padding-bottom: 1rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  border-bottom: 1px solid #B79935;
}
.voice__content__head img {
  width: 8rem;
}
.voice__content__head p {
  margin-left: 1rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
}
.voice__content__head p small {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
}
.voice__content__text {
  margin: 1rem auto;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.6;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .voice {
    padding: 7rem 5rem;
  }
  .voice h3 {
    font-size: 3rem;
  }
  .voice h3 .voiceTop {
    font-size: 2rem;
  }
  .voice__icon {
    width: 7rem;
    margin: 0 auto 2rem;
  }
  .voice__note {
    font-size: 1.4rem;
  }
  .voice__content {
    margin: 2rem auto;
    padding: 2rem 3rem;
  }
  .voice__content__head img {
    width: 10rem;
  }
  .voice__content__head p {
    margin-left: 2rem;
    font-size: 2.4rem;
  }
  .voice__content__head p small {
    font-size: 1.6rem;
  }
  .voice__content__text {
    font-size: 1.8rem;
  }
}
/*-----promice-----------------------------------------*/
.promice {
  padding: 1rem 3% 3rem;
  background-color: #FFFBF9;
}
.promice__content {
  width: 100%;
  min-width: 35rem;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.promice__content h3 {
  width: 100%;
  padding: 4rem 0 2rem;
  margin-bottom: -5px;
  font-family: "Noto Serif JP", serif;
  font-size: 2.2rem;
  font-weight: 600;
  text-align: center;
  background-image: url(../images/promice_top_bg.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top center;
}
.promice__content ul {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  background-image: url(../images/promice_middle_bg.webp);
  background-size: 100%;
  background-repeat: repeat-y;
  background-position: top center;
}
.promice__content ul .promiceNo {
  width: 3rem;
  height: 3rem;
  margin: 1rem auto;
  padding: 2px 0;
  font-family: "Noto Serif", serif;
  font-size: 1.8rem;
  font-style: italic;
  font-weight: 400;
  color: white;
  background-color: #B79935;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  z-index: 2;
}
.promice__content ul .promiceNo::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 28rem;
  height: 1px;
  background-color: #B79935;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.promice__content ul .promiceText {
  font-family: "Noto Serif JP", serif;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.6;
}
.promice__logo {
  width: 100%;
  margin-top: -3rem;
  padding: 3rem;
  background-image: url(../images/promice_bottom_bg.webp);
  background-size: 100%;
  background-position: bottom center;
  background-repeat: no-repeat;
}
.promice__logo img {
  width: 18rem;
  margin: 3rem 0 1rem auto;
  display: block;
}

@media screen and (min-width: 768px) {
  .promice {
    padding: 0 5rem 6rem;
  }
  .promice__content h3 {
    padding: 8rem 0 4rem;
    margin-bottom: -5px;
    font-size: 3.4rem;
  }
  .promice__content ul li {
    margin-bottom: 2rem;
  }
  .promice__content ul .promiceNo {
    width: 6rem;
    height: 6rem;
    margin: 1rem auto;
    padding: 7px 0;
    font-size: 3rem;
  }
  .promice__content ul .promiceNo::after {
    width: 50rem;
    height: 2px;
  }
  .promice__content ul .promiceText {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.6;
  }
  .promice__logo {
    width: 100%;
    margin-top: -3rem;
    padding: 6rem;
  }
  .promice__logo img {
    width: 25rem;
    margin: 3rem 0 1rem auto;
  }
}
/*-----faq----------------------------------------*/
.faq {
  padding: 5rem 3%;
  background-color: white;
}
.faq h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  text-align: center;
}
.faq__sub {
  margin-bottom: 2rem;
  font-family: "Hind", sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  color: #B79935;
  text-align: center;
}
.faq .faqItem {
  width: 100%;
  min-width: 35rem;
  margin: 0.5rem auto;
  padding: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  background-color: rgba(217, 217, 217, 0.15);
  border-radius: 5px;
  box-shadow: rgba(0, 0, 0, 0.25) 0 0 5px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.faq .faqItem .question {
  font-weight: 600;
  padding: 0 2rem 0 3rem;
  position: relative;
}
.faq .faqItem .question::before {
  width: 2.4rem;
  height: 2.4rem;
  position: absolute;
  display: inline-block;
  content: "Q";
  font-family: "Hind", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: white;
  background-color: #B79935;
  border-radius: 50%;
  top: 0;
  left: 0;
}
.faq .faqItem .question::after {
  display: inline-block;
  position: absolute;
  content: "+";
  font-family: "Hind", sans-serif;
  font-size: 2.4rem;
  color: #B79935;
  top: -0.5rem;
  right: 0rem;
  transform: rotate(0);
  transition: transform 0.3s ease;
}
.faq .faqItem .question.close::after {
  transform: rotate(0deg);
}
.faq .faqItem .question.open::after {
  transform: rotate(135deg);
  top: -0.8rem;
  right: 0.2rem;
}
.faq .faqItem .answer {
  font-weight: 500;
  margin-top: 1rem;
  padding: 1rem 1rem 1rem 4rem;
  background-color: white;
  border-radius: 5px;
  position: relative;
}
.faq .faqItem .answer::before {
  width: 2.4rem;
  height: 2.4rem;
  position: absolute;
  display: inline-block;
  content: "A";
  font-family: "Hind", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: white;
  background-color: #FF8B74;
  border-radius: 50%;
  top: 1rem;
  left: 1rem;
}

@media screen and (min-width: 768px) {
  .faq {
    padding: 5rem;
  }
  .faq h3 {
    font-size: 3.4rem;
  }
  .faq__sub {
    font-size: 2.6rem;
  }
  .faq .faqItem {
    margin: 1rem auto;
    padding: 2rem;
    font-size: 1.8rem;
  }
  .faq .faqItem .question {
    font-weight: 600;
    padding: 0 3rem 0 4rem;
  }
  .faq .faqItem .question::before {
    width: 3rem;
    height: 3rem;
    position: absolute;
    font-size: 2.2rem;
  }
  .faq .faqItem .question::after {
    font-size: 3rem;
    top: -0.5rem;
    right: 0rem;
  }
  .faq .faqItem .question.close::after {
    transform: rotate(0deg);
  }
  .faq .faqItem .question.open::after {
    transform: rotate(135deg);
    top: -0.8rem;
    right: 0.2rem;
  }
  .faq .faqItem .answer {
    margin-top: 1rem;
    padding: 1rem 1rem 1rem 5rem;
  }
  .faq .faqItem .answer::before {
    width: 3rem;
    height: 3rem;
    font-size: 2.2rem;
    top: 1rem;
    left: 1rem;
  }
}
/*------footer-------------------------------------*/
.footer {
  margin-bottom: 7rem;
  background-color: white;
}
.footer__content {
  padding: 1rem 3%;
}
.footer__content__logo img {
  width: 22rem;
}
.footer__content__data {
  width: 90%;
  margin: 2rem auto;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
}
.footer__content__data tr {
  border-bottom: 1px dashed #D0D0D0;
  vertical-align: top;
}
.footer__content__data th {
  width: 12rem;
  padding: 1rem 0 1rem 1rem;
  margin-left: 1rem;
  font-weight: 700;
}
.footer__content__data td {
  padding: 1rem 0 1rem 1rem;
  font-weight: 500;
}
.footer__content__link {
  margin: 2rem auto;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #4B4B4B;
  text-decoration: underline;
  text-align: center;
  display: block;
}
.footer__copyright {
  padding: 1rem 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
  color: white;
  background-color: #B79935;
}
.footer .fixArea {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}
.footer .fixArea #pageTop {
  position: absolute;
  bottom: 1rem;
  right: 0;
  z-index: 5;
}
.footer .fixArea #pageTop img {
  width: 5rem;
}
.footer .fixArea .fixedButton {
  width: 27rem;
  margin: 0 auto;
  cursor: pointer;
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}
.footer .fixArea .fixedButton a {
  width: 100%;
  padding: 1.4rem 0;
  font-family: "Zen Maru Gothic", serif;
  font-size: 1.6rem;
  font-weight: 600;
  text-shadow: rgba(0, 0, 0, 0.25) 0 0 3px;
  text-align: center;
  color: white;
  background-color: #E84B69;
  border: white 2px solid;
  border-radius: 5rem;
  box-shadow: rgba(0, 0, 0, 0.25) 0 3px 5px;
  display: block;
}

@media screen and (min-width: 768px) {
  .footer {
    margin-bottom: 10rem;
  }
  .footer__content {
    padding: 5rem;
  }
  .footer__content__logo img {
    width: 25rem;
  }
  .footer__content__data {
    width: 50rem;
    margin: 2rem auto;
    font-size: 1.6rem;
  }
  .footer__content__data th {
    width: 15rem;
    padding: 1.5rem 0 1.5rem 1.5rem;
    margin-left: 2rem;
  }
  .footer__content__data td {
    padding: 1.5rem 0 1.5rem 1.5rem;
  }
  .footer__content__link {
    font-size: 1.6rem;
  }
  .footer__copyright {
    padding: 2rem 0;
    font-size: 1.4rem;
  }
  .footer .fixArea {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
  }
  .footer .fixArea #pageTop {
    position: absolute;
    bottom: 1rem;
    right: 0;
    z-index: 5;
  }
  .footer .fixArea #pageTop img {
    width: 7rem;
  }
  .footer .fixArea .fixedButton {
    width: 40rem;
  }
  .footer .fixArea .fixedButton a {
    padding: 1.6rem 0;
    font-size: 2rem;
    border: white 2px solid;
  }
  .fontkazokou{
  font-family: "Noto Serif JP", serif; 
text-align: center;
}
.baum_gaptx{
 font-family: "Noto Serif JP", serif;
 padding: 10px;
 font-size: clamp(100em, calc(1.25vw + 1.5rem), 3.2rem);
 text-size-adjust: auto;
}
.thtx_gap{
  font-family: "Noto Serif JP", serif;
  display: table;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(1.8rem, calc(1.25vw + 1.5rem), 3.2rem);
}
.text-divider {
  font-family: "Noto Serif JP", serif;
  display: flex;
  text-align: center;
  align-items: center;
  --text-divider-gap: 1rem;
  width:90%;
  margin:  0 auto;
}
.text-divider::before,
.text-divider::after {
  content: '';
  height: 2px;
  background-color: #333;
  flex-grow: 2;
}
.text-divider::before {
  margin-right: var(--text-divider-gap);
}
.text-divider::after {
  margin-left: var(--text-divider-gap);
}
}/*# sourceMappingURL=style.css.map */