/*----------------------------------
下層ページ共通
----------------------------------*/

.page {
	margin-top: 110px;
}

.page .container::before {
	z-index: 0;
	top: -1vw;
	height: calc(100% + 1vw);
}

.page__wrap {
	position: relative;
}

.side-bar {
	position: fixed;
	top: 110px;
	left: 0;
	width: 215px;
}

.side-bar__list {
	padding-bottom: 7px;
	border-bottom: 1px solid #fff;
}

.side-bar__list + .side-bar__list {
	margin-top: 43px;
}

.side-bar__list a {
	display: block;
	position: relative;
	padding-left: 75px;
	color: #fff;
	font-weight: 700;
	line-height: 1.5;
}

.side-bar__list a .point {
	position: absolute;
	top: 50%;
	right: 19px;
	width: 6px;
	height: 6px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #fff;
}

.side-bar__list a .point::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 6px;
	height: 6px;
	transform: translate(-50%, -50%);
	border: 1px solid #fff;
	border-radius: 50%;
	content: "";
	transition: all 0.6s;
}

.side-bar__list a:hover {
	opacity: 1;
}

.side-bar__list a:hover .point::after {
	width: 25px;
	height: 25px;
	transition: all 0.6s;
}

.main__content {
	width: 898px;
	max-width: 100%;
	margin: auto;
	padding: 33px 0 0 78px;
}

.page__content {
	margin-top: 244px;
}

.page-mainvisual .inner {
	margin-top: -87px;
}

.page-mainvisual__img {
	width: 62.737%;
	margin-left: auto;
}

.page-mainvisual__img img {
	width: 100%;
}

/*----------------------------------
企業情報ページ
----------------------------------*/

.page-company .container {
	padding-bottom: 200px;
}

.company-sec01 .company-sec__title {
	white-space: nowrap;
}

.company-sec01 .company-sec__title::after {
	width: 199px;
	height: 80px;
	margin: 14px 0 0 -23px;
	background: url(../img/page_title_message.png) no-repeat center left/contain;
	content: "";
}

.company-sec01 .text {
	margin-top: 40px;
	font-weight: 600;
}

.company-sec02 .company-sec__title {
	position: relative;
	white-space: nowrap;
}

.company-sec02 .company-sec__title::after {
	width: 526px;
	height: 108px;
	margin: -10px 0 0 -8px;
	background: url(../img/page_title_profile.png) no-repeat center left/contain;
	content: "";
}

.company-sec02 .text {
	margin-top: 40px;
}

.company-sec__title {
	display: flex;
	font-weight: 700;
	font-size: 4rem;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
	letter-spacing: 0.05em;
}

.company-sec01__wrap {
	display: flex;
	margin-top: 70px;
}

.company-sec__sub-title {
	font-weight: 700;
	font-size: 2.5rem;
	line-height: 1.6;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
	letter-spacing: 0.02em;
}

.president {
	margin-top: 40px;
	font-weight: 600;
	font-size: 1.8rem;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
	letter-spacing: 0.02em;
}

.company-sec01__right {
	flex: 0 0 37.073%;
	margin-left: 68px;
}

.company-sec01__right .president {
	margin-top: 25px;
	padding-bottom: 3px;
	border-bottom: 0.7px solid #fff;
}

.president-caption {
	margin-top: 5px;
	font-size: 1.4rem;
	line-height: 1.714;
	letter-spacing: 0.03em;
}

.company-sec02 {
	margin-top: 200px;
}

.corporate__content {
	margin-top: 59px;
}

.table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.table tr {
	display: block;
	border-bottom: 1px solid #A3D6D9;
}

.table tr:last-child {
	border-bottom: none;
}

.table th,
.table td {
	padding: 26px 0;
	font-weight: 500;
}

.table th {
	position: relative;
	width: 105px;
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.05em;
	text-align: left;
}

.table th::after {
	position: absolute;
	top: 43px;
	right: -73px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #A3D6D9;
	content: "";
}

.table td {
	padding-left: 164px;
	line-height: 2.5;
	letter-spacing: 0.02em;
	vertical-align: middle;
}

.company-sec03 {
	margin-top: 174px;
	padding: 118px 100px 116px;
	border-radius: 85px;
	background-color: #fff;
}

.company-sec03 .company-sec__title {
	display: inline-block;
	z-index: 1;
	position: relative;
	color: #0C9798;
}

.company-sec03 .company-sec__title::after {
	position: absolute;
	top: -77px;
	left: -188px;
	width: 390px;
	height: 96px;
	margin: 14px 0 0 -23px;
	background: url(../img/page_title_contact.png) no-repeat center left/contain;
	content: "";
}

::-ms-expand {
	display: none;
}

.button-submit {
	margin-top: 62px;
}

.mailform {
	margin-top: 60px;
}

.mfp__wrap {
	display: flex;
	margin-bottom: 50px;
}

.mfp__title {
	display: flex;
	flex: 0 0 126px;
	flex-direction: column;
	color: #0C9798;
}

.mfp__title .ttl {
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.2;
}

.mfp__title .required {
	display: block;
	margin-top: -4px;
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: 0.02em;
}

.mfp__text {
	flex: 0 0 calc(100% - 170px);
	max-width: 100%;
	margin-left: 44px;
}

.mfp__text input {
	width: 100% !important;
	height: 40px;
	padding-left: 15px;
	border: 1px solid #aaa;
	border-radius: 3px;
	font-size: 16px;
}

textarea {
	width: 100% !important;
	height: 233px !important;
	padding: 11px 11px 11px 15px;
	border: 1px solid #aaa;
	border-radius: 3px;
	font-size: 16px;
	line-height: 2;
	font-family: "Noto Sans", sans-serif;
}

.mfp_buttons {
	margin-top: 62px;
}

.mfp_buttons button {
	display: flex;
	z-index: 1;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 258px;
	height: 75px;
	margin: auto;
	border-radius: 37px;
	background: linear-gradient(to right, #52B3B9, #6CEEEF);
	color: #fff;
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.02em;
}

.mfp_buttons button::before {
	z-index: -1;
	border-radius: 37px;
}

.mfp_buttons button:hover {
	color: #0C9798;
	cursor: pointer;
}

.mfp_buttons button:hover::before {
	visibility: visible;
	width: 100%;
	border: 2px solid #0C9798;
	opacity: 1;
	transition: all 0.3s;
}

div.mfp_buttons button#mfp_button_cancel {
	margin-top: 20px;
	background: #bbb;
}

.page-thanks {
	margin-top: 0;
	background: #52B3B9;
}

.page-thanks .page__content {
	margin-top: 0;
}

#mfp_hidden {
	display: none;
}

.contact-thanks {
	padding: 100px 0;
	text-align: center;
}

.contact-thanks__title {
	font-weight: 700;
	font-size: 3.2rem;
}

.contact-thanks__text,
.back-top {
	margin-top: 50px;
}

.back-top a {
	color: #fff;
	text-decoration: underline;
}

/*----------------------------------
事業内容ページ
----------------------------------*/

.page-business .container {
	padding-bottom: 144px;
}

.page-business .page__content {
	margin-top: 300px;
}

.page-business .page__wrap {
	overflow: hidden;
}

.service-menu__list {
	margin-top: 16px;
}

.service-menu__list a {
	display: block;
	padding-left: 75px;
	color: #fff;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.428;
	letter-spacing: 0.02em;
}

.business-intro__wrap {
	display: flex;
	justify-content: space-between;
	font-weight: 600;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
	letter-spacing: 0.02em;
}

.business-intro__title {
	font-size: 2.5rem;
	line-height: 1.6;
	white-space: nowrap;
}

.business-intro__right {
	margin-left: 20px;
}

.business-sec01 {
	z-index: 1;
	position: relative;
	margin-top: 252px;
	padding: 136px 0 151px 238px;
}

.business-sec01::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	margin-right: calc(50% - 50vw);
	border-radius: 100px 0 0 100px;
	background: url(../img/strength_bg.png) no-repeat center left/cover;
	content: "";
}

.business-sec01::after {
	position: absolute;
	top: -41px;
	left: -74px;
	width: 654px;
	height: 104px;
	background: url(../img/page_title_strength.png) no-repeat center left/contain;
	content: "";
}

.business-sec01__title {
	padding-left: 45px;
	color: #0C9798;
	font-weight: 600;
	font-size: 4.5rem;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
}

.business-sec01__lists {
	margin: 99px -57px 0 0;
}

.business-sec01__list {
	display: flex;
	position: relative;
}

.business-sec01__list::before {
	z-index: -1;
	position: absolute;
	left: -118px;
	height: 133px;
	content: "";
}

.business-sec01__list + .business-sec01__list {
	margin-top: 94px;
}

.business-sec01__list:first-child::before {
	top: -32px;
	width: 162px;
	background: url(../img/number01.png) no-repeat center left/contain;
}

.business-sec01__list:nth-child(2)::before {
	top: -32px;
	width: 187px;
	background: url(../img/number02.png) no-repeat center left/contain;
}

.business-sec01__list:nth-child(3)::before {
	top: -29px;
	width: 188px;
	background: url(../img/number03.png) no-repeat center left/contain;
}

.business-sec01__list .text {
	margin: 5px 0 0 78px;
	color: #000;
}

.business-sec01-list__title {
	flex: 0 0 100px;
	color: #0C9798;
	font-weight: 700;
	font-size: 2.5rem;
}

.business-sec02 {
	margin-top: 217px;
}

.business-sec02 .button01 {
	margin-top: 143px;
}

.business-sec02 .button01-link {
	width: 472px;
	max-width: 100%;
	height: 165px;
	margin-left: 92px;
	border-radius: 83px;
	font-size: 2.8rem;
}

.business-sec02 .button01-link:hover::after {
	border-radius: 83px;
}

.business-sec02 .button01-link .point {
	right: 69px;
}

.business-sec02__title {
	display: inline-block;
	position: relative;
	font-weight: 600;
	font-size: 5rem;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
	letter-spacing: 0.05em;
}

.business-sec02__title::after {
	position: absolute;
	top: 5px;
	left: 137px;
	width: 521px;
	height: 67px;
	background: url(../img/top_title_menu.png) no-repeat center left/contain;
	content: "";
}

.business-sec02__lists {
	position: relative;
	margin: 22px 0 0 -73px;
	border-left: 1px solid #A3D6D9;
}

.business-sec02__lists::before,
.business-sec02__lists::after {
	display: block;
	width: 100vw;
	height: 1px;
	margin: 0 calc(50% - 50vw);
	background-color: #A3D6D9;
	content: "";
}

.business-sec02__lists::before {
	top: -1px;
}

.business-sec02__lists::after {
	bottom: 0;
}

.business-sec02__list {
	position: relative;
}

.business-sec02__list::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 419px;
	height: 343px;
	background: url(../img/service_square.png) no-repeat top left/contain;
	content: "";
}

.business-sec02__list::after {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100vw;
	height: 1px;
	margin-right: calc(50% - 50vw);
	background-color: #A3D6D9;
	content: "";
}

.business-sec02__list:last-child::after {
	content: none;
}

.business-sec02__wrapper {
	z-index: 1;
	position: relative;
	padding: 78px 0 78px 73px;
}

.title__wrap {
	width: 100vw;
	margin-right: calc(50% - 50vw);
	overflow: hidden;
	border-radius: 36px 0 0 36px;
}

.business-sec02-list__title {
	display: flex;
	z-index: 1;
	position: relative;
	align-items: center;
	width: 100vw;
	height: 72px;
	margin-right: calc(50% - 50vw);
	padding-left: 48px;
	border-radius: 36px 0 0 36px;
	background-image: linear-gradient(to right, #fff 280px, #52B3B9);
	color: #0C9798;
	font-weight: 700;
	font-size: 3rem;
	letter-spacing: 0.02em;
}

.business-sec02__wrap {
	display: flex;
	position: relative;
	margin-top: 56px;
}

.business-sec02__left .text {
	font-weight: 500;
}

.business-sec02__right {
	flex: 0 0 48.536%;
	margin-left: 38px;
}

.business-sec02__img {
	z-index: 1;
	position: relative;
}

.business-sec02__img::before {
	z-index: -1;
	position: absolute;
	bottom: -77px;
	left: 207px;
	width: 419px;
	height: 343px;
	background: url(../img/service_square02.png) no-repeat center left/contain;
	content: "";
}

/*----------------------------------
事業内容ページ
----------------------------------*/

.page-works .container {
	padding-bottom: 203px;
}

.page-works .side-bar__list {
	padding-bottom: 8px;
}

.page-works .side-bar__list a {
	line-height: 1.5;
}

.works-menu__title {
	font-weight: 600;
	font-size: 2.5rem;
	line-height: 1.6;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
	letter-spacing: 0.02em;
}

.works-menu__items {
	display: flex;
	flex-wrap: wrap;
	margin-top: 40px;
}

.works-menu__item {
	width: calc(50% - 14.5px);
	margin-left: 29px;
}

.works-menu__item .works-menu__list .list-link {
	padding-top: 20px;
}

.works-menu__item:nth-of-type(odd) {
	margin-left: 0;
}

.works-menu__item:nth-of-type(n + 3) {
	margin-top: 25px;
}

.works-menu__item:nth-of-type(4) .works-menu__wrap {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: calc(100% - 32px);
}

.works-menu-head {
	position: relative;
	padding-left: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.works-menu-head::before {
	position: absolute;
	top: 14px;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #fff;
	content: "";
}

.works-menu__lists {
	display: flex;
	flex-wrap: wrap;
	margin-top: 3px;
}

.works-menu__list {
	width: calc(33.333% - 6px);
	height: 124px;
	margin-left: 9px;
	border-radius: 10px;
	background-color: #fff;
}

.works-menu__list:nth-child(3n+1) {
	margin-left: 0;
}

.works-menu__list:nth-child(n+4) {
	margin-top: 9px;
}

.works-menu__list .list-link {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	padding-bottom: 14px;
}

.works-menu__lists .slick-slide {
	margin-left: 0; /* すべてのスライドの余白をリセット */
}

.works-menu__lists .slick-slide:first-child {
	margin-left: -23vw; /* 最初のスライドだけ調整 */
}

.slick-arrow {
	z-index: 1;
	position: absolute;
	top: -50px;
	width: 28px;
	height: 28px;
}

.slick-arrow img {
	width: 100%;
	height: 100%;
}

.works-menu__img {
	text-align: center;
}

.works-menu__img img {
	display: inline-block !important;
}

.works-menu__text {
	color: #1DB6BB;
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.25;
	letter-spacing: 0.02em;
	text-align: center;
}

.works-sum {
	display: flex;
	justify-content: space-between;
	line-height: 1;
}

.works-sum .number {
	font-size: 4rem;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
	letter-spacing: -0.03em;
	text-align: center;
}

.works-sum__item {
	padding: 0 16px;
	border-right: 1px solid #fff;
}

.works-sum__item:first-of-type {
	padding-left: 0;
}

.works-sum__item:last-of-type {
	padding-right: 0;
	border-right: none;
}

.works-sum__text {
	margin-top: 11px;
	font-weight: 700;
	font-size: 1.3rem;
	line-height: 1.2;
	text-align: center;
}

.works {
	margin-top: 210px;
}

.works__item + .works__item {
	margin-top: 200px;
}

.works__item:first-of-type .works__list:nth-child(5) .works__img {
	top: 26px;
}

.works__item:first-of-type .works__list:nth-child(6) .works__img {
	top: 14px;
}

.works__item:nth-of-type(2) .works__list:first-child .works__img {
	top: 15px;
}

.works__item:nth-of-type(2) .works__list:nth-child(2) .works__img {
	top: -26px;
}

.works__item:nth-of-type(2) .works__list:nth-child(3) .works__img {
	top: -8px;
}

.works__item:nth-of-type(2) .works__list:nth-child(6) .works__img {
	top: 32px;
}

.works__item:nth-of-type(3) .works__list:first-child .works__img {
	top: -8px;
}

.works__item:nth-of-type(3) .works__list:nth-child(2) .works__img {
	top: -14px;
}

.works__item:nth-of-type(3) .works__list:nth-child(3) .works__img {
	top: 3px;
}

.works__item:nth-of-type(3) .works__list:nth-child(4) .works__img {
	top: 5px;
}

.works__item:nth-of-type(3) .works__list:nth-child(5) .works__img {
	top: 6px;
}

.works__item:nth-of-type(4) .works__list:first-child .works__img {
	top: -28px;
}

.works__item:nth-of-type(4) .works__list:nth-child(2) .works__img {
	top: 28px;
}

.works__title {
	font-weight: 600;
	font-size: 3.5rem;
	line-height: 1;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
}

.works__lists {
	margin-top: 27px;
}

.works__list {
	display: flex;
	padding: 70px 0 70px 52px;
	border-top: 1px solid #A3D6D9;
}

.works__list:last-child {
	border-bottom: 1px solid #A3D6D9;
}

.works__list .text {
	margin-top: 15px;
	font-weight: 600;
}

.works__left {
	position: relative;
	flex: 0 0 177px;
}

.works__img {
	position: absolute;
	top: -18px;
	left: -52px;
}

.works-list__title {
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 1.636;
	letter-spacing: 0.02em;
}

.works__content {
	margin-left: 101px;
}

.works-labels {
	display: flex;
}

.works-label {
	display: flex;
	z-index: 1;
	position: relative;
	align-items: center;
	justify-content: center;
	width: calc(33.333% - 11.3333333333px);
	height: 34px;
	margin-right: 17px;
	border-radius: 42px;
	background: linear-gradient(to right, #fff, #9DD7DB);
	color: #1CA9AF;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.works-label:last-of-type {
	margin-right: 0;
}

.page-top {
	position: fixed;
	right: 78px;
	bottom: 70px;
	opacity: 0;
}

.page-top.fade-in {
	opacity: 1;
}

.page-top:hover {
	cursor: pointer;
}

/*----------------------------------
採用情報ページ
----------------------------------*/

.recruit-intro__wrap {
	display: flex;
	font-weight: 600;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
	letter-spacing: 0.02em;
}

.recruit-intro__title {
	font-weight: 600;
	font-size: 2.5rem;
	line-height: 1.6;
	white-space: nowrap;
}

.recruit-intro__right {
	margin-left: 48px;
}

.recruit-intro__text {
	font-weight: 600;
	line-height: 2.25;
}

.recruit-feature {
	margin-top: 143px;
	padding-top: 30px;
}

.recruit-feature .recruit-sec__title {
	white-space: nowrap;
}

.recruit-feature .recruit-sec__title::after {
	width: 481px;
	height: 70px;
	margin: -5px 0 0 -17px;
	background: url(../img/page_title_business.png) no-repeat center left/contain;
	content: "";
}

.recruit-sec__title {
	display: flex;
	font-weight: 600;
	font-size: 4rem;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
	letter-spacing: 0.05em;
}

.recruit-feature__lists {
	margin-top: 30px;
}

.recruit-feature__list {
	z-index: 1;
	position: relative;
	padding: 62px 0 56px 62px;
	border-radius: 27px;
	background-color: #fff;
}

.recruit-feature__list::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	height: 133px;
	content: "";
}

.recruit-feature__list + .recruit-feature__list {
	margin-top: 30px;
}

.recruit-feature__list:first-child::before {
	width: 166px;
	background: url(../img/recruit_number01.svg) no-repeat center left/contain;
}

.recruit-feature__list:nth-child(2)::before {
	width: 187px;
	background: url(../img/recruit_number02.svg) no-repeat center left/contain;
}

.recruit-feature__list:nth-child(3)::before {
	width: 188px;
	background: url(../img/recruit_number03.svg) no-repeat center left/contain;
}

.recruit-feature__list:nth-child(4)::before {
	width: 192px;
	background: url(../img/recruit_number04.svg) no-repeat center left/contain;
}

.recruit-feature__list:nth-child(5)::before {
	width: 189px;
	background: url(../img/recruit_number05.svg) no-repeat center left/contain;
}

.recruit-feature__list:last-child .recruit-feature__wrap {
	align-items: center;
}

.recruit-feature__wrap {
	display: flex;
}

.recruit-feature__left .recruit-feature__img {
	display: none;
}

.recruit-feature__title {
	color: #0C9798;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.4;
}

.recruit-feature__text {
	margin-top: 13px;
	color: #000;
	font-weight: 500;
	line-height: 2;
}

.recruit-feature__right {
	flex: 0 0 35.27%;
	margin-left: 33px;
}

.recruit-feature__right .recruit-feature__img {
	border-radius: 15px 0 0 15px;
}

.recruit {
	margin-top: 137px;
	padding: 30px 0 171px;
}

.recruit .recruit-sec__title {
	white-space: nowrap;
}

.recruit .recruit-sec__title::after {
	width: 438px;
	height: 71px;
	margin: 4px 0 0 -24px;
	background: url(../img/page_title_recruit.png) no-repeat center left/contain;
	content: "";
}

.recruit__items {
	margin-top: 54px;
}

.recruit__item + .recruit__item {
	margin-top: 41px;
}

.recruit__item:first-of-type .table tr:nth-child(10) td,
.recruit__item:nth-of-type(2) .table tr:nth-child(10) td {
	padding-top: 24px;
}

.recruit__item:nth-of-type(3) .table tr:nth-child(2) td,
.recruit__item:nth-of-type(3) .table tr:nth-child(9) td {
	padding-top: 24px;
}

.recruit__title {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	height: 52px;
	border-radius: 26px;
	background-color: #fff;
	color: #0C9798;
	font-weight: 700;
	font-size: 2.2rem;
	letter-spacing: 0.02em;
}

.recruit__title:hover {
	cursor: pointer;
}

.recruit__title::after {
	position: absolute;
	top: 50%;
	right: 32px;
	width: 8px;
	height: 14px;
	transform: translateY(-50%);
	background: url(../img/arrow_recruit.svg) no-repeat center left/contain;
	content: "";
}

.recruit__title.open::after {
	transform: translateY(-50%) rotate(90deg);
}

.recruit__content {
	display: none;
	margin: 32px 0 73px;
}

.recruit__content .table tr:first-child {
	border-top: 1px solid #A3D6D9;
}

.recruit__content .table tr:last-child {
	position: relative;
	padding-bottom: 63px;
	border-bottom: 1px solid #A3D6D9;
}

.recruit__content .table tr:last-child th,
.recruit__content .table tr:last-child td {
	padding: 30.5px 0 62px;
}

.recruit__content .table tr:last-child th::after {
	content: none;
}

.recruit__content .table th,
.recruit__content .table td {
	padding: 22px 0;
}

.recruit__content .table th {
	width: 167px;
	line-height: 1.8;
	white-space: nowrap;
}

.recruit__content .table th::after {
	top: 38px;
	right: -20px;
}

.recruit__content .table td {
	padding-left: 50px !important;
	line-height: 2;
}

.recruit__content .button01 {
	margin-top: 40px;
}

.recruit__content .button01-link {
	width: 382px;
	max-width: 100%;
	height: 99px;
	border-radius: 50px;
}

.recruit__content .button01-link:hover::after {
	border-radius: 50px;
}

.recruit__content .button01-link .point {
	right: 43px;
}

.recruit-flow__list {
	position: relative;
}

.recruit-flow__list + .recruit-flow__list {
	margin-top: 26px;
}

.recruit-flow__list::before {
	position: absolute;
	top: 6px;
	height: 36px;
	content: "";
}

.recruit-flow__list:first-child::before {
	left: -62px;
	width: 45px;
	background: url(../img/recruit_flow_number01.svg) no-repeat center left/contain;
}

.recruit-flow__list:nth-child(2)::before {
	left: -69px;
	width: 52px;
	background: url(../img/recruit_flow_number02.svg) no-repeat center left/contain;
}

.recruit-flow__list:nth-child(3)::before {
	left: -69px;
	width: 52px;
	background: url(../img/recruit_flow_number03.svg) no-repeat center left/contain;
}

.recruit-flow__list:nth-child(4)::before {
	left: -70px;
	width: 51px;
	background: url(../img/recruit_flow_number04.svg) no-repeat center left/contain;
}

.recruit-flow__list:nth-child(5)::before {
	left: -68px;
	width: 53px;
	background: url(../img/recruit_flow_number05.svg) no-repeat center left/contain;
}

.recruit-flow__list:nth-child(6)::before {
	left: -67px;
	width: 53px;
	background: url(../img/recruit_flow_number06.svg) no-repeat center left/contain;
}

.recruit-flow__title {
	font-weight: 700;
	line-height: 1.75;
}

.recruit-flow__text {
	font-size: 1.4rem;
	line-height: 1.714;
}

.close-button {
	position: absolute;
	right: 0;
	bottom: 3px;
	padding-right: 33px;
	font-weight: 700;
}

.close-button:hover {
	cursor: pointer;
}

.close-button .point {
	display: inline-block;
	position: absolute;
	top: 53%;
	right: 14px;
	width: 4px;
	height: 4px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #fff;
}

.close-button .point::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 22px;
	height: 22px;
	transform: translate(-50%, -50%);
	border: 1px solid #fff;
	border-radius: 50%;
	content: "";
}

/*----------------------------------
初期化
----------------------------------*/

*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	position: relative;
	margin: 0;
	padding: 0;
}

html {
	font-size: 62.5%;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: #fff;
	color: #fff;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 2;
	font-family: "Noto Sans", sans-serif;
	letter-spacing: 0;
	overflow-wrap: break-word;
}

body.open {
	overflow: auto;
}

body.open .header.bg-white {
	background: none;
}

body.open .drawer__line {
	background: #fff !important;
}

img {
	max-width: 100%;
	height: auto;
	border: none;
}

a {
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

a:hover {
	opacity: 0.7;
}

.d-iblock {
	display: inline-block;
}

/*----------------------------------
補完クラス
----------------------------------*/

.color-active {
	color: #1A837B;
}

.font-size-small {
	font-size: 0.9em;
}

.font-em {
	font-weight: 700;
}

/*----------------------------------
共通パーツ
----------------------------------*/

.inner {
	width: min(100% - 100px, 1110px);
	height: inherit;
	margin: auto;
}

.container {
	position: relative;
}

.container::before {
	z-index: -1;
	position: absolute;
	top: -45vw;
	left: 0;
	width: 100%;
	height: calc(100% + 45vw);
	background: url(../img/bg.png) no-repeat top center/cover;
	content: "";
}

.title {
	position: relative;
	font-weight: 600;
	font-size: 5rem;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
	letter-spacing: 0.15em;
}

.button01-link {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	color: #0C9798;
	font-weight: 700;
	font-size: 2rem;
	transition: all 0.3s ease 0s;
}

.button01-link::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
}

.button01-link .point {
	position: absolute;
	top: 50%;
	width: 10px;
	height: 10px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #52B3B9;
	content: "";
	transition: all 0.3s ease 0s;
}

.button01-link .point::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	transform: translate(-50%, -50%);
	border: 1px solid #fff;
	border-radius: 50%;
	content: "";
	opacity: 0;
}

.button01-link:hover {
	background: transparent;
	color: #fff;
	opacity: 1;
}

.button01-link:hover::after {
	border: 2px solid #fff;
}

.button01-link:hover .point {
	background-color: #fff;
}

.button01-link:hover .point::after {
	opacity: 1;
}

.button02-link {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.button02-link::before {
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background: #fff;
	content: "";
	opacity: 0;
	transition: all 0.3s;
}

.button02-link .txt {
	position: relative;
}

.button02-link:hover {
	color: #0C9798;
	opacity: 1;
}

.button02-link:hover::before {
	visibility: visible;
	width: 100%;
	border: 2px solid #0C9798;
	opacity: 1;
	transition: all 0.3s;
}

/*----------------------------------
スクロールでふわっと
----------------------------------*/

.view {
	transform: translate(0, 100px);
	opacity: 0;
	transition: all 2000ms;
}

.view.scrollin {
	transform: translate(0, 0);
	opacity: 1;
}

/*----------------------------------
ヘッダー
----------------------------------*/

.header {
	z-index: 41;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 90px;
	padding: 16px 71px 16px 67px;
	transition: all 0.4s ease 0s;
}

.header.bg-white {
	background-color: rgba(255, 255, 255, 0.9);
	transition: all 0.4s ease 0s;
}

.header.bg-white .header__nav-items > li:nth-child(-n+2) {
	position: relative;
}

.header.bg-white .header__nav-items > li:nth-child(-n+2):hover::after {
	background-color: #52B3B9;
}

.header.bg-white .header__nav-items > li > ul::before {
	position: absolute;
	top: 98px;
	left: 0;
	width: 100%;
	height: calc(100% - 98px);
	background-color: rgba(255, 255, 255, 0.9);
	content: "";
}

.header.bg-white .header__nav-items > li > ul li::before {
	background-color: #52B3B9;
}

.header.bg-white .header__nav-items > li:last-child a {
	border: none;
	background: linear-gradient(to right, #52B3B9, #6CEEEF);
	color: #fff;
}

.header.bg-white .header__nav-items > li:last-child a::before {
	border: 1px solid #fff;
	border-radius: 28px;
	background: #fff;
}

.header.bg-white .header__nav-items > li:last-child a:hover::before {
	content: none;
}

.header.bg-white .header__nav-items > li a {
	color: #52B3B9;
}

.header.bg-white + .drawer__toggle .drawer__line {
	background: #0C9798;
}

.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.logo {
	width: 156px;
}

.header__wrap {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
}

.header__nav {
	flex: 0 0 calc(100% - 260px);
}

.header__nav-items {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
}

.header__nav-items > li {
	margin-right: 45px;
}

.header__nav-items > li:nth-child(-n+2) {
	position: relative;
}

.header__nav-items > li:nth-child(-n+2):hover::after {
	position: absolute;
	bottom: -7px;
	left: 50%;
	width: 6px;
	height: 6px;
	transform: translateX(-50%);
	border-radius: 50%;
	background-color: #fff;
	content: "";
}

.header__nav-items > li:nth-child(-n+2) a {
	opacity: 1;
}

.header__nav-items > li:last-child {
	margin-right: 0;
}

.header__nav-items > li:last-child a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 126px;
	height: 55px;
	border: none;
	border-radius: 28px;
	background: linear-gradient(to right, #52B3B9, #6CEEEF);
	color: #fff;
}

.header__nav-items > li:last-child a::before {
	border-radius: 28px;
	background: linear-gradient(to right, #52B3B9, #6CEEEF);
}

.header__nav-items > li:last-child a:hover {
	border: none;
	color: #fff;
}

.header__nav-items > li:last-child a:hover::before {
	content: none;
}

.header__nav-items > li a {
	display: block;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.header__nav-items > li a:hover {
	opacity: 1;
}

.header__nav-items > li.drop-menu {
	position: relative;
}

.header__nav-items > li.drop-menu:hover {
	cursor: pointer;
}

.header__nav-items > li.drop-menu:hover + li a {
	z-index: -1;
}

.header__nav-items > li.drop-menu:hover a {
	z-index: 1;
	position: relative;
}

.header__nav-items > li.drop-menu:hover ul {
	visibility: visible;
	opacity: 1;
}

.header__nav-items > li.drop-menu > ul {
	visibility: hidden;
	position: absolute;
	top: -37px;
	left: 50%;
	width: 127px;
	padding: 80px 10px 10px;
	transform: translateX(-50%);
	text-align: center;
	opacity: 0;
	transition: all 0.3s ease 0s;
}

.header__nav-items > li.drop-menu > ul > li {
	margin-right: 0;
}

.header__nav-items > li.drop-menu > ul > li + li {
	margin-top: 4px;
}

.header__nav-items > li.drop-menu > ul > li a {
	font-weight: 600;
	font-size: 1.4rem;
}

.header__nav-items > li.drop-menu > ul > li ul {
	text-align: left;
}

.header__nav-items > li.drop-menu > ul > li ul li {
	position: relative;
	padding-left: 34px;
}

.header__nav-items > li.drop-menu > ul > li ul li::before {
	position: absolute;
	top: 14px;
	left: 14px;
	width: 12px;
	height: 1px;
	background-color: #fff;
	content: "";
}

.header__nav-items .button02-link {
	border: 1px solid #fff;
}

.header__nav-items .button02-link:hover {
	border: 1px solid #fff;
}

/*----------------------------------
ドロワー
----------------------------------*/

.drawer__toggle {
	display: none;
}

.drawer__line--center.active {
	transform: scaleX(0);
}

.drawer__line--bottom.active {
	right: 0;
	bottom: 7px;
	transform: rotate(135deg);
	background: #fff;
}

/*gnav*/

.drawer__nav {
	display: none;
	z-index: 40;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 111px 30px 25px;
	overflow: scroll;
	background: #0D282C;
	transition: all 1s;
}

.drawer__nav.active {
	display: block;
	transition: all 0.6s;
}

.drawer__nav .header__logo {
	width: 156px;
	margin-left: -10px;
}

.drawer__menu {
	width: 100%;
	margin-top: 19px;
}

.drawer__menu > li {
	display: block;
	position: relative;
	position: relative;
	padding: 12px 0;
	border-bottom: 1px solid #fff;
	font-weight: 500;
	font-size: 1.6rem;
	transition: 0.5s;
}

.drawer__menu > li::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 38px;
	height: 1px;
	background-color: #0C9798;
	content: "";
}

.drawer__menu > li:nth-child(2),
.drawer__menu > li:nth-child(3) {
	display: flex;
}

.drawer__menu > li:nth-child(2) > a,
.drawer__menu > li:nth-child(3) > a {
	flex: 0 0 107px;
}

.drawer__menu > li > a {
	display: inline-block;
	position: relative;
	width: 100%;
	color: #fff;
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.06em;
}

.drawer__menu > li > a::after {
	position: absolute;
	top: 3px;
	right: 8px;
	width: 20px;
	height: 20px;
	background: url(../img/arrow_black.png) no-repeat center left/contain;
	content: "";
}

.drawer__menu > li ul {
	margin-left: 36px;
	padding-top: 4px;
}

.drawer__menu > li ul li a {
	color: #fff;
	letter-spacing: 0.06em;
}

.drawer-button a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 159px;
	height: 66px;
	margin: auto;
	border-radius: 33px;
	font-weight: 700;
	font-size: 2rem;
}

.drawer-contact-button {
	margin-top: 56px;
}

.drawer-contact-button a {
	background-color: #0C9798;
	color: #fff;
}

.drawer-recruit-button {
	margin-top: 23px;
}

.drawer-recruit-button a {
	border: 1px solid #0C9798;
	background-color: #fff;
	color: #0C9798;
}

.drawer-overlay {
	box-sizing: border-box;
	display: none;
	z-index: 39;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

.drawer-overlay.open {
	display: block;
}

/*----------------------------------
トップページ：MV
----------------------------------*/

.mainvisual {
	height: 100vh;
	padding: 0 50px;
}

.mainvisual .mainvisual__text {
	font-weight: 600;
	font-size: 2.2rem;
}

.mainvisual__img {
	z-index: -1;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.mainvisual__img img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mainvisual__inner {
	position: relative;
	width: 904px;
	max-width: 100%;
	height: 100%;
	margin: auto;
}

.copy__wrap {
	position: absolute;
	top: 48%;
	width: 100%;
	transform: translateY(-50%);
}

.copy__wrap.fade-out {
	animation: fadeOut 2s ease forwards;
}

.copy__wrap .mainvisual__text {
	margin-top: 13px;
	line-height: 2.045;
}

.mainvisual__title {
	display: flex;
	align-items: center;
}

.mv-copy__wrap {
	display: flex;
	align-items: center;
	margin-left: 12px;
}

.mv-copy__wrap .mv-copy__img:first-of-type {
	margin-right: 10px;
}

.leftAnime {
	display: inline-block;
	overflow: hidden;
	opacity: 0;
}

.leftAnimeInner {
	display: inline-block;
}

.slideAnimeLeftRight {
	animation-duration: 0.5s;
	animation-delay: 0.5s;
	animation-fill-mode: forwards;
	animation-name: slideTextX100;
	opacity: 0;
}

.slideAnimeRightLeft {
	animation-duration: 0.5s;
	animation-delay: 0.5s;
	animation-fill-mode: forwards;
	animation-name: slideTextX-100;
	opacity: 0;
}

.top-our-business {
	padding: 0 50px;
}

.mainvisual__wrap .mainvisual__text {
	margin-top: 31px;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 2.5;
	letter-spacing: 0.02em;
}

.mainvisual-en__img {
	position: sticky;
	top: 130px;
	width: 520px;
	max-width: 100%;
}

.mainvisual__text {
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
}

/*----------------------------------
トップページ：事業内容
----------------------------------*/

.top-business {
	margin-top: 15vw;
}

.top__inner {
	width: 976px;
	max-width: 100%;
	margin: auto;
}

.top-business__wrap {
	display: flex;
}

.top-business__left {
	position: relative;
	width: 100vw;
	margin-left: -180px;
	margin-left: calc(50% - 50vw);
	padding: 293px 0 233px 180px;
}

.top-business__left::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 66vw;
	transform: translateY(-50%);
	background: url(../img/top_business.png) no-repeat center right/cover;
	content: "";
}

.top-business__left .en__title {
	display: none;
}

.top-business__left .text {
	position: relative;
	margin-top: 17px;
	font-family: "ヒラギノ明朝 ProN W6", "Noto Serif JP", serif;
	letter-spacing: 0.02em;
}

.top-business__left .button01 {
	position: relative;
	margin-top: 46px;
}

.top-business__left .button01-link {
	width: 328px;
	height: 83px;
	border-radius: 42px;
}

.top-business__left .button01-link::after {
	border-radius: 42px;
}

.top-business__left .button01-link .point {
	right: 43px;
}

.top-business__left .button01-link .point::after {
	width: 34px;
	height: 34px;
}

.top-business__right {
	flex: 0 0 397px;
	padding-top: 257px;
}

.top-business__right .en__title {
	position: relative;
	margin-left: -161px;
}

.top-business__list {
	border-bottom: 1px solid #A3D6D9;
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.02em;
}

.top-business__list a {
	display: block;
	position: relative;
	padding: 24px 0 24px 71px;
	color: #fff;
}

.top-business__list a .point {
	position: absolute;
	top: 50%;
	right: 22px;
	width: 9px;
	height: 9px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #fff;
}

.top-business__list a .point::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 9px;
	height: 9px;
	transform: translate(-50%, -50%);
	border: 1px solid #fff;
	border-radius: 50%;
	content: "";
	transition: all 0.3s;
}

.top-business__list a:hover {
	opacity: 1;
}

.top-business__list a:hover .point::after {
	width: 57px;
	height: 57px;
	transition: all 0.3s;
}

/*----------------------------------
トップページ：企業情報
----------------------------------*/

.top-company {
	margin-top: 227px;
	padding: 103px 50px;
	background: url(../img/top_company.jpg) no-repeat top center/cover;
}

.top-company__wrap {
	display: flex;
}

.top-company__left {
	padding-top: 42px;
}

.top-company__left .en__title {
	margin-left: -60px;
}

.top-company__left .title {
	margin-top: -67px;
}

.top-company__right {
	margin-left: 38px;
}

.top-company__right .button01 + .button01 {
	margin-top: 68px;
}

.top-company__right .button01-link {
	width: 390px;
	max-width: 100%;
	height: 131px;
	border-radius: 66px;
}

.top-company__right .button01-link .point {
	right: 72px;
}

.top-company__right .button01-link:hover::after {
	border-radius: 66px;
}

/*----------------------------------
トップページ：お問い合わせバナー
----------------------------------*/

.top-contact {
	margin-top: 237px;
	padding: 0 65px 219px;
}

.top-contact .top__inner {
	position: relative;
	padding: 49px 46px;
	border-radius: 30px;
	background: linear-gradient(to bottom right, #51D4DB, #B9FCFF);
}

.top-contact .top__inner::after {
	position: absolute;
	top: -33px;
	left: -62px;
	width: 313px;
	height: 76px;
	background: url(../img/top_title_contact.png) no-repeat center left/contain;
	content: "";
}

.top-contact .button02-link {
	width: 328px;
	max-width: 100%;
	height: 83px;
	border-radius: 42px;
	background: url(../img/contact_bg.png) no-repeat top center/cover;
	font-size: 2rem;
}

.top-contact .button02-link::before {
	border-radius: 42px;
}

.top-contact__inner {
	padding: 65px 87px 75px;
	border-radius: 27px;
	background-color: #fff;
}

.top-contact__wrap {
	display: flex;
	align-items: center;
}

.top-contact__left {
	flex: 0 0 328px;
}

.top-contact__right {
	margin-left: 82px;
}

.top-contact__title {
	color: #518488;
	font-size: 2rem;
	letter-spacing: 0.05em;
}

.business-hour {
	display: flex;
	align-items: center;
	color: #518488;
	font-size: 1.8rem;
}

.business-hour__img {
	display: inline-block;
	width: 109px;
	margin: 0 0 8px 15px;
}

/*----------------------------------
フッター
----------------------------------*/

.footer {
	position: relative;
	padding: 56px 72px 56px 74px;
	background-color: #0D282C;
}

.footer .inner {
	position: relative;
}

.footer-logo a {
	color: #fff;
}

.footer-logo .en {
	font-size: 1.6rem;
}

.footer__contents {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.footer__wrapper {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.footer__left {
	flex: 0 0 222px;
}

.footer-info {
	color: #FCFCFC;
	font-weight: 700;
}

.footer-info.info01 {
	margin-top: 10px;
}

.footer-info.info02 {
	font-size: 1.4rem;
}

.footer-info.info02 .address {
	margin-left: 19px;
	font-weight: 400;
}

.footer__wrap {
	display: flex;
	margin-left: 116px;
}

.footer__center {
	padding-top: 7px;
}

.footer__right {
	flex: 0 0 225px;
	margin-left: 190px;
}

.footer__right .button02-link {
	width: 225px;
	max-width: 100%;
	height: 82px;
	border-radius: 41px;
	background: url(../img/footer_contact_bg.png) no-repeat top center/cover;
	font-size: 1.6rem;
}

.footer__right .button02-link::before {
	border-radius: 41px;
}

.footer__right .button02-link:hover::before {
	border: none;
	background-color: #fff;
}

.footer__nav {
	display: flex;
}

.footer__nav ul {
	margin-left: 60px;
}

.footer__nav ul + ul {
	margin-left: 70px;
}

.footer__nav ul li {
	margin-bottom: 2px;
	white-space: nowrap;
}

.footer__nav ul li + li {
	margin-top: 20px;
}

.footer__nav ul li a {
	color: #FCFCFC;
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: 0.02em;
}

.footer__nav ul li ul {
	margin: 5px 0 0 2px;
	padding-top: 5px;
	padding-left: 14px;
	border-left: 1px solid rgba(255, 255, 255, 0.49);
}

.footer__nav ul li ul li {
	line-height: 1.4;
}

.footer__nav ul li ul li + li {
	margin-top: 4px;
}

.footer__nav ul li ul li a {
	color: #fff;
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: 0.02em;
}

.footer__nav ul li ul li ul {
	margin-top: 0;
	padding-left: 20px;
	border-left: none;
}

.footer__nav ul li ul li ul li {
	position: relative;
}

.footer__nav ul li ul li ul li::before {
	position: absolute;
	top: 50%;
	left: -18px;
	width: 12px;
	height: 1px;
	transform: translateY(-50%);
	background-color: rgba(255, 255, 255, 0.5);
	content: "";
}

.nav__wrap {
	display: flex;
}

.nav__wrap > ul {
	margin-left: 0;
}

.nav__wrap > ul + ul ul ul::before {
	content: none;
}

.nav__wrap + ul {
	margin-left: 48px;
}

.nav__wrap + ul li {
	margin-bottom: 15px !important;
}

.footer-bottom {
	display: none;
}

.footer-bottom .footer-info.info01 {
	font-size: 1.6rem;
	letter-spacing: 0.02em;
}

.footer-bottom .footer-info.info02 {
	font-size: 1.3rem;
}

.footer__copy {
	margin-top: 22px;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 0.02em;
}

.disable-auto-tel a[href^="tel:"] {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
}

@media (min-width: 768px) {

.hidden-pc {
	display: none;
}

a[href^="tel:"] {
	pointer-events: none;
}

}

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

.hidden-tab {
	display: none;
}

.block-tab {
	display: block;
}

a[href^="tel:"] {
	pointer-events: none;
}

}

@media (min-width: 1366px) {

.hidden-xl {
	display: none;
}

.top-company {
	margin-top: 20vw;
}

a[href^="tel:"] {
	pointer-events: none;
}

}

@media (max-width: 1299px) {

.footer__wrap {
	margin-left: 20px;
}

.footer__right {
	margin-left: 20px;
}

}

@media (max-width: 1239px) {

.main__content {
	width: auto;
	margin: 0 40px 0 250px;
	padding-left: 0;
}

.company-sec01__right {
	margin-left: 30px;
}

.business-sec01 {
	padding-left: 190px;
}

.business-sec01__lists {
	margin-right: 0;
}

.business-sec02__lists {
	margin-left: 0;
}

.business-sec02__lists::before,
.business-sec02__lists::after {
	position: absolute;
	left: -105px;
	width: calc(100vw + 105px);
}

.business-sec02__wrapper::before {
	z-index: -1;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 419px;
	width: 33.7903225806vw;
	height: 343px;
	height: 27.6612903226vw;
	margin-right: calc(50% - 50vw);
	background: url(../img/service_square02.png) no-repeat center left/contain;
	content: "";
}

.business-sec02__img::before {
	content: none;
}

.page-top {
	right: 30px;
}

}

@media (max-width: 1199px) {

.company-sec03 .company-sec__title::after {
	left: -100px;
}

.hidden-w1200 {
	display: none;
}

.footer__nav ul {
	margin-left: 48px;
}

.footer__nav ul + ul {
	margin-left: 50px;
}

}

@media (max-width: 1149px) {

.hidden-w1150 {
	display: none;
}

}

@media (max-width: 1099px) {

.works-menu__item .works-menu__list .list-link {
	padding-top: 1vw;
}

.works-menu__list {
	height: 124px;
	height: 11.2727272727vw;
}

.works-menu__img {
	width: 80%;
	margin: auto;
}

.recruit-intro__right {
	margin-left: 38px;
}

.display-w1100 {
	display: block;
}

}

@media (max-width: 1023px) {

.side-bar {
	width: 160px;
}

.side-bar__list a {
	padding-left: 30px;
}

.main__content {
	margin-left: 195px;
}

.company-sec03 {
	padding: 118px 50px 116px;
}

.company-sec03 .company-sec__title::after {
	top: -85px;
	left: -50px;
}

.mfp__text {
	flex: 0 0 calc(100% - 150px);
	margin-left: 20px;
}

.service-menu__list a {
	padding-left: 30px;
}

.business-intro__left {
	flex: 0 0 246px;
}

.business-intro__title {
	font-size: 2.2rem;
}

.business-sec01 {
	padding-left: 100px;
}

.business-sec01::after {
	left: -30px;
	width: 580px;
}

.business-sec01__title {
	padding-left: 0;
}

.business-sec01__list::before {
	left: -80px;
}

.business-sec01__list .text {
	margin-left: 30px;
}

.business-sec02__title::after {
	width: 430px;
}

.business-sec02__wrapper {
	padding-left: 30px;
}

.business-sec02-list__title {
	font-size: 2.4rem;
}

.business-sec02__right {
	margin-left: 20px;
}

.works-menu__item {
	margin-left: 15px;
}

.works-menu__list {
	width: calc(33.333% - 2.6666666667px);
	margin-left: 4px;
}

.works-menu__list:nth-child(n+4) {
	margin-top: 4px;
}

.works-sum__item {
	padding: 0 14px;
}

.works__list {
	padding-left: 25px;
}

.works__img {
	left: -27px;
}

.works__content {
	margin-left: 30px;
}

.works-label {
	width: calc(33.333% - 3.3333333333px);
	margin-right: 5px;
}

.recruit-intro__left {
	flex: 0 0 246px;
}

.recruit-intro__title {
	font-size: 2.2rem;
}

.recruit-intro__right {
	margin-left: 20px;
}

.recruit-feature__list {
	padding-left: 30px;
}

.recruit-feature__list::before {
	height: 115px;
}

.recruit-feature__title {
	font-size: 1.9rem;
}

.recruit-feature__right {
	margin-left: 20px;
}

.recruit__content .table th {
	width: 143px;
	font-size: 1.8rem;
}

.inner {
	width: min(100% - 80px, 1110px);
}

.header {
	padding: 16px 30px 16px 30px;
}

.header__nav {
	flex: 0 0 calc(100% - 200px);
}

.header__nav-items > li {
	margin-right: 30px;
}

.mainvisual .mainvisual__text {
	font-size: 2rem;
}

.top-business__left::before {
	height: 101%;
}

.top-company__right {
	margin-left: 20px;
}

.top-company__right .button01-link {
	width: 320px;
}

.top-contact {
	padding: 0 40px 219px;
}

.top-contact .top__inner::after {
	left: -30px;
}

.top-contact .button02-link {
	width: 280px;
}

.top-contact__inner {
	padding: 65px 30px 75px;
}

.top-contact__left {
	flex: 0 0 280px;
}

.top-contact__right {
	margin-left: 30px;
}

.footer {
	padding: 56px 40px 56px;
}

.footer__contents {
	display: block;
}

.footer__left {
	width: 41%;
}

.footer__wrap {
	display: block;
	margin-left: 0;
}

.footer__right .button02-link {
	margin: 30px 0 0 auto;
}

.footer__nav ul {
	margin-left: 30px;
}

.footer__nav ul + ul {
	margin-left: 30px;
}

}

@media (max-width: 999px) {

.top-business {
	padding-right: 30px;
}

.top-business__left {
	margin-left: initial;
	padding-left: 30px;
}

.top-business__right {
	flex: 0 0 310px;
}

.top-business__list a {
	padding-left: 30px;
}

}

@media (max-width: 899px) {

.works-menu__item .works-menu__list .list-link {
	padding-top: 0.6vw;
}

.works-menu__list {
	height: 10.7vw;
}

.works-menu__text {
	font-size: 12px;
	font-size: 1.2903225806vw;
}

.hidden-w900 {
	display: none;
}

.block-w900 {
	display: block;
}

}

@media (max-width: 834px) {

.recruit__content .button01-link {
	width: 100%;
	font-size: 1.8rem;
}

}

@media (max-width: 767px) {

.page .container::before {
	top: -63vw;
	height: 416vw;
	background: url(../img/bg_sp.png);
}

.page .container::after {
	z-index: -1;
	position: absolute;
	top: 316vw;
	left: 0;
	width: 100%;
	height: calc(100% - 316vw);
	background-color: #52B3B9;
	content: "";
}

.side-bar {
	display: none;
}

.main__content {
	margin: 0 30px;
	padding-top: 90px;
}

.page__content {
	margin-top: 226px;
}

.page-company .container {
	padding-bottom: 85px;
}

.company-sec01 .company-sec__title::after {
	margin: -28px 0 0 -59px;
}

.company-sec01 .text {
	margin-top: 16px;
	font-weight: 400;
}

.company-sec02 .company-sec__title::after {
	position: absolute;
	top: -25px;
	left: 39px;
	width: 306px;
	height: 63px;
	margin: 0;
}

.company-sec__title {
	font-size: 3rem;
}

.company-sec01__wrap {
	display: block;
	margin-top: 35px;
}

.company-sec__sub-title {
	font-size: 1.8rem;
	line-height: 1.555;
}

.company-sec01__left .president {
	display: none;
}

.company-sec01__right {
	margin: 26px 0 0 0;
}

.company-sec01__right .president {
	margin-top: 23px;
	font-weight: 700;
}

.company-sec01__img {
	height: 354px;
	height: 94.4vw;
}

.company-sec01__img img {
	width: 100%;
	height: 100%;
}

.president-caption {
	font-size: 1.3rem;
	line-height: 1.846;
	letter-spacing: 0;
}

.company-sec02 {
	margin-top: 117px;
}

.corporate__content {
	margin-top: 20px;
}

.table tr:first-child {
	border-top: 1px solid #A3D6D9;
}

.table tr:last-child {
	border-bottom: 1px solid #A3D6D9;
}

.table th,
.table td {
	padding: 18px 0;
}

.table th {
	width: 85px;
	font-size: 1.5rem;
	line-height: 2.142;
}

.table th::after {
	top: 31px;
	right: -20px;
}

.table td {
	padding-left: 40px;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 2.142;
}

.company-sec03 {
	width: calc(100% + 21px);
	margin: 100px 0 0 -10px;
	padding: 48px 25px 61px;
	border-radius: 25px;
}

.company-sec03 .company-sec__title::after {
	z-index: -1;
	top: -63px;
	left: 122px;
	width: 230px;
}

.button-submit {
	margin-top: 34px;
}

.mailform {
	margin-top: 40px;
}

.mfp__wrap {
	display: block;
	margin-bottom: 17px;
}

.mfp__title {
	flex-direction: row;
	align-items: center;
}

.mfp__title .ttl {
	font-size: 1.5rem;
}

.mfp__title .required {
	margin: 0 0 0 5px;
	font-size: 1.2rem;
}

.mfp__text {
	margin: 2px auto 0;
}

.mfp__text input {
	font-size: 1.5rem;
}

textarea {
	height: 162px !important;
	margin: auto;
	line-height: 1.5;
}

.mfp_buttons {
	margin-top: 34px;
}

.mfp_buttons button {
	width: 184px;
	height: 60px;
	border-radius: 30px;
	font-size: 1.5rem;
}

.contact-thanks__title {
	font-size: 2.2rem;
}

.page-business .container {
	padding-bottom: 80px;
}

.page-business .page__content {
	margin-top: 226px;
}

.business-intro__wrap {
	display: block;
}

.business-intro__title {
	font-size: 2rem;
}

.business-intro__right {
	margin: 20px 0 0 0;
}

.business-intro__text {
	line-height: 2.133;
	letter-spacing: 0;
}

.business-sec01 {
	margin-top: 126px;
	padding: 62px 15px 62px 30px;
}

.business-sec01::before {
	left: -10px;
	border-radius: 30px 0 0 30px;
	background-image: url(../img/strength_bg_sp.png);
}

.business-sec01::after {
	left: -30px;
	width: 370px;
}

.business-sec01__title {
	padding-left: 17px;
	font-size: 2.5rem;
}

.business-sec01__lists {
	margin-top: 26px;
}

.business-sec01__list {
	display: block;
}

.business-sec01__list + .business-sec01__list {
	margin-top: 50px;
}

.business-sec01__list:first-child::before {
	top: -25px;
	left: calc(50% - 102px);
	width: 89px;
	height: 73px;
	background: url(../img/number01_sp.png) no-repeat center left/contain;
}

.business-sec01__list:nth-child(2)::before {
	top: -30px;
	left: calc(50% - 96px);
	width: 104px;
	height: 74px;
	background: url(../img/number02_sp.png) no-repeat center left/contain;
}

.business-sec01__list:nth-child(3)::before {
	top: -26px;
	left: calc(50% - 103px);
	width: 188px;
	width: 105px;
	height: 74px;
	background: url(../img/number03_sp.png) no-repeat center left/contain;
}

.business-sec01__list .text {
	margin: 0 0 0 0;
	font-size: 1.4rem;
	line-height: 1.714;
}

.business-sec01-list__title {
	font-size: 1.8rem;
	text-align: center;
}

.business-sec02 {
	margin-top: 100px;
}

.business-sec02 .button01 {
	margin-top: 36px;
}

.business-sec02 .button01-link {
	width: 286px;
	height: 83px;
	margin: auto;
	font-size: 1.6rem;
}

.business-sec02 .button01-link .point {
	right: 41px;
	width: 6px;
	height: 6px;
}

.business-sec02 .button01-link .point::after {
	width: 34px;
	height: 34px;
}

.business-sec02__title {
	font-size: 3rem;
	letter-spacing: 0;
}

.business-sec02__title::after {
	top: -26px;
	left: 0;
	width: 341px;
	height: 44px;
}

.business-sec02__lists {
	margin-top: 15px;
	border-left: none;
}

.business-sec02__list::before {
	width: 100vw;
	height: 196px;
	margin: 0 calc(50% - 50vw);
	background: url(../img/service_square_sp.png) no-repeat top left/contain;
}

.business-sec02__list::after {
	margin: 0 calc(50% - 50vw);
}

.business-sec02__wrapper {
	padding: 51px 0 45px;
}

.business-sec02__wrapper::before {
	width: 226px;
	height: 306px;
	background: url(../img/service_square02_sp.png);
}

.business-sec02-list__title {
	height: 54px;
	padding-left: 30px;
	background-image: linear-gradient(to right, #fff 100px, #52B3B9);
	font-size: 1.8rem;
}

.business-sec02__wrap {
	flex-direction: column-reverse;
	margin-top: 18px;
}

.business-sec02__left .text {
	margin-top: 13px;
}

.business-sec02__right {
	margin-left: 0;
}

.business-sec02__img {
	height: 258px;
	height: 68.8vw;
}

.business-sec02__img img {
	width: 100%;
	height: 100%;
}

.page-works .container {
	padding-bottom: 109px;
}

.page-works .page__wrap {
	overflow: hidden;
}

.page-works .page__content {
	margin-top: 200px;
}

.works-menu__title {
	font-size: 2rem;
}

.works-menu__item {
	width: 100%;
	margin-left: 0;
}

.works-menu__item .works-menu__list .list-link {
	padding-top: 2vw;
}

.works-menu__item:nth-of-type(2) {
	margin-top: 25px;
}

.works-menu__item:nth-of-type(4) .works-menu__list {
	width: calc(45.7% - 4.5px);
}

.works-menu__item:nth-of-type(4) .works-menu__list:first-child {
	margin-right: 0;
}

.works-menu__item:nth-of-type(4) .works-menu__list:first-child .list-link {
	padding-top: 2vw !important;
}

.works-menu__item:nth-of-type(4) .works-menu__list:nth-child(2) .list-link {
	padding-top: 17px !important;
}

.works-menu-head {
	margin-bottom: -22px;
	padding-left: 10px;
	line-height: 1.333;
	letter-spacing: 0;
}

.works-menu-head::before {
	top: 9px;
	width: 4px;
	height: 4px;
}

.works-menu__lists {
	height: 100px;
	height: 100px;
	height: 26.6666666667vw;
	max-height: 115px;
	margin-right: -30px;
	padding-left: 36%;
}

.works-menu__list {
	height: 26vw;
	max-height: 115px;
	margin: 0 5px;
}

.works-menu__list a {
	padding-top: 13px !important;
}

.works-menu__list:nth-child(n+4) {
	margin-top: 0;
}

.works-menu__list .list-link {
	display: block;
	position: relative;
}

.slick-arrow {
	bottom: 7px;
}

.slick-arrow.prev {
	top: 31px;
	left: 33px;
}

.slick-arrow.next {
	top: 31px;
	left: 21px;
}

.works-menu__img {
	width: 66.34%;
}

.works-menu__text {
	position: absolute;
	bottom: 10px;
	left: 50%;
	width: 100%;
	transform: translateX(-50%);
	font-size: 1.2rem;
	letter-spacing: -0.02em;
}

.works-sum {
	justify-content: center;
	margin-top: 22px;
}

.works-sum .number {
	font-size: 2.5rem;
}

.works-sum__item {
	padding: 0 17px;
}

.works-sum__item:last-of-type {
	padding-right: 21px;
}

.works-sum__text {
	margin-top: 5px;
	font-weight: 500;
	font-size: 1.2rem;
	line-height: 1.333;
	letter-spacing: -0.03em;
}

.works {
	margin-top: 102px;
}

.works__item + .works__item {
	margin-top: 100px;
}

.works__item:first-of-type .works__list:first-child .works__img {
	width: 38px;
}

.works__item:nth-of-type(3) .works__list:nth-child(3) .works__img {
	width: 38px;
}

.works__item:nth-of-type(4) .works__list:first-child .works__img {
	width: 54px;
}

.works__item:nth-of-type(4) .works__list:nth-child(2) .works__img {
	top: -11px !important;
	width: 59px;
}

.works__title {
	font-size: 2.5rem;
}

.works__lists {
	margin-top: 21px;
}

.works__list {
	display: block;
	padding: 34px 0 33px 0;
}

.works__list .text {
	margin-top: 9px;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.571;
	letter-spacing: 0.02em;
}

.works__img {
	top: -7px !important;
	right: 0;
	left: initial;
	width: 47px;
}

.works-list__title {
	font-size: 1.6rem;
}

.works__content {
	margin-left: 0;
}

.works-labels {
	margin-top: 9px;
}

.works-label {
	width: 102px;
	height: 22px;
	border-radius: 11px;
	font-size: 1.2rem;
	letter-spacing: 0;
}

.page-top {
	bottom: 50px;
}

.page-recruit .main__content {
	margin: 0 20px;
}

.page-recruit .page-mainvisual__title {
	padding-left: 10px;
}

.recruit-intro {
	padding: 0 10px;
}

.recruit-intro__wrap {
	display: block;
}

.recruit-intro__title {
	font-size: 2rem;
}

.recruit-intro__right {
	margin: 20px 0 0 0;
}

.recruit-intro__text {
	line-height: 2.133;
	letter-spacing: 0;
}

.recruit-feature {
	margin-top: 65px;
}

.recruit-feature .recruit-sec__title {
	position: relative;
}

.recruit-feature .recruit-sec__title::after {
	position: absolute;
	top: -19px;
	left: 59px;
	width: 294px;
	height: 43px;
	margin: 0;
}

.recruit-sec__title {
	font-size: 3rem;
}

.recruit-feature__list {
	padding: 44px 33px 39px;
}

.recruit-feature__list::before {
	height: 73px;
}

.recruit-feature__list + .recruit-feature__list {
	margin-top: 20px;
}

.recruit-feature__list:first-child::before {
	background: url(../img/recruit_number01_sp.svg) no-repeat center left/contain;
}

.recruit-feature__list:nth-child(2)::before {
	background: url(../img/recruit_number02_sp.svg) no-repeat center left/contain;
}

.recruit-feature__list:nth-child(3)::before {
	background: url(../img/recruit_number03_sp.svg) no-repeat center left/contain;
}

.recruit-feature__list:nth-child(4)::before {
	background: url(../img/recruit_number04_sp.svg) no-repeat center left/contain;
}

.recruit-feature__list:nth-child(5)::before {
	background: url(../img/recruit_number05_sp.svg) no-repeat center left/contain;
}

.recruit-feature__wrap {
	display: block;
}

.recruit-feature__left .recruit-feature__img {
	display: block;
	margin-top: 18px;
	border-radius: 20px;
}

.recruit-feature__left .recruit-feature__img img {
	border-radius: 20px;
}

.recruit-feature__title {
	font-size: 1.8rem;
	line-height: 1.555;
}

.recruit-feature__text {
	margin-top: 11px;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.714;
}

.recruit-feature__right {
	display: none;
}

.recruit {
	margin-top: 83px;
	padding: 0 10px 103px;
}

.recruit .recruit-sec__title {
	position: relative;
}

.recruit .recruit-sec__title::after {
	position: absolute;
	top: -10px;
	left: 72px;
	width: 274px;
	height: 44px;
	margin: 0;
}

.recruit__items {
	margin-top: 19px;
}

.recruit__item + .recruit__item {
	margin-top: 20px;
}

.recruit__title {
	height: 34px;
	font-size: 1.6rem;
}

.recruit__title::after {
	right: 16px;
}

.recruit__content {
	margin: 22px 0;
}

.recruit__content .table tr:last-child {
	padding-bottom: 115px;
}

.recruit__content .table tr:last-child th,
.recruit__content .table tr:last-child td {
	display: block;
}

.recruit__content .table tr:last-child th {
	padding: 22px 0 0 0;
	white-space: nowrap;
}

.recruit__content .table tr:last-child td {
	padding: 15px 0 0 63px !important;
}

.recruit__content .table th {
	width: 72px;
	font-size: 1.5rem;
	line-height: 1.333;
}

.recruit__content .table th::after {
	top: 30.5px;
	right: -9px;
	width: 4px;
	height: 4px;
}

.recruit__content .table td {
	padding-left: 22px !important;
	line-height: 1.428;
	vertical-align: baseline;
}

.recruit__content .button01-link {
	position: absolute;
	bottom: 48px;
	left: 50%;
	width: 286px;
	height: 83px;
	transform: translateX(-50%);
	border-radius: 42px;
	font-size: 1.6rem;
}

.recruit__content .button01-link .point {
	right: 41px;
	width: 6px;
	height: 6px;
}

.recruit-flow__list + .recruit-flow__list {
	margin-top: 22px;
}

.recruit-flow__text {
	font-size: 1.3rem;
	line-height: 1.384;
}

.close-button {
	bottom: 7px;
	padding-right: 23px;
	font-size: 1.2rem;
}

.close-button .point {
	right: 8px;
}

.close-button .point::after {
	width: 18px;
	height: 18px;
}

body {
	font-size: 1.5rem;
	line-height: 1.8;
}

.hidden-sp {
	display: none;
}

.inner {
	width: min(100% - 66px, 1110px);
}

.container::before {
	top: -92vw;
	height: calc(100% + 92vw);
}

.title {
	font-size: 3.5rem;
	letter-spacing: 0.1em;
}

.button01-link {
	font-size: 1.6rem;
}

.view {
	transform: translate(0, 50px);
	transition: all 1000ms;
}

.header {
	height: 62px;
	padding-left: 20px;
}

.header__inner {
	justify-content: initial;
}

.logo {
	margin-top: -1px;
}

.header__nav {
	display: none;
}

.drawer__toggle {
	display: block;
	z-index: 42;
	position: fixed;
	top: 25px;
	right: 20px;
	width: 25.5px;
	height: 16px;
	cursor: pointer;
}

.drawer__wrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 25.5px;
	height: 16px;
	transform: translate(-50%, -50%);
}

.drawer__line {
	display: block;
	position: absolute;
	width: 25.5px;
	height: 1px;
	border-radius: 3px;
	background: #fff;
	transition: transform 0.3s;
}

.drawer__line--center {
	top: 7.5px;
}

.drawer__line--bottom {
	bottom: 0;
}

.drawer__line--top.active {
	top: 8px;
	right: 0;
	transform: rotate(45deg);
	background: #fff;
}

.drawer__wrap {
	width: 100%;
}

.mainvisual {
	padding: 0 30px;
}

.mainvisual .mainvisual__text {
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 2;
}

.copy__wrap {
	top: 54%;
}

.copy__wrap .mainvisual__text {
	margin-top: 44px;
}

.mainvisual__title {
	display: block;
	max-width: 400px;
}

.mv-copy__wrap {
	margin: 28px 0 0 0;
}

.top-our-business {
	padding: 0 30px;
}

.mainvisual__wrap {
	width: 286px;
	max-width: 100%;
}

.mainvisual__wrap .mainvisual__text {
	font-size: 1.6rem;
	line-height: 2.375;
}

.top-business {
	margin-top: 150px;
	padding-right: 19px;
}

.top-business__wrap {
	display: block;
	position: relative;
}

.top-business__left {
	width: 356px;
	max-width: 100%;
	height: 403px;
	padding: 77px 0 87px 30px;
}

.top-business__left::before {
	height: 100%;
	background-image: url(../img/top_business_sp.png);
}

.top-business__left .en__title {
	display: block;
	position: absolute;
	top: -38px;
	left: 42px;
	width: 303px;
	height: 39px;
}

.top-business__left .text {
	width: 252px;
	margin-top: 2px;
}

.top-business__left .button01 {
	margin-top: 20px;
}

.top-business__left .button01-link {
	width: 244px;
	height: 73px;
}

.top-business__left .button01-link .point {
	right: 42px;
	width: 6px;
	height: 6px;
}

.top-business__right {
	padding-top: 0;
}

.top-business__right .en__title {
	display: none;
}

.top-business__lists {
	padding-left: 45px;
}

.top-business__list {
	border-left: 1px solid #A3D6D9;
	font-size: 1.6rem;
}

.top-business__list:first-child {
	position: relative;
	border-bottom: none;
}

.top-business__list:first-child::after {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100vw;
	height: 1px;
	margin-left: calc(50% - 50vw);
	background-color: #A3D6D9;
	content: "";
}

.top-business__list a {
	padding: 18px 0 18px 30px;
}

.top-business__list a .point {
	right: 43px;
	width: 6px;
	height: 6px;
}

.top-business__list a .point::after {
	width: 6px;
	height: 6px;
}

.top-business__list a:hover .point::after {
	width: 34px;
	height: 34px;
}

.top-company {
	margin-top: 80px;
	padding: 46px 30px 80px;
	background-image: url(../img/top_company_sp.jpg);
}

.top-company__wrap {
	display: block;
}

.top-company__left {
	padding-top: 0;
}

.top-company__left .en__title {
	width: calc(100% + 21px);
	margin-left: 9px;
}

.top-company__left .title {
	margin-top: -45px;
}

.top-company__right {
	margin: 17px 0 0 0;
}

.top-company__right .button01 + .button01 {
	margin-top: 20px;
}

.top-company__right .button01-link {
	width: 286px;
	height: 95px;
	margin: auto;
	font-size: 1.8rem;
}

.top-company__right .button01-link .point {
	right: 52px;
	width: 7px;
	height: 7px;
}

.top-company__right .button01-link:hover .point::after {
	width: 34px;
	height: 34px;
}

.top-contact {
	margin-top: 105px;
	padding: 0 20px 102px;
}

.top-contact .top__inner {
	padding: 18px 15px;
}

.top-contact .top__inner::after {
	left: 0;
	width: 244px;
	background-image: url(../img/top_title_contact_sp.png);
}

.top-contact .button02-link {
	width: 231px;
	height: 70px;
	margin: auto;
	font-size: 1.4rem;
}

.top-contact__inner {
	padding: 53px 36px 45px;
}

.top-contact__wrap {
	flex-direction: column-reverse;
	align-items: initial;
}

.top-contact__left {
	flex: initial;
	margin-top: 17px;
}

.top-contact__right {
	margin-left: 0;
	text-align: center;
}

.top-contact__title {
	font-size: 1.5rem;
	letter-spacing: 0;
}

.top-contact-number {
	width: 231px;
	max-width: 100%;
	margin: -6px auto 0;
}

.business-hour {
	justify-content: center;
	margin-top: -6px;
	font-size: 1.4rem;
}

.business-hour__img {
	width: 79px;
	margin: 0 0 4px 6px;
}

.footer {
	padding: 19px 30px 25px;
}

.footer-logo {
	width: 200px;
	margin-left: -10px;
}

.footer-logo .ja {
	font-size: 1.87rem;
}

.footer-logo .en {
	margin-top: 1px;
}

.footer__wrapper {
	display: block;
}

.footer__left {
	width: 100%;
}

.footer__left .footer-info {
	display: none;
}

.footer__wrap {
	margin-left: 0;
}

.footer__center {
	padding-top: 38px;
}

.footer__right {
	margin-top: 20px;
}

.footer__right .button02-link {
	width: 286px;
	margin: auto;
	background-image: url(../img/contact_bg_sp.png);
}

.footer__nav {
	display: block;
}

.footer__nav ul {
	margin-left: 0;
}

.footer__nav ul + ul {
	margin-left: 0;
}

.footer__nav ul li {
	display: flex;
	margin-bottom: 30px;
}

.footer__nav ul li a {
	margin-right: 29px;
}

.footer__nav ul li ul {
	margin-top: 1px;
	padding: 0 0 0 15px;
}

.footer__nav ul li ul li {
	margin-bottom: 13px !important;
}

.footer__nav ul li ul li + li {
	margin: 0 0 13px 0 !important;
}

.footer__nav ul li ul li:last-child {
	margin-bottom: 0 !important;
}

.footer__nav ul li ul li a {
	margin-right: 7px;
}

.footer__nav ul li ul li ul {
	margin-top: 0;
	padding-left: 23px;
}

.footer__nav ul li ul li ul li::before {
	left: -20px;
}

.footer__nav ul li ul li ul li a {
	font-weight: 400;
	font-size: 1.3rem;
}

.nav__wrap {
	display: block;
}

.nav__wrap > ul > li > a {
	margin-top: -3px;
}

.nav__wrap > ul + ul {
	margin-left: 0 !important;
}

.nav__wrap > ul + ul ul {
	position: relative;
	padding-left: 16px;
	border-left: none;
}

.nav__wrap > ul + ul ul::before {
	position: absolute;
	top: 3px;
	left: 0;
	width: 1px;
	height: 46px;
	background-color: rgba(255, 255, 255, 0.5);
	content: "";
}

.footer-bottom {
	display: block;
	margin-top: 58px;
}

.footer__copy {
	margin-top: 21px;
	font-size: 1.1rem;
	line-height: 1.4;
}

}

@media (max-width: 469px) {

.works-sum__item {
	width: 25%;
	padding: 0 5px;
}

}

@media (max-width: 449px) {

.works-menu__item:first-of-type .works-menu-head {
	margin-bottom: -40px;
}

.works-menu__item:first-of-type .slick-arrow {
	top: 50px;
}

.block-w450 {
	display: block;
}

}

@media (max-width: 433px) {

.hidden-w433 {
	display: none;
}

}

@media (max-width: 400px) {

.block-w400 {
	display: block;
}

}

@media (max-width: 389px) {

.hidden-w390 {
	display: none;
}

.footer-logo .ja {
	font-size: 18.7px;
	font-size: 4.5609756098vw;
}

}

@media (max-width: 380px) {

.hidden-w380 {
	display: none;
}

}

@media (max-width: 375px) {

.block-w376 {
	display: block;
}

}

@media (max-width: 374px) {

.company-sec02 .company-sec__title::after {
	top: -25px;
	top: -6.6666666667vw;
	left: 39px;
	left: 10.4vw;
	width: 300px;
	width: 80vw;
	height: 63px;
	height: 16.8vw;
}

.company-sec03 .company-sec__title::after {
	top: -63px;
	top: -16.8vw;
	left: 122px;
	left: 32.5333333333vw;
	width: 220px;
	width: 58.6666666667vw;
}

.business-sec01::after {
	left: -30px;
	left: -8vw;
	width: 365px;
	width: 97.3333333333vw;
}

.business-sec02__title::after {
	top: -26px;
	top: -6.9333333333vw;
	width: 341px;
	width: 90.9333333333vw;
	height: 44px;
	height: 11.7333333333vw;
}

.works-sum__item:first-of-type {
	min-width: 76px;
}

.recruit-feature .recruit-sec__title::after {
	top: -19px;
	top: -5.0666666667vw;
	left: 50px;
	left: 13.3333333333vw;
	width: 294px;
	width: 78.4vw;
	height: 43px;
	height: 11.4666666667vw;
}

.recruit .recruit-sec__title::after {
	top: -10px;
	top: -2.6666666667vw;
	left: 65px;
	left: 17.3333333333vw;
	width: 274px;
	width: 73.0666666667vw;
	height: 44px;
	height: 11.7333333333vw;
}

.hidden-w375 {
	display: none;
}

.top-business__left .en__title {
	left: 42px;
	left: 11.2vw;
	width: 295px;
	width: 78.6666666667vw;
}

}

@media (max-width: 359px) {

.business-sec01__title {
	padding-left: 0;
	font-size: 2.4rem;
}

.works-menu__title {
	font-size: 1.9rem;
}

.works-menu__item:nth-of-type(4) .works-menu__list:first-child .list-link {
	padding-top: 3vw !important;
}

.works-menu__item:nth-of-type(4) .works-menu__list:nth-child(2) .list-link {
	padding-top: 15px !important;
}

.works-menu-head {
	font-size: 1.3rem;
}

.works-menu-head::before {
	top: 7px;
}

.works-menu__list a {
	padding-top: 10px !important;
}

.works-menu__text {
	font-size: 1rem;
}

.works-sum__item:last-of-type {
	padding-right: 5px;
}

.recruit-feature__list {
	padding-right: 28px;
	padding-left: 28px;
}

.recruit-feature__title {
	font-size: 1.6rem;
}

.hidden-sm {
	display: none;
}

.mainvisual .mainvisual__text {
	font-size: 1.4rem;
}

.mainvisual__wrap .mainvisual__text {
	font-size: 1.45rem;
}

.mainvisual-en__img {
	max-width: 96%;
}

.top-company__right .button01-link {
	font-size: 1.6rem;
}

.top-contact .button02-link {
	font-size: 1.3rem;
}

}

@keyframes fadeOut {

0% {
	opacity: 1;
}

100% {
	opacity: 0;
}

}

@keyframes slideTextX100 {

from {
	transform: translateX(-100%);
	opacity: 0;
}

to {
	transform: translateX(0);
	opacity: 1;
}

}

@keyframes slideTextX-100 {

from {
	transform: translateX(100%);
	opacity: 0;
}

to {
	transform: translateX(0);
	opacity: 1;
}

}

