@charset "UTF-8";

:root {
	--color-body-1: #000;
	--color-theme-1: #FF6600;
	--color-theme-1-1: #FAB76A;
	--color-theme-1-2: #FAC587;
	--color-theme-1-3: #FFE7DB;
	--color-theme-1-4: #FFAC4C;
	--color-theme-2: #FFD000;
	--color-theme-3: #4FBFC0;
	--color-theme-4: #FAEE00;
	--color-gray-1: #483C34;
	--color-gray-2: #E7E6E6;

	--noto-sans: "Noto Sans JP", sans-serif;
	--zen-kaku: "Zen Kaku Gothic New", sans-serif;
	--num: "Urbanist", sans-serif;
	--en: "Outfit", sans-serif;
	--fw: 300;
	--lh: calc(32 / 15);
	--op: 0.6;
	--ts: 0.3s;

	--content-w: 1130px;
	--container: var(--content-w);
	--padding: 20px;
	--stack: 100px;
}

@media(max-width: 991px) {
	:root {
		--stack: 80px;
	}
}

/*		ネガティブマージン		*/
.m-n1 { margin: -0.25rem !important; }
.m-n2 { margin: -0.5rem !important; }
.m-n3 { margin: -1rem !important; }
.m-n4 { margin: -1.5rem !important; }
.m-n5 { margin: -3rem !important; }

.mt-n1 { margin-top: -0.25rem !important; }
.mt-n2 { margin-top: -0.5rem !important; }
.mt-n3 { margin-top: -1rem !important; }
.mt-n4 { margin-top: -1.5rem !important; }
.mt-n5 { margin-top: -3rem !important; }

.mb-n1 { margin-bottom: -0.25rem !important; }
.mb-n2 { margin-bottom: -0.5rem !important; }
.mb-n3 { margin-bottom: -1rem !important; }
.mb-n4 { margin-bottom: -1.5rem !important; }
.mb-n5 { margin-bottom: -3rem !important; }

.ms-n1 { margin-left: -0.25rem !important; }
.ms-n2 { margin-left: -0.5rem !important; }
.ms-n3 { margin-left: -1rem !important; }
.ms-n4 { margin-left: -1.5rem !important; }
.ms-n5 { margin-left: -3rem !important; }

.me-n1 { margin-right: -0.25rem !important; }
.me-n2 { margin-right: -0.5rem !important; }
.me-n3 { margin-right: -1rem !important; }
.me-n4 { margin-right: -1.5rem !important; }
.me-n5 { margin-right: -3rem !important; }

.mx-n1 {
	margin-left: -0.25rem !important;
	margin-right: -0.25rem !important;
}
.mx-n2 {
	margin-left: -0.5rem !important;
	margin-right: -0.5rem !important;
}
.mx-n3 {
	margin-left: -1rem !important;
	margin-right: -1rem !important;
}
.mx-n4 {
	margin-left: -1.5rem !important;
	margin-right: -1.5rem !important;
}
.mx-n5 {
	margin-left: -3rem !important;
	margin-right: -3rem !important;
}

.my-n1 {
	margin-top: -0.25rem !important;
	margin-bottom: -0.25rem !important;
}
.my-n2 {
	margin-top: -0.5rem !important;
	margin-bottom: -0.5rem !important;
}
.my-n3 {
	margin-top: -1rem !important;
	margin-bottom: -1rem !important;
}
.my-n4 {
	margin-top: -1.5rem !important;
	margin-bottom: -1.5rem !important;
}
.my-n5 {
	margin-top: -3rem !important;
	margin-bottom: -3rem !important;
}

.bg-theme-1 {
	background: var(--color-theme-1)!important;
}

.bg-theme-4 {
	background: var(--color-theme-4)!important;
}

* {
	--font-size: calc((var(--fs) / 16) * 1rem);
	font-size: var(--font-size);
}

:where(b, strong, span, i, em, ::before, ::after):where(.editor-styles-wrapper *) {
	--font-size: calc((var(--fs) / 16) * 1rem);
	font-size: inherit;
}

.editor-styles-wrapper {
}

:where(.editor-styles-wrapper .wp-block-column),
:where(.editor-styles-wrapper .wp-block-group) {
	border: 1px dashed gray;
}

:is(.wp-block-group, .wp-block-column) :first-child {
	margin-top: 0;
}

:is(.wp-block-group, .wp-block-column) :last-child {
	margin-bottom: 0;
}


:where(b, strong, span, i, em, ::before, ::after):where(.editor-styles-wrapper *) {
	--font-size: calc((var(--fs) / 16) * 1rem);
	font-size: inherit;
}

.editor-styles-wrapper {
	--fs: 16;
	color: var(--color-body-1);
	font-size: var(--font-size);
}

h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])) {
	--fs: 23;
	font-size: var(--font-size);
	font-weight: bold;
	color: var(--color-theme-1);
	margin-bottom: 30px;
}

.is-style-h-1 {
	display: flex;
	align-items: baseline;
	gap: 16px;
	--fs: 23;
	font-size: var(--font-size);
	font-weight: bold;
	line-height: calc(30 / 23);
	color: var(--color-theme-1);
	margin-bottom: 25px;
	position: relative;
	&::before {
		content: "Q";
		display: flex;
		justify-content: center;
		align-items: center;
		--fs: 25;
		font-size: var(--font-size);
		font-family: var(--en);
		color: #FFF;
		font-weight: bold;
		line-height: normal;
		width: 40px;
		min-width: 40px;
		height: 40px;
		background: var(--color-theme-1);
		border-radius: 50%;
	}
	span {
		grid-row: 1 / 2;
		grid-column: 2 / 3;
	}
}

* + h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
* + .is-style-h-1 {
	margin-top: 100px;
}

@media(max-width: 991px) {
	.is-style-h-1 {
		--fs: 20;
		gap: 10px;
		margin-bottom: 15px;
		&::before {
			--fs: 20;
			width: 30px;
			min-width: 30px;
			height: 30px;
		}
	}
	* + h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	* + .is-style-h-1 {
		margin-top: 80px;
	}
	h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])) {
		--fs: 20;
	}
}

/*		table		*/

.wp-block-table:not([class*=is-style-table]) table,
.is-style-table-1 {
	width: 100%;
	margin-inline: auto;
	word-break: break-all;
	margin-bottom: 80px;
}

.wp-block-table:not([class*=is-style-table]) thead,
.is-style-table-1 thead {
	border: none;
}

.wp-block-table:not([class*=is-style-table]) td,
.is-style-table-1 td,
.wp-block-table:not([class*=is-style-table]) th,
.is-style-table-1 th {
	line-height: calc(25 / 16);
	background: #FFF;
	border: none;
	border-bottom: 1px dashed #ACACAC;
	padding: 25px 15px;
}

.wp-block-table:not([class*=is-style-table]) tr:last-child td,
.is-style-table-1 tr:last-child td,
.wp-block-table:not([class*=is-style-table]) tr:last-child th,
.is-style-table-1 tr:last-child th {
	border-bottom: none;
}

.wp-block-table:not([class*=is-style-table]) :not(thead) td:first-child,
.is-style-table-1 :not(thead) th td:first-child {
	font-weight: bold;
	color: var(--color-theme-1);
	white-space: nowrap;
}

.wp-block-table:not([class*=is-style-table]) td,
.is-style-table-1 td {
	vertical-align: baseline;
}

@media(max-width: 991px) {
	.wp-block-table:not([class*=is-style-table]) table,
	.is-style-table-1 {
		margin-bottom: 40px;	
	}
}

@media(max-width: 575px) {
	.wp-block-table:not([class*=is-style-table]) td,
	.is-style-table-1 td,
	.wp-block-table:not([class*=is-style-table]) th,
	.is-style-table-1 th {
		padding: 10px;
	}
	.wp-block-table:not([class*=is-style-table]):not(:has(thead)) td,
	.is-style-table-1:not(:has(thead)) td,
	.wp-block-table:not([class*=is-style-table]):not(:has(thead)) th,
	.is-style-table-1:not(:has(thead)) th {
		display: block;
		padding: 5px 10px;
	}
	.wp-block-table:not([class*=is-style-table]):not(:has(thead)) td:first-child,
	.is-style-table-1:not(:has(thead)) td:first-child,
	.wp-block-table:not([class*=is-style-table]):not(:has(thead)) th,
	.is-style-table-1:not(:has(thead)) th {
		border-bottom: none;
		padding: 10px 10px 5px;
	}
	.wp-block-table:not([class*=is-style-table]):not(:has(thead)) td:last-child,
	.is-style-table-1:not(:has(thead)) td:last-child {
		padding: 5px 10px 10px;
	}
}



/*		button		*/
.wp-block-button:not([class*=is-style]) .wp-block-button__link,
.is-style-button-1 .wp-block-button__link {
	display: grid;
	place-items: center;
	--fs: 16;
	font-size: var(--font-size);
	font-weight: 500;
	line-height: calc(19 / 16);
	color: #FFF;
	max-inline-size: max-content;
	min-width: 280px;
	background: var(--color-theme-1);
	border-radius: 999px;
	padding: 24px 50px;
	position: relative;
	&::after {
		--mask: url(img/arrow-right.svg) no-repeat center/contain;
		content: "";
		display: block;
		width: 16px;
		aspect-ratio: 16 / 14;
		aspect-ratio: 1 / 1;
		background: #FFF;
		-webkit-mask: var(--mask);
		mask: var(--mask);
		position: absolute;
		top: 50%;
		right: 28px;
		transform: translateY(-50%);
	}
	&.text-black::after {
		background: #000;
	}
}

.wp-block-button:not([class*=is-style]).small .wp-block-button__link,
.is-style-button-1.small .wp-block-button__link {
	--fs: 16;
	line-height: 1.6;
	padding: 8px 32px;
}

@media(max-width: 767px) {
	.wp-block-button:not([class*=is-style]) .wp-block-button__link,
	.is-style-button-1 .wp-block-button__link {
		--fs: 14;
		max-width: 240px;
		padding: 16px 50px;
	}
	.wp-block-button:not([class*=is-style]).small .wp-block-button__link,
	.is-style-button-1.small .wp-block-button__link {
		--fs: 14;
		padding: 8px 24px;
	}
}

/*		リスト		*/
ul.wp-block-list:not([class*=is-style]),
ul.is-style-list-1 {
	list-style: none;
	padding: 0;
	li {
		position: relative;
		line-height: calc(24 / 15); 
		padding-left: 20px;
		margin-bottom: 5px;
		&::before {
			content: "";
			width: 8px;
			height: 8px;
			background: var(--color-theme-1);
			border-radius: 50%;
			position: absolute;
			top: 8px;
			left: 0;
		}
	}
}

ol.wp-block-list:not([class*=is-style]),
ol.is-style-list-1 {
	counter-reset: listnum;
	list-style: none;
	padding-left: 0;
	li { 
		text-indent: -.5em;
		margin-left: 1em;
		&::before {
			counter-increment: listnum;
			content: counter(listnum)'.';
			display: inline-block;
			width: 0.5em;
		}
		> * {
			display: inline;
		}
	}
}

.wp-block-image {
	margin-bottom: 20px;
}

* + .wp-block-image {
	margin-top: 45px;
}

:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img) {
	border-radius: 30px;
}

@media(max-width: 991px) {
	* + .wp-block-image {
		margin-top: 30px;
	}
	:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img) {
		border-radius: 15px;
	}
}

.section-title {
	display: grid;
	gap: 17px;
	margin-bottom: 60px;
	&.justify-content-center {
		justify-content: center;
	}
	&.text-center {
		text-align: center;
	}
}


.section-title-ja {
	--fs: 18;
	font-size: var(--font-size);
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
	margin: 0;
}

.section-title-en {
	--fs: 65;
	font-size: var(--font-size);
	font-family: var(--en);
	font-weight: bold;
	color: var(--color-theme-1);
	line-height: 1;
	order: -1;
}

body:not(.home) .section-title-en {
	--fs: 40;
}

@media(max-width: 991px) {
	.section-title {
		gap: 10px;
		margin-bottom: 40px;
	}
	.section-title-en {
		--fs: 50;
	}
}

/*		採用情報 カバー		*/
.container:has( > .wp-block-lazyblock-recruitment) {
	--container: 920px;
}

.wp-block-lazyblock-recruitment {
	padding-block: var(--stack);
	&:has( + .wp-block-lazyblock-recruitment ) {
		padding-bottom: 0;
	}
	&:nth-child(1) {
		padding-top: 0;
	}
	&:last-child {
		padding-bottom: calc(var(--stack) * 2);
	}
}

.editor-styles-wrapper .recruitment-item {
	pointer-events: none;
}

.recruitment-item {
	position: relative;
	display: block;
	background: #FFF;
	border-radius: 30px;
	padding: 45px 30px 65px;
	&:not(:last-child) {
		margin-bottom: 60px;
	}
}

.recruitment-image img {
	width: 100%;
	border-radius: 30px;
}

.recruitment-link {
	display: grid;
	align-items: center;
	justify-content: center;
	--fs: 20;
	font-size: var(--font-size);
	font-weight: 500;
	color: #FFF;
	text-decoration: none;
	letter-spacing: 0.05em;
	max-inline-size: max-content;
	width: 100%;
	min-height: 63px;
	border-radius: 9999px;
	padding: 5px 70px;
	margin: 0;
	position: absolute;
	left: 50%;
	bottom: 65px;
	transform: translate(-50%,50%);
	&::after {
		content: "";
		width: 49px;
		height: 49px;
		background: url(img/icon-recruitment-link.svg) center / cover;
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
	}
}

@media(max-width: 991px) {
	.recruitment-item {
		border-radius: 15px;
		padding: 25px 25px 50px;
		&:not(:last-child) {
			margin-bottom: 30px;
		}
	}
	.recruitment-image img {
		border-radius: 15px;
	}
	.recruitment-link {
		--fs: 15;
		min-height: 50px;
		bottom: 50px;
		&::after {
			width: 36px;
			height: 36px;
		}
	}
}

@media(max-width: 575px) {
	.recruitment-item {
		padding: 15px 15px 30px;
		&:not(:last-child) {
			margin-bottom: 20px;
		}
	}
	.recruitment-link {
		--fs: 14;
		min-height: 40px;
		padding: 5px 50px;
		bottom: 30px;
		&::after {
			right: 5px;
			width: 30px;
			height: 30px;
		}
	}
	.recruitment-image img {
		aspect-ratio: 9 / 5;
		object-fit: cover;
		object-position: center;
	}
}

/*		メンバーリスト		*/
.member-interview-list {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 75px 24px;
	list-style: none;
	padding: 0;
	margin-bottom: 0;
}

.member-interview-item {
	display: block;
}

.member-interview-image {
	position: relative;
	padding-right: 6px;
	margin-bottom: 15px;
	img {
		aspect-ratio: 359 / 328;
		width: 100%;
		object-fit: cover;
		border-radius: 30px;
		box-shadow: 6px 6px 0 var(--color-theme-1);
	}
}

a .member-interview-image {
	margin-bottom: 30px;
	&::before {
		content: "";
		width: 70px;
		height: 70px;
		background: url(img/arrow-right.svg) no-repeat center / 16px, #000;
		border: 2px solid #FFF;
		border-radius: 50%;
		position: absolute;
		right: 0;
		bottom: -20px;
	}
}

.member-interview-position {
	--fs: 13;
	font-size: var(--font-size);
	font-weight: 500;
	line-height: normal;
	text-align: center;
	margin-bottom: 0;
}

.member-interview-title {
	--fs: 23;
	font-size: var(--font-size);
	font-weight: 500;
	line-height: normal;
	text-align: center;
	margin-bottom: 10px;
}

.member-interview-join {
	--fs: 14;
	font-size: var(--font-size);
	line-height: 1;
	font-weight: 500;
	color: #FFF;
	background: var(--color-theme-1);
	border-radius: 5px;
	padding: 2px 7px;
	max-inline-size: max-content;
	margin-inline: auto;
	margin-bottom: 0;
}

.member-interview-text {
	--fs: 14;
	font-weight: 400;
	margin-bottom: 0;
}

@media(max-width: 991px) {
	.member-interview-list {
		gap: 50px 15px;
	}
}

@media(max-width: 767px) {
	.member-interview-list {
		grid-template-columns: repeat(2,1fr);
		gap: 50px 20px;
	}
}

@media(max-width: 575px) {
	.member-interview-list {
		grid-template-columns: 1fr;
		gap: 50px 20px;
	}
}