@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400..600&display=swap');
.loading_base {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #fff;
		z-index: 9999;
		display: flex;
		justify-content: center;
		align-items: center;
}
.loading_logo {
		width: 200px;
		opacity: 0;
		animation: fadeIn 0.5s linear forwards;
}
@media(max-width: 767px) {
		.loading_logo {
				position: relative;
				top: -100px;
		}
}
@keyframes fadeIn {
		0% {
				opacity: 0;
		}
		100% {
				opacity: 1;
		}
}
.loading_logo img {
		width: 100%;
		height: auto;
}
.header_logo {
		position: relative;
}
.header_logo .header_logo_wht {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 130px;
		height: 25px;
		background: url("../n_images/header_logo_wht.png") no-repeat 0 0;
		background-size: 100%;
		opacity: 0;
}
@media(max-width: 767px) {
		.header_logo .header_logo_wht {
				width: 100px;
				height: 20px;
		}
}
header.normal .header_logo .header_logo_wht {
		opacity: 0 !important;
}
header.normal .header_logo img {
		opacity: 1 !important;
}
header .header_inner ul {
		color: #fff;
}
header.normal .header_inner ul, header.normal .header_inner ul a {
		color: #282828 !important;
}
@media (hover: hover) {
		header .header_inner ul a:hover,
		header.normal .header_inner ul a:hover  {
				color: #14b46e !important;
		}
}
header.normal .header_inner .parent .parentTrigger {
		border-right: 2px solid #282828 !important;
		border-bottom: 2px solid #282828 !important;
}
header.normal .header_trigger {
		border: 1px solid #282828 !important;
}
header.normal .header_trigger_bar {
		background: #282828 !important;
}
header.normal .header_btn a {
		background: #282828 !important;
		color: #fff !important;
}
/* ================= */
.fv_section {
		background: #fff;
		position: relative;
		z-index: 0;
		min-height: 600px;
}
.fv_catch {
		position: fixed;
		left: 0;
		bottom: 15vh;
		z-index: 100;
		width: 100%;
}
.fv_catch_wrap {
		max-width: 84vw;
		margin: 0 auto;
		position: relative;
}
.fv_catch_wrap h1 {
		font-weight: 500;
		font-size: 36px;
		letter-spacing: 0.05em;
		margin: 0 0 30px;
}
.fv_catch_en {
		font-family: "Manrope", sans-serif;
		font-optical-sizing: auto;
		font-weight: 600;
		font-style: normal;
		font-size: 12px;
		color: #aaa;
		line-height: 1;
		padding-left: 75px;
		position: relative;
}
.fv_arrow {
		width: 120px;
		position: fixed;
		bottom: calc(15vh - 50px);
		right: 80px;
		z-index: 100;
		cursor: pointer;
}
.fv_arrow_inner {
		width: 120px;
		height: 120px;
		position: absolute;
		top: 0;
		left: 0;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.fv_arrow_inner::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		background-position: center center;
		background-image: url("../n_images/top_fv_circle.png");
		background-size: 100%;
		animation: screw 15s linear infinite;
		pointer-events: none;
}
@media (hover: hover) {
		.fv_arrow:hover .fv_arrow_inner {
				transform: scale(1.4)
		}
}
@keyframes screw {
		0% {
				transform: rotate(0deg)
		}
		100% {
				transform: rotate(360deg)
		}
}
@media(max-height: 700px) {
		.fv_catch {
				bottom: inherit;
				top: calc(100vh - 140px)
		}
		.fv_catch_wrap h1 {
				font-size: 24px;
				margin: 0 0 20px;
		}
		.fv_arrow {
				bottom: inherit;
				top: calc(100vh - 140px)
		}
}
@media(max-height: 600px) {
		.fv_catch {
				top: 440px
		}
		.fv_arrow {
				top: 400px;
		}
}
.fv_catch_en::before {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		left: 0;
		width: 50px;
		height: 1px;
		background: #aaa;
		transform-origin: left center;
		transform: scaleX(0);
		transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
		transition-delay: 0.7s;
}
.fv_catch_wrap h1, .fv_catch_en, .fv_arrow {
		opacity: 0;
		transition: opacity 0.6s linear;
}
.fv_catch_en, .fv_arrow {
		transition-delay: 0.2s;
}
.topStart .fv_catch_wrap h1, .topStart .fv_catch_wrap .fv_catch_en, .topStart .fv_arrow {
		opacity: 1;
}
.topStart .fv_catch_en::before {
		transform: scaleX(1);
}
.video_player {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
		width: 100%;
		height: 100vh;
		overflow: hidden;
}
.video_player video {
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		min-width: 100%;
		min-height: 100%;
		width: auto;
		height: auto;
		z-index: -1;
}
.fv_section .fv_cover {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url("../n_images/mask_fv_pc_3.svg") no-repeat center center;
		background-size: 100%;
		transform: scale(1);
		z-index: 1;
		pointer-events: none;
}
@media(max-width: 767px) {
		.fv_section .fv_cover {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: url("../n_images/mask_fv_sp_3.svg") no-repeat center center;
				background-size: 100%;
				transform: scale(1);
				z-index: 1;
				pointer-events: none;
		}
}
.fv_section .fv_cover_bg {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.5);
		mix-blend-mode: multiply;
		z-index: 0;
		pointer-events: none;
		opacity: 0;
}
.top_spacer {
		height: 100vh;
}
.top_about_section {
		min-height: 1100px;
		height: 100vh;
		position: relative;
}
.top_about_section_inner {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
		color: #fff;
		z-index: 5;
		padding: 0 30px;
}
.top_about_section .top_about_cover {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.8);
		mix-blend-mode: multiply;
		display: none;
}
.top_about_section_inner_in {
		position: relative;
		z-index: 10;
		text-align: center;
}
.top_about_section_inner_in h2 {
		margin: 0 0 2em;
		font-family: "Manrope", sans-serif;
		font-optical-sizing: auto;
		font-weight: 600;
		font-style: normal;
		font-size: 20px;
}
.top_about_section_inner_in p {
		font-size: 20px;
		line-height: 2.4;
}
.top_about_section_upper {
		padding: 0 0 2em
}
.top_about_section_inner_in .link_btn_center {
		margin-top: 60px;
}
.top_wht_section {
		position: relative;
		z-index: 5;
		background: #fff;
}
.top_merit_section {
		background: #fff;
		position: relative;
		z-index: 5;
		padding: 160px 0 180px;
}
.merit_catch {
		text-align: center;
		font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		font-size: 32px;
		font-weight: 600;
		line-height: 1;
		margin: 0 0 60px;
}
.top_merit_inner {
		max-width: 1190px;
		margin: 0 auto;
		position: relative;
}
.top_merit_inner::before {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 250px;
		background: #f3f4f8;
		border-radius: 10px;
}
.top_merit_flex {
		max-width: 1030px;
		margin: 0 auto 55px;
		position: relative;
		z-index: 5;
		display: flex;
		justify-content: space-between;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 50px;
}
.top_merit_item {
		width: 320px;
}
.top_merit_item a {
		color: #282828;
		text-decoration: none;
}
.top_merit_item_thumb {
		margin: 0 0 15px;
		border-radius: 8px;
		overflow: hidden;
}
.top_merit_item_thumb img {
		width: 100%;
		height: auto;
		transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.top_merit_item a:hover .top_merit_item_thumb img {
				transform: scale(1.1)
		}
}
.top_merit_item_caption {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding-left: 4px;
		position: relative;
}
.top_merit_item_caption_left {
		display: flex;
		align-items: center;
}
.top_merit_item_caption_no {
		width: 36px;
		margin-right: 45px;
		position: relative;
}
.top_merit_item_caption_no::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 25px);
		right: -22px;
		width: 1px;
		height: 50px;
		background: #282828;
		pointer-events: none;
}
.top_merit_item_caption_no img {
		width: 100%;
		height: auto;
}
.top_merit_item_caption_left h4 {
		font-weight: 500;
		font-size: 16px;
		line-height: 1.6;
		flex: 1;
		padding: 0;
		margin: 0;
}
.top_merit_item_caption .top_merit_item_caption_arrow {
		position: absolute;
		top: calc(50% - 16px);
		right: 0;
		width: 32px;
		height: 32px;
		box-sizing: border-box;
		pointer-events: none;
		border-radius: 50%;
		border: 1px solid #282828;
		transition: background 0.3s;
}
.top_merit_item_caption_arrow::after {
		content: '';
		display: block;
		position: absolute;
		top: -1px;
		left: -1px;
		width: 32px;
		height: 32px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 32px;
		pointer-events: none;
		background-image: url("../n_images/top_merit_arrow.png");
		transition: background 0.3s;
}
@media (hover: hover) {
		.top_merit_item a:hover .top_merit_item_caption_arrow {
				background: #14b46e;
				border: 1px solid #14b46e;
		}
		.top_merit_item a:hover .top_merit_item_caption_arrow::after {
				background-image: url("../n_images/top_merit_arrow_wht.png");
		}
}
@media(max-width: 1200px) {
		.top_merit_item {
				width: calc(calc(100% - 40px) / 3);
		}
		.top_merit_item_caption_no {
				width: 30px;
				margin-right: 30px;
		}
		.top_merit_item_caption_no::after {
				right: -17px;
		}
		.top_merit_item_caption_left h4 {
				font-size: 15px;
		}
}
@media(max-width: 960px) {
		.top_merit_item_caption_no {
				width: 22px;
				margin-right: 24px;
		}
		.top_merit_item_caption_no::after {
				right: -14px;
		}
}
/* ============= */
.top_service_section {
		padding-bottom: 160px;
		background: #fff;
		min-height: 500px;
		position: relative;
		z-index: 5
}
.top_service_section_inner {
		max-width: 1190px;
		margin: 0 auto;
		box-sizing: border-box;
		padding: 0 0 0 78px;
		position: relative;
}
.top_service_section_inner .section_title {
		margin-bottom: 55px;
}
.top_service_left {
		width: 470px;
}
.service_item {
		margin-bottom: 14px;
		position: relative;
}
.service_item a {
		color: #282828;
		text-decoration: none;
		padding-top: 15px;
		padding-bottom: 15px;
		position: relative;
		display: block;
}
.service_item a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 6.5px);
		right: 25px;
		width: 13px;
		height: 13px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-image: url("../n_images/top_service_arrow.png");
		transition: background 0.3s, right 0.2s;
}
@media (hover: hover) {
		.service_item a:hover::after {
				background-image: url("../n_images/top_service_arrow_grn.png");
				right: 15px;
		}
}
.service_item::before, .service_item::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
}
.service_item::before {
		background: #dcdcdc;
}
.service_item::after {
		background: #14b46e;
		transform-origin: left center;
		transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0);
		height: 2px;
}
@media (hover: hover) {
		.service_item:hover::after {
				transform: scaleX(1);
		}
}
.service_item h5 {
		font-size: 20px;
		font-weight: 600;
		line-height: 1;
		margin: 0 0 7px;
}
.service_item p {
		font-family: "Manrope", sans-serif;
		font-size: 12px;
		font-weight: 500;
		color: #aaa;
}
.top_service_section_inner .top_service_right {
		position: absolute;
		right: 0;
		top: 0;
		width: 590px;
		height: 490px;
}
.top_service_right::before {
		content: '';
		display: block;
		position: absolute;
		bottom: -75px;
		right: -93px;
		width: 530px;
		height: 440px;
		background: #f3f4f8;
		border-radius: 10px;
}
.top_service_right .top_service_thumb {
		position: absolute;
		top: 0;
		left: 0;
		overflow: hidden;
		width: 590px;
		border-radius: 10px;
		z-index: 5;
}
.top_service_thumb img {
		width: 100%;
		height: auto;
		border-radius: 10px;
}
.top_service_thumb {
		display: none;
}
.top_service_thumb.flow {
		display: block;
}
/* ============== */
.top_blog_section {
		background: #fff;
		padding-bottom: 180px;
}
.blog_item_gr {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 75px;
		margin-bottom: 70px;
}
.blog_item {
		width: calc(calc(100% - 35px) / 6);
		margin: 0 0 7px;
		overflow: hidden;
		position: relative;
}
.blog_item .blog_item_cover {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.5);
		color: #fff;
		pointer-events: none;
		opacity: 0;
		transition: opacity 0.4s;
}
.blog_item_cover_inner {
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		padding: 20px;
}
.blog_item_cover_inner p {
		font-size: 14px;
		font-family: "Manrope", sans-serif;
		text-align: center;
		margin: 0 0 8px;
}
.blog_item_cover_inner h5 {
		font-size: 17px;
		font-weight: 500;
		line-height: 1.6;
		text-align: center;
}
@media(max-width: 1500px) {
		.blog_item_cover_inner p {
				font-size: 12px;
		}
		.blog_item_cover_inner h5 {
				font-size: 16px;
		}
}
.blog_thumb {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		width: 100%;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.blog_thumb img {
		width: 100%;
		height: auto;
}
@media (hover: hover) {
		.blog_item:hover .blog_thumb {
				transform: scale(1.05)
		}
		.blog_item:hover .blog_item_cover {
				opacity: 1;
		}
}
@media(max-width: 767px) {
		.top_blog_section {
				padding-bottom: 90px;
		}
		.blog_item_gr {
				margin-top: 40px;
		}
		.blog_item {
				width: calc(calc(100% - 6px) / 3);
				margin: 0 0 2px;
				overflow: hidden;
		}
		.blog_item_gr .blog_item:nth-child(10), .blog_item_gr .blog_item:nth-child(11), .blog_item_gr .blog_item:nth-child(12) {
				display: none;
		}
}
/* =================== */
@media(max-width: 1200px) {
		.top_service_section_inner {
				padding-left: 60px;
		}
		.top_service_left {
				width: 42%;
		}
		.top_service_section_inner .top_service_right {
				width: 45vw;
				height: 38vw;
				right: 40px;
		}
		.top_service_right .top_service_thumb {
				width: 100%;
		}
		.top_service_right::before {
				bottom: -40px;
				right: -50px;
				width: 45vw;
				height: 38vw;
		}
}
@media(min-width: 841px) {
		.service_tile_all_wrap {
				display: none;
		}
}
@media(max-width: 840px) {
		.top_service_section_inner {
				padding-left: 30px;
				padding-right: 30px;
		}
		.service_gr, .top_service_right {
				display: none;
		}
		.top_service_left {
				width: 100%;
				display: flex;
				justify-content: center;
		}
		.top_service_left .section_title_jp {
				text-align: center;
		}
		.service_tile_all_wrap {
				position: relative;
		}
		.service_tile_all_wrap::before {
				content: '';
				display: block;
				position: absolute;
				top: 60px;
				right: -60px;
				width: calc(100vw - 40px);
				height: calc(100% - 40px);
				background: #f3f4f8;
				border-radius: 10px 0 0 10px;
		}
		.service_tile_all {
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 0px 20px;
				position: relative;
				z-index: 5;
		}
		.service_tile {
				margin: 0 0 35px;
		}
		.service_tile_thumb img {
				width: 100%;
				height: auto;
				border-radius: 8px;
		}
		.service_tile_thumb {
				margin: 0 0 10px;
		}
		.service_tile a {
				color: #282828;
				text-decoration: none;
		}
		.service_tile_caption h5 {
				font-size: 18px;
				font-weight: 500;
				margin: 0 0 5px;
		}
		.service_tile_caption p {
				font-family: "Manrope", sans-serif;
				font-size: 14px;
				font-weight: 500;
		}
		.service_tile a p {
				color: #aaa;
		}
}
@media(max-width: 767px) {
		.top_service_section {
				padding-bottom: 90px;
		}
		.top_service_section_inner {
				padding-left: 25px;
				padding-right: 25px;
		}
		.top_service_section_inner .section_title {
				margin-bottom: 40px;
				margin-left: 0 !important
		}
		.service_tile_all {
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
				gap: 0 0;
		}
		.service_tile {
				width: calc(50% - 8px);
				margin: 0 0 35px;
		}
		.service_tile_caption h5 {
				font-size: 17px;
		}
		.service_tile_caption p {
				font-size: 12px;
		}
}
/* ============== */
.top_recruit_section {
		padding: 0 40px 180px;
}
.top_recruit_inner {
		max-width: 1130px;
		margin: 0 auto;
		display: flex;
}
.top_recruit_inner_left {
		width: 680px;
		margin-right: 85px;
		position: relative;
}
.top_recruit_inner_left::before {
		content: '';
		display: block;
		position: absolute;
		top: -80px;
		left: -120px;
		width: 530px;
		height: 440px;
		background: #f3f4f8;
		border-radius: 10px;
		z-index: 0;
}
.top_recruit_inner_left img {
		width: 100%;
		height: auto;
		border-radius: 10px;
}
.top_recruit_inner_thumb {
		position: relative;
		z-index: 5
}
.top_recruit_inner_caption {
		flex: 1;
		padding-top: 15px;
}
.top_recruit_inner_caption .section_title {
		margin-bottom: 60px;
}
.top_recruit_catch {
		font-size: 32px;
		font-weight: 600;
		margin: 0 0 40px;
}
.top_recruit_inner_caption p {
		font-size: 16px;
		line-height: 1.8;
		font-weight: 500;
		margin: 0 0 45px;
}
@media(max-width: 1200px) {
		.top_recruit_inner_left {
				width: 42vw;
				margin-right: 80px;
		}
		.top_recruit_inner_left::before {
				top: -40px;
				left: -50px;
				width: 30vw;
				height: 30vw;
		}
}
@media(max-width: 840px) {}
/* ================= */
.top_news_section {
		padding: 0 40px 180px;
}
.top_news_inner {
		max-width: 1030px;
		margin: 0 auto;
		display: flex;
}
.top_news_inner_left {
		width: 250px;
}
.top_news_inner_right {
		flex: 1;
}
.top_news_link_right {
		margin-top: 90px;
}
.top_news_link a {
		color: #282828;
		text-decoration: none;
		display: inline-block;
		position: relative;
		transition: color 0.2s;
		padding-right: 22px;
}
.top_news_link a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 6.5px);
		right: 0;
		width: 13px;
		height: 13px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-image: url(../n_images/top_service_arrow.png);
		transition: background 0.3s, right 0.2s;
}
.top_news_link a span {
		position: relative;
		display: inline-block
}
.top_news_link a span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -3px;
		left: 0;
		width: 100%;
		height: 1px;
		transform-origin: left center;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		background: #14b46e;
		transform: scaleX(0);
}
@media (hover: hover) {
		.top_news_link a:hover {
				color: #14b46e;
		}
		.top_news_link a:hover::after {
				background-image: url("../n_images/top_service_arrow_grn.png");
		}
		.top_news_link a:hover span::after {
				transform: scaleX(1);
		}
}
.news_line {
		border-bottom: 1px solid #dcdcdc;
}
.top_news_inner_right .news_line:first-child {
		border-top: 1px solid #dcdcdc;
}
.news_line a {
		color: #282828;
		text-decoration: none;
		display: flex;
		align-items: center;
		padding: 30px 50px 30px 35px;
		position: relative;
}
.news_line a::before, .news_line a::after {
		content: '';
		display: block;
		position: absolute;
}
.news_line a::before {
		bottom: -2px;
		left: 0;
		width: 100%;
		height: 2px;
		background: #14b46e;
		transform-origin: left center;
		transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0);
}
.news_line a::after {
		top: calc(50% - 6.5px);
		right: 35px;
		width: 13px;
		height: 13px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-image: url(../n_images/top_service_arrow.png);
		transition: background 0.3s, right 0.2s;
}
@media(max-width: 1200px) {
		.top_news_section {
				padding: 0 40px 180px 60px;
		}
}
@media (hover: hover) {
		.news_line a:hover::before {
				transform: scaleX(1);
		}
		.news_line a:hover::after {
				background-image: url("../n_images/top_service_arrow_grn.png");
				right: 15px;
		}
}
.news_line_date {
		font-family: "Manrope", sans-serif;
		font-weight: 500;
		margin-right: 50px;
}
.news_line a .news_line_date {
		color: #aaa;
}
@media(max-width: 840px) {
		.top_news_inner {
				display: block;
		}
		.top_news_inner_left {
				width: auto;
				display: flex;
				justify-content: space-between;
				align-items: flex-end;
				margin: 0 0 25px;
		}
		.top_news_inner_left .section_title {
				margin-bottom: 0 !important;
				margin-left: 20px !important;
		}
		.top_news_link_right {
				margin-top: 0;
		}
}
@media(min-width: 768px) {
		#video_sp {
				display: none;
		}
}
@media(max-width: 767px) {
		#video_pc {
				display: none;
		}
}
@media(max-width: 833px) {
		.top_merit_flex {
				display: block;
				padding-bottom: 50px;
				padding: 0 20px;
				max-width: 440px;
				margin: 0 auto;
		}
		.top_merit_item {
				width: 100%;
				margin: 0 0 40px;
		}
		.top_merit_flex .top_merit_item:last-child {
				margin-bottom: 60px;
		}
		.top_merit_item_caption_no {
				width: 36px;
				margin-right: 45px;
		}
		.top_merit_item_caption_no::after {
				right: -22px;
		}
		.top_merit_item_caption_left h4 {
				font-size: 16px;
		}
		.top_merit_inner::before {
				display: none;
		}
}
@media(min-width: 768px) {
		.spObj {
				display: none;
		}
}
@media(max-width: 767px) {
		.fv_section {
				min-height: 100vh;
		}
		.fv_catch_wrap {
				max-width: inherit;
				margin: 0 20px;
		}
		.fv_catch_wrap h1 {
				font-size: 5vw;
				line-height: 1.8;
				margin: 0 0 20px;
		}
		.fv_catch {
				bottom: 40px;
				top: inherit;
		}
		.fv_arrow {
				right: 20px !important;
				bottom: 40px !important;
				top: inherit !important;
				width: 20vw;
				height: 20vw;
		}
		.fv_arrow_inner {
				width: 20vw;
				height: 20vw;
		}
		.fv_arrow img {
				width: 100%;
				height: auto;
		}
		.fv_catch_en {
				font-size: 11px;
				padding-left: 25px;
		}
		.fv_catch_en::before {
				width: 20px;
		}
		.video_player video {
				position: fixed;
				top: 20%;
				left: 50%;
				transform: translate(-50%, -20%);
				min-width: 100%;
				min-height: 100%;
				width: auto;
				height: auto;
				z-index: -1;
		}
		.top_spacer {
				height: 55vh;
		}
		.top_about_section {
				height: 70vh;
		}
		.top_about_section_inner {
				text-align: left;
		}
		.top_about_section_inner_in p {
				text-align: left;
				font-size: 16px;
		}
		.top_about_section_inner_in p br {
				display: none;
		}
		.top_merit_flex {
				padding-left: 25px;
				padding-right: 25px;
		}
		.merit_catch {
				font-size: 26px;
				line-height: 1.6;
				margin: 0 0 35px;
		}
		.top_merit_section {
				padding: 90px 0 120px;
		}
		.top_merit_section .section_title, .top_blog_section .section_title {
				margin-left: 0 !important;
		}
		.top_recruit_section {
				padding: 0 25px 90px;
		}
		.top_recruit_section .spObj {
				position: relative;
				z-index: 10;
		}
		.top_recruit_section .section_title {
				margin-left: 0 !important;
				margin-bottom: 30px;
		}
		.top_recruit_section .section_title_jp {
				text-align: center;
		}
		.top_recruit_inner {
				display: block;
		}
		.top_recruit_inner_left {
				width: 100%;
				margin: 0 0 20px;
		}
		.top_recruit_inner_left::before {
				top: -40px;
				left: -50px;
				width: 100%;
				height: 100%;
		}
		.top_recruit_inner_caption .section_title {
				display: none;
		}
		.top_news_section {
				padding: 0 25px 90px;
		}
		.top_news_inner {
				display: block;
		}
		.news_line a {
				display: block;
				padding: 20px 50px 20px 15px;
		}
		.news_line_date {
				margin: 0 0 5px;
		}
		.top_recruit_catch {
				font-size: 26px;
				margin: 0 0 25px;
		}
}