/*

Common

Main Color: #
Sub Color #

*/

html {
	font-size: 14px !important;
}
body {
	position: relative;
	width: 100%;
	height: 100vh;
	font-family: 'Inter','Noto Sans JP','游ゴシック体','Yu Gothic',YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS Pゴシック','MS PGothic',sans-serif;
	font-size: 14px !important;
	font-weight: 400;
	font-feature-settings: 'palt';
	font-feature-settings: normal;
	letter-spacing: 0.05em;
	line-height: 1.82em;
	color: #1a1a1a;
	background: #FFF;
}
body.expanded {
	height: 100%;
	overflow: hidden;
}
::selection {
	background: #ADB2BF;
}
::-moz-selection {
	background: #ADB2BF;
}
a {
	color: #1a1a1a !important;
	text-decoration: none;
}
a:hover {
	color: #434246 !important;
	text-decoration: underline;
}
.inner {
	position: relative;
	margin-inline: auto;
	padding: 0 85px;
	padding: 0 50px;
    max-width: 1000px;
    max-width: 1200px;
    min-width: 850px;
	width: auto;
	box-sizing: border-box;
}
.inner.narrow {
    max-width: 1100px;
}
.inner.wider {
	padding: 0 133px;
	max-width: 1366px;
}
.inset {
	max-width: 70%;
	width: 70%;
}
.section {
	position: relative;
	margin-inline: auto;
	margin-bottom: 5em;
	margin-bottom: 7.5em;
}
body.section,
#cap.section,
#footer.section {
	padding-top: 0;
	padding-bottom: 0;
}
.block {
	position: relative;
	margin-bottom: 3.5em;
}

h2.title {
	margin-bottom: 2.5em;
	font-size: 2.3em;
	font-weight: 500;
}
h2.title .title_en {
	display: block;
	position: relative;
	margin-bottom: 1.75em;
	padding-left: 50px;
	font-size: 1rem;
	color: #e10012;
}
h2.title .title_en::before {
	position: absolute;
	left: 0;
	top: 12px;
	content: '';
	width: 40px;
	height: 1px;
	background: #e10012;
}
h2.title .title_ja {
	display: block;
	font-size: 3.56rem;
	line-height: 1.2em;
}
h3.title {
	margin-bottom: 3em;
	font-size: 1.35em !important;
	font-size: 1.45em !important;
	font-weight: 600;
	letter-spacing: 0.3em;
	line-height: 1.5em;
}
h3.title .label {
	font-size: 0.8em !important;
	letter-spacing: 0.1em;
}
h4.title {
	position: relative;
	margin-bottom: 1em;
	padding-left: 24px;
	font-size: 1.15em !important;
	font-weight: 600 !important;
}
h4.title::before {
	position: absolute;
	left: 0;
	top: 4px;
	content: '';
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: solid 3px #e10012;
}
h4.lead {
	margin-bottom: 3em;
	font-size: 1.1em;
	font-weight: 600;
}
h5.title {
	margin-bottom: 1em;
	font-size: 1.05em;
	font-weight: 500;
}
h4.message_title {
    margin-bottom: 1.5em;
    font-size: 1.6em;
    font-weight: 500 !important;
    line-height: 1.5em;
}
.summary p,
p.summary {
	font-size: 1.14em !important;
	line-height: 2.19em !important;
}
.emphasis,
strong {
	font-weight: 600 !important;
}
img {
	width: 100%;
	height: auto;
	-ms-interpolation-mode: bicubic;
	-ms-interpolation-mode: nearest-neighbor;
}
svg {
	width: 100%;
	height: auto;
}
.astarisc {
	margin-left: 0.3em;
	color: #888;
	font-size: 0.7rem;
}
hr {
	display: block;
	margin-bottom: 2.5em;
	height: 1px;
	border: 0;
	background: #DDD;
}
.only_pc {
	display: block;
}
.only_mobile {
	display: none;
}
.webfont {
	font-family: 'Inter', sans-serif;
	font-weight: 400;
}
.webfont.condense {
}
/* .webfont.serif {
	font-family: 'Noto Serif JP', serif;
	font-weight: 200;
} */
.webfont.work {
	font-family: 'Work Sans', sans-serif;
	font-weight: 500;
}
.webfont.garamond {
	font-family: 'EB Garamond', serif;
	font-weight: 400;
}
.webfont.futura {
	font-family: 'Hind', sans-serif;
	font-weight: 400;
}
.webfont.hand {
}
.thin {
	font-weight: 300 !important;
}
.thinner {
	font-weight: 100 !important;
}
.bold {
	font-weight: 500 !important;
}
.bolder {
	font-weight: 700 !important;
}
.italic {
	font-style: italic !important;
}
.serif {
	font-family: "游明朝体","Yu Mincho",YuMincho,serif;
}
.sans {
	font-family: 'Noto Sans JP',"游ゴシック体","Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"MS Pゴシック","MS PGothic",sans-serif;
}
.centering {
	text-align: center !important;
}
.hide {
	display: none !important;
}
.note {
	clear: both;
	display: block;
	margin-top: 1.5em;
	font-size: 0.85rem !important;
	color: #888;
	line-height: 1.6em;
	letter-spacing: 0.05em;
}
.note li:not(:last-child) {
	margin-bottom: 0.35em;
}
.note a {
	color: #888 !important;
	text-decoration: underline; 
}
.palt {
	font-feature-settings: 'palt';
}
.person_interview_text h3.adjust {
	letter-spacing: 0.1em;
}

.square {
	font-size: 0.7em;
	line-height: 1em;
	vertical-align: super;
}
p.empty {
	padding: 8em 0;
	text-align: center;
	color: #DDD;
	font-size: 1.1em;
}

table {
	margin: 3em 0;
	width: 100%;
	border: solid 1px #ddd;
	border-collapse: collapse;
	font-size: 0.9em;
	line-height: 1.6em;
	letter-spacing: 0.1em;
}
table th,
table td {
	padding: 1em;
	border: solid 1px #ddd;
	border-collapse: collapse;
}
thead th {
	text-align: center;
	color: #fff;
	background: #f4f4f4;
	background: #333;
}
tbody th {
	background: #f5f5f5;
}
tbody td {
	text-align: center;
}

.anchors ul {
	padding-bottom: 1em;
	border-bottom: solid 1px #1a1a1a;
	font-size: 1em;
}
.anchors li {
	position: relative;
	float: left;
	margin-right: 3em;
}
.anchors li a {
	display: inline-block;
	position: relative;
	padding-left: 26px;
	text-decoration: none;
}
.anchors li a::before {
	position: absolute;
	left: 0;
	top: 0.6em;
	top: 0.25em;
	content: '';
	width: 18px;
	height: 18px;
	background: url(../images/common/icon_anchor.png) no-repeat center / 80%;
}
.counter_container {
	height: 3.5em;
}
.counter {
	font-family: 'Nova Mono', monospace;
	letter-spacing: 0.015em;
}
.counter .comma {
	font-family: 'Inter', sans-serif;
	font-size: 0.85em;
}


/** Switch **/

#menu_switch {
	position: fixed;
	right: 15px;
	top: 30px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent !important;
	z-index: 20000;
	/* mix-blend-mode: difference; */
}
#menu_switch p {
	position: relative;
	width: 70px;
	height: 30px;
}
.switch_bar {
	display: block;
	position: absolute;
	left: 0;
	width: 70px;
	height: 2px;
	background: #1a1a1a;
	border-radius: 100px;
	transition: all 140ms linear;
}
.hero_visible .switch_bar {
	background: #fff;
}
.expanded.hero_visible .switch_bar {
	background: #1a1a1a;
}
.page_sougou.expanded .switch_bar,
.page_professional.expanded .switch_bar {
	background: #fff !important;
}
#menu_switch #switch_top {
	top: 0;
}
#menu_switch #switch_middle {
	top: 13px;
}
#menu_switch #switch_bottom {
	bottom: 0;
}
.expanded #menu_switch #switch_top {
	top: 14px;
	transform: rotate(30deg);
	transition: all 120ms ease-in;
}
.expanded #menu_switch #switch_bottom {
	bottom: 14px;
	transform: rotate(-30deg);
	transition: all 120ms ease-in;
}


/* Back */

#back {
	display: none;
	position: fixed;
	bottom: 85px;
	left: 60px;
	padding-top: 150px;
		-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	z-index: 10;
}
#back::before {
	position: absolute;
	/* bottom: calc(100% + 13.5px); */
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	content: '';
	width: 1px;
	height: 137px;
	background: #868686;
}
#back a {
	color: #868686 !important;
	font-size: 0.76em;
	font-weight: 300;
	letter-spacing: 0.05em;
	text-decoration: none;
}

.scroll::before {
	animation: scroll_bar 1400ms ease-in-out infinite;
}
@keyframes scroll_bar {
	0% {
		height: 137px;
	}
	100% {
		height: 0;
	}
}


/** Paging **/

#paging {
	float: left;
}
#paging ul {
	position: relative;
}
#paging li {
	position: relative;
	float: left;
	padding: 10.32px 0;
	overflow: hidden;
}
#paging li:not(:last-of-type) {
	margin-right: 2.24em;
}
#paging li a {
	display: block;
	padding: 0.3em 0.1em;
	font-size: 1.07em;
	text-align: center;
	text-decoration: none;
}
#paging li.active a {
	border-bottom: 2px solid #000;
}


/* Button */

.button {
	background: #1a1a1a;
	overflow: hidden;
}
.button.red {
	background: #e10012;
}
.button a {
	display: block;
	color: #fff !important;
	text-align: center;
	line-height: 1.4em;
	text-decoration: none;
}


/* Index_button */

.index_button {
	text-align: center;
}
.index_button a {
	display: inline-block;
	padding: 1em 2.25em 1em 2.5em;
	font-size: 1.45em;
	font-weight: 600;
	letter-spacing: 0.2em;
	color: #e10012 !important;
	border: 1px solid #e10012;
	text-decoration: none;
}


/* Extarnal_link */

a.extarnal_link {
	position: relative;
	padding-right: 32px;
	color: #fff !important;
	text-decoration: none;
}
a.extarnal_link::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	content: '';
	width: 28px;
	height: 28px;
	background: url(../images/common/icon_extarnallink.png) no-repeat center / cover;
}


/* Header */

#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 1095px;
	min-width: 930px;
	min-width: 980px;
	background: #fff;
	background: rgba(255,255,255,0.75);
	background: rgba(255,255,255,1);
	background: none;
	transition: all 100ms ease-in-out;
	z-index: 10000;
}
.search_show #header {
	background: #fff !important;
}
#header_inner {
	padding: 14px 100px 14px 30px;
	transition: all 260ms linear;
}
.fixed #header_inner {
	background: rgba(255,255,255,0.75);
	background: rgba(255,255,255,1);
	transition: all 360ms linear;
}

#header_bar {
	background: none;
}
#header_logo {
	float: left;
	position: relative;
	padding-top: 18px;
	padding-top: 0;
	width: 252px;
	z-index: 100000;
	z-index: 9997;
	overflow: hidden;
}
#header_logo #logo_kepco {
	display: block;
	margin-bottom: 5px;
	width: 100%;
}
#header_logo #logo_td {
	display: block;
	width: 79%;
}

#header_logo a {
	display: block;
	width: 100%;
	height: 100%;
	transition: all 150ms linear;
}
#header_logo a object {
	display: block;
	width: 100%;
	height: auto;
}
#header_nav {
	position: relative;
	float: right;
	z-index: 100000;
	z-index: 9998;
}
#header_nav_top {
	position: relative;
	float: left;
	margin-top: 11.5px;
	margin-right: 40px;
}
#header_nav_top::before {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	content: '';
	width: 10px;
	height: 10px;
	background: #acacac;
	border-radius: 50%;
}
#header_nav_top::after {
	position: absolute;
	top: 50%;
	right: -40px;
	transform: translateY(-50%);
	content: '';
	width: 60px;
	height: 2px;
	background: #acacac;
}
#header_nav_top a {
	display: block;
	padding: 0.83em 2em 0.87em 1em;
	color: #808080 !important;
	font-size: 1em;
	line-height: 1em;
	width: max-content;
	box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
	overflow: hidden;
	border-radius: 50vh;
	text-decoration: none;
	background: #fff;
}
#header_nav_current {
	float: right;
}
#header_nav_current a {
	display: block;
	padding: 1.43em 4.25em 1.47em 4.25em;
	font-size: 1.14em;
	line-height: 1em;
	box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
	overflow: hidden;
	border-radius: 50vh;
	text-decoration: none;
	background: #fff;
}
#header_buttons {
	position: relative;
	float: right;
	padding-top: 12px;
	margin-left: -27px;
	z-index: 100001;
	z-index: 9999;
}
#header_buttons .button {
	float: left;
}
#header_buttons .button a {
	padding: 1em 3em;
	padding: 0.8em 2.5em;
	line-height: 1em;
}
#header_button_entry {
	border-radius: 50vh 0 0 50vh;
}
#header_buttons .button#header_button_entry a {
	padding: 0.8em 3.25em;
}
#header_button_login {
	border-radius: 0 50vh 50vh 0;
}
#header_login_years,
#header_entry_years {
	display: none;
	position: absolute;
	top: 12px;
	opacity: 0;
}
#header_entry_years {
	left: 0;
	width:  calc(50% + 2px);
}
#header_login_years {
	right: 0;
	width: calc(50% - 2px);
}
#header_entry_years ul {
	width: 100%;
	border-top-left-radius: 200px;
	border-bottom-left-radius: 200px;
	overflow: hidden;
}
#header_login_years ul {
	width: 100%;
	border-top-right-radius: 200px;
	border-bottom-right-radius: 200px;
	overflow: hidden;
}
#header_login_years li,
#header_entry_years li {
	position: relative;
	float: left;
	width: 50%;
	font-size: 0.9em;
	letter-spacing: 0.05em;
	line-height: 1em;
	text-align: center;
}
#header_login_years li:nth-of-type(1),
#header_entry_years li:nth-of-type(1) {
	width: 45%;
}
#header_login_years li:nth-of-type(2),
#header_entry_years li:nth-of-type(2) {
	width: 55%;
}
#header_entry_years li {
	background: #e10012;
}
#header_login_years li {
	background: #1a1a1a;
}
#header_login_years li:first-child::before,
#header_entry_years li:first-child::before {
	position: absolute;
	right: 0;
	top: 12px;
	content: '';
	width: 1px;
	height: 13px;
	background: #fff;
}
#header_login_years span,
#header_login_years a,
#header_entry_years span,
#header_entry_years a {
	display: block;
	padding: 13px 0.5em 11px 0.5em !important;
	text-decoration: none;
	color: #fff !important;
}
#header_login_years li:first-child span,
#header_login_years li:first-child a,
#header_entry_years li:first-child span,
#header_entry_years li:first-child a {
	padding: 13px 0em 11px 0.9em !important;
}
#header_login_years li:last-child span,
#header_login_years li:last-child a,
#header_entry_years li:last-child span,
#header_entry_years li:last-child a {
/*	padding: 13px 0.9em 11px 0em !important;*/
	padding: 13px 1.9em 11px 0em !important;
}
#header_login_years li:first-child span,
#header_login_years li:last-child span,
#header_entry_years li:first-child span,
#header_entry_years li:last-child span {
	opacity: 0.4;
}
#header_login_years li:last-child .tba,
#header_entry_years li:last-child .tba {
	display: block;
	padding: 13px 0.9em 11px 0em !important;
	padding: 7px 0.2em 0 0 !important;
	font-size: 0.9rem !important;
	letter-spacing: 0;
	line-height: 1.2em;
}
#header_login_years li:last-child .label,
#header_entry_years li:last-child .label {
	display: block;
	padding: 0 0 2px 0 !important;
	font-size: 0.65rem;
	letter-spacing: 0;
	line-height: 1.2em;
}
#menu {
	position: fixed;
	display: none;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	height: 100%;
	background: #fff;
	overflow-y: scroll;
	overflow-x: hidden;
	z-index: 10002;
}
#menu a {
	text-decoration: none;
}
#menu_overlay {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	z-index: 9990;
	cursor: pointer;
}
#menu_inner {
	position: relative;
	padding-top: 100px;
	padding: 200px 100px;
	padding: 70px 90px;
	padding: 70px 140px 70px 90px;
	padding: 70px 80px 70px 50px;
	min-width: 1020px;
	width: 100%;
	overflow-x: hidden;
	overflow-y: scroll;
}
#menu_brand {
	position: relative;
	float: left;
	width: 360px;
	width: 320px;
	/*
	height: calc(100% - 180px);
	*/
	height: calc(100% - 140px);
	height: calc(100vh - 140px);
}
#menu_toc {
	float: right;
	width: calc(100% - 450px);
	width: calc(100% - 390px);
	height: 100%;
}

#_menu_brand_inner {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	transform: translateY(-50%);
}
#menu_brand_inner {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	transform: translateY(-50%);
}
#menu_brand_kepco {
	margin-bottom: 15px;
	margin-left: 20px;
	width: 270px;
}
#menu_brand_kansaitd {
	margin-bottom: 21px;
	margin-left: 22px;
	width: 210px;
}
#menu_brand_recruit a {
	display: block;
	padding: 1.35em 1em;
	width: max-content;
	width: 100%;
	color: #1a1a1a !important;
	font-size: 1.05em;
	font-weight: 500;
	text-align: center;
	line-height: 1em;
	border-radius: 50vh;
	text-decoration: none;
	background: #fff;
	box-shadow: inset 0px 0px 7px 0px rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

#menu_toc_categories {
	position: relative;
	padding-bottom: 3.5em;
	margin-bottom: 3em;
	/* border-bottom: solid 1px #808080; */
}
#menu_toc_categories::before {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: calc(100% + 140px);
	height: 1px;
	background: #808080;
}
.menu_toc_category {
	float: left;
	width: 30%;
}
.menu_toc_category:nth-of-type(2n) {
	margin: 0 5%;
}
.menu_toc_category_title {
	margin-bottom: 2em;
}
.category_title_en {
	display: block;
	margin-bottom: 8px;
	font-size: 2em;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: #E10012;
}
.menu_toc_occupation_title .category_title_en {
	font-size: 1.5em;
	color: #808080;
}

.category_title_ja {
	display: block;
	position: relative;
	margin-bottom: 24px;
	padding-left: 30px;
	color: #808080;
	font-size: 0.85em;
	line-height: 1.4em;
}
.category_title_ja::before {
	position: absolute;
	left: 0;
	top: 12px;
	top: 50%;
	transform: translateY(-50%);
	content: '';
	width: 22px;
	height: 1px;
	background: #808080;
}
.menu_toc_category li {
	font-size: 1.15em;
	font-size: 1.1em;
	font-weight: 500;
}
.menu_toc_category li:not(:last-of-type) {
	margin-bottom: 0.85em;
}
.menu_toc_category .menu_toc_category_children {
	margin-top: 1.25em;
}
.menu_toc_category .menu_toc_category_children li {
	margin-bottom: 0;
	font-size: 0.875em;
	font-weight: 400;
	line-height: 1.2em;
}
.menu_toc_category .menu_toc_category_children li:not(:last-of-type) {
	margin-bottom: 1em;
}
.menu_toc_category .menu_toc_category_children li a {
	display: block;
	position: relative;
	padding-left: 15px;
}
.menu_toc_category .menu_toc_category_children li a::before {
    position: absolute;
    left: 0;
    top: 0.6em;
    transform: translateY(-50%);
    content: '';
    width: 8px;
    height: 14px;
    background: url(../images/common/icon_menu_toc_children.png) no-repeat center / cover;
}
.menu_toc_category .menu_toc_category_children.children_white li a::before {
	background: url(../images/common/icon_menu_toc_children_white.png) no-repeat center / cover !important;
}
.menu_toc_category_children .label {
	display: block;
	font-size: 0.8rem;
	letter-spacing: 0.03em;
	font-feature-settings: 'palt';
}
#menu_toc_internship {
	margin-top: 3.5em;
	max-width: 310px;
}
#menu_toc_internship a {
	display: block;
	text-decoration: none !important;
}
#menu_toc_internship .label {
	display: block;
	margin-top: 0.5em;
	font-weight: 500;
	font-size: 0.95em;
	font-size: 0.9em;
	line-height: 1.5em;
	letter-spacing: 0.05em;
}

.menu_toc_occupation {
	float: left;
	width: 31%;
}
.menu_toc_occupation:nth-of-type(2n) {
	margin: 0 3.5%;
}
.menu_toc_occupation {
	float: left;
	width: 31%;
}
.menu_toc_occupation_image {
	margin-bottom: 1em;
	border: 1px solid #e10012;
	box-shadow: 0px 0px 4px rgba(0,0,0,0.2);
}
#menu_toc_occupation_area_sougou .menu_toc_occupation_image {
	border: 1px solid #acacac;
}
#menu_toc_occupation_professional .menu_toc_occupation_image {
	border: 1px solid #000;
}
.menu_toc_occupation_image a {
	display: block;
	height: 100%;
}
.menu_toc_occupation h4 {
	margin: 0 auto;
	padding: 0.75em 0 0.65em 0;
	width: 90%;
	font-size: 0.9em;
	line-height: 1.2em;
	text-align: center;
	font-weight: 500;
	color: #1a1a1a !important;
	border-radius: 200px;
	background: #fff;
}
#menu_toc_occupation_sougou h4 {
	color: #fff !important;
	background: #E10012;
}
#menu_toc_occupation_area_sougou h4 {
	color: #1a1a1a !important;
	background: #acacac;
}
#menu_toc_occupation_professional h4 {
	color: #fff !important;
	background: #1a1a1a;
}

/** Menu Common **/

#menu_toc_common_about {
	width: 30%;
}
#menu_toc_common_field {
	width: 30%;
}
#menu_toc_common_information {
	width: 30%;
}


/** Menu Sougou **/

#menu.menu_sougou {
	color: #fff;
	background: #E10012;
}
/* .menu_sougou #menu_inner {
	color: #fff;
	background: #E10012;
} */
.menu_sougou #menu_inner a {
	color: #fff !important;
}
.menu_sougou #menu_brand_recruit a {
	color: #1a1a1a !important;
}
.menu_sougou .category_title_en {
	color: #1A1A1A;
}
/* .menu_sougou #menu_toc_categories {
	border-bottom: solid 1px #fff;
} */
.menu_sougou #menu_toc_categories::before {
	background: #fff;
}
.menu_sougou #menu_toc_occupations .category_title_en {
	color: #fff;
}
.menu_sougou .category_title_ja {
	color: #fff;
}
.menu_sougou .category_title_ja::before {
	background: #fff;
}
.menu_sougou .menu_toc_category {
	float: left;
	margin-right: 5%;
	margin-bottom: 3.5em;
	width: 45%;
}
.menu_sougou .menu_toc_category:nth-of-type(2n) {
	margin: 0 5% 0 0;
}
.menu_sougou .menu_toc_category:nth-of-type(3n) {
	clear: both;
	margin-bottom: 0;
}
.menu_sougou .menu_toc_category:nth-of-type(4n) {
	margin-bottom: 0;
}

.menu_sougou #menu_brand img {
	filter: brightness(0) invert(1);
}

.page_sougou.expanded #menu_switch {
	mix-blend-mode: normal;
}


/** Menu Area Sougou **/

#menu.menu_areasougou {
	background: #f2f2f2;
}
/* .menu_areasougou #menu_inner {
	background: #f2f2f2;
} */

/** Menu Professional **/

#menu.menu_professional {
	color: #fff;
	background: #1a1a1a;
}
/* .menu_professional #menu_inner {
	background: #1a1a1a;
} */
.menu_professional #menu_inner a {
	color: #fff !important;
}
.menu_professional #menu_brand_recruit a {
	color: #1a1a1a !important;
}
/* .menu_professional #menu_toc_categories {
	border-bottom: solid 1px #fff;
} */
.menu_professional #menu_toc_categories::before {
	background: #fff;
}
.menu_professional #menu_toc_occupations .category_title_en {
	color: #fff;
}
.menu_professional .category_title_ja {
	color: #fff;
}
.menu_professional .menu_toc_category {
	float: left;
	margin-right: 5%;
	margin-bottom: 3.5em;
	width: 45%;
}
.menu_professional .menu_toc_category:nth-of-type(2n) {
	margin: 0 5% 0 0;
}
.menu_professional #menu_brand img {
	filter: brightness(0) invert(1);
}



/** Menu Temporary **/

#menu_global li {
	position: relative;
	opacity: 0;
	animation: menu_global 600ms ease-in-out forwards;
}
@keyframes menu_global {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
#menu_global li.menu_parent {
	float: left;
	width: 32%;
}
#menu_global li.menu_parent:not(:nth-of-type(3n)) {
	margin-right: 2%;
}
#menu_global li.menu_parent:nth-of-type(3n + 1) {
	clear: both;
}
#menu_global li.menu_parent:nth-last-of-type(n + 4) {
	margin-bottom: 4em;
}
#menu_global li.menu_parent > a {
	margin-bottom: 1em;
	color: #e10012 !important;
}
#menu_global li a {
	position: relative;
	display: block;
	font-size: 1em;
	font-weight: 500;
	text-decoration: none;
}
#menu_global li.menu_parent > ul {
	padding-left: 1em;
}
#menu_global li.menu_child > ul {
	padding-left: 1em;
}
#menu_global .menu_parent li a {
	font-size: 0.9em;
}
#menu_global .menu_parent li:not(:last-of-type) {
	margin-bottom: 0.3em;
}
#menu_global li.menu_child > a {
	margin-bottom: 0.8em;
}
#menu_global .menu_child li a {
	padding-left: 1em;
	font-size: 0.85em;
}
#menu_global .menu_child li a::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '-';
}

#waist {
	padding-top: 120px;
	padding-top: 89px;
}
#waist.w_hero {
	padding-top: 89px;
}


/* Portal */

.portal_contents {
	margin-bottom: 12.6em;
/*
	overflow-x: hidden;
*/
}
.portal_contents .inner,
.portal_recruit .inner {
    padding: 0 133px;
    max-width: 1366px;
	max-width: 100%;
}
.portal_content_inner {
	margin: 0 auto;
	max-width: 1366px;
	max-width: 1200px;
}
.portal_recruit .inner {
	max-width: 1366px;
}
._portal_content_inner.fullwidth {
	margin-left: -40px;
	width: calc(100% + 80px);
	max-width: calc(100% + 80px);
	overflow: hidden;
}

.page_portal h3.title {
    font-size: 1em !important;
    text-align: center;
}
.page_portal h3.title span {
    display: block;
}
.page_portal h3.title .title_en {
	margin-bottom: 0.3em;
    color: #808080;
    font-size: 0.85em;
}
.page_portal h3.title .title_ja {
    font-size: 1.28em;
}
.portal_content {
	position: relative;
}
.portal_content:not(:last-of-type) {
	margin-bottom: 12.6em;
}
._portal_content::before {
	position: absolute;
	top: 27px;
	top: 42px;
	left: 50%;
	transform: translateX(-50%);
	content: '';
	width: 100vw;
	width: 200%;
	height: 342px;
	background: #ededed;
	z-index: -1;
}
.portal_content::before {
	position: absolute;
	top: 42px;
	content: '';
	margin-left: -133px;
	width: calc(100% + 266px);
	height: 342px;
	background: #ededed;
	z-index: -1;
}
.portal_content.red:before {
	background: #e10012;
}
.portal_content_text {
	width: 29.5%;
}
.portal_content h4 {
	font-weight: 500;
	line-height: 1.2em;
}
.portal_content h4.title_en {
    font-size: 5em;
	margin-bottom: 0.175em;
	transition: all 160ms ease-in-out;
}
.portal_content.llrt h4.title_en {
    float: right;
	width: 29.5%;
}
#home_contents_field.portal_content.llrt h4.title_en {
    float: none;
}
.portal_content h4.title_ja {
	position: relative;
	padding-left: 2.93em;
	margin-bottom: 2.27em;
	color: #e10012;
    font-size: 1.14em;
}
.portal_content h4.title_ja::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: '';
	width: 40px;
	height: 1px;
	background: #e10012;
}
.portal_content.red h4.title_ja {
	color: #fff;
}
.portal_content.red h4.title_ja::before {
	background: #fff;
}
.ltrl .portal_content_text {
    float: left;
	clear: both;
}
.llrt .portal_content_text {
    float: right;
	clear: both;
}
.ltrl .portal_content_links {
    float: right;
}
.llrt .portal_content_links {
    float: left;
}
.portal_content_links {
	position: relative;
    width: 65.45%;
	/* overflow: hidden; */
}
.portal_content_links.narrow {
    width: 63.63%;
}
.portal_content_links.column_slider  {
	margin-right: -133px;
    width: calc(63.63% + 133px);
}
.portal_content_link {
	float: left;
	border-radius: 15px;
	overflow: hidden;
	transition: all 360ms ease-in-out;
}
.portal_content_link:hover {
	transform: scale(0.96);
	transition: all 260ms ease-in-out;
}
.portal_content_links.column_one .portal_content_link:nth-last-of-type(n + 2) {
	margin-bottom: 1.42em;
}
.portal_content_links.column_two .portal_content_link:nth-last-of-type(n + 3) {
	margin-bottom: 1.42em;
}
.portal_content_links.column_two .portal_content_link {
	width: 48.6%;
}
.portal_content_links.column_two .portal_content_link:nth-of-type(even) {
	float: right;
}
.portal_content_links.column_two .portal_content_link:nth-of-type(2n + 1) {
	clear: both;
}
.portal_content_links.column_three .portal_content_link {
	width: 31.4%;
}
.portal_content_links.column_three .portal_content_link:not(:nth-of-type(3n)) {
	margin-right: 2.9%;
}
.portal_content_links.column_three .portal_content_link:nth-of-type(3n + 1) {
	clear: both;
}

.portal_content_link_double .portal_content_link {
	width: 48%;
}
.portal_content_link_double .portal_content_link:nth-of-type(odd) {
	clear: both;
	float: left;
}
.portal_content_link_double .portal_content_link:nth-of-type(even) {
	float: right;
}

.portal_content_link a {
	position: relative;
	display: block;
	color: #fff !important;
	transition: all 360ms ease-in-out;
}
.portal_content_link a::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(78,78,78,0.39539565826330536) 86%, rgba(84,84,84,1) 100%);
}
.portal_content_link h5 {
	position: absolute;
	bottom: 18px;
	left: 20px;
	z-index: 10;
}
.column_slider .swiper {
	overflow: hidden;
}
.column_slider .portal_content_link h5 {
	bottom: 15px;
	width: 90%;
	background: none;
}
.portal_content_link h5 span {
	display: block;
	line-height: 1.2em;
}
.portal_content_link h5 .title_en {
	position: relative;
	padding-left: 1.2em;
	margin-bottom: 0.8em;
	font-size: 0.85em;
}
.column_slider .portal_content_link h5 .title_en {
	padding-right: 1.2em;
	margin-inline: auto;
	width: fit-content;
}
.portal_content_link h5 .title_en::before {
    position: absolute;
    top: 0.6em;
    left: 0;
    content: '';
    width: 10px;
    height: 1px;
    background: #fff;
}
.column_slider .portal_content_link h5 .title_en::after {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	content: '';
	width: 10px;
	height: 1px;
	background: #fff;
}
.column_slider .swiper-button-next {
	right: 14px;
	width: 40px;
	height: 40px;
	background:url(../images/common/icon_slide_next.png) no-repeat center / 100% !important;
	transition: all 260ms linear;
}
.column_slider .swiper-button-prev {
	left: -18px;
	width: 40px;
	height: 40px;
	background:url(../images/common/icon_slide_prev.png) no-repeat center / 100% !important;
	transition: all 260ms linear;
}
.column_slider .swiper-button-prev:hover,
.column_slider .swiper-button-next:hover {
	transform: scale(1.1);
	transition: all 160ms linear;
}

.portal_content_link h5 .title_ja {
	font-size: 1.28em;
	font-weight: 500;
}

.portal_recruit_wrapper {
	padding: 2.71em 9.1% 3.6em 9.1%;
    box-shadow: inset 0px 0px 10px rgba(0, 0, 0, 0.3);
	border-radius: 40px;
}
.portal_recruit_link {
	float: left;
	width: 33.3%;
	text-align: center;
	border-right: 1px solid #000;
}
.portal_recruit_link:first-of-type {
	margin-left: 16.65%;
	border-left: 1px solid #000;
}
.page_home .portal_recruit_link:first-of-type {
	margin: 0;
}
.portal_recruit_link a {
	display: block;
	padding: 2.5em;
	text-decoration: none;
	transition: all 360ms ease-in-out;
}
.portal_recruit_link a:hover {
	transform: scale(1.08);
	transition: all 260ms ease-in-out;
}
.portal_recruit_link.two_lines a {
	padding-top: 1.5em;
	padding-top: 1.46em;
	padding-bottom: 2em;
}
.portal_recruit_link span {
	display: block;
}
.portal_recruit_link .icon {
	margin-bottom: 0.79em;
	width: 26.6%;
	margin-inline: auto;
}
.portal_recruit_link .text {
	font-size: 1.14em;
	font-weight: 500;
	line-height: 1.38em;
}


/* Page_heading */

.page_heading {
	margin-bottom: 4.29em;
	margin-bottom: 5.5em;
	background: #f0f0f0;
}
.page_heading_image {
	margin-bottom: 5.5em;
}
.page_footer_image .inner,
.page_heading_image .inner {
	padding: 0;
	max-width: 100%;
}
.page_heading .inner {
	padding-top: 2em;
	padding-bottom: 2em;
}
.w_hero .page_heading {
	display: none;
}
.w_hero .page_heading .inner {
	padding: 0;
	max-width: 100%;
}
.page_heading h2.title {
	margin-bottom: 0;
	font-size: 1.65em;
	font-weight: 600;
	line-height: 1.4em;
	letter-spacing: 0.1em;
}
.page_heading.compact .heading_image {
	display: none;
}
.recruit_title {
	display: inline-block;
	margin-bottom: 0.45em;
	padding: 0.35em 0.5em 0.3em 0.5em;
	content: '採用情報';
	color: #fff;
	font-size: 0.85rem;
	line-height: 1rem;
	background: #e10012;
	letter-spacing: 0;
	border-radius: 2px;
}
.page_heading.compact {
	position: fixed;
	top: 89px;
	top: 0;
	top: -150px;
	margin-bottom: 0;
	width: 100%;
	z-index: 9999;
	opacity: 0;
}
.page_heading.compact .inner {
	padding: 1.35em 30px;
	width: 100%;
	max-width: 100%;
}
.page_heading.compact.slidein {
	animation: page_heading 750ms ease-in-out 10ms 1 forwards;
}
@keyframes page_heading {
	0% {
		opacity: 0;
		top: 0;
		top: -150px;
	}
	60% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		top: 89px;
	}
}
.page_heading_summary {
	margin-top: 2em;
	margin-top: 1.5em;
	font-size: 1.1em;
	line-height: 1.8em;
}

.page_heading.compact br {
	display: none;
}
.page_heading.compact h2.title {
	float: left;
	font-size: 1.15em;
}
.page_heading.compact .recruit_title {
	float: left;
	margin-right: 1em;
	margin-bottom: 0;
}
.page_heading.compact .page_heading_summary {
	display: none;
}

#faq_heading.page_heading .inner,
#requirement_heading.page_heading .inner {
	padding-top: 2.5em;
	padding-bottom: 2.5em;
}
#faq_heading .recruit_title,
#requirement_heading .recruit_title {
	margin-bottom: 1em;
	padding: 0.5em;
	padding-bottom: 0.4em;
	font-size: 0.95em;
	line-height: 1em;
	border: solid 1px #e10012;
	border-radius: 0;
}
#faq_heading h2,
#requirement_heading h2 {
	margin-bottom: 0.5em;
}
#faq_heading h3,
#requirement_heading h3 {
	display: inline-block;
	padding: 0.65em 0.75em 0.5em 1em;
	font-size: 1.7em;
	font-weight: 500;
	line-height: 1em;
	border-radius: 200px;
	letter-spacing: 0.2em;
	background: #fff;
}
#requirement_application dd table {
	margin-top: 1.5em !important;
	margin-bottom: 1em !important;
}
#requirement_application dd tbody th .label {
	font-size: 0.85em;
	letter-spacing: 0.05em;
}
#requirement_application dd .job_chart:not(:last-of-type){
	margin-bottom: 2.5em;
}
#requirement_application .column_major {
	width: 10%;
}
#requirement_application .column_title {
	width: 20%;
}
#requirement_application .column_company {
	width: 10%;
}

#requirement_application .column_job {
	width: 20%;
}
#requirement_application .column_section {
	width: 35%;
}
#requirement_application .column_attribution {
	width: 15%;
}
#requirement_application .column_assignment {
	width: 20%;
}
.page_area_sougou #requirement_application .column_section {
	width: 34%;
}
.page_area_sougou #requirement_application .column_attribution {
	width: 33%;
}
.page_area_sougou #requirement_application .column_assignment {
	width: 33%;
}
#job_clerical.job_chart tbody tr {
	cursor: default;
}

#requirement_schedule .block:not(:last-child) {
	padding-bottom: 3.5em;
	border-bottom: solid 1px #eee;
}
.requirement_schedule_dept {
	padding: 3em;
	border: solid 1px #eee;
	border-radius: 6px;
	background: #fff;
	background: #fafafa;
	background: #f8f8f8;
}
.requirement_schedule_steps {
	margin: 3em 0;
}
.requirement_schedule_steps li {
	position: relative;
	float: left;
	margin-right: 4%;
	padding: 2.5em 1em;
	width: 22%;
	border-radius: 5px;
	text-align: center;
	color: #fff;
	color: inherit;
	background: #297cd7;
	background: #fafafa;
	background: #fff;
	border: solid 1px #bbb;
	border: solid 1px #ddd;
	border: solid 1px #eee;
}
.requirement_schedule_steps li:last-child {
	margin-right: 0;
}
.requirement_schedule_steps h5,
.requirement_schedule_steps h6 {
	line-height: 24px;
}
.requirement_schedule_steps h5.double {
	line-height: 48px;
}
.requirement_schedule_steps h5 {
	font-size: 0.95em;
	font-weight: 600;
}
.requirement_schedule_steps h6 {
	font-size: 0.85em;
}
.requirement_schedule_steps .astarisc {
	position: absolute;
	right: 3px;
	top: 3px;
}
.requirement_schedule_steps li::before {
	position: absolute;
	left: 9px;
	top: 9px;
	font-size: 1.6em;
	color: #297cd7;
}
.requirement_schedule_steps li:not(:last-child)::after {
	position: absolute;
	right: -27px;
	top: 50%;
	content: '';
	margin-top: -9px;
	width: 18px;
	height: 18px;
	background: url(../images/icon_step_next.png) no-repeat center / cover;
}
.requirement_schedule_steps li:nth-of-type(1)::before {
	content: '1';
}
.requirement_schedule_steps li:nth-of-type(2)::before {
	content: '2';
}
.requirement_schedule_steps li:nth-of-type(3)::before {
	content: '3';
}
.requirement_schedule_steps li:nth-of-type(4)::before {
	content: '4';
}

/* Job Major Chart */

.job_chart th,
.job_chart td {
	vertical-align: middle;
}
.column_index {
	position: relative;
	background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #fff 50%, #fff calc(50% + 0.5px), transparent calc(50% + 1px));
}
#column_index_major {
	position: absolute;
	right: 15px;
	top: 12px;
}
#column_index_section {
	position: absolute;
	left: 15px;
	bottom: 10px;
}
.job_chart table {
	margin-bottom: 0 !important;
}
.job_chart td.checked {
	background: url(../images/common/icon_circle.png) no-repeat center / 20px;
}
.job_chart td.unchecked {
}
.job_chart tbody tr {
	cursor: pointer;
}
.job_chart tbody tr.selected {
}
.job_chart tbody tr.selected td {
	background-color: #f8f8f8;
}
.job_chart tbody tr.selected th:last-of-type {
	color: #fff;
	background-color: #e10012;
}

/* Faq */

.faq_category h3.title {
	margin-bottom: 1em;
	font-size: 2em !important;
	letter-spacing: 0.05em;
}
.faq_qa {
	margin-bottom: 1.5em;
	font-size: 1.14em;
}
.faq_q {
	position: relative;
	padding: 1.5rem 7rem 1.5rem 1.75rem;
	border-top: solid 2px #e10012;
	font-weight: 500;
	box-shadow: 0px 0px 8px rgba(0,0,0,0.2);
	cursor: pointer;
}
.faq_q::before {
	position: absolute;
	right: 20px;
	top: 50%;
	margin-top: -20px;
	content: '';
	width: 40px;
	height: 40px;
	background: url(../images/common/icon_faq_open.png) no-repeat center / cover;
	animation: faq_close 200ms ease-in-out 1 forwards;
}
.active .faq_q::before {
	animation: faq_open 200ms ease-in-out 1 forwards;
}
@keyframes faq_open {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(90deg);
		background-image: url(../images/common/icon_faq_close.png);
	}
}
@keyframes faq_close {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(-90deg);
		background-image: url(../images/common/icon_faq_open.png);
	}
}
.faq_a {
	display: none;
	position: relative;
	padding: 1.5rem 1.5rem 1.5rem 4rem;
	line-height: 2em;
}
.faq_a a {
	text-decoration: underline;
}
.faq_a .note {
	margin-top: 0;
}
.active .faq_a {
	display: block;
	animation: a_show 300ms ease-in-out 1 forwards;
}
@keyframes a_show {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.faq_a::before {
	position: absolute;
	left: 1.75rem;
	top: 35px;
	content: '';
	width: 24px;
	height: 1px;
	background: #e10012;
}
.faq_a h4 {
	color: #e10012;
}
.faq_a h4:not(:first-of-type) {
	margin-top: 2.5em;
}
.faq_a h5 {
	margin-top: 0.5em;
	font-weight: 500;
}
.faq_a ul {
	padding-left: 1.35em;
}
.faq_a li {
	list-style-type: disc;
}



/* Page_hero */

.page_hero {
	position: relative;
	height: 679px;
	overflow: hidden;
}
.page_hero.hero_thin {
    margin-top: -89px;
	margin-bottom: 3.5em;
    height: 485px;
}
.page_hero.hero_thiner {
    margin-top: -89px;
	margin-bottom: 400px;
	margin-bottom: 0;
    height: 410px;
}
.page_hero.hero_thiner .page_hero_image,
.page_hero.hero_thin .page_hero_image {
	width: 100%;
	height: 100%;
}
.page_hero::before {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	content: '';
	z-index: -1;
}
.page_hero .inner {
	width: 100%;
	max-width: 1366px;
	height: 100%;
}
.page_hero_image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    min-width: 1366px;
    z-index: 10;
}
.page_hero_text {
	position: absolute;
	top: 43%;
	right: -55px;
	transform: translateY(-50%);
	z-index: 11;
}
.page_hero_text h2.title_en {
	margin-bottom: 0.5em;
	margin-left: 57px;
	font-size: 1.14em;
}
.page_hero_text h2.title_ja > span {
	display: block;
}
.page_hero_text h2.title_ja {
	padding: 16px 0 26px 57px;
	background: #ccc;
	border-radius: 50vh;
	overflow: hidden;
}
.page_hero_text h2.title_ja .copy {
	font-size: 2.64em;
	line-height: 1.6em;
	transition: all 160ms ease-in-out;
}
.page_hero_text h2.title_ja .title {
	font-size: 1.29em;
	font-weight: 600;
	line-height: 1.6em;
	transition: all 160ms ease-in-out;
}
.page_hero_scroll {
	position: absolute;
	left: 72px;
	bottom: 0;
	/* padding-left: 0em; */
	height: 134px;
	z-index: 30;
}
.page_hero_scroll::before {
	position: absolute;
	left: 0;
	top: 0;
	content: '';
	width: 1px;
	height: 100%;
	background: #808080;
}
.page_hero_scroll::after {
	position: absolute;
	left: 5px;
	bottom: -2px;
	transform: rotate(45deg);
	content: '';
	width: 1px;
	height: 15px;
	background: #808080;
}
.page_hero_scroll p {
	color: #808080;
	font-size: 0.85em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
._page_hero_badge {
	position: absolute;
	top: 22px;
	right: -8px;
	z-index: 100;
}
.hero_thiner .page_hero_badge {
	top: 110px;
}
.page_hero_badge {
	position: absolute;
	top: 110px;
	top: 21px;
	right: 3%;
	right: -8px;
	z-index: 100;
	transition: all 360ms ease-in-out;
}
.page_hero_badge:hover {
	right: 15px;
}
.page_hero.hero_thin .page_hero_badge {
	top: 110px;
}
.page_hero_badge {
	display: block;
	padding-top: 25px;
	width: 116px;
	height: 116px;
	color: #fff !important;
	background: #e10012;
	text-align: center;
	border-radius: 50%;
	overflow: hidden;
	text-decoration: none;
	transition: all 360ms ease-in-out;
	cursor: pointer;
}
.page_hero_badge:hover {
	transition: all 260ms ease-in-out;
	transform: scale(1.05);
}
.page_hero_badge span {
	display: block;
	line-height: 1.4em;
}
.page_hero_badge .en {
	position: relative;
	padding-bottom: 0.7em;
	margin-bottom: 0.3em;
	font-size: 0.71em;
	letter-spacing: 0.08em;
}
.page_hero_badge .en::before {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	content: '';
	width: 18px;
	height: 1px;
	background: #fff;
}
.page_hero_badge .ja {
	font-size: 0.85em;
	letter-spacing: -0.06em;
}


/* Job */

/* .speaker_image {
	border-radius: 50%;
	overflow: hidden;
} */
#job_content .inner {
	padding: 0 133px;
	max-width: 1366px;
}
#job_heading_image {
	position: relative;
	margin-bottom: 0;
	height: 600px;
}
#job_heading_image::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	background: rgba(0, 0, 0, 0.19);
	z-index: 1;
}
#job_heading_image .inner {
	height: 100%;
}
#job_heading_image h2 {
	position: absolute;
	left: 93px;
	bottom: 105px;
	color: #fff;
	font-size: 3.93em;
	font-weight: 600;
	z-index: 10;
}
#job_heading_image h3 {
	font-size: 3.93em;
}
#job_heading_image h3 {
    position: absolute;
    left: 93px;
    bottom: 170px;
    padding-left: 47px;
    color: #fff;
    font-size: 1.43em;
    font-size: 1.43em;
    font-weight: 400;
	z-index: 10;

}
#job_heading_image h3::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: '';
	width: 40px;
	height: 1px;
	background: #fff;
}
#job_content .heading {
	text-align: center;
}
#job_content .heading h3.title {
	margin-bottom: 0 !important;
	font-size: 2.2em !important;
}
#job_content .heading h3.title .en {
	position: relative;
	padding-bottom: 54px;
	margin-bottom: 12px;
	display: block;
	color: #fff;
	font-size: 0.516em;
	letter-spacing: 0;
}
#job_content .heading h3.title .en::before {
	position: absolute;
	bottom: 0;
	left: 50%;
	content: '';
	width: 1px;
	height: 40px;
	background: #1a1a1a;
}
#job_mission .heading {
	position: relative;
	padding: 34px 59px;
	margin-top: -57px;
	margin-inline: auto;
	width: 77%;
	border-radius: 15px;
	background: #ccc;
	z-index: 10;
}
#job_mission .heading p {
	color: #fff;
	font-size: 1.42em;
	letter-spacing: 0.08em;
	line-height: 1.75em;
}
#job_mission_panes {
	margin-top: -54px;
}
.job_mission_pane {
	float: left;
	width: 48.18%;
	padding: 93px 58px 61px 58px;
	border-radius: 15px;
	box-shadow: inset 0px -0px 10px 0px rgba(0, 0, 0, 0.3);
	font-feature-settings: "palt";
}
.job_mission_pane:nth-of-type(even) {
	float: right;
}
.job_mission_pane:nth-of-type(2n + 1) {
	clear: both;
}
.job_mission_pane h4 {
	margin-bottom: 0.8em;
	font-size: 1.5em;
	font-weight: 500;
	text-align: center;
}
.job_mission_pane p {
	font-size: 1.14em;
}
.job_mission_pane ul {
	padding: 0 3em;
	margin-top: 0.5em;
}
.job_mission_pane li {
	position: relative;
	padding-left: 1.1em;
}
.job_mission_pane li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '●';
}

#job_details .heading {
	margin-bottom: 3.57em;
}
#job_details .heading h3.title .en {
	color: #1a1a1a;
}
#job_details .heading h3.title .en::before {
	background: #e10012;
}
.job_details_pane {
	float: left;
	padding: 57px 45px 37px 45px;
	width: 48.18%;
	border: 1px solid #e10012;
	border-radius: 15px;
}
.job_details_pane:nth-of-type(even) {
	float: right;
}
.job_details_pane:nth-of-type(2n + 1) {
	clear: both;
}
.job_details_pane:nth-last-of-type(n + 3) {
	margin-bottom: 3.2em;
}
.job_details_pane_image {
	padding: 1em 0;
	margin-bottom: 2em;
	border-left: 1px solid #e10012;
	border-right: 1px solid #e10012;
}
.job_details_pane_image p {
	margin-inline: auto;
	margin-bottom: 1em;
	width: 83px;
}
.job_details_pane_image h4 {
	font-size: 1.28em;
	font-weight: 500;
	text-align: center;
}
.job_details_pane_image h4 span {
	display: block;
	font-size: 0.85em;
}
.job_details_pane_text {
	margin-bottom: 1.75em;
	font-size: 1.14em;
	letter-spacing: 0;
	line-height: 2em;
}
.job_details_pane_persons {
	overflow: hidden;
}
.job_details_pane_person {
	float: left;
	width: 30.2%;
}
.job_details_pane_person:not(:last-of-type) {
	margin-right: 4.7%;
}
.job_details_pane_person a {
	display: block;
	text-decoration: none;
}
.job_details_pane_person_image {
	margin-bottom: 0.75em;
	border-radius: 10px;
	overflow: hidden;
	transition: all 260ms ease-in-out;
}
.job_details_pane_person a:hover .job_details_pane_person_image {
	transition: all 360ms ease-in-out;
	transform: scale(0.96);
}

.job_details_pane_persons .job_details_pane_person {
	text-align: left;
}
.job_details_pane_person h6 {
	font-size: 0.85em;
	line-height: 1.5em;
}
/* .job_details_pane_person h5 {
	font-size: 1.14em;
} */
.job_details_pane_persons .job_details_pane_person h5 {
	position: relative;
	left: auto;
	bottom: auto;
	transform: none;
	padding: 0;
	color: inherit;
	background: inherit;
	font-size: 1.14em;
	line-height: inherit;
	text-align: left;
}

.page_area_sougou #job_content .heading h3.title .en {
	color: #1a1a1a;
}
.page_area_sougou #job_mission .heading p {
	color: #1a1a1a;
}
.page_area_sougou #job_details .heading h3.title .en::before {
	background: #1a1a1a;
}
.page_area_sougou .job_details_pane {
	border: 1px solid #1a1a1a;
}
.page_area_sougou .job_details_pane_image {
	border-left: 1px solid #1a1a1a;
	border-right: 1px solid #1a1a1a;
}
.persons_single .job_details_pane_person {
	float: none;
	width: 100%;
}
.persons_single .job_details_pane_person_image {
	float: left;
	margin: 0 2em 0 10%;
	width: 30.2%;
}
.persons_single .job_details_pane_person_text {
	float: right;
	margin-right: 10%;
	padding-top: 4em;
	width: calc(49.8% - 2em);
}
/*
.persons_single .job_details_pane_text {
	float: left;
	width: 60%;
}
.persons_single .job_details_pane_persons {
	float: right;
	width: 30.2%;
}
.persons_single .job_details_pane_person {
	float: none;
	width: 100%;
}
*/
._page_area_sougou .job_details_pane_person_text {
	position: relative;
	padding-top: 6.45em;
	padding-right: 10em;
	margin-right: 0;
	width: 64.8%;
}
._page_area_sougou .job_details_pane_person h5 {
	font-size: 0.85em;
}
._page_area_sougou .job_details_pane_person_image {
	margin-left: 0;
	margin-right: 5%;
}
.job_details_pane_button {
	position: relative;
	margin-bottom: 3em;
	text-align: center;
}
.job_details_pane_button .button {
	margin: 0 auto;
	width: 36%;
	min-width: 200px;
	background: none;
	transition: all 260ms ease-in-out;
}
.job_details_pane_button .button a {
	display: block;
	padding: 1em 30px;
	color: #fff;
	background: #e10012;
	text-align: center;
	border-radius: 50vh;
	overflow: hidden;
}
.job_details_pane_button .button:hover {
	transform: scale(0.95);
	transform: scale(1.05);
	transition: all 360ms ease-in-out;
}
._job_details_pane_button .button::before,
._job_details_pane_person .button::before {
	position: absolute;
	top: 50%;
	right: -15px;
	transform: translateY(-50%);
	content: '';
	width: 30px;
	height: 1px;
	background: #1a1a1a;
}

.page_professional #job_mission .heading h3.title .en::before {
	background: #fff;
}
.page_professional #job_details .heading h3.title .en::before {
	background: #1a1a1a;
}
.page_professional .job_details_pane {
	border: 1px solid #1a1a1a;
}
.page_professional .job_details_pane_image {
	border-left: 1px solid #1a1a1a;
	border-right: 1px solid #1a1a1a;
}

#job_details_links {
	width: 62.5%;
	margin-top: 5em;
	margin-inline: auto;
}
.job_detail_link {
	border-radius: 15px;
	overflow: hidden;
	transition: all 360ms ease-in-out;
}
.job_detail_link:hover {
	transform: scale(0.96);
	transition: all 260ms ease-in-out;
}
.job_detail_link a {
	position: relative;
	display: block;
	color: #fff !important;
	transition: all 360ms ease-in-out;
}
.job_detail_link a::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(78,78,78,0.39539565826330536) 86%, rgba(84,84,84,1) 100%);
}
.job_detail_link h5 {
	position: absolute;
	bottom: 18px;
	left: 20px;
	z-index: 10;
}
.job_detail_link h5 span {
	display: block;
	line-height: 1.2em;
}
.job_detail_link h5 .title_en {
	position: relative;
	padding-left: 1.2em;
	margin-bottom: 0.8em;
	font-size: 0.85em;
}
.job_detail_link h5 .title_en::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: '';
	width: 10px;
	height: 1px;
	background: #fff;
}
.job_detail_link h5 .title_ja {
	font-size: 1.28em;
	font-weight: 500;
}

.dlist {
	border-top: solid 1px #d3d3d3;
}
dl.dlist {
	font-size: 1.15em;
	font-size: 1.05em;
	letter-spacing: 0.05em;
}
.dlist dt {
	position: relative;
	clear: both;
	float: left;
	padding: 2.5em 0;
	width: 9em;
	font-weight: 600;
}
.dlist dt.fullwidth {
	float: none;
	padding: 2.5em 0 0 0;
	width: 100%;
}
.dlist dt::before {
	position: absolute;
	top: -3px;
	left: 0;
	content: '';
	width: 15px;
	height: 2px;
	background: #e10012;
}
.dlist dd {
	padding: 2.5em 0 2.5em 10em;
	border-bottom: solid 1px #d3d3d3;
}
.dlist dd.fullwidth {
	float: none;
	padding: 0 0 3.5em 0;
}
.dlist dd p:not(:last-of-type) {
	margin-bottom: 1.5em;
}
.dlist dd a {
	text-decoration: underline;
}
.dlist li:not(:last-child) {
	margin-bottom: 0.25em;
}
.dlist h6 {
	margin-bottom: 0.5em;
	font-weight: 600;
}
.dlist h6.dlist_column {
	float: left;
	margin-bottom: 0;
	width: 7em;
	font-weight: 600;
}
.dlist ul.dlist_column {
	float: left;
	width: calc(100% - 7em);
	padding-left: 2em;
	border-left: solid 1px #d3d3d3;
}

.page_area_sougou .dlist h6.dlist_column {
	width: 9em;
}
.page_area_sougou .dlist ul.dlist_column {
	width: calc(100% - 9em);
}
.page_professional .dlist h6.dlist_column {
	width: 13em;
}
.page_professional .dlist ul.dlist_column {
	width: calc(100% - 13em);
}

.dlist .dlist_column li:not(:last-child) {
	margin-bottom: 1em;
}
.dlist .note {
	clear: none;
	margin-top: 0.2em;
}
.dlist .note:first-child {
	margin-top: 0.45em;
}
.dlist_image {
	margin: 2em 0;
}

/* Socks */

#socks {
	margin-top: 4.28em;
	margin-bottom: 5em;
}


/* Footer */

#footer {
	margin-top: 10em;
}
#footer .inner {
	padding: 0 40px;
	max-width: 100%;
}
#footer_sns {
	padding: 42px 0 50px 0;
	text-align: center;
	background: #575757;
}
#footer_sns h3 {
	color: #fff;
	margin-bottom: 33px;
	font-size: 1.28em;
	font-weight: 600;
}
#footer_sns ul {
	display: inline-block;
}
#footer_sns li {
	float: left;
}
#footer_sns li:not(:last-of-type) {
	margin-right: 55px;
}
#footer_sns li a {
	display: block;
	width: 50px;
}
#footer_links {
	padding: 24px 0 22px 0;
	background: #1a1a1a;
}
#footer_links_corp {
	float: left;
}
#footer_links_corp li {
	float: left;
}
#footer_links_corp li:not(:last-child) {
	margin-right: 30px;
}
#footer_links_other {
	float: right;
}
#footer_links_other .footer_link {
	float: left;
}
#footer_links_other .footer_link:not(:last-of-type) {
	margin-right: 30px;
}
#copyright {
	padding: 50px 0;
	color: #7f7e7e;
	font-size: 0.9em;
	letter-spacing: 0.07em;
	text-align: center;
	z-index: 10;
}


/* Swiper */

.swiper-pagination-bullet {
	display: inline-block;
	width: 15px !important;
	height: 15px !important;
	background: #010101;
	background: #fff !important;
	opacity: 1 !important;
}
.swiper-pagination-bullet-active {
	background: #e10012 !important;
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 5px !important;
}
.swiper-slide {
	position: relative;
	margin: 0 auto;
	text-align: center;
}
.swiper-slide h5 {
	position: absolute;
	left: 50%;
	bottom: 20px;
	padding: 0.25em 0.5em 0.25em 0.75em;
	color: #fff;
	font-size: 0.85em;
	line-height: 1.6em;
	text-align: left;
	text-align: center;
	transform: translateX(-50%);
	background: rgba(0,0,0,0.6);
}
.swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 4px;
	overflow: hidden;
}
.swiper_prev_alt,
.swiper_prev {
	position: absolute;
	left: 16px;
	top: 50%;
	margin-top: -25px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(0,0,0,0.8);
	cursor: pointer;
	z-index: 9000;
}
.swiper_next_alt,
.swiper_next {
	position: absolute;
	right: 16px;
	top: 50%;
	margin-top: -25px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(0,0,0,0.8);
	cursor: pointer;
	z-index: 9000;
}
.swiper_pagination {
	position: absolute;
	left: 0;
	bottom: 10px;
	z-index: 9000;
}

.search_pane {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	padding-top: 89px;
	width: 100%;
	height: 100vh;
	color: #fff;
	z-index: 999;
	overflow-y: scroll;
}
#search_pane_tag {
	background: #231815;
	background: rgba(35,24,21,0.98);
}
#search_pane_direction {
	background: #e10012;
	background: rgba(225,0,18,0.98);
}

body.search_show {
	max-height: 100vh;
	overflow: hidden;
}
.search_pane_inner {
	position: relative;
	margin: 0 auto;
	padding: 60px 0 100px 0;
	width: 100%;
	max-width: 1000px;
}
.search_pane_close {
	position: absolute;
	position: fixed;
	right: 30px;
	top: 110px;
	width: 75px;
	height: 75px;
	cursor: pointer;
	z-index: 100;
}
.search_pane_heading {
	margin-bottom: 3em;
	text-align: center;
}
.search_pane_heading h2 {
	margin-bottom: 1rem;
	font-size: 3em;
	font-weight: 300;
	letter-spacing: 0.1em;
}
.search_pane_heading h3 {
	font-size: 0.95em;
}
#search_pane_tag .search_pane_close {
	background: url(../images/common/search_close_red.png) no-repeat center / cover;
}
#search_pane_direction .search_pane_close {
	background: url(../images/common/search_close_black.png) no-repeat center / cover;
}
#search_tags {
	margin-bottom: 3em;
	text-align: center;
}
.search_tag {
	display: inline-block;
	margin: 0 5px 14px 5px;
	padding: 7px 12px 6px 12px;
	font-size: 0.9em;
	line-height: 1.4em;
	color: #fff;
	border: solid 1px #fff;
	border-radius: 200px;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition: all 260ms ease-in-out;
	opacity: 0;
}
.search_tag:hover {
	transform: scale(1.06);
	transition: all 160ms ease-in-out;
}
.search_tag.active {
	color: #231815;
	background: #fff;
}
.search_page {
	display: block;
	display: none;
	float: left;
	margin: 0 2.166% 3em 2.166%;
	width: 29%;
	color: #231815;
}
._search_page.already a {
	background: yellow;
}
.search_page a {
	display: block;
	padding: 13px 13px;
	height: 354px;
	height: 420px;
	text-decoration: none;
	border-radius: 24px;
	background: #ededed;
	overflow: hidden;
	transition: all 260ms ease-in-out;
}
.search_page a:hover {
	transition: all 360ms ease-in-out;
	transform: scale(0.96);
}
.search_page_image {
	margin-bottom: 1.2em;
	height: 160px;
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
}
.search_page_text {
	padding: 0 9px 12px 9px;
}
.search_page_text h4 {
	position: relative;
	margin-bottom: 0.5em;
	padding-left: 18px;
	font-size: 0.85em;
	color: #e10012;
}
.search_page_text h4::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: '';
	width: 11px;
	height: 1px;
	background: #e10012;
}
.search_page_text h3 {
	margin-bottom: 0.75em;
	font-size: 1.3em;
	font-size: 1.2em;
	font-weight: 500;
}
.search_page_text h3.smaller {
	margin-top: -5px;
	font-size: 1.1em;
	letter-spacing: 0.05em;
	line-height: 1.45em;
}
.search_page_text h3 .label {
	font-size: 0.7em;
	letter-spacing: 0.05em;
}
.search_page_text ul {
}
.search_page_text li {
	display: inline-block;
	margin: 0 1px 9px 1px;
	margin: 0 0 9px 0;
	padding: 6px 10px 5px 10px;
	padding: 6px 9px 5px 9px;
	font-size: 0.82em;
	line-height: 1.4em;
	color: #949494;
	border: solid 1px #949494;
	border-radius: 200px;
	letter-spacing: 0.05em;
	background: #fff;
}

.search_pane_directions_inner {
	padding: 60px 0 100px 90px;
	padding: 60px 0 0 90px;
	transition: all 260ms ease-in-out;
}
.search_direction_category {
	padding: 2.6em 0 1em 0;
	padding: 2.6em 0 2.6em 0;
	border-top: solid 1px #fff;
}
.search_direction_category h3 {
	float: left;
	width: 16rem;
	font-size: 1.4em;
}
.search_direction_category .search_directions {
	float: left;
	margin-right: 60px;
	width: calc(100% - 16rem - 60px);
}
.search_direction {
	float: left;
	margin-right: 15px;
	margin-bottom: 1.2em;
	padding: 1em 1.5em;
	color: #1a1a1a;
	text-align: center;
	font-weight: 500;
	font-size: 1.1em;
	background: #fff;
	border: solid 1px #fff;
	border: solid 1px rgba(255,255,255,0);
	border-radius: 10px;
	letter-spacing: 0.05em;
	cursor: pointer;
	transition: all 260ms ease-in-out;
	opacity: 0;
}
.search_direction.active {
	color: #fff;
	background: #e10012;
	border: solid 1px #fff;
}
.search_direction:hover {
	transform: scale(0.96);
	transition: all 160ms ease-in-out;
}
#search_direction_intentionality .search_direction {
	min-width: 22em;
}
#search_direction_major .search_direction {
	min-width: 15em;
}
#search_direction_job .search_direction {
	min-width: 15em;
}
#search_pane_directions_reset {
	position: absolute;
	left: 90px;
	top: 114px;
	width: 110px;
	height: 110px;
	line-height: 110px;
	color: #1a1a1a;
	border-radius: 50%;
	text-align: center;
	font-size: 1.3em;
	background: #fff;
	cursor: pointer;
	transition: all 260ms ease-in-out;
}
#search_pane_directions_reset:hover {
	transform: scale(0.96);
	transition: all 160ms ease-in-out;
}
.search_selected {
	display: none;
}

/* Inview */

.inview {
	opacity: 0;
}
.inview_show {
	animation: inview 600ms 300ms ease-in-out forwards;
}


@keyframes inview {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}


@media screen and (min-width: 601px) and (max-width: 1290px) {
	
	.portal_contents .inner,
	.portal_recruit .inner {
		padding: 0 40px;
	}
    
	#menu_inner {
		padding: 70px 80px 70px 40px;
		padding: 70px 70px 70px 40px;
	}
	#menu_toc {
		width: calc(100% - 330px);
	}
	#menu_brand {
		margin-right: 40px;
		width: 260px;
		width: 260px;
	}
	#menu_brand_kepco {
		margin-left: 10px;
		width: 250px;
	}
	#menu_brand_kansaitd {
		margin-left: 12px;
		width: 190px;
	}
	#menu_brand_recruit a {
		padding: 1.35em 0;
		font-size: 1em;
	}
	#menu_toc_common_about {
		width: 32%;
	}
	#menu_toc_common_field {
		width: 29%;
	}
	#menu_toc_common_information {
		width: 29%;
	}
	.category_title_en {
		font-size: 1.75em;
	}

	.page_hero_text h2.title_ja .copy {
		font-size: 2em;
		transition: all 160ms ease-in-out;
	}
	.page_hero_text h2.title_ja .title {
		font-size: 1.15em;
		transition: all 160ms ease-in-out;
	}
	.portal_content h4.title_en {
	    font-size: 4.5em;
		transition: all 160ms ease-in-out;
	}
	
}

@media screen and (min-width: 601px) and (max-width: 1124px) {
	
	#menu_inner {
		padding: 70px 40px 70px 40px;
	}
	#menu_toc {
		width: calc(100% - 300px);
	}
	.category_title_en {
		font-size: 1.45em;
	}
	.menu_toc_category li {
		font-size: 1.05em;
		letter-spacing: 0.05em;
	}
	.menu_toc_category li:not(:last-of-type) {
		margin-bottom: 0.55em;
	}
	.category_title_ja {
		padding-left: 20px;
	}
	.category_title_ja::before {
		width: 16px;
	}
		
}	
@media screen and (min-width: 601px) and (max-width: 1167px) {
	
	#header_nav_current a {
		padding: 1.43em 2em 1.47em 2em;
		transition: all 160ms ease-in-out;
	}
	.search_pane_directions_inner {
		padding: 60px 0 0 50px;
		transition: all 360ms ease-in-out;
	}	
	#search_pane_directions_reset {
		left: 50px;
		transition: all 360ms ease-in-out;
	}
	.search_direction_category h3 {
		float: none;
		margin-bottom: 1em;
		width: 100%;
	}
	.search_direction_category .search_directions {
		float: none;
		margin-right: 50px;
		width: calc(100% - 50px);
	}
	#search_direction_intentionality .search_direction {
		margin: 0 0 1.2em 0;
		min-width: 31%;
		width: 31%;
	}
	#search_direction_intentionality .search_direction:nth-of-type(3n - 1) {
		margin: 0 2% 1.2em 2%;
		width: 32%;
	}
	#search_direction_intentionality .search_direction:nth-of-type(3n + 1) {
		clear: both;
	}
	#search_direction_job .search_direction {
		margin: 0 2.266% 1.2em 0;
		min-width: 22%;
		width: 23.3%;
	}
	#search_direction_job .search_direction:nth-of-type(4n) {
		margin-right: 0;
	}
	#search_direction_job .search_direction:nth-of-type(4n + 1) {
		clear: both;
	}
	.search_direction {
		padding-left: 0.65em;
		padding-right: 1em;
	}
	
}
@media screen and (min-width: 601px) and (max-width: 1100px) {
	
	#header_inner {
		padding: 14px 100px 14px 20px;
		transition: all 260ms linear;
	}
	#_header_nav_top {
		display: none;
	}
	#header_nav_current a {
		padding: 1.43em 2.3em 1.47em 1.5em;
		font-size: 1em;
		line-height: 1.4em;
	}
}
@media screen and (max-width: 1033px) {
	
	.inner {
		padding: 0 40px;
	}
	.inner.wider {
		padding: 0 40px;
	}
	#footer_links_corp {
		float: none;
	}
	#footer_links_other {
		float: none;
	}

}
@media screen and (min-width: 1451px) {
	
	._portal_content_links.column_slider  {
		margin-right: -250px;
	    width: calc(63.63% + 250px);
	}
	.column_slider .swiper-button-next {
		right: -20px;
	}
	
}

