body {
	background-color: #F8F9FB;
	color: #333;
	font-family: "Roboto", "Noto Sans JP", sans-serif;
	font-size: 16px;
}

/* アバウト導入：3連ドット（Figma 398:49230） */

/* テキスト */

/* ボタン */

/* CTAボタン hover 外周 */

/* 背景 */

/* 線 */

/* アクセント付き下線（共通 .accent-border-line）右側 */

/* Figma 262:20255 ニュースリスト行 hover 下線 */

/* タブ */

.u-desktop {
	display: none;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

/* ホバー */

a img,
a svg {
	transition: opacity 0.3s ease;
}

/* リンク画像のホバー */

a:hover img,
a:hover svg {
	opacity: 0.8;
}

/* Androidタップ時の青マスクを無効化 */

a,
button,
input,
textarea,
[class*=__link],
[class*=__btn] {
	-webkit-tap-highlight-color: transparent !important;
}

a,
button,
input,
textarea,
[class*=__link],
[class*=__btn] {
	cursor: pointer;
}

.feature-layout {
	margin-left: auto;
	margin-right: auto;
	max-width: 90rem;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

/* 詳細ページ用：エキスパート */

.layout-breadcrumb--detail {
	margin-top: 5rem;
}

.layout-main {
	margin-top: 7.5rem;
}

.layout-sidebar--2rows {
	margin-top: 5.625rem;
}

.about {
	display: block;
	margin-top: 3rem;
	padding-bottom: 6.4375rem;
	width: 100%;
}

.about__inner {
	max-width: 78.75rem;
}

.about__grid {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 3rem;
	margin-top: 3.125rem;
}

.about__content-middle {
	border-radius: 0.625rem;
	max-width: 100%;
	overflow: hidden;
	width: min(100%, 21.875rem);
}

.about__content-middle picture {
	display: block;
	height: 100%;
	width: 100%;
}

.about__content-middle img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	width: 100%;
}

.about__content-upper {
	display: flex;
	flex-direction: column;
	gap: 0;
	max-width: 21.875rem;
	width: 100%;
}

.about__text-main {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.6;
	margin-top: 0.625rem;
}

.about__text-main + .about__text-main {
	margin-top: 1.5rem;
}

.about__text-accent-red {
	color: #CC0000;
}

.about__text-accent-green {
	color: #2F778B;
}

.about__text-note {
	-webkit-text-decoration: underline;
	border-bottom: none;
	color: #2F778B;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.6;
	margin: 1.5rem 0 0;
	text-decoration: underline;
	text-decoration-color: #5e94a2;
	text-decoration-thickness: 0.125rem;
	text-underline-offset: 25%;
	width: 100%;
}

.about__content-lower {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	max-width: 21.875rem;
	width: 100%;
}

.about__lead-text {
	color: #2F778B;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	width: 100%;
}

.about__desc {
	color: #333;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.6;
	margin: 0;
	margin-top: 0.3125rem;
	width: 100%;
}

.about__link {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.5rem;
	max-width: 21.875rem;
	width: 100%;
}

.accent-border-line {
	background-image: linear-gradient(to right, #3E91A8 6.25rem, #a8c0c4 6.25rem);
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: 100% 0.0625rem;
}

.accent-border-line--demo {
	max-width: 50rem;
	padding: 1.125rem 0.625rem;
}

/*----------------------------------
  コラム詳細：著者カード（エキスパート）
  SP: Figma 921:32991 / PC: Figma 921:29133
-----------------------------------*/

.author-card {
	background-color: transparent;
	display: block;
	overflow: visible;
	position: relative;
	width: 100%;
}

.author-card__inner {
	background-color: #fff;
	border-radius: 0 0.5rem 0.5rem 0.5rem;
	box-shadow: 0 0 1.25rem rgba(47, 82, 92, 0.07);
	box-sizing: border-box;
	padding: 1.5rem 1.25rem;
	position: relative;
	width: 100%;
}

.author-card__content {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

.author-card__meta {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

.author-card__img {
	aspect-ratio: 310/175;
	border-radius: 0.25rem;
	overflow: hidden;
	width: 100%;
}

.author-card__img img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.author-card__profile {
	-moz-column-gap: 2.5rem;
	align-items: center;
	column-gap: 2.5rem;
	display: flex;
	flex-wrap: wrap;
	row-gap: 0.5rem;
	width: 100%;
}

.author-card__name {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
}

.author-card__skill {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
}

.author-card__text {
	align-items: center;
	background-color: #eef6f8;
	border-radius: 0.25rem;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	min-height: 16.5rem;
	padding: 1.5rem 1rem;
	width: 100%;
}

.author-card__text p {
	color: #333;
	flex: 1 1 auto;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin: 0;
	min-width: 0;
}

/*----------------------------------
  コラム詳細：運営事務局カード
  SP: Figma 921:33203 / PC: 従来仕様
-----------------------------------*/

.author-card--office .author-card__inner {
	padding: 1.5rem 1.25rem;
}

.author-card--office .author-card__body {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

.author-card--office .author-card__media {
	aspect-ratio: 310/175;
	border-radius: 0.25rem;
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

/* エキスパート側 .author-card__img と同じく cover で枠を埋める */

.author-card--office .author-card__media picture {
	display: block;
	height: 100%;
	width: 100%;
}

.author-card--office .author-card__media img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.author-card--office .author-card__office {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
	margin: 0;
	width: 100%;
}

.breadcrumb {
	background-color: #F8F9FB;
	box-sizing: border-box;
	padding-bottom: 1.25rem;
	padding-top: 1.25rem;
	width: 100%;
}

.breadcrumb__inner {
	box-sizing: border-box;
	width: 100%;
}

.breadcrumb__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.breadcrumb__list > li {
	align-items: center;
	box-sizing: border-box;
	display: inline-flex;
	min-height: 1.125rem;
}

.breadcrumb__item {
	align-items: center;
	display: inline-flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

.breadcrumb__item:not(:last-child)::after {
	align-self: center;
	background: center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='18' viewBox='0 0 9 18' fill='none'%3E%3Cpath d='M1 3.98072L2.04108 3L7.71157 8.34495C7.80297 8.43059 7.87551 8.53244 7.92502 8.64462C7.97452 8.7568 8 8.87711 8 8.99861C8 9.12012 7.97452 9.24042 7.92502 9.3526C7.87551 9.46479 7.80297 9.56663 7.71157 9.65227L2.04108 15L1.00098 14.0193L6.32314 9L1 3.98072Z' fill='%23595959'/%3E%3C/svg%3E");
	content: "";
	display: block;
	flex-shrink: 0;
	height: 1.125rem;
	margin-left: 0.375rem;
	margin-right: 0.375rem;
	width: 0.5625rem;
}

.breadcrumb__list li.post-column-archive:not(:last-child)::after,
.breadcrumb__list li.post-root:not(:last-child)::after {
	align-self: center;
	background: center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='18' viewBox='0 0 9 18' fill='none'%3E%3Cpath d='M1 3.98072L2.04108 3L7.71157 8.34495C7.80297 8.43059 7.87551 8.53244 7.92502 8.64462C7.97452 8.7568 8 8.87711 8 8.99861C8 9.12012 7.97452 9.24042 7.92502 9.3526C7.87551 9.46479 7.80297 9.56663 7.71157 9.65227L2.04108 15L1.00098 14.0193L6.32314 9L1 3.98072Z' fill='%23595959'/%3E%3C/svg%3E");
	content: "";
	display: block;
	flex-shrink: 0;
	height: 1.125rem;
	margin-left: 0.375rem;
	margin-right: 0.375rem;
	width: 0.5625rem;
}

.breadcrumb__list span.archive {
	align-items: center;
	box-sizing: border-box;
	color: #595959;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.125rem;
	min-height: 1.125rem;
	vertical-align: middle;
}

.breadcrumb__list a {
	-webkit-text-decoration: none;
	align-items: center;
	box-sizing: border-box;
	color: #595959;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.2;
	margin: 0;
	min-height: 1.125rem;
	padding: 0;
	text-decoration: none;
	transition: color 0.2s ease;
	vertical-align: middle;
}

.breadcrumb__list a:focus-visible,
.breadcrumb__list a:hover {
	color: #3E91A8;
}

.breadcrumb__list a.date-year {
	gap: 0;
	line-height: 1.125rem;
	vertical-align: middle;
}

.breadcrumb__list a.archive:not(.date-year) {
	line-height: 1.125rem;
	vertical-align: middle;
}

.breadcrumb__link--home {
	align-items: center;
	display: inline-flex;
	gap: 0.25rem;
	min-height: 1.125rem;
}

.breadcrumb__home-icon {
	display: block;
	flex-shrink: 0;
	height: 1rem;
	width: 1rem;
}

.breadcrumb__list a span[property=name] {
	display: inline;
	line-height: inherit;
	vertical-align: middle;
}

.breadcrumb__text {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

.breadcrumb__inner .breadcrumbs {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

.breadcrumb__inner .breadcrumbs a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.breadcrumb__inner .breadcrumbs a:focus-visible,
.breadcrumb__inner .breadcrumbs a:hover {
	color: #3E91A8;
}

.breadcrumb__inner .breadcrumbs .breadcrumb_last,
.breadcrumb__list .breadcrumb_last {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

.breadcrumb__list > li:last-child:not(:has(a)) {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

.taxonomy.column_cat {
	vertical-align: middle;
}

.category-chip {
	align-items: center;
	background-color: #fff;
	border: 0.0625rem solid #7CABB8;
	border-radius: 0.8125rem;
	color: #333;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1;
	padding: 0.1875rem 0.9375rem;
}

/* ニュースカテゴリ用モディファイア */

.category-chip--news {
	padding-bottom: 0.25rem;
	padding-top: 0.25rem;
}

.category-tag {
	align-items: center;
	border: 0.0625rem solid #3E91A8;
	border-radius: 6.25rem;
	box-sizing: border-box;
	color: #2F778B;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	padding: 0.0625rem 0.5rem;
	white-space: nowrap;
}

/*----------------------------------
  詳細ページ共通
-----------------------------------*/

.category-tag--detail {
	background-color: #F8F9FB;
	border: 0.125rem solid #7CABB8;
	font-weight: 500;
	line-height: 1;
	padding: 0.3125rem 1.5rem 0.375rem;
}

.cinema-select {
	margin-top: -0.375rem;
}

.cinema-select__contents {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	padding-bottom: 6.9375rem;
	padding-top: 2.375rem;
	width: 100%;
}

.cinema-select__header {
	align-self: stretch;
	max-width: 75rem;
	width: 100%;
}

.cinema-select__contents .section-header:has(> .section-header__engTitle) {
	padding: 0;
}

.cinema-select__action {
	display: flex;
	justify-content: center;
	margin-top: 3.5rem;
	max-width: 21.875rem;
	width: 100%;
}

/*----------------------------------
シネマスライダー(スマホサイズのみ）
-----------------------------------*/

.cinema-select__stack {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-right: calc(50% - 50vw);
	overflow: hidden;
	width: 100%;
}

.cinema-select__items {
	box-sizing: border-box;
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
}

.cinema-select__item {
	flex-shrink: 0;
	margin: 0;
	width: 100%;
}

.cinema-select__swiper {
	overflow: visible;
	width: 100%;
}

.cinema-select__navigation {
	align-items: center;
	display: flex;
	gap: 3.5rem;
	justify-content: center;
	margin-top: 2rem; /* 元の矢印を消す */ /* 矢印の無効化時のスタイル */
}

.cinema-select__navigation .swiper-button-next,
.cinema-select__navigation .swiper-button-prev {
	bottom: auto;
	flex-shrink: 0;
	height: 2.75rem;
	left: auto;
	margin: 0;
	position: static; /* アローの位置を初期化 */
	right: auto;
	top: auto;
	transition: opacity 0.3s ease;
	width: 2.75rem;
}

.cinema-select__navigation .swiper-button-next img,
.cinema-select__navigation .swiper-button-prev img {
	display: block;
	height: 100%;
	width: 100%;
}

.cinema-select__navigation .swiper-button-next::after,
.cinema-select__navigation .swiper-button-prev::after {
	display: none;
}

.cinema-select__navigation .swiper-button-disabled {
	opacity: 0.4;
	pointer-events: none;
}

.cinema-select__coming-soon {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	margin-top: 2.5rem;
	width: 100%;
}

.cinema-select__coming-soon-text {
	color: #cdcdcd;
	font-family: Futura, "Century Gothic", "Trebuchet MS", sans-serif;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.3;
	margin: 0;
	text-align: center;
}

.column {
	margin-top: -0.375rem;
}

.column__contents {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 2.75rem;
	padding-bottom: 8.125rem;
	padding-top: 2.5rem;
	width: 100%;
}

.column__header {
	align-items: center;
	max-width: 75rem;
	text-align: center;
	width: 100%;
}

.column__header-desc {
	color: #333;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
	max-width: 25rem;
	text-align: left;
}

.column__stack {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 3.5rem;
	width: 100%;
}

.column__items { /* カード間 40px */
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	justify-content: center;
	list-style: none;
	margin: 0;
	max-width: 75rem;
	padding: 0;
	width: 100%;
}

.column__item {
	margin: 0;
	width: 100%;
}

.column__item .list-card {
	margin-left: auto;
	margin-right: auto;
	max-width: 21.875rem;
}

.column__action {
	display: flex;
	justify-content: center;
	max-width: 21.875rem;
	width: 100%;
}

.contact {
	background-color: #128EA4;
	border-radius: 0.75rem;
	color: #fff;
	padding: 5rem 1.25rem 6.25rem;
}

.contact__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 56.25rem;
	width: 100%;
}

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

.contact__desc {
	align-items: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	margin-top: 1.5rem;
	text-align: center;
}

.contact__desc p {
	font-size: 1rem;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
}

.contact__desc-small {
	font-size: 0.875rem;
	letter-spacing: 0.02em;
	line-height: 1.8;
}

.contact__form-wrapper {
	margin-top: 3.5rem;
}

.contact__policy {
	margin-top: 2.5rem;
	max-width: 56.25rem;
}

.cta-button {
	-webkit-text-decoration: none;
	background-color: rgba(244, 205, 7, 0.4);
	border-radius: 6.25rem;
	box-sizing: border-box;
	display: inline-flex;
	max-width: 100%;
	padding: 0.25rem;
	text-decoration: none;
	transition: background-color 0.3s ease;
	vertical-align: middle;
}

.cta-button__inner {
	background-color: #F7BD00;
	border-radius: 6.25rem;
	box-sizing: border-box;
	color: #fff;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
	padding: 0.75rem 2rem;
	text-align: center;
	white-space: nowrap;
}

.cta-button--sp {
	display: flex;
	width: 100%;
}

.cta-button--sp .cta-button__inner {
	padding: 1.125rem 2rem;
	width: 100%;
}

.cta-button:focus-visible {
	outline: 0.125rem solid #F7BD00;
	outline-offset: 0.125rem;
}

.cta-card {
	width: 100%;
}

.cta-card__inner {
	align-items: center;
	background-color: #fff;
	border: 0.0625rem solid #cecece;
	border-radius: 0.5rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	padding: 1.3125rem 0.875rem 1.5rem;
	width: 100%;
}

.cta-card__content {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	text-align: center;
	width: 100%;
}

.cta-card__title {
	color: #2F778B;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.3;
	margin: 0;
}

.cta-card__desc {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin: 0;
	text-align: center;
}

.cta-card__link {
	margin-left: auto;
	margin-right: auto;
}

.cta-card__action {
	max-width: 20.125rem;
	width: 100%;
}

/* CTAカード02のリンクボタンの幅 */

.cta-contact {
	color: #fff;
	margin-bottom: 5.5rem;
}

.cta-contact__bg {
	background-color: #128ea4;
	background-image: url("../images/common/cta-contact-img_sp.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 0.75rem;
	box-shadow: 0 0 2.5rem rgba(14, 93, 116, 0.2);
	margin-left: auto;
	margin-right: auto;
	max-width: 75rem;
	overflow: hidden;
	width: 100%;
}

.cta-contact__inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	padding: 4rem 0.875rem;
}

.cta-contact__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cta-contact__desc {
	color: #fff;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin-top: 1.75rem;
	text-align: center;
}

.cta-contact__cards {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	margin-top: 2rem;
	max-width: 21.875rem;
	width: 100%;
}

.cta-expert {
	margin-bottom: 5.5rem;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

.cta-expert__bg {
	background-color: #128EA4;
	background-image: linear-gradient(232deg, rgba(12, 123, 135, 0.9) 24.77%, rgba(7, 85, 116, 0.9) 86.55%), url("../images/common/page-expert/p-expert-ctaBg_sp.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 0.75rem;
	box-shadow: 0 0 2.5rem rgba(14, 93, 116, 0.2);
	margin-left: auto;
	margin-right: auto;
	max-width: 75rem;
	overflow: hidden;
	width: 100%;
}

.cta-expert__inner {
	align-items: center;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 3rem;
	padding: 4rem 1.25rem 4rem;
}

.cta-expert__lead {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
}

.cta-expert__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	text-align: center;
	width: 100%;
}

.cta-expert__header .section-header__engTitle {
	color: #357e92;
}

.cta-expert__header .section-header__jpTitle {
	font-size: 1.75rem;
	letter-spacing: 0.02em;
	margin-top: 0;
}

.cta-expert__desc {
	align-self: center;
	box-sizing: border-box;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin: 0;
	max-width: 100%;
	text-align: left;
	width: -moz-max-content;
	width: max-content;
}

.cta-expert__desc p {
	margin: 0;
}

.cta-expert__desc p + p {
	margin-top: 0;
}

.cta-expert__action {
	max-width: 21.875rem;
	width: 100%;
}

.cta-expert .link-button {
	background-color: rgba(208, 230, 236, 0.95);
}

.cta-expert .link-button__inner {
	justify-content: center;
	letter-spacing: 0.1em;
	min-height: 3.625rem;
	padding-bottom: 1.125rem;
	padding-left: 2.25rem;
	padding-right: 3.75rem;
	padding-top: 1.125rem;
}

.cta-expert .link-button__icon {
	height: 1rem;
	right: 1rem;
	width: 1rem;
}

.detail-column__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: min(73.75rem, 100%);
}

.detail-column__contents {
	margin-bottom: 6.25rem;
	margin-top: 2.5rem;
}

.detail-column__main {
	width: 100%;
}

.detail-column__header {
	-moz-column-gap: 3rem;
	align-items: center;
	column-gap: 3rem;
	display: flex;
	flex-wrap: wrap;
	row-gap: 1.5rem;
}

.detail-column__date {
	color: #595959;
	font-family: "Roboto", sans-serif;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
}

.detail-column__label {
	margin: 0;
}

.detail-column__title {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	width: 100%;
}

.detail-column__author {
	margin-top: 2rem;
}

.detail-column__toc {
	margin-top: 3rem;
}

.detail-column__body {
	margin-top: 3rem;
}

.detail-column__thumbnail {
	border-radius: 0.5rem;
	margin-top: 3rem;
	overflow: hidden;
}

.detail-column__thumbnail img {
	display: block;
	height: auto;
	width: 100%;
}

.detail-column__newsBody {
	margin-top: 3rem;
}

.detail-column__newsBody.entry-content p {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
}

.detail-column__newsBody.entry-content p + p {
	margin-top: 1rem;
}

.detail-column__sidebar {
	display: flex;
	flex-direction: column;
	padding-top: 5rem;
	width: 100%;
}

.detail-column__sidebar .search-window {
	margin: 0;
}

.detail-column__sidebar .search-sidebar__inner {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.detail-column__sidebar .search-sidebar__section {
	width: 100%;
}

.detail-column__sidebar .search-sidebar__title {
	margin: 0;
}

.detail-column__sidebar .search-sidebar__categories {
	margin: 0.875rem 0 0;
}

.detail-column__sidebar .search-sidebar__category-item + .search-sidebar__category-item {
	margin-top: 0.875rem;
}

.detail-column__sidebar .search-window__field {
	min-height: 2.625rem;
}

.detail-column__navigations {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-top: 3rem;
	width: 100%;
}

.detail-column__navLink {
	display: flex;
	justify-content: center;
	width: 100%;
}

.detail-column__navLinkButton {
	-webkit-text-decoration: none;
	align-items: center;
	border: 0.125rem solid #7CABB8;
	border-radius: 6.25rem;
	color: #3E91A8;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.02em;
	line-height: 1;
	padding: 0.5rem 3rem 0.5rem 1.5rem;
	position: relative;
	text-decoration: none;
}

.detail-column__navLinkText {
	display: inline-block;
}

.detail-column__navLinkIcon {
	align-items: center;
	display: inline-flex;
	height: 1rem;
	justify-content: center;
	position: absolute;
	right: 0.625rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
}

.detail-column__navLinkIcon svg {
	display: block;
	height: 100%;
	width: 100%;
}

.detail-column__backLink {
	margin-left: auto;
	margin-right: auto;
	width: 14.375rem;
}

.detail-column__backLinkButton {
	width: 100%;
}

.detail-column__body.entry-content h2 {
	align-items: center;
	background-color: #EBF7F9;
	border-bottom: 0.125rem solid #3E91A8;
	border-radius: 0.25rem;
	box-sizing: border-box;
	color: #333;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	padding: 0.5rem 1rem;
	width: 100%;
}

.detail-column__body.entry-content p {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 1.5rem 0 0;
}

.detail-column__body.entry-content p + h2 {
	margin-top: 3rem;
}

.detail-column__body.entry-content ul + h1,
.detail-column__body.entry-content ul + h2,
.detail-column__body.entry-content ul + h3,
.detail-column__body.entry-content ul + h4,
.detail-column__body.entry-content ul + h5,
.detail-column__body.entry-content ul + h6,
.detail-column__body.entry-content ol + h1,
.detail-column__body.entry-content ol + h2,
.detail-column__body.entry-content ol + h3,
.detail-column__body.entry-content ol + h4,
.detail-column__body.entry-content ol + h5,
.detail-column__body.entry-content ol + h6 {
	margin-top: 3.5rem;
}

.detail-column__body.entry-content ul,
.detail-column__body.entry-content ol {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	list-style: none;
	margin: 1.5rem 0 0;
	padding-left: 0;
}

.detail-column__body.entry-content ul > li,
.detail-column__body.entry-content ol > li {
	margin: 0;
	padding-left: 1.125rem;
	position: relative;
}

.detail-column__body.entry-content ol > li {
	padding-left: 0;
}

.detail-column__body.entry-content ul > li::before {
	content: "・";
	left: 0;
	position: absolute;
}

.detail-column__body.entry-content ul > li + li,
.detail-column__body.entry-content ol > li + li {
	margin-top: 0.5rem;
}

.detail-news {
	display: block;
	width: 100%;
}

.detail-news__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: min(73.75rem, 100%);
}

.detail-news__content {
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	max-width: 25rem;
	width: 100%;
}

.detail-news__header {
	-moz-column-gap: 3rem;
	align-items: center;
	column-gap: 3rem;
	display: flex;
	flex-wrap: wrap;
	row-gap: 1.5rem;
}

.detail-news__date {
	margin: 0;
}

.detail-news__label {
	margin: 0;
}

.detail-news__title {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	width: 100%;
}

.detail-news__thumbnail {
	border-radius: 0.5rem;
	margin-top: 3rem;
	overflow: hidden;
}

.detail-news__summary {
	margin-top: 2rem;
}

.detail-news__summary .tab-decorator__svg {
	height: 1.8125rem;
	width: 9rem;
}

.detail-news__summaryContent {
	background-color: #fff;
	border-radius: 0 0.5rem 0.5rem 0.5rem;
	box-shadow: 0 0 1.25rem rgba(47, 82, 92, 0.07), 0 0 1.25rem rgba(47, 82, 92, 0.07);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.5rem 1.25rem 1.5rem;
	width: 100%;
}

.detail-news__summaryTitle {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
	margin: 0;
}

.detail-news__summaryText {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin: 0;
}

.detail-news__video {
	margin-top: 3rem;
}

.detail-news__videoContent {
	background-color: #fff;
	border-radius: 0.5rem;
	box-shadow: 0 0.3016875rem 1.5083125rem rgba(0, 0, 0, 0.07);
	margin-left: auto;
	margin-right: auto;
	max-width: 22.5rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.detail-news__videoPlayer iframe {
	aspect-ratio: 492/874;
	border: 0;
	display: block;
	height: auto;
	width: 100%;
}

.detail-news__videoTrigger {
	background: none;
	border: 0;
	cursor: pointer;
	display: block;
	padding: 0;
	position: relative;
	width: 100%;
}

.detail-news__videoThumbnail {
	-o-object-fit: cover;
	aspect-ratio: 492/874;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.detail-news__videoPlayButton {
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 5.25rem;
}

.detail-news__videoPlayButton img {
	display: block;
	height: auto;
	width: 100%;
}

.detail-news__thumbnail img {
	display: block;
	height: auto;
	width: 100%;
}

.detail-news__navigations {
	margin-bottom: 6.25rem;
	margin-top: 3rem;
}

.detail-news__backLink {
	margin-left: auto;
	margin-right: auto;
	margin-top: 2rem;
	width: 12.1875rem;
}

/*----------------------------------
  本文のスタイル
-----------------------------------*/

.detail-news__body {
	margin-top: 3rem;
}

.detail-news__body.entry-content h2 {
	background-color: #EBF7F9;
	border-bottom: 0.125rem solid #3E91A8;
	border-radius: 0.25rem;
	box-sizing: border-box;
	color: #333;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	justify-content: flex-start;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	padding: 0.5rem 1rem;
	width: 100%;
}

.detail-news__body.entry-content p {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 1rem 0 0;
}

.detail-news__body.entry-content ul + h1,
.detail-news__body.entry-content ul + h2,
.detail-news__body.entry-content ul + h3,
.detail-news__body.entry-content ul + h4,
.detail-news__body.entry-content ul + h5,
.detail-news__body.entry-content ul + h6,
.detail-news__body.entry-content ol + h1,
.detail-news__body.entry-content ol + h2,
.detail-news__body.entry-content ol + h3,
.detail-news__body.entry-content ol + h4,
.detail-news__body.entry-content ol + h5,
.detail-news__body.entry-content ol + h6 {
	margin-top: 3.5rem;
}

.detail-news__body.entry-content figure {
	border-radius: 0.75rem;
	margin: 3rem 0 0;
	overflow: hidden;
}

.detail-news__body.entry-content figure img {
	display: block;
	height: auto;
	width: 100%;
}

.drawer {
	background-color: #fff;
	bottom: 0;
	left: 0;
	opacity: 0;
	overflow-y: auto;
	pointer-events: none;
	position: fixed;
	top: 0;
	transition: opacity 0.5s ease, visibility 0.5s ease;
	visibility: hidden;
	width: 100%;
	z-index: 100;
}

.drawer.is-show {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.drawer__inner {
	box-sizing: border-box;
	margin-bottom: 3.5rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 6.5rem;
	max-width: 21.1875rem;
	width: 100%;
}

.drawer__list {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

.drawer__item {
	border-bottom: 0.0625rem solid #a8c0c4;
	overflow: hidden;
}

.drawer__link,
.drawer__contact-card {
	opacity: 0;
	transform: translateY(1.625rem);
}

.drawer__link {
	-webkit-text-decoration: none;
	box-sizing: border-box;
	color: #222;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	padding-bottom: 1.1875rem;
	padding-top: 1.25rem;
	text-decoration: none;
	transition: opacity 0.3s ease;
	width: 100%;
}

.drawer__link:focus-visible {
	outline: 0.125rem solid #3E91A8;
	outline-offset: 0.125rem;
}

.drawer__contact {
	padding-top: 2.5rem;
	width: 100%;
}

.drawer__contact-card {
	background-color: rgba(255, 255, 255, 0.4);
	border: 0.0625rem solid #C2DAE1;
	border-radius: 0.5rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 1.875rem 1.25rem;
	width: 100%;
}

.drawer__contact-label {
	color: #3E91A8;
	font-family: "Roboto", sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
}

.drawer__contact-body {
	display: flex;
	flex-direction: column;
	gap: 1.4375rem;
	width: 100%;
}

.drawer__contact-text {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
}

.drawer__contact .cta-button--sp {
	align-self: stretch;
}

.expert {
	margin-top: -0.375rem;
}

.expert__contents {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	padding-bottom: 7rem;
	padding-top: 2.375rem;
	width: 100%;
}

.expert__header {
	align-self: stretch;
	max-width: 75rem;
	width: 100%;
}

.expert__header-desc {
	color: #333;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin-top: 1rem;
}

.expert__stack {
	align-items: center;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.expert__items {
	grid-gap: 1.9375rem;
	display: grid;
	gap: 1.9375rem;
	justify-content: center;
	list-style: none;
	margin: 0;
	max-width: 21.875rem;
	padding: 0;
	width: 100%;
}

.expert__item {
	margin: 0;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.expert__action {
	display: flex;
	justify-content: center;
	margin-top: 3.5rem;
	max-width: 21.875rem;
	width: 100%;
}

/* Expert: 確かな実績バナー */

.expert-stats {
	background-color: #128EA4;
	border-radius: 0.75rem;
	box-sizing: border-box;
	margin-top: 3rem;
	margin-top: 5.5rem;
	max-width: 28.125rem;
	padding: 0.5rem;
	width: 100%;
}

.expert-stats__inner {
	align-items: center;
	border: 1px solid #f1f1f1;
	border-radius: 0.5rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1.5625rem 0.625rem 1.25rem;
}

.expert-stats__title {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	margin: 0;
	text-align: center;
}

.expert-stats__container {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3125rem;
	justify-content: center;
	min-height: 3.25rem;
	width: 100%;
}

/* 月桂冠を背景的に配置するための親 */

.expert-stats__item {
	display: flex;
	justify-content: center; /* アイコンがはみ出さないための余白 */
	padding: 0 1.5625rem;
	position: relative;
}

/* 月桂冠アイコン（擬似要素） */

.expert-stats__item::before,
.expert-stats__item::after {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 3.9375rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.75rem;
}

.expert-stats__item::before {
	background-image: url("../images/common/top/laurel-icon-L_sp.svg");
	left: 0;
}

.expert-stats__item::after {
	background-image: url("../images/common/top/laurel-icon-R_sp.svg");
	right: 0;
}

/* テキストグループ（ラベルと数字のセット） */

.expert-stats__body {
	align-items: center;
	display: flex;
	flex-direction: column;
	text-align: center;
}

.expert-stats__label {
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 0.5rem;
	text-align: center;
}

.expert-stats__value {
	align-items: flex-end; /* ★これで「件以上」が下揃えになる */
	color: #fff;
	display: flex;
	line-height: 1;
}

.expert-stats__number {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
}

.expert-stats__number-unit {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	white-space: nowrap;
}

.f-list-card {
	background-color: transparent;
	border: 0.125rem solid #B6C8CB;
	border-radius: 0.5rem;
	color: #fff;
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 21.875rem;
	padding: 1.375rem 1rem;
	width: 100%;
}

/* 親が青緑のとき：塗りだけ透過。PCは Figma list どおり下線＋シャドウを維持 */

.f-list-card--surface-clear {
	background-color: transparent;
	border-color: #e1eff1;
	box-shadow: 0 0 1.875rem rgba(6, 71, 148, 0.07);
}

/* 色違いモディファイア */

.f-list-card--color {
	border-color: #a8c0c4;
}

.f-list-card--color .f-list-card__index {
	color: #3E91A8;
}

.f-list-card--color .f-list-card__title,
.f-list-card--color .f-list-card__desc {
	color: #333;
}

.f-list-card__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	width: 100%;
}

.f-list-card__copy {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
}

.f-list-card__head {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
}

.f-list-card__index {
	color: #fff;
	font-family: "Roboto", sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	margin: 0;
}

.f-list-card__title {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	text-align: center;
	width: 100%;
}

.f-list-card__desc {
	color: #fff;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	text-align: left;
	width: 100%;
}

.f-list-card__media {
	aspect-ratio: 282/165;
	border-radius: 0.5rem;
	flex-shrink: 0;
	max-width: 100%;
	overflow: hidden;
	position: relative;
	width: 17.625rem;
}

.f-list-card__media picture {
	display: block;
	height: 100%;
	left: 0;
	margin: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.f-list-card__media img {
	-o-object-fit: cover;
	-o-object-position: center;
	display: block;
	height: 100%;
	margin: 0;
	max-width: none;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

/* 1. 基本設定（共通） */

.feature-block {
	--tab-color: transparent;
	--text-color: #fff;
	background-color: transparent;
	background-color: var(--tab-color);
	border-radius: 0 0.375rem 0 0;
	color: #fff;
	color: var(--text-color);
	position: relative;
	width: 100%;
}

/* 角丸バリエーション */

.feature-block--round {
	border-radius: 0 0.375rem 0.375rem 0.375rem;
}

.feature-block__tab {
	aspect-ratio: 260/46;
	bottom: calc(100% - 1px);
	color: var(--tab-color);
	font-size: 0;
	left: 0;
	line-height: 0;
	max-width: 260px;
	position: absolute;
	width: 66.6%;
	z-index: 2;
}

.feature-block__tab-svg {
	fill: currentColor;
	display: block;
	height: 100%;
	width: 100%;
}

.feature-block__tab-svg--sp {
	display: block;
}

.feature-block__tab-svg--pc {
	display: none;
}

/* 3. コンテンツ中身 */

.feature-block__content {
	border-radius: inherit;
	position: relative;
	z-index: 1;
}

/* 4. カラーバリエーション（data-variant） */

.feature-block[data-variant=blueGreen] {
	--tab-color: #128ea4;
	--text-color: #fff;
}

.feature-block[data-variant=white] {
	--tab-color: #fff;
	--text-color: #333;
}

.feature-block[data-variant=paleGray] {
	--tab-color: #f8f9fb;
	--text-color: #333;
}

.feature-block[data-variant=aqua] {
	--tab-color: #ebf7f9;
	--text-color: #333;
}

.filter {
	box-sizing: border-box;
	width: 100%;
}

.filter__unit {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	width: 100%;
}

.filter__label {
	color: #333;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
}

.filter__select-wrapper {
	position: relative;
	width: 100%;
}

.filter__select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='8' viewBox='0 0 15 8' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.33344 7.72168L2 2.34415L3.33312 1L8 5.70546L12.6669 1L14 2.34415L8.66656 7.72168C8.48976 7.89989 8.25 8 8 8C7.75 8 7.51024 7.89989 7.33344 7.72168Z' fill='%23757575'/%3E%3C/svg%3E");
	background-position: right 0.875rem center;
	background-repeat: no-repeat;
	background-size: 0.9375rem 0.5rem;
	border: 0.0625rem solid #878787;
	border-radius: 0.25rem;
	box-sizing: border-box;
	color: #9d9d9d;
	cursor: pointer;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	min-height: 2.875rem;
	padding: 0.125rem 1.8125rem 0.125rem 1rem;
	width: 100%;
}

.filter__select::-ms-expand {
	display: none;
}

.filter__select:focus {
	outline: none;
}

.filter__select option {
	color: #333;
}

.filter__select option[value=""] {
	color: #9d9d9d;
}

.footer {
	color: #333;
	margin-bottom: 0.75rem;
}

.footer__body {
	display: flex;
	flex-direction: column;
	gap: 3.25rem;
	width: 100%;
}

.footer__lead {
	display: flex;
	flex-direction: column;
	gap: 2.4375rem;
	width: 100%;
}

.footer__logo {
	display: block;
	line-height: 0;
	width: min(100%, 14.125rem);
}

.footer__logo-picture {
	display: block;
	width: 100%;
}

.footer__logo img {
	display: block;
	height: auto;
	width: 100%;
}

.footer__nav {
	width: 100%;
}

.footer__nav-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 2rem;
	list-style: none;
}

.footer__nav-item a {
	-webkit-text-decoration: none;
	color: #333;
	display: inline-block;
	font-size: 1rem;
	letter-spacing: 0.02em;
	line-height: 1.8;
	padding-bottom: 0.625rem;
	padding-top: 0.625rem;
	text-decoration: none;
	transition: color 0.3s ease;
	white-space: nowrap;
}

.footer__nav-item:first-child a {
	padding-left: 0;
}

.footer__sns {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	justify-content: center;
	list-style: none;
	margin: 0;
	max-width: 72.5rem;
	padding: 0;
	width: 100%;
}

.footer__sns-link {
	align-items: center;
	color: #333;
	display: flex;
	height: 2.75rem;
	justify-content: center;
	line-height: 0;
	width: 2.75rem;
}

.footer__sns-icon {
	display: block;
	height: 100%;
	width: 100%;
}

.footer__copyright {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
	margin-top: 2.5rem;
	text-align: center;
}

/* カラー変数 */

.wpcf7-checkbox .wpcf7-list-item {
	display: block;
}

.wpcf7 form.invalid .wpcf7-response-output {
	border: none;
	color: #CC0000;
	font-family: "Noto Sans JP", serif;
	font-size: 0.8125rem;
	margin: 0 auto;
	margin-top: 1rem;
	padding: 0 0 0 0;
	text-align: center;
	width: 100%;
}

.wpcf7 form .wpcf7-response-output {
	border: none;
	margin: 0;
	padding: 0;
}

.form__field--checkbox span.wpcf7-not-valid-tip::after,
.form__field--checkbox span.wpcf7-list-item.last::after,
.form__field--checkbox span.wpcf7-form-control-wrap::after,
.form__field--checkbox span.wpcf7-form-control.wpcf7-radio::after,
.form__field--checkbox span.wpcf7-list-item::after,
.form__field--checkbox span.wpcf7-list-item.first::after,
.form__field--checkbox span.wpcf7-not-valid-tip::before,
.form__field--checkbox span.wpcf7-form-control-wrap::before,
.form__field--checkbox span.wpcf7-form-control.wpcf7-radio::before,
.form__field--checkbox span.wpcf7-list-item::before,
.form__field--checkbox span.wpcf7-list-item.first::before,
.form__field--radio span.wpcf7-not-valid-tip::after,
.form__field--radio span.wpcf7-list-item.last::after,
.form__field--radio span.wpcf7-form-control-wrap::after,
.form__field--radio span.wpcf7-form-control.wpcf7-radio::after,
.form__field--radio span.wpcf7-list-item::after,
.form__field--radio span.wpcf7-list-item.first::after,
.form__field--radio span.wpcf7-not-valid-tip::before,
.form__field--radio span.wpcf7-form-control-wrap::before,
.form__field--radio span.wpcf7-form-control.wpcf7-radio::before,
.form__field--radio span.wpcf7-list-item::before,
.form__field--radio span.wpcf7-list-item.first::before {
	clip: rect(0, 0, 0, 0);
	display: none;
}

.form__field--privacy span.wpcf7-list-item-label:before,
.form__field--privacy span.wpcf7-list-item-label:after,
.form__field--privacy span.wpcf7-form-control.wpcf7-acceptance::after,
.form__field--privacy span.wpcf7-list-item::before,
.form__field--privacy span.wpcf7-list-item-label::before,
.form__field--privacy span.wpcf7-form-control-wrap::before,
.form__field--privacy span.wpcf7-form-control.wpcf7-acceptance::before {
	background: transparent;
	border: none;
}

.wpcf7-spinner {
	display: none !important;
}

.form__set {
	grid-gap: 1rem;
	background-color: #fff;
	border-radius: 0.5rem;
	box-sizing: border-box;
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: 3rem 1.25rem;
	width: 100%;
}

.form__row-group {
	grid-gap: 1rem;
	display: grid;
	gap: 1rem;
	margin: 0;
	width: 100%;
}

.form__row {
	grid-gap: 0.25rem;
	display: grid;
	gap: 0.25rem;
	min-width: 0;
	width: 100%;
}

.form__row--message .form__field > span {
	display: block;
	max-width: 100%;
	width: 100%;
}

.form__label {
	color: #333;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
}

.form__label label {
	display: inline-block;
}

.form__label span.is-required {
	display: inline-block;
	position: relative;
}

.form__label span.is-required::after {
	background: #CC0000;
	border-radius: 0.3125rem;
	color: #fff;
	content: "必須";
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.75rem;
	font-weight: 400;
	left: calc(100% + 0.5rem);
	line-height: 1;
	padding: 0.1875rem 0.25rem 0.1875rem;
	position: absolute;
	top: calc(50% - 0.125rem);
	translate: 0 -50%;
	white-space: nowrap;
}

.form__field {
	margin: 0;
}

.form__field input[type=text],
.form__field input[type=tel],
.form__field input[type=email],
.form__textarea,
.form__row--message textarea {
	background-color: #fff;
	border: 0.0625rem solid #878787;
	border-radius: 0.25rem;
	box-sizing: border-box;
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	min-height: 2.875rem;
	padding: 0.5625rem 1.125rem;
	width: 100%;
}

.form__textarea,
.form__row--message textarea {
	height: 9.875rem;
	resize: vertical;
}

.form__field input::-moz-placeholder,
.form__textarea::-moz-placeholder,
.form__row--message textarea::-moz-placeholder {
	color: #8c8c8c;
}

.form__field input::placeholder,
.form__textarea::placeholder,
.form__row--message textarea::placeholder {
	color: #8c8c8c;
}

.form__field input:focus-visible,
.form__textarea:focus-visible,
.form__row--message textarea:focus-visible {
	outline: 0.125rem solid #D0E6EC;
	outline-offset: 0.0625rem;
}

/* お問い合わせ：グローバル reset の input { outline: none } より確実に上書き */

.form--contact .form__field input[type=tel]:focus-visible,
.form--contact .form__row--message textarea:focus-visible {
	outline: 0.125rem solid #D0E6EC;
	outline-offset: 0.0625rem;
}

.form__error {
	color: #CC0000;
	font-size: 0.75rem;
	margin: 0.25rem 0 0;
	min-height: 1.125rem;
}

.form__footer {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-top: 2rem;
	width: 100%;
}

.form__checbox-wrapper,
.form__checkbox-wrapper {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.form__checbox-wrapper .form__row,
.form__checkbox-wrapper .form__row {
	margin-bottom: 0;
	margin-top: 0;
}

.form__checbox-wrapper .wpcf7-list-item,
.form__checkbox-wrapper .wpcf7-list-item {
	margin: 0;
}

.form__checbox-wrapper .form__field--privacy,
.form__checkbox-wrapper .form__field--privacy {
	margin: 0;
}

label.form__field--checkbox,
.form__field--checkbox label,
label.form__field--privacy,
.form__field--privacy label {
	align-items: center;
	display: flex;
	gap: 0.625rem;
}

.form__field--checkbox input[type=checkbox] {
	clip: rect(0, 0, 0, 0);
	display: block;
	height: 0.0625rem;
	position: absolute;
	width: 0.0625rem;
}

.form__field--checkbox input[type=checkbox] {
	background-color: #fbfbfb;
	border: 0.0625rem solid #878787;
	border-radius: 0.0625rem;
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	flex-shrink: 0;
	height: 1.5rem;
	position: relative;
	transition: box-shadow 0.3s, outline 0.3s;
	width: 1.5rem;
}

.form__field--checkbox input[type=checkbox]::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='13' viewBox='0 0 18 13' fill='none'%3E%3Cpath d='M16.8359 0.857422C16.9056 0.857422 16.9635 0.873119 17.0459 0.955078C17.1223 1.03112 17.1425 1.08977 17.1426 1.17285C17.1426 1.256 17.1225 1.3137 17.0469 1.38867L17.0459 1.39062L6.36621 12.0449C6.28381 12.1269 6.22578 12.1425 6.15625 12.1426C6.08659 12.1426 6.02784 12.127 5.94531 12.0449L0.94043 7.06543C0.869427 6.99479 0.855285 6.94605 0.857422 6.87305C0.860075 6.78273 0.885598 6.71358 0.969727 6.62988C1.0475 6.55256 1.10787 6.53208 1.19238 6.53223C1.28037 6.53244 1.34264 6.55426 1.41992 6.63086L5.54883 10.7686L6.1543 11.374L6.76074 10.7705L16.626 0.955078C16.7084 0.873109 16.7663 0.857426 16.8359 0.857422Z' fill='%236E878E' stroke='%23878787' stroke-width='1.71429'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	content: "";
	height: 0.8125rem;
	left: 0.1875rem;
	left: 50%;
	opacity: 0;
	position: absolute;
	position: absolute;
	top: 0rem;
	top: 50%;
	transition: opacity 0.2s ease;
	translate: -50% -50%;
	width: 1.125rem;
}

.form__field--checkbox input[type=checkbox]:checked::before {
	opacity: 1;
}

.form__field--checkbox__input:focus-visible {
	outline: 0.125rem solid #D0E6EC;
	outline-offset: 0.125rem;
}

.form__field--checkbox__text,
.form__field--checkbox__text .wpcf7-list-item-label {
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
}

.form__submit {
	background-color: #fff;
	border: 0.125rem solid #3E91A8;
	border-radius: 3rem;
	box-sizing: border-box;
	display: inline-block;
	margin-top: 4.5rem;
	max-width: 21.875rem;
	padding: 0.375rem;
	transition: background-color 0.3s ease;
	width: 100%;
}

.form__submit input {
	background-color: #fff;
	border: 0.125rem solid #3E91A8;
	border-radius: 3rem;
	box-sizing: border-box;
	color: #3E91A8;
	cursor: pointer;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	min-height: 3.25rem;
	padding-bottom: 1.1875rem;
	padding-left: 2.25rem;
	padding-right: 2.5rem;
	padding-top: 1.1875rem;
	position: relative;
	text-align: center;
	transition: border-color 0.3s ease;
	width: 100%;
}

.form__submit input::after {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M6.75 4.5 11.25 9l-4.5 4.5' stroke='%233E91A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
	content: "";
	height: 1.125rem;
	position: absolute;
	right: 0.9375rem;
	top: calc(50% - 0.125rem);
	transform: translateY(-50%);
	transition: right 0.3s ease;
	width: 1.125rem;
}

.form__submit input:disabled {
	cursor: not-allowed;
	opacity: 0.75;
}

.form__submit input:focus-visible {
	outline: 0.125rem solid #3E91A8;
	outline-offset: 0.125rem;
}

.form__note {
	color: #333;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin-top: 2.5rem;
	text-align: center;
}

.form--detail .form__field--checkbox {
	color: #fff;
}

.form--detail .form__note {
	color: #fff;
}

.form--contact .form__set {
	padding: 2rem 1rem;
}

.form--contact .form__row--message {
	max-width: none;
}

.form--contact .form__label .is-required--text::after {
	left: calc(100% + 0.5rem);
	right: auto;
}

.form--contact .form__footer {
	margin-top: 2.5rem;
}

.form--contact .form__submit {
	margin-top: 3rem;
	max-width: 20.75rem;
}

.form--contact .form__note {
	margin-top: 2.5rem;
	text-align: left;
}

.form--contact .contact__policy {
	margin-top: 2rem;
}

.form--contact .policy-body {
	line-height: 1.5;
}

.form--contact .policy-body p,
.form--contact .policy-body h3,
.form--contact .policy-body ul,
.form--contact .policy-body ol {
	margin-bottom: 0.75rem;
}

.form--contact .policy-body li {
	margin-bottom: 0.375rem;
}

.form--contact .policy-box__header {
	font-size: 1.125rem;
	min-height: 4.125rem;
}

.form--contact .policy-body {
	height: 13.125rem;
	padding: 1rem;
}

.form__row input.wpcf7-not-valid,
.form__row--message textarea.wpcf7-not-valid {
	background: rgba(228, 78, 24, 0.2);
	border: 0.125rem solid #333;
}

.form__row input[type=tel].wpcf7-not-valid::-moz-placeholder,
.form__row input[type=text].wpcf7-not-valid::-moz-placeholder,
.form__row input[type=email].wpcf7-not-valid::-moz-placeholder,
.form__row--message textarea.wpcf7-not-valid::-moz-placeholder {
	color: #fff;
}

.form__row input[type=tel].wpcf7-not-valid::placeholder,
.form__row input[type=text].wpcf7-not-valid::placeholder,
.form__row input[type=email].wpcf7-not-valid::placeholder,
.form__row--message textarea.wpcf7-not-valid::placeholder {
	color: #fff;
}

.form__row input:focus-visible.wpcf7-not-valid,
.form__row--message textarea:focus-visible.wpcf7-not-valid {
	border: 0.125rem solid #333;
	outline: 0.0625rem solid #333;
}

.form__row input:focus.wpcf7-not-valid,
.form__row--message textarea:focus.wpcf7-not-valid {
	background: rgba(228, 78, 24, 0.2);
}

.form__field--checkbox .wpcf7-not-valid input[type=checkbox] {
	background-color: rgba(228, 78, 24, 0.2);
	border-color: #333;
}

.form__field--checkbox .wpcf7-not-valid input[type=checkbox]:focus-visible {
	outline: 0.0625rem solid #333;
}

.form__field--checkbox.is-error input[name=acceptance-547] {
	background-color: rgba(228, 78, 24, 0.2);
	border-color: #333;
}

.form__field--checkbox input[type=checkbox][aria-invalid=true] {
	outline: 0.0625rem solid #333;
}

.fv-card {
	--fv-card-tab-bg: #428ACB;
	background-color: transparent;
	display: block;
	max-width: none;
	overflow: visible;
	position: relative;
	width: 100%;
}

.fv-card--tab-main {
	--fv-card-tab-bg: #3E91A8;
}

.fv-card--tab-slate {
	--fv-card-tab-bg: #3C5F7E;
}

.fv-card__tab {
	bottom: 100%;
	color: #7EC0B4;
	display: block;
	height: 1.6875rem;
	left: 0;
	pointer-events: none;
	position: absolute;
	width: 8.4375rem;
	z-index: 1;
}

.fv-card__inner {
	background-color: #fff;
	border-radius: 0 0.375rem 0.375rem 0.375rem;
	box-shadow: 0 0 2rem rgba(47, 82, 92, 0.07);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1rem 1rem 0.5rem;
	position: relative;
	width: 100%;
}

.fv-card__media {
	aspect-ratio: 264/155;
	border-radius: 0.375rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.fv-card__media img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fv-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.375rem;
	justify-content: space-between;
	min-height: 0;
	width: 100%;
}

.fv-card__upper {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	width: 100%;
}

.fv-card__category {
	color: #2F778B;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.fv-card__detail {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
}

.fv-card__name-group {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	width: 100%;
}

.fv-card__heading-row {
	-moz-column-gap: 1.3125rem;
	align-items: center;
	column-gap: 1.3125rem;
	display: flex;
	flex-wrap: wrap;
	row-gap: 0.25rem;
}

.fv-card__title {
	border-bottom: 1px solid #66a8ba;
	box-sizing: border-box;
	color: #595959;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	padding: 0 0.125rem;
}

.fv-card__name {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.fv-card__company {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.fv-card__lead {
	background-color: #eef6f8;
	border-radius: 0.125rem;
	box-sizing: border-box;
	color: #595959;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	padding: 0.25rem 0.375rem;
	width: 100%;
}

.fv-card__areas {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
}

.fv {
	background-image: url("../images/common/fv/fv-bgImg_sp.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 88.4375rem;
	position: relative;
	width: 100%;
}

.fv__container {
	height: 100%;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.fv__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 3rem;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	top: 10.375rem;
	width: calc(100% - 2.5rem);
}

.fv__copy {
	align-items: flex-start;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	order: 1;
	width: 100%;
}

.fv__heading {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.75rem;
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	width: 100%;
}

.fv__heading-line {
	display: block;
}

.fv__heading-accent {
	color: #fff;
}

.fv__lead-text {
	color: #fff;
	display: flex;
	flex-direction: column;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	gap: 1.375rem;
	letter-spacing: 0.02em;
	line-height: 1.5;
	width: 100%;
}

.fv__aside {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 2.25rem;
	max-width: 18.5rem;
	order: 2;
	width: 100%;
}

.fv__aside .fv__link {
	max-width: 100vw;
	width: 21.875rem;
}

.fv__aside .fv__cards {
	width: 100%;
}

.fv__aside .fv__cards-stack {
	position: relative;
	width: 100%;
}

.fv__aside .fv__card-back {
	display: none;
}

.fv__aside .fv__card-back .intro-card--fv {
	flex-shrink: 0;
}

.fv__aside .fv__card-front {
	position: relative;
	width: 100%;
	z-index: 1;
}

.fv__actions {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.6875rem;
	order: 3;
	width: 21.875rem;
}

.fv__actions .fv__link {
	display: flex;
	justify-content: center;
	max-width: 21.875rem;
	width: 100%;
}

/*----------------------------------
スライダー：fvカード
-----------------------------------*/

/* --- ハンバーガーボタン本体（基本設定） --- */

.hamburger {
	align-items: center;
	background-color: #3E91A8;
	border: none;
	border-radius: 0.25rem;
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 0.25rem;
	height: 2.25rem;
	justify-content: center;
	padding: 0;
	position: relative;
	width: 3.5rem;
	z-index: 300;
}

/* --- バーの基本と「戻る」アニメーション --- */

.hamburger__bar {
	background-color: #fff;
	border-radius: 0.125rem;
	display: block;
	flex-shrink: 0;
	height: 0.125rem;
	width: 1.625rem;
}

/* 初期状態およびis-showが外れた時の動き */

.hamburger .hamburger__bar:nth-child(1) {
	animation: bar-close-rev 0.75s forwards;
}

.hamburger .hamburger__bar:nth-child(2) {
	opacity: 1;
	transition: opacity 0.25s 0.25s;
}

.hamburger .hamburger__bar:nth-child(3) {
	animation: bar-close-bottom-rev 0.75s forwards;
}

/* --- クリック時 (is-show) のアニメーション --- */

.hamburger.is-show .hamburger__bar:nth-child(1) {
	animation: bar-open-top-flat 0.75s forwards;
}

.hamburger.is-show .hamburger__bar:nth-child(2) {
	opacity: 0;
	transition: opacity 0.25s;
}

.hamburger.is-show .hamburger__bar:nth-child(3) {
	animation: bar-open-bottom-flat 0.75s forwards;
}

/* --- Keyframes (25deg = 垂直に対して約115度の平べったい×) --- */

/* --- ベーススタイル (共通の見た目) --- */

.header {
	background-color: transparent;
	box-sizing: border-box;
	left: 0;
	padding: 1rem 1.25rem;
	transition: background-color 0.5s ease;
	width: 100%;
	z-index: 200;
}

/* --- 配置の出し分け (モディファイア) --- */

.header--fixed {
	position: fixed;
	top: 0;
}

.header--static {
	background-color: transparent;
	position: static;
}

/* --- 内部パーツ (共通) --- */

.header__inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 90rem;
	width: 100%;
}

.header__logo {
	flex-shrink: 0;
	line-height: 0;
}

.header__logo-link {
	display: inline-block;
	line-height: 0;
	position: relative;
}

.header__logo-pic {
	animation: opacity 0.5s ease forwards;
	display: none;
}

.header__logo-pic--color {
	display: block;
}

.header__logo-pic img {
	display: block;
	height: auto;
	width: 8.875rem;
}

/* --- ナビゲーション --- */

.header__nav {
	align-items: center;
	display: none;
	flex-shrink: 0;
	gap: 2rem;
}

.header__list {
	display: flex;
	gap: 0.875rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.header__link {
	-webkit-text-decoration: none;
	box-sizing: border-box;
	color: #333;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1;
	padding: 1.25rem 0.5rem;
	text-decoration: none;
	transition: color 0.3s ease;
}

/* --- 共通：CTAボタン --- */

.header .cta-button {
	box-sizing: border-box;
	flex-shrink: 0;
	width: 10.625rem;
}

/*----------------------------------
  ロゴの出し分け設定
-----------------------------------*/

/* --- 白色ロゴ --- */

.header--white .header__logo-pic--color {
	display: none;
}

.header--white .header__logo-pic--white {
	display: block;
}

/*----------------------------------
  ナビリンクのフォントカラー
-----------------------------------*/

.header--white .header__link {
	color: #fff;
}

/*----------------------------------
  スクロールで背景色が変わる
-----------------------------------*/

/* 白背景 */

.header.is-scrolled {
	background-color: rgba(248, 249, 251, 0.6);
}

/* メインカラー背景 */

.header--white.is-scrolled {
	background-color: rgba(18, 142, 164, 0.6);
}

/* --- 1. ロゴのふわっと切り替え設定 --- */

.header__logo-pic--color,
.header__logo-pic--white {
	animation: logoFadeIn 0.5s ease forwards;
}

.imgSlider__container {
	height: 10.25rem;
	overflow: hidden;
	width: 100%;
}

.imgSlider__swiper {
	height: inherit;
}

.imgSlider__swiper-wrapper {
	transition-timing-function: linear !important;
}

.imgSlider__swiper-wrapper {
	display: flex;
	will-change: transform;
}

.imgSlider__swiper-slide {
	border-radius: 0.5rem;
	flex-shrink: 0; /* 潰れるのを防ぐ */
	height: 100%;
	overflow: hidden; /* 固定幅を指定（重要！） */
	width: 17.5rem;
}

.imgSlider__swiper-slide img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover; /* 画像の比率を保つ */
	width: 100%;
}

.inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

.intro-card {
	background-color: transparent;
	display: block;
	max-width: none;
	overflow: visible;
	position: relative;
	width: 100%;
}

.intro-card__inner {
	background-color: #fff;
	border-radius: 0.5rem;
	box-shadow: 0 0 2.5rem rgba(47, 82, 92, 0.07);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	padding: 1.25rem 1.25rem 0.625rem;
	position: relative;
	width: 100%;
}

.intro-card__media {
	aspect-ratio: 310/175;
	border-radius: 0.5rem;
	max-width: 19.375rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.intro-card__media img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.intro-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 1rem;
	justify-content: flex-start;
	min-height: 0;
	width: 100%;
}

.intro-card__upper {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	width: 100%;
}

.intro-card__category {
	color: #2F778B;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.intro-card__detail {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	width: 100%;
}

.intro-card__name-group {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	width: 100%;
}

.intro-card__heading-row {
	-moz-column-gap: 1.625rem;
	align-items: center;
	column-gap: 1.625rem;
	display: flex;
	flex-wrap: wrap;
	row-gap: 0.375rem;
}

.intro-card__title {
	border-bottom: 1px solid #66a8ba;
	box-sizing: border-box;
	color: #595959;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	padding: 0 0.125rem;
}

.intro-card__name {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.intro-card__company {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.intro-card__lead {
	line-clamp: 2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	background-color: #eef6f8;
	border-radius: 0.125rem;
	box-sizing: border-box;
	color: #595959;
	display: -webkit-box;
	font-size: 1rem;
	font-weight: 500;
	height: 3.375rem;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	overflow: hidden;
	padding: 0.375rem 0.5rem;
	width: 100%;
}

.intro-card__areas {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
}

.intro-card--listing .intro-card__inner {
	border-radius: 0 0.5rem 0.5rem 0.5rem;
}

/*----------------------------------
  エキスパート詳細ページ：エキスパートカード
  -----------------------------------*/

.intro-card--expert {
	max-width: none;
}

.intro-card--expert .intro-card__expert-top {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
}

.intro-card--expert .intro-card__inner {
	border-radius: 0 0.5rem 0.5rem 0.5rem;
	gap: 1rem;
	padding: 1.5rem 1.25rem;
}

.intro-card--expert .intro-card__content {
	align-items: center;
	gap: 1.5rem;
	justify-content: flex-start;
}

.intro-card--expert .intro-card__tags {
	gap: 0.875rem;
}

.intro-card--expert .intro-card__upper {
	gap: 0.625rem;
}

.intro-card--expert .intro-card__detail {
	gap: 0.875rem;
}

.intro-card--expert .intro-card__name-group {
	gap: 0.625rem;
}

.intro-card--expert .intro-card__heading-row {
	align-items: flex-start;
	flex-direction: column;
	gap: 0.375rem;
	row-gap: 0.375rem;
}

.intro-card--expert .intro-card__company {
	color: #595959;
	font-size: 1rem;
	font-weight: 700;
}

.intro-card--expert .intro-card__title {
	color: #333;
	font-size: 1.25rem;
	letter-spacing: 0.02em;
}

.intro-card--expert .intro-card__name {
	color: #333;
	font-size: 1.375rem;
	letter-spacing: 0.02em;
}

.intro-card--expert .intro-card__lead {
	line-clamp: initial;
	-webkit-box-orient: unset;
	-webkit-line-clamp: unset;
	color: #333;
	display: block;
	height: auto;
	line-height: 1.5;
	overflow: visible;
}

.intro-card--expert .intro-card__cta {
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	width: 100%;
}

.intro-card__tags {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.intro-card__cta {
	margin-left: auto;
	margin-right: auto;
	max-width: 20.25rem;
	width: 100%;
}

/*----------------------------------
  /* コラム一覧カード（下層）
-----------------------------------*/

.intro-card--column .intro-card__inner {
	border-radius: 0 0.5rem 0.5rem 0.5rem;
	box-shadow: none;
	gap: 0.875rem;
	padding: 1.25rem 1.25rem 0.875rem;
}

.intro-card--column .intro-card__content {
	flex: 1 1 auto;
	flex-direction: column;
	gap: 1rem;
	justify-content: flex-start;
	min-height: 0;
}

.intro-card--column .intro-card__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 3rem;
}

.intro-card--column .intro-card__date {
	color: #3E91A8;
	font-family: "Roboto", sans-serif;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1;
}

.intro-card--column .intro-card__label {
	background-color: #fff;
	border: 1px solid #7CABB8;
	border-radius: 6.25rem;
	color: #2F778B;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.02em;
	line-height: 1;
	margin: 0;
	padding: 0.25rem 0.9375rem;
}

.intro-card--column .intro-card__text-block {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	min-width: 0;
	width: 100%;
}

.intro-card--column .intro-card__headline {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
}

.intro-card--column .intro-card__byline {
	-moz-column-gap: 1.625rem;
	align-items: center;
	column-gap: 1.625rem;
	display: flex;
	flex-wrap: wrap;
	row-gap: 0.375rem;
}

.intro-card--column .intro-card__role {
	border-bottom: 1px solid #66a8ba;
	box-sizing: border-box;
	color: #595959;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	padding: 0 0.125rem;
}

.intro-card--column .intro-card__column-name {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

/*----------------------------------
  お知らせ一覧カード(下層)
-----------------------------------*/

.intro-card--news .intro-card__inner {
	border-radius: 0 0.5rem 0.5rem 0.5rem;
	box-shadow: 0 0 2.5rem rgba(47, 82, 92, 0.07);
	gap: 0.875rem;
	padding: 1.25rem 1.25rem 0.875rem;
}

.intro-card--news .intro-card__media {
	border-radius: 0.25rem;
}

.intro-card--news .intro-card__content {
	gap: 1rem;
}

.intro-card--news .intro-card__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.intro-card--news .intro-card__date {
	color: #3E91A8;
	font-family: "Roboto", sans-serif;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1;
}

.intro-card--news .intro-card__headline {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
}

/*----------------------------------
  トップFV（index）：従来 fv-card と同一見た目・タブ内包構造
-----------------------------------*/

.intro-card--fv {
	--fv-card-tab-bg: #428ACB;
	background-color: transparent;
	display: block;
	max-width: none;
	overflow: visible;
	position: relative;
	width: 100%;
}

.intro-card--fv .intro-card__tab {
	bottom: 100%;
	color: #7EC0B4;
	display: block;
	height: 1.6875rem;
	left: 0;
	pointer-events: none;
	position: absolute;
	width: 8.4375rem;
	z-index: 1;
}

.intro-card--fv .intro-card__inner {
	background-color: #fff;
	border-radius: 0 0.375rem 0.375rem 0.375rem;
	box-shadow: 0 0 2rem rgba(47, 82, 92, 0.07);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1rem 1rem 0.5rem;
	position: relative;
	width: 100%;
}

.intro-card--fv .intro-card__media {
	aspect-ratio: 264/155;
	border-radius: 0.375rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.intro-card--fv .intro-card__content {
	gap: 0.375rem;
	justify-content: space-between;
}

.intro-card--fv .intro-card__upper {
	gap: 0.25rem;
}

.intro-card--fv .intro-card__category {
	font-size: 0.75rem;
}

.intro-card--fv .intro-card__detail {
	gap: 0.5rem;
}

.intro-card--fv .intro-card__name-group {
	gap: 0.25rem;
}

.intro-card--fv .intro-card__heading-row {
	-moz-column-gap: 1.3125rem;
	column-gap: 1.3125rem;
	row-gap: 0.25rem;
}

.intro-card--fv .intro-card__title {
	font-size: 0.9375rem;
}

.intro-card--fv .intro-card__name {
	font-size: 0.9375rem;
}

.intro-card--fv .intro-card__company {
	font-size: 0.6875rem;
}

.intro-card--fv .intro-card__lead {
	font-size: 0.8125rem;
	padding: 0.25rem 0.375rem;
}

.intro-card--fv .intro-card__areas {
	font-size: 0.6875rem;
}

.intro-card--fv .fv-card-body-slider {
	box-sizing: border-box;
	flex-shrink: 1;
	min-width: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.intro-card--fv .fv-card-body-slider__track {
	box-sizing: border-box;
	display: flex;
	gap: 0.625rem;
	min-width: 0;
	transition: transform 0.45s ease-out;
	width: 100%;
	will-change: transform;
}

.intro-card--fv .fv-card-body-slider__slide {
	background-color: #fff;
	border-radius: 0.5rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 0.75rem;
	max-width: 100%;
	min-width: 0;
	width: 100%;
}

.intro-card--fv .fv-card-body-slider__slide .intro-card__content {
	flex: 0 1 auto;
	min-height: 0;
}

.intro-card--fv .fv-card-body-slider__slide .intro-card__media {
	flex-shrink: 0;
}

.intro-card--fv .fv-card-body-slider__slide--clone {
	-webkit-user-select: none;
	-moz-user-select: none;
	pointer-events: none;
	user-select: none;
}

.intro-card--fv-tab-slate {
	--fv-card-tab-bg: #3C5F7E;
}

/*----------------------------------
  コラム詳細ページ：コラムカード
-----------------------------------*/

/* about、page-service用のタイトル */

.lead-title {
	color: #2F778B;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.line-header {
	align-items: center;
	display: flex;
	justify-content: center;
	margin: 0;
}

.line-header__line {
	background-color: #3E91A8;
	border-radius: 0.125rem;
	display: block;
	flex-shrink: 0;
	height: 0.25rem;
	width: 1.5rem;
}

.line-header__title {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin-left: 0.75rem;
	margin-right: 0.75rem;
}

.link-button {
	-webkit-text-decoration: none;
	background-color: #D0E6EC;
	border-radius: 3rem;
	box-sizing: border-box;
	display: inline-flex;
	padding: 0.375rem;
	text-decoration: none;
	transition: background-color 0.3s ease;
	vertical-align: middle;
	width: 100%;
}

.link-button__inner {
	-moz-column-gap: 2.375rem;
	align-items: center;
	background-color: #fff;
	border: 0.125rem solid #3E91A8;
	border-radius: 6.25rem;
	box-sizing: border-box;
	color: #3E91A8;
	column-gap: 2.375rem;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.1em;
	line-height: 1;
	min-height: 3.25rem;
	padding-bottom: 1.1875rem;
	padding-left: 2.25rem;
	padding-right: 3.75rem;
	padding-top: 1.1875rem;
	position: relative;
	transition: border-color 0.3s ease;
	width: 100%;
}

.link-button__text {
	white-space: nowrap;
}

.link-button__icon {
	flex-shrink: 0;
	height: 1.125rem;
	position: absolute;
	right: 15px;
	top: calc(50% - 0.125rem);
	transform: translateY(-50%);
	transition: right 0.3s ease, left 0.3s ease;
	width: 1.125rem;
}

.link-button__icon svg {
	display: block;
	height: 100%;
	width: 100%;
}

.link-button:focus-visible {
	outline: 0.125rem solid #3E91A8;
	outline-offset: 0.125rem;
}

/*----------------------------------
  詳細ページCTA
-----------------------------------*/

.link-button--cta .link-button__inner {
	background-color: #3E91A8;
	border-color: #3E91A8;
	color: #fff;
	justify-content: center;
	min-height: 2.875rem;
	padding-bottom: 0.875rem;
	padding-top: 0.875rem;
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.link-button--cta .link-button__icon {
	right: 0.875rem;
	top: 50%;
}

/*----------------------------------
  戻るボタン
-----------------------------------*/

.link-button--back .link-button__inner {
	justify-content: center;
	padding-bottom: 1.125rem;
	padding-left: 3.75rem;
	padding-right: 2.25rem;
	padding-top: 1.125rem;
}

.link-button--back .link-button__icon {
	height: 1rem;
	left: 1rem;
	right: auto;
	top: 50%;
	transform: translateY(-50%) scaleX(-1);
	width: 1rem;
}

.list-card__link {
	-webkit-text-decoration: none;
	color: inherit;
	display: block;
	text-decoration: none;
}

.list-card__thumb {
	border-radius: 0.5rem;
	display: block;
	overflow: hidden;
	width: 100%;
}

.list-card__thumb img {
	-o-object-fit: cover;
	border-radius: 0.5rem;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: scale 0.6s;
	width: 100%;
}

/* コラム一覧：TOPページ */

.list-card--column .list-card__thumb {
	aspect-ratio: 350/197;
	max-width: 21.875rem;
}

.list-card--column .list-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin-top: 0.625rem;
}

.list-card--column .list-card__date {
	color: #7CABB8;
	font-family: "Roboto", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1;
	margin: 0;
}

.list-card--column .list-card__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	color: #333;
	display: -webkit-box;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.4;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color 0.3s ease;
}

.nav-card {
	display: block;
	width: 100%;
}

.nav-card__link {
	-webkit-text-decoration: none;
	align-items: center;
	aspect-ratio: 350/148;
	background-color: #fff;
	border: 0.0625rem solid #B6C8CB;
	border-radius: 0.75rem;
	color: inherit;
	display: flex;
	overflow: hidden;
	padding: 0 2.875rem 0 1.5rem;
	position: relative;
	text-decoration: none;
	width: 100%;
}

.nav-card__content {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-top: -1.0625rem;
	width: 100%;
}

.nav-card__icon {
	flex-shrink: 0;
	order: 2;
	width: 7.8125rem;
}

.nav-card__icon img {
	display: block;
	height: auto;
	transition: opacity 0.3s ease;
	width: 100%;
}

.nav-card__text {
	min-width: 9.6875rem;
	order: 1;
	width: 100%;
}

.nav-card__title {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.3;
	margin: 0;
}

.nav-card__sub {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.3;
	margin: 0.375rem 0 0;
}

.nav-card__arrow {
	bottom: 0.875rem;
	display: block;
	height: 2rem;
	position: absolute;
	right: 0.875rem;
	transition: transform 0.3s ease;
	width: 2rem;
	z-index: 2;
}

.nav-card__arrow svg {
	display: block;
	height: 100%;
	width: 100%;
}

/*----------------------------------
下層：サービスセクションの固有スタイル
-----------------------------------*/

/* スタートアップ */

/* SP: Figma 785:36119（card）／PC（md〜）は従来どおり */

.nav-card--startUp .nav-card__link {
	align-items: center;
	aspect-ratio: auto;
	aspect-ratio: 350/136;
	flex-direction: row;
	justify-content: center;
	padding: 0.875rem 1.25rem 1.25rem;
}

.nav-card--startUp .nav-card__content {
	margin-top: 0;
}

.nav-card--startUp .nav-card__text {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 0.375rem;
	justify-content: center;
	min-width: 0;
}

.nav-card--startUp .nav-card__title {
	letter-spacing: 0.02em;
}

.nav-card--startUp .nav-card__sub {
	letter-spacing: 0.02em;
	margin: 0;
}

.nav-card--startUp .nav-card__icon {
	height: 6.375rem;
	overflow: hidden;
	width: 7.8125rem;
}

/* 専門家を探す */

.nav-card--expert .nav-card__link {
	aspect-ratio: auto;
	height: 16.75rem;
	justify-content: flex-start;
	padding: 1.375rem 1.5rem 1rem;
}

.nav-card--expert .nav-card__content {
	flex-direction: column;
	gap: 0.5rem;
	justify-content: flex-start;
	margin-top: 0;
}

.nav-card--expert .nav-card__text {
	min-width: 0;
	text-align: center;
	width: 100%;
}

.nav-card--expert .nav-card__title {
	color: #2F778B;
}

.nav-card--expert .nav-card__sub {
	color: #333;
	font-size: 0.9375rem;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin: 0;
	margin-top: 0.625rem;
	text-align: left;
}

.nav-card--expert .nav-card__icon {
	height: 5.6875rem;
	order: 2;
	overflow: hidden;
	width: 7rem;
}

.news-list {
	width: 100%;
}

.news-list__item {
	margin: 0;
}

.news-list__link {
	-moz-column-gap: 1rem;
	align-items: center;
	border-bottom: 0.0625rem solid #C2DAE1;
	box-sizing: border-box;
	color: inherit;
	column-gap: 1rem;
	display: flex;
	justify-content: space-between;
	padding-bottom: 0.875rem;
	padding-top: 1rem;
	transition: border-color 0.3s ease;
}

.news-list__content {
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 0.5rem;
	max-width: 18.125rem;
}

.news-list__meta {
	-moz-column-gap: 0.75rem;
	align-items: center;
	column-gap: 0.75rem;
	display: flex;
}

.news-list__date {
	color: #3E91A8;
	font-family: "Roboto", sans-serif;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
}

.news-list__title {
	color: #333;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
}

.news-list__arrow {
	color: #3E91A8;
	flex-shrink: 0;
	height: 1.75rem;
	transform: translateX(-1rem);
	transition: transform 0.3s ease;
	width: 1.75rem;
}

.news-list__arrow svg {
	display: block;
	height: 100%;
	width: 100%;
}

.news-list__link:focus-visible {
	outline: 0.125rem solid #3E91A8;
	outline-offset: 0.125rem;
}

.news {
	margin-top: -0.375rem;
}

.news__contents {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	margin-bottom: 5.5rem;
	padding: 2.5rem 0 5.5rem;
	width: 100%;
}

.news__contents .section-header:has(> .section-header__engTitle) {
	padding: 0;
}

/* SP: Figma 141:13946 見出し tracking 0.56px（section-header 全体は未変更） */

.news__header .section-header__jpTitle {
	letter-spacing: 0.02em;
}

/* SP: 見出しと（一覧+ボタン）の間 40px → 一覧とボタンの間 56px（Figma 141:13945 / 141:13947） */

.news__layout {
	grid-gap: 2.5rem;
	box-sizing: border-box;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
	max-width: 75rem;
	width: 100%;
}

.news__stack {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 3.5rem;
	width: 100%;
}

.news__items {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

.news__item {
	margin: 0;
}

.news__action {
	display: flex;
	justify-content: center;
	max-width: 21.875rem;
	width: 100%;
}

.page-about {
	display: block;
	padding-bottom: 3.75rem;
	padding-top: 5rem;
	width: 100%;
}

.page-about__inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 40rem;
	width: 100%;
}

.page-about .page-about__header {
	text-align: center;
	width: 100%;
}

.page-about__body {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
}

.page-about__intro {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	width: 100%;
}

.page-about__lead {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.0625rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
	text-align: center;
	width: 100%;
}

.page-about__lead p {
	margin: 0;
}

.page-about__dots {
	background-color: #78abae;
	border-radius: 50%;
	box-shadow: 0 -0.625rem 0 0 #78abae, 0 0.625rem 0 0 #78abae;
	flex-shrink: 0;
	height: 0.375rem;
	width: 0.375rem;
}

.page-about__message {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.1875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.7;
	margin: 0;
	text-align: center;
	width: 100%;
}

.page-about__message p {
	margin: 0;
}

.page-about__accent {
	color: #2F778B;
}

/* 下層アバウト：なぜ私たちがやるのか */

.page-about__reason {
	background-color: #F8F9FB;
	box-sizing: border-box;
	width: 100%;
}

.page-about__reason__surface {
	background-color: #fff;
	border-radius: 0 0.375rem 0 0;
	box-sizing: border-box;
	padding-bottom: 10rem;
	padding-top: 2.5rem;
	width: 100%;
}

.page-about__reason__inner {
	align-items: flex-start;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 28.125rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%;
}

.page-about__reason__list {
	margin-top: 0.5rem;
	width: 100%;
}

.page-about__reason__title {
	color: #2F778B;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.75rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	text-align: left;
	width: 100%;
}

.page-about__reason__intro {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	max-width: none;
	text-align: left;
	width: 100%;
}

.page-about__reason__intro p {
	margin: 0;
}

.page-about__reason-item {
	border-bottom: 0.125rem solid #C2DAE1;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding-bottom: 1.875rem;
	padding-top: 1.875rem;
	width: 100%;
}

.page-about__reason-item__name {
	color: #333;
	display: flex;
	flex-shrink: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	gap: 0.5rem;
	line-height: 1;
	width: 100%;
}

.page-about__reason-item__name span:first-child {
	flex: 0 0 1.375rem;
	text-align: center;
}

.page-about__reason-item__content {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	width: 100%;
}

.page-about__reason-item__lead {
	color: #2F778B;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
}

.page-about__reason-item__text {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
}

/* 下層アバウト：信頼性について */

.page-about__trust {
	box-sizing: border-box;
	margin-top: -1rem;
	padding-top: 2.5rem;
	width: 100%;
}

.page-about__trust__surface {
	background-color: #128EA4;
	border-radius: 0 0.75rem 0.75rem 0.75rem;
	box-sizing: border-box;
	padding: 0 0 10rem;
	width: 100%;
}

.page-about__trust__header {
	display: block;
	text-align: left;
	width: 100%;
}

.page-about__trust__stack {
	margin-top: 2.5rem;
}

.page-about__trust__items {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	list-style: none;
	margin: 0;
	max-width: 75rem;
	padding: 0;
	width: 100%;
}

.page-about__trust__item {
	margin: 0;
	max-width: 70rem;
	padding: 0;
	width: 100%;
}

/* 下層アバウト：約束できること */

.page-about__promise {
	box-sizing: border-box;
	margin-top: 9rem;
	width: 100%;
}

.page-about__promise__surface {
	background-color: #EBF7F9;
	border-radius: 0 0.75rem 0 0;
	box-sizing: border-box;
	padding: 3rem 0 5.5rem;
	width: 100%;
}

.page-about__promise__stack {
	margin-top: 2.5rem;
}

.page-about__promise__items {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	list-style: none;
	margin: 0;
	max-width: 75rem;
	padding: 0;
	width: 100%;
}

.page-about__promise__item {
	margin: 0;
	max-width: 70rem;
	padding: 0;
	width: 100%;
}

.page-about__promise .f-list-card {
	box-shadow: none;
}

/* 下層アバウト：会社情報 */

.page-about__company {
	display: block;
	width: 100%;
}

.page-about__company.section {
	margin: 0;
}

.page-about__company__surface {
	background-color: #F8F9FB;
	border-radius: 0 0.75rem 0 0;
	box-sizing: border-box;
	padding-bottom: 6.25rem;
	width: 100%;
}

.page-about__company__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 5rem;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.page-about__company__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	text-align: center;
	width: 100%;
}

.page-about__company__messageWrap {
	align-items: center;
	background-color: transparent;
	background-image: url("../images/common/page-about/p-about-infoBG_sp.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 0.75rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	padding: 5rem 1.25rem 5rem;
	width: 100%;
}

.page-about__company__messageOuter {
	background-color: #fff;
	border-radius: 0.25rem;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 23.75rem;
	min-width: 0;
	padding: 0.5rem;
	width: 100%;
}

.page-about__company__messageInner {
	align-items: flex-start;
	border: 0.125rem solid #C2DAE1;
	border-radius: 0.25rem;
	box-sizing: border-box;
	color: #333;
	display: flex;
	flex-direction: column;
	font-family: "Noto Sans JP", sans-serif;
	gap: 1rem;
	padding: 2rem 0.875rem 0.875rem;
	text-align: left;
}

.page-about__company__messageInner .page-about__company__signature {
	margin-top: 1rem;
}

.page-about__company__messageTop,
.page-about__company__messageMid,
.page-about__company__messageBottom {
	font-size: 1.0625rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.8;
	max-width: none;
	width: 100%;
}

.page-about__company__messageTop p,
.page-about__company__messageMid p,
.page-about__company__messageBottom p {
	margin: 0;
}

.page-about__company__messageTop {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.page-about__company__messageMid {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	width: 100%;
}

.page-about__company__messageMid > p:first-of-type {
	align-self: center;
	text-align: left;
	width: 100%;
}

.page-about__company__checks {
	list-style: none;
	margin: 0;
	max-width: 17.75rem;
	padding: 0;
	text-align: left;
	white-space: nowrap;
	width: 100%;
}

.page-about__company__checks li {
	align-items: flex-start;
	display: flex;
	gap: 0.25rem;
	line-height: 1.8;
	margin: 0;
	padding-left: 0;
	position: relative;
}

.page-about__company__checks li::before {
	align-items: center;
	color: #3E91A8;
	content: "✓";
	display: flex;
	flex-shrink: 0;
	font-size: 0.875rem;
	justify-content: center;
	line-height: 1;
	min-height: 1.25rem;
	min-width: 1.25rem;
	position: static;
}

.page-about__company__messageBottom {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.page-about__company__messageBottom span {
	color: #2F778B;
}

.page-about__company__signature {
	align-self: center;
	color: #595959;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
	white-space: nowrap;
}

.page-about__company__tableWrap {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%;
}

.page-about__company__table {
	margin: 0 auto;
	max-width: 50rem;
	width: 100%;
}

.page-about__company__row {
	display: flex;
	gap: 1rem;
	padding: 1rem 0.625rem 1rem;
}

.page-about__company__row dt {
	color: #333;
	flex: 0 0 5.625rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2;
	margin: 0;
}

.page-about__company__row dd {
	color: #333;
	flex: 1;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.6;
	margin: 0;
}

.page-about__company__row ul {
	margin: 0;
	padding: 0;
}

.page-about__company__row li {
	list-style: none;
	margin: 0;
	padding-left: 0.75rem;
	position: relative;
}

.page-about__company__row li::before {
	content: "・";
	left: 0;
	position: absolute;
}

.intro-card--column .intro-card__link {
	-webkit-text-decoration: none;
	color: inherit;
	display: block;
	text-decoration: none;
}

.intro-card--column .intro-card__link--static {
	cursor: default;
	display: block;
}

.page-column {
	margin-bottom: 6.25rem;
	margin-top: 4rem;
}

.page-column__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: min(73.75rem, 100%);
}

.page-column__title-desc {
	margin-top: 1rem;
	max-width: 23.125rem;
	text-align: left;
	width: 100%;
}

.page-column__grid {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
	justify-self: center;
	margin-bottom: 3rem;
	max-width: 23.125rem;
	width: 100%;
}

.search-sidebar__title {
	border-bottom: 0.0625rem solid #595959;
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
	padding-bottom: 0.25rem;
}

.page-column__sidebar .search-sidebar__inner {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-left: auto;
	margin-right: auto;
	max-width: 23.125rem;
	width: 100%;
}

.page-column__sidebar .search-window {
	margin: 0;
}

.page-column__sidebar .search-sidebar__title {
	margin-top: 2rem;
}

.search-sidebar__categories {
	list-style: none;
	margin: 0.875rem 0 0;
	padding: 0;
}

.search-sidebar__category-item + .search-sidebar__category-item {
	margin-top: 0.875rem;
}

.search-sidebar__category-link {
	-webkit-text-decoration: none;
	color: #595959;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.4;
	padding-bottom: 0.1875rem;
	padding-top: 0.1875rem;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.page-contact {
	display: block;
	padding-bottom: 6.25rem;
	padding-top: 5rem;
	width: 100%;
}

.page-contact__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 31.25rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: min(60rem, 100%);
}

.page-contact__header {
	text-align: center;
}

.page-contact__title {
	color: #333;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
	text-align: left;
}

.page-contact__desc {
	margin-top: 1.5rem;
	text-align: left;
}

.page-contact__desc-text {
	color: #333;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
	text-align: left;
}

.page-contact__note {
	color: #333;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 1.5rem 0 0;
	text-align: left;
}

.page-contact .contact__form-wrapper {
	margin-top: 3.5rem;
}

.detail-expert {
	display: block;
	width: 100%;
}

.detail-expert__inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: min(93.75rem, 100%);
}

.detail-expert__detail {
	display: block;
	margin-top: 3rem;
	width: 100%;
}

.detail-expert__detail-card {
	margin-left: auto;
	margin-right: auto;
	max-width: 23.125rem;
	width: 100%;
}

.detail-expert__movie {
	margin-top: 3rem;
}

.detail-expert__movie-heading {
	align-items: center;
	color: #333;
	display: flex;
	flex-direction: column;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	gap: 0.5rem;
	margin: 0;
}

.detail-expert__movie-heading-label {
	background-color: #3E91A8;
	border-radius: 0.125rem;
	color: #fff;
	font-size: 1rem;
	letter-spacing: 0.02em;
	line-height: 1.4;
	padding: 0.25rem 0.75rem 0.1875rem;
}

.detail-expert__movie-heading-main {
	color: #333;
	font-size: 1.75rem;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.detail-expert__movie-card {
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	max-width: 49.375rem;
	width: 100%;
}

.detail-expert__movie-embed {
	aspect-ratio: 790/444;
	border-radius: 1rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.detail-expert__movie-embed iframe {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}

.detail-expert__movie-play {
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 4.0625rem;
}

.detail-expert__movie-play img {
	display: block;
	height: auto;
	width: 100%;
}

.detail-expert__message {
	margin-top: 7.875rem;
	padding-bottom: 5rem;
}

.detail-expert__message-content {
	margin-left: auto;
	margin-right: auto;
	max-width: 75rem;
	padding-top: 2rem;
	width: 100%;
}

.detail-expert__message-box {
	background-color: #fff;
	padding: 0.875rem;
}

.detail-expert__message-frame {
	background-color: #fff;
	border: 1px solid #3E91A8;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1.75rem 1rem 1.5rem;
	position: relative;
	width: 100%;
}

.detail-expert__message-label {
	background-color: #fff;
	color: #3E91A8;
	font-family: "Roboto", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.2;
	margin: 0;
	padding-left: 1.75rem;
	padding-right: 1.75rem;
	position: absolute;
	text-transform: uppercase;
	top: -0.75rem;
}

.detail-expert__message-title {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	text-align: center;
}

.detail-expert__message-body {
	color: #333;
	display: flex;
	flex-direction: column;
	font-family: "Zen Kaku Gothic New", sans-serif, "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 500;
	gap: 1.125rem;
	letter-spacing: 0.02em;
	line-height: 2;
	width: 100%;
}

.detail-expert__message-group {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.detail-expert__message-line {
	margin: 0;
	text-decoration-color: #5e5e5e;
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3125rem;
}

.detail-expert__case {
	margin-top: 5.5rem;
}

.detail-expert__case-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 25rem;
	width: 100%;
}

.detail-expert__case-grid {
	grid-gap: 1.25rem;
	display: grid;
	gap: 1.25rem;
	margin-top: 2rem;
}

.detail-expert__case-card {
	border: 0.0625rem solid #a8c0c4;
	border-radius: 0.25rem;
	padding: 1.5rem 1.25rem;
}

.detail-expert__case-card-title {
	color: #2F778B;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
}

.detail-expert__case-card-text {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0.375rem 0 0;
}

.detail-expert__message-surface {
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%;
}

.detail-expert__view {
	margin-top: 5.5rem;
}

.detail-expert__view-slider {
	margin-top: 2rem;
}

.detail-expert__info {
	padding-bottom: 6.25rem;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 5.5rem;
	width: 100%;
}

.detail-expert__info-inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 25rem;
	width: 100%;
}

.detail-expert__info-head {
	align-items: center;
	display: flex;
	flex-direction: column;
	text-align: center;
}

.detail-expert__info-head .section-header__jpTitle {
	margin-top: 0.5rem;
}

.detail-expert__info-table {
	border-radius: 1.875rem;
	margin: 0;
	max-width: 25rem;
	width: 100%;
}

.detail-expert__info-row {
	display: flex;
	gap: 1rem;
	padding: 1rem 0.625rem;
}

.detail-expert__info-row dt {
	color: #333;
	flex: 0 0 5.625rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2;
	margin: 0;
}

.detail-expert__info-row dd {
	color: #333;
	flex: 1;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.6;
	margin: 0;
	min-height: 1.625rem;
	min-width: 0;
}

.detail-expert__contact {
	margin-top: 2.875rem;
}

.detail-expert__share {
	margin-bottom: 5.5rem;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 4rem;
}

.detail-expert__share-card {
	align-items: center;
	background-color: #fff;
	border: 0.0625rem solid #cecece;
	border-radius: 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 21.875rem;
	padding: 2rem 1.5rem;
	width: 100%;
}

.detail-expert__share-content {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}

.detail-expert__share-title {
	color: #2F778B;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.3;
	margin: 0;
}

.detail-expert__share-list {
	display: flex;
	gap: 2rem;
	margin: 0;
	padding: 0;
}

.detail-expert__share-item {
	list-style: none;
}

.detail-expert__share-link {
	display: inline-flex;
}

.detail-expert__share-link img {
	display: block;
	height: 2.75rem;
	width: 2.75rem;
}

.detail-expert__share-back {
	width: 100%;
}

.page-expert {
	margin-bottom: 5rem;
}

.page-expert__sidebar .search-sidebar__inner {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 23.125rem;
	width: 100%;
}

.page-expert--listing {
	box-sizing: border-box;
	padding-bottom: 0;
	padding-top: 4rem;
	width: 100%;
}

.page-expert__grid {
	grid-gap: 2.5rem;
	align-items: stretch;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
	list-style: none;
	margin: 0;
	margin-bottom: 3rem;
	padding: 0;
	width: 100%;
}

.page-expert__item {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	min-height: 0;
	width: 100%;
}

.page-expert__grid .tab-decorator {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
	width: 100%;
}

.page-expert__grid .intro-card {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	max-width: none;
	min-height: 0;
}

.page-expert__grid .intro-card__inner {
	flex: 1 1 auto;
}

.page-expert-prepare {
	box-sizing: border-box;
	padding-bottom: 5rem;
	padding-top: 5rem;
	width: 100%;
}

.page-expert-prepare__text {
	color: #cdcdcd;
	font-family: Futura, "Century Gothic", "Trebuchet MS", sans-serif;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.3;
	margin: 0;
	text-align: center;
}

.page-news {
	margin-bottom: 6.25rem;
	margin-top: 3rem;
}

.page-news__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 71.625rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%;
}

.page-news__lead {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin: 0 auto 2.5rem;
	max-width: 23.125rem;
	text-align: left;
}

.page-news__grid {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
	list-style: none;
	margin: 0;
	margin-bottom: 3rem;
	max-width: 23.125rem;
	padding: 0;
	width: 100%;
}

.page-news__item {
	margin: 0;
}

.page-news__item .tab-decorator {
	background-color: transparent;
}

.page-news__sidebar.layout-sidebar--2rows {
	margin-top: 5.625rem;
}

.page-news__sidebar .search-sidebar__inner {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 20rem;
	width: 100%;
}

.page-news__archive-title {
	border-bottom: 0.0625rem solid #595959;
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
	padding-bottom: 0.25rem;
}

.page-news__archive {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

.page-news__archive-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.page-news__archive-item + .page-news__archive-item {
	margin-top: 0.875rem;
}

.page-news__archive-link {
	-webkit-text-decoration: none;
	color: #595959;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.4;
	padding-bottom: 0.1875rem;
	padding-top: 0.1875rem;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.page-result {
	margin-bottom: 6.25rem;
	margin-top: 3rem;
}

.page-result__inner {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 71.625rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	width: 100%;
}

.page-result__lead {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin: 0 auto 2.5rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 23.125rem;
	text-align: center;
	white-space: normal;
}

.page-result__wrapper {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 23.125rem;
	width: 100%;
}

.page-result__grid {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
	list-style: none;
	margin: 0;
	margin-bottom: 3rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 23.125rem;
	padding: 0;
	width: 100%;
}

.page-result__item {
	margin: 0;
}

.page-result__item .tab-decorator {
	background-color: transparent;
}

.page-result__empty {
	box-sizing: border-box;
	margin: 0;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
	text-align: center;
	width: 100%;
}

.page-result__empty p {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0 auto;
	max-width: 40rem;
}

.page-result .pagination {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
	max-width: 23.125rem;
	width: 100%;
}

/* 下層：サービスセクション（Figma Frame 1000008285 準拠） */

.page-service {
	display: block;
	padding-bottom: 5rem;
	width: 100%;
}

.page-service__reason.section {
	margin-top: 0;
}

.page-service__grid {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-top: 4rem;
	width: 100%;
}

.page-service__content-left {
	display: flex;
	flex-direction: column;
	max-width: 21.875rem;
	width: 100%;
}

.page-service__title {
	margin: 0;
}

.page-service__intro {
	margin: 0;
	margin-top: 2rem;
}

.page-service__text {
	margin-top: 1.0625rem;
}

.page-service__doubt-list {
	display: flex;
	flex-direction: column;
	margin-top: 1.0625rem;
	width: 100%;
}

.page-service__doubt-item {
	align-items: center;
	color: #333;
	display: flex;
	font-size: 1.0625rem;
	font-weight: 500;
	gap: 0.25rem;
	letter-spacing: 0.02em;
	line-height: 1.8;
}

.page-service__doubt-item::before {
	background: url("../images/common/page-service/icon-check-doubt.svg") center/contain no-repeat;
	content: "";
	flex-shrink: 0;
	height: 1.25rem;
	width: 1.25rem;
}

.page-service__intro,
.page-service__text {
	color: #333;
	font-size: 1.0625rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.8;
	width: 100%;
}

.page-service__content-right {
	display: flex;
	justify-content: center;
	width: 100%;
}

.page-service__content-lower {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	max-width: 21.875rem;
	width: 100%;
}

/* 下層：スタートアップセクション（Figma section 398:49114／expert と同構成） */

.page-service__startUp {
	margin-top: 13.5625rem;
}

.page-service__startUp__contents {
	align-items: center;
	border-radius: 0 0 0.75rem 0.75rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	padding-bottom: 8.125rem;
	padding-top: 2.375rem;
	width: 100%;
}

.page-service__startUp__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 75rem;
	text-align: center;
	width: 100%;
}

.page-service__startUp__desc {
	color: #fff;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin: 0;
	text-align: center;
	width: 100%;
}

.page-service__startUp-stack {
	align-items: center;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.page-service__startUp-items {
	grid-gap: 1.9375rem;
	display: grid;
	gap: 1.9375rem;
	grid-template-columns: 1fr;
	justify-content: center;
	list-style: none;
	margin: 0;
	max-width: 21.875rem;
	padding: 0;
	width: 100%;
}

.page-service__startUp-item {
	margin: 0;
	width: 100%;
}

.page-service__startUp-action {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-top: 1rem;
	max-width: 24.375rem;
	width: 100%;
}

.page-service__startUp__actionText {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin: 0;
	text-align: center;
	white-space: nowrap;
}

.page-service__startUp__btn.link-button {
	max-width: 24.375rem;
	width: 100%;
}

/* 下層：専門家を探す */

.page-service__expert {
	margin-top: -0.25rem;
}

.page-service__expert__contents {
	align-items: center;
	box-sizing: border-box;
	color: #333;
	color: var(--black01, #333);
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	padding-bottom: 5rem;
	padding-top: 2.375rem;
	width: 100%;
}

.page-service__expert__header {
	align-self: stretch;
	max-width: 75rem;
	width: 100%;
}

.page-service__expert__header-desc {
	color: #333;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin-top: 0.5625rem;
}

.page-service__expert-stack {
	align-items: center;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.page-service__expert-items {
	grid-gap: 2rem;
	display: grid;
	gap: 2rem;
	justify-content: center;
	list-style: none;
	margin: 0;
	margin-left: auto;
	margin-right: auto;
	max-width: 21.875rem;
	padding: 0;
	width: 100%;
}

.page-service__expert-item {
	margin: 0;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.page-service__expert-item .nav-card__sub {
	line-height: 1.6;
}

/* 下層：失敗しない理由 */

.page-service__reason__surface {
	align-items: stretch;
	background-color: #F8F9FB;
	border-radius: 0 0.75rem 0 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 3rem;
	padding-bottom: 5rem;
	padding-top: 5rem;
	width: 100%;
}

.page-service__reason__inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	margin-left: auto;
	margin-right: auto;
	max-width: 28.125rem;
	width: 100%;
}

.page-service__reason__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	text-align: center;
	width: 100%;
}

.page-service__faq.section,
.page-about__faq.section {
	margin: 0;
}

.page-service__faq__header,
.page-about__faq__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	text-align: center;
	width: 100%;
}

.page-service__reason__body {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.75rem;
	width: 100%;
}

.page-service__reason__textCol {
	display: flex;
	flex-direction: column;
	gap: 1.625rem;
	width: 100%;
}

.page-service__reason__block {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
}

.page-service__reason__subTitle {
	color: #2F778B;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
}

.page-service__reason__text {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 2;
	width: 100%;
}

.page-service__reason__text p {
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
}

.page-service__reason__figure {
	flex-shrink: 0;
	line-height: 0;
	margin: 0;
	width: 100%;
}

.page-service__reason__figure picture {
	display: block;
	line-height: 0;
}

.page-service__reason__figure img {
	-o-object-fit: cover;
	border-radius: 0.5rem;
	display: block;
	filter: drop-shadow(0 4px 40px rgba(0, 0, 0, 0.07));
	height: auto;
	margin-left: auto;
	margin-right: auto;
	max-width: 21.875rem;
	object-fit: cover;
	width: 100%;
}

/* 下層：よくあるご質問（Figma 398:49195）— service / about 共通 */

.page-service__faq__surface,
.page-about__faq__surface {
	background-color: #F8F9FB;
	border-radius: 0 0.75rem 0 0;
	box-sizing: border-box;
	padding-bottom: 6.25rem;
	padding-top: 4rem;
	width: 100%;
}

.page-service__faq__inner,
.page-about__faq__inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 2.4375rem;
	width: 100%;
}

.page-service__faq__list,
.page-about__faq__list {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 28.125rem;
	width: 100%;
}

.thanks {
	padding: 3.5rem 1.25rem 6.25rem;
}

.thanks__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 28.125rem;
	width: 100%;
}

.thanks__content {
	grid-gap: 1rem;
	color: #333;
	display: grid;
	gap: 1rem;
	text-align: left;
}

.thanks__lead,
.thanks__desc {
	font-family: "Noto Sans JP", sans-serif;
	margin: 0;
}

.thanks__lead {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.5;
}

.thanks__desc {
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
}

.thanks__action {
	margin-top: 4rem;
	text-align: center;
}

.thanks__back {
	max-width: 13.25rem;
}

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

.pagination .wp-pagenavi {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	justify-content: center;
}

.pagination .wp-pagenavi > .nextpostslink {
	margin-left: 1.25rem;
}

.pagination .wp-pagenavi > a:not(.nextpostslink):not(.previouspostslink),
.pagination .wp-pagenavi > span.extend {
	-webkit-text-decoration: none;
	align-items: center;
	box-sizing: border-box;
	color: #333;
	display: inline-flex;
	font-family: "Roboto", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.02em;
	line-height: 1;
	min-height: 1.875rem;
	padding: 0;
	text-decoration: none;
	transition: color 0.3s ease;
}

.pagination .wp-pagenavi > span.current {
	align-items: center;
	box-sizing: border-box;
	color: #fff;
	display: inline-flex;
	font-family: "Roboto", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.02em;
	line-height: 1;
	margin: 0;
	min-height: 1.875rem;
	min-width: 1.875rem;
	padding: 0;
	position: relative;
	z-index: 1;
}

.pagination .wp-pagenavi > span.current::before {
	background-color: #3E91A8;
	border-radius: 50%;
	content: "";
	display: block;
	height: 1.875rem;
	left: 50%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 1.875rem;
	z-index: -1;
}

.pagination .nextpostslink,
.pagination .previouspostslink {
	align-items: center;
	box-sizing: border-box;
	color: transparent;
	display: inline-flex;
	flex-shrink: 0;
	height: 1.25rem;
	justify-content: center;
	overflow: hidden;
	padding: 0;
	position: relative;
	text-indent: -9999px;
	width: 1.3125rem;
}

.pagination .nextpostslink::before,
.pagination .previouspostslink::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 20'%3E%3Cpath fill='black' fill-rule='evenodd' clip-rule='evenodd' d='M15.0626 11.0554L6.61223 19.5L4.5 17.3892L11.8943 10L4.5 2.61078L6.61223 0.5L15.0626 8.94461C15.3427 9.22455 15.5 9.60417 15.5 10C15.5 10.3958 15.3427 10.7755 15.0626 11.0554Z'/%3E%3C/svg%3E");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	background-color: #333;
	content: "";
	height: 1.25rem;
	left: 50%;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 20'%3E%3Cpath fill='black' fill-rule='evenodd' clip-rule='evenodd' d='M15.0626 11.0554L6.61223 19.5L4.5 17.3892L11.8943 10L4.5 2.61078L6.61223 0.5L15.0626 8.94461C15.3427 9.22455 15.5 9.60417 15.5 10C15.5 10.3958 15.3427 10.7755 15.0626 11.0554Z'/%3E%3C/svg%3E");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	top: 50%;
	transition: background-color 0.3s ease;
	translate: -50% -50%;
	width: 1.3125rem;
}

.pagination .previouspostslink::before {
	rotate: 180deg;
}

/*----------------------------------
  詳細ページ：前の記事｜次の記事
-----------------------------------*/

.pagination--detail .wp-pagenavi {
	gap: 2rem;
}

.pagination--detail .previouspostslink,
.pagination--detail .nextpostslink {
	-webkit-text-decoration: none;
	align-items: center;
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	height: auto;
	line-height: 1.3;
	overflow: visible;
	position: relative;
	text-decoration: none;
	text-indent: 0;
	width: auto;
}

.pagination--detail .previouspostslink {
	padding-left: 1.8125rem;
	padding-right: 1.25rem;
}

.pagination--detail .nextpostslink {
	padding-right: 1.8125rem;
}

.pagination--detail .nextpostslink::before,
.pagination--detail .previouspostslink::before {
	background-color: #595959;
	height: 1.125rem;
	top: 50%;
	width: 1.1875rem;
}

.pagination--detail .previouspostslink::before {
	left: 0;
	translate: 0 -50%;
}

.pagination--detail .nextpostslink::before {
	left: auto;
	right: 0;
	translate: 0 -50%;
}

.pagination--detail .previouspostslink::after {
	background-color: #595959;
	content: "";
	height: 1.3125rem;
	position: absolute;
	right: -1rem;
	top: 50%;
	translate: 50% -50%;
	width: 0.125rem;
}

.policy-box {
	background-color: #fbfbfb;
	border: 0.0625rem solid #878787;
	border-radius: 0.25rem;
	color: #333;
	width: 100%;
}

.policy-box__header {
	align-items: center;
	border-bottom: 0.0625rem solid #878787;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.02em;
	line-height: 1.8;
	min-height: 4.125rem;
	padding: 0.5rem 1rem;
	text-align: center;
}

.policy-body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	height: 13.125rem;
	letter-spacing: 0.02em;
	line-height: 1.5;
	overflow-y: auto;
	padding: 1.9375rem 1rem 2rem;
}

.policy-body p,
.policy-body h3,
.policy-body ul,
.policy-body ol {
	margin: 0 0 1rem;
}

.policy-body li {
	margin: 0 0 0.5rem;
}

.policy-body ul,
.policy-body ol {
	padding-left: 1.5em;
}

.policy-body > :last-child,
.policy-body > :last-child > :last-child {
	margin-bottom: 0;
}

.qa-box {
	interpolate-size: allow-keywords;
	background-color: #fff;
	border-radius: 0.625rem;
	max-width: 100%;
	overflow: hidden;
}

.qa-box::details-content {
	height: 0;
	overflow: hidden;
	transition: height 0.45s cubic-bezier(0.33, 1, 0.68, 1), content-visibility 0.45s allow-discrete;
}

.qa-box[open]::details-content {
	height: auto;
}

.qa-box + .qa-box {
	margin-top: 2rem;
}

.qa-box[open] .qa-box__head {
	border-radius: 0.625rem 0.625rem 0 0;
}

.qa-box[open] .qa-box__toggle::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.qa-box__head {
	align-items: center;
	background-color: #f4f4f4;
	border-radius: 0.625rem;
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	gap: 0.5rem;
	justify-content: space-between;
	list-style: none;
	padding: 0.875rem;
	width: 100%;
}

.qa-box__head::-webkit-details-marker {
	display: none;
}

.qa-box__head-inner {
	align-items: flex-start;
	display: flex;
	flex: 1;
	gap: 0.5rem;
	min-width: 0;
}

.qa-box__head-icon {
	align-items: center;
	background-color: #3E91A8;
	border-radius: 50%;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	flex-shrink: 0;
	font-family: "Montserrat", sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	height: 1.875rem;
	justify-content: center;
	line-height: 1.125rem;
	width: 1.875rem;
}

.qa-box__head-text {
	color: #333;
	flex: 1;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.5;
	min-width: 0;
}

.qa-box__toggle {
	flex-shrink: 0;
	height: 1rem;
	position: relative;
	width: 1rem;
}

.qa-box__toggle::before,
.qa-box__toggle::after {
	background-color: #111;
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transition: transform 0.45s cubic-bezier(0.33, 1, 0.68, 1);
}

.qa-box__toggle::before {
	height: 0.125rem;
	transform: translate(-50%, -50%);
	width: 1rem;
}

.qa-box__toggle::after {
	height: 0.125rem;
	transform: translate(-50%, -50%) rotate(90deg);
	transform-origin: center;
	width: 1rem;
}

.qa-box__body {
	background-color: #fff;
	border-radius: 0 0 0.625rem 0.625rem;
	box-sizing: border-box;
	padding: 1rem 0.875rem 1.25rem;
}

.qa-box[open] > .qa-box__body {
	animation: qa-box-body-in 0.45s cubic-bezier(0.33, 1, 0.68, 1) both;
}

.qa-box__a {
	align-items: flex-start;
	display: flex;
	gap: 0.5rem;
}

.qa-box__a-icon {
	align-items: center;
	background-color: #F7BD00;
	border-radius: 50%;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	flex-shrink: 0;
	font-family: "Montserrat", sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	height: 1.875rem;
	justify-content: center;
	line-height: 1.125rem;
	width: 1.875rem;
}

.qa-box__a-text {
	color: #333;
	flex: 1;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin: 0;
	min-width: 0;
	padding-top: 0.25rem;
}

.search-window {
	box-sizing: border-box;
	width: 100%;
}

.search-window__form {
	width: 100%;
}

.search-window__label {
	clip: rect(0, 0, 0, 0);
	border: 0;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.search-window__field {
	align-items: center;
	background-color: #fff;
	border: 0.0625rem solid #878787;
	border-radius: 0.25rem;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	min-height: 2.875rem;
	padding: 0.125rem 0.25rem 0.125rem 1rem;
	width: 100%;
}

.search-window__input {
	background: transparent;
	border: none;
	box-sizing: border-box;
	color: #333;
	flex: 1 1 auto;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.8;
	min-width: 0;
	padding: 0;
	width: 100%;
}

.search-window__input::-moz-placeholder {
	color: #9d9d9d;
	opacity: 1;
}

.search-window__input::placeholder {
	color: #9d9d9d;
	opacity: 1;
}

.search-window__input:focus {
	outline: none;
}

.search-window__submit {
	align-items: center;
	background: transparent;
	border: none;
	cursor: pointer;
	display: flex;
	flex-shrink: 0;
	height: 2rem;
	justify-content: center;
	padding: 0;
	width: 2rem;
}

.search-window__submit svg {
	display: block;
	height: 100%;
	width: 100%;
}

.search-window__submit path {
	fill: #757575;
}

.section-2Column {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 23.125rem;
	width: 100%;
}

.section-header {
	width: 100%;
}

.section-header__engTitle {
	background-color: #3E91A8;
	border-radius: 0.125rem;
	color: #fff;
	display: inline-block;
	font-family: "Roboto", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1;
	padding: 0.1875rem 0.375rem 0.125rem;
	text-transform: uppercase;
}

.section-header__jpTitle {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.75rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.2;
	margin: 0;
	margin-top: 0.375rem;
}

/* --- カラーバリエーション：ホワイト --- */

.section-header--re .section-header__engTitle {
	background-color: #fff;
	color: #3E91A8;
}

.section-header--re .section-header__jpTitle {
	color: #fff;
}

.section-header--cta .section-header__engTitle {
	background-color: #fff;
	color: #3E91A8;
}

.section-header--cta .section-header__jpTitle {
	color: #fff;
}

/* カラーバリエーション：ボールド */

.section-header--re-bold .section-header__engTitle {
	background-color: #fff;
	color: #3E91A8;
}

.section-header--re-bold .section-header__jpTitle {
	color: #fff;
	font-weight: 700;
}

/* top:コラムタイトル */

.section-header__jpTitle--column {
	font-size: 1.375rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
	margin-top: 0.1875rem;
	text-align: center;
}

/*----------------------------------
  下層ページ用：サブタイトル
-----------------------------------*/

.section-header--sub .section-header__engTitle {
	background-color: #fff;
	color: #3E91A8;
}

.section-header--sub .section-header__jpTitle {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.125rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

/*----------------------------------
  下層ページ用：あしらい付きセクションタイトル
-----------------------------------*/

.section-header__jpTitle--size44 {
	font-size: 1.75rem;
	font-weight: 700;
}

/* デコレーション付きリード */

.section-header__deco {
	background-color: #F8F9FB;
	color: #333;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	padding-bottom: 0.375rem;
	position: relative;
}

.section-header__deco::before {
	background-color: #F8F9FB;
	border-right: 0.14375rem solid #3E91A8;
	content: "";
	height: 0.625rem;
	left: calc(50% + 0.1875rem);
	position: absolute;
	top: calc(100% - 0.0625rem);
	transform: translateX(-50%) skew(-40deg);
	width: 0.625rem;
}

/* 2. 左右に140pxずつ伸びる固定の線 */

.section-header__deco::after { /* 中央(50%)を起点に、隙間(8pxずつ)と線(140px)を固定値で指定 */
	background: linear-gradient(to right, transparent calc(51% - 0.5rem - 8.125rem), #3E91A8 calc(51% - 0.5rem - 8.125rem), #3E91A8 calc(51% - 0.5rem), transparent calc(51% - 0.5rem), transparent calc(51% + 0.5rem), #3E91A8 calc(51% + 0.5rem), #3E91A8 calc(51% + 0.5rem + 8.125rem), transparent calc(51% + 0.5rem + 8.125rem));
	bottom: 0;
	content: "";
	height: 0.125rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 12.75rem;
}

/* あしらい付きタイトル：反転バージョン */

.section-header--deco-re .section-header__engTitle {
	background-color: #fff;
	color: #128EA4;
}

.section-header--deco-re .section-header__deco {
	background-color: #128EA4;
	border-bottom-color: #fff;
	color: #fff;
	font-size: 1.25rem;
	letter-spacing: 0.08em;
}

.section-header--deco-re .section-header__deco::before {
	background-color: #128EA4;
	border-right-color: #fff;
}

.section-header--deco-re .section-header__deco::after { /* 中央(50%)を起点に、隙間(8pxずつ)と線(140px)を固定値で指定 */
	background: linear-gradient(to right, transparent calc(51% - 0.5rem - 8.125rem), #fff calc(51% - 0.5rem - 8.125rem), #fff calc(51% - 0.5rem), transparent calc(51% - 0.5rem), transparent calc(51% + 0.5rem), #fff calc(51% + 0.5rem), #fff calc(51% + 0.5rem + 8.125rem), transparent calc(51% + 0.5rem + 8.125rem));
}

.section-header--deco-re .section-header__jpTitle--size44 {
	color: #fff;
	font-size: 1.75rem;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

/*----------------------------------
  下層ページ用：アバウトセクションタイトル
-----------------------------------*/

.section-header--about .section-header__jpTitle {
	font-weight: 700;
}

/*----------------------------------
  下層ページ：about会社情報nの英字タイトル部分
-----------------------------------*/

.section-header--company { /* デコレーション付きリード */
}

.section-header--company .section-header__engTitle {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1;
}

.section-header--company .section-header__jpTitle {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.section-header--company .section-header__deco::after {
	width: 16.75rem;
}

.service__contents {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 2.625rem;
	padding-bottom: 8.125rem;
	padding-top: 2.375rem;
	width: 100%;
}

.service__header {
	align-self: stretch;
	max-width: 75rem;
	width: 100%;
}

/* service 内では section-header 標準のパディングを付けない（Figma 141:11507 の px は service__contents 側） */

.service__contents .section-header:has(> .section-header__engTitle) {
	padding: 0;
}

.service__stack {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 3.625rem;
	width: 100%;
}

.service__items {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	list-style: none;
	margin: 0;
	max-width: 75rem;
	padding: 0;
	width: 100%;
}

.service__item {
	margin: 0;
	max-width: 70rem;
	padding: 0;
	width: 100%;
}

.service__action {
	display: flex;
	justify-content: center;
	max-width: 21.875rem;
	width: 100%;
}

.startup-visual {
	aspect-ratio: 413/578;
	isolation: isolate;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: min(100%, 25.8125rem);
	z-index: 0;
}

.startup-visual__group {
	position: absolute;
	z-index: 2;
}

/* 学ぶ（右上寄り）310×274 @ Figma */

.startup-visual__group--learn {
	height: 41.7682926829%;
	left: 33.1606217617%;
	top: 10.8231707317%;
	width: 53.5405872193%;
}

.startup-visual__image-wrapper--main {
	border-radius: 0.625rem;
	height: auto;
	left: -0.5rem;
	overflow: hidden;
	position: absolute;
	top: -0.25rem;
	width: 15rem;
}

.startup-visual__main-img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

/* サムネ小窓（メイン左下に重ねる） */

.startup-visual__thumb-window {
	background-color: #fff;
	border-radius: 0.25rem;
	filter: drop-shadow(0 2.163px 21.626px rgba(0, 0, 0, 0.07));
	height: auto;
	left: -4.75rem;
	overflow: hidden;
	position: absolute;
	top: 10rem;
	width: 8.5625rem;
	z-index: 2;
}

.startup-visual__sub-badge {
	height: 100%;
	overflow: hidden;
	width: 100%;
}

.startup-visual__sub-badge img {
	-o-object-fit: cover;
	-o-object-position: center;
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.startup-visual__group--learn .startup-visual__label {
	color: #2F778B;
	font-size: max(1.125rem, min(5.8111380145vw, 1.5rem));
	font-weight: 700;
	left: 11.6875rem;
	letter-spacing: 0.04em;
	line-height: 1;
	margin: 0;
	position: absolute;
	top: 15.5rem;
	transform: translateX(-0.125rem);
	white-space: nowrap;
}

/* 繋がる（左下）243×274 @ Figma */

.startup-visual__group--connect {
	height: auto;
	left: -2.3125rem;
	top: 22.6875rem;
	width: 15rem;
}

.startup-visual__group--connect .startup-visual__image-wrapper {
	aspect-ratio: 1;
	border-radius: 0.625rem;
	left: 2.375rem;
	overflow: hidden;
	position: absolute;
	top: 2.5rem;
	width: 98.7654320988%;
}

.startup-visual__connect-img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.startup-visual__group--connect .startup-visual__label {
	color: #2F778B;
	font-size: max(1.125rem, min(5.8111380145vw, 1.5rem));
	font-weight: 700;
	left: 13.25rem;
	letter-spacing: 0.04em;
	line-height: 1;
	position: absolute;
	top: 18.3125rem;
	transform: translateX(-0.25rem);
	white-space: nowrap;
}

.startup-visual__arrow {
	display: block;
	pointer-events: none;
	position: absolute;
	width: 5.875rem;
	z-index: 10;
}

.startup-visual__arrow img {
	display: block;
	height: 100%;
	width: 100%;
}

.startup-visual__arrow--upper {
	left: 0.4375rem;
	rotate: -33deg;
	top: 18.375rem;
}

.startup-visual__arrow--lower {
	left: 15.375rem;
	top: 21.625rem;
}

.sub-fv {
	background-color: #128EA4;
	height: 16.8125rem;
	position: relative;
	width: 100%;
}

.sub-fv__header {
	padding-top: 9.375rem;
}

.tab-about {
	bottom: 0;
	max-width: 16.25rem;
	position: absolute;
	right: 1.25rem;
	width: 100%;
	z-index: 10;
}

.tab-decorator {
	--tab-color: #61A5B8;
	display: block;
	padding-top: 1.6875rem;
	position: relative;
	width: 100%;
}

.tab-decorator--blue {
	--tab-color: #428ACB;
}

.tab-decorator--slate {
	--tab-color: #3C5F7E;
}

.tab-decorator--default {
	--tab-color: #61A5B8;
}

.tab-decorator__svg {
	color: var(--tab-color);
	display: block;
	height: 1.6875rem;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 8.4375rem;
	z-index: 1;
}

/* -------------------------------------------
  about専用：タブヘッダーコンポーネント
------------------------------------------- */

.tab-header {
	bottom: -0.0625rem;
	max-width: 16.25rem;
	position: absolute;
	right: 1.25rem;
	width: 100%;
	z-index: 5;
}

.tab-header__inner {
	align-items: center;
	display: grid;
	justify-items: center;
	margin-left: 0;
	place-items: center;
	position: relative;
	width: min(100%, 16.25rem);
}

.tab-header__bg {
	width: 100%;
	z-index: 1;
}

.tab-header__svg {
	display: block;
	height: auto;
	width: 100%;
}

.tab-header__svg--sp {
	aspect-ratio: 260/45;
}

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

.tab-header__title {
	color: #EFEFEF;
	font-family: "Roboto", sans-serif;
	font-size: 3rem;
	font-weight: 500;
	left: calc(50% + 1.125rem);
	letter-spacing: 0.08em;
	line-height: 1;
	margin: 0;
	position: absolute;
	text-transform: uppercase;
	top: calc(50% + 0.25rem);
	transform: translate(-50%, -50%);
	z-index: 2;
}

.table-of-contents {
	background-color: #F8F9FB;
	border: 0.125rem solid #B6C8CB;
	border-radius: 0.5rem;
	box-shadow: 0 0 1.25rem rgba(47, 82, 92, 0.07);
	box-sizing: border-box;
	overflow: hidden;
	padding: 1.5rem 1.25rem;
	position: relative;
}

.table-of-contents::after {
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%);
	background-color: #a5c4cc;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
	content: "";
	height: 2.75rem;
	pointer-events: none;
	position: absolute;
	right: -0.125rem;
	top: -0.125rem;
	width: 2.75rem;
}

.table-of-contents__title {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0 0 1rem;
	text-align: center;
}

.table-of-contents__list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.table-of-contents__list li {
	margin: 0;
}

.table-of-contents__list a {
	-webkit-text-decoration: none;
	color: #333;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.0625rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
	text-decoration: none;
}

.spacer {
	height: 3.125rem;
}

.spacer-2 {
	height: 6.25rem;
}

.parts-inner {
	background-color: #dcdcdc;
}

/* パーツ一覧：SP レイアウト確認用（Figma 375/390 幅イメージ） */

.parts-preview-sp {
	margin-left: auto;
	margin-right: auto;
	max-width: 24.375rem;
	width: 100%;
}

/* service カード見本：実セクションと同じ青緑上で白文字を確認 */

.parts-demo-service-bg {
	background-color: #128EA4;
	padding: 2.5rem 1.25rem;
}

.title-slush {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	margin: 0;
	text-align: center;
	width: 100%;
}

.title-slush--listing {
	gap: 0.25rem;
	margin-bottom: 2rem;
}

.title-slush__row {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	justify-content: center;
	row-gap: 0.25rem;
	width: 100%;
}

.title-slush__deco {
	display: block;
	flex-shrink: 0;
	line-height: 0;
	transform: translateX(-2px);
}

.title-slush__deco--left {
	transform: scaleX(-1) translateX(-2px);
}

.title-slush__decoImg {
	-o-object-fit: contain;
	display: block;
	height: 1.5625rem;
	object-fit: contain;
	width: auto;
}

.title-slush__line1 {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
}

.title-slush__line2 {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	text-align: center;
	white-space: nowrap;
}

.title-slush--startUp {
	gap: 0.25rem; /* SP: スラッシュ SVG 表示サイズ（調整済み） */
}

.title-slush--startUp .title-slush__line1,
.title-slush--startUp .title-slush__line2 {
	color: #fff;
}

.title-slush--startUp .title-slush__line1 {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

.title-slush--startUp .title-slush__line2 {
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin-left: auto;
	margin-right: auto;
	max-width: 16.0625rem;
}

.title-slush--startUp .title-slush__decoImg {
	-o-object-fit: contain;
	height: 1.8125rem;
	object-fit: contain;
	width: 1.4375rem;
}

.page-column--listing .page-column__title-desc {
	color: #333;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin: 1.5rem 0 0;
	margin-left: auto;
	margin-right: auto;
	max-width: 25rem;
	text-align: left;
}

.video-card {
	max-width: none;
	width: 100%;
}

.video-card__link {
	-webkit-text-decoration: none;
	color: inherit;
	display: block;
	text-decoration: none;
}

.video-card__inner {
	background-color: #fff;
	border-radius: 0.75rem;
	box-shadow: 0 0 2.5rem rgba(47, 82, 92, 0.07);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	overflow: hidden;
	width: 100%;
}

.video-card__media {
	aspect-ratio: 350/196;
	border-radius: 0.75rem 0.75rem 0 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.video-card__thumb {
	-o-object-fit: cover;
	border-radius: 0.75rem 0.75rem 0 0;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
	width: 100%;
}

.video-card__play {
	height: 3.375rem;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 3.375rem;
}

.video-card__play img {
	-o-object-fit: contain;
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.video-card__body {
	box-sizing: border-box;
	padding: 0 1.125rem 0.875rem;
}

.video-card__title {
	color: #595959;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.3;
	margin: 0;
	transition: color 0.3s ease;
}

.video-card__link:focus-visible {
	outline: 0.125rem solid #3E91A8;
	outline-offset: 0.125rem;
}

.parts-video-vertical-demo {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

.video-card--vertical {
	max-width: 18.75rem;
	width: 100%;
}

.video-card--vertical .video-card__inner {
	border-radius: 0.5rem;
	box-shadow: 0 0.25rem 2.5rem rgba(0, 0, 0, 0.07);
	gap: 0;
}

.video-card--vertical .video-card__media {
	aspect-ratio: 300/533;
	border-radius: 0.5rem;
}

.video-card--vertical .video-card__thumb {
	border-radius: 0.5rem;
}

.video-card--vertical .video-card__play {
	height: 4.375rem;
	width: 4.375rem;
}

.video-card--cinema-select .video-card__inner {
	border-radius: 0.5rem;
	box-shadow: 0 0.25rem 2.5rem rgba(0, 0, 0, 0.07);
	gap: 0.4375rem;
}

.video-card--cinema-select .video-card__media {
	aspect-ratio: 350/197;
	border-radius: 0.5rem 0.5rem 0 0;
}

.video-card--cinema-select .video-card__thumb {
	border-radius: 0.5rem 0.5rem 0 0;
}

.video-card--cinema-select .video-card__play { /* SP: Figma youtube 68 */
	height: 4.25rem;
	width: 4.25rem;
}

.video-card--cinema-select .video-card__body { /* SP: Figma pb 12 / px 20 */
	padding: 0 1.25rem 0.875rem;
}

.video-card--cinema-select .video-card__title {
	color: #595959;
	font-size: 1rem;
	letter-spacing: 0.02em;
	line-height: 1.3;
}

.video-card--fv-youtube .video-card__facade {
	height: 100%;
	position: relative;
	width: 100%;
	z-index: 0;
}

.video-card--fv-youtube .video-card__facade-hit {
	background-color: transparent;
	border: 0;
	bottom: 0;
	cursor: pointer;
	display: block;
	height: 100%;
	left: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 1;
}

.video-card--fv-youtube .video-card__embed {
	bottom: 0;
	display: none;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 2;
}

.video-card--fv-youtube .video-card__embed iframe {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}

.video-card--fv-youtube.is-playing .video-card__embed {
	display: block;
}

.video-card--fv-youtube.is-playing .video-card__facade,
.video-card--fv-youtube.is-playing .video-card__facade-hit {
	display: none;
}

.video-card--fv-youtube .video-card__facade-hit:focus-visible {
	outline: 0.125rem solid #3E91A8;
	outline-offset: 0.125rem;
}

@media (any-hover: hover) {

.cta-button:hover {
	background-color: #F4CD07;
}

.drawer__link:hover {
	opacity: 0.7;
}

.footer__nav-item a:hover {
	color: #2F778B;
}

.form__field input[type=text]:hover,
.form__field input[type=tel]:hover,
.form__field input[type=email]:hover,
.form__textarea:hover,
.form__row--message textarea:hover {
	box-shadow: 0 0 0 0.0625rem rgba(62, 145, 168, 0.25);
}

.form__field--checkbox__input:hover {
	box-shadow: 0 0 0 0.0625rem rgba(62, 145, 168, 0.35);
}

.form__submit:has(input:not(:disabled)):hover {
	background-color: #81c0d2;
}

.form__submit:has(input:not(:disabled)):hover button::after {
	right: 0.5rem;
}

.form__row input:hover.wpcf7-not-valid,
.form__row--message textarea:hover.wpcf7-not-valid {
	box-shadow: none;
}

.form__field--checkbox .wpcf7-not-valid input[type=checkbox]:hover {
	box-shadow: none;
}

.header__link:hover {
	color: #2F778B;
}

.link-button:hover {
	background-color: #81c0d2;
}

.link-button:hover .link-button__icon {
	right: 0.5rem;
}

.link-button--cta:hover .link-button__inner {
	background-color: #fff;
	border-color: #3E91A8;
	color: #3E91A8;
}

.link-button--back:hover .link-button__icon {
	left: 0.625rem;
	right: auto;
}

.list-card__link:hover .list-card__thumb img {
	opacity: 1;
	scale: 1.15;
}

.nav-card__link:hover .nav-card__arrow {
	transform: translateX(0.375rem);
}

.nav-card__link:hover .nav-card__icon img {
	opacity: 0.8;
}

.nav-card:hover .nav-card__arrow {
	transform: translateX(0.375rem);
}

.nav-card:hover .nav-card__arrow svg {
	opacity: 1;
}

.nav-card:hover .nav-card__icon img {
	opacity: 0.8;
}

.news-list__link:hover {
	border-bottom-color: #7cb5c4;
}

.news-list:hover .news-list__arrow {
	transform: translateX(0);
}

.news-list:hover svg {
	opacity: 1;
}

.search-sidebar__category-link:hover {
	opacity: 0.7;
}

.page-news__archive-link:hover {
	opacity: 0.7;
}

.pagination .wp-pagenavi > a:not(.nextpostslink):not(.previouspostslink):hover {
	color: #3E91A8;
}

.pagination .nextpostslink:hover::before,
.pagination .previouspostslink:hover::before {
	background-color: #3E91A8;
}

.pagination .nextpostslink:hover,
.pagination .previouspostslink:hover {
	color: transparent;
}

.pagination--detail .nextpostslink:hover,
.pagination--detail .previouspostslink:hover {
	color: #333;
}

.pagination--detail .nextpostslink:hover::before,
.pagination--detail .previouspostslink:hover::before {
	background-color: #595959;
}

.video-card__link:hover .video-card__thumb {
	opacity: 1;
	transform: scale(1.2);
}

.video-card__link:hover .video-card__play img {
	opacity: 1;
}

.video-card--fv-youtube:not(.is-playing) .video-card__media:hover .video-card__thumb {
	opacity: 1;
	transform: scale(1.2);
}

.video-card--fv-youtube:not(.is-playing) .video-card__media:hover .video-card__play img {
	opacity: 1;
}

}

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

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

html {
	font-size: 1.3333333333vw;
}

.feature-layout {
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.layout-breadcrumb--detail {
	margin-top: 10.0625rem;
}

.layout-main {
	margin-top: 11.25rem;
}

.layout-sidebar--2rows {
	grid-column: 2/3;
	grid-row: 1/2;
	margin-top: 0rem;
}

.about {
	margin-top: 6.25rem;
	padding-bottom: 10.1875rem;
}

.about__grid {
	grid-column-gap: 6.25%;
	-moz-column-gap: 6.25%;
	align-items: start;
	column-gap: 6.25%;
	display: grid;
	grid-template-columns: 55.833333% 1fr;
	grid-template-rows: auto auto;
	margin-top: 0.125rem;
	max-width: 75rem;
	width: 100%;
}

.about__content-middle {
	aspect-ratio: 455/544;
	border-radius: 0.75rem;
	box-shadow: 0 0.25rem 2.5rem rgba(0, 0, 0, 0.07);
	grid-column: 2;
	grid-row: 1/3;
	justify-self: end;
	margin-top: 4.375rem;
	max-width: 28.4375rem;
	overflow: hidden;
	width: 100%;
}

.about__content-upper {
	grid-column: 1;
	grid-row: 1;
	max-width: none;
}

.about__text-main {
	font-size: 1.25rem;
	letter-spacing: 0.02em;
	line-height: 2;
	margin-top: 1.875rem;
	max-width: 40rem;
}

.about__text-note {
	-webkit-text-decoration: none;
	border-bottom: 0.125rem solid #5e94a2;
	display: inline-block;
	font-size: 1.25rem;
	line-height: 2;
	margin: 0;
	margin-top: 1.375rem;
	text-decoration: none;
	text-underline-offset: 10%;
	width: -moz-fit-content;
	width: fit-content;
}

.about__content-lower {
	gap: 0.8125rem;
	grid-column: 1;
	grid-row: 2;
	margin-top: 4rem;
	margin-top: 0.9375rem;
	max-width: none;
}

.about__lead-text {
	font-size: 2rem;
	letter-spacing: 0.02em;
}

.about__desc {
	font-size: 1.25rem;
	line-height: 2;
	margin-top: 0;
	max-width: 40rem;
}

.about__link {
	margin-top: 4rem;
	max-width: 16.25rem;
}

.accent-border-line {
	background-image: linear-gradient(to right, #3E91A8 12.5rem, #a8c0c4 12.5rem);
}

.author-card__inner {
	padding: 2rem;
}

.author-card__content {
	flex-direction: row;
	gap: 2rem;
}

.author-card__meta {
	flex-shrink: 0;
	width: auto;
}

.author-card__img {
	aspect-ratio: 330/186;
	width: 20.625rem;
}

.author-card__profile {
	gap: 3rem;
	width: auto;
}

.author-card__name {
	font-size: 1.5rem;
}

.author-card__text {
	align-items: stretch;
	align-self: stretch;
	flex-shrink: 0;
	justify-content: flex-start;
	min-height: 0;
	padding: 1.5rem;
	width: 23.375rem;
}

.author-card--office .author-card__inner {
	padding: 2rem;
}

.author-card--office .author-card__body {
	flex-direction: row;
	gap: 2.5rem;
}

.author-card--office .author-card__media {
	aspect-ratio: 330/186;
	max-width: 20.625rem;
	width: 20.625rem;
}

.author-card--office .author-card__office {
	flex: 1 1 auto;
	min-width: 0;
}

.cinema-select {
	margin-top: -0.75rem;
}

.cinema-select__contents {
	padding-bottom: 8.25rem;
	padding-top: 2.875rem;
}

.cinema-select__action {
	margin-top: 5rem;
	max-width: 18.9375rem;
}

.cinema-select__stack {
	margin-right: 0;
	overflow: visible;
}

.cinema-select__items {
	grid-gap: 12.5%;
	display: grid;
	gap: 12.5%;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 75rem;
}

.cinema-select__item {
	flex-shrink: initial;
}

.cinema-select__coming-soon {
	margin-top: 4.5rem;
}

.cinema-select__coming-soon-text {
	font-size: 2.5rem;
}

.column {
	margin-top: -0.75rem;
}

.column__inner.inner {
	padding-left: 0rem;
	padding-right: 0rem;
}

.column__contents {
	gap: 4.6875rem;
	padding: 4rem 1.875rem 9.5625rem;
}

.column__header-desc {
	letter-spacing: 0.08em;
	margin-top: 2rem;
	max-width: none;
	text-align: center;
}

.column__stack {
	gap: 4.375rem;
}

.column__items {
	gap: 3.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.column__item .list-card {
	max-width: 22.5rem;
}

.column__action {
	max-width: 18.9375rem;
}

.contact__desc p {
	font-size: 1.125rem;
	letter-spacing: 0.02em;
}

.contact__policy {
	margin-top: 3rem;
}

.cta-card__inner {
	gap: 2.5rem;
	padding: 2.4375rem 1rem;
}

.cta-card__content {
	gap: 0.875rem;
}

.cta-card__title {
	font-size: 1.5rem;
	letter-spacing: 0.02em;
}

.cta-card__desc {
	font-size: 1rem;
	letter-spacing: 0.02em;
}

.cta-card__action {
	max-width: 23rem;
}

.cta-card__action--right {
	max-width: 24.375rem;
}

.cta-contact {
	margin-bottom: 7.5rem;
	margin-left: 1.875rem;
	margin-right: 1.875rem;
}

.cta-contact__bg {
	background-image: url("../images/common/cta-contact-img_pc.webp");
}

.cta-contact__inner {
	padding: 4rem 5rem 5.5rem;
}

.cta-contact__desc {
	margin-top: 1.5rem;
}

.cta-contact__cards {
	gap: 7.692307%;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 3.5rem;
	max-width: none;
}

.cta-expert {
	margin-bottom: 7.5rem;
	padding-left: 30px;
	padding-right: 30px;
}

.cta-expert__bg {
	background-image: linear-gradient(202deg, rgba(12, 123, 135, 0.9) 25%, rgba(7, 85, 116, 0.9) 86%), url("../images/common/page-expert/p-expert-ctaBg_pc.webp");
}

.cta-expert__inner {
	gap: 3.5rem;
	padding: 4rem 5rem 5.5rem;
}

.cta-expert__lead {
	gap: 1.5rem;
}

.cta-expert__header .section-header__jpTitle {
	font-size: 2.25rem;
	letter-spacing: 0.08em;
}

.cta-expert__desc {
	align-self: stretch;
	text-align: center;
	width: 100%;
}

.cta-expert__desc p {
	text-align: center;
}

.cta-expert__action {
	max-width: 23rem;
	text-align: center;
}

.cta-expert .link-button__inner {
	font-size: 1.125rem;
	letter-spacing: 0.2em;
	padding-right: 4rem;
}

.cta-expert .link-button__icon {
	height: 1.125rem;
	right: 0.9375rem;
	width: 1.125rem;
}

.detail-column__inner {
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.detail-column__contents {
	margin-bottom: 5rem;
	margin-top: 5rem;
}

.detail-column__main {
	grid-column: 1;
	grid-row: 1;
	max-width: 49.375rem;
}

.detail-column__title {
	font-size: 1.75rem;
	line-height: 1.5;
}

.detail-column__author {
	margin-top: 2.5rem;
}

.detail-column__toc {
	margin-top: 3.5rem;
}

.detail-column__body {
	margin-top: 3.5rem;
}

.detail-column__sidebar {
	padding-top: 3.875rem;
	width: 15rem;
}

.detail-column__sidebar .search-window__field {
	min-height: 2.875rem;
}

.detail-column__navigations {
	margin-top: 0;
}

.detail-column__navLinkButton {
	font-size: 1.125rem;
}

.detail-column__navLinkIcon {
	height: 1.125rem;
	width: 1.125rem;
}

.detail-column__body.entry-content h2 {
	font-size: 1.5rem;
	line-height: 1.5;
}

.detail-column__body.entry-content p + h2 {
	margin-top: 4rem;
}

.detail-news__inner {
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.detail-news__content {
	margin-top: 5rem;
	max-width: 49.375rem;
}

.detail-news__title {
	font-size: 1.75rem;
	line-height: 1.5;
}

.detail-news__summary .tab-decorator__svg {
	height: 2.125rem;
	width: 10.5625rem;
}

.detail-news__summaryContent {
	padding: 1.5rem 2rem 2rem;
}

.detail-news__navigations {
	margin-bottom: 5rem;
	margin-top: 5rem;
}

.detail-news__backLink {
	margin-top: 3rem;
	width: 14.375rem;
}

.detail-news__body.entry-content h2 {
	font-size: 1.5rem;
	line-height: 1.5;
}

.drawer {
	display: none;
}

.expert {
	margin-top: -0.75rem;
}

.expert__contents {
	gap: 4.5rem;
	padding-bottom: 9.5625rem;
	padding-top: 3rem;
}

.expert__header-desc {
	letter-spacing: 0.08em;
	margin-top: 2rem;
}

.expert__items {
	gap: 3rem 3.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 75rem;
}

.expert__action {
	margin-top: 5rem;
	max-width: 23rem;
}

.expert-stats {
	margin-top: 6.25rem;
	max-width: 47.125rem;
	padding: 0.875rem;
}

.expert-stats__inner {
	border-width: 0.125rem;
	gap: 1.9375rem;
	padding: 2.1875rem 1.875rem 1.8125rem;
}

.expert-stats__title {
	font-size: 1.875rem;
}

.expert-stats__container {
	flex-wrap: nowrap;
	gap: 6.8125rem;
	min-height: 6.25rem;
}

.expert-stats__item {
	padding: 0 2.3125rem;
}

.expert-stats__item::before,
.expert-stats__item::after {
	height: 6.25rem;
	width: 2.4375rem;
}

.expert-stats__item::before {
	background-image: url("../images/common/top/laurel-icon-L_pc.svg");
}

.expert-stats__item::after {
	background-image: url("../images/common/top/laurel-icon-R_pc.svg");
}

.expert-stats__label {
	font-size: 1rem;
	margin-bottom: 0.625rem;
}

.expert-stats__number {
	font-size: 2.875rem;
}

.expert-stats__number-unit {
	flex-wrap: nowrap;
	font-size: 1.125rem;
	line-height: 1;
	margin-left: 0.125rem;
	padding-bottom: 0.125rem;
}

.f-list-card {
	border: none;
	border-bottom: 0.0625rem solid #e1eff1;
	border-radius: 0;
	box-shadow: 0 0 1.875rem rgba(6, 71, 148, 0.07);
	max-width: 70rem;
	padding: 0 2.5rem 1.9375rem;
}

.f-list-card--surface-clear {
	border: none;
	border-bottom: 0.0625rem solid #e1eff1;
	border-radius: 0;
	box-shadow: 0 0 1.875rem rgba(6, 71, 148, 0.07);
}

.f-list-card--color {
	border: none;
	border-bottom: 0.0625rem solid #a8c0c4;
	border-radius: 0;
	box-shadow: 0 0 1.875rem rgba(6, 71, 148, 0.07);
}

.f-list-card__inner {
	align-items: center;
	flex-direction: row;
	gap: 0;
	justify-content: space-between;
}

.f-list-card__copy {
	align-items: flex-start;
	flex: 0 0 33.25rem;
	gap: 0.75rem;
	max-width: 33.25rem;
	padding-bottom: 2rem;
	padding-top: 2rem;
	width: 33.25rem;
}

.f-list-card__head {
	align-items: flex-start;
}

.f-list-card__title {
	font-size: 1.5rem;
	letter-spacing: 0.04em;
	text-align: left;
	width: min(100%, -moz-max-content);
	width: min(100%, max-content);
}

.f-list-card__media {
	aspect-ratio: 420/246;
	width: 26.25rem;
}

.feature-block {
	border-radius: 0 0.75rem 0 0;
}

.feature-block--round {
	border-radius: 0 0.75rem 0.75rem 0.75rem;
}

.feature-block__tab {
	aspect-ratio: 567/64;
	max-width: 567px;
	min-width: 150px;
	width: 41%;
}

.feature-block__tab-svg--sp {
	display: none;
}

.feature-block__tab-svg--pc {
	display: block;
}

.footer {
	margin-bottom: 0.9375rem;
}

.footer__body {
	gap: 4.25rem;
}

.footer__lead {
	gap: 2.8125rem;
}

.footer__logo {
	width: min(100%, 16.125rem);
}

.footer__nav-list {
	flex-wrap: wrap;
	gap: 1.25rem;
	justify-content: flex-start;
}

.footer__nav-item a {
	line-height: 1;
	padding-bottom: 1.25rem;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
	padding-top: 1.25rem;
}

.footer__copyright {
	font-size: 0.875rem;
	letter-spacing: 0.02em;
}

.wpcf7 form.invalid .wpcf7-response-output {
	font-size: 1rem;
}

.form__set {
	padding: 4rem 5rem;
}

.form__row-group {
	align-items: flex-end;
	display: flex;
	gap: 1.625rem 2.5rem;
}

.form__row-group .form__row + .form__row {
	margin-top: 0;
}

.form__row--message {
	padding-top: 0.625rem;
}

.form__label span.is-required--text::after {
	left: auto;
	right: -2.5rem;
}

.form__footer {
	margin-top: 2.5rem;
}

.form__submit {
	max-width: 20.3125rem;
}

.form__submit input {
	font-size: 1.125rem;
	letter-spacing: 0.2em;
	min-height: 3.625rem;
	padding-bottom: 1.125rem;
	padding-left: 2.25rem;
	padding-right: 2.5rem;
	padding-top: 1.125rem;
}

.form__submit input::after {
	right: 0.875rem;
	top: 50%;
	transform: translateY(-50%);
}

.form--contact .form__set {
	padding: 4rem 5rem;
}

.form--contact .form__row {
	max-width: 21.875rem;
}

.form--contact .form__row--message {
	max-width: 49.375rem;
}

.form--contact .form__row--message .form__field {
	max-width: 49.375rem;
	width: 100%;
}

.form--contact .form__submit button {
	font-size: 1.25rem;
	letter-spacing: 0.2em;
}

.form--contact .form__note {
	text-align: center;
}

.fv-card {
	max-width: 23.125rem;
}

.fv-card__tab {
	color: var(--fv-card-tab-bg);
	height: 2.125rem;
	width: 10.5625rem;
}

.fv-card__inner {
	border-radius: 0 0.5rem 0.5rem 0.5rem;
	box-shadow: 0 0 2.5rem rgba(47, 82, 92, 0.07);
	gap: 0.875rem;
	padding: 1.25rem 1.25rem 0.625rem;
}

.fv-card__media {
	aspect-ratio: 330/186;
	border-radius: 0.5rem;
}

.fv-card__content {
	gap: 2.5625rem;
}

.fv-card__upper {
	gap: 0.3125rem;
}

.fv-card__category {
	font-size: 0.8125rem;
}

.fv-card__detail {
	gap: 0.625rem;
}

.fv-card__name-group {
	gap: 0.375rem;
}

.fv-card__heading-row {
	-moz-column-gap: 1.625rem;
	column-gap: 1.625rem;
	row-gap: 0.375rem;
}

.fv-card__title {
	font-size: 1.125rem;
}

.fv-card__name {
	font-size: 1.125rem;
}

.fv-card__company {
	font-size: 0.8125rem;
}

.fv-card__lead {
	font-size: 1rem;
	padding: 0.375rem 0.5rem;
}

.fv-card__areas {
	font-size: 0.8125rem;
}

.fv {
	background-image: url("../images/common/fv/fv-bgImg_pc.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 69.1875rem;
}

.fv__inner {
	display: block;
	height: 47.8125rem;
	margin-left: auto;
	margin-right: 2.09%;
	max-width: 80.625rem;
	top: 13.3125rem;
	width: 89.6%;
}

.fv__copy {
	left: 0;
	position: absolute;
	top: 0;
	width: 42.5rem;
}

.fv__heading {
	font-size: 2.625rem;
	letter-spacing: 0.09em;
	letter-spacing: 0.2em;
}

.fv__lead-text {
	font-weight: 400;
}

.fv__aside {
	gap: 2rem;
	margin-top: 0rem;
	max-width: 27.6875rem;
	position: absolute;
	right: 0;
	top: calc(50% + 0.1875rem);
	transform: translateY(-50%);
}

.fv__aside .fv__cards-stack {
	height: 31.8125rem;
	margin-bottom: 1.5rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 27.6875rem;
}

.fv__aside .fv__card-back {
	align-items: center;
	display: flex;
	height: 31.8125rem;
	justify-content: center;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 2.0625rem;
	width: 27.6875rem;
	z-index: 0;
}

.fv__aside .fv__card-back .intro-card--fv {
	transform: rotate(10deg);
}

.fv__aside .fv__card-front {
	left: 2.3125rem;
	position: absolute;
	top: 4.625rem;
}

.fv__actions {
	bottom: 0;
	gap: 2rem;
	left: 2.5rem;
	position: absolute;
	width: 28.75rem;
}

.fv__actions .fv__link {
	max-width: 21.625rem;
}

.fv__actions .fv__link--video {
	max-width: 17.625rem;
}

.hamburger {
	display: none;
}

.header {
	padding: 1.5rem 2.5rem;
}

.header__logo-pic img {
	width: 12rem;
}

.header__nav {
	display: flex;
}

.imgSlider__container {
	height: 15.375rem;
}

.imgSlider__swiper-slide {
	width: 26.25rem;
}

.inner {
	max-width: 1260px;
	padding-left: 30px;
	padding-right: 30px;
}

.intro-card__media {
	aspect-ratio: 330/186;
	max-width: 20.625rem;
}

.intro-card__content {
	gap: 2.5625rem;
	justify-content: space-between;
}

.intro-card--expert .intro-card__expert-top {
	gap: 1.5rem;
}

.intro-card--expert .intro-card__inner {
	grid-gap: 3rem;
	align-items: center;
	display: grid;
	gap: 3rem;
	grid-template-columns: 22.5rem minmax(0, 1fr);
	padding: 2rem 4rem;
}

.intro-card--expert .intro-card__media {
	aspect-ratio: 360/203;
	max-width: 22.5rem;
}

.intro-card--expert .intro-card__content {
	gap: 1.5rem;
	max-width: 27.5rem;
}

.intro-card--expert .intro-card__upper {
	gap: 0.5rem;
}

.intro-card--expert .intro-card__name-group {
	gap: 0.25rem;
}

.intro-card--expert .intro-card__heading-row {
	-moz-column-gap: 1.625rem;
	align-items: center;
	column-gap: 1.625rem;
	flex-direction: row;
	flex-wrap: wrap;
	row-gap: 0.375rem;
}

.intro-card--expert .intro-card__company {
	color: #595959;
	font-size: 1rem;
}

.intro-card--expert .intro-card__title {
	color: #333;
	font-size: 1.5rem;
}

.intro-card--expert .intro-card__name {
	color: #333;
	font-size: 1.5rem;
}

.intro-card--expert .intro-card__areas {
	color: #595959;
}

.intro-card--expert .intro-card__cta {
	margin-left: auto;
	margin-right: auto;
	max-width: 20.25rem;
}

.intro-card__tags {
	gap: 0.875rem;
}

.intro-card--column .intro-card__content {
	gap: 1rem;
}

.intro-card--news .intro-card__content {
	gap: 1rem;
	justify-content: flex-start;
}

.intro-card--fv {
	max-width: 23.125rem;
}

.intro-card--fv .intro-card__tab {
	color: var(--fv-card-tab-bg);
	height: 2.125rem;
	width: 10.5625rem;
}

.intro-card--fv .intro-card__inner {
	border-radius: 0 0.5rem 0.5rem 0.5rem;
	box-shadow: 0 0 2.5rem rgba(47, 82, 92, 0.07);
	gap: 0.875rem;
	padding: 1.25rem 1.25rem 0.625rem;
}

.intro-card--fv .intro-card__media {
	aspect-ratio: 330/186;
	border-radius: 0.5rem;
}

.intro-card--fv .intro-card__content {
	gap: 2.5625rem;
}

.intro-card--fv .intro-card__upper {
	gap: 0.3125rem;
}

.intro-card--fv .intro-card__category {
	font-size: 0.8125rem;
}

.intro-card--fv .intro-card__detail {
	gap: 0.625rem;
}

.intro-card--fv .intro-card__name-group {
	gap: 0.375rem;
}

.intro-card--fv .intro-card__heading-row {
	-moz-column-gap: 1.625rem;
	column-gap: 1.625rem;
	row-gap: 0.375rem;
}

.intro-card--fv .intro-card__title {
	font-size: 1.125rem;
}

.intro-card--fv .intro-card__name {
	font-size: 1.125rem;
}

.intro-card--fv .intro-card__company {
	font-size: 0.8125rem;
}

.intro-card--fv .intro-card__lead {
	font-size: 1rem;
	padding: 0.375rem 0.5rem;
}

.intro-card--fv .intro-card__areas {
	font-size: 0.8125rem;
}

.intro-card--fv .fv-card-body-slider__track {
	gap: 0.875rem;
}

.intro-card--fv .fv-card-body-slider__slide {
	gap: 0.875rem;
}

.lead-title {
	font-size: 2.3125rem;
	letter-spacing: 0.04em;
	line-height: 1.8;
	margin-top: -0.75rem;
}

.line-header__line {
	width: 3.125rem;
}

.line-header__title {
	font-size: 2.375rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
	margin-left: 1.125rem;
	margin-right: 1.125rem;
}

.link-button__inner {
	font-size: 1.125rem;
	justify-content: start;
	letter-spacing: 0.2em;
	min-height: 3.625rem;
	padding-bottom: 1.125rem;
	padding-left: 2.25rem;
	padding-right: 4rem;
	padding-top: 1.125rem;
}

.link-button__icon {
	top: 50%;
}

.link-button--cta .link-button__inner {
	font-size: 1.125rem;
	justify-content: start;
	letter-spacing: 0.2em;
	min-height: 2.875rem;
	padding-bottom: 0.875rem;
	padding-top: 0.875rem;
}

.link-button--back .link-button__inner {
	padding-bottom: 1rem;
	padding-left: 4rem;
	padding-right: 2.5rem;
	padding-top: 1rem;
}

.link-button--back .link-button__icon {
	height: 1.125rem;
	width: 1.125rem;
}

.list-card--column .list-card__thumb {
	aspect-ratio: 360/203;
	max-width: 22.5rem;
}

.list-card--column .list-card__body {
	gap: 0.4375rem;
	margin-top: 1rem;
}

.list-card--column .list-card__title {
	font-size: 1.125rem;
}

.nav-card__link {
	aspect-ratio: 360/325;
	flex-direction: column;
	padding: 2.8125rem 1.5rem 1rem;
}

.nav-card__content {
	flex-direction: column;
	gap: 0.875rem;
	justify-content: center;
	margin-top: 0rem;
}

.nav-card__icon {
	order: 1;
	width: 10rem;
}

.nav-card__text {
	min-width: none;
	order: 2;
	text-align: center;
}

.nav-card__title {
	font-size: 1.5rem;
	letter-spacing: 0.02em;
}

.nav-card__sub {
	font-size: 1rem;
	letter-spacing: 0.02em;
	margin-top: 0.75rem;
	text-align: center;
}

.nav-card__arrow {
	bottom: 1.125rem;
	right: 1.875rem;
}

.nav-card--startUp .nav-card__link {
	aspect-ratio: 360/266;
	flex-direction: column;
	padding: 0;
}

.nav-card--startUp .nav-card__text {
	display: block;
	flex: none;
	gap: 0;
	min-width: 0;
	text-align: center;
}

.nav-card--startUp .nav-card__title {
	letter-spacing: 0.02em;
}

.nav-card--startUp .nav-card__sub {
	font-size: 1rem;
	letter-spacing: 0.02em;
	margin-top: 0.75rem;
	text-align: center;
}

.nav-card--startUp .nav-card__icon {
	height: auto;
	overflow: visible;
	width: 10rem;
}

.nav-card--expert .nav-card__link {
	aspect-ratio: 580/351;
	flex-direction: column;
	height: auto;
	padding: 1.5rem 1.5rem 1rem;
}

.nav-card--expert .nav-card__text {
	min-width: 0;
}

.nav-card--expert .nav-card__sub {
	color: #595959;
	font-size: 1rem;
	letter-spacing: 0.02em;
	line-height: 1.3;
	margin-top: 0.75rem;
	text-align: center;
}

.nav-card--expert .nav-card__icon {
	height: auto;
	order: 1;
	overflow: visible;
	width: 10rem;
}

.news-list__link {
	-moz-column-gap: 3.75rem;
	column-gap: 3.75rem;
	padding: 2.0625rem 0.875rem 1.875rem 0;
}

.news-list__content {
	gap: 1.25rem;
	max-width: 21.875rem;
}

.news-list__title {
	font-size: 1.0625rem;
	letter-spacing: 0.02em;
	line-height: 1.5;
}

.news-list__arrow {
	transform: translateX(-0.375rem);
}

.news {
	margin-top: -0.75rem;
}

.news__contents {
	margin-bottom: 7.5rem;
	padding: 4rem 0 6.25rem;
}

.news__header .section-header__jpTitle {
	letter-spacing: 0.08em;
}

.news__layout {
	align-items: start;
	gap: 0 2.5rem;
	grid-template-columns: max-content 46.25rem;
	grid-template-rows: auto 1fr;
	justify-content: space-between;
}

.news__stack {
	display: contents;
}

.news__header {
	grid-column: 1;
	grid-row: 1;
}

.news__items {
	grid-column: 2;
	grid-row: 1/span 2;
	width: 46.25rem;
}

.news__action {
	grid-column: 1;
	grid-row: 2;
	justify-content: flex-start;
	margin-top: 5rem;
	max-width: 18.875rem;
}

.page-about {
	padding-bottom: 5.625rem;
	padding-top: 7.5rem;
}

.page-about__intro {
	gap: 1.5rem;
}

.page-about__lead {
	font-size: 1.125rem;
}

.page-about__dots {
	box-shadow: 0 -1.125rem 0 0 #78abae, 0 1.125rem 0 0 #78abae;
}

.page-about__message {
	font-size: 1.25rem;
	line-height: 1.8;
}

.page-about__reason__surface {
	border-radius: 0 0.75rem 0 0;
	padding-bottom: 10rem;
	padding-top: 4.5rem;
}

.page-about__reason__inner {
	align-items: center;
	gap: 3rem;
	max-width: 50rem;
	padding-left: 0;
	padding-right: 0;
}

.page-about__reason__list {
	margin-top: 0;
}

.page-about__reason__title {
	font-size: 2.3125rem;
	letter-spacing: 0.04em;
	line-height: 1.8;
	margin-top: -0.75rem;
	text-align: center;
}

.page-about__reason__intro {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	max-width: 40rem;
	text-align: center;
}

.page-about__reason-item {
	align-items: flex-start;
	border-bottom-width: 0.0625rem;
	flex-direction: row;
	gap: 2.5rem;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
}

.page-about__reason-item__name {
	width: 22.5rem;
}

.page-about__reason-item__name span:first-child {
	flex: initial;
	text-align: inherit;
}

.page-about__reason-item__content {
	display: block;
}

.page-about__reason-item__lead {
	font-size: 1.125rem;
	letter-spacing: 0.02em;
}

.page-about__trust {
	margin-top: 9rem;
	padding-top: 5rem;
}

.page-about__trust__surface {
	padding: 0 0 7.5rem;
}

.page-about__trust__header {
	text-align: center;
}

.page-about__trust__stack {
	margin-top: 3.5rem;
}

.page-about__promise__surface {
	padding: 3rem 0 7.5rem;
}

.page-about__promise__stack {
	margin-top: 3.5rem;
}

.page-about__company {
	padding-left: 30px;
	padding-right: 30px;
}

.page-about__company__surface {
	padding-bottom: 7.5rem;
}

.page-about__company__inner {
	gap: 6.25rem;
}

.page-about__company__messageWrap {
	background-image: url("../images/common/page-about/p-about-infoBG_pc.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	gap: 4.5rem;
	padding: 6.5rem 1rem 7.5rem;
}

.page-about__company__messageOuter {
	max-width: 51rem;
}

.page-about__company__messageInner {
	align-items: center;
	gap: 2rem;
	padding: 2rem 2.5rem 0.875rem;
	text-align: center;
}

.page-about__company__messageInner .page-about__company__signature {
	margin-top: 0;
}

.page-about__company__messageTop,
.page-about__company__messageMid,
.page-about__company__messageBottom {
	font-size: 1.125rem;
	letter-spacing: 0.02em;
	line-height: 1.5;
	max-width: 40rem;
}

.page-about__company__messageTop {
	gap: 1.125rem;
}

.page-about__company__messageMid {
	align-items: center;
	gap: 0.375rem;
}

.page-about__company__messageMid > p:first-of-type {
	align-self: center;
	text-align: center;
}

.page-about__company__checks li {
	display: block;
	padding-left: 1.125rem;
}

.page-about__company__checks li::before {
	display: block;
	font-size: 0.875rem;
	left: 0;
	line-height: 1.8;
	min-height: 0;
	min-height: initial;
	min-width: 0;
	min-width: initial;
	position: absolute;
	top: 0;
}

.page-about__company__messageBottom {
	gap: 1.125rem;
}

.page-about__company__signature {
	align-self: flex-end;
}

.page-about__company__tableWrap {
	padding-left: 0;
	padding-right: 0;
}

.page-about__company__row {
	padding: 1.125rem 0.625rem 1.125rem;
}

.page-about__company__row dt {
	flex: 0 0 12.5rem;
}

.page-column {
	margin-bottom: 7.5rem;
	margin-top: 6.25rem;
}

.page-column__inner {
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.page-column__title-desc {
	margin-top: 0.5rem;
	max-width: none;
	text-align: center;
}

.page-column__grid {
	gap: 3rem 3.125rem;
	grid-column: 1/2;
	grid-row: 1/2;
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 0rem;
	max-width: none;
}

.page-column__sidebar .search-sidebar__inner {
	max-width: none;
}

.page-contact {
	padding-bottom: 7.5rem;
	padding-top: 6.25rem;
}

.page-contact__inner {
	max-width: none;
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.page-contact__title {
	text-align: center;
}

.page-contact__desc {
	text-align: center;
}

.page-contact__desc-text {
	text-align: center;
}

.page-contact__note {
	text-align: center;
}

.page-contact .contact__form-wrapper {
	margin-top: 5rem;
}

.detail-expert__inner {
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.detail-expert__detail {
	margin-top: 6.25rem;
}

.detail-expert__detail-card {
	max-width: 61rem;
}

.detail-expert__movie {
	margin-top: 6.25rem;
}

.detail-expert__movie-heading-label {
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.detail-expert__movie-heading-main {
	font-size: 2.625rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.detail-expert__movie-play {
	width: 9.125rem;
}

.detail-expert__message {
	margin-top: 10.25rem;
	padding-bottom: 7.5rem;
}

.detail-expert__message-content {
	padding-top: 5rem;
}

.detail-expert__message-box {
	padding: 2rem;
}

.detail-expert__message-frame {
	align-items: center;
	gap: 2rem;
	padding: 2rem 5rem 2.5rem;
}

.detail-expert__message-label {
	font-size: 1.125rem;
	letter-spacing: 0.08em;
	padding-left: 2.1875rem;
	padding-right: 2.1875rem;
}

.detail-expert__message-title {
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.detail-expert__message-body {
	font-size: 1.25rem;
	gap: 1.5rem;
	letter-spacing: 0.02em;
	line-height: 2.2;
}

.detail-expert__case {
	margin-top: 7.5rem;
}

.detail-expert__case-inner {
	max-width: 73.75rem;
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.detail-expert__case-grid {
	gap: 3.75rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 2.5rem;
}

.detail-expert__case-card {
	padding: 2rem 2.5rem;
}

.detail-expert__case-card-title {
	font-size: 1.5rem;
	letter-spacing: 0.04em;
}

.detail-expert__case-card-text {
	font-size: 1rem;
}

.detail-expert__message-surface {
	padding-left: 5.625rem;
	padding-right: 5.625rem;
}

.detail-expert__view {
	margin-top: 7.5rem;
}

.detail-expert__view-slider {
	margin-top: 2.5rem;
}

.detail-expert__info {
	padding-bottom: 6.25rem;
	padding-left: 30px;
	padding-right: 30px;
	padding-top: 7.5rem;
}

.detail-expert__info-inner {
	max-width: 75rem;
}

.detail-expert__info-table {
	max-width: 50rem;
}

.detail-expert__info-row {
	padding: 1.125rem 0.625rem;
}

.detail-expert__info-row dt {
	flex: 0 0 12.5rem;
}

.detail-expert__contact {
	margin-top: 4rem;
}

.detail-expert__share {
	margin-bottom: 7.5rem;
	padding-left: 30px;
	padding-right: 30px;
	padding-top: 5rem;
}

.detail-expert__share-card {
	flex-direction: row;
	gap: 5rem;
	max-width: 56.25rem;
	padding: 2.5rem 5rem;
}

.detail-expert__share-back {
	max-width: 21.25rem;
	width: auto;
}

.page-expert {
	margin-bottom: 7.5rem;
}

.page-expert__sidebar .search-sidebar__inner {
	max-width: none;
}

.page-expert--listing {
	padding-bottom: 0;
	padding-top: 6.25rem;
}

.page-expert__grid {
	gap: 3rem 3.125rem;
	grid-column: 1/2;
	grid-row: 1/2;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 0rem;
}

.page-expert-prepare {
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.page-expert-prepare__text {
	font-size: 2.5rem;
}

.page-news {
	margin-bottom: 7.5rem;
	margin-top: 6.25rem;
}

.page-news__inner {
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.page-news__lead {
	line-height: 1.8;
	margin-bottom: 4.5rem;
	max-width: 43.125rem;
	text-align: center;
	white-space: nowrap;
}

.page-news__grid {
	gap: 3rem;
	grid-column: 1/2;
	grid-row: 1/2;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 0rem;
	max-width: none;
}

.page-news__sidebar.layout-sidebar--2rows {
	margin-top: 0rem;
}

.page-news__sidebar .search-sidebar__inner {
	max-width: none;
}

.page-result {
	margin-bottom: 7.5rem;
	margin-top: 6.25rem;
}

.page-result__inner {
	padding-left: 1.875rem;
	padding-right: 1.875rem;
}

.page-result__lead {
	line-height: 1.8;
	margin-bottom: 4.5rem;
	max-width: 43.125rem;
}

.page-result__grid {
	gap: 3rem;
	grid-template-columns: 1fr;
	margin-bottom: 0;
}

.page-result .pagination {
	margin-top: 4.5rem;
}

.page-service__grid {
	grid-column-gap: 2.5rem;
	-moz-column-gap: 2.5rem;
	grid-row-gap: 0;
	align-items: start;
	column-gap: 2.5rem;
	display: grid;
	grid-template-columns: 55.833333% 1fr;
	grid-template-rows: auto auto;
	height: 41rem;
	margin-top: 8.3125rem;
	max-width: 75rem;
	row-gap: 0;
}

.page-service__content-left {
	gap: 1.53125rem;
	margin: 0;
	max-width: none;
}

.page-service__title {
	margin-bottom: 0.5rem;
}

.page-service__intro {
	margin-top: 0;
}

.page-service__text {
	margin-top: 0;
}

.page-service__doubt-list {
	margin-top: 0;
}

.page-service__intro,
.page-service__text {
	font-size: 1.125rem;
	letter-spacing: 0.02em;
	line-height: 1.8;
	max-width: 40rem;
}

.page-service__content-right {
	align-self: start;
	justify-content: flex-end;
	margin: 0;
	max-width: 36.1875rem;
	width: 100%;
}

.page-service__content-lower {
	gap: 1.5rem;
	grid-column: 1;
	grid-row: 2;
	margin-top: 1.5rem;
	max-width: none;
}

.page-service__content-lower .page-service__text {
	max-width: 40rem;
}

.page-service__startUp {
	margin-top: 4.375rem;
}

.page-service__startUp__contents {
	gap: 3.5rem;
	padding-bottom: 7.5rem;
	padding-top: 5rem;
}

.page-service__startUp__desc {
	font-size: 1.125rem;
	letter-spacing: 0.02em;
	line-height: 1.8;
	max-width: 40rem;
}

.page-service__startUp-items {
	gap: 3.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 75rem;
}

.page-service__startUp-action {
	gap: 0.625rem;
	margin-top: 0.0625rem;
	max-width: 26.4375rem;
}

.page-service__startUp__actionText {
	font-size: 1.25rem;
	letter-spacing: 0.02em;
}

.page-service__expert {
	margin-top: 8.875rem;
}

.page-service__expert__contents {
	gap: 4.5rem;
	padding-bottom: 7.5rem;
	padding-top: 2.75rem;
}

.page-service__expert__header-desc {
	line-height: 1.8;
	margin-top: 1.625rem;
}

.page-service__expert-items {
	gap: 3rem 2.5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 75rem;
}

.page-service__expert-item .nav-card__sub {
	line-height: 1.7;
}

.page-service__reason__surface {
	gap: 4.5rem;
	padding-bottom: 7.5rem;
	padding-top: 6.25rem;
}

.page-service__reason__inner {
	max-width: 78.75rem;
}

.page-service__reason__header {
	gap: 0.5rem;
}

.page-service__reason__body {
	align-items: flex-start;
	flex-direction: row;
	gap: 4.6875rem;
	height: 36rem;
	justify-content: space-between;
	margin-top: 4.5625rem;
}

.page-service__reason__textCol {
	flex: 0 1 41.875rem;
	gap: 3.75rem;
	max-width: 41.875rem;
}

.page-service__reason__subTitle {
	font-size: 1.75rem;
	letter-spacing: 0.04em;
	line-height: 1.8;
}

.page-service__reason__text {
	font-size: 1.25rem;
	letter-spacing: 0.02em;
	max-width: 40rem;
}

.page-service__reason__figure {
	align-self: center;
	flex: 0 1 auto;
	max-width: 28.4375rem;
	width: auto;
}

.page-service__reason__figure img {
	border-radius: 1rem;
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	width: 100%;
}

.page-service__faq__surface,
.page-about__faq__surface {
	padding-bottom: 8.75rem;
	padding-top: 6.25rem;
}

.page-service__faq__inner,
.page-about__faq__inner {
	gap: 4.625rem;
}

.page-service__faq__list,
.page-about__faq__list {
	max-width: 55rem;
}

.thanks {
	padding: 6.25rem 1.875rem 7.5rem;
}

.thanks__inner {
	max-width: 45.6875rem;
}

.thanks__content {
	gap: 2.5rem;
	text-align: center;
}

.thanks__lead {
	font-size: 1.25rem;
	line-height: 1.8;
	white-space: nowrap;
}

.thanks__action {
	margin-top: 3.75rem;
}

.thanks__back {
	max-width: 15.125rem;
}

.pagination--detail .nextpostslink::before,
.pagination--detail .previouspostslink::before {
	height: 1.25rem;
	width: 1.3125rem;
}

.policy-box {
	max-width: 56.25rem;
}

.policy-body {
	line-height: 1.8;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}

.qa-box {
	max-width: 55rem;
}

.qa-box__head {
	gap: 1rem;
	padding: 1rem 1.5rem;
}

.qa-box__head-inner {
	align-items: center;
	gap: 1.5rem;
}

.qa-box__head-icon {
	font-size: 1rem;
	height: 2.25rem;
	line-height: 1;
	width: 2.25rem;
}

.qa-box__head-text {
	font-weight: 700;
	line-height: 1.8;
}

.qa-box__body {
	padding: 1.25rem 1.625rem 1.5rem;
}

.qa-box__a {
	gap: 1.5rem;
}

.qa-box__a-icon {
	font-size: 1rem;
	height: 2.25rem;
	line-height: 1;
	width: 2.25rem;
}

.qa-box__a-text {
	line-height: 1.8;
	padding-top: 0.375rem;
}

.section-2Column {
	grid-column-gap: 5.625rem;
	-moz-column-gap: 5.625rem;
	grid-row-gap: 4.5rem;
	align-items: start;
	column-gap: 5.625rem;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 15rem;
	grid-template-rows: auto auto;
	max-width: 70rem;
	row-gap: 4.5rem;
}

.section-2Column > .layout-pagination--2rows {
	grid-column: 1/-1;
	grid-row: 2;
	justify-self: center;
	margin-bottom: 0;
}

.section-2Column > .layout-sidebar--2rows {
	align-self: start;
	grid-column: 2;
	grid-row: 1;
}

.section-2Column--news {
	-moz-column-gap: 3.5rem;
	column-gap: 3.5rem;
	max-width: 67.875rem;
}

.section-header__jpTitle {
	font-size: 2.625rem;
	letter-spacing: 0.08em;
	margin-top: 0.4375rem;
}

.section-header__jpTitle--column {
	font-size: 2.625rem;
	letter-spacing: 0.08em;
}

.section-header--sub .section-header__jpTitle {
	font-size: 2.75rem;
}

.section-header__jpTitle--size44 {
	font-size: 2.75rem;
}

.section-header__deco {
	font-size: 1.875rem;
	margin-top: -0.0625rem;
	padding-bottom: 0.4375rem;
}

.section-header__deco::after {
	background: linear-gradient(to right, transparent calc(51% - 0.5rem - 10.25rem), #3E91A8 calc(51% - 0.5rem - 10.25rem), #3E91A8 calc(51% - 0.5rem), transparent calc(51% - 0.5rem), transparent calc(51% + 0.5rem), #3E91A8 calc(51% + 0.5rem), #3E91A8 calc(51% + 0.5rem + 10.25rem), transparent calc(51% + 0.5rem + 10.25rem));
	width: 20rem;
}

.section-header--deco-re .section-header__deco::after {
	background: linear-gradient(to right, transparent calc(51% - 0.5rem - 10.25rem), #fff calc(51% - 0.5rem - 10.25rem), #fff calc(51% - 0.5rem), transparent calc(51% - 0.5rem), transparent calc(51% + 0.5rem), #fff calc(51% + 0.5rem), #fff calc(51% + 0.5rem + 10.25rem), transparent calc(51% + 0.5rem + 10.25rem));
	width: 20rem;
}

.section-header--deco-re .section-header__deco {
	font-size: 1.875rem;
	letter-spacing: 0.08em;
}

.section-header--deco-re .section-header__jpTitle--size44 {
	font-size: 2.75rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.section-header--company .section-header__engTitle {
	font-size: 1rem;
	line-height: 1.2;
}

.section-header--company .section-header__jpTitle {
	font-size: 2.5rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.section-header--company .section-header__deco::after {
	width: 21rem;
}

.service__contents {
	gap: 3.375rem;
	padding-bottom: 9.6875rem;
	padding-top: 3.875rem;
}

.service__stack {
	gap: 5.125rem;
}

.service__action {
	max-width: 18.9375rem;
}

.startup-visual__image-wrapper--main {
	left: -0.125rem;
}

.startup-visual__thumb-window {
	left: -4.5625rem;
}

.startup-visual__group--learn .startup-visual__label {
	left: 11.875rem;
}

.startup-visual__group--connect .startup-visual__image-wrapper {
	left: 0;
	top: 0;
}

.startup-visual__group--connect .startup-visual__label {
	left: 10.75rem;
	top: 15.625rem;
}

.startup-visual__arrow--upper {
	left: -2.25rem;
	rotate: 0;
	top: 8.625rem;
}

.startup-visual__arrow--lower {
	left: 15.0625rem;
	top: 24.375rem;
}

.sub-fv {
	height: 29.375rem;
}

.sub-fv__header {
	padding-top: 15.1875rem;
}

.tab-about {
	max-width: 25.75rem;
	right: 1.875rem;
}

.tab-decorator {
	padding-top: 2.125rem;
}

.tab-decorator__svg {
	height: 2.125rem;
	width: 10.5625rem;
}

.tab-header {
	max-width: 25.75rem;
	right: 1.875rem;
}

.tab-header__inner {
	width: min(100%, 25.75rem);
}

.tab-header__svg--sp {
	display: none;
}

.tab-header__svg--pc {
	aspect-ratio: 412/71;
	display: block;
}

.tab-header__title {
	font-size: 4rem;
	left: calc(50% + 0.125rem);
	letter-spacing: 0.08em;
	top: calc(50% + 0.625rem);
}

.table-of-contents {
	padding: 1.5rem 3rem 2rem;
}

.table-of-contents::after {
	height: 3.125rem;
	right: 0;
	top: 0;
	width: 3.125rem;
}

.table-of-contents__title {
	line-height: 1.5;
	margin: 0 0 1.375rem;
}

.table-of-contents__list {
	gap: 0.75rem;
}

.title-slush--listing {
	gap: 1.5rem;
	margin-bottom: 4.5rem;
}

.title-slush__row {
	-moz-column-gap: 0.875rem;
	align-items: center;
	column-gap: 0.875rem;
	gap: 0.625rem;
	row-gap: 0.625rem;
}

.title-slush__decoImg {
	height: 1.625rem;
}

.title-slush__line1 {
	font-size: 2rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.title-slush__line2 {
	font-size: 2.25rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.title-slush--startUp {
	gap: 0.5rem;
}

.title-slush--startUp .title-slush__line1 {
	font-size: 1.5rem;
	letter-spacing: 0.08em;
}

.title-slush--startUp .title-slush__line2 {
	font-size: 2.75rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
	max-width: none;
}

.title-slush--startUp .title-slush__decoImg {
	height: auto;
	width: 1.75rem;
}

.page-column--listing .page-column__title-desc {
	letter-spacing: 0.08em;
	margin-top: 2rem;
	max-width: none;
	text-align: center;
}

.video-card {
	max-width: 28.75rem;
}

.video-card__inner {
	gap: 0.875rem;
}

.video-card__media {
	aspect-ratio: 460/259;
}

.video-card__play {
	height: 4.375rem;
	width: 4.375rem;
}

.video-card__body {
	padding: 0 1.5rem 1.25rem;
}

.video-card__title {
	font-size: 1.25rem;
}

.parts-video-vertical-demo {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1.5rem;
}

.video-card--cinema-select .video-card__inner {
	gap: 0.75rem;
}

.video-card--cinema-select .video-card__media {
	aspect-ratio: 360/203;
}

.video-card--cinema-select .video-card__play {
	height: 4.375rem;
	width: 4.375rem;
}

.video-card--cinema-select .video-card__body {
	padding-bottom: 1rem;
}

.video-card--cinema-select .video-card__title {
	font-size: 1.0625rem;
}

}

@media (min-width: 1200px) {

html {
	font-size: 16px;
}

}

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

.fv__inner {
	margin-left: auto;
	margin-right: auto;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes bar-open-top-flat {

0% {
	transform: translateY(0) rotate(0);
}

50% {
	transform: translateY(0.375rem) rotate(0);
}

100% {
	transform: translateY(0.375rem) rotate(25deg);
}

}

@keyframes bar-open-bottom-flat {

0% {
	transform: translateY(0) rotate(0);
}

50% {
	transform: translateY(-0.375rem) rotate(0);
}

100% {
	transform: translateY(-0.375rem) rotate(-25deg);
}

}

@keyframes bar-close-rev {

0% {
	transform: translateY(0.375rem) rotate(25deg);
}

50% {
	transform: translateY(0.375rem) rotate(0);
}

100% {
	transform: translateY(0) rotate(0);
}

}

@keyframes bar-close-bottom-rev {

0% {
	transform: translateY(-0.375rem) rotate(-25deg);
}

50% {
	transform: translateY(-0.375rem) rotate(0);
}

100% {
	transform: translateY(0) rotate(0);
}

}

@keyframes logoFadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@keyframes qa-box-body-in {

from {
	opacity: 0;
	transform: translateY(-0.5rem);
}

to {
	opacity: 1;
	transform: translateY(0);
}

}


/*# sourceMappingURL=style.css.map */
