/* ----- body ----- */

body {
	color: #000;
	font-family: "Noto Sans JP";
	font-feature-settings: "palt" 1;
	position: relative;
}

/* ----- wrapper ----- */

.c-wrap850 {
	margin-inline: auto;
	max-width: calc(min(calc(850 / 1900 * 100vw), 850px) + min(calc(160 / 1900 * 100vw), 160px));
	padding: 0 min(calc(80 / 1900 * 100vw), 80px);
	position: relative;
	width: 100%;
}

.c-wrap940 {
	margin-inline: auto;
	max-width: calc(min(calc(940 / 1900 * 100vw), 940px) + min(calc(160 / 1900 * 100vw), 160px));
	padding: 0 min(calc(80 / 1900 * 100vw), 80px);
	position: relative;
	width: 100%;
}

.c-wrap1022 {
	margin-inline: auto;
	max-width: calc(min(calc(1022 / 1900 * 100vw), 1022px) + min(calc(160 / 1900 * 100vw), 160px));
	padding: 0 min(calc(80 / 1900 * 100vw), 80px);
	position: relative;
	width: 100%;
}

.c-wrap1200 {
	margin-inline: auto;
	max-width: calc(min(calc(1200 / 1900 * 100vw), 1200px) + min(calc(160 / 1900 * 100vw), 160px));
	padding: 0 min(calc(80 / 1900 * 100vw), 80px);
	position: relative;
	width: 100%;
}

.c-wrap1281 {
	margin-inline: auto;
	max-width: calc(min(calc(1281 / 1900 * 100vw), 1281px) + min(calc(160 / 1900 * 100vw), 160px));
	padding: 0 min(calc(80 / 1900 * 100vw), 80px);
	position: relative;
	width: 100%;
}

/* -----  ----- */

picture {
	display: block;
}

img {
	width: 100%;
}

.swiper-slide {
	width: auto;
}

/* -----  ----- */

.s-of-hidden {
	overflow: hidden;
}

.s-op-hover {
	transition: 0.3s;
}

.s-op-hover:hover {
	opacity: 0.7;
}

.fade {
	opacity: 0;
	transform: translateY(30px);
}

.fade.is-active {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0s linear, transform 0.8s ease-out;
}

.fade.is-active:nth-child(1) {
	transition-delay: 0s;
}

.fade.is-active:nth-child(2) {
	transition-delay: 0.2s;
}

.fade.is-active:nth-child(3) {
	transition-delay: 0.4s;
}

.fade.is-active:nth-child(4) {
	transition-delay: 0.6s;
}

.fade.is-active:nth-child(5) {
	transition-delay: 0.8s;
}

.fade.is-active:nth-child(6) {
	transition-delay: 1s;
}

.fade.is-active:nth-child(7) {
	transition-delay: 1.2s;
}

.fade.is-active:nth-child(8) {
	transition-delay: 1.4s;
}

.fade.is-active:nth-child(9) {
	transition-delay: 1.6s;
}

.fade.is-active:nth-child(10) {
	transition-delay: 1.8s;
}

.sp {
	display: none;
}

a:hover .c-icon-arrow img {
	transform: translate(300%, -300%);
}

a:hover .c-icon-arrow::after {
	transform: translate(-50%, -50%);
}

a:hover .c-icon-arrow.--right img {
	transform: translate(300%, 0%);
}

a:hover .c-icon-arrow.--right::after {
	transform: translate(-50%, -50%);
}

.pop-item {
	opacity: 0;
}

.inview_re {
	opacity: 0;
	transform: translateY(10px);
	transition: 1s;
}

.inview_re.is-show {
	opacity: 1;
	transform: translateY(0px);
}

/* -----  ----- */

.c-heading {
	display: flex;
	justify-content: center;
	position: relative;
	text-align: center;
}

.c-heading.--member:after {
	aspect-ratio: 475/263;
	background: url(../img/person-6.webp) no-repeat center center/contain;
	content: "";
	left: 50%;
	position: absolute;
	top: max(calc(-200 / 1900 * 100vw), -200px);
	transform: translateX(-50%);
	width: min(calc(475 / 1900 * 100vw), 475px);
	z-index: -1;
}

.c-heading__title {
	-webkit-text-stroke-color: #000;
	-webkit-text-stroke-width: min(calc(2 / 1900 * 100vw), 2px);
	color: #ffe400;
	font-family: "Londrina Solid";
	font-size: min(calc(180 / 1900 * 100vw), 180px);
	font-weight: 400;
	line-height: 1;
	width: -moz-fit-content;
	width: fit-content;
}

.c-heading__content {
	align-items: center;
	display: flex;
}

.c-heading__title-ja {
	align-items: center;
	bottom: max(calc(-13 / 1900 * 100vw), -13px);
	display: flex;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.c-heading__title-ja span {
	aspect-ratio: 1/1;
	background: #fff;
	border: min(calc(3 / 1900 * 100vw), 3px) solid #000;
	color: #fff;
	color: #000;
	display: inline-block;
	font-family: "Noto Sans JP";
	font-size: min(calc(45 / 1900 * 100vw), 45px);
	font-weight: 400;
	text-align: center;
	width: min(calc(64 / 1900 * 100vw), 64px);
}

.c-heading__title-ja p {
	background: #010101;
	color: #fff;
	display: inline-block;
	font-family: "Noto Sans JP";
	font-size: min(calc(35 / 1900 * 100vw), 35px);
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1;
	padding: min(calc(4 / 1900 * 100vw), 4px) min(calc(22 / 1900 * 100vw), 22px) min(calc(8 / 1900 * 100vw), 8px);
	white-space: nowrap;
}

.c-heading__title-ja p.deco {
	padding: min(calc(11 / 1900 * 100vw), 11px) min(calc(7 / 1900 * 100vw), 7px);
}

.c-works {
	margin-top: min(calc(115 / 1900 * 100vw), 115px);
	width: 100%;
}

.c-works__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: min(calc(157 / 1900 * 100vw), 157px);
}

.c-works__items {
	display: flex;
	flex-wrap: wrap;
	gap: min(calc(75 / 1900 * 100vw), 75px) min(calc(97 / 1900 * 100vw), 97px);
}

.c-works__item {
	align-items: start;
	display: flex;
	gap: min(calc(25 / 1900 * 100vw), 25px);
	width: calc((100% - min(calc(97 / 1900 * 100vw), 97px)) / 2);
}

.c-works__img {
	aspect-ratio: 275/400;
	border: min(calc(3 / 1900 * 100vw), 3px) solid #000;
	flex-shrink: 0;
	overflow: hidden;
	width: min(calc(275 / 1900 * 100vw), 275px);
}

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

.c-works__content {
	align-items: end;
	display: flex;
	flex-direction: column;
	gap: min(calc(33 / 1900 * 100vw), 33px);
	justify-content: space-between;
	min-height: 100%;
}

.c-works__block {
	display: flex;
	flex-direction: column;
	gap: min(calc(33 / 1900 * 100vw), 33px);
	width: 100%;
}

.c-works__logo {
	align-items: center;
	background: #fff;
	display: flex;
	height: min(calc(62 / 1900 * 100vw), 62px);
	justify-content: center;
	min-width: min(calc(144 / 1900 * 100vw), 144px);
	padding: min(calc(9 / 1900 * 100vw), 9px) min(calc(16 / 1900 * 100vw), 16px);
	width: -moz-fit-content;
	width: fit-content;
}

.c-works__logo-img {
	display: block;
	height: 100%;
}

.c-works__logo-img img {
	height: 100%;
	width: auto;
}

.c-works__logo-text {
	font-family: "Noto Sans JP";
	font-size: min(calc(18 / 1900 * 100vw), 18px);
	font-weight: 700;
}

.c-works__body {
	display: flex;
	flex-direction: column;
	gap: min(calc(5 / 1900 * 100vw), 5px);
}

.c-works__title {
	font-family: "Noto Sans JP";
	font-size: min(calc(18 / 1900 * 100vw), 18px);
	font-weight: 700;
}

.c-works__desc {
	color: #000;
	font-family: "Noto Sans JP";
	font-size: min(calc(18 / 1900 * 100vw), 18px);
	font-weight: 400;
	line-height: 1.7;
}

.c-works__link {
	align-items: center;
	display: flex;
	gap: min(calc(9 / 1900 * 100vw), 9px);
}

.c-works__link-text {
	font-family: "Noto Sans JP";
	font-size: min(calc(18 / 1900 * 100vw), 18px);
	font-weight: 700;
}

.c-button {
	align-items: center;
	aspect-ratio: 280/68;
	background: #000;
	display: flex;
	justify-content: center;
	margin: 0 auto;
	position: relative;
	width: min(calc(280 / 1900 * 100vw), 280px);
}

.c-button-text {
	color: #fff;
	font-family: "Noto Sans JP";
	font-size: min(calc(16 / 1900 * 100vw), 16px);
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.c-button-icon {
	position: absolute;
	right: min(calc(10 / 1900 * 100vw), 10px);
	top: 50%;
	transform: translateY(-50%);
}

.c-icon {
	align-items: center;
	aspect-ratio: 1/1;
	background: #000;
	display: flex;
	justify-content: center;
	overflow: hidden;
	padding: min(calc(7 / 1900 * 100vw), 7px);
	width: min(calc(37 / 1900 * 100vw), 37px);
}

.c-icon-arrow {
	animation: none;
	aspect-ratio: 1/1;
	position: relative;
	width: min(calc(14 / 1900 * 100vw), 14px);
}

.c-icon-arrow img {
	height: auto;
	transition: transform 0.3s;
	width: 100%;
}

.c-icon-arrow::after {
	aspect-ratio: 1/1;
	background: url("../img/arrow.svg") no-repeat center/contain;
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-300%, 300%);
	transition: transform 0.3s;
	width: min(calc(14 / 1900 * 100vw), 14px);
}

.c-icon-arrow.--right {
	aspect-ratio: 18/15;
	width: min(calc(18 / 1900 * 100vw), 18px);
}

.c-icon-arrow.--right::after {
	aspect-ratio: 18/15;
	background: url("../img/arrow-right.svg") no-repeat center/contain;
	content: "";
	position: absolute;
	transform: translate(-300%, -50%);
	transition: transform 0.3s;
	width: min(calc(18 / 1900 * 100vw), 18px);
}

.c-icon.large {
	width: min(calc(60 / 1900 * 100vw), 60px);
}

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

.c-wrap850 {
	max-width: 100%;
	padding: 0 calc(20 / 390 * 100vw);
}

.c-wrap940 {
	max-width: 100%;
	padding: 0 calc(20 / 390 * 100vw);
}

.c-wrap1022 {
	max-width: 100%;
	padding: 0 calc(20 / 390 * 100vw);
}

.c-wrap1200 {
	max-width: 100%;
	padding: 0 calc(20 / 390 * 100vw);
}

.c-wrap1281 {
	max-width: 100%;
	padding: 0 calc(20 / 390 * 100vw);
}

.sp {
	display: block;
}

.c-heading.--member:after {
	top: calc(-125 / 390 * 100vw);
	width: calc(268 / 390 * 100vw);
}

.c-heading__title {
	-webkit-text-stroke-width: calc(1 / 390 * 100vw);
	font-size: calc(76 / 390 * 100vw);
}

.c-heading__title.--achive {
	font-size: calc(66 / 390 * 100vw);
}

.c-heading__title.--page {
	font-size: calc(100 / 390 * 100vw);
}

.c-heading__content.--achive {
	margin-left: calc(200 / 390 * 100vw);
	margin-top: calc(-3 / 390 * 100vw);
}

.c-heading__title-ja {
	bottom: calc(-27 / 390 * 100vw);
}

.c-heading__title-ja.--achive {
	bottom: calc(-50 / 390 * 100vw);
	flex-direction: column;
	transform: translateX(-61%);
}

.c-heading__title-ja span {
	border: calc(2 / 390 * 100vw) solid #000;
	font-size: calc(32 / 390 * 100vw);
	height: calc(40 / 390 * 100vw);
	line-height: 1;
	width: calc(40 / 390 * 100vw);
}

.c-heading__title-ja p {
	font-size: calc(28 / 390 * 100vw);
	padding: calc(6 / 390 * 100vw) calc(15 / 390 * 100vw);
}

.c-works {
	margin-top: calc(100 / 390 * 100vw);
}

.c-works__inner {
	gap: 50px;
}

.c-works__items {
	flex-direction: column;
	gap: calc(24 / 390 * 100vw);
}

.c-works__item {
	gap: calc(14 / 390 * 100vw);
	width: 100%;
}

.c-works__img {
	border: calc(2 / 390 * 100vw) solid #000;
	width: calc(125 / 390 * 100vw);
}

.c-works__content {
	gap: calc(1 / 390 * 100vw);
	min-height: calc(200 / 390 * 100vw);
}

.c-works__block {
	gap: calc(4 / 390 * 100vw);
}

.c-works__logo {
	height: calc(36 / 390 * 100vw);
	min-width: auto;
	padding: calc(5 / 390 * 100vw) calc(17 / 390 * 100vw);
}

.c-works__logo-text {
	font-size: calc(14 / 390 * 100vw);
}

.c-works__body {
	gap: calc(1 / 390 * 100vw);
}

.c-works__title {
	font-size: calc(14 / 390 * 100vw);
}

.c-works__desc {
	font-size: calc(15 / 390 * 100vw);
	line-height: 1.6;
}

.c-works__link {
	gap: calc(4 / 390 * 100vw);
}

.c-works__link-text {
	font-size: calc(13 / 390 * 100vw);
}

.c-button {
	aspect-ratio: 200/40;
	width: calc(200 / 390 * 100vw);
}

.c-button-text {
	font-size: calc(16 / 390 * 100vw);
}

.c-button-icon {
	right: calc(10 / 390 * 100vw);
}

.c-icon {
	width: calc(30 / 390 * 100vw);
}

.c-icon-arrow {
	width: calc(14 / 390 * 100vw);
}

.c-icon-arrow::after {
	width: calc(14 / 390 * 100vw);
}

.c-icon-arrow.--right {
	width: calc(18 / 390 * 100vw);
}

.c-icon-arrow.--right::after {
	width: calc(18 / 390 * 100vw);
}

.c-icon.large {
	width: calc(40 / 390 * 100vw);
}

}

@keyframes crossIn {

0% {
	opacity: 1;
	transform: translate(0%, 0%);
}

48% {
	opacity: 1;
}

49% {
	opacity: 0;
	transform: translate(300%, -300%);
}

51% {
	opacity: 0;
	transform: translate(-300%, 300%);
}

52% {
	opacity: 1;
}

100% {
	opacity: 1;
	transform: translate(0%, 0%);
}

}

