.sp-br {
	display: none;
}

/*Header*/
/*=====================================*/
#header {
	padding: 60px 50px 0px 69px;
}
#header .header-menu {
	width: 100%;
	max-width: 256px;
	padding-top: 7px;
	position: absolute;
	top: 60px;
	right: 50px;
	z-index: 9;
}
#header .header-menu li {
	margin-bottom: 6px;
}
#header .header-menu li:nth-child(3) {
	margin-bottom: 16px;
}
#header .header-menu li a.btn-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 244px;
	height: 41px;
	border-radius: 30px;
	color: #0f0f0f;
	padding-left: 4px;
	margin-bottom: 14px;
}
#header .header-menu li a.btn-link.btn-recruit {
	background: #25d8fd;
	border: 1px solid #25d8fd;
}
#header .header-menu li a.btn-link.btn-recruit:hover {
	background: transparent;
	color: #25d8fd;
}
#header .header-menu li a.btn-link.btn-contact {
	background: #fff;
	border: 1px solid #fff;
}
#header .header-menu li a.btn-link.btn-contact:hover {
	color: #fff;
	background: transparent;
}

#recruit .inta img {
	margin-top: 35px;
}

/*Homepage*/
/*===================================*/
#homepage #fv .heading-main {
	font-size: 85px;
	line-height: 110px;
	letter-spacing: 8px;
	white-space: nowrap;
	margin-bottom: 34px;
}
#homepage #fv .description {
	font-size: 60px;
	line-height: 68px;
	letter-spacing: 3px;
	margin: 0;
}
#fv .main-banner {
	display: flex;
	flex-wrap: wrap;
}
#homepage #fv .top-catch {
	padding-top: 44px;
	width: 58%;
}

#about {
	padding-top: 150px;
	padding-bottom: 94px;
}
.header-entry {
	position: relative;
	padding-bottom: 30px;
	margin-bottom: 34px;
}
.header-entry:after {
	content: "";
	position: absolute;
	width: 68px;
	height: 2px;
	background: #00d8ff;
	bottom: 0;
	left: 0;
	transition: 1.5s ease-in-out;
}
.header-entry.active:after {
	width: 100%;
}
.header-entry .title {
	font-size: 59px;
	line-height: 76px;
	letter-spacing: 6px;
	margin-right: -40px;
	margin-bottom: 15px;
}
.header-entry .sub-ttl {
	font-size: 50px;
	line-height: 1.2;
	letter-spacing: 2.4px;
}
.text-box p {
	letter-spacing: 0.9px;
	margin-bottom: 35px;
}
.text-box p:last-child {
	margin-bottom: 0;
}
#about .text-box {
	margin-right: -20px;
	position: relative;
	width: auto;
}

#service {
	padding-top: 86px;
	padding-bottom: 0;
}
.title-entry .heading-block {
	font-size: 48px;
	line-height: 1.25;
	font-weight: 300;
	letter-spacing: 4.8px;
}
.title-entry {
	position: relative;
	padding-bottom: 20px;
	margin-bottom: 36px;
}
.title-entry:after {
	content: "";
	position: absolute;
	width: 38px;
	height: 2px;
	background: #00d8ff;
	bottom: 0;
	left: 0;
	transition: 1.5s ease-in-out;
}
.title-entry.active:after {
	width: 100%;
}
.title-entry .subTtl {
	font-size: 22px;
	letter-spacing: 1px;
}
.list-service {
	padding-top: 44px;
}
.list-service .service-item {
	margin-bottom: 18px;
}
.list-service .service-item p {
	display: flex;
	width: 100%;
	background: #00d8ff;
	border: 1px solid #00d8ff;
	max-width: 500px;
	border-radius: 40px;
	height: 76px;
	justify-content: center;
	align-items: center;
	text-decoration: unset;
	color: #0f0f0f;
	letter-spacing: 0px;
	font-size: 20px;
	line-height: 30px;
}
/*.list-service .service-item a:hover{*/
/*    background: transparent;*/
/*    color: #00D8FF;*/
/*}*/
#service .link-page {
	padding: 0 20px;
}
#service .link-page a {
	width: 100%;
	max-width: 994px;
	margin: auto;
	display: flex;
	border: 1px solid #fff;
	border-radius: 100px;
	justify-content: center;
	align-items: center;
	height: 154px;
	font-size: 34px;
	text-decoration: unset;
	letter-spacing: 3.4px;
	padding-left: 6px;
	transition: 0.3s;
}
#service .link-page a:hover {
	border-color: #00d8ff;
	color: #00d8ff;
}
#service .moving-text {
	padding-top: 144px;
}

#company {
	padding-top: 84px;
	padding-bottom: 0;
}
#company .title-entry {
	padding-bottom: 14px;
}
#company .title-entry .heading-block {
	margin-bottom: 13px;
}
#company .title-entry:after {
	width: 100%;
	background: #fff;
	height: 1px;
}
.company-info {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 18px;
	border-bottom: 1px solid #fff;
	padding-bottom: 30px;
	margin-bottom: 100px;
}
.company-infoList .company-item {
	display: flex;
	flex-wrap: wrap;
}
.list-ja .company-item .ttl {
	width: 123px;
	letter-spacing: 9px;
}
.list-ja .company-item .info {
	width: calc(100% - 123px);
	letter-spacing: 1px;
}
.list-en .company-item .ttl {
	width: 162px;
	letter-spacing: 0.8px;
	font-size: 16px;
}
.list-en .company-item .info {
	width: calc(100% - 162px);
	letter-spacing: 0.9px;
}
.company-item .google-map {
	font-size: 12px;
	line-height: 27px;
	display: flex;
	align-items: center;
	letter-spacing: 0.6px;
}
.company-item .google-map img {
	display: inline-block;
	margin-right: 7px;
}
.company-item .text-info {
	margin-bottom: 43px;
}
.list-en .company-item .text-info {
	margin-bottom: 36px;
}
#company .link-contact a {
	display: flex;
	width: 100%;
	text-decoration: unset;
	justify-content: center;
	align-items: center;
	font-size: 70px;
	line-height: 70px;
	font-weight: 300;
	border: 1px solid #fff;
	border-radius: 200px;
	height: 217px;
	transition: 0.3s;
	padding-bottom: 15px;
	letter-spacing: 7px;
	padding-left: 8px;
}
#company .link-contact a:hover {
	border-color: #e700f0;
	color: #e700f0;
}
#company .link-contact a span {
	position: relative;
	border-bottom: 1px solid transparent;
	padding: 23px 12px 24px;
	/*transition: .3s;*/
}
#company .link-contact a:hover span {
	border-color: #e700f0;
}

#recruit {
	padding-top: 90px;
	padding-bottom: 80px;
}
#recruit .recruit-inner {
	max-width: 546px;
}
#recruit .title-entry .heading-block {
	font-size: 60px;
	letter-spacing: 6px;
	margin-bottom: 8px;
}
#recruit .title-entry:after {
	background: #00ff27;
}
#recruit .link-page {
	padding-top: 34px;
}
#recruit .link-page a {
	font-size: 18px;
	line-height: 25px;
	text-decoration: unset;
	text-align: center;
	padding: 18px 36px;
	border: 1px solid #fff;
	border-radius: 50px;
	letter-spacing: 1px;
}
#recruit .link-page a:hover {
	border-color: #00ff27;
	color: #00ff27;
}
#recruit .txt-title {
	font-size: 20px;
	line-height: 30px;
	padding-left: 16px;
	letter-spacing: 1.8px;
	margin-top: 37px;
	position: relative;
}
#recruit .txt-title:after {
	content: "";
	position: absolute;
	width: 4px;
	height: 20px;
	background: #2cfe27;
	top: 2px;
	left: 0;
}

footer {
	padding-bottom: 180px;
}
#shadow-host-companion {
	padding: 0;
}
.service-slider .slide-item svg {
	display: none !important;
}

.drawer-box .drawer-menu li a {
	line-height: 40px;
	letter-spacing: 3px;
}
.drawer-box .drawer-menu li a.btn-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	height: 52px;
	border-radius: 30px;
	color: #0f0f0f;
	padding-left: 4px;
	margin-bottom: 14px;
}
.drawer-box .drawer-menu li a.btn-link.btn-recruit {
	background: #25d8fd;
	border: 1px solid #25d8fd;
}
.drawer-box .drawer-menu li a.btn-link.btn-recruit:hover {
	background: transparent;
	border: 1px solid #fff;
	color: #fff;
}
.drawer-box .drawer-menu li a.btn-link.btn-contact:hover {
	background: transparent;
	color: #fff;
}
.drawer-box .drawer-menu li a.btn-link.btn-contact {
	background: #fff;
	border: 1px solid #fff;
}
.drawer-box .drawer-menu li.menuItem-recruit {
	margin-top: 35px;
	margin-bottom: 24px;
}

.drawer-box .drawer-nav p.copyright {
	padding: 0 30px;
}
.drawer-box .drawer-menu li {
	margin-bottom: 15px;
}
.drawer-open .drawer-box .drawer-hamburger-icon::before,
.drawer-open .drawer-box .drawer-hamburger-icon::after {
	height: 1px;
	background-color: #fff;
}
.drawer-open .drawer-box .drawer-nav {
	background-color: #c6c6c6;
}
.drawer-box .drawer-menu {
	padding: 50px 30px 8px;
}

/* knowledge */
#knowledge {
	padding-block: 100px 0;
}

#knowledge .title-entry {
	padding-bottom: 0;
	margin-bottom: 32px;
}

#knowledge .title-entry .heading-block {
	font-size: 60px;
	letter-spacing: 6px;
}

#knowledge .title-entry::after {
	display: none;
}

#knowledge .tabs .tab-links {
	display: flex;
	column-gap: 40px;
}

#knowledge .tabs .tab-links .link {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 16px 16px 0 0;
	background-color: #fff;
	text-align: center;
	color: #0f0f0f;
	font-size: 30px;
	line-height: 1.4;
	text-decoration: none;
	letter-spacing: 1.5px;
	width: 100%;
	transition: all 0.3s;
	padding-block: 18px 20px;
	cursor: pointer;
}

#knowledge .tabs .tab-links .link:hover,
#knowledge .tabs .tab-links .link.active {
	background-color: #00d8ff;
}

#knowledge .tabs .tab-links .link.active {
	pointer-events: none;
}

#knowledge .tabs .tab-content {
	border: 1px solid #fff;
	padding: 40px;
}

#knowledge .tabs .tab-panel {
	display: none;
}

#knowledge .tabs .tab-panel.active {
	display: block;
}

#knowledge .tabs .tab-panel .tab-panel-inner {
	display: grid;
	gap: 40px;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

#knowledge .tabs .tab-panel .item {
	/* width: 300px; */
	flex-shrink: 0;
}

#knowledge .tabs .tab-panel .item .item-image {
	display: grid;
	place-items: center;
	position: relative;
}

#knowledge .tabs .tab-panel .item .item-image::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgba(0, 0, 0, 0.4);
}

#knowledge .tabs .tab-panel .item .item-image img {
	grid-row: 1 / 2;
	grid-column: 1 / 2;
	opacity: 1 !important;
}

#knowledge .tabs .tab-panel .item .item-image svg {
	grid-row: 1 / 2;
	grid-column: 1 / 2;
	position: relative;
	z-index: 2;
}

#knowledge .tabs .tab-panel .item.video .item-image svg {
	width: 60px;
	height: auto;
}

#knowledge .tabs .tab-panel .item.pdf .item-image svg {
	width: 52px;
	height: auto;
}

#knowledge .tabs .tab-panel .item .item-content {
	padding-top: 25px;
}

#knowledge .tabs .tab-panel .item .tag {
	color: #0f0f0f;
	background-color: #00ff27;
	display: block;
	width: fit-content;
	font-size: 16px;
	line-height: 1.7;
	padding-inline: 9px;
	margin-bottom: 4px;
	letter-spacing: 0.8px;
}

#knowledge .tabs .tab-panel .item .date {
	font-size: 18px;
	display: block;
	letter-spacing: 0.8px;
}

#knowledge .tabs .tab-panel .item .name {
	font-size: 20px;
	letter-spacing: 0.8px;
	line-height: 1.6;
	margin-bottom: 16px;
}

#knowledge .tabs .tab-panel .item .desc {
	font-size: 16px;
	letter-spacing: 0.8px;
	line-height: 1.87;
}

#knowledge .tabs .tab-panel .item .link {
	display: block;
	border-radius: 99px;
	background-color: #00d8ff;
	line-height: 1.6;
	text-align: center;
	color: #0f0f0f;
	font-size: 22px;
	transition: all 0.3s;
	text-decoration: none;
	padding-block: 1px 3px;
	border: 1px solid #00d8ff;
	margin-top: 15px;
	letter-spacing: 0.8px;
	cursor: pointer;
}

#knowledge .tabs .tab-panel .item .link:hover {
	color: #00d8ff;
	background-color: #000;
}

/* modal */
body.modal-open {
	overflow: hidden;
	height: 100vh;
}

.modal {
	display: none;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
}

.modal .modal-inner {
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
}

.modal .modal-content {
	max-width: 990px;
	width: 100%;
	padding: 70px 20px;
}

.modal .modal-content-inner {
	background: #fff;
	padding: 40px 50px;
	border-radius: 20px;
	position: relative;
	color: #0f0f0f;
}
.modal .close {
	cursor: pointer;
	position: absolute;
	top: 30px;
	right: 30px;
}

.modal .close svg {
	width: 40px;
	height: auto;
}

.modal .modal-form .mw_wp_form {
	max-height: 600px;
	overflow: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.modal .modal-form .mw_wp_form::-webkit-scrollbar {
	display: none;
}

#send-password.modal .modal-form .title {
	font-size: 46px;
	line-height: 1.3;
	margin-top: 8px;
	letter-spacing: 2.3px;
	margin-bottom: 32px;
}

#send-password.modal .modal-form input:not([type="submit"], [type="radio"], [type="checkbox"]),
#send-password.modal .modal-form textarea {
	height: 68px;
	border: 1px solid #696969;
	border-radius: 99px;
	font-size: 20px;
	padding: 18px 24px;
	color: #0f0f0f;
	width: 100%;
}

#send-password.modal .modal-form textarea {
	min-height: 300px;
	resize: vertical;
	border-radius: 30px;
}

#send-password.modal .modal-form input::placeholder,
#send-password.modal .modal-form textarea::placeholder {
	color: #696969;
}

#send-password.modal .modal-form .group + .group {
	margin-top: 33px;
}

#send-password.modal .modal-form .group label {
	font-size: 20px;
	letter-spacing: 0.8px;
	margin-bottom: 12px;
	display: block;
}

#send-password.modal .modal-form .group label .require {
	font-size: 16px;
	color: #fff;
	background-color: #c90000;
	margin-left: 10px;
	display: inline-block;
	line-height: 1;
	padding-inline: 5px;
	padding-block: 3px 5px;
	position: relative;
	top: -2px;
}

.modal .modal-form input[type="submit"] {
	max-width: 246px;
	min-height: 64px;
	background-color: #00d8ff;
	transition: all 0.3s;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	border: 1px solid #00d8ff;
	border-radius: 999px;
	width: 100%;
	margin-inline: auto;
	margin-top: 40px;
	cursor: pointer;
}

.modal .modal-form input[type="submit"]:hover {
	color: #00d8ff;
	background-color: #fff;
}

#enter-password.modal .modal-form .title {
	font-size: 24px;
	display: flex;
	gap: 12px;
	align-items: center;
	margin-top: 20px;
	letter-spacing: 1.2px;
	margin-bottom: 50px;
}

#enter-password.modal .modal-form .title svg {
	width: 30px;
	height: auto;
}

#enter-password.modal .modal-form .text {
	font-size: 20px;
	letter-spacing: 1px;
	line-height: 1.5;
	margin-bottom: 17px;
}

#enter-password.modal .modal-form input[type="password"],
#enter-password.modal .modal-form input[type="text"] {
	border: 2px solid #00d8ff;
	border-radius: 99px;
	padding: 18px 24px;
	color: #0f0f0f;
	width: 100%;
	height: 68px;
	font-size: 20px;
	margin-bottom: 15px;
}

#enter-password.modal .modal-form input[type="password"]::placeholder,
#enter-password.modal .modal-form input[type="text"]::placeholder {
	color: #0f0f0f;
}

#enter-password.modal .modal-form .check-pw {
	display: flex;
	align-items: center;
	font-size: 20px;
	gap: 12px;
	cursor: pointer;
}

#enter-password.modal .modal-form .check-pw::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	border: 1px solid #696969;
	background-color: #fff;
	transition: all 0.3s;
}

#enter-password.modal .modal-form .check-pw:has(input:checked)::before {
	background-color: #00d8ff;
	border-color: #00d8ff;
}

#enter-password.modal .modal-form .check-pw input {
	display: none;
}

.password-error {
	display: none;
	color: #d00;
	margin-top: 10px;
}

#enter-password.modal .protected-content iframe {
	margin-top: 40px;
}

@media (max-width: 1500px) {
	body {
		font-size: 16px;
		line-height: 30px;
	}

	#header {
		padding: 50px 30px 0px 30px;
	}
	#header .header-menu {
		top: 50px;
		right: 30px;
	}

	#homepage #fv .heading-main {
		font-size: 70px;
		line-height: 90px;
	}
	#homepage #fv .description {
		font-size: 50px;
		line-height: 56px;
		letter-spacing: 3px;
	}
	.header-entry .title {
		font-size: 42px;
		line-height: 54px;
	}
	.header-entry .sub-ttl {
		font-size: 36px;
	}
	#about .text-box {
		margin-right: 0;
	}
	.recruit-descr {
		max-width: 40%;
	}
	.recruit-menu {
		margin-right: 0;
		max-width: 60%;
	}
	.recruit-menu li a {
		font-size: 18px;
	}
}

@media (max-width: 1240px) {
	#header {
		padding-top: 20px;
	}
}

@media (max-width: 1280px) {
	#homepage #fv .heading-main {
		font-size: 56px;
		line-height: 72px;
	}
	#homepage #fv .description {
		font-size: 38px;
		line-height: 44px;
		letter-spacing: 3px;
	}
	.top-logo::before {
		width: 100%;
		height: 100%;
	}
	.top-logo {
		width: calc(100% - 60px);
		height: 560px;
	}
	.top-url {
		padding: 20px;
		bottom: 175px;
	}
	.top-logo .top-logo-slider {
		width: calc(100% + 60px);
		left: -30px;
	}
	.top-logo > img {
		width: calc(100% + 20px);
		max-width: inherit;
		position: absolute;
		left: -10px;
	}

	#about .title-box {
		max-width: 50%;
		min-width: auto;
	}
	.about-slider img {
		object-position: left;
	}
	.service-box {
		width: 50%;
	}
	#service .content-box {
		max-width: 50%;
		min-width: auto;
	}
	.service-box h3 {
		text-align: left;
		padding-left: 100px;
		font-size: 50px;
		line-height: 54px;
	}
	#about .title-box .heading-block {
		font-size: 50px;
		line-height: 54px;
	}
	#service .moving-text p {
		font-size: 8rem;
		line-height: 86px;
	}
	#company .moving-text {
		font-size: 8rem;
		line-height: 86px;
	}
	.header-entry .title {
		margin-right: 0;
	}
	.list-service .service-item p {
		font-size: 18px;
		line-height: 1.5;
	}
	#service .link-page a {
		font-size: 28px;
	}
	#company .link-contact a {
		font-size: 60px;
		line-height: 60px;
	}
	.recruit-menu li:nth-child(2n) {
		padding-left: 30px;
	}
	.recruit-menu li a {
		font-size: 16px;
	}
	.recruit-menu li a.icon-link::after {
		background-size: 100%;
		width: 18px;
		height: 14px;
		right: -28px;
	}
}

@media (max-width: 1023px) {
	#knowledge .tabs .tab-links .link {
		font-size: 26px;
		padding-block: 16px;
	}
}

@media (max-width: 1000px) {
	body {
		font-size: 14px;
		line-height: 26px;
	}
	.text-box p {
		letter-spacing: 0.9px;
		margin-bottom: 21px;
	}

	#header {
		padding-top: 20px;
	}

	#homepage #fv .heading-main {
		font-size: 38px;
		line-height: 48px;
	}
	#homepage #fv .description {
		font-size: 24px;
		line-height: 30px;
		letter-spacing: 3px;
	}
	.top-logo {
		width: calc(100% - 30px);
		height: 460px;
		max-width: 300px;
	}
	#homepage #fv .top-catch {
		padding-top: 60px;
	}
	.top-url {
		padding: 6px;
	}
	#about {
		padding-top: 100px;
	}
	.header-entry .title {
		font-size: 32px;
		line-height: 42px;
	}
	.header-entry .sub-ttl {
		font-size: 28px;
	}
	.about-slider {
		width: 600px;
		height: 555px;
	}
	.title-box::before {
		width: 600px;
		height: 600px;
	}
	#about .title-box .heading-block {
		font-size: 34px;
		line-height: 40px;
	}
	.service-slider .slide-item.slide-1::before {
		height: 550px;
		top: 25px;
		left: 25px;
	}
	.service-box::before {
		width: 600px;
		height: 600px;
	}
	.service-slider .slick-list,
	.service-slider .slick-track {
		height: 600px;
	}
	.service-slider {
		height: 600px;
		width: 600px;
	}
	.service-box h3 {
		font-size: 34px;
		line-height: 40px;
		padding-left: 60px;
		padding-bottom: 0;
	}
	.title-entry .heading-block {
		font-size: 28px;
	}
	.title-entry .subTtl {
		font-size: 16px;
	}
	.list-service .service-item p {
		font-size: 16px;
		height: 60px;
	}
	#service .link-page a {
		font-size: 24px;
		height: 120px;
	}
	#service .moving-text p {
		font-size: 6rem;
		line-height: 64px;
	}
	.list-ja .company-item .ttl {
		width: 100px;
	}
	.list-ja .company-item .info {
		width: calc(100% - 100px);
	}
	.list-en .company-item .ttl {
		width: 150px;
		font-size: 14px;
	}
	.list-en .company-item .info {
		width: calc(100% - 150px);
	}
	#company .link-contact a {
		font-size: 50px;
		line-height: 40px;
		height: 160px;
	}
	#company .container {
		margin-bottom: 120px;
	}
	#company .moving-text {
		font-size: 6rem;
		line-height: 64px;
	}
	#recruit .flex-L {
		flex-wrap: wrap;
	}
	#recruit .recruit-inner {
		max-width: 100%;
	}
	.recruit-descr {
		max-width: 100%;
		padding: 0;
		margin-bottom: 60px;
	}
	.recruit-menu {
		margin-right: 0;
		max-width: 100%;
	}
	.contact-btn a {
		font-size: 50px;
		padding: 35px 50px 45px;
	}
	.contact-btn a span {
		padding: 0px 40px 12px;
	}
	.page-top-pc::before {
		height: 58px;
	}
	.page-top-pc::after {
		width: 40px;
		height: 40px;
	}
	.page-top-pc {
		width: 102px;
		height: 102px;
		right: 30px;
		bottom: 290px;
	}
	.recruit-menu {
		padding-left: 0;
	}
}

@media (max-width: 767px) {
	#recruit .inta img {
		max-width: 40px;
		margin: 35px auto 0 auto;
	}
	.sp-br {
		display: block;
	}
	.pc-br {
		display: none;
	}

	.header-logo {
		width: 86px;
	}
	#header {
		padding: 18px 15px 13px;
		height: 80px;
	}
	.drawer-box .drawer-menu {
		padding: 30px 30px 8px;
	}
	.drawer-box .header-logo {
		margin-top: 21px;
		margin-left: 14px;
	}
	/* .drawer-open .drawer-box .drawer-hamburger {
		width: 40px;
		height: 40px;
		margin-top: 22px;
		margin-right: 18px;
	} */
	.drawer-box .drawer-menu li {
		margin-bottom: 7px;
	}
	.drawer-box .drawer-menu li.menuItem-recruit {
		margin-top: 24px;
		margin-bottom: 24px;
	}

	#fv {
		padding-top: 80px;
		padding-bottom: 60px;
	}
	.drawer-box .drawer-hamburger {
		width: 49px;
		height: 49px;
		margin-top: 14px;
		margin-right: 25px;
	}
	.drawer-box .drawer-hamburger::before {
		letter-spacing: 0;
	}
	.top-descr {
		width: 100%;
	}
	#homepage #fv .top-catch .t1 {
		font-size: 16px;
		line-height: 20px;
		letter-spacing: 1.6px;
		margin-bottom: 0px;
	}
	#homepage #fv .top-catch {
		padding-top: 30px;
		width: 100%;
	}
	#homepage #fv .heading-main {
		font-size: 28px;
		line-height: 38px;
		letter-spacing: 4px;
		margin-bottom: 17px;
	}
	#homepage #fv .description {
		font-size: 25px;
		line-height: 28px;
		letter-spacing: 1.3px;
		margin-bottom: 88px;
	}
	.top-url {
		padding: 10px;
		bottom: unset;
		top: 187px;
		letter-spacing: 0.5px;
	}
	#homepage #fv .subTtl {
		font-size: 16px;
		line-height: 20px;
		letter-spacing: 1.6px;
	}
	.top-logo {
		width: 55%;
		height: 0;
		padding-bottom: 81.2%;
		max-width: 100%;
	}
	.top-logo .top-logo-slider {
		width: calc(100% + 30px);
		left: -18px;
		height: auto;
		display: flex;
		top: 46.5%;
	}
	.top-logo > img {
		width: calc(100% + 32px);
		position: absolute;
		left: -16px;
		max-width: calc(100% + 32px);
		bottom: unset;
	}

	.about-slider {
		width: calc(100% + 30px);
		height: 368px;
		left: unset;
		right: 17px;
	}
	#about {
		padding-top: 183px;
		padding-bottom: 0;
	}
	.title-box::before {
		width: 400px;
		height: 400px;
		left: unset;
		right: 1px;
	}
	#about .title-box {
		max-width: 100%;
		min-width: auto;
	}
	.about-slider img {
		object-position: center;
	}
	#about .title-1 {
		width: 100%;
		max-width: 240px;
		margin: 0 70px 0 auto;
		left: 0;
		display: flex;
		justify-content: center;
		padding: 0 0 0 0;
	}
	#about .title-box .heading-block {
		font-size: 23.5px;
		line-height: 28.5px;
		text-align: left;
		letter-spacing: 1.4px;
	}
	.header-entry .title {
		font-size: 29px;
		line-height: 36px;
		margin-bottom: 4px;
		letter-spacing: 3px;
	}
	#about .content-box {
		margin-top: 186px;
	}
	.header-entry .sub-ttl {
		font-size: 29px;
		letter-spacing: 1.3px;
	}
	.header-entry:after {
		height: 1px;
		width: 55px;
	}
	.header-entry {
		position: relative;
		padding-bottom: 20px;
		margin-bottom: 27px;
	}
	.text-box p {
		letter-spacing: 0.7px;
		margin-bottom: 26px;
	}
	#service {
		padding-top: 37px;
		padding-bottom: 0;
	}
	#service .content-box {
		max-width: 100%;
		min-width: auto;
		margin: 0;
		padding-top: 0;
	}
	.title-entry .heading-block {
		font-size: 34px;
		letter-spacing: 1.8px;
		margin-bottom: 3px;
	}
	.title-entry:after {
		width: 55px;
		height: 1px;
	}
	.title-entry {
		position: relative;
		padding-bottom: 12px;
		margin-bottom: 28px;
	}
	.service-box::before {
		width: 400px;
		height: 400px;
	}
	.service-slider .slick-list,
	.service-slider .slick-track {
		height: 368px;
	}
	.service-slider .slide-item.slide-1::before {
		left: 18px;
		height: 368px;
		width: 100%;
		top: 0;
	}
	.service-box {
		width: 100%;
		margin-left: 5px;
	}
	.service-slider {
		height: 368px;
		width: calc(100% + 40px);
	}
	#service .content-box .text-box {
		margin-bottom: 46px;
	}
	.service-box h3 {
		font-size: 25px;
		line-height: 25px;
		padding-left: 0;
		padding-bottom: 0;
		letter-spacing: 2.5px;
		text-align: right;
		padding-right: 40px;
		max-width: 330px;
		width: 100%;
	}
	.list-service .service-item p {
		font-size: 14px;
		height: 48px;
		max-width: 100%;
	}
	.list-service {
		padding-top: 0;
		position: relative;
		width: 100%;
		margin-top: -20px;
		z-index: 2;
	}
	.list-service .service-item {
		margin-bottom: 10px;
	}
	#service .link-page {
		padding: 0 30px;
	}
	#service .link-page a {
		font-size: 16px;
		line-height: 22px;
		height: 84px;
		text-align: center;
		letter-spacing: 1.5px;
	}
	#service > .flex-L {
		align-items: center;
		margin-bottom: 8px;
	}
	#service .moving-text p {
		font-size: 45px;
		line-height: 56px;
		margin: 0;
		letter-spacing: 1.7px;
	}
	#service .moving-text p .sp-br {
		display: inline-block;
	}
	#service .moving-text {
		padding-top: 32px;
	}
	#company {
		padding-top: 44px;
		padding-bottom: 0;
	}
	#company .title-entry .heading-block {
		margin-bottom: 5px;
	}

	.company-info {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		column-gap: 0;
		border-bottom: 1px solid #fff;
		padding-bottom: 30px;
		margin-bottom: 50px;
		row-gap: 36px;
	}
	.list-ja .company-item .ttl {
		width: 136px;
		letter-spacing: 2px;
		font-size: 14px;
		line-height: 28px;
	}
	.list-ja .company-item .info {
		width: calc(100% - 136px);
		line-height: 28px;
		font-size: 14px;
		letter-spacing: 0.7px;
	}
	.company-item .text-info {
		margin-bottom: 29px;
	}
	.list-en .company-item .ttl {
		width: 136px;
		font-size: 14px;
		letter-spacing: 0.3px;
	}
	.list-en .company-item .info {
		width: calc(100% - 136px);
		line-height: 28px;
		letter-spacing: 0.3px;
		margin-top: -1px;
		margin-right: -20px;
		position: relative;
		max-width: calc(100% - 115px);
	}
	.company-infoList.list-en .company-item {
		margin-bottom: 28px;
	}
	.list-en .company-item .text-info {
		margin-bottom: 28px;
	}
	.list-en .company-item .text-info:last-child {
		margin-bottom: 2px;
	}
	.company-infoList.list-en .company-item:nth-child(n + 3) {
		margin-bottom: 0;
	}
	#company .link-contact a {
		font-size: 20px;
		line-height: 20px;
		height: 46px;
		letter-spacing: 2px;
		padding-left: 0;
		padding-bottom: 0;
	}
	#company .link-contact a span {
		padding: 0;
	}
	#company .link-contact a span {
		border-bottom: 0;
	}
	#company .container {
		margin-bottom: 40px;
	}
	#company .moving-text {
		font-size: 22.5px;
		line-height: 30px;
		letter-spacing: 0.8px;
	}
	#recruit .title-entry .heading-block {
		font-size: 34px;
		letter-spacing: 2px;
		margin-bottom: 3px;
	}
	#recruit {
		padding-top: 28px;
		padding-bottom: 95px;
	}
	#recruit .link-page a {
		font-size: 16px;
		line-height: 25px;
		text-decoration: unset;
		text-align: center;
		padding: 0;
		border: 1px solid #fff;
		border-radius: 50px;
		letter-spacing: 1px;
		width: 100%;
		display: flex;
		justify-content: center;
		height: 48px;
		align-items: center;
	}
	#recruit .link-page {
		padding-top: 14px;
	}
	.recruit-descr {
		margin-bottom: 33px;
	}
	.recruit-menu li:nth-child(2n) {
		padding-left: 0;
	}
	.recruit-menu li {
		margin-bottom: 25px;
	}
	.recruit-menu li a {
		font-size: 16px;
		line-height: 20px;
		letter-spacing: 0.8px;
	}
	.recruit-menu li a:before {
		bottom: -1px;
		width: 100%;
	}
	.recruit-menu li a.icon-link::after {
		right: -32px;
		bottom: 11px;
	}
	#recruit .flex-L {
		padding-bottom: 13px;
	}
	#recruit .txt-title {
		font-size: 16px;
		line-height: 20px;
		padding-left: 14px;
		letter-spacing: 0.7px;
		margin-top: 40px;
		position: relative;
		margin-right: -10px;
	}
	#recruit .txt-title:after {
		top: 0;
	}
	.contact-btn a {
		font-size: 20px;
		line-height: 20px;
		height: 46px;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.contact-btn a span {
		padding: 0;
		letter-spacing: 2px;
	}
	.contact-btn:hover a span {
		border-bottom: 0;
	}
	footer .moving-text p img {
		margin: 1px 6px;
		animation: moving 50s linear infinite;
	}
	p.copyright {
		letter-spacing: 0.6px;
		padding-top: 12px;
	}
	footer {
		padding-bottom: 5px;
	}
	.page-top-sp {
		width: 50px;
		height: 50px;
	}
	.page-top-sp::after {
		width: 16px;
		height: 16px;
		top: -2px;
	}
	.page-top-sp::before {
		height: 22px;
	}

	#company .moving-text p {
		animation: moving 20s linear infinite;
	}
	#service .moving-text > div:nth-child(1) p {
		animation: moving 80s linear infinite;
	}

	/* knowledge */
	#knowledge {
		padding-block: 64px 0;
	}

	#knowledge .title-entry {
		margin-bottom: 43px;
	}

	#knowledge .title-entry .heading-block {
		font-size: 38px;
		letter-spacing: 2px;
	}

	#knowledge .tabs .tab-links {
		column-gap: 20px;
	}

	#knowledge .tabs .tab-links .link {
		border-radius: 8px 8px 0 0;
		font-size: 15px;
		line-height: 1.2;
		letter-spacing: 1.5px;
		padding-block: 7px;
	}

	#knowledge .tabs .tab-links .link.video {
		width: 138%;
	}

	#knowledge .tabs .tab-content {
		padding: 28px 16px;
	}

	#knowledge .tabs .tab-panel .tab-panel-inner {
		gap: 28px;
		grid-template-columns: 1fr;
	}

	#knowledge .tabs .tab-panel .item .item-image {
		display: grid;
		place-items: center;
		position: relative;
	}

	#knowledge .tabs .tab-panel .item .item-image::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		background-color: rgba(0, 0, 0, 0.4);
	}

	#knowledge .tabs .tab-panel .item .item-image img {
		grid-row: 1 / 2;
		grid-column: 1 / 2;
		opacity: 1 !important;
	}

	#knowledge .tabs .tab-panel .item .item-image svg {
		grid-row: 1 / 2;
		grid-column: 1 / 2;
		position: relative;
		z-index: 2;
	}

	#knowledge .tabs .tab-panel .item.video .item-image svg {
		width: 60px;
		height: auto;
	}

	#knowledge .tabs .tab-panel .item.pdf .item-image svg {
		width: 52px;
		height: auto;
	}

	#knowledge .tabs .tab-panel .item .item-content {
		padding-top: 25px;
	}

	#knowledge .tabs .tab-panel .item .tag {
		font-size: 14px;
		margin-bottom: 8px;
	}

	#knowledge .tabs .tab-panel .item .date {
		font-size: 16px;
		margin-bottom: 3px;
	}

	#knowledge .tabs .tab-panel .item .name {
		font-size: 18px;
	}

	#knowledge .tabs .tab-panel .item .desc {
		font-size: 14px;
	}

	#knowledge .tabs .tab-panel .item .link {
		font-size: 16px;
		padding-block: 10px;
		margin-top: 9px;
	}

	.modal .close {
		top: 15px;
		right: 15px;
	}

	.modal .close svg {
		width: 20px;
	}

	.modal .modal-content {
		padding: 70px 16px;
	}

	.modal .modal-content-inner {
		padding: 20px 14px;
		border-radius: 15px;
	}

	#send-password.modal .modal-form .title {
		font-size: 22px;
		margin-top: 4px;
		letter-spacing: 1px;
		margin-bottom: 23px;
	}

	.modal .modal-form .mw_wp_form {
		max-height: 400px;
	}

	#send-password.modal .modal-form .group + .group {
		margin-top: 24px;
	}

	#send-password.modal .modal-form .group label {
		font-size: 15px;
		letter-spacing: 0.8px;
		margin-bottom: 8px;
	}

	#send-password.modal .modal-form .group label .require {
		font-size: 12px;
		margin-left: 10px;
		display: inline-block;
		padding-inline: 5px;
		padding-block: 3px 5px;
		top: -2px;
	}

	#send-password.modal .modal-form input:not([type="submit"], [type="radio"], [type="checkbox"]),
	#send-password.modal .modal-form textarea {
		height: 50px;
		font-size: 14px;
		padding: 12px 22px;
	}

	#send-password.modal .modal-form textarea {
		min-height: 200px;
		border-radius: 15px;
	}

	.modal .modal-form input[type="submit"] {
		max-width: 100%;
		min-width: 130px;
		min-height: 46px;
		width: fit-content;
		font-size: 16px;
		margin-top: 26px;
	}

	#enter-password.modal .modal-form .text {
		font-size: 14px;
		letter-spacing: 1px;
		line-height: 1.5;
		margin-bottom: 17px;
	}

	#enter-password.modal .modal-form input[type="password"],
	#enter-password.modal .modal-form input[type="text"] {
		padding: 12px 22px;
		height: 50px;
		font-size: 14px;
		margin-bottom: 15px;
	}
}

@media (max-width: 500px) {
	.list-ja .company-item .ttl {
		width: 65px;
		letter-spacing: 2px;
		font-size: 14px;
		line-height: 28px;
	}
	.list-ja .company-item .info {
		width: calc(100% - 65px);
		line-height: 28px;
		font-size: 14px;
		letter-spacing: 0.7px;
	}
}
