/* future-pressrelease-from-iwate.html main-visual */

.services-fpfi-main-visual {
	aspect-ratio: 440/434;
	background-image: url(../../assets/img/services-fpfi-mainview-img-sp.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* business-support.html main-visual */

.services-business-support-main-visual {
	aspect-ratio: 440/434;
	background-image: url(../../assets/img/services-business-support-mainview-img-sp.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* youth-program.html main-visual */

.services-youth-program-main-visual {
	aspect-ratio: 440/434;
	background-image: url(../../assets/img/services-youth-program-mainview-img-sp.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* services style 2026.05.13 */

.services-button-wrap.margin-bottom-48px {
	margin-bottom: 48px;
}

.services-button-wrap p {
	font-size: 24px;
	margin-bottom: 16px;
}

.services-button-wrap.bg-main-color {
	background-color: #428C37;
	padding: 0 0 32px;
}

.services-button-wrap a.button { /* 色・タイポグラフィ */
	background-color: #387d39; /* 画像から抽出した深めの緑 */
	border-radius: 4px; /* 画像に合わせた緩やかな角丸 */
	color: #ffffff;
	cursor: pointer; /* 基本配置・形状 */
	display: inline-block;
	font-family: sans-serif;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 8px;
	padding: 0.9em 0.64em;
	text-decoration: none; /* アニメーション設定 */
	transition: background-color 0.3s ease;
}

.services-button-wrap span.button {
	background-color: #C3C3C3;
	border-radius: 4px;
	color: #ffffff;
	font-size: 20px;
	font-weight: bold;
	padding: 0.9em 0.64em;
}

.services-button-wrap a.button.large-size {
	font-size: clamp(23px, 2.6vw, 50px);
}

.services-button-wrap span.button.large-size {
	font-size: clamp(23px, 2.6vw, 50px);
}

/* マウスオーバー時の挙動 */

.services-button-wrap a.button:hover {
	background-color: #559e56; /* 背景色を少し明るく（薄く）設定 */
}

/* 白ボタン */

.services-button-wrap .button.button_white {
	background-color: #ffffff;
	color: #387d39;
}

/* 白背景バージョンのホバー */

.services-button-wrap .button.button_white:hover {
	background-color: #f0f0f0; /* ほんのりグレーに */
	border-color: #4a914b;
	color: #4a914b;
}

/* サービスページ共通スタイル */

.bg_none {
	background: none;
}

.services-entory {
	margin-bottom: 100px;
	margin-top: 80px;
}

.services-entory-hero-inner {
	padding-left: 20px;
	padding-right: 20px;
}

.services-entory-hero-title-sub {
	color: #428c37;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(20px, 2.1vw, 40px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
}

.services-entory-hero-title-main {
	color: #2a3429;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(30px, 4.69vw, 90px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-top: 0.44em;
	text-align: center;
}

.services-entory-hero-lead {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(16px, 1.56vw, 30px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-top: 1.2em;
	text-align: center;
}

.services-entory-hero-button-wrap {
	margin-top: 47px;
}

.services-entory-hero-status {
	color: #ff0303;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(24px, 2.5vw, 48px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-top: 15px;
	text-align: center;
}

.services-entory-features {
	background-color: #C5E0B3;
	margin-top: 270px;
	padding-bottom: 60px;
	padding-top: 43px;
}

.services-entory-features-inner {
	margin-inline: auto;
	max-width: 440px;
	padding-left: 20px;
	padding-right: 20px;
}

.services-entory-features-list {
	display: grid;
	gap: 40px;
	grid-template-columns: repeat(1, 1fr);
}

.services-entory-features-item {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 10px;
	justify-content: space-between;
	width: 100%;
}

.services-entory-features-item-label {
	align-items: center;
	color: #428c37;
	display: block;
	display: flex;
	flex-grow: 1;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(20px, 1.88vw, 36px);
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
	width: 100%;
}

.services-entory-features-item-text {
	align-items: center;
	aspect-ratio: 1/1;
	background-color: #ffffff;
	border-radius: 20px;
	color: #428c37;
	display: block;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(30px, 5.21vw, 100px);
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.01em;
	line-height: 1.5;
	max-height: 120px;
	padding-bottom: 0.01em;
	padding-top: 0.01em;
	text-align: center;
	width: 65%;
}

.margin-left-15 {
	margin-left: 15px;
}

.services-issues-title {
	padding-left: 20px;
	padding-right: 20px;
}

.services-issues-title__text {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(30px, 4.7vw, 90px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
}

.services-issues-img {
	aspect-ratio: 767/1000;
	margin-top: 87px;
	max-height: 880px;
	width: 100%;
}

.services-issues-img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.services-issues-cards-wrap {
	margin-top: -175px;
}

.services-issues-cards {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(1, 1fr);
	margin-inline: auto;
	max-width: 460px;
	padding-left: 20px;
	padding-left: 10px;
	padding-right: 20px;
	padding-right: 10px;
	width: 98%;
}

.services-issues-card {
	background-color: #C5E0B3;
	border-radius: 20px;
	padding-bottom: 22px;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 27px;
}

.services-issues-card-label-en {
	color: #428c37;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(20px, 1.67vw, 32px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

.services-issues-card-label-num {
	color: #428c37;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(30px, 2.5vw, 48px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

.services-issues-card-title {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(24px, 2.5vw, 42px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-top: 13px;
}

.services-issues-card-text {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(18px, 1.25vw, 24px);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-top: 15px;
}

.services-issues-text {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(16px, 2.1vw, 40px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
}

.services-reason {
	background-color: #ffffff;
	padding-top: 48px;
}

.services-reason-title {
	border-bottom: 2px solid #428c37;
	color: #428c37;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(30px, 3.64vw, 70px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-inline: auto;
	padding-bottom: 30px;
	text-align: center;
	width: 84.1%;
}

.services-reason-text {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(23px, 3.12vw, 60px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-top: 55px;
	padding-left: 20px;
	padding-right: 20px;
	text-align: center;
}

.services-text-green {
	color: #428c37;
}

.services-reason-img {
	aspect-ratio: 1920/840;
	margin-top: 50px;
	max-height: 840px;
	width: 100%;
}

.services-reason-img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.services-benefits {
	background-color: #C5E0B3;
	padding-bottom: 116px;
	padding-top: 67px;
}

.services-benefits-inner {
	margin-inline: auto;
	max-width: 1690px;
	padding-left: 20px;
	padding-right: 20px;
}

.services-section-title__en {
	color: #428c37;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(20px, 2.08vw, 40px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
}

.services-section-title__ja {
	color: #2a3429;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(30px, 3.13vw, 60px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-top: 18px;
	text-align: center;
}

.services-benefits-list-wrap {
	background-color: #ffffff;
	margin-top: 52px;
	padding-bottom: 55px;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 30px;
}

.services-benefits-item {
	align-items: center;
	border-bottom: 2px solid #428c37;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-bottom: 28px;
	padding-left: 10px;
	padding-right: 10px;
}

.services-benefits-item + .services-benefits-item {
	margin-top: 43px;
}

.services-benefits-item:last-child {
	border-bottom: none;
}

.services-benefits-item-title {
	color: #2a3429;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(20px, 2.5vw, 48px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.3;
	text-align: center;
	width: 100%;
}

.services-benefits-item-body {
	width: 93.87%;
}

.services-benefits-item-num {
	color: #428c37;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(26px, 2.92vw, 56px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1;
	min-width: 35px;
	width: 4.53%;
}

.services-benefits-item-text {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(18px, 1.25vw, 24px);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.4;
	margin-top: 18px;
}

.services-overview {
	margin-top: 80px;
}

.services-overview-inner {
	margin-inline: auto;
	max-width: 1682px;
	padding-left: 20px;
	padding-right: 20px;
}

.services-overview-table-wrap {
	margin-top: 50px;
}

.services-overview-table {
	border-collapse: collapse;
	width: 100%;
}

.services-overview-table tr {
	display: block;
	width: 100%;
}

.services-overview-table th,
.services-overview-table td {
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(20px, 2.1vw, 40px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: left;
	text-align: center;
}

.services-overview-table th {
	color: #428c37;
	height: auto;
	min-height: 300px;
	min-height: 0;
	padding-bottom: 0;
	padding-left: 0px;
	padding-top: 27px;
	vertical-align: top;
	width: 100%;
}

.services-overview-table td {
	border-bottom: 2px solid #428c37;
	color: #2a3429;
	padding-bottom: 27px;
	padding-right: 0px;
	padding-top: 18px;
	vertical-align: top;
	width: 100%;
}

.services-overview-table tr:last-child th,
.services-overview-table tr:last-child td {
	border-bottom: none;
}

.services-overview-table tr:first-child {
	border-top: 2px solid #428c37;
}

.services-members {
	margin-top: 80px;
}

.services-members-inner {
	background-color: #ffffff;
	margin-inline: auto;
	margin-inline: auto;
	max-width: 1800px;
	padding-bottom: 52px;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 52px;
	width: 93.7%;
}

.services-members-list-wrap {
	margin-top: 100px;
}

.services-members-list {
	margin-inline: auto;
	max-width: 560px;
}

.services-members-item {
	border-bottom: 2px solid #428c37;
	padding-bottom: 50px;
}

.services-members-item + .services-members-item {
	margin-top: 67px;
}

.services-members-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.services-members-img {
	aspect-ratio: 1/1;
}

.services-members-img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.services-members-body {
	margin-top: 20px;
}

.services-members-position-text {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(18px, 1.56vw, 30px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1;
}

.services-members-position-text-margin {
	margin-top: 10px;
}

.services-members-name {
	margin-top: 20px;
	width: -moz-fit-content;
	width: fit-content;
}

.services-members-name-ja {
	color: #428c37;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(40px, 5.2vw, 100px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1;
}

.services-members-name-en {
	color: #428c37;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(20px, 1.56vw, 30px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1;
	margin-top: 12px;
	text-align: center;
}

.services-members-text {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(18px, 1.56vw, 30px);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.6;
	margin-top: 40px;
}

.services-schedule {
	background-color: #ffffff;
	margin-top: 165px;
	padding-bottom: 66px;
	padding-top: 97px;
}

.services-schedule-inner {
	margin-inline: auto;
	max-width: 1682px;
	padding-left: 20px;
	padding-right: 20px;
}

.services-schedule-table-wrap {
	margin-top: 75px;
}

.services-schedule-table {
	border-collapse: collapse;
	width: 100%;
}

.services-schedule-table tr {
	display: block;
	width: 100%;
}

.services-schedule-table th,
.services-schedule-table td {
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(20px, 2.1vw, 40px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: left;
	text-align: center;
}

.services-schedule-table th {
	color: #2a3429;
	height: auto;
	min-height: 300px;
	min-height: 0;
	padding-bottom: 0;
	padding-left: 0px;
	padding-top: 27px;
	vertical-align: top;
	width: 100%;
}

.services-schedule-table td {
	border-bottom: 2px solid #428c37;
	color: #2a3429;
	padding-bottom: 27px;
	padding-right: 0px;
	padding-top: 18px;
	vertical-align: top;
	width: 100%;
}

.services-schedule-table tr:last-child th,
.services-schedule-table tr:last-child td {
	border-bottom: none;
}

.services-cta {
	padding-top: 100px;
}

.services-cta-inner {
	padding-left: 20px;
	padding-right: 20px;
}

.services-cta-title__text {
	color: #2a3429;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(26px, 4.69vw, 90px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
}

.services-cta-title-text-green {
	color: #428c37;
}

.services-cta-discription {
	margin-top: 50px;
}

.services-cta-discription p {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(20px, 2.1vw, 40px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
}

.services-cta-button-wrap {
	margin-top: 60px;
}

.services-cta-period {
	margin-top: 60px;
}

.services-cta-period p {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(20px, 2.1vw, 40px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
}

.services-entory-period {
	background-color: #428c37;
	padding-bottom: 52px;
	padding-top: 45px;
}

.services-entory-period-inner {
	padding-left: 20px;
	padding-right: 20px;
}

.services-entory-period-title {
	color: #ffffff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(20px, 3.64vw, 70px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
}

.services-entory-period-date {
	color: #ffffff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(30px, 5.21vw, 100px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-top: 33px;
	text-align: center;
}

.services-entory-period-button-wrap {
	margin-inline: auto;
	margin-top: 67px;
	min-width: 230px;
	width: 30%;
}

.services-entory-period-button-wrap a,
.services-entory-period-button-wrap span {
	background-color: #ffffff;
	border-radius: 20px;
	color: #428c37;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(20px, 2.6vw, 50px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.5;
	padding: 0.66em 1.9em;
	text-align: center;
}

.services-entory-period-button-wrap span {
	margin-inline: auto;
	max-width: 565px;
	width: 100%;
}

.sp-only {
	display: block;
}

.pc-only {
	display: none;
}

.fpfi-walls {
	padding-bottom: 100px;
}

.fpfi-walls__text-wrap {
	margin-top: 90px;
	padding-left: 20px;
	padding-right: 20px;
}

.fpfi-walls__text-bottom-margin {
	margin-top: 55px;
}

.fpfi-benefits__inner {
	margin-inline: auto;
	max-width: 1690px;
	padding-left: 20px;
	padding-right: 20px;
}

.fpfi-seminar {
	margin-top: 100px;
}

.fpfi-seminar__list-wrap {
	align-items: center;
	aspect-ratio: 1920/718;
	background-image: url(../../assets/img/fpfi-seminar-bg-img.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	justify-content: center;
	margin-top: 54px;
	padding-bottom: 40px;
	padding-top: 40px;
}

.fpfi-seminar__list {
	margin-inline: auto;
	max-width: 1605px;
	padding-left: 20px;
	padding-right: 20px;
}

.fpfi-seminar__item {
	align-items: center;
	background-color: #ffffff;
	border: 2px solid #428c37;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	padding-bottom: 24px;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 24px;
}

.fpfi-seminar__item + .fpfi-seminar__item {
	margin-top: 20px;
}

.fpfi-seminar__date {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.fpfi-seminar__num {
	color: #2a3429;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(24px, 3.12vw, 60px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

.fpfi-seminar__day {
	color: #2a3429;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(24px, 3.12vw, 60px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-left: 0px;
}

.fpfi-seminar__detail {
	margin-top: 20px;
}

.fpfi-seminar__detail p {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(18px, 2.1vw, 40px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

.bs-entory-features {
	margin-top: 90px;
}

.bs-entory-hero-button-wrap {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 10px;
	justify-content: center;
	margin-top: 60px;
}

.bs-entory-hero-button-wrap a {
	max-width: 280px;
	padding-bottom: 19px;
	padding-top: 19px;
	width: 100%;
}

.bs-result {
	margin-top: 96px;
}

.bs-result-inner {
	margin-inline: auto;
	max-width: 545px;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

.bs-result-content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.bs-result-img {
	aspect-ratio: 980/698;
	border-radius: 20px;
	overflow: hidden;
	width: 100%;
}

.bs-result-img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: left;
	object-position: left;
}

.bs-result-body {
	width: 100%;
}

.bs-result-title {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 2;
}

.bs-result-title-main {
	display: block;
	font-size: clamp(22px, 1.48vw, 28px);
}

.bs-result-title-sub {
	display: block;
	font-size: clamp(18px, 1.04vw, 20px);
}

.bs-result-coment {
	margin-top: 24px;
}

.bs-result-coment-text {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 20;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 2;
}

.bs-values__text-top-wrap {
	margin-top: 60px;
	padding-left: 20px;
	padding-right: 20px;
}

.bs-values__card {
	padding-bottom: 22px;
	padding-top: 27px;
}

.bs-values__label-num {
	margin-left: 10px;
}

.bs-values__title {
	font-size: clamp(20px, 1.82vw, 35px);
	line-height: 1.3;
}

.bs-values__text {
	margin-top: 20px;
}

.bs-values__text-bottom-wrap {
	margin-top: 60px;
	padding-left: 20px;
	padding-right: 20px;
}

.bs-values__text-bottom-margin {
	margin-top: 20px;
}

.bs-reason {
	margin-top: 100px;
}

.bs-reference {
	align-items: center;
	background-color: #ffffff;
	border: 5px solid #428c37;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 50px;
	padding-bottom: 31px;
	padding-left: 3.66%;
	padding-right: 3.66%;
	padding-top: 31px;
}

.bs-reference-label {
	color: #428c37;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(18px, 1.56vw, 30px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
	white-space: nowrap;
	width: 100%;
}

.bs-reference-text-box {
	width: 100%;
}

.bs-reference-text {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(18px, 1.56vw, 24px);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

.bs-judges__list li {
	display: block;
}

.bs-judges__list div {
	width: 100%;
}

.bs-judges-thoughts {
	margin-top: 50px;
}

.bs-judges-thoughts-label {
	color: #428c37;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(18px, 1.56vw, 30px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

.bs-judges-thoughts-text {
	color: #2a3429;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(18px, 1.56vw, 30px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-top: 10px;
}

.bs-schedule {
	margin-top: 140px;
}

.bs-cta__label {
	color: #428c37;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(18px, 3.13vw, 60px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-bottom: 30px;
	text-align: center;
}

.youth-main-visual-title-ja {
	font-size: 30px;
}

.youth-main-visual-title-en {
	font-size: 24px;
}

.youth-entory-hero-button-wrap {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-inline: auto;
	margin-top: 60px;
	min-width: 250px;
	width: 19.79%;
}

.youth-entory-hero-button-wrap a {
	width: 100%;
}

.youth-entory-hero-button-margin {
	margin-top: 20px;
}

.youth-entory-features-child-wrap {
	margin-top: 60px;
}

.youth-entory-features {
	margin-top: 10px;
}

.youth-entory-features-item-label {
	font-size: clamp(20px, 1.67vw, 32px);
}

.youth-entory-features-item-text-workshop {
	font-size: clamp(18px, 3.33vw, 64px);
}

.youth-entory-features-item-text-entry {
	font-size: clamp(18px, 1.86vw, 36px);
}

.youth-entory-features__title {
	color: #428c37;
	font-size: clamp(24px, 3.33vw, 64px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
}

.youth-entory-features-student-wrap {
	margin-top: 60px;
}

.youth-entory-period-button-wrap {
	min-width: 280px;
}

.youth-entory-period-button-wrap a {
	transition: opacity 0.3s ease;
}

.youth-entory-period-button-wrap a:hover {
	opacity: 0.7;
}

.youth-entory-student-period {
	padding-bottom: 60px;
	padding-top: 40px;
}

.youth-entory-student-period-button-wrap {
	margin-top: 67px;
}

.youth-entory-student-period-button-wrap a {
	font-size: clamp(18px, 1.86vw, 36px);
	padding-bottom: 1.22em;
	padding-left: 5px;
	padding-right: 5px;
	padding-top: 1.22em;
}

.youth-skills__text-top-wrap {
	margin-top: 42px;
	padding-left: 20px;
	padding-right: 20px;
}

.youth-skills__cards-wrap ul {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

.youth-skills__text-bottom-wrap {
	margin-top: 60px;
	padding-left: 20px;
	padding-right: 20px;
}

.youth-flow {
	margin-top: 60px;
}

.youth-reason {
	margin-top: 60px;
}

.youth-members__list li {
	display: block;
}

.youth-members__list div {
	width: 100%;
}

.youth-members-hushtug {
	margin-top: 30px;
}

.youth-members-hushtug-text {
	color: #428c37;
	font-size: clamp(18px, 1.56vw, 30px);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

.youth-overview a {
	color: #2a3429;
	transition: opacity 0.3s ease;
}

.youth-overview a:hover {
	opacity: 0.7;
}

.youth-schedule {
	margin-top: 80px;
}

.youth-cta {
	padding-bottom: 49px;
}

.youth-cta__button-wrap {
	margin-inline: auto;
	max-width: 622px;
	min-width: 250px;
	width: 32.4%;
}

.youth-cta__button-wrap a {
	display: inline-block;
	width: 100%;
}

.youth-cta__button-wrap .youth-cta__button-wrap-text {
	color: #2a3429;
	font-size: clamp(18px, 2.08vw, 40px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

.youth-program {
	margin-top: 110px;
}

.youth-program__list-wrap {
	background-color: #ffffff;
	margin-top: 50px;
	padding-bottom: 42px;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 50px;
}

.youth-program__item + .youth-program__item {
	margin-top: 56px;
}

.youth-program__item-label {
	background-color: #428c37;
	color: #ffffff;
	font-size: clamp(20px, 2.5vw, 48px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1;
	min-width: 150px;
	padding: 13px 20px;
	text-align: center;
	width: 20.45%;
}

.youth-program__inner {
	margin-inline: auto;
	max-width: 1650px;
	padding-left: 20px;
	padding-right: 20px;
}

.youth-program__item-content {
	padding-left: 0;
}

.youth-program__item-title {
	margin-top: 15px;
	padding-bottom: 20px;
	position: relative;
}

.youth-program__item-title::after {
	background: repeating-linear-gradient(to right, #428c37 0 20px, transparent 20px 40px);
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: 100%;
}

.youth-program__item-title-main {
	color: #2a3429;
	font-size: clamp(24px, 3.33vw, 64px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

.youth-program__item-title-sub {
	color: #2a3429;
	font-size: clamp(20px, 1.86vw, 36px);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

.youth-program__item-text {
	color: #2a3429;
	font-size: clamp(16px, 1.25vw, 24px);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-top: 16px;
}

.youth-program__item-text-highlight {
	color: #428c37;
	font-size: clamp(18px, 2.08vw, 40px);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin-top: 20px;
}

.youth-program__item-text-link {
	color: #428c37;
	transition: opacity 0.3s ease;
}

.youth-program__item-text-link:hover {
	opacity: 0.7;
}

.youth-program__button-wrap {
	margin-top: 26px;
	text-align: center;
}

.youth-program__button-wrap a {
	background-color: #387d39;
	border-radius: 4px;
	color: #ffffff;
	cursor: pointer;
	display: inline-block;
	font-family: sans-serif;
	font-size: clamp(23px, 2.08vw, 40px);
	font-weight: bold;
	margin-bottom: 8px;
	max-width: 773px;
	padding: 0.8em 0.64em;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.3s ease;
	transition: opacity 0.3s ease;
	width: 95%;
}

.youth-program__button-wrap a:hover {
	opacity: 0.7;
}

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

.services-fpfi-main-visual {
	aspect-ratio: 1920/400;
	background-image: url(../../assets/img/services-fpfi-mainview-img-pc.jpg);
}

.services-business-support-main-visual {
	aspect-ratio: 1920/400;
	background-image: url(../../assets/img/services-business-support-mainview-img-pc.jpg);
}

.services-youth-program-main-visual {
	aspect-ratio: 1920/400;
	background-image: url(../../assets/img/services-youth-program-mainview-img-pc.jpg);
}

.services-entory-features {
	padding-bottom: 108px;
}

.services-entory-features-inner {
	max-width: 820px;
}

.services-entory-features-list {
	gap: 8.3%;
	grid-template-columns: repeat(2, 1fr);
}

.services-entory-features-item {
	gap: 20px;
}

.services-entory-features-item-text {
	max-height: 200px;
	width: 100%;
}

.services-issues-img {
	margin-top: 87px;
}

.services-issues-cards-wrap {
	margin-top: -178px;
}

.services-issues-cards {
	gap: 45px;
	grid-template-columns: repeat(2, 1fr);
	max-width: initial;
	padding-left: 0;
	padding-right: 0;
}

.services-issues-card {
	padding-bottom: 40px;
	padding-left: 50px;
	padding-right: 50px;
	padding-top: 25px;
}

.services-benefits-list-wrap {
	padding-bottom: 15px;
	padding-left: 36px;
	padding-right: 36px;
	padding-top: 79px;
}

.services-benefits-item {
	align-items: flex-start;
	flex-direction: row;
	gap: 2%;
	padding-bottom: 44px;
	padding-left: 3.4%;
	padding-right: 3.4%;
}

.services-benefits-item-title {
	text-align: left;
}

.services-benefits-item-text {
	font-weight: 700;
	margin-top: 18px;
}

.services-overview {
	margin-top: 114px;
}

.services-overview-table-wrap {
	margin-top: 88px;
}

.services-overview-table tr {
	display: table-row;
}

.services-overview-table th,
.services-overview-table td {
	display: table-cell;
	text-align: left;
}

.services-overview-table th {
	border-bottom: 2px solid #428c37;
	padding-bottom: 27px;
	padding-left: 16px;
	width: 23%;
}

.services-overview-table td {
	padding-right: 16px;
	padding-top: 27px;
	width: 77%;
}

.services-schedule-table tr {
	display: table-row;
}

.services-schedule-table th,
.services-schedule-table td {
	display: table-cell;
	text-align: left;
}

.services-schedule-table th {
	border-bottom: 2px solid #428c37;
	padding-bottom: 27px;
	padding-left: 16px;
	width: 30%;
}

.services-schedule-table td {
	padding-right: 16px;
	padding-top: 27px;
	width: 70%;
}

.services-cta {
	padding-bottom: 100px;
	padding-top: 157px;
}

.services-cta-discription {
	margin-top: 63px;
}

.services-cta-button-wrap {
	margin-top: 100px;
}

.services-cta-period {
	margin-top: 100px;
}

.sp-only {
	display: none;
}

.pc-only {
	display: block;
}

.fpfi-seminar {
	margin-top: 115px;
}

.fpfi-seminar__list {
	width: 56%;
}

.fpfi-seminar__item {
	border: 5px;
	padding-bottom: 44px;
	padding-left: 6.13%;
	padding-right: 6.13%;
	padding-top: 44px;
}

.fpfi-seminar__item + .fpfi-seminar__item {
	margin-top: 30px;
}

.fpfi-seminar__date {
	align-items: flex-start;
	flex-direction: row;
}

.fpfi-seminar__day {
	margin-left: 57px;
}

.bs-entory-hero-button-wrap {
	align-items: center;
	flex-direction: row;
	gap: 5%;
	justify-content: center;
	margin-inline: auto;
	margin-top: 70px;
	min-width: 375px;
	width: 41.4%;
}

.bs-entory-hero-button-wrap a {
	width: 47.5%;
}

.bs-result-inner {
	max-width: 1840px;
}

.bs-result-content {
	flex-direction: row-reverse;
	gap: 5%;
}

.bs-result-img {
	width: 55%;
}

.bs-result-body {
	width: 40%;
}

.bs-values__text-bottom-wrap {
	margin-top: 116px;
}

.bs-values__text-bottom-margin {
	margin-top: 0px;
}

.bs-reference {
	align-items: flex-start;
	flex-direction: row;
	gap: 4.4%;
	margin-top: 77px;
}

.bs-reference-label {
	text-align: left;
	width: 13.2%;
}

.bs-reference-text-box {
	width: 82.4%;
}

.bs-judges-thoughts {
	margin-top: 72px;
}

.youth-main-visual-title-ja {
	font-size: 35px;
}

.youth-main-visual-title-en {
	font-size: 20px;
}

.youth-entory-hero-button-wrap {
	align-items: center;
	flex-direction: row;
	gap: 5%;
	justify-content: center;
	margin-top: 70px;
}

.youth-entory-hero-button-margin {
	margin-top: 0;
}

.youth-entory-features-child-wrap {
	margin-top: 105px;
}

.youth-entory-features {
	margin-top: 34px;
}

.youth-entory-features-student-wrap {
	margin-top: 127px;
}

.youth-entory-student-period {
	padding-bottom: 146px;
	padding-top: 71px;
}

.youth-entory-student-period-button-wrap {
	margin-top: 109px;
}

.youth-skills__text-top-wrap {
	margin-top: 42px;
}

.youth-skills__cards-wrap ul {
	gap: 45px;
	grid-template-columns: repeat(2, 1fr);
}

.youth-skills__text-bottom-wrap {
	margin-top: 100px;
}

.youth-flow {
	margin-top: 107px;
}

.youth-reason {
	margin-top: 121px;
}

.youth-members-hushtug {
	margin-top: 50px;
}

.youth-schedule {
	margin-top: 120px;
}

.youth-program__list-wrap {
	margin-top: 66px;
	padding-bottom: 66px;
	padding-left: 50px;
	padding-right: 50px;
}

.youth-program__item + .youth-program__item {
	margin-top: 42px;
}

.youth-program__item-content {
	padding-left: 18px;
}

.youth-program__button-wrap a {
	width: 51.2%;
}

}

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

.services-entory-features-inner {
	max-width: 1640px;
}

.services-entory-features-list {
	grid-template-columns: repeat(4, 1fr);
}

.services-entory-features-item {
	gap: 40px;
}

.services-entory-features-item-text {
	max-height: 300px;
}

.services-issues-img {
	margin-top: 87px;
}

.services-reason-title {
	max-width: 1615px;
	padding-bottom: 49px;
}

.services-reason-text {
	margin-top: 88px;
}

.services-reason-img {
	margin-top: 90px;
}

.services-section-title__ja {
	margin-top: 28px;
}

.services-members {
	margin-top: 212px;
}

.services-members-inner {
	padding-left: 93px;
	padding-right: 93px;
}

.services-members-list-wrap {
	margin-top: 149px;
}

.services-members-list {
	max-width: none;
}

.services-members-item {
	display: flex;
	flex-direction: row-reverse;
	gap: 5.3%;
	padding-bottom: 67px;
	padding-left: 33px;
	padding-right: 33px;
}

.services-members-img {
	height: 100%;
	max-height: 500px;
	width: 32.3%;
}

.services-members-body {
	margin-top: 0;
	width: 62.4%;
}

.services-members-position-text-margin {
	margin-top: 30px;
}

.services-members-name {
	margin-top: 31px;
}

.services-members-name-en {
	margin-top: 21px;
}

.services-members-text {
	margin-top: 64px;
}

.fpfi-walls {
	padding-bottom: 180px;
}

.fpfi-walls__text-bottom-margin {
	margin-top: 62px;
}

.bs-values__text {
	margin-top: 40px;
}

.youth-main-visual-title-ja {
	font-size: 40px;
}

.youth-main-visual-title-en {
	font-size: 26px;
}

.youth-skills__cards-wrap ul {
	grid-template-columns: repeat(3, 1fr);
}

}

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

.services-issues-cards {
	gap: 45px;
	grid-template-columns: repeat(4, 1fr);
	max-width: 1924px;
}

.fpfi-seminar__list-wrap {
	margin-top: 54px;
	padding-bottom: 20px;
	padding-top: 20px;
}

.fpfi-seminar__list {
	width: 86%;
}

.fpfi-seminar__item {
	align-items: flex-start;
	flex-direction: row;
}

.fpfi-seminar__item + .fpfi-seminar__item {
	margin-top: 50px;
}

.fpfi-seminar__detail {
	margin-top: 0;
}

}

