@charset "utf-8";

/*
/*    CSS(pctb) MENU
*/
:root{

	--header_height: 76px;
}
body {
	min-width: 1240px;
	overflow-x: auto;
}

.under_page main {
	width: 1200px;
	margin-inline: auto;
	margin-top: 80px;
	display: grid;
	grid-template-columns: 240px 960px;
	align-items: start;
	padding-top: 0;
}


.under_page .page_con {
	width: 100%;
	margin: 0;
}

.under_page main {
	min-height: calc(100vh - var(--footer-height) - 120px - var(--header_height));
}

/*
*********************************************************************************
/*
/* header
/*
/*******************************************************************************/
header{
	position: sticky;
}
header .h_top {
	padding: 13px 0;
	width: 350px;
}


header .h_top .logo {
	width: 304px;
}

header .h_top .logo a .ja {
	font-size: 1.6rem;
}

header .h_top .logo a img {
	width: 160px;
}

header .h_inner {
	height: var(--header_height);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding-inline: 24px;
}

header .nav_con {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
}


header .gnav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

header .gnav a {font-weight: 700;font-size: 1.2rem;color: var(--green);}

header .gnav>li {
	position: relative;
}
header .gnav>li::before,
header .gnav>li::after{	
	position: absolute;
	content: "";
	bottom: 0;
	width: 30px;
	height: 30px;
	pointer-events:none;
	transition: 0.5s ease;
}
header .gnav>li::before {
	left: -30px;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

header .gnav>li::after {
	right: -30px;
clip-path: polygon(0 0, 0% 100%, 100% 100%);
}
header .gnav>li:hover::before,
header .gnav>li:hover::after{
	pointer-events:inherit;
	transition: 0.5s ease;
}
header .gnav >li>a {
	display: block;
	padding: 12px 12px;
}

header .gnav ul {
	position: absolute;
	top: 100%;
	pointer-events: none;
	transition: 0.5s ease;
	opacity: 0;
	width: 220px;
	background: var(--beige);
	left: 50%;
	transform: translate(-50%, 0%);
	border-radius: 8px;
	text-align: center;
	padding: 8px 0;
}

header .gnav >li:hover ul {
	opacity: 1;
	pointer-events: inherit;
}
header .gnav>li ul::before {
	position: absolute;
	content: "";
	clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	background: var(--beige);
	width: 21px;
		height:11px;
	top: -10px;
	left: 50%;
	transform: translate(-50%, 0%);
}


header .gnav ul a {
	display: block;
	padding: 9px 12px 10px 12px;
	line-height: 1.3;
	transition: 0.5s ease;
	color: var(--green);
	background: #00953800;
}
header nav .btn_area {
	gap: 8px;
	padding: 0;
}

header nav .btn_area a {
	font-size: 1.2rem;
	padding: 6px 16px 8px 10px;
	width: 120px;
	border-radius: 8px;
	height: 28px;
	min-height: inherit;
			min-width: inherit;
}


header nav .btn_area a::after {
	width: 12px;
	right: 5px;
}

header nav > .nav_con > .gnav > li.special_movie {
	background: none;
	border: none;
	padding: 0 12px 0 0;
}

header nav > .nav_con > .gnav > li.special_movie > a {
	padding: 1px 23px 3px 17px;
	border-radius: 8px;
	box-shadow: 0 0 4px 0  #fff;
	transition: 0.5s ease;
}

header nav > .nav_con > .gnav > li.special_movie > a:hover {
	opacity: 1;
	box-shadow: 0 0 12px 0 #fff;
	transition: 0.5s ease;
}

header nav > .nav_con > .gnav > li.special_movie > a::after {
	width: 12px;
	right: 8px;
}


/*
*********************************************************************************
/*
/* aside
/*
/*******************************************************************************/

.under_page .page_side {
	margin: 40px auto 0 0;
	position: sticky;
	top: calc(var(--header_height) + 40px);
	left: 0;
	width: 160px;
}
.under_page .page_side .page_tl {
	writing-mode: vertical-rl;
	text-orientation: mixed;
	margin-left: -2px;
}

.under_page .page_side .page_tl span {
	font-size: 6.8rem;
	background: linear-gradient(to right, rgba(247, 246, 245, 0) 13%, var(--beige) 13.1%, var(--beige) 86.9%, rgba(247, 246, 245, 0) 87%); /* 背景の色 */
	padding: 3px 0px; 
	line-height: 1.2; 
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.under_page:is(.page_care-worker,.page_general-affair,.page_medical-care,.page_care-manager,.page_working-conditions,.dir_faq) .page_side .page_tl span {
	font-size: 5rem;
}
.under_page .page_side .page_tl:has(em) {
	padding-top: 0;
}


.page_side em:not([class]) {
	gap: 4px;
	top: 0;
	right: -32px;
}
.page_side em:not([class]) i {
	width: 28px;
	height: 37px;
	border-radius: 8px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding-bottom: 3px;
}

.under_page .page_side .page_tl:has(em:not([class])) {
	padding-top: 0;
}
.page_side em.txts {
	font-size: 2.4rem;
	padding: 5px 0px 6px 0px;
	border-width: 8px 20px 8px 20px;
	margin: 5px 0 -8px 0;
	vertical-align: 0;
}
.under_page .page_side .side_nav {
	margin-top: 40px;
}
.under_page .page_side .side_nav>li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.under_page .page_side .side_nav>li+li {
	margin-top: 15px;
}

.under_page .page_side .side_nav a {
	text-decoration: none;
	color: var(--green);
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.4;
	padding-left: 5px;
	transition: 0.5s ease;
	position: relative;
	padding-left: 0;
}
.under_page .page_side .side_nav>li.cr a {
	font-size: 2.4rem;
	transition: 0.5s ease;
	padding-left: 16px;
}

.under_page .page_side .side_nav>li .cr_br {
	display: none;
}

.under_page .page_side .side_nav>li.cr .cr_br {
	display: block;
}
.under_page .page_side .side_nav a::before {
	background: var(--green);
	position: absolute;
	content: "";
	top: 2px;
	left: 0;
	transition: 0.5s ease;
	width: 0;
	height: calc(100% - 7px);
}

.under_page .page_side .side_nav li.cr a::before {
	transition: 0.5s ease;
	width: 6px;
	top: 5px;
}




/*
*********************************************************************************
/*
/* footer + pagetop
/*
/*******************************************************************************/


footer {
	margin-top: 120px;
	padding-block: 120px;
}

.under_page footer {
	margin-top: 120px;
}

footer .f_con {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
footer .f_tl {
	font-size: 4rem;
	width: 100%;
}


footer nav {
	width: 664px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	align-content: flex-start;
	flex-direction: row;
	gap: 20px 40px;
}

footer nav .f_nav>dt {
	padding-left: 13px;
	margin-bottom: 10px;
	margin-top: 0;
}

footer nav .f_nav>dt::before {
	top: 1px;
}

footer nav .f_nav dd li+li {
	margin-top: 3px;
}

footer nav .f_nav dd a {
padding: 3px 0;
		line-height: 1.5;
}

footer .f_info {
	margin-top: 65px;
	width: 415px;
}

footer .f_info .copy {
	margin-bottom: 15px;
}

footer .f_info .f_info_li {
	margin-top: 10px;
	display: flex;
	flex-direction: row;
	gap: 20px;
}

footer .f_info .f_info_li a {
	padding-right: 15px;
}
footer .f_info .f_info_li a::after {
	width: 12px;
	top: 4px;
}


footer small {
	margin-top: 10px;
}

/*
*********************************************************************************
/*
/* モジュール
/*
/*******************************************************************************/

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ブロック */


.beta {
	background: var(--beige);
	padding: 24px;
}

.beta .tl {
	font-size: 2.4rem;
	margin-top: 10px;
	margin-bottom: 30px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
テキスト */
.pick {
	font-size: 2.4rem;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
画像 */
.umv {
	box-shadow: -40px -40px 0 var(--d_pink);
	margin: 40px 0 40px 0px;
}
.umv02 {
	gap: 60px;
}

.umv02>li {
	box-shadow: -40px -40px 0 0 var(--d_pink);
	margin: 40px 0 40px 0;
}


.figure_deco_o_l_b {
	box-shadow: -40px 40px 0 0 var(--mauve);
	margin-left: 0;
}
.figure_deco_y_r_t {
	box-shadow: 40px -40px 0 0 var(--blue);
	margin-right: 0;
}

.figure_deco_y_r_b {
	box-shadow: 40px 40px 0 0 var(--blue);
	margin-right: 0;
}

.figure_deco_p_l_t {
	box-shadow: -40px -40px 0 0 var(--d_pink);
	margin-left: 0;
}
figcaption {
	margin-top: 10px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
タイトル */



.tl01 {
	padding-left: 16px;
	margin-bottom: 15px;
	margin-top: 120px;
}

.tl01::before {
	top: 1px;
}

.tl02 {
	font-size: 4rem;
	margin-top: 30px;
	margin-bottom: 15px;
}
.tl03 {
	font-size: 2.4rem;
	margin-top: 30px;
	margin-bottom: 30px;
}

.tl04 {
	font-size: 4rem;
	margin-top: 110px;
	margin-bottom: 35px;
}

.tl05 {
	margin-bottom: 5px;
	margin-top: 25px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リスト */


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ボタン */


.btn {
	width: fit-content;
	min-width: 280px;
	padding: 10px 40px 10px 40px;
	min-height: 60px;
	border-radius: 8px;
	transition: 0.5s ease;
	
}

.btn::after {
	right: 8px;
	width: 24px;
}

.btn.btn_mini {
	padding: 6px 25px 6px 25px;
	min-width: 180px;
	min-height: 32px;
}

.btn.btn_mini::after {
	width: 16px;
	right: 4px;
}

.pc_btnblock_l .btn {
	margin-left: 0;
}

.btnblock_cflex {
	gap: 12px;
}

.btn:not(.btn_style):hover,
a:hover .btn_style {
	background: var(--green);
	color: #fff;
	opacity: 1;
	transition: 0.5s ease;
}


a:hover:has(.btn_style),
.mv-slider .mv-slider-box a:hover,
.upage_interview_content .upage_interview_content_box a:hover{
	opacity: 1;
	transition: 0.5s ease;
}
.mv-slider .mv-slider-box a,
.upage_interview_content .upage_interview_content_box a{
	background:#fff;
	overflow: inherit;
}
.mv-slider .mv-slider-box a:hover,
.upage_interview_content .upage_interview_content_box a:hover{
	background:var(--pink);
}
.btn:not(.btn_style)::before,
a .btn_style::before,
.mv-slider .mv-slider-box a::before,
.upage_interview_content .upage_interview_content_box a::before{
content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  transform: translate(4px, 4px) translateZ(-1px);
  
  background: repeating-linear-gradient(45deg, var(--green), var(--green) 2px, transparent 2px, transparent 6px);
  opacity: 0;
  pointer-events: none;
  transition: 0.5s ease;
  }



.btn:not(.btn_style):hover::after,
a:hover .btn_style::after {
	background:#fff;
}
.btn:not(.btn_style):hover::before,
a:hover .btn_style::before,
.mv-slider .mv-slider-box a:hover::before,
.upage_interview_content .upage_interview_content_box a:hover::before{
  opacity:1;
  transition: 0.5s ease;
}


/*------------------------------------------------------------------------------
btn_sort_area */


.btn_sort_area.mtm_l {
	gap: 8px;
	margin-bottom: 0;
	padding-bottom: 0;
	margin-top: 0 !important;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.btn_sort_area .btn_sort {min-width: 180px;min-height: 36px;padding: 5px 26px 5px 15px;}

.btn_sort_area .btn_sort:hover {opacity: 0.6;}

.btn_sort_area .btn_sort::before {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 8px;
	transform: translate(4px, 4px) translateZ(-1px);
	background: repeating-linear-gradient(45deg, var(--green), var(--green) 2px, transparent 2px, transparent 6px);
	opacity: 0;
	pointer-events: none;
}

.btn_sort_area >li>a::after {
	width: 16px;
	right: 5px;
}

.recruitment_area.js_recruitment_area {
	width: 100%;
	gap: 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.btn_sort_area .btn_sort:after {
	width: 12px;
	right: 10px;
}

.filter_modal .modal_content {
	border-radius: 8px;
	width: 960px;
	margin-inline: auto;
	min-height: 590px;
	justify-content: center;
}

.filter_modal .modal_header h3 {
	font-size: 4rem;
}

.filter_modal .modal_header {
	padding: 80px 180px 0 180px;
}

.filter_modal .js_modal_close {
	font-size: 2.2rem;
	padding: 13px;
	top: 0;
	right: 0;
}

.filter_modal .modal_body {
	padding: 20px 180px 110px 180px;
}

.filter_modal .switch_toggle {
	width: 52px;
	height: 24px;
}

.filter_modal .switch_toggle .slider {
	border-radius: 510px;
}

.filter_modal .switch_toggle .slider:before {
	width: 16px;
	height: 16px;
	left: 4px;
	bottom: 4px;
}

.filter_modal .switch_toggle input:checked + .slider:before {
	transform: translateX(28px);
}

.filter_modal .toggle_grid {
	gap: 16px 120px;
	grid-template-columns: 1fr 1fr;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
表 */
.table_beta tr {
	display: table-row;
}

.table_beta :is(th,td) {
	display: table-cell;
	padding: 13px 23px 14px 23px;
	vertical-align: text-top;
}

.table_beta th {
	width: 240px;
	border-right: 2px solid #fff;
}

body.page_data :is(#career_ratio, #parental_rate) table th {
	width: 240px;
}

body.page_data :is(#career_ratio, #parental_rate) table td {
	width: 719px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
gmap */

.gmap {
	position: relative;
	overflow: hidden;
	height: 520px;
	box-shadow: -40px 40px 0 0 var(--d_pink);
	margin-left: 0;
}

.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>
 */



/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ニュース */

.news_list {
	margin-inline: 0;
}


.news_list a {
	grid-template-columns: 180px 1fr;
	padding: 18px 60px 20px 24px;
}
.news_list a::after {
	width: 24px;
	right: 24px;
}
.news_list a time {
	font-size: 2.4rem;
	line-height: 1;
}

.under_page .news_list {
	gap: 16px;
}

.under_page .news_list a::after {
	right: 24px;
}

.under_page .news_list a .txt {
	font-size: 1.6rem;
}

.under_page .news_list a {
	grid-template-columns: 150px 1fr;
	padding: 18px 60px 20px 24px;
}


.newspost_block figure::before {
	margin: 0 40px 40px 0;
	height: calc(100% - 40px);
	top: 40px;
	left: 40px;
}

.newspost_block figure img {
	padding-bottom: 40px;
}

.newspost_block>*+* {
	margin-top: 30px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
全体リンクの画像＋テキスト　pallet_block 
リンクなしの画像＋テキスト　pallet_block_nolink */



.pallet_block {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.pallet_block>* {
	width: 374px;
}

.pallet_block>li {
	background: #fff;
}

.pallet_block>li>a .tl ,
.pallet_block_nolink>li .tl {
	font-size: 2.4rem;
	margin-bottom: 10px;;
}
.pallet_block>li>a .txt_block,
.pallet_block_nolink>li .txt_block{
	padding: 26px 24px 74px 24px;
}

.pallet_block_nolink>li .txt_block{
	padding-bottom: 26px;
}
.pallet_block>li>a .btnblock_l ,
.pallet_block_nolink>li .btnblock_l {

	margin-top: 0;
	position: absolute;
	bottom: 28px;
	left: 24px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
画像付きの職種へのリンク　role_panel */


.role_panel .type>li {
	border-radius: 8px;
	height: 25px;
	padding-bottom: 1px;
}

.role_panel a {
	border-radius: 8px;
	transition: 0.5s ease;
	opacity:1;
	overflow: inherit;
}

.role_panel a figure {
	border-radius: 8px;
	overflow: hidden;
	z-index: 2;
	position: relative;
}

.role_panel a figure img{
  transition: transform 0.5s ease;
}

.role_panel a:hover figure img{
transform: scale(1.1);
}
.role_panel a:hover {
opacity:1;
	transition: 0.5s ease;
}

.role_panel .type {
	top: 8px;
	left: 8px;
	grid-template-columns: 40px 40px;
	gap: 4px;
}

.role_panel .txt {
	height: 48px;
	border-radius: 0 0 8px 8px;
	z-index: 30;
}

.role_panel .txtin {
	padding-right: 30px;
	padding-bottom: 2px;
}

.role_panel .txtin::after {
	width: 24px;
}




.role_panel a::before {
content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  transform: translate(4px, 4px) translateZ(-1px);
  
  background: repeating-linear-gradient(45deg, var(--green), var(--green) 2px, transparent 2px, transparent 6px);
  opacity: 0;
  pointer-events: none;
  transition: 0.5s ease;
  }



.role_panel a:hover::after {
	background:#fff;
}
.role_panel a:hover::before {
  opacity:1;
  transition: 0.5s ease;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
創業者からの22の伝言　book_block */

.book_block>figure {
	width: 240px;
	margin-bottom: 40px;
}

.book_li {
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.book_li >li>button {
	min-height: 61px;
	border-radius: 8px;
	padding: 7px 40px 7px 12px;
	grid-template-columns: 66px 1fr;
	cursor: pointer;		opacity: 1;
		transition: 0.5s ease;
}
.book_li >li>button:hover {
			opacity: 0.5;
		transition: 0.5s ease;
}

.book_li >li>button::after {
	width: 18px;
	right: 8px;
}

.book_li >li>button>.num {
	font-size: 4rem;
	margin-top: -7px;
}

.book_li >li>button>.txt {
	font-size: 1.6rem;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
SPスクロールデコブロックsp_scroll_deco_block */

.sp_scroll_deco_block {
	padding: 40px 0 0 0px;
}

.sp_scroll_deco_block .inblock {
	padding: 20px 24px;
	box-shadow: -40px -40px 0 0 var(--d_pink);
	overflow: inherit;
	max-width: inherit;
	line-height: 1.96;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
デコブロックdeco_txt_block */
.deco_txt_block {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
.deco_txt_block_mttl {
	margin-top: 0;
}

.deco_txt_block.deco_txt_block_mt {
	margin-top: 125px;
}

.deco_txt_block.deco_txt_block_mtm {
	margin-top: 80px;
}
.deco_txt_block_img_m figure {
	width: 360px;
}
.deco_txt_block_img_l {
	flex-direction: row-reverse;
}

.deco_txt_block>figure {
	width: 400px;
}

.deco_txt_block>.txt_block {
	width: 480px;
}


.deco_txt_block_img_m>.txt_block {
	width: 520px;
}
.deco_txt_block >*+* {
	margin: 0;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
デコブロックdeco_01_02 */

.deco_01_02 {
	gap: 80px 60px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
デコブロックdeco_02_05 */


.deco_02_05 {
	gap: 12.5px;
}
.deco_02_05>li {
	width: 166px;
	margin: 0 16px 16px 0;
	box-shadow: 16px 16px 0 0 var(--blue);
}

.deco_02_05>li .name {
	padding: 4px;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
モーダル modal */
.modal-container {
	padding: 80px;
}

.modal-body {
	width: 960px;
}

.modal-content {
	border-radius: 8px;
	padding: 40px;
}

.modal-close:not(.btn) {
	width: 24px;
	height: 24px;
	top: 12px;
	right: 12px;
}

/*------------------------------------------------------------------------------
動画モーダル */

#special_movie {
	margin-block: 60px;
	padding-block: 60px;
}

#special_movie .special_movie_con {
	width: 984px;
	margin-inline: auto;
	gap: 24px;
}

#special_movie .video-thumbnail:not(.no_link)::after {
	width: 40px;
}

#video-modal .modal-content {
	width: 960px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
創業者からの22の伝言 book_li */


.modal-book-body .modal-contentin .book_tl {
	font-size: 2.4rem;
	padding: 0;
	margin-bottom: 25px;
}

.modal-book-body .modal-contentin .txt {
	font-size: 1.2rem;
}

.modal-book-body .modal-contentin .txt>p+p {
	margin-top: 28px;
}

.modal-book-body .modal-contentin .book_num {
	font-size: 32rem;
	margin-top: -16px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
インタビューブロック　interview_d_block */



.interview_d_block {
	margin-top: 40px;
}

.interview_d_box {
	height: 400px;
	border-radius: 8px;
	display: grid;
	grid-template-columns: 400px 1fr;
}
.interview_d_block .interview_d_box+.interview_d_box {
	margin-top: 40px;
}
.interview_d_block .txt_block {
	padding: 0px 40px 0 40px;
}
.interview_d_block .txt_block::before {
	width: 24px;
	height: 24px;
	bottom: 18px;
}
.interview_d_block .txt_block::after {
	height: 60px;
}


.interview_d_block .txt_block_in {
	height: 400px;
	padding: 35px 0 60px;
}


.interview_d_block .box_tl {
	font-size: 2.4rem;
	margin-bottom: 15px;
}

.interview_d_block .name {
	padding: 8px;
}


.interview_d_block .txt_block_in .txt_box+.txt_box {
	margin-top: 35px;
	padding-top: 35px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
数字で見るサンシティ date_pallet */

.date_pallet {
	margin-top: 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 20px 33px;
}
.date_pallet>li {
	width: 298px;
}

.date_pallet li .box {
	padding: 24px;
}
.date_pallet.pallet_deco_p_l_t li .box {
	box-shadow: -14px -14px 0 0 var(--d_pink);
	margin: 14px 0 0 0;
}


.date_pallet.pallet_deco_y_r_b li .box {
	box-shadow: 14px 14px 0 0 var(--blue);
	margin: 0 0 14px 0;
}

.date_pallet.pallet_deco_o_l_b li .box {
	box-shadow: -14px 14px 0 0 var(--mauve);
	margin: 0 0 14px 0;
}

.date_pallet li .box .tl {
	gap: 8px;
	margin-inline: -24px;
}
.date_pallet li .box .img {
	width: 40px;
}


.date_pallet li .box .before_txt,
.date_pallet li .box .after_txt {
	font-size: 2.4rem;
}

.date_pallet li .box .num {
	margin-top: 10px;
}

.date_pallet li .box .num_col {
	gap: 24px;
	padding-top: 17px;
	margin-inline: -24px;
}

.date_pallet li .box .num_col .type {
	font-size: 2.4rem;
}

.date_pallet li .box .txt_block {
	margin-top: 15px;
}

.date_pallet li .box .txt_block>table th {
	padding-right: 16px;
}

.date_pallet li .box_hosoku {
	margin-left: 14px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
新卒・中途ページ　パレット　recruitment_panel */


.recruitment_panel.mtm_s {
	grid-template-columns: repeat(3, 308px);
	gap: 18px;
}

.btn_sort_area +.recruitment_panel.mtm_s {
	margin-top: 7px !important;
}

.recruitment_panel>li {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}
.recruitment_panel a {
	border-radius: 8px;
	min-height: 162px;
}


.recruitment_panel a::after {
	width: 24px;
	height: 24px;
	top: 8px;
	right: 8px;
}
.recruitment_panel a .type {
	width: 40px;
	height: 25px;
	border-radius: 8px;
	padding-top: 0px;
	top: 8px;
	left: 8px;
}

.recruitment_panel a .cat {
	font-size: 2.4rem;
	padding: 40px 20px;
}

.recruitment_panel a dl {
	padding: 3px 8px 3px 0;
	grid-template-columns: 68px 1fr;
	gap: 8px;
	line-height: 1.5;
	min-height: 42px;
}



/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
よくある質問FAQ　qa_block */


.qa_block {
	gap: 40px;
}



.qa_block>li>dl {
	border-radius: 8px;
}

.qa_block>li>dl dt {
	font-size: 2.4rem;
	padding: 22px 24px 0 80px;
	min-height: inherit;
	margin-bottom: 30px;
}
.qa_block>li>dl dt::before {
	top: 18px;
	left: 24px;
}

.qa_in {
	padding: 0 24px 24px;
}


.qa_in.is-overflow::after {
	height: 60px;
}

.qa_toggle_btn {
	width: 24px;
	height: 24px;
	bottom: 18px;
}

.qa_toggle_btn::before {
	width: 24px;
	height: 24px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
並び */


.col_flex {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
}

.pc_col02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}
.pc_col02.pc_gap24>* {
	width:468px;
}

.pc_col02.pc_gap40>* {
	width: 460px;
}
.beta .pc_col02>li {
	width: 444px;
}


.beta .pc_col02>li.box_long {
	width: 912px;
}

.beta .pc_col02>li.box_long .pc_col02>* {
	width: 452px;
}
.pc_col02.pc_gap08>* {width: 476px;}
.pc_col03 {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
}.pc_col02_l {


justify-content: flex-start;
}


.pc_col03>* {
	width: 288px;
}
.pc_col03.pc_gap24>* {
	width: 304px;
}

.sp_scroll_deco_block .pc_col03.pc_gap24>* {
	width: 288px;
}
.pc_col03.pc_gap21>* {
	width: 306px;
}
.pc_gap08 {
	gap: 8px;
}
.pc_gap35_24 {
	gap: 35px 24px;
}

.pc_gap21 {
	gap: 21px;
}
.pc_gap24 {
	gap: 24px;
}
.pc_gap39 {
	gap: 39px;
}
.pc_gap40 {
	gap: 40px;
}
.pc_col03.pc_gap39.col_flex>li {
	flex: 0 0 calc((100% - (39px * 2)) / 3);
}


/*
*********************************************************************************
/*
/* ページ固有
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
HOME */
  .mv-slider .mv-slider-box ,
.upage_interview_content .upage_interview_content_box {
    width: 312px;
    border-radius: 8px;
    overflow: inherit;
  }



.mv-slider .mv-slider-box a,
.upage_interview_content .upage_interview_content_box a {
			z-index: 3;
transform-style: preserve-3d;
}
.mv-slider {
	overflow:inherit;
}

.mv-slider .mv-slider-box figure, 
.upage_interview_content .upage_interview_content_box figure {overflow: hidden;border-radius: 8px 0 0 8px;}

.mv-content {
	bottom: 24px;
}
.upage_interview_content {
	gap: 12px;
}
.mv-content .mv_tl {
	font-size: 4rem;
	left: 25px;
	top: -50px;
}

.mv-slider .mv-slider-box a ,
.upage_interview_content .upage_interview_content_box a {
	grid-template-columns: 120px 1fr;
	gap:16px;
	border-radius: 8px;
}


.mv-slider .mv-slider-box a::after ,
.upage_interview_content .upage_interview_content_box a::after {
	width: 24px;
	right: 8px;
}

.mv-slider .mv-slider-box a .txt_block ,
.upage_interview_content .upage_interview_content_box a .txt_block {
	padding: 10px 35px 10px 0;
	position: relative;
	z-index: 20;
}

.mv-slider .mv-slider-box a .txt_blockin .name,
.upage_interview_content .upage_interview_content_box a .txt_blockin .name{
	margin-top: 5px;
	margin-right: -5px;
}


.top_widecol {
	margin-top: 160px !important;
	min-height: 800px
}


.top_widecol+.top_widecol {
	margin-top: 120px;
}

.top_widecol .tl_block {
	font-size: 8.8rem;
	top: 40px !important;
	left: 50% !important;
	transform: translate(-50%, 0%) !important;
	width: fit-content !important;
}

.top_widecol .tl_block .tl {
	gap: 8px;
}

.top_widecol .tl_block .tlin {
	padding: 0px 16px 8px 16px;
}
.top_widecol .tl_block .tlin+.tlin {
	margin-left: 120px;
}
.top_widecol .tl_block .tlin+.tlin+.tlin {
	margin-left: 240px;
}
.top_widecol .inner> .txt_block {
	padding-top: 310px;
	width: 600px;
	margin-inline: auto 0;
}

.top_widecol.top_widecol_rimg .inner> .txt_block {
	margin-inline: 0 auto;
}

.top_widecol .copy {
	font-size: 4rem;
	margin-bottom: 20px;
}

.top_widecol .txt_block>.btnblock {gap: 8px;grid-template-columns: 1fr 1fr;}


#irreplaceable.top_widecol .tl_block .tl {
	gap: 8px;
}

#irreplaceable.top_widecol .tl_block {
	top: -40px !important;
}

.top_widecol_rimg .txt_block .copy {
	margin-left: 40px;
}


#irreplaceable .beta {
	padding: 24px;
}

.top_widecol .pallet_block {
	margin-top: 100px;
}

.top_widecol .pallet_block.pc_col03>* {
	width: 374px;
}

#yourself.top_widecol::before {
	box-shadow: 40px 40px 0 0 var(--mauve);
}

.top_widecol .bg_slider {box-shadow: 40px -40px 0 0 var(--d_pink);width: 41.666666vw;height: 800px;}
.top_widecol.top_widecol_rimg .bg_slider {
	box-shadow: -40px 40px 0 0 var(--blue);
}
#irreplaceable.top_widecol.top_widecol_rimg .bg_slider {
	box-shadow: -40px 40px 0 0 var(--blue);
}
#ig_block .ig_tl_icon {
	margin: 20px auto 10px;
	width: 32px;
}

#ig_block .ig_slider {
	margin-top: 25px;
}

#our.top_widecol .inner> .txt_block {
	padding-top: 420px !important;
}



/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
私たちの想い　message */
#message .deco_txt_block {
	margin-right: 40px;
	margin-left: 40px;
}

#message .deco_txt_block>.txt_block {
	width: 400px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
インスタグラム */


#sb_instagram #sbi_images.sbi_loop_slider__track {

	.sbi_loop_slider__group .sbi_item,
	.sbi_loop_slider__group .sbi_loop_slider__item {
		width: 240px !important;
		margin-right: 8px !important;
		border-radius: 8px;
	}


	.sbi_loop_slider__group .sbi_photo {
opacity:1 !important;
			transition: 0.5s ease;
	}
		.sbi_loop_slider__group .sbi_photo:hover {
opacity:0.5 !important;
			transition: 0.5s ease;
	}
	.sbi_loop_slider__group .sbi_photo::after {width: 34px;height: 34px;top: 0;right: 0;}


}