@charset "UTF-8";
/*
Theme Name: 1os1C
Theme URI: https://web.1os.co.jp/
Author: One OS inc.
Author URI: https://1os.co.jp/
Description: このテーマは株式会社ワンオーエス(サービス名：クオリティWebデザイン)によって作成されました。高品質でカスタマイズ可能なデザインを提供し、ユーザーに素晴らしいエクスペリエンスをもたらします。
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 1os_mc
Tags: レスポンシブ, 1カラム, 翻訳対応
*/

/**********  カスタマイズCSS **********/

.table th,
.table td{
	border:1px solid #aaa;
}
.table-scroll-wrap {
	position: relative;
}

.table-scroll {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

.table-scroll table {
	width: calc(100% - 1px);
	min-width: 748px;
}

.table-scroll th,
.table-scroll td {
	white-space: nowrap;
}

.table-scroll-notice {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 2;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.75);
	border:1px solid #aaa;
	color: #fff;
	font-size: 12px;
	line-height: 1.4;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.table-scroll-wrap.is-visible .table-scroll-notice {
	opacity: .6;
	visibility: visible;
}

.slide_img_wrap::before{
	opacity: 0;
	transition: all 1.2s ease;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	clip-path: polygon(0 0, 100% 0, 0% 100%, 0 100%);
	z-index: 2;
	pointer-events: none;
	transform: translateX(-40px);
}
.slide_img_wrap.is-show::before {
	opacity: .2;
	transform: translateX(0);
	transition-delay: .2s;
}

.clip_path_image-lt_rb {
	clip-path: polygon(
		32px 0,
		100% 0,
		100% calc(100% - 32px),
		calc(100% - 32px) 100%,
		0 100%,
		0 32px
	);
}

/* =========================
Gallery
========================= */

.gallery_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: .5rem;
}

.gallery_item a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.gallery_thumb {
	position: relative;
	overflow: hidden;
	background: #111;
}

.gallery_thumb img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform .4s ease;
}

/* hover */

.gallery_item a:hover img {
	transform: scale(1.05);
}

/* title */

.gallery_title {
	margin-top: .5rem;
	font-size: .9rem;
	line-height: 1.4;
	text-align: center;
}

/* play icon */

.gallery_play {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 56px;
	height: 56px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: rgba(0,0,0,.6);
	backdrop-filter: blur(4px);
}

.gallery_play::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 54%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 10px 0 10px 16px;
	border-color: transparent transparent transparent #fff;
}

/* PC */

@media (min-width: 768px) {

	.gallery_list {
		grid-template-columns: repeat(4, 1fr);
	}

	.gallery_title {
		font-size: 1rem;
	}

}

.equipment_table {
	width: 100%;
	margin:1.6em auto;
	border-collapse: collapse;
}

.equipment_table th,
.equipment_table td {
	padding: .4em;
	border: 1px solid #666;
	line-height: 1.5;
}

.equipment_table th {
	width: 16em;
	font-weight: 400;
	text-align: left;
}

.scroll_bar {
	transition: all .6s ease;
	pointer-events: none;
	bottom: 64px;
	right:16px;
	z-index:4
}
.scroll-text {
  color: #fff;
  font-size: 16px;
  text-align: center;
  transform: rotate(90deg);
}
.scroll-border {
  position: relative;
  top: 20px;
	left:-4px;
  width: 100%;
  height: 100px;
  overflow: hidden;
}
.scroll-border::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 40px;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
	border:1px solid #222;
  animation: scrollbar 2.0s ease-in-out infinite;
  margin: auto;
}
@keyframes scrollbar {
  0% {
    height: 0;
    top: 0;
  }
  30% {
    height: 100%;
  }
  100% {
    top: 100%;
  }
}

.scroll .scroll_bar {
	opacity:0
}

.home_banner{
	border:1px solid #666;
	transition: border .4s ease;
}
.home_banner_title{
	top:4px;
	left:8px;
	opacity:.7;
	height:auto!important;
	pointer-events:none;
	text-shadow:
		0 0 2px rgba(0,0,0,.9),
		0 0 3px rgba(0,0,0,.7);
	transform-origin: top left;
	transition: opacity .4s ease, transform .4s ease;
}
.home_banner_text,
.gallery_title{
	background:rgba(0,0,0, .7);
	bottom:0;
	left:0;
	height:auto!important;
	pointer-events:none;
}
.home_banner_img {
	transition: filter .4s ease, transform .4s ease;
}

.recruit-jobs__tabs{
	gap:1px;
}
.recruit-jobs__tab{
	width:calc(100% / 3 - 1px);
	padding:.8em .4em;
	border:1px solid #777;
	background:#333;
	color:#ccc;
	font-size:14px;
	font-weight:700;
	letter-spacing:.05em;
	line-height:1.4;
	cursor:pointer;
	transition:.3s;
}

.recruit-jobs__tab.is-active{
	background:#ccc;
	border-color:#eee;
	color:#111;
}

.recruit-jobs__contents{
	position:relative;
}

.recruit-jobs__panel{
	display:none;
	padding:2em;
	background:#444;
	border:1px solid #e5e5e5;
}
.recruit-jobs__panel.is-active{
	display:block;
}



.recruit-jobs__visual{
	overflow:hidden;
}

.recruit-jobs__visual img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	aspect-ratio:4/5;
}

.recruit-jobs__body{
	display:flex;
	flex-direction:column;
	gap:40px;
}

.recruit-jobs__header{
	padding-bottom:32px;
	border-bottom:1px solid #ddd;
}

.recruit-jobs__category{
	margin-bottom:16px;
	color:#888;
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
}

.recruit-jobs__name{
	font-size:48px;
	font-weight:700;
	line-height:1.2;
}

.recruit-jobs__catch{
	margin-top:24px;
	font-size:24px;
	font-weight:500;
	line-height:1.8;
	color:#1f2d3d;
}

.recruit-jobs__section{
	display:flex;
	flex-direction:column;
	gap:20px;
}

.recruit-jobs__heading{
	padding-left:16px;
	border-left:4px solid #1f2d3d;
	font-size:20px;
	font-weight:700;
	line-height:1.4;
}

.recruit-jobs__text{
	font-size:16px;
	line-height:2;
	color:#444;
}

.recruit-jobs__features,
.recruit-jobs__points{
	display:grid;
	gap:12px;
	padding-left:20px;
}

.recruit-jobs__features li,
.recruit-jobs__points li{
	font-size:15px;
	line-height:1.8;
	color:#444;
}

.recruit-jobs__table{
	width:100%;
	border-collapse:collapse;
	border-top:1px solid #dcdcdc;
}

.recruit-jobs__table tr{
	border-bottom:1px solid #dcdcdc;
}

.recruit-jobs__table th,
.recruit-jobs__table td{
	padding:.4em;
	text-align:left;
	vertical-align:top;
}

.recruit-jobs__table th{
	width:180px;
	background:#333;
	font-weight:400;
	color:#fff;
}

.recruit-jobs__table td{
	background:#555;
	color:#eee;
}


.ak-reason {
	position: relative;
	padding: clamp(80px, 10vw, 140px) 20px;
	background:
		linear-gradient(135deg, rgba(10, 18, 28, .94), rgba(20, 34, 48, .9)),
		url("../images/reason-bg.jpg") center / cover no-repeat;
	color: #fff;
	overflow: hidden;
}

.ak-reason::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
	background-size: 48px 48px;
	opacity: .45;
	pointer-events: none;
}

.ak-reason__label {
	margin: 0 0 14px;
	color: #c79a45;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .18em;
}

.ak-reason__title {
	margin: 0;
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .06em;
}

.ak-reason__lead {
	max-width: 620px;
	margin: 22px 0 0;
	color: rgba(255,255,255,.76);
	font-size: 16px;
	line-height: 1.9;
}

.ak-reason__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2px;
	background: rgba(255,255,255,.18);
	border: 1px solid rgba(255,255,255,.18);
}
.ak-reason__grid.ak-reason__grid_3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.ak-reason-card {
	position: relative;
	min-height: 256px;
	padding: 34px 28px 32px;
	background: rgba(255,255,255,.08);
	backdrop-filter: blur(10px);
	transition: background .3s ease, transform .3s ease;
}

.ak-reason-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 4px;
	height: 0;
	background: #c79a45;
	transition: height .3s ease;
}

.ak-reason-card__num {
	color: rgba(255,230,230,.24);
	letter-spacing: .04em;
}

.ak-reason-card__title {
	letter-spacing: .06em;
}

.ak-reason-card__text {
	margin: 0;
	color: rgba(255,255,255,.72);
}

.company_profile{
	border-bottom:1px solid #999
}
.company_profile dt,
.company_profile dd{
	margin:0;
	padding:.4em;
}
.company_profile dt{
	border-top:1px solid #999;
	border-bottom:1px solid #444
}

.section-slant {
	position: relative;
	background: #1b0d10;
	padding:2em 0;
	clip-path: polygon(
		0 5vw,
		100% 0,
		100% calc(100% - 5vw),
		0 100%
	);
}

#goole_map_wrapper {
	position: relative;
	overflow: hidden;
}

#goole_map_wrapper iframe {
	display: block;
	width: 100%;
	filter:
		grayscale(80%)
		brightness(90%);
}

.equipment_list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.equipment_figure {
	margin: 0 0 .4em;
}
.equipment_figure figcaption {
	margin-top: 0.75rem;
	font-size:.9em;
	font-weight: 400;
	text-align: center;
	line-height: 1.4;
}
.equipment_figure .svg_icon{
	top:8px;
	right:8px;
	pointer-events:none
}
@media (max-width: 1023px) {
	.ak-reason__grid {
		grid-template-columns: repeat(2, 1fr);
	}

}

@media (max-width: 767px) {
	.ak-reason__grid.ak-reason__grid_3,
	.ak-reason__grid {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 768px) {

	.recruit-jobs__tab{
		width:calc(100% / 4 - 1px);
	}
	.company_profile dt{
		width:9em;
		border-bottom:none
	}
	.company_profile dd{
		width:calc(100% - 9em);
		border-top:1px solid #999;
	}

}

@media (min-width: 1280px) {

	.slide_img_wrap::before{
		width: 70%;
		height: 100%;
		clip-path: polygon(0 0, 100% 0, 60% 100%, 0 100%);
		transform: translateX(-40px);
	}
	.recruit-jobs__tab{
		width:calc(100% / 11 - 1px);
	}
	.recruit-jobs__table th,
	.recruit-jobs__table td{
		padding:.4em .8em;
	}

	.company_profile dt{
		width:12em;
	}
	.company_profile dd{
		width:calc(100% - 12em);
	}

	.clip_path_image-lt_rb {
		clip-path: polygon(
			48px 0,
			100% 0,
			100% calc(100% - 48px),
			calc(100% - 48px) 100%,
			0 100%,
			0 48px
		);
	}

	.section-slant {
		padding:2em 0 4em;
		clip-path: polygon(
			0 4vw,
			100% 0,
			100% calc(100% - 4vw),
			0 100%
		);
	}


}

@media (hover: hover) and (pointer: fine) {

	.home_banner:hover{
		border:1px solid #ffdddd
	}
	.home_banner:hover .home_banner_title{
		opacity:.9;
		transform: scale(1.6);
	}
	.recruit-jobs__tab:hover{
		background:#999;
		border-color:#ccc;
		color:#fff;
	}

	.home_banner_img{
		filter:
			grayscale(60%)
			sepia(35%)
			contrast(110%)
			brightness(90%);
	}
	.home_banner_img:hover {
		filter: grayscale(0);
		transform: scale(1.2) rotate(-2deg);
	}
	.ak-reason-card:hover {
		background: rgba(255,255,255,.14);
		transform: translateY(-6px);
	}
	.ak-reason-card:hover::before {
		height: 100%;
	}
	.equipment_caption{
		background:rgba(0,0,0, .8);
		padding:.2em;
		bottom:-3.4em;
		transition: bottom 0.4s ease;
		pointer-events:none
	}
	.equipment_thumb{
		transition: transform 0.3s ease;
	}
	.equipment_figure:hover .equipment_caption{
		bottom:0;
	}
	.equipment_figure:hover .equipment_thumb{
		transform: scale(1.1) rotate(-1deg);
	}


}