@charset "utf-8";

/*
/*    CSS MENU
/*

/*
*********************************************************************************
/*
/* コメントタイプ
/*
/*******************************************************************************/

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
中コメント */


/*------------------------------------------------------------------------------
小コメント */


/* コメント */


/*
*********************************************************************************
/*
/* 大枠
/*
/*******************************************************************************/

/* スクロールバー全体の幅をゼロにする */
::-webkit-scrollbar {
    width: 0;
    height: 0;
}
/* もしトラック（背景部分）やサム（つまみ部分）のスタイルも変更したい場合 */
::-webkit-scrollbar-track {
    background: transparent; /* 背景を透明に */
}

::-webkit-scrollbar-thumb {
    background: transparent; /* つまみを透明に */
}

/* スクロールバーの幅を非表示に */
html {
    scrollbar-width: none; /* none に設定することで非表示に */
    scrollbar-color: transparent transparent; /* つまみ 背景 の順 */
}


body {
	position: relative;
	/*	background-color: #c2edfe;*/
}
body.no-scroll {
  overflow: hidden; /* スクロール禁止 */
}

main {
	position: relative;
	min-height: 100dvh;
}

.js_ready:after {
	opacity: 1;
}

body.js_header_move:before {
	opacity: 0;
}

body.js_footer_over:before {
	opacity: 1 !important;
}

.sec_last,
body.dir_entry-form .f_f_shiga,
body.dir_contact .f_f_shiga,
body.dir_news .f_f_shiga {
	padding-bottom: 90vw;
}

.sec_last_m {
	padding-bottom: 30vw;
}

#wrapper:before {
	content: '';
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999999;
	background: #fff;
	opacity: 1;
	pointer-events: none;
	visibility: visible;
	transition: 0.6s;
}

.js_all_img_loaded #wrapper:before {
	opacity: 0;
	visibility: hidden;
}

/*
*********************************************************************************
/*
/* BG
/*
/*******************************************************************************/

.sec_nami {
	/*margin-top: 75vh;*/
}

.js_scene {
	--scroll: 0px;
	--add-px: 19vw;
	--ui-height: calc(100lvh - 100svh);
	position: relative;
	pointer-events: none;
	z-index: 1;
}
.js_scene:after,
.js_scene:before {
	content: '';
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100lvh;
	z-index: 1;
	background-position: center bottom;
	background-size: cover;
	transform: translateZ(0);
	transition: -webkit-clip-path 1s ease-in-out,
	clip-path 1s ease-in-out,
	-webkit-mask 1s ease-in-out,
	mask 1s ease-in-out;
	pointer-events: none;
	-webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
}

.nojs_scene {
	position: relative;
}

.js_scene:before {
	--clip: calc(100% - var(--scroll) + var(--add-px) + var(--ui-height));
	-webkit-clip-path: polygon(0 var(--clip), 100% var(--clip), 100% 100%, 0% 100%);
	clip-path: polygon(0 var(--clip), 100% var(--clip), 100% 100%, 0% 100%);
	pointer-events: none;
}

.js_scene.on {
	--scroll: calc(100dvh + var(--add-px) + var(--ui-height));
	pointer-events: inherit;
}

.bg_shiga_daihatsu.sec_last {
	padding-bottom: 70vw;
}

.bg_sora:not(.js_scene):before,
.bg_sora:not(.js_scene):after,
.bg_shiga:not(.js_scene)::before,
.bg_shiga_daihatsu:not(.js_scene)::before,
.bg_daihatsu_wyamo:not(.js_scene)::before {
	position: fixed;
	content: "";
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-size: cover;
	background-position: center bottom;
	z-index: 1;
	-webkit-mask-image: none;
	mask-image: none;
	transition: 0s;
	pointer-events: none;
}

.bg_sora:not(.js_scene) > *,
.bg_sora:not(.js_scene) > *,
.bg_shiga:not(.js_scene) > *,
.bg_shiga_daihatsu:not(.js_scene) > *,
.bg_daihatsu_wyamo:not(.js_scene) > * {
	position: relative;
	z-index: 2;
}



.zindexm01,
.zindex00,
.zindex01,
.zindex02,
.zindex03,
.zindex04,
.zindex05,
.zindex06 {
	position: relative;
}
/*

.js_scene.zindex02:not(.on),
.js_scene.zindex03:not(.on),
.js_scene.zindex04:not(.on),
.js_scene.zindex05:not(.on),
.js_scene.zindex06:not(.on) {
opacity:0;

}


*/
.zindexm01{
	z-index: -1;
}
.zindex00 {
	z-index: 0;
}
.zindex01 {
	z-index: 1;
}
.zindex02 {
	z-index: 2;
}

.zindex03 {
	z-index: 3;
}

.zindex04 {
	z-index: 4;
}

.zindex05 {
	z-index: 5;
}

.zindex06 {
	z-index: 6;
}

.bg_shiga_daihatsu::before {
	position: fixed;
	content: "";
	top: 0;
	left: 0;
	width: 100vw;
	height: 100lvh;
	background-size: cover;
	background-position: center bottom;
}


/*　フッターに吸着　*/

.js_footer_over .sec_last:before,
.js_footer_over .sec_last:after,
.js_footer_over.underpage .bg_shiga_in:after,
.js_footer_over.underpage .bg_shiga_daihatsu_in:after,
.js_footer_over.underpage.detail_page .bg_shiga_daihatsu:before {
	position: absolute !important;
	top: var(--footer-offset) !important;
	bottom: auto !important;
	transform: translateY(-100%) !important;
	top: inherit !important;
	bottom: 0 !important;
	transform: inherit !important;
}

.js_footer_over.underpage .bg_shiga_daihatsu_in:after {
	bottom: -70vw !important;
}
.js_footer_over.underpage .bg_shiga.sec_last .bg_shiga_in:after {
	bottom: -90vw !important;
}

.bg_shiga:after,
.bg_orange:after,
.bg_daihatsu:after,
.bg_daihatsu_wyamo:after,
.bg_sora:after,
.bg_shiga_daihatsu:after,
.bg_sales:after,
.bg_sales02:after,
.bg_showrooma:after,
.bg_mengineer:after {
	--position: calc(100dvh - var(--scroll) + var(--ui-height));
    mask-image: url(/assets/recruit/images/common/kugiri_nami_r_sp.svg);
    mask-repeat: no-repeat;
    mask-size: 100% auto;
    mask-position: center var(--position);

	-webkit-mask-image: url(/assets/recruit/images/common/kugiri_nami_r_sp.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% auto;
    -webkit-mask-position: center var(--position);
}

.bg_shiga:before,
.bg_shiga:after {
	background-image: url(/assets/recruit/images/common/bg_shiga_sp.webp);
}

.bg_shiga:before {
	background-color: #c2edfe;
}

.bg_orange:before,
.bg_orange:after {
	background-image: url(/assets/recruit/images/common/bg_orange.webp);
}

.bg_orange:before {
	background-color: var(--lorange);
}

.bg_daihatsu:before,
.bg_daihatsu:after {
	background-image: url(/assets/recruit/images/common/bg_daihatsu_sp.webp);
}

.bg_daihatsu:before {
	background-color: #c2edfe;
}

.bg_daihatsu_wyamo:before,
.bg_daihatsu_wyamo:after {
	background-color: #c2edfe;
	background-image: url(/assets/recruit/images/common/bg_daihatsu_wyamo_sp.webp);
}

.bg_daihatsu_wyamo:before {
	background-color: #c2edfe;
}

.bg_sora:before,
.bg_sora:after {
	background-image: url(/assets/recruit/images/common/bg_sora_sp.webp);
}

.dir_entry-form .bg_sora:before,
.dir_entry-form .bg_sora:after,
.dir_contact .bg_sora:before,
.dir_contact .bg_sora:after,
.dir_news .bg_sora:before,
.dir_news .bg_sora:after {
	z-index: -1 !important;
}

.bg_sora:before {
	background-color: #c2edfe;
}

.bg_shiga_daihatsu:before,
.bg_shiga_daihatsu:after {
	background-image: url(/assets/recruit/images/common/bg_shiga_daihatsu_sp.webp);
}

.bg_shiga_daihatsu:before {
	background-color: #c2edfe;
}

.bg_sales:before,
.bg_sales:after {
	background-image: url(/assets/recruit/images/people/interview/sales_mv01_sp.webp);
	background-position: center top;
}

.bg_sales:before {
	background-color: #fff;
}

.bg_sales02:before,
.bg_sales02:after {
	background-image: url(/assets/recruit/images/people/interview/sale_smv02_sp.webp);
	background-position: center top;
}

.bg_sales02:before {
	background-color: #fff;
}

.bg_showrooma:before,
.bg_showrooma:after {
	background-image: url(/assets/recruit/images/people/interview/showrooma_mv_sp.webp);
	background-position: center top;
}

.bg_showrooma:before {
	background-color: #fff;
}

.bg_mengineer:before,
.bg_mengineer:after {
	background-image: url(/assets/recruit/images/people/interview/mengineer_mv_sp.webp);
	background-position: center top;
}

.bg_mengineer:before {
	background-color: #fff;
}

.underpage .bg_shiga_in:after,
.underpage .bg_shiga_daihatsu_in:after {
	position: fixed;
	content: "";
	background: url(/assets/recruit/images/common/people_yose.png) no-repeat center bottom /contain;
	right: 1vw;
	bottom: 0;
	height: 30.4vw;
	width: 40vw;
	z-index: 200;
	pointer-events: none;
}

.f_f_shiga {
	background: url(/assets/recruit/images/common/f_shiga_sp.png) no-repeat center bottom / 100% auto;
	min-height: 100lvh;
}

.js_scene .nami_inblock {
	padding-top: 10vw;
	transition: 0.5s ease;
	opacity: 0;
}

.js_scene.on .nami_inblock {
	animation: late-open 0.5s ease-in 1s forwards;
	position: relative;
}

@keyframes late-open {
	to {
		opacity: 1;
	}
}

.bg_nextminus {
	margin-bottom: -40vh;
}

.nojs_scene:before,.nojs_scene:after {
transform: translateZ(0);
}

/*
*********************************************************************************
/*
/* movie
/*
/*******************************************************************************/

html:not(.js_movie_ended):has(#frontpage) {
	touch-action: none;
	-webkit-overflow-scrolling: none;
	overscroll-behavior: none;
	overflow: hidden;
}

html:not(.js_movie_ended):has(#frontpage) body {
	overflow: auto;
	scrollbar-gutter: stable;
}

.loading {
	position: absolute;
	top: 0;
	left: 0;
	background: #fff;
	transition: 0.4s;
	z-index: 20;
	width: 100%;
	height: 100%;
}

.js_video_ready .loading {
	opacity: 0;
	pointer-events: none;
}

.movie {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	overflow: hidden;
}

.movie .movie_in {
	position: relative;
	width: 100vw;
	height: 100dvh;
	overflow: hidden;
}

.movie video {
	z-index: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	min-width: 100%;
	min-height: 100%;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.movie_skip {
	position: absolute;
	bottom: 3vw;
	right: 3vw;
	color: #fff;
	z-index: 10;
	text-shadow: 0px 0px 10px rgba(217, 56, 50, 1), 0px 0px 10px rgba(217, 56, 50, 1), 0px 0px 10px rgba(217, 56, 50, 1);
	font-weight: bold;
	font-family: var(--en);
	letter-spacing: 0.2em;
	z-index: 200;
}


/*
*********************************************************************************
/*
/* header
/*
/*******************************************************************************/

header {
	position: fixed;
	width: 100%;
	z-index: 2000;
}

header .logo {
	z-index: 500;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

header .logo a {
	width: 62.4vw;
	display: block;
	padding: 3vw 4vw;
}

header .fix_btn {
	margin-top: 5vw;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6vw;
	position: relative;
}

header .fix_btn a {
	text-decoration: none;
	color: #fff;
	text-align: center;
	font-weight: 700;
	background: url(/assets/recruit/images/common/nav_red.svg) no-repeat center center /contain;
	aspect-ratio: 1 / 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	letter-spacing: 0;
	line-height: 1.2;
}

header .fix_btn > li:last-child a {
	background-image: url(/assets/recruit/images/common/nav_white.svg);
	color: var(--red);
}

header .fix_btn a .en {
	font-family: var(--en);
	font-size: 2rem;
	font-weight: 700;
}


/*
*********************************************************************************
/*
/* footer
/*
/*******************************************************************************/

footer {
	background: #fff;
	padding: 8vw 4.5vw 10vw 4.5vw;
	position: relative;
	z-index: 100;
}

footer .inner {
	width: 100%;
	margin: 0;
}

footer a {
	text-decoration: none;
	letter-spacing: 0;
}


.fnav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4vw 2vw;
	position: relative;
	padding-bottom: 48vw;
	font-size: 1.5rem;
}

.fnav_li ul {
	display: none;
}

.fnav_li a {
	padding: 3vw 0 2.4vw 0;
	line-height: 1.4;
	letter-spacing: 0;
}

.fnav_li > li > a {
	display: block;
}


.fnav_li .f_contact {
	border: 1px solid var(--color);
	position: absolute;
	width: 62.4vw;
	height: 13.4vw;
	text-align: center;
	border-radius: 10vw;
	bottom: 30vw;
	left: 50%;
	transform: translate(-50%, 0%);
	letter-spacing: 0.05em;
}

.fnav_li .f_car {
	position: absolute;
	width: 62.4vw;
	text-align: center;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0%);
	letter-spacing: 0.05em;
}

.fnav_li .f_car>p+p {
	margin-top: 0.5em;
}

footer small {
	text-align: center;
	display: block;
	letter-spacing: 0.05em;
	margin-top: 10vw;
}


/*
*********************************************************************************
/*
/* モジュール
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
テキスト */

.catch {
	font-size: 1.6rem;
	line-height: 1.9;
	text-align: center;
}

.wf-loading {
	opacity: 0;
	transition: 0.5s ease;
}

.txtl_20 {
	line-height: 2;
}

.txtl_18 {
	line-height: 1.8;
}

.link_npcolor {
	color: var(--color);
}

.link_npcolor.link_noborder {
	text-decoration: none;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
タイトル */

.tl02 {
	text-align: center;
	font-size: 2.8rem;
	letter-spacing: 0;
	padding-top: 5vw;
	margin-bottom: 8vw;
	margin-top: 20vw;
}


/*------------------------------------------------------------------------------
ページタイトル */

.pagetl_block {
	text-align: center;
	letter-spacing: 0px;
	min-height: 100lvh;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding-bottom: 30vw;
	padding-top: 30vw;
}

.pagetl_block .tl {
	color: #fff;
	font-family: var(--hand);
	font-size: 4rem;
	line-height: 1.3;
}

.pagetl_block .tl_ja {
	font-size: 1rem;
}

.pagetl_block .page_copy {
	margin-top: 10vw;
}

.pagetl_block .txt {
	font-size: 1.1rem;
	text-align: left;
	line-height: 2;
	margin-top: 9vw;
}

.pagetl_block .txt p {
	display: inline;
}

.bg_sora .pagetl_block {
	display: block;
	padding-top: 50vw;
	min-height: auto;
	padding-bottom: 24vw;
}


/*------------------------------------------------------------------------------
tl_block */

.tl_block {
	margin-bottom: 15vw;
}

.tl_block .tl {
	text-align: center;
	padding-top: 35vw;
	line-height: 1.1;
}

.tl_block .tl .en {
	font-family: var(--hand);
	color: #fff;
	font-size: 4rem;
	letter-spacing: 0;
	display: block;
}

.tl_block .tl .ja {
	font-size: 1rem;
	letter-spacing: 0;
}

.tl_block .page_copy {
	text-align: center;
	margin-top: 10vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リスト */

.li_circle > li {
	padding-left: 5.6vw;
	position: relative;
	line-height: 1.6;
}

.li_circle > li:before {
	position: absolute;
	content: "";
	background: var(--red);
	width: 3.7vw;
	aspect-ratio: 1/1;
	top: 1.9vw;
	left: 0;
	border-radius: 50%;
}

.li_num {
	counter-reset: li_num;
}

.li_num > li {
	padding-left: 1.3em;
	position: relative;
}

.li_num > li:before {
	position: absolute;
	content: counter(li_num) "";
	counter-increment: li_num;
	top: 0;
	left: 0;
	text-align: right;
	width: 0.5em;
}

.li_num > li:after {
	content: ".";
	position: absolute;
	top: 0;
	left: 0.7em;
}

.li_alph {
	counter-reset: li_alph;
}

.li_alph > li {
	position: relative;
}

.li_alph > li:before {
	content: counter(li_alph, lower-alpha) "";
	counter-increment: li_alph;
	top: 0;
	left: 0;
	text-align: right;
	width: 0.5em;
	margin-right: 0.6em;
}

.li_alph > li:after {
	content: ".";
	position: absolute;
	top: 0;
	left: 0.7em;
}

.li_dot > li {
	padding-left: 1em;
	position: relative;
}

.li_dot > li:before {
	position: absolute;
	content: "・";
	top: 0;
	left: 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ボタン */

.btn_block {
	margin-top: 8vw;
	position: relative;
	z-index: 10;
}

.btn_block > li + li {
	margin-top: 3vw;
}

.btn {
	border: 1px solid var(--color);
	text-decoration: none;
	line-height: 1.6;
	background: #fff;
	border-radius: 6.6vw;
	position: relative;
	width: 100%;
	color: var(--color);
	margin: 0 auto;
	grid-template-columns: 37vw 1fr;
	display: grid;
	align-items: center;
	justify-content: center;
	text-align: left;
	padding: 0 9vw 0 0;
}

.btn:before {
	position: absolute;
	content: "";
	width: 4vw;
	height: 100%;
	top: 0;
	right: 4vw;
	transition: 0.5s ease;
	background-color: var(--red);
	-webkit-mask: url(/assets/recruit/images/common/btn_arrow.svg) no-repeat center / contain;
	mask: url(/assets/recruit/images/common/btn_arrow.svg) no-repeat center / contain;
}

.btn .en {
	font-family: var(--en);
	color: var(--red);
	font-size: 1rem;
	display: block;
	text-align: center;
	line-height: 1.2;
}

.btn.btn_red .en {
	color: #fff;
}

.btn .ja {
	display: block;
	padding: 2.8vw 0 3.3vw 0vw;
}

.btn.btn_en31 {
	grid-template-columns: 31vw 1fr;
}

.btn.btn_noen {
	padding: 2.8vw 9vw 3.3vw 9vw;
	text-align: center;
	display: block;
}

.btn.l_btn {
	line-height: 1.4;
	min-height: 16vw;
	padding: 0vw 10vw 0vw 7vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	border-radius: 8vw;
}

.btn.btn_red {
	background: var(--red);
	color: #fff;
}

.btn.btn_red:before {
	background: #fff;
}

.btn.btn_en23 {
	grid-template-columns: 23vw 1fr;
}

.btn.btn_noarrow:before {
	display: none;
}

.btn.btn_back:before {
	transform: rotate(180deg);
	right: inherit;
	left: 4vw;
}

.btn.btn_back {
	padding: 0 0 0 9vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
表 */

.table_sp_up tr {
	display: block;
	background: #fff;
}

.table_sp_up tr > * {
	display: block;
	width: 100%;
	padding: 5vw;
}

.table_sp_up th {
	background: var(--lorange);
}

.table_tl:before {
	content: "";
	background: var(--red);
	width: 3.7vw;
	aspect-ratio: 1/1;
	border-radius: 50%;
	display: inline-block;
	margin-right: 0.4em;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
画像 */

  .mask_svg svg {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden; /* SVG内部の余分なスペースを隠すため */
  }

  .img_mask {
    -webkit-clip-path: url(#svgPath);
    clip-path: url(#svgPath);
    width: 100%; /* 親要素の幅に合わせて可変 */
    height: auto; /* アスペクト比を維持 */
    display: block; /* 余分な下マージンを防ぐ */
  }

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
gmap */

.gmap {
	position: relative;
	overflow: hidden;
	height: 60vw;
}

.gmap iframe,
.gmap object,
.gmap embed {
	width: 100%;
	height: 100%;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
youtube */

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
フォーム
<dl class="form_layout"><dt><p><span class="form_tl"></span><span class="required">必須</span></p></dt><dd></dd></dl>
 */

input[type=text],
input[type=email],
select,
textarea {
	background: #fff;
	border: 1px solid #AFAAAA;
	width: 100%;
	font-size: 16px;
	padding: 2vw;
	border-radius: 1.6vw;
}

input:disabled {
	background: #f7f7f7;
	border: 1px solid #cccccc;
	color: #bbb;
}

input.minitxt {
	width: 9em;
}


/*------------------------------------------------------------------------------
フォーム前後 */

/* :where(.form_top_txt),
:where(.form_bottom_txt) {
	opacity: 0;
} */

.form_top_txt {
	margin-bottom: 13vw;
}

.form_bottom_txt {
	margin-top: 13vw;
}

.forrm_error_txt {
	margin-top: 13vw;
	border: 2px solid #ffb900;
	line-height: 1.2;
	padding: 0.8vw 4vw 1vw 4vw;
	font-size: 1.5rem;
}


/*------------------------------------------------------------------------------
セレクトボックス
<div class="selectblock"><select name="pref" id="pref" class="select_style" required=""><option  value="" selected="" hidden="">選択してください</option><option value="A">A</option></select></div>
 */

.selectblock {
	position: relative;
}

select::-ms-expand {
	display: none;
}

.selectblock:before {
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	content: "";
	border: #aeaeae 1px solid;
	background: #e1e1e1;
	height: 100%;
	width: 30px;
	border-radius: 0 3px 3px 0;
	pointer-events: none;
}

.selectblock:after {
	position: absolute;
	content: "";
	top: 46%;
	right: 10px;
	-webkit-transform: translate(0, -50%) rotate(-45deg);
	transform: translate(0, -50%) rotate(-45deg);
	width: 10px;
	height: 10px;
	border-left: 2px solid #727272;
	border-bottom: 2px solid #727272;
	pointer-events: none;
}


/*------------------------------------------------------------------------------
テキストエリア
<textarea name="message"></textarea>
 */

textarea {
	height: 40vw;
	resize: vertical;
}


/*------------------------------------------------------------------------------
ラジオボタン
<ul><li class="radio_style"><label><input type="radio" name="type" value="A"><span class="radio_txt">A</span></label></li></ul>
*/

.radio_style + .radio_style {
	margin-top: 1vw;
}

.radio_style label {
	/* display: inline-block; */
	/* margin: 0 5px 0 0; */
}

.radio_style input[type="radio"],
.wpcf7-radio input[type="radio"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.radio_style span,
.wpcf7-radio .wpcf7-list-item-label {
	padding-left: 8vw;
	position: relative;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.radio_style span:before,
.wpcf7-radio .wpcf7-list-item-label:before {
	content: "";
	display: block;
	border: 1px solid var(--red);
	background: #fff;
	border-radius: 50%;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.radio_style input:checked + .radio_txt:after,
.wpcf7-radio .wpcf7-list-item-label:after {
	content: "";
	display: block;
	width: 3.2vw;
	height: 3.2vw;
	background: var(--red);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0.8vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.wpcf7-radio .wpcf7-list-item-label:after {
	display: none;
}

.wpcf7-radio input[type="radio"]:checked + span.wpcf7-list-item-label::after {
	display: block;
}


/*------------------------------------------------------------------------------
チェックボックス
<ul class="checkbox_style"><li><label><input type="checkbox" name="pass" value="A"><span class="checkbox_txt">A</span></label></li></ul>
 */

.checkbox_style label {
	display: inline-block;
	margin: 0 5px 0 0;
}

.checkbox_style input[type="checkbox"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.checkbox_style span {
	padding-left: 8vw;
	position: relative;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.checkbox_style span:before {
	content: "";
	display: block;
	border: 1px solid #dedede;
	background: #fff;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.checkbox_style input:checked + .checkbox_txt:after {
	content: "";
	display: block;
	position: absolute;
	top: 0.6vw;
	left: 1.5vw;
	width: 2vw;
	height: 3.5vw;
	transform: rotate(40deg);
	border-bottom: 3px solid #fe4f78;
	border-right: 3px solid #fe4f78;
}


/*------------------------------------------------------------------------------
ボタン
<div class="formbtn_area"><button class="form_btn" type="submit">送信</button></div>
 */

/* :where(.formbtn_area) {
	opacity: 0;
} */

.formbtn_area {
	margin-top: 13vw;
}

.formbtn_box {
	position: relative;
}

.formbtn_box:before {
	position: absolute;
	content: "";
	background: #fff;
	background-color: #fff;
	-webkit-mask: url(/assets/recruit/images/common/btn_arrow.svg) no-repeat center / contain;
	mask: url(/assets/recruit/images/common/btn_arrow.svg) no-repeat center / contain;
	width: 7vw;
	height: 100%;
	top: 50%;
	right: 5vw;
	transform: translate(0%, -50%);
	z-index: 1;
	pointer-events: none;
	transition: 0.5s ease;
}

.form_btn {
	background: var(--red);
	color: #fff;
	border: 1px solid var(--color);
	font-size: 2.5rem;
	letter-spacing: 0;
	width: 100%;
	text-align: center;
	padding: 1.7vw 14vw 3.1vw 11vw;
	position: relative;
	border-radius: 10vw;
	transition: 0.5s ease;
}


/*------------------------------------------------------------------------------
ラジオボタン+チェックボックスの並び
<ul class="form_narabi"><li></li></ul>
 */

.form_narabi {
	margin-top: -4vw;
}

.form_narabi li {
	display: inline-block;
	margin-top: 4vw;
}


/*------------------------------------------------------------------------------
フォームレイアウト */


.form_layout {
	background: #fff;
}

.form_layout + .form_layout {
	border-top: 1px solid #B8D3EA;
}

.form_layout > dt {
	background: var(--lorange);
	padding: 4.3vw 5.3vw;
}

.form_layout > dt p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.form_layout > dt .form_tl {
	font-size: 1.8rem;
}

.form_layout > dd {
	padding: 4.3vw 5.3vw;
	border-top: 1px solid #B8D3EA;
}


/*------------------------------------------------------------------------------
必須 */

.form_layout .required {
	background: var(--red);
	color: #fff;
	font-size: 1.2rem;
	letter-spacing: 2px;
	height: 5.4vw;
	width: 10.7vw;
	border-radius: 1vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-left: 4vw;
	padding: 0px 0px 0.2vw 0.1vw;
}


/*------------------------------------------------------------------------------
追加テキスト
<dd class="txt_tuika"><input type="text" name="A" class="minitxt"><p>万円</p></dd>
 */

.form_layout .txt_tuika,
.form_layout .txt_tuika > div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
}

.form_layout .txt_tuika > div + div {
	margin-top: 3vw;
}

.form_layout .txt_tuika input + p,
.form_layout .txt_tuika p + input {
	margin-left: 0;
}

.form_layout .txt_tuika > .txt_tuika_b1 {
	display: grid;
	grid-template-columns: 1.6em 1fr;
}


/*------------------------------------------------------------------------------
form_confirm
<input type="text" name="name" value="山田太郎" disabled>
 */

.form_layout .wpcf7-not-valid-tip {
	display: none;
}

.form_confirm input:disabled {
	background: none;
	border: none;
	padding-left: 0 !important;
	padding-right: 0 !important;
	-webkit-text-fill-color: black;
	opacity: 1;
	color: #000;
	font-size: 1.8rem;
}

.form_confirm input.minitxt:disabled {
	width: 3em;
}

.submit_btn_reverse {
	background: #c3c3c3;
	padding: 3.5vw 9vw;
	font-size: 1.8rem;
}

.form_submit_btn_block li + li {
	margin-top: 10vw;
}

.form_confirm .form_layout .txt_tuika input + p,
.form_confirm .form_layout .txt_tuika p + input {
	margin-left: 0;
}

.form_confirm .form_layout > dd {
	padding: 1px 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
line_area */

.line_area {
	position: relative
}

.line_area .stl {
	background: #fff;
	border: 1px solid var(--color);
	width: 18.6vw;
	height: 6.4vw;
	line-height: 1.3;
	text-align: center;
	padding-right: 1px;
	border-radius: 1.6vw;
	margin-bottom: 5vw;
}

.line_area .sstl {
	font-size: 2rem;
	margin-bottom: 5vw;
}

.line_area .li_line_area {
	font-size: 1.2rem;
}

.line_area .li_line_area > li {
	background: url(/assets/recruit/images/common/hr04.png) repeat-x left bottom / auto 1vw;
	padding: 1.5vw 0 2.5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
アンカーリンク */

.page_anchor {
	margin-top: 25vw;
	width: 100%;
}

.page_anchor li + li {
	margin-top: 2vw;
}

.page_anchor .btn {
	width: 100%;
}

.page_anchor .btn:before {
	width: 4vw;
	background-color: var(--red);
	-webkit-mask: url(/assets/recruit/images/common/btn_uarrow.svg) no-repeat center / contain;
	mask: url(/assets/recruit/images/common/btn_uarrow.svg) no-repeat center / contain;
}

.page_anchor .btn:not(.btn_l) .ja {
	text-align: center;
	padding-left: 0;
}

.bnr_anchor > li + li {
	margin-top: -5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
flow_block */


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
FAQ */

.qa_block > dt,
.qa_block > dd {
	position: relative;
	min-height: 12vw;
}

.qa_block > dt {
	font-size: 2rem;
	padding-top: 14vw;
}

.qa_block > dt:before,
.qa_block > dd:before {
	position: absolute;
	content: "Q";
	background: url(/assets/recruit/images/faq/faq_q.svg) no-repeat center center /contain;
	width: 12vw;
	aspect-ratio: 1/1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-family: var(--en);
	font-size: 2.5rem;
	line-height: 1;
	top: 0;
	left: 0;
	padding-bottom: 3px;
}

.qa_block > dt:before {
	color: #fff;
}

.qa_block > dd:before {
	content: "A";
	background-image: url(/assets/recruit/images/faq/faq_a.svg);
	color: var(--red);
}

.qa_block > dd {
	padding-top: 14vw;
	margin-top: 6vw;
}

.qa_block {
	margin-bottom: 10vw;
	padding-bottom: 10vw;
	background: url(/assets/recruit/images/common/hr04.png) repeat-x left bottom / auto 1vw;
}

.qa_block_last {
	margin-bottom: 0 !important;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ブロック */

.kakomi {
	border: 1px solid var(--color);
	border-radius: 2.1vw;
	padding: 4.2vw;
	letter-spacing: 0;
	line-height: 2;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
並び */

.glowover_inner {
	margin: -10vw -10vw 0 -10vw;
}

.glowover_inner > li + li {
	margin-top: -5vw;
}


/*
*********************************************************************************
/*
/* ページ固有
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
TOP */

#frontpage:before,
#frontpage:after {
	z-index: 110;
	position: fixed;
	content: "";
	height: 30.4vw;
	width: 100%;
	bottom: 0;
	transition: opacity var(--transition);
	left: 0;
	pointer-events: none;
}

#frontpage:before {
	background: url(/assets/recruit/images/common/fixpeople.png) no-repeat center bottom / auto 100%;
}

#frontpage:after {
	background: url(/assets/recruit/images/common/fixpeople_new.png) no-repeat center bottom / auto 100%;
}

.js_footer_over#frontpage:before,
.js_footer_over#frontpage:after {
	position: absolute !important;
	top: var(--footer-offset) !important;
	bottom: auto !important;
	transform: translateY(-100%) !important;
}

#frontpage .lead_txt {
	font-size: 1.2rem;
	text-align: center;
	margin: 5vw -10vw 0;
	line-height: 2;
}

#frontpage .yoko_scroll > .scroll_box:first-of-type {
	width: 100vw;
}

#interview .inner,
#benefit_career .inner {
	width: 100vw;
	margin: 0;
}

#frontpage .yoko_scroll {
	display: flex;
	width: fit-content;
	align-items: center;
}

#frontpage .scroll_box_li {
	display: flex;
	width: fit-content;
	margin-left: 7vw;
}

#frontpage .scroll_box_li li {
	width: 50rem;
}

#frontpage .scroll_box_li .wide_box {
	width: 100rem;
	display: flex;
}

#frontpage .js_horizontal_scroll {
	--sticky-container-height: 100vh;
	height: var(--sticky-container-height);
	min-height: 100vh;
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
}

#frontpage .js_horizontal_scroll .js_sticky {
	--item-height: 0px;
	position: sticky;
	display: flex;
	flex-direction: column;
	width: 100%;
	bottom: calc(50% - min(var(--item-height), 100vh) / 2);
}

#frontpage .js_scroller {
	overflow: hidden;
}


/*------------------------------------------------------------------------------
mv */

#frontpage .mv_img {
	padding: 10vh 0 40vh;
	height: 100lvh;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-size: 5.3vw;
	text-align: center;
}
/*------------------------------------------------------------------------------
NEWS */
#frontpage .top_news_block {
	background: rgb(255 255 255 / 70%);
	border-radius: 8vw;
	padding: 6vw;
}

#frontpage .top_news_block .tl {
	padding-bottom: 3vw;
}

#frontpage .top_news_block .news_list .day_block {
	font-size: 1.2rem;
}

#frontpage .top_news_block .news_list .cat a {
	font-size: 1rem;
	width: 22vw;
}

#frontpage .top_news_block .news_list .txt a  {
	font-size: 1.2rem;
}

#frontpage .top_news_block .news_list>li:last-child .txt a {
	padding-bottom: 0;
}

#frontpage .top_news_block .news_list>li:last-child {
	background: no-repeat;
	padding-bottom: 0;
}


/*------------------------------------------------------------------------------
about */

#frontpage #about {
	margin-bottom: -40vh;
}

#frontpage #about .tl_block .tl {
	/* padding-top: 0; */
}

#frontpage .top_about_link {
	margin-top: 23vw;
}

#frontpage .top_about_link > div {
	position: relative;
}

#frontpage .top_about_link01:before {
	position: absolute;
	content: "";
	background: url(/assets/recruit/images/top/about_bgcircle01.png) no-repeat center center / contain;
	width: 106vw;
	height: 92vw;
	z-index: 10;
	left: -24vw;
	top: 5vw;
}

#frontpage .top_about_link > div .img {
	width: 52.6vw;
	position: absolute;
	top: -16vw;
	right: -16vw;
	z-index: 10;
}

#frontpage .top_about_link .txt {
	position: relative;
	z-index: 20;
	padding-top: 30vw;
	width: 72vw;
	margin-left: -2vw;
}

#frontpage .top_about_link .btn_block {
	position: relative;
	z-index: 20;
	margin: 13vw 0.67vw 0 -2vw;
}

#frontpage .top_about_link02:before {
	position: absolute;
	content: "";
	background: url(/assets/recruit/images/top/about_bgcircle02.png) no-repeat center center / contain;
	width: 92.3vw;
	height: 86.4vw;
	z-index: 10;
	right: -19vw;
	top: 5vw;
}

#frontpage .top_about_link > div + div {
	margin-top: 2vw;
}

#frontpage .top_about_link .top_about_link02 .txt {
	width: 65vw;
	margin: 0 -2.8vw 0 auto;
	padding-top: 15vw;
}

#frontpage .top_about_link02 .btn_block {
	margin: 6vw 0 0 auto;
}

#frontpage .top_about_link .top_about_link02 .btn_block a {
	margin: 0 0 0 auto;
	width: 62.4vw;
	grid-template-columns: 27vw 1fr;
}


/*------------------------------------------------------------------------------
interview */


#frontpage #interview .tl {
	padding-top: 0;
}

#frontpage #interview .yoko_scroll .scroll_box_li > li {
	width: 93vw;
	position: relative;
	padding-top: 4vw;
}

#frontpage #interview .yoko_scroll .scroll_box_li > li a {
	text-decoration: none;
	color: var(--color);
	transition: 0.5s ease;
	opacity: 1;
}

#frontpage #interview .yoko_scroll .scroll_box_li > li + li {
	margin-left: 5vw;
}

#frontpage #interview .yoko_scroll .scroll_box_li .role {
	background: url(/assets/recruit/images/top/interview_stl.svg) no-repeat center center /contain;
	width: 26.6vw;
		z-index: 20;
	aspect-ratio: 1 / 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	position: absolute;
	top: 0;
	left: -5vw;
}

#frontpage #interview .yoko_scroll .scroll_box_li .name_box {
	width: 77.3vw;
	margin: 2vw auto 1vw;
	font-size: 1rem;
}

#frontpage #interview .yoko_scroll .scroll_box_li .txt {
	width: 77.3vw;
	margin: 0vw auto 0;
	line-height: 3.5rem;
	background: url(/assets/recruit/images/common/hr04_top_interview.png) repeat left 0.1vw / auto 3.6rem;
	padding-bottom: 2vw;
}
#frontpage .sec_last {
	padding-bottom: 50vh;
	padding-top: 10vh;
}


/*------------------------------------------------------------------------------
people */

#frontpage #people {
	margin-bottom: -40vh;
}

#frontpage #people .col03 {
	margin-top: 18vw;
}

#frontpage #people .col03 a {
	display: block;
}

#frontpage #people .col03 > li + li {
	margin-top: -3vw;
}


/*------------------------------------------------------------------------------
benefit_career */

#frontpage #benefit_career .tl {
	margin-top: 0;
	padding-top: 0;
}

#frontpage #benefit_career .yoko_scroll .scroll_box_li > li {
	width: 93.333333vw;
	padding-top: 0;
}

#frontpage #benefit_career .yoko_scroll .scroll_box_li > li:nth-child(2) {
	width: 173.333333vw;
}


/*------------------------------------------------------------------------------
internship */

#frontpage #internship {
	margin-bottom: -40vh;
}

#frontpage #internship .btn {
	width: 62.4vw;
	grid-template-columns: 27vw 1fr;
}


/*------------------------------------------------------------------------------
QA */

#frontpage #qa {
	min-height: 100vh;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin-bottom: -40vh;
	padding-bottom:35vw;
}

#frontpage #qa .tl_block {
	padding-top: 0;
}

#frontpage #qa .btn {
	width: 62.4vw;
	grid-template-columns: 27vw 1fr;
}


/*------------------------------------------------------------------------------
entry */


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
記事ページ詳細 */

body.detail_page:not(#news_detail) .article_con {
	margin-top: -8vw;
	padding-bottom: 70vw;
}

body.detail_page .article_con h2 {
	font-size: 2.8rem;
	line-height: 1.2;
	letter-spacing: 0;
	position: relative;
	background: url(/assets/recruit/images/common/hr06.png) repeat-x left bottom / auto 1.6vw;
	padding-bottom: 7vw;
}

body.detail_page .article_con h3 {
	font-size: 2rem;
	line-height: 1.4;
}

body.detail_page .article_con h4 {
	font-size: 1.6rem;
	line-height: 1.4;
}

body.detail_page .article_con .txt,
body.detail_page .article_con .hosoku {
	line-height: 2;
}

body.detail_page:not(.single-news) .article_con > * {
	/* opacity: 0; */
}

body.detail_page .article_con > *:not(.mask_svg),
body.detail_page .article_con > .with_img > .txt_block > *:not(:first-child),
body.detail_page .article_con .kakomi > *:not(:first-child),
body.detail_page .article_con .sent > p + p {
	margin-top: 6vw;
}

body.detail_page .article_con .kakomi {
	border: 1px solid var(--color);
	border-radius: 2.1vw;
	padding: 7.7vw;
}

body.detail_page .article_con .img_block {
	margin-top: 8vw;
}

body.detail_page .article_con > *:not(.mask_svg) + .with_img h2,
body.detail_page .article_con > *:not(.mask_svg) + h2 {
	margin-top: 26vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
お知らせ*/

:where(.news_list > li) {
	opacity: 0;
}

.news_list > li {
	background: url(/assets/recruit/images/common/hr04.png) repeat-x left bottom / auto 1vw;
}

.news_list > li + li {
	margin-top: 5vw;
}

.news_list a,
.news_detail_tl a {
	text-decoration: none;
}

.news_list .day_block,
.news_detail_tl .day_block {
	display: grid;
	grid-template-columns: 6.5em 1fr;
	align-items: center;
	margin-bottom: 2vw;
}

.news_list .cat a,
.news_detail_tl .cat a {
	background: #fff;
	color: var(--color);
	font-size: 1.2rem;
	width: 24vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding: 0 2px 3px 1px;
	margin-top: 0.1em;
	border-radius: 10vw;
}

.news_list .cat.cat_orientation a,
.news_detail_tl .cat.cat_orientation a {
	color: var(--red);
}

.news_list .txt a {
	color: var(--color);
	padding-bottom: 5vw;
	line-height: 1.6;
	letter-spacing: 0;
}

.news_detail_tl {
	padding-top: 58.5vw;
	margin-top: 0 !important;
}

.news_detail_tl .tl {
	background: url(/assets/recruit/images/common/hr06.png) repeat-x left bottom / auto 1vw;
	padding-bottom: 4vw;
	line-height: 1.6;
	letter-spacing: 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
about */

.about_top-message figure {
	margin: -5vw -20vw 10vw 20vw;
}

.about_top-message .lead {
	font-size: 2rem;
	margin-bottom: 8vw;
}

.about_top-message .txt_block .sent {
	font-size: 1.2rem;
	line-height: 2;
}

.about_ecruiter-message figure {
	margin: -5vw -20vw 10vw 0vw;
	width: 100vw;
}

.about_ecruiter-message .txt_block .lead {
	font-size: 2.9rem;
	line-height: 1.7em;
	margin-bottom: 4vw;
}

.about_ecruiter-message .txt_block .lead .lead_border {
	background: url(/assets/recruit/images/common/hr06.png) repeat-x left bottom / auto 1.3vw;
	color: var(--red);
	display: inline-block;
}

.about_ecruiter-message .txt_block .name {
	font-size: 1.2rem;
	letter-spacing: 0;
}

.about_ecruiter-message .txt_block .sent {
	margin-top: 9vw;
	font-size: 1.2rem;
	line-height: 2;
}

.about_ecruiter-message + .about_ecruiter-message {
	margin-top: 30vw;
}

.about_ecruiter-message_r figure {
	margin: -5vw 0 10vw -20vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
数字で見る滋賀ダイハツ */

#about_number_index .page_block01 {
	margin: 0 -10vw;
}

#about_number_index .page_block01 > li:last-child {
	margin-top: -10vw;
}

#about_number_index .awards_block {
	position: relative;
	margin-top: 26.6vw;
}

#about_number_index .awards_block:before {
	position: absolute;
	content: "";
	background: url(/assets/recruit/images/about/number/badge.png) no-repeat right top / contain;
	width: 21.3vw;
	height: 25.6vw;
	top: 0;
	right: 0;
}

#about_number_index .page_block02 {
	margin-top: 26.6vw;
}

#about_number_index .page_block02 > li + li {
	margin-top: 5vw;
}

#about_number_index .page_block03 {
	margin: 26.6vw -10vw 0;
}

#about_number_index .page_block04 {
	margin: 26.6vw 0 0;
}

#about_number_index .page_block04 > li + li {
	margin-top: 5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
職種紹介 */

#people_index .anchor .glowover_inner {
	margin-top: 10vw;
	margin-bottom: 10vw;
}

#people_index .people_list figure {
	margin-bottom: 10vw;
}

#people_index .people_list_area section + section .tl_block .tl {
	padding-top: 30vw;
}

#people_index .people_list .sent {
	font-size: 1.2rem;
	line-height: 2;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
社員インタビュー */

#people_interview_index .interview_movie {
	margin-top: 15vw;
}

#people_interview_index .bg_sales02 .nami_inblock {
	padding-top: 100vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
福利厚生・制度 */

#benefit_index #child-rearing td div {
	position: relative;
	padding-bottom: 46vw;
}

#benefit_index #child-rearing td div:before {
	position: absolute;
	content: "";
	background: url(/assets/recruit/images/benefit/kurumin.png) no-repeat right top / contain;
	width: 38.2vw;
	height: 42.2vw;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0%);
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
キャリア支援・研修 */

#career_index .page_img01 {
	padding: 0 5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
インターンシップ・各種講座 */

#internship_index .internship_box figure {
	width: 106vw;
	margin-left: -5vw;
}

#internship_index .internship_box .box_tl {
	padding-top: 7vw;
	font-size: 2rem;
	margin-bottom: 6vw;
}

#internship_index .internship_box .box_stl {
	padding-top: 7vw;
	font-size: 2rem;
	margin-bottom: 3vw;
}

#internship_index .internship_block + .internship_block {
	margin-top: 15vw;
}

#internship_index .internship_block_r figure {
	margin: 0 auto 0 -20vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
採用要項 */

#entry_index .pagetl_block + .glowover_inner {
	margin-top: 10vw;
	margin-bottom: 10vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
中途採用募集要項 */

#mid-career_index .col03 > li + li {
	margin-top: 9vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
プライバシーポリシー */

.dir_privacy-policy .policy_tl02 {
	margin-top: 20vw;
	background: #fff;
	font-size: 1.7rem;
	border-radius: 1.6vw;
	line-height: 1.3;
	padding: 1.4vw 2vw 1.8vw 3vw;
	letter-spacing: 0px;
	margin-bottom: 8vw;
}

.dir_privacy-policy .policy_tl03 {
	padding-top: 13vw;
	font-size: 1.7rem;
	border-radius: 1.6vw;
	line-height: 1.5;
	letter-spacing: 0.05em;
	margin-bottom: 8vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
404 */

.block_404 {
	text-align: center;
	padding-top: 40vw;
}

.block_404 .tl {
	font-size: 4rem;
	letter-spacing: 0;
	font-family: var(--en);
	margin-bottom: 1vw;
}

.block_404 .btn_block {
	width: 62.4vw;
	margin: 8vw auto 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
追記 */

/* フォーム */
.form_layout + [data-class="wpcf7cf_group"],
[data-class="wpcf7cf_group"] + .form_layout,
[data-class="wpcf7cf_group"] + [data-class="wpcf7cf_group"] { border-top: 1px solid #B8D3EA; }
.entry_flow_list { list-style: none; margin: 0 auto; padding: 0; text-align: center; position: relative; padding: 40px; border-radius: 8px; border: 2px solid #D93832;}
.entry_flow_list li { position: relative; padding: 1.6rem 1rem; background-color: #fff; border-radius: 10px; position: relative; }
.entry_flow_list li + li { margin-top: 52px; }
.entry_flow_list li + li:before { content: ""; display: block; width: 20px; height: 32px; aspect-ratio: 8/5; background-image: url(../images/common/arrow.svg); position: absolute; left: 50%; top: -42px; transform: translateX(-50%); }
.entry_flow_title { display: block; font-size: 2.5rem; font-weight: bold; color: #4d2c14; line-height: 1.4; }
.entry_flow_note { display: block; margin-top: 0.5rem; font-size: 1.6rem; color: #4d2c14; }

@media screen and (max-width:768px) {
	.entry_flow_list { padding: 20px; }
	.entry_flow_title { font-size: 1.8rem; }
	.entry_flow_note { font-size: 1.4rem; }
}

/* ABOUTの社長に名前追加 */
.name-large { font-size: 2.5rem; line-height: 1.4; }
.name-large span { font-size: 1.6rem; display: block; }

@media screen and (max-width:768px) {
	.name-large { font-size: 1.8rem; }
	.name-large span { font-size: 1.4rem; display: block; }
}

/* テキストの段落ち対応 */
.dir_evaluation #cont3 .txt p { letter-spacing: 0.02em; }
.dir_evaluation #cont7 .txt p { letter-spacing: 0; }
.dir_dx-support #cont4 .txt p { letter-spacing: 0.02em; }