@charset "UTF-8";

@font-face {
  font-family: "telugu-mn";
  src: url("/womens-nutrition-navi/fonts/telugu-mn.ttf") format("truetype");
}

@font-face {
  font-family: "meiryo";
  src: url("/womens-nutrition-navi/fonts/meiryo.ttc") format("truetype");
}

* {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.6;
}

.home main {
  background-color: #fdf8eb;
}

html {
  scroll-behavior: smooth;
}

.ns {
  font-family: "Noto Sans JP", sans-serif;
}

.stepFont {
  font-size: 4rem;
  color: #893737;
  font-family: "telugu-mn";
}



.fs-14 {
  font-size: 1.4rem;
}

.fs-2 {
  font-size: 2rem;
}

.fs-24 {
  font-size: 2.4rem;
}

.fs-32 {
  font-size: 3.2rem;
}

.fs-4 {
  font-size: 4rem;
}

.wrap {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  padding: 0 2rem;
}

.inline-b {
  display: inline-block;
}

.rev {
  flex-direction: row-reverse;
}

.mb-1 {
  margin-bottom: 1rem;
}

.mb-2 {
  margin-bottom: 2rem;
}

.mb-4 {
  margin-bottom: 4rem;
}

.mb-6 {
  margin-bottom: 6rem;
}

.mb-10 {
  margin-bottom: 10rem;
}

.mb-14 {
  margin-bottom: 14rem;
}

#mb-0 {
  margin-bottom: 0;
}

.t-c {
  text-align: center;
}

.t-r {
  text-align: right;
}

.g-4 {
  gap: 4rem;
}

.g-6 {
  gap: 6rem;
}

.ttl {
  text-align: center;

  > * {
    color: #9c8560;
  }
}

.dot {
  display: inline-block;
  border-bottom: dotted 4px #9c8560;
}

.flex {
  display: flex;
  justify-content: center;
}

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

img {
  display: block;
  width: 100%;
  object-fit: cover;
}

p,
li {
  font-size: 1.8rem;
  font-weight: 400;
}

a {
  display: block;
  font-weight: 500;
  transition: 0.5s;
  cursor: pointer;

  &:hover {
    opacity: 0.8;
    transition: 0.7s;
  }
}

section {
  overflow: hidden;
}

video {
  width: 100%;
}

input[type="text"]:focus {
  outline: 0;
  background-color: #ffffff;
}

.br-500 {
  display: none;
}

.br-768 {
  display: none;
}

.bannerWrap2 {
  position: fixed;
  z-index: 30;
  top: 40%;
  right: -10px;
  background-color: #ff7474;
  border-radius: 2rem;
  width: 100%;
  max-width: 60px;
  img {
    padding: 3rem 0rem 1rem 1rem;
    max-width: 35px;
  }
  p {
    margin: 0 auto;
    margin-right: 40%;
    text-align: center;
    padding: 1rem 0rem 3rem 1rem;
    writing-mode: vertical-lr;
    color: #ffffff;
  }
}

@media screen and (max-width: 500px) {
  p,
  li {
    font-size: 1.6rem;
    font-weight: 400;
  }
}

/* fv */

.fv {
  animation-name: fadeInAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  background-color: #ffffff;
}

.fvTitle {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translate(0%, -50%);
}

.fvTitle h1 {
  color: #eb6379;
  font-weight: 700;
  font-size: 7.2rem;
}

.fvTitle p {
  font-size: 3.2rem;
  color: #515151;
  font-weight: 700;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fvWrap {
  overflow: hidden;
  height: 90vh;
  position: relative;
  background-color: rgba(255, 245, 245, 0.3725490196);
}

#sineCanvas1 {
  width: 100%;
  height: 90vh;
  position: absolute;
  top: 0;
  right: 0;
  transform: rotate(0deg);
}

#sineCanvas2 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}

#sineCanvas3 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  transform: rotate(180deg);
}

#sineCanvas4 {
  width: 100%;
  height: 100%;
  position: absolute;
  transform: rotate(-180deg);
}

.canvas {
  animation: typinganime 2.8s ease;
}

@keyframes typinganime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media screen and (max-width: 1023px) {
  .fvTitle h1 {
    font-size: 5.2rem;
  }

  .fvTitle p {
    font-size: 2.4rem;
  }
  .ttl h2 {
    font-size: 2.6rem;
  }
}

@media screen and (max-width: 500px) {
  .fvTitle h1 {
    font-size: 3.2rem;
    margin-bottom: 1rem;
  }

  .fvTitle p {
    font-size: 1.6rem;
  }
}

.sec01 {
  background-color: #ffffff;
  padding: 8rem 0;
}

.sec01Inner > p {
  text-align: center;
  margin-bottom: 4rem;
}

.sec01Inner > h2 {
  margin-bottom: 1rem;
}

.sec01InnerFlex {
  display: flex;
  justify-content: center;
  margin-bottom: 6rem;
}

.sec01Inner02 {
  margin-bottom: 6rem;
}

.sec01Inner03 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
}

.sec01Inner03 > img {
  max-width: 400px;
}

.sec01Inner03 p {
  font-size: 2rem;
}

.sec01Inner03 p span {
  font-size: 2.4rem;
  color: #e0828d;
}

@media screen and (max-width: 1023px) {
}

@media screen and (max-width: 768px) {
  .sec01Inner03 > img {
    display: none;
  }
}

@media screen and (max-width: 500px) {
  .sec01Inner > p {
    text-align: left;
  }
  .sec01Inner .flex {
    flex-wrap: wrap;
    justify-content: start;
  }
  #t-c {
    text-align: center;
  }
}

.sec02 {
  padding: 8rem 2rem;
  padding-bottom: 30rem;
  background-color: #fff7f7;
}

.sec02Inner h2 {
  text-align: center;
}

.sec02Inner-img {
  margin-bottom: 4rem;
}

.sec02Inner > p {
  text-align: center;
}

.sec02Inner03-head {
  text-align: center;
  position: relative;
}

.sec02Inner03-head img {
  max-width: 80px;
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sec02Inner03-head p {
  text-align: center;
}

.sec02Inner03-headText {
  padding: 2rem;
  background-color: #ffffff;
  border-radius: 20px;
}

.sec02Inner03__flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8rem;
}

.sec02Inner03__flex {
  .sec02Inner03Block02-img {
    p {
      color: #ffaeae;
    }
  }
}

.sec02Inner03__flex02 {
  .sec02Inner03Block02-img {
    p {
      color: #ffbe92;
    }
  }
}

.sec02Inner03Block01 {
  max-width: 450px;
}

.sec02Inner03Block01-img {
  max-width: 380px;
  margin: 0 auto;
}

.sec02Inner03Block01 h3 {
  width: max-content;
  text-align: center;
  padding: 0.5rem 4rem;
  color: #ffffff;
  background-color: #ffaeae;
  border-radius: 24px;
}

.sec02Inner03Block01 ul li {
  width: max-content;
  font-size: 1.8rem;
  border-bottom: solid 1px #c1c585;
  color: #9c8560;
}

.sec02Inner03Block01 ul li span {
  color: #d5c4a3;
}

.sec02Inner03Block02 {
  padding: 4rem 3rem;
  background-color: #ffffff;
  border-radius: 20px;
  border: solid 1px #ffaeae;
}

.sec02Inner03Block02Flex {
  display: flex;
  justify-content: center;
  gap: 8rem;
}

.sec02Inner03Block02 ul {
  margin-bottom: 4rem;
}

.sec02Inner03Block02 ul li {
  border-bottom: dashed 1px #ffaeae;
  font-size: 2rem;
  color: #9c8560;
}

.sec02Inner03Block02-img img {
  margin-bottom: 2rem;
}

.sec02Inner03Block02-img p {
  text-align: center;
}

.sec02Inner03__flex02 h3 {
  background-color: #fcc7a2;
}

.sec02Inner03__flex02 .sec02Inner03Block02 {
  padding: 8rem 4rem;
}

.arrow_box {
  position: relative;
  max-width: 320px;
  background: #ffffff;
  text-align: center;
  border: 3px solid #e95363;
  color: #e95363;
  font-size: 20px;
  border-radius: 40px;
  padding: 1rem 0;
  margin: 0 auto;
  margin-bottom: 3rem;
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
}

.arrow_box:after,
.arrow_box:before {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 54%;
}

.arrow_box:after {
  border-color: rgba(255, 255, 255, 0);
  border-top-width: 20px;
  border-bottom-width: 20px;
  border-left-width: 5px;
  border-right-width: 15px;
  margin-left: -15px;
  border-top-color: #ffffff;
}

.arrow_box:before {
  border-color: rgba(233, 83, 99, 0);
  border-top-width: 24px;
  border-bottom-width: 24px;
  border-left-width: 6px;
  border-right-width: 18px;
  margin-left: -17px;
  margin-top: 2px;
  border-top-color: #e95363;
}

@media screen and (max-width: 500px) {
  .sec02InnerText {
    margin-bottom: 2rem;
  }
  .sec02Inner > p {
    text-align: left;
  }
  .sec02Inner03-head img {
    max-width: 50px;
  }
  .sec02Inner03-headText {
    padding: 2rem 6rem;
    border-radius: 70px;
    margin-bottom: 2rem;
  }
  .sec02Inner03Block01 img {
    max-width: 280px;
    margin: 0 auto;
  }
}

/* sec03 */

.sec03 {
  padding: 14rem 0rem 0rem 0rem;
  background-image: url(/womens-nutrition-navi/images/wave.png);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  top: -14rem;
  z-index: 10;
}

.sec03__flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}

.sec03__flex span {
  position: relative;
  top: 2rem;
  font-size: 4rem;
}

.sec03Block {
  text-align: center;
}

.sec03Inner {
  position: relative;
  border-radius: 30px;
  border: solid 3px #ffb7ec;
  max-width: 340px;
}

.sec03Inner > img {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 160px;
}

.sec03InnerText {
  height: 210px;
  border-radius: 30px 30px 0px 0px;
  padding: 8rem 3rem 6rem 3rem;
  font-size: 2.4rem;
  background-color: #ffffff;
}

.sec03InnerText h3 {
  color: #9c8560;
  text-align: center;
}

.sec03InnerText02 {
  font-size: 1.6rem;
  color: #585858;
  background-color: transparent;
  padding: 6rem 3rem 6rem 3rem;
}

.sec03InnerText03 {
  padding: 10rem 3rem 6rem 3rem;
}

.sec03InnerText04 {
  padding: 4rem 3rem 7rem 3rem;
}

.sec03InnerFlex {
  display: flex;
  justify-content: center;
  gap: 6rem;
}

.sec03Inner-cta {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2.4rem;
  background-color: #f38979;
  color: #ffffff;
  width: 100%;
  text-align: center;
  max-width: 180px;
  padding: 0.5rem 0;
  border-radius: 25px;
}

@media screen and (max-width: 1023px) {
  .sec02Inner03__flex {
    flex-direction: column;
    gap: 2rem;
  }
  .sec02Inner03Block01 h3,
  .sec02Inner03Block01 ul li {
    margin: 0 auto;
    margin-bottom: 1rem;
    font-size: 1.6rem;
  }
  .sec03InnerFlex {
    flex-direction: column;
  }
  .sec03Inner {
    margin: 0 auto;
    margin-bottom: 6rem;
  }
  .sec03InnerText {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 12rem;
    height: 180px;
  }
  .sec03InnerText02 {
    padding-top: 8rem;
  }
}

@media screen and (max-width: 500px) {
  .sec02 {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 20rem;
  }
  .sec02Inner03Block02 ul li {
    font-size: 1.6rem;
  }
  .sec02Inner03__flex02 .sec02Inner03Block02 {
    padding: 4rem 2rem;
  }
  .sec02Inner03Block02Flex {
    gap: 4rem;
  }
  .sec02Inner03Block02-img p {
    font-size: 1.6rem;
  }
  .sec03 {
    top: -10rem;
    background-image: url(/womens-nutrition-navi/images/wave-sp.png);
  }
  .sec03Wrap {
    padding-top: 4rem;
  }
  .sec03Block {
    margin-bottom: 10rem;
  }
  .sec02Inner .arrow_box {
    max-width: 240px;
  }
  .arrow_box {
    padding: 0.5rem 0;
  }
  .sec02Inner h2 {
    font-size: 3rem;
  }
  .sec02Inner03-head p {
    font-size: 1.8rem;
  }
}

.ribbon1 {
  display: inline-block;
  position: relative;
  height: 50px;
  /*リボンの高さ*/
  line-height: 50px;
  /*リボンの高さ*/
  text-align: center;
  padding: 0 30px;
  /*横の大きさ*/
  font-size: 18px;
  /*文字の大きさ*/
  background: #d8a35a;
  /*塗りつぶし色*/
  color: #fff;
  /*文字色*/
  box-sizing: border-box;
}

.ribbon1:before,
.ribbon1:after {
  position: absolute;
  content: "";
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ribbon1:before {
  top: 0;
  left: 0;
  border-width: 25px 0px 25px 15px;
  border-color: transparent transparent transparent #fdf8eb;
  border-style: solid;
}

.ribbon1:after {
  top: 0;
  right: 0;
  border-width: 25px 15px 25px 0px;
  border-color: transparent #fdf8eb transparent transparent;
  border-style: solid;
}

.sec04 {
  padding: 16rem 0rem 8rem 0rem;
  background-image: url(/womens-nutrition-navi/images/wave02.png);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 10;
}

.sec04Wrap {
  position: relative;

  > p {
    text-align: right;
    padding: 20rem 0 4rem 0;
    font-size: 2.4rem;
  }
}

.sec04Inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sec04Block {
  max-width: 440px;
  width: 100%;
}

.sec04Block-img img {
  position: relative;
  z-index: 12;
  max-width: 300px;
  margin: 0 auto;
}

.sec04Block-img02 {
  position: relative;
}

.sec04Block-img02Text {
  position: relative;
  width: max-content;
  padding: 3rem;
  padding-top: 1rem;
  margin: 0 auto;
}

.sec04Block-img02Text h2 {
  text-align: center;
  font-size: 2rem;
  color: #d17687;
  margin-bottom: 1rem;
}

.sec04Block-img02Text ul li {
  border-bottom: solid 1px #d5c4a3;
  margin-bottom: 1rem;
}

.sec04Block-img02Text ul li span {
  color: #d5c4a3;
}

.sec04Block-img03 {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sec04Block-img03 img {
  width: 100%;
}

.sec04Block02 {
  max-width: 420px;
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sec04Block02 .sec04Block-img img {
  max-width: 260px;
}

.sec04Block03 {
  position: relative;
  top: -50px;
}

@media screen and (max-width: 1023px) {
  .sec04Inner {
    flex-direction: column-reverse;
  }
  .sec04Block02 {
    max-width: 420px;
    position: relative;
    top: 0;
    left: 0;
    transform: unset;
  }
  .sec04Block {
    margin-bottom: 14rem;
  }
  .sec04Block01 {
    margin-bottom: 20rem !important;
  }
}

@media screen and (max-width: 500px) {
  .sec04 {
    background-image: url(/womens-nutrition-navi/images/wave02-sp.png);
  }
  .sec04Block {
    margin-bottom: 6rem;
  }
  .sec04Block02 {
    margin-bottom: 12rem;
  }
  .sec04Block03 {
    margin-bottom: 2rem;
  }
  .sec04Block01 {
    margin-bottom: 12rem !important;
  }

  .sec04Wrap {
    > p {
      text-align: right;
      padding: 0rem 0 4rem 0;
      font-size: 2rem;
    }
  }
}

/* footer */

.footer {
  * {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.footer img {
  margin: 0 auto;
}

.footer .title {
  align-items: baseline;
  margin-bottom: 3rem;
}

.footerBanner {
  background-color: #fdf3da;
  padding: 5rem 0;

  > a {
    max-width: 500px;
    margin: 0 auto;
    margin-bottom: 4rem;
  }

  .flex {
    gap: 4rem;
  }
}

.footerInner {
  justify-content: space-between;
  img {
    max-width: 140px;
  }
}

.footerInner ul {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}

.footerInner li {
  display: block;
  width: 100%;
  max-width: max-content;
  font-size: 1.4rem;
  text-align: center;
  padding: 0 3rem;
}

.footer small {
  padding: 2rem 0;
  background-color: #51595f;
  font-size: 1.4rem;
  display: block;
  text-align: center;
  color: #ffffff;
}

@media screen and (max-width: 1023px) {
  .footer iframe {
    margin-left: 30px;
  }
}

@media screen and (max-width: 768px) {
  .footer iframe {
    margin-left: 0px;
  }
}

@media screen and (max-width: 500px) {
  .footer iframe {
    margin-left: 0;
    width: 90%;
    max-height: 300px;
  }

  .footer ul {
    flex-wrap: wrap;
    margin-bottom: 0;
  }

  .footer ul li {
    width: 100%;
    padding: 0;
    max-width: 50%;
    margin-bottom: 4rem;
    text-align: left;
  }

  .footer .title {
    justify-content: center;
    margin-bottom: 15px;
  }

  .footerInner {
    flex-direction: column;
    > div {
      width: 100%;
      img {
        margin: 0;
        margin-bottom: 2rem;
      }
    }
  }

  .footer img {
    margin-bottom: 1rem;
  }
  .footerBanner {
    padding: 5rem 2rem;
    .flex {
      flex-direction: column;
      gap: 2rem;
    }
    img {
      max-width: 240px;
    }
  }
}

/* header */

header {
  position: absolute;
  top: 0;
  z-index: 20;
  width: 100%;
}

.headerWrap {
  position: relative;
  margin: 0 auto;
  padding: 1rem 3rem 2rem 3rem;
  border-radius: 1rem;
}

.headerBlock {
  gap: 2rem;
  justify-content: end;
  margin-bottom: 1rem;
  img {
    max-width: 80px;
  }
  a {
    color: #a6a6a6 !important;
  }
}

.logoWrap {
  img {
    max-width: 240px;
  }
}

.headerInner {
  max-width: 1300px;
  margin: 0 auto;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.headerList {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 30px;
}

.headerList li {
  margin: 0 auto;
}

.headerList a {
  color: #000000;
  font-size: 1.8rem;
}

.headerBlock {
  padding: 5px;
  font-size: 1.6rem;
  color: #000000;
}

.headerBlock .tell {
  display: flex;
  align-items: center;
}

.headerBlock .tell img {
  max-width: 30px;
}

.headerBlock .tell a {
  font-size: 2.4rem;
}

.headerBlock p {
  font-size: 1.8rem;
}

.headerBlock .cta {
  display: flex;
  justify-content: center;
  align-items: center;
}

.headerBlock .cta > * {
  margin: 0 10px;
}

.headerWrapper {
  max-width: 1300px;
  margin: 0 auto;
}

.headerWrapper .btn-gNav {
  position: fixed;
  top: 12px;
  right: 15px;
  width: 50px;
  height: 50px;
  z-index: 12;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-transition: all 400ms;
  transition: all 400ms;
  border-radius: 50%;
  border: solid 1px #ededed;
  background-color: #ffffff;
}

.headerWrapper .btn-gNav span {
  position: absolute;
  width: 30px;
  height: 1px;
  background: #30639f;
  border-radius: 10px;
  -webkit-transition: all 400ms;
  transition: all 400ms;
}

.headerWrapper .btn-gNav span:nth-child(1) {
  top: 18px;
}

.headerWrapper .btn-gNav span:nth-child(2) {
  top: 28px;
}

.logo-sp {
  display: none;
}

.btn-gNav {
  display: none;
}

.hb-change {
  background-color: #000000 !important;
  /* スクロール後の色 */
}

.headerLogoSP {
  display: none;
}

.page .headerWrap {
  background-color: #fff5f5;
  padding: 1rem 3rem 3rem 3rem;
}

.page header {
  position: fixed;
}

/* 固定ヘッダーのスタイル */
.header-navFixed {
  background-color: #fff5f5;
  color: #fff; /* テキスト色 */
  position: fixed; /* 固定 */
  top: -140px; /* ヘッダーの高さ分上にする(隠す) */
  transition: top 0.5s; /* アニメーション効果を追加 */
  width: 100%; /* 幅を100%に */
}

/* 固定ヘッダーが表示されたときのスタイル */
#js-header.is-show {
  top: 0; /* 隠していたヘッダーを表示 */
}

@media screen and (max-width: 1200px) {
  .headerBlock .tell a {
    font-size: 1.6rem;
  }

  .headerBlock p {
    font-size: 12px;
  }

  .headerBlock .tell img {
    max-width: 20px;
  }
}

@media screen and (min-width: 1024px) {
  .gNav ul {
    margin: 0;
    padding: 0;
  }

  .gNav li {
    list-style: none;
    display: inline-block;
  }

  .gNav a {
    transition: 0.3s;
    text-decoration: none;
    color: #333;
    border: none;
  }
}

@media screen and (max-width: 1023px) {
  #js-header {
    display: none;
  }
  .headerLogoSP {
    display: block;
    max-width: 200px;
    padding: 2rem;
  }
  .logo-sp {
    display: block;
  }

  .logo-pc {
    display: none;
  }

  .headerWrap {
    background-color: inherit;
    padding: 0.5rem 0;
  }

  .page header {
    position: absolute;
  }

  header {
    padding: 0 1rem;
  }

  .headerBlock {
    display: none;
  }

  .btn-gNav {
    display: block;
  }

  .gNav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    box-sizing: border-box;
    z-index: 5;
    transition: 0.3s;
  }

  .pNav {
    position: fixed;
    right: -100%;
    transform: translate(-50%, -50%);
    z-index: 2;
    transition: 0.3s;
  }

  .pNav .cta {
    text-align: center;
    padding: 0;
    width: 100%;
    height: 100%;
    display: block;
    flex-direction: column;
    text-align: center;
  }

  .pNav .tell {
    justify-content: center;
    margin-bottom: 10px;
  }

  .pNav .tell a {
    font-size: 2rem;
  }

  .gNav.open {
    right: 0;
  }

  .pNav.open {
    z-index: 6;
    top: 425px;
    right: -50%;
    width: 100%;
  }

  .gNav .gNav-menu {
    padding: 2rem;
    width: 100%;
    height: 100%;
    display: block;
    flex-direction: column;
    text-align: center;
    /*justify-content: center;*/
    background-image: url(../images/header-sp-bg.png);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain;
  }

  .gNav .gNav-menu li {
    margin: 0 auto;
  }

  .gNav .gNav-menu li a {
    color: #000000;
    padding: 20px;
    border-bottom: solid #c6c6c6 1px;
    text-align: left;
  }

  .toggleWrap {
    position: relative;
  }

  .btn-gNav span {
    display: block;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    width: 35px;
    height: 2px;
    background-color: #ffffff;
    border-radius: 4px;
    transition: all 0.5s;
  }

  .btn-gNav.open span {
  }

  .btn-gNav.open span:nth-child(1) {
    -webkit-transform: translateY(6px) rotate(-315deg);
    transform: translateY(6px) rotate(-315deg);
    left: 10px;
  }

  .btn-gNav.open span:nth-child(2) {
    -webkit-transform: translateY(-4px) rotate(315deg);
    transform: translateY(-4px) rotate(315deg);
    left: 10px;
  }

  .headerBlock {
    color: #000000;
  }
}

@media screen and (max-width: 500px) {
  .headerWrap {
    padding-left: 0 !important;
  }
}

/* page */

.ttlPage {
  background-color: #fff5f5;
  padding: 6rem 0;
  padding-top: 20rem;
}

.pageHeading {
  gap: 4rem;

  img {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    object-fit: cover;
  }
}

.pageHeading :nth-child(2) {
  width: 100%;
  max-width: max-content;
}

.breakWrap .pageHeading :nth-child(2) {
  width: 100%;
  max-width: 510px;
}

.breakWrap .pageHeading .t-c {
  text-align: left;
  margin-left: 10vw;
}

.pageHead {
  padding: 1rem 2rem;
  font-size: 3.2rem;
  background-color: #e0828d;
  color: #ffffff;
  margin-bottom: 4rem;
}

.pageHead02 {
  padding: 1rem 2rem;
  font-size: 3.2rem;
  border-bottom: solid 6px #e0828d;
  color: #2d2d2d;
  margin-bottom: 4rem;
}

.pageHead03 {
  font-size: 1.8rem;

  span {
    font-size: 2.4rem;
  }
}

.breadcrumbs {
  display: flex;
  align-items: center;
  margin-bottom: 4rem;

  * {
    font-size: 1.6rem;
    font-weight: 500;
  }

  span {
    padding: 2rem 1rem;
  }
}

.toc-002 {
  max-width: 800px;
  margin: 0 auto;
  margin-bottom: 6rem;
  border: 2px solid #fff5f5;
  border-radius: 3px;

  * {
    letter-spacing: 0.1em;
  }

  * {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
  }

  li::marker {
    color: rgb(0, 128, 255);
  }

  > ol {
    padding: 3rem;
  }
}

.toc-002 div {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 10px 0;
  background-color: #fff5f5;
  font-weight: 600;
  font-size: 1.6rem;
}

.toc-002 div::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 5px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4H21V6H8V4ZM3 3.5H6V6.5H3V3.5ZM3 10.5H6V13.5H3V10.5ZM3 17.5H6V20.5H3V17.5ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z' fill='%23333'%3E%3C/path%3E%3C/svg%3E");
  content: "";
}

.toc-002 ol ol {
  margin-top: 5px;
  padding-left: 6rem;
  list-style: disc;
}

.toc-002 li {
  padding: 5px 0;
  font-weight: 600;
}

.toc-002 ol ol li {
  font-weight: 500;
  font-size: 0.9em;
}

.tocHead {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.arrow {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  background-color: #515151;
  border-radius: 50%;
  position: relative;
  height: 22px;
  width: 22px;
}

.arrow::before {
  content: "";
  width: 10px;
  height: 10px;
  display: block;
  border-top: solid 3px;
  border-right: solid 3px;
  transform: rotate(45deg);
  position: absolute;
  top: 0px;
  bottom: 0;
  left: 0;
  right: 3px;
  margin: auto;
}

/* about */

.aboutWrap {
  padding: 0 2rem;
}

.aboutInner02 {
  gap: 4rem;

  > div {
    width: 300px;
    img {
      height: 300px;
    }
    span {
      display: block;
      font-size: 2.4rem;
      color: #ffaeae;
      text-align: center;
      margin-bottom: 2rem;
    }
  }
}

.aboutSec03 {
  position: relative;

  img {
    position: absolute;
    top: 80px;
    right: 0;
    max-width: 440px;
  }

  > p {
    max-width: 500px;
  }
}

.list03 {
  counter-reset: li;
}

.list03 li {
  display: flex;
  align-items: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  font-size: 2.4rem;
  background-image: linear-gradient(to right, #a0c2c7 20px, transparent 8px);
  background-size: 32px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

.list03 li::before {
  display: inline-block;
  min-width: 1.5em;
  margin-right: 2rem;
  border-radius: 50%;
  background-image: linear-gradient(180deg, rgba(247, 138, 93, 1), rgba(254, 220, 64, 1));
  color: #fff;
  font-weight: 500;
  font-size: 3rem;
  line-height: 1.5em;
  text-align: center;
  content: counter(li);
  counter-increment: li;
}

.aboutSec05 {
  .flex {
    gap: 6rem;
  }

  img {
    max-width: 300px;
  }
}

.aboutSec07 {
  .flex {
    gap: 4rem;

    img {
      max-width: 400px;
    }
  }
}

.desc {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem;
  border: solid 1px #707070;
  gap: 4rem;
  box-shadow: 4px 4px 6px 0px #b5b5b5;
  justify-content: start;
  * {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
  }

  .a_flex {
    width: 100%;
    max-width: 600px;
    gap: 2rem;
    justify-content: start;
    span {
      width: 100%;
      max-width: 50px;
      font-size: 2rem;
      color: #919191;
    }

    p {
      font-size: 2.2rem;
    }
  }

  img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
  }
}

@media screen and (max-width: 1023px) {
  .ttlPage {
    padding-top: 14rem;
  }
  .aboutSec03 {
    img {
      position: relative;
      margin: 0 auto;
      top: 0;
      max-width: 800px;
      margin-bottom: 2rem;
    }
  }
  .aboutSec03 {
    > p {
      max-width: 500px;
      margin-bottom: 1rem;
    }
  }

  .aboutSec05 {
    img {
      margin: 0 auto;
    }
  }
}

@media screen and (max-width: 500px) {
  .breakWrap .pageHeading .t-c {
    text-align: left;
    margin-left: 0;
  }
  .list03 li {
    font-size: 1.8rem;
  }
  .list03 li::before {
    display: inline-block;
    min-width: 1.2em;
    font-size: 2.4rem;
    line-height: 1.2em;
  }
  .aboutInner02 {
    & > div {
      img {
        width: 250px;
        height: 270px;
        margin: 0 auto;
      }
    }
  }
  .tocHeadTitle {
    width: 100%;
    max-width: 240px;
  }
}

/* precon */

.preconSec03 {
  .preconSec03Inner01 {
    img {
      max-width: 400px;
    }
  }
}

.preconSec03Inner02 {
  gap: 6rem;

  > div {
    width: 100%;
    max-width: 400px;
  }
}

.preconSec05 {
  .flex {
    gap: 6rem;
  }
}

.point06 {
  max-width: 200px;
}

.box {
  position: relative;
  margin: 2em 0;
  margin-bottom: 4rem;
  padding: 4rem 2rem 4rem 4rem;
  border: solid 2px #ffaeae;
  border-radius: 8px;

  li {
    position: relative;
    line-height: 2;

    span {
      position: absolute;
      line-height: 2;
      left: -2rem;
      color: #ffaeae;
    }
  }
}

.box .boxTitle {
  position: absolute;
  display: inline-block;
  top: -18px;
  left: 2rem;
  padding: 0 2rem;
  line-height: 2;
  font-size: 2rem;
  background: #ffaeae;
  border-radius: 4px;
  color: #fff;
}

.link {
  color: #4d76e6;
  display: inline-block;
  line-height: 1.2;
  font-size: 1.8rem;
  font-weight: 700;
  border-bottom: 1px solid #4d76e6;
}

@media screen and (max-width: 1023px) {
  .aboutWrap {
    .flex {
      flex-direction: column;
    }
  }
  .aboutInner02 {
    > div {
      max-width: 70%;
      margin: 0 auto;
    }
  }
}

@media screen and (max-width: 1023px) {
  .preconWrap {
    .flex {
      display: block;
    }
  }
  .preconSec03 {
    & .preconSec03Inner01 {
      img {
        margin: 0 auto;
      }
    }
  }
  .preconSec03Inner02 {
    > div {
      width: 100%;
      max-width: 600px;
      margin: 0 auto;
    }
  }
}

@media screen and (max-width: 500px) {
  .pageHeading {
    img {
      width: 100px;
      height: 100px;
      border-radius: 50%;
    }
    .fs-32 {
      font-size: 2.4rem;
      text-align: left;
      margin-bottom: 1rem;
    }
    p {
      font-size: 1.4rem;
    }
  }
  .arrow {
    width: 17px;
    height: 17px;
  }
  .arrow::before {
    width: 7px;
    height: 7px;
  }
  .toc-002 {
    > ol {
      padding: 2rem;
    }
  }
  .pageHead {
    font-size: 2rem;
  }
  .aboutInner02 {
    > div {
      max-width: 100%;
    }
  }
  .pageHead03 {
    span {
      line-height: 2;
      font-size: 2rem;
    }
  }
  .preconSec03Inner02 {
    > div {
      img {
        width: 80%;
        margin: 0 auto;
      }
    }
  }
}

/* preg */

.pregSec01 {
  img {
    max-width: 300px;
  }

  .flex {
    gap: 4rem;
  }
}

.pregSec02 {
  .t-r {
    color: #707070;
  }
}

.pregSec02Inner {
  img {
    max-width: 300px;
  }
}

.pregSec02Inner02 {
  img {
    max-width: 260px;
  }
}

.pregSec04Inner {
  img {
    max-width: 340px;
  }
}

.pregSec04Inner02 {
  img {
    max-width: 300px;
  }
}

.banner {
  max-width: 80%;
  margin: 0 auto;
  margin-bottom: 6rem;
}

.pregSec05Inner {
  img {
    max-width: 300px;
  }
}

.pregSec06 {
  a {
    font-size: 1.2rem;
  }
}

.pregSec08Inner {
  gap: 12rem;

  img {
    max-width: 140px;
  }

  p {
    color: #ffaeae;
    text-align: center;
    font-size: 2rem;
  }
}

@media screen and (max-width: 768px) {
  .pregWrap {
    .flex {
      display: block;
      img {
        margin: 0 auto;
      }
    }
  }
  .pregSec08 {
    .flex {
      display: flex;
    }
  }
  .pregSec04Inner {
    display: block;
    img {
      margin: 0 auto;
    }
  }
  .pregSec01 .flex {
    display: flex;
    img {
      max-width: 160px;
    }
  }
}

@media screen and (max-width: 500px) {
  .pregSec05Inner {
    img {
      max-width: 240px;
    }
  }
  .pregSec08Inner {
    gap: 4rem;
  }
  .pregSec08Inner {
    img {
      max-width: 100px;
      margin-bottom: 2rem !important;
    }
  }
}

/* postpartum */

.postSec02Inner {
  gap: 2rem;

  img {
    max-width: 140px;
    margin-bottom: 2rem;
  }

  p {
    text-align: center;
  }
}

.postSec04Inner {
  gap: 2rem;

  img {
    max-width: 240px;
  }

  p {
    text-align: center;
  }
}

.postSec05 {
  > div {
    margin-bottom: 4rem;

    p {
      margin-bottom: 2rem;
    }
  }

  > p {
    margin-bottom: 4rem;
  }
}

.postSec05Inner {
  img {
    max-width: 240px;
  }
}

.postSec06Inner {
  img {
    max-width: 200px;
  }
}

.breakSec05Inner {
  gap: 1rem;

  img {
    max-width: 240px;
    margin-bottom: 2rem;
  }

  p {
    font-size: 1.6rem;
    text-align: center;
    font-weight: bold;
    font-family: "Noto Sans JP", sans-serif;
  }
}

@media screen and (max-width: 768px) {
  .postWrap {
    .pregSec02Inner {
      img {
        max-width: 200px;
      }
    }
  }
  .postSec05Inner {
    display: block;
    img {
      margin: 0 auto;
    }
  }
}

@media screen and (max-width: 500px) {
  .postSec02Inner {
    flex-wrap: wrap;
    img {
      max-width: 90px;
    }
  }
}

/* break */

.breakSec03 .pregSec02Inner :nth-child(1) {
  max-width: 100%;
}

@media screen and (max-width: 500px) {
  .breakSec03 .pregSec02Inner :nth-child(1) {
    max-width: 280px;
  }
  .breakSec05Inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 2rem;
    grid-row-gap: 0px;
  }
}

/* recipe */

.recipeWrapHead {
  font-weight: 700;
}

.layout {
  width: 100%;

  display: grid;
  grid-template-rows: repeat(3, 1fr);
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  a {
    margin-bottom: 6rem;
  }
  img {
    margin-bottom: 1rem;
  }

  p {
    text-align: center;
    font-size: 2rem;
    color: #6a9a1e;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    margin-bottom: 1rem;
  }

  span {
    color: #e0828d;
  }
}

.breakSec01Inner {
  justify-content: start;
  gap: 4rem;
  img {
    max-width: 20px;
    margin-bottom: 0;
  }

  span {
    font-size: 1.4rem;
  }
  .a_flex {
    gap: 0.5rem;
  }
}

@media screen and (max-width: 500px) {
  .breakSec01Inner {
    gap: 1rem;
    img {
      max-width: 10px;
    }
    span {
      font-size: 1rem;
    }
  }
  .layout {
    a {
      margin-bottom: 3rem;
    }
  }
}

/* .recipepage */

.recipepageWrap {
  * {
    font-family: "Noto Sans JP", sans-serif;
  }
  li {
    font-family: "meiryo";
    * {
      font-family: "meiryo";
    }
  }
  > .flex {
    justify-content: unset;
  }
}

.recipepageHead {
  font-size: 3.2rem;
  font-weight: 700;
}

.comment,
.pageHead,
.pageHead02 {
  font-family: "Zen Maru Gothic", serif;
}

.recipepageWrapImage {
  img {
    width: 100%;
    max-width: 380px;
    margin-bottom: 2rem;
  }
  p {
    font-size: 1.4rem;
  }
}

.recipepageInner {
  width: 100%;
  max-width: 660px;
  padding: 2rem;
  border: dashed 5px #4e916923;
  border-radius: 2rem;
  > p {
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 3rem;
    span {
      font-size: 1.6rem;
      color: #a6a6a6;
    }
  }
  .flex,
  .a_flex {
    justify-content: unset;
  }
}

.recipepageInnerHead {
  margin-bottom: 3rem;
  * {
    font-weight: 700;
    font-size: 2rem;
    letter-spacing: 0.1em;
  }
  span {
    background-color: #ebebeb;
    padding: 0.5rem 2rem;
    border-radius: 2rem;
  }
}

.recipepageList {
  gap: 8rem;
  ul {
    padding-left: 2rem;
  }
  li {
    margin-bottom: 1.5rem;
    list-style: disc;
  }
}

.recipepageList ul > :last-child {
  margin-bottom: 0;
}

.recipepageList02 {
  .recipepageHead02 {
    font-size: 3.2rem;
    font-weight: 700;
    span {
      font-size: 2.4rem;
      color: #696969;
    }
  }
  li {
    border-bottom: solid 1px #c0c0c0;
    span {
      font-size: 1.8rem;
      line-height: 3;
    }
  }
  .flex {
    justify-content: space-between;
  }
}

.recipepageA {
  font-size: 2.4rem;
  color: #d56608;
}

.recipepageB {
  font-size: 1.8rem;
  color: #d56608;
  line-height: 3;
}

.recipepageBlock {
  margin-left: 6rem;
}

.recipepageNo {
  font-size: 1.8rem;
  margin-right: 2rem;
}

.pageHeadingBreak {
  position: relative;
  .pageHeadingBreakText {
    position: absolute;
    top: -60%;
    left: 40%;
    transform: translate(-50%, -50%);
    margin-left: 0 !important;
  }
}

.br-1023 {
  display: none !important;
}

.toggleWrap-menu {
  display: none;
}

.footerFlex {
  margin-bottom: 3rem;
  img {
    max-width: 420px;
  }
}

.recipeWrap {
  .desc {
    & .a_flex {
        span {
            width: 100%;
            max-width: max-content;
        }
    }
}

}

.companyWrap {
  max-width: 700px;
  margin: 0 auto;
  border-bottom: solid #FF4141 1px;
}

.companyFlex > :nth-child(1) {
  max-width: 240px;
  width: 100%;
  text-align: left;
  padding-left: 2rem;
}

.companyFlex {
  display: flex;
}

.companyFlex p {
  line-height: 4;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1023px) {
  .footerBanner {
    padding: 5rem 2rem;
  }
  .n-1023 {
    display: none;
  }
  .br-1023 {
    display: block !important;
  }
  .toggleWrap-menu {
    display: block;
    position: fixed;
    top: 62px;
    right: 17px;
    color: #ff7474;
    font-weight: 700;
    letter-spacing: 0.1em;
    z-index: 10;
  }
}

@media screen and (max-width: 768px) {
  .layout {
    p {
      font-size: 1.6rem;
    }
  }
  .recipepageContainer {
    display: block;
  }
  .recipepageWrapImage {
    img {
      max-width: 100%;
    }
  }
  .n-768 {
    display: none !important;
  }
  .br-768 {
    display: block;
  }
  .pageHeadingBreak {
    .pageHeadingBreakText {
      top: -40%;
    }
  }
  .companyFlex > :nth-child(1) {
  max-width: 150px;
  width: 100%;

}
.companyFlex p {
  padding: 1rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
}

@media screen and (max-width: 500px) {
  .footerFlex {
     img {
      max-width: 240px;
    }
  }
  .pageHeadingBreak {
    .pageHeadingBreakText {
      top: -30%;
    }
  }
  .recipepageHead {
    font-size: 2.4rem;
    margin-bottom: 2rem;
  }
  .recipepageList02 {
    .recipepageHead02 {
      font-size: 2.4rem;
    }
  }
  .recipepageInnerHead {
    gap: 2rem;
    span {
      font-size: 1.4rem;
    }
    p {
      font-size: 1.4rem;
    }
  }
  .recipepageList {
    display: block;
  }
  .recipeWrapHead {
    font-size: 2rem;
    text-align: left;
  }
  .layout {
    p {
      font-size: 1.2rem;
    }
  }
  .t-l-500 {
    text-align: left !important;
  }
  .pageHead02 {
    font-size: 2rem;
  }
  .mb-8-500 {
    margin-bottom: 8rem;
  }
  .mb-4-500 {
    margin-bottom: 4rem;
  }
  .mb-2-500 {
    margin-bottom: 2rem;
  }
  .mb-0-500 {
    margin-bottom: 0;
  }
  .fs-2-500 {
    font-size: 2rem;
  }
  .fs-12-500 {
    font-size: 1.2rem;
  }
  .desc {
    justify-content: start;
    & .a_flex {
      p {
        font-size: 1.2em;
      }
    }
  }
  .desc {
    & .a_flex {
      gap: 1rem;
      width: 100%;
      justify-content: flex-start;
      span {
        max-width: 40px;
        width: 100%;
        font-size: 1.6rem;
      }
    }
  }
  .desc {
    gap: 1.5rem;
    img {
      width: 80px;
      height: 80px;
    }
  }
  .ttlPage {
    h2 {
      font-size: 2.4rem;
    }
  }
  .breadcrumbs {
    * {
      font-size: 1.4rem;
    }
  }
  .stepFont {
    font-size: 3rem;
  }
  .recipeWrap {
    .pageHead {
      font-size: 1.2rem !important;
    }
  }
  .br-500 {
    display: block;
  }

  .n-500 {
    display: none !important;
  }

  .recipepageList > :nth-child(1) {
    margin-bottom: 1.5rem;
  }
  .bannerWrap2 {
    right: -1rem;
    max-width: 35px;
    img {
      max-width: 24px;
      padding: 2rem 0rem 1rem 0.5rem;
    }
    p {
      margin-right: 30%;
      padding: 1rem 0rem 2rem 0.5rem;
    }
  }
  .sec04Block-img03 img {
    width: 90%;
    margin: 0 auto;
  }
  .sec04Block-img img {
    max-width: 220px;
  }
  .sec04Block02 .sec04Block-img img {
    max-width: 210px;
  }

  .recipepageBlock {
    margin-left: 2rem;
  }
  .recipepageBlock {
    li {
      span {
        font-size: 1.4rem;
      }
    }
  }
}
