@charset "UTF-8";
/* フォントサイズ可変 ------------------------------------------------------------------- */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/* 余白 ------------------------------------------------------------------- */
/* ------------------------------------------------------------------ */
/* ボタンスタイル ------------------------------------------------------------------- */
/* ------------------------------------------------------------------ */
/* 装飾 ------------------------------------------------------------------- */
.color-pink { color: #FB5374; }

.strong { font-weight: 700; }

.badge-pink { display: block; margin: 0 auto; text-align: center; width: 300px; padding: 0.6rem 1.2rem; border-radius: 9999px; background: linear-gradient(90deg, #FF6AA2, #FFD86A); color: #fff; font-weight: 800; line-height: 1.1; white-space: nowrap; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08); position: relative; }

.copy-l { font-size: 6.0rem; font-weight: 900; font-family: "M PLUS 1", sans-serif; line-height: 1.4em; margin: 0 0 1em; }

@media screen and (max-width: 767px) { .copy-l { font-size: 2.6rem; } }

.copy-m { font-size: 2.8rem; font-weight: 500; font-family: "M PLUS 1", sans-serif; line-height: 1.4em; margin: 0 0 1em; }

@media screen and (max-width: 767px) { .copy-m { font-size: 1.9rem; } }

.main { width: 100%; overflow: hidden; }

.content-inner { max-width: 1160px; width: 96%; margin: 0 auto; position: relative; }

@media screen and (max-width: 767px) { .content-inner { width: 88%; margin: 0 auto; } }

.content-a { padding: 10rem 0 8rem; }

@media screen and (max-width: 767px) { .content-a { padding: 4rem 0 4rem; } }

.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-gap: 6rem; position: relative; }

.grid-3 img { display: block; width: 100%; height: auto; }

@media screen and (max-width: 767px) { .grid-3 { grid-template-columns: 1fr; } }

.grid-3 > * { min-width: 0; }

.content-block2 { display: flex; justify-content: space-between; }

.content-block2 div:first-child { width: 100%; }

.content-block2 div:nth-child(2) img { width: 100%; height: auto; }

@media screen and (max-width: 767px) { .content-block2 { flex-wrap: wrap; flex-direction: column-reverse; }
  .content-block2 div:first-child { width: 100%; }
  .content-block2 div:nth-child(2) { margin: 0 auto; width: 80%; } }

.top-sup-club__head { margin-bottom: 6.0rem; }

.top-sup-club__head .sub-title-jp { color: #FB5374; font-weight: 600; }

.top-sup-club__head h4 { font-size: 2.8rem; line-height: 1.3em; margin: 1.6em 0 0 0; }

@media screen and (max-width: 767px) { .top-sup-club__head { margin-bottom: 1.8rem; }
  .top-sup-club__head h4 { font-size: 2.02rem; margin: 1.6em 0; }
  .top-sup-club__head p { margin-bottom: 1.4rem; } }

.story-start__container__text--p { margin-bottom: 2.5rem; }

.story-start__container__text--p:last-of-type { margin-bottom: 0; }

.pagev-aboutus__h2, .pagev-service__h2, .pagev-project__h2 { font-size: 4.0rem; margin-bottom: 3.0rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1.3em; }

@media screen and (max-width: 767px) { .pagev-aboutus__h2, .pagev-service__h2, .pagev-project__h2 { font-size: 3.7rem; } }

.pagev-aboutus__head-container .lead, .pagev-service_head-container .lead { font-size: 2.2rem; font-weight: 500; }

.pagev-aboutus__head-container .lead2, .pagev-service_head-container .lead2 { font-size: 1.8rem; margin: 1.8em 0 0 0; }

@media screen and (max-width: 767px) { .pagev-aboutus__head-container .lead, .pagev-service_head-container .lead { font-size: 1.8rem; line-height: 1.3em; } }

.graphinc-r { position: absolute; width: 50%; right: -100px; z-index: -1; }

@media screen and (max-width: 767px) { .graphinc-r { width: 30%; right: 0; display: none; } }

.graphic-center { text-align: center; margin: 0.0rem auto; }

.pink-bg { background: #FB5374; color: #FFFFFF; display: inline-block; padding: 0 0.4em; }

.btn_osuso-app { display: none; }

.osuso-app { margin: 0 0 0 0; }

.underline { background: linear-gradient(transparent 30%, #FFBBDA 20%); font-weight: 600; }

.cautions { font-size: 1.0rem; }

.btn { text-align: center; font-size: 1.8rem; margin: 8.0rem auto; }

.btn a { background: #FB5374; color: #FFFFFF; cursor: pointer; border-radius: 50px; padding: 1.4rem 3.1rem; line-height: 1.0em; }

.btn.size-l { font-size: 2.2rem; }

/* .br-pc{ display: block; @include mq(sp){display: none;} } .br-sp{ display: none; @include mq(sp){ display: block;} }*/
.index-intro h2 { font-family: "M PLUS 1", sans-serif; font-size: 2.0rem; margin-bottom: 2.0rem; }

.index-intro p { font-family: "M PLUS 1", sans-serif; font-size: 2.8rem; line-height: 2.4em; margin: 0 0 5rem; }

@media screen and (max-width: 767px) { .index-intro h2 { font-size: 1.8rem; }
  .index-intro p { font-size: 2.0rem; line-height: 1.6em; } }

.top-changemakers100 .top-sup-club__head { text-align: center; }

.top-changemakers100 ul { margin: 0 0 5rem; }

.top-changemakers100 h4 { z-index: 100; }

.top-changemakers100 img { margin-top: -0.8rem; }

.top-our-goal { margin: 60px 0 0; }

.project-entrepreneur.top-section1 .profile { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 6rem; }

@media screen and (max-width: 767px) { .project-entrepreneur.top-section1 .profile { margin-top: 4.0rem; } }

.entrepreneur-grid .profile-business img { border-radius: 12px; }

.entrepreneur-grid .face { float: left; width: 100px; height: 100px; border-radius: 50%; margin: 1rem 1rem 0 0; }

.entrepreneur-grid .profile-cont { overflow: hidden; padding: 1.0rem 0 0 0; }

.entrepreneur-grid .profile-cont h5.business { margin: 0.6rem 0 0; line-height: 1.8em; font-size: 1.6rem; margin: 0 1.6rem 0 0; font-size: 1.8rem; font-family: "M PLUS 1", sans-serif; }

.entrepreneur-grid .profile-cont h5.business .logo { margin: 0 0 0 1.6em; height: 48px; width: auto; display: inline; vertical-align: middle; }

@media screen and (max-width: 767px) { .entrepreneur-grid .profile-cont h5.business { display: flex; flex-direction: column-reverse; align-items: center; text-align: center; } }

.entrepreneur-grid .profile-cont .name { line-height: 1.6rem; }

.entrepreneur-grid .profile-cont .name h5 { font-weight: 600; font-size: 1.2rem; margin: 0; }

.entrepreneur-grid .profile-cont .name span { font-size: 1.0rem; letter-spacing: 0.01em; display: block; font-weight: 400; }

.entrepreneur-grid .profile-cont .title { font-size: 1.0rem; }

.entrepreneur-grid .profile-cont .title ul { margin: 0 0 1.6rem 0; }

.entrepreneur-grid .summary { margin: 0 0 1rem 0; font-size: 1.5rem; font-weight: 600; line-height: 1.3em; }

.entrepreneur-grid .tag { font-size: 1.2rem; display: flex; flex-wrap: wrap; justify-content: flex-start; }

.entrepreneur-grid .tag li { color: #FFFFFF; background: #FB5374; display: inline; margin: 0.2em; line-height: 1.0em; padding: 0.2em; }

.aboutus-section2 { margin: 80px 0; }

.aboutus-section2 .top-sup-club__head, .aboutus-section2 .content-block2 { margin: 0 0 0 120px; }

@media screen and (max-width: 767px) { .aboutus-section2 .top-sup-club__head, .aboutus-section2 .content-block2 { margin: 0 0 0 20%; } }

.aboutus-section2 .top-sup-club__head { margin-top: -80px; margin-bottom: 40px; }

.aboutus-section2 .top-sup-club__head .sub-title-jp { background: #FB5374; color: #FFFFFF; font-weight: 600; font-size: 1.6rem; display: inline-block; line-height: 1.0em; padding: 0.2em; }

@media screen and (max-width: 767px) { .aboutus-section2 .top-sup-club__head .sub-title-jp { font-size: 1.2rem; } }

.aboutus-section2 .content-block2 .main-cont { width: 60%; }

@media screen and (max-width: 767px) { .aboutus-section2 .content-block2 .main-cont { width: 100%; } }

.aboutus-section2 .content-block2 .sub { width: 40%; z-index: -1; }

.aboutus-section2 .content-block2 .sub.image-position-l { margin: 0 0 0 -80px; padding: 80px 0 0 0px; }

.aboutus-section2 .content-block2 .sub.image-position-l img { max-width: 110%; height: auto; }

@media screen and (max-width: 767px) { .aboutus-section2 .content-block2 .sub.image-position-l { margin: 0 0 0 0px; padding: 0; }
  .aboutus-section2 .content-block2 .sub.image-position-l img { display: block; margin: 0 auto; } }

.aboutus-section2 .content-block2 .sub.image-position-l2 { margin: 0 0 0 -100px; padding: 60px 0 0 0; }

.aboutus-section2 .content-block2 .sub.image-position-l2 img { max-width: 118%; height: auto; }

@media screen and (max-width: 767px) { .aboutus-section2 .content-block2 .sub.image-position-l2 { margin: 0 0 0 -60px; } }

.aboutus-section2 .content-block2 .sub img { max-width: 100%; height: auto; }

@media screen and (max-width: 767px) { .aboutus-section2 .content-block2 .sub { width: 100%; }
  .aboutus-section2 .content-block2 .sub.image-position-l { margin: 0 0 0 -36px; } }

.aboutus-section2 .content-block2 .action-step { font-family: "M PLUS 1", sans-serif; font-size: 2.2rem; font-weight: 500; }

.aboutus-section2 .content-block2 .action-step li { margin-bottom: 2.8rem; }

.aboutus-section2 .content-block2 .action-step li h4 { line-height: 1.3em; margin-bottom: 0.2em; }

.aboutus-section2 .content-block2 .action-step li p { font-size: 1.6rem; }

@media screen and (max-width: 767px) { .aboutus-section2 .content-block2 .action-step li h4 { font-size: 2.1rem; } }

@media screen and (max-width: 767px) { .aboutus-section2 .content-block2 .action-step { font-size: 2.6rem; } }

.grid4 { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 2rem; position: relative; }

.grid4 li { width: 80%; padding: 0 5%; }

.grid4 li img { width: 100%; height: auto; max-width: 220px; display: block; margin: 0 auto 2rem; }

@media screen and (max-width: 767px) { .grid4 { grid-template-columns: repeat(1, 1fr); }
  .grid4 li { width: 96%; padding: 0 2%; }
  .grid4 li img { width: 80%; } }

.section-block-vertical { position: absolute; left: 0; top: 0; }

.section-block-vertical h2 { background: #000000; color: #FFFFFF; font-size: 3.2rem; display: inline-block; letter-spacing: 0.12em; padding: 0.6em 0.2em 0.6em 0.1em; line-height: 1.0em; writing-mode: vertical-rl; -ms-writing-mode: tb-rl; text-orientation: upright; }

@media screen and (max-width: 767px) { .section-block-vertical h2 { font-size: 2.2rem; white-space: nowrap; } }

.members .profile-list-item__wrap { font-size: 1.5rem; }

.members .profile-list-item__name { margin-bottom: 1.0rem; }

.aboutus-main-chart img { width: 100%; height: auto; }

.aboutus-section1 .action-flex { display: flex; justify-content: space-between; }

.aboutus-section1 .action-flex div:first-child { width: 75%; }

.aboutus-section1 .action-flex div:nth-child(2) { margin: -100px -20% 0 0; width: 60%; }

.aboutus-section1 .action-flex div:nth-child(2) img { max-width: 100%; height: auto; }

@media screen and (max-width: 767px) { .aboutus-section1 .action-flex { flex-wrap: wrap; flex-direction: column-reverse; }
  .aboutus-section1 .action-flex div:first-child { width: 100%; }
  .aboutus-section1 .action-flex div:nth-child(2) { margin: 0 auto; width: 80%; } }

.aboutus-section1 .action-step { font-family: "M PLUS 1", sans-serif; font-size: 3.0rem; font-weight: 700; }

.aboutus-section1 .action-step li { margin-bottom: 2.8rem; }

.aboutus-section1 .action-step li h4 { line-height: 1.3em; margin-bottom: 1.0em; }

.aboutus-section1 .action-step li p { font-size: 1.8rem; }

@media screen and (max-width: 767px) { .aboutus-section1 .action-step { font-size: 2.6rem; } }

.about-value ul.step { display: flex; justify-content: space-between; align-items: flex-end; }

.about-value ul.step li { width: 23%; padding: 0 1%; text-align: center; }

.about-value ul.step li img { width: 100%; height: auto; }

@media screen and (max-width: 767px) { .about-value ul.step { flex-wrap: wrap; }
  .about-value ul.step li { width: 80%; padding: 0 1% 3rem; margin: auto; } }

.project-imapct .data2 li { margin: 0 0 8rem 0; }

.project-imapct .data2 li img { height: 108px; width: auto; }

.project-imapct .data2 li:nth-child(2) { margin-left: 12.0em; }

.project-imapct .data2 li:nth-child(3) { margin-left: 24.0em; }

@media screen and (max-width: 767px) { .project-imapct .data2 li, .project-imapct .data2 li:nth-child(2), .project-imapct .data2 li:nth-child(3) { margin: 0 0 8rem 0; }
  .project-imapct .data2 li img, .project-imapct .data2 li:nth-child(2) img, .project-imapct .data2 li:nth-child(3) img { max-width: 90%; height: auto; } }

.project-imapct .data { display: flex; justify-content: space-between; }

.project-imapct .data li { display: flex; align-items: flex-end; width: 30%; border-bottom: 12px solid #eafb4f; padding: 1.0rem 1.5%; font-family: "M PLUS 1", sans-serif; font-weight: 800; }

.project-imapct .data li .title { width: 70%; font-size: 2.8rem; line-height: 1.1em; padding: 0 0.1em 0 0; }

.project-imapct .data li .number { color: #FB5374; font-size: 8.0rem; line-height: 1.0em; text-align: center; margin-bottom: -0.06em; }

.project-imapct .data li .unit { font-size: 2.8rem; line-height: 1.1em; font-feature-setting: "palt"; white-space: nowrap; }

@media screen and (max-width: 767px) { .project-imapct .data { flex-wrap: wrap; }
  .project-imapct .data li { width: 90%; margin: 0 auto 2rem; }
  .project-imapct .data li .title { font-size: 2.6rem; }
  .project-imapct .data li .unit { font-size: 2.6rem; } }

.review-cont { display: block; }

.review-cont li { display: flex; justify-content: space-between; padding: 1.2rem; border-radius: 12px; margin-bottom: 2.0rem; }

.review-cont li.first { background: linear-gradient(90deg, #fff7ad, #ffa9f9); }

.review-cont li.second { background: linear-gradient(90deg, #a8df0c, #ffde59); }

.review-cont li.third { background: linear-gradient(90deg, #fda2da, #eef141); }

.review-cont li .profile { text-align: center; padding: 1.6rem; min-width: 24%; }

.review-cont li .profile img { border-radius: 50%; display: block; margin: 1.6rem auto; width: 100px; height: auto; }

.review-cont li .profile .title { font-size: 1.0rem; }

.review-cont li .profile .name { font-size: 1.0rem; }

.review-cont li .answer-1, .review-cont li .answer-2, .review-cont li .answer-3 { padding: 1.2em; background: #FFFFFF; border-radius: 12px; margin: 0 1rem; width: 24%; }

.review-cont li .answer-1 h5, .review-cont li .answer-2 h5, .review-cont li .answer-3 h5 { font-size: 1.4rem; color: #FB5374; line-height: 1.6em; }

.review-cont li .answer-1 p, .review-cont li .answer-2 p, .review-cont li .answer-3 p { font-size: 1.1rem; }

@media screen and (max-width: 767px) { .review-cont li { flex-wrap: wrap; }
  .review-cont li .profile { width: 100%; margin: auto; }
  .review-cont li .answer-1, .review-cont li .answer-2, .review-cont li .answer-3 { padding: 1.2em; width: 90%; margin: 0 auto 2rem; } }

#flow-anime-1 { position: absolute; top: 1480px; left: 5%; z-index: -1; }

#flow-anime-1 img { width: 200px; height: auto; }

@media screen and (max-width: 767px) { #flow-anime-1 { top: 750px; right: 0%; display: none; }
  #flow-anime-1 img { width: 100px; } }

@media screen and (min-width: 2100px) { #flow-anime-1 { right: 10%; } }

#flow-anime-2 { position: absolute; top: 2900px; right: 5%; z-index: -1; }

#flow-anime-2 img { width: 200px; height: auto; }

@media screen and (max-width: 767px) { #flow-anime-2 { display: none; } }

@media screen and (min-width: 2100px) { #flow-anime-2 { left: 10%; } }

#flow-anime-3 { position: absolute; top: 1700px; right: 5%; z-index: -1; }

#flow-anime-3 img { width: 310px; height: auto; }

@media screen and (max-width: 767px) { #flow-anime-3 { top: 1350px; right: 5%; display: none; }
  #flow-anime-3 img { width: 180px; height: auto; } }

@media screen and (min-width: 2100px) { #flow-anime-3 { right: 15%; } }

#flow-anime-4 { position: absolute; top: 6720px; right: 200px; z-index: -1; }

#flow-anime-4 img { width: 280px; height: auto; }

@media screen and (max-width: 767px) { #flow-anime-4 { top: 7050px; left: -18%; display: none; }
  #flow-anime-4 img { width: 140px; height: auto; } }

@media screen and (min-width: 2100px) { #flow-anime-4 { right: 15%; } }

#flow-anime-5 { position: absolute; top: 7200px; right: 5%; z-index: -1; }

#flow-anime-5 img { width: 320px; height: auto; }

@media screen and (max-width: 767px) { #flow-anime-5 { top: 6950px; }
  #flow-anime-5 img { width: 120px; height: auto; } }

@media screen and (min-width: 2100px) { #flow-anime-5 { right: 15%; } }

.project-entrepreneur { margin-top: 100px; }

.project-entrepreneur .profile { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 8rem; }

@media screen and (max-width: 767px) { .project-entrepreneur .profile { grid-template-columns: repeat(1, 1fr); margin-bottom: 80px; } }

.project-entrepreneur .profile > li { margin-bottom: 4.0rem; max-width: 480px; }

.project-entrepreneur .profile > li:nth-child(2n) { margin-top: 8.0rem; }

@media screen and (max-width: 767px) { .project-entrepreneur .profile > li { margin-bottom: 0.0rem; }
  .project-entrepreneur .profile > li:nth-child(2n) { margin: 0; } }

.project-entrepreneur .profile .profile-business { margin: 0 0 1em 0; }

.project-entrepreneur .profile .profile-business img { width: 100%; height: auto; border-radius: 12px; }

.project-entrepreneur .profile .face { width: 148px; height: 148px; border-radius: 50%; float: left; margin: 0 1em 0 0; }

@media screen and (max-width: 767px) { .project-entrepreneur .profile .face { width: 80px; height: auto; } }

.project-entrepreneur .profile .profile-cont { overflow: hidden; }

.project-entrepreneur .profile .tag { font-size: 1.4rem; display: flex; flex-wrap: wrap; justify-content: flex-start; }

.project-entrepreneur .profile .tag li { color: #FFFFFF; background: #FB5374; display: inline; margin: 0.2em; line-height: 1.0em; padding: 0.2em; }

.project-entrepreneur .profile h5 { font-size: 2.2rem; margin: 1.0em 0; }

@media screen and (max-width: 767px) { .project-entrepreneur .profile h5 { margin: 0.0em 0; } }

.project-entrepreneur .profile .business { font-family: "M PLUS 1", sans-serif; }

.project-entrepreneur .profile .business .logo { margin: 0 0 0 1.6em; height: 48px; width: auto; }

@media screen and (max-width: 767px) { .project-entrepreneur .profile .business { font-size: 2.0rem; display: flex; flex-direction: column-reverse; align-items: center; text-align: center; }
  .project-entrepreneur .profile .business .logo { display: block; margin: 0; } }

.project-entrepreneur .profile .summary { line-height: 1.6em; margin: 2rem 0 1em 0; font-size: 1.8rem; font-weight: 600; }

@media screen and (max-width: 767px) { .project-entrepreneur .profile .summary { font-size: 1.6rem; } }

.project-entrepreneur .profile .name h5 { font-weight: 600; font-size: 1.5rem; margin: 0; }

.project-entrepreneur .profile .name span { font-size: 1.0rem; letter-spacing: 0.01em; display: block; font-weight: 400; }

@media screen and (max-width: 767px) { .project-entrepreneur .profile .name h5 { font-size: 1.44rem; line-height: 1.2em; } }

.project-entrepreneur .profile .title { font-size: 1.0rem; }

.project-entrepreneur .graphic-cente { margin-top: -4.0rem; }

.project-changemaker .graphinc-r { top: 160px; width: 60%; }

.project-changemaker .graphinc-r img { width: 605px; }

.project-changemaker .main-text { max-width: 600px; }

.project-changemaker .main-text p { font-size: 2.0rem; font-weight: 600; line-height: 1.8em; margin: 0 0 1em 0; }

@media screen and (max-width: 767px) { .project-changemaker .main-text p { font-size: 1.8rem; } }

.project-collaboration { margin-top: 140px; }

.project-collaboration .grid-3 { margin-bottom: 12.0rem; }

.pagev-service__illust { max-width: 640px; }

.service-diagonal { padding: 80px 0; position: relative; }

.service-diagonal::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -10; transform: skew(0, 5deg); background: var(--diagonal-bg); }

.service-diagonal.is-beige { --diagonal-bg: #F7F7F0; }

.service-diagonal.is-pink { --diagonal-bg: #FFF2F4; }

.section2 .top-sup-club__h3 { display: inline-block; font-size: 3.6rem; background: #FB5374; color: #FFFFFF; }

@media screen and (max-width: 767px) { .section2 .top-sup-club__h3 { font-size: 2.4rem; font-feature-settings: "palt"; } }

.section2 h4 { font-size: 3.18rem; line-height: 1.4em; font-weight: 700; margin-bottom: 2.0em; font-feature-settings: "palt"; }

.section2 .lead { font-size: 1.8rem; font-weight: 600; }

@media screen and (max-width: 767px) { .section2 h4 { margin-bottom: 1.0em; font-size: 2.1rem; }
  .section2 .lead { font-size: 1.8rem; line-height: 1.3em; } }

.service-section1 .content-block2 .sub { width: 40%; z-index: -1; }

.service-section1 .content-block2 .sub.image-position-l { margin: 0 0 0 -80px; padding: 0px 0 0 0px; }

@media screen and (max-width: 767px) { .service-section1 .content-block2 .sub.image-position-l { margin: 1rem 0 1rem; width: 100%; } }

.service-section2 .top-sup-club__head h4 { margin: 0 0 0 0; font-size: 3.2rem; font-weight: 600; }

@media screen and (max-width: 767px) { .service-section2 .top-sup-club__head h4 { font-size: 2.0rem; margin-bottom: 1.4rem; } }

.service-section2 .content-block2 { display: grid; grid-template-columns: 100px 1fr; position: relative; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 { grid-template-columns: 48px 1fr; }
  .service-section2 .content-block2 div:nth-child(2) { margin: 0 auto; width: 100%; }
  .service-section2 .content-block2 .block-scroll { overflow-x: scroll; } }

.service-section2 .content-block2 .section-block-vertical { width: auto; position: relative; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 .section-block-vertical h2 { font-size: 2.0rem; white-space: nowrap; } }

.service-section2 .content-block2 .main-cont .lead { font-size: 2.0rem; }

.service-section2 .content-block2 .main-cont .lead li { list-style: disc; margin: 0 0 0 2rem; }

.service-section2 .content-block2 .main-cont .result-t { width: 100%; margin: 4.0rem auto; border-collapse: separate; border-spacing: 20px 10px; /*tr:first-child > th{ border-bottom: 1px solid $color_black; }*/ }

.service-section2 .content-block2 .main-cont .result-t th, .service-section2 .content-block2 .main-cont .result-t td { font-size: 2.8rem; font-weight: bold; padding: 1.0em; position: relative; vertical-align: bottom; }

.service-section2 .content-block2 .main-cont .result-t td { text-align: right; font-size: 6.0rem; border-bottom: dashed 1px #aeaeae; padding: 1.2rem 1rem; }

.service-section2 .content-block2 .main-cont .result-t td .period { display: inline-block; font-size: 1.6rem; position: absolute; top: 10%; left: 20%; }

.service-section2 .content-block2 .main-cont .result-t td span { font-size: 1.6rem; }

.service-section2 .content-block2 .main-cont .result-t tr:first-child { position: relative; color: #FB5374; }

.service-section2 .content-block2 .main-cont .result-t tr:first-child::after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; background-color: #aeaeae; height: 1px; transform: translateY(96%); }

.service-section2 .content-block2 .main-cont .result-t th { font-size: 3.0rem; font-weight: bold; text-align: center; vertical-align: middle; white-space: nowrap; }

.service-section2 .content-block2 .main-cont .result-t th.title { background: #FFF2F4; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 .main-cont .lead { font-size: 1.8rem; line-height: 1.3em; }
  .service-section2 .content-block2 .main-cont .lead li { margin-bottom: 1.0em; }
  .service-section2 .content-block2 .main-cont .table-wrap { overflow-x: scroll; max-width: 100%; width: 100%; }
  .service-section2 .content-block2 .main-cont .result-t { width: auto; }
  .service-section2 .content-block2 .main-cont .result-t th, .service-section2 .content-block2 .main-cont .result-t td { font-size: 1.6rem; }
  .service-section2 .content-block2 .main-cont .result-t td { line-height: 1.0em; }
  .service-section2 .content-block2 .main-cont .result-t td .period { font-size: 0.8rem; top: 0; left: 0; }
  .service-section2 .content-block2 .main-cont .result-t td span { font-size: 0.8rem; }
  .service-section2 .content-block2 .main-cont .result-t th { font-size: 1.0rem; } }

.service-section2 .content-block2 .packages li { position: relative; margin: 0 0 8rem 0; clear: both; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 .packages li { margin: 0 0 0rem 0; } }

.service-section2 .content-block2 .packages li.first .sub-graphic { width: 420px; top: -190px; right: -40px; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 .packages li.first .sub-graphic { width: 200px; top: -58px; right: -20px; } }

.service-section2 .content-block2 .packages li::after { content: ""; height: 8.0rem; display: block; clear: both; }

.service-section2 .content-block2 .packages li:nth-child(2n) .no { float: right; margin-left: 2.0rem; }

.service-section2 .content-block2 .packages li:nth-child(2n) .cont { text-align: right; float: right; /*&::after{content:""; height: 8.0rem; display: block; clear: both;}*/ }

.service-section2 .content-block2 .packages li:nth-child(2n) .cont p { text-align: left; }

.service-section2 .content-block2 .packages li:nth-child(2n) .sub-graphic { position: absolute; left: 0; z-index: -1; }

.service-section2 .content-block2 .packages li .no { font-size: 14.0rem; color: #FB5374; font-weight: 800; float: left; margin: -7.5rem 2rem 0 0; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 .packages li .no { font-size: 10.0rem; line-height: 1.0em; margin: -0; } }

.service-section2 .content-block2 .packages li .cont { overflow: hidden; width: 760px; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 .packages li .cont { width: 100%; } }

.service-section2 .content-block2 .packages li .sub-graphic { position: absolute; right: 0; top: -80px; width: 240px; z-index: -1; }

.service-section2 .content-block2 .packages li .sub-graphic.package-04 { top: -120px; width: 210px; top: -120px; }

.service-section2 .content-block2 .packages li .sub-graphic img { width: 100%; height: auto; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 .packages li .sub-graphic { top: 0rem; width: 140px; }
  .service-section2 .content-block2 .packages li .sub-graphic.package-04 { top: -18px; width: 130px; } }

.service-section2 .content-block2 .packages li h5 { border-bottom: 8px solid #D1D1D1; display: inline-block; padding: 0.2em 1em; font-size: 3.0rem; line-height: 1.3em; min-width: 60%; }

.service-section2 .content-block2 .packages li h5 span { font-size: 5.0rem; padding: 0.2em; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 .packages li h5 { font-size: 2.2rem; padding: 0.1em 0.3em; }
  .service-section2 .content-block2 .packages li h5 span { font-size: 3.0rem; } }

.service-section2 .content-block2 .packages li h6 { font-size: 3.0rem; margin: 1em 0 1em 0; font-feature-settings: "palt"; line-height: 1.3em; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 .packages li h6 { font-size: 2.2rem; text-align: left; } }

.service-section2 .content-block2 .packages li p { font-size: 1.8rem; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 .packages li p { font-size: 1.4rem; } }

.service-section2 .content-block2 .entrepreneur { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 8.0rem; }

.service-section2 .content-block2 .entrepreneur li .face { float: left; width: 148px; height: auto; border-radius: 12px; margin: 0 2rem 0 0; }

.service-section2 .content-block2 .entrepreneur li .cont { overflow: hidden; }

.service-section2 .content-block2 .entrepreneur li .cont h5 { font-size: 1.8rem; color: #FB5374; font-weight: 700; margin: 0 0 1em 0; line-height: 1.4em; }

.service-section2 .content-block2 .entrepreneur li .cont .title { font-size: 1.2rem; }

.service-section2 .content-block2 .entrepreneur li .cont .name { font-size: 1.6rem; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 .entrepreneur { grid-template-columns: repeat(1, 1fr); grid-gap: 8.0rem; }
  .service-section2 .content-block2 .entrepreneur li .cont h5 { font-size: 1.7rem; margin-top: 1.0em; } }

.service-section2 .content-block2 .support .lead { margin: 0 0 0 0; line-height: 1.6em; }

.service-section2 .content-block2 .support h5 { color: #FB5374; font-size: 3.0rem; margin: 3rem auto 2rem; line-height: 1.3em; }

.service-section2 .content-block2 .support ul { margin: 0 0 0 1.8em; }

.service-section2 .content-block2 .support ul li { list-style: disc; }

.service-section2 .content-block2 .support .forbusiness { margin: 4.0rem auto; border: 2px solid #D1D1D1; padding: 6.0rem; }

.service-section2 .content-block2 .support .forbusiness h6 { color: #FB5374; font-size: 2.0rem; line-height: 1.4em; margin: 0 0 2rem 0; }

.service-section2 .content-block2 .support .forbusiness .btn { float: right; margin: 0 4rem 0 0; }

@media screen and (max-width: 767px) { .service-section2 .content-block2 .support .forbusiness { padding: 2.0rem; }
  .service-section2 .content-block2 .support .forbusiness h6 { text-align: center; }
  .service-section2 .content-block2 .support .forbusiness .btn { float: none; margin: 2.0rem auto; } }

/*# sourceMappingURL=phase25.map */
/* =========================================================
   日本語の組み方（2026-09-30 中野さん・水沼さんFB）
   方針: 本文は「行を右端まで埋める」普通の日本語の組み方。改行の位置は「。」で決める。
   ★本文に文節保護(auto-phrase)や pretty / balance を入れたら、まだ入る余白を残して改行し、
     右端がガタガタになった（水沼さん「改行を気にしすぎて揃ってない、見栄えが悪い」）。本文からは外す。
   ★text-wrap は子に伝わる。li に balance を掛けたら、li の中の本文まで均等割りになっていた。
   ・見出し・キャッチコピーなど短いものだけ、文節で折って行の長さを揃える
   ・text-align: justify は使わない。中央揃えの文まで両端揃えに変わってしまう
   ========================================================= */

/* 本文: 右端まで埋める。長い社名が枠を越えるときだけ途中で折る */
#main p, #main .osuso-s, #main .osuso-para {
  word-break: normal;
  text-wrap: pretty;    /* 最後の行が「へ。」だけになるときだけ、前の行から数文字おろす。他の行は埋めたまま */
  overflow-wrap: anywhere;
  line-break: strict;   /* 行の頭に「ー」「ッ」「ャ」などを置かない（「リーダ／ーが」を防ぐ） */
}

/* 段落: 「。」ごとに改行（.osuso-s）、2文ごとに空き（.osuso-para）
   （_チーム/scripts/split_paragraphs.py で包んである） */
.osuso-para { display: block; }
.osuso-s { display: block; }
.osuso-para + .osuso-para { margin-top: 0.9em; }

/* 見出し・短いコピー: 文節で折り、行の長さを揃える（「企業経営／者。」を防ぐ） */
#main h1, #main h2, #main h3, #main h4, #main h5, #main h6,
#main .copy-m, #main .copy-l,
#main li:not(:has(p, div, h4)) {
  word-break: auto-phrase;
  text-wrap: balance;
}

/* メンバーのひと言: 均等割りだと「言葉が未来を／創り、成果を創る。」と読点の前で折れる。
   文節で折って最後の行だけ整える（→「言葉が未来を創り、／成果を創る。」） */
#main .profile-list-item__copy { word-break: auto-phrase; text-wrap: pretty; }

/* リード文のすぐ下に「❶〜❸」の見出しが詰まっていたので、間を空ける */
#main .action-step { margin-top: 3.6rem; }

/* =========================================================
   文字サイズの段（2026-09-30 中野さんFB「タイトル・サブタイトル・説明文の関係を整理して、
   文字サイズをデザイン的に指定してバランスとりたい」）
   実測で、同じ役割なのに節ごとにサイズが違っていた（本文13〜20pxの6種類、和文見出し28/32/60px、
   ラベル12〜18px）。役割ごとに1つに決める。英字の大見出し（60/30px）は既存どおり。
     ラベル        18 / 14   ピンクの和文ラベル
     ページの宣言  40 / 26   各ページ冒頭の和文見出し
     宣言（理念）  40 / 26   VISION・MISSION の「おすそわけで、社会を変える。」
     和文見出し    32 / 22   節のメッセージ
     小見出し      22 / 18   カード・❶〜❸・6つのパッケージ
     リード        18 / 16   本文の前の導入文
     本文          16 / 15
     カード内本文  14 / 14
   ★#main を頭に付けて、既存の節ごとの指定より必ず勝たせている
   ★PROJECTの「社会起業家とともに〜」は見出し(h4)の形をした導入文なのでリード扱い（idで上書き）
   ★VOICEのカードも .entrepreneur .cont の作り。会社名(.title)・名前(.name)は本文にしない
   ========================================================= */
#main .t26__eyebrow, #main .sub-title-jp, #main .members__sub-head,
#main .company-detail__sub-head, #main .pagev-aboutus__sub-head, #main .pagev-service__sub-head {
  font-size: 1.8rem; font-weight: 700; line-height: 1.4;
}
#main .pagev-aboutus__h2,
#main .pagev-service_head-container .lead,
#main .copy-l {
  font-family: "M PLUS 1", sans-serif; font-size: 4.0rem; font-weight: 700; line-height: 1.45; letter-spacing: 0.04em;
}
#main .t26__lead,
#main .top-sup-club__head > h4,
#main .content-block2 .main-cont > h4:not(.copy-l) {
  font-family: "M PLUS 1", sans-serif; font-size: 3.2rem; font-weight: 700; line-height: 1.5; letter-spacing: 0.04em;
}
#main .copy-m {
  font-family: "M PLUS 1", sans-serif; font-size: 2.2rem; font-weight: 500; line-height: 1.8;
}
#main .action-step li h4,
#main .t26-issue__title, #main .t26-join__title,
#main .entrepreneur li .cont h5 {
  font-size: 2.2rem; font-weight: 700; line-height: 1.5;
}
#main .lead2,
#main #project-entrepreneur .top-sup-club__head > h4,
#main #project-collaboration .top-sup-club__head > h4,
#main #service-section2-4 .main-cont > p {
  font-size: 1.8rem; font-weight: 500; line-height: 2.0;
}
#main .t26__body, #main .t26-story__statement,
#main .content-block2 .main-cont > p.lead,
#main .action-step li p,
#main .entrepreneur li .cont p:not(.title):not(.name),
#main #aboutus-section2-3 .main-cont p {
  font-size: 1.6rem; font-weight: 500; line-height: 2.0;
}
#main .t26-join__text, #main .t26-hist__text, #main .t26-issue__text {
  font-size: 1.4rem; line-height: 1.9;
}
@media screen and (max-width: 767px) {
  #main .t26__eyebrow, #main .sub-title-jp, #main .members__sub-head,
  #main .company-detail__sub-head, #main .pagev-aboutus__sub-head, #main .pagev-service__sub-head { font-size: 1.4rem; }
  #main .pagev-aboutus__h2, #main .pagev-service_head-container .lead, #main .copy-l { font-size: 2.6rem; }
  #main .t26__lead, #main .top-sup-club__head > h4, #main .content-block2 .main-cont > h4:not(.copy-l) { font-size: 2.2rem; }
  #main .copy-m { font-size: 1.7rem; }
  #main .action-step li h4, #main .t26-issue__title, #main .t26-join__title,
  #main .entrepreneur li .cont h5 { font-size: 1.8rem; }
  #main .lead2, #main #project-entrepreneur .top-sup-club__head > h4,
  #main #project-collaboration .top-sup-club__head > h4, #main #service-section2-4 .main-cont > p { font-size: 1.6rem; }
  #main .t26__body, #main .t26-story__statement, #main .content-block2 .main-cont > p.lead,
  #main .action-step li p, #main .entrepreneur li .cont p:not(.title):not(.name), #main #aboutus-section2-3 .main-cont p { font-size: 1.5rem; }
}

/* =========================================================
   SERVICE（2026-10-01 中野さんメモ反映）
   ========================================================= */
/* 節の見出しの下の説明文（本文の大きさ） */
#main .top-sup-club__head .t26-head-lead { font-size: 1.6rem; font-weight: 500; line-height: 2.0; margin-top: 1.6rem; max-width: 72rem; }
@media screen and (max-width: 767px) { #main .top-sup-club__head .t26-head-lead { font-size: 1.5rem; } }

/* SUPPORT & ENTRY: 社会起業家と経営者・企業を同じ形の2枚で並べる */
#main .support .t26-entry { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; }
@media screen and (max-width: 900px) { #main .support .t26-entry { grid-template-columns: 1fr; } }
#main .t26-entry__card { display: flex; flex-direction: column; padding: 3.6rem 3.2rem; background: #fff;
  border: 2px solid #FB5374; border-radius: 1.6rem; }
@media screen and (max-width: 767px) { #main .t26-entry__card { padding: 2.8rem 2.2rem; } }
#main .t26-entry__eyebrow { font-family: "Montserrat", sans-serif; font-size: 1.3rem; font-weight: 700; letter-spacing: .08em; color: #FB5374; margin: 0 0 .8rem; }
#main .t26-entry__title { font-family: "M PLUS 1", sans-serif; font-size: 2.2rem; font-weight: 700; line-height: 1.5; margin: 0 0 1.2rem; color: #1C1C1C; }
#main .t26-entry__catch { font-family: "M PLUS 1", sans-serif; font-size: 1.8rem; font-weight: 700; line-height: 1.6; margin: 0 0 1.4rem; color: #FB5374; }
#main .t26-entry__text { font-size: 1.5rem; font-weight: 500; line-height: 2.0; margin: 0 0 1.2rem; }
#main .t26-entry__label { font-size: 1.4rem; font-weight: 700; margin: 1.2rem 0 .8rem; padding-top: 1.6rem; border-top: 1px solid #f2c4cd; }
#main .t26-entry__list { list-style: none; margin: 0 0 2.4rem; padding: 0; }
#main .t26-entry__list li { position: relative; padding-left: 1.6rem; font-size: 1.5rem; line-height: 1.9; margin: 0 0 .4rem; text-wrap: wrap; }
#main .t26-entry__list li::before { content: ""; position: absolute; left: 0; top: .85em; width: .6rem; height: .6rem; border-radius: 50%; background: #FB5374; }
#main .t26-entry__btn { margin: auto 0 0; }
#main .t26-entry__btn a { display: inline-block; padding: 1.4rem 3.2rem; border-radius: 999px; background: #FB5374; color: #fff;
  font-size: 1.5rem; font-weight: 700; text-decoration: none; }
#main .t26-entry__btn a:hover { opacity: .85; }

/* PROJECT 一覧（2026-10-01 中野さんメモ）
   ・右の列だけ 8rem 下げて互い違いにしていたのをやめ、上端をそろえる（「上部分ラインを揃える」）
   ・公開ページがまだ無いプロジェクトは写真に Coming Soon を重ねる */
#main .project-entrepreneur .profile > li:nth-child(2n) { margin-top: 0; }
#main .project-entrepreneur .profile-business { position: relative; }
#main .project-entrepreneur .pj-soon { position: absolute; right: 1.2rem; bottom: 1.2rem; padding: .5rem 1.4rem;
  border-radius: 999px; background: rgba(28,28,28,.72); color: #fff; font-family: "Montserrat", sans-serif;
  font-size: 1.2rem; font-weight: 700; letter-spacing: .06em; line-height: 1.4; }
#main .project-entrepreneur a.profile-business { display: block; }
#main .project-entrepreneur a.profile-business:hover img { opacity: .85; }

/* ★退避した要素は必ず消す（2026-10-01）。.sub-title-jp などは display を持っているので、
   hidden 属性だけでは消えない（ABOUT USのピンク帯が残っていた）。top2026.css にも同じ指定があるが、
   そちらは トップ・PROJECT にしか読み込まれていない */
[data-removed][hidden] { display: none !important; }
/* ★黒帯（左の列）を外した節は、本文が黒帯用の100pxの列に入ってしまう（.content-block2 は2列の格子）。
   黒帯を退避した節だけ、本文を格子の全幅にする（2026-10-01 SUPPORT & ENTRY で発覚） */
#main .content-block2:has(> .section-block-vertical[hidden]) > .main-cont { grid-column: 1 / -1; }
#main .t26-entry__list li { list-style: none; }

/* ★本文の入れ物の幅を 78rem/72rem → 90rem（2026-10-02 中野さんメモ、1470px）。
   1文が1行に少しだけ入りきらず「ます。」「まで。」「業家をつないできました。」だけが次の行に落ちていた */
#main .t26__body { max-width: 90rem; }
#main .top-sup-club__head .t26-head-lead { max-width: 90rem; }
/* 768px以上で効く改行（サイトの .br-pc は1160px以上でしか効かず、1025〜1159px で改行されなかった） */
.t26-br-md { display: none; }
@media screen and (min-width: 768px) { .t26-br-md { display: inline; } }

/* PROJECT: 各プロジェクトの下の「参画する」ボタン（2026-10-02 水沼さん。飛び先＝各プロジェクトの参画申込フォーム） */
#main .project-entrepreneur .pj-cta { margin: 2rem 0 0; clear: both; }
#main .project-entrepreneur .pj-cta a { display: inline-flex; align-items: center; gap: .8rem; padding: 1.3rem 2.8rem;
  border-radius: 999px; background: #FB5374; color: #fff; font-size: 1.5rem; font-weight: 700; text-decoration: none;
  box-shadow: 0 6px 16px -8px rgba(251,83,116,.7); transition: opacity .2s, transform .2s; }
#main .project-entrepreneur .pj-cta a::after { content: "→"; font-weight: 700; }
#main .project-entrepreneur .pj-cta a:hover { opacity: .88; transform: translateY(-1px); }

/* PROJECT: 大企業連携のカード（2026-10-02 中山さんの説明文とリンク） */
#main .project-collaboration .pj-collab { display: flex; flex-direction: column; }
#main .project-collaboration .pj-collab__img { display: block; border-radius: 1.2rem; overflow: hidden; }
#main .project-collaboration .pj-collab__img img { display: block; width: 100%; height: auto; transition: transform .3s; }
#main .project-collaboration .pj-collab__img:hover img { transform: scale(1.03); }
#main .project-collaboration .pj-collab__text { font-size: 1.5rem; line-height: 1.9; margin: 1.6rem 0 .8rem; }
#main .project-collaboration .pj-collab__role { font-size: 1.3rem; font-weight: 700; color: #FB5374; margin: 0 0 1.2rem; }
#main .project-collaboration .pj-collab__link { margin: auto 0 0; }
#main .project-collaboration .pj-collab__link a { font-size: 1.4rem; font-weight: 700; color: #1C1C1C; text-decoration: none; border-bottom: 2px solid #FB5374; padding-bottom: .3rem; }
#main .project-collaboration .pj-collab__link a::after { content: " →"; color: #FB5374; }
/* PROJECT: トップのスライダーから飛んだとき、固定ヘッダーに隠れないように */
#main .project-entrepreneur .profile > li[id^="pj-"] { scroll-margin-top: 12rem; }

/* PROJECT「生み出しているインパクト」の人物イラスト（2026-10-05「文字とイラストが被ってる」）
   幅50%・右へ100pxはみ出す配置で、見出しと数字（20団体など）の裏にかぶっていた。
   小さくして数字の右の空きに収め、収まらない幅（1199px以下）では出さない */
#main .project-imapct { position: relative; }
#main .project-imapct .graphinc-r { width: 24rem; right: 0; top: 16rem; z-index: 0; }
#main .project-imapct .graphinc-r img { width: 100%; height: auto; }
@media screen and (max-width: 1199px) { #main .project-imapct .graphinc-r { display: none; } }
/* 飾りのイラストを節の中に置き直した（2026-10-05）。節を基準にするので、ページの長さが変わってもずれない */
#main .project-imapct .content-inner, #main .project-entrepreneur .top-sup-club__head { position: relative; }
#main .pj-deco { position: absolute; pointer-events: none; z-index: 0; }
#main .pj-deco img { display: block; width: 100%; height: auto; }
#main .pj-deco--imp { left: 0; bottom: 2rem; width: 18rem; }
#main .pj-deco--pj { right: 0; top: 0; width: 16rem; }
@media screen and (max-width: 1199px) { #main .pj-deco { display: none; } }
/* SERVICEの飾りのイラストも節の見出しの右へ置き直した（2026-10-05）。見出しを基準にするので、ページの長さが変わってもずれない */
#main .service-section2 .top-sup-club__head { position: relative; }
#main .sv-deco { position: absolute; right: 0; top: 50%; translate: 0 -50%; pointer-events: none; z-index: 0; }
#main .sv-deco img { display: block; width: 100%; height: auto; }
#main .sv-deco--fund { width: 21rem; }
#main .sv-deco--voice, #main .sv-deco--entry { width: 14rem; }
@media screen and (max-width: 1199px) { #main .sv-deco { display: none; } }
#main .sv-deco--voice, #main .sv-deco--entry { top: 0; translate: none; width: 13rem; }
