@charset "UTF-8";
*,
*:before,
*:after {
	box-sizing: border-box;
}

html {
	font-size: 16px;
	height: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 6.25rem;
}

body {
	color: #161616;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	line-height: 1.5;
}

/* bodyがこのクラスを持っている時、スクロールを禁止する */

body.is-fixed {
	height: 100%;
	overflow: hidden;
}

img,
video,
object {
	border: none;
	display: block;
	height: auto;
	max-width: 100%;
}

a {
	cursor: pointer;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

a:hover {
	opacity: 0.7;
}

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

.header {
	background-color: transparent;
	height: 4rem;
	left: 0;
	position: fixed;
	top: 1rem;
	transition: background-color 0.3s ease, top 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
	width: 100%;
	z-index: 100;
}

.header.is-scrolled {
	background-color: rgba(255, 255, 255, 0.7);
	top: 0;
	-webkit-backdrop-filter: blur(0.25rem);
	backdrop-filter: blur(0.25rem);
	box-shadow: 0 0.0625rem 0.5rem rgba(0, 0, 0, 0.08);
}

.header.is-scrolled .header__list li a {
	color: #161616;
}

.header.is-scrolled .header__logo-img--top {
	display: none;
}

.header.is-scrolled .header__logo-img--default {
	display: block;
}

.header.is-hidden {
	transform: translateY(-100%);
}

.header__inner {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: space-between;
	margin-inline: auto;
	max-width: 90rem;
	padding-inline: 0.625rem 3.125rem;
}

.header__logo-img {
	aspect-ratio: 81/51;
	height: auto;
	width: 5.0625rem;
}

.header__logo-img--default {
	display: none;
}

.header__menu {
	align-items: center;
	display: flex;
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
}

.header__nav {
	display: flex;
}

.header__list {
	align-items: center;
	display: flex;
}

.header__list li {
	margin-inline-end: 1.5rem;
}

.header__list li:last-child {
	margin-inline-end: 0;
}

.header__list li a {
	color: #161616;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	transition: color 0.3s ease;
}

.home .header:not(.is-scrolled) .header__list li:not(.header__btn) a {
	color: #fff;
}

.header__list .header__btn {
	background-color: #FFE100;
	border-radius: 62.4375rem;
	display: flex;
	overflow: hidden;
	position: relative;
}

.header__list .header__btn::before {
	background-color: #DE0303;
	content: "";
	height: 100%;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	transform: translateX(-115%) skewX(15deg);
	transition: transform 0.4s ease;
	width: 130%;
	z-index: 0;
}

.header__list .header__btn a {
	background-color: transparent;
	box-sizing: border-box;
	color: #161616;
	display: block;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05rem;
	line-height: 2.4375rem;
	padding-inline: 1.15rem;
	position: relative;
	transition: opacity 0.3s ease, color 0.4s ease;
	z-index: 1;
}

.header__sns-list {
	display: flex;
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
	justify-content: center;
}

.header__sns-item img {
	aspect-ratio: 1/1;
	height: auto;
	width: 2.5rem;
}

/*===================================================================
# Footer
===================================================================*/

.footer {
	background-color: #eaeaea;
	padding-block: 4rem;
}

.footer__inner {
	margin-inline: auto;
	max-width: 49.125rem;
}

.footer__content {
	display: flex;
	-moz-column-gap: 14.625rem;
	column-gap: 14.625rem;
}

.footer__brand {
	flex: 0 0 14.625rem;
}

.footer__logo {
	aspect-ratio: 160/102;
	height: auto;
	margin-inline: auto;
	width: 10rem;
}

.footer__sns-list {
	display: flex;
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
	justify-content: center;
	margin-block-start: 1.5rem;
}

.footer__sns-item img {
	aspect-ratio: 1/1;
	height: auto;
	width: 2.5rem;
}

.footer__main {
	flex: 1;
}

.footer__nav-list {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, max-content);
}

.footer__nav-link {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
}

.footer__links {
	display: flex;
	-moz-column-gap: 2rem;
	column-gap: 2rem;
	margin-block: 2.5rem 3rem;
}

.footer__link {
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.040625rem;
	position: relative;
}

.footer__link + .footer__link::before {
	background-color: #161616;
	content: "";
	height: 1rem;
	left: -1rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.0625rem;
}

.footer__copyright {
	display: block;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.0375rem;
	text-align: right;
}

/*===================================================================
# Common（下層ヘッダー・アニメーション・フローティングボタン他）
===================================================================*/

.section__title {
	font-family: Anton, sans-serif;
	font-size: 5rem;
	letter-spacing: 0.25rem;
}

.section__title--white {
	color: #FFF;
}

.section__title--red {
	color: #DE0303;
}

.section__title-wrapper {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	text-align: center;
}

.section__title-wrapper--project {
	row-gap: 0;
}

.section__title-wrapper--project .section__title-jp {
	margin-block-start: -0.125rem;
}

.section__title-en {
	color: #DE0303;
	font-family: Anton, sans-serif;
	font-size: 5rem;
	letter-spacing: 0.25rem;
	line-height: 1.5;
}

.section__title-jp {
	color: #161616;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 1.5;
}

.common__title-circle {
	aspect-ratio: 1/1;
	background: radial-gradient(50% 50% at 50% 50%, rgba(222, 3, 3, 0.2) 0%, rgba(222, 3, 3, 0) 100%);
	border-radius: 50%;
	height: auto;
	left: 50%;
	position: absolute;
	top: 1.0625rem;
	translate: -50% 0;
	width: 32.5rem;
	z-index: 1;
}

.common__title-wrapper {
	position: relative;
	z-index: 2;
}

.common__title-en {
	color: #fff;
	font-family: Anton, sans-serif;
	font-size: 11rem;
	letter-spacing: 0.55rem;
	text-align: center;
	text-transform: uppercase;
	z-index: 2;
}

.common__title-jp {
	bottom: 3.9375rem;
	color: #090808;
	font-size: 3.5rem;
	font-weight: 700;
	left: 50%;
	letter-spacing: 0.175rem;
	line-height: 150%;
	position: absolute;
	translate: -50% 0;
	white-space: nowrap;
	z-index: 3;
}

.common__title-separator {
	background-color: #DE0303;
	height: 0.0625rem;
	margin-block-start: 2.25rem;
	width: 100%;
}

.breadcrumb {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	left: 50%;
	position: absolute;
	top: 4.875rem;
	translate: -50% 0;
	-moz-column-gap: 0.375rem;
	background: linear-gradient(94deg, #0E005B -10.82%, #DE0303 28.56%);
	border-radius: 62.4375rem;
	color: #fff;
	column-gap: 0.375rem;
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
	line-height: 1;
	padding: 0.71875rem 1.21875rem;
	white-space: nowrap;
	z-index: 4;
}

/* 出現アニメーション：ふわっと表示 */

.js-fadein {
	opacity: 0;
	transform: translateY(1.875rem);
	transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}

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

mark.marker-red {
	background: linear-gradient(transparent 60%, rgba(222, 3, 3, 0.3) 60%);
	border-radius: 0;
	color: inherit;
	padding: 0;
}

mark.marker-yellow {
	background: linear-gradient(transparent 60%, #FFE100 60%);
	border-radius: 0;
	color: inherit;
	padding: 0;
}

/*===================================================================
# Button
===================================================================*/

.button {
	align-items: center;
	display: flex;
	-moz-column-gap: 1.25rem;
	background-color: #FFE100;
	border-radius: 62.4375rem;
	column-gap: 1.25rem;
	margin-inline: auto;
	overflow: hidden;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.button > span,
.button > svg {
	position: relative;
	z-index: 1;
}

.button span {
	color: #DE0303;
	font-size: 1.125rem;
	font-weight: 700;
	transform: translateY(-0.125rem);
}

.button svg {
	flex-shrink: 0;
	height: 2.25rem;
	width: 2.25rem;
}

.button::before {
	background-color: #fff;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: translateX(-115%) skewX(15deg);
	transition: transform 0.4s ease;
	width: 130%;
	z-index: 0;
}

.button--red {
	background-color: #DE0303;
	border: 0.125rem solid #DE0303;
}

.button--red span {
	color: #fff;
}

.button--top-interview,
.button--articles-post,
.button--news-post,
.button--404 {
	justify-content: space-between;
	padding: 0.6875rem 0.6875rem 0.6875rem 2rem;
	width: 17.75rem;
}

.button--news-post {
	margin-inline: 0 auto;
}

.button--top-onair {
	justify-content: space-between;
	padding: 0.8125rem 0.6875rem 0.8125rem 2rem;
	width: 17.75rem;
}

.button--top-interview {
	background-color: #DE0303;
	border: 0.125rem solid #DE0303;
}

.button--top-interview span {
	color: #fff;
}

.button--top-contact {
	padding: 0.8125rem 1rem 0.8125rem 2rem;
}

.button--project {
	justify-content: space-between;
	margin-block-start: 1.125rem;
	padding: 0.8125rem 0.6875rem 0.8125rem 2rem;
	width: 26.8125rem;
}

.button--interview-post {
	justify-content: space-between;
	padding: 0.6875rem 0.6875rem 0.6875rem 2rem;
	width: 19.0625rem;
}

.button--interview-post span {
	white-space: nowrap;
}

.button--thanks {
	display: flex;
	width: 25rem;
	-moz-column-gap: 0;
	column-gap: 0;
	justify-content: space-between;
	padding: 0.8125rem 1rem 0.8125rem 2rem;
}

/*===================================================================
# Inner
===================================================================*/

.inner {
	margin-inline: auto;
	width: 100%;
}

.inner--1296 {
	max-width: 81rem;
}

.inner--1100 {
	max-width: 68.75rem;
}

.inner--1000 {
	max-width: 62.5rem;
}

.inner--800 {
	max-width: 50rem;
}

/*===================================================================
# ドロワー
===================================================================*/

.drawer {
	background-color: #fff;
	border-radius: 0.9375rem;
	height: auto;
	left: 50%;
	opacity: 0;
	overflow-y: scroll;
	padding: 2.5rem;
	position: fixed;
	top: 5.1875rem;
	transition: opacity 0.5s ease, visibility 0.5s ease;
	translate: -50%;
	visibility: hidden;
	width: 20rem;
	z-index: 101;
}

.drawer.js-show {
	opacity: 1;
	visibility: visible;
}

.drawer__body {
	height: auto;
	width: 100%;
}

.drawer__list {
	display: flex;
	flex-direction: column;
	justify-content: center;
	row-gap: 2rem;
}

.drawer__list li a {
	font-weight: 500;
	letter-spacing: 0.05rem;
}

.drawer__list .header__btn a {
	align-items: center;
	background-color: #FFE100;
	border-radius: 0.3125rem;
	box-sizing: border-box;
	display: flex;
	font-weight: 700;
	height: 3.4375rem;
	justify-content: center;
	letter-spacing: 0.05rem;
	transition: opacity 0.3s ease;
	width: 100%;
}

.drawer__sns-list {
	display: flex;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	justify-content: center;
	margin-block-start: 2.5rem;
}

.drawer__sns-item img {
	aspect-ratio: 1/1;
	height: auto;
	width: 2.5rem;
}

.drawer__btn {
	align-items: center;
	background-color: #DE0303;
	border-radius: 0.1875rem;
	display: none;
	height: 1.9375rem;
	justify-content: center;
	width: 3.3125rem;
	z-index: 102;
}

.drawer__btn span {
	color: #FFF;
	font-family: "Josefin Sans", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 150%;
}

/*===================================================================
# Button
===================================================================*/

.pagination__lists {
	align-items: center;
	display: flex;
	gap: 0.625rem;
	justify-content: center;
}

.pagination__list {
	align-items: center;
	display: flex;
	justify-content: center;
}

.pagination__link {
	align-items: center;
	border: 0.0625rem solid #d4d4d4;
	border-radius: 50%;
	display: flex;
	font-family: "Anton", sans-serif;
	font-size: 1.125rem;
	height: 3.4375rem;
	justify-content: center;
	letter-spacing: 0.05625rem;
	line-height: 150%;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
	width: 3.4375rem;
}

.pagination__link--active {
	background-color: #DE0303;
	border-color: #DE0303;
	color: #fff;
}

.pagination__dot {
	align-items: center;
	display: flex;
	font-family: "Anton", sans-serif;
	font-size: 1.1875rem;
	height: 3.4375rem;
	justify-content: center;
	letter-spacing: 0.059375rem;
	line-height: 1;
	transform: translateY(-0.375rem);
}

/*===================================================================
# Top - Main Visual
===================================================================*/

.top-mv {
	height: 53.625rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.top-mv__inner,
.top-mv .top-mv-swiper {
	height: 100%;
	width: 100%;
}

.top-mv .swiper-slide {
	height: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.top-mv__img {
	display: block;
	height: 100%;
	width: 100%;
}

.top-mv__img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

.top-mv__slide-overlay {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%);
	height: 60%;
	inset-block-end: 0;
	inset-inline-start: 0;
	pointer-events: none;
	position: absolute;
	width: 100%;
}

.top-mv__slide-inner {
	inset: 0;
	max-width: 90rem;
	position: absolute;
}

.top-mv__slide-content {
	display: flex;
	flex-direction: column;
	inset-block-start: 20.75rem;
	inset-inline-start: 4.5rem;
	position: absolute;
	row-gap: 3.25rem;
	width: 29.375rem;
	z-index: 1;
}

.top-mv__message {
	height: auto;
	inset-block-start: 6.0625rem;
	inset-inline-start: 50%;
	pointer-events: none;
	position: absolute;
	translate: -50%;
	width: 53.9375rem;
}

.top-mv__heading {
	color: #fff;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.125rem;
	line-height: 1.5;
}

.top-mv__text {
	color: #fff;
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
	line-height: 1.5;
}

.top-mv__overlay {
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 10;
}

.top-mv__overlay-inner {
	height: 100%;
	max-width: 90rem;
	position: relative;
}

.top-mv__controls {
	display: flex;
	flex-direction: column;
	inset-block-start: 25.5rem;
	inset-inline-start: 4.5rem;
	pointer-events: auto;
	position: absolute;
}

.top-mv__controls--no-indicator .top-mv__project-btn {
	margin-block-start: 15.75rem;
}

.top-mv__indicator {
	background-color: rgba(255, 255, 255, 0.4);
	border-radius: 62.4375rem;
	height: 0.25rem;
	position: relative;
	width: 29.375rem;
}

.top-mv__indicator-active {
	background-color: #de0303;
	border-radius: 62.4375rem;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: left 0.4s ease, width 0s;
}

.top-mv__project-btn {
	align-items: center;
	background-color: #de0303;
	border-radius: 62.4375rem;
	color: #fff;
	display: inline-flex;
	font-size: 0.9375rem;
	font-weight: 700;
	justify-content: space-between;
	line-height: 1;
	margin-block-start: 15.5rem;
	overflow: hidden;
	padding-block: 0.8125rem;
	padding-inline: 1.5rem 0.875rem;
	position: relative;
	text-decoration: none;
	white-space: nowrap;
	width: 12.4375rem;
}

.top-mv__project-btn > span,
.top-mv__project-btn > svg {
	position: relative;
	z-index: 1;
}

.top-mv__project-btn span {
	transform: translateY(-0.125rem);
}

.top-mv__project-btn svg {
	flex-shrink: 0;
	height: auto;
	width: 1.375rem;
}

.top-mv__project-btn::before {
	background-color: #fff;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: translateX(-115%) skewX(15deg);
	transition: transform 0.4s ease;
	width: 130%;
	z-index: 0;
}

.top-mv__project-btn-icon {
	flex-shrink: 0;
	margin-inline-start: auto;
}

.top-mv__pager {
	align-items: center;
	display: flex;
	gap: 1rem;
	margin-block-start: 3.5rem;
}

.top-mv__pager-bg {
	align-items: center;
	background-color: #494949;
	border-radius: 0.3125rem;
	display: flex;
	height: 3rem;
	overflow: hidden;
	width: 5.5625rem;
}

.top-mv__pager-btn {
	align-items: center;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	flex: 1;
	height: 100%;
	justify-content: center;
	padding: 0;
	transition: opacity 0.2s;
}

.top-mv__pager-btn svg {
	flex-shrink: 0;
	height: auto;
	width: 0.625rem;
}

.top-mv__pager-btn:hover {
	opacity: 0.7;
}

.top-mv__pager-sep {
	background-color: #fff;
	display: block;
	flex-shrink: 0;
	height: 1rem;
	width: 0.0625rem;
}

.top-mv__pager-counter {
	align-items: center;
	display: flex;
	gap: 0.5rem;
}

.top-mv__pager-current,
.top-mv__pager-total {
	color: #fff;
	font-family: "Josefin Sans", sans-serif;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.06875rem;
	line-height: 1;
}

.top-mv__pager-bar {
	background-color: #fff;
	display: block;
	height: 0.125rem;
	width: 0.625rem;
}

.top-mv__logo-wrap {
	bottom: 3.0625rem;
	display: flex;
	flex-direction: column;
	pointer-events: none;
	position: absolute;
	right: 2.5rem;
}

.top-mv__logo {
	display: block;
	height: auto;
	width: 15.625rem;
}

.top-mv__season {
	align-items: baseline;
	display: flex;
	margin-block-start: -0.9375rem;
	margin-inline-start: 1.1875rem;
}

.top-mv__season-label {
	color: #fff;
	font-family: "Josefin Sans", sans-serif;
	font-size: 3.375rem;
	font-weight: 500;
}

.top-mv__season-num {
	color: #DE0303;
	font-family: "Josefin Sans", sans-serif;
	font-size: 3.875rem;
	font-weight: 500;
	line-height: 1.33;
}

/*===================================================================
# Top - Supporters
===================================================================*/

.top-supporters {
	background-color: #fff;
	overflow: hidden;
}

.top-supporters__marquee {
	overflow: hidden;
}

.top-supporters__track {
	align-items: center;
	display: flex;
	-moz-column-gap: 2.5rem;
	animation: top-supporters-scroll linear infinite;
	animation-duration: var(--top-supporters-duration, 40s);
	column-gap: 2.5rem;
	height: 9.875rem;
	width: -moz-max-content;
	width: max-content;
}

.top-supporters__item {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	min-width: 7.5rem;
}

.top-supporters__logo {
	display: block;
	height: auto;
	max-height: 3.75rem;
	max-width: 11.25rem;
	width: auto;
	-o-object-fit: contain;
	object-fit: contain;
}

.top-supporters__logo--portrait {
	max-height: 6.25rem;
}

/*===================================================================
# Top - News
===================================================================*/

.top-news {
	background: linear-gradient(180deg, #f1f1f1 0%, rgba(241, 241, 241, 0) 100%);
}

.top-news__inner {
	padding-block: 6.9375rem 6.75rem;
}

.top-news__head {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-block-end: 1.9375rem;
}

.top-news__section-title {
	margin-block: 0;
}

.top-news__more {
	align-items: center;
	display: inline-flex;
	-moz-column-gap: 0.625rem;
	background-color: #fff;
	border: 0.0625rem solid #d4d4d4;
	border-radius: 62.4375rem;
	column-gap: 0.625rem;
	flex-shrink: 0;
	padding-block: 0.4375rem;
	padding-inline: 1.125rem;
	text-decoration: none;
}

.top-news__more-label {
	color: #161616;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04375rem;
	line-height: 1.5;
}

.top-news__more-icon {
	display: block;
	flex-shrink: 0;
	height: height;
	width: 0.375rem;
}

.top-news__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
}

.top-news__card {
	min-width: 0;
}

.top-news__link {
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
}

.top-news__thumb {
	aspect-ratio: 306/183;
	background-color: #fff;
	border-radius: 0.625rem;
	overflow: hidden;
	width: 100%;
}

.top-news__thumb-img {
	display: block;
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.top-news__thumb-placeholder {
	background-color: #e8e8e8;
	display: block;
	height: 100%;
	width: 100%;
}

.top-news__body {
	align-items: flex-start;
	display: flex;
	flex: 1;
	flex-direction: column;
	margin-block-start: 0.8125rem;
	row-gap: 0.5rem;
}

.top-news__category {
	align-items: center;
	background-color: #fff;
	border: 0.0625rem solid #DE0303;
	box-sizing: border-box;
	color: #DE0303;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.04375rem;
	line-height: 1;
	padding-block: 0.53125rem;
	padding-inline: 0.4375rem;
}

.top-news__title {
	color: #161616;
	display: -webkit-box;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	margin: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	overflow: hidden;
}

.top-news__date {
	color: #a1a1a1;
	font-family: "Josefin Sans", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 1.5;
	margin-block-start: auto;
	padding-block-start: 0.375rem;
}

/*-------------------------------------------------------------------
# ScrollHint カスタマイズ（SP のみ）
-------------------------------------------------------------------*/

/*===================================================================
# Top - Onair
===================================================================*/

.top-onair {
	background-color: #f5f5f5;
	padding-block: 5.375rem 4.75rem;
}

.top-onair__inner {
	position: relative;
}

.top-onair__head {
	position: relative;
}

.top-onair__head--has-nav {
	padding-right: 7.5rem;
}

.top-onair__nav {
	align-items: flex-start;
	display: flex;
	gap: 1rem;
	position: absolute;
	right: 0;
	top: 2.3125rem;
	z-index: 2;
}

.top-onair__nav-btn {
	background: transparent;
	border: none;
	cursor: pointer;
	display: grid;
	line-height: 0;
	margin: 0;
	padding: 0;
	place-items: center;
	transition: opacity 0.3s ease;
}

.top-onair__nav-btn svg {
	display: block;
	flex-shrink: 0;
	height: 3.125rem;
	width: 3.125rem;
}

.top-onair__nav-btn.swiper-button-disabled {
	cursor: not-allowed;
	opacity: 0.35;
	pointer-events: none;
}

.top-onair__circle {
	background: radial-gradient(50% 50% at 50% 50%, rgba(222, 3, 3, 0.2) 0%, rgba(222, 3, 3, 0) 100%);
	border-radius: 32.5rem;
	height: 32.5rem;
	position: absolute;
	width: 32.5rem;
}

.top-onair__circle--1 {
	left: 4.875rem;
	top: -5.3125rem;
}

.top-onair__circle--2 {
	right: 6.625rem;
	top: 4.125rem;
}

.top-onair__program-list {
	margin-top: 2rem;
	overflow: hidden;
}

.top-onair__swiper {
	overflow: visible;
}

.top-onair__swiper .swiper-slide {
	box-sizing: border-box;
	height: auto;
	width: 23rem;
}

.top-onair__card {
	background-color: #fff;
	border-radius: 0.625rem;
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 21.5rem;
	overflow: hidden;
	text-decoration: none;
	transition: box-shadow 0.2s ease;
	width: 23rem;
}

.top-onair__card-thumb {
	background-color: #e8e8e8;
	border-radius: 0.5rem 0.5rem 0 0;
	flex-shrink: 0;
	height: 12.5rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.top-onair__card-thumb-img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.top-onair__card-thumb-placeholder {
	background: linear-gradient(135deg, #e0e0e0 0%, #f0f0f0 100%);
	display: block;
	height: 100%;
	width: 100%;
}

.top-onair__card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.5rem;
	min-height: 0;
	padding: 1.25rem 1.25rem 1.25rem;
}

.top-onair__card-title {
	display: -webkit-box;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-clamp: 5;
	overflow: hidden;
}

.top-onair__media-list {
	display: flex;
	justify-content: center;
	-moz-column-gap: 3rem;
	column-gap: 3rem;
	margin-block: 3.5rem 4.5rem;
}

.top-onair__media-item {
	border-radius: 0.9375rem;
	height: auto;
	max-width: 39rem;
	padding-block: 3.5rem;
	text-align: center;
	width: 100%;
}

.top-onair__media-item img {
	margin-inline: auto;
}

.top-onair__media-item--abema {
	background-color: #0f0f0f;
}

.top-onair__media-item--abema img {
	aspect-ratio: 243/80;
	height: auto;
	width: 15.1875rem;
}

.top-onair__media-item--youtube {
	background-color: #DE0303;
}

.top-onair__media-item--youtube img {
	aspect-ratio: 252/56.5;
	height: auto;
	width: 15.75rem;
}

.top-onair__media-item--youtube .top-onair__media-title {
	margin-block-start: 3.4375rem;
}

.top-onair__media-title {
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	line-height: 1.5;
	margin-block-start: 2rem;
}

.top-onair__media-description {
	color: #fff;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	margin-block: 0.4375rem 2rem;
}

/*-------------------------------------------------------------------
# ゲスト放送回 スライダー
-------------------------------------------------------------------*/

.top-onair__geust-list {
	position: relative;
}

.top-onair__geust-head {
	align-items: center;
	border-block-start: 0.125rem solid #d9d9d9;
	display: flex;
	justify-content: space-between;
	padding-block-start: 4.5rem;
	position: relative;
}

.top-onair__geust-title {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.03125rem;
	line-height: 1.5;
}

.top-onair__geust-nav {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: 1rem;
}

.top-onair__geust-nav-btn {
	background: transparent;
	border: none;
	cursor: pointer;
	display: grid;
	line-height: 0;
	margin: 0;
	padding: 0;
	place-items: center;
	transition: opacity 0.3s ease;
}

.top-onair__geust-nav-btn svg {
	display: block;
	height: 3.125rem;
	width: 3.125rem;
}

.top-onair__geust-nav-btn.swiper-button-disabled {
	cursor: not-allowed;
	opacity: 0.35;
	pointer-events: none;
}

.top-onair__guest-circle {
	background: radial-gradient(50% 50% at 50% 50%, rgba(222, 3, 3, 0.2) 0%, rgba(222, 3, 3, 0) 100%);
	border-radius: 32.5rem;
	height: 32.5rem;
	position: absolute;
	width: 32.5rem;
}

.top-onair__guest-circle--1 {
	left: 4.875rem;
	top: 0;
}

.top-onair__guest-circle--2 {
	right: 5rem;
	top: 9.5625rem;
}

.top-onair__geust-slider {
	margin-block-start: 2.6875rem;
	overflow: hidden;
}

.top-onair__geust-swiper {
	overflow: visible;
}

.top-onair__geust-swiper .swiper-wrapper {
	align-items: stretch;
}

.top-onair__geust-swiper .swiper-slide {
	box-sizing: border-box;
	height: auto;
	width: 23rem;
}

.top-onair__geust-card {
	background-color: #fff;
	border-radius: 0.625rem;
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	text-decoration: none;
	transition: transform 0.3s ease;
	width: 23rem;
}

.top-onair__geust-card-thumb {
	background-color: #e8e8e8;
	flex-shrink: 0;
	height: 12.9375rem;
	overflow: hidden;
	width: 100%;
}

.top-onair__geust-card-thumb-img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.top-onair__geust-card-thumb-placeholder {
	background: linear-gradient(135deg, #e0e0e0 0%, #f0f0f0 100%);
	display: block;
	height: 100%;
	width: 100%;
}

.top-onair__geust-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 1rem;
	padding: 1.25rem;
}

.top-onair__geust-card-name {
	background-color: #f2f2f2;
	color: #161616;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	margin: 0;
	padding: 0.625rem 1rem;
	text-align: center;
}

.top-onair__geust-card-title {
	color: #161616;
	display: -webkit-box;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	margin: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-clamp: 5;
	overflow: hidden;
}

/*-------------------------------------------------------------------
# 今後の出演予定ゲスト
-------------------------------------------------------------------*/

.top-onair__geust-schedule {
	margin-block-start: 2.5rem;
}

.top-onair__geust-schedule-box {
	background: linear-gradient(94deg, #0e005b -10.82%, #de0303 28.56%);
	border-radius: 0.9375rem;
	padding: 2rem;
}

.top-onair__geust-schedule-title {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 1.5;
	margin: 0;
	margin-block-end: 1.5625rem;
}

.top-onair__geust-schedule-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0;
}

.top-onair__geust-schedule-item {
	align-items: center;
	display: flex;
	flex-direction: row;
	-moz-column-gap: 0.5rem;
	border-inline-end: 0.0625rem solid #fff;
	column-gap: 0.5rem;
	margin-inline-end: 1.5rem;
	padding-inline-end: 1.5rem;
}

.top-onair__geust-schedule-item:last-child {
	border-inline-end: none;
	margin-inline-end: 0;
	padding-inline-end: 0;
}

.top-onair__geust-schedule-date {
	align-items: center;
	background-color: #fff;
	border-radius: 0.3125rem;
	color: #DE0303;
	display: inline-flex;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.040625rem;
	line-height: 1.5;
	padding: 0.1875rem 0.9375rem;
	white-space: nowrap;
}

.top-onair__geust-schedule-name {
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.5;
}

/*===================================================================
# Top - Interview
===================================================================*/

.top-interview {
	background: url(../../assets/img/top/bg_interview.webp) center center/cover no-repeat;
	padding-block-end: 7rem;
}

.top-interview__pickup-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	min-height: 32.4375rem;
	padding-block: 6.875rem 4.5rem;
	position: relative;
}

.top-interview__catch {
	color: #fff;
	font-size: 3rem;
	font-weight: 700;
	grid-column: 1;
	grid-row: 1;
	letter-spacing: 0.15rem;
	line-height: 1.5;
}

.top-interview__pickup-img-wrap {
	align-self: stretch;
	grid-column: 2;
	grid-row: 1/span 2;
	min-height: 25rem;
	overflow: hidden;
	padding-block-start: 0.8125rem;
}

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

.top-interview__pickup-img-placeholder {
	background-color: #e8e8e8;
	display: block;
	height: 100%;
	min-height: 25rem;
	width: 100%;
}

.top-interview__pickup-info {
	align-items: flex-start;
	background-color: #fff;
	bottom: 6.1875rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	left: 0;
	max-width: 42.8125rem;
	padding: 2.5rem 2rem;
	position: absolute;
	width: 100%;
}

.top-interview__pickup-meta {
	align-items: center;
	background-color: #0c0c0c;
	color: #fff;
	display: flex;
	flex-direction: column;
	padding: 0.5rem 1rem;
	text-align: center;
}

.top-interview__pickup-company {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
}

.top-interview__pickup-name {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 1.5;
}

.top-interview__pickup-title {
	color: #101010;
	display: -webkit-box;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	line-height: 1.5;
	margin: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}

.top-interview__pickup-btn {
	align-items: center;
	background-color: #fff;
	border: 0.0625rem solid #d4d4d4;
	border-radius: 62.4375rem;
	color: #161616;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	gap: 0.625rem;
	letter-spacing: 0.04375rem;
	line-height: 1.5;
	overflow: hidden;
	padding-block: 0.4375rem;
	padding-inline: 1.046875rem;
	position: relative;
	text-decoration: none;
}

.top-interview__pickup-btn > span,
.top-interview__pickup-btn > svg {
	position: relative;
	z-index: 1;
}

.top-interview__pickup-btn svg {
	flex-shrink: 0;
	height: auto;
	width: 0.5rem;
}

.top-interview__pickup-btn::before {
	background-color: #DE0303;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: translateX(-115%) skewX(15deg);
	transition: transform 0.4s ease;
	width: 130%;
	z-index: 0;
}

.top-interview__slider {
	overflow: hidden;
}

.top-interview__slider-head {
	display: flex;
	justify-content: flex-end;
	margin-block-end: 2.5rem;
}

.top-interview__nav {
	align-items: center;
	display: flex;
	gap: 1rem;
}

.top-interview__nav-btn {
	background: transparent;
	border: none;
	cursor: pointer;
	display: grid;
	line-height: 0;
	margin: 0;
	padding: 0;
	place-items: center;
	transition: opacity 0.3s ease;
}

.top-interview__nav-btn svg {
	display: block;
	height: 3.125rem;
	width: 3.125rem;
}

.top-interview__nav-btn.swiper-button-disabled {
	cursor: not-allowed;
	opacity: 0.35;
	pointer-events: none;
}

.top-interview__swiper-wrap {
	overflow: hidden;
}

.top-interview__btn-wrap {
	display: flex;
	justify-content: center;
	margin-block-start: 3rem;
}

/*-------------------------------------------------------------------
# Swiper
-------------------------------------------------------------------*/

.top-interview__swiper {
	overflow: visible;
}

.top-interview__swiper .swiper-wrapper {
	align-items: stretch;
}

.top-interview__swiper .swiper-slide {
	box-sizing: border-box;
	height: auto;
	width: 19.125rem;
}

/*-------------------------------------------------------------------
# Card
-------------------------------------------------------------------*/

.top-interview__card {
	background-color: #fff;
	border-radius: 0.625rem;
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	text-decoration: none;
	transition: opacity 0.3s ease;
	width: 19.125rem;
}

.top-interview__card-thumb {
	background-color: #e8e8e8;
	flex-shrink: 0;
	height: 10.75rem;
	overflow: hidden;
	width: 100%;
}

.top-interview__card-img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.top-interview__card-img-placeholder {
	background: linear-gradient(135deg, #e0e0e0 0%, #f0f0f0 100%);
	display: block;
	height: 100%;
	width: 100%;
}

.top-interview__card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 1rem;
	padding: 1.25rem;
}

.top-interview__card-title {
	display: -webkit-box;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}

.top-interview__card-meta {
	background-color: #f2f2f2;
	display: flex;
	flex-direction: column;
	margin-block-start: auto;
	padding: 0.5rem 1rem;
	text-align: center;
}

.top-interview__card-company {
	color: #000;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
}

.top-interview__card-name {
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 1.5;
}

/*===================================================================
# Top - Contact
===================================================================*/

.top-contact {
	background: linear-gradient(94deg, #0E005B -10.82%, #DE0303 28.56%);
	padding-block: 5.3125rem 7rem;
	text-align: center;
}

.top-contact__inner {
	max-width: 29.375rem;
}

.top-contact__catch {
	color: #FFF;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.075rem;
	line-height: 150%;
	margin-block-start: 1.9375rem;
}

.top-contact__description {
	color: #FFF;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.05625rem;
	line-height: 150%;
	margin-block: 1.5rem 3rem;
	text-align: left;
}

/*===================================================================
# Top - Floating Banner
===================================================================*/

.floating-banner {
	align-items: center;
	background: linear-gradient(94deg, #0E005B -10.82%, #DE0303 28.56%);
	border-radius: 0.625rem;
	bottom: 2.8125rem;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	left: 50%;
	min-height: 5.375rem;
	opacity: 0;
	padding-inline: 1.9375rem;
	pointer-events: none;
	position: fixed;
	transition: opacity 0.4s ease, translate 0.4s ease;
	translate: -50% 1.25rem;
	width: 74.5rem;
	z-index: 200;
}

.floating-banner.is-visible {
	opacity: 1;
	pointer-events: auto;
	translate: -50% 0;
}

.floating-banner.is-hidden {
	opacity: 0;
	pointer-events: none;
	translate: -50% 1.25rem;
}

.floating-banner__body {
	align-items: center;
	display: flex;
	flex: 1;
	flex-direction: row;
	justify-content: space-between;
}

.floating-banner__text-group {
	align-items: center;
	display: flex;
	flex-direction: row;
	-moz-column-gap: 0.375rem;
	column-gap: 0.375rem;
	flex-shrink: 0;
}

.floating-banner__badge {
	align-items: center;
	background-color: #FFE100;
	display: inline-flex;
	font-size: 1.25rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.0625rem;
	line-height: 1.5;
	padding: 0.1875rem 0.5rem;
	white-space: nowrap;
}

.floating-banner__label {
	color: #FFFFFF;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.05625rem;
	line-height: 150%;
	white-space: nowrap;
}

.floating-banner__title {
	border-block-end: 0.125rem solid #FFFFFF;
	color: #FFFFFF;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.075rem;
	line-height: 150%;
	white-space: nowrap;
}

.floating-banner__btns {
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-shrink: 0;
	gap: 1rem;
}

.floating-banner__btn {
	align-items: center;
	background-color: #FFFFFF;
	border: 0.125rem solid #FFFFFF;
	border-radius: 62.4375rem;
	display: flex;
	flex-direction: row;
	gap: 0.3125rem;
	overflow: hidden;
	padding-block: 0.6875rem;
	padding-inline: 2rem 1rem;
	position: relative;
	text-decoration: none;
	width: 21.875rem;
}

.floating-banner__btn > span,
.floating-banner__btn > svg {
	position: relative;
	z-index: 1;
}

.floating-banner__btn::before {
	background-color: #DE0303;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: translateX(-115%) skewX(15deg);
	transition: transform 0.4s ease;
	width: 130%;
	z-index: 0;
}

.floating-banner__btn-main {
	color: #DE0303;
	font-size: 1.125rem;
	font-weight: 700;
	white-space: nowrap;
}

.floating-banner__btn-sub {
	font-weight: 500;
	white-space: nowrap;
}

.floating-banner__btn-arrow {
	flex-shrink: 0;
	height: 2.25rem;
	margin-inline-start: auto;
	width: 2.25rem;
}

.floating-banner__close {
	background: none;
	border: none;
	bottom: -1.25rem;
	cursor: pointer;
	flex-shrink: 0;
	height: 2.5rem;
	padding: 0;
	position: absolute;
	right: -1.25rem;
	transition: opacity 0.3s ease;
	width: 2.5rem;
}

.floating-banner__close img {
	height: 100%;
	width: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

/*===================================================================
# Project
===================================================================*/

.project-fv {
	background: url(../../assets/img/project/bg_fv.webp) top center/cover no-repeat;
}

.project-fv__inner {
	height: 45.625rem;
	margin-inline: auto;
	max-width: 90rem;
	position: relative;
	width: 100%;
}

.project-fv__title {
	aspect-ratio: 719.5/220.5;
	height: auto;
	left: 11.375rem;
	position: absolute;
	top: 17.875rem;
	width: 44.96875rem;
}

.project-fv__title img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.project-fv__furutachi-img {
	bottom: 0;
	display: block;
	height: auto;
	position: absolute;
	right: 3.4375rem;
	width: 41.5625rem;
}

.project-fv__furutachi-img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.project-fv__title-visually-hidden {
	height: 0.0625rem;
	margin: -0.0625rem;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 0.0625rem;
	clip: rect(0, 0, 0, 0);
	border: 0;
	white-space: nowrap;
}

.project-about {
	background: url(../../assets/img/project/bg_about.webp) top center/cover no-repeat;
	padding-block: 5.4375rem 7rem;
}

.project-about__title-wrapper {
	color: #fff;
	text-align: center;
}

.project-about__title {
	font-family: Anton, sans-serif;
	font-size: 5rem;
	letter-spacing: 0.25rem;
}

.project-about__sub-title {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 150%;
	margin-block-start: -0.125rem;
}

.project-about__body {
	border-bottom: 0.25rem solid #B43E3E;
	margin-block: 3.8125rem 3.3125rem;
	padding-block-end: 3.5625rem;
	text-align: center;
}

.project-about__text {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1.78;
}

.project-about__highlight {
	color: #FFE100;
	font-size: 2.1875rem;
	font-weight: 700;
	letter-spacing: 0.0875rem;
	line-height: 1.78;
	margin-inline: 0.1875rem;
}

.project-about__message {
	color: #fff;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.125rem;
	line-height: 1.7;
	margin-block-start: 0.9375rem;
	text-align: center;
}

.project-about__stats {
	display: flex;
	justify-content: center;
	-moz-column-gap: 2.15625rem;
	column-gap: 2.15625rem;
}

.project-about__stat {
	text-align: center;
	width: 24.1875rem;
}

.project-about__stat-label {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
}

.project-about__stat-number {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-block-start: 1.5rem;
}

.project-about__stat-num {
	color: #FFE100;
	font-family: "Anton", sans-serif;
	font-size: 6.5rem;
	font-weight: 400;
	letter-spacing: 0.325rem;
	line-height: 1;
}

.project-about__stat-unit {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
}

.project-about__stat-desc {
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	margin-block-start: 0.125rem;
}

.project-about__stat-note {
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1;
	margin-block-start: 1rem;
	text-align: center;
}

.project-program {
	background: url(../../assets/img/project/bg_program.webp) center center/cover no-repeat;
	padding-block: 5.5rem 7rem;
}

.project-program__title-wrapper {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-block-end: 3.4375rem;
	text-align: center;
}

.project-program__title {
	color: #DE0303;
	font-family: Anton, sans-serif;
	font-size: 5rem;
	letter-spacing: 0.25rem;
}

.project-program__sub-title {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 1.5;
	margin-block-start: -0.125rem;
}

.project-program__body {
	display: flex;
	flex-direction: column;
	gap: 3.5rem;
}

.project-program__info {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.5625rem;
	margin-inline: auto;
	max-width: 30.5rem;
	width: 100%;
}

.project-program__info-text {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.0625rem;
	width: 100%;
}

.project-program__show-title {
	color: #DE0303;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.0875rem;
	line-height: 1.5;
	text-align: center;
}

.project-program__description,
.project-program__mc {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	text-align: center;
}

.project-program__mc {
	margin-block-start: 0.4375rem;
}

.project-program__abema-link {
	display: block;
	width: 100%;
}

.project-program__broadcast {
	align-items: center;
	background-color: #0F0F0F;
	border-radius: 0.9375rem;
	display: flex;
	flex-direction: column;
	gap: 0.0625rem;
	padding-block: 1rem 0.75rem;
	width: 100%;
}

.project-program__broadcast-logo {
	height: auto;
	width: 13rem;
	-o-object-fit: contain;
	object-fit: contain;
}

.project-program__broadcast-text {
	color: #FFFFFF;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	line-height: 1.5;
}

.project-program__images {
	display: flex;
	gap: 0.5rem;
}

.project-program__images-col {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.5rem;
	min-width: 0;
}

.project-program__img-wrap {
	overflow: hidden;
}

.project-program__img-wrap img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.project-program__img-wrap--large {
	aspect-ratio: 496/276;
	width: 100%;
}

.project-program__img-wrap--small {
	aspect-ratio: 244/137;
	flex: 1;
	min-width: 0;
}

.project-program__imgs-small-row {
	display: flex;
	gap: 0.5rem;
}

.project-program__youtube {
	align-items: stretch;
	background-color: #FFFFFF;
	border: 0.5rem solid #DE0303;
	border-radius: 0.9375rem;
	display: flex;
	justify-content: space-between;
	overflow: hidden;
}

.project-program__youtube-info {
	display: flex;
	flex: 1;
	flex-direction: column;
	flex-shrink: 0;
	gap: 2rem;
	justify-content: center;
	padding-block: 2.5625rem;
	padding-inline-end: 0rem;
	padding-inline-start: 2.5rem;
	width: 29.875rem;
}

.project-program__youtube-logo {
	height: auto;
	width: 15.625rem;
	-o-object-fit: contain;
	object-fit: contain;
}

.project-program__youtube-text {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.project-program__youtube-channel {
	color: #161616;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	line-height: 1.5;
}

.project-program__youtube-cta {
	color: #DE0303;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	line-height: 1.5;
}

.project-program__youtube-btn {
	align-items: center;
	background-color: #DE0303;
	border: 0.125rem solid #DE0303;
	border-radius: 62.4375rem;
	display: inline-flex;
	justify-content: space-between;
	margin-block-start: -0.125rem;
	overflow: hidden;
	padding-block: 0.6875rem;
	padding-inline: 2rem 1rem;
	position: relative;
	text-decoration: none;
	width: 17.75rem;
}

.project-program__youtube-btn > span,
.project-program__youtube-btn > svg {
	position: relative;
	z-index: 1;
}

.project-program__youtube-btn span {
	color: #FFFFFF;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.2;
}

.project-program__youtube-btn svg {
	flex-shrink: 0;
	height: auto;
	width: 2.25rem;
}

.project-program__youtube-btn::before {
	background-color: #fff;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: translateX(-115%) skewX(15deg);
	transition: transform 0.4s ease;
	width: 130%;
	z-index: 0;
}

.project-program__youtube-screenshot {
	flex: 0 0 28.375rem;
	min-width: 0;
	overflow: hidden;
}

.project-program__youtube-screenshot img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.project-benefit {
	background: url(../../assets/img/project/bg_benefit.webp) center center/cover no-repeat;
	padding-block: 5.4375rem 7rem;
}

.project-benefit__inner {
	margin-inline: auto;
	max-width: 90rem;
	width: 100%;
}

.project-benefit__title-wrapper {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-block-end: -0.5rem;
	text-align: center;
}

.project-benefit__title {
	color: #fff;
	font-family: Anton, sans-serif;
	font-size: 5rem;
	letter-spacing: 0.25rem;
	line-height: 1.5;
}

.project-benefit__sub-title {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 1.5;
	margin-block-start: -0.09375rem;
}

.project-benefit__item {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding-block: 2.25rem 3.25rem;
	position: relative;
	width: 100%;
}

.project-benefit__item::after {
	background-color: #EC1010;
	bottom: 0;
	content: "";
	height: 0.25rem;
	left: 50%;
	position: absolute;
	translate: -50%;
	width: 100vw;
}

.project-benefit__item--last {
	padding-block-end: 0 !important;
}

.project-benefit__item--last::after {
	display: none;
}

.project-benefit__item-header {
	align-items: center;
	display: flex;
	gap: 1.5rem;
	padding-inline-start: 19.6875rem;
	width: 100%;
}

.project-benefit__num {
	color: #fff;
	flex-shrink: 0;
	font-family: Anton, sans-serif;
	font-size: 5rem;
	letter-spacing: 0.25rem;
	line-height: 1.505;
}

.project-benefit__item-text {
	color: #fff;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.0875rem;
	line-height: 1.5;
}

.project-benefit__item-text-group {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.project-benefit__item-text-group .project-benefit__item-text {
	text-align: left;
}

.project-benefit__item-note {
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.5;
}

.project-benefit__img {
	aspect-ratio: 640/361;
	height: auto;
	width: 40rem;
	-o-object-fit: cover;
	display: block;
	margin-block-start: 0.75rem;
	object-fit: cover;
}

.project-benefit__logos {
	align-items: center;
	display: flex;
	gap: 1rem;
	margin-block-start: 1.3125rem;
}

.project-benefit__logos-row {
	display: contents;
}

.project-benefit__logo-item {
	background-color: #fff;
	flex-shrink: 0;
	height: 9.375rem;
	position: relative;
	width: 9.3125rem;
}

.project-benefit__logo-item--dark {
	background-color: #000;
}

.project-benefit__logo-item img {
	height: 6.25rem;
	left: 50%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 6.25rem;
	-o-object-fit: contain;
	object-fit: contain;
}

.project-benefit__gallery {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-block-start: 0.8125rem;
	width: 50.5rem;
}

.project-benefit__gallery-row {
	align-items: flex-end;
	display: flex;
	gap: 1.5rem;
}

.project-benefit__gallery-row img {
	flex: 1;
	height: auto;
	min-width: 0;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.project-faq {
	background: url(../../assets/img/project/bg_faq.webp) center center/cover no-repeat;
	padding-block: 5.4375rem 7rem;
}

.project-faq__items {
	display: grid;
	margin-block-start: 3.4375rem;
	margin-inline: auto;
	max-width: 50.5625rem;
	row-gap: 1.5rem;
}

.project-faq__item {
	background-color: #fff;
	border: 0.125rem solid #e5e5e5;
	width: 100%;
}

.project-faq__summary {
	align-items: center;
	display: flex;
	list-style: none;
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	padding: 1.078125rem 1.5rem 1.078125rem 1rem;
}

.project-faq__summary::-webkit-details-marker {
	display: none;
}

.project-faq__label {
	flex-shrink: 0;
	font-family: Montserrat, sans-serif;
	font-size: 1.5625rem;
	font-weight: 700;
	line-height: 1.5;
}

.project-faq__label--question {
	color: #161616;
}

.project-faq__label--answer {
	color: #DE0303;
}

.project-faq__question {
	flex: 1;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
}

.project-faq__arrow {
	flex-shrink: 0;
	height: 0.625rem;
	transform: rotate(180deg);
	transition: transform 0.25s ease;
	width: 1.25rem;
}

.project-faq__content {
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	transition: grid-template-rows 0.3s ease, opacity 0.2s ease;
}

.project-faq__content-inner {
	min-height: 0;
	overflow: hidden;
	padding-inline: 1rem 1.5rem;
}

.project-faq__answer-row {
	align-items: center;
	display: flex;
	-moz-column-gap: 1.5rem;
	border-top: 0.125rem dotted #D4D4D4;
	column-gap: 1.5rem;
	padding-block: 1.078125rem;
	padding-inline-end: 2.875rem;
}

.project-faq__answer {
	color: #161616;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.project-faq__item.is-opened .project-faq__content {
	grid-template-rows: 1fr;
	opacity: 1;
}

.project-faq__item.is-opened .project-faq__arrow {
	transform: rotate(0deg);
}

.project-cta {
	background: linear-gradient(94deg, #0E005B -10.82%, #DE0303 28.56%);
}

.project-cta .inner {
	display: flex;
	flex-direction: column;
	max-width: 39.0625rem;
	padding-block: 7rem;
	row-gap: 1.5rem;
}

.project-cta__message {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 1.5;
	text-align: center;
}

.project-cta__text {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	line-height: 1.5;
	text-align: center;
}

/*===================================================================
# News 一覧
===================================================================*/

.news {
	background: url(../../assets/img/common/bg_subpage.webp) top center/cover no-repeat, #F3F3F3;
	padding-block-start: 8.5625rem;
	position: relative;
}

.news__outer {
	background-color: #fff;
	position: relative;
	z-index: 2;
}

.news__inner {
	padding-block: 7rem;
}

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

.news__main-content {
	display: flex;
	flex-direction: column;
	max-width: 49.0625rem;
	row-gap: 4.5rem;
	width: 100%;
}

.news__cards {
	display: grid;
	gap: 3.0625rem;
	grid-template-columns: repeat(2, 1fr);
}

.news__card-link {
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
}

.news__card-thumb {
	background-color: #e8e8e8;
	border-radius: 0.625rem;
	height: 13.75rem;
	overflow: hidden;
	width: 100%;
}

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

.news__card-img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.news__card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.8125rem;
	padding-block-start: 0.8125rem;
}

.news__card-category {
	align-items: center;
	border: 0.0625rem solid #DE0303;
	color: #DE0303;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.04375rem;
	line-height: 1;
	padding: 0.53125rem 0.4375rem;
	width: -moz-fit-content;
	width: fit-content;
}

.news__card-title {
	display: -webkit-box;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	margin: 0;
	overflow: hidden;
	width: 100%;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-pack: start;
	margin-block-start: -0.375rem;
}

.news__card-date {
	color: #A1A1A1;
	font-family: "Josefin Sans", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 150%;
	margin-block-start: 0.1875rem;
}

.news__empty {
	font-size: 1rem;
}

.news__sidebar {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 3rem;
	width: 25rem;
}

.news__sidebar-youtube {
	background-color: #DE0303;
	border-radius: 0.9375rem;
	padding-block: 2rem;
	padding-inline: 2rem;
}

.news__sidebar-youtube-logo {
	height: auto;
	margin-inline: auto;
	width: 13.125rem;
}

.news__sidebar-youtube-title {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 1.5;
	margin-block-start: 1.3125rem;
	text-align: center;
}

.news__sidebar-youtube-description {
	color: #fff;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	margin-block: 0.625rem 1.375rem;
	text-align: center;
}

.news__sidebar-box {
	background-color: #fff;
	border: 0.125rem solid #e3e3e3;
	border-radius: 0.625rem;
	display: flex;
	flex-direction: column;
	gap: 1.1875rem;
	padding: 2rem 2rem 1.5rem;
}

.news__sidebar-heading {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.0625rem;
	line-height: 150%;
}

.news__sidebar-cats {
	border-bottom: 0.0625rem dashed #161616;
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem 0.625rem;
	padding-block-end: 1.4375rem;
}

.news__sidebar-cat {
	align-items: center;
	border: 0.0625rem solid #DE0303;
	color: #DE0303;
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.0375rem;
	line-height: 1.5;
	padding: 0.0625rem 0.4375rem;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.news__sidebar-archive {
	display: flex;
	flex-direction: column;
	margin-block-start: -0.125rem;
	row-gap: 0.5rem;
}

.news__sidebar-year {
	color: #888888;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.046875rem;
	line-height: 150%;
	margin-block-start: -0.25rem;
	text-decoration: none;
	transition: color 0.2s ease;
}

/*===================================================================
# News - Post
===================================================================*/

.news-post {
	min-width: 0;
	overflow: hidden;
}

.news-post__main-content {
	display: block;
}

.news-post__title {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	line-height: 150%;
}

.news-post__meta {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	margin-block-start: 2rem;
}

.news-post__date {
	font-family: "Josefin Sans", sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.05625rem;
	line-height: 150%;
	padding-block-start: 0.25rem;
}

.news-post__category {
	align-items: center;
	border: 0.0625rem solid #DE0303;
	color: #DE0303;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 1.5;
	padding: 0.3125rem 0.4375rem;
}

.news-post__thumb {
	margin-block-start: 6rem;
	width: 100%;
}

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

.news-post__picture img {
	display: block;
	height: auto;
	width: 100%;
}

.news-post__body {
	margin-block-start: 4.5rem;
}

.news-post__body > * + * {
	margin-block-start: 2.5rem;
}

.news-post__body h2 {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 150%;
	margin-block-start: 3.5rem;
	padding-inline-start: 1.25rem;
	position: relative;
}

.news-post__body h2::before {
	background: url(../../assets/img/common/h2_deco.svg) center center/contain no-repeat;
	content: "";
	height: 1.4375rem;
	left: 0;
	position: absolute;
	top: 0.4375rem;
	width: 0.625rem;
	z-index: 1;
}

.news-post__body h2 + p {
	margin-block-start: 2.5rem;
}

.news-post__body h3 {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.0625rem;
	line-height: 150%;
	margin-block-start: 2.5rem;
}

.news-post__body iframe {
	aspect-ratio: 16/9;
	height: auto;
	width: 100%;
}

.news-post__body p {
	letter-spacing: 0.08rem;
	line-height: 1.8;
}

.news-post__body p + p {
	margin-block-start: 2.5rem;
}

.news-post__body figure {
	margin-block-start: 2.5rem;
	margin-inline: 0;
}

.news-post__body figure img {
	height: auto;
	width: 100%;
}

.news-post__body figure figcaption {
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
	line-height: 1.5;
	margin-block-start: 1rem;
}

.news-post__body ul {
	background-color: #f9f9f9;
	border: 0.0625rem solid #D4D4D4;
	list-style: none;
	margin-block-start: 1.5rem;
	padding: 1.5rem;
}

.news-post__body ul li {
	letter-spacing: 0.08rem;
	line-height: 1.8;
	padding-inline-start: 1.375rem;
	position: relative;
}

.news-post__body ul li::before {
	background-color: #161616;
	border-radius: 50%;
	content: "";
	height: 0.25rem;
	left: 0.5625rem;
	position: absolute;
	top: 1em;
	translate: 0 -50%;
	width: 0.25rem;
}

.news-post__body ul li + li {
	margin-block-start: 1rem;
}

.news-post__footer {
	margin-block-start: 3rem;
}

/*===================================================================
# Articles
===================================================================*/

.articles {
	background: url(../../assets/img/common/bg_subpage.webp) top center/cover no-repeat;
	padding-block-start: 8.5625rem;
	position: relative;
}

.articles__outer {
	background-color: #fff;
	padding-block: 7rem;
	position: relative;
	z-index: 2;
}

.articles__inner {
	padding-block: 7rem;
}

.articles__body {
	align-items: flex-start;
	display: flex;
	gap: 6.9375rem;
}

.articles__main-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	row-gap: 4.5rem;
}

.articles__cards {
	display: grid;
	gap: 3rem;
	grid-template-columns: repeat(2, 1fr);
}

.articles__card-link {
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
}

.articles__card-thumb {
	background-color: #e8e8e8;
	border-radius: 0.625rem;
	height: 13.75rem;
	overflow: hidden;
	width: 100%;
}

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

.articles__card-img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.articles__card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.8125rem;
	padding-block-start: 0.8125rem;
}

.articles__card-category {
	align-items: center;
	border: 0.0625rem solid #DE0303;
	color: #DE0303;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.04375rem;
	line-height: 1;
	padding: 0.53125rem 0.4375rem;
	width: -moz-fit-content;
	width: fit-content;
}

.articles__card-title {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 150%;
	margin-block-start: -0.3125rem;
}

.articles__card-date {
	color: #A1A1A1;
	font-family: "Josefin Sans", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 150%;
}

.articles__empty {
	font-size: 1rem;
}

.articles__sidebar {
	flex-shrink: 0;
	width: 25.0625rem;
}

.articles__sidebar-box {
	background-color: #fff;
	border: 0.125rem solid #e3e3e3;
	border-radius: 0.625rem;
	display: flex;
	flex-direction: column;
	gap: 1.1875rem;
	padding: 2rem;
}

.articles__sidebar-heading {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.0625rem;
	line-height: 150%;
}

.articles__sidebar-cats {
	border-bottom: 0.0625rem dashed #161616;
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem 0.625rem;
	padding-block-end: 1.5rem;
}

.articles__sidebar-cat {
	align-items: center;
	border: 0.0625rem solid #DE0303;
	color: #DE0303;
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.5;
	padding: 0.125rem 0.5rem;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.articles__sidebar-tags {
	border-bottom: 0.0625rem dashed #161616;
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem 0.5rem;
	padding-block-end: 1.5rem;
}

.articles__sidebar-tag {
	align-items: center;
	background-color: #DE0303;
	border-radius: 0.25rem;
	color: #fff;
	display: inline-flex;
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.5;
	padding: 0.125rem 0.5rem;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.articles__sidebar-archive {
	display: flex;
	flex-direction: column;
	row-gap: 0.5rem;
}

.articles__sidebar-year {
	color: #888888;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.046875rem;
	line-height: 150%;
	margin-block-start: -0.25rem;
	text-decoration: none;
	transition: color 0.2s ease;
}

/*===================================================================
# Articles - Post
===================================================================*/

.articles-post__title {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	line-height: 150%;
}

.articles-post__meta {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	margin-block-start: 2.0625rem;
}

.articles-post__date {
	font-family: "Josefin Sans", sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.05625rem;
	line-height: 150%;
	padding-block-start: 0.25rem;
}

.articles-post__category {
	align-items: center;
	border: 0.0625rem solid #DE0303;
	color: #DE0303;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 1.5;
	padding: 0.3125rem 0.4375rem;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.articles-post__label-group {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.articles-post__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
}

.articles-post__tag {
	align-items: center;
	background-color: #DE0303;
	border-radius: 0.25rem;
	color: #fff;
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.0375rem;
	line-height: 1.5;
	padding: 0.25rem 0.4375rem;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.articles-post__thumb {
	margin-block-start: 6rem;
}

.articles-post__toc {
	background-color: #f9f9f9;
	border: 0.0625rem solid #DE0303;
	border-radius: 0.625rem;
	margin-block: 4.5rem;
	padding: 2rem;
}

.articles-post__toc-title {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	text-align: center;
}

.articles-post__toc-list {
	display: flex;
	flex-direction: column;
	margin-block-start: 1rem;
	row-gap: 1.5rem;
}

.articles-post__toc-item a {
	color: #DE0303;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	position: relative;
	text-decoration: none;
}

.articles-post__toc-item a::after {
	background-color: currentColor;
	content: "";
	height: 1px;
	inset-block-end: 0;
	inset-inline-start: 50%;
	position: absolute;
	transition: width 0.3s ease;
	translate: -50% 0;
	width: 0;
}

.articles-post__body {
	margin-block-start: 2.5rem;
}

.articles-post__body > * + * {
	margin-block-start: 1.5rem;
}

.articles-post__body img {
	height: auto;
	max-width: 100%;
}

.articles-post__body h2 {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 150%;
	margin-block-start: 3rem;
	padding-inline-start: 1.25rem;
	position: relative;
}

.articles-post__body h2::before {
	background: url(../../assets/img/common/h2_deco.svg) center center/contain no-repeat;
	content: "";
	height: 1.4375rem;
	left: 0;
	position: absolute;
	top: 0.4375rem;
	width: 0.625rem;
	z-index: 1;
}

.articles-post__body h2 + p {
	margin-block-start: 2.5rem;
}

.articles-post__body h3 {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.0625rem;
	line-height: 150%;
	margin-block-start: 2.5rem;
}

.articles-post__body p {
	letter-spacing: 0.08rem;
	line-height: 1.8;
}

.articles-post__body p + p {
	margin-block-start: 1.5rem;
}

.articles-post__body a:not(.articles-post__toc-item a) {
	color: inherit;
	position: relative;
	text-decoration: none;
}

.articles-post__body a:not(.articles-post__toc-item a)::after {
	background-color: currentColor;
	content: "";
	height: 1px;
	inset-block-end: 0;
	inset-inline-start: 50%;
	position: absolute;
	transition: width 0.3s ease;
	translate: -50% 0;
	width: 0;
}

.articles-post__body figure {
	margin-block-start: 2.5rem;
	margin-inline: 0;
	max-width: 100%;
}

.articles-post__body figure img {
	height: auto;
	width: 100%;
}

.articles-post__body figure figcaption {
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
	line-height: 1.5;
	margin-block-start: 1rem;
	overflow-wrap: break-word;
	word-break: break-word;
}

.articles-post__body ul:not(.articles-post__toc-list) {
	background-color: #f9f9f9;
	border: 0.0625rem solid #D4D4D4;
	list-style: none;
	margin-block-start: 1.5rem;
	padding: 1.5rem;
}

.articles-post__body ul:not(.articles-post__toc-list) li:not(.articles-post__toc-item) {
	letter-spacing: 0.08rem;
	line-height: 1.8;
	padding-inline-start: 1.375rem;
	position: relative;
}

.articles-post__body ul:not(.articles-post__toc-list) li:not(.articles-post__toc-item)::before {
	background-color: #161616;
	border-radius: 50%;
	content: "";
	height: 0.25rem;
	left: 0.5625rem;
	position: absolute;
	top: 1em;
	translate: 0 -50%;
	width: 0.25rem;
}

.articles-post__body ul:not(.articles-post__toc-list) li:not(.articles-post__toc-item) + li {
	margin-block-start: 1rem;
}

.articles-post__footer {
	margin-block-start: 3rem;
}

/*===================================================================
# Supporters
===================================================================*/

.supporters {
	background: url(../../assets/img/common/bg_subpage.webp) top center/cover no-repeat;
	padding-block-start: 8.5625rem;
	position: relative;
}

.supporters__inner {
	padding-block: 7rem;
}

.supporters__list {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(4, 1fr);
}

.supporters__list-more {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(4, 1fr);
	overflow: hidden;
	padding-block-start: 1.5rem;
	transition: height 0.5s ease;
}

.supporters__card {
	align-items: center;
	aspect-ratio: 1/1;
	background-color: #ffffff;
	border: 0.0625rem solid #161616;
	cursor: pointer;
	display: flex;
	font-family: inherit;
	font-size: inherit;
	justify-content: center;
	overflow: hidden;
	padding: 1.875rem;
	position: relative;
	transition: background-color 0.3s ease;
	width: 100%;
}

.supporters__card-logo-wrap {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.supporters__card-logo {
	height: 100%;
	width: 100%;
	-o-object-fit: contain;
	display: block;
	object-fit: contain;
	transition: transform 0.3s ease;
}

.supporters__card-icon {
	background-color: #DE0303;
	bottom: 0;
	height: 4.375rem;
	position: absolute;
	right: 0;
	width: 4.375rem;
	-webkit-clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
	transition: background-color 0.3s ease;
}

.supporters__card-plus {
	bottom: 0.5rem;
	color: #ffffff;
	height: 1.1875rem;
	position: absolute;
	right: 0.5rem;
	transition: color 0.3s ease;
	width: 1.1875rem;
}

.supporters__more {
	display: flex;
	justify-content: center;
	padding-block-start: 1.5rem;
}

.supporters__more-btn {
	align-items: center;
	background-color: #ffffff;
	border: 0.0625rem solid #D4D4D4;
	border-radius: 62.4375rem;
	color: #161616;
	cursor: pointer;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	gap: 0.625rem;
	line-height: 1.5;
	padding: 0.5rem 1.25rem;
	transition: opacity 0.2s ease;
}

.supporters__more-btn-arrow {
	flex-shrink: 0;
	transition: transform 0.3s ease;
}

.supporters__more-btn--expanded .supporters__more-btn-arrow {
	transform: rotate(180deg);
}

.supporters__empty {
	font-size: 1rem;
}

.supporters__modal {
	display: none;
	inset: 0;
	overflow-y: auto;
	position: fixed;
	z-index: 1000;
}

.supporters__modal--active {
	display: block;
}

.supporters__modal-overlay {
	background-color: #000000;
	cursor: pointer;
	inset: 0;
	opacity: 0.75;
	position: fixed;
}

.supporters__modal-container {
	align-items: center;
	background-color: #ffffff;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-block-end: 5rem;
	margin-block-start: 5rem;
	margin-inline: auto;
	padding-block: 4.5rem;
	padding-inline: 4.8125rem;
	position: relative;
	width: 62.5rem;
}

.supporters__modal-close-x {
	background: none;
	border: none;
	cursor: pointer;
	height: 1.6875rem;
	inset-block-start: 2rem;
	inset-inline-end: 2rem;
	padding: 0;
	position: absolute;
	transition: opacity 0.2s ease;
	width: 1.625rem;
}

.supporters__modal-close-x svg {
	display: block;
	height: 100%;
	width: 100%;
}

.supporters__modal-body {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	width: 100%;
}

.supporters__modal-official-link {
	color: #161616;
	word-break: break-all;
}

.supporters__modal-upper {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2.4375rem;
	width: 100%;
}

.supporters__modal-img-wrap {
	width: 25.25rem;
}

.supporters__modal-img {
	aspect-ratio: 3/2;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.supporters__modal-title {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	width: 100%;
}

.supporters__modal-message {
	color: #DE0303;
	font-feature-settings: "palt";
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.0875rem;
	line-height: 1.5;
	text-align: center;
}

.supporters__modal-names {
	align-items: center;
	display: flex;
	gap: 1.5rem;
}

.supporters__modal-company {
	color: #161616;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
}

.supporters__modal-rep {
	color: #161616;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
}

.supporters__modal-info {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.supporters__modal-info-item {
	align-items: stretch;
	border-block-end: 0.0625rem solid #161616;
	display: flex;
	gap: 2rem;
}

.supporters__modal-info-item:first-child {
	border-block-start: 0.0625rem solid #161616;
}

.supporters__modal-info-item:last-child {
	border-block-end: 0.0625rem solid #000000;
}

.supporters__modal-info-label {
	align-items: center;
	background-color: #F1F1F1;
	color: #161616;
	display: flex;
	flex-shrink: 0;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	padding-block: 1.25rem;
	padding-inline: 2rem;
	width: 12.8125rem;
}

.supporters__modal-info-item:last-child .supporters__modal-info-label {
	padding-block: 2.25rem;
}

.supporters__modal-info-value {
	align-items: center;
	color: #161616;
	display: flex;
	flex: 1;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	word-break: break-all;
}

.supporters__modal-info-value--service {
	padding-block: 0.5rem;
}

.supporters__modal-close {
	background-color: #161616;
	border: none;
	border-radius: 62.4375rem;
	color: #ffffff;
	cursor: pointer;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.5;
	overflow: hidden;
	padding-block: 0.5rem;
	padding-inline: 1.25rem;
	position: relative;
	width: 6.875rem;
}

.supporters__modal-close::before {
	background-color: #DE0303;
	content: "";
	inset-block-end: 0;
	inset-block-start: 0;
	inset-inline-start: -20%;
	position: absolute;
	transform: skewX(-20deg) translateX(-120%);
	transition: transform 0.4s ease;
	width: 130%;
}

.supporters__modal-close-text {
	position: relative;
	z-index: 1;
}

/*===================================================================
# Interview
===================================================================*/

.interview {
	background: url(../../assets/img/common/bg_subpage.webp) top center/cover no-repeat;
	padding-block-start: 8.5625rem;
	position: relative;
}

.interview__outer {
	background-color: #fff;
	position: relative;
	z-index: 2;
}

.interview__inner {
	padding-block: 7rem;
}

.interview__filter {
	align-items: flex-start;
	display: flex;
	gap: 2rem;
	justify-content: space-between;
}

.interview__filter-heading {
	color: #161616;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 1.5;
	margin-block-end: 1rem;
}

.interview__filter-condition {
	flex: 1;
}

.interview__filter-condition-box {
	align-items: flex-end;
	background-color: #DE0303;
	border-radius: 0.625rem;
	display: flex;
	gap: 2rem;
	padding: 1.5rem 2rem;
}

.interview__filter-select-group {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.5rem;
}

.interview__filter-label {
	color: #ffffff;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	line-height: 1.5;
}

.interview__filter-select-wrap {
	background-color: #fbfbfb;
	border-radius: 0.625rem;
	position: relative;
}

.interview__filter-select {
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border: none;
	color: #161616;
	cursor: pointer;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	padding: 0.625rem 2.5rem 0.625rem 1rem;
}

.interview__filter-select:focus {
	outline: none;
}

.interview__filter-chevron {
	color: #161616;
	flex-shrink: 0;
	height: auto;
	inset-block-start: 50%;
	inset-inline-end: 1rem;
	pointer-events: none;
	position: absolute;
	translate: 0 -50%;
	width: 0.6875rem;
}

.interview__filter-reset {
	align-self: flex-end;
	border-block-end: 0.0625rem solid #ffffff;
	color: #ffffff;
	flex-shrink: 0;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	margin-inline-start: 1.25rem;
	padding-block-end: 0.125rem;
	text-decoration: none;
	transition: opacity 0.2s ease;
	white-space: nowrap;
}

.interview__filter-keyword {
	flex-shrink: 0;
	width: 25rem;
}

.interview__filter-keyword-box {
	background-color: #DE0303;
	border-radius: 0.625rem;
	display: flex;
	justify-content: center;
	padding: 1.5rem 2rem;
}

.interview__filter-keyword-inner {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 21rem;
}

.interview__filter-keyword-label {
	color: #e8e8e8;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
}

.interview__filter-keyword-input-wrap {
	background-color: #ffffff;
	border-radius: 0.625rem;
	padding: 0.5625rem 1rem;
}

.interview__filter-keyword-input {
	background-color: transparent;
	border: none;
	color: #161616;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	width: 100%;
}

.interview__filter-keyword-input::-moz-placeholder {
	color: #a9a9a9;
}

.interview__filter-keyword-input::placeholder {
	color: #a9a9a9;
}

.interview__filter-keyword-input:focus {
	outline: none;
}

.interview__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	-moz-column-gap: 3.5rem;
	column-gap: 3.5rem;
	margin-block: 7rem 4.5rem;
	row-gap: 3.5rem;
}

.interview__card-link {
	border-radius: 0.625rem;
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	text-decoration: none;
}

.interview__card-thumb {
	background-color: #e8e8e8;
	flex-shrink: 0;
	height: 13.875rem;
	overflow: hidden;
	width: 100%;
}

.interview__card-img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: top;
	display: block;
	object-position: top;
	transition: transform 0.3s ease;
}

.interview__card-body {
	background-color: #ffffff;
	border-radius: 0 0 0.625rem 0.625rem;
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 1rem;
	padding: 1.25rem;
}

.interview__card-title {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	min-height: 4.5em;
}

.interview__card-name {
	background-color: #f2f2f2;
	display: block;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	padding: 0.5rem 1rem;
	text-align: center;
	width: 100%;
}

.interview__card-lead {
	-webkit-line-clamp: 3;
	color: #888888;
	display: -webkit-box;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 1.5;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.interview__card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-block-start: auto;
}

.interview__card-tag {
	align-items: center;
	border: 0.0625rem solid #DE0303;
	color: #DE0303;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.04375rem;
	line-height: 1.5;
	padding: 0.3125rem 0.46875rem;
}

.interview__empty {
	font-size: 1rem;
}

.interview__pagination {
	display: flex;
	justify-content: center;
}

/*===================================================================
# Interview - Post
===================================================================*/

.interview-post {
	background: url(../../assets/img/common/bg_subpage.webp) top center/cover no-repeat;
	padding-block-start: 8.5625rem;
	position: relative;
}

.interview-post__head {
	display: grid;
	grid-template-columns: 1fr minmax(0, 40.5rem) minmax(0, 40.5rem) 1fr;
}

.interview-post__head-inner {
	display: contents;
}

.interview-post__head-left,
.interview-post__head-right {
	height: 25rem;
}

.interview-post__head-left {
	display: flex;
	flex-direction: column;
	grid-column: 2/3;
	height: 25rem;
	padding-block-start: 4.0625rem;
	padding-inline-end: 3rem;
	row-gap: 1.5625rem;
	width: 100%;
}

.interview-post__head-info {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.interview-post__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.interview-post__tag {
	align-items: center;
	border: 0.0625rem solid #DE0303;
	color: #DE0303;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.04375rem;
	line-height: 1.5;
	min-width: 4.6875rem;
	padding: 0.3125rem 0.46875rem;
}

.interview-post__head-meta {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.interview-post__head-company,
.interview-post__head-interviewee {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.0625rem;
	line-height: 1.5;
}

.interview-post__title {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	line-height: 1.5;
}

.interview-post__head-right {
	flex-shrink: 0;
	grid-column: 3/5;
	height: 25rem;
	overflow: hidden;
	width: 100%;
}

.interview-post__head-img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center top;
	display: block;
	object-position: center top;
}

.interview-post__body {
	display: flex;
	flex-direction: column;
	padding-block: 7rem;
}

.interview-post__footer {
	margin-block-start: 3rem;
}

.interview-post__career {
	background-color: #f9f9f9;
	border: 0.0625rem solid #d4d4d4;
	border-radius: 0.625rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 2rem;
}

.interview-post__career-label {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	line-height: 1.5;
}

.interview-post__career-text {
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08rem;
	line-height: 1.8;
}

.interview-post__content > * + * {
	margin-block-start: 2rem;
}

.interview-post__content h2 {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 150%;
	margin-block-start: 4.5rem;
	padding-inline-start: 1.25rem;
	position: relative;
}

.interview-post__content h2::before {
	background: url(../../assets/img/common/h2_deco.svg) center center/contain no-repeat;
	content: "";
	height: 1.4375rem;
	left: 0;
	position: absolute;
	top: 0.4375rem;
	width: 0.625rem;
	z-index: 1;
}

.interview-post__content h2 + p {
	margin-block-start: 2rem;
}

.interview-post__content h3 {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.0625rem;
	line-height: 150%;
	margin-block-start: 2.5rem;
}

.interview-post__content h3 + p {
	margin-block-start: 2rem;
}

.interview-post__content p {
	letter-spacing: 0.08rem;
	line-height: 1.8;
}

.interview-post__content p + p {
	margin-block-start: 1.5rem;
}

.interview-post__content figure {
	margin-block-start: 2.5rem;
	margin-inline: 0;
}

.interview-post__content figure img {
	display: block;
	height: auto;
	width: 100%;
}

.interview-post__content figure figcaption {
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
	line-height: 1.5;
	margin-block: 1rem 0;
}

.interview-post__content .wp-block-embed-youtube,
.interview-post__content .wp-block-embed {
	margin-block-start: 2.5rem;
	margin-inline: 0;
}

.interview-post__content .wp-block-embed-youtube .wp-block-embed__wrapper,
.interview-post__content .wp-block-embed .wp-block-embed__wrapper {
	aspect-ratio: 16/9;
	position: relative;
	width: 100%;
}

.interview-post__content .wp-block-embed-youtube .wp-block-embed__wrapper iframe,
.interview-post__content .wp-block-embed .wp-block-embed__wrapper iframe {
	display: block;
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.interview-post__content .wp-block-columns {
	align-items: flex-start;
	display: flex;
	gap: 3rem;
	margin-block-start: 2.5rem;
}

.interview-post__content .wp-block-columns .wp-block-column {
	flex: 1;
	min-width: 0;
}

.interview-post__content .wp-block-columns .wp-block-column figure {
	margin-block-start: 0;
}

.interview-post__content ul {
	background-color: #f9f9f9;
	border: 0.0625rem solid #d4d4d4;
	list-style: none;
	margin-block-start: 1.5rem;
	padding: 1.5rem;
}

.interview-post__content ul li {
	letter-spacing: 0.08rem;
	line-height: 1.8;
	padding-inline-start: 1.375rem;
	position: relative;
}

.interview-post__content ul li::before {
	background-color: #161616;
	border-radius: 50%;
	content: "";
	height: 0.25rem;
	left: 0.5625rem;
	position: absolute;
	top: 1em;
	translate: 0 -50%;
	width: 0.25rem;
}

.interview-post__content ul li + li {
	margin-block-start: 1rem;
}

.interview-post__media {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	margin-block-start: 4.5rem;
}

.interview-post__program p {
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08rem;
	line-height: 1.8;
}

.interview-post__youtube {
	aspect-ratio: 16/9;
	max-width: 31.25rem;
	width: 100%;
}

.interview-post__youtube iframe {
	display: block;
	height: 100%;
	width: 100%;
}

.interview-post__company-section {
	border-block: 0.0625rem solid #d4d4d4;
	padding-block: 2.5rem;
	width: 100%;
}

.interview-post__company-inner {
	display: grid;
	gap: 5.375rem;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
}

.interview-post__company-col {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.interview-post__company-row {
	display: flex;
	flex-direction: column;
	gap: 0.1875rem;
}

.interview-post__company-label {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05rem;
	line-height: 1.5;
}

.interview-post__company-value {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
}

.interview-post__company-url {
	align-self: flex-start;
	border-block-end: 0.0625rem solid #161616;
	color: #161616;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	text-decoration: none;
}

.interview-post__related {
	background: url(../../assets/img/common/bg_subpage.webp) top center/cover no-repeat;
	padding-block: 7rem;
	width: 100%;
}

.interview-post__related-inner {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.interview-post__related-heading {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	line-height: 1.5;
}

.interview-post__related-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	-moz-column-gap: 3.5rem;
	column-gap: 3.5rem;
	row-gap: 3.5rem;
	width: 100%;
}

/*===================================================================
# Contact
===================================================================*/

.contact {
	background: url(../../assets/img/common/bg_subpage.webp) top center/cover no-repeat;
	padding-block: 8.625rem 7rem;
	position: relative;
}

.contact__form-container {
	background-color: #F3F3F3;
	border: 0.25rem solid #FFF;
	border-radius: 0.625rem;
	margin-block: 7rem 0;
	padding: 3.3125rem 6.25rem 3.875rem;
}

.contact__form-lead {
	font-weight: 700;
	letter-spacing: 0.05rem;
	line-height: 150%;
	margin-block-start: 0.6875rem;
	margin-inline: auto;
	max-width: 35.375rem;
	width: 100%;
}

.contact__form {
	display: flex;
	flex-direction: column;
	margin-block-start: 2.0625rem;
	row-gap: 1.75rem;
	width: 100%;
}

.contact__form-must {
	background-color: #DE0303;
	border-radius: 0.3125rem;
	color: #FFF;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04375rem;
	line-height: 1.5625rem;
	margin-inline-end: 1rem;
	padding-inline: 0.375rem;
}

.contact__row {
	display: flex; /* フォーム行 */
	flex-direction: column;
	margin-inline: auto;
	max-width: 35.375rem;
	width: 100%;
}

.contact__head {
	align-items: center;
	display: flex;
	font-weight: 700; /* 項目名 */
	letter-spacing: 0.05rem;
	line-height: 150%;
}

.contact__select-wrap {
	margin-block-start: 0.5rem;
	position: relative; /* セレクトボックスラッパー */
}

.contact__select-wrap svg {
	inset-block-start: 50%;
	inset-inline-end: 2rem;
	pointer-events: none;
	position: absolute;
	translate: 0 -50%;
	z-index: 1;
}

.contact__select-wrap select {
	width: 100%;
	-moz-appearance: none;
	appearance: none;
	-webkit-appearance: none;
	background: #FFF;
	border: 0.0625rem solid #D4D4D4;
	border-radius: 0.375rem;
	color: #161616;
	cursor: pointer;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 150%;
	padding-block: 0.875rem;
	padding-inline: 2rem 2.5rem;
}

.contact__select-wrap select:focus {
	outline: 0.0625rem solid #DE0303;
}

.contact__submit-wrap {
	display: flex; /* 送信ボタンラッパー */
	justify-content: center;
	margin-block-start: 1rem;
}

.contact__btn {
	background-color: #DE0303;
	background-image: url(../../assets/img/common/btn_arrow_pc.svg);
	background-position: right 0.6875rem center;
	background-repeat: no-repeat;
	background-size: 2.5625rem 2.25rem;
	border: none;
	border-radius: 62.4375rem;
	color: #FFF;
	display: block; /* 送信ボタン */
	font-size: 1.125rem;
	font-weight: 700;
	padding-block: 1.0625rem;
	text-align: center;
	transition: opacity 0.3s ease;
	width: 17.75rem;
}

.contact__btn:disabled,
.contact__btn[disabled] {
	background-color: #c9c9c9;
	background-image: none;
	cursor: not-allowed;
	opacity: 0.7;
}

.contact__btn:focus-visible {
	outline: none; /* フォーカス時 */
	outline: 0.0625rem solid #DE0303;
}

input[type=text],
input[type=tel],
input[type=email],
textarea {
	background: #FFF;
	border: 0.0625rem solid #D4D4D4;
	border-radius: 0.375rem;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 150%;
	margin-block-start: 1.125rem;
	padding-block: 0.875rem;
	padding-inline: 2rem;
	width: 100%;
}

input[type=text]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=email]::-moz-placeholder,
textarea::-moz-placeholder {
	color: #A9A9A9;
}

input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=email]::placeholder,
textarea::placeholder {
	color: #A9A9A9;
}

/* フォーカス時 */

input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
textarea:focus {
	outline: 0.0625rem solid #DE0303;
}

textarea {
	height: 18.75rem;
	resize: vertical;
}

.contact__acceptance {
	margin-block: 0.0625rem 0.1875rem;
	text-align: center;
}

/* CF7特有のリストアイテムの回り込みを解除 */

.wpcf7-list-item {
	display: inline-block; /* これでtext-align: centerが効くようになります */
	margin: 0;
}

.contact__underline-btn-link {
	color: inherit;
	font-weight: 500;
	line-height: 180%;
	text-decoration-line: underline;
	text-decoration-style: solid;
	-webkit-text-decoration-skip-ink: none;
	text-decoration-skip-ink: none;
	text-decoration-thickness: auto;
	text-underline-offset: 0.1875rem;
	text-underline-position: from-font;
}

input[type=checkbox] {
	height: 0.0625rem;
	position: absolute;
	width: 0.0625rem; /* デフォルトのものを消す */
	clip: rect(0, 0, 0, 0);
}

/* フォーカス時 */

input[type=checkbox]:focus + span::before {
	outline: 0.0625rem solid #DE0303;
}

/* チェックされた時の挙動 */

input[type=checkbox]:checked + span::before {
	background-color: #DE0303;
	border-color: #DE0303;
}

input[type=checkbox]:checked + span::after {
	opacity: 1;
}

.wpcf7-list-item-label {
	cursor: pointer;
	display: inline-block;
	font-weight: 500;
	line-height: 180%;
	padding-left: 2.0625rem;
	position: relative;
	text-align: left;
}

.wpcf7-list-item-label::before {
	background-color: #FFF;
	border: 0.0625rem solid #D4D4D4;
	border-radius: 0.1875rem;
	content: ""; /* ボックス */
	font-size: 0.9375rem;
	height: 1.25rem;
	left: 0;
	letter-spacing: 0.046875rem;
	line-height: 150%;
	position: absolute;
	top: 0.34375rem;
	width: 1.25rem;
	z-index: 1;
}

.wpcf7-list-item-label::after {
	border-bottom: 0.15625rem solid #fff;
	border-right: 0.15625rem solid #fff;
	content: ""; /* チェックマーク */
	height: 0.75rem;
	left: 0.4375rem;
	opacity: 0;
	position: absolute;
	rotate: 45deg;
	top: 0.46875rem;
	transition: opacity 0.3s ease;
	width: 0.375rem;
	z-index: 2;
}

input[type=checkbox]:checked + .wpcf7-list-item-label::before {
	background-color: #DE0303;
	border-color: #DE0303;
}

input[type=checkbox]:checked + .wpcf7-list-item-label::after {
	opacity: 1;
}

/* 送信ボタンを指カーソルに */

.contact__confirm-btn,
#js-submit,
input[type=submit].wpcf7-submit {
	cursor: pointer;
}

/* スピナー */

.wpcf7-spinner {
	height: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	width: 0;
}

/* サンクスページ */

.contact__thanks {
	padding-block-start: 5.0625rem;
	text-align: center;
}

.contact__thanks-title {
	color: #DE0303;
	font-family: Anton, sans-serif;
	font-size: 6.25rem;
	letter-spacing: 0.3125rem;
}

.contact__thanks-message {
	letter-spacing: 0.08rem;
	line-height: 180%;
	margin-block-start: 0.4375rem;
}

.contact__thanks-link {
	display: inline-block;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.16rem;
	line-height: 180%;
	margin-block-start: 1.5rem;
}

.contact__thanks-note {
	letter-spacing: 0.08rem;
	line-height: 180%;
	margin-block-start: 1.5rem;
}

.contact__thanks-btn-wrapper {
	display: flex;
	flex-direction: column;
	margin-block-start: 3.9375rem;
	row-gap: 1.5rem;
}

/* 送信完了メッセージを一瞬も見せないための設定 */

.wpcf7-response-output {
	display: none !important;
}

/*===================================================================
# 404
===================================================================*/

.p-404 {
	padding-block: 8.625rem 7rem;
}

.p-404__title {
	font-size: 5rem;
	letter-spacing: 0.25rem;
	margin-block-end: 1.5rem;
	margin-block-start: 6.25rem;
	text-align: center;
}

.p-404__text {
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1.78;
	margin-block-end: 5rem;
	margin-block-start: 1.5rem;
	text-align: center;
}

body.error404 {
	display: grid;
	grid-template-rows: auto 1fr auto;
	min-height: 100dvh;
}

body.error404 > .header {
	grid-row: 1;
}

body.error404 > .footer {
	grid-row: 3;
}

body.error404 .p-404 {
	display: flex;
	flex-direction: column;
	grid-row: 2;
	justify-content: center;
}

/*===================================================================
# ブレークポイントによる表示 / 非表示
===================================================================*/

.show__sp-only {
	display: none; /* spのみ表示 */
}

.show__sp-only--flex {
	display: none;
}

.show__pc-only {
	display: block; /* pcのみ表示 */
}

.show__pc-only--flex {
	display: flex;
}

@media (any-hover: hover) {

.header.is-scrolled .header__btn:hover a {
	color: #fff;
}

.header__list .header__btn:hover a {
	color: #fff;
	opacity: 1;
}

.header__list .header__btn:hover::before {
	transform: translateX(0) skewX(15deg);
}

.button:hover {
	opacity: 1;
}

.button:hover::before {
	transform: translateX(0) skewX(15deg);
}

.button--red:hover span {
	color: #DE0303;
}

.button--red:hover svg circle {
	fill: #DE0303;
}

.button--red:hover svg path {
	stroke: #fff;
}

.button--top-interview:hover span {
	color: #DE0303;
}

.button--top-interview:hover svg circle {
	fill: #DE0303;
}

.button--top-interview:hover svg path {
	stroke: #fff;
}

.pagination__link:not(.pagination__link--active):hover {
	background-color: #DE0303;
	border-color: #DE0303;
	color: #fff;
	opacity: 1;
}

.top-mv__project-btn:hover {
	color: #de0303;
	opacity: 1;
}

.top-mv__project-btn:hover::before {
	transform: translateX(0) skewX(15deg);
}

.top-mv__project-btn:hover svg circle {
	fill: #de0303;
}

.top-mv__project-btn:hover svg path {
	stroke: #fff;
}

.top-news__more:hover {
	opacity: 0.85;
}

.top-news__link:hover .top-news__thumb-img {
	transform: scale(1.05);
}

.top-onair__nav-btn:hover {
	opacity: 0.7;
}

.top-onair__card:hover .top-onair__card-thumb-img {
	transform: scale(1.05);
}

.top-onair__geust-nav-btn:hover {
	opacity: 0.7;
}

.top-onair__geust-card:hover .top-onair__geust-card-thumb-img {
	transform: scale(1.05);
}

.top-interview__pickup-btn:hover {
	color: #fff;
}

.top-interview__pickup-btn:hover::before {
	transform: translateX(0) skewX(15deg);
}

.top-interview__pickup-btn:hover svg path {
	stroke: #fff;
}

.top-interview__nav-btn:hover {
	opacity: 0.7;
}

.top-interview__card:hover {
	opacity: 1;
}

.top-interview__card:hover .top-interview__card-img {
	transform: scale(1.05);
}

.floating-banner__btn:hover {
	opacity: 1;
}

.floating-banner__btn:hover::before {
	transform: translateX(0) skewX(15deg);
}

.floating-banner__btn:hover .floating-banner__btn-main,
.floating-banner__btn:hover .floating-banner__btn-sub {
	color: #fff;
}

.floating-banner__btn:hover svg circle {
	fill: #fff;
}

.floating-banner__btn:hover svg path {
	stroke: #DE0303;
}

.floating-banner__close:hover {
	opacity: 0.7;
}

.project-program__youtube-btn:hover {
	opacity: 1;
}

.project-program__youtube-btn:hover::before {
	transform: translateX(0) skewX(15deg);
}

.project-program__youtube-btn:hover span {
	color: #DE0303;
}

.project-program__youtube-btn:hover svg circle {
	fill: #DE0303;
}

.project-program__youtube-btn:hover svg path {
	stroke: #fff;
}

.project-faq__summary:hover {
	cursor: pointer;
}

.news__card-link:hover .news__card-img {
	transform: scale(1.05);
}

.news__sidebar-cat:hover {
	background-color: #DE0303;
	color: #fff;
}

.news__sidebar-year:hover {
	color: #161616;
}

.news-post__body a:hover {
	text-decoration: underline;
}

.articles__card-link:hover .articles__card-img {
	transform: scale(1.05);
}

.articles__sidebar-cat:hover {
	background-color: #DE0303;
	color: #fff;
}

.articles__sidebar-tag:hover {
	opacity: 0.75;
}

.articles__sidebar-year:hover {
	color: #161616;
}

.articles-post__category:hover {
	background-color: #DE0303;
	color: #fff;
}

.articles-post__tag:hover {
	opacity: 0.75;
}

.articles-post__toc-item a:hover::after {
	width: 100%;
}

.articles-post__body a:not(.articles-post__toc-item a):hover::after {
	width: 100%;
}

.supporters__card:hover .supporters__card-logo {
	transform: scale(1.1);
}

.supporters__card:hover .supporters__card-icon {
	background-color: #FFE100;
}

.supporters__card:hover .supporters__card-plus {
	color: #161616;
}

.supporters__more-btn:hover {
	opacity: 0.7;
}

.supporters__modal-close-x:hover {
	opacity: 0.7;
}

.supporters__modal-official-link:hover {
	opacity: 0.7;
}

.supporters__modal-close:hover::before {
	transform: skewX(-20deg) translateX(0);
}

.interview__filter-reset:hover {
	opacity: 0.7;
}

.interview__card-link:hover .interview__card-img {
	transform: scale(1.05);
}

.interview-post__company-url:hover {
	opacity: 0.7;
}

.contact__btn:hover {
	opacity: 0.7;
}

.contact__btn:disabled:hover,
.contact__btn[disabled]:hover {
	background-color: #c9c9c9;
	color: #fff;
	opacity: 0.7;
}

}

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

html {
	font-size: calc(16 / 1440 * 100vw);
}

}

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

html {
	font-size: 16px;
}

}

@media (min-width: 1600px) {

.interview-post__head-left,
.interview-post__head-right {
	height: 31.25rem;
}

}

@media (min-width: 1900px) {

.top-mv {
	height: 62.5rem;
}

}

@media (min-width: 2300px) {

.top-mv {
	height: 75rem;
}

}

@media screen and (max-width: 767px) {

html {
	font-size: calc(16 / 375 * 100vw);
}

.header {
	height: 3.125rem;
	top: 1.125rem;
}

.header.is-scrolled {
	top: 0;
}

.header__inner {
	padding-inline: 0.9375rem;
}

.header__logo-img {
	width: 4.9375rem;
}

.header__nav {
	display: none;
}

.header__sns-list {
	display: none;
}

.footer {
	padding-block-end: 2.8125rem;
}

.footer__content {
	flex-direction: column;
	row-gap: 2rem;
}

.footer__brand {
	flex: auto;
}

.footer__logo {
	margin-inline: auto;
	width: 8.75rem;
}

.footer__sns-list {
	-moz-column-gap: 1rem;
	column-gap: 1rem;
}

.footer__sns-item img {
	width: 2.1875rem;
}

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

.footer__nav-link {
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
}

.section__title {
	font-size: 2.5rem;
	letter-spacing: 0.125rem;
}

.section__title-wrapper {
	gap: 0.625rem;
}

.section__title-wrapper--project {
	row-gap: 0;
}

.section__title-wrapper--project .section__title-jp {
	font-size: 1.5rem;
	letter-spacing: 0.075rem;
}

.section__title-en {
	font-size: 2.5rem;
	letter-spacing: 0.125rem;
}

.section__title-jp {
	font-size: 0.875rem;
}

.common__title-circle {
	top: 3.25rem;
	width: 15.625rem;
}

.common__title-en {
	font-size: 3.75rem;
	letter-spacing: 0.1875rem;
}

.common__title-jp {
	bottom: -2.9375rem;
	font-size: 2rem;
	letter-spacing: 0.1rem;
}

.common__title-separator {
	margin-block-start: 6.1875rem;
}

.breadcrumb {
	-moz-column-gap: 0.3125rem;
	column-gap: 0.3125rem;
	padding: 0.34375rem 0.640625rem;
	top: 3.5rem;
}

.button {
	-moz-column-gap: 2.6875rem;
	column-gap: 2.6875rem;
}

.button span {
	font-size: 1rem;
}

.button svg {
	height: 1.5rem;
	width: 1.5rem;
}

.button--top-interview,
.button--articles-post,
.button--news-post,
.button--404 {
	padding: 0.625rem 0.625rem 0.625rem 1.5rem;
	width: 16.25rem;
}

.button--news-post {
	margin-inline: auto;
}

.button--top-onair {
	padding: 0.625rem 0.625rem 0.625rem 1.5rem;
	width: 16.25rem;
}

.button--top-interview {
	-moz-column-gap: 0;
	column-gap: 0;
}

.button--top-contact {
	padding: 0.625rem 0.625rem 0.625rem 1.5rem;
}

.button--project {
	width: 19.0625rem;
	-moz-column-gap: 0;
	column-gap: 0;
	margin-block-start: 1.625rem;
	padding: 0.8125rem 0.625rem 0.8125rem 1.5rem;
}

.button--project span {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 150%;
}

.button--interview-post {
	padding: 0.5rem 0.625rem 0.5rem 1.5rem;
	width: 17.8125rem;
}

.button--thanks {
	width: 21.125rem;
	-moz-column-gap: 0;
	column-gap: 0;
	padding: 0.25rem 0.625rem 0.25rem 1.5rem;
}

.button--thanks span {
	transform: translateY(-0.0625rem);
}

.inner {
	padding-inline: 0.9375rem;
}

.drawer__btn {
	display: flex;
}

.pagination__link {
	font-size: 1rem;
	height: 2.5rem;
	letter-spacing: 0.05rem;
	width: 2.5rem;
}

.pagination__dot {
	font-size: 1rem;
	letter-spacing: 0.05rem;
}

.top-mv {
	height: 41.6875rem;
}

.top-mv__slide-content {
	gap: 2.25rem;
	inset-block-start: 19.0625rem;
	inset-inline-start: 0;
	padding-inline: 0.9375rem;
	width: 100%;
}

.top-mv__message {
	display: none;
}

.top-mv__heading {
	font-size: 1.75rem;
	letter-spacing: 0.0875rem;
}

.top-mv__text {
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
}

.top-mv__controls {
	inset-block-start: 22.0625rem;
	inset-inline-start: 0;
	left: 50%;
	translate: -50%;
}

.top-mv__indicator {
	width: 21.5625rem;
}

.top-mv__project-btn svg {
	width: 1.25rem;
}

.top-mv__project-btn {
	font-size: 0.8125rem;
	justify-content: space-between;
	margin-block-start: 11.125rem;
	margin-inline: auto;
	padding-block: 0.625rem;
	padding-inline: 1.25rem;
}

.top-mv__project-btn span {
	transform: translateY(-0.0625rem);
}

.top-mv__project-btn-icon {
	margin-inline-start: 0;
}

.top-mv__pager {
	justify-content: center;
	margin-block-start: 2.0625rem;
}

.top-mv__pager-bg {
	height: 2.25rem;
	width: 4.8125rem;
}

.top-mv__pager-btn svg {
	width: 0.4375rem;
}

.top-mv__pager-sep {
	height: 0.625rem;
}

.top-mv__pager-current,
.top-mv__pager-total {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
}

.top-mv__logo-wrap {
	bottom: auto;
	left: 0.9375rem;
	right: auto;
	top: 12.5rem;
}

.top-mv__logo {
	width: 6.1875rem;
}

.top-mv__season {
	margin-block-start: -0.1875rem;
	margin-inline-start: 0.34375rem;
}

.top-mv__season-label {
	font-size: 1.375rem;
}

.top-mv__season-num {
	font-size: 1.3125rem;
}

.top-supporters__track {
	height: 5.875rem;
}

.top-supporters__logo {
	max-height: 2.5rem;
	max-width: 7.5rem;
}

.top-supporters__logo--portrait {
	max-height: 3.75rem;
}

.top-news__inner {
	padding-block: 3.625rem 1.25rem;
}

.top-news__head {
	margin-block-end: 2.5rem;
}

.top-news__more {
	margin-block-start: 0.3125rem;
}

.top-news__list {
	display: flex;
	flex-wrap: nowrap;
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	margin-inline-end: -0.9375rem;
	overflow-x: auto;
	padding-block-end: 3rem;
	padding-inline-end: 0.9375rem;
	padding-inline-start: 0;
	row-gap: 0;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch; /* --- スクロールバー非表示の設定 --- */
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.top-news__list::-webkit-scrollbar {
	display: none;
}

.top-news__card {
	flex: 0 0 18.75rem;
	max-width: 18.75rem;
	scroll-snap-align: start;
	width: 18.75rem;
}

.top-news__list .scroll-hint-icon {
	bottom: 0;
	left: auto;
	position: absolute;
	right: 0.9375rem;
	top: auto;
	transform: none;
	width: auto;
	z-index: 2;
}

.top-news__list .scroll-hint-text {
	white-space: nowrap;
}

.top-onair {
	padding-block: 3.25rem 4rem;
}

.top-onair__nav {
	gap: 0.75rem;
	top: 0.875rem;
}

.top-onair__nav-btn svg {
	height: 2.125rem;
	width: 2.125rem;
}

.top-onair__circle {
	height: 13.875rem;
	width: 13.875rem;
}

.top-onair__circle--1 {
	left: 0;
	top: -3.125rem;
}

.top-onair__circle--2 {
	right: 0;
	top: 9.375rem;
}

.top-onair__program-list {
	margin-top: 2rem;
}

.top-onair__swiper .swiper-slide {
	width: 16.875rem;
}

.top-onair__card {
	height: 19.25rem;
	width: 16.875rem;
}

.top-onair__card-thumb {
	height: 9.5rem;
}

.top-onair__media-list {
	flex-direction: column;
	margin-block: 3rem 3.5rem;
	row-gap: 1.5rem;
}

.top-onair__media-item {
	padding-block: 1.5rem;
}

.top-onair__media-item--abema img {
	width: 9.5rem;
}

.top-onair__media-item--youtube img {
	width: 9.8125rem;
}

.top-onair__media-item--youtube .top-onair__media-title {
	margin-block-start: 1.875rem;
}

.top-onair__media-title {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
	margin-block-start: 0.9375rem;
}

.top-onair__media-description {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
	margin-block: 0.5rem 1.125rem;
}

.top-onair__geust-list {
	overflow: hidden;
}

.top-onair__geust-head {
	padding-block-start: 3rem;
}

.top-onair__geust-title {
	font-size: 1.5rem;
	letter-spacing: 0.075rem;
}

.top-onair__geust-nav {
	gap: 0.75rem;
	margin-block-start: 0.5rem;
}

.top-onair__geust-nav-btn svg {
	height: 2.125rem;
	width: 2.125rem;
}

.top-onair__guest-circle {
	height: 13.875rem;
	width: 13.875rem;
}

.top-onair__guest-circle--1 {
	left: 0;
	top: 0.5rem;
}

.top-onair__guest-circle--2 {
	right: 0;
	top: 12.5rem;
}

.top-onair__geust-slider {
	margin-block-start: 1.75rem;
}

.top-onair__geust-swiper .swiper-slide {
	width: 18.75rem;
}

.top-onair__geust-card {
	width: 18.75rem;
}

.top-onair__geust-card-thumb {
	height: 10.75rem;
}

.top-onair__geust-schedule {
	margin-block-start: 2rem;
}

.top-onair__geust-schedule-box {
	padding: 1.5rem 1.25rem;
}

.top-onair__geust-schedule-title {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
}

.top-onair__geust-schedule-list {
	flex-direction: column;
	gap: 1.5rem;
}

.top-onair__geust-schedule-item {
	border-inline-end: none;
	margin-inline-end: 0;
	padding-inline-end: 0;
}

.top-onair__geust-schedule-date {
	justify-content: center;
	min-width: 5.84375rem;
}

.top-interview {
	background-image: url(../../assets/img/top/bg_interview_sp.webp);
	padding-block-end: 4rem;
}

.top-interview__pickup-inner {
	display: flex;
	flex-direction: column;
	min-height: auto;
	padding-block: 3.9375rem 3.5rem;
}

.top-interview__catch {
	font-size: 2rem;
	letter-spacing: 0.1rem;
	padding-block-end: 2rem;
	text-align: center;
}

.top-interview__pickup-img-wrap {
	min-height: auto;
	padding-block-start: 0;
}

.top-interview__pickup-img {
	height: auto;
	width: 100%;
}

.top-interview__pickup-img-placeholder {
	min-height: 16.875rem;
}

.top-interview__pickup-info {
	align-items: center;
	margin-block-start: -0.0625rem;
	padding: 1.5625rem 1.25rem 1.5rem;
	position: static;
	width: auto;
}

.top-interview__pickup-meta {
	align-self: stretch;
}

.top-interview__pickup-title {
	-webkit-line-clamp: 3;
	font-size: 1.5rem;
	letter-spacing: 0.075rem;
	text-align: center;
	line-clamp: 3;
}

.top-interview__pickup-btn svg {
	width: 0.375rem;
}

.top-interview__slider-head {
	margin-block-end: 2rem;
	padding-inline-end: 0.9375rem;
}

.top-interview__nav {
	gap: 0.75rem;
}

.top-interview__nav-btn svg {
	height: 2.125rem;
	width: 2.125rem;
}

.top-interview__swiper-wrap {
	padding-inline-start: 0.9375rem;
}

.top-interview__btn-wrap {
	margin-block-start: 2rem;
}

.top-interview__swiper .swiper-slide {
	width: 18.75rem;
}

.top-interview__card {
	width: 18.75rem;
}

.top-interview__card-thumb {
	height: 10.5625rem;
}

.top-contact {
	padding-block: 3.1875rem 4rem;
}

.top-contact__inner {
	padding-inline: 2.1875rem;
}

.top-contact__catch {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	margin-block-start: 1.25rem;
}

.top-contact__description {
	font-size: 1rem;
	letter-spacing: 0.05rem;
	margin-block: 1rem 3rem;
}

.floating-banner {
	border-radius: 0;
	bottom: 0;
	flex-direction: column;
	left: 0;
	min-height: 6.75rem;
	padding: 0.625rem;
	translate: none;
	translate: 0 1.25rem;
	width: 100%;
}

.floating-banner.is-visible {
	translate: 0 0;
}

.floating-banner.is-hidden {
	translate: 0 1.25rem;
}

.floating-banner__body {
	flex-direction: column;
	justify-content: center;
	row-gap: 0.625rem;
	width: 100%;
}

.floating-banner__text-group {
	justify-content: flex-start;
	width: 100%;
	-moz-column-gap: 0.26875rem;
	column-gap: 0.26875rem;
}

.floating-banner__badge {
	font-size: 1.1875rem;
	letter-spacing: 0.059375rem;
	padding: 0.03125rem 0.59375rem;
}

.floating-banner__label {
	font-size: 1rem;
	letter-spacing: 0.05rem;
}

.floating-banner__title {
	font-size: 1.1875rem;
	letter-spacing: 0.059375rem;
}

.floating-banner__btns {
	-moz-column-gap: 0.6875rem;
	column-gap: 0.6875rem;
	justify-content: center;
	width: 100%;
}

.floating-banner__btn {
	align-items: flex-start;
	border: none;
	border-radius: 0;
	flex-direction: column;
	height: 3rem;
	justify-content: center;
	overflow: hidden;
	padding: 0.5rem 1rem;
	row-gap: 0.1875rem;
	width: 10.75rem;
}

.floating-banner__btn-main {
	font-size: 0.9375rem;
	line-height: 1;
}

.floating-banner__btn-sub {
	font-size: 0.75rem;
	line-height: 1;
}

.floating-banner__btn-arrow {
	height: 1.5rem;
	position: absolute !important;
	right: 1rem;
	top: 50%;
	translate: 0 -50%;
	width: 1.5rem;
}

.floating-banner__close {
	height: 1.875rem;
	right: 0.625rem;
	top: -0.9375rem;
	width: 1.875rem;
}

.project-fv {
	background-image: url(../../assets/img/project/bg_fv_sp.webp);
}

.project-fv__inner {
	height: 30.25rem;
}

.project-fv__title {
	left: 50%;
	top: 5.125rem;
	translate: -50%;
	width: 18.96875rem;
}

.project-fv__furutachi-img {
	left: 50%;
	right: auto;
	translate: -50%;
	width: 20.8125rem;
}

.project-about {
	background-image: url(../../assets/img/project/bg_about_sp.png);
	padding-block: 3.1875rem 3.375rem;
}

.project-about__title {
	font-size: 2.5rem;
	letter-spacing: 0.125rem;
}

.project-about__sub-title {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	margin-block-start: -0.1875rem;
}

.project-about__body {
	margin-block: 2.125rem 1.75rem;
	padding-block-end: 1.875rem;
}

.project-about__text {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.project-about__highlight {
	font-size: 1.5rem;
	letter-spacing: 0.06rem;
	margin-inline: 0.09375rem;
}

.project-about__message {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
	margin-block-start: 1.5rem;
}

.project-about__stats {
	flex-direction: column;
	row-gap: 1.8125rem;
}

.project-about__stat {
	width: 100%;
}

.project-about__stat-label {
	font-size: 1.25rem;
}

.project-about__stat-number {
	margin-block-start: 1.0625rem;
}

.project-about__stat-num {
	font-size: 3.75rem;
	letter-spacing: 0.1875rem;
}

.project-about__stat-unit {
	font-size: 1.25rem;
}

.project-about__stat-desc {
	font-size: 1.25rem;
}

.project-about__stat-note {
	line-height: 1.5;
	margin-block-start: 1.0625rem;
}

.project-program {
	background-image: url(../../assets/img/project/bg_program_sp.webp);
	padding-block: 3.5rem 4rem;
}

.project-program__title-wrapper {
	margin-block-end: 1.6875rem;
}

.project-program__title {
	font-size: 2.5rem;
	letter-spacing: 0.125rem;
}

.project-program__sub-title {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
}

.project-program__body {
	gap: 2rem;
}

.project-program__info {
	row-gap: 1.4375rem;
}

.project-program__info-text {
	gap: 1.375rem;
}

.project-program__show-title {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
}

.project-program__description,
.project-program__mc {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
}

.project-program__mc {
	margin-block-start: -0.34375rem;
}

.project-program__broadcast {
	padding-block-end: 1.0625rem;
}

.project-program__broadcast-logo {
	width: 9.8125rem;
}

.project-program__broadcast-text {
	font-size: 1rem;
	letter-spacing: 0.05rem;
}

.project-program__images {
	flex-direction: column-reverse;
}

.project-program__youtube {
	border: 0.3125rem solid #DE0303;
	flex-direction: column;
}

.project-program__youtube-info {
	align-items: center;
	padding-block: 1.5rem;
	padding-inline: 1.5rem;
	row-gap: 0.9375rem;
	text-align: center;
	width: 100%;
}

.project-program__youtube-logo {
	width: 9.8125rem;
}

.project-program__youtube-channel {
	font-size: 1rem;
	letter-spacing: 0.05rem;
}

.project-program__youtube-cta {
	font-size: 1rem;
	letter-spacing: 0.05rem;
}

.project-program__youtube-btn svg {
	width: 1.5rem;
}

.project-program__youtube-btn {
	margin-block-start: 0.0625rem;
	padding-block: 0.5rem;
	padding-inline: 1.5rem 0.625rem;
	width: 16.25rem;
}

.project-program__youtube-btn span {
	font-size: 1rem;
}

.project-program__youtube-screenshot {
	flex: auto;
}

.project-benefit {
	background-image: url(../../assets/img/project/bg_benefit_sp.webp);
	padding-block: 3.1875rem 4rem;
}

.project-benefit__title-wrapper {
	margin-block-end: -0.9375rem;
}

.project-benefit__title {
	font-size: 2.5rem;
	letter-spacing: 0.125rem;
}

.project-benefit__sub-title {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	margin-block-start: -0.125rem;
}

.project-benefit__item {
	padding-block: 2rem;
	padding-inline: 0.9375rem;
}

.project-benefit__item::after {
	width: 100%;
}

.project-benefit__item-header {
	gap: 1rem;
	padding-inline-start: 0;
}

.project-benefit__num {
	font-size: 3.75rem;
	letter-spacing: 0.1875rem;
}

.project-benefit__item-text {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
}

.project-benefit__item-text-group {
	gap: 0.03125rem;
}

.project-benefit__item-note {
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.040625rem;
}

.project-benefit__br {
	display: none;
}

.project-benefit__img {
	aspect-ratio: 345/195;
	margin-block-start: 0.5rem;
	width: 100%;
}

.project-benefit__logos {
	align-items: flex-start;
	flex-direction: column;
	gap: 0.5625rem;
	margin-block-start: 1.4375rem;
}

.project-benefit__logos-row {
	align-items: center;
	display: flex;
	gap: 0.5625rem;
	justify-content: center;
}

.project-benefit__logo-item {
	height: 6.875rem;
	width: 6.8125rem;
}

.project-benefit__logo-item img {
	height: 4.5625rem;
	width: 4.5625rem;
}

.project-benefit__gallery {
	margin-block-start: 1.375rem;
	row-gap: 0.5625rem;
	width: 100%;
}

.project-benefit__gallery-row {
	align-items: stretch;
	flex-direction: column;
	gap: 0.5625rem;
}

.project-benefit__gallery-row img {
	width: 100%;
}

.project-faq {
	padding-block: 3.25rem 4rem;
}

.project-faq__items {
	margin-block-start: 1.75rem;
}

.project-faq__summary {
	padding: 1.28125rem 1.5rem 1.28125rem 1rem;
}

.project-faq__label {
	font-size: 1.25rem;
}

.project-faq__question {
	font-size: 0.9375rem;
}

.project-faq__arrow {
	height: 0.4375rem;
	width: 0.875rem;
}

.project-faq__answer-row {
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	padding-block: 1.6875rem;
}

.project-faq__answer {
	font-size: 0.9375rem;
}

.project-cta .inner {
	padding-block: 4rem;
	row-gap: 0.9375rem;
}

.project-cta__message {
	font-size: 1.125rem;
	padding-inline: 1.25rem;
}

.project-cta__text {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	padding-inline: 1.25rem;
	text-align: left;
}

.news {
	background-image: url(../../assets/img/common/bg_subpage_sp.webp);
	padding-block-start: 6.75rem;
}

.news__inner {
	padding-block: 4rem 4.5rem;
}

.news__body {
	flex-direction: column;
	row-gap: 4rem;
}

.news__main-content {
	row-gap: 3.5rem;
	width: 100%;
}

.news__cards {
	grid-template-columns: 1fr;
	row-gap: 1.5rem;
}

.news__card-title {
	margin-block-start: -0.3125rem;
}

.news__card-date {
	margin-block-start: 0.125rem;
}

.news__sidebar {
	width: 100%;
}

.news__sidebar-youtube {
	padding-block: 1.5rem;
	padding-inline: 1.5rem;
}

.news__sidebar-youtube-logo {
	width: 9.8125rem;
}

.news__sidebar-youtube-title {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
	margin-block-start: 1.875rem;
}

.news__sidebar-youtube-description {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
	margin-block: 0.3125rem 1.25rem;
}

.news__sidebar-box {
	background-color: transparent;
	border: none;
	padding: 0;
}

.news__sidebar-heading {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
}

.news__sidebar-cats {
	display: inline-flex;
	flex-direction: column;
	padding-block-end: 1.5rem;
	row-gap: 1rem;
}

.news__sidebar-cat {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	padding: 0.4375rem 0.40625rem;
	width: -moz-fit-content;
	width: fit-content;
}

.news__sidebar-archive {
	row-gap: 1rem;
}

.news-post__title {
	font-size: 1.5rem;
	letter-spacing: 0.075rem;
}

.news-post__meta {
	margin-block-start: 1.5rem;
}

.news-post__category {
	padding: 0.4375rem 0.40625rem;
	width: -moz-fit-content;
	width: fit-content;
}

.news-post__thumb {
	margin-block-start: 4rem;
}

.news-post__body {
	margin-block-start: 3.5rem;
}

.news-post__body > * + * {
	margin-block-start: 2rem;
}

.news-post__body h2 {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
	margin-block-start: 3rem;
}

.news-post__body h2::before {
	top: 0.28125rem;
}

.news-post__body h2 + p {
	margin-block-start: 2rem;
}

.news-post__body h3 {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
	margin-block-start: 2rem;
}

.news-post__body p {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
	line-height: 220%;
}

.news-post__body p + p {
	margin-block-start: 2rem;
}

.news-post__body figure {
	margin-block-start: 2rem;
}

.news-post__body figure figcaption {
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
}

.news-post__body ul {
	margin-block-start: 1rem;
}

.news-post__body ul li {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
	line-height: 220%;
}

.news-post__body ul li::before {
	top: 1.2em;
}

.news-post__body ul li + li {
	margin-block-start: 1.5rem;
}

.articles {
	background-image: url(../../assets/img/common/bg_subpage_sp.webp);
	padding-block-start: 6.75rem;
}

.articles__outer {
	padding-block: 4rem 3.8125rem;
}

.articles__inner {
	padding-block: 4rem 3.8125rem;
}

.articles__body {
	flex-direction: column;
	gap: 4rem;
}

.articles__main-content {
	row-gap: 3.5rem;
}

.articles__cards {
	grid-template-columns: 1fr;
	row-gap: 1.5rem;
}

.articles__sidebar {
	width: 100%;
}

.articles__sidebar-box {
	background-color: transparent;
	border: none;
	padding: 0;
}

.articles__sidebar-heading {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
}

.articles__sidebar-cats {
	display: inline-flex;
	flex-direction: column;
	row-gap: 1rem;
}

.articles__sidebar-cat {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	padding: 0.4375rem 0.40625rem;
	width: -moz-fit-content;
	width: fit-content;
}

.articles__sidebar-tags {
	gap: 0.5rem;
}

.articles__sidebar-tag {
	font-size: 0.8125rem;
	padding: 0.3125rem 0.5rem;
}

.articles__sidebar-archive {
	row-gap: 1rem;
}

.articles-post__title {
	font-size: 1.5rem;
	letter-spacing: 0.075rem;
}

.articles-post__meta {
	margin-block-start: 1.5rem;
}

.articles-post__category {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	padding: 0.3125rem 0.40625rem;
	width: -moz-fit-content;
	width: fit-content;
}

.articles-post__tag {
	font-size: 0.75rem;
	padding: 0.25rem 0.40625rem;
}

.articles-post__thumb {
	margin-block-start: 4rem;
}

.articles-post__toc {
	margin-block: 3.5rem;
	padding: 1.5rem;
}

.articles-post__toc-title {
	font-size: 1rem;
	letter-spacing: 0.05rem;
}

.articles-post__toc-item a {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
}

.articles-post__body h2 {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
	margin-block-start: 3.5rem;
}

.articles-post__body h2::before {
	top: 0.28125rem;
}

.articles-post__body h2 + p {
	margin-block-start: 2rem;
}

.articles-post__body h3 {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
}

.articles-post__body p {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
	line-height: 220%;
}

.articles-post__body p + p {
	margin-block-start: 2rem;
}

.articles-post__body figure {
	margin-block-start: 2.375rem;
}

.articles-post__body figure figcaption {
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
}

.articles-post__body ul:not(.articles-post__toc-list) {
	margin-block-start: 1rem;
}

.articles-post__body ul:not(.articles-post__toc-list) li:not(.articles-post__toc-item) {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
	line-height: 220%;
}

.articles-post__body ul:not(.articles-post__toc-list) li:not(.articles-post__toc-item)::before {
	top: 1.2em;
}

.articles-post__body ul:not(.articles-post__toc-list) li:not(.articles-post__toc-item) + li {
	margin-block-start: 1.5rem;
}

.supporters {
	background-image: url(../../assets/img/common/bg_subpage_sp.webp);
	padding-block-start: 6.75rem;
}

.supporters__inner {
	padding-block: 4rem;
}

.supporters__list {
	gap: 1rem;
	grid-template-columns: repeat(2, 1fr);
}

.supporters__list-more {
	gap: 1rem;
	grid-template-columns: repeat(2, 1fr);
	padding-block-start: 1rem;
}

.supporters__card {
	padding: 1.25rem;
}

.supporters__card-icon {
	height: 2.375rem;
	width: 2.375rem;
}

.supporters__card-plus {
	bottom: 0.3125rem;
	height: 0.625rem;
	right: 0.3125rem;
	width: 0.625rem;
}

.supporters__more {
	margin-block-start: 0.5625rem;
}

.supporters__more-btn {
	padding: 0.4375rem 1.3125rem;
}

.supporters__modal-container {
	margin-block: 0;
	padding-block: 3.5rem;
	padding-inline: 0.9375rem;
	width: 100%;
}

.supporters__modal-close-x {
	height: 1.125rem;
	inset-block-start: 1.5rem;
	inset-inline-end: 1rem;
	width: 1.0625rem;
}

.supporters__modal-body {
	row-gap: 2.125rem;
}

.supporters__modal-upper {
	gap: 2rem;
}

.supporters__modal-img-wrap {
	width: 100%;
}

.supporters__modal-title {
	align-items: center;
	row-gap: 0.5625rem;
	text-align: center;
}

.supporters__modal-message {
	font-size: 1.25rem;
}

.supporters__modal-names {
	align-items: center;
	flex-direction: column;
	gap: 0.25rem;
}

.supporters__modal-company {
	font-size: 1.125rem;
}

.supporters__modal-rep {
	font-size: 1.125rem;
}

.supporters__modal-info-item:first-child {
	border-block-start: none;
}

.supporters__modal-info-item {
	border-block-end: 0.0625rem solid #000000;
	border-block-start: none;
	flex-direction: column;
	gap: 1rem;
	padding-block-end: 1rem;
}

.supporters__modal-info-label {
	font-size: 0.9375rem;
	padding-block: 0.625rem;
	padding-inline: 1rem;
	width: 100%;
}

.supporters__modal-info-item:last-child .supporters__modal-info-label {
	padding-block: 0.625rem;
}

.supporters__modal-info-value {
	font-size: 0.9375rem;
}

.supporters__modal-info-value--service {
	padding-block: 0;
}

.interview {
	background-image: url(../../assets/img/common/bg_subpage_sp.webp);
	padding-block-start: 6.75rem;
}

.interview__inner {
	display: flex;
	flex-direction: column;
	padding-block: 4rem;
}

.interview__filter {
	flex-direction: column;
	gap: 1.5rem;
	margin-block-start: 4rem;
	order: 3;
}

.interview__filter-heading {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
	text-align: center;
}

.interview__filter-condition {
	width: 100%;
}

.interview__filter-condition-box {
	align-items: stretch;
	flex-direction: column;
	gap: 1.5rem;
	padding: 1.4375rem 1.5rem;
}

.interview__filter-select-group {
	row-gap: 0.5625rem;
	width: 100%;
}

.interview__filter-label {
	font-size: 1rem;
}

.interview__filter-select {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
	padding: 0.328125rem 2.5rem 0.328125rem 1rem;
}

.interview__filter-reset {
	align-self: center;
	margin-block-start: -0.1875rem;
	margin-inline-start: 0;
	padding-block-end: 0.3125rem;
}

.interview__filter-keyword {
	width: 100%;
}

.interview__filter-keyword-box {
	padding: 1.5rem;
}

.interview__filter-keyword-inner {
	row-gap: 0.6875rem;
	width: 100%;
}

.interview__filter-keyword-label {
	font-size: 1rem;
}

.interview__cards {
	grid-template-columns: 1fr;
	margin-block: 0 4rem;
	order: 1;
	row-gap: 1.5rem;
}

.interview__card-thumb {
	height: 12.125rem;
}

.interview__card-name {
	font-size: 1rem;
}

.interview__card-person {
	display: block;
	font-size: 0.875rem;
}

.interview__pagination {
	order: 2;
}

.interview-post {
	background-image: url(../../assets/img/common/bg_subpage_sp.webp);
	padding-block-start: 7rem;
}

.interview-post__head {
	display: block;
}

.interview-post__head-inner {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.interview-post__head-left {
	height: auto;
	justify-content: flex-start;
	padding-block-end: 0;
	padding-inline-end: 0;
	padding-inline-start: 0;
	row-gap: 1.4375rem;
	width: 100%;
}

.interview-post__head-info {
	gap: 1rem;
}

.interview-post__head-meta {
	gap: 0.125rem;
}

.interview-post__head-company,
.interview-post__head-interviewee {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
}

.interview-post__title {
	font-size: 1.5rem;
	letter-spacing: 0.075rem;
}

.interview-post__head-right {
	aspect-ratio: 16/9;
	height: auto;
	width: 100%;
}

.interview-post__body {
	padding-block: 4rem 3.5rem;
}

.interview-post__career {
	padding: 1.375rem 1.5rem 0.875rem;
	row-gap: 1.25rem;
}

.interview-post__career-label {
	font-size: 1rem;
	letter-spacing: 0.05rem;
	text-align: center;
}

.interview-post__career-text {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
	line-height: 2.2;
}

.interview-post__content > * + * {
	margin-block-start: 1.5rem;
}

.interview-post__content h2 {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
	margin-block-start: 3.5rem;
}

.interview-post__content h2::before {
	top: 0.28125rem;
}

.interview-post__content h2 + p {
	margin-block-start: 1.5rem;
}

.interview-post__content h3 {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
	margin-block-start: 2rem;
}

.interview-post__content h3 + p {
	margin-block-start: 1.5rem;
}

.interview-post__content p {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
	line-height: 2.2;
}

.interview-post__content figure {
	margin-block-start: 2rem;
}

.interview-post__content .wp-block-embed-youtube,
.interview-post__content .wp-block-embed {
	margin-block-start: 2rem;
}

.interview-post__content .wp-block-columns {
	flex-direction: column;
	margin-block-start: 2rem;
	row-gap: 2rem;
}

.interview-post__content ul {
	margin-block-start: 1rem;
}

.interview-post__content ul li {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
	line-height: 2.2;
}

.interview-post__content ul li::before {
	top: 1.2em;
}

.interview-post__content ul li + li {
	margin-block-start: 1.5rem;
}

.interview-post__media {
	margin-block-start: 3.5rem;
	row-gap: 3rem;
}

.interview-post__program p {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
	line-height: 2.2;
}

.interview-post__company-section {
	padding-block: 2rem;
}

.interview-post__company-inner {
	gap: 2rem;
	grid-template-columns: 1fr;
}

.interview-post__company-col {
	gap: 1.875rem;
}

.interview-post__company-row {
	row-gap: 0.3125rem;
}

.interview-post__company-label {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
}

.interview-post__company-value {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
}

.interview-post__company-url {
	font-size: 0.9375rem;
}

.interview-post__related {
	background-image: url(../../assets/img/common/bg_subpage_sp.webp);
	padding-block: 4rem;
	position: relative;
}

.interview-post__related-inner {
	row-gap: 2.125rem;
}

.interview-post__related-heading {
	font-size: 1.5rem;
	letter-spacing: 0.075rem;
}

.interview-post__related-cards {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding-inline: 0.9375rem;
	-moz-column-gap: 0;
	column-gap: 0;
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	width: 100vw;
}

.interview-post__related-cards::-webkit-scrollbar {
	display: none;
}

.interview-post__related-cards .interview__card {
	flex: 0 0 18.75rem;
	margin-inline-end: 1.5rem;
}

.interview-post__related-cards .interview__card:last-child {
	margin-inline-end: 0 !important;
}

.interview-post__related-cards .scroll-hint-icon {
	bottom: 0;
	left: auto;
	position: absolute;
	right: 0.9375rem;
	top: auto;
	transform: none;
	width: auto;
}

.interview-post__related-cards .scroll-hint-text {
	white-space: nowrap;
}

.contact {
	background-image: url(../../assets/img/common/bg_subpage_sp.webp);
	padding-block: 6.75rem 4rem;
}

.contact__inner {
	padding-inline: 0.9375rem;
}

.contact__form-container {
	border: 0.125rem solid #FFF;
	margin-block: 3.75rem 0;
	padding: 2.125rem 1.25rem 2rem;
}

.contact__form-lead {
	line-height: 180%;
	margin-block-start: 0;
}

.contact__form {
	margin-block-start: 1.875rem;
	row-gap: 1.875rem;
}

.contact__form-must {
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
}

.contact__head {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
}

.contact__select-wrap select {
	font-size: 0.9375rem;
	padding-inline: 1rem 2.5rem;
}

.contact__submit-wrap {
	margin-block-start: 0.125rem;
}

.contact__btn {
	background-image: url(../../assets/img/common/btn_arrow_sp.svg);
	background-position: right 0.625rem center;
	background-size: 1.5rem 1.5rem;
	font-size: 1rem;
	padding-block: 0.75rem;
	width: 16.25rem;
}

input[type=text],
input[type=tel],
input[type=email],
textarea {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
	margin-block-start: 0.875rem;
	padding-inline: 0.875rem;
}

textarea {
	height: 8.4375rem;
}

.contact__acceptance {
	-moz-text-align-last: left;
	margin-block: 0rem 0.75rem;
	text-align-last: left;
}

.wpcf7-list-item-label {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
	line-height: 150%;
}

.wpcf7-list-item-label::before {
	top: 0.9375rem;
}

.wpcf7-list-item-label::after {
	top: 1.125rem;
}

.contact__thanks {
	padding-block-start: 3.0625rem;
}

.contact__thanks-title {
	font-size: 3rem;
	letter-spacing: 0.15rem;
}

.contact__thanks-message {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
	margin-block-start: 1.0625rem;
	text-align: left;
}

.contact__thanks-link {
	font-size: 1.25rem;
	letter-spacing: 0.1rem;
	margin-block-start: 0.0625rem;
}

.contact__thanks-note {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
	margin-block-start: 0.1875rem;
}

.contact__thanks-btn-wrapper {
	margin-block-start: 2.5rem;
}

.p-404__title {
	font-size: 2.5rem;
}

.p-404__text {
	font-size: 0.875rem;
	margin-block-end: 3.75rem;
}

.show__sp-only {
	display: block;
}

.show__sp-only--flex {
	display: flex;
}

.show__pc-only {
	display: none;
}

.show__pc-only--flex {
	display: none;
}

}

@keyframes top-supporters-scroll {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-50%);
}

}

