/* リキッドレイアウト対応 */

body {
	background-color: #fff;
}

.u-pc {
	display: block;
}

.u-sp {
	display: none;
}

html {
	font-size: 16px;
}

.layout-recruit-link {
	margin-top: 5rem;
}

.sub-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1646px;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.access__info {
	-moz-column-gap: min(0.625rem, 390px);
	grid-column-gap: min(0.625rem, 390px);
	column-gap: min(0.625rem, 390px);
	display: grid;
	grid-template-columns: 1fr 32.2916666667vw;
	grid-template-rows: auto auto 1fr;
	margin-top: 37px;
}

.access__info + .access__info {
	margin-top: 6.0625rem;
}

.access__office {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.6;
}

.access__route {
	margin-top: 43px;
}

.access__route::before {
	background-image: url(../img/company/train.svg);
	background-position: 0px center;
	background-repeat: no-repeat;
	background-size: 1em;
	content: "電車でお越しの方";
	display: block;
	font-weight: 700;
	margin-bottom: 3px;
	padding-left: 1em;
}

.access__map {
	grid-column: 2/3;
	grid-row: 1/4;
	width: 100%;
}

.access__map iframe {
	aspect-ratio: 620/348;
	height: auto;
	width: 100%;
}

.access__gallery {
	margin-top: 160px;
}

.archive-description {
	padding-top: 3.75rem;
}

.archive-description__content {
	grid-row-gap: 32px;
	display: grid;
	grid-template-columns: 1fr;
	margin-left: auto;
	margin-right: auto;
	margin-top: 60px;
	max-width: 1274px;
	row-gap: 32px;
}

.archive-description__item a {
	align-items: center;
	background-color: #F0F0F0;
	border-radius: 10px;
	display: flex;
	font-size: inherit;
	justify-content: space-between;
	padding-bottom: 40px;
	padding-left: min(2.6041666667vw, 50px);
	padding-right: min(1.9270833333vw, 37px);
	padding-top: 40px;
	width: 100%;
}

.archive-description__item a:hover {
	background-color: #000;
	color: #fff;
}

.archive-description__item a::after {
	-webkit-mask-image: url(../img/common/arrow.svg);
	-webkit-mask-position: right center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 21/18;
	background-color: #000;
	content: "";
	display: block;
	height: 18px;
	mask-image: url(../img/common/arrow.svg);
	mask-position: right center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 21px;
}

.archive-description__item a:hover::after {
	background-color: #fff;
}

.archive-topics {
	padding-bottom: 320px;
	padding-top: 80px;
}

.archive-topics__contents {
	grid-gap: min(10.8854166667vw, 209px);
	display: grid;
	gap: min(10.8854166667vw, 209px);
	grid-template-columns: max(250px, min(15.7291666667vw, 302px)) 1fr;
}

.archive-topics__cats {
	height: 100%;
}

.archive-topics__cat {
	background-color: #F0F0F0;
	border-radius: 20px;
	position: sticky;
	top: 200px;
}

.archive-topics__cat__inner {
	padding-bottom: 60px;
	padding-left: min(2.34375vw, 45px);
	padding-right: min(2.34375vw, 45px);
	padding-top: 60px;
}

.archive-topics__cat-title {
	font-family: "Arial", "Helvetica", sans-serif;
	font-size: 25px;
	font-style: Italic;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
}

.archive-topics__cat-list {
	margin-top: 24px;
}

.archive-topics__cat-item a {
	align-items: center;
	border-bottom: 1px #000 solid;
	display: flex;
	font-size: 18px;
	font-weight: 800;
	justify-content: space-between;
	letter-spacing: 0;
	line-height: 1.6;
	margin-top: 8px;
	padding: 10px;
}

.archive-topics__cat-item a:hover {
	color: #000;
}

.archive-topics__cat-item a::after {
	background-image: url(../img/common/arrow.svg);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 18px;
	margin-right: 8px;
	transform: translateX(0);
	transition: transform 0.3s;
	width: 21px;
}

.archive-topics__cat-item a:hover::after {
	transform: translateX(5px);
}

.archive-topics__article-wrap {
	border-top: 1px solid #000;
}

.archive-topics__article-link {
	align-items: center;
	border-bottom: 1px solid #000;
	display: flex;
	gap: min(5.5208333333vw, 106px);
	opacity: 1;
	padding-bottom: 40px;
	padding-left: min(3.125vw, 60px);
	padding-right: min(1.0416666667vw, 20px);
	padding-top: 40px;
	transition: opacity 0.3s;
}

.archive-topics__article-link:hover {
	color: #000;
	opacity: 0.6;
}

.archive-topics__article-meta {
	display: grid;
	grid-template-columns: 160px;
	text-align: center;
}

.archive-topics__article-day.text {
	font-style: 400;
}

.archive-topics__article-cat {
	background-color: #000;
	color: #fff;
	font-family: Noto Sans JP;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.6;
	padding-bottom: 4px;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 4px;
}

.archive-topics__article-title {
	flex: 1;
}

.archive-topics__pagenavi {
	margin-top: 60px;
}

.article__meta {
	align-items: center;
	display: flex;
	gap: 30px;
}

.article__day {
	font-family: "Arial", "Helvetica", sans-serif;
	font-size: 24px;
	font-style: Italic;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
}

.article__cat {
	background-color: #000;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.6;
	padding-bottom: 4px;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 4px;
}

.article__title {
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	margin-top: 1.875rem;
}

.article__thumbnail {
	margin-left: auto;
	margin-right: auto;
	margin-top: 100px;
	max-width: 720px;
}

.article__body * {
	margin-top: 40px;
}

.article__body p {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
}

.article__body a {
	border-bottom: 1px solid #000;
}

.background.background--sub {
	aspect-ratio: 1;
	height: auto;
	right: 0;
	top: 0;
	width: 5.3125rem;
}

.button.button--sub {
	aspect-ratio: 1;
	height: auto;
	width: 85px;
}

.button.button--sub .icon,
.button.button--sub .icon::before,
.button.button--sub .icon::after {
	background-color: #000;
	height: 2px;
	width: 32px;
}

.button.button--sub .icon::before {
	top: -8px;
}

.button.button--sub .icon::after {
	top: 8px;
}

.checkbox label {
	display: block;
}

.checkbox input {
	display: none;
}

.checkbox input + span {
	cursor: pointer;
	display: inline-block;
	padding-left: 40px;
	position: relative;
}

.checkbox input + span::before {
	background: #fff;
	border: 1px solid #000;
	content: "";
	display: block;
	height: 22px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
}

.checkbox input + span::after {
	border-bottom: 4px solid #000;
	border-left: 4px solid #000;
	content: "";
	display: block;
	height: 12px;
	left: 0;
	margin-top: 2px;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-80%) rotate(-45deg);
	transition: 0.3s;
	width: 23px;
}

.checkbox input:checked + span::after {
	opacity: 1;
}

.checkbox label {
	margin-top: 40px;
}

.checkbox.text {
	border-bottom: 1px #F0F0F0 solid;
	display: flex;
	flex-direction: column;
	height: 100%;
	line-height: 1.8;
	padding-bottom: 32px;
	padding-left: 24px;
	padding-right: 24px;
	padding-top: 32px;
}

.compliance {
	padding-bottom: 365px;
	padding-top: 120px;
}

.compliance__contents {
	margin-left: auto;
	margin-right: auto;
	max-width: 1268px;
}

.compliance__title.text {
	font-weight: 700;
}

.compliance__title.compliance__title--lg.text {
	font-size: 28px;
}

.compliance__item {
	margin-top: 40px;
}

.compliance__list + .compliance__list {
	margin-top: 64px;
}

.compliance__item ol {
	list-style: decimal;
	margin-top: 40px;
	padding-left: 1.6em;
}

.compliance__item li::marker {
	font-feature-settings: "tnum";
	content: "（" counter(list-item) "）";
}

.compliance__item li + li {
	margin-top: 24px;
}

.entry-button {
	background-color: #000;
	border: 3px currentColor solid;
	border-radius: 10px;
	color: #fff;
	display: inline-block;
	font-family: "Arial", "Helvetica", sans-serif;
	font-size: 20px;
	font-style: italic;
	font-weight: 700;
	letter-spacing: 0;
	max-width: 400px;
	padding: 24px;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	width: 100%;
}

.entry-button::after {
	-webkit-mask-image: url(../img/common/arrow.svg);
	-webkit-mask-position: right center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 21/18;
	background-color: #fff;
	content: "";
	display: block;
	height: 18px;
	mask-image: url(../img/common/arrow.svg);
	mask-position: right center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 11px;
	top: 50%;
	transform: translateY(-50%);
	width: 21px;
}

.entry-button:hover {
	background-color: #fff;
	color: #000;
}

.entry-button:hover::after {
	background-color: #000;
}

.entry-form {
	padding-top: 60px;
}

.entry-form.entry-form--contact {
	padding-bottom: 120px;
}

.entry-form__form-wrap {
	margin-left: auto;
	margin-right: auto;
	margin-top: 94px;
	max-width: 1250px;
}

.entry-form__text.text {
	line-height: 1.8;
}

.entry-form__text.text span {
	color: #FF0000;
}

.entry-form__form {
	margin-top: 80px;
}

.entry-form__link {
	margin-top: 80px;
	text-align: center;
}

.footer-left-menu li {
	height: auto;
	padding-left: 85px;
	padding-right: 85px;
}

.footer-left-menu li a {
	font-size: 38px;
	padding-bottom: 56px;
	padding-top: 56px;
}

.footer-right-address-wrap {
	padding-left: min(8.9583333333vw, 172px);
	padding-right: min(6.5104166667vw, 125px);
}

.footer-right-address-wrap .row.no-margin {
	margin-bottom: auto;
	margin-top: 104px;
}

.footer-company-name01 {
	letter-spacing: 0;
	line-height: 1;
}

.footer-address {
	margin-top: 21px;
}

a.footer-gmap {
	font-size: 14px;
	letter-spacing: 0;
	margin-top: 20px;
}

.footer-tel-wrap a {
	font-size: 16px;
	letter-spacing: 0;
}

.footer-menu-wrap {
	margin-top: 0;
}

.col-sm-12.footer-address-wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 60px;
}

.footer__cta {
	margin-right: -28px;
}

.footer__contact {
	background-color: #000;
	border: #000 3px solid;
	color: #fff;
	display: inline-block;
	font-size: max(20px, min(1.25vw, 24px));
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	max-width: 300px;
	padding-bottom: 24px;
	padding-left: min(0.5208333333vw, 10px);
	padding-right: min(0.5208333333vw, 10px);
	padding-top: 24px;
	text-align: center;
	width: 100%;
}

.footer__compliance {
	display: block;
	font-size: 15px;
	font-weight: 700;
	margin-top: 1rem;
}

.footer__compliance:hover {
	letter-spacing: 0.1em;
}

.footer-menu-wrap a {
	display: block;
	font-size: max(15px, min(0.8333333333vw, 16px));
}

.footer__contact:hover {
	background-color: #fff;
	color: #000;
	letter-spacing: 0.1em;
	opacity: 1;
}

.footer-name {
	grid-column: 1/3;
	margin-top: 55px;
	width: min(32.1875vw, 618px);
}

.footer-menu-wrap a {
	margin-bottom: 20px;
}

.footer-copyright {
	font-size: 14px;
	letter-spacing: 0;
	line-height: 1.1;
	margin-top: 64px;
}

.form-input input {
	border: none;
	width: 100%;
}

input[required] {
	background: #F0F0F0;
}

input[required]:valid {
	background: #F0F0F0;
}

input[required]:invalid {
	background: #F0F0F0;
}

.form-input.form-input--file input {
	background-color: transparent;
}

.form-input.form-input--day input {
	margin-right: 4px;
	text-align: right;
}

.form-input.form-input--day input:nth-child(1) {
	width: 144px;
}

.form-input.form-input--day input:nth-child(2),
.form-input.form-input--day input:nth-child(3) {
	margin-left: 6px;
	width: 122px;
}

.form-input.form-input--post-num input {
	margin-left: 6px;
	margin-right: 6px;
	width: 136px;
}

.form-input.form-input--post-num button {
	background-color: #000;
	color: #fff;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.8;
	margin-left: 8px;
	padding-bottom: 0;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 0;
}

.form-input.form-input--post-num small {
	display: block;
	font-size: -2pt;
	margin-top: 8px;
	text-align: left;
}

.form-input.form-input--notes {
	align-items: start;
	flex-direction: column;
}

.form-input.form-input--notes small {
	display: block;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.8;
	margin-top: 8px;
}

.form-input.text {
	align-items: start;
	border-bottom: 1px #F0F0F0 solid;
	display: flex;
	height: 100%;
	line-height: 1.8;
	padding-bottom: 32px;
	padding-left: 24px;
	padding-right: 24px;
	padding-top: 32px;
}

.form-input:first-of-type {
	border-top: 1px #F0F0F0 solid;
}

.form-input.form-input--post-num {
	align-items: start;
	flex-direction: column;
}

.form-radio label {
	display: inline-block;
}

.form-radio label + label {
	margin-left: 50px;
}

.form-radio.form-radio--contact label + label {
	margin-left: 0;
}

.form-radio input {
	display: none;
}

.form-radio input + span {
	cursor: pointer;
	display: block;
	padding: 0 0 0 28px;
	position: relative;
}

.form-radio input + span::before {
	background: #fff;
	border: 1px solid #000;
	border-radius: 50%;
	content: "";
	display: block;
	height: 16px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
}

.form-radio input + span::after {
	background: #000;
	border: 1px solid transparent;
	border-radius: 50%;
	content: "";
	height: 10px;
	left: 3px;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: 0.3s;
	width: 10px;
}

.form-radio input:checked + span::after {
	opacity: 1;
}

.form-radio.text.form-radio--contact {
	-moz-column-gap: 50px;
	grid-column-gap: 50px;
	grid-row-gap: 8px;
	column-gap: 50px;
	display: grid;
	grid-template-columns: auto 1fr;
	row-gap: 8px;
}

.form__radio.text {
	align-items: center;
	border-bottom: 1px #F0F0F0 solid;
	display: flex;
	height: 100%;
	line-height: 1.8;
	padding-bottom: 32px;
	padding-left: 24px;
	padding-right: 24px;
	padding-top: 32px;
}

.form-submit input {
	background-color: #000;
	border: 3px currentColor solid;
	border-radius: 10px;
	color: #fff;
	display: inline-block;
	font-family: "Arial", "Helvetica", sans-serif;
	font-size: 20px;
	font-weight: 700;
	height: 100%;
	letter-spacing: 0;
	padding: 24px;
	text-align: center;
	transition: border 0.3s, background-color 0.3s, color 0.3s;
	width: 100%;
}

.form-submit div {
	display: inline-block;
	max-width: 400px;
	position: relative;
	width: 100%;
}

.form-submit div::after {
	-webkit-mask-image: url(../img/common/arrow.svg);
	-webkit-mask-position: right center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 21/18;
	background-color: #fff;
	content: "";
	display: block;
	height: 18px;
	mask-image: url(../img/common/arrow.svg);
	mask-position: right center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 11px;
	top: 50%;
	transform: translateY(-50%);
	transition: background-color 0.3s;
	width: 21px;
	z-index: 5;
}

.form-submit input:hover {
	background-color: #fff;
	color: #000;
}

.form-submit div:has(input:hover)::after {
	background-color: #000;
}

.form-textarea textarea {
	background-color: #F0F0F0;
	border: none;
	height: 288px;
	width: 100%;
}

.form-textarea {
	align-items: center;
	border-bottom: 1px #F0F0F0 solid;
	display: flex;
	height: 100%;
	line-height: 1.8;
	padding-bottom: 32px;
	padding-left: 24px;
	padding-right: 24px;
	padding-top: 32px;
}

.form__wrap {
	align-items: center;
	display: grid;
	grid-template-columns: 32.1821036107% 1fr;
}

.form__label.text {
	align-items: center;
	background-color: #000;
	border-bottom: 1px #F0F0F0 solid;
	color: #fff;
	display: flex;
	height: 100%;
	line-height: 1.8;
	padding-bottom: 32px;
	padding-left: 24px;
	padding-right: 24px;
	padding-top: 32px;
}

.form__wrap:last-of-type .form-input.text {
	align-items: start;
	flex-direction: column;
}

.form__label:first-of-type {
	border-top: 1px #F0F0F0 solid;
}

.form__submit {
	margin-top: 5.375rem;
	text-align: center;
}

.form__policy-wrap {
	height: 352px;
	margin-right: -24px;
	margin-top: 40px;
	overflow-y: scroll;
	width: 100%;
}

.greeting {
	background-image: url(../img/company/greeting-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 150px;
	padding-top: 146px;
}

.greeting__contents {
	display: flex;
	gap: min(8.8541666667vw, 170px);
	margin-top: 70px;
}

.greeting__img {
	width: min(33.3333333333vw, 640px);
}

.greeting__img img {
	aspect-ratio: 640/426;
	height: auto;
	width: 100%;
}

.greeting__content {
	flex: 1;
}

.greeting__text + .greeting__text {
	margin-top: 2em;
}

.history {
	background-image: url(../img/company/history.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 106px;
	padding-top: 106px;
}

.history__inner.sub-inner {
	background: linear-gradient(135deg, rgba(72, 72, 72, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%);
	max-width: 1590px;
	padding-bottom: 56px;
	padding-left: min(8.3854166667%, 161px);
	padding-right: 34px;
	padding-top: 53px;
	width: 90%;
}

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

.interview {
	padding-top: 100px;
}

.interview + .interview {
	border-top: #000 1px solid;
	padding-top: 130px;
}

.interview__head {
	display: grid;
	grid-template-columns: 394px 1fr;
	position: relative;
}

.interview__head-img img {
	-o-object-fit: cover;
	aspect-ratio: 1;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.interview__head-container {
	align-self: center;
	background-color: #fff;
	border: 1px solid #cccccc;
	grid-column: 2/3;
	margin-left: max(-2.6041666667vw, -50px);
	margin-right: max(-2.6041666667vw, -50px);
	padding-bottom: 34px;
	padding-left: min(3.3854166667vw, 65px);
	padding-right: min(3.3854166667vw, 65px);
	padding-top: 18px;
	position: absolute;
}

.interview__head-title {
	align-items: baseline;
	display: flex;
	gap: min(1.6666666667vw, 32px);
}

.interview__head-title p {
	font-family: "Arial", "Helvetica", sans-serif;
	font-size: max(18px, min(1.25vw, 24px));
	font-style: italic;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	text-transform: uppercase;
}

.interview__head-title span {
	font-size: max(28px, min(2.9166666667vw, 56px));
}

.interview__head-title h3 {
	font-feature-settings: "palt";
	font-size: max(28px, min(1.6666666667vw, 32px));
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
}

.interview__head-list {
	align-items: first baseline;
	display: flex;
	gap: min(2.0833333333vw, 40px);
	margin-top: 10px;
}

.interview__head-list + .interview__head-list {
	margin-top: 10px;
}

.interview__head-list dt {
	align-items: center;
	background-color: #000;
	color: #fff;
	display: flex;
	font-size: 20px;
	font-weight: 500;
	height: 40px;
	justify-content: center;
	line-height: 1.6;
	width: 120px;
}

.interview__head-list dd {
	flex: 1;
}

.interview__content {
	margin-top: 100px;
}

.interview__content-title {
	font-family: "Arial", "Helvetica", sans-serif;
	font-size: 56px;
	font-style: italic;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
}

.interview__content-container {
	margin-top: 40px;
}

.interview__content-q {
	align-items: center;
	display: flex;
	font-size: 26px;
	font-weight: 700;
	gap: 17px;
	letter-spacing: 0;
	line-height: 1.6;
}

.interview__content-q::before {
	background-color: #000;
	content: "";
	display: block;
	height: 2px;
	width: 64px;
}

.interview__content-a {
	margin-top: 17px;
}

.interview__schedule {
	margin-top: 48px;
}

.interview__schedule-title {
	align-items: center;
	display: flex;
	font-size: 32px;
	font-weight: 700;
	gap: 8px;
	letter-spacing: 0;
	line-height: 1.6;
}

.interview__schedule-title::before {
	background-image: url(../img/interview/clock.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 56px;
	width: 56px;
}

.interview__schedule-title.interview__schedule-title--calendar::before {
	background-image: url(../img/interview/calendar.svg);
	height: 48px;
	width: 48px;
}

.interview__schedule-text {
	margin-top: 24px;
}

.interview__schedule-timeline {
	margin-top: 32px;
}

.know-company {
	background-color: #F0F0F0;
	padding-bottom: 47px;
	padding-top: 60px;
}

.know-company__contents {
	grid-gap: min(2.0833333333vw, 40px);
	display: grid;
	gap: min(2.0833333333vw, 40px);
	grid-template-columns: repeat(2, 1fr);
	margin-top: 48px;
	width: 100%;
}

.know-company__content:nth-child(3) {
	grid-column: span 2;
}

.know-company__content-inner {
	padding: 20px 30px;
}

.know-company__content--birth .know-company__content-inner {
	padding-bottom: 152px;
}

.know-company__ttl {
	align-items: center;
	display: flex;
	gap: 20px;
}

.know-company__ttl i {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	height: min(3.125vw, 60px);
	width: min(3.125vw, 60px);
}

.know-company__ttl h3 {
	border-bottom: 2px solid #000;
	font-size: max(22px, min(1.7708333333vw, 34px));
	font-weight: 700;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	padding: 10px;
	width: -moz-fit-content;
	width: fit-content;
}

.know-company__content {
	background-color: #fff;
}

.know-company__tips {
	margin-left: auto;
	margin-right: auto;
	margin-top: 46px;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 5;
}

.know-company__tip {
	position: absolute;
}

.know-company__tip--female {
	right: calc(50% - min(22vw, 315px));
	top: 107px;
}

.know-company__tip--male {
	left: calc(50% - min(22vw, 331px));
	top: 231px;
}

.know-company__tip--other {
	left: calc(50% - min(22vw, 268px));
	top: -5px;
}

.know-company__tip--20 {
	right: calc(50% - min(20vw, 277px));
	top: 34px;
}

.know-company__tip--30 {
	right: calc(50% - 265px);
	top: 200px;
}

.know-company__tip--40 {
	left: calc(50% - min(22vw, 310px));
	top: 218px;
}

.know-company__tip--50 {
	left: calc(50% - min(22vw, 303px));
	top: 98px;
}

.know-company__tip--60 {
	left: calc(50% - 263px);
	top: -12px;
}

.know-company__tip-name {
	background-color: #000;
	color: #FEF34B;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.6;
	padding-left: 20px;
	padding-right: 20px;
	position: relative;
}

.know-company__tip-name::before {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
}

.know-company__tip--female .know-company__tip-name::before {
	aspect-ratio: 105/37;
	background-image: url(../img/recruit/female.svg);
	height: 37px;
	left: 4px;
	top: 0.5lh;
	transform: translateX(-100%);
	width: 105px;
}

.know-company__tip--male .know-company__tip-name::before {
	aspect-ratio: 138/43;
	background-image: url(../img/recruit/male.svg);
	height: 43px;
	right: 4px;
	top: 0.5lh;
	transform: translate(100%, -100%);
	width: 138px;
}

.know-company__tip--other .know-company__tip-name::before {
	aspect-ratio: 165/26;
	background-image: url(../img/recruit/other.svg);
	height: auto;
	right: 6px;
	top: 0.5lh;
	transform: translateX(100%);
	width: 165px;
}

.know-company__tip--20 .know-company__tip-name::before {
	aspect-ratio: 80/37;
	background-image: url(../img/recruit/20.svg);
	height: 37px;
	left: 4px;
	top: 0.5lh;
	transform: translateX(-100%);
	width: 80px;
}

.know-company__tip--30 .know-company__tip-name::before {
	aspect-ratio: 201/40;
	background-image: url(../img/recruit/30.svg);
	height: 40px;
	left: 6px;
	top: 0.5lh;
	transform: translateX(-100%);
	width: 201px;
}

.know-company__tip--40 .know-company__tip-name::before {
	aspect-ratio: 116/6;
	background-image: url(../img/recruit/40.svg);
	height: 4px;
	right: 4px;
	top: 0.5lh;
	transform: translate(100%, -100%);
	width: 116px;
}

.know-company__tip--50 .know-company__tip-name::before {
	aspect-ratio: 120/29;
	background-image: url(../img/recruit/50.svg);
	height: 29px;
	right: 4px;
	top: 0.5lh;
	transform: translate(100%, -100%);
	width: 120px;
}

.know-company__tip--60 .know-company__tip-name::before {
	aspect-ratio: 98/44;
	background-image: url(../img/recruit/60.svg);
	height: 44px;
	right: 4px;
	top: 60px;
	transform: translate(100%, -100%);
	width: 98px;
}

.know-company__tip-num {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	text-align: center;
}

.know-company__tip-num::after {
	content: "名";
	font-size: 18px;
}

.know-company__chart {
	aspect-ratio: 1 !important;
}

.know-company__chart {
	height: auto;
	position: relative;
	width: max(280px, min(16.8229166667vw, 323px));
	z-index: -1;
}

.know-company__chart canvas {
	overflow: visible;
}

.know-company__chart-nums {
	left: 50%;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
}

.know-company__chart-text {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
}

.know-company__chart-num {
	-webkit-background-clip: text !important;
}

.know-company__chart-num {
	-webkit-text-fill-color: transparent;
	align-items: baseline;
	background: linear-gradient(85deg, #606060 0%, #C7C7C7 100%);
	display: flex;
	font-size: 56px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
	vertical-align: baseline;
	white-space: nowrap;
}

.know-company__chart-num span + span {
	font-size: 24px;
}

.know-company__content-inner {
	position: relative;
}

.know-company__content-regional-wrap {
	display: contents;
}

.know-company__content-regional {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: repeat(3, auto) 1fr;
	position: absolute;
	width: -moz-fit-content;
	width: fit-content;
}

#regional01.know-company__content-regional {
	right: calc(50% - min(45vw, 597px));
	top: 104px;
}

#regional02.know-company__content-regional {
	right: calc(50% - min(45vw, 744px));
	top: 268px;
}

#regional03.know-company__content-regional {
	right: calc(50% - min(33vw, 512px));
	top: 370px;
}

#regional04.know-company__content-regional {
	right: calc(50% - min(21vw, 320px));
	top: 559px;
}

#regional05.know-company__content-regional {
	left: calc(50% - min(24vw, 352px));
	top: 127px;
}

#regional06.know-company__content-regional {
	left: calc(50% - min(32vw, 521px));
	top: 451px;
}

#regional07.know-company__content-regional {
	left: calc(50% - min(45vw, 748px));
	top: 283px;
}

.know-company__content-regional.know-company__content-regional--col2 {
	grid-column: span 2;
	grid-template-columns: repeat(2, 1fr);
}

.know-company__content-place-title.text {
	background-color: #000;
	color: #FEF34B;
	font-weight: 700;
	margin-bottom: 10px;
	padding: 10px 20px;
	text-align: center;
}

.know-company__content-regional--col2 .know-company__content-place-title {
	grid-column: span 2;
}

.know-company__content-place-wrap {
	align-items: baseline;
	display: flex;
	gap: 1rem;
}

.know-company__content-place.text {
	font-weight: 700;
}

.know-company__content-num.text {
	font-size: 32px;
	font-weight: 700;
}

.know-company__content-num.text span {
	font-size: 24px;
}

.know-company__content-map-wrap {
	margin-left: min(30.7291666667vw, 590px);
	margin-right: auto;
	margin-top: 29px;
	position: relative;
	width: 494px;
}

.know-company__content-map-pin {
	aspect-ratio: 1;
	background-image: url(../img/recruit/pin.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	height: auto;
	position: absolute;
}

.know-company__content-map-pin:nth-of-type(1) {
	right: 11%;
	top: 8.5%;
	width: 28px;
}

.know-company__content-map-pin:nth-of-type(2) {
	right: 28%;
	top: 57%;
	width: 28px;
}

.know-company__content-map-pin:nth-of-type(3) {
	right: 40%;
	top: 61%;
	width: 49px;
}

.know-company__content-map-pin:nth-of-type(4) {
	left: 20.5%;
	top: 70%;
	width: 43px;
}

.know-company__content-map-pin:nth-of-type(5) {
	left: 30.5%;
	top: 52%;
	width: 96px;
}

.know-company__content-map-pin:nth-of-type(6) {
	left: 13%;
	top: 64%;
	width: 43px;
}

.know-company__content-map-pin:nth-of-type(7) {
	left: 2.1%;
	top: 77.5%;
	width: 60px;
}

.know-company__content-map img {
	-o-object-fit: contain;
	aspect-ratio: 494/520;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.know-company__move,
.know-company__snack {
	height: 576px;
	margin-top: 28px;
	position: relative;
}

.know-company__move-item {
	color: #000;
	font-size: max(60px, min(5.2604166667vw, 101px));
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	position: absolute;
}

.know-company__move-item:nth-child(2) {
	left: 21.5%;
	top: 63px;
}

.know-company__move-item:nth-child(3) {
	right: 18.5%;
	top: 18px;
}

.know-company__move-item:nth-child(4) {
	left: 4.5%;
	top: 114px;
}

.know-company__move-item:nth-child(5) {
	right: 8.5%;
	top: 68px;
}

.know-company__move-item:nth-child(6) {
	left: -1%;
	top: 200px;
}

.know-company__move-item:nth-child(7) {
	left: 26.5%;
	top: 130px;
}

.know-company__move-item:nth-child(8) {
	right: 2.5%;
	top: 169px;
}

.know-company__move-item:nth-child(9) {
	right: 5%;
	top: 205px;
}

.know-company__move-item:nth-child(10) {
	left: 2.5%;
	top: 292px;
}

.know-company__move-item:nth-child(11) {
	right: 13%;
	top: 320px;
}

.know-company__move-item:nth-child(12) {
	left: 9%;
	top: 400px;
}

.know-company__move-item:nth-child(13) {
	right: 2%;
	top: 374px;
}

.know-company__move-item:nth-child(14) {
	left: 1%;
	top: 458px;
}

.know-company__move-item:nth-child(15) {
	left: 25%;
	top: 490px;
}

.know-company__move-item:nth-child(16) {
	right: 7%;
	top: 496px;
}

.know-company__move-item.gray01 {
	color: #C9C9C9;
}

.know-company__move-item.gray02 {
	color: #858585;
}

.know-company__move-item.gray03 {
	color: #4d4d4d;
}

.know-company__move-item.gray04 {
	color: #272727;
}

.know-company__move-item.fz20 {
	font-size: max(16px, min(20px, 1.0416666667vw));
}

.know-company__move-item.fz26 {
	font-size: max(24px, min(26px, 1.3541666667vw));
}

.know-company__move-item.fz30 {
	font-size: min(28px, 30px, 1.5625vw);
}

.know-company__move-item.fz40 {
	font-size: min(38px, 40px, 2.0833333333vw);
}

.know-company__move-item.fz43 {
	font-size: min(41px, 43px, 2.2395833333vw);
}

.know-company__move-item.fz48 {
	font-size: min(48px, 2.5vw);
}

.know-company__move-item.fz51 {
	font-size: min(51px, 2.65625vw);
}

.know-company__move-item.fz60 {
	font-size: min(3.125vw, 60px);
}

.know-company__snack-item {
	height: max(58px, min(3.75vw, 72px));
	position: absolute;
	width: -moz-fit-content;
	width: fit-content;
}

.know-company__snack-item img {
	height: 100%;
	width: auto;
}

.know-company__snack-item:nth-child(1) {
	left: 11%;
	top: 0;
}

.know-company__snack-item:nth-child(2) {
	right: 1%;
	top: 20px;
}

.know-company__snack-item:nth-child(3) {
	left: 1%;
	top: 100px;
}

.know-company__snack-item:nth-child(4) {
	right: 11%;
	top: 104px;
}

.know-company__snack-item:nth-child(5) {
	left: 6%;
	top: 204px;
}

.know-company__snack-item:nth-child(6) {
	left: 45.5%;
	top: 232px;
}

.know-company__snack-item:nth-child(7) {
	right: 0%;
	top: 206px;
}

.know-company__snack-item:nth-child(8) {
	left: 1%;
	top: 310px;
}

.know-company__snack-item:nth-child(9) {
	left: 30.5%;
	top: 344px;
}

.know-company__snack-item:nth-child(10) {
	right: 1.5%;
	top: 331px;
}

.know-company__snack-item:nth-child(11) {
	left: 3%;
	top: 433px;
}

.know-company__snack-item:nth-child(12) {
	left: 30.5%;
	top: 466px;
}

.know-company__snack-item:nth-child(13) {
	right: -3%;
	top: 436px;
}

.know-company__jobs {
	-moz-column-gap: min(5.2083333333vw, 100px);
	grid-column-gap: min(5.2083333333vw, 100px);
	grid-row-gap: 20px;
	column-gap: min(5.2083333333vw, 100px);
	display: grid;
	grid-template-columns: auto 1fr;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	max-width: 550px;
	row-gap: 20px;
}

.know-company__content--work .know-company__jobs {
	-moz-column-gap: min(2.6041666667vw, 50px);
	column-gap: min(2.6041666667vw, 50px);
	max-width: 582px;
}

.know-company__job.text {
	align-items: center;
	display: flex;
	font-size: max(22px, min(1.25vw, 24px));
	font-weight: 700;
	gap: 10px;
}

.know-company__job i {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	height: min(2.0833333333vw, 40px);
	width: min(2.0833333333vw, 40px);
}

.know-company__job p {
	font-size: inherit;
}

.know-company__job-others-wrap {
	margin-left: auto;
	margin-right: auto;
	margin-top: 54px;
	max-width: 614px;
}

.know-company__job-text,
.know-company__job-other {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
}

.know-company__job-others {
	background-color: #F0F0F0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 40px;
	justify-content: center;
	margin-top: 5px;
	padding: 20px 30px;
}

.know-company__content--work .know-company__job-others {
	gap: 10px 30px;
}

.list {
	align-items: center;
	display: grid;
	grid-template-columns: 32.1821036107% 1fr;
}

.list__title.text,
.list__item.text {
	border-bottom: 1px #F0F0F0 solid;
	line-height: 1.8;
	padding-bottom: 32px;
	padding-left: 24px;
	padding-right: 24px;
	padding-top: 32px;
}

.list__title:first-of-type,
.list__item:first-of-type {
	border-top: 1px #F0F0F0 solid;
}

.list__title.text {
	align-items: center;
	background-color: #000;
	color: #fff;
	display: flex;
	height: 100%;
	padding-left: 24px;
	padding-right: 24px;
}

.list__item.text {
	padding-left: 24px;
	padding-right: 56px;
}

.loading {
	align-items: center;
	background-color: #fff;
	display: flex;
	gap: 10px;
	height: 100lvh;
	justify-content: center;
	left: 0;
	position: fixed;
	top: 0;
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	width: 100%;
	z-index: 999;
}

.loading.is-hide {
	opacity: 0;
	pointer-events: none;
	transform: scale(1.1);
}

.loading__dot {
	background-color: #000;
	border-radius: 10px;
	height: 30px;
	width: 5px;
}

.loading__dot:nth-of-type(1) {
	animation: loading 1s -0.4s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}

.loading__dot:nth-of-type(2) {
	animation: loading 1s -0.3s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}

.loading__dot:nth-of-type(3) {
	animation: loading 1s -0.2s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}

.loading__dot:nth-of-type(4) {
	animation: loading 1s -0.1s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}

.loading__dot:nth-of-type(5) {
	animation: loading 1s 0s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}

.loop {
	display: flex;
	overflow: hidden;
}

.loop__list {
	animation: scroll-left 30s infinite linear 0.5s both;
	display: flex;
	height: 427px;
}

.loop__item:nth-child(1n) {
	margin-right: 5rem;
	width: 556px;
}

.loop__item:nth-child(2n) {
	align-self: end;
	width: 442px;
}

.loop__item:nth-child(3n) {
	width: 510px;
}

.loop__item:nth-child(4n) {
	width: 442px;
}

.loop__item:nth-child(5n) {
	width: 442px;
}

.loop__item:nth-child(6n) {
	width: 442px;
}

.message {
	background-image: url(../img/message/message-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 136px;
	padding-top: 80px;
}

.message__content {
	margin-top: 40px;
}

.message__content-title {
	color: #fff;
	font-size: 32px;
	font-weight: 500;
	line-height: 2;
}

.message__text.text {
	color: #fff;
	line-height: 2;
	margin-top: 32px;
}

.message__text.text + .message__text.text {
	margin-top: 46px;
}

.modal__wrapper {
	align-items: center;
	background-color: rgba(255, 255, 255, 0.7);
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.modal__container {
	background-color: #fff;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
	margin-left: 20px;
	margin-right: 20px;
	max-width: 1120px;
	position: relative;
	width: 100%;
}

.modal__close-button {
	background-color: #000;
	border-radius: 100vh;
	cursor: pointer;
	height: 72px;
	position: absolute;
	right: 0;
	top: 0;
	transform: translate(50%, -50%);
	width: 72px;
}

.modal__close-button span {
	background-color: #fff;
	display: inline-block;
	height: 3px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
	width: 26px;
}

.modal__close-button span:nth-child(1) {
	transform: translate(-50%, -50%) rotate(45deg);
}

.modal__close-button span:nth-child(2) {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.modal__inner {
	padding-bottom: 60px;
	padding-left: min(3.3854166667vw, 65px);
	padding-right: min(2.8645833333vw, 55px);
	padding-top: 60px;
}

.modal__title {
	color: #000;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
}

.modal__text {
	color: #000;
	font-size: 21px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.6;
	margin-top: 32px;
}

.overview__inner.sub-inner {
	display: flex;
	gap: min(16.5104166667vw, 317px);
}

.overview__content {
	flex: 1;
}

.overview__list {
	grid-gap: min(5.5208333333vw, 106px);
	border-bottom: 1px #000 solid;
	display: grid;
	gap: min(5.5208333333vw, 106px);
	grid-template-columns: min(16.6666666667vw, 320px) 1fr;
	padding-bottom: 32px;
	padding-left: 61px;
	padding-right: 61px;
}

.overview__list + .overview__list {
	margin-top: 32px;
}

.overview__list:last-child {
	border-bottom: none;
}

.pagenavi .wp-pagenavi {
	display: flex;
	gap: 10px;
	justify-content: center;
}

.pagenavi .previouspostslink {
	margin-right: 10px;
}

.pagenavi .nextpostslink {
	margin-left: 10px;
}

.pagenavi .current,
.pagenavi .page,
.pagenavi .previouspostslink,
.pagenavi .nextpostslink {
	align-items: center;
	border: 2px #000 solid;
	display: flex;
	font-family: "Arial", "Helvetica", sans-serif;
	font-style: italic;
	font-weight: 700;
	height: 68px;
	justify-content: center;
	width: 46px;
}

.pagenavi .current,
.pagenavi a:hover {
	background-color: #000;
	color: #fff;
}

.pagenavi .previouspostslink::before,
.pagenavi .nextpostslink::before {
	-webkit-mask-image: url(../img/common/arrow02.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	background-color: #000;
	content: "";
	display: block;
	height: 10px;
	mask-image: url(../img/common/arrow02.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 20px;
}

.pagenavi .previouspostslink::before {
	transform: scale(-1, 1);
}

.pagenavi a.previouspostslink:hover:before,
.pagenavi a.nextpostslink:hover::before {
	background-color: #fff;
}

.policy {
	border: 1px solid #cccccc;
	padding-bottom: 20px;
	padding-left: 20px;
	padding-right: 40px;
	padding-top: 20px;
}

.policy__title {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 2;
}

.policy__text + .policy__title {
	margin-top: 26px;
}

.policy__ttl {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 2;
	margin-top: 26px;
}

.policy__text,
.policy__info {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 2;
	margin-top: 26px;
}

.qa {
	padding-top: 60px;
}

.qa__contents {
	margin-left: auto;
	margin-right: auto;
	margin-top: 100px;
	max-width: 1274px;
}

.qa__content + .qa__content {
	margin-top: 130px;
}

.qa__q {
	align-items: center;
	background-color: #F0F0F0;
	border-radius: 10px;
	display: flex;
	gap: 20px;
	padding-bottom: 20px;
	padding-left: 40px;
	padding-right: 40px;
	padding-top: 20px;
}

.qa__q::before {
	background-image: url(../img/q-and-a/question-icon.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 96px;
	width: 96px;
}

.qa__a.text > p,
.qa__a.text > div {
	background-color: #000;
	border-radius: 20px;
	color: #fff;
	flex: 1;
	font-size: inherit;
	padding-bottom: 40px;
	padding-left: min(4.1666666667vw, 80px);
	padding-right: min(4.1666666667vw, 80px);
	padding-top: 40px;
	position: relative;
}

.qa__a.text > p::after,
.qa__a.text > div::after {
	background-image: url(../img/q-and-a/polygon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	display: block;
	height: 109px;
	position: absolute;
	right: -4%;
	top: 22px;
	transform: rotate(100deg);
	width: 42px;
	z-index: -1;
}

.qa__a {
	display: flex;
	gap: min(5.46875vw, 105px);
	margin-left: 46px;
	margin-top: 40px;
}

.qa__a::after {
	aspect-ratio: 1;
	background-image: url(../img/q-and-a/answer-icon.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 143px;
	width: 143px;
}

.qa__modal {
	bottom: 0;
	display: none;
	left: 0;
	overflow: scroll;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1000;
}

.qa__list {
	-moz-column-gap: max(32px, min(0.2083333333vw, 40px));
	grid-column-gap: max(32px, min(0.2083333333vw, 40px));
	grid-row-gap: 10px;
	column-gap: max(32px, min(0.2083333333vw, 40px));
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 40px;
	row-gap: 10px;
}

.qa__item {
	align-items: center;
	border-bottom: 1px #fff solid;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-size: 21px;
	font-weight: 700;
	justify-content: space-between;
	letter-spacing: 0;
	line-height: 1.6;
	padding-bottom: 9px;
	padding-left: 13px;
	padding-right: 12px;
}

.qa__item::after {
	aspect-ratio: 1;
	background-image: url(../img/q-and-a/button.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 24px;
	width: 24px;
}

.recruit-link {
	background-color: #F0F0F0;
}

.recruit-link-wrap {
	display: flex;
	margin-left: auto;
	margin-right: auto;
	max-width: 1920px;
}

.recruit-link__item {
	width: 25%;
}

.recruit-link__item a {
	align-items: center;
	background-color: transparent;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding-bottom: 43px;
	padding-top: 44px;
	transition: background-color 0.3s, color 0.3s;
	width: 100%;
}

.recruit-link__item a:hover {
	background-color: #000;
	color: #fff;
}

.recruit-link__en {
	font-family: "Arial", "Helvetica", sans-serif;
	font-size: 20px;
	font-style: italic;
	font-weight: 700;
	line-height: 1.6;
	text-transform: uppercase;
}

.recruit-link__ja {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
	text-transform: uppercase;
}

.sales-article {
	background: linear-gradient(to top, rgba(255, 255, 255, 0.2) 0%,rgba(255, 255, 255, 0.2) 48.0898876404%, transparent 48.0898876404%, transparent 100%);
	background: linear-gradient(to top, rgba(255, 255, 255, 0.2) 0% 48.0898876404%, transparent 48.0898876404% 100%);
	color: rgba(255, 255, 255, 0.2);
	margin-left: calc(50% - 50svw);
	margin-right: calc(50% - 50svw);
	padding-bottom: 50px;
}

.sales-article__list {
	-moz-column-gap: min(4.1666666667vw, 80px);
	grid-column-gap: min(4.1666666667vw, 80px);
	column-gap: min(4.1666666667vw, 80px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-left: auto;
	margin-right: auto;
	max-width: 1646px;
	padding-left: 25px;
	padding-right: 25px;
}

.sales-article__img {
	aspect-ratio: 480/338;
	overflow: hidden;
	width: 100%;
}

.sales-article__img img {
	-o-object-fit: cover;
	aspect-ratio: 480/338;
	height: auto;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.3s;
	width: 100%;
}

.sales-article a:hover .sales-article__img img {
	transform: scale(1.05);
}

.sales-article__title {
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	margin-top: 24px;
	padding-left: 11px;
	padding-right: 11px;
}

.section-margin {
	border-radius: 20px;
	margin-left: 20px;
	margin-right: 20px;
}

.section-title {
	font-size: 42px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
}

.section-title.section-title--white {
	color: #fff;
}

.service-link.text {
	align-items: center;
	border-bottom: 1px solid #fff;
	color: #fff;
	display: flex;
	opacity: 1;
	padding-bottom: 4px;
	padding-left: 13px;
	padding-right: 10px;
	transition: opacity 0.3s;
	width: -moz-fit-content;
	width: fit-content;
}

.service-link.text:hover {
	opacity: 0.7;
}

.service-link.text::after {
	-webkit-mask-image: url(../img/common/arrow.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	background-color: currentColor;
	content: "";
	display: block;
	height: 17px;
	margin-left: 8px;
	mask-image: url(../img/common/arrow.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 21px;
}

.service {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 80px;
	padding-top: 80px;
}

.service {
	scroll-margin-top: 0;
}

.service__head {
	border-bottom: 1px solid #fff;
	padding-bottom: 40px;
}

.service__head.service__head--border-non {
	border-bottom: none;
}

.service__head-title {
	color: #fff;
	font-size: 42px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	margin-top: 40px;
}

.service__head-text.text {
	color: #fff;
	margin-top: 24px;
}

.service__head-text.text + .service__head-text.text {
	margin-top: 37px;
}

.service__contents-wrap {
	margin-top: 40px;
}

.service__contents-wrap.service__contents-wrap--sale {
	margin-top: 90px;
}

.service__contents-title {
	color: #fff;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
}

.service__contents {
	margin-top: 40px;
}

.service__contents-images {
	-moz-column-gap: min(4.1666666667vw, 80px);
	grid-column-gap: min(4.1666666667vw, 80px);
	column-gap: min(4.1666666667vw, 80px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 40px;
}

.service__contents-images.service__contents-images--mt {
	margin-top: 80px;
}

.service__contents-img {
	position: relative;
	width: 100%;
}

.service__contents-img img {
	aspect-ratio: 480/338;
	height: auto;
	width: 100%;
}

.service__contents-img figcaption {
	bottom: 17px;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.6;
	position: absolute;
	right: 20px;
}

.service__contents-wrap.service__contents-wrap--themepark {
	-moz-column-gap: 40px;
	grid-column-gap: 40px;
	column-gap: 40px;
	display: grid;
	grid-template-columns: 1fr min(31.5104166667vw, 605px);
	grid-template-rows: auto 1fr;
}

.service__contents-container {
	margin-top: 40px;
}

.service__contents-text + .service__contents-text {
	margin-top: 22px;
}

.service__contents-text.text {
	color: #fff;
}

.service__contents-wrap.service__contents-wrap--themepark .service__contents-img {
	grid-column: 2/3;
	grid-row: 1/3;
}

.service__link {
	display: flex;
	justify-content: center;
	margin-top: 50px;
}

.service__link.service__link---left {
	justify-content: start;
}

.side-nav {
	background-color: #F0F0F0;
	border-radius: 20px;
	position: sticky;
	top: 250px;
}

.side-nav__inner {
	padding-bottom: 40px;
	padding-left: min(2.8645833333vw, 55px);
	padding-right: min(2.8645833333vw, 55px);
	padding-top: 40px;
}

.side-nav___list {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.side-nav__item {
	color: #9c9c9c;
}

.side-nav__item.is-current,
.side-nav__link:hover {
	color: #000;
}

.side-nav__link {
	color: inherit;
	display: flex;
	flex-direction: column;
}

.side-nav__link-en,
.side-nav__link-ja {
	color: inherit;
}

.side-nav__link-en {
	font-family: "Arial", "Helvetica", sans-serif;
	font-size: 20px;
	font-style: italic;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	text-transform: uppercase;
}

.side-nav__link-ja {
	font-feature-settings: "palt";
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
}

.single-description {
	padding-top: 60px;
}

.single-description__content {
	margin-left: auto;
	margin-right: auto;
	margin-top: 70px;
	max-width: 1274px;
}

.single-description__ttl {
	background-color: #F0F0F0;
	border-radius: 10px;
	padding-bottom: 40px;
	padding-left: 50px;
	padding-right: 50px;
	padding-top: 40px;
}

.single-description__list {
	margin-top: 50px;
}

.single-description__text {
	font-size: 20px;
	font-weight: 700;
	margin-top: 80px;
	text-align: center;
}

.single-description__link {
	margin-top: 40px;
	text-align: center;
}

.single-topics {
	padding-bottom: 300px;
	padding-top: 60px;
}

.single-topics__article {
	margin-left: auto;
	margin-right: auto;
	max-width: 1109px;
}

.single-topics__links {
	grid-gap: min(2.0833333333vw, 40px);
	display: grid;
	gap: min(2.0833333333vw, 40px);
	grid-template-columns: repeat(3, 1fr);
	margin-left: auto;
	margin-right: auto;
	margin-top: 110px;
	max-width: 956px;
}

.single-topics__links a {
	border: 2px solid #000;
	font-size: 18px;
	font-weight: 500;
	padding: 28px;
	position: relative;
	text-align: center;
	text-transform: uppercase;
}

.single-topics__links a:hover {
	background-color: #000;
	color: #fff;
}

.single-topics__prev::before,
.single-topics__next::after {
	-webkit-mask-image: url(../img/common/arrow.svg);
	-webkit-mask-size: cover;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	background-color: #000;
	content: "";
	display: block;
	height: 18px;
	mask-image: url(../img/common/arrow.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: cover;
	position: absolute;
	top: 50%;
	width: 21px;
}

.single-topics__prev::before {
	left: 30px;
	transform: scale(-1, 1) translateY(-50%);
}

.single-topics__next::after {
	right: 30px;
	transform: translateY(-50%);
}

.single-topics__prev:hover::before,
.single-topics__next:hover::after {
	background-color: #fff;
}

.site-logo {
	left: 60px;
	opacity: 1;
	position: absolute;
	top: 32px;
	transition: opacity 0.3s, visibility 0.3s;
	visibility: visible;
	width: 328px;
	z-index: 101;
}

.site-logo.is-scrolled {
	opacity: 0;
	visibility: hidden;
}

.site-logo img {
	-o-object-fit: contain;
	aspect-ratio: 327/135;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.staff {
	padding-top: 60px;
}

.staff__inner.sub-inner {
	-moz-column-gap: max(40px, min(9.7395833333vw, 187px));
	grid-column-gap: max(40px, min(9.7395833333vw, 187px));
	column-gap: max(40px, min(9.7395833333vw, 187px));
	display: grid;
	grid-template-columns: 293px 1fr;
	grid-template-rows: auto;
	position: relative;
	width: 100%;
}

.staff__side-nav {
	grid-column: 1/2;
	grid-row: 1/5;
	height: 100%;
	padding-top: 100px;
	position: absolute;
	width: 100%;
}

.staff__content {
	grid-column: 2/3;
	justify-self: right;
}

.staff__content + .staff__content {
	margin-top: 130px;
}

.sub-body * {
	margin-bottom: 0;
}

.sub-breadcrumb__inner {
	align-items: start;
	display: flex;
	gap: 0.875rem;
}

.sub-breadcrumb__inner > span {
	align-items: center;
	display: flex;
	gap: 0.875rem;
}

.sub-breadcrumb__inner span:not(:last-child)::after {
	border-right: 2px solid #000;
	border-top: 2px solid #000;
	content: "";
	display: block;
	height: 7px;
	transform: rotate(45deg);
	width: 7px;
}

.sub-breadcrumb__inner > span > span,
.sub-breadcrumb__inner > span > a > span {
	border-bottom: 2px solid transparent;
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.07em;
	padding: 4px;
	transition: border 0.3s;
}

.sub-breadcrumb__inner a {
	display: flex;
	height: auto;
}

.sub-breadcrumb__inner a:hover span {
	border-bottom: 2px solid #000;
}

.sub-breadcrumb__inner a:hover {
	color: currentColor;
}

.sub-company {
	padding-bottom: 185px;
}

.sub-company__overview {
	margin-top: 150px;
}

.sub-company__history {
	margin-top: 97px;
}

.sub-company__access {
	margin-top: 130px;
}

.sub-head {
	animation: bg-scrolling-reverse 1.2s infinite;
	animation-timing-function: linear;
	background-image: url(../img/thb.png);
	background-position: 0 0;
	background-repeat: repeat;
	padding-bottom: 105px;
	padding-top: 254px;
}

.sub-head__title {
	margin-top: 102px;
}

.sub-head__title p {
	font-family: "Arial", "Helvetica", sans-serif;
	font-size: 80px;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.sub-head__title h1 {
	font-size: 40px;
	font-weight: 700;
	margin-top: 49px;
}

.sub-message {
	padding-bottom: 130px;
}

.sub-service-title {
	align-items: baseline;
	background-color: rgba(255, 255, 255, 0.6);
	border-radius: 10px;
	color: #000;
	display: flex;
	padding-bottom: 2px;
	padding-left: min(2.0833333333vw, 40px);
	padding-right: min(2.0833333333vw, 40px);
	padding-top: 10px;
}

.sub-service-title span,
.sub-service-title p {
	font-family: "Arial", "Helvetica", sans-serif;
	font-style: italic;
	font-weight: 700;
	letter-spacing: 0;
}

.sub-service-title span {
	font-size: 80px;
	line-height: 1;
}

.sub-service-title p {
	font-size: 60px;
	line-height: 1.6;
	margin-left: 64px;
	text-transform: capitalize;
}

.sub-service-title h2 {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	margin-left: 40px;
}

.sub-service {
	padding-bottom: 130px;
}

.sub-service__contents + .sub-service__contents {
	margin-top: 80px;
}

.sub-title {
	border-bottom: 1px #000 solid;
	padding-bottom: 30px;
}

.sub-title p {
	display: inline-block;
	font-family: "Arial", "Helvetica", sans-serif;
	font-size: 56px;
	font-style: italic;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	text-transform: capitalize;
}

.sub-title h2 {
	display: inline;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	margin-left: 40px;
}

.sub-title.sub-title--white {
	border-color: #fff;
	color: #fff;
}

.sub-title.sub-title--transform p {
	text-transform: none;
}

.tab__menu {
	display: flex;
}

.tab__menu-item {
	background-color: #fff;
	cursor: pointer;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
	min-width: 144px;
	padding-bottom: 16px;
	padding-left: 25px;
	padding-right: 25px;
	padding-top: 13px;
	text-align: center;
	text-transform: uppercase;
	transition: color 0.3s, background-color 0.3s;
}

.tab__menu-item.is-active {
	background-color: #000;
	color: #FEF34B;
}

.tab__content {
	margin-top: 40px;
}

.tab__content-item.js-tab-content.is-hidden {
	display: none;
}

.tab__content-item.js-tab-content {
	opacity: 0;
	transition: opacity 0.5s;
}

.tab__content-item.js-tab-content.is-active {
	opacity: 1;
}

.tab__content-item-container {
	-moz-column-gap: min(4.1666666667vw, 80px);
	grid-column-gap: min(4.1666666667vw, 80px);
	grid-row-gap: 15px;
	column-gap: min(4.1666666667vw, 80px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	row-gap: 15px;
}

.tab__content-item-container p {
	color: #fff;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: 0;
	line-height: inherit;
}

#musical .tab__content-item-container,
#championship .tab__content-item-container,
#fes .tab__content-item-container {
	grid-template-columns: repeat(2, 1fr);
}

#fes .tab__content-item-container .col2,
#championship .tab__content-item-container .col2 {
	grid-column: span 2;
}

.tab__content-item-other.text {
	color: #fff;
	margin-top: 2.5rem;
}

.text {
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.6;
}

.text.text--greeting {
	color: #fff;
	line-height: 2;
}

.text.text--history {
	color: #fff;
	line-height: 2.1;
}

.timeline {
	-moz-column-gap: 57px;
	grid-column-gap: 57px;
	background-color: #F0F0F0;
	border-radius: 20px;
	column-gap: 57px;
	display: grid;
	grid-template-columns: 79px 1fr;
	padding-bottom: 40px;
	padding-left: min(3.125vw, 60px);
	padding-right: min(3.125vw, 60px);
	padding-top: 40px;
	position: relative;
}

.timeline.timeline--notime {
	grid-template-columns: 1fr;
}

.timeline__time,
.timeline__item {
	padding-top: 10px;
}

.timeline .timeline__time:first-of-type,
.timeline .timeline__item:first-of-type {
	padding-top: 0px;
}

.timeline__item {
	padding-left: 48px;
	position: relative;
}

.timeline__item::before {
	background-color: #000;
	border-radius: 100vh;
	content: "";
	display: block;
	height: 8px;
	left: 0;
	position: absolute;
	top: calc(0.6em + 10px);
	transform: translateX(-5px);
	width: 8px;
}

.timeline__item:first-of-type::before {
	content: "";
	top: 0.6em;
}

.timeline__item::after {
	background-color: #000;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: translateX(-2px);
	width: 2px;
}

.timeline__item:first-of-type::after {
	background: linear-gradient(to bottom, transparent 0%, transparent 40%, #000 40%, #000 100%);
}

.timeline__item.timeline__item--2row:first-of-type::after {
	background: linear-gradient(to bottom, transparent 0%, transparent 25%, #000 25%, #000 100%);
}

.timeline__item:last-of-type::after {
	background: linear-gradient(to bottom, #000 0%, #000 65%, transparent 65%, transparent 100%);
}

.timeline--img01::after,
.timeline--img02::after,
.timeline--img03::after,
.timeline--img04::after {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	height: min(15.9375vw, 306px);
	position: absolute;
	width: min(15.9375vw, 306px);
}

.timeline--img01::after {
	background-image: url(../img/interview/interview01-1.webp);
	bottom: min(3.125vw, 60px);
	right: min(3.125vw, 60px);
}

.timeline--img02::after {
	background-image: url(../img/interview/interview02-1.webp);
	right: min(3.125vw, 60px);
	top: min(3.125vw, 60px);
}

.timeline--img03::after {
	background-image: url(../img/interview/interview03-1.webp);
	bottom: min(3.125vw, 60px);
	right: min(3.125vw, 60px);
}

.timeline--img04::after {
	background-image: url(../img/interview/interview04-1.webp);
	bottom: min(3.125vw, 60px);
	right: min(3.125vw, 60px);
}

@media (max-width: 1596px) {

html {
	font-size: 1.0025062657vw;
}

}

@media (max-width: 1380px) {

.footer-right-address-wrap {
	padding-left: 5%;
	padding-right: 5%;
}

}

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

.archive-topics__contents {
	gap: min(6.1538461538vw, 80px);
}

.archive-topics__cat-item a::after {
	height: 13px;
	width: 16px;
}

.archive-topics__article-link {
	align-items: start;
	flex-direction: column;
	gap: 1rem;
}

.archive-topics__article-meta {
	align-items: center;
	gap: 24px;
	grid-template-columns: auto 160px;
}

.compliance {
	padding-bottom: 120px;
	padding-top: 80px;
}

.footer-right-address-wrap {
	padding-left: 3%;
	padding-right: 3%;
}

.form-radio.text.form-radio--contact {
	grid-template-columns: 1fr;
}

.interview__head {
	grid-template-columns: 1fr;
}

.interview__head-img {
	width: 394px;
}

.interview__head-container {
	align-self: initial;
	grid-column: unset;
	grid-row: 2/3;
	margin-left: 40px;
	margin-right: 0;
	margin-top: -80px;
	position: static;
}

.know-company__ttl {
	gap: 10px;
}

.know-company__tip {
	zoom: 0.7;
}

.know-company__tip--female {
	right: calc(50% - min(29vw, 315px));
}

.know-company__tip--male {
	left: calc(50% - min(30vw, 331px));
	top: 350px;
}

.know-company__tip--other {
	left: calc(50% - min(27vw, 268px));
	top: 8px;
}

.know-company__tip--30 {
	top: 316px;
}

.know-company__tip--40 {
	left: calc(50% - min(30vw, 310px));
	top: 280px;
}

.know-company__tip--50 {
	left: calc(50% - min(30vw, 303px));
	top: 120px;
}

.know-company__tip--60 {
	top: 0;
}

#regional01.know-company__content-regional {
	right: calc(50% - min(43vw, 597px));
}

#regional02.know-company__content-regional {
	right: calc(50% - min(43vw, 744px));
}

#regional03.know-company__content-regional {
	top: 390px;
}

#regional06.know-company__content-regional {
	left: calc(50% - min(34vw, 521px));
	top: 500px;
}

#regional07.know-company__content-regional {
	left: calc(50% - min(43vw, 748px));
	top: 270px;
}

.know-company__content-place-title.text {
	font-size: 18px;
	padding-bottom: 4px;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 4px;
}

.know-company__content-place.text {
	font-size: 20px;
}

.know-company__content-num.text {
	font-size: 20px;
}

.know-company__content-num.text span {
	font-size: 16px;
}

.know-company__content-map-wrap {
	margin-left: auto;
	margin-right: auto;
	transform: translateX(50px);
}

.know-company__content-map-pin:nth-of-type(5) {
	left: 35%;
	top: 57%;
	width: 75px;
}

.know-company__move,
.know-company__snack {
	margin-left: auto;
	margin-right: auto;
	max-width: 600px;
}

.know-company__move-item:nth-child(5) {
	top: 97px;
}

.know-company__move-item:nth-child(7) {
	left: 25%;
	top: 182px;
}

.know-company__move-item:nth-child(16) {
	top: 442px;
}

.know-company__snack-item {
	height: min(4.8484848485vw, 55px);
}

.know-company__snack-item:nth-child(2) {
	top: 44px;
}

.know-company__snack-item:nth-child(4) {
	top: 150px;
}

.know-company__snack-item:nth-child(6) {
	top: 260px;
}

.know-company__snack-item:nth-child(9) {
	top: 384px;
}

.know-company__snack-item:nth-child(12) {
	top: 490px;
}

.know-company__jobs {
	grid-template-columns: 1fr;
}

.list__item.text {
	padding-left: 24px;
	padding-right: 24px;
}

.staff__inner.sub-inner {
	-moz-column-gap: 40px;
	column-gap: 40px;
}

.sub-service-title p {
	font-size: 50px;
	margin-left: 30px;
}

.tab__menu {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.tab__menu-item {
	padding-left: 10px;
	padding-right: 10px;
}

}

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

.archive-description__content {
	max-width: 80%;
}

.archive-description__item a::after {
	width: 16px;
}

.archive-topics__contents {
	grid-template-columns: 1fr;
}

.archive-topics__cats {
	height: auto;
}

.archive-topics__cat {
	position: static;
}

.archive-topics__cat-list {
	grid-gap: 24px;
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	margin-top: 16px;
}

.archive-topics__cat-item a {
	margin-top: 0;
}

.archive-topics__article-cat {
	font-size: 14px;
}

.article__day {
	font-size: 20px;
}

.article__cat {
	font-size: 16px;
}

.article__title {
	font-size: 32px;
}

.entry-button::after {
	width: 16px;
}

.footer-name {
	width: 80%;
}

.form-input.form-input--post-num input {
	width: 120px;
}

.form-input.form-input--post-num button {
	font-size: 16px;
}

.form-input.form-input--notes small {
	font-size: 16px;
}

.form-submit div::after {
	width: 16px;
}

.history__inner.sub-inner {
	padding-left: 34px;
	padding-right: 34px;
}

.interview__head-list dt {
	font-size: 16px;
	height: 32px;
	width: 100px;
}

.interview__content-title {
	font-size: 37px;
}

.interview__content-q {
	font-size: 20px;
}

.interview__schedule-title {
	font-size: 20px;
}

.interview__schedule-title::before {
	height: 36px;
	width: 36px;
}

.know-company__contents {
	grid-template-columns: 1fr;
}

.know-company__content:nth-child(3) {
	grid-column: unset;
}

.know-company__tip--female {
	right: calc(50% - min(40vw, 315px));
}

.know-company__tip--male {
	left: calc(50% - min(40vw, 331px));
}

.know-company__tip--other {
	left: calc(50% - min(35vw, 268px));
	top: 24px;
}

.know-company__tip--20 {
	right: calc(50% - min(34vw, 277px));
}

.know-company__tip--40 {
	left: calc(50% - min(41vw, 310px));
}

.know-company__tip--50 {
	left: calc(50% - min(41vw, 303px));
}

.know-company__content-regional-wrap {
	-moz-column-gap: min(2.0833333333vw, 40px);
	grid-column-gap: min(2.0833333333vw, 40px);
	grid-row-gap: 10px;
	column-gap: min(2.0833333333vw, 40px);
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 40px;
	row-gap: 10px;
	width: 50%;
}

#regional01.know-company__content-regional {
	right: calc(50% - min(40vw, 597px));
}

#regional02.know-company__content-regional {
	right: calc(50% - min(40vw, 744px));
}

#regional06.know-company__content-regional {
	left: calc(50% - min(37vw, 521px));
}

#regional07.know-company__content-regional {
	left: calc(50% - min(40vw, 748px));
}

.know-company__content-place-title.text {
	font-size: 16px;
}

.know-company__content-place.text {
	font-size: 18px;
}

.know-company__content-map-wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: 380px;
	width: 100%;
}

.know-company__content-map-pin {
	zoom: 0.7;
}

.know-company__move-item {
	font-size: 80px;
}

.know-company__move-item:nth-child(7) {
	left: 30%;
	top: 160px;
}

.know-company__move-item:nth-child(11) {
	right: 5%;
}

.know-company__move-item:nth-child(12) {
	left: 1%;
}

.know-company__move-item.fz20 {
	font-size: 20px;
}

.know-company__move-item.fz26 {
	font-size: 26px;
}

.know-company__move-item.fz30 {
	font-size: 30px;
}

.know-company__move-item.fz40 {
	font-size: 40px;
}

.know-company__move-item.fz43 {
	font-size: 43px;
}

.know-company__move-item.fz48 {
	font-size: 46px;
}

.know-company__move-item.fz51 {
	font-size: 48px;
}

.know-company__move-item.fz60 {
	font-size: 55px;
}

.know-company__snack-item {
	height: 60px;
}

.know-company__jobs {
	-moz-column-gap: 40px;
	column-gap: 40px;
	grid-template-columns: auto 1fr;
}

.loop__list {
	zoom: 40%;
}

.overview__list {
	grid-template-columns: 90px 1fr;
	padding-left: 16px;
	padding-right: 16px;
}

.policy__title {
	font-size: 16px;
}

.policy__ttl {
	font-size: 16px;
}

.policy__text,
.policy__info {
	font-size: 14px;
}

.qa__a::after {
	height: 120px;
	width: 120px;
}

.qa__item {
	font-size: 16px;
}

.qa__item::after {
	height: 20px;
	width: 20px;
}

.recruit-link-wrap {
	flex-wrap: wrap;
}

.recruit-link__item {
	width: 50%;
}

.sales-article__title {
	font-size: 16px;
	padding-left: 4px;
	padding-right: 4px;
}

.service__head-title {
	font-size: 28px;
}

.service__contents-title {
	font-size: 28px;
}

.service__contents-img figcaption {
	bottom: 12px;
	font-size: 16px;
	right: 12px;
}

.single-topics__links a {
	font-size: 16px;
}

.site-logo {
	left: 10px;
	top: 10px;
	width: 250px;
}

.staff__inner.sub-inner {
	grid-template-columns: 250px 1fr;
}

.tab__menu-item {
	font-size: 18px;
	padding-bottom: 10px;
	padding-top: 10px;
}

.text {
	font-size: 16px;
}

}

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

.u-pc {
	display: none;
}

.u-sp {
	display: block;
}

html {
	font-size: 16px;
}

.sub-inner {
	max-width: 600px;
	padding-left: 20px;
	padding-right: 20px;
}

.access__info {
	grid-template-columns: 1fr;
	grid-template-rows: repeat(4, auto);
}

.access__office {
	font-size: 1.5rem;
}

.access__route {
	font-size: 0.9375rem;
	margin-top: 1rem;
}

.access__map {
	grid-column: 1/2;
	grid-row: 4/5;
	margin-top: 1.25rem;
	order: 4;
}

.access__gallery {
	margin-top: 7.5rem;
}

.archive-description__content {
	max-width: 100%;
}

.archive-description__item a {
	padding-bottom: 1.5rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 1.5rem;
}

.archive-description__item a::after {
	width: 0.75rem;
}

.archive-topics {
	padding-bottom: 5rem;
}

.archive-topics__cat__inner {
	padding-bottom: 2.5rem;
	padding-top: 2.5rem;
}

.archive-topics__cat-list {
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.archive-topics__cat-item a {
	font-size: 0.9375rem;
}

.archive-topics__cat-item a:hover::after {
	transform: none;
}

.archive-topics__content {
	margin-top: 3.75rem;
}

.archive-topics__article-meta {
	grid-template-columns: auto 120px;
}

.archive-topics__article-cat {
	font-size: 0.8125rem;
}

.article__day {
	font-size: 0.9375rem;
}

.article__cat {
	font-size: 13px;
}

.article__title {
	font-size: 1.25rem;
}

.article__thumbnail {
	margin-top: 2.5rem;
}

.background.background--sub {
	width: 3.75rem;
}

.button.button--sub {
	width: 3.75rem;
}

.button.button--sub .icon,
.button.button--sub .icon::before,
.button.button--sub .icon::after {
	width: 2rem;
}

.checkbox input + span {
	padding-left: 2rem;
}

.checkbox input + span::before {
	height: 1.125rem;
	width: 1.125rem;
}

.checkbox input + span::after {
	border-bottom: 3px solid #000;
	border-left: 3px solid #000;
	height: 0.625rem;
	transform: translateY(-100%) rotate(-45deg);
	width: 1.25rem;
}

.checkbox.text {
	border: none;
	padding-left: 0;
	padding-right: 0;
}

.compliance__title.compliance__title--lg.text {
	font-size: 1.25rem;
}

.compliance__item {
	margin-top: 1rem;
}

.compliance__list + .compliance__list {
	margin-top: 2.5rem;
}

.compliance__item ol {
	margin-top: 1.25rem;
}

.compliance__item li + li {
	margin-top: 1rem;
}

.entry-button::after {
	width: 0.75rem;
}

.entry-form.entry-form--contact {
	padding-bottom: 5rem;
}

.entry-form__form-wrap {
	margin-top: 3.75rem;
}

.entry-form__form {
	margin-top: 3.75rem;
}

.entry-form__link {
	margin-top: 3.75rem;
}

.footer-left-menu li {
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}

.footer-left-menu li a {
	font-size: 1.125rem;
	padding-bottom: 1.25rem;
	padding-top: 1.25rem;
}

.footer-right-address-wrap .row.no-margin {
	gap: 2.5rem;
	margin-top: 0;
}

.col-sm-12.footer-address-wrapper {
	gap: 40px;
	grid-template-columns: 1fr;
	margin-top: 0;
}

.footer__cta {
	margin-left: auto;
	margin-right: auto;
	order: 2;
	width: 100%;
}

.footer__contact {
	font-size: 1.25rem;
	padding: 1.5rem 4rem;
}

.footer-name {
	grid-column: unset;
	order: 3;
	width: 100%;
}

.footer-copyright {
	font-size: 0.8125rem;
	margin-top: 2.5rem;
}

.form-input input {
	padding: 4px 1rem;
}

.form-input.form-input--file input {
	padding: 0;
}

.form-input.form-input--day input:nth-child(1) {
	width: 5rem;
}

.form-input.form-input--day input:nth-child(2),
.form-input.form-input--day input:nth-child(3) {
	width: 5rem;
}

.form-input.form-input--post-num input {
	width: 6.25rem;
}

.form-input.form-input--post-num button {
	font-size: 0.9375rem;
	margin-left: 1.5rem;
	margin-top: 1rem;
}

.form-input.form-input--post-num small {
	margin-left: 1.5rem;
}

.form-input.form-input--notes small {
	font-size: 0.875rem;
}

.form-input.text {
	border: none;
	padding-bottom: 1rem;
	padding-left: 0rem;
	padding-right: 0rem;
	padding-top: 1rem;
}

.form-radio label + label {
	margin-left: 2.5rem;
}

.form-radio input + span {
	display: inline-block;
}

.form-radio.text {
	padding-bottom: 1rem;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-top: 1rem;
}

.form-radio.text.form-radio--contact {
	padding-left: 0;
	padding-right: 0;
}

.form__radio.text {
	border: none;
}

.form-submit input {
	font-size: 1.125rem;
	padding: 1.25rem;
}

.form-submit div::after {
	width: 0.75rem;
}

.form-textarea textarea {
	height: 12.5rem;
	padding: 0.25rem 1rem;
}

.form-textarea {
	border: none;
}

.form__wrap {
	grid-template-columns: 1fr;
}

.form__wrap + .form__wrap {
	margin-top: 1.5rem;
}

.form__label.text {
	border: none;
	padding-bottom: 0.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-top: 0.5rem;
}

.form__textarea {
	padding-bottom: 1rem;
	padding-left: 0rem;
	padding-right: 0rem;
	padding-top: 1rem;
}

.form__submit {
	margin-top: 2.5rem;
}

.greeting {
	padding-bottom: 5rem;
	padding-top: 5rem;
}

.greeting__contents {
	flex-direction: column;
	gap: 2.5rem;
	margin-top: 2.5rem;
}

.greeting__img {
	width: 100%;
}

.history {
	padding-bottom: 3.75rem;
	padding-top: 3.75rem;
}

.history__inner.sub-inner {
	padding-bottom: 1.5rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 1.5rem;
}

.history__contents {
	flex-direction: column;
}

.history__list {
	margin-top: 2rem;
}

.history__list-item {
	padding-left: 1em;
	text-indent: -1em;
}

.history__list-item + .history__list-item {
	margin-top: 1em;
}

.interview__head-img {
	width: 100%;
}

.interview__head-container {
	margin-left: 1.25rem;
	margin-right: -1rem;
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.interview__head-title p {
	font-size: 1rem;
}

.interview__head-title span {
	font-size: 1.375rem;
}

.interview__head-title h3 {
	font-size: 1.25rem;
}

.interview__head-list dt {
	font-size: 0.9375rem;
	height: 2rem;
	width: 5rem;
}

.interview__content {
	margin-top: 5rem;
}

.interview__content-title {
	font-size: 2.3125rem;
}

.interview__content-q {
	font-size: 1.25rem;
	gap: 0.5rem;
}

.interview__content-q::before {
	width: 24px;
}

.interview__content-q::before {
	width: 1.5rem;
}

.interview__content-a {
	margin-top: 0.75rem;
}

.interview__schedule {
	margin-top: 2.5rem;
}

.interview__schedule-title {
	font-size: 1.25rem;
	gap: 4px;
}

.interview__schedule-title::before {
	height: 2.25rem;
	width: 2.25rem;
}

.interview__schedule-text {
	margin-top: 1rem;
}

.interview__schedule-timeline {
	margin-top: 1rem;
}

.know-company__content-inner {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.know-company__content--birth .know-company__content-inner {
	padding-bottom: 5rem;
}

.know-company__ttl {
	gap: 0.5rem;
}

.know-company__ttl i {
	height: 2rem;
	width: 2rem;
}

.know-company__ttl h3 {
	font-size: 1.25rem;
}

.know-company__tip--female {
	right: calc(50% - min(57vw, 258px));
	top: 46px;
}

.know-company__tip--male {
	left: calc(50% - min(57vw, 18.9375rem));
	top: 300px;
}

.know-company__tip--other {
	left: calc(50% - min(59vw, 220px));
	top: 6px;
}

.know-company__tip--20 {
	right: calc(50% - min(55vw, 233px));
}

.know-company__tip--30 {
	bottom: -1.5rem;
	right: calc(50% - 211px);
	top: auto;
}

.know-company__tip--40 {
	left: calc(50% - min(59vw, 266px));
	top: 16.4375rem;
}

.know-company__tip--50 {
	left: calc(50% - min(59vw, 276px));
	top: 3.3125rem;
}

.know-company__tip--60 {
	left: calc(50% - 180px);
	top: -10px;
}

.know-company__tip--female .know-company__tip-name::before {
	left: 50%;
}

.know-company__tip--male .know-company__tip-name::before {
	right: 50%;
}

.know-company__tip--other .know-company__tip-name::before {
	right: 50%;
}

.know-company__tip--20 .know-company__tip-name::before {
	left: 50%;
}

.know-company__tip--30 .know-company__tip-name::before {
	left: auto;
	right: 50%;
	top: -10px;
	transform: scale(1, -1);
}

.know-company__tip--40 .know-company__tip-name::before {
	right: 100%;
}

.know-company__tip--50 .know-company__tip-name::before {
	left: 50%;
	right: auto;
	transform: scale(1, -1);
}

.know-company__tip--60 .know-company__tip-name::before {
	right: 50%;
}

.know-company__chart {
	height: min(64.1025641026vw, 323px);
	width: min(64.1025641026vw, 323px);
}

.know-company__chart-text {
	font-size: 1.125rem;
}

.know-company__chart-num {
	font-size: 2.625rem;
}

.know-company__content-regional-wrap {
	margin-top: 2rem;
	row-gap: 0.625rem;
	width: 100%;
}

.know-company__content-regional {
	position: static;
	width: auto;
}

.know-company__content-place-title.text {
	margin-bottom: 0rem;
	padding-bottom: 0.25rem;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
	padding-top: 0.25rem;
}

.know-company__content-num.text {
	font-size: 1.25rem;
}

.know-company__content-num.text span {
	font-size: 1rem;
}

.know-company__content-map-wrap {
	max-width: 22.5rem;
	transform: none;
}

.know-company__content-map-pin {
	zoom: 0.6;
}

.know-company__move,
.know-company__snack {
	height: 36.25rem;
	margin-top: 2.5rem;
	max-width: 23.125rem;
}

.know-company__move {
	height: 31.25rem;
}

.know-company__move-item {
	font-size: 3.125rem;
}

.know-company__move-item:nth-child(5) {
	top: 80px;
}

.know-company__move-item:nth-child(7) {
	top: 136px;
}

.know-company__move-item:nth-child(8) {
	top: 8.4375rem;
}

.know-company__move-item:nth-child(10) {
	top: 15.25rem;
}

.know-company__move-item:nth-child(11) {
	top: 17.875rem;
}

.know-company__move-item:nth-child(12) {
	top: 22.75rem;
}

.know-company__move-item:nth-child(13) {
	top: 19.5625rem;
}

.know-company__move-item:nth-child(14) {
	top: 25rem;
}

.know-company__move-item:nth-child(15) {
	top: 27.3125rem;
}

.know-company__move-item:nth-child(16) {
	top: 24rem;
}

.know-company__move-item.fz20 {
	font-size: 0.625rem;
}

.know-company__move-item.fz26 {
	font-size: 0.875rem;
}

.know-company__move-item.fz30 {
	font-size: 0.9375rem;
}

.know-company__move-item.fz40 {
	font-size: 1.25rem;
}

.know-company__move-item.fz43 {
	font-size: 1.375rem;
}

.know-company__move-item.fz48 {
	font-size: 1.5rem;
}

.know-company__move-item.fz51 {
	font-size: 1.625rem;
}

.know-company__move-item.fz60 {
	font-size: 1.875rem;
}

.know-company__snack-item {
	height: min(11.2820512821vw, 3.75rem);
}

.know-company__snack-item:nth-child(2) {
	top: 3.1875rem;
}

.know-company__jobs {
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	max-width: 100%;
	width: 100%;
}

.know-company__content--work .know-company__jobs {
	max-width: 100%;
}

.know-company__job i {
	height: 1.5rem;
	width: 1.5rem;
}

.know-company__job p {
	font-size: 1rem;
}

.know-company__job-text,
.know-company__job-other {
	font-size: 1rem;
}

.know-company__job-others {
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

.list__title.text {
	padding-left: 1rem;
	padding-right: 1rem;
}

.list__item.text {
	padding-left: 1rem;
	padding-right: 1rem;
}

.message {
	padding-bottom: 5rem;
	padding-top: 5rem;
}

.message__content-title {
	font-size: 1.25rem;
}

.modal__close-button {
	height: 2rem;
	width: 2rem;
}

.modal__close-button span {
	height: 0.125rem;
	width: 1rem;
}

.modal__inner {
	padding-bottom: 1.875rem;
	padding-top: 1.875rem;
}

.modal__title {
	font-size: 1.25rem;
}

.modal__text {
	font-size: 1rem;
	margin-top: 1.5rem;
}

.overview__inner.sub-inner {
	flex-direction: column;
}

.overview__list {
	grid-template-columns: 5rem 1fr;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}

.pagenavi .wp-pagenavi {
	gap: 0.5rem;
}

.pagenavi .previouspostslink {
	margin-right: 0.25rem;
}

.pagenavi .nextpostslink {
	margin-left: 0.25rem;
}

.pagenavi .current,
.pagenavi .page,
.pagenavi .previouspostslink,
.pagenavi .nextpostslink {
	height: 3.125rem;
	width: 2rem;
}

.policy {
	padding-left: 1rem;
	padding-right: 1rem;
}

.policy__title {
	font-size: 1rem;
}

.policy__text + .policy__title {
	margin-top: 1.25rem;
}

.policy__ttl {
	font-size: 1rem;
	margin-top: 1rem;
}

.policy__text,
.policy__info {
	font-size: 0.875rem;
	margin-top: 1.25rem;
}

.qa__content + .qa__content {
	margin-top: 5rem;
}

.qa__q {
	padding-bottom: 1rem;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-top: 1rem;
}

.qa__q::before {
	height: 3.75rem;
	width: 3.75rem;
}

.qa__a.text > p,
.qa__a.text > div {
	padding-bottom: 2rem;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-top: 2rem;
}

.qa__a.text > p::after,
.qa__a.text > div::after {
	height: 5rem;
	right: 0%;
	top: -3%;
	width: 1.875rem;
}

.qa__a {
	margin-left: 0;
	margin-top: 1.5rem;
}

.qa__a::after {
	height: 3.75rem;
	width: 3.75rem;
}

.qa__list {
	grid-template-columns: 1fr;
}

.qa__item {
	font-size: 1rem;
}

.recruit-link__item {
	width: 100%;
}

.recruit-link__item a {
	padding-bottom: 2rem;
	padding-top: 2rem;
}

.recruit-link__en {
	font-size: 1.125rem;
}

.recruit-link__ja {
	font-size: 0.875rem;
}

.sales-article {
	background: linear-gradient(transparent);
}

.sales-article__list {
	grid-template-columns: 1fr;
	row-gap: 2rem;
}

.sales-article__title {
	font-size: 1rem;
	margin-top: 1rem;
}

.section-margin {
	margin-left: 0.625rem;
	margin-right: 0.625rem;
}

.section-title {
	font-size: 2rem;
}

.service-link.text::after {
	width: 0.875rem;
}

.service {
	padding-bottom: 40px;
	padding-top: 40px;
}

.service__head-title {
	font-size: 1.25rem;
}

.service__head-text.text + .service__head-text.text {
	margin-top: calc(1em + 1lh);
}

.service__contents-wrap.service__contents-wrap--sale {
	margin-top: 3.75rem;
}

.service__contents-title {
	font-size: 1.25rem;
}

.service__contents-images {
	grid-template-columns: 1fr;
	row-gap: 1rem;
}

.service__contents-images.service__contents-images--mt {
	margin-top: 2.5rem;
}

.service__contents-img figcaption {
	font-size: 0.9375rem;
}

.service__contents-wrap.service__contents-wrap--themepark {
	grid-template-columns: 1fr;
}

.service__contents-text + .service__contents-text {
	margin-top: 1rem;
}

.service__contents-wrap.service__contents-wrap--themepark .service__contents-img {
	grid-column: unset;
	grid-row: unset;
	margin-top: 1rem;
	order: 3;
}

.single-description__ttl {
	padding-bottom: 1.5rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 1.5rem;
}

.single-description__text {
	font-size: 1.125rem;
}

.single-topics {
	padding-bottom: 6.25rem;
}

.single-topics__links {
	grid-template-columns: 1fr;
	margin-top: 5rem;
}

.single-topics__links a {
	font-size: 1rem;
	padding: 20px;
}

.single-topics__prev::before,
.single-topics__next::after {
	height: 13px;
	width: 16px;
}

.site-logo {
	left: 0.625rem;
	top: 0.625rem;
	width: 12.5rem;
}

.staff__inner.sub-inner {
	gap: 0;
	grid-template-columns: 1fr;
}

.sub-breadcrumb__inner > span > span,
.sub-breadcrumb__inner > span > a > span {
	font-size: 0.8125rem;
}

.sub-company__overview {
	margin-top: 120px;
}

.sub-company__history {
	margin-top: 120px;
}

.sub-company__access {
	margin-top: 120px;
}

.sub-head {
	padding-top: 160px;
}

.sub-head__title {
	margin-top: 80px;
}

.sub-head__title p {
	font-size: 3.125rem;
}

.sub-head__title h1 {
	font-size: 1.6875rem;
	margin-top: 16px;
}

.sub-service-title {
	-moz-column-gap: 1rem;
	grid-column-gap: 1rem;
	align-items: initial;
	column-gap: 1rem;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto 1fr;
	padding-bottom: 1rem;
}

.sub-service-title span {
	align-items: center;
	display: flex;
	font-size: 4.375rem;
	grid-row: span 2;
	height: 100%;
	line-height: 1;
	order: 1;
}

.sub-service-title p {
	font-size: 2.5rem;
	line-height: inherit;
	margin-left: 0;
	order: 2;
	text-align: center;
}

.sub-service-title h2 {
	font-size: 0.875rem;
	line-height: 1;
	margin-left: 0;
	order: 3;
	text-align: center;
}

.sub-title {
	padding-bottom: 1.5rem;
}

.sub-title p {
	display: block;
	font-size: 2.25rem;
}

.sub-title h2 {
	display: block;
	font-size: 0.9375rem;
	margin-left: 0;
	margin-top: 0.5rem;
}

.tab__menu {
	grid-template-columns: repeat(2, 1fr);
}

.tab__menu-item {
	font-size: 1rem;
	min-width: auto;
	padding-bottom: 0.5rem;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
	padding-top: 0.5rem;
}

.tab__content-item-container {
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	row-gap: 0.5rem;
}

#musical .tab__content-item-container,
#championship .tab__content-item-container,
#fes .tab__content-item-container {
	grid-template-columns: initial;
}

#fes .tab__content-item-container .col2,
#championship .tab__content-item-container .col2 {
	grid-column: unset;
}

.text {
	font-size: 0.9375rem;
}

.timeline {
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	grid-template-columns: 3.75rem 1fr;
}

.timeline__item {
	padding-left: 1rem;
}

.timeline__item.timeline__item--2row:first-of-type::after {
	background: linear-gradient(to bottom, transparent 0%, transparent 20%, #000 20%, #000 100%);
}

.timeline__item:last-of-type::after {
	background: linear-gradient(to bottom, #000 0%, #000 60%, transparent 60%, transparent 100%);
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes loading {

0% {
	transform: scaley(1);
}

50% {
	transform: scaley(0.4);
}

100% {
	transform: scaley(1);
}

}

@keyframes scroll-left {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-100%);
}

}

@keyframes bg-scrolling-reverse {

100% {
	background-position: 50px -50px;
}

}


/*# sourceMappingURL=sub-style.css.map */
