@charset "UTF-8";

/* ======================================================

   common-Setting

========================================================= */
html {}
*,
*:before,
*:after {
  box-sizing: border-box;
}

:root {
  --color_main_red: #d81212;
  --color_bg_red: #b00e0e;
  --color_sub_red: #9b0808;
  --color_white: #FFFFFF;
  --color_black: #181818;
  
  --color_new_main_red: #8a0202;
  --color_career_main_blue: #012e72;
}

body {
  color: var(--color_white);
  background: var(--color_main_red);
  -webkit-text-size-adjust: 100%;
  font-family: "Montserrat", "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
}
h1,h2,h3,h4,h5,h6,
input,button,textarea,select,
p,blockquote,
table,th,td,pre,address,
ul,ol,li,dl,dt,dd {
  font-size: 16px;
  font-weight: normal;
  text-align: left;
  line-height: 2;
}
li { list-style: none; }
th,td { vertical-align: middle; }
select { visibility: visible !important; }

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: var(--color_white);
  text-decoration: none;
}
[id] {
  scroll-margin-top: var(--header-height, 70px); 
}

.mb_10 { margin-bottom: 10px !important; }
.mb_20 { margin-bottom: 20px !important; }
.mb_30 { margin-bottom: 30px !important; }
.mb_40 { margin-bottom: 40px !important; }
.mb_50 { margin-bottom: 50px !important; }
.mb_60 { margin-bottom: 60px !important; }
.mb_70 { margin-bottom: 70px !important; }
.mb_80 { margin-bottom: 80px !important; }
.mb_90 { margin-bottom: 90px !important; }
.mb_100 { margin-bottom: 100px !important; }

.mb_t { margin-bottom: 20px !important; }
.mb_s { margin-bottom: 30px !important; }
.mb_m { margin-bottom: 50px !important; }
.mb_l { margin-bottom: 70px !important; }

.f_b { font-weight: 700; }
.f_10 { font-size: 10px !important; }
.f_12 { font-size: 12px !important; }
.f_14 { font-size: 14px !important; }
.f_16 { font-size: 16px !important; }
.f_18 { font-size: 18px !important; }
.f_20 { font-size: 20px !important; }
.f_22 { font-size: 22px !important; }
.txt_mb { margin-bottom: 1em; }
.txt-l { text-align: left !important; }
.txt-c { text-align: center !important; }
.txt-r { text-align: right !important; }

.lh_18 { line-height: 1.8; }
.lh_16 { line-height: 1.6; }
.lh_14 { line-height: 1.4; }
.lh_12 { line-height: 1.2; }
.lh_10 { line-height: 1; }

.pc_area { display: none; }

.wrapper {
  position: relative;
}
.index_main {
  background: url("../recruit_images/index_bg_img02.png") no-repeat top left;
  background-size: auto 80vh;
}
.subpage_main {
  padding-top: 20px;
  background: url("../recruit_images/sub_bg.png") no-repeat top 15px right 15px;
  background-size: 80% auto;
}
.bg_img_btm {
  background: url("../recruit_images/entry_bg_img.png") no-repeat left bottom;
  background-size: auto 60vh;
}

.topicpath {
  padding: 20px 5%;
  border-top: #ea5454 1px solid;
  border-bottom: #ea5454 1px solid;
}
.topicpath ul {
  display: flex;
  flex-wrap: wrap;
}
.topicpath li {
  line-height: 1.6;
  font-size: 12px;
}
.topicpath li a:hover {
  text-decoration: underline;
}
.topicpath li::before {
  content: '>';
  padding: 0 0.5em;
}
.topicpath li:first-child::before {
  content: '';
  padding: 0;
}
@media screen and (min-width: 1025px) {
  [id] {
    scroll-margin-top: 0px; 
  }
  
  .mb_t { margin-bottom: 30px !important; }
  .mb_s { margin-bottom: 50px !important; }
  .mb_m { margin-bottom: 80px !important; }
  .mb_l { margin-bottom: 100px !important; }
  
  .sp_area { display: none; }
  .pc_area { display: block; }
  
  .hover_opacity { transition: 0.3s; }
  .hover_opacity:hover {
    transition: 0.3s;
    opacity: 0.8;
  }

  .index_main {
    background: url("../recruit_images/index_bg_img02.png") no-repeat top 140px right;
    background-size: 98% auto;
  }
  .wrapper.recruit_sub {
    background: url("../recruit_images/sub_bg.png") no-repeat top 80px right 80px;
    background-size: 960px auto;
  }
  .subpage_main {
	background: none;
  }  
  .bg_img_btm {
    background: url("../recruit_images/entry_bg_img.png") no-repeat left bottom;
    background-size: auto 90vh;
  }  
  .recruit_top .maincontents_cover {
    width: 75%;
  }
  .recruit_sub .maincontents_cover {
    width: 100%;
  }
  .topicpath {
    width: calc(100% - 360px);
    margin-left: 30px;
	padding: 30px 20px;
  }
}

/* ======================================================

   header

========================================================= */
.outer_header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  background: var(--color_main_red);
}
.new_graduate_top .outer_header {
  background: var(--color_new_main_red);
}
.career_top .outer_header {
  background: var(--color_career_main_blue);
}
.sp_header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.header .logo {
  width: 43%;
  margin: 0 0 0 1.5%;
}
.pc_header {
  display: none;
}

/* hamburger menu */
.hamburger_menu_cover {
  width: 13%;
  cursor: pointer;
}
.hamburger_menu {
}
.hamburger_menu .img_open {
  display: none;
}
.hamburger_menu.open .img_close {
  display: none;
}
.hamburger_menu.open .img_open {
  display: block;
}

/*.nav_sp {
  box-sizing: border-box;
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100vh;
  padding: 0 30px 15vh;
  background: var(--color_bg_red);
  text-align: left;
  transition: right 0.5s;
  overflow: scroll;
  z-index: 998;
}
.nav_sp.open { right: 0; }*/

.nav_sp {
  box-sizing: border-box;
  position: fixed;
  top: 0;
  right: 0; 
  transform: translateX(100%); 
  width: 100%;
  height: 100vh;
  padding: 0 30px 15vh;
  background: var(--color_bg_red);
  text-align: left;
  transition: transform 0.4s ease;
  will-change: transform;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; 
  z-index: 998;
}
.nav_sp.open {
  transform: translateX(0);
}

.nav_sp_page_link {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
.nav_sp_page_link li {
  width: 32%;
  font-size: 12px;
  text-align: center;
  border-radius: 5px;
}
.nav_sp_page_link li.recruit_top {
  background: var(--color_main_red);
}
.nav_sp_page_link li.new_graduate_top {
  background: var(--color_new_main_red);
}
.nav_sp_page_link li.career_top {
  background: var(--color_career_main_blue);
}
.nav_sp_page_link li a {
  display: block;
  padding: 15px 0;
  color: var(--color_white);
}

.sp_menu_btn li {
  font-size: 18px;
  padding-left: 20px;
  position: relative;
  margin-bottom: 5px;
}
.sp_menu_btn li::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  background: var(--color_white);
  position: absolute;
  top: 14px;
  left: 0;
  border-radius: 100vh;
}
.sp_menu_btn li a {
  color: var(--color_white);
}
.sp_menu_btn li.external_link {
  padding: 0;
  border: 1px solid var(--color_white);
}
.sp_menu_btn li.external_link::before {
  display: none;
}
.sp_menu_btn li.external_link a {
  display: block;
  padding: 15px 20px;
}

.nav_sp .go_entry_cover {
  padding: 40px 0;
}
.nav_sp .go_entry_contents,
.nav_sp .footer_top {
  width: 100%;
  margin: 0 auto;
}
.nav_sp .footer_top_lft_menu {
  margin: 0;
  padding: 0;
  border-bottom: none;
}
.nav_sp .footer_top_lft_menu .ft_txt_menu {
  margin-bottom: 20px;
}
.nav_sp .footer_top_lft_menu .ft_external_menu {
  max-width: 100%;
  margin: 0;
}
.sp_head_menu {
  width: 39%;
  display: flex;
  justify-content: flex-end;
  margin-left: auto;
}
.sp_head_menu li {
  width: calc(100% / 3);
}
.new_graduate_top .outer_header .sp_head_menu li,
.career_top .outer_header .sp_head_menu li {
  width: 50%;
}
.sp_head_info {
  width: calc(39% - 5px);
  margin: 5px 5px 5px auto;
  background: var(--color_white);
  border-radius: 3px;
}
.sp_head_info_ttl {
  font-size: 14px;
  text-align: center;
  color: var(--color_black);
  position: relative;
  padding: 0 20px;
}
.sp_head_info_ttl::before,
.sp_head_info_ttl::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: var(--color_black);
}
.sp_head_info_ttl::before {
  width: 8px;
  height: 2px;
  right: 10px;
}
.sp_head_info_ttl::after {
  width: 2px;
  height: 8px;
  right: 13px;
  transition: 0.3s;
}
.sp_head_info.open .sp_head_info_ttl::after {
  display: none;
  transition: 0.3s;
}

.sp_head_info_txt {
  display: none;
  padding: 0 15px 10px;
}
.sp_head_info_txt li {
  font-size: 14px;
  line-height: 1.6;
}
.sp_head_info_txt li a {
  color: var(--color_black);
}
.sp_head_info_txt li.external_link a {
  display: inline-block;
  padding-right: 15px;
  background: url("../recruit_images/icon_external_blk.png") no-repeat right center;
  background-size: 10px;
}

@media screen and (min-width: 1025px) {
  .outer_header,
  .new_graduate_top .outer_header,
  .career_top .outer_header {
    width: 100%;
    position: absolute;
    background: none;
  }
  .recruit_sub .outer_header {
    position: static;
	margin-bottom: 20px;
  }
  .sp_header,
  .hamburger_menu_cover {
    display: none;
  }
  .pc_header {
    display: block;
	padding: 30px 30px 0;
  }
  .header .logo {
    max-width: 250px;
    margin: 0;
  }
  .new_graduate_top .header .logo {
    max-width: 375px;
  }
  .career_top .header .logo {
    max-width: 405px;
  }
  .pc_gnavi_cover {
    position: fixed;
    top: 0;
    right: 25%;
    display: flex;
    align-items: flex-start;
  }
  .recruit_sub .pc_gnavi_cover {
    right: 0;
	z-index: 2;
  }
  .pc_gnavi_btn {
    width: 100px;
  }
  .pc_gnavi_contents {
    width: 300px;
    height: 100vh;
    background: #fff;
    position: relative;
    margin-right: -300px;
	padding-bottom: 30px;
    transition: margin-right 0.5s ease;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .pc_gnavi_cover.open .pc_gnavi_contents {
    margin-right: 0;
  }

  .pc_menu_btn .img_open { display: none; }
  .pc_gnavi_cover.open .pc_menu_btn .img_close { display: none; }
  .pc_gnavi_cover.open .pc_menu_btn .img_open { display: block; }
  
  .pc_gnavi_list {
    margin-bottom: 10px;
  }
  .pc_gnavi_list li {
    line-height: 1.5;
	border-bottom: #cccccc 1px solid;
  }
  .pc_gnavi_list li a {
    display: block;
	padding: 20px 50px 20px 25px;
	font-size: 12px;
	color: var(--color_black);
	background: url("../recruit_images/btn_arrow_red01.png") no-repeat right 20px center;
	background-size: 20px;
  }
  .pc_gnavi_list li a .en_txt {
    display: block;
	font-size: 24px;
	font-weight: 700;
	color: var(--color_main_red);
  }
  .pc_gnavi_list li a:hover {
	color: var(--color_white);
	background: var(--color_main_red) url("../recruit_images/btn_arrow_wht.png") no-repeat right 20px center;
	background-size: 20px;
  }
  .pc_gnavi_list li a:hover .en_txt {
	color: var(--color_white);
  }

  .pc_gnavi_external_link {
    padding: 0 10px;
  }
  .pc_gnavi_external_link a {
    transition: 0.3s;
	display: block;
	font-size: 16px;
	color: var(--color_white);
	background: var(--color_black) url("../recruit_images/btn_external_wht.png") no-repeat right 10px center;
	background-size: 20px;
	padding: 15px;
  }
  .pc_gnavi_external_link a:hover {
    transition: 0.3s;
	background: var(--color_main_red) url("../recruit_images/btn_external_wht.png") no-repeat right 10px center;
	background-size: 20px;
  }
}

/* ======================================================

   footer

========================================================= */
.outer_footer {
  padding: 50px 0;
  background: var(--color_bg_red);
}
.footer_top {
  width: 90%;
  max-width: 1310px;
  margin: 0 auto 40px;
}
.footer_top_lft_menu {
  margin-bottom: 50px;
  padding-bottom: 50px;
  border-bottom: var(--color_white) 1px solid;
}
.ft_contact_ttl {
  font-size: 22px;
  font-weight: 700;
}
.ft_address {
  margin-bottom: 30px;
}
.ft_phone_number {
  margin-bottom: 15px;
}
.ft_phone_number a {
  font-size: 24px;
  color: var(--color_white);
}
.footer_top_lft_menu .ft_txt_menu a,
.footer_top_lft_menu .ft_external_menu a {
  color: var(--color_white);
}
.footer_top_lft_menu .ft_txt_menu {
  max-width: 240px;
  margin-bottom: 40px;
}
.footer_top_lft_menu .ft_txt_menu li {
  font-size: 14px;
  margin-bottom: 5px;
}
.footer_top_lft_menu .ft_txt_menu li a {
  display: block;
  padding: 10px 50px 10px 20px;
  border: var(--color_white) 1px solid;
  border-radius: 100vh;
  background: url("../recruit_images/btn_arrow_wht.png") no-repeat right 20px center;
  background-size: 20px;
}
.footer_top_lft_menu .ft_txt_menu li.ft_map_icon a {
  background: url("../recruit_images/icon_map_wht.png") no-repeat right 20px center;
  background-size: 20px;
}
.footer_top_lft_menu .ft_logo {
  max-width: 240px;
}
.footer_top_lft_menu .ft_external_menu {
  max-width: 240px;
  margin: 15px 0 30px;
}
.footer_top_lft_menu .ft_external_menu li {
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 5px;
}
.footer_top_lft_menu .ft_external_menu li a {
  display: block;
  padding: 10px 25px 10px 15px;
  border: var(--color_white) 1px solid;
  background: url("../recruit_images/icon_external_wht.png") no-repeat right 10px center;
  background-size: 12px;
}
@media screen and (min-width: 1025px) {
  .outer_footer {
    padding: 120px 0;
  }
  .footer_top {
    display: flex;
	align-items: center;
  }
  .footer_top_lft_menu {
    width: 40%;
	margin: 0 9% 0 0;
    padding: 0 20px 0 0;
    border-bottom: none;
    border-right: var(--color_white) 1px solid;
  }
  .footer_top_lft_menu .ft_txt_menu {
    margin-bottom: 9%;
  }
  .footer_top_lft_menu .ft_txt_menu li a {
    transition: 0.3s;
  }
  .footer_top_lft_menu .ft_txt_menu li.hover a:hover {
    transition: 0.3s;
	color: var(--color_main_red);
    background: var(--color_white) url("../recruit_images/btn_arrow_red01.png") no-repeat right 20px center;
    background-size: 20px;
  }
  .footer_top_lft_menu .ft_external_menu {
    margin: 15px 0 0;
  }
  .footer_top_lft_menu .ft_external_menu li a {
    padding: 15px 25px 15px 20px;
  }
  
  .recruit_sub .outer_footer {
    padding: 120px 25% 120px 0;
	position: relative;
  }
  .recruit_sub .outer_footer::after {
	content: '';
	display: block;
	width: 25%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background: url("../recruit_images/ft_pc_img.png") no-repeat center;
	background-size: cover;
  }
}

.footer_top_rgt_menu .ft_txt_menu a,
.footer_top_rgt_menu .ft_external_menu a {
  color: var(--color_white);
}
.footer_top_rgt_menu .ft_txt_menu li {
  line-height: 1.4;
  margin-bottom: 10px;
  padding-left: 20px;
  position: relative;
}
.footer_top_rgt_menu .ft_txt_menu li::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  background: var(--color_white);
  border-radius: 100vh;
  position: absolute;
  top: 8px;
  left: 0;
}
.footer_top_rgt_menu .ft_external_menu {
  max-width: 240px;
  margin: 15px 0 30px;
}
.footer_top_rgt_menu .ft_external_menu li {
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 5px;
}
.footer_top_rgt_menu .ft_external_menu li a {
  display: block;
  padding: 10px 25px 10px 15px;
  border: var(--color_white) 1px solid;
  background: url("../recruit_images/icon_external_wht.png") no-repeat right 10px center;
  background-size: 12px;
}
.footer_top_rgt_menu .ft_external_menu li.ft_external_new a {
  background: var(--color_new_main_red) url("../recruit_images/icon_external_wht.png") no-repeat right 10px center;
  background-size: 12px;
}
.footer_top_rgt_menu .ft_external_menu li.ft_external_career a {
  background: var(--color_career_main_blue) url("../recruit_images/icon_external_wht.png") no-repeat right 10px center;
  background-size: 12px;
}
.footer_top_rgt_menu .p_logo {
  width: 60px;
}
@media screen and (min-width: 1025px) {
  .footer_top_rgt_menu .ft_external_menu {
    max-width: 100%;
	display: flex;
  }
  .footer_top_rgt_menu .ft_external_menu li {
    width: 200px;
	margin-right: 5px;
  }
  .footer_top_rgt_menu .ft_external_menu li a {
    padding: 15px 25px 15px 20px;
  }
}

.footer_btm_nav {
  display: flex;
  justify-content: center;
  margin-bottom: 15px;
}
.footer_btm_nav li {
  line-height: 1.4;
  padding-right: 10px;
  margin-right: 10px;
  border-right: var(--color_white) 1px solid;
}
.footer_btm_nav li:last-child {
  padding-right: 0;
  margin-right: 0;
  border-right: none;
}
.footer_btm_nav a {
  color: var(--color_white);
}
.footer_copy {
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .footer_bottom {
    display: flex;
  }
  .footer_btm_nav {
    width: 49%;
	display: flex;
    justify-content: flex-start;
	align-items: center;
    margin-bottom: 0;
  }
  .footer_copy {
    width: 49%;
	text-align: right;
  }
}

#nendebcopy {
display: none;
}

/* ======================================================

   side menu

========================================================= */
.sidemenu_wrapper {
  display: none;
}
@media screen and (min-width: 1025px) {
  .sidemenu_wrapper {
	display: block;
    width: 25%;
	height: 100vh;
	position: fixed;
	top: 0;
	right: 0;
	overflow: scroll;
	padding-left: 15px;
	background: #222222;
	z-index: 1000;
  }
  .sidemenu_wrapper::before {
	content: '';
	display: block;
    width: 15px;
	height: 100vh;
	background: #7B0000;
	background: linear-gradient(0deg,rgba(123, 0, 0, 1) 0%, rgba(216, 18, 18, 1) 100%);
	position: fixed;
	top: 0;
	right: calc(25% - 15px);
  }
  .sidemenu_inner .sidemenu_ttl {
	padding: 40px 0;
	background: var(--color_new_main_red);
  }
  .sidemenu_inner .sidemenu_ttl img {
    display: block;
	width: 81%;
	max-width: 352px;
	margin: 0 auto;
  }
  .sidemenu_external_link a {
	transition: 0.3s;
	background: #111111 url("../recruit_images/btn_external_wht.png") no-repeat right 6.8% center;
	background-size: 6.8%;
  }
  .sidemenu_external_link a:hover {
	transition: 0.3s;
	background: var(--color_main_red) url("../recruit_images/btn_external_wht.png") no-repeat right 6.8% center;
	background-size: 6.8%;
  }
  .sidemenu_txt_btn01,
  .sidemenu_txt_btn01:hover {
    background: var(--color_sub_red);
	transition: 0.3s;
  }
  .sidemenu_txt_btn01:hover {
    background: var(--color_main_red);
  }
  .sidemenu_txt_btn01 a {
	background: url("../recruit_images/btn_arrow_wht.png") no-repeat right 6.8% center;
	background-size: 6.8%;
  }
  .sidemenu_txt_btn01.btn_mb {
    margin-bottom: 1px;
  }
  .sidemenu_external_link a,
  .sidemenu_txt_btn01 a {
    display: block;
	padding: 6.8% 13.6% 6.8% 6.8%;
	color: var(--color_white);
  }
  .sidemenu_recruit_info_ttl {
    color: var(--color_black);
	padding: 6.8% 13.6% 6.8% 6.8%;
	background: #e7e7e7 url("../recruit_images/btn_close_gray.png") no-repeat right 6.8% center;
	background-size: 6.8%;
	transition: 0.3s;
	cursor: pointer;
  }
  .sidemenu_recruit_info_ttl:hover {
    transition: 0.3s;
	color: var(--color_main_red);
  }
  .sidemenu_recruit_info.open .sidemenu_recruit_info_ttl {
	background: #e7e7e7 url("../recruit_images/btn_open_gray.png") no-repeat right 6.8% center;
	background-size: 6.8%;
  }
  .sidemenu_recruit_info_txt {
    display: none;
	padding: 5% 6.8%;
	background: var(--color_white);
  }
  .sidemenu_recruit_info_txt h5 {
    color: var(--color_main_red);
	border-bottom: 2px solid var(--color_main_red);
	margin-bottom: 15px;
  }
  .sidemenu_recruit_info_txt p {
    color: var(--color_black);
  }
  .sidemenu_recruit_entry {
    background: var(--color_white);
  }
  .sidemenu_recruit_entry h5,
  .sidemenu_recruit_entry p,
  .sidemenu_recruit_entry a {
    color: var(--color_black);
  }
  .sidemenu_recruit_entry h5 {
    color: var(--color_black);
	background: var(--color_white);
	border-bottom: #aaaaaa 1px solid;
	padding: 5% 6.8%;
  }
  .sidemenu_recruit_entry_inner {
    padding: 5% 6.8%;
  }
  .sidemenu_recruit_entry_inner .phone_number a {
    color: var(--color_main_red);
	font-size: 28px;
	letter-spacing: 0.15em;
  }
  .sidemenu_recruit_entry_link {
    margin-top: 4%;
  }
  .sidemenu_recruit_entry_link li,
  .sidemenu_recruit_entry_link li:hover {
    margin-bottom: 5px;
	transition: 0.3s;
  }
  .sidemenu_recruit_entry_link li a {
    display: block;
	padding: 5% 14% 5% 5%;
	border: 3px solid var(--color_black);
  }
  .sidemenu_recruit_entry_link li.external_link a {
    transition: 0.3s;
	background: url("../recruit_images/btn_external_red02.png") no-repeat right 5% center;
	background-size: 7%;
  }
  .sidemenu_recruit_entry_link li.external_link a:hover {
    transition: 0.3s;
	color: var(--color_white);
	background: var(--color_sub_red) url("../recruit_images/btn_external_wht.png") no-repeat right 5% center;
	background-size: 7%;
  }
  .sidemenu_recruit_entry_link li.common_link:hover {
    background: var(--color_sub_red);
  }
  .sidemenu_recruit_entry_link li.common_link a {
    background: url("../recruit_images/btn_arrow_red02.png") no-repeat right 5% center;
	background-size: 7%;
	transition: 0.3s;
  }
  .sidemenu_recruit_entry_link li.common_link:hover a {
    color: var(--color_white);
	background: url("../recruit_images/btn_arrow_wht.png") no-repeat right 5% center;
	background-size: 7%;
	transition: 0.3s;
  }
  .sidemenu_info {
    padding: 6.8%;
  }
  .sidemenu_info .sidemenu_logo {
    max-width: 250px;
	margin-bottom: 4.6%;
  }
  .sidemenu_info .side_company_info {
	margin-bottom: 4.6%;
  }
  .side_company_link {
    display: flex;
	justify-content: space-between;
  }
  .side_company_link li {
    width: calc(50% - 2.5px);
	background: var(--color_white);
  }
  .side_company_link li a {
    transition: 0.3s;
	display: block;
	color: var(--color_black);
  }
  .side_company_link li a:hover {
    transition: 0.3s;
	color: var(--color_white);
  }
  .side_company_link li:nth-child(1) a {
	padding: 7% 18% 7% 10%;
    background: url("../recruit_images/icon_external_blk.png") no-repeat right 10% center;
	background-size: 7.5% auto;
  }
  .side_company_link li:nth-child(2) a {
	padding: 7% 22.7% 7% 10%;
    background: url("../recruit_images/icon_map_blk.png") no-repeat right 10% center;
	background-size: 12.2% auto;
  }
  .side_company_link li:nth-child(1) a:hover {
    background: var(--color_main_red) url("../recruit_images/icon_external_wht.png") no-repeat right 10% center;
	background-size: 7.5% auto;
  }
  .side_company_link li:nth-child(2) a:hover {
    background: var(--color_main_red) url("../recruit_images/icon_map_wht.png") no-repeat right 10% center;
	background-size: 12.2% auto;
  }
}


/* ======================================================

   index

========================================================= */

/*– メイン画像 ———————–*/
.index_fv_bg {
  background: url("../recruit_images/index_fv_bg_img01.png") no-repeat right bottom;
  background-size: 70% auto;
}
.main_img_cover {
  padding: 50px 0 50px;
}
@media screen and (min-width: 1025px) {
  .index_fv_bg {
    background: url("../recruit_images/index_fv_bg_img01.png") no-repeat right bottom;
    background-size: 46.25% auto;
  }
  .main_img_cover {
    height: 100vh;
    padding: 0;
	position: relative;
  }
  .main_img {
    max-width: 867px;
	position: absolute;
	left: 0;
	bottom: 80px;
  }
}


/*– 「ひなご」の“らしさ” ———————–*/
.index_identity_section {
  background: url("../recruit_images/bg_triangle.png") no-repeat left bottom;
  background-size: 56% auto;
}
.index_identity_contents {
  padding-bottom: 60px;
  background: url("../recruit_images/index_identity_bg.png") no-repeat top 5% left;
  background-size: 90% auto;
}
.identity_ttl_txt {
  max-width: 597px;
  margin-bottom: 30px;
}
.index_identity_contents h3 {
  max-width: 723px;
  margin-bottom: 30px;
}
.index_identity_contents .identity_txt01 {
  max-width: 1068px;
  margin-bottom: 30px;
}
.index_identity_contents .identity_txt02 {
  max-width: 702px;
  margin-bottom: 20px;
}
@media screen and (min-width: 1025px) {
  .index_identity_section {
    padding-top: 90px;
  }
  .index_identity_contents {
    padding-bottom: 120px;
	background: url("../recruit_images/index_identity_bg.png") no-repeat top 5% left;
    background-size: 80% auto;
  }
  .identity_ttl_txt {
    margin-bottom: 70px;
  }
  .index_identity_contents h3 {
    margin-bottom: 50px;
  }
  .index_identity_contents .identity_txt01 {
    margin-bottom: 70px;
  }
  .index_identity_contents .identity_txt02 {
    margin-bottom: 40px;
  }
}


/*– 採用ボタン ———————–*/
.recruit_btn_list .recruit_btn a {
  display: block;
  color: var(--color_white);
  padding: 40px 5% 140px;
  position: relative;
  background: url("../recruit_images/btn_external_wht.png") no-repeat right 5% bottom 55px;
  background-size: 30px;
}
.recruit_btn_list .recruit_btn.recruit_btn_top a {
  background: url("../recruit_images/btn_arrow_wht.png") no-repeat right 5% bottom 55px;
  background-size: 30px;
}
.recruit_btn_list .recruit_btn_new {
  background: url("../recruit_images/recruit_btn_bg_new.png") no-repeat center;
  background-size: cover;
}
.recruit_btn_list .recruit_btn_career {
  background: url("../recruit_images/recruit_btn_bg_career.png") no-repeat center;
  background-size: cover;
}
.recruit_btn_list .recruit_btn_top {
  background: url("../recruit_images/recruit_btn_bg_top.png") no-repeat center;
  background-size: cover;
}
.recruit_btn_list .recruit_btn span {
  display: block;
}
.recruit_btn_list .recruit_btn span.en_txt,
.recruit_btn_list .recruit_btn span.jp_txt {
  text-align: center;
}
.recruit_btn_list .recruit_btn span.en_txt {
  max-width: 570px;
  margin: 0 auto;
}
.recruit_btn_list .recruit_btn span.jp_txt {
  font-size: 18px;
  margin-top: 5px;
}
.recruit_btn_list .recruit_btn span.view_more_txt {
  width: 90%;
  padding-bottom: 3px;
  position: absolute;
  left: 5%;
  bottom: 40px;
  border-bottom: var(--color_white) 2px solid;
}
@media screen and (min-width: 1025px) {
  .recruit_btn_list {
    display: flex;
	background: #000000;
  }
  .recruit_btn_list .recruit_btn {
    width: 50%;
	transition: 0.3s;
  }
  .recruit_btn_list .recruit_btn:hover {
	transition: 0.3s;
	opacity: 0.9;
  }
  .recruit_btn_list .recruit_btn.recruit_btn_top {
    width: 100%;
  }
  .recruit_btn_list .recruit_btn a {
    padding: 100px 8% 280px;
    background: url("../recruit_images/btn_external_wht.png") no-repeat right 8% bottom 85px;
    background-size: 60px;
	transition: 0.3s;
  }
  .recruit_btn_list .recruit_btn.recruit_btn_top a {
    background: url("../recruit_images/btn_arrow_wht.png") no-repeat right 8% bottom 85px;
    background-size: 60px;
  }
  .recruit_btn_list .recruit_btn a:hover {
	transition: 0.3s;
	transform: scale(1.05);
  }
  .recruit_btn_list .recruit_btn span.jp_txt {
    font-size: 24px;
  }
  .recruit_btn_list .recruit_btn span.view_more_txt {
    width: 84%;
    padding-bottom: 3px;
    left: 8%;
    bottom: 70px;
  }
}


/*– スライドショー ———————–*/
.index_img_slider {
  width: 100%;
  overflow: hidden;
  padding-top: 20px;
}
.index_img_slider .splide__slide img {
  width: 100%;
  height: auto;
  display: block;
  filter: grayscale(100%) brightness(70%);
  transition: filter 0.8s ease, brightness 0.8s ease;
}
.index_img_slider .splide__slide.is-active img {
  filter: grayscale(0%) brightness(100%);
}
@media screen and (min-width: 1025px) {
  .index_img_slider {
    padding-top: 50px;
  }
}


/*– 会社を知る ———————–*/
.index_company_section {
  padding: 70px 0;
}
.index_company_ttl_blc {
  margin-bottom: 30px;
}
.index_company_ttl_blc h3 {
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  position: relative;
}
.index_company_ttl_blc h3::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: var(--color_white);
}
.index_company_ttl_blc h3 span {
  display: inline-block;
  background: var(--color_main_red);
  padding: 0 15px;
  position: relative;
}
.index_company_ttl_blc p {
  text-align: center;
}
.index_company_contents {
  padding: 20px 0 60px;
  background: url("../recruit_images/index_company_bg.png") no-repeat top center;
  background-size: 100% auto;
}
.index_company_contents h4 {
  max-width: 960px;
  margin: 0 auto 40px;
}
.index_company_contents p {
  line-height: 2.6;
}
@media screen and (min-width: 1025px) {
  .index_company_section {
    padding: 150px 0;
  }
  .index_company_ttl_blc h3 {
    font-size: 60px;
  }
  .index_company_ttl_blc h3 span {
    padding: 0 20px;
  }
  .index_company_ttl_blc p {
    font-size: 24px;
  }
  .index_company_contents {
    padding: 30px 0 120px;
	background: url("../recruit_images/index_company_bg.png") no-repeat top center;
    background-size: 86% auto;
  }
  .index_company_contents h4 {
    margin: 0 auto 50px;
  }
}


/*– コンセプト ———————–*/
.index_concept_section {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 5vh;
}
.index_concept_contents {
  position: sticky;
  margin-bottom: 30px;
}
.index_concept_contents01 {
  background: var(--color_white) url("../recruit_images/index_concept_bg01.png") no-repeat top right;
  background-size: 56% auto;
  top: 100px;
}
.index_concept_contents02 {
  background: var(--color_white) url("../recruit_images/index_concept_bg02.png") no-repeat top right;
  background-size: 51% auto;
  top: 140px;
}
.index_concept_contents03 {
  background: var(--color_white) url("../recruit_images/index_concept_bg03.png") no-repeat top right;
  background-size: 45% auto;
  top: 180px;
  margin-bottom: 0;
}
.index_concept_contents p {
  font-size: 14px;
  color: var(--color_black);
}

.company_page .index_concept_contents {
  position: relative;
}
.company_page .index_concept_contents01,
.company_page .index_concept_contents02,
.company_page .index_concept_contents03 {
  top: 0;
}

.section__inner {
  width: 100%;
  min-height: 40vh;
  border: 2px solid var(--color_black);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding: 80px 30px 50px;
  background: url("../recruit_images/btn_arrow_blk.png") no-repeat right bottom;
  background-size: 60px;
}
.company_page .section__inner {
  background: none;
}
.section__inner .en_txt {
  position: absolute;
  top: 0;
  left: 0;
}
.index_concept_contents01 .en_txt {
  width: 65%;
  max-width: 450px;
}
.index_concept_contents02 .en_txt {
  width: 58%;
  max-width: 380px;
}
.index_concept_contents03 .en_txt {
  width: 56%;
  max-width: 360px;
}
.index_concept_contents h5 {
  margin-bottom: 30px;
}
.index_concept_contents01 h5 {
  max-width: 560px;
}
.index_concept_contents02 h5 {
  max-width: 620px;
}
@media screen and (min-width: 1025px) {
  .index_concept_contents02 {
    top: 200px;
  }
  .index_concept_contents03 {
    top: 300px;
  }
  .company_page .index_concept_contents02,
  .company_page .index_concept_contents03 {
    top: 0;
  }
  .section__inner {
    min-height: 60vh;
	padding: 160px 80px 50px;
    background: url("../recruit_images/btn_arrow_blk.png") no-repeat right bottom;
    background-size: 80px;
  }
  .index_concept_contents p {
    font-size: 18px;
  }
}


/*– ひなごで得られる成長 ———————–*/
.index_growth_section {
  padding: 60px 0;
  background: var(--color_bg_red);
}
.index_growth_contents h3 {
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 40px;
}
.index_growth_contents h3 span {
  display: block;
  font-size: 36px;
  font-weight: 700;
}
.index_growth_contents h4 {
  max-width: 810px;
  margin-bottom: 40px;
}
.index_growth_img01 {
  max-width: 1025px;
  margin: 40px auto 20px;
}
@media screen and (min-width: 1025px) {
  .index_growth_section {
    padding: 90px 0;
  }
  .index_growth_contents h3 {
    font-size: 24px;
    margin-bottom: 60px;
  }
  .index_growth_contents h3 span {
    font-size: 60px;
  }
  .index_growth_img01 {
    margin: 50px auto 30px;
  }
}


/*– 圧倒的な価値 ———————–*/
.index_data_bg {
  background: url("../recruit_images/index_data_bg.png") no-repeat top right;
  background-size: 100% auto;
}
.index_ttl_img {
  padding: 60px 0;
  background: rgba(137,1,1,0.35);
}
.index_ttl_img p {
  width: 90%;
  max-width: 1230px;
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  .index_data_bg {
    background: url("../recruit_images/index_data_bg.png") no-repeat top right;
    background-size: auto 80%;
  }
  .index_ttl_img {
    padding: 100px 0;
  }
}


/*– 数字で知る ———————–*/
.index_data_section {
  padding: 60px 0;
}
.index_data_section h3 {
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 40px;
}
.index_data_section h3 span {
  display: block;
  font-size: 36px;
  font-weight: 700;
}
.index_data_contents h4 {
  max-width: 762px;
  margin-bottom: 40px;
}
@media screen and (min-width: 1025px) {
  .index_data_section {
    padding: 180px 0;
  }
  .index_data_section h3 {
    font-size: 24px;
    margin-bottom: 60px;
  }
  .index_data_section h3 span {
    font-size: 60px;
  }
  .index_data_contents h4 {
    margin-bottom: 50px;
  }
}


/*– 仕事を知る ———————–*/
.index_job_section {
  padding: 0 0 80px;
}
.index_job_section h3 {
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 40px;
}
.index_job_section h3 span {
  display: block;
  font-size: 36px;
  font-weight: 700;
}
.index_job_contents h4 {
  max-width: 523px;
  margin-bottom: 40px;
}
.index_job_contents .txt_btn {
  margin: 30px 0 50px;
}
@media screen and (min-width: 1025px) {
  .index_job_section {
    display: flex;
	justify-content: space-between;
	padding: 0 0 160px;
  }
  .index_job_ttl {
    width: 15%;
  }
  .index_job_section h3 {
    margin-bottom: 0;
  }
  .index_job_section h3 span {
    font-size: 50px;
  }
  .index_job_contents {
    width: 83%;
  }
  .index_job_contents .txt_btn {
    margin: 40px 0 70px;
  }
}


/*– 環境を知る ———————–*/
.index_culture_ttl_blc {
  margin-bottom: 30px;
}
.index_culture_ttl_blc h3 {
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  position: relative;
}
.index_culture_ttl_blc h3::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: var(--color_white);
}
.index_culture_ttl_blc h3 span {
  display: inline-block;
  background: var(--color_main_red);
  padding: 0 15px;
  position: relative;
}
.index_culture_ttl_blc p {
  text-align: center;
}
.index_culture_contents h4 {
  margin-bottom: 30px;
}
.index_culture_list_contents {
  width: 90%;
  max-width: 1230px;
  margin: 0 auto;
}
.index_culture_list {
  margin: 30px 0 40px;
}
.index_culture_item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.index_culture_item:last-child {
  margin-bottom: 0;
}
.index_culture_item_img {
  width: 80px;
}
.index_culture_item_txt {
  width: calc(100% - 100px);
}
.index_culture_item_txt h5 {
  font-size: 20px;
  font-weight: 700;
}
.index_culture_item_txt p {
  font-size: 14px;
  padding: 10px 0 15px;
}
.index_culture_item_txt a {
  display: inline-block;
  width: 160px;
  color: var(--color_white);
  font-size: 14px;
  text-align: center;
  border-radius: 100vh;
  border: 2px solid var(--color_white);
  padding: 3px 0;
}
@media screen and (min-width: 1025px) {
  .index_culture_ttl_blc h3 {
    font-size: 60px;
  }
  .index_culture_ttl_blc h3 span {
    padding: 0 20px;
  }
  .index_culture_ttl_blc p {
    font-size: 24px;
  }
  .index_culture_contents {
    display: flex;
	justify-content: space-between;
  }
  .index_culture_contents h4 {
    width: 450px;
	margin-bottom: 0;
  }
  .index_culture_contents .index_culture_txt {
    width: calc(100% - 550px);
  }
  .index_culture_list {
    display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
    margin: 70px 0 60px;
  }
  .index_culture_item {
    width: 48%;
	margin-bottom: 60px;
  }
  .index_culture_item:last-child,
  .index_culture_item:nth-last-child(2) {
    margin-bottom: 0;
  }
  .index_culture_item_img {
    width: 160px;
  }
  .index_culture_item_txt {
    width: calc(100% - 190px);
  }
  .index_culture_item_txt h5 {
    font-size: 26px;
  }
  .index_culture_item_txt p {
    padding: 10px 0 25px;
  }
  .index_culture_item_txt a {
    transition: 0.5s;
  }
  .index_culture_item_txt a:hover {
    transition: 0.5s;
	color: var(--color_main_red);
	background: var(--color_white);
  }
}


/*– エントリーボタン ———————–*/
.go_entry_cover {
  padding: 60px 0;
}
.go_entry_contents {
  width: 90%;
  max-width: 1230px;
  margin: 0 auto;
}
.go_entry_contents h3,
.go_entry_contents .go_entry_ttl {
  max-width: 1107px;
  margin: 0 auto 20px;
}
.go_entry_contents .go_entry_link {
  max-width: 940px;
  margin: 0 auto;
}
.go_entry_contents .go_entry_link li {
  margin-bottom: 10px;
  border: var(--color_black) 2px solid;
  background: var(--color_white);
  font-size: 20px;
  line-height: 1.4;
}
.go_entry_contents .go_entry_link li span {
  font-size: 16px;
  display: block;
}
.go_entry_contents .go_entry_link li a {
  display: block;
  color: var(--color_black);
  padding: 15px 50px 15px 20px;
  background: url("../recruit_images/btn_arrow_red02.png") no-repeat right 15px center;
  background-size: 25px;
}
.go_entry_contents .go_entry_link li.external_link a {
  background: url("../recruit_images/btn_external_red02.png") no-repeat right 15px center;
  background-size: 25px;
}
@media screen and (min-width: 1025px) {
  .go_entry_cover {
    padding: 120px 0;
  }
  .go_entry_contents h3,
  .go_entry_contents .go_entry_ttl {
    margin: 0 auto 40px;
  }
  .go_entry_contents .go_entry_link li {
    margin-bottom: 24px;
	border: var(--color_black) 3px solid;
    font-size: 20px;
  }
  .go_entry_contents .go_entry_link li:last-child {
    margin-bottom: 0;
  }
  .go_entry_contents .go_entry_link li span {
    font-size: 18px;
	display: inline;
  }
  .go_entry_contents .go_entry_link li a {
    transition: 0.3s;
	padding: 30px 70px 30px 30px;
    background: url("../recruit_images/btn_arrow_red02.png") no-repeat right 20px center;
    background-size: 40px;
  }
  .go_entry_contents .go_entry_link li.hover a:hover {
    transition: 0.3s;
	color: var(--color_white);
    background: var(--color_sub_red) url("../recruit_images/btn_arrow_wht.png") no-repeat right 20px center;
    background-size: 40px;
  }
  .go_entry_contents .go_entry_link li.external_link a {
    background: url("../recruit_images/btn_external_red02.png") no-repeat right 20px center;
    background-size: 40px;
  }
  .go_entry_contents .go_entry_link li.external_link a:hover {
    transition: 0.3s;
	color: var(--color_white);
    background:var(--color_sub_red)  url("../recruit_images/btn_external_wht.png") no-repeat right 20px center;
    background-size: 40px;
  }
}


/* ======================================================

   新卒採用トップ

========================================================= */

.new_graduate_top_cover {
  background: var(--color_new_main_red) url("../recruit_images/index_bg_img02_wht.png") no-repeat top 30px right;
  background-size: 98% auto;
  margin-bottom: 20px;
}
.new_graduate_top_cover::after {
  content: '';
  display: block;
  width: 100%;
  height: 200px;
  background: url("../recruit_images/top_new_graduate_bg.png") no-repeat center;
  background-size: cover;
}
@media screen and (min-width: 1025px) {
  .new_graduate_top_cover {
    margin-bottom: 40px;
  }
  .new_graduate_top_cover::after {
    height: 400px;
  }
  .new_graduate_top .sidemenu_wrapper::before {
	background: #7B0000;
	background: linear-gradient(0deg, #7B0000 0%, #9b0808 100%);
  }
}


/*– メイン画像 ———————–*/
.new_graduate_top_cover .index_fv_bg {
  background: url("../recruit_images/index_fv_bg_img03.png") no-repeat center bottom;
  background-size: auto 80%;
}
.new_graduate_top_cover .main_img_cover {
  height: auto;
  padding: 80px 0 20px;
}
.new_graduate_top_cover .main_img h2 {
  margin-bottom: 30px;
}
.new_graduate_top_cover .main_img_cover .fv_anc_btn {
  width: 70%;
  margin: 0 auto;
}
.new_graduate_top_cover .main_img_cover .fv_anc_btn li {
  margin-bottom: 5px;
}
@media screen and (min-width: 1025px) {
  .new_graduate_top_cover {
    background: var(--color_new_main_red) url("../recruit_images/index_bg_img02_wht.png") no-repeat top 100px right;
    background-size: 98% auto;
  }
  .new_graduate_top_cover .index_fv_bg {
    background: url("../recruit_images/index_fv_bg_img03.png") no-repeat right bottom;
    background-size: auto 90%;
  }
  .new_graduate_top_cover .main_img_cover {
    height: auto;
    padding: 200px 0 20px;
  }
  .new_graduate_top_cover .main_img {
    max-width: 100%;
	position: static;
  }
  .new_graduate_top_cover .main_img h2 {
    max-width: 867px;
	margin-bottom: 80px;
  }
  .new_graduate_top_cover .main_img_cover .fv_anc_btn {
    width: 100%;
	display: flex;
    justify-content: space-between;
  }
  .new_graduate_top_cover .main_img_cover .fv_anc_btn li {
    width: 32%;
	margin: 0;
  }
}


/*– 会社を知る ———————–*/
.new_graduate_top_cover .index_company_ttl_blc h3 span {
  background: var(--color_new_main_red);
}
.new_graduate_top_company_contents {
  width: 90%;
  max-width: 1310px;
  margin: 0 auto 60px;
}
.new_graduate_top_company_img {
  width: 60%;
  margin: 0 auto 40px;
}
.new_graduate_top_company_contents h4 {
  max-width: 818px;
  margin-bottom: 30px;
}
.new_graduate_top_company_contents p {
  line-height: 2;
}
@media screen and (min-width: 1025px) {
  .new_graduate_top_cover .index_company_ttl_blc {
    margin-bottom: 70px;
  }
  .new_graduate_top_company_contents {
    display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	margin: 0 auto 120px;
  }
  .new_graduate_top_company_img {
    width: 27%;
    margin: 0;
  }
  .new_graduate_top_company_txt {
    width: 69%;
  }  
  .new_graduate_top_company_contents h4 {
    margin-bottom: 50px;
  }
}


/*– コンセプト ———————–*/
.new_graduate_top_cover .index_concept_section h4 {
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 20px;
}
.new_graduate_top_cover .index_concept_section h4 span {
  display: block;
  max-width: 658px;
  margin: 0 auto 5px;
}
@media screen and (min-width: 1025px) {
  .new_graduate_top_cover .index_concept_section h4 {
    margin-bottom: 30px;
  }
}


/*– ひなごで得られる成長 ———————–*/
.top_growth_section {
  border-radius: 30px;
  background: var(--color_white);
  overflow: hidden;
  box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.3);
}
.top_growth_section .growth_section_img {
  width: 100%;
  height: 200px;
}
.top_growth_section .growth_section_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.top_growth_contents {
  padding: 40px 30px 50px;
}
.top_growth_section h3,
.top_growth_section h4,
.top_growth_section p {
  color: var(--color_black);
}
.top_growth_section h3 span,
.top_growth_section h4 {
  font-weight: 700;
}
.top_growth_section h3 {
  line-height: 1.2;
  margin-bottom: 20px;
}
.top_growth_section h3 span {
  display: block;
  font-size: 30px;
}
.new_graduate_top .top_growth_section h3 span {
  color: var(--color_new_main_red);
}
.top_growth_section h4 {
  font-size: 24px;
  line-height: 1.6;
  margin-bottom: 20px;
}
.top_growth_section .txt_btn {
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  .top_growth_section {
    border-radius: 50px;
    display: flex;
	align-items: stretch;
  }
  .top_growth_section .growth_section_img {
    width: 38%;
	height: auto;
  }
  .top_growth_contents {
    width: 62%;
	padding: 6%;
	box-sizing: border-box;
  }
  .top_growth_section h3 span {
    font-size: 40px;
  }
  .top_growth_section h4 {
    font-size: 30px;
  }
  .top_growth_section .txt_btn {
    margin-top: 30px;
  }
}


/*– 仕事を知る ———————–*/
.new_graduate_top_job_section {
  padding: 60px 0;
  margin-bottom: 60px;
  background: var(--color_bg_red);
}
.new_graduate_top_job_section h3 {
  font-weight: 700;
  font-size: 18px;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 30px;
}
.new_graduate_top_job_section h3 span {
  display: block;
  font-size: 30px;
}
.new_graduate_top_job_con {
  background: var(--color_white);
  box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.3);
  margin-bottom: 30px;
}
.new_graduate_top_job_con:last-child {
  margin-bottom: 0;
}
.new_graduate_top_job_con .job_section_img {
  width: 100%;
  height: 200px;
}
.new_graduate_top_job_con .job_section_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.new_graduate_top_job_con .job_section_txt {
  padding: 40px 30px 50px;
}
.new_graduate_top_job_con p,
.new_graduate_top_job_con h4 {
  color: var(--color_black);
}
.new_graduate_top_job_con .job_number p,
.new_graduate_top_job_con li {
  font-weight: 700;
}
.new_graduate_top_job_con .job_number {
  position: relative;
}
.new_graduate_top_job_con .job_number::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: #c3c3c3;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.new_graduate_top_job_con .job_number p {
  display: inline-block;
  font-size: 18px;
  background: var(--color_white);
  position: relative;
  padding: 0 15px 0 0;
}
.new_graduate_top_job_con .job_number p span {
  display: inline-block;
  font-size: 26px;
  color: var(--color_new_main_red);
  padding-right: 10px;
}
.new_graduate_top_job_con h4 {
  font-size: 32px;
  font-weight: 900;
  line-height: 1.4;
  margin-bottom: 10px;
}
.new_graduate_top_job_con ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.new_graduate_top_job_con ul li {
  display: flex;
  flex-wrap: wrap;
  background: var(--color_new_main_red);
  padding: 0 10px;
  margin: 0 5px 5px 0;
}
.new_graduate_top_job_con .txt_btn {
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  .new_graduate_top_job_section {
    padding: 120px 0;
	margin-bottom: 140px;
  }
  .new_graduate_top_job_section h3 {
    font-size: 26px;
	margin-bottom: 50px;
  }
  .new_graduate_top_job_section h3 span {
    font-size: 46px;
  }
  .new_graduate_top_job_con {
    width: 92%;
	max-width: 1200px;
	box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.3);
    margin-bottom: 60px;
	display: flex;
	align-items: stretch;
	flex-direction: row-reverse;
  }
  .new_graduate_top_job_con02 {
    margin-left: auto;
  }
  .new_graduate_top_job_con .job_section_img {
    width: 39%;
    height: auto;
  }
  .new_graduate_top_job_con .job_section_txt {
    width: 61%;
	padding: 6%;
  }
  .new_graduate_top_job_con .job_number p {
    font-size: 26px;
    padding: 0 20px 0 0;
  }
  .new_graduate_top_job_con .job_number p span {
    font-size: 40px;
    padding-right: 15px;
  }
  .new_graduate_top_job_con h4 {
    font-size: 42px;
  }
  .new_graduate_top_job_con ul {
    margin-bottom: 25px;
  }
  .new_graduate_top_job_con ul li {
    font-size: 18px;
    padding: 0 20px;
  }
  .new_graduate_top_job_con .txt_btn {
    margin-top: 30px;
  }
}


/*– 環境を知る ———————–*/
.new_graduate_top .index_culture_section {
  padding-bottom: 80px;
}
.new_graduate_top .index_culture_ttl_blc {
  margin-bottom: 30px;
}
.new_graduate_top .index_culture_ttl_blc h3 span {
  background: var(--color_new_main_red);
}
.new_graduate_top .index_culture_section h4 {
  max-width: 718px;
  margin-bottom: 30px;
}
.new_graduate_top .index_culture_sub_ttl {
  display: inline-block;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 5px;
  padding: 5px 15px !important;
  border-radius: 100vh;
  background: var(--color_white);
}
.new_graduate_top .index_culture_sub_ttl {
  color: var(--color_new_main_red);
}
@media screen and (min-width: 1025px) {
  .new_graduate_top .index_culture_section {
    padding-bottom: 140px;
  }
  .index_culture_sub_ttl {
    font-size: 18px;
  }
}


/*– 数字で知る ———————–*/
.top_data_section {
  padding-bottom: 80px;
}
.top_data_ttl_blc {
  margin-bottom: 30px;
}
.top_data_ttl_blc h3 {
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  position: relative;
}
.top_data_ttl_blc h3::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: var(--color_white);
}
.top_data_ttl_blc h3 span {
  display: inline-block;
  padding: 0 15px;
  position: relative;
}
.new_graduate_top .top_data_ttl_blc h3 span {
  background: var(--color_new_main_red);
}
.top_data_ttl_blc p {
  text-align: center;
}
.new_graduate_top .top_data_job_contents h4 {
  max-width: 718px;
  margin: 0 auto 40px;
}
.top_data_job_contents .data_intro_txt {
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (min-width: 1025px) {
  .top_data_section {
    padding-bottom: 150px;
  }
  .top_data_ttl_blc h3 {
    font-size: 60px;
  }
  .top_data_ttl_blc h3 span {
    padding: 0 20px;
  }
  .top_data_ttl_blc p {
    font-size: 24px;
  }
}


/* ======================================================

   キャリア採用トップ

========================================================= */

.career_top_cover {
  background: var(--color_career_main_blue) url("../recruit_images/index_bg_img02_wht.png") no-repeat top 30px right;
  background-size: 98% auto;
  margin-bottom: 20px;
}
.career_top_cover::after {
  content: '';
  display: block;
  width: 100%;
  height: 200px;
  background: url("../recruit_images/top_career_bg.png") no-repeat center;
  background-size: cover;
}
@media screen and (min-width: 1025px) {
  .career_top_cover {
    margin-bottom: 40px;
  }
  .career_top_cover::after {
    height: 400px;
  }
  .career_top .sidemenu_wrapper::before {
	background: #001c46;
	background: linear-gradient(0deg, #001c46 0%, #012e72 100%);
  }
}


/*– メイン画像 ———————–*/
.career_top_cover .index_fv_bg {
  background: url("../recruit_images/index_bg_img04.png") no-repeat right bottom;
  background-size: auto 100%;
}
.career_top_cover .main_img_cover {
  padding: 80px 0 20px;
}
.career_top_cover .main_img h2 {
  margin-bottom: 30px;
}
.career_top_cover .main_img_cover .fv_anc_btn {
  width: 70%;
  margin: 0 auto;
}
.career_top_cover .main_img_cover .fv_anc_btn li {
  margin-bottom: 5px;
}
@media screen and (min-width: 1025px) {
  .career_top_cover {
    background: var(--color_career_main_blue) url("../recruit_images/index_bg_img02_wht.png") no-repeat top 100px right;
    background-size: 98% auto;
  }
  .career_top_cover .index_fv_bg {
  }
  .career_top_cover .main_img_cover {
    height: auto;
    padding: 200px 0 20px;
  }
  .career_top_cover .main_img {
    max-width: 100%;
	position: static;
  }
  .career_top_cover .main_img h2 {
    max-width: 867px;
	margin-bottom: 80px;
  }
  .career_top_cover .main_img_cover .fv_anc_btn {
    width: 100%;
	display: flex;
    justify-content: space-between;
  }
  .career_top_cover .main_img_cover .fv_anc_btn li {
    width: 32%;
	margin: 0;
  }
}


/*– 仕事を知る ———————–*/
.career_top_job_section {
  padding: 60px 0;
}
.career_top_job_section h3 {
  font-weight: 700;
  font-size: 18px;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 30px;
}
.career_top_job_section h3 span {
  display: block;
  font-size: 30px;
}
.career_top_job_section h4 {
  max-width: 816px;
  margin-bottom: 30px;
}
.career_top_job_intro_txt {
  margin-bottom: 50px;
}
.career_top_job_graph {
  max-width: 916px;
  margin: 0 auto 50px;
}
.career_top_job_con {
  background: var(--color_white);
  box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.3);
  margin-bottom: 30px;
}
.career_top_job_con:last-child {
  margin-bottom: 0;
}
.career_top_job_con .job_section_img {
  width: 100%;
  height: 200px;
}
.career_top_job_con .job_section_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.career_top_job_con .job_section_txt {
  padding: 40px 30px 50px;
}
.career_top_job_con p,
.career_top_job_con h5 {
  color: var(--color_black);
}
.career_top_job_con .job_number p,
.career_top_job_con li {
  font-weight: 700;
}
.career_top_job_con .job_number {
  position: relative;
}
.career_top_job_con .job_number::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: #c3c3c3;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.career_top_job_con .job_number p {
  display: inline-block;
  font-size: 18px;
  background: var(--color_white);
  position: relative;
  padding: 0 15px 0 0;
}
.career_top_job_con .job_number p span {
  display: inline-block;
  font-size: 26px;
  color: var(--color_career_main_blue);
  padding-right: 10px;
}
.career_top_job_con .job_sub_ttl {
  font-size: 18px;
  font-weight: 900;
  color: var(--color_career_main_blue);
}
.career_top_job_con h5 {
  font-size: 32px;
  font-weight: 900;
  line-height: 1.4;
  margin-bottom: 10px;
}
.career_top_job_con ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.career_top_job_con ul li {
  display: flex;
  flex-wrap: wrap;
  background: var(--color_career_main_blue);
  padding: 0 10px;
  margin: 0 5px 5px 0;
}
.career_top_job_con .txt_btn {
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  .career_top_job_section {
    padding: 120px 0;
  }
  .career_top_job_section h3 {
    font-size: 26px;
	margin-bottom: 50px;
  }
  .career_top_job_section h3 span {
    font-size: 46px;
  }
  .career_top_job_graph {
    margin: 0 auto 120px;
  }
  .career_top_job_con {
    width: 92%;
	max-width: 1200px;
	box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.3);
    margin-bottom: 60px;
	display: flex;
	align-items: stretch;
	flex-direction: row-reverse;
  }
  .career_top_job_con02 {
    margin-left: auto;
  }
  .career_top_job_con .job_section_img {
    width: 39%;
    height: auto;
  }
  .career_top_job_con .job_section_txt {
    width: 61%;
	padding: 6%;
  }
  .career_top_job_con .job_number p {
    font-size: 26px;
    padding: 0 20px 0 0;
  }
  .career_top_job_con .job_number p span {
    font-size: 40px;
    padding-right: 15px;
  }
  .career_top_job_con .job_sub_ttl {
    font-size: 24px;
  }
  .career_top_job_con h5 {
    font-size: 42px;
  }
  .career_top_job_con ul {
    margin-bottom: 25px;
  }
  .career_top_job_con ul li {
    font-size: 18px;
    padding: 0 20px;
  }
  .career_top_job_con .txt_btn {
    margin-top: 30px;
  }
}


/*– 環境を知る ———————–*/
.career_top .index_culture_section {
  padding-bottom: 80px;
}
.career_top .index_culture_ttl_blc {
  margin-bottom: 30px;
}
.career_top .index_culture_ttl_blc h3 span {
  background: var(--color_career_main_blue);
}
.career_top .index_culture_section h4 {
  max-width: 880px;
  margin-bottom: 30px;
}
.career_top .index_culture_sub_ttl {
  display: inline-block;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 5px;
  padding: 5px 15px !important;
  border-radius: 100vh;
  background: var(--color_white);
}
.career_top .index_culture_sub_ttl {
  color: var(--color_career_main_blue);
}

@media screen and (min-width: 1025px) {
  .new_graduate_top .index_culture_section {
    padding-bottom: 140px;
  }
  .index_culture_sub_ttl {
    font-size: 18px;
  }
  .career_top .index_culture_item_txt a:hover {
	color: var(--color_career_main_blue);
  }
}


/*– 会社を知る ———————–*/
.career_top  .index_company_ttl_blc h3 span {
  background: var(--color_career_main_blue);
}
.career_top_company h4 {
  max-width: 792px;
  margin: 0 auto 30px;
}
.career_top_company_graph {
  max-width: 1025px;
  margin: 0 auto 20px;
}
@media screen and (min-width: 1025px) {
  .career_top  .index_company_ttl_blc {
    margin-bottom: 70px;
  }
  .career_top_company h4 {
    margin: 0 auto 60px;
  }
  .career_top_company_graph {
    margin: 0 auto 30px;
  }
}


/*– コンセプト ———————–*/
.career_top .index_concept_section h4 {
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 20px;
}
.career_top .index_concept_section h4 span {
  display: block;
  max-width: 658px;
  margin: 0 auto 5px;
}
@media screen and (min-width: 1025px) {
  .career_top .index_concept_section h4 {
    margin-bottom: 30px;
  }
}


/*– ひなごで得られる成長 ———————–*/
.career_top .top_growth_section h3 span {
  color: var(--color_career_main_blue);
}


/*– 数字で知る ———————–*/
.career_top .top_data_ttl_blc h3 span {
  background: var(--color_career_main_blue);
}
.career_top .top_data_job_contents h4 {
  max-width: 846px;
  margin: 0 auto 40px;
}

/* ======================================================

   block

========================================================= */
.main_sec {
  width: 90%;
  max-width: 1310px;
  margin: 0 auto;
}
.subpage_contents {
  padding: 0 5%;
}

.table_of_contents {
  width: 90%;
  padding: 20px 30px 30px;
  margin: 0 auto 50px;
  border-radius: 20px;
  box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.3);
  background: #920101;
  background: linear-gradient(0deg,rgba(146, 1, 1, 1) 0%, rgba(192, 13, 13, 1) 100%);
}
.table_of_contents ul {
  margin-top: 10px;
}
.table_of_contents li {
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 0.8em;
  padding-left: 15px;
  position: relative;
}
.table_of_contents li::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 100vh;
  background: var(--color_white);
  position: absolute;
  top: 6px;
  left: 0;
}
.table_of_contents li:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 1025px) {
  .subpage_section {
    width: calc(100% - 360px);
    margin-left: 30px;
  }
  .subpage_contents {
    padding: 0 70px;
  }
  .table_of_contents {
    width: 300px;
    padding: 20px 30px 30px;
    margin: 0;
    border-radius: 30px 0 0 30px;
	position: fixed;
	top: 330px;
	right: 0;
	z-index: 1;
  }
  .table_of_contents a:hover {
    text-decoration: underline;
  }
}

.subpage_intro_contents {
  margin-bottom: 50px;
}
.subpage_intro_contents h3 {
  font-size: 36px;
  font-weight: 900;
  margin-bottom: 20px;
}
.subpage_intro_contents p {
 margin-bottom: 1em;
}
.subpage_intro_contents p:last-child {
 margin-bottom: 0;
}

@media screen and (min-width: 1025px) {
  .subpage_intro_contents {
    margin-bottom: 120px;
  }
  .subpage_intro_contents h3 {
    font-size: 60px;
  }
}

.image_l .img,
.image_r .img {
  margin: 0 auto 30px;
}
.image_l .txt p,
.image_r .txt p {
  margin-bottom: 1em;
}
.image_l .txt p:last-child,
.image_r .txt p:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 1025px) {  
  .image_l,.image_r {
    display: flex;
  }
  .image_r {
    justify-content: flex-end;
    flex-direction: row-reverse;
  }
  .image_l .img,
  .image_r .img {
    width: 25%;
	margin: 0;
  }
  .image_l .txt,
  .image_r .txt {
    width: 70%;
	padding-top: 30px;
  }
  .image_l .txt {
    margin-left: auto;
  }
  .image_r .txt {
    margin-right: auto;
  }
}

.recruit_link_section {
  padding: 60px 0;
  margin-bottom: 20px;
  background: var(--color_bg_red);
}
.recruit_link_inner {
  padding: 0 5%;
}
.recruit_link {
  margin-bottom: 30px;
}
.recruit_link:last-child {
  margin-bottom: 0;
}
.recruit_link a {
  display: block;
  box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.3);
}
.recruit_link_company a {
  background: url("../recruit_images/recruit_contents_img01.jpg.webp") no-repeat center;
  background-size: cover;
}
.recruit_link_job a {
  background: url("../recruit_images/recruit_contents_img05_rn_1.jpg.webp") no-repeat center;
  background-size: cover;
}
.recruit_link_culture a {
  background: url("../recruit_images/recruit_contents_img02_rn.jpg.webp") no-repeat center;
  background-size: cover;
}
.recruit_link_data a {
  background: url("../recruit_images/recruit_contents_img03_rn.jpg.webp") no-repeat center;
  background-size: cover;
}
.recruit_link_flow a {
  background: url("../recruit_images/recruit_contents_img04.jpg.webp") no-repeat center;
  background-size: cover;
}
.recruit_link a div {
  padding: 30px;
  background-color: rgba(0,0,0,0.5);
  background-image: url("../recruit_images/btn_arrow_wht.png");
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: right 20px bottom 20px;
}
.recruit_link .en_txt {
  font-size: 18px;
}
.recruit_link h5 {
  font-size: 22px;
  margin-bottom: 30px;
}
@media screen and (min-width: 1025px) {  
  .recruit_link_section {
    padding: 80px 0;
	margin-bottom: 30px;
  }
  .recruit_link_inner {
    width: calc(100% - 500px);
    margin-left: 100px;
	padding: 0;
  }
  .recruit_link_contents {
    display: flex;
	justify-content: space-between;
  }
  .recruit_link {
    width: 23%;
	margin-bottom: 0;
  }
  .recruit_link:nth-child(2),
  .recruit_link:nth-child(4) {
    padding-top: 50px;
  }
  .recruit_link a div {
    transition: 0.5s;
	padding: 50px 40px;
	background-color: rgba(0,0,0,0.7);
  }
  .recruit_link a:hover div {
    transition: 0.5s;
	background-color: rgba(0,0,0,0.3);
  }
  .recruit_link .en_txt {
    font-size: 22px;
	text-align: center;
  }
  .recruit_link h5 {
    font-size: 26px;
	text-align: center;
    margin-bottom: 80px;
  }
}

.recruit_entryform_section {
  padding: 0 5%;
}
.recruit_entryform_section h4 {
  font-size: 18px;
  padding: 3px 0 3px 15px;
  margin-bottom: 30px;
  border-left: 4px solid var(--color_white);
}
.recruit_entryform_section h4 span {
  font-size: 22px;
}
.img_con {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.img_con p {
  width: 49%;
}
.txt_con {
  margin-bottom: 30px;
}
.recruit_entryform_section .txt_con p {
  margin-bottom: 1em;
}
.recruit_entryform_section .txt_con p:last-child {
  margin-bottom: 0;
}
.recruit_entryform_section .button_area li {
  line-height: 1.4;
  text-align: center;
  margin-bottom: 10px;
}
.recruit_entryform_section .button_area li.btn_cnt {
  margin: 0 auto;
}
.recruit_entryform_section .button_area li:last-child {
  margin-bottom: 0;
}
.recruit_entryform_section .button_area a {
  display: block;
  padding: 15px;
  border: 2px solid var(--color_white);
}
.recruit_entryform_section .button_area a span {
  display: block;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (min-width: 1025px) {
  .recruit_entryform_section {
    width: calc(100% - 500px);
    margin-left: 100px;
	padding: 0;
  }
  .recruit_entryform_section .button_area {
    display: flex;
    justify-content: space-between;
  }
  .recruit_entryform_section .button_area li {
    width: 49%;
  }
  .recruit_entryform_section .button_area a {
    padding: 20px 15px;
	transition: 0.5s;
  }
  .recruit_entryform_section .button_area a:hover {
	color: var(--color_bg_red);
	background: var(--color_white);
	transition: 0.5s;
  }
  .recruit_entryform_section .button_area a span {
    font-size: 26px;
  }
}

/* ======================================================

   title

========================================================= */
.page_title_cover {
  padding: 30px 5%;
  border-bottom: #ea5454 1px solid;
  margin-bottom: 50px;
}
.page_title .en_txt,
.page_title h2 {
  line-height: 1;
}
.page_title .en_txt {
  font-size: 40px;
  margin-bottom: 10px;
}

.ttl_pt01 {
  padding: 20px 0;
  margin-bottom: 30px;
  background: var(--color_bg_red);
}
.ttl_pt01 .ttl_pt01_txt {
  font-size: 36px;
  font-weight: 900;
  padding: 0 5%;
}
.ttl_pt01.company_ttl {
  background: #333;
}

.ttl_pt02 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 30px;
}
.ttl_pt02 span {
  display: inline-block;
  padding: 0 15px;
  background: #333;
  margin-bottom: 10px;
}
.ttl_pt02 span:last-child {
  margin-bottom: 0;
}

.ttl_pt03 {
  font-size: 36px;
  font-weight: 900;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (min-width: 1025px) {
  .page_title_cover {
    width: calc(100% - 360px);
    margin-left: 30px;
	margin-bottom: 120px;
    padding: 60px 0 70px;
    border-bottom: #ea5454 1px solid;
  }
  .page_title {
    padding: 0 70px;
  }
  .page_title .en_txt {
    font-size: 70px;
  }
  .page_title h2 {
    font-size: 18px;
  }
  .ttl_pt01 {
    margin-bottom: 80px;
    padding: 30px 0;
  }
  .ttl_pt01 .ttl_pt01_txt {
    width: calc(100% - 500px);
    margin-left: 100px;
	font-size: 46px;
	padding: 0;
  }
  .ttl_pt01.company_ttl .ttl_pt01_txt {
	font-size: 70px;
  }
  .ttl_pt02 {
    font-size: 34px;
	margin-bottom: 30px;
  }
  .ttl_pt03 {
    font-size: 46px;
    margin-bottom: 40px;
  }
  
}

/* ======================================================

   table

========================================================= */
.tbl_pt01 {
  width: 100%;
  table-layout: fixed;
}
.tbl_pt01 th,
.tbl_pt01 td {
  padding: 10px 15px;
  margin-bottom: 6px;
}
.tbl_pt01 tr,
.tbl_pt01 th,
.tbl_pt01 td {
  display: block;
  box-sizing: border-box;
}
.tbl_pt01 th {
  font-weight: 700 !important;
  color: var(--color_main_red);
  background: #f4f4f4;
}
.tbl_pt01 td {
  color: var(--color_black);
  background: #fff;
}

.tbl_pt01 th.required {
  padding-right: 70px;
  position: relative;
}
.tbl_pt01 th.required::after {
  content: "必須";
  display: block;
  position: absolute;
  color: #ffffff;
  font-size: 12px;
  font-weight: bold;
  background: var(--color_main_red);
  padding: 2px 10px;
  box-sizing: border-box;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
}
@media screen and (min-width: 600px) {
  .tbl_pt01 th,
  .tbl_pt01 td {
    padding: 30px;
  }
  .tbl_pt01 tr {
    display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
  }
  .tbl_pt01 th {
    width: calc(30% - 6px);
  }
  .tbl_pt01 td {
    width: 70%;
  }
  .wp15 {
    width:15% !important;
  }
  .wp20 {
    width:20% !important;
  }
  .wp25 {
    width:25% !important;
  }
  .wp30 {
    width:30% !important;
  }
}
@media screen and (min-width: 1025px) {
  .tbl_pt01 th.required::after {
    right: 30px;
  }
}

/* ======================================================

   button

========================================================= */
.txt_btn {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  border: 2px solid var(--color_main_red);
  border-radius: 100vh;
  overflow: hidden;
}
.txt_btn a {
  display: block;
  padding: 15px 50px 15px 15px;
  color: var(--color_main_red);
  background: url("../recruit_images/btn_arrow_red01.png") no-repeat center right 15px;
  background-size: 20px;
}

.txt_btn.wht_clr {
  border: 2px solid var(--color_white);
}
.txt_btn.wht_clr a {
  color: var(--color_white);
  background: url("../recruit_images/btn_arrow_wht.png") no-repeat center right 15px;
  background-size: 20px;
}

.txt_btn.new_btn {
  border: 2px solid var(--color_new_main_red);
}
.txt_btn.new_btn a {
  color: var(--color_new_main_red);
  background: url("../recruit_images/btn_arrow_red03.png") no-repeat center right 15px;
  background-size: 20px;
}

.txt_btn.career_btn {
  border: 2px solid var(--color_career_main_blue);
}
.txt_btn.career_btn a {
  color: var(--color_career_main_blue);
  background: url("../recruit_images/btn_arrow_blu.png") no-repeat center right 15px;
  background-size: 20px;
}
@media screen and (min-width: 1025px) {
  .txt_btn {
    font-size: 18px;
  }
  .txt_btn a {
    padding: 20px 60px 20px 20px;
    background: url("../recruit_images/btn_arrow_red01.png") no-repeat center right 20px;
    background-size: 30px;
	transition: 0.5s;
  }
  .txt_btn a:hover {
    color: var(--color_white);
	background: #d81212 url("../recruit_images/btn_arrow_wht.png") no-repeat center right 20px;
    background-size: 30px;
	transition: 0.5s;
  }
  
  .txt_btn.wht_clr a {
    background: url("../recruit_images/btn_arrow_wht.png") no-repeat center right 20px;
    background-size: 30px;
  }
  .txt_btn.wht_clr a:hover {
    color: var(--color_main_red);
	background: var(--color_white) url("../recruit_images/btn_arrow_red01.png") no-repeat center right 20px;
    background-size: 30px;
  }
  
  .txt_btn.wht_clr.blu_txt a:hover {
    color: var(--color_career_main_blue);
	background: var(--color_white) url("../recruit_images/btn_arrow_blu.png") no-repeat center right 20px;
    background-size: 30px;
  }
  
  .txt_btn.new_btn a {
    background: url("../recruit_images/btn_arrow_red03.png") no-repeat center right 20px;
    background-size: 30px;
  }
  .txt_btn.new_btn a:hover {
    color: var(--color_white);
	background: var(--color_new_main_red) url("../recruit_images/btn_arrow_wht.png") no-repeat center right 20px;
    background-size: 30px;
  }
  
  .txt_btn.career_btn a {
    background: url("../recruit_images/btn_arrow_blu.png") no-repeat center right 20px;
    background-size: 30px;
  }
  .txt_btn.career_btn a:hover {
    color: var(--color_white);
	background: var(--color_career_main_blue) url("../recruit_images/btn_arrow_wht.png") no-repeat center right 20px;
    background-size: 30px;
  }

  .w200 {
    max-width: 200px;
  }
  .w250 {
    max-width: 250px;
  }
  .w280 {
    max-width: 280px;
  }
  .w300 {
    max-width: 300px;
  }
  .w350 {
    max-width: 350px;
  }
  .w400 {
    max-width: 400px;
  }
  .w450 {
    max-width: 450px;
  }
  .w500 {
    max-width: 500px;
  }
  .txt_btn.btn_cnt {
    margin: 0 auto;
  }
}

/* ======================================================

   job

========================================================= */
.job_flow li {
  padding: 0 0 40px 50px;
  position: relative;
}
.job_flow li::before,
.job_flow li::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  background: var(--color_white);
}
.job_flow li::before {
  width: 3px;
  height: 100%;
  left: 4px;
}
.job_flow li::after {
  width: 11px;
  height: 11px;
  left: 0;
  border-radius: 100vh;
}
.job_flow li:last-child {
  padding: 0 0 0 50px;
}
.job_flow li:last-child::before {
  display: none;
}
.job_flow_lft {
  margin-bottom: 10px;
}
.job_flow_time {
  margin-bottom: 5px;
  font-size: 22px;
}
.job_flow_ttl {
  font-size: 22px;
}
.job_flow_rgt {
  display: flex;
  justify-content: space-between;
}
.job_flow_rgt .job_flow_img {
  width: 120px;
}
.job_flow_rgt .job_flow_txt {
  width: calc(100% - 140px);
}
@media screen and (min-width: 1025px) {
  .job_flow li {
    display: flex;
	padding: 0 0 60px 50px;
  }
  .job_flow_lft {
    width: 300px;
	padding-right: 30px;
	margin-bottom: 0;
  }
  .job_flow_time {
    margin-bottom: 5px;
    font-size: 28px;
  }
  .job_flow_ttl {
    font-size: 22px;
  }
  .job_flow_rgt {
    width: calc(100% - 350px);
  }
  .job_flow_rgt .job_flow_img {
    width: 250px;
  }
  .job_flow_rgt .job_flow_txt {
    width: calc(100% - 300px);
  }
}

/* ======================================================

   flow

========================================================= */
.recruit_flow_contents {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.recruit_flow_contents li {
  width: calc(50% - 3px);
  margin-bottom: 6px;
}
.recruit_flow_contents li:last-child {
  margin: 0 auto;
}
.recruit_faq_contents dl {
  margin-bottom: 10px;
}
.recruit_faq_contents dt.recruit_faq_ttl {
  font-weight: 700;
  padding: 15px 60px 15px calc(20px + 1.5em);
  background: #ff0000;
  position: relative;
  cursor: pointer;
}
.recruit_faq_contents dt.recruit_faq_ttl::before {
  content: 'Q';
  position: absolute;
  top: 15px;
  left: 20px;
}
.recruit_faq_contents dt.recruit_faq_ttl::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 25px;
  width: 21px;
  height: 3px;
  background-color: #ffffff;
  transform: translateY(-50%);
}
.recruit_faq_contents dt.recruit_faq_ttl .icon-vertical {
  position: absolute;
  top: 50%;
  right: 25px;
  width: 21px;
  height: 21px;
  transform: translateY(-50%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.recruit_faq_contents dt.recruit_faq_ttl .icon-vertical::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 3px;
  height: 100%;
  background-color: #ffffff;
  transform: translateX(-50%);
}
.recruit_faq_contents dt.recruit_faq_ttl.is-open .icon-vertical {
  transform: translateY(-50%) rotate(90deg) scale(0);
  opacity: 0;
}

@media screen and (min-width: 1025px) {
  .recruit_flow_contents li,
  .recruit_flow_contents li:last-child {
    width: 19.5%;
    margin: 0;
  }
  .recruit_faq_contents dt.recruit_faq_ttl {
    font-size: 20px;
    padding-right: 70px;
  }
  .recruit_faq_contents dt.recruit_faq_ttl::after,
  .recruit_faq_contents dt.recruit_faq_ttl .icon-vertical {
    right: 30px;
  }
  .recruit_faq_contents dd.recruit_faq_txt {
    padding: 45px 50px;
  }
}

.recruit_faq_contents dd.recruit_faq_txt {
  color: var(--color_black);
  padding: 25px 30px;
  background: var(--color_white);
}
.recruit_faq_contents dd.recruit_faq_txt a {
  color: var(--color_main_red);
}
.recruit_faq_contents dd.recruit_faq_txt a:hover {
  text-decoration: underline;
}

/* ======================================================

   data

========================================================= */
.recruit_data_section .recruit_data_contents {
  padding: 30px;
  background: var(--color_white);
  margin-bottom: 20px;
}
.recruit_data_section .recruit_data_contents h6,
.recruit_data_section .recruit_data_contents p,
.recruit_data_section .recruit_data_contents li {
  color: var(--color_black);
}
.recruit_data_section .recruit_data_contents h6,
.recruit_data_section .recruit_data_contents p {
  text-align: center;
  font-weight: 700;
}
.recruit_data_section .recruit_data_contents h6 {
  font-size: 22px;
  line-height: 1.6;
}
.recruit_data_section .recruit_data_contents .en_txt {
  font-size: 14px;
  margin-bottom: 30px;
}
.recruit_data_section .recruit_data_contents canvas {
  width: 100% !important;
  margin: 0 auto 30px;
}
.chart_color_list {
  width: 100%;
  margin: 30px auto 0;
}
.chart_color_list.two_line {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.chart_color_list.two_line li.chart_color {
  width: 48%;
}
.chart_color_list li.chart_color {
  margin-bottom: 3px;
  padding-left: 30px;
  position: relative;
}
.chart_color_list li.chart_color:last-child {
  margin-bottom: 0;
}
.chart_color_list li.chart_color::before {
  content: '';
  display: block;
  width: 20px;
  height: 15px;
  position: absolute;
  top: 5px;
  left: 0;
}
.chart_color_list li.chart_color01::before {
  background: #8a0202;
}
.chart_color_list li.chart_color02::before {
  background: #a30808;
}
.chart_color_list li.chart_color03::before {
  background: #bd0d0d;
}
.chart_color_list li.chart_color04::before {
  background: #d81212;
}
.career_top .chart_color_list li.chart_color01::before {
  background: #002359;
}
.career_top .chart_color_list li.chart_color02::before {
  background: #1d53a1;
}
.career_top .chart_color_list li.chart_color03::before {
  background: #3e7cd1;
}
.career_top .chart_color_list li.chart_color04::before {
  background: #74a9ff;
}
.counter_txt {
  font-size: 60px;
  line-height: 1;
}
.counter_txt .value_txt {
  font-size: 34px;
}
.count-num {
  font-variant-numeric: tabular-nums;
  display: inline-block;
}
@media screen and (min-width: 1025px) {
  .recruit_data_section {
    display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
  }
  .recruit_data_section .recruit_data_contents {
    width: 32%;
  }
  .recruit_data_section .recruit_data_contents h6 {
    font-size: 24px;
  }
  .recruit_data_section .recruit_data_contents canvas {
  }
  .counter_txt {
    font-size: 80px;
  }
  .counter_txt .value_txt {
    font-size: 40px;
  }
}

/* ======================================================

   company

========================================================= */
.company_section01 {
  position: relative;
}
.company_section01::before {
  content: '';
  display: block;
  width: 100%;
  height: 55%;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../recruit_images/company_bg.png") no-repeat center;
  background-size: cover;
}
.company_contents01 {
  padding: 60px 0 40px;
  position: relative;
}
.company_contents01 h3 {
  padding: 0 5%;
}
.company_tag_line {
  width: 95%;
  padding: 40px 30px;
  margin-left: auto;
  background: rgba(131,2,2,0.9);
  position: relative;
}
.company_tag_line .txt_contents p {
  font-size: 18px;
  margin-bottom: 1em;
}
.company_tag_line .txt_contents p:last-child {
  margin-bottom: 0;
}
.company_tag_line .en_txt {
  display: flex;
  align-items: center;
}
.company_tag_line .en_txt span {
  display: inline-block;
  font-size: 22px;
  line-height: 1.2;
  padding-right: 20px;
}
.company_tag_line .en_txt::after {
  content: '';
  display: block;
  flex-grow: 1;
  height: 1px;
  background: var(--color_white);
}
.company_tag_line h4 {
  font-size: 26px;
  margin-bottom: 20px;
}
@media screen and (min-width: 1025px) {
  .company_contents01 {
    padding-top: 120px;
  }
  .company_contents01 h3 {
    width: calc(100% - 500px);
	max-width: 1278px;
	margin-left: 100px;
	padding: 0;
  }
  .company_tag_line {
    width: 60%;
    padding: 80px 330px 80px 80px;
  }
  .company_tag_line .txt_contents p {
    font-size: 22px;
  }
  .company_tag_line .en_txt span {
    font-size: 26px;
    padding-right: 30px;
  }
  .company_tag_line h4 {
    font-size: 32px;
  }
}

/* ======================================================

   entny

========================================================= */
.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="text"],
.wpcf7 select {
  height: 38px;
  padding: 7px 10px;
  background-color: #fff;
  border: 1px solid #ccc;
}
.wpcf7-textarea {
  background-color: #fff;
  border: 1px solid #ccc;
}
.ucf7-month,
.ucf7-day {
  margin-left: 10px;
}
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item {
  margin-left: 0;
  margin-right: 14px;
}
.wpcf7-checkbox .wpcf7-list-item input {
  width: 16px;
  height: 16px;
}
.wpcf7-checkbox .wpcf7-list-item.last,
.wpcf7-radio .wpcf7-list-item.last {
  margin-right: 0;
}
.wpcf7-checkbox .wpcf7-list-item input,
.wpcf7-radio .wpcf7-list-item input {
  margin-top: -6px;
}
@media screen and (min-width: 1025px) {
  .wpcf7-checkbox .wpcf7-list-item input,
  .wpcf7-radio .wpcf7-list-item input {
    margin-top: -2px;
  }
}

/* popup */
.checkbox-wrapper{ margin-bottom: 30px;}
.checkbox-wrapper > p{ text-align: center;}
.checkbox-wrapper > p .open-popup{
  cursor: pointer;
  color: #FFF;
  text-decoration: underline;
}
.checkbox-wrapper .wpcf7-not-valid-tip {
  color: #FFF;
}

/*--popup--*/
.popup {
  position: fixed;
  z-index: 9999999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 20px;
  display: none;
}
.popup-inner {
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  margin: auto;
  display: flex;
}
.popup-box {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 0;
  padding: 40px 25px 40px 40px;
  background-color: #ffffff;
  margin: auto;
  text-align: left;
  max-height: 90vh;
  animation: showout 1s forwards;
}
.popup-box h3 {
  font-weight: 700;
  font-size: 20px;
  color: var(--color_main_red);
  margin-bottom: 20px;
}
.popup-box .close {
  max-width: 250px;
  margin: 0 auto;
  transition: all 0.3s;

  border: none;
  background: var(--color_main_red);
  text-align: center;
  box-sizing: border-box;
  width: 100%;
  color: #ffffff;
  letter-spacing: 0.2em;
  padding: 15px 10px;
  line-height: 1.5;
  cursor: pointer;
}

@keyframes showout {
  from {
      max-width: 0;
    }
  to {
      max-width: 900px;
    }
}
.popup_box-in {
  opacity: 0;
  animation: showct 1s forwards;
  animation-delay: .75s;
}
.popup_box-in p {
  color: var(--color_black);
}
@keyframes showct {
  from {
      opacity: 0;
    }
  to {
      opacity: 1;
    }
}

.popup_box-in {
  overflow-y: auto;
  overflow-x: hidden;
  max-height: calc(90vh - 80px);
  padding-right: 15px;
}
.popup .border_blc_list{
  padding: 35px;
}

@keyframes showout {
  from {
      max-width: 0;
    }
  to {
      max-width: 800px;
    }
}

.popup_box-in {
  opacity: 0;
  animation: showct 1s forwards;
  animation-delay: .75s;
}

@media screen and (max-width: 1024px) {
  .popup-box {
    padding: 20px 20px;
  }
  .popup_box-in {
    padding-right: 0
  }
  .popup-box  .border_blc_list{
    padding: 20px;
  }
  .checkbox-wrapper input{
    top: 7px !important ;
  }
  .border_blc_list.policy > ul>li,
  .border_blc_list.policy ul>li>ul>li {
    margin-left: 0;
    padding-left: 0;
  } 
  .border_blc_list.policy >ul>li span {
    position: relative;
    display: inline-block;
  }
}

@media screen and (max-width: 992px) {
  .ucf7-year,
  .ucf7-month,
  .ucf7-day {
    display: block;
    width: 100%;
    margin: 0;
  }
  .ucf7-date select {
    margin-right: 5px;
    font-size: 14px;
    padding: 7px;
  }
  .ucf7-year,
  .ucf7-month {
    margin-bottom: 10px;
  }
}

.tbl_custom_sp textarea {
  width: 100%;
  max-width: 600px;
}

@media screen and (max-width: 750px) {
  .tbl_custom_sp,
  .tbl_custom_sp tbody,
  .tbl_custom_sp thead {
    display: block;
    width: 100%;
  }
  .tbl_custom_sp input {
    width: 100%;
  }
  .tbl_custom_sp .wpcf7-list-item {
    width: 100%;
    margin-left: 0;
  }
  .tbl_custom_sp .wpcf7-list-item input {
    width: auto;
  }
  .tbl_custom_sp .wpcf7-form-control {
    height: 40px;
    font-size: 15px;
  }
  .tbl_custom_sp textarea.wpcf7-form-control {
    height: 100px;
  }
  .wpcf7-checkbox .wpcf7-list-item input {
    width: auto;
    height: auto;
  }
  .wpcf7-checkbox .wpcf7-list-item {
    padding-left: 20px;
    position: relative;
  }
  .wpcf7-checkbox .wpcf7-list-item input {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 0px;
	transform: translateY(-50%);
  }
}

.border_blc_list {
  padding: 40px 30px;
  border: #cccccc 1px solid;
}
.border_blc_list li {
  line-height: 2;
  padding-left: 1.6em;
  margin-bottom: 1.5em;
  position: relative;
}
.border_blc_list li:last-child {
  margin-bottom: 0;
}
.border_blc_list li span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.border_blc_list.policy ul>li>ul>li{
  margin-bottom: 0;
}
.border_blc_list.policy >ul>li span{ position: absolute}
.border_blc_list.policy >ul>li span.re,
.border_blc_list.policy li span{
  position: relative;
}
.border_blc_list.policy li span.ml35{
  margin-left: 35px;
}
@media screen and (min-width: 1025px) {
  .border_blc_list {
    padding: 70px 80px;
    border: #cccccc 1px solid;
  }
}

/*.contact_fbtn {
  display: flex;
  justify-content: center;
  gap: 50px;
}
.contact_form_btn {
  max-width: 100%;
  width: 250px;
  margin: 0 auto;
  transition: all 0.3s;
}*/
.contact_fbtn .contact_fbtn_back {
  margin-bottom: 10px;
}
.contact_form_btn input.wpcf7-form-control {
  text-align: center;
  box-sizing: border-box;
  width: 100%;
  background: var(--color_main_red);
  color: var(--color_white);
  letter-spacing: 0.2em;
  padding: 15px 10px;
  line-height: 1.5;
  border-radius: 100vh;
  border: var(--color_white) 2px solid;
}
@media screen and (min-width: 1025px) {
  .contact_fbtn {
    max-width: 550px;
	margin: 0 auto;
	display: flex;
  }
  .contact_form_btn {
    width: 49%;
	max-width: 250px;
	margin: 0 auto;
	transition: all 0.3s;
  }
  /*.contact_fbtn {
    gap: 0;
    flex-direction: column;
    align-items: center;
  }
  .contact_fbtn .contact_fbtn_back {
    margin-bottom: 10px;
  }*/
  .contact_form_btn:hover input.wpcf7-form-control {
    transition: all 0.3s;
    cursor: pointer;
  }
  .contact_form_btn:hover input.wpcf7-form-control:hover {
    transition: all 0.3s;
	color: var(--color_main_red);
    background: var(--color_white);
  }
}

/* ======================================================

   アニメーション

========================================================= */
.animate-item {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 親要素（.container）が画面に入ったら、元の位置に戻して表示 */
.animate-container.is-visible .animate-item {
  opacity: 1;
  transform: translateY(0);
}

/* 上から順番に表示させるためのタイマー（ディレイ）設定 */
.animate-container.is-visible .animate-item:nth-child(1) { transition-delay: 0.0s; }
.animate-container.is-visible .animate-item:nth-child(2) { transition-delay: 0.3s; }
.animate-container.is-visible .animate-item:nth-child(3) { transition-delay: 0.6s; }
.animate-container.is-visible .animate-item:nth-child(4) { transition-delay: 0.9s; }
.animate-container.is-visible .animate-item:nth-child(5) { transition-delay: 1.2s; }
.animate-container.is-visible .animate-item:nth-child(6) { transition-delay: 1.5s; }
.animate-container.is-visible .animate-item:nth-child(7) { transition-delay: 1.8s; }
.animate-container.is-visible .animate-item:nth-child(8) { transition-delay: 2.1s; }
.animate-container.is-visible .animate-item:nth-child(9) { transition-delay: 2.4s; }
.animate-container.is-visible .animate-item:nth-child(10) { transition-delay: 2.7s; }
.animate-container.is-visible .animate-item:nth-child(11) { transition-delay: 3.0s; }
.animate-container.is-visible .animate-item:nth-child(12) { transition-delay: 3.3s; }
.animate-container.is-visible .animate-item:nth-child(13) { transition-delay: 3.6s; }
.animate-container.is-visible .animate-item:nth-child(14) { transition-delay: 3.9s; }
.animate-container.is-visible .animate-item:nth-child(15) { transition-delay: 4.2s; }
.animate-container.is-visible .animate-item:nth-child(16) { transition-delay: 4.5s; }
.animate-container.is-visible .animate-item:nth-child(17) { transition-delay: 4.8s; }
.animate-container.is-visible .animate-item:nth-child(18) { transition-delay: 5.1s; }
.animate-container.is-visible .animate-item:nth-child(19) { transition-delay: 5.4s; }
.animate-container.is-visible .animate-item:nth-child(20) { transition-delay: 5.7s; }
