/*============================
#fv
============================*/
section#fv.fv {
	padding-top: min(100vw / 750 * 16, 16px);
	padding-bottom: min(100vw / 750 * 40, 40px);
}

section#fv.fv div.fv__container.container {
	max-width: 1286px;
	position: relative;
	padding-bottom: min(100vw / 750 * 80, 80px);
}

section#fv.fv div.fv__container.container video {
	border-radius: min(100vw / 750 * 40, 40px) min(100vw / 750 * 40, 40px) 0 0;
	overflow: hidden;
	object-fit: contain;
	background: #000;
	aspect-ratio: 16 / 9;
}

section#fv.fv div.fv__container.container div.fv__body {
	position: absolute;
	right: 0;
	bottom: 0;
	background: var(--bgcolor-primary);
	border-radius: min(100vw / 750 * 40, 40px) 0 0 0;
	padding: min(100vw / 750 * 24, 24px) 0 0 min(100vw / 750 * 24, 24px);
	font-weight: 600;
	display: flex;
	width: fit-content;
	justify-content: flex-end;
	max-width: min(100vw / 750 * 816, 816px);
	gap: min(100vw / 750 * 40, 40px);
	align-items: center;
	font-size: clamp(16px, 100vw / 750 * 20, 20px);
	line-height: 200%;
}
section#fv.fv div.fv__container.container div.fv__body div.body__text {
	flex: 0 1 min(100vw / 750 * 376, 376px);
	text-align: justify;
}
@media screen and (max-width: 1024px) {
	section#fv.fv div.fv__container.container {
		padding-bottom: min(100vw / 750 * 40, 40px);
	}
	section#fv.fv div.fv__container.container video {
		border-radius: min(100vw / 750 * 40, 40px);
	}
	section#fv.fv div.fv__container.container div.fv__body {
		position: relative;
		width: 100%;
		max-width: none;
		display: flex;
		flex-wrap: wrap;
	}
	section#fv.fv div.fv__container.container div.fv__body div.body__text {
		flex-grow: 1;
	}
}

section#fv.fv div.fv__container.container div.fv__body ul.fv__cta {
	display: flex;
	flex-direction: column;
	flex: 1 1 min(100vw / 750 * 376, 376px);
	gap: min(100vw / 750 * 8, 8px);
	align-items: center;
}

section#fv.fv div.fv__container.container div.fv__body ul.fv__cta.button li {
}

section#fv.fv div.fv__container.container div.fv__body ul.fv__cta.button li a {
	width: 18em;
}

section#fv.fv
	div.fv__container.container
	div.fv__body
	ul.fv__cta.button
	li
	a.button-color2
	span.material-symbols-rounded {
}

section#fv.fv div.fv__container.container div.fv__body ul.fv__cta.button li a.button-color1 {
}

section#fv.fv div.fv__container.container div.fv__body ul.fv__cta li a span.material-symbols-rounded {
	font-size: calc(1em / 16 * 24);
}

/*============================
#logo-slider
============================*/
section#logo-slider.logo-slider {
	padding: min(100vw / 750 * 20, 20px) 0;
	background: #fff;
}

section#logo-slider.logo-slider div.logo-slider__container.container {
	width: 100%;
	max-width: none;
}

section#logo-slider.logo-slider div.logo-slider__container.container div.logo-slider__body {
}

/*============================
#core-business
============================*/
section#core-business.core-business {
}

section#core-business.core-business div.core-business__container.container {
	max-width: calc(1366px - 160px);
}

h2 {
	margin-bottom: 1em;
}

h2 .en {
	color: var(--text-color-accent);
	font-family: "Archivo Black", sans-serif;
	font-size: min(100vw / 750 * 96, 120px);
	display: block;
	line-height: 100%;
}

section#core-business.core-business div.core-business__container.container div.core-business__body {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100vw / 375 * 240, 240px), 1fr));
	gap: min(100vw / 750 * 24, 24px);
	margin-top: min(100vw / 750 * 56, 56px);
}

section#core-business.core-business div.core-business__container.container div.core-business__body div.body__unit {
	border-radius: min(100vw / 750 * 24, 24px);
	background-size: cover;
	background-position: center center;
	text-align: justify;
}

section#core-business.core-business div.core-business__container.container div.core-business__body div.body__unit a {
	min-height: min(100vw / 750 * 560, 560px);
	width: 100%;
	text-decoration: none;
	border-radius: min(100vw / 750 * 24, 24px);
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 28%, rgba(0, 0, 0, 0.8) 80%);
	padding: min(100vw / 750 * 24, 24px);
	display: grid;
	align-content: end;
}

section#core-business.core-business div.core-business__container.container div.core-business__body div.body__unit a h3 {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: bold;
	color: var(--text-color-accent);
}

section#core-business.core-business
	div.core-business__container.container
	div.core-business__body
	div.body__unit
	a
	div.unit__description {
	font-size: var(--wp--preset--font-size--small);
	line-height: var(--wp--preset--line-height--small);
	color: #fff;
}

section#core-business.core-business
	div.core-business__container.container
	div.core-business__body
	div.body__unit
	a
	div.unit__description
	p {
}

/*============================
#works
============================*/
section#works.works {
}

section#works.works div.works__container.container {
	max-width: calc(1366px - 160px);
}

section#works.works div.works__container.container h2 {
}

section#works.works div.works__container.container h2 span.en {
}

section#works.works div.works__container.container div.works__body {
	display: grid;
	padding-top: min(100vw / 750 * 56, 56px);
	gap: min(100vw / 750 * 24, 24px);
	grid-template-columns: repeat(auto-fill, minmax(min(100vw / 375 * 320, 320px), 1fr));
}

section#works.works div.works__container.container div.works__button {
	margin-top: min(100vw / 750 * 40, 40px);
	display: flex;
	justify-content: flex-end;
}

/*============================
#testimonial
============================*/
section#testimonial.testimonial {
}

section#testimonial.testimonial div.testimonial__container.container {
}

section#testimonial.testimonial div.testimonial__container.container h2 {
}

section#testimonial.testimonial div.testimonial__container.container h2 span.en {
}

section#testimonial.testimonial div.testimonial__body {
}

section#testimonial.testimonial div.testimonial__body div.swiper-container {
	width: 100%;
	overflow: hidden;
	margin-top: min(100vw / 750 * 56, 56px);
}

section#testimonial.testimonial div.testimonial__body div.swiper-container div.swiper-wrapper {
}

section#testimonial.testimonial div.testimonial__body div.swiper-container div.swiper-wrapper div.swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
}

section#testimonial.testimonial
	div.testimonial__body
	div.swiper-container
	div.swiper-wrapper
	div.swiper-slide
	div.testimonial-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 1em;
}

section#testimonial.testimonial
	div.testimonial__body
	div.swiper-container
	div.swiper-wrapper
	div.swiper-slide
	div.testimonial-item
	div.testimonial-image {
}

section#testimonial.testimonial
	div.testimonial__body
	div.swiper-container
	div.swiper-wrapper
	div.swiper-slide
	div.testimonial-item
	div.testimonial-image
	img {
	width: clamp(160px, 100vw / 1024 * 200, 240px);
	height: clamp(160px, 100vw / 1024 * 200, 240px);
	border-radius: 1000px;
	object-fit: cover;
}

section#testimonial.testimonial
	div.testimonial__body
	div.swiper-container
	div.swiper-wrapper
	div.swiper-slide
	div.testimonial-item
	div.testimonial-title {
	margin-top: calc(1em / 18 * 32);
	text-align: left;
	width: 100%;
	font-weight: 800;
}

section#testimonial.testimonial
	div.testimonial__body
	div.swiper-container
	div.swiper-wrapper
	div.swiper-slide
	div.testimonial-item
	div.testimonial-content {
	font-size: var(--wp--preset--font-size--small);
	margin-top: 1em;
}

section#testimonial.testimonial
	div.testimonial__body
	div.swiper-container
	div.swiper-wrapper
	div.swiper-slide
	div.testimonial-item
	div.testimonial-content
	p:nth-of-type(1) {
	margin-top: 0;
}

section#testimonial.testimonial div.testimonial__body div.swiper-container div.testimonial__navigation.container {
	display: flex;
	justify-content: right;
	margin-top: min(100vw / 750 * 40, 40px);
	gap: min(100vw / 750 * 24, 24px);
}

section#testimonial.testimonial
	div.testimonial__body
	div.swiper-container
	div.testimonial__navigation.container
	:is(div.swiper-button-prev, div.swiper-button-next) {
	color: #fff;
	/* ボタンの色を指定 */
	position: relative;
	left: auto;
	right: auto;
	top: auto;
	bottom: auto;
	background: var(--text-color-accent);
	width: min(100vw / 750 * 56, 56px);
	height: min(100vw / 750 * 56, 56px);
	display: flex;
	text-align: center;
	border-radius: 1000px;
	margin-top: 0;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after,
.swiper-button-next:after,
.swiper-button-prev:after {
	font-size: min(100vw / 750 * 32, 32px);
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
	transform: translateX(-5%);
}

.swiper-button-next:after,
.swiper-button-prev:after {
	transform: translateX(5%);
}

/*============================
#news
============================*/
section#news.news {
	background-color: var(--bgcolor-secondary);
}

section#news.news div.news__container.container {
	max-width: calc(1366px - 160px);
}

section#news.news div.news__container.container h2 {
}

section#news.news div.news__container.container h2 span.en {
}

section#news.news div.news__container.container div.news__body {
	display: grid;
	padding-top: min(100vw / 750 * 56, 56px);
	gap: min(100vw / 750 * 24, 24px);
	grid-template-columns: repeat(auto-fill, minmax(min(100vw / 375 * 320, 320px), 1fr));
}

section#news.news div.news__container.container div.news__button {
	margin-top: min(100vw / 750 * 40, 40px);
	display: flex;
	justify-content: flex-end;
}

article {
	max-width: none;
	width: 100%;
}
article h2 {
	margin-top: calc(1em / 32 * 24);
}

article img {
	border-radius: min(100vw / 750 * 16, 16px);
	object-fit: cover;
}

body article section > .wp-block-columns {
	max-width: calc(1366px - 160px);
	gap: min(100vw / 750 * 64, 64px);
	width: calc(100% - min(100vw / 750 * 80, 80px));
}

body article figure {
	height: 100%;
	display: flex;
}
body article .lin-height-100 {
	line-height: 100%;
}

/*============================
#download
============================*/
section#download.download {
	border-radius: min(100vw / 750 * 40, 40px) min(100vw / 750 * 40, 40px) 0 0;
	position: relative;
	background: var(--bgcolor-primary);
}

section#download.download:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background: var(--bgcolor-dark);
}
section#download.download div.download__container.container {
}
section#download.download div.download__container.container div.download__body {
	display: flex;
	gap: min(100vw / 750 * 80, 80px);
	flex-wrap: wrap;
}
section#download.download div.download__container.container div.download__body div.body__text {
	flex: 1 1 440px;
}
section#download.download div.download__container.container div.download__body div.body__text h2 {
}
section#download.download div.download__container.container div.download__body div.body__text h2 span.en {
	font-size: clamp(min(80px, 80 / 375 * 100vw / 2.6 + 9px), 80 / 1366 * 100vw, 80px / 1366 * 1536);
}
section#download.download div.download__container.container div.download__body div.body__text h3 {
}
section#download.download div.download__container.container div.download__body div.body__text p {
}
section#download.download div.download__container.container div.download__body div.body__form {
	flex: 1 1 520px;
}

.wpforms-field-label:has(.wpforms-required-label):before {
	content: "必須";
	border-radius: min(100vw / 750 * 2, 2px);
	background: var(--text-color-emphasis);
	padding: min(100vw / 750 * 2, 2px) min(100vw / 750 * 4, 4px);
	color: #fff;
	font-size: var(--wp--preset--font-size--xxsmall);
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 12px */
	display: inline-block;
	margin-right: 1em;
}
.wpforms-field-label span.wpforms-required-label {
	display: none;
}

body div.wpforms-container-full input[type="submit"]:not(:hover):not(:active),
body div.wpforms-container-full button[type="submit"]:not(:hover):not(:active),
body div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active),
body .wp-core-ui div.wpforms-container-full input[type="submit"]:not(:hover):not(:active),
body .wp-core-ui div.wpforms-container-full button[type="submit"]:not(:hover):not(:active),
body .wp-core-ui div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active) {
	background: var(--button1-bgcolor);
	color: var(--button1-text-color);
	border-radius: 10000px;
	margin-inline: auto;
	display: block;
}

body div.wpforms-container-full input[type="submit"]:hover,
body div.wpforms-container-full input[type="submit"]:active,
body div.wpforms-container-full button[type="submit"]:hover,
body div.wpforms-container-full button[type="submit"]:active,
body div.wpforms-container-full .wpforms-page-button:hover,
body div.wpforms-container-full .wpforms-page-button:active,
body .wp-core-ui div.wpforms-container-full input[type="submit"]:hover,
body .wp-core-ui div.wpforms-container-full input[type="submit"]:active,
body .wp-core-ui div.wpforms-container-full button[type="submit"]:hover,
body .wp-core-ui div.wpforms-container-full button[type="submit"]:active,
body .wp-core-ui div.wpforms-container-full .wpforms-page-button:hover,
body .wp-core-ui div.wpforms-container-full .wpforms-page-button:active {
	background: var(--button1-bgcolor) !important;
	color: var(--button1-text-color) !important;
	border-radius: 10000px;
	margin-inline: auto;
	display: block;
}

body div.wpforms-container-full input[type="date"],
body div.wpforms-container-full input[type="datetime"],
body div.wpforms-container-full input[type="datetime-local"],
body div.wpforms-container-full input[type="email"],
body div.wpforms-container-full input[type="month"],
body div.wpforms-container-full input[type="number"],
body div.wpforms-container-full input[type="password"],
body div.wpforms-container-full input[type="range"],
body div.wpforms-container-full input[type="search"],
body div.wpforms-container-full input[type="tel"],
body div.wpforms-container-full input[type="text"],
body div.wpforms-container-full input[type="time"],
body div.wpforms-container-full input[type="url"],
body div.wpforms-container-full input[type="week"],
body div.wpforms-container-full select,
body div.wpforms-container-full textarea,
body .wp-core-ui div.wpforms-container-full input[type="date"],
body .wp-core-ui div.wpforms-container-full input[type="datetime"],
body .wp-core-ui div.wpforms-container-full input[type="datetime-local"],
body .wp-core-ui div.wpforms-container-full input[type="email"],
body .wp-core-ui div.wpforms-container-full input[type="month"],
body .wp-core-ui div.wpforms-container-full input[type="number"],
body .wp-core-ui div.wpforms-container-full input[type="password"],
body .wp-core-ui div.wpforms-container-full input[type="range"],
body .wp-core-ui div.wpforms-container-full input[type="search"],
body .wp-core-ui div.wpforms-container-full input[type="tel"],
body .wp-core-ui div.wpforms-container-full input[type="text"],
body .wp-core-ui div.wpforms-container-full input[type="time"],
body .wp-core-ui div.wpforms-container-full input[type="url"],
body .wp-core-ui div.wpforms-container-full input[type="week"],
body .wp-core-ui div.wpforms-container-full select,
body .wp-core-ui div.wpforms-container-full textarea {
	border: none;
}
