@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;500;700&family=Noto+Serif+JP:wght@400;600&display=swap');

html {
    --font-family-M-PLUS-1p: 'M PLUS 1p', sans-serif;
    --font-family-noto-serif-jp: 'Noto Serif JP', serif;
    font-size: 13px;
    font-size: 3.4667vw;
    line-height: 1.846154;
    scroll-behavior: smooth;
}


@media screen and (min-width: 751px) {
    html {
        font-size: 16px;
    }
}

body {
    font-family: var(--font-family-M-PLUS-1p);
    color: #333333;
    background-color: #fff;
}

p {
    margin: 0;
    padding: 0;
}

dl,
dt,
dd {
    margin: 0;
    padding: 0;
}

@media screen and (max-width: 750px) {
    .pc_only {
        display: none;
    }
}

@media screen and (min-width: 751px) {
    .sp_only {
        display: none;
    }
}

.wrap {
    max-width: 1200px !important;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.wrap_inner {
    max-width: 1100px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

li {
    margin: 0;
    padding: 0;
}

/* -----------------------------------------------------
    header
*/
header {
    padding: 1.230769rem 0;
    border-bottom: 1px solid #D0D0D0;
}

header .header_wrap a {
    display: block;
    width: 33.6%;
    max-width: 211px;
    aspect-ratio: 126 / 46;
    margin: 0 auto;
}

header .header_wrap a img {
    width: 100%;
}

@media screen and (min-width: 751px) {
    header {
        padding: 1rem 0;
    }
}

.clearfix,
.cf,
.comment-respond {
    zoom: 1;
}

.clearfix:before,
.clearfix:after,
.cf:before,
.comment-respond:before,
.cf:after,
.comment-respond:after {
    content: "";
    display: table;
}

.clearfix:after,
.cf:after,
.comment-respond:after {
    clear: both;
}


@media only screen and (min-width: 768px) {
    .wrap {
        width: 760px;
    }
}

@media only screen and (min-width: 1030px) {
    .wrap {
        width: 1040px;
    }
}
/* -----------------------------------------------------
    その他
*/

.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-maru-gothic-medium {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-maru-gothic-bold {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}



.content_top .simplebar-track.simplebar-horizontal {
    height: 2px;
    left: 10%;
    right: 10%;
    background: #B7B7B7;
}

.content_top .simplebar-track .simplebar-scrollbar::before {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.content_top table {
    border: 1px solid black;
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 0.846154rem;
    text-align: left;
    background-color: white;
}

.content_top table th {
    border: 1px solid black;
    width: 34.915254%;
    vertical-align: top;
    padding: 1% 1.5%;
    font-weight: normal;
}

.content_top table td {
    border: 1px solid black;
    vertical-align: top;
    padding: 1% 1.5%;
}

.content_top dl.dl_style_a {
    position: relative;
    background-color: white;
    width: 84%;
    margin: 0 auto 1.538462rem;
    border-radius: 1rem;
    padding-top: 3.307692rem;
    padding-bottom: 2.538462rem;
}

.content_top dl.dl_style_a>dt {
    background-color: #64C0AB;
    color: white;
    font-size: 1.076923rem;
    font-weight: 500;
    text-align: center;
    padding: 0.4rem;
    box-sizing: border-box;
    width: 93.650794%;
    margin: 0 auto;
    position: absolute;
    top: -0.769231rem;
    left: 50%;
    transform: translateX(-50%);
}
.content_top .contitle {
  font-size: 1.4rem;
  color: #505050;
  padding: 3rem 1rem 3rem 2rem;
  font-family: 'Zen Maru Gothic', sans-serif;
}

@media screen and (min-width: 751px) {
    .content_top dl.dl_style_a {
        border-radius: 1.5rem;
    }

    .content_top dl.dl_style_a>dt {
        font-size: 1.25rem;
        font-weight: 500;
        text-align: center;
        width: auto;
        white-space: nowrap;
        padding: 0.4rem 3rem;
    }
    .content_top .contitle{
      font-size: 1.6rem;
      color: #505050;
      padding: 0rem 0 2rem 0;
      font-family: 'Zen Maru Gothic', sans-serif;
    }

    .pc_none_bnr{ display: none;}
  }

  .grecaptcha-badge { visibility: hidden; }
/* -----------------------------------------------------
    breadcrumb
*/
.breadcrumb {
    display: none;
}

.breadcrumb ul {
    padding: 1.230769rem 0;

}

.breadcrumb ul li {
    display: inline;
}

.breadcrumb ul li+li::before {
    margin-left: 0.3em;
    margin-right: 0.3em;
    content: "＞";
}

@media screen and (min-width: 751px) {
    .breadcrumb {
        display: block;
        margin-bottom: 1.875rem;
        font-size: 0.75rem;
    }
}
/* -----------------------------------------------------
    influencer
*/

.content_top .influencer {
    background: url(../renew_img/top/ti_influencer@2x.png) no-repeat right top;
    background-size: 90%;
    margin-bottom: 4rem;
}

@keyframes infinity-scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}

.scroll-infinity__list {
  display: flex;
  flex-shrink: 0;
  list-style: none;
  padding: 0;
  margin: 0;
  width: max-content;
  animation: infinity-scroll-left 100s linear infinite;
}

.scroll-infinity__item {
  flex-shrink: 0;
  width: calc(80vw / 2);
  margin-right: 2rem;
}

.scroll-infinity__item img {
  width: 100%;
  display: block;
}
@media screen and (min-width: 751px) {
    .content_top .influencer {
      background: url(../renew_img/top/ti_influencer@2x.png) no-repeat right top;
      background-size: auto;
      background-size: 45%;
      padding: 5rem 0 2rem 0;
      margin-bottom: 2rem;
    }
    .scroll-infinity__item {
      flex-shrink: 0;
      width: calc(90vw / 6);
      margin-right: 3rem;
    }
}





/* -----------------------------------------------------
    cont01
*/

.content_top .cont01 {
    margin: 0 auto 2.615385rem;
}

.content_top .cont01 .tt01 {
    background: url(../renew_img/common/sp_header@2x.jpg) no-repeat center top;
    background-size: 100% auto;
    aspect-ratio: 375 / 367;
    display: flex;
    justify-content: center;
    align-items: center;
}



@media screen and (min-width: 751px) {
    .content_top .cont01 {
        margin-bottom: 40px;
    }

    .content_top .cont01 .tt01 {
        background: url(../renew_img/common/pc_header@2x.png) no-repeat center center;
        background-size: cover;
        aspect-ratio: auto;
        height:63.2vw;
    }

    .content_top .cont01 .tt01 .pc_chat img {
        width: 299px;
        position:fixed;
        z-index:1;
        right: 24px;
        bottom: 30px;
    }
}

/* -----------------------------------------------------
    cont02
*/
.content_top .cont02 {
    margin: 0 auto 2.615385rem;
    background: url(../renew_img/top/con_2bg_sp@2x.png) no-repeat center top;
    background-size: 100% auto;
    aspect-ratio: 375 / 588;
    display: flex;
    justify-content: center;
    align-items: center;
}
.content_top .cont02 .tt01 .pt {
    font-size: 1.2rem;
    font-weight: bold;
    padding: 0.6rem 0 0 0;
    color: #505050;
    }

.content_top .cont02 .tt01 ol.feature {
    margin: 0 auto;
    padding: 2rem 0 !important;
    list-style: none;
    width:90%;
}
.content_top .cont02 .tt01 ol.feature li {
    padding-left: 4.5rem;
    line-height: 1.6em;
    background: left top no-repeat;
    background-image: none;
    background-size: auto;
    background-size: 46px auto;
    padding-bottom: 3rem;
}
.content_top .cont02 .tt01 ol.feature li:nth-child(1) {
    background-image: url(../renew_img/top/con_2_01@2x.png);
}
.content_top .cont02 .tt01 ol.feature li:nth-child(2) {
    background-image: url(../renew_img/top/con_2_02@2x.png);
}
.content_top .cont02 .tt01 ol.feature li:nth-child(3) {
    background-image: url(../renew_img/top/con_2_03@2x.png);
}

.content_top .cont02 .tt01 .soudan div {
  background: #01ABB9;
border-radius: 9999px;
position: relative;
display: flex;
justify-content: space-around;
align-items: center;
margin: 0 auto;
max-width: 250px;
padding: 10px 25px;
color: #fff;
line-height: 1.8;
text-decoration: none;
transition: 0.3s ease-in-out;
font-weight: 500;
}
.content_top .cont02 .tt01 .soudan div:hover {
    background: #FFF;
    color: #01ABB9;
}
.content_top .cont02 .tt01 .soudan div:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.content_top .cont02 .tt01 .soudan div:hover:after {
    border-color: #FFF;
}

@media screen and (min-width: 751px) {
    .content_top .cont02 {
        margin-bottom: 40px;
        background: url(../renew_img/top/con_2bg_pc@2x.png) no-repeat center center;
        background-size: cover;
        aspect-ratio: auto;
        height: 877px;
        padding-top: 2rem;
    }
    .content_top .cont02 .tt01 .pt {
      font-size: 40px;
      font-weight: bold;
      padding: 2.1rem 0 0 2rem;
      color: #505050;
    }
    .content_top .cont02 .tt01 .txt{
      color: #505050;
      padding: 1.7rem 0 0 2rem;
      font-size: 1.17rem;
      line-height: 2rem;
        }
    .content_top .cont02 .tt01 ol.feature {
      margin: 0 auto;
      padding: 0;
      list-style: none;
      width:839px;
    }
    .content_top .cont02 .tt01 ol.feature li {
      padding-left: 94px;
      line-height: 1.9em;
      background: left top no-repeat;
      background-size: 96px auto;
      padding-bottom: 2rem;
    }
    .content_top .cont02 .tt01 ol.feature li:nth-child(1) {
      background-image: url(../renew_img/top/con_2_01@2x.png);
    }
    .content_top .cont02 .tt01 ol.feature li:nth-child(2) {
      background-image: url(../renew_img/top/con_2_02@2x.png);
    }
    .content_top .cont02 .tt01 ol.feature li:nth-child(3) {
      background-image: url(../renew_img/top/con_2_03@2x.png);
    }
    .content_top .cont02 .tt01 .soudan{
      padding:2rem 0;
      text-align: center;
    }

    .content_top .cont02 .tt01 .soudan img{
      width: 240px;
    }
    .content_top .cont02 .tt01 .soudan div {
      background: #01ABB9;
    border-radius: 9999px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    color: #fff;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    }
    .content_top .cont02 .tt01 .soudan div:hover {
        background: #FFF;
        color: #01ABB9;
    }
    .content_top .cont02 .tt01 .soudan div:after {
        content: '';
        width: 5px;
        height: 5px;
        border-top: 3px solid #FFF;
        border-right: 3px solid #FFF;
        transform: rotate(45deg) translateY(-50%);
        position: absolute;
        top: 50%;
        right: 20px;
        border-radius: 1px;
        transition: 0.3s ease-in-out;
    }
    .content_top .cont02 .tt01 .soudan div:hover:after {
        border-color: #FFF;
    }
}


/* -----------------------------------------------------
    cont03
*/
  .content_top .cont03 {
    background: url(../renew_img/top/ti_cases@2x.png) no-repeat right top;
    background-size: 65%;
    margin-bottom: 5rem;
    padding-top: 1.2rem;
}

.content_top .cont03 .client-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* 自動3列 */
    gap: 2rem; /* 要素間のすき間 */
    list-style: none;
    margin: 0 auto;
    padding: 0;
    width: 90%;
    margin: 0 auto;
}
.content_top .cont03 .client-cards li.card {
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 2rem;
}
.content_top .cont03 .client-cards li.card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,0.15);
}

.content_top .cont03 .client-cards li.card img {
    width: 100%;
    object-fit: cover;
    display: block;
}

.content_top .cont03 .client-cards li.card dl {
    display: flex;
    margin: 1rem 0;
}
.content_top .cont03 .client-cards li.card dt {
    flex: 0 0 50%;
    background-color: #EBEAF7;
    padding: 1rem;
    border-radius: 4px 0 0 4px;
    font-weight: 600;
    text-align: center;
}
.content_top .cont03 .client-cards li.card dd {
    flex: 1;
    background-color: #fff;
    padding: 1rem;
    border-radius: 0 4px 4px 0;
    margin: 0;
    text-align: left;
}
.content_top .cont03 .client-cards li.card p {
    padding: 0rem 1.6rem 2rem;
    color: #555;
    line-height: 1.6;
}

.content_top .cont03 .archive_link {
    margin: 5rem 0;
    text-align: center;
}

.link_btn a {
    background: #eee;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 10px 25px;
    color: #333;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.link_btn a:hover {
    background: #333;
    color: #FFF;
}
.link_btn a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #333;
    border-right: 3px solid #333;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.link_btn a:hover:after {
    border-color: #FFF;
}


@media screen and (min-width: 751px) {
  .content_top .cont03 {
    background: url(../renew_img/top/ti_cases@2x.png) no-repeat right top;
    background-size: 30%;
    padding-top: 7rem;
    margin-bottom: 5rem;
  }

  .content_top .client-cards {
    display: flex;
    gap: 2rem;
  }

    .content_top .cont03 .client-cards {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* 自動3列 */
        gap: 2rem; /* 要素間のすき間 */
        list-style: none;
        margin: 0 auto;
        padding: 0;
    }
    .content_top .cont03 .client-cards li.card {
        background-color: #fff;
        border-radius: 12px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        overflow: hidden;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .content_top .cont03 .client-cards li.card:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 18px rgba(0,0,0,0.15);
    }

    .content_top .cont03 .client-cards li.card img {
        width: 100%;
        height: 380px;
        object-fit: cover;
        display: block;
    }

    .content_top .cont03 .client-cards li.card dl {
        display: flex;
        margin: 1rem 0;
    }
    .content_top .cont03 .client-cards li.card dt {
        flex: 0 0 50%;
        background-color: #EBEAF7;
        padding: 1rem;
        border-radius: 4px 0 0 4px;
        font-weight: 600;
        text-align: center;
    }
    .content_top .cont03 .client-cards li.card dd {
        flex: 1;
        background-color: #fff;
        padding: 1rem;
        border-radius: 0 4px 4px 0;
        margin: 0;
        text-align: left;
    }
    .content_top .cont03 .client-cards li.card p {
        padding: 0 1.2rem 1.5rem;
        color: #555;
        line-height: 1.6;
    }

    .content_top .cont03 .archive_link {
        margin: 5rem 0;
        text-align: center;
    }

    .link_btn a {
        background: #eee;
        border-radius: 3px;
        position: relative;
        display: flex;
        justify-content: space-around;
        align-items: center;
        margin: 0 auto;
        max-width: 250px;
        padding: 10px 25px;
        color: #333;
        line-height: 1.8;
        text-decoration: none;
        transition: 0.3s ease-in-out;
        font-weight: 500;
    }
    .link_btn a:hover {
        background: #333;
        color: #FFF;
    }
    .link_btn a:after {
        content: '';
        width: 5px;
        height: 5px;
        border-top: 3px solid #333;
        border-right: 3px solid #333;
        transform: rotate(45deg) translateY(-50%);
        position: absolute;
        top: 50%;
        right: 20px;
        border-radius: 1px;
        transition: 0.3s ease-in-out;
    }
    .link_btn a:hover:after {
        border-color: #FFF;
    }

}

/* -----------------------------------------------------
    cont04
*/

.content_top .cont04 {
    margin: 0 auto 2.615385rem;
    justify-content: center;
    align-items: center;
    background-color:#F4F4F4;
    padding-bottom: 2rem;
}
.content_top .cont04 .tt01{
padding-top: 5rem;
text-align: center;
}
.content_top .cont04 .tt01 img.title {
    width:80%;
  margin-bottom:2rem;
}

.content_top .cont04 .tt01 img {
  width:80%;
}
.content_top .cont04 .trouble-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.2rem;
  list-style: none;
  padding: 1.2rem;
  margin: 0 auto;
}
.content_top .cont04 .trouble-item {
  background: #fff;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  overflow: hidden;
}
.content_top .cont04 .trouble-item h3 {
  background: #3da5b5;
  color: #fff;
  font-size: 0.81rem;
  font-weight: 700;
  padding: 1rem;
  margin: 0;
  border-radius: 8px 8px 0 0;
  line-height: 1.6;
}

/* 画像 */
.content_top .cont04 .trouble-item img {
  width: 80%;
  height: auto;
  margin: 2rem auto 1rem;
  display: block;
}

/* テキスト */
.content_top .cont04 .trouble-item p {
  font-size:0.86rem;
  color: #505050;
  padding: 0 1rem 1.5rem;
  line-height: 1.6;
  margin: 0;
}
@media screen and (min-width: 751px) {
  .content_top .cont04 {
    margin: 40px auto;
    background-color: #F4F4F4;
    padding-bottom: 8rem;
  }
  .content_top .cont04 .tt01 {
    padding-top: 7rem;
    text-align: center;
  }
  .content_top .cont04 .tt01 img.title {
    width: 456px;
    margin-bottom:2rem;
  }
  .content_top .cont04 .trouble-list {
    justify-content: center;
    gap: 1.5rem;
  }
  .content_top .cont04 .trouble-item {
    width: 30%;
    max-width: none;
  }
  .content_top .cont04 .trouble-item h3 {
    font-size: 1.3rem;
    padding: 1.2rem;
  }
  .content_top .cont04 .trouble-item p {
    font-size: 1rem;
    padding: 0 1.5rem 2rem;
  }
}
@media screen and (max-width: 750px) {
  .content_top .cont04 .trouble-item {
    width: 47%;
  }
}

/* -----------------------------------------------------
    cont05
*/

.content_top .cont05 {
    margin: 6rem auto 2.615385rem;
    justify-content: center;
    align-items: center;
    padding-bottom: 2rem;
}
.content_top .cont05 .genre_title {
color: #284B66;
text-align: center;
font-size: 1.6rem;
  line-height: 2rem;
}

.content_top .cont05 .genrelist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
  list-style: none;
  padding: 0;
  margin: 2rem auto;
  max-width: 1000px;
}
.content_top .cont05 .genrelist li {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #1652A0;
  color: #fff;
  padding: 1rem 1rem;
  text-align: center;
  border-radius: 4px;
  width: 30%;
  font-size: 0.9rem;
  font-weight: 700;
  box-sizing: border-box;
}

.genrelist li span {
  display: block;
  font-size: 1.3rem;
  font-weight: 400;
  margin-top: 0.4rem;
}


@media screen and (min-width: 751px) {
  .content_top .cont05 {
    margin: 80px auto;
    padding-bottom: 8rem;
  }
  .content_top .cont05 .genre_title {
  color: #284B66;
  text-align: center;
  font-size: 2rem;
  line-height: 2.8rem;
  }

.content_top .cont05 .genrelist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 4rem auto;
  max-width: 1000px;
}
.content_top .cont05 .genrelist li {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #1652A0;
  color: #fff;
  padding: 1.6rem 1rem;
  text-align: center;
  border-radius: 4px;
  width: 30%;
  font-weight: 700;
  box-sizing: border-box;
}

.genrelist li span {
  display: block;
  font-size: 1.3rem;
  font-weight: 400;
  margin-top: 0.4rem;
}
}

/* -----------------------------------------------------
    flow
*/
.content_top .flow {
  background-color: #E7F8FD;
  padding: 4rem 0 6rem;
  text-align: center;
  margin: 40px auto;
}

.content_top .flow .tt01 {
  padding-top: 1rem;
  text-align: center;
}

.content_top .flow .flow_title {
  color: #505050;
  text-align: center;
  font-size: 1.4rem;
  line-height: 3.8rem;
  padding-bottom: 7rem;
}
.content_top .flow .flow-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  list-style: none;
  padding: 0;
  margin: 0 auto 3rem;
  max-width: 1200px;
}
.content_top .flow .flow-item {
  position: relative;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  padding: 4rem 2rem 3rem;
  text-align: center;
  width: 32%;
  box-sizing: border-box;
}

.content_top .flow .flow-item .step {
  position: absolute;
  top: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  background: #0c1e3c;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  padding: 0.6rem 2.4rem;
  border-radius: 9999px;
}

.content_top .flow .flow-item h3 {
  font-size: 1rem;
  font-weight: 700;
  color: #505050;
  margin:0 0 1rem 0;
  line-height: 1.6;
}

.content_top .flow .flow-item img {
  width: 230px;
  height: auto;
  margin-bottom:1rem;
}

.content_top .flow .flow-item p {
  font-size:0.9rem;
  color: #505050;
  line-height: 1.8;
  text-align: left;
  max-width: 90%;
  margin: 0 auto;
}

.content_top .flow .flow-note {
  font-size: 0.7rem;
  color: #505050;
  line-height: 1.8;
  margin-top: 1rem;
}

@media screen and (min-width: 751px) {
  .content_top .flow {
    background-color: #E7F8FD;
    padding: 5rem 0 8rem;
  }
  .content_top .flow .tt01 {
    padding-top: 2rem;
    text-align: center;
  }
  .content_top .flow .flow_title {
    color: #505050;
    text-align: center;
    font-size: 1.8rem;
    line-height: 3.8rem;
    padding-bottom: 7rem;
  }
  .content_top .flow .flow-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0 auto 1.6rem;
    max-width: 1200px;
  }
}

@media screen and (max-width: 750px) {
  .content_top .flow {
    background-color: #E7F8FD;
    padding: 4rem 0 6rem;
  }

  .content_top .flow .flow-list {
    flex-direction: column;
    align-items: center;
    gap: 3rem;
  }

  .content_top .flow .flow-item {
    width: 90%;
    max-width: 400px;
    padding: 3rem 2rem 2.5rem;
    border-radius: 16px;
    margin-bottom: 2rem;
  }

  .content_top .flow .flow-item .step {
    font-size: 1rem;
    padding: 0.7rem 2.4rem;
    top: -1.3rem;
  }

  .content_top .flow .flow-item h3 {
    font-size: 1.2rem;
    margin: 1.5rem 0;
  }

  .content_top .flow .flow-item img {
    width: 80%;
    height: auto;
    margin-bottom: 1.5rem;
  }

  .content_top .flow .flow-item p {
    font-size: 1rem;
    text-align: center;
    line-height: 1.8;
  }

  .content_top .flow .flow-note {
    font-size: 0.9rem;
    text-align: center;
    padding: 0 2rem;
  }
}

/* -----------------------------------------------------
    お知らせ
*/

  .content_top .news {
    background: url(../renew_img/top/ti_news@2x.png) no-repeat right top;
      background-size: 65%;
      margin-bottom: 5rem;
      padding-top: 1.8rem;
}

  .content_top .news .wrap_inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 1.5rem;
  position: relative;
}

  .content_top .news-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #f0f0f0;
}

  .content_top .news-list li {
  border-bottom: 1px solid #f0f0f0;
}

  .content_top .news-list a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 1.2rem 0;
  color: #505050;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

  .content_top .news-list a:hover {
  background-color: #fafafa;
}

  .content_top .news-list .date {
  font-size: 1rem;
  color: #707070;
}

  .content_top .news-list .title {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.6;
}

  .content_top .news-box {
  margin-top: 2.5rem;
  text-align: center;
}

  .content_top .news-box .btn {
  display: inline-block;
  width: 86%;
  background: #f0d94d;
  color: #505050;
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 9999px;
  padding: 1rem 0;
  text-decoration: none;
  transition: all 0.3s ease;
}

  .content_top .news-box .btn:hover {
  opacity: 0.8;
}

@media screen and (min-width: 751px) {

    .content_top .news {
      background: url(../renew_img/top/ti_news@2x.png) no-repeat right top;
      background-size: 30%;
      padding-top: 8rem;
      margin-bottom: 5rem;
  }

    .content_top .news .wrap_inner {
    padding: 0 2rem;
  }


    .content_top .news-list a {
    flex-direction: row;
    align-items: center;
    gap: 2rem;
    padding: 1.8rem 0;
  }

    .content_top .news-list .date {
    width: 120px;
    font-size: 0.8rem;
    flex-shrink: 0;
  }

    .content_top .news-list .title {
    font-size: 1rem;
  }

    .content_top .news-box .btn {
    width: auto;
    font-size: 1.2rem;
    padding: 1rem 5.5rem;
  }
}
/* -----------------------------------------------------
    インフルエンサー紹介
*/

.content_top .introduction {
  background: url(../renew_img/top/ti_introduction@2x.png) no-repeat right top;
  background-size: 93%;
  margin-bottom: 5rem;
}

.content_top .introduction .wrap_inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1.5rem;
  position: relative;
}

.content_top .introduction .box-inner {
  width: 100%;
  margin: 0 auto;
  padding-top: 2rem;
}

.content_top .introduction .influencer-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);  /* SPは2列 */
  gap: 1.2rem;
}

.content_top .introduction .inf-card {
  text-align: center;
}

.content_top .introduction .inf-thumb {
  display: block;
  overflow: hidden;
  border-radius: 10px;
}

.content_top .introduction .inf-thumb img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.content_top .introduction .inf-title {
  font-size: 1rem;
  margin-top: 0.6rem;
  font-weight: 700;
  line-height: 1.4;
}

.content_top .introduction .inf-title a {
  color: #333;
  text-decoration: none;
}

.content_top .introduction .inf-title a:hover {
  color: #1ba7c9;
}

@media screen and (min-width: 751px) {

  .content_top .introduction {
    background: url(../renew_img/top/ti_introduction@2x.png) no-repeat right top;
    background-size: 60%;
    padding: 4rem 0 5rem;
    margin-bottom: 5rem;
  }

  .content_top .introduction .wrap_inner {
    padding: 0 2rem;
  }

  .content_top .introduction .influencer-box {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
  }

  .content_top .introduction .inf-thumb:hover img {
    transform: scale(1.05);
    opacity: 0.95;
  }

  .content_top .introduction .box-inner {
    padding-top: 2rem;
  }
}


/* -----------------------------------------------------
    お問い合わせ
*/

#contact .contitle {
  font-size: 1.4rem;
  color: #505050;
  padding: 3rem 1rem 3rem 2rem;
  font-family: 'Zen Maru Gothic', sans-serif;
}

#contact .contact-wrap {
  margin: 0 auto;
  padding: 4rem 1.5rem 8rem;
  color: #505050;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center; /* 全体中央寄せ */
}

#contact .form {
  background: url(../renew_img/common/ti_contact@2x.png) no-repeat right top;
  background-size: 90%;
  padding-top: 1.5rem;
}

#contact .contact-title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-align: center;
}

#contact .contact-desc {
  width:90%;
  font-size: 1.1rem;
  line-height: 1.7;
  margin:0 auto;
}

#contact .contact-wrap label {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
  text-align: left;
}

#contact .contact-wrap .required {
  color: #c93030;
  margin-left: 0.2em;
}

#contact .contact-wrap input[type="text"],
#contact .contact-wrap input[type="email"],
#contact .contact-wrap input[type="tel"],
#contact .contact-wrap input[type="url"],
#contact .contact-wrap textarea {
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0.8rem;
  font-size: 01rem;
  color: #505050;
  background: #fff;
  margin-bottom: 2rem;
  transition: border-color 0.2s ease;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#contact .contact-wrap input:focus,
#contact .contact-wrap textarea:focus {
  border-color: #f0d94d;
  outline: none;
}

#contact .contact-wrap textarea {
  min-height: 160px;
  resize: vertical;
}

#contact .contact-privacy {
  margin: 2rem 0 3rem;
  text-align: left;
  font-size: 1.3rem;
}

#contact .wpcf7-list-item {
  margin: 0;
}

#contact .contact-wrap input[type="checkbox"] {
  display: inline-block;
  transform: scale(1.2);
  margin-right: 0.5rem;
}

#contact .contact-wrap input[type="submit"] {
  display: inline-block;
  width: 100%;
  background: #f0d94d;
  color: #505050;
  font-size: 1.2rem;
  font-weight: 700;
  border: none;
  border-radius: 9999px;
  padding: 1.2rem 0;
  cursor: pointer;
  transition: all 0.3s ease;
}

#contact .contact-wrap input[type="submit"]:hover {
  opacity: 0.8;
}

#contact .contact-wrap .contact-submit {
  text-align: center;
}


#contact .contact-wrap .wpcf7-form-control.wpcf7-checkbox {
  display: block;
}

#contact .contact-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
  display: block;
  margin-bottom: 0.3rem;
}

#contact .contact-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label {
  margin-left: 0.5rem;
}


#contact .contact-wrap input[type="checkbox"] {
  transform: scale(1.2);
  margin-right: 0;
}

@media screen and (min-width: 751px) {

  #contact .form {
    background: url(../renew_img/common/ti_contact@2x.png) no-repeat right top;
    background-size: 46%;
    padding-top: 8rem;
    margin-bottom: 5rem;
  }

  #contact .contitle{
    font-size: 1.6rem;
    color: #505050;
    padding: 0rem 0 2rem 0;
    font-family: 'Zen Maru Gothic', sans-serif;
  }

  #contact .contact-wrap {
    max-width: 800px;
    text-align: left;
    padding: 0 0 5rem;
  }

  #contact .contact-title {
    font-size: 2.4rem;
    text-align: left;
  }

  #contact .contact-desc {
    font-size:1rem;
    margin-bottom: 3.5rem;
    text-align: left;
  }

  #contact .contact-wrap input[type="text"],
  #contact .contact-wrap input[type="email"],
  #contact .contact-wrap input[type="tel"],
  #contact .contact-wrap input[type="url"],
  #contact .contact-wrap textarea {
    width: 100%;
    max-width: 800px;
  }

  #contact .contact-wrap textarea {
    min-height: 200px;
  }

  #contact .contact-privacy {
    text-align: left;
  }

  #contact .contact-wrap input[type="submit"] {
    width: auto;
    padding: 1rem 6rem;
  }
  #contact .contact-wrap .wpcf7-form-control.wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1.5rem;
    row-gap: 0.4rem;
  }

  #contact .contact-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0;
  }

  #contact .contact-wrap .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label {
    margin-left: 0.5rem;
  }

}
.pt2 {
  padding-top: 2rem;
}

/* ------ サンクスページ*/

.thanks_cont01 {
  margin: 10rem auto;
  text-align: center;
  width: 90%;
}
.thanks_cont01 h3{
  font-weight: bold;
  color: #102541;
  font-size: 1.6rem;
  padding-bottom: 3rem;
}

@media screen and (min-width: 751px) {
  .thanks_cont01 {
    margin: 10rem auto;
    text-align: center;
  }
  .thanks_cont01 h3{
    font-weight: bold;
    color: #102541;
    font-size: 2rem;
    padding-bottom: 3rem;
  }
}
/* -----------------------------------------------------
    PC追従チャットバナー
*/
.pc_chat.fade-out {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.pc_chat.fade-in {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.4s ease;
}
/* -----------------------------------------------------
    スマホ追従チャットバナー
*/

.sp-fixed-bnr {
  display: none;
}

@media screen and (max-width: 750px) {
  .sp-fixed-bnr {
    display: none;
  }
  }
  @media screen and (max-width: 750px) {
    .sp-fixed-bnr {
      display: block;
      position: fixed;
      bottom: 88px;
      left: 78%;
      transform: translateX(-50%);
      opacity: 0;
      pointer-events: none;
      z-index: 9999;
      width: 92%;
      max-width: 480px;
      transition: opacity 0.6s ease, transform 0.6s ease;
    }

    .sp-fixed-bnr.is-visible {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
      pointer-events: auto;
    }

    .sp-fixed-bnr.is-hidden {
      opacity: 0;
      transform: translateX(-50%) translateY(20px);
      pointer-events: none;
    }

    .sp-fixed-bnr__link img {
      width: 72.1%;
      height: auto;
      display: block;
    }

    body.menu-open .sp-fixed-bnr {
      opacity: 0 !important;
      pointer-events: none !important;
      transform: translateX(-50%) translateY(20px);
    }
  }
  /* -----------------------------------------------------
      チャットボット
  */

  @media screen and (min-width: 751px) {
      .second .cont01 {
          margin-bottom: 40px;
      }

      .second .cont01 .tt01 .pc_chat img {
          width: 299px;
          position:fixed;
          z-index:1;
          right: 24px;
          bottom: 30px;
      }
  }

  /* -----------------------------------------------------
        Client向け
    */


  .first-client .client-page{
    color: var(--text);
    line-height: 1.9;
    font-family: "Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  }

  .first-client .sec-ttl{
    color: #102541;
    font-weight: 700;
    font-size: 1.3125rem;
    text-align: center;
    margin: 2.4rem 0 1.6rem;
    font-family: "Zen Maru Gothic", sans-serif;
  }

  .first-client .client-intro{
    padding: 2.4rem 1.6rem 1rem;
    text-align: center;
  }
  .first-client .client-ttl{
    color: #1ba7c9;
    font-weight: 700;
    font-size: 1.3125rem;
    margin-bottom: 1.2rem;
    font-family: "Zen Maru Gothic", sans-serif;
  }
  .first-client .client-lead{
    font-size: 1rem;
    font-family: "Noto Sans JP", sans-serif;
    text-align:left;
  }

  .first-client .client-flow{
    padding: 1rem 1.2rem 2rem;
  }
  .first-client .flow-list{
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 1.2rem;
  }
  .first-client .flow-item{ margin: 0; }

  .first-client .flow-card{
    background: var(--card);
    border-radius: 12px;
    padding: 1.2rem;
    border: 1px solid var(--line);
  }
  .first-client .flow-card.is-mint{   background: var(--mint); }
  .first-client .flow-card.is-green{  background: var(--green); }
  .first-client .flow-card.is-yellow{ background: var(--yellow); }
  .first-client .flow-card.is-sand{   background: var(--sand); }

  .first-client .flow-head{
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: .8rem;
  }
  .first-client .flow-head .num{
    display: inline-grid;
    place-items: center;
    width: 1.8rem; height: 1.8rem;
    border-radius: 50%;
    background: #1ba7c9;
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
  }
  .first-client .flow-ttl{
    font-size: 1.2rem;
    font-weight: 700;
    color: #1ba7c9;
    margin: 0;
    font-family: "Zen Maru Gothic", sans-serif;
  }
  .first-client .flow-body{
    display: grid;
    grid-template-columns: 1fr;
    gap: .8rem;
  }
  .first-client .flow-img img{
    width: 100%;
    height: auto;
    display: block;
  }
  .first-client .flow-txt{
    font-size: 1rem;
    text-align: left;
    line-height: 1.7rem;
  }

  .first-client .flow-card.flow--blue{
    background: #EAF7FB;
    border-radius: 12px;
    padding: 1.2rem;
    text-align: center;
  }

  .first-client .flow-row{
    display: grid;
    grid-template-columns: 1fr;
    gap: .9rem;
    align-items: center;
  }
  .first-client .flow-illust{
  }
  .first-client .flow-illust img{
    width:40%;
  }
  .first-client .flow-head--badge {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: .4rem;
      text-align: center;
    }
  .first-client .flow-content {
    width: 94%;
    margin: 0 auto;
  }

  .first-client .step-badge{
    display: inline-grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #1ba7c9;
    color: #fff;
    font-weight: 700;
    font-size: 0.9rem;
  }
  .first-client .flow-ttl{
    margin: 0;
    color: #1ba7c9;
    font-weight: 700;
    font-size: 1.125rem;
    font-family: "Zen Maru Gothic", sans-serif;
  }

  .first-client .flow-item{ position: relative; }

  .first-client .client-faq{
    padding: 2rem 1.2rem 1rem;
  }
  .first-client .faq-block{ margin-bottom: 1.8rem; }
  .first-client .faq-group-ttl{
    font-weight: 700;
    color: #1ba7c9;
    margin: 1rem 0 .8rem;
  }

  .first-client .faq{
    margin-bottom: 1rem;
    border: 1px solid #707070;
  }

  .first-client .faq > summary{
    cursor: pointer;
    padding: 1rem 2.2rem 1rem 1rem;
    list-style: none;
    position: relative;
    display: flex;
    align-items: center;
    gap: .6rem;
    background: var(--faq-bg);
    -webkit-tap-highlight-color: transparent;
  }
  .first-client .bubble.q {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #376B9F;
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
  }
  .first-client .ttl{font-size:1rem; font-family: "Zen Kaku Gothic New", sans-serif;font-weight: bold;}
  .first-client .faq > summary::-webkit-details-marker{ display:none; }
  .first-client .faq > summary::after{
    content: "";
    position: absolute;
    right: .9rem;
    top: 50%;
    width: .8rem; height: .8rem;
    border-right: 1px solid #333333;
    border-bottom: 1px solid #333333;
    transform: translateY(-60%) rotate(45deg);
    transition: transform .25s ease;
  }
  .first-client .bubble.a {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #9F374B;
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
  }
  .first-client .tta{font-size:1rem; font-family: "Zen Kaku Gothic New", sans-serif;padding-left: 0.7rem;}
  .first-client .faq[open] > summary{
    background: var(--faq-open);
  }
  .first-client .faq[open] > summary::after{
    transform: translateY(-20%) rotate(-135deg);
  }

  .first-client .faq .mark{
    display: inline-grid;
    place-items:center;
    width: 1.6rem; height: 1.6rem;
    border-radius: 50%;
    color:#fff;
    font-size: .95rem;
    font-weight: 700;
    flex: 0 0 auto;
  }
  .first-client .faq .mark.q{ background: var(--q); }
  .first-client .faq .mark.a{ background: var(--a); }
  .first-client .faq .q-text{
    font-weight: 700;
    color: var(--deep);
    font-size: 1.1rem;
  }

  .first-client .faq .answer{
    padding: 1rem 2.2rem 1rem 1rem;
    font-size: 1.05rem;
    display: grid;
    grid-template-columns: 1.6rem 1fr;
    gap: .6rem .6rem;
    align-items: flex-start;
    background: var(--faq-bg);
    border-top: 1px solid var(--line);
  }
  .first-client .faq .answer .a-text{ grid-column: 2 / -1; }

  .first-client .client-closing{
    padding: 2rem 1.2rem 3rem;
    text-align: center;
  }
  .first-client .closing-illust img{
    width: 100%;
    height: auto;
  }
  .first-client .closing-text{
    margin-top: 1rem;
    font-size: 1rem;
    line-height: 1.8rem;
  }

  .first-client .faqttl {
    font-size: 1.125rem !important;
    font-family: "Zen Maru Gothic";
    color: #00ABB9;
    padding-bottom: 1rem;
  }

  @media (min-width: 751px){

    .first-client .sec-ttl{
      color: #102541;
      font-weight: 700;
      font-size: 2rem;
      text-align: center;
      margin: 2.4rem 0 1.6rem;
      font-family: "Zen Maru Gothic", sans-serif;
    }

  .first-client .client-intro{ padding: 3rem 0 1rem; }
  .first-client .client-ttl{ font-size: 1.875rem; font-family: "Zen Maru Gothic", sans-serif;}
  .first-client .client-lead{ font-size: 18px;font-family: "Noto Sans JP", sans-serif;text-align:center;line-height: 1.8rem;}

  .first-client .client-flow{ padding: 1rem 0 2.5rem; }
  .first-client .flow-list{
      max-width: 980px;
      margin: 0 auto;
      gap: 1.4rem;
    }

  .first-client .flow-card{ padding: 1.6rem 2rem; }
  .first-client .flow-card.flow--blue{ padding: 1.4rem 1.8rem; }

  .first-client .flow-row{
      grid-template-columns: 110px 1fr;
      gap: 1.2rem;
    }
  .first-client .flow-head {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: .8rem;
  }

  .first-client .flow-head--badge {
    justify-content: flex-start; /* ← 左寄せ（デフォルト） */
  }

  .first-client .flow-illust{ width: 172px; height: 151px; }
  .first-client .flow-illust img{ width: 100%; }
  .first-client .flow-content {padding-left: 4rem;}

  .first-client .step-badge{ width: 34px; height: 34px; font-size: 1.05rem; }
  .first-client .flow-ttl{ font-size: 1.25rem; }

  .first-client .flow-txt{
    font-size: 1rem;
  }

  .first-client .client-faq{ padding: 2rem 0; max-width: 980px; margin: 0 auto; }
  .first-client .faq > summary{ padding: 1.2rem 2.4rem 1.2rem 1.2rem; }
  .first-client .faq .q-text{ font-size: 1.125rem; }
  .first-client .faq .answer{ font-size: 1rem; padding:1.2rem 2.4rem 1.2rem 1.2rem; }

  .first-client .client-closing{
      max-width: 980px;
      margin: 0 auto 3rem;
    }
  .first-client .closing-illust img{ max-width: 760px; margin: 0 auto; }
  }

  .first-client .v-chevron{
    --size: 28px;
    --c1: #9FE0E6;
    --c2: #6FBFC6;
    position: relative;
    display: block;
    width: calc(var(--size) * 1.2);
    height: var(--size);
    margin: 0 auto;
  }

  .first-client .v-chevron::before,
  .first-client .v-chevron::after{
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
  }

  .first-client .v-chevron::before{
    top: 0;
    width: 100%;
    height: 60%;
    background: var(--c1);
  }

  .first-client .v-chevron::after{
    top: 47%;
    width: 70%;
    height: 45%;
    background: var(--c2);
  }
  .first-client .faqttl {
    font-size: 26px;
    font-family: "Zen Maru Gothic";
    color: #00ABB9;
    padding-bottom: 1rem;
  }
  .first-client .pt2{padding-top:2rem;}

  }

  /* -----------------------------------------------------
      influencer向け
  */


.first-influencer .influencer-page{
  color: var(--text);
  line-height: 1.9;
  font-family: "Zen Kaku Gothic New","Noto Sans JP",sans-serif;
}

.first-influencer .sec-ttl{
  color: #9A4D15;
  font-weight: 700;
  font-size: 1.3125rem;
  text-align: center;
  margin: 2.4rem 0 1.6rem;
  font-family: "Zen Maru Gothic", sans-serif;
}

.first-influencer .influencer-intro{
  padding: 2.4rem 1.6rem 1rem;
  text-align: center;
}
.first-influencer .influencer-ttl{
  color: #B98E00;
  font-weight: 700;
  font-size: 1.3125rem;
  margin-bottom: 1.2rem;
  font-family: "Zen Maru Gothic", sans-serif;
}
.first-influencer .influencer-lead{
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  text-align:left;
}

.first-influencer .influencer-flow{
  padding: 1rem 1.2rem 2rem;
}
.first-influencer .flow-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 1.2rem;
}
.first-influencer .flow-item{ margin: 0; }

.first-influencer .flow-card{
  background: var(--card);
  border-radius: 12px;
  padding: 1.2rem;
  border: 1px solid var(--line);
}

.first-influencer .flow-head{
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .8rem;
}
.first-influencer .flow-head .num{
  display: inline-grid;
  place-items: center;
  width: 1.8rem; height: 1.8rem;
  border-radius: 50%;
  background: #B90039;
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
}
.first-influencer .flow-ttl{
  font-size: 1.2rem;
  font-weight: 700;
  color: #B90039;
  margin: 0;
  font-family: "Zen Maru Gothic", sans-serif;
}
.first-influencer .flow-body{
  display: grid;
  grid-template-columns: 1fr;
  gap: .8rem;
}
.first-influencer .flow-img img{
  width: 100%;
  height: auto;
  display: block;
}
.first-influencer .flow-txt{
  font-size: 1rem;
  text-align: left;
  line-height: 1.7rem;
}

.first-influencer .flow-card.flow--red{
  background: #FDE7EF;
  border-radius: 12px;
  padding: 1.2rem;
  text-align: center;
}

.first-influencer .flow-row{
  display: grid;
  grid-template-columns: 1fr;
  gap: .9rem;
  align-items: center;
}
.first-influencer .flow-illust{
}
.first-influencer .flow-illust img{
  width:40%;
}
.first-influencer .flow-head--badge {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .4rem;
    text-align: center;
  }
.first-influencer .flow-content {
  width: 94%;
  margin: 0 auto;
}

.first-influencer .step-badge{
  display: inline-grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #B90039;
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
}
.first-influencer .flow-ttl{
  margin: 0;
  color: #B90039;
  font-weight: 700;
  font-size: 1.125rem;
  font-family: "Zen Maru Gothic", sans-serif;
}

.first-influencer .flow-item{ position: relative; }

.first-influencer .genrelist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
  list-style: none;
  padding: 0;
  margin: 2rem auto;
  max-width: 1000px;
}
.first-influencer .genrelist li {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #8D3030;
  color: #fff;
  padding: 1rem 1rem;
  text-align: center;
  border-radius: 4px;
  width: 30%;
  font-size: 0.9rem;
  font-weight: 700;
  box-sizing: border-box;
}

.first-influencer .genrelist li span {
  display: block;
  font-size: 1.3rem;
  font-weight: 400;
  margin-top: 0.4rem;
}
.first-influencer .faqttl {
  font-size: 1.125rem !important;
  font-family: "Zen Maru Gothic";
  color: #B90039;
  padding-bottom: 1rem;
}

.first-influencer .influencer-faq {
  width: 90%;
  margin: 0 auto;
}
.first-influencer .influencer-closing{
  padding: 2rem 1.2rem 3rem;
  text-align: center;
}
.first-influencer .closing-text {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.8rem;
}
.pc_none{display:none;}

@media (min-width: 751px){

  .first-influencer .sec-ttl{
    color: #9A4D15;
    font-weight: 700;
    font-size: 2rem;
    text-align: center;
    margin: 2.4rem 0 1.6rem;
    font-family: "Zen Maru Gothic", sans-serif;
  }

.first-influencer .influencer-intro{ padding: 3rem 0 1rem; }
.first-influencer .influencer-ttl{ font-size: 1.875rem; font-family: "Zen Maru Gothic", sans-serif;}
.first-influencer .influencer-lead{ font-size: 18px;font-family: "Noto Sans JP", sans-serif;text-align:center;line-height: 1.8rem;}

.first-influencer .influencer-flow{ padding: 1rem 0 2.5rem; }
.first-influencer .flow-list{
    max-width: 980px;
    margin: 0 auto;
    gap: 1.4rem;
  }

.first-influencer .flow-card{ padding: 1.6rem 2rem; }
.first-influencer .flow-card.flow--blue{ padding: 1.4rem 1.8rem; }

.first-influencer .flow-row{
    grid-template-columns: 110px 1fr;
    gap: 1.2rem;
  }
.first-influencer .flow-head {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .8rem;
}

.first-influencer .flow-head--badge {
  justify-content: flex-start; /* ← 左寄せ（デフォルト） */
}

.first-influencer .flow-illust{ width: 172px; height: 151px; }
.first-influencer .flow-illust img{ width: 100%; }
.first-influencer .flow-content {padding-left: 4rem;}

.first-influencer .step-badge{ width: 34px; height: 34px; font-size: 1.05rem; }
.first-influencer .flow-ttl{ font-size: 1.25rem; }

.first-influencer .flow-txt{
  font-size: 1rem;
}

.first-influencer .influencer-faq{ padding: 2rem 0; max-width: 980px; margin: 0 auto; }
.first-influencer .faq > summary{ padding: 1.2rem 2.4rem 1.2rem 1.2rem; }
.first-influencer .faq .q-text{ font-size: 1.125rem; }
.first-influencer .faq .answer{ font-size: 1rem; padding:1.2rem 2.4rem 1.2rem 1.2rem; }

.first-influencer .influencer-closing{
    max-width: 980px;
    margin: 0 auto 3rem;
    text-align: center;
  }
.first-influencer .closing-illust img{ max-width: 760px; margin: 0 auto; }

.first-influencer .genrelist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 4rem auto;
  max-width: 1000px;
}
.first-influencer .genrelist li {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #8D3030;
  color: #fff;
  padding: 1.6rem 1rem;
  text-align: center;
  border-radius: 4px;
  width: 30%;
  font-weight: 700;
  box-sizing: border-box;
}

.first-influencer .genrelist li span {
  display: block;
  font-size: 1.3rem;
  font-weight: 400;
  margin-top: 0.4rem;
}
.pc_none{display: block;}
}

.first-influencer .v-chevron{
  --size: 28px;
  --c1: #EB86BC;
  --c2: #AC3A59;
  position: relative;
  display: block;
  width: calc(var(--size) * 1.2);
  height: var(--size);
  margin: 0 auto;
}

.first-influencer .v-chevron::before,
.first-influencer .v-chevron::after{
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.first-influencer .v-chevron::before{
  top: 0;
  width: 100%;
  height: 60%;
  background: var(--c1);
}

.first-influencer .v-chevron::after{
  top: 47%;
  width: 70%;
  height: 45%;
  background: var(--c2);
}
.first-influencer .faqttl {
  font-size: 26px;
  font-family: "Zen Maru Gothic";
  color: #B90039;
  border-bottom: 1px solid;
}
.first-influencer .infaqtxt{padding-top:1rem;}
.first-influencer .infaqttl{font-weight:bold;}


.first-influencer .pt2{padding-top:2rem;}
}

/* -----------------------------------------------------
    インフルエンサー紹介-ブログ
*/

.creator-header {
  padding: 2rem 0;
}

.creator-header__inner {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
  flex-wrap: wrap;
}

/* --- Photo --- */
.creator-photo img {
  width: 100%;
  max-width: 380px;
  border-radius: 18px;
  object-fit: cover;
}

/* --- Text Column --- */
.creator-profile {
  flex: 1;
  min-width: 260px;
}

/* --- Name --- */
.creator-name {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #E04870;
}

/* --- Tags (pill) --- */
.creator-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-bottom: 1.2rem;
}

.tag-pill {
  padding: .5rem .9rem;
  background: #c4eef6;
  border-radius: 20px;
  font-size: .9rem;
  display: inline-block;
  color: #505050;
  white-space: nowrap;
}

/* --- SNS icons --- */
.creator-sns {
  display: flex;
  gap: 1rem;
  justify-content: flex-start;
}

.sns-icon {
  width: 40px;
  height: 40px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  transition: opacity .2s;
}

.sns-icon:hover {
  opacity: .7;
}

@media (min-width: 751px){
.creator-sns {
  display: flex;
  justify-content: flex-start; /* 左寄せ */
  gap: 0.8rem;
}
}

.sns-icon {
  display: inline-block;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background-color: #2DB7D0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%;
}

/* 各アイコン */
.sns-icon.ig { background-image: url(../renew_img/blog/ig_blue.svg); }
.sns-icon.yt { background-image: url(../renew_img/blog/yt_blue.svg); }
.sns-icon.tk { background-image: url(../renew_img/blog/tiktok_blue.svg); }
.sns-icon.x  { background-image: url(../renew_img/blog/x_blue.svg); }

/* --- Responsive --- */
@media (max-width: 750px) {
  .creator-header__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .creator-profile {
    text-align: center;
  }
}
