/*
#####################
	common
#####################
*/
.pc { display: block !important; }
.pc2 { display: inline-block !important; }
.sp, .sp2 { display: none !important; }

.wrap_in {
	margin: 0 auto;
	max-width: 900px;
}
.flexBox {
	display: flex;
	justify-content: space-between;
}
.page-head_block {
	width: 690px;
}


/*
#####################
	header
#####################
*/
header img {
	width: 50%;
}
.header {
	color: #666464;
}
:is(.head_nav, .fot_nav) a {
	font-size: clamp(12px, 1.4vw, 15px);
	padding: 0.6rem 3vw;
	border-left: 1px solid #666464;
}
:is(.head_nav, .fot_nav) a:last-child {
	border-right: 1px solid #666464;
}
.page-header {
	margin: 0;
	padding: 0.3rem 3rem;
	background: url(../img/mv_bg.jpg) top center / cover no-repeat;
}
:is(.mv_block, .page-header) h1 {
	font-size: 0.875rem;
	color: #666464;
}


/*
#####################
	top
#####################
*/
.mv_block {
	margin: 0;
	padding: 2rem;
	background: url(../img/mv_bg.jpg) center / cover no-repeat;
	color: #666464;
}
.mv-copy_column {
	padding-top: 10rem;
	font-weight: bold;
}
.main-copy {
	text-decoration: underline 1px;
	text-underline-offset: 10px;
	font-size: clamp(16px, 4vw, 20px);
	line-height: 2.3;
}
.sub-copy {
	padding-top: 9rem;
}
.sub-copy :is(li, p) {
	background: rgba(255, 255, 255, 0.5);
	padding: 0 6rem;
	margin-bottom: 1rem;
}
:is(.sub-copy, .works-main_box, .works-chievements_block) li:before {
	content: '';
	display: inline-block;
	position: relative;
	left: -5px;
	top: -4px;
	width: 5px;
	height: 5px;
	background: #666464;
	border-radius: 100%;
}
.sub-copy p {
	text-align: center;
}
.top-head_column {
	width: 865px;
	margin: 0 auto;
	padding: 5rem 0;
}
.top-head_column .page-head_block {
	margin: 0;
}
.top-head_column img {
	width: 130px;
	height: auto;
}
.top-maincon_column {
	margin: 0 10% 5rem;
}
.top-maincon_column .top-maincon_box {
	width: 30%;
	border-radius: calc(infinity * 1px);
}
.top-maincon_box a.toplink-box {
	width: 100%;
	padding-top: 100%;
	display: block;
	position: relative;
}
.top-maincon_box a.toplink-box h3 {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	background: rgba(255, 255, 255, 0.5);
	text-align: center;
	padding: 0.7rem 0;
	color: #666464;
	font-size: clamp(16px, 4vw, 20px);
	font-weight: bold;
	letter-spacing: 0.5rem;
}
.top-maincon_column div:first-child.top-maincon_box {
	background: url(../img/top_work.jpg) center / cover no-repeat;
}
.top-maincon_column div:nth-child(2).top-maincon_box {
	background: url(../img/top_company.jpg) center / cover no-repeat;
}
.top-maincon_column div:last-child.top-maincon_box {
	background: url(../img/top_recruit.jpg) center / cover no-repeat;
}


/*
#####################
	page
#####################
*/
.page-head_block {
	margin: 3rem auto;
	color: #666464;
}
.page-head_block h2 {
	border-bottom: 1px solid #666464;
	font-size: clamp(18px, 4vw, 24px);
	font-weight: bold;
	padding-bottom: 0.8rem;
	letter-spacing: 0.2rem;
}
.page-head_block p {
	margin-top: 0.8rem;
	text-align: right;
}
.ttl_bg {
	background-color: #bfe7c7;
	clip-path: polygon(0 0, 70% 0, 100% 100%, 0 100%);
	color: white;
	display: inline-block;
	padding: 0 2rem 0 0.5rem;
}

/*　Works
-------------------------------------*/
.works-main_block {
	background-color: #dcdddd;
	padding: 5rem 5%;
}
.works-main_box {
	background-color: white;
	width: 32%;
	padding: 1.5rem;
	position: relative;
}
.works-main_box .ttl_bg {
	position: absolute;
	top: -1rem;
	left: 1rem;
}
.works-main_box h3 {
	font-size: clamp(16px, 4vw, 20px);
	font-weight: bold;
	margin-bottom: 1rem;
}
.works-main_box img {
	height: 14vw;
	object-fit: cover;
}
.works-main_box ul {
	margin-top: 1rem;
}
.works-main_box li {
	background: rgba(255, 255, 255, 0.5);
	margin-left: 1rem;
	margin-top: 0.5rem;
	font-size: 0.875rem;
}
.works-chievements_block {
	padding: 3rem 5%;
}
.works-chievements_block h2 {
	margin-bottom: 1rem;
}
.works-chievements_block ul {
	flex-wrap: wrap;
}
.works-chievements_block li {
	background: rgba(255, 255, 255, 0.5);
	margin: 0 1rem 1rem;
	font-size: 0.875rem;
}
.chievements-img_column {
	margin: 2rem 15%;
	gap: 2rem;
}
.chievements-img_column img:first-child {
	width: 40%;
}
.chievements-img_column img:last-child {
	width: 60%;
}

/*　Company
-------------------------------------*/
.company-message_block {
	padding: 0;
	background: url(../img/company.jpg) bottom right / contain no-repeat;
	margin: 0 5%;
	font-weight: bold;
}
:is(.company-message_block, .recruit-main_block) h2 {
	margin-bottom: 2rem;
	font-size: clamp(16px, 4vw, 20px);
}
.company-message_block p span {
	border-bottom: 1px dashed black;
	display: block;
	width: 55%;
	padding: 0.7rem 2rem 0;
}
.company-overview_block, .company-contact_block, .recruit-main_block {
	margin: 5rem 5%;
}
:is(.company-overview_block, .company-contact_block) h2 {
	font-size: clamp(16px, 4vw, 20px);
}
:is(.company-overview_block, .company-contact_block) table, iframe {
	margin: 0 10%;
	width: 80%;
}
th, td {
	border: 5px solid #bfe7c7;
	padding: 1rem 3rem;
}
th {
	text-align-last: justify;
	border-left: none;
	width: 25%;
	vertical-align: top;
}
td {
	border-right: none;
}
iframe {
	margin-top: 3rem;
}

/*　Recruit
-------------------------------------*/
.recruit-main_block p {
	padding-left: 5%;
}
:is(.recruit-main_block, .privacy_block) a {
	background-color: #bfe7c7;
	padding: 1rem 0;
	border-radius: 10px;
	margin: 3rem auto;
	justify-content: center;
	width: 35%;
}
.recruit-img_column img {
	width: 32%;
}

/*　Privacy Policy
-------------------------------------*/
.privacy_block {
	margin: 0 15%;
}
.privacy_block a img {
	width: 10%;
	margin: 0 90% 2rem;
}
.privacy_block p {
	margin-bottom: 2rem;
}
.privacy_block .p-mark {
	background-color: inherit;
}
.privacy_block p a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
	background-color: inherit;
	color: black;
}


/*
#####################
	footer
#####################
*/
footer {
	background-color: #bfe7c7;
	padding: 3rem 0 1rem;
}
.fot_nav {
	text-align: center;
	margin-bottom: 5rem;
}
.copyright {
	text-align: center;
	font-size: 0.75rem;
}