@charset "utf-8";
/*
Theme Name: portals_recruit
Author: portals
*/
/* ベースカラーの設定 */
/* レッド×水色 */
:root {
	--b1: #f8f1e3;
	--b2: #1f0a08;
	--b3: #d0d5e3;
	--a1: #e74c3c;
	--a1-t: #fff;
	--a2: #09b2cf;
	--a2-t: #fff;
}
/*=====================================
reset
=====================================*/
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
img {
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}
blockquote, q {
	quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
	content: '';
	content: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
/* change colors to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}
/* change colors to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* change border color to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
}
address {
	font-style: normal;
}
/* clearfix */
.clearfix::after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
/*==================================
WordPress Natie Styles     
==================================*/
/* editor */
.post p {
	display: block;
	margin: 10px 12px;
}
.post strong {
	font-weight: bold;
}
.post em {
	font-style: oblique;
}
.post blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}
.post ul {
	list-style: disc;
	margin: 0 3em 1em;
}
.post ol {
	list-style: decimal;
	margin: 0 3em 1em;
}
/* img */
.aligncenter {
	display: block;
	margin: 0 auto 8px;
}
.alignleft, .alignright {
	margin: 0 auto 0.5em;
}
img[class*="wp-image-"], img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
@media screen and (min-width:782px){
	.aligncenter {
		display: block;
		margin: 0 auto 8px;
	}
	.alignright {
		float: right;
		margin: 0 0 8px 8px;
	}
	.alignleft {
		float: left;
		margin: 0 16px 8px 0;
	}
}
/*==================================
base
==================================*/
body {
	color: var(--b2);
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
img {
	display: block;
	margin: 0 auto;
	width: auto;
	max-width: 100%;
	height: auto;
}
.css-fade5--in{
	animation-name:fade-in5;
	animation-duration:1s; 
	animation-timing-function: ease-out;
	animation-iteration-count:1;
	animation-direction:normal; 
	animation-fill-mode: forwards;
}
@keyframes fade-in5 {
	0% {opacity: 0; transform: translate3d(0,30px,0);}
	100% {opacity: 1; transform: translate3d(0,0,0);}
}
a {
	text-decoration: none;
}
a:link {
	color: #666;
}
a:visited {
	color: #666;
}
a:hover {
	color: #ccc;
}
a:active {
	color: #ccc;
}
.clear {
	clear: both;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
.center {
	text-align: center;
}
.img_left,
.img_right {
	margin: 0 auto 0.5em;
}
.img_center {
	display: block;
	margin: 0 auto 16px;
}
.conts,
.voice_conts{
	margin: 0 12px 16px;
}
.conts::after,
.voice_conts::after{
	visibility: hidden;
	display: block;
	font-size: 0;
	content: "";
	clear: both;
	height: 0;
}
.conts .conts_inner {
	overflow: hidden;
}
.conts p,
.voice_conts p{
	margin-bottom: 2em;
}
.wrapper_bg01 {
	background: var(--b1);
} 
.wrapper_bg02 {
	background: var(--b1);
}
.wrapper01 {
	overflow: hidden;
	width: 96%;
	margin: 0 auto;
	padding: min(12vw, 96px) 0;
}
.form_wrapper.wrapper01,
.notoppadding.wrapper01 {
	padding: 0 0 min(12vw, 96px);
}
.freespace + .wrapper01 {
	padding: 0 0 min(12vw, 96px);
}
.breadcrumbs {
	width: 96%;
	margin: 0 auto;
	font-size: 12px;
}
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
@media screen and (min-width:480px) { 
	/*　画面サイズ480px for iPhone Landscape(iPhone 横)　*/
	.img_left {
		float: left;
		margin: 0 0.5em 0.5em 0;
	}
	.img_right {
		float: right;
		margin: 0 0 0.5em 0.5em;
	}
}
@media screen and (min-width:782px){
	.img_left {
		margin: 0 16px 16px 0;
		float: left;
	}
	.img_right {
		margin: 0 0 16px 16px;
		float: right;
	}
	a:hover img, a:active img {
		-webkit-opacity: 0.7;
		opacity: 0.7;
	}
	.conts {
		width: min(96%, 1024px);
		margin: 0 auto;
	}
	.conts p {
		font-size: 17px;
	}
	.conts::after {
		visibility: hidden;
		display: block;
		font-size: 0;
		content: "";
		clear: both;
		height: 0;
	}
	.wrapper01 {
		max-width: 1240px;
		margin: 0 auto;
	}
	.wrapper01.top_greeting {
		padding: 0;
	}
	.breadcrumbs {
		max-width: 1240px;
		font-size: 14px;
	}
	.flex_sb {
		margin: 0 auto;
		display:flex;
		justify-content: center;
		gap: min(5vw, 40px);
	}
	.flex_sb.free_area {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
}
@media screen and (min-width:782px) and (max-width:984px){
	/*　リキッドレイアウト微調整　*/
	.img_left, .alignleft {
		float: none;
		margin: 0 auto 0.5em;
	}
	.img_right, .alignright {
		float: none;
		margin: 0 auto 0.5em;
	}
	.img_center {
		display: block;
		margin: 0 auto 16px;
	}
	.img_center {
		display: block;
		margin: 0 auto 16px;
	}
	.conts .img_left {
		float: none;
		margin: 0 auto 16px;
	}
	.conts .img_right {
		float: none;
		margin: 0 auto 16px;
	}
}
/*=================================
Common_SP
=================================*/
.h_style01{
	margin: 0 auto min(4vw, 32px);
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 4px;
	clear: both;
}
.h_style01::before {
	margin: 0 auto;
	font-size: clamp(60px, 8vw, 100px);
	font-weight: 600;
	display: block;
	letter-spacing: .04em;
	line-height: 1;
	color: var(--b3);
}
.h_style01::after {
	content: '';
	display: block;
	margin: .25em auto 2em;
	width: 20%;
	height: 4px;
	background-color: var(--a2);
}
.h_style01.top_work_heading::before {
	margin: 0 auto .1em;
	content: 'style';
}
.h_style01.top_recruit_heading::before {
	content: 'recruit';
}
.h_style01.top_voice_heading::before {
	content: 'voice';
}
.h_style01.top_info_heading::before {
	letter-spacing: -.04em;
	content: 'information';
}
/*===============
見出し01
=================*/
.h_style02,
.post h2:not([class*="is-style-h_style"]):not(.nostyle),
.block_wrapper h2:not([class*="is-style-h_style"]):not(.nostyle) {
	font-size: 24px;
	font-weight: 800;
	margin: min(5vw, 40px) 0 min(4vw, 32px);
	position:  relative;
	clear: both;
	padding: 10px 8px 2px;
	border-bottom: 2px solid var(--a1);
}
/*===============
見出し02
=================*/
.h_style03,
.post h3:not([class*="is-style-h_style"]):not(.nostyle),
.block_wrapper h3:not([class*="is-style-h_style"]):not(.nostyle) {
	font-size: 20px;
	border-bottom: 1px solid #aaa;
	margin: min(5vw, 40px) 0 min(4vw, 32px);
	padding: 6px;
	position: relative;
	clear: both;
}
.h_style03::before,
.post h3:not([class*="is-style-h_style"]):not(.nostyle)::before,
.block_wrapper h3:not([class*="is-style-h_style"]):not(.nostyle)::before,
.h_style03::after,
.post h3:not([class*="is-style-h_style"]):not(.nostyle)::after,
.block_wrapper h3:not([class*="is-style-h_style"]):not(.nostyle)::after {
	content: '';
	border-right: 21px solid #fff;
	border-top: 14px solid #aaa;
	bottom: -15px;
	position: absolute;
	left: 25px;
}
.h_style03::after,
.post h3:not([class*="is-style-h_style"]):not(.nostyle)::after,
.block_wrapper h3:not([class*="is-style-h_style"]):not(.nostyle)::after {
	border-top-color: #fff;
	border-right-color: transparent;
	bottom: -13px;
	left: 26px;
}
/*===============
見出し03
=================*/
.h_style04,
.post h4:not([class*="is-style-h_style"]):not(.nostyle),
.block_wrapper h4:not([class*="is-style-h_style"]):not(.nostyle) {
	margin: min(5vw, 40px) 0 min(4vw, 32px);
	padding: 0 8px;
	font-size: 18px;
	border-left: solid 8px #666;
	border-bottom: dotted 2px #666;
	clear: both;
}
/*===============
見出し04
=================*/
.h_style05,
.post h5:not([class*="is-style-h_style"]):not(.nostyle),
.block_wrapper h5:not([class*="is-style-h_style"]):not(.nostyle) {
	clear: both;
	overflow: hidden;
	margin: min(5vw, 40px) 0 min(4vw, 32px);
	padding: 0 20px 2px;
	font-weight: bold;
	border-bottom: double 4px #666;
	font-size: 16px;
	clear: both;
}
/*=================================
nav_SP
=================================*/
#header {
	position: sticky;
	top: 0;
	background-color: #fff;
	z-index: 99999;
}
.header_inner {
	padding: 10px 4px;
	display: flex;
	justify-content: space-between;
}
.header_nav {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0 8px 0 0;
}
/* ↓ widthの最大値はロゴの画像に合わせてください */
.logo {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: min(70%,444px);
}
.logo a {
	width: fit-content;
	padding: min(1.5vw,16px) min(4vw, 32px);
}
.nav_entry {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.nav_entry a {
	display: block;
	margin: 8px auto;
	width: 80%;
	padding: .8em 2em;
	background-color: var(--a2);
	color: var(--a2-t);
	text-align: center;
	font-weight: bold;
	font-size: clamp(16px,3vw,28px);
	border-radius: 100px;
	box-sizing: border-box;
}
.nav_entry a:link,
.nav_entry a:visited {
	color: var(--a2-t);
}
#nav-toggle {
	padding: 6px 4px 4px;
	align-self: center;
	height: 42px;
	cursor: pointer;
	box-sizing: border-box;
}
#nav-toggle > div {
	position: relative;
	width: 36px;
}
#nav-toggle span {
	width: 100%;
	height: 2px;
	left: 0;
	display: block;
	background: #000;
	position: absolute;
	transition: top .5s ease, -webkit-transform .3s ease-in-out;
	transition: transform .3s ease-in-out, top .5s ease;
	transition: transform .3s ease-in-out, top .5s ease, -webkit-transform .3s ease-in-out;
	/* #nav-toggle close */
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 14px;
}
#nav-toggle span:nth-child(3) {
	top: 28px;
}
.open #nav-toggle span:nth-child(1) {
	top: 15px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2) {
	top: 15px;
	width: 0;
	left: 50%;
}
.open #nav-toggle span:nth-child(3) {
	top: 15px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/* z-index */
#nav-toggle {
	z-index: 1000;
}
#container {
	z-index: 900;
}
#gloval-nav {
	z-index: 99999;
}
#gloval-nav {
	position: fixed;
	width: min(85%,800px);
	overflow-y: auto;
	height: 100vh;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 990;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: clamp(20px,4vw,28px);
	background-color: rgba(0, 0, 0, 0.6);
	padding-left: 0;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
	transition: -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open #gloval-nav {
	transform: translateX(0);
}
#gloval-nav .entry_btn a {
	border-radius: 40px;
	margin:10px 0 10px 20px;
	padding: .25em 1em;
	background-color: var(--a2);
	color: var(--a2-t);
	text-align: center;
	font-weight: 800;
}
#gloval-nav a,
#global_pc a {
	display: inline-block;
	color: #000;
	text-decoration: none;
	padding: 10px;
	transition: color .6s ease;
}
#gloval-nav a {
	color: #fff;
}
#gloval-nav ul,
#global_pc ul {
	list-style: none;
}
#gloval-nav ul li {
	-webkit-transform: translateX(-200px);
	transform: translateX(-200px);
	transition: -webkit-transform 1.3s ease;
	transition: transform 1.3s ease;
	transition: transform 1.3s ease, -webkit-transform 1.3s ease;
	position: relative;
}
#gloval-nav ul li:after {
	content: "";
	display: block;
	width: 500px;
	height: 2px;
	background: #000;
	left: -600px;
	position: absolute;
	-webkit-transform: translateX(0);
	transform: translateX(0);
	transition: -webkit-transform 1s ease;
	transition: transform 1s ease;
	transition: transform 1s ease, -webkit-transform 1s ease;
}
#gloval-nav ul li:hover:after {
	-webkit-transform: translateX(300px);
	transform: translateX(300px);
}
.open #gloval-nav li {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}
/* .nav-bg {
opacity: 0;
background-color: rgba(0,0,0,0.6);
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: -1;
transition: all 1s ease;
}
.open .nav-bg {
opacity: 1;
} */
/*=================================
header_SP
=================================*/
/*メインスライダー*/
.main_layer {
	display:flex;
	flex-direction: column;
	justify-content: space-around;
	position: relative; 
	height: 450px;
	overflow: hidden;	
}
.sub_layer {
	display:flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
	position: relative; 
	height: 450px;
	overflow: hidden;
}
.sub_layer.footer_entry_wrapper {
	height: 250px;	
}
.main_layer p {
	z-index:500;
}
/* .main_layer, .breadcrumbs{
margin-top:15.3%;
} */
.main_layer::after,
.sub_layer::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index:99;
	background: rgba(0, 0, 0, 0.3);
}
.main_ttl {
	margin: 0 auto;
	border-bottom: 20px;
}
.main_ttl img {
	margin: 0 auto;
	width: min(80%, 472px);
}
.main_layer .more_btn {
	margin: 0 auto;
	width: 90%;
}
.main_imgbox {
	display: block;
}
.main_img {
	z-index:10;
	opacity: 0;
	width: 100%;
	height: 450px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
	-webkit-animation: anime 36s 0s infinite;
	animation: anime 36s 0s infinite;
}
.main_img:nth-of-type(2) {
	-webkit-animation-delay: 6s;
	animation-delay: 6s;
}
.main_img:nth-of-type(3) {
	-webkit-animation-delay: 12s;
	animation-delay: 12s;
}
.main_img:nth-of-type(4) {
	-webkit-animation-delay: 18s;
	animation-delay: 18s;
}
.main_img:nth-of-type(5) {
	-webkit-animation-delay: 24s;
	animation-delay: 24s;
}
.main_img:nth-of-type(6) {
	-webkit-animation-delay: 30s;
	animation-delay: 30s;
}
@keyframes anime {
	0% {
		opacity: 0;
	}
	8% {
		opacity: 1;
	}
	17% {
		opacity: 1;
	}
	25% {
		opacity: 0;
		transform: scale(1.2) ;
		z-index:9;
	}
	100% { opacity: 0 }
}
.sub_layer {
	height: 140px;
	background-position: center center;
	background-size: cover;
	position: relative;
	z-index: 0;
}
.sub_ttl {
	color: #fff;
	font-size: 30px;
	font-weight: 800;
	z-index:999;
}
/*=================================
Top_SP
=================================*/
/*代表挨拶*/
.greeting_img {
	margin: min(8vw, 64px) 0;
}
.ceo_name {
	text-align: right;
	margin-bottom: 20px;
}
/*フリースペース*/
.top_work_heading  {
	padding: 0 0 min(3vw, 24px);
}
.free_area {
	width: 96%;
	margin: 0 auto;
	counter-reset: free_box;
}
.free_box {
	counter-increment: free_box;
	display:flex;
	flex-direction: column;
	gap: min(2vw, 16px);
	box-sizing: border-box;
	position: relative;
	margin: min(12vw, 96px) auto 0;
}
.free_box::before {
	content: counter(free_box, decimal-leading-zero);
	z-index: 500;
	position:absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -70%);
	font-size: clamp(32px,6vw,46px);
	font-weight: 800;
	line-height: 2;
	text-align: center;
	height: 2em;
	width: 2em;
	border-radius: 50%;
	background: var(--b3);
}
.free_pic {
	position: relative;
	margin: 0 auto;
}
.free_txtarea {
	display: grid;
	grid-template-rows: auto auto 1fr;
	gap: 8px;
	width: 94%;
	height: 100%;
	margin: 18px auto;
}
.free_ttl {
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 20px;
	position: relative;
	text-align: center;
}
.free_ttl::before {
	content: '';
	position: absolute;
	bottom: -8px;
	display: inline-block;
	width: 60px;
	height: 5px;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 2px;
	background-color: var(--b3);
}
.more_btn,
.more_btn01{
	text-align: center;
	margin: min(3vw, 24px) 0;
}
.more_btn a,
.more_btn01 a {
	display: inline-block;
	width: min(80%, 530px);
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	color: var(--a1-t);
	font-weight: bold;
	background-color: var(--a1);
	border-radius: 100px;
}
.more_btn01 a {
	background: #fff;
	color: inherit;
	border: 1px solid #333;
}
.more_btn a::before,
.more_btn a::after,
.more_btn01 a::before,
.more_btn01 a::after{
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.more_btn a,
.more_btn a::before,
.more_btn a::after,
.more_btn01 a,
.more_btn01 a::before,
.more_btn01 a::after{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.more_btn a:hover,
.more_btn01 a:hover{
	letter-spacing: 8px;
}
.free_txtarea .more_btn {
	align-self: end;
}
/*=================================
Page_SP
=================================*/
/*共通*/
.block_wrapper {
	padding: min(5vw, 40px) 0;
}
/*会社概要*/
.page_comp {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
table.comp_table,
table.history{
	width: 96%;
	margin: 0 auto;
	border-collapse: collapse;
}
table.comp_table th{
	width: 30%;
	background-color: #ccc;
	text-align: center;
	padding: 10px 0;
}
table.comp_table td{
	width: 70%;
	text-align: center;
	padding: 10px 0;
}
table.comp_table th,
table.comp_table td {
	border:1px solid  #ddd;
	vertical-align:middle;
}
table.history th,
table.history td {
	padding: 4px 0;
	border-bottom: 2px dotted #ddd;
	text-align: left;
	font-size: 14px;
}
table.history th {
	width: 30%;
}
/*フリースペース*/
.free_ttl_box {
	background: var(--b3);
	padding: 2em;
}
.free_ttl_page {
	font-size: 24px;
	border-bottom: 1px solid var(--b2);
	margin-bottom: 8px;
	line-height: 1.3em;
	font-weight: bold;
}
.free_catch_page {
	font-size: 14px;
}
.seid_list {
	margin: 0 auto;
	width: min(96%, 800px);
}
.seid_list th,
.seid_list td {
	padding: 4px;
	border: solid 1px #ccc;
}
.syokujikai_pics {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
}
/*採用情報*/
.recruit_list {
	display: flex;
	flex-direction: column;
	gap: min(8vw, 64px);
}
.recruit_list li,
.top_recruit_more_btn {
	margin:0 12px 32px;
}
.recruit_list_pic{
	margin:0 0 16px;
}
.recruit_list_name{
	font-weight:bold;
	font-size:22px;
	padding: 0.25em 0.5em;
	margin:0 0 8px;
	background: transparent;
	border-left: solid 3px var(--b2);
	line-height:1.3em;
}
.recruit_list_name span{
	font-weight:normal;
	font-size:16px;
}
.recruit_list_status{
	display: inline-block;
	text-align:right;
	color: #000;
	padding: 4px 10px;
	border: 1px solid #000;
	border-radius: 20px;
	margin: 0 0 0 auto;
}
.job_description{
	overflow:hidden;
	margin:0 0 30px;
}
.job_txt_wrap,
.greeting_txt_wrap{
	margin:0 0 16px;
}
.job_txt_wrap {
	padding: 20px;
}
.greeting_txt_wrap {
	padding-bottom: 20px;
}
.job_tit{
	font-size:28px;
	font-weight:bold;
	border-bottom: 1px solid #666;
	padding:0 8px 8px;
	line-height:1.2em;
}
.job_tit span{
	font-size:18px;
}
.job_txt{
	padding:8px;
}
.job_pic{
	display: inline-block;
	position: relative;
}
.recruit_tit{
	font-size:30px;
	font-weight:bold;
	text-align:center;
	margin:0 0 16px;
}
table.recruit_table {
	width: 100%;
	border-collapse: collapse;
	margin:0 auto 32px;
}
table.recruit_table th,
table.recruit_table td {
	display:block;
	text-align: left;
	padding: 16px 10px;
	vertical-align: middle;
}
table.recruit_table th {
	position: relative;
	background-color: #eee;
}
table.recruit_table tr:last-child td{
	border-bottom:solid 1px #666;
}
/* 店舗一覧 */
.shop_nav li{
	display: inline-block;
	margin: 4px 4px;
}
.shop_nav li a {
	background: #bbb;
	padding:  4px 8px;
	border-radius: 20px;
	display: block;
}
.shoplist {
	margin: 20px;
}
.shoplist li {
	padding: 20px 0 40px;
	border-bottom: 1px solid #ccc;
}
.list_box table {
	border-collapse:  collapse;
	margin: 10px 0 30px;
}
.list_box table th,
.list_box table td {
	vertical-align: middle;
	border: solid 1px #CCC;
	padding: 10px;
	font-size: 14px;
}
.list_box table th {
	background: #bbb;
	text-align: center;
}
.list_box table th {
	width: 35%;
}
/* 先輩社員の声 */
#top_list_voice {
	margin: min(8vw, 64px) auto;
}
.side_voice_box{
	margin-bottom: 1em;
}
.voice_h3 {
	display: block;
	margin: 0 0 16px;
	padding: 9px 17px;
	font-size: 14px;
	color: #fff;
	border-radius: 3px;
	background: #181818;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.6;
}
.side_voice_inner {
	overflow: hidden;
	margin-bottom: 0.6em;
}
.side_voice:hover {
	transform: scale(1.2);
}
.side_voice_box p{
	margin: 0 1em;
	line-height: 1.4em;
	font-size: 16px;
	font-weight: bold;
}
.side_voice_box p span {
	font-size: 0.8em;
	font-weight: normal;
}
/*=================================
Contact_SP
=================================*/
.entry_process_bt {
	display: flex;
	flex-direction: column;
	gap: min(3vw, 24px);
}
.entry_process_bt li {
}
.entry_process_bt li a {
	display: grid;
	grid-template-columns: 2em 1fr;
	padding: .5em 2em .5em 1em;
	text-decoration: none;
	font-size: clamp(20px, 3vw, 24px);
	color: var(--a1-t);
	text-align: center;
	font-weight: bold;
	border-radius: 100px;
	box-sizing: border-box;
}
.entry_process_bt li a::before {
	content: '';
	display: block;
	aspect-ratio: 1/1;
	width: 1.5em;
}
.entry_process_bt li.entry_process_form a {
	background-color: var(--a1);
}
.entry_process_bt li.entry_process_line a {
	background-color: #00C34D;
}
.entry_process_bt li.entry_process_tel a {
	background-color: var(--a2);
}
.entry_process_bt li.entry_process_form a::before {
	background: url(image/ico_web.png) no-repeat;
	background-size: contain;
}
.entry_process_bt li.entry_process_line a::before {
	background: url(image/ico_line.png) no-repeat;
	background-size: contain;
}
.entry_process_bt li.entry_process_tel a::before {
	background: url(image/ico_tel.png) no-repeat;
	background-size: contain;
}
.entry_lineinfo_list {
	background-color: var(--b1);
	margin: 0 auto!important;
	width: min(96%, 800px);
	padding: 1.5em 1.5em 1.5em 3em;
	box-sizing: border-box;
}
.entry_bt a {
	display: grid;
	grid-template-columns: 2em 1fr;
	width: fit-content;
	min-width: 300px;
	margin: min(4vw, 32px) auto;
	padding: .5em 2em .5em 1em;
	text-align: center;
	color: var(--a2-t);
	font-weight: bold;
	font-size: clamp(24px, 5vw, 32px);
	border-radius: 12px;
	box-sizing: border-box;
}
.entry_bt a::before {
	content: '';
	grid-row: 1/3;
	align-self: center;
	display: block;
	aspect-ratio: 1/1;
	width: 1.5em;
}
.entry_bt a .txt_s {
	display: block;
	color: #F6FF44;
	font-size: 80%;
}
.entry_bt_line a {
	background-color: #00C34D;
}
.entry_bt_tel a {
	background-color: var(--a2);
}
.entry_bt_line a::before {
	background: url(image/ico_line.png) no-repeat;
	background-size: contain;
}
.entry_bt_tel a::before {
	background: url(image/ico_tel.png) no-repeat;
	background-size: contain;
}
table {
	border-collapse: separate;
}
.inquiry {
	width: 98%;
	margin: 0 auto;
}
/*見出し欄*/
.inquiry th,
.inquiry td{
	box-sizing: border-box;
	display: block;
	text-align:left;
	font-size:14px;
	color:#444;
	width:100%;
	overflow: hidden;
	background:#f7f7f7;
	vertical-align: middle;
}
/*通常欄*/
.inquiry th {
	padding:16px 0px 16px 10px;
}
.inquiry td{
	font-size:13px;
	padding:16px 0px;
	background:#fff;
}
/*横の行とテーブル全体*/
.entry-content .inquiry tr,.entry-content table{
	border:solid 1px #d7d7d7;	
}
.wpcf7-form-control {
	padding: 10px 0;
}
/*必須の調整*/
.haveto{
	font-size:7px;
	padding:5px;
	background:#ff9393;
	color:#fff;
	border-radius:2px;
	margin-right:5px;
	position:relative;
	bottom:1px;
}
/*任意の調整*/
.any{
	font-size:7px;
	padding:5px;
	background:#93c9ff;
	color:#fff;
	border-radius:2px;
	margin-right:5px;
	position:relative;
	bottom:1px;
}
/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
	display:block;
}
.wpcf7-textarea {
	width: 90%;
}
/*送信ボタンのデザイン変更*/
#formbtn{
	display: block;
	padding:15px;
	background:#ffaa56;
	color:#fff;
	font-size:18px;
	font-weight:bold;	 
	border-radius:2px;
	margin:25px auto 0;
}
/*送信ボタンマウスホバー時*/
#formbtn:hover{
	background:#fff;
	color:#ffaa56;
	border:2px solid #ffaa56;
}
/*注意書き*/
.inquiry_attention {
	width: 90%;
	margin: 32px auto;
	background: #fff;
	padding: 12px;
	border: 2px solid #333;
	text-align: center;
}
/*=================================
Footer_SP
=================================*/
#footer {
	background-color: var(--b1);
}
.f_inner {
	overflow: hidden;
	width: min(96%, 1300px);
	margin: 0 auto;
	padding: min(10vw, 80px) 0 min(6vw, 48px);
}
.foot_entry {
	width: min(80%, 530px);
}
.foot_entry a {
	position: relative;
	z-index:9999;
	display: block;
	width: 100%;
	text-align: center;
	background-color: var(--a2-t);
	border: 2px solid var(--a2);
	font-size: 16px;
	color: var(--b2);
	text-decoration: none;
	font-weight: bold;
	padding: 16px 24px;
	border-radius: 100px;
	box-sizing: border-box;
}
.f_nav {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 80%;
	margin:0 auto 20px;
}
.f_logo {
	margin: 0 auto 16px;
}
.f_btn a {
	display: block;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	margin: 0 auto;
	padding: 10px;
	-webkit-transition: all .3s;
	transition: all .3s;
	background-color: var(--a2);
	background-size: 3px 3px;
	border-radius: 26px;
	color: var(--a2-t);
	border: 3px solid var(--a2);
}
.f_btn a:hover {
	letter-spacing: 5px;
}
.copyright {
	background: var(--b1);
	text-align: center;
	margin:4% 0 0;
}
.copyright small {
	font-size: 1.0rem;
	font-size: 10px;
}
/*=================================
PC
=================================*/
@media screen and (min-width:782px){
	/*=================================
	nav_PC
	=================================*/
	.header_inner {
		display: grid;
		grid-template-columns: 50% 50%;
		grid-template-rows: 1fr;
		max-height: none;
	}
	.header_nav {
		justify-self: end;
		display: grid;
		grid-template-columns: auto 42px;
		margin: 0 min(2vw,24px) 0 0;
		gap: min(2vw,24px);
	}
	.logo {
		width: auto;
	}
	.nav_entry {
		position: static;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.nav_entry a {
		display: block;
		margin: 0;
		width: auto;
		padding: .5em 2em;
		background-color: var(--a2);
		color: var(--a2-t);
		text-align: center;
		font-size: clamp(16px,3vw,28px);
		border-radius: 100px;
		box-sizing: border-box;
	}
	.nav_entry a:link,
	.nav_entry a:visited {
		color: var(--a2-t);
	}
	.nav_entry {
		background-color: #fff;
	}
	.nav_entry a {
		padding: .25em 2em;
		font-size: clamp(18px,3vw,20px);
	}
	/*=================================
	header_PC
	=================================*/
	.main_layer {
		height: 680px;
	}
	.main_layer .more_btn,
	.main_ttl {
		width: 50%;
	}
	.main_img {
		height: 680px;
	}
	.main_ttl.main_ttl_left,
	.main_layer .more_btn.more_btn_left {
		margin: 0 auto 0 0;
	}
	.main_ttl.main_ttl_right,
	.main_layer .more_btn.more_btn_right {
		margin: 0 0 0 auto;
	}
	.sub_layer {
		height: 200px;
	}
	.sub_layer.footer_entry_wrapper {
		height: 300px;	
	}
	/*=================================
	Top_PC
	=================================*/
	.flex_sb.greeting_wrapper {
		display: grid;
		grid-template-columns: 1fr 60%;
	}
	.greeting_txt {
		display:flex;
		flex-direction: column;
		justify-content: center;
	}
	.greeting_img {
		height: 100%;
		overflow: hidden;
		margin: 0;
		clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
	}
	.greeting_img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.top_work_heading  {
		padding: 0;
	}
	.free_bpx {
		margin: 0 auto;
	}
	.free_box::before {
		font-size: clamp(32px,2.5vw,46px);
	}
	/*=================================
	Page_PC
	=================================*/
	.free_bg {
		margin-bottom: 30px;
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		max-width:1000px;
		margin:0 auto;
		position:relative;
		margin-bottom:5%;
	}
	.free_ttl_pic{
		width:60%;
	}
	.free_ttl_box{
		width:46%;
		position: absolute;
		right: 0;
		bottom: -15%;
	}
	.free_ttl_page {
		font-size: clamp(20px, 3vw, 32px);
	}
	.list_box .youtube {
		position: relative;
		width: 50%;
		padding-top: 0;
	}
	.list_box .youtube iframe {
		left: 0;
	}
	.list_box table{
		width: 50%;
		margin-left: 40px;
	}
	.comp_50 {
		width: 46%;
	}
	table.history th {
		width: auto;
	}
	.voice_wrap,
	.voice_wrap .job_txt_wrap {
		background-color: #ccc;
	}
	div.voice_wrap {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		padding: 16px;
	}
	.voice_wrap .job_txt_wrap {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.voice_wrap .job_pic {
		float: none;
	}
	/*=================================
	Contact_PC
	=================================*/
	.entry_process_bt {
		flex-direction: row;
		justify-content: center;
	}
	.entry_process_bt li a {
		width: fit-content;
		min-width: 250px;
	}
	table.inquiry  {
		border-spacing: 20px;
	}
	.inquiry th,
	.inquiry td{
		display: table-cell;
		width:auto;
	}
	.inquiry td{
		float: left;
		margin-left: 30px;
		width:100%;
	}
	.wpcf7-textarea {
		width: 70%;
	}
	.wpcf7-form-control {
		width: 70%;
	}
	#formbtn {
		width:350px;
	}
	/*=================================
	Footer_PC
	=================================*/
	.foot_02 {
		width: 60%;
		height: 200px;
		margin: 0 auto;
	}
	.foot_entry a {
		overflow: hidden;
		display: inline-block;
		font-size: 20px;
		background-color: var(--a2);
		border: 2px solid var(--a2);
		color: var(--b2);
		padding: 20px 24px;
	}
	.foot_entry a span {
		position: relative;
		z-index: 1;
	}
	.foot_entry a::before,
	.foot_entry a::after {
		content: "";
		display: block;
		background-color: var(--a2-t);
		width: 50%;
		height: 100%;
		position: absolute;
		top: 0;
		transition: .2s;
	}
	.foot_entry a::before {
		left: 0;
		border-radius: 100px 0 0 100px;
	}
	.foot_entry a::after {
		right: 0;
		border-radius: 0 100px 100px 0;
	}
	.foot_entry a:hover::before,
	.foot_entry a:hover::after {
		width: 0;
		background-color: var(--a2-t);
	}
	.foot_entry a:hover {
		color:  var(--a2-t);
	}
	.f_nav {
		margin:0 0 20px;
	}
	.copyright {
		padding: 16px 0;
		margin:0;
	}
	.copyright small{
		font-size: 14px;
	}
	/*=================================
	recruit
	=================================*/
	.recruit_list{
		display:flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: min(4vw, 32px);
		margin: min(8vw, 64px) auto;
	}
	.recruit_list li{
		/* 		display:flex;
		flex-direction: column;
		justify-content: space-between; */
		display: grid;
		grid-template-columns: 1fr clamp(200px, 40%, 240px);
		grid-template-rows: auto 1fr;
		gap: min(3vw, 24px);
		width: calc(50% - min(2vw, 16px));
		margin: 0;
		box-sizing: border-box;
	}
	.recruit_list_pic {
		margin: 0;
	}
	.recruit_list_name {
		align-self: end;
	}
	.recruit_list li .more_btn01 {
		grid-column: 1/3;
		align-self: end;
		margin: 0 auto;
		width: 100%;
	}
	.recruit_list li .more_btn01 a {
		width: min(70%, 530px);
	}
	.job_description{
		margin:0 auto 40px;
		max-width: 1024px;
		padding:0 0 16px;
	}
	.job_txt_wrap,
	.greeting_txt_wrap{
		display: inline-block;
		width: 50%;
		margin:0 1% 0 0;
		box-sizing:border-box;
	}
	.job_pic{
		float:right;
		width:44%;
		margin-left:2%;
		max-width:600px;
	}
	table.recruit_table th, table.recruit_table td{
		display:table-cell;
		border-top: solid 1px #888;
	}
	table.recruit_table td p {
		margin-bottom: 0;
	}
	table.recruit_table th{
		width:30%;
		background:none;
		text-align:center;
	}
	table.recruit_table tr:last-child th{
		border-bottom:solid 1px #888;
	}
}
/*=================================
Tablet
=================================*/
@media screen and (min-width:782px) and (max-width:1084px){
	.flex_sb.page_comp {
		display: block;
	}
	.page_comp {
		width: 80%;
	}
	.foot_02 {
		width: 40%;
	}
}
@media screen and (min-width:1085px){
	.header_sp {
		display: none;
	}
	.header_pc {
		display:block
	}
}
