/* ==========================================================================
   Base / Reset
========================================================================== */

:root {
	/* Fonts */
	--font-jp: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic,
		"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--font-en: "Roboto", sans-serif;

	/* Font weights */
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-bold: 700;

	/* Layout */
	--header-offset: 140px;
	--width-max1120: 1120px;

	/* Colors */
	--color-white: #fff;
	--color-text: #656565;
	--color-text-dark: #3f4244;
	--color-sep: #7f7f7f;
	--color-border: #c0c0c7;
	--color-grayLight: #E0E7EB;

	--color-primary: #1aaebf;
	--color-primary-hover: #0D8795;
	--color-accent: #ff922d;
	--color-accent-hover: #EE790D;

	--color-gradient-hover: linear-gradient(270deg, #FFCB3E 2%, #FF8514 49%);

	--color-bg-glass: rgba(255, 255, 255, 0.80);
	--color-bg-submenu: rgba(255, 255, 255, 0.98);
	--color-bg-spnav: #e9edf0;

	/* Shadows */
	--shadow-logo: 24px 24px 34px rgba(59, 124, 136, 0.30);
	--shadow-ui: 0 4px 4px rgba(0, 0, 0, 0.15);
	--shadow-submenu: 0 8px 24px rgba(0, 0, 0, 0.12);

	/* Radius */
	--radius-logo: 16px;
	--radius-ui: 8px;
	--radius-ui-sm: 6px;
	--radius-card: 0.5rem;

	/* Effects */
	--blur-ui: blur(5px);
}

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: 210px;
}

body {
	margin: 0;
	font-family: var(--font-jp);
	font-size: 16px;
	line-height: 1.5;
	font-weight: var(--font-weight-medium);
}

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
}

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

button {
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

a {
	color: inherit;
	text-decoration: none;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* ==========================================================================
   Layout
========================================================================== */

.l-container {
	width: min(var(--width-max1120), 100% - 80px);
	margin-inline: auto;
}

@media screen and (max-width: 800px) {
	.l-container {
		width: min(var(--width-max1120), 100% - 24px);
	}
}

/* ==========================================================================
   Header
========================================================================== */

.l-header {
	position: fixed;
	top: 80px;
	left: 0;
	right: 0;
	z-index: 1001;
	pointer-events: none;
}

[data-header] {
  transition:
    transform 0.35s ease,
    opacity 0.35s ease;
  will-change: transform, opacity;
}

[data-header].is-header-hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

[data-header].is-header-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.l-header .l-container {
	position: relative;
	z-index: 1002;
	padding-top: 16px;
	padding-bottom: 16px;
}

.p-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	position: relative;
	pointer-events: none;
}

.p-header__left {
	position: relative;
	width: 109px;
	z-index: 30;
}

.c-logo {
	display: inline-flex;
	width: 109px;
	padding: 6px;
	background: var(--color-white);
	border-radius: var(--radius-logo);
	box-shadow: var(--shadow-logo);
	transition: 0.2s ease-in-out;
	pointer-events: all;
}

@media (hover: hover) {
	.c-logo:hover {
		opacity: 0.8;
	}
}
.c-logo__img {
	display: block;
	width: 97px;
	height: 97px;
	object-fit: contain;
}
.p-header__right {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;

	transition:
	transform 0.35s ease,
	opacity 0.35s ease;
	will-change: transform, opacity;
	pointer-events: none;
}
.p-header__right.is-header-right-hidden {
  transform: translateY(-100%);
  opacity: 0;
}

.p-header__right.is-header-right-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

/* Top row: lang + CTA */
.p-header__top {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: flex-end;
	gap: 32px;
}
.c-langSwitch {
	background: var(--color-bg-glass);
	border-radius: 120px;
	padding: 4px 24px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-weight: var(--font-weight-bold);
	backdrop-filter: var(--blur-ui);
}
.c-langSwitch__link {
	font-size: 13px;
	color: var(--color-text-dark);
	opacity: 0.4;
	transition: 0.2s ease-in-out;
}
.c-langSwitch__link.is-active {
	color: var(--color-accent);
	opacity: 1;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.c-langSwitch__sep {
	font-size: 10px;
	color: var(--color-sep);
}
.p-header__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.c-btn {
	display: inline-flex;
	min-width: 163px;
	align-items: center;
	justify-content: center;
	padding: 3px 12px 4px;
	border-radius: 4px;
	white-space: nowrap;
	color: var(--color-white);
	font-size: 13px;
	font-weight: var(--font-weight-medium);
	transition: 0.2s ease-in-out;
}
.c-btn--primary {
	background: var(--color-primary);
}
.c-btn--accent {
	background: var(--color-accent);
}

@media (hover: hover) {
	.c-langSwitch__link:hover {
		color: var(--color-primary);
		opacity: 1;
	}
	.c-langSwitch__link.is-active:hover {
		color: var(--color-accent);
		opacity: 1;
	}
	.c-btn:hover {
		opacity: 0.8;
	}
}

/* Nav row */
.p-header__nav {
	padding: 0 40px;
	background: var(--color-bg-glass);
	border-radius: var(--radius-ui);
	box-shadow: var(--shadow-ui);
	backdrop-filter: var(--blur-ui);
	-webkit-backdrop-filter: var(--blur-ui);
}

/* ==========================================================================
   Global Nav (WP menu)
========================================================================== */

.c-gnav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 24px;
	margin: 0;
	padding: 0;
}

.c-gnav > .menu-item {
	position: relative;
}

.c-gnav a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 8px;
	color: var(--color-text);
	font-size: clamp(10px, 1.4vw, 16px);
	font-weight: var(--font-weight-bold);
}
@media (hover: hover) {
	.c-gnav a {
		color: transparent;
		background: linear-gradient(to right, var(--color-accent) 50%, var(--color-text) 50%) 100%;
		background-clip: text;
		background-size: 200% 100%;
		transition: background-position 0.3s;
	}
	.c-gnav a:hover {
		background-position: 0 100%;
	}
}

/* Dropdown (+/- marker) */
.c-gnav .menu-item-has-children > a {
	position: relative;
	padding-inline: 8px 23px;
}

.c-gnav .menu-item-has-children > a::before,
.c-gnav .menu-item-has-children > a::after {
	content: "";
	position: absolute;
	right: 8px;
	top: 50%;
	width: 9px;
	height: 1px;
	background: var(--color-text);
	border-radius: 2px;
	transform-origin: center;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Horizontal line */
.c-gnav .menu-item-has-children > a::before {
	transform: translateY(-50%);
}

/* Vertical line */
.c-gnav .menu-item-has-children > a::after {
	transform: translateY(-48%) rotate(90deg);
}

/* Open: hide vertical line -> minus */
.c-gnav .menu-item-has-children.is-open > a::after {
	opacity: 0;
	transform: translateY(-50%) rotate(90deg) scaleX(0.2);
}

@media (hover: hover) {
	.c-gnav .menu-item-has-children > a:hover:before,
	.c-gnav .menu-item-has-children > a:hover::after {
		background: var(--color-accent);
	}
}

/* Submenu (PC) */
.c-gnav .sub-menu {
	position: absolute;
	right: 0;
	top: calc(100% + 15px);

	min-width: 220px;
	margin: 8px 0 0;
	padding: 10px;

	background: var(--color-bg-submenu);
	border-radius: var(--radius-ui);
	box-shadow: var(--shadow-submenu);

	opacity: 0;
	transform: translateY(-6px);
	visibility: hidden;
	pointer-events: none;

	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}

.c-gnav .menu-item.is-open > .sub-menu {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
	pointer-events: auto;
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s;
}

.c-gnav .sub-menu a {
	width: 100%;
	padding: 8px 10px;
	font-size: 14px;
	font-weight: 600;
}

/* ==========================================================================
   SP Toggle / Overlay
========================================================================== */

.c-spToggle {
	display: none;
	width: 120px;
	padding: 14px 13px;
	align-items: center;
	justify-content: space-between;

	border-radius: var(--radius-ui-sm);
	background: var(--color-bg-glass);
	box-shadow: var(--shadow-ui);
	backdrop-filter: var(--blur-ui);

	position: relative;
	z-index: 30;
}

.c-spToggle [class^="c-spToggle__label"] {
	color: var(--color-text);
	font-family: var(--font-en);
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	line-height: 1.5;

	opacity: 1;
	visibility: visible;
	transition-duration: 0.3s;
}

.c-spToggle .c-spToggle__label-close {
	display: none;
	opacity: 0;
	visibility: hidden;
}

.c-spToggle .c-spToggle__icon {
	display: flex;
	width: 28px;
	flex-flow: column;
	justify-content: right;
	gap: 5px 0;
}

.c-spToggle .c-spToggle__line {
	display: block;
	width: 24px;
	height: 2px;
	margin-left: auto;

	overflow: hidden;
	border-radius: 100px;
	background: var(--color-primary);

	transform: scale(1, 0.75);
	transition-duration: 0.3s;
	transition-property: transform;
}

.c-spToggle .c-spToggle__line--short {
	width: 16px;
}

.open .c-spToggle .c-spToggle__line:nth-child(1) {
	transform: translateY(4px) rotate(-45deg) scale(1, 0.75);
}

.open .c-spToggle .c-spToggle__line:nth-child(3) {
	transform: translateY(-3px) rotate(45deg) scale(1, 0.75);
}

.open .c-spToggle .c-spToggle__line--short {
	display: none;
}

.p-spMenu__bg {
	position: fixed;
	inset: 0;
	z-index: 900;

	opacity: 0;
	pointer-events: none;
}

.open .p-spMenu__bg {
	height: 100dvh;
	width: 100%;
	background: var(--color-white);
	top: -1.25rem;
	opacity: 1;
	pointer-events: auto;
}

.sp-header__cta {
	display: none;
}

.sp-header__about {
	display: none;
}

.sp-header__about p {
	color: var(--color-text);
	font-family: var(--font-en);
	font-size: 0.94rem;
	line-height: 1.5;
	text-align: center;
}

/* ==========================================================================
   SP (<= 800px)
========================================================================== */

@media screen and (max-width: 800px) {
	body.open {
		overflow: hidden;
	}

	.l-header {
		top: 1.25rem;
	}

	.l-header .l-container {
		padding-top: 0;
	}

	.p-header {
		display: grid;
		align-items: center;
		gap: 8px 0;
	}

	.p-header__left {
		width: 80px;
		grid-area: 1 / 1 / 2 / 2;
	}

	.p-header__left .c-logo {
		width: 80px;
		box-shadow: none;
	}
	.c-logo__img {
		width: 68px;
		height: 68px;
	}

	.c-spToggle {
		display: flex;
		grid-area: 1 / 2 / 2 / 3;
		margin-left: auto;
		box-shadow: none;
		border: 1px solid var(--color-border);
		pointer-events: all;
	}

	.open .c-spToggle [class^="c-spToggle__label"] {
		display: none;
		opacity: 0;
		visibility: hidden;
	}

	.open .c-spToggle .c-spToggle__label-close {
		display: block;
		opacity: 1;
		visibility: visible;
	}

	.p-header__right {
		display: none;
		pointer-events: all;
	}

	.open .p-header__right {
		display: grid;
		grid-area: 2 / 1 / 3 / 3;
		gap: 16px 0;
		width: 100%;

		max-height: calc(100dvh - 12rem);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.p-header__right .p-header__top {
		justify-content: center;
	}

	.c-langSwitch {
		padding: 0;
	}

	.c-langSwitch__link {
		padding: 8px 16px;
		font-size: 1.25rem;
	}

	.c-langSwitch__sep {
		font-size: 1rem;
	}

	.p-header__right .p-header__cta {
		display: none;
	}

	.p-header__nav {
		padding: 1rem;
		background: var(--color-bg-spnav);
		border-radius: 1rem;
		box-shadow: none;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	.c-gnav {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 16px;
		padding: 0;
	}

	.c-gnav > .menu-item {
		width: 100%;
		background: var(--color-white);
		border-radius: var(--radius-card);
	}

	.c-gnav a {
		width: 100%;
		padding: 1rem;
		font-size: 1.1rem;
	}

	.c-gnav .menu-item-has-children > a {
		padding-inline: 1rem 1.5rem;
	}

	.c-gnav .menu-item-has-children > a::before,
	.c-gnav .menu-item-has-children > a::after {
		width: 12px;
		height: 2px;
	}

	/* Submenu (SP) */
	.c-gnav .sub-menu {
		display: none;
		position: relative;

		margin: 0;
		padding: 0 1rem 1rem;

		background: none;
		border-radius: 0;
		box-shadow: none;
	}

	.c-gnav .menu-item.is-open > .sub-menu {
		display: block;
		border-top: 1px dotted var(--color-border);
	}

	.c-gnav .sub-menu .menu-item {
		border-bottom: 1px dotted var(--color-border);
	}

	.c-gnav .sub-menu a {
		padding: 1rem 0.5rem;
		font-size: 1rem;
		font-weight: var(--font-weight-medium);
	}

	.p-header__right .sp-header__cta {
		display: flex;
		flex-flow: column;
	}

	/* Note: this overrides .c-btn base sizing for SP menu area */
	.c-btn {
		width: 100%;
		padding-block: 8px;
		font-size: 1.125rem;
	}

	.sp-header__about {
		display: flex;
		flex-flow: column;
		justify-content: center;
		gap: 4px;
	}
}

/* ==========================================================================
   Contact
========================================================================== */
/* turnstile */
.cf-turnstile {
	text-align: center;
}

.p-contactBar {
	width: min(1200px, 100% - 80px);
	margin-inline: auto;
	padding-block: 160px 80px;
}
.p-contactBar__inner {
	border-radius: 40px;
	background: url(../img/bg_contactBar.webp) no-repeat top left;
	background-size: cover;
}
.p-contactBar__grid {
	display: grid;
	justify-content: end;
	gap: 28px 0;
	padding: 80px;
}

.p-contactBar__card {
	padding: 24px;
	display: grid;
	grid-template-columns: 81.5% 1fr;
	justify-content: space-between;
	align-items: center;
	gap: 8px 16px;
	border-radius: 8px;
	border: 6px solid rgba(255, 255, 255, 0.90);
	box-sizing: content-box;
	backdrop-filter: blur(5px);
	transition: 0.3s;
	max-width: 480px;
}
.p-contactBar__card--contact {
	background: var(--color-primary);
}
.p-contactBar__card--partners {
	background: var(--color-accent);
}
@media (hover: hover) {
	.p-contactBar__card--contact:hover {
		background: var(--color-primary-hover);
	}
	.p-contactBar__card--partners:hover {
		background: var(--color-accent-hover);
	}
}
.p-contactBar__title {
	color: var(--color-white);
	font-size: 24px;
	font-weight: var(--font-weight-bold);
	letter-spacing: 2%;
	grid-area: 1 / 1 / 2 / 2;
}
.p-contactBar__text {
	color: var(--color-white);
	font-size: 16px;
	font-weight: var(--font-weight-regular);
	line-height: 1.5;
	grid-area: 2 / 1 / 3 / 2;
}

.p-contactBar__icon {
  position: relative;
  display: inline-block;
	text-align: right;
  width: 24px;
  height: 2px;
	margin-inline: auto 0;
  border-radius: 9999px;
  background-color: #ffffff;
	grid-area: 1 / 2 / 3 / 3;
}

.p-contactBar__icon::before,
.p-contactBar__icon::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 13px;
  height: 2px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: calc(100% - 1px) 50%;
}

.p-contactBar__icon::before {
  transform: rotate(45deg);
}

.p-contactBar__icon::after {
  transform: rotate(-45deg);
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.p-contactBar {
		width: min(800px, 100% - 1rem);
		padding-block: 10rem 7.5rem;
	}
	.p-contactBar__inner {
		border-radius: 1rem 1rem 0 0;
		background: url(../img/bg_contactBar_sp.webp) no-repeat top left;
		background-size: cover;
	}
	.p-contactBar__grid {
		justify-content: center;
		gap: 1.5rem 0;
		padding: 10rem 1.5rem 1.5rem;
	}

	.p-contactBar__card {
		padding: 1.5rem;
		display: grid;
		grid-template-columns: 90% 1fr;
		gap: 4px 8px;
		border-radius: 8px;
		border: 3px solid rgba(255, 255, 255, 0.90);
		backdrop-filter: blur(5px);
		max-width: 100%;
	}
	.p-contactBar__title {
		font-size: 1.06rem;
	}
	.p-contactBar__text {
		font-size: 0.875rem;
	}

	.p-contactBar__icon {
		width: 16px;
	}

	.p-contactBar__icon::before,
	.p-contactBar__icon::after {
		width: 9px;
	}
}

/* ==========================================================================
   Footer > main
========================================================================== */
.footer__main {
  background: #344147;
	padding: 80px 0;
 	width: 100%;
}
.footer__content {
	width: min(1168px, 100% - 56px);
	margin-inline: auto;
}
.footer__nav-area {
  width: 100%;
}
.company-info {
  display: flex;
  align-items: flex-start;
  gap: 48px;
	margin-bottom: 96px;
}
.company-info__logo {
  padding: 12px 16px;
  background: var(--color-white);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.company-info__logo-img {
  width: 76px;
  height: 84px;
  object-fit: contain;
}
.company-info__body {
  display: flex;
  align-items: flex-end;
  gap: 64px;
}
.company-info__details {
  max-width: 647px;
}
.company-info__name {
	color: var(--color-white);
  font-size: 22px;
  font-weight: var(--font-weight-medium);
  line-height: 1.4;
}
.company-info__text {
	color: var(--color-white);
  font-size: 16px;
  font-weight: var(--font-weight-regular);
  line-height: 1.5;
	margin-top: 27px;
}
.company-info__contact {
	font-family: var(--font-en);
	font-weight: var(--font-weight-regular);
	line-height: 1.5;
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.footer__main {
		padding: 5rem 0;
	}
	.footer__content {
		width: min(864px, 100% - 4rem);
	}
	.company-info {
		flex-flow: column;
		gap: 3rem;
		margin-bottom: 3rem;
	}
	.company-info__logo {
		width: 108px;
	}
	.company-info__logo a {
		display: block;
		width: 100%;
	}
	.company-info__body {
		display: flex;
		align-items: flex-start;
		flex-flow: column;
		gap: 1.5rem;
	}
	.company-info__name {
		font-size: 1.25rem;
	}
	.company-info__name .company-info__text {
		font-size: 1rem;
		margin-top: 1.5rem;
	}
	.company-info__contact .company-info__text {
		font-size: 1rem;
		margin-top: 0;
	}
}

/* =========================================
   Footer Nav Block
========================================= */
.p-footer__navArea {
  display: grid;
	grid-template-columns: repeat(auto-fit, minmax(325px, 1fr));
	gap: 64px 96px;
	margin-bottom: 88px;
}

.c-footerNav {
	width: 100%;
}
.c-footerNav > .menu-item {
	display: grid;
	gap: 8px 0;
	position: relative;
}
.c-footerNav > .menu-item > a {
	padding: 12px 0;
	display: block;
	position: relative;
	
	color: transparent;
	background: linear-gradient(to right, var(--color-accent) 50%, var(--color-white) 50%) 100%;
	background-clip: text;
	background-size: 200% 100%;
	transition: background-position 0.3s;

	font-size: 20px;
	font-weight: var(--font-weight-bold);
	border-bottom: 1px solid rgba(255, 255, 255, 0.40);
}
.c-footerNav > .menu-item > a::after {
	content: "";
	display: block;
	width: 6px;
	height: 7px;
	background: url(../img/icon_footer_navi.png) no-repeat center center;
	position: absolute;
	right: 0;
	top: 50%;
}
.c-footerNav .sub-menu {
	padding: 16px;
	display: grid;
	gap: 16px;
}
.c-footerNav .sub-menu a {
	color: transparent;
	background: linear-gradient(to right, var(--color-accent) 50%, var(--color-white) 50%) 100%;
	background-clip: text;
	background-size: 200% 100%;
	transition: background-position 0.3s;
	font-size: 16px;
	font-weight: var(--font-weight-medium);
}
.c-footerNav--special {
	padding-top: 54px;
	display: grid;
	gap: 32px;
}
.c-footerNav--special a {
	display: flex;
	align-items: center;
	gap: 0 16px;
	padding: 16px 16px 16px 24px;
	border-radius: 8px;
	color: var(--color-text-dark);
	font-size: 16px;
	font-weight: var(--font-weight-bold);
  transition: background-position 0.3s, color 0.2s;
}
.c-footerNav--special li:nth-child(1) a {
	background: linear-gradient(to right, var(--color-primary) 50%, var(--color-grayLight) 50%) 100%;
	background-size: 200% 100%;
}
.c-footerNav--special li:nth-child(2) a {
	background: linear-gradient(to right, var(--color-accent) 50%, var(--color-grayLight) 50%) 100%;
	background-size: 200% 100%;
}
.c-footerNav--special a::before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 300%;
	background: var(--color-text-dark);
	transition: 0.2s;
}

@media (hover: hover) {
	.c-footerNav > .menu-item > a:hover,
	.c-footerNav .sub-menu a:hover {
		background-position: 0 100%;
	}
	.c-footerNav--special li a:hover {
		color: var(--color-white);
		background-position: 0 100%;
	}
	.c-footerNav--special a:hover::before {
		background: var(--color-white);
	}
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.p-footer__navArea {
		grid-template-columns: 1fr;
		gap: 2rem 0;
		margin-bottom: 4rem;
	}
	.c-footerNav > .menu-item {
		gap: 0 0;
	}
	.c-footerNav > .menu-item > a {
		padding: 0.75rem 0;
		font-size: 1.25rem;
	}
	.c-footerNav .sub-menu {
		display: none;
	}
	.c-footerNav--special {
		padding-top: 2rem;
	}
	.c-footerNav--special a {
		display: flex;
		align-items: center;
		gap: 0 1rem;
		padding: 1rem 1rem 1rem 1.5rem;
		font-size: 1rem;
	}
}

/* =========================================
   Legal Nav Block
========================================= */
.legal-nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
	gap: 16px;
}
.legal-nav a {
  color: var(--color-grayLight);
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	transition: 0.2s;
}
.legal-nav .menu-item {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
}
.legal-nav .menu-item:nth-child(n+2)::before{
	content: "|";
	display: block;
	color: var(--color-grayLight);
	font-size: 16px;
	font-weight: var(--font-weight-medium);
}

@media (hover: hover) {
	.legal-nav a:hover {
		opacity: 0.7;
	}
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.legal-nav {
		flex-flow: column;
		align-items: flex-start;
		gap: 1rem;
	}
	.legal-nav a {
		font-size: 1.125rem;
	}
	.legal-nav .menu-item:nth-child(n+2)::before{
		display: none;
	}
}

/* =========================================
   Copyright Block
========================================= */
.copyright {
  background: var(--color-white);
  padding: 16px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.copyright__text {
  color: #8B8F91;
	font-family: var(--font-en);
  font-size: 14px;
  font-weight: var(--font-weight-medium);
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.copyright {
		padding: 1rem 2rem;
	}
	.copyright__text {
		text-align: center;
		font-size: 0.875rem;
	}
}

/* ==========================================================================
   Page Header
========================================================================== */
.p-pageHeader {
	position: relative;
	overflow: hidden;
	padding-top: calc(var(--header-offset) + 100px);
	padding-bottom: 48px;
	border-bottom-left-radius: 64px;
	border-bottom-right-radius: 64px;
	background: linear-gradient( 90deg, rgba(53, 187, 158, 0.40) 0%, rgba(68, 171, 192, 0.40) 50%, rgba(47, 158, 217, 0.40) 100% );

	--blob-move: 100px;
	--blob-rotate: 8deg;
}

/* page header background */
.p-pageHeader__inner {
	position: relative;
	z-index: 1;
}
.p-pageHeader__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
/* ball */
.p-pageHeader__blob {
	position: absolute;
	background: var(--color-white);
	filter: blur(50px);
	opacity: 0.6;
	border-radius: 9999px;
	will-change: transform;
	animation-name: blob-float;
	animation-duration: 12s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
}
.p-pageHeader__blob--01 {
	width: 350px;
	height: 350px;
	top: 10%;
	left: 30%;
	animation-duration: 14s;
	animation-delay: -2s;
}
.p-pageHeader__blob--02 {
	width: 340px;
	height: 340px;
	right: 0;
	top: 30%;
	animation-duration: 11s;
	animation-delay: -5s;
}
.p-pageHeader__blob--03 {
	width: 340px;
	height: 340px;
	animation-duration: 16s;
	animation-delay: -8s;
}
@keyframes blob-float {
	0% {
		transform: translate3d(0, 0, 0) rotate(0);
	}
	20% {
		transform: translate3d(calc(var(--blob-move) * 0.6), calc(var(--blob-move) * -0.4), 0)
			rotate(calc(var(--blob-rotate) * 0.6));
	}
	45% {
		transform: translate3d(calc(var(--blob-move) * -0.5), calc(var(--blob-move) * 0.7), 0)
			rotate(calc(var(--blob-rotate) * -0.8));
	}
	70% {
		transform: translate3d(calc(var(--blob-move) * 0.9), calc(var(--blob-move) * 0.4), 0)
			rotate(calc(var(--blob-rotate) * 0.9));
	}
	100% {
		transform: translate3d(calc(var(--blob-move) * -0.8), calc(var(--blob-move) * -0.6), 0)
			rotate(calc(var(--blob-rotate) * -0.6));
	}
}

/* 動きを減らす設定の人には止める */
@media (prefers-reduced-motion: reduce) {
	.p-pageHeader__blob {
		animation: none;
	}
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.p-pageHeader {
		padding-top: calc(var(--header-offset) + 1.2rem);
		padding-bottom: 2.5rem;
		border-bottom-left-radius: 2rem;
		border-bottom-right-radius: 2rem;
	}
	/* ball */
	.p-pageHeader__blob--01 {
		width: 8rem;
		height: 8rem;
	}
	.p-pageHeader__blob--02 {
		width: 6rem;
		height: 6rem;
	}
	.p-pageHeader__blob--03 {
		width: 6rem;
		height: 6rem;
	}
}

/* Breadcrumb */
.p-breadcrumb__list {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--color-text);
	font-size: 13px;
	font-weight: var(--font-weight-bold);
	
}
.p-breadcrumb__link {
	color: inherit;
}
.p-breadcrumb__item--current {
	color: var(--color-primary);
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.p-breadcrumb__list {
		flex-wrap: wrap;
		font-size: 0.75rem;		
	}
}

/* Title */
.p-pageHeader__titleWrap {
	margin-top: 16px;
	padding: 24px 32px;
}
.p-pageHeader__title {
	margin: 0;
	color: #1B1D1E;
	font-size: 52px;
	font-weight: var(--font-weight-medium);
	letter-spacing: 1.04px;
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.p-pageHeader__titleWrap {
		margin-top: 1rem;
		padding: 0.5rem;
	}
	.p-pageHeader__title {
		font-size: 2.2rem;
	}
}

/* ==========================================================================
   entry-content
========================================================================== */
.entry-content {
	padding: 80px 0;
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.entry-content {
		padding: 3rem 0;
	}
}

/* ==========================================================================
   Heading (WP h2 ~ h4)
========================================================================== */
/* h2 */
.entry-content h2 {
	display: grid;
	grid-template-columns: 4px 1fr;
	align-items: center;
	gap: 32px;
	padding: 40px 0;
	color: var(--color-primary);
	font-size: 48px;
	font-weight: var(--font-weight-medium);
	line-height: 72px;
	margin: 0 auto;
	width: min(var(--width-max1120), 100% - 80px);
}
.entry-content h2::before {
	content: "";
	width: 4px;
	align-self: stretch;
	border-radius: 96px;
	background: var(--color-primary);
	background-image: linear-gradient(
		to bottom,
		var(--color-accent) 0 16px,
		transparent 16px 100%
	);
	background-repeat: no-repeat;
	background-size: 4px 16px;
	background-position: top left;
}
.entry-content > h2:first-child {
	padding-top: 0;
}

/* h3 */
.entry-content h3 {
	padding: 0 0 16px;
	color: var(--color-primary);
	font-size: 32px;
	font-weight: var(--font-weight-bold);
	line-height: 1.5;
	margin: 0 auto;
	width: min(var(--width-max1120), 100% - 80px);
}
.entry-content > h3:first-child {
	padding-top: 0;
}

/* h4 */
.entry-content h4 {
	padding: 0 0 16px;
	color: var(--color-text);
	font-size: 32px;
	font-weight: var(--font-weight-bold);
	line-height: 1.5;
	margin: 0 auto;
	width: min(var(--width-max1120), 100% - 80px);
}
.entry-content > h4:first-child {
	padding-top: 0;
}

/* オレンジのドットつき太字 */
h3.heading-dot,
h4.heading-dot {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #2D3235;
  font-size: 24px;
  font-weight: var(--font-weight-bold);
  line-height: 1.25;
  margin: 0 0 8px 0;
  padding: 10px 0;
	width: 100%;
}

h3.heading-dot::before,
h4.heading-dot::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: var(--color-accent);
  border-radius: 50%;
  flex-shrink: 0;
}

/* 下線つき太字 */
h3.heading-underline,
h4.heading-underline {
  color: #2D3235;
  font-size: 24px;
  font-weight: var(--font-weight-bold);
  line-height: 1.25;
  margin: 0;
  padding: 10px 0;
	width: 100%;
	border-bottom: 2px solid #C0C0C7;
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.entry-content h2 {
		gap: 1.5rem;
		padding: 2rem 0;
		font-size: 2rem;
		line-height: 1.5;
		width: min(var(--width-max1120), 100% - 24px);
	}

	.entry-content h3 {
		padding: 0 0 1rem;
		font-size: 1.5rem;
		width: min(var(--width-max1120), 100% - 24px);
	}
	.entry-content h4 {
		padding: 0 0 1rem;
		font-size: 1.5rem;
		width: min(var(--width-max1120), 100% - 24px);
	}
}

/* ==========================================================================
   Button Block
========================================================================== */
/* btn--white */
.btn--white {
  display: flex;
	justify-content: center;
  align-items: center;
  width: 100%;
  background-image: linear-gradient(to right, #fff 50%, #FF8514 50%, #FFCB3E 100%);
	background-size: 200% 100%;
  padding: 16px 20px;
  text-decoration: none;
  transition: background-position 0.3s;
	position: relative;
}
.btn--white::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	transition-timing-function: steps(1);
}
.btn--icon-pdf::after {
	background: url(../img/icon_list.png)no-repeat;
	background-size: 400px 400px; 
  background-position: 0 0;
}
.btn--icon-arrow::after {
	background: url(../img/icon_list.png)no-repeat;
	background-size: 400px 400px; 
  background-position: -200px 0;
}
.btn--white .btn__text {
	color: var(--color-text-dark);
	font-size: 18px;
	font-family: var(--font-jp);
	font-weight: var(--font-weight-medium);
	transition: color 0.2s;
}
@media (hover: hover) {
	.btn--white:hover {
		background-position: -100% 0;
	}
	.btn--icon-pdf:hover::after {
    background-position: -50px 0; 
  }
	.btn--white:hover .btn__text {
		color: var(--color-white);
	}
	.btn--icon-arrow:hover::after {
		background-position: -250px 0;
	}
}

/* btn-primary */
.btn-primary {
	display: flex;
	justify-content: center; 
  align-items: center;
  width: 100%;
	min-height: 60px;
  background-image: linear-gradient(90deg, #FF8514 0%, #FFCB3E 50%, #F4F9FB 50%, #E0E7EB 100%);
	background-size: 200% 100%;
	background-position: 100% 0%;
  padding: 0 35px;
  text-decoration: none;
  transition: background-position 0.3s ease-in-out, color 0.5s;
	-webkit-tap-highlight-color: transparent;
	position: relative;

	color: var(--color-text-dark);
	font-size: 18px;
	font-family: var(--font-jp);
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	text-align: center;
}
.btn-primary::after {
	content: "";
	display: block;
	position: absolute;
	background: url(../img/icon_list.png)no-repeat;
	background-size: 400px 400px; 
  background-position: -100px 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	transition-timing-function: steps(1);
}
.btn-arrow::after {
	background: url(../img/icon_list.png)no-repeat;
	background-size: 400px 400px; 
  background-position: -200px 0;
}
.btn-primary .btn-view-more__text {
	font-family: var(--font-en);
}

@media (hover: hover) {
	.btn-primary:hover {
		background-position: 0 0;
		color: var(--color-white);
	}
	.btn-primary:hover::after {
    background-position: -150px 0; 
  }
	.btn-arrow:hover::after {
    background-position: -250px 0; 
  }
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.btn-primary {
		background-image: linear-gradient(90deg, #F4F9FB 0%, #E0E7EB 100%);
		background-size: 100% 100%;
		background-position: 100% 0%;
	}
}

/* ==========================================================================
   Child Nav ページ内リンク
========================================================================== */
.child-nav {
  width: min(var(--width-max1120), 100% - 80px);
	margin: 0 auto 80px;
}
.child-nav__list {
  background-color: #BBE7EC;
  padding: 24px 32px;
  margin: 0;  
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
}

.child-nav__item {
  width: 100%;
}
.child-nav__link {
  display: flex;
  align-items: center;
  position: relative;
  background-color: var(--color-white);
  padding: 16px 50px 16px 24px;
  color: var(--color-text-dark);
  font-size: 16px;
  font-family: var(--font-jp);
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
  text-decoration: none;
  box-sizing: border-box;
  transition: opacity 0.2s ease, transform 0.2s ease;
  height: 100%;
}
.child-nav__link::after,
.child-nav__link::before {
	content: "";
	display: block;
	position: absolute;
	right: 21px;
	width: 20px;
	height: 20px;
}
.child-nav__link::after {
	background: url(../img/icon_list.png)no-repeat;
	background-size: 200px 200px; 
  background-position: -178px -3px;
}
.child-nav__link::before {
	background: var(--color-primary);
}

@media (hover: hover) {
	.child-nav__link:hover {
		opacity: 0.8;
	}
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.child-nav {
		width: min(var(--width-max1120), 100% - 24px);
		margin: 0 auto 5rem;
	}
	.child-nav__list {
		padding: 1rem;
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	.child-nav__link {
		padding: 1rem 2.5rem 1rem 1.5rem;
		font-size: 0.93rem;
	}
	.child-nav__link::after,
	.child-nav__link::before {
		right: 1.25rem;
	}
}

/* ==========================================================================
   Read Text
========================================================================== */
.p-lead {
	padding: 0 0 56px;
	width: min(var(--width-max1120), 100% - 80px);
	margin: 0 auto;
}
.p-lead__text {
	margin: 0;
	color: var(--color-text-dark);
	font-size: 20px;
	font-weight: var(--font-weight-regular);
	line-height: 1.6;
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.p-lead {
		padding: 0 0 2.5rem;
		width: min(var(--width-max1120), 100% - 24px);
		margin: 0 auto;
	}
	.p-lead__text {
		font-size: 1rem;
	}
}

/* ==========================================================================
   DOCUMENT-LIST
========================================================================== */
.doc-list {
	background-color: #F0F0F0;
	width: min(var(--width-max1120), 100% - 80px);
	margin: 24px auto;
	padding: 16px 32px;
}
.doc-list__item {
  display: grid;
	grid-template-columns: 1fr 260px;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  width: 100%;
}
.doc-list__item + .doc-list__item {
	padding-top: 16px;
	margin-top: 16px;
	border-top: #8B8F91 solid 1px;
}
.doc-list__title {
  color: var(--color-text-dark);
	font-size: 18px;
	font-weight: var(--font-weight-medium);
	line-height: 1.5;
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.doc-list {
		width: min(var(--width-max1120), 100% - 24px);
		margin: 1.5rem auto;
		padding: 1rem;
	}
	.doc-list__item {
		display: grid;
		grid-template-columns: 1fr;
		justify-content: left;
		gap: 1rem;
	}
	.doc-list__title {
		font-size: 1.125rem;
	}
}

/* ==========================================================================
   LINK-LIST
========================================================================== */
.link-card {
  padding: 0 0 64px;
	margin: 0 auto;
  width: min(var(--width-max1120), 100% - 80px);
}
.link-card__header {
  padding: 8px 8px 16px;
	margin: 0 0 32px;
  border-bottom: 1px solid var(--color-border);
}

.link-card h3.link-card__title {
	padding: 0;
	margin: 0;
	width: 100%;
  color: var(--color-text-dark);
  font-size: 26px;
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
}
.link-card__list {
  display: grid;
	grid-template-columns: repeat(3,1fr);
  gap: 32px;
  padding: 0;
  margin: 0;
  list-style: none;
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.link-card {
		padding: 0 0 4.5rem;
		width: min(var(--width-max1120), 100% - 24px);
	}
	.link-card__header {
		margin: 0 0 1rem;
	}
	.link-card h3.link-card__title {
		font-size: 1.375rem;
	}
	.link-card__list {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
}

/* ==========================================================================
   各機関ロゴ入りバナーリスト：共通
========================================================================== */
.institution-list {
	width: min(var(--width-max1120), 100% - 80px);
  margin: 120px auto;
}
.institution-list__items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 34px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.institution-list__items .banner-list__item {
  width: 100%;
}
.institution-list__items .banner-list__link {
  display: block;
  transition: opacity 0.3s ease;
	width: 100%;
	height: 100%;
}
.institution-list__items .banner-list__image {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  object-fit: cover;
}
@media (hover: hover) {
	.institution-list__items .banner-list__link:hover {
		opacity: 0.6;
	}
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.institution-list {
		width: min(var(--width-max1120), 100% - 24px);
		margin: 4rem auto 3.5rem;
	}
	.institution-list__items {
		gap: 1.5rem;
	}
}

/* ==========================================================================
   IMG
========================================================================== */
.entry-content figure.wp-block-image.size-full {
	width: min(var(--width-max1120), 100% - 80px);
	margin: 0 auto;
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.entry-content figure.wp-block-image.size-full {
		width: min(var(--width-max1120), 100% - 24px);
	}
}

/* ==========================================================================
   TEXT
========================================================================== */
.p-text {
	color: var(--color-text-dark);
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	line-height: 1.5;
	width: min(var(--width-max1120), 100% - 80px);
	margin-left: auto;
	margin-right: auto;
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.p-text {
		font-size: 1rem;
		width: min(var(--width-max1120), 100% - 24px);
	}
}

/* ==========================================================================
   GDP共通パーツ
========================================================================== */
.region-data {
	margin: 0;
}
.region-data .region-data__figure {
	padding: 16px;
	display: flex;
	justify-content: center;
	border: 1px solid var(--color-border);
	background: #FFF;
}
.region-data__stats {
	display: grid;
	gap: 16px;
}
.region-data__stat-row {
	display: flex;
	padding: 0 8px 8px 8px;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #E0E0E0;
}
.region-data__stat-label {
	color: var(--color-text-dark);
	font-size: 18px;
	font-weight: var(--font-weight-regular);
	line-height: 1.39;
}
.region-data__stat-value {
	color: var(--color-accent);
	font-size: 28px;
	font-weight: var(--font-weight-bold);
	line-height: 1.5;
}

.region-data__notes {
	padding: 8px 0;
}
.region-data__notes .region-data__note {
	color: var(--color-text-dark);
	font-size: 12px;
	font-weight: var(--font-weight-regular);
	line-height: 1.51;
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.region-data__stat-row {
		display: block;
		padding: 0.5rem;
	}
	.region-data__stat-label {
		font-size: 1rem;
	}
	.region-data__stat-value {
		font-size: 1.5rem;
	}
}

/* ==========================================================================
   メリットなどに使う CSS
========================================================================== */
.feature-panel {
	width: min(var(--width-max1120), 100% - 80px);
	max-width: 1120px;
	display: grid;
	grid-template-columns: 1fr 420px;
	align-items: center;	
	margin: 40px auto;
}
.feature-panel__content {
	padding: 32px;
	border-radius: 8px;
	border: 1px solid #E0E0E0;
	background: var(--color-white);
}
.feature-panel__header {
	border-bottom: 1px solid var(--color-border);
}
.feature-panel__content .feature-panel__en {
	color: var(--color-accent);
	font-family: var(--font-en);
	font-size: 22px;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	padding-left: 8px;
}
.feature-panel__content .feature-panel__title {
	padding: 8px 8px 16px 8px;
	margin-left: 0;
	color: var(--color-text-dark);
	font-size: 20px;
	font-weight: var(--font-weight-bold);
	line-height: 1.35;
	text-align: left;
}
.feature-panel__content .feature-panel__body {
	padding: 16px 8px 0;
	display: grid;
	gap: 8px;
}
.feature-panel__content .feature-panel__text {
	padding-left: 0.5rem;
  text-indent: -0.5rem;
	color: var(--color-text-dark);
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	line-height: 1.68;
}
.feature-panel__content .feature-panel__text::before {
	content: '・';
	display: inline-block;
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.feature-panel {
		width: min(var(--width-max1120), 100% - 24px);
		grid-template-columns: 1fr;
		margin: 3.5rem auto;
	}
	.feature-panel__content {
		padding: 1.5rem;
		border-radius: 8px 8px 0 0;
	}
	.feature-panel__header {
		border-bottom: 1px solid var(--color-border);
	}
	.feature-panel__content .feature-panel__en {
		font-size: 1.2rem;
		padding-left: 0.5rem;
	}
	.feature-panel__content .feature-panel__title {
		padding: 0.5rem;
		font-size: 1.25rem;
		width: 100%;
	}
	.feature-panel__content .feature-panel__text {
		font-size: 1rem;
	}
}

/* ==========================================================================
   GN地域の強み CSS
========================================================================== */
/* basic-info */
.basic-info {
	display: grid;
	grid-template-columns: 1fr 500px;
	align-items: center;
	margin-bottom: 80px;
}
.basic-info .region-data {
	padding-inline: 30px;
}
.basic-info .region-data .region-data__figure {
	width: 440px;
	margin-inline: auto;
	margin-bottom: 40px;
}
.basic-info .region-data .region-data__image {
	width: 324px;
}
.basic-info .region-data .region-data__body {
	margin-bottom: 16px;
}

/* gni-merit メリット */
.gni-merit {
	padding: 80px 0;
	margin-bottom: 80px;
	background: #EFF3F6;
}
.gni-merit .startup-support {
	max-width: min(var(--width-max1120), 100% - 80px);
}
.gni-merit h3.wp-block-heading {
	color: #52798F;
  font-size: 40px;
  font-weight: var(--font-weight-medium);
  letter-spacing: 3.2px;
  margin: 0 auto;
	padding: 0;
  display: flex;
  gap: 16px;
	line-height: 1.5;
	width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
}
.gni-merit h3.wp-block-heading::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #52798F;
  border-radius: 2px;
  flex-shrink: 0;
	margin-top: 27px;
}
.gni-merit h4.wp-block-heading {
	padding: 10px 24px;
	max-width: 1120px;
}
.gni-merit h4.heading-underline {
	padding: 10px 0;
}
.gni-merit .p-lead {
	width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
	margin-top: 32px;
	margin-bottom: 0;
}
.gni-merit .region-data {
	padding-top: 40px;
	max-width: 1120px;
}
.gni-merit .region-data__inner {
	display: grid;
	grid-template-columns: 440px 440px;
	grid-template-rows: auto auto;
	justify-content: center;
	gap: 16px 56px;
	align-items: center;
}
.gni-merit .region-data__figure {
	grid-area: 1 / 1 / 3 / 2;
	align-self: center;
}
.gni-merit .region-data__figure img {
	width: 324px;
}
.gni-merit .region-data__body {
	grid-area: 1 / 2 / 2 / 3;
	align-self: end;
}
.gni-merit .region-data__notes {
	grid-area: 2 / 2 / 3 / 3;
	align-self: start;
}
.gni-merit .link-card {
	padding: 48px;
	margin-top: 32px;
	width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
	border-radius: 8px;
	border: 1px solid var(--glayLight, #E0E0E0);
	background: #FFF;
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	/* basic-info */
	.basic-info {
		grid-template-columns: 1fr;
		gap: 2rem 0;
		margin-bottom: 5rem;
	}
	.basic-info .region-data {
		padding-inline: 0;
	}
	.basic-info .region-data .region-data__figure {
		width: 100%;
		margin-bottom: 2.5rem;
	}
	.basic-info .region-data .region-data__image {
		width: 90%;
	}
	.basic-info .region-data .region-data__body {
		margin-bottom: 1rem;
	}

	/* gni-merit メリット */
	.gni-merit {
		padding: 3rem 0 5rem 0;
		margin-bottom: 5rem;
	}
	.gni-merit .startup-support {
		max-width: min(var(--width-max1120), 100% - 24px);
	}
	.gni-merit h3.wp-block-heading {
		font-size: 1.8rem;
		letter-spacing: 0;
		max-width: min(var(--width-max1120), 100% - 24px);
	}
	.gni-merit h3.wp-block-heading::before {
		margin-top: 20px;
	}
	.gni-merit h4.wp-block-heading {
		padding: 0.5rem 1.5rem;
		max-width: 100%;
	}
	.gni-merit .region-data {
		width: min(var(--width-max1120), 100% - 24px);
		padding-top: 2.5rem;
	}
	.gni-merit .region-data__inner {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		gap: 16px 0;
		align-items: center;
	}
	.gni-merit .region-data__figure {
		grid-area: 1 / 1 / 2 / 2;
		align-self: center;
	}
	.gni-merit .region-data__figure img {
		width: 324px;
	}
	.gni-merit .region-data__body {
		grid-area: 2 / 1 / 3 / 2;
		align-self: end;
	}
	.gni-merit .region-data__notes {
		grid-area: 3 / 1 / 4 / 2;
		align-self: start;
	}

	.gni-merit .link-card {
		padding: 1.5rem;
		margin-top: 1.5rem;
		max-width: min(var(--width-max1120), 100% - 24px);
	}
}

/* ==========================================================================
   記事一覧のソート CSS
========================================================================== */
.select-wrapper {
	background: #F0F0F0;
	display: flex;
	gap: 16px;
	padding: 32px;
	margin-bottom: 40px;
	flex-direction: column;
}
.select-list,
.keyword-search {
	display: grid;
	grid-template-columns: 140px 60%;
	align-items: center;
	gap: 24px;
}
.select-list__label,
.keyword-search__label {
	color: var(--color-text-dark);
	font-family: var(--font-jp);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
	line-height: 1.7;
}
.select-list .form-select-box {
	border-radius: 8px;
	outline: none;
	border: 1px solid #8B8F91;
	background: url("../img/icon-select-arrow.png") no-repeat right 12px center / 15px auto, var(--color-white);
	padding: 12px 24px 12px 20px;
	cursor: pointer;
	-webkit-appearance: none;
  appearance: none;
	width: 100%;
}
.keyword-search .keyword-search-box {
	display: flex;
	align-items: center;
	gap: 0;
}
.keyword-search .form-keyword-input {
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	border: 1px solid #8B8F91;
	background: var(--color-white);
	border-radius: 8px 0 0 8px;
	padding: 12px 24px 12px 20px;
	width: calc(100% - 76px);
	min-height: 48px;
}
.keyword-search input.form-keyword-input::placeholder {
	color: #C0C0C7;
	font-family: var(--font-jp);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
	line-height: 1.7;
}
.keyword-search .form-search-btn {
	color: var(--color-white);
	font-family: var(--font-jp);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
	line-height: 1.7;
	border-radius: 0 8px 8px 0;
	border: 1px solid #8B8F91;
	background: #8B8F91;
	width: 76px;
	height: 100%;
	min-height: 50px;
}

.select-list select:focus,
.keyword-search input:focus {
	outline: 1px solid var(--color-primary-hover);
}

.post-total {
	color: var(--color-text-dark);
	font-family: var(--font-jp);
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	line-height: 1.5;
}
.post-total strong {
	color: var(--color-accent);
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.select-wrapper {
		gap: 2rem;
		padding: 1rem;
		margin-bottom: 2.5rem;
	}
	.select-list,
	.keyword-search {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}
	.select-list__label,
	.keyword-search__label {
		font-size: 0.75rem;
	}
	.select-list .form-select-box {
		font-size: 0.85rem;
		padding: 0.85rem 2.5rem 0.85rem 0.85rem;
	}
}

/* ==========================================================================
   記事一覧のページャー CSS 
========================================================================== */
.pagination {
	display: flex;
	padding: 32px 0;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	align-self: stretch;
}
.pagination .page-numbers {
	color: #6D767B;
	font-family: var(--font-en);
	font-size: 14px;
	font-weight: 600;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 2px;
	border: 1px solid #6D767B;
	background: var(--color-white);
	padding: 4px;
	width: 44px;
	height: 44px;
	transition: 0.2s ease-in-out;
}
.pagination .page-numbers.current {
	color: var(--color-white);
	border: 1px solid var(--color-accent);
	background: var(--color-accent);
}
.pagination .page-numbers.next {
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
	background: url("../img/icon_pager_next.png")no-repeat center center / 15px auto, var(--color-white);
}
.pagination .page-numbers.prev {
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
	background: url("../img/icon_pager_back.png")no-repeat center center / 15px auto, var(--color-white);
}

@media (hover: hover) {
	.pagination .page-numbers:hover {
		color: var(--color-white);
		border: 1px solid var(--color-accent);
		background: var(--color-accent);
	}
	.pagination .page-numbers.current:hover {
		cursor: default;
		color: var(--color-white);
		border: 1px solid var(--color-accent);
		background: var(--color-accent);
	}
	.pagination .page-numbers.next:hover {
		background: url("../img/icon_pager_next_white.png")no-repeat center center / 15px auto, var(--color-accent);
	}
	.pagination .page-numbers.prev:hover {
		background: url("../img/icon_pager_back_white.png")no-repeat center center / 15px auto, var(--color-accent);
	}
}

/* ==========================================================================
   サポート CSS
========================================================================== */
/* 進出企業の国別内訳表 */
.chart-panel {
	width: min(var(--width-max1120), 100% - 80px);
	display: grid;
	grid-template-columns: 450px 1fr;
  align-items: center;
  gap: 40px;
	align-items: center;	
	margin: 40px auto 64px;
}

.chart-panel__content {
  display: flex;
	flex-flow: column;
	gap: 16px;
}

.chart-panel__text {
  color: #3F4244;
  font-size: 20px;
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  margin: 0;
}

.chart-panel__note {
  color: #3F4244;
  font-size: 14px;
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  text-align: right;
  margin: 0;
}

/* 立上支援制度 */
.startup-support {
	width: min(var(--width-max1120), 100% - 80px);
  background-color: #ACD8F0;
  padding: 32px;
  border-radius: 32px;
  box-sizing: border-box;
	margin: 0 auto;
}
.startup-support .startup-support__inner {
  background-color: #D1EAF5;
  padding: 48px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  box-sizing: border-box;
}
/* 立上支援制度 > タイトル */
.startup-support .startup-support__header {
  display: flex;
  align-items: center;
}
.startup-support .startup-support__title {
  color: #52798F;
  font-size: 40px;
  font-weight: var(--font-weight-medium);
  letter-spacing: 3.2px;
  margin: 0;
	padding: 0;
  display: flex;
  align-items: center;
  gap: 16px;
	line-height: 1.5;
	width: 100%;
}
.startup-support .startup-support__title::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #52798F;
  border-radius: 2px;
  flex-shrink: 0;
}
/* 立上支援制度 > 中身 */
.startup-support__body {
  display: grid;
	align-items: center;
  grid-template-columns: minmax(180px,260px) minmax(50%,1fr);
  gap: 64px;
  padding-bottom: 32px;
}
/* 立上支援制度 > 解説 */
.startup-support__content {
	display: grid;
	gap: 40px;
}
.startup-support__desc {
  color: var(--color-text-dark);
  font-size: 16px;
  font-weight: var(--font-weight-medium);
  line-height: 1.8;
  margin: 0;
}
.startup-support__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}
.startup-support__actions .btn--white {
	max-width: 300px;
}
.startup-support__footer,
.startup-support__footer img {
	width: 100%;
	height: auto;
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.chart-panel {
		width: min(var(--width-max1120), 100% - 24px);
		grid-template-columns: 1fr;
		margin: 2.5rem auto 4rem;
	}
	.chart-panel__figure {
		max-width: 60%;
		margin: 0 auto;
	}
	.chart-panel__text {
		font-size: 1.25rem;
	}
	.chart-panel__note {
		font-size: 0.875rem;
	}

	/* 立上支援制度 */
	.startup-support {
		width: min(var(--width-max1120), 100% - 24px);
		padding: 1.5rem;
		border-radius: 1.5rem;
	}
	.startup-support .startup-support__inner {
		padding: 1.5rem;
		border-radius: 1rem;
	}
	/* 立上支援制度 > タイトル */
	.startup-support .startup-support__title {
		font-size: 2rem;
	}
	/* 立上支援制度 > 中身 */
	.startup-support__body {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.startup-support__body figure {
		max-width: 60%;
		margin: 0 auto;
	}
	/* 立上支援制度 > 解説 */
	.startup-support__content {
		gap: 2rem;
	}
	.startup-support__desc {
		font-size: 1rem;
	}
}

/* ==========================================================================
   パートナーズクラブへのCV CSS
========================================================================== */
.action-banner {
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 40px auto 0;
  background: linear-gradient(90deg, #35BB9E 0%, #44AAC0 50%, #2F9ED9 100%);
  padding: 40px;
}
.action-banner__inner {
	display: grid;
	gap: 16px;
}
.action-banner h2.action-banner__title {
	display: flex;
  align-items: center;
  gap: 16px;
  color: var(--color-white);
  font-size: 40px;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.01em;
  margin: 0;
	padding: 0;
	line-height: 1.5;
	width: 100%;
}
.action-banner h2.action-banner__title::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: var(--color-white);
  border-radius: 2px;
  flex-shrink: 0;
	align-self: center;
}

.action-banner__body {
  margin-bottom: 24px;
}
.action-banner__text {
  color: var(--color-white);
  font-size: 20px;
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  margin: 0;
}

.action-banner__footer {
  width: 100%;
  display: flex;
  justify-content: center;
  padding-top: 8px;
}
.btn-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 600px;
  padding: 24px 32px;
  background-color: var(--color-accent);
  border-radius: 8px;
  border: 6px solid var(--color-white); 
  text-decoration: none;
  box-sizing: border-box;
  transition: opacity 0.2s ease, transform 0.2s ease;  
  backdrop-filter: blur(5px);
}
.btn-action__text {
  color: var(--color-white);
  font-size: 24px;
  font-family: var(--font-jp);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.048em;
}
.btn-action::after {
  content: "";
  display: block;
  width: 36px;
  height: 36px;
  background-color: transparent;
  flex-shrink: 0;
	background: url(../img/icon_list.png)no-repeat -354px -5px /400px 400px;
}

@media (hover: hover) {
	.btn-action:hover {
		opacity: 0.85;
	}
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.action-banner {
		max-width: min(var(--width-max1120), 100% - 24px);
		padding: 1.5rem;
	}
	.action-banner h2.action-banner__title {
		gap: 0.5rem;
		font-size: 1.25rem;
	}
	.action-banner__text {
		font-size: 1rem;
	}
	.btn-action {
		padding: 1.25rem;
	}
	.btn-action__text {
		font-size: 1.25rem;
		letter-spacing: 0;
	}
}

/* ==========================================================================
   GNIサポート実積一覧 CSS
========================================================================== */
.support-results-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, 344px);
	gap: 40px;
	padding: 0 4px;
	margin-bottom: 120px;
}
.support-results-list li {
	width: 100%;
	border-radius: 20px;
	border: 1px solid #8B8F91;
	background: var(--color-white);
	transition: 0.2s ease-in-out;
}
.support-results-list li a {
	display: flex;
	flex-flow: column;
	height: 100%;
	padding: 8px;
	transition: 0.2s ease-in-out;
}
.support-results-list .support_upper {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 16px;
	background: url("../img/img_support_thumbnail.png")no-repeat left top / 344px auto,#8B8F91;
	border-radius: 14px;
	padding: 16px;
	aspect-ratio: 1.458 /	1;
	transition: 0.2s ease-in-out;
}
.support-results-list .support_upper .country {
	display: block;
	background: var(--color-white);
	border-radius: 8px;
	padding: 6px 8px;
	width: fit-content;
	color: #8B8F91;
	font-size: 14px;
	font-weight: var(--font-weight-bold);
	line-height: 1.28;
	transition: 0.2s ease-in-out;
}
.support-results-list .support_upper .activities_jp {
	display: flex;
	align-items: flex-end;	
	color: #FFF;
	font-family: var(--font-jp);
	font-size: 18px;
	font-style: normal;
	font-weight: var(--font-weight-bold);
	line-height: 1.5;
}
.support-results-list .support_fooetr {
	display: flex;
	padding: 16px;
	gap: 16px;
	flex-direction: column;
	flex-grow: 1;
}
.support-results-list .support_fooetr .company_name {
	color: var(--color-text-dark);
	font-size: 16px;
	font-weight: var(--font-weight-regular);
	line-height: 1.5;
	height: 100%;
}
.support-results-list .support_fooetr .support_bottom {
	display: flex;
	gap: 8px;
	color: #8B8F91;
	font-size: 14px;
	font-weight: var(--font-weight-regular);
	line-height: 1;
}

@media (hover: hover) {
	.support-results-list li:hover {
		border: 1px solid var(--color-accent);
	}
	.support-results-list li a:hover .support_upper {
		background: url("../img/img_support_thumbnail.png")no-repeat left top / 344px auto, var(--color-accent);
	}
	.support-results-list li a:hover .support_upper .country {
		color: var(--color-accent);
	}
}

/* 記事の詳細ページCSS */
.support_post {
	margin-bottom: 60px;
}
.support_post_deta {
	background: #EFF3F6;
	padding: 16px;
}
.support_post_deta_list {
	display: flex;
	flex-flow: column;
	gap: 4px;
	align-items: flex-end;
}
.support_post_deta_list li {
	font-size: 16px;
	font-weight: var(--font-weight-regular);
	color: var(--color-text);
}

.support_post_contents {
	margin-bottom: 60px;
}
.support_post_contents .support_post_read {
	font-size: 18px;
	font-weight: var(--font-weight-medium);
	color: var(--color-text-dark);
	line-height: 1.6;
}
.support-results-back {
	display: flex;
	justify-content: center;
}
.support-results-back a {
	max-width: 320px;
}

/* パートナーズクラブご登録後のメリット */
.support-features {
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 40px auto 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 100%;
  box-sizing: border-box;
}
.support-features__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  padding-bottom: 24px;
}

.support-card {
  background: var(--color-white);
  border-radius: 12px;
  padding: 24px;
}
.support-card .support-card__header {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 8px;
	margin-bottom: 17px;
}
.support-card .support-card__title {
  color: var(--color-text-dark);
  font-size: 16px;
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
  margin: 0;
  padding: 0;
	width: fit-content;
}
.support-card--full .support-card__title {
  font-size: 18px;
}

/* 番号の丸いアイコン */
.support-card .support-card__number {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  background-color: var(--color-primary);
  border-radius: 50%;
  color: var(--color-white);
  font-size: 14px;
  font-family: var(--font-en);
  font-weight: 700;
  flex-shrink: 0;
	margin-top: 2px;
}

/* 本文エリア */
.support-card__body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.support-card__text {
  color: var(--color-text-dark);
  font-size: 16px;
  font-weight: var(--font-weight-medium);
  line-height: 1.68;
  margin: 0;
}

/* ニュースレター紹介 */
.support-card__extra {
  background-color: #F0F0F0;
  padding: 16px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
	margin-top: 16px;
}
h4.support-card__extra-title {
  color: var(--color-text-dark);
  font-size: 18px;
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
  margin: 0;
	padding: 0;
	width: fit-content;
}
/* ボタンを並べるラッパー */
.support-card__actions {
  display: flex;
  gap: 16px;
  flex: 1;
}
/* ニュースレター紹介 > ボタン */
.support-card__extra .btn {
	width: fit-content;
	padding-inline: 62px 62px;
}
/* ニュースレター紹介 > 準備中 */
.support-card__extra .support_private {
	border-radius: 300px;
	border: 1px solid var(--color-text);
	color: var(--color-text);
	font-size: 16px;
	padding: 8px 16px;
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.support-results-list {
		grid-template-columns: 1fr;
		gap: 3rem;
		padding: 0;
		margin-bottom: 6rem;
	}
	.support-results-list .support_upper {
		display: grid;
		grid-template-rows: auto 1fr;
		background: url("../img/img_support_thumbnail.png")no-repeat left top / 100% auto,#8B8F91;
		padding: 0.8rem;
		aspect-ratio: 1.65 /	1;
	}
	.support-results-list .support_upper .country {
		font-size: 0.8rem;
	}
	.support-results-list .support_upper .activities_jp {
		font-size: 1.1rem;
	}
	.support-results-list .support_fooetr {
		padding: 0.8rem;
		gap: 0.8rem;
	}
	.support-results-list .support_fooetr .company_name {
		font-size: 1rem;
	}
	.support-results-list .support_fooetr .support_bottom {
		font-size: 0.8rem;
	}
	.support_post {
		margin-bottom: 4rem;
	}
	.support_post_deta {
		padding: 1rem;
	}
	.support_post_deta_list li {
		font-size: 1rem;
	}

	.support_post_contents {
		margin-bottom: 3rem;
	}
	.support_post_contents .support_post_read {
		font-size: 1.125rem;
	}
	.support-results-back a {
		max-width: 100%;
	}

	/* パートナーズクラブご登録後のメリット */
	.support-features {
		max-width: min(var(--width-max1120), 100% - 24px);
		margin: 2rem auto 0;
	}
	.support-card {
		padding: 1.5rem;
	}
	.support-card .support-card__title {
		font-size: 1rem;
	}
	.support-card--full .support-card__title {
		font-size: 1rem;
	}

	/* 本文エリア */
	.support-card__text {
		font-size: 1rem;
	}

	/* ニュースレター紹介 */
	.support-card__extra {
		padding: 0.8rem;
		border-radius: 8px;
		display: block;
	}
	h4.support-card__extra-title {
		font-size: 1.125rem;
		margin-bottom: 0.8rem;
	}
	/* ボタンを並べるラッパー */
	.support-card__actions {
		flex-flow: column;
	}
	/* ニュースレター紹介 > ボタン */
	.support-card__extra .btn {
		width: 100%;
		padding-inline: 16px;
	}
	/* ニュースレター紹介 > 準備中 */
	.support-card__extra .support_private {
		font-size: 1rem;
	}
}

/* ==========================================================================
   テキストリンクのブロック CSS
========================================================================== */
.custom-text-links {
	margin-block: 0;
}
.custom-link {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--color-primary);
	text-decoration: underline;
	font-family: var(--font-jp);
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	padding: 6px 0;
}
.custom-link::after {
	content: "";
	display: block;
}
.custom-link-arrow::after {
	background: url(../img/icon_list.png)no-repeat;
	background-size: 400px 400px; 
  background-position: -12px -112px;
	width: 25px;
	height: 25px;
}
.custom-link-blank::after {
	background: url(../img/icon_list.png)no-repeat;
	background-size: 400px 400px; 
  background-position: -213px -61px;
	width: 25px;
	height: 25px;
}
.custom-link-pdf::after {
	background: url(../img/icon_list.png)no-repeat;
	background-size: 400px 400px; 
  background-position: -311px -62px;
	width: 25px;
	height: 25px;
}
@media (hover: hover) {
	.custom-link:hover {
		opacity: 0.8;
	}
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	
}

/* ==========================================================================
   info-panel CSS
========================================================================== */
.info-panel-wrapper {
  padding: 0;
	width: min(var(--width-max1120), 100% - 80px);
	margin: 0 auto 40px;
}
.info-panel-wrapper + .info-panel-wrapper {
	margin-top: 120px;
}
.info-panel {
  display: grid;
	grid-template-columns: 44.6% 1fr;
	grid-template-rows: 1fr;
}

/* 画像 */
.info-panel__media {
  display: flex;
	align-items: center;
}

/* 右側コンテンツ */
.info-panel__content {
	background: #EFF3F6;
  padding: 56px;
	display: flex;
	align-items: center;
	flex-flow: column;
	justify-content: center;
	gap: 8px;
}

.info-panel__content h3.info-panel__title {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #2D3235;
  font-size: 24px;
  font-weight: var(--font-weight-bold);
  line-height: 1.25;
  margin: 0;
	padding: 18px 0;
	width: 100%;
}
.info-panel__title::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: var(--color-accent);
  border-radius: 50%;
  flex-shrink: 0;
}
.info-panel__text {
  color: var(--color-text-dark);
  font-size: 16px;
  font-weight: var(--font-weight-medium);
  line-height: 1.875;
  margin: 0;
}
.info-panel__text + .info-panel__text {
	margin-top: 16px;
}

/* PICKUP Stat Badge */
.stat-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
	margin-top: 40px;
  padding: 32px 16px;
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
  border-radius: 16px;  
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  width: 100%;
  box-sizing: border-box;
}
.stat-badge--vertical {
  flex-direction: column;
}

.stat-badge__title {
  color: var(--color-text-dark);
  font-size: 24px;
  font-weight: var(--font-weight-medium);
  line-height: 1.25;
  text-align: center;
  margin: 0;
}
.stat-badge__note {
	color: var(--color-text);
  font-size: 14px;
  font-weight: var(--font-weight-regular);
  line-height: 1.25;
  text-align: center;
  margin: 0;
}

/* PICKUP Stat Badge > TEXT orange */
.stat-badge__value {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  color: var(--color-accent);
  margin: 0;
}
.stat-badge__value--stacked {
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.stat-badge__text {
  font-size: 40px;
  font-weight: var(--font-weight-medium);
  line-height: 1;
}
.stat-badge__number {
  font-size: 70px;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}
.stat-badge__text-md {
  font-size: 36px;
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.info-panel-wrapper {
		width: min(var(--width-max1120), 100% - 24px);
		margin: 0 auto 2.5rem;
	}
	.info-panel {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
	}

	.info-panel__content {
		padding: 1.5rem;
	}
	.info-panel__content h3.info-panel__title {
		font-size: 1.25rem;
	}
	.info-panel__text {
		font-size: 1rem;
	}

	.stat-badge {
		flex-flow: column;
		margin-top: 2rem;
		padding: 1rem;
	}
	.stat-badge--vertical {
		flex-direction: column;
	}
	.stat-badge__title {
		font-size: 1.2rem;
	}
	.stat-badge__note {
		font-size: 0.875rem;
	}

	.stat-badge__text {
		font-size: 2.2rem;
	}
	.stat-badge__number {
		font-size: 3rem;
	}
	.stat-badge__text-md {
		font-size: 1.5rem;
	}
}

/* ==========================================================================
   intro-card 紹介カード CSS
========================================================================== */
.intro-card {
  background: var(--color-white);
  padding: 48px;
  border-radius: 8px;
  border: 1px solid #E0E0E0;
  width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
  display: grid;
  grid-template-columns: 1fr 480px;
  grid-template-rows: auto 1fr;
  column-gap: 40px;
}

/* --- Gridの配置指定（PC版） --- */
.intro-card__title {
  grid-area: 1 / 1 / 2 / 2;
}
.intro-card__body {
  grid-area: 2 / 1 / 4 / 2;
}
.intro-card__media {
  grid-area: 1 / 2 / 4 / 3;
}

/* タイトル */
.intro-card h3.intro-card__title {
  color: var(--color-text-dark);
  font-size: 20px;
  font-weight: var(--font-weight-bold);
  line-height: 1.35;
  margin: 0;
	padding: 0 0 16px;
  border-bottom: 1px solid #C0C0C7;
	width: 100%;
}

/* ボディ（テキストとボタン） */
.intro-card__body {
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
.intro-card__body .intro-card__text {
  color: var(--color-text-dark);
  font-size: 16px;
  font-weight: var(--font-weight-medium);
  line-height: 1.68;
  margin: 0;
}
.intro-card__body .btn-primary {
	width: 210px;
}
.intro-card__media {
  width: 100%;
  height: auto;
  margin: 0;
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
.intro-card {
    padding: 1.6rem;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    row-gap: 24px;
		max-width: min(var(--width-max1120), 100% - 24px);
  }  
  .intro-card__title {
    grid-area: 1 / 1 / 2 / 2;
  }

	.intro-card__body {
  	grid-area: 3 / 1 / 4 / 2;
		padding-top: 0;
	}
	.intro-card__media {
		grid-area: 2 / 1 / 3 / 2;
		aspect-ratio: 16 / 9;
		height: auto;
	}
	.intro-card__body .btn-primary {
		width: 100%;
	}
}

/* ==========================================================================
   ものづくり CSS
========================================================================== */
.info-panel:has(.stat-manufacturing) .info-panel__media {
	padding-inline: 70px;
}
.info-panel:has(.stat-manufacturing) .info-panel__body {
	width: 100%;
}
.stat-badge.stat-manufacturing {
	margin-top: 32px;
	align-items: flex-start;
	padding: 32px 24px;
}

.stat-manufacturing .stat-badge__text-sm {
	font-size: 30px;
	margin-right: 32px;
}
.stat-manufacturing .stat-badge__desc {
	font-size: 24px;
}

/* スライダー全体 */
.anime-manufacturing-item {
  display: flex;
  overflow: hidden;
	margin: 120px 0;
}
.anime-manufacturing-slide {
  animation: scroll-left 20s infinite linear .5s both;
  display: flex;
}
.icon-manufacturing {
  width: calc(100vw / 7);
}
/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.info-panel:has(.stat-manufacturing) .info-panel__media {
		padding-inline: 0;
		width: 80%;
		margin: 0 auto 1.5rem;
	}

	.stat-badge.stat-manufacturing {
		margin-top: 1rem;
		align-items: flex-start;
		padding: 1.5rem;
		gap: 2.5rem;
	}
	.stat-badge__value {
		flex-wrap: wrap;
		justify-content: left;

	}

	.stat-manufacturing .stat-badge__text-sm {
		font-size: 1.8rem;
		margin-right: 0;
		width: 100%;
	}
	.stat-manufacturing .stat-badge__desc {
		font-size: 1.45rem;
	}
	.stat-manufacturing .stat-badge__desc span {
		display: inline-block;
	}
	
	/* スライダー全体 */
	.anime-manufacturing-item {
		margin: 5rem 0;
	}
	.icon-manufacturing {
		width: calc(100vw / 4);
	}
}

/* ==========================================================================
   観光 CSS
========================================================================== */
.split-bleed {
  display: grid;
  width: 100%;
  grid-template-columns: 
    minmax(0, 1fr) 
    minmax(0, 600px) 
    minmax(0, 600px) 
    minmax(0, 1fr);
}
.split-bleed__media {
  grid-column: 1 / 3;
  margin: 0;
  min-height: 500px;
  width: 100%;
}
.split-bleed__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.split-bleed__content {
  grid-column: 3 / 4;  
	grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 0 88px 80px; 
  box-sizing: border-box;
}
.split-bleed__header {
  margin-bottom: 16px;
}
.split-bleed__text {
  color: #3F4244;
  font-size: 16px;
  font-weight: var(--font-weight-medium);
  line-height: 1.875;
  margin: 0;
}
.split-bleed--reversed .split-bleed__media {
  grid-column: 3 / 5;
}
.split-bleed--reversed .split-bleed__content {
  grid-column: 2 / 3;
  padding: 80px 80px 88px 0; 
}

/* 横並び */
.l-cluster {
	display: grid;
	grid-template-columns: repeat(2,46%);
	justify-content: space-between;
	width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 88px auto;
}

/*縦並び  */
.l-stack {
	display: grid;
	justify-content: space-between;
	align-items: start;
	margin: 0;
}

/* 縦並び > 画像4カラム */
.l-img-list-col4 {
	display: grid !important;
	grid-template-columns: repeat(4,1fr);
	gap: 32px;
	max-width: min(var(--width-max1120), 100% - 80px);
	margin-left: auto;
	margin-right: auto;
}
.l-img-list-col4 img {
	width: 100%;
	height: auto;
}

/* 紹介カード */
.media-card {
	margin: 0;
}
.media-card__body {
	display: grid;
	gap: 16px 0;
	padding: 24px 0;
}
.media-card h3.media-card__title {
	color: #2D3235;
	font-size: 18px;
	font-weight: var(--font-weight-bold);
	line-height: 1.5;
	padding: 0;
	margin: 0;
	width: 100%;
	max-width: 100%;
}
.media-card .media-card__text {
	color: var(--color-text-dark);
	font-size: 14px;
	font-weight: var(--font-weight-regular);
	line-height: 1.7;
}
.mini-media-card {
	 display: grid;
	 grid-template-columns: 254px 1fr;
	 gap: 24px;
	 align-items: end;
	 width: 100%;
}
.mini-media-card .media-card__body {
	display: grid;
	gap: 16px 0;
	padding: 0 0;
}


/* SP (<= 800px) */
@media (max-width: 800px) {
  .split-bleed {
    display: flex;
    flex-direction: column;
  }
  .split-bleed__media {
    min-height: 300px;
  }  
  .split-bleed__content {
    padding: 40px 24px; 
  }
	.split-bleed--reversed .split-bleed__content {
    padding: 40px 24px; 
  }
	.split-bleed__text {
		font-size: 1rem;
	}
	.l-cluster {
		grid-template-columns: 1fr;
		max-width: min(var(--width-max1120), 100% - 24px);
		margin: 4rem auto;
		gap: 2rem;
	}
	.l-stack {
		gap: 2rem;
	}
	.media-card h3.media-card__title {
		font-size: 1.125rem;
	}
	.media-card .media-card__text {
		font-size: 1rem;
	}
	.mini-media-card {
		grid-template-columns: 1fr;
	}
	.mini-media-card  .media-card__media img {
		width: 100%;
	}
}

/* ==========================================================================
   パートナーズクラブ  一覧 CSS
========================================================================== */
/* 新着・50音・ABCソート */
.partner-sort {
	display: flex;
	gap: 10px;
	margin: 80px auto 0;
}
.partner-sort a {
	color: var(--color-text-dark);
	text-align: center;
	font-family: var(--font-jp);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
	line-height: 2.14;
	display: flex;
	width: 100px;
	padding: 8px;
	justify-content: center;
	align-items: center;
	border-radius: 8px;
	border: 1px solid #8B8F91;
	background: var(--color-white);
}
.partner-sort a.is-active {
	color: var(--color-white);
	background: var(--color-accent);
	border: 1px solid var(--color-accent);
}

/* 一覧 */
.partner-card-wrap {
	display: grid;
	grid-template-columns: 100%;
	gap: 32px 0;
	margin: 32px auto 0;
}

/* カード */
.partner-card {
	display: grid;
	grid-template-columns: 100%;
	gap: 6px 0;
	margin: 0 auto 0;
	padding: 0 0 24px;
	width: 100%;
}

/* カード > header */
.partner-card__header {
  background-color: #E0E7EB;
  border-radius: 16px;
  padding: 20px 24px;
}
.partner-card__header .partner-card__names {
	color: var(--color-text-dark);
	width: 100%;
	margin-bottom: 8px;
}
.partner-card__header h3.partner--ja {
	color: var(--color-text-dark);
  font-size: 20px;
  font-weight: var(--font-weight-bold);
  line-height: 1.56;
  margin: 0;
	padding: 0;
}
.partner-card__header .partner--en {
	color: var(--color-text-dark);
  font-size: 20px;
  font-family: var(--font-en);
  font-weight: var(--font-weight-bold);
  line-height: 1.56;
  margin: 0;
}

.partner-card__header .partner-card__category {
  background: var(--color-white);
  border-radius: 300px;
  padding: 4px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
	color: var(--color-text-dark);
  font-size: 12px;
  font-weight: var(--font-weight-regular);
  line-height: 1.5;
  margin: 0;
  text-align: center;
}

/* カード > body */
.partner-card__body {
  padding: 0 24px;
}

.partner-card__section {
  padding: 16px;
  display: grid;
	grid-template-columns: 13% 1fr;
	gap: 24px;
}
.partner-card__section + .partner-card__section {
  border-top: 1px solid #E0E0E0;
}

/* 見出し */
.partner-card__label {
	position: relative;
	gap: 0 8px;
	padding-left: 17px;
}
.partner-card__label::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: #52798F;
  border-radius: 2px;
  flex-shrink: 0;
	position: absolute;
	top: 8px;
	left: 0;
}
.partner-card__label .partner--ja,
.partner-card__label .partner--en {
	display: block;
  color: #52798F;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
.partner-card__label .partner--ja {
	font-family: var(--font-jp);
}
.partner-card__label .partner--en {
	font-family: var(--font-en);
}

/* コンテンツテキストエリア */
.partner-card__content {
  display: grid;
	gap: 4px;
}
.partner-card__content .partner--ja,
.partner-card__content .partner--en {
	display: block;
  color: var(--color-text-dark);
  font-size: 16px;
  font-weight: var(--font-weight-regular);
  line-height: 1.5;
}
.partner-card__content .partner--ja {
	font-family: var(--font-jp);
}
.partner-card__content .partner--en {
	font-family: var(--font-en);
}

/* コンテンツテキストエリア */
.partner-card__footer {
  padding: 10px 24px;
  margin: 0;
  border-top: 1px solid #E0E0E0;
}
.partner-card__links {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* 公式リンク */
.partner-links {
	display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.partner-link-divider {
  width: 1px;
  height: 20px;
  background-color: #8B8F91;
  display: block;
}
.partner-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 42px 8px 8px;
  background-color: var(--color-white);
  border-radius: 8px;
  color: var(--color-text-dark);
  font-size: 14px;
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  transition: color 0.2s ease;
	position: relative;
}
.partner-link.partner-link-jp {
	font-family: var(--font-jp);
}
.partner-link.partner-link-en {
	font-family: var(--font-en);
}
.partner-link::after {
  content: "";
	display: block;
	position: absolute;
	background: url(../img/icon_list.png)no-repeat;
	background-size: 400px 400px; 
  background-position: -100px 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
}
@media (hover: hover) {
	.partner-link:hover {
		color: var(--color-accent);
		text-decoration: underline;
		text-underline-offset: 4px;
	}
	.partner-link:hover::after {
		background: url(../img/icon_list.png)no-repeat;
		background-size: 400px 400px; 
		background-position: -100px -50px;
	}
}

/* SP (<= 800px) */
@media (max-width: 800px) {
	.partner-sort {
		justify-content: space-around;
		margin: 5rem auto 0;
	}
	.partner-sort li {
		width: 100%;
	}
	.partner-sort a {
		font-size: 0.875rem;
		width: 100%;
	}
	.partner-card-wrap {
		gap: 2rem 0;
		margin: 2rem auto 0;
	}
	.partner-card {
		padding: 0 0 1.5rem;
	}
	.partner-card__header {
		padding: 1.4rem;
	}
	.partner-card__header h3.partner--ja,
	.partner-card__header .partner--en {
		font-size: 1.25rem;
	}
	.partner-card__header .partner-card__category {
		font-size: 0.75rem;
	}
	.partner-card__body {
		padding: 0 1rem;
	}
	.partner-card__section {
		padding: 0.5rem;
		gap: 8px;
		grid-template-columns: 1fr;
	}
	.partner-card__label .partner--ja,
	.partner-card__label .partner--en {
		font-size: 0.93rem;
	}
	.partner-card__content .partner--ja,
	.partner-card__content .partner--en {
		font-size: 1rem;
	}
	/* コンテンツテキストエリア */
	.partner-card__footer {
		padding: 1rem 0.5rem;
	}

	.partner-links {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		flex-wrap: wrap;
	}
}

/* ==========================================================================
   パートナーズクラブ > 詳細ページ CSS
========================================================================== */
.partnersclub_post {
	margin-bottom: 64px;
}
.partnersclub_post_contents {
	margin-bottom: 64px;
}
.business_text {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto;
	gap: 8px 16px;
}
.business_text dt {
	color: var(--color-text-dark);
	font-size: 20px;
	font-weight: var(--font-weight-bold);
	line-height: 1.6;
	grid-area: 1 / 1 / 3 / 2;
}
.business_text dd {
	color: var(--color-text-dark);
	font-weight: var(--font-weight-medium);
	font-size: 20px;
	line-height: 1.6;
}
.business_text .business_jp {
	font-family: var(--font-jp);
	grid-area: 1 / 2 / 2 / 3;
}
.business_text .business_en {
	font-family: var(--font-en);
	grid-area: 2 / 2 / 3 / 3;
}
.partnersclub-back {
	width: 100%;
	max-width: 400px;
}

/* ==========================================================
   Contact Form 共通CSS
========================================================== */
.c-form {
	width: min(var(--width-max1120), 100% - 80px);
	margin: 40px auto 64px;
}
.c-form__row {
  display: grid;
  grid-template-columns: 20% 1fr;
  gap: 16px;
  padding: 16px 8px;
	margin-top: 24px;
  border-bottom: 1px solid #8B8F91;
}
.c-form__row .c-form__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 18px;
	font-weight: var(--font-weight-medium);
	line-height: 1.8;
}
.c-form__row .c-form__title span {
	display: block;
	background: var(--color-text);
	color: var(--color-white);
	font-size: 12px;
	padding: 4px;
	border-radius: 4px;
}
.c-form__row .c-form__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.c-form__row .c-form__data {
	display: grid;
	gap: 16px;
}
.c-form__row .c-form__label,
.c-form__row .c-form__note {
  font-size: 16px;
  color: var(--color-text);
  line-height: 1.5;
  margin: 0;
}
.c-form__row .c-form__label {
	display: inline-block;
	font-size: 14px;
	margin-bottom: 8px;
	padding-right: 16px;
}

/* 入力パーツ共通 */
.c-form__input,
.c-form__select,
.c-form__textarea {
  width: 100%;
  background: #fff;
  border: 1px solid #8B8F91;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 16px;
  font-family: var(--font-jp);
  color: var(--color-text-dark);
  box-sizing: border-box;
  outline: none;
}

.c-form__input:focus,
.c-form__select:focus,
.c-form__textarea:focus {
  border-color: var(--color-primary-hover);
}

/* サイズ・種類別の調整 */
.c-form__input,
.c-form__select {
  height: 50px;
}

.c-form__input--md {
  max-width: 400px;
}

.c-form__select {
  appearance: none;
  cursor: pointer;
}

/* selectの矢印アイコンをCSSで表現するためのラッパー */
.c-form__select-wrapper {
  position: relative;
  max-width: 800px;
  width: 100%;
}
.c-form__select-wrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 10px;
  height: 6px;
  background-color: #3F4244;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  pointer-events: none;
}
/* textarea */
.c-form__textarea {
  height: 200px;
  resize: vertical;
}

/* 同意書 */
.c-form__consent {
	display: flex;
	max-width: 800px;
	margin: 64px auto 24px;
	padding: 32px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 16px;
	background: #F0F0F0;
}
.c-form__consent .consent_text {
	color: var(--color-text-dark);
	text-align: center;
	font-size: 18px;
	font-style: normal;
	font-weight: var(--font-weight-medium);
	line-height: 1.8;
}
.c-form__consent .consent_text a {
	color: #1A5CBF;
	text-decoration: underline;
}

/* チェックボックス */
.wpcf7-list-item input[type="checkbox"] {
  display: none;
}
.wpcf7-list-item {
  margin: 0;
  display: block;
}
.wpcf7-list-item-label {
  position: relative;
  padding-left: 45px;
  cursor: pointer;
  display: inline-block;
	color: var(--color-text-dark);
	text-align: center;
	font-family: var(--font-jp);
	font-size: 18px;
	font-style: normal;
	font-weight: var(--font-weight-bold);
	line-height: 1.8;
}

/* ボックスのベースデザイン */
.wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border: 1px solid #8B8F91;
  border-radius: 4px;
  background: var(--color-white);
  transition: all 0.2s;
}
.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 8px;
  transform: translateY(-65%) rotate(-45deg);
  width: 12px;
  height: 8px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  opacity: 0;
  transition: all 0.2s;
}
/* チェックが入った時のボックスの変化 */
.wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  background: var(--color-accent);
  border-color: var(--color-accent);
}
.wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

/* 送信ボタン */
.c-form__submit p {
	display: flex;
  justify-content: center;
  align-items: center;
	flex-flow: column;
  position: relative;
	gap: 8px;
  margin-top: 32px;
  text-align: center;
}
.c-form__submit .send-mail {
	cursor: pointer;
	color: var(--color-white);
	display: flex;
	width: fit-content;
	min-width: 240px;
	padding: 16px 54px;
	justify-content: center;
	align-items: center;
	background: url(../img/icon-sendmail.png)no-repeat right center /53px 53px,var(--color-primary);
	transition: all 0.2s;
	-webkit-appearance: none;
  border-radius: 0;
	appearance: none;
  border-radius: 0;
	border: none;
}
.c-form__submit .contact-back {
	cursor: pointer;
	color: var(--color-text);
	display: flex;
	width: fit-content;
	min-width: 200px;
	padding: 16px 24px;
	justify-content: center;
	align-items: center;
	background: url(../img/icon-contactback.png)no-repeat left center /53px 53px,#E0E7EB ;
	transition: all 0.2s;
	-webkit-appearance: none;
  border-radius: 0;
	appearance: none;
  border-radius: 0;
	border: none;
}
@media (hover: hover) {
	.send-mail:hover {
		background-color: var(--color-primary-hover);
	}
	.contact-back:hover {
		opacity: 0.8;
	}
}

/* SP (<= 800px) */
@media (max-width: 800px) {
	.c-form {
		width: min(var(--width-max1120), 100% - 24px);
		margin: 2.5rem auto 5rem;
	}
	.c-form__row {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 1rem;
		margin-top: 1.5rem;
	}
	.c-form__row .c-form__title {
		justify-content: flex-start;
		gap: 16px;
		font-size: 1rem;
	}
	.c-form__row .c-form__title span {
		font-size: 0.85rem;
	}
	.c-form__row .c-form__label,
	.c-form__row .c-form__note {
		font-size: 0.85rem;
	}

	/* 入力パーツ共通 */
	.c-form__input,
	.c-form__select,
	.c-form__textarea {
		width: 100%;
		padding: 0.8rem;
		font-size: 1rem;
	}

	/* サイズ・種類別の調整 */
	.c-form__input,
	.c-form__select {
		height: 64px;
	}

	.c-form__input--md {
		max-width: 100%;
	}

	.c-form__select-wrapper {
		position: relative;
		max-width: 540px;
		width: 100%;
	}
	.c-form__select-wrapper::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 16px;
		transform: translateY(-50%);
		width: 10px;
		height: 6px;
		background-color: #3F4244;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		pointer-events: none;
	}
	/* textarea */
	.c-form__textarea {
		height: 16rem;
	}

	/* 同意書 */
	.c-form__consent {
		margin: 5rem auto 2.5rem;
		padding: 1.5rem;
		gap: 8px;
	}
	.c-form__consent .consent_text {
		font-size: 1rem;
	}
}

/* ==========================================================
   お問い合わせ完了画面 共通CSS
========================================================== */
.contact-thanks {
	width: min(var(--width-max1120), 100% - 80px);
	margin: 40px auto 64px;
	display: grid;
	gap: 16px;
}
.contact-thanks h4,
.contact-thanks p {
	margin-inline: 0;
	padding-inline: 0;
	max-width: 100%;
	width: 100%;
}
.contact-thanks h4 {
	color: var(--color-text-dark);
	text-align: center;
	font-size: 22px;
	font-weight: var(--font-weight-bold);
	line-height: 1.5;
}
.contact-thanks p {
	color: var(--color-text-dark);
	font-size: 18px;
	font-weight: var(--font-weight-medium);
	line-height: 1.8;
}
.contact-thanks p .btn-primary {
	width: 300px;
	margin: 32px auto 0;
}
/* SP (<= 800px) */
@media (max-width: 800px) {
	.contact-thanks {
		width: min(var(--width-max1120), 100% - 24px);
		margin: 2.5rem auto 5rem;
	}
}

/* ==========================================================================
   パートナーズクラブ > 登録フォーム CSS
========================================================================== */
.notice-box {
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 40px auto 64px;
	display: grid;
	gap: 16px;
  background-color: #F0F0F0;
  padding: 32px;
  width: 100%;
}
.notice-box .notice-box__lead {
  color: var(--textColor);
  font-size: 18px;
  font-weight: var(--font-weight-medium);
  line-height: 1.8;
  margin: 0;
}
.notice-box__list {
  margin: 0;
  padding: 0 0 0 1rem;
	list-style: disc;
}
.notice-box__item {
  color: var(--textColor);
  font-size: 16px;
  font-weight: var(--font-weight-medium);
  line-height: 2.025;
}
.notice-box__item + .notice-box__item {
  margin-top: 8px;
}

/* SP (<= 800px) */
@media (max-width: 800px) {
	.notice-box {
		max-width: min(var(--width-max1120), 100% - 24px);
		margin: 2.5rem auto 5rem;
		padding: 1.5rem;
	}
	.notice-box .notice-box__lead {
		font-size: 1rem;
	}
	.notice-box__item {
		font-size: 1rem;
	}
}

/* ==========================================================================
   会長挨拶
========================================================================== */
.entry-content .contents-message {
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 40px auto 64px;
	display: grid;
	grid-template-columns: 36% 1fr;
	gap: 16px;
  padding: 0;
  width: 100%;
}
.entry-content .contents-message figure {
	align-self: flex-start;
}
.entry-content .contents-message p {
	font-weight: var(--font-weight-regular);
	font-size: 18px;
	line-height: 1.8;
}
.entry-content .contents-message p.message-name {
	margin-top: 32px;
}
/* SP (<= 800px) */
@media (max-width: 800px) {
	.entry-content .contents-message {
		max-width: min(var(--width-max1120), 100% - 24px);
		margin: 2.5rem auto 5rem;
	}
	.entry-content .contents-message .wp-block-media-text__content {
		padding: 0;
	}
	.entry-content .contents-message p {
		font-size: 1.2rem;
	}
}

/* ==========================================================================
   進出企業事例
========================================================================== */
.support-nav {
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 40px auto 64px;
  background-color: #ACD8F0;
  padding: 32px;
  border-radius: 32px;
  width: 100%;
}
.support-nav .support-nav__inner {
	display: grid;
	grid-template-columns: 100%;
	gap: 32px 0;
  background: var(--color-white);
  padding: 48px;
  border-radius: 16px;
}
h3.support-nav__title {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #52798F;
  font-size: 40px;
  font-weight: var(--font-weight-medium);
  letter-spacing: 1.5;
  margin: 0;
	padding: 0;
}
.support-nav__title::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: #52798F;
  border-radius: 2px;
  flex-shrink: 0;
}

.support-nav__desc {
  color: var(--color-text-dark);
  font-size: 20px;
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  margin: 0;
}
/* Links */
.support-nav__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 32px;
  width: 100%;
}
.btn-support-nav {
	display: block;
	padding: 24px;
	border-radius: 8px;
	background: var(--color-primary);
	transition: 0.3s;
	position: relative;
}
.btn-support-nav::after {
	content: "";
	display: block;
	position: absolute;
	background: url(../img/icon_list.png)no-repeat;
	background-size: 400px 400px; 
  background-position: -350px 0;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	transition: 0.3s;
}
.btn-support-nav span {
	color: var(--color-white);
  font-weight: var(--font-weight-bold);
	font-size: 24px;
	letter-spacing: 0.48px;
}
@media (hover: hover) {
	.btn-support-nav:hover {
		background-color: var(--color-primary-hover);
	}
	.btn-support-nav:hover::after {
		right: 20px;
	}
}

/* 各事業者の活動事例 block表示 */
.case-card-list {
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 0 auto 120px;
}

.case-card-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 80px 59px;
	width: 100%;
	margin-bottom: 32px;
}
.case-card-grid .case-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 334px;
}
/* case-card > media */
.case-card .case-card__media {
  width: 100%;
  aspect-ratio: 16/9;
  margin: 0;
  background-color: var(--color-white);
  border-radius: 8px;
  overflow: hidden;
}
/* case-card > text */
.case-card .case-card__location {
  color: #8B8F91;
  font-size: 13px;
  font-weight: var(--font-weight-regular);
  line-height: 1.5;
}
.case-card .case-card__title {
  color: var(--color-text-dark);
  font-size: 18px;
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
  margin: 0;
	padding: 0;
}
.case-card .case-card__text{
  flex: 1;
  display: flex;
  flex-direction: column;
	color: var(--color-text-dark);
  font-size: 16px;
  font-weight: var(--font-weight-regular);
  line-height: 1.5;
  margin: 0;
	padding: 0 0 10px;
}
.case-card .btn-primary {
	max-width: 220px;
	margin: 0 auto;
	min-height: 50px;
}

.case-card.is-skeleton {
	pointer-events: none;
}

.case-card.is-skeleton .case-card__media,
.case-card.is-skeleton .case-card__location,
.case-card.is-skeleton .case-card__title,
.case-card.is-skeleton .case-card__text,
.case-card.is-skeleton .btn-primary {
	background: #e5e5e5;
	color: transparent;
	border-color: transparent;
}

.case-card.is-skeleton .case-card__media img {
	display: none;
}
.case-card.is-skeleton .case-card__media,
.case-card.is-skeleton .case-card__location,
.case-card.is-skeleton .case-card__title,
.case-card.is-skeleton .case-card__text,
.case-card.is-skeleton .btn-primary {
	position: relative;
	overflow: hidden;
}

.case-card.is-skeleton .case-card__media::after,
.case-card.is-skeleton .case-card__location::after,
.case-card.is-skeleton .case-card__title::after,
.case-card.is-skeleton .case-card__text::after,
.case-card.is-skeleton .btn-primary::after {
	content: "";
	position: absolute;
	inset: 0;
	transform: translateX(-100%);
	background: linear-gradient(
		90deg,
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,0.45) 50%,
		rgba(255,255,255,0) 100%
	);
	animation: caseCardSkeleton 1.2s infinite;
}

@keyframes caseCardSkeleton {
	100% {
		transform: translateX(100%);
	}
}





/* video-cluster   */
.video-cluster  {
	margin-top: 0;
}
.video-cluster  + .video-cluster  {
	margin: 88px auto;
}
.video-cluster .block-video {
	margin: 0;
}
.video-cluster .block-video p {
	color: var(--color-text-dark);
  font-size: 18px;
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
  margin: 0;
  padding: 10px 0 0;
}
/* SP (<= 900px) */
@media (max-width: 900px) {
	.case-card-grid .case-card {
		width: calc((100% - 59px)/2);
	}
}

/* SP (<= 800px) */
@media (max-width: 800px) {
	.support-nav {
		max-width: 100%;
		margin: 2rem auto 3rem;
		padding: 1rem;
		border-radius: 1rem;
	}
	.support-nav .support-nav__inner {
		gap: 2rem 0;
		padding: 1.5rem;
		border-radius: 0.5rem;
	}
	h3.support-nav__title {
		gap: 1rem;
		font-size: 1.75rem;
	}
	.support-nav__desc {
		font-size: 1rem;
	}
	/* Links */
	.btn-support-nav {
		padding: 1.25rem;
	}
	.btn-support-nav::after {
		right: 0.5rem;
	}
	.btn-support-nav span {
		font-size: 1.25rem;
		letter-spacing: 0;
	}

	/* 各事業者の活動事例 block表示 */
	.case-card-list {
		max-width: min(var(--width-max1120), 100% - 24px);
		margin: 2rem auto 3rem;
	}
	.case-card-grid {
		gap: 4rem 2rem;
	}
	.case-card-grid .case-card {
		width: 100%;
	}
	/* case-card > text */
	.case-card .case-card__location {
		font-size: 0.8rem;
	}
	.case-card .case-card__title {
		font-size: 1rem;
	}
	.case-card .case-card__text{
		font-size: 1rem;
	}

	.video-cluster  {
		gap: 5rem;
		margin-top: 0;
	}
	.video-cluster  + .video-cluster  {
		margin: 5rem auto;
	}
	.video-cluster .block-video p {
		font-size: 1rem;
		margin-top: -1rem;
	}
	.video-cluster .vp-center {
		height: auto;
	}
}


/* ==========================================================================
   TOPページ
========================================================================== */
/* ----- Hero ----- */
.hero {
  display: flex;
  justify-content: center;
  padding: 40px;
  width: 100%;
  box-sizing: border-box;
}
.hero__container {
  position: relative;
  width: 100%;  
  max-width: 2000px; 
  aspect-ratio: 1200 / 660; 
  max-height: 90vh;
  border-radius: 40px;
  overflow: hidden;
  background: var(--color-white);
}
.hero__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.hero__title {
  position: absolute;
  top: 50%;
  left: 60px;
  transform: translateY(-50%);
  margin: 0;
  z-index: 2;
  width: auto;
  max-width: 80%;
}
.hero__title-image {
  display: block;
  width: 100%;
  height: auto;
}
.hero__btn-video {
  position: absolute;
  right: 40px;
  bottom: 40px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 36px 16px 16px;
  background: rgba(39, 45, 51, 0.55);
  border: 1px solid var(--color-white);
  border-radius: 8px;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  text-decoration: none;
  transition: 0.2s ease;
}
.hero__btn-video::before {
	content: "";
	display: block;
	position: absolute;
	width: 20px;
	height: 20px;
	right: 16px;
	top: 12px;
	background: url(../img/icon-movie__btn.png)no-repeat center center / 20px 20px;
}
.hero__btn-text {
  color: var(--color-white);
  font-size: 16px;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}
@media (hover: hover) {
	.hero__btn-video:hover {
		background: rgba(32, 32, 32, 0.8);
	}
}

/* SP (<= 800px) */
@media (max-width: 800px) {
	.hero {
    padding: 24px 16px;
  }
  .hero__container {
    aspect-ratio: auto; 
		height: calc(100dvh - 120px); 
		max-height: 800px;
    border-radius: 24px;
  }
  .hero__title {
    left: 32px;
  }
  .hero__btn-video {
    right: 20px;
    bottom: 20px;
  }
}
/* SP (<= 576px) */
@media (max-width: 576px) {
	.hero__container {
    height: calc(100dvh - 120px); 
  }
  .hero__title {
    left: 20px;
    top: 40%;
  }
}

/* ----- TOP title ----- */
h2.top-title,
h3.top-title {
  display: grid;
	grid-template-columns: 8px 1fr;
  gap: 16px;
  color: #52798F;
  font-size: 40px;
  font-weight: var(--font-weight-medium);
  letter-spacing: 3px;
  margin: 0;
	padding: 0;
}
h2.top-title::before,
h3.top-title::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: #52798F;
  border-radius: 2px;
	margin-top: 27px;
}

/* ----- TOP strengths ----- */
.top-gni-strengths {
	padding: 120px 0 160px;
	border-radius: 64px 64px 0 0;
	background: linear-gradient(180deg, rgba(53, 187, 158, 0.70) 0%, rgba(68, 170, 192, 0.60) 50%, rgba(47, 158, 217, 0.60) 100%);
	position: relative;
	overflow: hidden;
}
.top-gni-strengths::before {
	content: "";
	display: block;
	background: url(../img/bg-gni-strengths.png)no-repeat top center;
	background-size: contain;
	width: 100%;
	aspect-ratio: 1/0.473;
	position: absolute;
	top: 300px;
	opacity: 0.7;
}
/* inner */
.top-gni-strengths-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	min-width: 100%;
}

/* top-gni-strengths-upper */
.top-gni-strengths-upper {
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 0 auto;
	padding: 80px 0;
	position: relative;
}
.top-gni-strengths-upper h3.wp-block-heading {
	color: var(--color-white);
	text-align: center;
	text-shadow: 0 0 10px rgba(15, 150, 141, 0.90);
	font-size: 45px;
	font-weight: var(--font-weight-bold);
	line-height: 1.66;
	margin: 0 0 32px 0 !important;
	width: 100%;
	max-width: 740px;
	position: relative;
	z-index: 14;
}
.top-gni-strengths-upper .p-lead {
	padding-bottom: 40px;
	width: 100%;
	max-width: 740px;
	margin-left: 0 !important;
	position: relative;
	z-index: 12;
}
.top-gni-strengths-upper  .top-btn-strengths {
	margin: 0 !important;
	width: 100%;
	max-width: 740px;
	position: relative;
	z-index: 13;
}
.top-gni-strengths-upper .btn--white {
	margin: 0 auto;
	max-width: 240px;
}
/* .top-gni-strengths-upper > catch */
.top-accent-catch {
  position: absolute;
  top: -80px;
  right: -50px;
  z-index: 10;
  width: 100%;
  max-width: 520px;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* accent > catch > linemap */
.top-linemap {
  position: relative;
  width: 100%;
}
/* accent > catch > circle */
.top-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 280px;
  margin-top: -150px;
  margin-left: -150px;
  z-index: 11;
  animation: rotateAnimation 40s linear infinite;
}
@keyframes rotateAnimation {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}


/* GDP */
.top-gni-gdp {
	width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 40px 0 0;
	margin: 80px auto 80px !important;
}
.top-gni-gdp .wp-block-image {
	width: 37.1%;
	max-width: 416px;
}
.top-gni-gdp .region-data {
	padding: 40px;
	border-radius: 16px;
	background: var(--color-white);
	width: 60.7%;
	max-width: 680px;
}
.top-gni-gdp .region-data__inner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	gap: 24px;
}
.top-gni-gdp .region-data__figure {
	grid-area: 1 / 2 / 2 / 3;
}
.top-gni-gdp .region-data__body {
	grid-area: 1 / 1 / 2 / 2;
}
.top-gni-gdp .region-data__notes {
	grid-area: 2 / 1 / 3 / 3;
}
.top-gni-gdp .region-data__stat-row {
	flex-flow: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 4px;
}

/* merit */
.top-merit-section {
  position: relative;
  width: 100%;
	max-width: 100%;
	margin: 0 auto;
  padding: 80px 0;
  overflow: hidden;
}

/* merit > background */
.top-merit-bg {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
}
.top-merit-bg__track {
  display: flex;
  width: max-content;
  animation: scrollLeft 40s linear infinite;
}
@keyframes scrollLeft {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.merit-bg__group {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-right: 16px;
}
.merit-bg__col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.merit-bg__img {
  border-radius: 8px;
  object-fit: cover;
  background-color: #D9D9D9;
}
.merit-bg__img--sm { width: 240px; height: 232px; }
.merit-bg__img--lg { width: 320px; height: 480px; }

/* merit > container */
.top-merit-container {
  position: relative;
  z-index: 2;
	width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-start;
}

/* merit > card */
.top-merit-card {
  width: 100%;
  max-width: 700px;
  background-color: var(--color-white);
  border-radius: 16px;
  padding: 64px 40px;
  box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.05);
}

.top-merit-card .merit-card__title {
  color: var(--color-primary);
  font-size: 32px;
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
  letter-spacing: 3.2px;
  margin: 0 0 32px;
  text-align: center;
}
/* merit > card > list */
.merit-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.merit-item {
	padding: 0;
  border-bottom: 1px solid #8B8F91;
}
.merit-item__link {
	display: flex;
	justify-content: space-between;
	gap: 16px 48px;
}
.merit-item__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
	max-width: 73.7%;
}
.merit-item__title {
  color: var(--color-text-dark);
  font-size: 19px;
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
  margin: 0;
}
.merit-item__text {
  color: var(--color-text-dark);
	font-size: 16px;
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
  margin: 0;
}
/* merit > card > link */
.merit-item__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px;
  color: var(--color-text-dark);
  font-size: 12px;
  font-weight: var(--font-weight-medium);
  flex-shrink: 0;
  transition: opacity 0.2s ease;
}
@media (hover: hover) {
	.merit-item__link:hover {
		opacity: 0.6;
	}
}
.merit-item__link::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid #52798F;
}

/* about */
.top-about-section {
  position: relative;
  display: flex;
  align-items: center;
	flex-wrap: wrap;
  gap: 60px;
  width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
  padding-bottom: 48px;
  margin: 280px auto 64px;
}

.top-about-section .top-about__title {
  color: #1AAEBF;
  font-size: 42px;
  font-family:var(--font-jp);
  font-weight: var(--font-weight-bold);
  line-height: 1.6;
  letter-spacing: 0.01em;
  margin: 0;
	width: 100%;
}

/* about > decor */
.top-about__decor {
  position: absolute;
  top: 7px;
  right: 60px;
  width: 416px;
  height: 491px;
  z-index: -1;
  pointer-events: none;
}
.top-about__decor .decor-ball {
  position: absolute;
  border-radius: 50%;
  opacity: 0.2;
  animation: float 8s ease-in-out infinite alternate;
}
.top-about__decor .decor-ball--yellow {
  width: 120px;
  height: 120px;
  left: 0;
  top: 0;
  background-color: #FFD22D;
  filter: blur(30px);
  animation-duration: 6s;
}
.top-about__decor .decor-ball--blue {
  width: 178px;
  height: 178px;
  left: 21px;
  top: 313px;
  background-color: #1AAEBF;
  filter: blur(30px);
  animation-delay: -2s;
  animation-duration: 9s;
}
.top-about__decor .decor-ball--gray {
  width: 306px;
  height: 306px;
  left: 110px;
  top: 127px;
  background-color: #C0C0C7;
  filter: blur(20px);
  animation-delay: -4s;
  animation-duration: 12s;
}
@keyframes float {
  0% { transform: translateY(0px) translateX(0px); }
  33% { transform: translateY(-15px) translateX(10px); }
  66% { transform: translateY(10px) translateX(-5px); }
  100% { transform: translateY(-5px) translateX(-15px); }
}

/* about > cando */
.top-about__cando {
  width: 55%;
  max-width: 580px;
}
/* about > text */
.top-about__cando .top-about__text {
  color: var(--color-text-dark);
  font-size: 18px;
  font-weight: var(--font-weight-regular);
  line-height: 2.66;
  letter-spacing: 0.028rem;
  margin: 0 0 40px;
}
.top-about__cando .btn-primary {
	width: 100%;
	max-width: 320px;
}

/* about > media */
.top-about__media {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
	width: 45%;
}

/* top startup-support */
.top-startup-support {
	margin-bottom: 160px;
}
.top-startup-support .top_startup-support__actions {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}
.top-startup-support .top_startup-support__actions .btn--white {
	max-width: 320px;
	margin: 0 auto;
}

/* case-studies */
.top-case-studies {
  background: #F0F3F5;
  padding: 120px 0;
  width: 100%;
}
.top-case-studies__inner {
  display: flex;
  align-items: flex-start;
  gap: 48px;
  width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 0 auto;
}
.top-case-studies__media {
  max-width: 480px;
	width: 45%;
  margin: 0;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
}

/* case-studies > content */
.top-case-studies__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 56px;
}
.top-case-studies__text {
  color: var(--color-text-dark);
  font-size: 18px;
  font-weight: var(--font-weight-regular);
  line-height: 1.77;
  letter-spacing: 0.01em;
  margin: 0;
  text-align: justify;
}
.top-case-studies__content .btn--white {
	width: 100%;
	max-width: 320px;
}

/* support */
.top-support-header {
	width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
	grid-template-columns: 1fr 50%;
	margin: 160px auto 64px;
}
.top-support-header .top-title {
	margin: 0 !important;
}
.top-support-header .p-lead {
	margin: 0 !important;
}

/* support */
.top-about {
  background-color: #F0F3F5;
  padding: 120px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  width: 100%;
	margin: 160px auto 0;
}
/* support > top-about__header-area */
.top-about__header-area {
  display: flex;
  align-items: center;
  gap: 48px;
  width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
}
.top-about__media {
  width: 480px;
  margin: 0;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
}
.top-about__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.top-about__text {
  color: var(--color-text-dark);
  font-size: 18px;
  font-weight: var(--font-weight-regular);
  line-height: 1.77;
  letter-spacing: 0.018rem;
  margin: 0;
  text-align: justify;
}

/* support > top-about__cards */
.top-about__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
}
.top-about-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
  padding: 16px;
  background-color: var(--color-white);
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.top-about-card__header {
  display: flex;
  flex-direction: column;
	flex-grow: 1;
}
.top-about-card__title {
  color: var(--color-text-dark);
  font-size: 18px;
  font-weight: var(--font-weight-bold);
  line-height: 1.77;
  letter-spacing: 0.018rem;
  margin: 0;
  text-align: justify;
}
.top-about-card__media {
  width: 100%;
  height: 121px;
  overflow: hidden;
  margin: 0;
}

@media (hover: hover) {
	.top-about-card:hover {
		box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.25);
		transform: translateY(-4px);
	}
}

/* top-partners */
.top-partners-club {
  background-color: rgba(233, 237, 240, 0.7);
  padding: 120px 0 160px;
  width: 100%;
}

.top-partners-club__inner {
  display: flex;
  align-items: flex-start;
  gap: 48px;
  width: 100%;
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 0 auto;
}
.top-partners-club__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.top-partners-club__text {
  color: var(--color-text-dark);
  font-size: 18px;
  font-weight: var(--font-weight-regular);
  line-height: 1.77;
  letter-spacing: 0.018rem;
  margin: 0;
}
/* top-partners > link */
.top-partners-club__links {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.top-link-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  padding: 24px;
  background: var(--color-white);
  border: 1px solid #C0C0C7;
  text-decoration: none;
  box-sizing: border-box;
  transition: opacity 0.2s ease, background-color 0.2s ease;
}
@media (hover: hover) {
	.top-link-card:hover {
		opacity: 0.8;
		background: #F8F8F8;
	}
}

.top-link-card__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.top-link-card__title {
  color: var(--color-text-dark);
  font-size: 20px;
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
  margin: 0;
}
.top-link-card__text {
  color: var(--color-text-dark);
  font-size: 16px;
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
  margin: 0;
}
.top-link-card::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid #3F4244;
  flex-shrink: 0;
  margin-left: 16px;
}

.top-partners-club__media {
  width: 480px;
  height: 556px;
  margin: 0;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
}

/* SP (<= 800px) */
@media (max-width: 800px) {
	h2.top-title,
	h3.top-title {
		font-size: 2rem;
	}
	/* top-gni-strengths */
	.top-gni-strengths {
		padding: 5rem 0 12rem;
		border-radius: 3rem 3rem 0 0;
	}
	.top-gni-strengths::before {
		top: 10rem;
	}
	/* title */
	.top-gni-strengths h3.wp-block-heading {
		font-size: 2rem;
		margin: 0 auto 1.5rem;
		width: 80%;
		min-width: 80%;
	}
	/* read */
	.top-gni-strengths .p-lead {
		padding-bottom: 2rem;
	}
	.top-gni-strengths .p-lead .p-lead__text {
		font-size: 1rem;
	}
	/* btn */
	.top-gni-strengths .btn--white {
		max-width: 90%;
	}
	/* GDP */
	.top-gni-gdp {
		flex-flow: column;
		max-width: min(var(--width-max1120), 100% - 24px);
		padding: 2rem 0 0;
		margin: 0 auto 6rem !important;
	}
	.top-gni-gdp .wp-block-image {
		width: 90%;
		max-width: 600px;
	}
	.top-gni-gdp .region-data {
		padding: 2rem;
		width: 90%;
		max-width: 600px;
	}
	.top-gni-gdp .region-data__inner {
		grid-template-columns: repeat(1, 1fr);
		gap: 24px;
	}
	.top-gni-gdp .region-data__figure {
		grid-area: 2 / 1 / 3 / 2;
	}
	.top-gni-gdp .region-data__body {
		grid-area: 1 / 1 / 2 / 2;
	}
	.top-gni-gdp .region-data__notes {
		grid-area: 3 / 1 / 4 / 2;
	}

	/* merit */
	.top-merit-section {
		padding: 0 0;
	}
	/* merit > background */
	.top-merit-bg {
		position: static;
		top: 0;
		left: 0;
		width: 100%;
		transform: translateY(0);
	}
	.merit-bg__img--sm { width: 216px; height: 209px; }
	.merit-bg__img--lg { width: 288px; height: 434px; }

	/* merit > container */
  .top-merit-container {
		max-width: min(var(--width-max1120), 100% - 24px);
		padding: 0 24px;
		margin-top: 2rem;
	}
  .top-merit-card {
		border-radius: 1rem;
		padding: 1.5rem;
	}
  .top-merit-card .merit-card__title {
		font-size: 1.5rem;
		letter-spacing: 0.05em;
		margin: 0 0 1.5rem;
	}
	/* merit > card > list */
  .merit-item__link {
    flex-direction: column;
    align-items: flex-start;
		gap: 1rem;
		padding: 0.5rem;
  }
	.merit-item__link::after {
		display: none;
	}
	.merit-item__content {
		max-width: 100%;
	}
	.merit-item__title {
		font-size: 1.1rem;
	}
	.merit-item__text {
		font-size: 1rem;
	}
	.merit-item__more {
		display: flex;
		align-items: center;
		gap: 1rem;
		justify-content: flex-end;
		text-align: right;
		width: 100%;
	}
	.merit-item__more::after {
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-top: 4px solid transparent;
		border-bottom: 4px solid transparent;
		border-left: 6px solid #52798F;
	}
	/* accent */
	.top-accent-section {
		min-height: 340px;
		margin-bottom: 7.5rem;
	}
	.top-accent-bg {
		height: 340px;
	}
	/* accent > catch */
	.top-accent-catch {
		top: -5.5rem;
		max-width: 18.75rem;
	}
	/* accent > catch > linemap */
	.top-linemap {
		width: 95%;
	}
	/* accent > catch > circle */
	.top-circle {
		width: 200px;
		margin-top: -100px;
		margin-left: -100px;
	}
	/* about */
	.top-about-section {
		flex-flow: column;
		align-items: flex-start;
		gap: 3rem;
		max-width: min(var(--width-max1120), 100% - 24px);
		padding-bottom: 0;
		margin: 7.5rem auto 6rem;
	}
	/* about > decor */
	.top-about__decor {
		right: 0;
		width: 100dvh;
		height: 600px;
		z-index: -1;
	}
	/* about > cando */
	.top-about__cando {
		gap: 1rem;
		width: 100%;
		max-width: 100%;
	}
	.top-about__title {
		font-size: 2rem;
		letter-spacing: 2px;
		margin: 0 0 0;
	}
	/* about > text */
	.top-about__cando .top-about__text {
		font-size: 1rem;
		line-height: 2;
		margin: 0 0 0;
	}
	.top-about__cando .btn-primary {
		width: 100%;
		max-width: 100%;
	}
	/* about > media */
	.top-about__media {
		margin: 0 auto;
		width: 45%;
	}

	/* top startup-support */
	.top-startup-support {
		margin-bottom: 5rem;
	}
	/* case-studies */
	.top-case-studies {
		padding: 4rem 0;
	}
	.top-case-studies__inner {
		flex-flow: column;
		gap: 1.5rem;
		max-width: min(var(--width-max1120), 100% - 24px);
	}
	.top-case-studies__media {
		max-width: 100%;
		width: 100%;
		order: 2;
	}
	/* case-studies > content */
	.top-case-studies__content {
		gap: 1.5rem;
		order: 1;
	}
	.top-case-studies__text {
		font-size: 1rem;
	}
	.top-case-studies__content .btn--white {
		max-width: 100%;
	}
	/* support > header */
	.top-support-header {
		max-width: min(var(--width-max1120), 100% - 24px);
		grid-template-columns: repeat(1, 1fr);
		margin: 6rem auto 0;
	}
	.top-support-header .top-title {
		margin: 0 !important;
	}
	.top-support-header .p-lead {
		margin: 0 !important;
	}
	/* about */
	.top-about {
		padding: 4rem 0;
		gap: 1rem;
		margin: 6rem auto 0;
	}
	/* about > top-about__header-area */
	.top-about__header-area {
		flex-flow: column;
		gap: 0.5rem;
		max-width: min(var(--width-max1120), 100% - 24px);
	}
	.top-about__media {
		width: 80%;
		margin: 0 auto;
		order: 2;
	}
	.top-about__content {
		flex: 1;
		gap: 2rem;
		width: 100%;
		order: 1;
	}
	.top-about__text {
		font-size: 1rem;
	}
	/* support > top-about__cards */
	.top-about__cards {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0.5rem;
		max-width: min(var(--width-max1120), 100% - 24px);
	}
	.top-about-card {
		display: flex;
		gap: 8px;
		padding: 1rem;
		border-radius: 1rem;
	}
	.top-about-card__title {
		font-size: 1rem;
		letter-spacing: 0;
	}
	.top-about-card__media {
		width: 100%;
		height: auto;
		overflow: hidden;
		margin: 0;
	}

	/* top-partners */
	.top-partners-club {
		padding: 4rem 0;
		width: 100%;
	}
	.top-partners-club__inner {
		display: flex;
		flex-flow: column;
		align-items: flex-start;
		gap: 1rem;
		width: 100%;
		max-width: min(var(--width-max1120), 100% - 24px);
	}
	.top-partners-club__content {
		gap: 1rem;
	}
	.top-partners-club__text {
		font-size: 1rem;
		letter-spacing: 0;
	}
	.top-partners-club__text br {
		display: none;
	}
	/* top-partners > link */
	.top-partners-club__links {
		gap: 1rem;
	}
	.top-link-card {
		gap: 2rem;
		padding: 1rem;
	}

	.top-link-card__title {
		font-size: 1.125rem;
	}
	.top-link-card__text {
		font-size: 1rem;
	}
	.top-partners-club__media {
		width: 60%;
		height: auto;
		margin: 0 auto;
	}
}

/* ==========================================================================
   News
========================================================================== */
/* 新着・カテゴリーソート */
.news-sort {
	display: flex;
	gap: 10px;
	margin: 80px auto 0;
}
.news-sort a {
	color: var(--color-text-dark);
	text-align: center;
	font-family: var(--font-jp);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
	line-height: 2.14;
	display: flex;
	width: fit-content;
	min-width: 150px;
	padding: 8px 16px;
	justify-content: center;
	align-items: center;
	border-radius: 8px;
	border: 1px solid #8B8F91;
	background: var(--color-white);
	transition: 0.2s ease;
}
.news-sort a.is-active {
	color: var(--color-white);
	background: var(--color-accent);
	border: 1px solid var(--color-accent);
}

/* 一覧 */
.page-news-list {
	display: flex;
	flex-flow: column;
	gap: 42px;
	margin: 32px auto 0;
}
.page-news-list .news-card {
	display: block;
	transition: all 0.4s ease;
  padding: 16px 24px;
  background: var(--color-white);
  border-radius: 16px;
  border: 1px solid var(--color-sep);
}
.page-news-list .news-card__inner {
	width: 100%;
}
.page-news-list .news-card__category {
	display: block;
  color: var(--color-text-dark);
  font-size: 14px;
  font-weight: var(--font-weight-medium);
  margin-bottom: 16px;
}
.page-news-list .news-card__title {
  color: #000000;
  font-size: 18px;
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
  margin: 0 0 16px;
	padding: 0;
}
.page-news-list .news-card__date {
  color: var(--color-text-dark);
  font-size: 14px;
  font-weight: var(--font-weight-regular);
  display: block;
}

/* 記事詳細 */
.news-post-contents h2.news-post-title {
	width: 100%;
}
.news-post-contents .post-content {
	color: var(--color-text-dark);
	line-height: 1.8;
	font-size: 18px;
	font-weight: var(--font-weight-medium);
	margin: 0 auto 120px;
}
.news-post-contents .post-content a {
	color: var(--color-primary-hover);
	text-decoration: underline;
}
.news-single__meta {
	display: flex;
	gap: 32px;
	background:#E0E7EB;
	border-radius: 8px;
	padding: 8px 32px;
	margin-bottom: 32px;
	color: var(--color-text-dark);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
}
.post-pagination__list {
	display: grid;
	grid-template-columns: 1fr 200px 1fr;
	gap: 64px;
	justify-content: center;
	align-items: stretch;
}
.post-pagination__list .post-pagination__item a {
	color: var(--color-text);
	font-family: var(--font-jp);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
	display: flex;
	justify-content: center;
	flex-flow: column;
	width: 100%;
	height: 100%;
	border: 1px solid var(--color-sep);
	padding: 16px;
	border-radius: 16px;
	transition: 0.2s ease;
}
.post-pagination__list .post-pagination__item--backpage a {
	align-items: center;
}

@media (hover: hover) {
	.news-sort a:hover {
		color: var(--color-white);
		background: var(--color-accent);
		border: 1px solid var(--color-accent);
	}
	.page-news-list .news-card:hover {
		border: 1px solid var(--color-white);
		box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
	}
	.post-pagination__list .post-pagination__item a:hover {
		color: var(--color-white);
		border: 1px solid var(--color-primary-hover);
		background: var(--color-primary-hover);
	}
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.news-sort {
		flex-wrap: wrap;
		margin: 1rem auto 0;
	}
	.news-sort a {
		font-size: 0.81rem;
		width: fit-content;
		min-width: fit-content;
		padding: 8px 16px;
	}

	/* 一覧 */
	.page-news-list {
		gap: 2rem;
	}
	.page-news-list .news-card {
		padding: 1rem 1.5rem;
		border-radius: 0.75rem;
	}
	/* 記事詳細 */
	.news-post-contents .post-content {
		line-height: 1.8;
		font-size: 1rem;
		margin: 0 auto 7.5rem;
		overflow-wrap: anywhere;
		word-break: normal;
	}
	.news-single__meta {
		gap: 1rem;
		padding: 0.5rem;
		margin-bottom: 2.5rem;
	}
	.post-pagination__list {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		gap: 1.5rem;
		width: min(var(--width-max1120), 100% - 24px);
		margin: 0 auto;
	}
	.post-pagination__list .post-pagination__item a {
		padding: 1.5rem 1rem;
		border-radius: 0.8rem;
	}
}

/* ==========================================================================
   活動内容・広報PR資料
========================================================================== */
.pr-activity {
	margin: 0 auto 80px;
}
.pr-activity .l-stack {
	grid-template-rows: min-content;
}
.pr-activity h4 {
	padding: 0 0 8px;
	margin-bottom: 16px;
	font-size: 26px;
	width: 100%;
	border-bottom: 1px solid var(--color-border);
}
.pr-activity .p-lead {
	width: 100%;
	padding-bottom: 0;
}
.pr-activity .p-lead .p-lead__text {
	font-size: 16px;
}
.pr-activity .pr-activity-images {
	display: grid;
	grid-template-columns: repeat(2, 47%);
	gap: 6%;
}
.pr-activity .pr-activity-images .wp-block-image {
	margin: 0;
	padding: 0;
}

.new-post-btn {
	max-width: 400px;
	margin: 32px auto;
}

.pr-network .link-card {
	min-width: min(var(--width-max1120), 100% - 80px);
}
.pr-network .link-card__list {
	grid-template-columns: repeat(2, 1fr);
}

.pr-public-relations {
	margin: 0 auto 80px;
}
.pr-public-relations .l-stack {
	grid-template-rows: min-content;
	margin: 0 !important;
	padding: 0;
	grid-template-columns: 1fr;
	width: 100%;
}
.pr-public-relations .l-stack .is-type-video {
	margin: 0 !important;
}
.pr-public-relations h4 {
	padding: 0 0 8px;
	margin-bottom: 0;
	font-size: 26px;
	width: 100%;
}
.pr-public-relations p {
	color: var(--color-text);
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	margin: 0;
	width: 100%;
}

.pr-brochure-list {
	margin: 0 auto 0;
}
.pr-brochure-list .l-stack {
	grid-template-rows: min-content;
}
.pr-brochure-list figure.wp-block-image.size-full {
	width: 100%;
}
.pr-brochure-list .wp-block-image img {
	width: 100%;
	height: auto;
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.pr-activity {
		margin: 0 auto 5rem;
		gap: 5rem;
	}
	.pr-activity .l-stack {
		gap: 1rem;
	}
	.pr-activity h4 {
		margin-bottom: 0.5rem;
		font-size: 1.2rem;
	}
	.pr-activity .p-lead .p-lead__text {
		font-size: 1rem;
	}
	.pr-activity .pr-activity-images {
		margin-top: 0;
	}
	.pr-network .link-card {
		min-width: min(var(--width-max1120), 100% - 24px);
	}

	.pr-public-relations {
		margin: 0 auto 5rem;
		gap: 5rem;
	}
	.pr-public-relations .l-stack {
		gap: 1rem;
	}
	.pr-public-relations .l-stack .is-type-video {
		margin-top: 0;
	}
	.pr-public-relations h4 {
		font-size: 1.2rem;
	}
	.pr-public-relations p {
		font-size: 1rem;
	}
	.pr-network .link-card__list {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   アクセス
========================================================================== */
.access-map {
	margin: 0 auto 30px;
	width: min(var(--width-max1120), 100% - 80px);
	position: relative;
	padding-top: 56.25%;
	height: 0;
}
.access-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.access-map {
		margin: 0 auto 2rem;
		width: min(var(--width-max1120), 100% - 24px);
	}
}

/* ==========================================================================
   MARGIN
========================================================================== */
.mb-120 {
	margin-bottom: 120px !important;
}
.mb-64 {
	margin-bottom: 64px !important;
}
.entry-content .mt-64,
.mt-64 {
	margin-top: 64px !important;
}
.entry-content .mt-120,
.mt-120 {
	margin-top: 120px !important;
}
.entry-content .mt-220,
.mt-220 {
	margin-top: 220px !important;
}

/* ==========================================================================
   list 
========================================================================== */
.list-numbers {
	counter-reset: li-count;
  list-style: none;
  padding: 0;
	width: min(var(--width-max1120), 100% - 80px);
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 0 auto;
}
.list-numbers > li {
	color: var(--color-text-dark);
	font-weight: var(--font-weight-regular);
	font-size: 20px;
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 1rem;
  counter-increment: li-count;
}
.list-numbers > li::before {
  content: counter(li-count) ".";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-text-dark);
	font-family: var(--font-en);
	font-weight: var(--font-weight-regular);
	font-size: 20px;
}
/*alpha*/
.list-alpha {
	counter-reset: alpha-count;
  list-style: none;
  padding: 0;
	width: min(var(--width-max1120), 100% - 80px);
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 0 auto;
}
.list-alpha > li {
	color: var(--color-text-dark);
	font-weight: var(--font-weight-regular);
	font-size: 20px;
  position: relative;
  padding-left: 2rem;
  margin-bottom: 1rem;
  counter-increment: alpha-count;
}
.list-alpha > li::before {
  content: "(" counter(alpha-count, lower-latin) ")";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-text-dark);
	font-family: var(--font-en);
	font-weight: var(--font-weight-regular);
	font-size: 20px;
}

/*roman*/
.list-roman {
	counter-reset: roman-count;
  list-style: none;
  padding: 0;
	width: min(var(--width-max1120), 100% - 80px);
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 0 auto;
}
.list-roman > li {
	color: var(--color-text-dark);
	font-weight: var(--font-weight-regular);
	font-size: 20px;
  position: relative;
  padding-left: 2.5rem;
  margin-bottom: 1rem;
  counter-increment: roman-count;
}
.list-roman > li::before {
	content: "(" counter(roman-count, lower-roman) ")";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-text-dark);
	font-family: var(--font-en);
	font-weight: var(--font-weight-regular);
	font-size: 20px;
}

/*circle*/
.list-circle {
  list-style: none;
  padding: 0;
	width: min(var(--width-max1120), 100% - 80px);
	max-width: min(var(--width-max1120), 100% - 80px);
	margin: 0 auto;
}
.list-circle li {
  color: var(--color-text-dark);
	font-weight: var(--font-weight-regular);
	font-size: 20px;
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}

.list-circle li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-text-dark);
	font-family: var(--font-en);
	font-weight: var(--font-weight-regular);
	font-size: 20px;
}


/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.list-numbers,
	.list-alpha,
	.list-roman,
	.list-circle {
		width: min(var(--width-max1120), 100% - 24px);
		max-width: min(var(--width-max1120), 100% - 24px);
	}
	.list-numbers li,
	.list-alpha li,
	.list-roman li,
	.list-circle li {
		font-size: 1rem;
	}
	.list-numbers li::before,
	.list-alpha li::before,
	.list-roman li::before,
	.list-circle li::before {
		font-size: 1rem;
	}
}

/* ==========================================================================
   WIDTH
========================================================================== */
.w-1120 {
	width: min(var(--width-max1120), 100% - 80px);
	max-width: min(var(--width-max1120), 100% - 80px);
	margin-inline: auto !important;
}

/* SP (<= 800px) */
@media screen and (max-width: 800px) {
	.w-1120 {
		width: min(var(--width-max1120), 100% - 24px);
		max-width: min(var(--width-max1120), 100% - 24px);
	}
}

/* ==========================================================================
   スクロールフェードイン
========================================================================== */
.js-fadein {
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.js-fadein.is-prepared {
  opacity: 0;
  transform: translateY(24px);
  will-change: opacity, transform;
}

.js-fadein.is-inview {
  opacity: 1;
  transform: translateY(0);
}