@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* CONFIG  *//* #region Header */
.textfont {
    font-family: "Zen Kaku Gothic New", sans-serif;
        font-family: "Noto Serif JP", serif;
        font-family: "M PLUS 1", sans-serif;
        font-family: "Caveat", cursive;
        font-family: "Crimson Text", serif;
  }
  .p-breadcrumb {display:none;}

  .-list-under-dashed>li {
    padding-bottom: 0 !important;
    border-bottom: none;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  
  .zenkaku-font {
      font-family: "Zen Kaku Gothic New", sans-serif;
  }
  .notoserif-font {
      font-family: "Noto Serif JP", serif;
  }
  .mplus1-font {
        font-family: "M PLUS 1", sans-serif;
  }
  .caveat-font {
        font-family: "Caveat", cursive;
  }
  .crimson-font {
        font-family: "Crimson Text", serif;
  }
  
  body {
            font-family: "Noto Serif JP" , "M PLUS 1", sans-serif;
  }
  
  .section-serif {
      font-size:30px !important;
      font-family: toppan-bunkyu-midashi-min-st, serif;
  }

  .-type-simple .p-postList__title {
    font-size: 18px !important;
  }

  /* 角丸 */
  .section-radius-big{
	border-radius:150px;
  }
  .section-radius-midiam {
	border-radius:100px;
  }

  .img_shadow-mc-big img{
    border-radius:100px;
	box-shadow:10px 10px 0 #efa600 ;
	border:1px solid #efa600;
  }

  .object-top {
    object-position: top;
  }

  .display-none {
    display: none;
  }
  
  .pc-none {
    display: none;
  }

  @media screen and (max-width:767px) {
    .section-radius-big{
        border-radius:75px;
      }
      .section-radius-midiam {
        border-radius:50px;
      }

      .sp-column {
        flex-direction: column;
      }

      .img_shadow-mc-big img{
        border-radius:60px;
        box-shadow:7px 7px 0 #efa600 ;
        border:1px solid #efa600;
        width: 90%;
      }

      .cpnBnr {
        display: none;
      }

      .pc-none {
        display: block;
      }

      
  }

  @media screen and (max-width:390px) {
    div.has-background {
        padding: 1.5em 1em ;
      }
  }

    /* #endregion */

    .top #content {
        padding-top: 1em;
    }

    .l-content {
        margin-bottom: 3em;
    }
    .w-beforeFooter {
        margin-top: 3em;
    }

    @media screen and (max-width:767px) {
        .h2-serif {
            font-size: 16px !important;
        }
        .h2-serif  span {
            font-size: 16px !important;
        }
        h2 {
            font-size: 22px !important;
        }

        h2 span{
            font-size: 22px !important;
        }
    }
 
    @media screen and (max-width:390px) {
        h2 {
            font-size: 21px !important;
        }
        h2 span{
            font-size: 21px !important;
        }
    } 


   /* ========== メインヴィジュアル ========== */
   /* #region Header */
  .main-visu {
    position: relative !important;
  }
  .main-visu h1 {
    line-height:3rem
  }
  .main-visu h1 strong:first-child {
    line-height:6rem;
  }

    
.main-visu .top-sns-links {
    position: absolute;
    right: -2%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.mv-circle > div {
    display: flex;
    gap:10px;
}
/* MV 背景流れるテキスト */
 /* #region Header */
.mv-marquee{
    position:absolute;
    inset:0;
    left: 0;
    top: 0px !important;
    display: flex;
    z-index:-1; /* MV要素より背面 */
    margin-top: auto;
}


.mv-marquee__track{
    display:inline-flex;
    align-items: end;
    white-space:nowrap;
    font-size:clamp(150px,12vw,300px); /* PCで約200px */
    font-weight:800;
    color: #efa600;
    opacity:.12;
    gap:8vw;
    animation: mv-scroll 30s linear infinite;
    will-change:transform;
    animation-direction: reverse;
    line-height: normal;
}
.mv-marquee__track span{
    /* テキストを大きめに余白取り */
    padding-right:8vw;
}
@keyframes mv-scroll{
    from{ transform:translateX(-50%); }
    to  { transform:translateX(0%); }
}

/* 奥行きを出したいなら疑似要素で複製 */
.mv-marquee__track::after{
    content:attr(data-text);
    opacity:.06;
    position:absolute;
    left:0;
    white-space:nowrap;
    animation: mv-scroll 30s linear infinite;
    animation-delay:-15s; /* 半周遅らせる */
} /* #endregion */  /* END */ 

/*  MV 縦スライダー  */
/* #region Header */
.vslider{
    --gap:50px;                     /* スライド間の余白 */
    position:relative;
    overflow:hidden;                /* チラ見え防止 */
    height:550px;                    /* ← 高さ */
    background:transparent;
      object-position:top;
  }
  
  .vslider-track{
    height:100%;
    display:flex;
    flex-direction:column;
    gap:var(--gap);
    transition:transform .6s ease;
    will-change:transform;
  }
  
  .vslider figure{
    margin:0;
    height:100%;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
  }
  
  .vslider img{
    width:90%;
    height:100%;
    object-fit:cover;
    display:block; /* baselineギャップ防止 */
  }
  
  /* ドット */
  .vslider-dots{
    position:absolute;
    top:50%;
    right:0;
    transform:translateY(-50%);
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:10px;
    z-index:100;
  }
  
  .vslider-dots li{ line-height:0; }
  .vslider-dots button{
    width:15px !important;
    height:15px !important;
    border-radius:50%;
    border:0;
    background:gray;
    opacity:.9;
    cursor:pointer;
  }
  .vslider-dots .is-active button{ background:#efa600; opacity:1; border:1px solid #505050}
  
  /* 高さレスポンシブ（任意） */
  @media (max-width:1024px){ .vslider{height:45vh} }
  @media (max-width:600px){ .vslider{height:38vh} }

/* #endregion */   /* スライダーEND */

/* ========== MV　レスポンシブ ========== *//* #region Header */

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

    .main-visu h1 {
        line-height:2.5rem;
        font-size: 24px !important;
      }
    .main-visu h1 strong:first-child {
      line-height:5rem;
        }
    .main-visu .top-sns-links {
        display: none;;
    }

    .mv-circle img {
        width: 80px !important;
        height: 80px !important;
    }
    .main-visu > div > div > .swell-block-columns__inner {
        row-gap: 0;
    }
    .main-visu .img_shadow-mc-big img{
        border-radius:70px ;
      }

    .mv-marquee__track{ 
        align-items: center;
        padding-bottom: 10rem;
    }

    .vslider-dots {
        right: 20px;
    }
  
    

}

 /* #endregion */  /* END */ 


/* #endregion */  /* END */ 
  
  /* CTA 体験プラン */
  /* #region Header */

 
  
  .cta-plan {
      position:relative;
      margin:0 auto !important;
  }
  
  .cta-plan > div:after {
      position:absolute;
      right:-3%;
      top:5%;
      transform:translatey(-50%);
      z-index:100 !important;
      display:block;
      background-image:url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/5131_color-e1758434482180.png);
      width:150px;
      height:150px;
      content:"";
          background-size: contain; 
      background-repeat: no-repeat;
      border-radius:150px;
  }
  .cta-plan-contact > div {
    position: relative;
  }
  .cta-plan-contact > div:after {
    position: absolute;
    left: -10px;
    top: 16px;
    transform: translatey(-50%);
    z-index: 100 !important;
    display: block;
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/5131_color-e1758434482180.png);
    width: 120px;
    height: 120px;
    content: "";
    background-size: contain;
    background-repeat: no-repeat;
    border-radius: 150px;
}
  
  .cta-plan > div {
    background: #f8ecd4;
      border-radius:100px;
      padding:2rem 3rem;
  }
  .sp-fullback .cta-plan .swell-block-fullWide__inner {
    padding:2rem 3rem !important;
  }
  
  .cta-plan .swell-block-linkList__link {
      text-align:left !important;
  
  }
  .swell-block-linkList.is-style-button .swell-block-linkList__text {
      margin:0 auto 0 1rem !important;
  }
  
  .cta-plan .swell-block-linkList__link .swell-block-linkList__text strong {
      line-height:3rem !important;
  }
  .cta-plan .swell-block-linkList__link .swell-block-linkList__text {
      padding-bottom:1rem;
  }
  
  .cta-tel-btn .swell-block-linkList__text {
      padding-left:50px !important;
      display:flex;
      align-items:center !important;
      gap:60px;
  }

  .text-align-left .swell-block-linkList__text{
    text-align: left;
  }
  .cta-tel-btn.cta-contant-tel .swell-block-linkList__text {
    display: flex;
    padding-left: 0px !important;
}

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

    .sp-fullback .cta-plan .swell-block-fullWide__inner {
        padding:1rem 1rem !important;
      }

    .cta-plan .swell-block-linkList__link .swell-block-linkList__text strong {
        line-height: 1rem !important;
    }

    .cta-plan-contact > div:after {
        top: 40px;
        left: 0;
    }

    .cta-tel-btn.cta-contant-tel .swell-block-linkList__text {
        display: block;
        padding-bottom: 0 !important;
    }
    .cta-plan .swell-block-linkList.is-style-button .swell-block-linkList__link {
        height: 100px;
    }
    .cta-plan strong span {
        font-size: 18px !important;
    }
  }
  @media screen and (max-width: 390px) {
    .cta-plan strong span {
        font-size: 17px !important;
        padding-bottom: 5px;
    }
}
  
  /* 　体験プランのホバー  */
  
  .cta-plan .swell-block-linkList__link .swl-svg-chevronRight {
      background:#EFB800;
      border-radius:100px;
  }
  
  .cta-plan .swell-block-linkList__link .swl-svg-chevronRight path {
      color:white;
  }
  .cta-plan .swell-block-linkList.is-style-button .swell-block-linkList__link {
          background:white !important;
  }
  .cta-plan .swell-block-linkList.is-style-button .swell-block-linkList__link:hover {
      background:#6a4d33 !important;
  }
  .cta-plan .swell-block-linkList.is-style-button .swell-block-linkList__link:hover .swl-svg-chevronRight path {
      color:black !important;
      transition:all 0.4s ease;
  }
  .cta-plan .swell-block-linkList.is-style-button .swell-block-linkList__link:hover .swl-svg-chevronRight  {
      background:white;
      transition:all 0.4s ease;
  }
  
  
  /* CTAタイトル前　イラスト */
  .cta-mail-icon strong ,.cta-line-icon strong , .cta-contant-tel > a > span > strong{
      display: flex !important;
      justify-content:start;
      align-items:center;
    flex-direction: row-reverse;
      margin-bottom:-15px;
  }
  .cta-contant-tel span span strong {
    margin-bottom:-30px;
  }
  .cta-mail-icon strong:after ,.cta-line-icon strong:after, .cta-contant-tel > a > span > strong:after {
      background-size: contain; 
      background-repeat: no-repeat;
      content:"";
      height:2.5rem;
      width:2.5rem;
  }
  .cta-mail-icon strong:after {
      background-image:url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/18072.png);
  }
  .cta-line-icon strong:after {
      background-image:url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/23366-e1758433703922.png);
  }

  .cta-contant-tel > a {
    height: 135px;
  }
  .cta-contant-tel > a > span > strong:after {
      background-image:url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/19687_color.png);
      height:4rem;
      width:4rem;
  }

  .contant-page-cta .swell-block-linkList.is-style-button .cta-tel-btn .swell-block-linkList__link:before {
    background-size: contain;
    display: block;
    background-repeat: no-repeat;
    background-position-x: center;
    content: "";
    height: 59px;
    width: 50px;
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/19687_color.png) !important;
}
  /* CTAタイトル前　イラスト END */
  
  @media screen and (max-width:767px) {
      .section-serif {
          font-size:15px !important;
      }
      
      .cta-plan {
          padding: 0 1rem;
      }
      
      .cta-plan > div {
          padding:3rem 1rem;
          border-radius: 65px ;
      }
      
      .cta-plan > div:after {
          width:70px;
          height:70px;
      }
      .cta-plan h2  span {
          font-size:21px !important;
      }
      
      .cta-tel-btn .swell-block-linkList__text {
      padding-left:0px !important;
      display:block;
          gap:0;
        }
    .cta-contant-tel span span strong {
        margin-bottom: -20px;
    }

    /* スマホサイズ用 */

    .cta-mail-icon strong:after ,.cta-line-icon strong:after, .cta-contant-tel > a > span > strong:after {
        display: none;
    }
    .cta-plan .swell-block-linkList__link .swell-block-linkList__text {
        padding-bottom: 0 !important;
        margin: 0 auto 0 10px !important;
    }
    .cta-plan-gap .swell-block-columns__inner{
        row-gap: 1rem;
    }

    .cta-line-icon .swell-block-linkList__link::before ,.cta-mail-icon .swell-block-linkList__link::before ,.cta-contant-tel .swell-block-linkList__link::before {
        background-size: contain;
        display: block;
        background-repeat: no-repeat;
        background-position-x: center;
        content: "";
        height: 59px;
        width: 50px;
    }
    .cta-line-icon .swell-block-linkList__link::before {
        background-image:url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/23366-e1758433703922.png);
    }
    .cta-mail-icon .swell-block-linkList__link::before {
        background-image:url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/18072.png);
    }
    .cta-contant-tel .swell-block-linkList__link::before {
        background-image:url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/19687_color.png);
    }

}
  
  
  /* CTA 体験プラン */
  /* #endregion */


 /* ========== トップ　店舗説明 ========== */
 /* #region Header */

 .top-que {
    padding-top: 4rem !important;
 }

 .top-que-img img {
    position: absolute;
    right: -100px;
    top: 30px;
    transform: translateY(-50%);
    width: 100px;
 }

 .top-que p.has-background {
    padding: 1.3rem 2rem;
 }



 @media screen and (max-width:767px) {
    .home-tenpo .home-tenpo-h2 span {
        font-size: 34px !important;
    }
    .home-tenpo > .wp-block-group__inner-container > p:first-of-type span {
        font-size: 15.4px !important;
    }

    .top-que {
        padding-top: 4rem !important;
    }
    .top-que-img img {
        width: 150px !important;
        right: 0;
        top: 0px;
     }

     .top-que .has-large-font-size {
        font-size: 16px !important;
     }
     .top-que p.has-background {
        padding: 1rem 1.5rem;
     }
     
     .fx-blob.blob-left::before {
        left: 100px;
     }
     .post_content .h2-bene {
        font-size: 16px !important;
     }
     .post_content .h2-bene span {
        font-size: 25px !important;
     }
     .has-background.h2-bene {
        padding: 1rem 1rem !important;
     }
 }

 @media screen and (max-width:380px) {
    .post_content .h2-bene span {
        font-size: 24px !important;
     }
 }

 /* #endregion */  /* END */ 


 /* ========== 喜びのこえ ========== */
 /* #region Header */

 .top-coment {
    position: relative;
 }

 .top-coment::after {
    position: absolute;
    top: -1px;
    left: 50%;
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/Polygon-1.png);
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    width: 224px;
    height: 46px;
    transform: translate(-50%, 0);
 }

 .top-coment h2 span::after {
    position: absolute;
    top: 0;left: 0;
    transform: translateY(-50%);
    content: "";
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/太陽.png);
    background-repeat: no-repeat;
    width: 100px !important; height: 100px;
 }
 .top-coment h2 span::before {
    position: absolute;
    top: 0;right: -25px;
    transform: translate(0% , -50%);
    content: "";
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/スポーツウェア.png);
    background-repeat: no-repeat;
    width: 160px !important;
    height: 160px;
 }


 .top-coment h3 span , .subpage-before h3 span {
    padding: 0 !important;
 }
 .top-coment img {
    width: 100px !important;
    height: 100px !important;
    border: 1px solid #333;
    border-radius: 100px;
 }

 .top-coment .top-coment-plan, .top-coment-plan {
    border: 1px solid #EF9300 !important;
    border-radius: 10px;
    padding: 0 0.7rem;
    margin-right: 0.5rem !important;
}
    .top-coment-name .c-pageTitle__inner {
        padding-top: 0 !important;
    }

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

    .top-coment::after {
        width: 100px;
        background-size: contain;
    }

    .top-coment .swell-block-columns__inner {
        row-gap: 2px;
    }

    .top-coment h2 span::after {
        width: 50px;
        height: 50px;
        background-size: contain;
        top: -20px;
    }

    .top-coment img {
        width: 70px !important;
        height: 70px !important;
        border: 1px solid #333;
        border-radius: 100px;
     }
    
    .top-coment figure {
        width: 70px !important;
        height: 70px !important;
    }

    .top-coment h2 span::before {
        width:80px !important;
        height: 80px !important;
        right: 0px;
        transform: translate(40% , -50%);
        background-size: contain;
    }

    .top-coment-plan {
        display: inline-block;
        width: fit-content;
    }

    .top-coment .top-coment-plan {
        font-size: 13px !important;
    }

    .top-coment-name {
        margin-bottom: 0 !important;
    }
    .top-coment-name h3 {
        margin-bottom: 0.5rem !important;
    }

    .coment-content > div {
        align-items: center;
    }
}

@media screen and (max-width:767px) {
    .top-coment h2 span::after {
        left: -15px;
    }
}
 /* #endregion */  /* END */ 
 .top-before h2 {
    position: relative;
 }

 .top-before h2.top-before-title::before {
    content: "";
    width: 200px;
    height: 200px;
    position: absolute; top: 0; left: -50px;
    transform: translateY(-50%);
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/ダンベル女性.png);
    background-size: contain; background-repeat: no-repeat;
 }

 .top-before h2.top-before-title::after {
    content: "";
    width: 200px;
    height: 200px;
    position: absolute; top: 0; right: -100px;
    transform: translateY(-50%);
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/ストレッチ女性.png);
    background-size: contain; background-repeat: no-repeat;
 }

 @media screen and (max-width:767px) {
    .top-before h2.top-before-title::before, .top-before h2.top-before-title::after { top: 30px; width: 100px; height: 100px; }

    .top-before h2.top-before-title::before { left:-10px; }
    .top-before h2.top-before-title::after {right: -30px;}
 }
  /* ========== google 口コミ ========== */
 /* #region Header */

 .post_content div>:first-child .google-coment {
    margin-top: 6rem !important;
 }

 .post_content div>:first-child .google-coment-h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -5rem !important;
    position: relative;
 }
 .google-coment::after , .google-coment::before {
    position: absolute;
    content: "";
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/Group-16.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 60px;
    height: 60px;
 }

 .google-coment::after {
    left: 0;
    top: -1rem;
 }
 .google-coment::before {
    right: 0;
    top: -1rem;
    transform: scaleX(-1);   
 }

 .ti-widget.ti-goog {
    margin-top: -3rem !important;
 }

 @media screen and (max-width:767px) {
    
 .post_content div>:first-child .google-coment-h2 {
    display: block;
    text-align: left;
    margin-left: 40px;
    margin-top: -4rem !important;
 }

 .post_content div>:first-child .google-coment-h2 img {
    position: absolute;
    right: 20px;
    top: 40%;
    transform: translateY(-50%);
    width: 70px !important;
    height: 70px !important;
 }
 .google-coment::after, .google-coment::before {top: -33px; width: 40px;}

 .ti-widget.ti-goog {
    margin-top: -1rem !important;
 }
 @media screen and (max-width:400px) {
    .post_content div>:first-child .google-coment-h2 img {
        right: 2px;
    }
 }

 }

 /* #endregion */  /* END */ 


  /* ========== ホーム　コンセプト ========== */
 /* #region Header */

 .top-concept > div > .is-style-section_ttl::before{
    position: absolute;
    top: 0rem; left: 6rem;
    content: "";
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/Group-53.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 150px;
    height: 150px;
 }

 .top-concept > div > .is-style-section_ttl:after{
    position: absolute;
    top: -1rem; right: 0;
    content: "";
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/image-25.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 200px;
    height: 200px;
 }


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

    .top-concept .has-text-align-center,
    .post_content .top-concept .is-style-section_ttl {
        text-align: left !important;
    }

    .post_content .top-concept .is-style-section_ttl {
        font-size: 20px !important;
        margin-bottom: 1rem !important;
    }

    .top-concept > div > .is-style-section_ttl::before{
        display: none;
    }
    .top-concept > div > .is-style-section_ttl:after{
        display: none;
    }

    .top-concept > div::after {
        position: absolute;
        top: 1rem; right: 0;
        content: "";
        background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/image-25.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 100px;
        height: 100px;
    }

    .top-concept .sp-reverse .swell-block-columns__inner {
        flex-wrap: wrap-reverse;
    }
 }

 /* #endregion */  /* END */ 

  /* ========== ホーム　ステップ ========== */
 /* #region Header */

.top-step {
    border-radius: 0 0 300px 300px;
}

 .top-step-section {
    padding-top: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px dotted #3333;
}
 .top-step-section:first-of-type {
    border-top: 1px dotted #3333;
}


.top-step > div > .wp-block-group {
    padding-bottom: 5rem;
}

.top-step > div > .wp-block-group::before {
    position: absolute;
    content: "";
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/image-35.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 4.8rem;right: 50px;
    width: 200px;
    height: 200px;
}

.step-img-area {
    position: relative;
 }

.step-number {
    position: absolute;
    top: -3rem;
}

.step-number > div p:last-child {
    line-height: 1rem;
    letter-spacing: 5px;
}

.step-img-area img {
    width: 90%;
}

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

    .top-step {
        border-radius: 0 0 100px 100px ;
    }
    .top-step-section {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
    .top-step h2 {
        text-align: left !important;
    }
    .top-step-section h3 {
        margin-bottom: 1rem;
    }
    .top-step > div > .wp-block-group {
        padding-bottom: 2rem;
        padding-top: 3rem;
    }
    .top-step > div > .wp-block-group::before {
        width: 100px;
        height: 100px;
        top: 5rem;
        right: 10px;
    }

    .step-number {
        top: -1rem;
    }
    .step-number > div > p:first-of-type strong {
        font-size: 20px;
    }
    .step-number > div > p:first-of-type {
        line-height: 20px;
    }

    .step-number > div > p:last-of-type strong {
        font-size: 60px;
    }

    .step-number > div p:last-child {
        line-height: 0rem;
        letter-spacing: 0px;
    }

    .step-img-area img {
        width: 88%;
        border-radius: 80px;
        box-shadow:8px 8px 0 #efa600 ;
    }
}
 /* #endregion */  /* END */ 


  /* ========== トップ　プライスと料金 ========== */
 /* #region Header */

 .price-area {
    border-radius: 300px;
 }

 .price-h2 > span:first-of-type {
    position: relative;
 }

  .price-h2:first-of-type::after {
    position: absolute;
    content: "";
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/09/image-30.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;right: 0;
    transform: translate(20% , -50%);
    width: 200px;
    height: 200px;
 }

 .price-border {
    border: 1px solid #0F8E90;
 }
 .prime-content-bottom {
    padding: 1rem !important;
 }

 .prime-content-bottom p {
    border-bottom: 1px dotted #0F8E90;
    padding-bottom: 5px !important;
    margin-bottom: 5px !important;
 }

 .free-exp {
    border: 5px solid var(--color_deep02);
    border-radius: 20px ;
 }

 .free-exp-left {
    border-radius: 10px 0 0 10px;
 }

  /* ========== 無料体験のスライダー ========== */
 /* #region Header */
 .loop-slider {
    display: flex;
    overflow: hidden;
    gap: 1.5rem; /* 画像間の余白を指定 */
}

.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
    display: contents;
}

.loop-slider .swell-block-columns__inner {
    flex-wrap: nowrap;
    animation: infinity-scroll-left 20s infinite linear; /* アニメーションの時間を指定 */
}

.loop-slider .swell-block-column figure {
		width:200px;
	height:200px;/* 画像の横幅を指定（パソコン） */
    position: relative;
}

.loop-slider .swell-block-column figure::before {
    padding-top: 65%; /* 画像の縦横比を指定 */
    display: block;
    content: "";
}

.loop-slider .swell-block-column figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

@media screen and (max-width: 959px) {
    .loop-slider .swell-block-column figure {
        width: 200px; /* 画像の横幅を指定（スマホ） */
    }
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/* 新しいプライスコンテンツ */

.prime-widows {
    background-image: linear-gradient(30deg, #498C9C 0%, #5DD3ED 100%);
    color: white;
    border-radius: 30px;
    padding-bottom: 2rem !important;
}

.prime-widows2 {
    background-image: linear-gradient(30deg, #49719c 0%, #5da0ed 100%);
}


.prime-widows h3 {
    margin-bottom: 1.5rem;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
}

.prime-widows p:first-of-type {
    position: relative;
    font-size: 30px !important;
    margin-bottom: 1rem;
}

.prime-widows p:first-of-type::after {
    position: absolute;
    bottom: -42%;
    left: 50%;
    content: "";
    background-image: url(http://www.dietbeautylab.com/wp-content/uploads/2025/10/矢印.png);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 15px;
}

.prime-widows .is-style-bb>.c-tabList .c-tabList__button[aria-selected=true] {
    color: white;
}

.prime-widows .is-style-bb>.c-tabList .c-tabList__button {
    opacity: 1;
    font-size: 18px;
    letter-spacing: 3px;
    font-family: "Crimson Text", serif;
}

.prime-widows .is-style-bb>.c-tabList .c-tabList__button:after {
    background-color: white;
    height: 3px;
} 

.prime-widows  .c-tabList__button {
    color: white;
    opacity: 0;
}

.prime-widows .is-style-bb>.c-tabList .c-tabList__button::before {
    background: white;
    opacity: 0.5;
}
.prime-widows h4 {
    font-size: 20px !important;
}

.prime-widows h4:first-of-type {
    padding:0  0.6rem 0.6rem 0.6rem;
    margin-bottom: 0rem;
    position: relative;
}

.prime-widows h4:first-of-type::after {
    content: "";
    background-color: white;
    width: 90%;
    height: 1px;
    opacity: 0.2;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.prime-widows p:nth-child(3) {
    margin-bottom: 10px;
}

.prime-widows p:nth-child(4) strong {
    background: white;
    color: #498C9C ;
    border-radius: 10px;
    padding: 0.5rem 1rem;
}
.prime-widows2 p:nth-child(4) strong {
    color: #49719c;
}


.prime-widows p:nth-child(4) {
    padding-bottom: 20px;
    margin-bottom: 0.6rem;
    position: relative;
}

.prime-widows p:nth-child(4)::after {
    content: "";
    background-color: white;
    width: 90%;
    height: 1px;
    opacity: 0.2;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.prime-widows h4:last-of-type {
    margin: 20px 0 15px 0;
}

.prime-widows ul.is-style-check_list {
    width: 90%;
    margin: 0 auto;
}
.prime-widows ul.is-style-check_list li {
    padding-bottom: 0.7rem;
}
.prime-widows ul.is-style-check_list li:last-of-type {
    padding-bottom: 0;
}

.prime-widows .is-style-check_list li:before {
    color: white;
}

.experience-content .swell-block-columns__inner {
    justify-content: center;
}

.prime-widows3 h3 {
 position: relative;
 margin-bottom: 1.2rem !important;
 padding-bottom: 1.2rem;
}

.prime-widows3 h3 span::after{
    content: "";
    background-color: white;
    width: 90%;
    height: 1px;
    opacity: 0.2;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.prime-widows3 p:first-of-type {
    margin-bottom: 32px;
}
 
.prime-widows p:first-of-type::after {
    bottom: -55%;
}

.prime-widows3 p:nth-child(3) strong {
    background: white;
    color: #498C9C ;
    border-radius: 10px;
    padding: 0.5rem 3rem;
}
.prime-widows3 h4:first-of-type {
    margin: 1.5rem 0 0px 0;
    padding: 0.6rem 0.6rem 0.6rem;
}
.prime-widows3 h4:first-of-type::after {
    content: "";
    background-color: white;
    width: 90%;
    height: 1px;
    opacity: 0.2;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.prime-widows3 ol {
    width: 90%;
    margin-left: auto;
}

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

    .sp-14px {
        font-size: 14px;
    }

    .price-area {
        border-radius: 100px;
     }

     .price-h2:first-of-type::after {
        width: 100px;
        height: 100px;
        top: 260%;
     }
    

     .price-area .price-area-text {
        position: relative;
     }

     .loop-slider .swell-block-column figure {
        width: 100px !important;
        height: 100px !important;
     }

     .free-exp {
        border: 5px solid var(--color_deep02);
        border-radius: 10px ;
     }
    
     .free-exp-left {
        border-radius: 2px 0 0 2px;
     }

     .free-exp p strong, .free-exp p span{
        font-size: 15px !important;
        display: flex;
     }
     .free-exp p.has-background {
        padding: 0.7rem 1rem;
     }

     .img-yazirusi img{
        width: 66px;
     }
     
    .prime-widows ul.is-style-check_list {
        width: 95%;
    }

     /* SP size */

     .plan-contents {
        transform: scale(0.98);
        transform-origin: top center;
     }
     .price-area h3 span{
        font-size: 28px !important;
     }
     .prime-widows h4 {
        font-size: 18px !important;
     }
     .prime-widows .is-style-bb>.c-tabList .c-tabList__button {
        font-size: 17px !important;
     }
     .prime-widows p:first-of-type {
        font-size: 27px !important;
     }
     .prime-widows p:nth-child(3) {
        font-size: 35px !important;
     }
     .prime-widows p:nth-child(4) {
        font-size: 30px !important;
     }
     .prime-widows h4:last-of-type {
        margin: 15px 0 10px 0;
    }
    .taiken-h2 > span:first-of-type {
        font-size: 19px !important;
    }
}
@media screen and (max-width:390px) {
    .prime-widows h4 {
        font-size: 16px !important;
     }

    .sp-14px {
        font-size: 13px;
    }
}



 /* #endregion */  /* END */ 
 .qua-contents > .swell-block-accordion__item {
    margin-top: 0;
    margin-bottom: 0;
    border: 1px solid #bdbdbd ;
    border-top: none;
 }

 .qua-contents > .swell-block-accordion__item:first-of-type {
    border: 1px solid #bdbdbd  !important;
 }

 .qua-contents .c-pageTitle__inner {
    padding-top: 0;
 }
 .qua-contents .swell-block-accordion__title {
    position: relative;
    padding: 1.25em 1em 1.25em 4em;
    font-weight: bold;
}

 .qua-contents .swell-block-accordion__title::before{
    box-shadow: 0 0 0 1px currentcolor;
    border-radius: var(--swl-faq_icon_radius);
    bottom: unset;
    content: "Q";
    display: block;
    font-family: Arial, sans-serif;
    font-weight: 400;
    left: 0;
    line-height: 2;
    position: absolute;
    text-align: center;
    top: .75em;
    width: 2em;
    left: 1em;
    position: absolute;
    top: 1em;
 }

 .qua-contents .swell-block-accordion__body {
    position: relative;
    padding: 1.25em 1em 1.25em 4em;
 }

 .qua-contents .swell-block-accordion__body::before {
    border-radius: var(--swl-faq_icon_radius);
    content: "A";
    display: block;
    font-family: Arial, sans-serif;
    left: 0;
    line-height: 2;
    position: absolute;
    text-align: center;
    top: .75em;
    width: 2em;
    left: 1em;
    position: absolute;
    top: 1em;
    box-shadow: 0 0 0 1px currentcolor;
 }

 @media screen and (max-width:767ox) {
    .qua-contents .swell-block-accordion__title {
        font-size: 17px;
    }
 }
 /* #endregion */  /* END */ 

 @media screen and (max-width:767px) {
    .trainer-section figure, .trainer-section figure img {
        height: 250px;
    }
 }


 
   /* =================================
       fx-blob 基本設定（どこでも使える）
       ================================= */
       .fx-blob{
        --blob-w: 720px;        /* 幅 */
        --blob-h: 550px;        /* 高さ */
        --blob-color: #e1dfd5;  /* 色（統一） */
        --blob-opacity: 0.8;    /* 透明度 */
        --blob-speed: 40s;      /* 回転スピード */
        --blob-speed2: 33s;      /* 回転スピード */
  
        position: relative;
        overflow: hidden;
      }
      .fx-blob .swell-block-fullWide__inner{ position: relative; z-index: 1; }
  
      .fx-blob::before,
      .fx-blob::after{
        content:"";
        position: absolute;
        top: 50%;
        width: var(--blob-w);
        height: var(--blob-h);
        transform: translateY(-50%) rotate(0deg);
        pointer-events: none;
        z-index: 0;
        display: none; /* デフォルト非表示 */
        border-radius: 60% 40% 55% 45% / 50% 60% 40% 50%; /* 楕円のいびつさ */
        background: var(--blob-color);
        opacity: var(--blob-opacity);
        filter: blur(var(--blob-blur));
        animation: blob-rotate var(--blob-speed) linear infinite;
      }

      .fx-blob::after {
        border-radius: 35% 65% 40% 60% / 55% 35% 65% 45%;
        animation: blob-rotate var(--blob-speed2) linear infinite;
      }
  
      /* 左に出す */
      .fx-blob.blob-left::before{
        display:block;
        left: -300px;
        transform-origin: 60% 50%;
      }
      /* 右に出す */
      .fx-blob.blob-right::after{
        display:block;
        right: -250px;
        transform-origin: 40% 50%;
      }
  
      @keyframes blob-rotate{
        to { transform: translateY(-50%) rotate(360deg); }
      }
  
      /* レスポンシブ */
      @media (max-width:768px){
          .fx-blob::after, .fx-blob::after {
              width: 320px; height: 300px;
          }
      }
      @media (max-width:480px){
        .fx-blob::after{ right: -10%;} .fx-blob::after { left:-10%}
      }
  
      /* 動きが苦手なユーザーへの配慮 */
      @media (prefers-reduced-motion: reduce){
        .fx-blob::before, .fx-blob::after{ animation:none !important; }
      }

 #before_footer_widget {
    margin-bottom: 0 !important;
 }

 .footer-access {
    border-radius: 150px 150px 0 0;
 }

 .footer-access iframe {
    width: 100%;
    height: 300px;
 }

 .footer-menu .wp-block-list {
    margin-bottom: 0.5rem !important;
 }

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

    .footer-access {
        border-radius: 50px 50px 0 0;
     }
    
    .w-footer .w-footer__box:first-of-type {
        text-align: center;
    }

    .footer-menu {
        font-size: 14px;
    }

    .footer-menu .swell-block-columns__inner {
        margin: 0 auto;
    }
}

@media screen and (max-width:390px) {
    .footer-menu {
        font-size: 13px;
    }
}


      .campaign-banner {
  position: relative;
  background: linear-gradient(135deg, #111, #222);
  color: #fff;
  padding: 20px 40px;
  border-radius: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  overflow: hidden;
}

.campaign-content {
  text-align: center;
}

.price-text {
  font-size: 1.4rem;
  margin: 0;
  letter-spacing: 0.05em;
}

.price-text span {
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
}

.price-text::after {
  content: "≫";
  color: #1eb4d4;
  margin: 0 8px;
}

.campaign-label {
  background: linear-gradient(to right, #ffcc33, #ffb400);
  color: #000;
  font-weight: 700;
  display: inline-block;
  margin-top: 8px;
  padding: 6px 20px;
  border-radius: 0 4px 4px 0;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 10px 50%);
}

.campaign-close {
  position: absolute;
  right: 16px;
  top: 12px;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 1.6rem;
  cursor: pointer;
}

.campaign-close:hover {
  opacity: 0.7;
}







/* ===== Campaign Banner (SWELL) ===== */

.w-frontBottom {
    position: fixed;
    width:auto;
    bottom: 0;
	right:0;
    z-index: 211111111;
}
.follow-cta {
	position:relative;
	display:inline-block;
}

.follow-cta-base {
	width:200px
}
.follow-cta-flow {
    position: absolute;
    top: -48px;
    left: 50%;
    width: 82px;
    animation: swing 3.5s ease-in-out infinite;
    transform-origin: center bottom; /* 回転の軸を下にすると“ぶら下がる”感じ */
}
@keyframes swing {
    0% { transform: rotate(-5deg) translatex(-50%); }
    50% { transform: rotate(5deg) translatex(-50%); }
    100% { transform: rotate(-5deg) translatex(-50%); }
  }
  .swell-block-fullWide__inner {
    z-index: 0;
  }

  @media screen and (max-width:767px) {
    .w-frontBottom {
        transform: scale(.6);
        transform-origin: right bottom;
        right: 5px !important;
        bottom: 8px;
    }
  }
  





  /* ======== Basic Animation Template ======== */
/* 使い方：HTML要素にクラスを付けるだけ */

/* --- フェードイン --- */
.fade-in {
    opacity: 0;
    transform: translateY(10px);
    animation: fadeIn 1s ease forwards;
  }
  @keyframes fadeIn {
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  /* --- スライドアップ（下→上）--- */
  .slide-up {
    opacity: 0;
    transform: translateY(40px);
    animation: slideUp 1s cubic-bezier(.25,.8,.25,1) forwards;
  }
  @keyframes slideUp {
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  /* --- スライドイン（左→右）--- */
  .slide-left {
    opacity: 0;
    transform: translateX(-40px);
    animation: slideLeft 1s ease forwards;
  }
  @keyframes slideLeft {
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
  
  /* --- スライドイン（右→左）--- */
  .slide-right {
    opacity: 0;
    transform: translateX(40px);
    animation: slideRight 1s ease forwards;
  }
  @keyframes slideRight {
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
  
  /* --- 拡大フェード（ポップ）--- */
  .pop {
    opacity: 0;
    transform: scale(0.8);
    animation: popIn 0.8s ease-out forwards;
  }
  @keyframes popIn {
    50% {
      opacity: 1;
      transform: scale(1.05);
    }
    100% {
      transform: scale(1);
    }
  }
  
  /* --- ゆらゆら（float）--- */
  .float {
    animation: floatY 3s ease-in-out infinite;
  }
  @keyframes floatY {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
  }
  
  /* --- 回転ゆらぎ --- */
  .rotate {
    animation: rotateWiggle 3s ease-in-out infinite;
    transform-origin: center;
  }
  @keyframes rotateWiggle {
    0%,100% { transform: rotate(0deg); }
    25% { transform: rotate(3deg); }
    75% { transform: rotate(-3deg); }
  }
  
  /* --- ふわっと遅延（順番アニメーション用）--- */
  .fade-delay-1 { animation-delay: .3s; }
  .fade-delay-2 { animation-delay: .6s; }
  .fade-delay-3 { animation-delay: .9s; }
  
  /* --- 一度だけ動作するようにする設定 --- */
  .fade-in,
  .slide-up,
  .slide-left,
  .slide-right,
  .pop {
    will-change: transform, opacity;
    backface-visibility: hidden;
  }
  
  .fade-in, .slide-up, .slide-left, .slide-right, .pop {
    animation-play-state: paused;
  }

  
   /* ========== ここに名前 ========== */
   /* #region Header */

   .wpcf7 {
    background: #FFF2C6;
    padding: 2rem 0;
    border-radius: 80px;
   }
   .wpcf7 h2 {
    margin: 0;
    margin-bottom: 1rem;
    text-align: center;
   }
   .wpcf7 p {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 11px;
    font-weight: bold;
   }

   .wpcf7 form p:nth-child(7) {
    max-width: 390px;
    width: 90%;
    flex-direction: column;
    align-items: start;
   }
   .wpcf7 p input , .wpcf7 p textarea {
    border-radius: 10px;
    background-color:white;
   }

   .wpcf7 p textarea {
    height: 150px;
   }

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

    .wpcf7 {
        border-radius: 40px;
    }

    .wpcf7 p {
        max-width: 390px;
        width: 90%;
    }

    .wpcf7 p input , .wpcf7 p textarea  {
        width: 100%;
    }
    .wpcf7 form p:nth-child(7) input {
        width: min-content;
    }

}

.contact-contents .swell-block-columns__inner {
    margin: 0 auto !important;
}

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

    .contact-contents .swell-block-columns__inner {
        flex-wrap: wrap-reverse;
    }

    .sp-font22px span {
        font-size: 20px !important;
    }

    .contact-contents .swell-block-column  {
        margin: 0 auto !important;
    }
    .wpcf7-spinner {
        display: none;
    }
    
    .sp-ta-center {
        text-align: center !important;
    }
}

.readmore-toggle {
    color: var(--color_deep02) !important;
}


/*　インスタ連携　*/
#sb_instagram #sbi_load .sbi_load_btn, #sb_instagram .sbi_follow_btn a, .et-db #et-boc .et-l .et_pb_module .sbi_follow_btn a {
    vertical-align: bottom;
}

.coment-content img {
    width: 100px !important;
    height: 100px !important;
    border: 1px solid #3333;
    border-radius: 100px;
}

@media screen and (max-width: 767px) {
	.top-before-title {
		margin-bottom:5rem !important;
	}
    .coment-content img {
        width: 70px !important;
        height: 70px !important;
        border: 1px solid #3333;
        border-radius: 100px;
    }
    
    .-bln-left .c-balloon__body.-thinking{
    	padding-right: 0 !important;
    }
    
    .-bln-right .c-balloon__body.-thinking{
    	padding-left: 0 !important;
    }
    .c-balloon__body .c-balloon__text {
		padding-right:5px;
	}
    .c-balloon__icon.-circle img {
		background:white;
        object-fit: contain;
	}
    .-type-simple .p-postList__title {
    font-size: 14px !important;
}
}

@media screen and (max-width: 390px) {
    .post_content .h2-bene span {
        font-size: 22px !important;
    }
}

@media screen and (max-width: 350px) {
    .post_content .h2-bene span {
        font-size: 21px !important;
    }
}
 /* #endregion */  /* END */