@charset "UTF-8";
#page {
	padding-top: 35px;
	padding-right: 0 !important;
}
@media screen and (max-width: 576px) {
	#page {
		padding-top: 0;
	}
}
@media screen and (max-width: 450px) {
	#page {
		padding-bottom: 101px;
	}
}
@media screen and (max-width: 375px) {
	#page {
		padding-bottom: 26.9333333333vw;
	}
}

#menu-wrap {
	min-height: 115px !important;
	padding: 18.5px 0;
}
@media screen and (max-width: 576px) {
	#menu-wrap {
		min-height: 73px !important;
		margin-bottom: 0 !important;
		padding: 10px 0;
	}
}

.container-menu {
	max-width: 1160px !important;
	padding: 0 15px !important;
	position: relative;
}
@media screen and (max-width: 1085px) {
	.container-menu {
		display: flex !important;
		justify-content: space-between !important;
	}
}
@media screen and (max-width: 991px) {
	.container-menu {
		display: block !important;
	}
}

.lp-logo {
	width: 149px !important;
	padding: 0 !important;
}
@media screen and (max-width: 1200px) {
	.lp-logo {
		display: flex;
		align-items: center;
		width: 100px !important;
	}
}
@media screen and (max-width: 576px) {
	.lp-logo {
		width: 113px !important;
		height: 53px !important;
	}
}

.nav > li > a {
	font-size: 20px !important;
}
@media screen and (max-width: 1200px) {
	.nav > li > a {
		font-size: 14px !important;
	}
}

.navbar-header {
	position: relative;
}
@media screen and (max-width: 991px) {
	.navbar-header {
		width: 100%;
	}
}

@media screen and (max-width: 991px) {
	#gnavi.collapse.navbar-collapse {
		scrollbar-width: none;
	}
	#gnavi.collapse.navbar-collapse::-webkit-scrollbar {
		display: none; /*Google Chrome、Safari、Microsoft Edge対応のスクロールバー非表示コード*/
	}
}

@media screen and (max-width: 1085px) {
	.navbar-toggle {
		float: none !important;
		margin: 0 !important;
		position: absolute !important;
		top: 50%;
		right: 15px;
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 576px) {
	.navbar-toggle {
		right: 0;
	}
}

.e-con-inner {
	gap: 0 !important;
	padding: 0 !important;
}

.section-wrapper {
	padding: 120px 20px !important;
}
@media screen and (max-width: 768px) {
	.section-wrapper {
		padding: 80px 20px !important;
	}
}

.section-head {
	display: grid;
	margin-bottom: 80px !important;
	padding-bottom: 34px;
	position: relative;

	place-items: center;
}
@media screen and (max-width: 768px) {
	.section-head {
		margin-bottom: 40px !important;
	}
}
@media screen and (max-width: 576px) {
	.section-head {
		row-gap: 24px !important;
	}
}
.section-head::after {
	content: "";
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	display: block;
	width: 149px;
	height: 7px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.section-head.contact {
	width: -moz-fit-content;
	width: fit-content;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	z-index: 1;
}
.section-head.contact::before {
	content: "";
	background-image: url(../images/contact_deco.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	display: block;
	width: 93px;
	height: 33px;
	position: absolute;
	top: 26.8px;
	right: -35px;
}
@media screen and (max-width: 576px) {
	.section-head.contact::before {
		width: 104px;
		height: 35px;
		top: 11px;
		right: -74px;
		z-index: -1;
	}
}
.section-head--primary::after {
	background-image: url(../images/polygon_primary.png);
}
.section-head--secondary::after {
	background-image: url(../images/polygon_secondary.png);
}

@media screen and (max-width: 1115px) {
	.fv {
		background-position: center left !important;
	}
}
@media screen and (max-width: 768px) {
	.fv {
		background-image: url(../images/fv_sp.jpg) !important;
		background-position: center center !important;
	}
}
@media screen and (max-width: 576px) {
	.fv {
		height: 137.6vw !important;
		min-height: auto !important;
	}
}
.fv-container {
	position: relative;
}
@media screen and (max-width: 576px) {
	.fv-container {
		height: 100%;
		min-height: auto !important;
	}
}
.fv-text-wrapper {
	position: absolute;
	bottom: 41px;
	left: 0;
}
@media screen and (max-width: 1115px) {
	.fv-text-wrapper {
		bottom: 180px;
		left: -10px;
	}
}
@media screen and (max-width: 576px) {
	.fv-text-wrapper {
		bottom: 3.4666666667vw;
	}
}
.fv-head {
	background-color: #fff;
	width: -moz-fit-content;
	width: fit-content;
	padding: 8px 16px;
}
@media screen and (max-width: 576px) {
	.fv-head {
		padding: 2.1333333333vw 4.2666666667vw;
	}
	.fv-head .elementor-heading-title {
		font-size: 9.6vw !important;
		line-height: 1.4444444444 !important;
	}
}
.fv-body {
	margin-top: 16px !important;
}
.fv-body * {
	margin: 0 !important;
}
.fv-body p {
	background-color: rgba(227, 159, 66, 0.9);
	width: -moz-fit-content;
	width: fit-content;
	padding: 8px 16px;
}
.fv-body p + p {
	margin-top: 8px !important;
}
@media screen and (max-width: 576px) {
	.fv-body {
		background-color: rgba(227, 159, 66, 0.9) !important;
		width: -moz-fit-content;
		width: fit-content;
		margin-top: 4.2666666667vw;
		padding: 2.1333333333vw 6.4vw !important;
	}
	.fv-body p {
		font-size: 4.2666666667vw !important;
		line-height: 1.75;
		background-color: transparent !important;
		padding: 0 !important;
	}
	.fv-body p + p {
		margin-top: 0 !important;
	}
}
.fv-btn {
	background-color: #fff;
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
}
.fv-btn a {
	background-color: transparent;
	background-image: url(../images/fv_btn.jpg);
	background-position: center;
	background-size: cover;
	display: block;
	width: 414px !important;
	height: 151px !important;
	border-radius: 0;
}
@media screen and (max-width: 768px) {
	.fv-btn {
		right: auto;
		left: 50%;
		transform: translateX(-50%);
	}
	.fv-btn a {
		width: 318px !important;
		height: 116px !important;
	}
}
@media screen and (max-width: 576px) {
	.fv-btn {
		background-color: rgba(255, 255, 255, 0.85);
		visibility: hidden;
		width: 100vw !important;
		padding: 15px;
		opacity: 0;
		position: fixed;
		bottom: 0;
		z-index: 100;
		transition: 0.5s;
	}
	.fv-btn.is-active {
		visibility: visible;
		opacity: 1;
	}
	.fv-btn a {
		background-image: url(../images/fv_btn_sp.jpg);
		width: 100% !important;
		max-width: 375px !important;
		height: 101px !important;
		margin: 0 auto;
	}
}
@media screen and (max-width: 400px) {
	.fv-btn {
		padding: 0;
	}
}
@media screen and (max-width: 375px) {
	.fv-btn {
		width: 100vw;
	}
	.fv-btn a {
		height: 26.9333333333vw;
	}
}

.requirement-list > .e-con-inner {
	display: flex !important;
	gap: 35px !important;
	align-items: stretch !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: center !important;
	max-width: 100% !important;
	margin: 0 !important;
}
@media screen and (max-width: 767px) {
	.requirement-list > .e-con-inner {
		gap: 40px !important;
		flex-wrap: wrap !important;
	}
}
.requirement-list > .e-con-inner > .elementor-element {
	padding: 0 !important;
}
.requirement-list-wrapper {
	background-color: #fff;
	width: 363px !important;
}
@media screen and (max-width: 767px) {
	.requirement-list-wrapper {
		width: 100% !important;
		max-width: 363px !important;
	}
}
.requirement-list-wrapper > .e-con-inner {
	display: block !important;
}
.requirement-list-head {
	background-color: #e29f43;
	padding: 19.5px 18px;
}
@media screen and (max-width: 576px) {
	.requirement-list-head {
		padding: 12.5px 27px;
	}
}
.requirement-list-body {
	padding: 20px 24px !important;
}
@media screen and (max-width: 576px) {
	.requirement-list-body {
		padding: 0 29px !important;
	}
}
.requirement-list-item {
	padding: 12px 0;
}
@media screen and (max-width: 576px) {
	.requirement-list-item {
		padding: 30px 0 !important;
	}
}
.requirement-list-item:not(:last-of-type) {
	border-bottom: 1px solid #dbd3d3;
}
.requirement-list-item-head {
	margin-bottom: 8px !important;
}
.requirement-list-item-body * {
	margin: 0 !important;
}
.requirement-list-item-body ul {
	padding: 0;
	list-style: none;
}
.requirement-list-item-body ul li {
	text-indent: -1em;
	padding-left: 1em;
}
.requirement-list-item-body ul li::before {
	content: "・";
}

.lifestyle-list > .e-con-inner {
	display: grid !important;
	row-gap: 40px !important;
	max-width: 1160px !important;
}
.lifestyle-item > .e-con-inner {
	display: grid;
	grid-template-columns: 315px 1fr !important;
	max-width: 1160px !important;
}
@media screen and (max-width: 768px) {
	.lifestyle-item > .e-con-inner {
		grid-template-columns: minmax(0, 560px) !important;
		justify-content: center !important;
		padding: 0 !important;
	}
}
.lifestyle-item:nth-of-type(odd) .lifestyle-item-case {
	background-color: #6ea6bf;
}
.lifestyle-item:nth-of-type(even) .lifestyle-item-case {
	background-color: #84c1dd;
}
.lifestyle-item-case {
	padding: 40px !important;
	position: relative;
	z-index: 1;
}
.lifestyle-item-case::after {
	content: "";
	background-color: inherit;
	display: block;
	width: 16px;
	height: 36px;
	position: absolute;
	top: 50%;
	left: calc(100% - 1px);
	transform: translateY(-50%);
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	-webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
@media screen and (max-width: 768px) {
	.lifestyle-item-case {
		padding: 20px 28.5px 21px !important;
	}
	.lifestyle-item-case::after {
		width: 36px;
		height: 16px;
		top: calc(100% - 1px);
		left: 50%;
		transform: translateX(-50%);
		clip-path: polygon(0 0, 50% 100%, 100% 0);
		-webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
	}
}
.lifestyle-item-content {
	background-color: #fff;
	padding: 40px 40px 40px 55px !important;
}
.lifestyle-item-content > .e-con-inner {
	display: grid !important;
	grid-template-columns: auto 257px !important;
	row-gap: 40px !important;
	column-gap: 20px !important;

	-moz-column-gap: 20px !important;
}
@media screen and (max-width: 1050px) {
	.lifestyle-item-content > .e-con-inner {
		grid-template-columns: auto !important;
		justify-content: center !important;
	}
}
@media screen and (max-width: 768px) {
	.lifestyle-item-content {
		padding: 56px 28px 40px !important;
	}
}
.lifestyle-item-thumb {
	width: 100% !important;
	max-width: 350px !important;
	margin: 0 auto;
}
.lifestyle-case-head {
	display: flex !important;
	column-gap: 16px !important;
	align-items: center !important;
	margin-bottom: 16px !important;

	-moz-column-gap: 16px !important;
}
.lifestyle-case-head::before {
	content: "";
	background-image: url(../images/check.png);
	background-size: cover;
	display: block;
	flex-shrink: 0 !important;
	width: 24px;
	height: 24px;
}
.lifestyle-case-head * {
	margin: 0 !important;
}
.lifestyle-feature-subhead {
	display: flex !important;
	column-gap: 16px !important;
	align-items: center;
	margin-bottom: 16px !important;

	-moz-column-gap: 16px !important;
}
.lifestyle-feature-subhead::before {
	content: "";
	background-image: url(../images/logo.png);
	background-size: cover;
	display: block;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
}
.lifestyle-feature-head {
	margin-bottom: 16px !important;
}
.lifestyle-feature-body * {
	margin: 0 !important;
}

.u-sm--hidden {
	display: inline-block;
}
@media screen and (max-width: 576px) {
	.u-sm--hidden {
		display: none;
	}
}
.u-sm--block {
	display: none;
}
@media screen and (max-width: 576px) {
	.u-sm--block {
		display: inline-block;
	}
}

.u-md--hidden {
	display: inline-block;
}
@media screen and (max-width: 768px) {
	.u-md--hidden {
		display: none;
	}
}
.u-md--block {
	display: none;
}
@media screen and (max-width: 768px) {
	.u-md--block {
		display: inline-block;
	}
}

.u-lg--hidden {
	display: inline-block;
}
@media screen and (max-width: 992px) {
	.u-lg--hidden {
		display: none;
	}
}
.u-lg--block {
	display: none;
}
@media screen and (max-width: 992px) {
	.u-lg--block {
		display: inline-block;
	}
}

.contact-btn {
	width: 100% !important;
	max-width: 402px !important;
	margin: 0 auto !important;
}
.contact-btn a {
	display: grid !important;
	height: 82px !important;
	position: relative;

	place-items: center;
}
.contact-btn a::after {
	content: "";
	background-image: url(../images/btn_arrow.png);
	background-position: center;
	background-size: cover;
	display: block;
	width: 13px;
	height: 27px;
	position: absolute;
	top: 50%;
	right: 26px;
	transform: translateY(-50%);
}
@media screen and (max-width: 576px) {
	.contact-btn a::after {
		width: 10px;
		height: 18px;
		right: 8px;
	}
}
.contact-btn2 {
	text-align: center;
}

body.lp .voice {
	height: auto !important;
}
body.lp .voice > .e-con-inner {
	max-width: 1160px !important;
}
body.lp .voice-list > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	row-gap: 39px !important;
	column-gap: 40px !important;
	width: 100% !important;
	max-width: 1160px !important;

	-moz-column-gap: 40px !important;
}
@media screen and (max-width: 920px) {
	body.lp .voice-list > .e-con-inner {
		grid-template-columns: minmax(0, 560px) !important;
		justify-content: center;
	}
}
@media screen and (max-width: 576px) {
	body.lp .voice-list > .e-con-inner {
		grid-template-columns: minmax(0, 400px) !important;
	}
}
body.lp .voice-item {
	background-color: #fff;
	padding: 40px !important;
}
@media screen and (max-width: 576px) {
	body.lp .voice-item {
		padding: 24px 28px !important;
	}
}
body.lp .voice-item > .e-con-inner {
	display: grid !important;
	grid-template-columns: max-content 1fr !important;
	column-gap: 28px !important;
}
@media screen and (max-width: 576px) {
	body.lp .voice-item > .e-con-inner {
		grid-template-columns: 1fr !important;
		row-gap: 24px !important;
		justify-content: center;
	}
}
body.lp .voice-item-icon {
	width: 134px;
	position: relative;
}
.voice-icon::before {
	content: "";
	background: url(../images/voice-text.png) no-repeat center bottom / cover;
	display: block;
	width: 108px;
	height: 46px;
	position: absolute;
	top: -35px;
	left: -14px;
}
@media screen and (max-width: 992px) {
	body.lp .voice-item-icon {
		width: 106px;
	}
	.voice-icon::before {
		width: 115px;
		height: 50px;
		top: -29px;
		left: -55px;
	}
}
@media screen and (max-width: 576px) {
	body.lp .voice-item-icon {
		justify-self: center;
	}
}
body.lp .voice-item-top {
	min-height: 57px !important;
	padding-bottom: 12px !important;
	border-bottom: 1px dashed #e29f43;
}
body.lp .voice-item-top * {
	font-size: 20px;
	font-family: "Noto Sans JP", Sans-serif;
	font-weight: 500;
	line-height: 1.4;
	color: #725433;
	margin: 0 !important;
}
body.lp .voice-item-name {
	padding-top: 12px !important;
}
body.lp .voice-item-name * {
	font-size: 16px;
	font-family: "Noto Sans JP", Sans-serif;
	font-weight: 400;
	line-height: 1.5;
	color: #725433;
	margin: 0 !important;
}
body.lp .voice-item-btn {
	grid-column: 1/-1;
	justify-self: center;
	margin-top: 40px !important;
}
@media screen and (max-width: 576px) {
	body.lp .voice-item-btn {
		margin-top: 24px !important;
	}
}
body.lp .voice-item-btn a {
	display: flex !important;
	column-gap: 16px !important;
	align-items: center;
	justify-content: flex-end;
	width: 170px;
	height: 36px !important;
	padding: 0 9px 0 0 !important;

	-moz-column-gap: 16px !important;
}
body.lp .voice-item-btn a::after {
	content: "";
	background-image: url(../images/plus.png);
	background-position: center;
	background-size: cover;
	display: block;
	width: 18px;
	height: 18px;
}

.idealCandidate-list > .e-con-inner {
	display: grid !important;
	row-gap: 40px !important;
	max-width: 1160px !important;
}
@media screen and (max-width: 992px) {
	.idealCandidate-list > .e-con-inner {
		width: -moz-fit-content !important;
		width: fit-content !important;
		margin: 0 auto !important;
	}
}
.idealCandidate-item {
	background-color: #fff;
	padding: 40px;
}
@media screen and (max-width: 992px) {
	.idealCandidate-item {
		padding: 42px 28.5px;
	}
}
.idealCandidate-item > .e-con-inner {
	display: grid !important;
	grid-template-columns: auto 412px !important;
	row-gap: 40px !important;
	column-gap: 30px !important;

	-moz-column-gap: 30px !important;
}
@media screen and (max-width: 992px) {
	.idealCandidate-item > .e-con-inner {
		grid-template-columns: minmax(0, 560px) !important;
		justify-content: center;
	}
}
.idealCandidate-item-content {
	grid-column: 1/2;
}
@media screen and (max-width: 992px) {
	.idealCandidate-item-content {
		grid-column: auto;
	}
}
.idealCandidate-item-title {
	margin-top: 11px !important;
	margin-bottom: 32px !important;
	margin-left: 28.2px !important;
}
@media screen and (max-width: 992px) {
	.idealCandidate-item-title {
		white-space: nowrap;
		margin-bottom: 27.5px !important;
		margin-left: 0 !important;
	}
}
@media screen and (max-width: 400px) {
	.idealCandidate-item-title {
		font-size: 20px !important;
		white-space: normal;
	}
}
.idealCandidate-item-title::before {
	content: "";
	background-position: center;
	background-size: cover;
	display: block;
	width: 80px;
	height: 25px;
	transform: translateX(-28.2px);
}
@media screen and (max-width: 992px) {
	.idealCandidate-item-title::before {
		margin-bottom: 2px !important;
		transform: translateX(-23px);
	}
}
.idealCandidate-item-body {
	padding-left: 60.2px !important;
}
@media screen and (max-width: 992px) {
	.idealCandidate-item-body {
		padding-left: 0 !important;
	}
}
.idealCandidate-item-body * {
	margin: 0 !important;
}
.idealCandidate-item-body ul {
	margin-left: 0 !important;
	padding-left: 0 !important;
	list-style: none;
	list-style-position: inside;
}
.idealCandidate-item-body ul li {
	text-indent: -1em;
	padding-left: 1em;
}
.idealCandidate-item-body ul li::before {
	content: "▷";
}
@media screen and (max-width: 992px) {
	.idealCandidate-item-thumb {
		margin-bottom: 27.5px !important;
	}
}

.benefit-list > .e-con-inner {
	display: flex !important;
	gap: 40px !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	max-width: 1160px !important;
}
@media screen and (max-width: 576px) {
	.benefit-list > .e-con-inner {
		grid-template-columns: minmax(0, 360px) !important;
	}
}
.benefit-item {
	flex-shrink: 0 !important;
	width: 360px !important;
}
@media screen and (max-width: 576px) {
	.benefit-item {
		width: 100% !important;
		max-width: 360px !important;
	}
}
.benefit-item-num {
	height: 20.3px !important;
	margin-bottom: 22.3px !important;
}
.benefit-item-num img {
	width: auto !important;
	height: 100% !important;
}
@media screen and (max-width: 576px) {
	.benefit-item-num {
		margin-bottom: 20.3px !important;
	}
}
.benefit-item-head {
	min-height: 72px;
	margin-bottom: 32px !important;
}
@media screen and (max-width: 576px) {
	.benefit-item-head {
		min-height: auto;
		margin-bottom: 40px !important;
	}
}
.benefit-item-thumb {
	margin-bottom: 32px !important;
}
.benefit-item-body * {
	margin: 0 !important;
}

.message-wrapper {
	background-color: #fff;
	padding: 93.3px 40px 110.3px;
	position: relative;
}
.message-wrapper > .e-con-inner {
	display: grid !important;
	grid-template-columns: auto 213px !important;
	column-gap: 40px !important;
	align-items: flex-start;
	max-width: 1160px !important;

	-moz-column-gap: 40px !important;
}
@media screen and (max-width: 992px) {
	.message-wrapper > .e-con-inner {
		display: block !important;
	}
}
.message-wrapper::after {
	content: "";
	background-image: url(../images/message_deco.png);
	background-position: center;
	background-size: cover;
	display: block;
	width: 206px;
	height: 86px;
	position: absolute;
	top: -24px;
	left: 30px;
}
@media screen and (max-width: 576px) {
	.message-wrapper::after {
		width: 144px;
		height: 60px;
		top: -26.3px;
		left: 0;
	}
}
@media screen and (max-width: 768px) {
	.message-wrapper {
		max-width: 560px !important;
		margin: 0 auto;
		padding: 40px 28px !important;
	}
}
.message-image:not(:last-of-type) {
	margin-bottom: 10.5px !important;
}
.message-body {
	margin-bottom: 8px !important;
}
@media screen and (max-width: 992px) {
	.message-body {
		margin-bottom: 16.3px;
	}
}
.message-body * {
	margin-bottom: 0;
}
.message-body p {
	margin-bottom: 16px !important;
}
@media screen and (max-width: 576px) {
	.message-body p {
		margin-bottom: 14px !important;
	}
}
@media screen and (max-width: 992px) {
	.message-body-image:first-of-type {
		width: 213px;
		margin: 0 auto 24px !important;
	}
}
.message-info {
	width: -moz-fit-content;
	width: fit-content;
	margin-left: auto !important;
}
.message-info * {
	margin: 0 !important;
}
.message-info span {
	font-size: 14px;
	line-height: 1.7142857143;
}
@media screen and (max-width: 992px) {
	.message-info {
		margin-bottom: 16.3px !important;
	}
}

/* .philosophy > .e-con-inner {
	max-width: 1160px !important;
}
.philosophy-list > .e-con-inner {
	display: grid !important;
	row-gap: 40px !important;
	max-width: 1160px !important;
}
@media screen and (max-width: 576px) {
	.philosophy-list > .e-con-inner {
		max-width: 375px !important;
	}
}
.philosophy-item {
	padding: 26px 40px 23px !important;
}
@media screen and (max-width: 576px) {
	.philosophy-item {
		padding: 24px 28px 26px !important;
	}
}
.philosophy-item > .e-con-inner {
	display: grid !important;
	grid-template-columns: 111px 1fr !important;
	column-gap: 45px !important;
	align-items: center !important;
	max-width: 1160px !important;

	-moz-column-gap: 45px !important;
}
@media screen and (max-width: 768px) {
	.philosophy-item > .e-con-inner {
		column-gap: 30px !important;

		-moz-column-gap: 30px !important;
	}
}
@media screen and (max-width: 576px) {
	.philosophy-item > .e-con-inner {
		display: flex !important;
		flex-direction: column !important;
	}
}
.philosophy-item-content {
	padding: 0 !important;
}
@media screen and (max-width: 576px) {
	.philosophy-item-icon {
		width: 80px;
		margin-right: auto;
		margin-bottom: 24px !important;
		margin-left: auto;
	}
}
.philosophy-item-body {
	margin-top: 16px !important;
}
@media screen and (max-width: 576px) {
	.philosophy-item-body {
		margin-top: 13px !important;
	}
} */
.popup {
	background-color: #fff;
	max-width: 100% !important;
	padding: 40px !important;
}
@media screen and (max-width: 768px) {
	.popup {
		width: calc(100% - 40px);
		max-width: 450px !important;
		padding: 24px 27px !important;
	}
}
.popup-top > .e-con-inner {
	display: flex !important;
	column-gap: 36px !important;
	align-items: flex-end !important;
	flex-direction: row !important;
	margin-bottom: 40px !important;

	-moz-column-gap: 36px !important;
}
@media screen and (max-width: 768px) {
	.popup-top > .e-con-inner {
		grid-template-columns: 1fr !important;
		row-gap: 24px !important;
		justify-content: center !important;
		margin-bottom: 24px !important;
	}
}
.popup-info {
	flex: 1!important;
}
.popup-icon {
	width: 134px !important;
}
@media screen and (max-width: 768px) {
	.popup-icon {
		width: 105px!important;
		margin: 4px auto 0;
	}
	.popup-icon .voice-icon::before {
		top: -19px;
	}
}
.popup-title {
	padding-bottom: 12px !important;
	border-bottom: 1px dashed #e29f43;
}
.popup-title * {
	margin-bottom: 0 !important;
}
.popup-name {
	padding-top: 12px !important;
}
.popup-name * {
	margin-bottom: 0 !important;
}
.popup-list > .e-con-inner {
	display: flex;
	row-gap: 40px !important;
	flex-direction: column;
}
@media screen and (max-width: 768px) {
	.popup-list > .e-con-inner {
		row-gap: 24px !important;
	}
}
.popup-item-head {
	margin-bottom: 12px !important;
}
.popup-item-body *:last-of-type {
	margin-bottom: 0 !important;
}
.popup-btn {
	margin: 0 auto;
	position: static !important;
}
.popup-btn a {
	display: grid !important;
	width: 170px !important;
	height: 36px !important;
	padding: 0 !important;
	position: relative;

	place-items: center !important;
}
.popup-btn a::after {
	content: "";
	background-image: url(../images/close.png);
	background-size: cover;
	display: block;
	width: 18px;
	height: 18px;
	position: absolute;
	top: 50%;
	right: 9px;
	transform: translateY(-50%);
}

button.pum-close {
	font-size: 0 !important;
	background-color: transparent !important;
	display: block !important;
	width: 38px !important;
	height: 38px !important;
	box-shadow: none !important;
}
button.pum-close::after {
	content: "";
	background-image: url(../images/close_orange.png);
	background-size: cover;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width: 520px) {
	button.pum-close {
		width: 18px !important;
		height: 18px !important;
		top: 49px !important;
		right: 21px !important;
	}
}

.pum-container {
	background-color: transparent !important;
	margin-left: 0 !important;
	padding-right: 0!important;
	padding-left: 0!important;
	box-shadow: none !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
}
@media screen and (max-width: 552px) {
	.pum-container {
		padding-bottom: 60px !important;
	}
}

.pum-title {
	color: transparent !important;
	text-shadow: none !important;
}

.pum-overlay {
	background-color: rgba(0, 0, 0, 0.7) !important;
}

.footer-bg {
	background-color: #fdf5e3 !important;
	padding-top: 131.7px !important;
	padding-right: 0 !important;
	padding-bottom: 73.3px !important;
	padding-left: 0 !important;
}
@media screen and (max-width: 576px) {
	.footer-bg {
		padding-top: 28px !important;
		padding-bottom: 28px !important;
	}
}

.footer-link {
	display: flex;
	row-gap: 5px;
	column-gap: 34px;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 8.4px;

	-moz-column-gap: 34px;
}
.footer-link a {
	font-size: 16px;
	font-family: "Noto Sans JP", Sans-serif;
	font-weight: 400;
	line-height: 1.5;
	color: #372a1b;
	text-decoration: underline;
}
@media screen and (max-width: 576px) {
	.footer-link {
		column-gap: 42px;
		margin-bottom: 10px;

		-moz-column-gap: 42px;
	}
	.footer-link a {
		font-size: 14px;
		line-height: 1.4285714286;
	}
}

.footer-copyright {
	font-size: 16px;
	font-family: "Noto Sans JP", Sans-serif;
	font-weight: 400;
	line-height: 1.5;
	color: #372a1b;
}
.footer-copyright small {
	font-size: inherit;
	font-weight: inherit;
}




/* ---------- 2025.01.27 リクルート改修 ---------- */
@media screen and (min-width: 768px) {
	.elementor-66 #requirements {
		padding-right: 0!important;
		padding-left: 0!important;
		container-type: inline-size;
	}
	.elementor-66 #requirementsWrap {
		max-width: 100%!important;
		padding: 0;
		position: relative;
	}
	/* @container (max-width: 1600px) { */
	@container (max-width: 1200px) {
		.elementor-66 #requirements::before,
		.elementor-66 #requirements::after {
			content: "";
			display: block;
			width: 60px;
			height: 100%;
			position: absolute;
			top: 0;
			z-index: 1;
		}
		.elementor-66 #requirements::before {
			background: linear-gradient(90deg, rgba(253, 245, 227, 1) 0, rgba(253, 245, 227, 0) 100%);
			left: 0;
		}
		.elementor-66 #requirements::after {
			background: linear-gradient(270deg, rgba(253, 245, 227, 1) 0, rgba(253, 245, 227, 0) 100%);
			right: 0;
		}
		.elementor-66 #requirementsWrap {
			position: relative;
		}
		.elementor-66 #requirementsWrap::before,
		.elementor-66 #requirementsWrap::after {
			content: "";
			width: 30px;
			height: 30px;
			position: absolute;
			top: 120px;
			z-index: 2;
		}
		.elementor-66 #requirementsWrap::before {
			border-top: 2px solid #e29f43;
			border-left: 2px solid #e29f43;
			left: 12px;
			transform: rotate(-45deg);
		}
		.elementor-66 #requirementsWrap::after {
			border-top: 2px solid #e29f43;
			border-right: 2px solid #e29f43;
			right: 12px;
			transform: rotate(45deg);
		}
	}
	.elementor-66 #requirementsFlexWrap {
		overflow: hidden;
		overflow-x: auto;
		width: 100%;
		padding: 0 60px!important;
	}
	.elementor-66 #requirementsFlex {
		/* min-width: 1480px; */
		min-width: 1160px;
		margin: auto!important;
	}
}




/* ---------- 2025.03.10 リクルート改修 ---------- */
/* -- slider -- */
#nowHiring {
	background-color: #fdf5e3;
	padding: 80px 20px;
}
#nowHiring > div {
	max-width: 1160px;
	margin: 0 auto;
}
#nowHiring #slider .swiper-wrapper {
	margin: 0;
	padding: 0;
}
#nowHiring #slider li {
	background-color: #fff;
	text-align: center;
	display: block;
	margin: 0;
	list-style: none;
	position: relative;
}
#nowHiring #slider li::before {
	content: "積極採用中";
	font-size: 2rem;
	line-height: 1;
	color: #fff;
	background: #d8966c  url(../images/logo-w-mini.png) no-repeat calc(50% - 2.5em) center / 31.5px auto;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 52px;
	padding: 0.25em 0 0 3em;
}
#nowHiring #slider li::after {
	content: "";
	background: url(../images/slider_img.png) no-repeat center bottom / cover;
	text-align: center;
	display: block;
	width: 100%;
	height: 184px;
}
#nowHiring #slider li span {
	font-size: 2.8rem;
	font-weight: 600;
	display: block;
	padding: 40px 0;
	position: relative;
}
#nowHiring #slider li span::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: 16px solid #d8966c;
	border-right: 18px solid transparent;
	border-left: 18px solid transparent;
	position: absolute;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
}
#nowHiring .swiper-pagination-bullet {
	background-color: #fff;
	width: 10px;
	height: 10px;
	opacity: 1;
	border: 1px solid #d8966c;
}
#nowHiring .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #d8966c;
}
#nowHiringList {
	background-color: #fff;
	padding: 40px 80px;
}
#nowHiringList h3 {
	font-size: 2.8rem;
	font-weight: 500;
	text-align: center;
	margin-bottom: 3.2rem;
}
#nowHiringList h4 {
	font-size: 2.4rem;
	font-weight: 500;
}
#nowHiringList .now-hiring-list + h4 {
	margin-top: 12px;
}
.now-hiring-list li {
	font-size: 2rem;
	display: inline-block;
	padding-right: 0.5em;
}
.now-hiring-list li:not(:first-child)::before {
	content: "/";
	color: #707070;
	padding: 0 0.5em 0 0;
}
.now-hiring-list li a {
	font-weight: 600;
	color: #d8966c;
}

@media screen and (min-width: 768px) {
	#nowHiring #slider.disabled-swiper ul {
		justify-content: space-around;
	}
	#nowHiring #slider.disabled-swiper li {
		width: 45%;
	}
}

@media screen and (max-width: 767px) {
	#nowHiring #slider li::before {
		font-size: 1.6rem;
		height: 42px;
	}
	#nowHiring #slider li::after {
		height: 162px;
	}
	#nowHiring #slider li span {
		font-size: 2.4rem;
		padding: 34px;
	}
	#nowHiringList {
		padding: 28px 12px;
	}
	#nowHiringList h3 {
		font-size: 2.4rem;
	}
	#nowHiringList h4 {
		font-size: 1.6rem;
	}
	.now-hiring-list li {
		font-size: 1.4rem;
	}
}

/* -- Numerical Data -- */
#numericalData {
	background-color: #ecf6fb;
	padding: 120px 20px;
}
.numerical-data-list {
	display: flex;
	gap: 40px;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
.numerical-data-list li {
	background-color: #fff;
	text-align: center;
	flex: 1;
}
.numerical-data-list li h3 {
	font-size: 2rem;
	font-weight: 500;
	line-height: 68px;
	color: #fff;
	background-color: #6ea6bf;
	height: 68px;
	margin: 0;
}
.numerical-data-list li figure {
	padding: 20px 5.5% 40px;
}
.numerical-data-list li:nth-of-type(2) h3 {
	background-color: #84c1dd;
}

@media screen and (max-width: 767px) {
	.numerical-data-list {
		flex-direction: column;
	}
	.numerical-data-list li h3 {
		line-height: 53px;
		height: 53px;
	}
	.numerical-data-list li figure {
		padding: 12px 2.5% 20px;
	}
}

/* -- Flow -- */
.section-head.flow {
	gap: 0;
}
.flow-head-sub {
	font-size: 2.5rem;
	color: #d8966c;
}
.flow-list {
	counter-reset: flow;
	margin: 0;
	padding: 0;
	list-style: none;
}
.flow-list li {
	counter-increment: flow;
	background-color: #ecf6fc;
	text-align: center;
	padding: 56px 0 36px;
	position: relative;
}
.flow-list li::before {
	content: counter(flow);
	font-size: 2.4rem;
	color: #fff;
	background-color: #6ea6bf;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	border-radius: 99px;
	position: absolute;
	top: -38px;
	left: 50%;
	transform: translateX(-50%);
}
.flow-list li:not(:last-child)::after {
	content: "";
	width: 0;
	height: 0;
	margin: auto;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 21px solid #ecf6fc;
	position: absolute;
}
.flow-list li h3,
.flow-list li p {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
}
.flow-list li h3 {
	font-size: 2.2rem;
	line-height: 1.35;
	color: #6ea6bf;
}
.flow-list li p {
	font-size: 1.4rem;
	line-height: 1.42;
	padding: 0 8px;
}

@media screen and (min-width: 768px) {
	.flow-contents {
		margin-top: 92px;
	}
	.flow-list {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-template-rows: auto;
		gap: 36px 26px;
	}
	.flow-list li {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 3;
	}
	.flow-list li:not(:last-child)::after {
		top: 0;
		right: -20px;
		bottom: 0;
		transform: translateY(-50%);
	}
	@media screen and (max-width: 1000px) {
		.flow-list {
			grid-template-columns: repeat(2, 1fr);
		}
	}
}

@media screen and (max-width: 767px) {
	.flow-contents {
		margin-top: 32px;
	}
	.flow-list li + li {
		margin-top: 72px;
	}
	.flow-list li:not(:last-child)::after {
		right: 0;
		bottom: -20px;
		left: 0;
		transform: rotate(90deg);
	}
}

/* -- instructor -- */
#instructor .voice-item-icon .elementor-widget-container {
	aspect-ratio: 1/1;
}
#instructor .voice-item-icon .elementor-widget-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}




/* ---------- 2025.04.24 動画埋め込み ---------- */
#movie {
	background-color: #fdf5e3;
	padding: 80px 20px;
}
.movie-wrapper {
	width: 100%;
	max-width: 814px;
	margin: 0 auto;
	aspect-ratio: 16/9;
}
.movie-wrapper iframe {
	width: 100%;
	height: 100%;
}
#movie + #nowHiring {
	padding-top: 0;
}

@media screen and (max-width: 767px) {
	#movie {
		padding: 60px 20px;
	}
}




/* ---------- 2025.05.15 ブランド理念 / その他修正---------- */
#philosophy .philosophy-box + .philosophy-box,
#philosophy .philosophy-box li + li,
#philosophy .philosophy-box li figure {
	margin-top: 40px;
}
#philosophy .philosophy-box {
	background-color: #ecf6fd;
}
#philosophy .philosophy-box h3 {
	font-family: "Noto Sans JP", Sans-serif;
	text-align: center;
	margin: 0;
	position: relative;
}
#philosophy .philosophy-box h3 b {
	font-size: 2.4rem;
	color: #6ea6bf;
	z-index: 1;
}
#philosophy .philosophy-box h3 i {
	font-size: 6rem;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	margin: auto;
	z-index: 0;
}
#philosophy .philosophy-box > *:not(h3) {
	font-size: 1.6rem;
	line-height: 1.75;
	margin: 0;
}
#philosophy .philosophy-box li {
	list-style: none;
}
#philosophy .philosophy-box li h4 {
	font-size: 2rem;
	line-height: 1.2;
	color: #6ea6bf;
}
#philosophy .philosophy-box li p {
	margin: 0;
}

@media screen and (min-width: 768px) {
	#philosophy .philosophy-box {
		display: flex;
		align-items: stretch;
	}
	#philosophy .philosophy-box h3 {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 312px;
	}
	#philosophy .philosophy-box h3 b {
		position: relative;
	}
	#philosophy .philosophy-box h3 i {
		line-height: 1;
		width: 100%;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	#philosophy .philosophy-box:nth-of-type(3) h3 i {
		font-size: 4.3rem;
	}
	#philosophy .philosophy-box:nth-of-type(4) h3 i {
		font-size: 5rem;
	}
	#philosophy .philosophy-box > *:not(h3) {
		width: calc(100% - 312px);
		padding: 40px 0;
	}
	#philosophy .philosophy-box > p {
		padding-right: calc(32% + 20px);
		position: relative;
	}
	#philosophy .philosophy-box > p span {
		display: block;
		width: calc((100% + 312px) * 0.32);
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
	}
	#philosophy .philosophy-box > p span img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
	#philosophy .philosophy-box li {
		margin: 0 0 0 22px;
		padding: 0 40px 0 0;
	}
	#philosophy .philosophy-box li h4 {
		margin: 0 0 16px -22px;
	}
}

@media screen and (max-width: 767px) {
	#philosophy .philosophy-box {
		padding-top: 40px;
	}
	#philosophy .philosophy-box h3 b {
		width: 100%;
		position: absolute;
		top: calc(50% - 6px);
		left: 0;
		transform: translateY(-50%);
	}
	#philosophy .philosophy-box h3 i {
		line-height: 0.4;
		padding-top: 12px;
		position: relative;
	}
	#philosophy .philosophy-box > *:not(h3) {
		padding: 24px 28px 40px;
	}
	#philosophy .philosophy-box > p span {
		display: block;
		overflow: hidden;
		margin-top: 32px;
		position: relative;
		aspect-ratio: 70 / 43;
	}
	#philosophy .philosophy-box > p span img {
		width: 120%;
		height: 120%;
		margin: auto;
		object-fit: cover;
		position: absolute;
		inset: 0;
	}
	#philosophy .philosophy-box li h4 {
		margin: 0 0 16px 0;
	}
}



.idealCandidate-item:nth-of-type(1) .idealCandidate-item-title::before {
	background-image: url(../images/idealCandidate_No01.png);
}
.idealCandidate-item:nth-of-type(2) .idealCandidate-item-title::before {
	background-image: url(../images/idealCandidate_No02.png);
}
.idealCandidate-item:nth-of-type(3) .idealCandidate-item-title::before {
	background-image: url(../images/idealCandidate_No03.png);
}
.idealCandidate-item:nth-of-type(4) .idealCandidate-item-title::before {
	background-image: url(../images/idealCandidate_No04.png);
}

@media screen and (max-width: 767px) {
	#idealCandidate h2.elementor-heading-title {
		font-size: 2.1rem;
	}
	#idealCandidate .elementor-widget-container li {
		font-size: 1.4rem;
	}
}