/*
Theme Name: Keikens Site's Main Theme
Version: 1.0
Derived from the Original Theme: Twenty Eleven
Original Theme URI: http://wordpress.org/extend/themes/twentyeleven
Original Author: the WordPress team
Original Author URI: http://wordpress.org/
Original Version: 1.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;700&display=swap');

/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-size: 100%;
	margin: 0;
	outline: 0;
	padding: 0;
	max-height: 999999px;	/* against Android Chrome Font Boosting */
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend {
	vertical-align: baseline;
}
table, caption, tfoot, thead {
	vertical-align: middle;
}
:focus {/* remember to define focus styles! */
	outline: 0;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
img[usemap^="#"],	/* MTL KAZ: added for IE 9 or older */
a img {
	border: 0;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

*, *:before, *:after {
	-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}


/* Variables	JUL-2022 KAZ
----------------------------------------------- */
:root {
	/* Dimensions */
	--viewheight: 100vh;

	/* Colors */
	--keiken-deepdark-blue: #092248;
	--keiken-dark-blue: #163275;
	--keiken-blue: #004CB0;
	--keiken-light-blue: #00B2E7;
	--keiken-light-green: #1EBFAB;
	--keiken-light-gray: #E6E6E6;
	--keiken-bg-gray: #F0F3F4;
}
@media screen and (min-width: 783px) {	/* WP Admin Bar */
	:root {
		/* Dimensions */
		--wp-admin-bar-height: 32px;
	}
}
@media screen and (max-width: 782px) {	/* WP Admin Bar */
	:root {
		/* Dimensions */
		--wp-admin-bar-height: 46px;
	}
}
@media print {	/* WP Admin Bar */
	:root {
		/* Dimensions */
		--wp-admin-bar-height: 0;
	}
}
@media print, screen and (min-width: 768px) {	/* PC */
	:root {
		/* Dimensions */
		--keiken-body-min-width: 1180px;	/* Aki was 1040px */
		--keiken-wall-width: 1000px;
	}
}
@media screen and (max-width: 767px) {	/* SP */
	:root {
		/* Dimensions */
		--keiken-body-min-width: 320px;
		--keiken-wall-width: 89.33%;	/* 335 / 375 */
	}
}


/* =Structure
----------------------------------------------- */
body {
	min-width: var(--keiken-body-min-width);
	padding: 0;
	font-size: 100%;
	-webkit-text-size-adjust: none;	/* KAZ: was 100% */
	text-size-adjust: none;	/* KAZ */
}
#masthead, #headmenu .inner, #breadcrumbs, #ft_links, .wall {
	width: var(--keiken-wall-width);
	margin-left: auto;
	margin-right: auto;
}
#page {
	background: transparent;	/* was #fff */
}
body:not(#my-top) #page {
	background: url(/images/bg_pattern_gray.png) no-repeat top -45px right -570px;	/* Aki */
	padding-top: 60px;	/* KAZ */
}
#primary {
	float: left;
	margin: 0;
	width: 684px;	/* Width of main area */
}
#primary.nosidebar {
	width: 100%;
	float: none;
	margin: 0 auto;
}
/*#main #primary.nosidebar {
 *	background: linear-gradient(to right, #F0F3F4 calc(50% - 500px), transparent calc(50% - 500px));
 *}
 */	/* NOV-2022 KAZ: moved to PC media query */
#content {
	margin: 0;
}
#secondary {
	float: right;
	width: 261px;	/* width of sidebar, if no margin between the sidebar and the main area, this can be commented out (MAT) */
}

/* Alignment */
.alignleft {
	float: left;
	margin-right: 1.625em;
	 /* display: inline; */
}
.alignright {
	float: right;
	margin-left: 1.625em;
	 /* display: inline; */
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}


/* =Global
----------------------------------------------- */
body, input, textarea {
	line-height: 2;		/* 32px @ 16px */
	color: black;
	font-family: "Noto Sans JP", sans-serif;
}
input, textarea, select {
	font-size: 100%;
}

/* Headings */
h1,h2,h3,h4,h5,h6 {
	clear: both;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
}

/* Text elements */
hr, p {
	margin-bottom: 16px;
}
strong, .strong  {
	font-weight: bold;
}
cite, em, i {
	font-style: italic;
}
blockquote {
	font-family: Georgia, "Bitstream Charter", serif;
	font-style: italic;
	font-weight: normal;
	margin: 0 3em;
}
blockquote em, blockquote i, blockquote cite {
	font-style: normal;
}
blockquote cite {
	color: #666;
	font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 300;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
pre {
	background: #f4f4f4;
	font: 13px "Courier 10 Pitch", Courier, monospace;
	line-height: 1.5;
	margin-bottom: 1.625em;
	overflow: auto;
	padding: 0.75em 1.625em;
}
code, kbd, samp, var {
	font: 13px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
abbr, acronym, dfn {
	border-bottom: 1px dotted #666;
	cursor: help;
}
address {
	display: block;
	margin: 0 0 1.625em;
}
ins {
	background: #fff9c0;
	text-decoration: none;
}
sup,
sub {
	font-size: 10px;
	height: 0;
	line-height: 1;
	position: relative;
	vertical-align: baseline;
}
sup {
	bottom: 1ex;
}
sub {
	top: .5ex;
}
small {
	font-size: smaller;
}

/* Table */
table {/* tables still need 'cellspacing="0"' in the markup */
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 16px;
}
tbody {
	vertical-align: top;
}

/* List */
ul {
	list-style: none;
}
ul, ol {
	margin: 0 0 16px 22px;
}
ul {
	list-style: square;
}
ol {
	list-style-type: decimal;
}
ol ol {
	list-style: upper-alpha;
}
ol ol ol {
	list-style: lower-roman;
}
ol ol ol ol {
	list-style: lower-alpha;
}
ul ul, ol ol, ul ol, ol ul {
	margin-bottom: 0;
}

/* Data list */
dl {
	margin: 0 0 1.625em;
}
dt {
	font-weight: bold;
}
dd {
	margin-bottom: 1.625em;
}

/* Forms */
input[type=text],
input[type=password],
input[type=email],
input[type=url],
input[type=number],
textarea {
	background: white;
	box-shadow: none;
	border: 1px solid #ddd;
}
textarea {
	padding-left: 3px;
	width: 98%;
}
input[type=text],
input[type=password],
input[type=email],
input[type=url],
input[type=number] {
	padding: 3px;
}
input[type=submit],
input[type=image],
input[type=button],
button {
	cursor: pointer;
}
form :-ms-input-placeholder { color: #aaaaaa; }	/* IE 10+ */
form ::-webkit-input-placeholder { color: #aaaaaa; }	/* Google Chrome, Safari, Opera 15+, Android, iOS */
form :-moz-placeholder { color: #aaaaaa; opacity: 1; }	/* Firefox 18- */
form ::-moz-placeholder { color: #aaaaaa; opacity: 1; }	/* Firefox 19+ */
form :placeholder-shown { color: #aaaaaa; }

/* Links */
a {
	color: #1982d1;
	text-decoration: none;
}
/* a:focus, a:active, */
a.current {
	text-decoration: underline;
}
@media (any-hover: hover) {
	a:hover {
		text-decoration: underline;
	}
}

/* Assistive text */
.assistive-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
}
#access a.assistive-text:active,
#access a.assistive-text:focus {
	background: #eee;
	border-bottom: 1px solid #ddd;
	color: #1982d1;
	clip: auto !important;
	font-size: 12px;
	position: absolute;
	text-decoration: underline;
	top: 0;
	left: 7.6%;
}


/* =Header
----------------------------------------------- */
#branding {
	z-index: 9999;
}
#my-top #branding {
	position: relative;
}
body:not(#my-top) #branding {	/* KAZ */
	background-color: white;
	position: fixed;
	width: 100%;
	top: 0;
}
body:not(#my-top).admin-bar #branding {	/* KAZ */
	top: var(--wp-admin-bar-height);
}
#masthead {
	max-width: 100vw;	/* KAZ */
}
@media screen and (min-width: 768px) and (max-width: 1096px) {	/* Special */
	#masthead {
		padding-left: min(40px, calc(540px - 50%));	/* KAZ */
	}
}


/* =Menu
-------------------------------------------------------------- */
#headlogo {
	clear: both;
/*	padding-top: 22px; */
}
h1#headlogo,
div#headlogo a {	/* KAZ */
	height: 60px;
}

#my-top menu_overlay,
#menu_open_btn,
#headmenu {
	top: 0;
}
#my-top #menu_overlay,
#my-top #menu_open_btn,
#my-top #headmenu {
	position: fixed;
}
#my-top.admin-bar #menu_overlay,
#my-top.admin-bar #menu_open_btn,
#my-top.admin-bar #headmenu {
	top: var(--wp-admin-bar-height);
}
body:not(#my-top) #menu_overlay,
body:not(#my-top) #menu_open_btn,
body:not(#my-top) #headmenu {	/* KAZ */
	position: absolute;
}
#menu_overlay,
#headmenu {
	display: none;
}
#menu_overlay {
	background-color: rgba(0,0,0,0.3);
	width: 100%;
	height: var(--viewheight);
	left: 0;
}

#menu_open_btn,
#menu_close_btn {
	width: 60px;
	height: 60px;
	right: 0;
}
#menu_open_btn {
}
#menu_open_btn a {
	display: block;
}
#menu_open_btn a img {
}
#menu_close_btn {
	position: absolute;
	width: 45px;
	height: 45px;
	top: 0;
/*	z-index: 10; */
}
#menu_close_btn a {
	display: block;
	padding: 15px 15px 0 0;
}
#headmenu {
	background: linear-gradient(to bottom, #214DAA, #0B193B);
	width: 100%;
	right: 0;
	padding: 117px 0 55px;
}
#headmenu .inner {
}
#headmenu ul {
	margin: 0;
	color: white;	/* NOV-2022 KAZ */
}
#headmenu ul.wrap {
	float: left;
	width: 255px;
}
#headmenu ul.wrap:not(:last-child) {
	margin-right: 78px;
}
#headmenu ul li, #headmenu ul.sub_menu li.head_menu, #headmenu ul.sub_menu li.entry {
	position: relative;
	list-style-type: none;
}
#headmenu ul li.nochild {
	/* border-top: solid 1px white; */
}
#headmenu ul#service li.nochild {
	clear: both;
	margin-top: 13px;	/* KAZ */
}
#headmenu ul li.noborder {
	border-top: 0;
}
#headmenu ul li a {
	display: block;
	color: white;
	padding-bottom: 6px;	/* KAZ: was 14px */
}
#headmenu ul li .parent_menu {	/* NOV-2022 KAZ: was a.parent_menu */
	padding-bottom: 2px;	/* KAZ */
	font-size: 1.375rem;	/* 22px */
	font-weight: 500;
}
#headmenu ul li span.parent_menu {	/* 12.2022 AKi added */
	display: block;
}
/*#headmenu ul.wrap#recruit li a.parent_menu {
 *	background: url(/images/arrow_white.svg) no-repeat top right / 29px auto;
 *}
 */
#headmenu ul li.nochild a,
#headmenu ul.wrap#recruit li a.parent_menu {
/*	background: url(/images/arrow_white.svg) no-repeat center right / 29px auto; 12.2022 Aki c/o */
}
#headmenu ul li.nochild a,
#headmenu ul.wrap#recruit li.nochild a.parent_menu {
/*	padding-top: 20px; */
	padding: 20px 0;	/* KAZ */
	line-height: 29px;	/* KAZ */
}
#headmenu ul.wrap#recruit li.nochild a.parent_menu {
	font-size: 1rem;	/* 16px */
/*	padding: 22px 0; */
}
#headmenu ul.sub_menu {
	padding-left: 2em;
}
#headmenu ul.sub_menu li {
	list-style-type: disc;
	color: white;
}
#headmenu ul.sub_menu li.head_menu {
	margin-left: -1.3em;	/* KAZ: moved */
}
#headmenu ul.sub_menu li#career {
/*	padding-top: 38px;	12.2022 Aki c/o *//* KAZ: was 42px */
}
#headmenu ul.sub_menu li.nolink {	/* KAZ: == #career */
	padding-bottom: 6px;	/* same as #headmenu ul li a */
}
#headmenu ul.sub_menu li a {
}
#headmenu ul.sub_menu li.head_menu a {
/*	margin-left: -1.3em; */	/* KAZ: moved above */
}
#headmenu ul.sub_menu li.entry {
	margin-top: 9px;	/* KAZ */
	margin-left: -1em;
	line-height: 0;		/* KAZ */
}
#headmenu ul.sub_menu li.entry a {
	border: solid 1px;
	display: inline-block;
	padding: 0 15px;	/* KAZ: top was 2px */
	line-height: 28px;	/* KAZ */
	font-size: 1.25rem;
	text-align: center;
}
@media (any-hover: hover) {
	#headmenu ul.sub_menu li.entry a:hover {
		text-decoration: none;
	}
}
#breadcrumbs {
	font-size: 0.75rem;		/* 12px */
	line-height: 1;
	padding-top: 50px;	/* Aki was 85px */
}


/* =Content
----------------------------------------------- */
#topmain, #main {
	clear: both;
	overflow: hidden;
	position: relative;
}
#topmain {
}
#main {
}
#mainwall {
		/* Mat c/o for slide show buttons like http://kobabo-s.com  overflow: hidden; */
	margin: 0 auto;
}
body:not(#my-top) #mainwall {
/*	padding-top: 25px; */	/* KAZ: c/o */
}
/*.page-header, .entry-header {
 *	background: linear-gradient(to right, white calc(50% - 500px), transparent calc(50% - 500px));
 *	padding-bottom: 55px;
 *}
 */	/* NOV-2022 KAZ: moved to PC media query */
.page-title, .entry-title {
	clear: both;
	overflow: hidden;	/* KAZ: パンくずをクリックできないことがある */
	width: var(--keiken-wall-width);
	margin: 0 auto;
/*	padding-bottom: 50px; Aki c/o */
	line-height: 1.197;	/* 91px; KAZ */
	color: var(--keiken-dark-blue);	/* KAZ: moved */
	font-size: 4.75rem;	/* 76px; KAZ: moved */
	font-weight: 600;
}
.page-title a, .entry-title a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.page-title a:hover,
	.entry-title a:hover {
		color: inherit;
		text-decoration: underline;
	}
}
.page-title .en, .entry-title .en {
/*	color: var(--keiken-dark-blue); */	/* KAZ: moved */
/*	font-size: 4.75rem; */	/* 76px */	/* KAZ: moved */
}
.page-title .ja, .entry-title .ja {
	padding-left: 1em;
	color: black;	/* KAZ */
	font-size: 1.4375rem;	/* 23px */
}
.hentry,
.no-results {
	position: relative;
}
.hentry:last-child,
.no-results {
	border-bottom: none;
}
.blog .sticky .entry-header .entry-meta {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
}
.entry-title img {
	vertical-align: middle;
}
.entry-title-top {
	display: none;
}
.entry-meta {
	color: #666;
	clear: both;
	font-size: 12px;
	line-height: 18px;
}
.entry-meta a {
	font-weight: bold;
	display: block;	/* Aki added */
	padding-left: 10px;	/* Aki added */
}
.single-author .entry-meta .by-author {
	display: none;
}
.entry-content,
.entry-summary {
/*	margin-bottom: 20px; */
}
.entry-content {
	position: relative;
}
.entry-content h1, .entry-content h2 {
	margin: 0 0 20px;
}
.entry-content h1 {
/*	height: 50px; */
	line-height: 50px;
	font-size: 28px;
}
.entry-content h2 {
	font-weight: bold;
}
.entry-content h3 {
	font-size: 122%;
	font-weight: bold;
	min-height: 24px;
	line-height: 1.41;
	margin: 0 0 12px;
}
.entry-content h4 {
	font-weight: bold;
	min-height: 20px;
	line-height: 1.43;
	margin: 0 0 12px;
}
.entry-content #s {
	width: 75%;
}
.entry-content p, .entry-content li {	/* to avoid Android's bug, see wordpress\todo.txt in MTL */
	background-color: rgba(255,255,255,0.01);
}
 	/* -- Mat copied from the original twentyeleven .css after pointed out by Viex and talking with kaz 2021.1 */
.entry-content table {
	border-bottom: 1px solid #ddd;
	width: 100%;
}
.entry-content td {
	border-top: 1px solid #ddd;
	padding: 6px 10px 6px 0;
}
dl.gallery-item {
	margin: 0;
}
.page-link {
	clear: both;
	display: block;
	margin: 0 0 1.625em;
}
.page-link a {
	background: #eee;
	color: #373737;
	margin: 0;
	padding: 2px 3px;
	text-decoration: none;
}
@media (any-hover: hover) {
	.page-link a:hover {
		background: #888;
		color: #fff;
		font-weight: bold;
	}
}
.page-link span {
	margin-right: 6px;
}
.entry-meta .edit-link a {
	background: #eee;
	-moz-border-radius: 3px;
	border-radius: 3px;
	color: #666;
	float: right;
	font-size: 12px;
	line-height: 1.5em;
	font-weight: 300;
	text-decoration: none;
	padding: 0 8px;
}
#my-top .entry-meta .edit-link a,
body.page .entry-meta .edit-link a,
body.single .entry-meta .edit-link a {
	position: absolute;
	bottom: 8px;
	right: calc(50% - 500px);
}
@media (any-hover: hover) {
	.entry-meta .edit-link a:hover {
		background: #888;
		color: #fff;
	}
}
.entry-content .edit-link {
	clear: both;
	display: block;
}
#searchform .screen-reader-text {
	display: none;
}

/* Gutenberg blocks */
/* Counter-styles against /wp-includes/css/dist/block-library/style.min.css */
.entry-content figure {
	margin-bottom: 45px;
}
.entry-content .wp-block-image {
	line-height: 0;
}
.entry-content .wp-block-image .alignleft {
	margin-right: 40px;
}
.entry-content .wp-block-image .alignright {
	margin-left: 40px;
}
.entry-content .wp-block-image figcaption {
	line-height: 1.5;
	color: inherit;
	font-size: 100%;
}

/* Images */
.entry-content img {
	max-width: 100%;
	height: auto;
}
p img,
.wp-caption {
	margin-top: 0.4em;
}
.wp-caption {
	max-width: 96%;
	background: #eee;
	margin-bottom: 1em;
	padding: 5px 0;
}
.wp-caption img {
	display: block;
	margin: 0 auto;
	max-width: 98%;
}
.wp-caption img[class*='wp-image-'] {	/* MTL: added against img[class*='wp-image-'] */
	border: 0;
	padding: 0;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	color: #666;
	font-size: 12px;
}
.wp-caption .wp-caption-text {
	margin-bottom: 1px;
	padding: 2px 0 0 5px;
	position: relative;
	background: transparent;
	text-align: center;
}
#content .gallery {
	margin: 0 auto 1.625em;
}
#content .gallery a img {
	border: none;
}
img#wpstats {
	display: block;
	margin: 0 auto 1.625em;
}
#content .gallery-columns-4 .gallery-item {
	width: 23%;
	padding-right: 2%;
}
#content .gallery-columns-4 .gallery-item img {
	width: 100%;
	height: auto;
}

/* Make sure embeds and iframes fit their containers */
embed,
iframe,
object {
	max-width: 100%;
}


/* =error404
----------------------------------------------- */
.error404 #primary #searchform {
	background: #f9f9f9;
	border: 1px solid #ddd;
	overflow: hidden;
	margin: 0 0 25px;
}
.error404 #primary #s {
	width: 95%;
}
.error404 #primary .widget {
	clear: none;
	float: left;
	width: 45%;
}
.error404 #primary .widget_archive {
	clear: both;
}


/* =Navigation
-------------------------------------------------------------- */
#content nav {
	clear: both;
	overflow: hidden;
	padding: 0 0 1.625em;
}
#content nav a {
	color: inherit;
}
#nav-above {
	padding: 0 0 1.625em;
}
#nav-above {
	display: none;
}
.paged #nav-above {
	display: block;
}
.nav-previous {
	float: left;
	width: 50%;
}
.nav-next {
	float: right;
	text-align: right;
	width: 50%;
}
#content nav .meta-nav {
	font-weight: normal;
}

/* Singular navigation */
#content #nav-single {
	width: 100%;
}

#content div.wp-pagenavi {
	clear: both;
	text-align: center;
}
#content div.wp-pagenavi a,
#content div.wp-pagenavi span {
	display: inline-block;
	border: 0;
	min-width: 18px;
	margin: 0 5px;
	padding: 5px;
	line-height: 1;
	font-size: 18px;
}
#content div.wp-pagenavi span.current {
	font-weight: inherit;
}
#content div.wp-pagenavi a.page,
#content div.wp-pagenavi a.previouspostslink,
#content div.wp-pagenavi a.nextpostslink,
#content div.wp-pagenavi span.extend {
	color: inherit;
}
#content div.wp-pagenavi a.page,
#content div.wp-pagenavi a.previouspostslink,
#content div.wp-pagenavi a.nextpostslink {
	background-color: #d2caba;
}
#content div.wp-pagenavi span.current {
	background-color: #42210b;
	color: white;
}
@media (any-hover: hover) {
	#content div.wp-pagenavi a.page:hover,
	#content div.wp-pagenavi a.previouspostslink:hover,
	#content div.wp-pagenavi a.nextpostslink:hover{
		background-color: #42210b;
		color: white;
	}
}


/* =Widgets
----------------------------------------------- */
.widget {
	word-wrap: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
	clear: both;
	margin: 0 0 10px;
}
.widget h3.widget-title {
}
.widget ul {
	margin: 0;
	list-style-type: none;
}
.widget ul ul {
	margin-left: 1.5em;
}

/* Search Widget */
.widget_search form {
	margin: 0 0 1.625em;
}
.widget_search #s {
	width: 77%;
}
.widget_search #searchsubmit {
	background: #ddd;
	border: 1px solid #ccc;
	-webkit-box-shadow: inset 0px -1px 1px rgba(0, 0, 0, 0.09);
	-moz-box-shadow: inset 0px -1px 1px rgba(0, 0, 0, 0.09);
	box-shadow: inset 0px -1px 1px rgba(0, 0, 0, 0.09);
	color: #888;
	font-size: 13px;
	line-height: 25px;
	position: relative;
	top: -2px;
}
.widget_search #searchsubmit:active {
	background: #1982d1;
	border-color: #0861a5;
	-webkit-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.1);
	box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.1);
	color: #bfddf3;
}

/* Widget Image */
.widget_image img {
	border: 0;
	padding: 0;
	height: auto;
	max-width: 100%;
}

/* Calendar Widget */
.widget_calendar #wp-calendar {
	color: #555;
	width: 95%;
	text-align: center;
}
.widget_calendar #wp-calendar caption,
.widget_calendar #wp-calendar td,
.widget_calendar #wp-calendar th {
	text-align: center;
}
.widget_calendar #wp-calendar caption {
	font-size: 11px;
	font-weight: 500;
	padding: 5px 0 3px 0;
	text-transform: uppercase;
}
.widget_calendar #wp-calendar th {
	background: #f4f4f4;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	font-weight: bold;
}
.widget_calendar #wp-calendar tfoot td {
	background: #f4f4f4;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}


/* =Footer
----------------------------------------------- */
#ft_nav_top {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 50px;	/* NOV-2022 KAZ: ChkHTML: was 50%; 80px in design */
	z-index: 9000;
/*	margin: 0 -600px 0 0; */
	opacity: 0;
	z-index: 9000;
}
#ft_nav_top a {
	padding: 22px 16px;	/* KAZ */
}
#ft_nav_top a img {
}
#colophon {
	background-color: white;	/* for top page */
	position: relative;	/* for top page */
	clear: both;
	overflow: hidden;
	text-align: center;
/*	height: 60px; */
}
#ft_contact {
	background: url(/images/bg_pattern_black.png) no-repeat bottom right var(--keiken-dark-blue);
/*	height: 250px; */
/*	padding: 0 0 45px; */
	color: white;
}
#ft_contact a {
	background: url(/images/arrow_white.svg) no-repeat center bottom 44px;	/* KAZ: bottom was 2px */
	display: block;
	height: 250px;	/* KAZ */
	padding-top: 38px;	/* KAZ */
/*	padding-bottom: 70px; */
	line-height: 1;	/* KAZ */
	color: inherit;
	font-size: 4.125rem;	/* 66px */
}
#ft_contact a .en,	/* KAZ: added */
#ft_contact a .ja {
	display: block;
}
#ft_contact a .en {	/* Aki added */
	font-weight: 500;
}
#ft_contact a .ja {
	font-size: 1.125rem;	/* 18px */
	letter-spacing: 0.03em;
	margin-top: 7px;	/* KAZ: was -35px */
}
@media (any-hover: hover) {
	#ft_contact a:hover {
		text-decoration: none;
	}
}
#ft_links {
	overflow: hidden;
	padding: 70px 0 100px;
}
#ft_links .logo_wrap {
	float: left;
	text-align: left;
}
#ft_links .logo_wrap #ft_logo img {
	width: 260px;
	height: auto;
}
@media (any-hover: hover) {
	#ft_links .logo_wrap #ft_logo a:hover img {
		opacity: 0.75;
	}
}
#ft_links .logo_wrap .descr {
	font-size: 0.875rem;	/* 14px */
	line-height: 1.857;
	padding-top: 30px;
}
ul#footmenu {
	overflow: hidden;
	font-size: 0.875rem;	/* 14px */
	text-align: left;
/*	height: 30px; */
	padding-left: 170px;
	margin: 0;
}
ul#footmenu a {
	color: inherit;
}
ul#footmenu > li {
	list-style-type: none;
	border-bottom: solid 1px #5D5D5D;
	padding-bottom: 5px;
}
ul#footmenu > li.nochild {
	padding-bottom: 10px;	/* KAZ: was 15px */
}
ul#footmenu > li:not(:first-child) {
	padding-top: 10px;	/* KAZ: was 15px; */
}
ul#footmenu li a.parent_menu {
	float: left;
}
ul#footmenu ul.sub_menu {
	line-height: 1.75;
	padding-left: 150px;
}
ul#footmenu ul.sub_menu li {
	float: none;
	list-style-type: disc;
}
ul#footmenu ul.sub_menu li a {

}
#ft_copyright {
}


/* Common entries
-------------------------------------------------------------- */
.left {
	text-align: left;
	display: block;	/* Mat added these. If you use these for table, list, etc. and can't cover by the following td.right .., please override these invidually. */
}
.center {
	text-align: center;
	display: block;
}
.right {
	text-align: right;
	display: block;
}
td.right, th.right, td.center, th.center, td.left, th.left {
	display: table-cell;
}
li.right, li.right, li.center {
	display: list-item
}
.middle {
	vertical-align: middle;
}
.imgonly {
	line-height: 0;
}
.imgonly a,
a.imgonly {
	display: inline-block;
}
.bold {
	font-weight: bold;
}
.clear {
	clear: both;
}
a.current img {
	opacity: 0.75;
	filter: alpha(opacity=75);
}
@media (any-hover: hover) {
	.transbtn:hover, a:hover img {
		opacity: 0.75;
		filter: alpha(opacity=75);
	}
	.notransbtn:hover, a:hover img.notransbtn, #headlogo a:hover img, #ft_links a:hover img {
		opacity: 1;
		filter: none;
	}
}
/*.ios .transbtn:hover { */
/* iOS 8.4.1 で :hover に opacity が指定してあると 2 回タップしないとリンク先に飛ばない。script.js でユーザーエージェントを見て body に class="ios" を追加。 */
/*	opacity: 1;
 *	filter: none;
 *}
 */
.nomargin {
	margin: 0 !important;
}
.topbottommargin {
	margin: 20px auto !important;
}
.topmargin {
	margin-top: 60px !important;
}
.topmarginbig {
	margin-top: 80px !important;
}
.notopmargin {
	margin-top: 0 !important;
}
.bottommargin {
	margin-bottom: 20px !important;
}
.bottommarginbig {
	margin-bottom: 60px !important;
}
.nobottommargin {
	margin-bottom: 0 !important;
}
.onlymarginright{
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
}
.onlymarginleft{
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-right: 0 !important;
}
.nopadding {
	padding: 0 !important;
}
.noborder {
	border: 0px !important;
}
.border {
	border: 1px solid gray;
}
.noclear {
	clear: none !important;
}
.nobackground {
	background: transparent none !important;
}
.barlow {
	font-family: 'Barlow', sans-serif;
}


/* Front Page Components
----------------------------------------------- */
#top_mainvisual {
	position: fixed;
	width: 100%;
	height: 100vh;	/* NOV-2022 KAZ: ChkHTML; was var(--viewheight) */
	top: 0;
	left: 0;
}
.admin-bar #top_mainvisual {
	height: calc(100vh - var(--wp-admin-bar-height));	/* NOV-2022 KAZ: ChkHTML; was calc(var(--viewheight) - var(--wp-admin-bar-height)) */
	top: var(--wp-admin-bar-height);
}
#top_mainvisual video {
	width: 100%;	/* NOV-2022 KAZ: ChkHTML; missing */
	height: 100%;	/* ditto */
	object-fit: cover;
}
#top_catchcopy {
	color: white;
	text-align: center;
}
#top_catchcopy h2 .en {
	font-weight: 600;
}
#top_catchcopy h2 .ja {
	line-height: 1;
	font-weight: 500;
	letter-spacing: 0.25em;
}
#top_development {
}
#top_development::before {
	display: block;
	width: 100%;
	content: '';
}
#top_development .box {
}
#top_development .box h2 {
}
#top_development .box .descr {
	line-height: 1.8125;	/* 29px */
}
#top_development .box .readmore {
	line-height: 0;
}
#top_development .box .readmore a {
	background: url(/images/arrow_black.svg) no-repeat right 9px center;
	display: inline-block;
	color: inherit;
	font-weight: 500;
}
#top_services {
	color: white;
	text-align: center;
}
#top_services .wall {
}
#top_services h2 {
}
#top_services h2 .en {
}
#top_services h2 .ja {
}
#top_services .descr {
}
#top_services ul.service_menu {
	display: flex;
	position: relative;
	z-index: 10;
}
#top_services ul.service_menu li {
	list-style-type: none;
	background-color: white;
}
#top_services ul.service_menu li a,
#top_services ul.service_menu li a span {
	display: block;
}
#top_services ul.service_menu li a {
	background-image: url(/images/arrow_white.svg);
	background-repeat: no-repeat;
	background-position: center bottom 33px;
	color: inherit;
}
#top_services ul.service_menu li.ruby a {
	background-color: var(--keiken-light-green);
}
#top_services ul.service_menu li.bitool a {
	background-color: var(--keiken-blue);
}
#top_services ul.service_menu li.biservice a {
	background-color: var(--keiken-light-blue);
}
@media (any-hover: hover) {
	#top_services ul.service_menu li a:hover {
		opacity: 0.7;
		text-decoration: none;
	}
}
#top_services ul.service_menu li a span.title {
	line-height: 1.5;	/* 36px */
	font-size: 1.5rem;	/* 24px */
	font-weight: bold;
}
#top_services ul.service_menu li a span.summary {
	line-height: 1.714;	/* 24px */
	font-size: 0.875rem;	/* 14px */
	text-align: left;
}
#top_recruit {
	position: relative;
}
#top_recruit > .wall {
}
#top_recruit h2 {
	color: var(--keiken-dark-blue);
	font-weight: bold;
	letter-spacing: 0.03em;
}
#top_recruit .descr {
}
#top_recruit .entry {
	color: white;
}
#top_recruit .entry .wall {
}
#top_recruit .entry .wall a {
	background: url(/images/arrow_white.svg) no-repeat right center;
	padding-right: 71px;
	color: inherit;
	font-size: 3.75rem;	/* 60px */
	font-weight: 600;
}
@media (any-hover: hover) {
	#top_recruit .entry .wall a:hover {
		text-decoration: none;	/* NOV-2022 KAZ: ChkHTML */
	}
}
#top_recruit .overlay {
	position: absolute;
}
#top_recruit .overlay img {
	max-width: none;
}
#top_recruit .marquee {
	position: relative;
}
#top_recruit .marquee .inner {
	position: absolute;
	top: 0;
	left: 0;
	color: var(--keiken-light-gray);
	white-space: nowrap;
}
#top_recruit .marquee .inner span.item {
	display: inline-block;
}
#top_information {
	position: relative;
}
#top_information .wrapper {
}
#top_information .wrapper .wrap {
}
#top_information .wrapper .wrap .ttl {
	color: white;
	line-height: 55px;
}
#top_information .wrapper .wrap .ttl .en {
	font-size: 2.5rem;	/* 40px */
	font-weight: 500;
}
#top_information .wrapper .wrap .ttl .ja {
	letter-spacing: 0.03em;
	padding-left: 7px;
}
#top_information .wrapper .wrap ul li a {
	display: inline-block;
	color: white;
	font-size: 0.875rem;	/* 14px */
	line-height: 35px;
	background: url(/images/arrow_white_s.svg)no-repeat center left;
	padding-left: 20px;
}
#my-top .entry-meta .edit-link a {
	position: absolute;
	bottom: 8px;
	right: calc(50% - 500px);
}


/* Blog Page Components
----------------------------------------------- */


/* Development Page & Career Page Components
----------------------------------------------- */
/* 一覧 */
.list_wrapper {
	width: 900px;
	display: flex;
	flex-wrap: wrap;
	padding-left: 100px;
	margin: 0 0 0 calc(50% - 500px);
}
article.development.list {
	width: 246px;
	border-top: solid 8px var(--keiken-blue);
/*	padding-bottom: 76px; 12.2022 AKi c/o */
	border-bottom-left-radius: 8px;	/* 12.2022 Aki added */
	border-bottom-right-radius: 8px;	/* 12.2022 Aki added */
	box-shadow: 0 0 10px 0 #989898;	/* 12.2022 Aki added */
	margin-bottom: 49px;	/* 12.2022 Aki added */
}
article.development.list:not(:nth-of-type(3n)) {
	margin-right: 30px;
}
article.development.list a.tosingle {
	background: white;
	display: block;
	height: 100%;	/* DEC-2022 KAZ: added */
	padding: 0 14px 30px;	/* 12.2022 Aki added */
	color: inherit;
}
@media (any-hover: hover) {
	article.development.list a:hover {
		text-decoration: none;
	}
}
article.development.list .entry-header {
	color: inherit;
	padding-bottom: 0;
}
article.development.list h2.entry-title {
	width: auto;
	color: var(--keiken-dark-blue);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
	min-height: 4em;
	padding-bottom: 0;
}
article.development.list .imgonly.photo {
	position: relative;
	width: 100%;
	height: 185px;
	padding-top: 12px;
	overflow: hidden;	/* Aki added */
}
article.development.list .imgonly.photo img {
/*	position: absolute;
	top: 50%;
	transform: translatey(-50%); Aki c/o */
	width: 100%;
	height: 100%;	/* 12.2022 Aki was auto */
	object-fit: contain;	/* 12.2022 Aki was cover */
}
article.development.list .develoment_excerpt {
	line-height: 1.625;
}
article.development.list .develoment_excerpt br,
article.development.list .develoment_excerpt .singleonly {
	display: none !important;
}
article.development.list .entry-meta .edit-link a {	/* DEC-2022 KAZ */
	position: absolute;
	bottom: 0;
	right: 0;
}

/* 個別 */
article.development.single,
#my-development #content #nav-single {
	width:	100%;
	margin: 0 0 0 calc(50% - 500px);
}
article.development.single h1.page-title {
	margin-left: 0;
}
article.development.single .entry-header,
article.development.single .entry-content {
	padding-left: 100px;
}
article.development.single .entry-header {
	background: transparent;
}
article.development.single .develoment_excerpt {
	margin-left: 100px;
}
#my-development #content #nav-single {
	margin: 0 0 0 calc(50% - 400px);
	padding-top: 15px;	/* JAN-2023 KAZ: was 40px */
	padding-bottom: 120px;	/* was 156px */
}
#my-development #content nav a, #my-career #content nav a {
	display: inline-block;
	color: var(--keiken-dark-blue);
	font-weight: 500;
	border: solid 2px;
	padding: 5px 22px;
}
@media (any-hover: hover) {
	#my-development #content nav a:hover, #my-career #content nav a:hover {
		color: white;
		background: var(--keiken-dark-blue);
		text-decoration: none;
	}
}
article.development.single .entry-header {
	padding-bottom: 40px;
}
article.development.single h2 {
	width: auto;
	padding-top: 25px;
	padding-bottom: 0;
}
article.development.single h2 .en,
article.development.single h2 .ja {	/* 12.2022 Aki added ja */
	color: var(--keiken-dark-blue);
	font-size: 2.5rem;	/* 40px */
	font-weight: 500;
}
article.development.single h2 .en {	/* 12.2022 Aki added */
/*	display: none; */	/* JAN-2023 KAZ: c/o from PHP */
}
article.development.single h2 .ja {
/*	font-size: 1rem;	/* 16px
	line-height: 2.5; 12.2022 Aki c/o */
	padding-left: 0;
}
article.development.single .entry-content {
	padding-top: 25px;
}
article.development.single .develoment_excerpt {
	color: white;
	font-size: 1.25rem;	/* 20px */
	line-height: 1.2;
	background: linear-gradient(to right, #163275 620px, #F0F3F4 620px);
	padding: 6px 0;
}
article.development.single .develoment_excerpt .inner,
article.development.single .feature h3 .inner {
	display: inline-block;
	width: 620px;
	padding: 0 20px;
}
article.development.single .entry-content p,
article.development.single .feature .wrapper {
	width: 800px;
}
article.development.single .entry-content p img {
	padding-top: 25px;
}
article.development.single .feature {
	padding-top: 60px;	/* was 70px */
}
article.development.single .feature h3 {
	margin-bottom: 0;
}
article.development.single .feature .wrapper {
	padding: 30px 0 20px;
}
article.development.single .feature .wrapper + .wrapper {
	padding-top: 5px;	/* JAN-2023 KAZ: added */
}
article.development.single .feature .wrapper h4 {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 25px;
}
article.development.single .feature .wrapper h4:empty {
	display: none;
}
article.development.single .feature .wrapper .ttl {
	font-size: 1.25rem; /* 20px */
	font-weight: 500;
	line-height: 1;
}
article.development.single .feature .wrapper .ttl_descr_wrap,
article.development.single .feature .wrapper .ttl.nodescr {
	position: relative;
	padding: 25px 0 0 50px;
}
article.development.single .feature .wrapper .ttl.nodescr {
	padding: 20px 0 50px 50px;
}
article.development.single .feature .wrapper .descr {
/*	padding-left: 50px; Aki c/o */
	padding-bottom: 20px;
	padding-top: 20px;
/*	margin-top: -5px; Aki c/o */
}
article.development.single .feature .wrapper .ttl_descr_wrap ul {	/* 01.2023 AKi added */
	list-style: none;
	margin: 0;
}
article.development.single .feature .wrapper .ttl_descr_wrap ul > li {	/* 01.2023 AKi added */
	position: relative;
	padding-bottom: 25px;
}
article.development.single .feature .wrapper .ttl_descr_wrap ul > li .descr:empty {	/* 01.2023 AKi added */
	padding-bottom: 25px;
}
article.development.single .feature .wrapper .ttl_descr_wrap ul > li .ttl::before,	/* 01.2023 AKi added */
article.development.single .feature .wrapper .ttl_descr_wrap::before,
article.development.single .feature .wrapper .ttl.nodescr::before {
	content: "";
	display: inline-block;
	color: var(--keiken-blue);
	font-size: 4.125rem;	/* 66px */
	font-family: 'Barlow', sans-serif;
	font-weight: 500;
/*	vertical-align: middle;
	margin-top: -5px;
	margin-right: 16px; */
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
}
article.development.single .feature .wrapper .ttl_descr_wrap ul > li .ttl::before {	/* 01.2023 AKi added */
	top: -25px;
	left: -50px;
}
article.development.single .feature .wrapper .ttl_descr_wrap ul > li:first-child .ttl::before,	/* 01.2023 AKi added */
article.development.single .feature .wrapper .ttl_descr_wrap.first::before,
article.development.single .feature .wrapper .ttl.nodescr.first::before {
	content: "1";
}
article.development.single .feature .wrapper .ttl_descr_wrap ul > li:nth-child(2) .ttl::before,	/* 01.2023 AKi added */
article.development.single .feature .wrapper .ttl_descr_wrap.second::before,
article.development.single .feature .wrapper .ttl.nodescr.second::before {
	content: "2";
}
article.development.single .feature .wrapper .ttl_descr_wrap ul > li:nth-child(3) .ttl::before,	/* 01.2023 AKi added */
article.development.single .feature .wrapper .ttl_descr_wrap.third::before,
article.development.single .feature .wrapper .ttl.nodescr.third::before {
	content: "3";
}
article.development.single .feature .wrapper .ttl_descr_wrap ul > li:nth-child(4) .ttl::before,	/* 01.2023 AKi added */
article.development.single .feature .wrapper .ttl_descr_wrap.fourth::before,
article.development.single .feature .wrapper .ttl.nodescr.fourth::before {
	content: "4";
}
article.development.single .feature .wrapper .ttl_descr_wrap ul > li:nth-child(5) .ttl::before,	/* 01.2023 AKi added */
article.development.single .feature .wrapper .ttl_descr_wrap.fifth::before,
article.development.single .feature .wrapper .ttl.nodescr.fifth::before {
	content: "5";
}
article.development.single .feature .wrapper .ttl_descr_wrap.sixth::before,
article.development.single .feature .wrapper .ttl.nodescr.sixth::before {
	content: "6";
}
article.development.single .feature .wrapper .ttl_descr_wrap.seventh::before,
article.development.single .feature .wrapper .ttl.nodescr.seventh::before {
	content: "7";
}
article.development.single .feature .wrapper .ttl_green {
	font-size: 1.25rem;	/* 20px */
	font-weight: 500;
/*	padding-left: 50px; */	/* JAN-2023 KAZ: c/o */
	padding-bottom: 10px;
}
article.development.single .feature .wrapper .ttl_descr_wrap ul li .descr > .ttl_green:first-child,
article.development.single .feature .wrapper .ttl_descr_wrap ul li .descr > table:first-child {	/* JAN-2023 KAZ: added */
	margin-top: 30px;
}
article.development.single .feature .wrapper .ttl_green::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	background: var(--keiken-light-green);
	margin-right: 8px;
}
article.development.single .feature .wrapper table {
	width: 680px;
	border-bottom: solid 2px var(--keiken-bg-gray);
/*	margin-left: 50px; */	/* JAN-2023 KAZ: c/o */
	margin-bottom: 50px;
}
article.development.single .feature .wrapper .ttl_descr_wrap ul li .descr > table:last-child {	/* JAN-2023 KAZ: added */
	margin-bottom: 25px;
}
article.development.single .feature .wrapper tr {
}
article.development.single .feature .wrapper td {
	border-top: solid 2px var(--keiken-bg-gray);
	padding: 7px 10px;
}
article.development.single .feature .wrapper td:not(.center) {
	padding-left: 8px;
}
article.development.single .feature .wrapper table .borderd {
	border-left: solid 2px var(--keiken-bg-gray);
}


/* Career Page Components
----------------------------------------------- */
/* 一覧 */
#my-career .career_message {
/*	padding-left: 100px;
 *	margin: 0 0 0 calc(50% - 500px);
 */	/* KAZ: moved to PC media query */
}
#my-career .career_message h2 {
	color: var(--keiken-dark-blue);
	font-size: 2.5rem;	/* 40px */
	font-weight: 600;
	padding-bottom: 25px;
}
#my-career .career_message .descr {
}
#my-career .list_wrapper {
	display: block;
	padding-bottom: 120px;
}
#my-career .list_wrapper article {
	border: solid 4px var(--keiken-blue);
	border-radius: 0 40px 40px 0;
	margin-top: 60px;
}
#my-career .list_wrapper article a {
	color: inherit;
}
@media (any-hover: hover) {
	#my-career .list_wrapper article .details_wrap a:hover {
		text-decoration: none;
	}
}
#my-career .list_wrapper article .entry-header, #my-career article.single .entry-header {
	display: flex;
	background: inherit;
	padding-bottom: 0;
}
#my-career .list_wrapper article .jobtype, #my-career article.single .entry-header .jobtype {
	display: inline-block;
	color: white;
	min-width: 110px;
	text-align: center;
	background: var(--keiken-blue);
	padding: 20px 31px;
}
#my-career .list_wrapper article h2.entry-title, #my-career article.single .entry-header h2.entry-title {
	display: inline-block;
	color: inherit;
	font-size: 1.25rem;
	padding: 26px 0 26px 21px;
}
#my-career .list_wrapper article .details {
	background: var(--keiken-bg-gray);
	padding: 20px;
}
#my-career .list_wrapper article .location {
	background: url(/images/icon_pin.svg)no-repeat center left 30px;
	padding: 11px 0 11px 60px;
}

/* 個別 */
/*#my-career article.single, #career_single_flow, #my-career #nav-single {
 *	padding-left: 100px;
 *	margin: 0 0 0 calc(50% - 500px);
 *}
 */	/* KAZ: moved to PC media query */
#my-career article.single .entry-header {
	padding: 25px 0 85px;
}
#my-career article.single .entry-header h2.entry-title {
	width: auto;
	font-size: 2.5rem;	/* 40px */
	font-weight: 500;
	padding: 10px 0 10px 31px;
	margin: 0;
}
#my-career article.single h3.bg_navy_gray {
	background: linear-gradient(to right, #004CB0 0% 215px, #F0F3F4 215px 100%);
	border-top-left-radius: 10px;
}
#my-career article.single h3.bg_navy_gray .inner {
	display: inline-block;
	width: 215px;
	text-align: center;
}
#my-career article.single .descr {
	width: 800px;
	padding: 10px 0 60px;
}
#my-career #career_content h2 {
	font-size: 1.5rem;	/* 24px */
	font-weight: 600;
}
#my-career #career_content .entry-content {	/* KAZ: added .entry-content */
	padding-bottom: 20px;
}
#career_single_flow {
}
.btn_entry {
	padding: 40px 0 65px;
}
.btn_entry a.linkbtn {		/* Mat 2022.12 added .linkbtn */
	color: white;
	font-size: 1.625rem;
	font-weight: 600;
	background: linear-gradient(to bottom, #5FBCAB, #214DAA);
	border-radius: 6px;
	padding: 6px 64px;
}
@media (any-hover: hover) {
	.btn_entry a:hover {
		text-decoration: none;
	}
}
#my-career #content #nav-single {
	padding-bottom: 82px;
}


/* Fixed Page Components
----------------------------------------------- */
.entry-content .section-menu {
	background-color: white;
	position: absolute;
	top: 70px;	/* NOV-2022 KAZ: per request; was -30px */
	left: calc(50% - 560px);	/* Aki was calc(50% - 500px) */
	padding: 28px 27px;
}
.entry-content .section-menu.floating {
	position: fixed;
	top: 130px;	/* NOV-2022 KAZ: per request; was 0 */
}
.admin-bar .entry-content .section-menu.floating {
	top: calc(var(--wp-admin-bar-height) + 130px);	/* NOV-2022 KAZ: per request; + 130px */
}
@media screen and (min-width: 768px) and (max-width: 1196px) {	/* Special */
	.admin-bar .entry-content .section-menu.floating {
		left: 30px;	/* NOV-2022 KAZ */
	}
}
.entry-content .section-menu .heading {
	margin-bottom: 7px;
}
.entry-content .section-menu .heading span {
	display: block;
}
.entry-content .section-menu .heading span.en {
	line-height: 1.2;
	color: var(--keiken-dark-blue);
	font-size: 1.875rem;	/* 30px */
	font-weight: 600;
}
.entry-content .section-menu .heading span.ja {
	line-height: 1;
	font-size: 0.75rem;	/* 12px */
	letter-spacing: 0.03em;
}
.entry-content .section-menu ul {
	margin: 0;
	line-height: 1.5;	/* 21px */
	font-size: 0.875rem;	/* 14px */
}
.entry-content .section-menu ul li {
	list-style-type: none;
	position: relative;
	padding: 9px 0;
}
.entry-content .section-menu ul li::before {
	display: block;
	position: absolute;
	top: 9px;
	left: 0;
	line-height: 21px;	/* FIXED: NOV-2022 KAZ: ChkHTML: 最小フォントサイズで10pxになるため */
	color: #808080;
	font-size: 0.5rem;	/* 8px */
	content: '●';
}
.entry-content .section-menu ul li a {
	display: block;
	position: relative;
	padding-left: 0.875rem;
	color: inherit;
}
.entry-content .section-menu ul li a.current {
	font-weight: bold;
	text-decoration: none;
}


/* Content Page Common
----------------------------------------------- */
ul.nostyle {
	list-style: none;
	margin: 0;
}
.page-template-default:not(#my-corporate) .entry-content section {
/*	margin: 0 0 0 calc(50% - 500px); Aki c/o */
}
h2 .en , h2 .ja {
	display: block;
	font-weight: normal;
}
h2 .en {
	padding: 0.1em 0;	/* NOV-2022 KAZ: ChkHTML; added */
	line-height: 1;	/* NOV-2022 KAZ: ChkHTML; was 1.2 */
	font-size: 4.125rem;	/* 66px */
	font-weight: 600;
}
h2 .ja {
/*	display: block; */
	font-size: 1.125rem;	/* 18px */
	letter-spacing: 0.03em;
}
h3.bg_navy_gray {
	color: white;
	font-size: 1.25rem;	/* 20px */
	font-weight: 600;	/* Aki was 500 */
	line-height: 1.2;
	background: linear-gradient(to right, #163275 620px, #F0F3F4 620px);
	padding: 6px 0;
}
table .bg_green {
	color: white;
	background: var(--keiken-light-green);
}
table .bg_blue {
	color: white;
	background: var(--keiken-blue);
}
a.linkbtn {
	display: inline-block;
}
.tab_wrapper,
.recruit_wrapper {	/* 11.2022 Aki added for newgrad-page */
	position: relative;
	background: linear-gradient(to bottom, transparent 60px, #F1F3F4 60px);
	padding-left: calc(50% - 500px);
}
.tab_wrapper::before,
.recruit_wrapper::before {	/* 11.2022 Aki added for newgrad-page */
	content: "";
	display: block;
	width: calc(50% - 500px);
	height: 61px;
	background: white;
	position: absolute;
	left: 0;
	top: 0;
}
ul.tab_menu {
	display: flex;
}
ul.tab_menu li:not(:last-child) {
	margin-right: 17px;
}
ul.tab_menu li a {
	background: var(--keiken-bg-gray);
	border-top-left-radius: 20px;
	display: inline-block;
	width: 187px;
	height: 76px;
	padding: 15px 0;
	line-height: 1.375;
	color: inherit;
	font-weight: 600;	/* DEC-2022 KAZ: added per request 12.2022 Aki was 500 */
	text-align: center;
}
ul.tab_menu li a.single {
	padding-top: 25px;
}
ul.tab_menu li.ui-tabs-active a {
	background: var(--keiken-dark-blue);
	color: white;
/*	font-weight: 600; */	/* DEC-2022 KAZ: c/o per request */
	text-decoration: none;
}
@media (any-hover: hover) {
	ul.tab_menu li a:hover {
		background: var(--keiken-dark-blue);
		color: white;
/*		font-weight: 600; */	/* DEC-2022 KAZ: c/o per request */
		text-decoration: none;
	}
}

/* Corporate Page Components
----------------------------------------------- */
#my-corporate section h2 .en, #my-corporate section h2 .ja,
#my-recruit section h2 .en, #my-recruit section h2 .ja {
	display: inline;
}
#my-corporate section h2 .en,
#my-recruit section h2 .en {
	color: var(--keiken-dark-blue);
	font-size: 3.125rem;	/* 50px */
}
#my-corporate section h2 .ja,
#my-recruit section h2 .ja {
	font-size: 1rem;	/* 16px */
	padding-left: 2em;
}
section#message {
	position: relative;
	color: white;
	background: url(/images/bg_pattern_black_big.png)no-repeat bottom -50px center /100% auto, linear-gradient(120deg, #004db3, #072044);
	padding: 50px 0 30px;
}
#my-corporate section#message h2 .en {
	color: white;
}
#message .ttl {
	font-size: 1.875rem;	/* 30px */
	font-weight: 600;
	line-height: 1.43;
	border-bottom: solid 3px;
	padding: 38px 0;	/* KAZ: was 25px 038px */
	margin-bottom: 45px;
}
#message .overlay {
	position: absolute;
	top: 0;
	right: calc(50% - 680px);
	width: 423px;
	height: auto;
}
#message .descr {
	padding-bottom: 30px;
}
#message .descr.right {
	margin-top: -15px;
}
section#philosophy, section#profile, section#history, section#chart {
	background: var(--keiken-bg-gray);
}
section#philosophy {
	position: relative;
	background-image: url(/images/bg_corporate2.png);
	background-repeat: no-repeat;
	background-position: top 900px left -155px;
	padding: 95px 0 0;	/* NOV-2022 KAZ: ChkHTML; bottom was 85px */
}
section#philosophy .wall {
	width: 100%;
	margin: 0 0 0 calc(50% - 360px);
}
#my-corporate section h2.gap,
#philosophy .descr.message, #philosophy .wrapper,
#my-recruit section h2.gap {
	padding-left: 100px;
	margin-bottom: 0;
}
#philosophy h2 {
	padding-bottom: 35px;
}
#philosophy .descr.message {
	color: white;
	font-size: 1.875rem;	/* 30px */
	font-weight: 600;
	line-height: 1.66;
	background: var(--keiken-dark-blue);
	padding-top: 44px;
	padding-bottom: 52px;
}
#philosophy .wrapper {
	background: white;
}
#philosophy .wrapper.last {
	padding-bottom: 30px;	/* NOV-2022 KAZ: ChkHTML */
}
#philosophy .wrapper:not(.last)::after {
	content: "";
	display: block;
	width: 100%;
	height: 5px;
	background-color: var(--keiken-bg-gray);
}
#philosophy .wrapper .inner {
	width: 770px;
}
#philosophy .wrapper .ttl {
	font-size: 1.5rem;	/* 24px */
	font-weight: 600;
	line-height: 1.33;
	padding-top: 59px;
	padding-bottom: 35px;
}
#philosophy .wrapper .descr {
	padding-bottom: 30px;
}
#philosophy .overlay {
	position: absolute;
	width: 1244px;		/* KAZ */
	bottom: -215px;	/* NOV-2022 KAZ: ChkHTML; was -130px */
	left: calc(50% + 260px);	/* KAZ: was right: 0 */
}
section#profile h2, section#history h2, section#chart h2{
	padding-bottom: 35px;
}
section#profile .inner, section#history .inner, section#chart .inner {
	margin: 0 0 0 calc(50% - 360px);
	padding-top: 85px;	/* NOV-2022 KAZ: ChkHTML */
}
section#profile table, section#history table {
	width: 870px;
	border-bottom: 0;
	margin-bottom: 0;
}
section#profile table th, section#history table th,
section#profile table td, section#history table td {
	line-height: 1.5;
	padding: 12px 0;
}
section#profile table tr:first-child th, section#history table tr:first-child th,
section#profile table tr:first-child td, section#history table tr:first-child td {
/*	padding-top: 35px; Aki c/o */	/* KAZ */
}
section#profile table tr:last-child th, section#history table tr:last-child th,
section#profile table tr:last-child td, section#history table tr:last-child td {
/*	padding-bottom: 35px; Aki c/o */	/* KAZ */
}
section#profile table th, section#history table th {
	width: 242px;
	text-align: center;
	border-top: solid 2px #F0F3F4;
}
section#profile table td, section#history table td {
	background: white;
	border-top: solid 2px #F0F3F4;
	padding-right:30px;
	padding-left: 40px;
}
section#profile table hr, section#history table hr {
	background-color: var(--keiken-bg-gray);
	height: 2px;
	margin-right: -30px;
}
section#profile {
	background-image: url(/images/img_spider.png);
	background-repeat: no-repeat;
	background-position: top 947px left calc(50% - 750px);	/* NOV-2022 KAZ: ChkHTML; top was 862px */
}
section#profile table td p.add_wrapper {
	overflow: hidden;	/* KAZ */
	margin-right: -30px;	/* KAZ: moved */
}
section#profile table td .add_wrapper {	/* 01.2023 Aki added */
	position: relative;
}
section#profile table td .add {
/*	float: left; Aki c/o */
	width: 278px;	/* KAZ: was 275px */
}
section#profile table td .photo1, section#profile table td .photo2 {
	display: inline-block;
/*	float: right;	/* 01.2023 Aki c/o */
/*	margin-top: -140px;	/* 01.2023 Aki c/o */
	position: absolute;	/* 01.2023 Aki added */
	top: 0;
	right: 0;
}
section#profile table td .photo1 {
	width: 310px;
/*	margin-right: -30px; 01.2023 Aki c/o */
/*	margin-top: -160px;	/* 01.2023 Aki c/o */
}
section#profile table td .photo2 {
	width: 120px;
	box-sizing: content-box;
	padding-right: 160px;
}
section#profile table a.linkbtn {
	color: inherit;
	font-size: 0.75rem; /* 12px */
	background: url(/images/arrow_black_s.svg)no-repeat center right 14px;
	border: solid 1px;
	padding: 8px 43px 11px 11px;
/*	margin-top: 10px; Aki c/o */
}
@media (any-hover: hover) {
	section#profile table a.linkbtn:hover {
		text-decoration: none;
	}
}
section#history {
	background-image: url(/images/bg_corporate3.png);
	background-repeat: no-repeat;
	background-position: top -680px left 0;
/*	padding-top: 85px; */	/* NOV-2022 KAZ: ChkHTML; moved to .inner */
/*	padding-bottom: 85px; */
}
section#history table th {
	text-align: right;
	padding-right: 42px;
}
section#chart {
	padding-bottom: 190px;
}
section#chart .imgonly {
	width: 690px;
	background: white;
	padding: 97px 100px 77px;
}


/* Policy Page & Service Page & Privacy Page Common
----------------------------------------------- */
#my-policy h2, #my-services h2 {
	padding-bottom: 10px;
}
#my-policy h2 .en, #my-policy h2 .ja,
#my-services h2 .en, #my-services h2 .ja {
	display: inline;
}
#my-policy h2 .en, #my-services h2 .en {
	font-size: 3.125rem;	/* 50px */
	color: var(--keiken-dark-blue);
}
#my-policy h2 .ja, #my-services h2 .ja {
	font-size: 1rem;	/* 16px */
	padding-left: 2em;
}
#my-policy section#policy_basic h2 .en {
	font-size: 2.8125rem;	/* 45px */
}
#my-policy .detail_wrapper h3 .inner, #my-services .detail_wrapper h3 .inner, #my-privacy .detail_wrapper h3 .inner {
	display: inline-block;
	text-align: center;
}
#my-policy section, #my-services section, #my-privacy section {
	position: relative;
	background: white;
	padding-top: 57px;
	padding-left: 100px;
	padding-bottom: 91px;
}
#my-policy section::after, #my-services section::after {
	content: "";
	display: block;
	width: calc(100% + 5px);
	height: 55px;
	background: var(--keiken-bg-gray);
	position: absolute;
	left: -5px;
	bottom : 0;
}
#my-policy section .descr, #my-policy section .ttl, #my-services section .descr, #my-privacy section .descr {
	width: 850px;	/* Aki was 800px */
}
#my-policy section .descr a, #my-services section .descr a, #my-privacy section .descr a, #my-contact section .descr a {
	text-decoration: underline;
}
#my-policy section .descr b, #my-services section .descr b, #my-privacy section .descr b {
	color: var(--keiken-dark-blue);
}
#my-policy section .descr .colored, #my-services section .descr .colored {
	color: var(--keiken-dark-blue);
}
#my-policy .intro_text, #my-services .intro_text {
	padding-bottom: 55px;
}
#my-policy .descr.left, #my-services .descr.left {
	width: auto;
	float: left;
	padding-right: 43px;
}
#my-policy section .detail_wrapper, #my-services section .detail_wrapper, #my-privacy section .detail_wrapper {
	padding-bottom: 60px;
}
#my-policy section .detail_wrapper.haschild, #my-services section .detail_wrapper.haschild {
	padding-bottom: 5px;
}
#my-policy section .detail_wrapper h3, #my-services section .detail_wrapper h3, #my-privacy section .detail_wrapper h3 {
	margin-bottom: 25px;
}
#my-policy section .detail_wrapper .wrap, #my-services section .detail_wrapper .wrap, #my-privacy section .detail_wrapper .wrap {
	position: relative;
	border-bottom: solid 4px var(--keiken-bg-gray);
	padding: 33px 0 33px 50px;
}
#my-policy section .detail_wrapper .wrap:last-child, #my-services section .detail_wrapper .wrap:last-child, #my-privacy section .detail_wrapper .wrap:last-child {
	border-bottom: 0;
}
#my-policy section .detail_wrapper .wrap.hasborder {	/* 12.2022 AKi added */
	border-bottom: solid 4px var(--keiken-bg-gray);
	padding-bottom: 50px;
}
#my-policy section .detail_wrapper .wrap .ttl, #my-services section .detail_wrapper .wrap .ttl, #my-privacy section .detail_wrapper .wrap .ttl {
	font-size: 1.25rem;	/* 20px */
	font-weight: 500;
	padding-bottom: 5px;
}
#my-policy section .detail_wrapper .wrap::before, #my-services section .detail_wrapper .wrap::before, #my-privacy section .detail_wrapper .wrap::before {
	content: "";
	display: inline-block;
	color: var(--keiken-blue);
	font-family: 'Barlow', sans-serif;
	font-size: 4.125rem;	/* 66px */
/*	font-weight: 600; Aki c/o */
	line-height: 1;
	position: absolute;
	top: 22px;
	left: 0;
}
#my-policy section .detail_wrapper .wrap:nth-of-type(1)::before,
#my-services section .detail_wrapper .wrap:nth-of-type(1)::before,
#my-privacy section#privacy1 .detail_wrapper .wrap:nth-of-type(2)::before,
#my-privacy section#privacy2 .detail_wrapper .wrap:nth-of-type(1)::before {
	content: "1";
}
#my-policy section .detail_wrapper .wrap:nth-of-type(2)::before,
#my-services section .detail_wrapper .wrap:nth-of-type(2)::before,
#my-privacy section#privacy1 .detail_wrapper .wrap:nth-of-type(3)::before,
#my-privacy section#privacy2 .detail_wrapper .wrap:nth-of-type(2)::before {
	content: "2";
}
#my-policy section .detail_wrapper .wrap:nth-of-type(3)::before,
#my-services section .detail_wrapper .wrap:nth-of-type(3)::before,
#my-privacy section#privacy1 .detail_wrapper .wrap:nth-of-type(4)::before,
#my-privacy section#privacy2 .detail_wrapper .wrap:nth-of-type(3)::before {
	content: "3";
}
#my-policy section .detail_wrapper .wrap:nth-of-type(4)::before,
#my-services section .detail_wrapper .wrap:nth-of-type(4)::before,
#my-privacy section#privacy1 .detail_wrapper .wrap:nth-of-type(5)::before,
#my-privacy section#privacy2 .detail_wrapper .wrap:nth-of-type(4)::before {
	content: "4";
}
#my-policy section .detail_wrapper .wrap:nth-of-type(5)::before,
#my-services section .detail_wrapper .wrap:nth-of-type(5)::before,
#my-privacy section#privacy1 .detail_wrapper .wrap:nth-of-type(6)::before,
#my-privacy section#privacy2 .detail_wrapper .wrap:nth-of-type(5)::before {
	content: "5";
}
#my-policy section .detail_wrapper .wrap:nth-of-type(6)::before,
#my-services section .detail_wrapper .wrap:nth-of-type(6)::before,
#my-privacy section#privacy1 .detail_wrapper .wrap:nth-of-type(7)::before,
#my-privacy section#privacy2 .detail_wrapper .wrap:nth-of-type(6)::before {
	content: "6";
}
#my-privacy section#privacy2 .detail_wrapper .wrap:nth-of-type(7)::before {
	content: "7";
}
#my-privacy section#privacy2 .detail_wrapper .wrap:nth-of-type(8)::before {
	content: "8";
}

/* Policy Page Components
----------------------------------------------- */
#dx .detail_wrapper h3,
#sdgs .detail_wrapper h3,
#policy_basic .detail_wrapper h3,
#policy_environmental .detail_wrapper h3 {
	background: linear-gradient(to right, #163275 145px, #F0F3F4 145px);
}
#dx .detail_wrapper h3 .inner,
#sdgs .detail_wrapper h3 .inner,
#policy_basic .detail_wrapper h3 .inner,
#policy_environmental .detail_wrapper h3 .inner {
	width: 145px;
}
#policy_basic .descr.right, #policy_environmental .descr.right {
	width: 900px;
}
#policy_general .detail_wrapper h3 {
	background: linear-gradient(to right, #163275 360px, #F0F3F4 360px);
}
#policy_general .detail_wrapper h3 .inner {
	width: 360px;
}
#policy_general .intro_text .descr {
	float: none;
}
#policy_general .detail_wrapper .wrap:nth-of-type(1),
#policy_general .detail_wrapper:last-child .wrap:last-child,	/* NOV-2022 KAZ: ChkHTML; added */
#policy_csr .detail_wrapper .wrap:nth-of-type(3),
#ruby .detail_wrapper .wrap:nth-of-type(3) {
	border-bottom: 0;
}
#policy_environmental .message {
	position: relative;
	color: white;
	font-size: 1.375rem;	/* 22px */
	font-weight: 600;
	line-height: 1.88;
	background: var(--keiken-light-green);
	padding: 40px 0 40px 100px;
	margin-left: -100px;
	margin-bottom: 80px;
}
#policy_environmental .message::after {
	content: url(/images/pattern_over.png);
	display: block;
	position: absolute;
	top: -295px;
	right: -885px;
}
#policy_environmental ol {
	width: 800px;
	line-height: 1.5;
	margin-left: 35px;
}
#policy_environmental ol li span {
	vertical-align: super;
}
#policy_environmental ol li::marker {
	color: var(--keiken-blue);
	font-family: 'Barlow', sans-serif;
	font-size: 1.875rem;	/* 30px */
	font-weight: 500;
}
#my-policy section#policy_environmental .detail_wrapper .wrap {	/* Aki added */
/*	border-bottom: 0; 12.2022 Aki c/o */
}
#policy_environmental .descr.right {
	font-size: 0.875rem;
	line-height: 1.85;
	padding-top: 35px;
}
#policy_csr .detail_wrapper h3 {
	background: linear-gradient(to right, #163275 195px, #F0F3F4 195px);
}
#policy_csr .detail_wrapper h3 .inner {
	width: 195px;
}
#policy_csr .frame {
	font-size: 1.125rem;	/* 18px */
	font-weight: 600;
	text-align: center;
	width: 746px;
	border: solid 3px var(--keiken-light-green);
	padding: 9px 0;
	margin-top: 25px;
}
#policy_csr .descr.first {
	padding-bottom: 20px;
}
#dx ul,
#sdgs ul {
	margin: 0;
}
#dx li,
#sdgs li {
	list-style: none;
}


/* Services Page Components
----------------------------------------------- */
#my-services .detail_wrapper h3 .inner {
	padding-left: 20px;
}
#my-services .detail_wrapper .imgonly.left {
	float: left;
	padding-right: 30px;
	padding-bottom: 70px;
}
#my-services section .detail_wrapper#online_database {
	padding-bottom: 35px;
}
#my-services table {
	width: 800px;
	border-bottom: 0;
}
#my-services table th, #my-services table td {
	border-top: solid 2px var(--keiken-bg-gray);
	padding: 12px 0;
}
#my-services table tr.first th, #my-services table tr.first td {
	border-top: 0;
}
#biservice table.scene {
}
#biservice table.scene th {
	text-align: center;
}
#biservice table.scene td, #biservice table.database td {
	padding-left: 32px;
}
#biservice table.scene td ul {
	line-height: 1.5;
}
#biservice table.scene td ul li {
}
#biservice table.scene td ul li::before,
#ruby ul.success li::before{
	content: "●";
	display: inline-block;
	color: var(--keiken-light-green);
	margin-right: 3px;
}
#biservice table.database {
	margin-bottom: 80px;
}
#biservice table.database.last_database {
	margin-bottom: 0;
}
#biservice table.database th {
	width: 160px;
	text-align: center;
	line-height: 1.5;
	padding-left: 20px;
	padding-right: 20px;
}
#biservice table.database td {
	line-height: 1.5;
}
#biservice .detail_wrapper .ttl {
	font-size: 1.5rem;	/* 24px */
	font-weight: 600;
	padding-bottom: 25px;
}
#biservice .detail_wrapper .ttl2 {
	display: inline-block;
	font-size: 1.25rem;	/* 20px */
	font-weight: 500;
	color: white;
	background: var(--keiken-dark-blue);
	line-height: 32px;
	border-top-right-radius: 32px;
	padding: 0 75px 0 40px;
	margin-bottom: 22px;
}
#my-services section#ruby .detail_wrapper h3 {
	background: linear-gradient(to right, #163275 314px, #F0F3F4 314px);
}
#my-services section#ruby .detail_wrapper h3 .inner {
}
#my-services section#ruby .detail_wrapper .wrap {
	padding: 48px 0 48px 50px;
}
#ruby .imgonly.left{
	float: left;
	padding-right: 55px;
}
#ruby .imgonly.right{
	float: right;
	padding-right: calc(50% - 350px);
}
#ruby ul.success::before {
	content: "効果";
	display: inline-block;
	color: white;
	background: var(--keiken-light-green);
	width: 68px;
	height: 68px;
	border-radius: 50%;
	font-size: 1.25rem;	/* 20px */
	font-weight: 500;
	text-align: center;
	line-height: 68px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translatey(-50%);
}
#ruby ul.success {
	position: relative;
	padding-left: 90px;
}
#ruby ul.success li {
}
#bitool .intro {
	padding-bottom: 64px;
}
#my-services section#bitool .detail_wrapper h3 {
	background: linear-gradient(to right, #163275 240px, #F0F3F4 240px);
}
#my-services section#bitool .detail_wrapper h3 .inner {
}
#bitool .frame {
	width: 746px;
	border: solid 3px var(--keiken-light-green);
	padding: 20px;
	margin-top: 70px;
}
#devflow .descr.message {
	font-size: 1.5rem;	/* 24px */
	font-weight: 600;
	padding-bottom: 70px;
}
#devflow .flow_list {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 80px;
}
#devflow .flow_list .list {
	position: relative;
	margin-right: 37px;
}
#devflow .flow_list .list#list10 {
	margin-right: 0;
}
#devflow .flow_list .list .imgonly {
	display: block;
	height: 110px;
	text-align: center;
	background: var(--keiken-bg-gray);
	padding-top: 13px;
}
#devflow .flow_list .list .colored {
	display: block;
	width: 46px;
	height: 72px;
	color: white;
	font-size: 2.1875rem;
	font-weight: 500;
	text-align: center;
	background: linear-gradient(to right, #1EBFAB, #1EBFAB);
	padding-top: 5px;
}
#devflow .flow_list .list#list1::before, #devflow .flow_list .list::after {
	content: "";
	display: block;
	position: absolute;
}
#devflow .flow_list .list#list1::before {
	content :"STEP";
	font-family: 'Barlow', sans-serif;
	color: white;
	font-size: 0.75rem;
	top: 5px;
	left: 10px;
}
#devflow .flow_list .list#list2 .colored {
	background: linear-gradient(to right, #1EBFAB, #1BB2AC);
}
#devflow .flow_list .list#list3 .colored {
	background: linear-gradient(to right, #1BB2AC, #17A5AC);
}
#devflow .flow_list .list#list4 .colored {
	background: linear-gradient(to right, #17A5AC, #1499AD);
}
#devflow .flow_list .list#list5 .colored {
	background: linear-gradient(to right, #1499AD, #118CAD);
}
#devflow .flow_list .list#list6 .colored {
	background: linear-gradient(to right, #118CAD, #0D7FAE);
}
#devflow .flow_list .list#list7 .colored {
	background: linear-gradient(to right, #0D7FAE, #0A72AE);
}
#devflow .flow_list .list#list8 .colored {
	background: linear-gradient(to right, #0A72AE, #0766AF);
}
#devflow .flow_list .list#list9 .colored {
	background: linear-gradient(to right, #0766AF, #0359AF);
}
#devflow .flow_list .list#list10 .colored {
	background: linear-gradient(to right, #0359AF, #004CB0);
}
#devflow .flow_list .list::after {
	content: "▶";
	top: 28px;
	right: -10px;
	color: #1EBFAB;
}
#devflow .flow_list .list#list2::after {
	color: #17A5AC;
}
#devflow .flow_list .list#list3::after {
	color: #17A5AC;
}
#devflow .flow_list .list#list4::after {
	color: #1499AD;
}
#devflow .flow_list .list#list5::after {
	color: #118CAD;
}
#devflow .flow_list .list#list6::after {
	color: #0D7FAE;
}
#devflow .flow_list .list#list7::after {
	color: #0A72AE;
}
#devflow .flow_list .list#list8::after {
	color: #0766AF;
}
#devflow .flow_list .list#list9::after {
	color: #0359AF;
}
#devflow .flow_list .list#list10::after {
	content: none;
}
#devflow .detail_wrapper {
}
#my-services section#devflow .detail_wrapper h3 {
	height: 45px;
	display: flex;
	align-items: stretch;
	margin-left: -100px;
	margin-bottom: 10px;
}
#devflow .detail_wrapper h3 .number {
	color: white;
	width: 197px;
	font-size: 3.125rem;	/* 50px */
	text-align: right;
	background: var(--keiken-light-green);
	line-height: 0.8;
	font-weight: 500;
	padding-right: 27px;
	padding-bottom: 5px;
}
#devflow .detail_wrapper h3 .number, #devflow .detail_wrapper h3 .text {
	display: inline-block;
}
#devflow .detail_wrapper h3 .number::before {
	content :"STEP";
	display: inline-block;
	color: white;
	font-family: 'Barlow', sans-serif;
	font-size: 0.875rem;
	vertical-align: middle;	
	margin-top: -5px;
	margin-right: 12px;
}
#devflow .detail_wrapper h3 .text {
	display: inline-block;
	background: var(--keiken-bg-gray);
	width: 696px;
	height: 100%;
	padding-top: 7px;
	padding-left: 16px;
}
#devflow .detail_wrapper .descr {
	padding-left: 116px;
}
#devflow .detail_wrapper .descr b {
	color: var(--keiken-blue);
}
#devflow .detail_wrapper#flow2 h3 .number {
	background: #1BB2AC;
}
#devflow .detail_wrapper#flow3 h3 .number {
	background: #17A5AC;
}
#devflow .detail_wrapper#flow4 h3 .number {
	background: #1499AD;
}
#devflow .detail_wrapper#flow5 h3 .number {
	background: #118CAD;
}
#devflow .detail_wrapper#flow6 h3 .number {
	background: #0D7FAE;
}
#devflow .detail_wrapper#flow7 h3 .number {
	background: #0A72AE;
}
#devflow .detail_wrapper#flow8 h3 .number {
	background: #0766AF;
}
#devflow .detail_wrapper#flow9 h3 .number {
	background: #0359AF;
}
#devflow .detail_wrapper#flow10 h3 .number {
	background: #004CB0;
}


/* Recruit Page Components
----------------------------------------------- */
#my-recruit section:not(#recruit_message):not(#day) .wall {
	width: 100%;
	margin: 0 0 0 calc(50% - 360px);
}
#my-recruit section:not(#recruit_message):not(#day) h2 {
	background: var(--keiken-bg-gray);
	padding-left: calc(50% - 260px);
	padding-bottom: 35px;
}
#recruit_message {
	color: white;
	background: url(/images/bg_recruit_message.png)no-repeat bottom right var(--keiken-light-green);
	padding: 60px 0 65px;
}
#recruit_message .wall {
	padding-left: 240px;
}
#recruit_message .ttl {
	font-size: 3.125rem;	/* 50px */
	font-weight: 600;
}
#recruit_message .descr {
	font-size: 1.125rem;	/* 18px */
	font-weight: 500;
	padding: 30px 0 45px;
}
#recruit_message a {
	color: var(--keiken-dark-blue);
	width: 360px;
	font-size: 2.1875rem;	/* 35px */
	font-weight: 600;
	text-align: center;
	background: white;
	border: solid 8px;
	padding: 12px 0;
}
@media (any-hover: hover) {
	#recruit_message a:hover {
		text-decoration: none;
	}
}
#recruit_message a.career {
	margin-left: 40px;
}
#work, #education, #environment {
	position: relative;
	background: var(--keiken-bg-gray);
}
#work {
	padding-top: 65px;
}
#work .wall, #education .wall, #environment .wall {
	background: white;
}
#work .work_wrapper {
	display: flex;
	flex-wrap: wrap;
	padding: 58px 0 45px 100px;
}
#work .work_wrapper .wrap {
	width: 345px;
	margin-right: ;
}
#work .work_wrapper .wrap:first-child {
	margin-right: 80px;
}
#work .work_wrapper .wrap .imgonly {
}
#work .work_wrapper .wrap .ttl {
	color: var(--keiken-blue);
	font-size: 1.375rem;	/* 22px */
	font-weight: 500;
	padding: 25px 0 5px;
}
#work .work_wrapper .wrap .descr {
}
#work .imgonly.overlay {
	position: absolute;
	width: 1244px;
	bottom: -290px;
	left: calc(50% + 260px);
	z-index: 1;
}
#education {
	background: linear-gradient(to bottom, #F0F3F4 790px, transparent 790px);
	padding-top: 85px;
}
#education .education_wrap {
	width: 1050px;
	padding: 68px 0 77px 100px;
}
#education .education_wrap .imgonly {
	float: right;
	padding-left: 28px;
}
#day {
	background: url(/images/bg_day.png) no-repeat bottom right -420px var(--keiken-blue);
	padding: 210px 0 60px;
	margin-top: -130px;
}
#day .wall {
	overflow: hidden;
	width: auto;	/* DEC-2022 KAZ: was 100% */
	margin-left: calc(50% - 260px);	/* KAZ: was calc(50% - 360px) */
/*	padding-left: 100px; */
}
#day h2 {
	/*float: left;*/	/* KAZ */
/*	padding-bottom: 30px; */
	color: white;
	font-size: 1.5625rem;	/* 25px */
	font-weight: 500;
}
#day .day_nav {	/* KAZ: .day_nav 部分 */
	margin-bottom: 30px;
	margin-left: 688px;
	padding: 13px 0 7px;
}
#day .day_nav a {
	background-repeat: no-repeat;
	display: inline-block;
	width: 30px;
	height: 30px;
}
#day .day_nav a.slider_prev {
	background-image: url(/images/arrow_left_slider_enabled.svg);
	margin-right: 22px;
}
#day .day_nav a.slider_prev.disabled {
	background-image: url(/images/arrow_left_slider_disabled.svg);
}
#day .day_nav a.slider_next {
	background-image: url(/images/arrow_right_slider_enabled.svg);
}
#day .day_nav a.slider_next.disabled {
	background-image: url(/images/arrow_right_slider_disabled.svg);
}
#day .day_wrapper {
	position: relative;
	height: 537px;	/* JAN-2023 KAZ: was 510px */
	overflow-x: scroll;
	/* overflow-y: hidden; */
	-ms-overflow-style: none;
	scrollbar-width: none;
}
#day .day_wrapper::-webkit-scrollbar {
	display: none;
}

#day .day_wrapper ul.slider {	/* KAZ: ul.slider 部分 */
	position: absolute;
	overflow: hidden;
	width: 1500px;
	top: 0;
	left: 0;
	margin: 0;
	padding-top: 20px;
	margin-right: 20px;
}
#day .day_wrapper ul.slider::before {
	content: "";
	display: block;
	background: #5FBCAB;
	width: 100%;
	height: 4px;
}
#day .day_wrapper ul.slider li {
	list-style-type: none;
	background: white;
	border-radius: 0 0 20px 20px;
	position: relative;
	float: left;
	width: 270px;
	padding: 50px 20px 22px;	/* JAN-2023 KAZ: bottom was 28px */
}
#day .day_wrapper ul.slider li {
	margin-right: 30px;
}
#day .day_wrapper ul.slider li .ttl {
	position: absolute;
	top: -25px;
	left: 50%;
	transform: translatex(-50%);
	color: white;
	font-weight: 500;
	line-height: 50px;
	text-align: center;
	width: 194px;
	height: 50px;
	background: var(--keiken-light-green);
	border-radius: 25px;
}
#day .day_wrapper ul.slider li .ttl .time {
	font-size: 1.25rem;	/* 20px */
	padding-right: 0.5em;
}
#day .day_wrapper ul.slider li .imgonly {
	margin-bottom: 16px;	/* JAN-2023 KAZ */
	text-align: center;	/* JAN-2023 KAZ: per request */
}
#day .day_wrapper ul.slider li .descr {
	font-size: 0.875rem;	/* 14px */
}
#environment {
	position: relative;
	padding: 80px 0;
}
#environment .wall {
	padding-bottom: 86px;
}
#environment .environment_wrapper {
	padding: 70px 0 0 100px;
}
#environment .environment_wrapper h3 {
	position: relative;
	color: var(--keiken-blue);
	font-size: 1.375rem;	/* 22px */
	font-weight: 500;
	padding-bottom: 20px;
}
#environment .environment_wrapper h3::after {
	position: absolute;
	top: 18px;
	content: "";
	display: inline-block;
	background: #214DAA;
	width: 100%;
	height: 1px;
	margin-left: 1em;
}
#environment .environment_wrapper .wrap {
	overflow: hidden;
	width: 770px;
	padding-bottom: 47px;
}
#environment .environment_wrapper .wrap .ttl {
	font-size: 1.25rem;	/* 20px */
	font-weight: 600;
}
#environment .environment_wrapper .wrap .imgonly {
	float: right;
	padding-left: 28px;
}
#environment .environment_wrapper .wrap .descr {
	overflow: hidden;
	font-size: 0.875rem;	/* 14px */
}
#environment .environment_wrapper#fukuri ul li::before {
	content: "●";
	display: inline-block;
	color: #214DAA;
}
#environment .imgonly.overlay {
	position: absolute;
	width: 1244px;
	top: 300px;
	left: calc(50% - 1510px);
}


/* Recruit Newgrad Page Components
----------------------------------------------- */
/* common */
#my-newgrad #main #primary.nosidebar,
#my-newcomers #main #primary.nosidebar {
	background: transparent;
}
.tab_wrapper#newgrad_tab_wrapper {
	background: transparent;
}
.tab_wrapper#newgrad_tab_wrapper::before {
	content: none;
}
ul.tab_menu#recruit_tab_menu li a {
	width: 491px;
	font-weight: 600;
	text-decoration: none;
}
ul.tab_menu#recruit_tab_menu li a.current {
	color: white;
	background: var(--keiken-dark-blue);
	text-decoration: none;
}
ul.tab_menu#newgrad_tab_menu {
}
ul.tab_menu#newgrad_tab_menu li:not(:last-child) {
	margin-right: 10px;
}
ul.tab_menu#newgrad_tab_menu li a {
	color: white;
	font-size: 1.125rem;	/* 18px */
	font-weight: 500;
	background: #777575;
	width: 325px;
	height: 48px;
	padding: 10px 0;
}
#my-newcomers ul.tab_menu#newgrad_tab_menu li a {
	width: 495px;
}
ul.tab_menu#newgrad_tab_menu li a:hover,
ul.tab_menu#newgrad_tab_menu li.ui-tabs-active a {
	background: var(--keiken-light-green);
}
section#intro_newgrad {
	background: white;
	padding: 55px 0 45px;
}
section#intro_newgrad .imgonly {
	text-align: center;
}
section#intro_newgrad h2 {
	color: var(--keiken-dark-blue);
	font-size: 2.25rem;	/* 36px */
	font-weight: 600;
	text-align: center;
	padding-bottom: 15px;
}
section.newgrad_sec {
}
section.newgrad_sec .wall {
	margin-left: 0;
}
section.newgrad_sec h2 {
	font-size: 1.75rem;	/* 28px */
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	padding: 55px 0 41px;
}
#newgrad_btn_wrap {
	clear: both;
	text-align: center;
	padding: 115px 0 140px;
}
.btn_backtorecruit a {
	color: var(--keiken-dark-blue);
	font-weight: 500;
	border: solid 2px;
	padding: 5px 37px;
}
#newgrad_btn_wrap .btn_entry:not(:last-child) {
	padding-bottom: 0;	/* JAN-2023 KAZ: added */
}
#newgrad_btn_wrap .btn_entry p {
	margin-bottom: 30px;	/* DEC-2022 KAZ: added */
}
#newgrad_btn_wrap .btn_entry a.linkbtn {	/* Mat 2022.12 added .linkbtn */
	background: var(--keiken-light-green);
	padding: 6px 170px;	/* DEC-2022 KAZ: side was 100px */
	border-radius: 0;
	margin-top: 8px;
}

/* newgrad */
section.newgrad_sec .descr{
	overflow: hidden;
}
section.newgrad_sec .descr.second_descr {
	padding: 50px 0 55px;
}
section.newgrad_sec#newgrad_cy .descr.second_descr,
section.newgrad_sec#newgrad_kt .descr.second_descr {
	clear: both;
}
section.newgrad_sec#newgrad_ss .descr.second_descr {
	padding-top: 65px;
}
section.newgrad_sec figure.right_wrap {
	float: right;
	width: 300px;
	height: auto;
	background: var(--keiken-light-green);
	border-bottom-left-radius: 30px;
	margin: 0 0 0 38px;
}
section.newgrad_sec figcaption {
	color: white;
	font-size: 0.875rem;
	line-height: 1.375;
	padding: 0 15px 17px;
	margin-top: -5px;
}
section.newgrad_sec figcaption span {
	display: block;
	font-size: 1.125rem;	/* 18px */
	font-weight: 500;
}
section.newgrad_sec .imgonly.left_wrap {
	float: left;
	width: 383px;
	height: auto;
	margin-right: 38px;
}
section.newgrad_sec#newgrad_kt .imgonly.left_wrap {
	width: 282px;
}

/* newcomer */
section#intro_newgrad ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 43px 0 10px;
}
section#intro_newgrad ul li {
	width: 180px;
	text-align: center;
}
section#intro_newgrad ul li:not(:last-child) {
	margin-right: 46px;
}
section#intro_newgrad ul li .name {
	font-size: 0.875rem;	/* 14px */
	line-height: 1.5;
	padding: 10px 0;
}
section#intro_newgrad ul li .name span {
	display: block;
	font-size: 1.125rem;	/* 18px */
	font-weight: 600;
	padding-bottom: 5px;
}
section#intro_newgrad .descr {
	font-size: 1.125rem;	/* 18px */
	font-weight: 500;
	text-align: center;
	padding-bottom: 5px;
}
#my-newcomers section.newgrad_sec h2 {
	text-align: left;
	padding-top: 0;
	padding-bottom: 10px;
}
section.newgrad_sec .wrap {
}
section.newgrad_sec .wrap .wall {
	position: relative;
}
section.newgrad_sec .wrap table.taidan {
	position: relative;
	width: 605px;
	border-bottom: 0;
	background: rgba(255,255,255,0.5);
	z-index: 1;
}
section.newgrad_sec .wrap table.taidan th {
	color: var(--keiken-light-green);
	width: 70px;
	font-weight: 500;
}
section.newgrad_sec .wrap table.taidan td {
	border-top: 0;
	line-height: 1.75;
	padding-top: 2px;
	padding-bottom: 17px;	/* Aki was 15px */
}
section.newgrad_sec .wrap table.taidan td p {
	margin-bottom: 0;
}
section.newgrad_sec .wrap .imgonly {
	position: absolute;
	}
section.newgrad_sec#katudou .wrap1 {
	padding-top: 55px;
}
section.newgrad_sec#katudou .wrap2 {
	padding-top: 55px;
}
section.newgrad_sec#katudou .wrap3 {
	padding-top: 55px; /* 125px -> 55px viex.koba */
}
section.newgrad_sec#katudou .wrap4 {
	min-height: 500px;
	padding-top: 40px;
}
section.newgrad_sec#katudou .wrap6 {
	padding-top: 40px;
}
section.newgrad_sec .wrap .imgonly img {
	width: 100%;
	max-width: none;
	height: auto;
}
section.newgrad_sec#katudou .wrap1 .imgonly {
	width: calc(50vw - 200px + 17px);
	min-width: 100px;
	max-width: 600px;
	top: 78px;
	left: calc(50% + 120px);
}
section.newgrad_sec#katudou .wrap1 table.taidan {
}
section.newgrad_sec#katudou .wrap2 .imgonly,
section.newgrad_sec#katudou .wrap4 .imgonly {
	width: calc(50vw - 50px);
	min-width: 100px;
	max-width: 550px;
    top: 78px;
	right: calc(50% + 130px);
/*	transform: translatex(-50%); Aki c/o */
}
section.newgrad_sec#katudou .wrap2 table.taidan,
section.newgrad_sec#katudou .wrap4 table.taidan  {
	margin-right: 0;
	margin-left: auto;
}
section.newgrad_sec#katudou .wrap3 .imgonly {
	width: calc(50vw - 250px + 17px);
	min-width: 100px;
	max-width: 383px;
	top: 10px;
	left: calc(50% + 150px);
}
section.newgrad_sec#katudou .wrap4 .imgonly {
/*	max-width: 600px; Aki c/o */
	top: 90px;
/*	left: calc(50% - 440px); Aki c/o */
}
section.newgrad_sec#katudou .wrap3 table.taidan {
}
section.newgrad_sec#katudou .wrap6  table.taidan {
	width: 100%; 
}
section.newgrad_sec#nyusya .wrap1 {
	padding-top: 55px;
}
section.newgrad_sec#nyusya .wrap2 {
	padding-top: 25px;
}
section.newgrad_sec#nyusya .wrap3 {
	padding-top: 45px;
}
section.newgrad_sec#nyusya .wrap5 {
	margin-bottom: 220px; /* add viex.koba */
	padding-top: 40px;
}
@media screen and (max-width: 768px){
	section.newgrad_sec#nyusya .wrap5 {
		margin-bottom: 0px; /* add viex.koba */
	}
}
section.newgrad_sec#nyusya .wrap6 {
	/*padding-top: 35px;*/
}
section.newgrad_sec#nyusya .wrap7 {
	padding-top: 20px;
}
section.newgrad_sec#nyusya .wrap8 {
	padding-top: 150px;
}
section.newgrad_sec#nyusya .imgwrap {
	padding: 70px 0;
}
section.newgrad_sec#nyusya .wrap1 .imgonly,
section.newgrad_sec#nyusya .wrap3 .imgonly {
	width: calc(50vw - 250px + 17px);
	min-width: 100px;
	max-width: 346px;
	top: 10px;
	left: calc(50% + 150px);
}
section.newgrad_sec#nyusya .wrap1  table.taidan {

}
section.newgrad_sec#nyusya .wrap2 .imgonly,
section.newgrad_sec#nyusya .wrap7 .imgonly {
	width: calc(50vw - 140px);
	min-width: 100px;
	max-width: 550px;
	top: 78px;
	right: calc(50% + 140px);
/*	transform: translatex(-50%); Aki c/o */
}
section.newgrad_sec#nyusya .wrap7 .imgonly { /* add viex.koba */
	right: unset;
	left: calc(50% + 140px);
}
section.newgrad_sec#nyusya .wrap2  table.taidan,
section.newgrad_sec#nyusya .wrap7  table.taidan {
	margin-right: 0;
	margin-left: auto;
}
section.newgrad_sec#nyusya .wrap7  table.taidan { /* add viex.koba */
	margin-left: 0;
}
section.newgrad_sec#nyusya .wrap3  table.taidan {

}
section.newgrad_sec#nyusya .wrap5 .imgonly,
section.newgrad_sec#nyusya .wrap8 .imgonly {
	width: calc(50vw - 230px + 17px);
	min-width: 100px;
	max-width: 550px;
	top: 78px;
	/*left: calc(50% + 130px);*/ /* remove viex.koba */
	right: calc(50% + 130px); /* add viex.koba */
}
section.newgrad_sec#nyusya .wrap5  table.taidan {
	margin-left: auto; /* add viex.koba */
}
section.newgrad_sec#nyusya .wrap6 .imgonly {
}
section.newgrad_sec#nyusya .wrap6  table.taidan {
	width: 100%; 
}
section.newgrad_sec#nyusya .wrap7 .imgonly {
}
section.newgrad_sec#nyusya .wrap8  table.taidan {
	margin-left: auto; /* add viex.koba */
}

















/* Career Entry Form Page Components
----------------------------------------------- */
#careerentry_main .wall {
/*	width: 798px; */
	margin: 0 auto;
	padding-bottom: 56px;
}
#careerentry_main h1.content-title {
	margin-bottom: 26px;
	line-height: 2.05;	/* 82px */
	color: var(--keiken-dark-blue);
	font-size: 2.5rem;	/* 40px */
	letter-spacing: 0.03em;
}
#careerentry_main .flow, #career_single_flow .flow {
	background: linear-gradient(to right, #214daa 0%, #5fbcab 100%);
	overflow: hidden;
	position: relative;
	width: 700px;
	height: 74px;
	margin-bottom: 34px;
	color: white;
	text-align: center;
}
#careerentry_main .flow .innerbox, #career_single_flow .flow .innerbox {
	position: relative;
	width: 578px;
	height: 600px;
	transform-origin: left 74px;
	transform: rotate(-45deg);
}
#careerentry_main .flow .innerbox::before,
#careerentry_main .flow .innerbox .item,
#career_single_flow .flow .innerbox::before,
#career_single_flow .flow .innerbox .item {
	border-bottom: white 3px solid;
	border-right: white 3px solid;
	position: absolute;
	width: 118px;
	height: 118px;
}
#careerentry_main .flow .innerbox::before, #career_single_flow .flow .innerbox::before {
	background-color: white;
	top: -44px;
	left: -66px;
	content: '';
}
#careerentry_main .flow .innerbox .item, #career_single_flow .flow .innerbox .item {
	padding-top: 3px;
	padding-left: 3px;
}
#careerentry_main .flow .innerbox .item:nth-child(1), #career_single_flow .flow .innerbox .item:nth-child(1) {
	top: 74px;
	left: 52px;
}
#careerentry_main .flow .innerbox .item:nth-child(2), #career_single_flow .flow .innerbox .item:nth-child(2) {
	top: 192px;
	left: 170px;
}
#careerentry_main .flow .innerbox .item:nth-child(3), #career_single_flow .flow .innerbox .item:nth-child(3) {
	top: 310px;
	left: 288px;
}
#careerentry_main .flow .innerbox .item:nth-child(4), #career_single_flow .flow .innerbox .item:nth-child(4) {
	top: 428px;
	left: 406px;
}
#careerentry_main .flow .innerbox .item .inner, #career_single_flow .flow .innerbox .item .inner {
	margin: -23px 0 0 -23px;
	line-height: 135px;
	font-size: 1.125rem;
	font-weight: 500;
	transform-origin: center;
	transform: rotate(45deg);
}
#careerentry_main .flow::after, #career_single_flow .flow::after {
	border: white 37px solid;
	border-left-color: transparent;
	display: table-cell;
	position: absolute;
	width: 74px;
	height: 74px;
	top: 0;
	right: -37px;
	content: '';
}
#careerentry_main .descr {
}
#careerentry_main .descr p {
	margin-bottom: 2em;
}
/* See below for contact form elements */

/* Popup */
#contact_table tr#careerentry_qualifications th a {
	background-color: var(--keiken-dark-blue);
	border-radius: 6px;
	display: inline-block;
	width: 76px;
	line-height: 22px;	/* FIXED */
	color: white;
	font-size: 0.875rem;	/* 14px */
	text-align: center;
}
@media (any-hover: hover) {
	#contact_table tr#careerentry_qualifications th a:hover {
		opacity: 0.7;
		text-decoration: none;
	}
}
#careerentry_overlay,
#careerentry_popup {
	display: none;
	position: fixed;
}
#careerentry_overlay {
	background-color: rgba(0,0,0,0.3);
	width: 100%;
	height: var(--viewheight);
	top: 0;
	left: 0;
	z-index: 20000;
}
.admin-bar #careerentry_overlay {
	height: calc(var(--viewheight) - var(--wp-admin-bar-height));
	top: var(--wp-admin-bar-height);
}
#careerentry_popup {
	background-color: white;
	overflow-y: auto;
	width: 720px;
	height: calc(var(--viewheight) * 0.9);
	top: calc(var(--viewheight) * 0.05);
	left: calc(50% - 360px);
	z-index: 20001;
	padding: 30px 50px;
}
.admin-bar #careerentry_popup {
	height: calc((var(--viewheight) - var(--wp-admin-bar-height)) * 0.9);
	top: calc((var(--viewheight) - var(--wp-admin-bar-height)) * 0.05 + var(--wp-admin-bar-height));
}
/* 以下、元の /css/style.css からコピーして調整 */
#careerentry_popup .main-title,
#careerentry_popup .sub-title {
	font-weight: bold;
}
#careerentry_popup .main-title {
	color: var(--keiken-dark-blue);
	font-size: 1.5rem;	/* 24px */
}
#careerentry_popup .sub-title {
	margin-bottom: 5px;
	font-size: 1.25rem;	/* 20px */
}
#careerentry_popup .descr {
	font-size: 0.875rem;	/* 14px */
}
#careerentry_popup table {
	background-color: #ecf0f4;
	border: 1px solid #CCC;
/*	width: 535px; */
/*	margin: 0 auto; */
}
#careerentry_popup table th,
#careerentry_popup table td {
	border: 1px solid #CCC;
	padding: 3px;
	text-align: center;
}
#careerentry_popup table th {
	background-color: #93c9ff;
}
#careerentry_popup table td {
}
#careerentry_popup .ResetBtn {
	margin: 10px auto;
}
#careerentry_popup input[type="text"] {
	width: 200px;
	padding: 0 3px;
}
#careerentry_popup input[type="button"] {
	margin-top: 30px;
}



/* Contact Form Page Common
----------------------------------------------- */
/*#my-contact .entry-content, #my-inquiry .entry-content {
 *	margin: 0 0 0 calc(50% - 500px);
 *}
 *#my-contact section .wall, #my-inquiry section .wall {
 *	width: 900px;
 *	padding-left: 100px;
 *	margin: 0;
 *}
 */	/* KAZ: moved to PC media query */


/* Contact Page Components
----------------------------------------------- */
#contact_ttl {
}
#contact_ttl h2, #thanks h2 {
	color: var(--keiken-dark-blue);
	font-size: 2.5rem;	/* 40px */
	font-weight: 600;
}
#contact_ttl .descr {
	padding-bottom: 35px;
}
.required {
/*	padding-left: 1em; */	/* KAZ: c/o */
	color: #C90000;
}
#contact_table table {
	border-bottom: 0;
}
#contact_table table th, #contact_table table td {
	display: block;
}
#contact_table table th {
}
#contact_table table td {
	border-top: 0;
	padding: 5px 0 30px;
}
#contact_table table tr#your_order td {
	padding-bottom: 90px;
}
#contact_table .descr {
	margin-bottom: 50px;	/* KAZ: moved */
	padding-top: 25px;
}
.accept_line {
	text-align: center;
/*	padding-top: 50px; */	/* KAZ: moved to .descr margin */
}
#contact_tel {
	color: var(--keiken-dark-blue);
	padding: 75px 0 150px;
}
#thanks + #contact_tel {	/* JAN-2023 KAZ: added */
	padding-bottom: 20px;
}
#contact_tel .descr {
	font-size: 2.5rem;	/* 40px */
	font-weight: 600;
}
#contact_tel .telno {
	font-size: 2.8125rem;	/* 45px */
	font-weight: 500;
}
.wpcf7 form.sent .wpcf7-response-output {
/*	border-color: var(--keiken-dark-blue) !important; */
/*	line-height: 1.5; */	/* KAZ */
/*	color: var(--keiken-dark-blue);
 *	font-size: 1.25rem;
 *	text-align: center;
 */	/* JAN-2023 KAZ */
	display: none !important;
}

#my-inquiry .entry-title,
#my-c_thanks .entry-title,	/* Aki added */
#my-i_thanks .entry-title {	/* JAN-2023 KAZ: added */
	font-size: 4.0625rem;	/* 65px */
}

/* contact form  */
#contact_table .wpcf7-list-item {
	padding-right: 1em;
}
#contact_table input[type=text], #contact_table input[type=email], #contact_table textarea,
#contact_table .wpcf7-form-control-wrap[data-name="your-birthplace"],
#contact_table .wpcf7-form-control-wrap[data-name="your-age"],
#contact_table .wpcf7-form-control-wrap[data-name="your-jobtype"],
#contact_table .wpcf7-form-control-wrap[data-name="your-workplace"],
#contact_table .wpcf7-form-control-wrap[data-name="your-situation"],
#contact_table .wpcf7-form-control-wrap[data-name="how-do-you-reach-us"] {
	background: var(--keiken-bg-gray);
}
#contact_table input[type=text], #contact_table input[type=email], #contact_table textarea, #contact_table select {
	width: 100%;
	border: 0;
	padding: 13px 22px;	/* KAZ: was 13px */
}
#contact_table input[type=text], #contact_table input[type=email] {
}
#contact_table textarea {
	height: 120px;
}
#contact_table textarea[name="your-qualifications"] {
	line-height: 1.5;	/* NOV-2022 KAZ: ChkHTML */
}
#contact_table textarea[name="your-career"] {
	height: 216px;
}
#contact_table .wpcf7-form-control-wrap[data-name="your-birthplace"],
#contact_table .wpcf7-form-control-wrap[data-name="your-age"],
#contact_table .wpcf7-form-control-wrap[data-name="your-jobtype"],
#contact_table .wpcf7-form-control-wrap[data-name="your-workplace"],
#contact_table .wpcf7-form-control-wrap[data-name="your-situation"],
#contact_table .wpcf7-form-control-wrap[data-name="how-do-you-reach-us"] {
	display: block;
	position: relative;
}
#contact_table .wpcf7-form-control-wrap[data-name="your-birthplace"]::before,
#contact_table .wpcf7-form-control-wrap[data-name="your-age"]::before,
#contact_table .wpcf7-form-control-wrap[data-name="your-jobtype"]::before,
#contact_table .wpcf7-form-control-wrap[data-name="your-workplace"]::before,
#contact_table .wpcf7-form-control-wrap[data-name="your-situation"]::before,
#contact_table .wpcf7-form-control-wrap[data-name="how-do-you-reach-us"]::before {
	display: block;
	position: absolute;
	width: 30px;
	height: 16px;
	top: 24px;
	right: 28px;
	line-height: 0;
	content: url(/images/arrow_form_select.svg);
}
#contact_table select {
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	position: relative;
	z-index: 1;
	line-height: 2;
}
form.wpcf7-form p.buttons-area-confirm, .buttons-area {
	text-align: center;
}
input[type=button], input[type=submit], input[type=reset], button {
	background: white;
	border: solid 2px;
	color: var(--keiken-dark-blue);
}
input[type=button], input[type=submit], button {
	min-width: 150px;
	padding: 6px 20px;	/* Aki was 6px 7px */
}
input[type=reset] {
	min-width: 100px;
	padding: 3px 7px;
}
@media (any-hover: hover) {
	.button-confirm:hover, .wpcf7-submit:hover, .button-rewrite:hover, input[type=button]:hover, input[type=reset]:hover {
		background: var(--keiken-dark-blue);
		color: white;
	}
}


/* Privacy Page Components
----------------------------------------------- */
ul.tab_menu#privacy_tab_menu li a {
	width: 441px;
}
#my-privacy section .detail_wrapper h3 {
	background: linear-gradient(to right, #163275 201px, #F0F3F4 201px);
}
#my-privacy section .detail_wrapper h3 .inner {
	width: 201px;
}
#my-privacy section .detail_wrapper .wrap {
	border-bottom: 0;
	padding-bottom: 5px;
}
#my-privacy .descr.ceo {
	overflow: hidden;
	width: 850px;
	font-size: 0.875rem;	/* 14px */
	line-height: 1.85;
	padding-top: 50px;
}
#my-privacy .descr.ceo div:not(.sptel) {
	float: right;
}
#my-privacy table {
	width: 800px;
	border-bottom: solid 2px var(--keiken-bg-gray);
	/*margin-top: 30px;*/
}
#my-privacy table th, #my-privacy table td {
	border-top: solid 2px var(--keiken-bg-gray);
	padding: 12px 0;
}
#my-privacy table tr.first th, #my-privacy table tr.first td {
	border-top: 0;
}
#my-privacy table th {
	width: 210px;
	text-align: center;
}
#my-privacy table td {
	line-height: 1.5;
	padding-left: 29px;
}
#privacy1 .intro .imgonly.left {
	float: left;
	padding-right: 30px;
}
#privacy1 .intro ol {
	width: 800px;
	line-height: 1.5;
	padding: 35px 0 80px 190px;
}
#privacy1 .intro ol li {
	padding-left: 5px;
}
#privacy1 .intro ol li:first-child {
	padding-bottom: 25px;
}
#privacy1 .intro ol li::marker {
	color: var(--keiken-blue);
	font-family: 'Barlow', sans-serif;
	font-size: 1.875rem;
	font-weight: 500;
}
#privacy1 .intro ol li span {
	vertical-align: super;
}
#privacy2 .intro {
	padding-bottom: 35px;
}
#my-privacy #privacy2 .descr.ceo {
	padding-top: 10px;
}
#my-privacy #privacy2 b.ofuse {
	display: block;
	padding-top: 10px;
}
#my-privacy #privacy2 table.ofuse {
	margin-top: 3px;
	margin-bottom: 5px;
}
#my-privacy #privacy2 table.ofuse th,
#my-privacy #privacy2 table.ofuse td {
	line-height: 1.25;
	padding: 15px 0;
}
#my-privacy #privacy2 table.ofuse thead td {
	text-align: center;
}
#my-privacy #privacy2 table.ofuse th {
	width: 190px;
	border-right: solid 2px #F0F3F4;
}
#my-privacy #privacy2 table.ofuse tbody th {
	text-align: left;
	padding-left: 20px;
}
#my-privacy #privacy2 table.ofuse tbody td {
	padding-left: 26px;
}


/* =Responsive
----------------------------------------------- */
/* Special breakpoint for Admin-bar */
@media screen and (min-width: 783px) {
}

/* Special breakpoint for Admin-bar */
@media screen and (max-width: 782px) {
}

/* General breakpoint for PC */
@media print, screen and (min-width: 768px) {
	.sponly {
		display: none !important;
	}

	/* =Structure
	----------------------------------------------- */
	#main #primary.nosidebar {	/* NOV-2022 KAZ: moved */
		background: linear-gradient(to right, #F0F3F4 0% calc(50% - 500px), transparent calc(50% - 500px) 100%);
	}


	/* Header
	----------------------------------------------- */
	#masthead {	/* Aki added */
		width: 100%;
		padding-left: 25px;
	}
	h1#headlogo,
	div#headlogo a {	/* KAZ */
		padding-top: 16px;	/* NOV-2022 KAZ: 22px in design */
	}


	/* =Content
	----------------------------------------------- */
	.page-header, .entry-header {
		background: linear-gradient(to right, white 0% calc(50% - 500px), transparent calc(50% - 500px) 100%);
		padding-bottom: 55px;
	}


	/* Front Page Components
	----------------------------------------------- */
	#top_catchcopy {
		height: 527px;
		padding-top: 122px;
	}
	#top_catchcopy h2 .en {
		line-height: 1.333;
		font-size: 7.5rem;	/* 120px */
	}
	#top_catchcopy h2 .ja {
		font-size: 2.25rem;	/* 36px */
	}
	#top_development {
		position: relative;
		padding-top: 30px;
	}
	#top_development::before {
		background: linear-gradient(to right, var(--keiken-light-green) 0 calc(50% - 200px), transparent calc(50% - 200px) calc(50% - 150px), var(--keiken-blue) calc(50% - 150px) calc(50% + 150px), transparent calc(50% + 150px) calc(50% + 200px), var(--keiken-light-blue) calc(50% + 200px) calc(50% + 500px), transparent calc(50% + 500px) 100%);
		position: absolute;
		height: 256px;
		top: 0;
		left: 0;
	}
	#top_development .box {
		background: url(/images/top_development_bg.jpg) no-repeat right bottom / cover;
		position: relative;
		width: calc(50% + 500px);
		height: 390px;
		margin-left: calc(50% - 500px);
		padding: 40px 65px;
	}
	#top_development .box h2 {
		margin-bottom: 39px;
	}
	#top_development .box .descr {
		margin-bottom: 29px;
	}
	#top_development .box .readmore {
	}
	#top_development .box .readmore a {
		padding-right: 80px;
		line-height: 53px;
		font-size: 2rem;	/* 32px */
	}
	#top_services {
	}
	#top_services .wall {
		padding-top: 51px;
	}
	#top_services h2 {
		margin-bottom: 28px;
	}
	#top_services h2 .en {
		line-height: 1.333;
	}
	#top_services h2 .ja {
		line-height: 1;
	}
	#top_services .descr {
		margin-bottom: 63px;
		line-height: 1.889;	/* 34px */
		font-size: 1.125rem;	/* 18px */
	}
	#top_services ul.service_menu {
		justify-content: space-between;
		margin: 0 0 -147px;
	}
	#top_services ul.service_menu li {
		width: 300px;
	}
	#top_services ul.service_menu li a {
		height: 286px;
		padding: 30px 25px 0;
	}
	#top_services ul.service_menu li a span.title {
		margin-bottom: 19px;
	}
	#top_services ul.service_menu li a span.summary {
		min-height: 96px;
	}
	#top_recruit {
		background: white url(/images/bg_pattern_gray_top.png) no-repeat left calc(50% + 606px) top -297px;
		height: 875px;
		z-index: 1;
	}
	#top_recruit > .wall {
		padding-top: 287px;
	}
	#top_recruit h2,
	#top_recruit .descr,
	#top_recruit .entry .wall {
		padding-right: 666px;
	}
	#top_recruit h2 {
		margin-bottom: 10px;
		line-height: 1.5;	/* 120px */
		font-size: 5rem;	/* 80px */
	}
	#top_recruit .descr {
		margin-bottom: 32px;
		line-height: 1.75;	/* 28px */
	}
	#top_recruit .entry {
		background-color: var(--keiken-blue);
	}
	#top_recruit .entry .wall {
	}
	#top_recruit .entry .wall a {
		display: inline-block;
		line-height: 1.333;	/* 80px */
	}
	#top_recruit .overlay {
		top: -95px;
		left: calc(50% - 151px);
	}
	#top_recruit .marquee,
	#top_recruit .marquee .inner {
		height: 250px;
	}
	#top_recruit .marquee .inner {
		line-height: 250px;
		font-size: 13.75rem;	/* 220px */
	}
	#top_recruit .marquee .inner span.item {
/*		width: 100vw; */
		min-width: 50vw;	/* NOV-2022 KAZ: per request; was calc(50vw + 1075px) */
		padding-left: 0.5em;	/* NOV-2022 KAZ: per request; was calc(50vw - 500px) */
	}
	#top_information {
		background: white url(/images/bg_pattern_gray_top.png) no-repeat left calc(50% - 376px) bottom -154px;
		padding: 40px 0 121px;
	}
	#top_information::before {
		background-color: var(--keiken-light-gray);
		display: block;
		position: absolute;
		width: 118px;
		height: 118px;
		top: 0;
		left: calc(50% - 555px);
		content: '';
	}
	#top_information .wrapper {
		display: flex;
/*		flex-wrap: wrap; */
		position: relative;
		width: var(--keiken-wall-width);
		z-index: 10;
		margin: 0 auto;
	}
	#top_information .wrapper .wrap {
		width: 50%;
		height: 500px;
		padding: 40px 0 0 59px;
	}
	#top_information .wrapper .wrap#corporate {
		background: url(/images/bg_corporate.png) no-repeat center / cover;
	}
	#top_information .wrapper .wrap#policy {
		background: url(/images/bg_policy.png) no-repeat center / cover;
	}


	/* Corporate Page Components
	----------------------------------------------- */
	section#message .wall {
		padding-left: 240px;
	}

	/* Privacy Page Components
	----------------------------------------------- */
	#my-privacy #privacy2 table.ofuse tbody th.lines,
	#my-privacy #privacy2 table.ofuse tbody td.lines {
		padding-top: 5px;
		padding-bottom: 5px;
	}

	/* Career Page Components
	----------------------------------------------- */
	/* 一覧 */
	#my-career .career_message {	/* KAZ: moved */
		padding-left: 100px;
		margin: 0 0 0 calc(50% - 500px);
	}

	/* 個別 */
	#my-career article.single,
	/* #career_single_flow, */
	#my-career #nav-single {	/* KAZ: moved */
		padding-left: 100px;
		margin: 0 0 0 calc(50% - 500px);
	}


	/* Career Entry Form Page Components
	----------------------------------------------- */
	#careerentry_main .wall,
	#my-r_thanks section .wall {	/* JAN-2023 KAZ: added */
		width: 798px;
	}


	/* Contact Form Page Common
	----------------------------------------------- */
	#my-contact .entry-content,
	#my-inquiry .entry-content,	/* KAZ: moved */
	#my-c_thanks .entry-content,	/* Aki added */
	#my-i_thanks .entry-content {	/* JAN-2023 KAZ: added */
		margin: 0 0 0 calc(50% - 500px);
	}
	#my-contact section .wall,
	#my-inquiry section .wall,	/* KAZ: moved */
	#my-c_thanks section .wall,	/* Aki added */
	#my-i_thanks section .wall {	/* JAN-2023 KAZ: added */
		width: 900px;
		padding-left: 100px;
		margin: 0;
	}
}


/* General breakpoint for SP */
@media screen and (max-width: 767px) {
	a.current img /* , .transbtn:hover, a:hover img */ {
		opacity: 1;
		filter: none;
	}
	.pconly {
		display: none !important;
	}


	/* Header
	----------------------------------------------- */
	h1#headlogo,
	div#headlogo a {	/* KAZ */
		padding-top: 11px;
	}
	#headlogo img {	/* KAZ */
		width: 170px;
		height: auto;
	}
	#headmenu {
		padding-top: 55px;
	}
	#headmenu .inner {	/* KAZ */
		height: calc(var(--viewheight) - 55px);
		overflow-y: auto;
	}
	.admin-bar #headmenu .inner {	/* KAZ */
		height: calc(var(--viewheight) - var(--wp-admin-bar-height) - 55px);
	}
	#headmenu ul li a, #headmenu ul.sub_menu li {
		font-size: 0.875rem;	/* 14px */
	}
	#headmenu ul.sub_menu {
		padding-left: 18px;	/* NOV-2022 KAZ: ChkHTML; was 1.5em */
	}
	#headmenu ul.sub_menu li a,
	#headmenu ul.sub_menu li.nolink {	/* DEC-2022 KAZ: added */
		padding-bottom: 1px;
	}
	#headmenu ul.sub_menu li:not(.head_menu) a {
/*		margin-left: -0.5em; */
	}
	#headmenu ul.sub_menu.left_menu {
		width: 44%; /* 50% -> 44% viex.koba */
		float: left;
/*		margin-right: 1.5em; 12.2022 Aki c/o */
	}
	#headmenu ul.sub_menu.right_menu {
/*		padding-left: 50%; 12.2022 Aki c/o */
		overflow: hidden;	/* 12.2022 Aki added */
	}
	#headmenu ul.wrap {
		float: none;
		width: 100%;
	}
	#headmenu ul.wrap:not(:last-child) {
		margin-right: 0;
	}
	#headmenu ul.sub_menu li.head_menu {
		margin-left: -18px;	/* NOV-2022 KAZ: ChkHTML */
	}
	#headmenu ul#service li.nochild.development {
		border-bottom: solid 1px white;
		margin-top: 20px;	/* NOV-2022 KAZ: ChkHTML */
	}
	#headmenu ul#service li.nochild.development a {
		background-position: center left 4.8em;
		padding: 28px 0;
	}
	#headmenu ul.wrap#aboutus {
		display: flex;
		/* border-bottom: solid 1px white; */
		padding-bottom: 20px;
	}
	#headmenu ul.wrap#aboutus > li {
		width: 40%; /* 50% -> 44% viex.koba / 01.2023 44% -> 40% MTL Aki */
	}
	#headmenu ul.wrap#aboutus > li:nth-child(2) {
		width: 60%; /* 50% -> 56% viex.koba / 01.2023 56% -> 60% MTL Aki */
	}
	#headmenu ul.wrap#aboutus > li:nth-child(2) {
		padding-top: 2.9em;
	}
		#headmenu ul.wrap#service, #headmenu ul.wrap#recruit {
		padding-top: 20px;
	}
		#headmenu ul.wrap#recruit > li:nth-child(2) {
		overflow: hidden;
	}
		#headmenu ul.wrap#service li ul.sub_menu > li {
	}
		#headmenu ul.wrap#service li ul.sub_menu > li:nth-child(3), #headmenu ul.wrap#service li ul.sub_menu > li:nth-child(4) {
/*		margin-left: 0.3em; 12.2022 Aki c/o */
	}
	#headmenu ul.sub_menu#new_grads {
		float: left;
		width: 48%;	/* Aki added */
	}
	#headmenu ul.sub_menu#new_grads li.head_menu {	/* 12.2022 AKi added */
		padding-top: 1em;
	}
	#headmenu ul.sub_menu#career_menu {
/*		padding-left: 56%;
*		margin-top: -2.4em; Aki c/o */
		padding-top: 2.7em;	/* 12.2022 Aki added */
	}
	#headmenu ul.sub_menu li#career {
		padding-top: 0;
	}
	#headmenu ul li.noborder {
		clear: both;
	}
	#headmenu ul.wrap#recruit li a.parent_menu {
		background-position: top 10px left 4.8em;
		padding-bottom: 10px;
	}
	#headmenu ul.wrap#recruit li:nth-last-child(4) a.parent_menu {
		background-position: top 44px left 12.8em;	/* NOV-2022 KAZ: ChkHTML; top was 50px */
		padding-top: 44px;	/* NOV-2022 KAZ: ChkHTML; was 50px */
	}
	#headmenu ul.wrap#recruit li:nth-last-child(3) a.parent_menu {
		background-position: center left 8.8em;
	}
	#headmenu ul.wrap#recruit li:nth-last-child(2) a.parent_menu {
		background-position: center left 13.8em;
	}
	#headmenu ul.wrap#recruit li:last-child a.parent_menu {
		background-position: center left 6.8em;
	}


	/* Content
	----------------------------------------------- */
	body:not(#my-top) #page {
		background: white url(/images/sp/bg_pattern_gray.png) no-repeat top -45px left 0px;	/* NOV-2022 KAZ: was url(https://keikens.xsrv.jp/...) */
	}
	#my-policy #page,
	#my-services #page,
	#my-privacy #page {	/* KAZ */
		background-position: top -272px left 236px !important;	/* top -292px in design */
	}
	.page-header, .entry-header {
/*		padding-bottom: 0; */
	}
	.page-title, .entry-title {
		font-size: 3.125rem;	/* 50px */
		padding-bottom: 50px;	/* 12.2022 Aki added */
	}
	.page-title .en, .entry-title .en {
		display: block;	/* NOV-2022 KAZ: ChkHTML */
		padding: 0.1em 0;	/* NOV-2022 KAZ: ChkHTML */
		line-height: 1;
	}
	.page-title .ja, .entry-title .ja {
		display: block;
		font-size: 1.25rem;	/* 20px */
		padding-top: 5px;
		padding-left: 0;
	}
	#breadcrumbs {
		padding-top: 40px;
		padding-bottom: 5px;
	}
	.entry-content h2 {
		text-align: center;
	}


	/* Footer 
	----------------------------------------------- */
	#ft_contact {
		background-image: url(/images/sp/bg_pattern_black.png);
/*		height: 200px; */
	}
	#ft_contact a {
		background-position: center bottom 20px;	/* KAZ */
		height: 200px;	/* KAZ */
		padding-top: 24px;	/* KAZ */
		font-size: 3.125rem;	/* 50px */
	}
	#ft_contact a.recruit {	/* KAZ */
		height: 240px;
	}
	#ft_contact a .ja {
		margin-top: 10px;	/* KAZ: was -25px */
	}
	#ft_links {
		padding: 45px 0 65px;
	}
	#ft_links .logo_wrap {
		float: none;
		text-align: center;
	}
	#ft_links .logo_wrap .descr {
		padding-top: 10px;
	}
	#ft_links .logo_wrap .ft_add, ul#footmenu {
		display: none;
	}


	/* Tab menu Components
	----------------------------------------------- */
	.tab_wrapper::before {
		content: none;
	}
	.tab_menu_wrapper {
		overflow-x: auto;
	}
	ul.tab_menu {
		align-items: stretch;
		background: white;
		padding-left: 5.33%;
		padding-bottom: 5px;	/* 12.2022 Aki added */
/*		width: 500px; */	/* DEC-2022 KAZ: moved to ul.tab_menu#services_tab_menu; Aki added */
	}
	ul.tab_menu li {
		border-left: solid 3px #D8D8D8;	/* KAZ 12.2022 Aki was 1px */
/*		width: 25%; Aki c/o */
		flex-shrink: 0;
	}
	ul.tab_menu li:not(:last-child) {
/*		border-right: solid 1px #D8D8D8; */
		margin-right: 0;
	}
	ul.tab_menu li.ui-tabs-active {
		border-left-color: var(--keiken-dark-blue);	/* KAZ */
	}
	ul.tab_menu li a {
		background: white;
		display: flex;	/* KAZ */
		align-items: center;	/* KAZ */
		width: auto;
		height: 100%;
		min-height: 40px;
		padding: 2px 10px 2px 5px;	/* KAZ: was 0 10px 0 5px */
		font-size: 0.875rem;	/* 14px */
/*		font-weight: 400; */	/* DEC-2022 KAZ: c/o per request */
		text-align: left;
		vertical-align: sub;
	}
	ul.tab_menu li a.single {
		padding-top: 2px;	/* KAZ: was 0 */
	}
	/* ul.tab_menu li a:hover, */
	ul.tab_menu li.ui-tabs-active a {
		background: white;
		color: var(--keiken-dark-blue);
/*		font-weight: 500; */	/* DEC-2022 KAZ: c/o per request */
	}


	/* Front Page Components
	----------------------------------------------- */
	#top_catchcopy {
		height: calc(100vh - 60px);	/* NOV-2022 KAZ: ChkHTML; was calc(var(--viewheight) - 60px) */
		padding-top: max(calc(100vh / 2 - 190px), 40px);	/* NOV-2022 KAZ: ChkHTML; was max(calc(var(--viewheight) / 2 - 190px), 40px) */
	}
	.admin-bar #top_catchcopy {
		height: calc(100vh - var(--wp-admin-bar-height) - 60px);	/* NOV-2022 KAZ: ChkHTML; was calc(var(--viewheight) - var(--wp-admin-bar-height) - 60px) */
		padding-top: max(calc((100vh - var(--wp-admin-bar-height)) / 2 - 190px), 30px);	/* NOV-2022 KAZ: ChkHTML; was max(calc((var(--viewheight) - var(--wp-admin-bar-height)) / 2 - 190px), 30px) */
	}
	#top_catchcopy h2 .en {
		margin-bottom: 16px;
		line-height: 1;
		font-size: 3.75rem;	/* 60px */
	}
	#top_catchcopy h2 .ja {
		padding-left: 0.7em;
		font-size: 1.75rem;	/* 28px */
	}
	#top_development {
		background: white url(/images/sp/top_development_bg.jpg) no-repeat right bottom / auto 269px;
		padding: 38px 0 305px;
	}
	#top_development::before {
		background: linear-gradient(to right, var(--keiken-light-green) 0 33.33%, var(--keiken-blue) 33.33% 66.67%, var(--keiken-light-blue) 66.67% 100%);
		width: var(--keiken-wall-width);
		height: 12px;
		margin: 0 auto 5px;
	}
	#top_development .box {
		width: var(--keiken-wall-width);
		margin: 0 auto;
	}
	#top_development .box h2 {
		margin-bottom: 17px;	/* NOV-2022 KAZ: ChkHTML; was 24px */
	}
	#top_development .box .descr {
		margin-bottom: 17px;	/* NOV-2022 KAZ: ChkHTML; was 27px */
	}
	#top_development .box .readmore {
		text-align: center;
	}
	#top_development .box .readmore a {
		background-position: right center;
		background-size: 40px 40px;
		padding-right: 44px;
		line-height: 40px;
		font-size: 1.75rem;	/* 28px */
	}
	#top_services {
		background-color: var(--keiken-deepdark-blue);
	}
	#top_services .wall {
		padding-top: 46px;
	}
	#top_services h2 {
		margin-bottom: 38px;
	}
	#top_services h2 .en {
		font-weight: 500;
	}
	#top_services .descr {
		margin-bottom: 39px;
		line-height: 1.875;	/* 30px */
		text-align: left;
	}
	#top_services ul.service_menu {
		flex-direction: column;
		margin: 0 0 -112px;
	}
	#top_services ul.service_menu li {
	}
	#top_services ul.service_menu li:not(:first-child) {
		margin-top: 34px;
	}
	#top_services ul.service_menu li a {
		padding: 25px 20px 100px;
	}
	#top_services ul.service_menu li a span.title {
		margin-bottom: 10px;
	}
	#top_services ul.service_menu li a span.summary {
	}
	#top_recruit {
		background-color: white;
	}
	#top_recruit > .wall,
	#top_recruit .entry {
		position: relative;
		z-index: 1;
	}
	#top_recruit > .wall {
		padding-top: 147px;
	}
	#top_recruit h2 {
		margin-bottom: 18px;
		line-height: 1.511;	/* 68px */
		font-size: 2.8125rem;	/* 45px */
	}
	#top_recruit .descr {
		margin-bottom: 318px;
		line-height: 1.875;	/* 30px */
	}
	#top_recruit .entry {
		background: linear-gradient(to right, var(--keiken-blue) 0%, var(--keiken-dark-blue) 100%);
		width: 86.67%;
		margin: 0 auto;
	}
	#top_recruit .entry .wall {
		width: 100%;
	}
	#top_recruit .entry .wall a {
		background-position: left calc(50% + 103px) center;
		display: block;
		height: 75px;
		line-height: 1.167;	/* 70px */
		text-align: center;
	}
	#top_recruit .overlay {
		top: 218px;
		left: 6.67vw;
	}
	#top_recruit .overlay img {
		width: 495px;
		height: auto;
	}
	#top_recruit .marquee,
	#top_recruit .marquee .inner {
		height: 136px;
	}
	#top_recruit .marquee .inner {
		line-height: 136px;
		font-size: 6.875rem;	/* 110px */
	}
	#top_recruit .marquee .inner span.item {
		padding: 0 6.67vw;
	}
	#top_information {
		background-color: white;
		margin-top: -20px;
	}
	#top_information .wrapper {
		padding-bottom: 39px;
	}
	#top_information .wrapper .wrap {
		height: 359px;
		padding: 20px 10vw;
	}
	#top_information .wrapper .wrap#corporate {
		background: url(/images/sp/bg_corporate.jpg) no-repeat center / cover;
	}
	#top_information .wrapper .wrap#policy {
		background: url(/images/sp/bg_policy.jpg) no-repeat center / cover;
	}


	/* Development Page & Career Page Components
	----------------------------------------------- */
	/* 一覧 */
	.list_wrapper {
		background-color: white;	/* KAZ */
		display: block;
		width: var(--keiken-wall-width);
		padding-left: 0;
		padding-top: 10px;
		margin-left: auto;
		margin-right: auto;
	}
	article.development.list {
		margin: 0 auto 40px;	/* DEC-2022 KAZ: bottom was 0 */
	}
	article.development.list:not(:nth-of-type(3n)) {
		margin-right: auto;
	}
	article.development.list h2.entry-title {
		min-height: auto;
	}
	article.development.list h2.entry-title .sponly {	/* 01.2023 Aki added */
		display: none;
	}

	/* 個別 */
	article.development.single, #my-development #content #nav-single {
		background-color: white;	/* KAZ: was transparent */
		width: 100%;
		margin-left: 0;
	}
	article.development.single .entry-header, article.development.single .entry-content {
		padding-left: 0;
		margin: 0 auto;
	}
	article.development.single .entry-header {
		width: var(--keiken-wall-width);
		padding-bottom: 25px;
	}
	#my-development.single h1 {
		padding-bottom: 0px;
	}
	article.development.single h2 {
		width: 100%;
/*		text-align: center; 01.2023 Aki c/o */
		padding-top: 15px;
	}
	article.development.single h2 .en {
		font-size: 3.125rem;	/* 50px */
	}
	article.development.single h2 .ja {
		/*font-size: 1.25rem;*/	/* 20px 12.2022 Aki was 1.125rem */
		font-size: 1.5rem;
		font-weight: 600;
		line-height: 1.1;
		padding-top: 15px;
	}
	article.development.single .develoment_excerpt {
		font-size: 1.125rem;
		line-height: 1.1;
		background: linear-gradient(to right, #163275 0 89.3%, #F0F3F4 89.3% 100%);
		padding: 10px 0;
		margin-left: 0;
		/* margin-top: 25px; */
	}
	article.development.single .entry-content p, article.development.single .feature .wrapper {
		width: 100%;
		font-size: 0.875rem;	/* 18px */
		line-height: 1.85;
	}
	article.development.single .entry-content p, article.development.single .feature .wrapper {
		width: var(--keiken-wall-width);
		margin: 0 auto;
	}
	article.development.single .feature {
		padding-top: 40px;
	}
	article.development.single .feature .wrapper {
		padding-bottom: 10px;
	}
	article.development.single .feature .wrapper h4 {
		margin-bottom: 15px;
	}
	article.development.single .feature .wrapper .ttl {
		font-size: 1.125rem;
	}
	article.development.single .feature .wrapper .ttl::before {
		font-weight: 500;
	}
	article.development.single .feature .wrapper .descr {
		padding-top: 8px;
		padding-bottom: 10px;
	}
	article.development.single .feature .wrapper .ttl_descr_wrap {
		padding-top: 20px;	/* JAN-2023 KAZ: was 10px */
	}
	#my-development #content #nav-single {
		text-align: center;
/*		padding-top: 25px; */	/* JAN-2023 KAZ: c/o */
		padding-bottom: 70px;
	}
	article.development.single .feature .wrapper .ttl_descr_wrap ul li .ttl {	/* JAN-2023 KAZ: added */
		min-height: 40px;
	}
	article.development.single .feature .wrapper .ttl_descr_wrap ul li .descr {	/* JAN-2023 KAZ: added */
		margin-left: -50px;
	}
	article.development.single .feature .wrapper .ttl_green {
/*		padding-left: 0; */	/* JAN-2023 KAZ: c/o */
	}
	article.development.single .feature .wrapper .ttl_descr_wrap ul li .descr > .ttl_green:first-child,
	article.development.single .feature .wrapper .ttl_descr_wrap ul li .descr > table:first-child {	/* JAN-2023 KAZ: added */
		margin-top: 20px;
	}
	article.development.single .feature .wrapper table {
		width: 100%;
/*		margin-left: 0; */	/* JAN-2023 KAZ: c/o */
	}
	article.development.single .feature .wrapper td {
		padding: 5px;
	}
	article.development.single .feature .wrapper table td.center.sp_block {
		display: block;
	}


	/* Career Page Components: KAZ
	----------------------------------------------- */
	/* 一覧 */
	#my-career .career_message {
		background-color: white;
	}
	#my-career .career_message h2,
	#my-career .career_message .descr {
		width: var(--keiken-wall-width);
		margin: 0 auto;
	}
	#my-career .career_message h2 {
		padding-bottom: 30px;
		line-height: 1;
		font-size: 1.875rem;
	}
	#my-career .career_message .descr {
		line-height: 1.625;	/* 26px */
	}
	#my-career .list_wrapper article {
		border-radius: 0 0 20px 20px;
		margin-top: 30px;
	}
	#my-career .list_wrapper article .entry-header,
	#my-career article.single .entry-header {
		display: block;
	}
	#my-career .list_wrapper article .jobtype,
	#my-career article.single .entry-header .jobtype {
		display: block;
	}
	#my-career .list_wrapper article .jobtype {
		margin-top: -4px;
		padding: 2px 0;
	}
	#my-career .list_wrapper article h2.entry-title,
	#my-career article.single .entry-header h2.entry-title {
		display: block;
		text-align: center;
	}
	#my-career .list_wrapper article h2.entry-title {
		padding: 21px 0;
		line-height: 1.222;	/* 22px */
		font-size: 1.125rem;	/* 18px */
	}
	#my-career .list_wrapper article .details {
		padding: 11px 13px;
		line-height: 1.5714;	/* 22px */
		font-size: 0.875rem;	/* 14px */
	}
	#my-career .list_wrapper article .location {
		background: none;
		padding: 9px 0 10px;
		text-align: center;
	}
	#my-career .list_wrapper article .location::before {
		display: inline-block;
		margin-right: 11px;
		line-height: 1;
		vertical-align: -7px;
		content: url(/images/icon_pin.svg);
	}

	/* 個別 */
	#my-career article.single {
		background-color: white;
	}
	#my-career article.single .entry-header {
		padding: 0 0 40px;
	}
	#my-career article.single .entry-header .jobtype,
	#my-career article.single .entry-header h2.entry-title {
		width: var(--keiken-wall-width);
		margin: 0 auto;
	}
	#my-career article.single .entry-header .jobtype {
		padding: 0;
		font-size: 1.25rem;	/* 20px */
	}
	#my-career article.single .entry-header h2.entry-title {
		padding: 27px 0 0;
		line-height: 1.25;	/* 30px */
		font-size: 1.5rem;	/* 24px */
	}
	#my-career article.single h3.bg_navy_gray {
		background: linear-gradient(to right, #004CB0 0% 191px, #F0F3F4 191px 100%);
		margin-left: 5.33%;
		padding: 7px 0;
	}
	#my-career article.single h3.bg_navy_gray .inner {
		width: 191px;
	}
	#my-career article.single .descr {
		width: var(--keiken-wall-width);
		margin: 0 auto;
		padding: 11px 0 38px;
		line-height: 1.8571;	/* 26px */
		font-size: 0.875rem;	/* 14px */
	}
	#my-career #career_content {
		display: flex;
		flex-direction: column;
		width: var(--keiken-wall-width);
		margin: 0 auto;
		padding: 10px 0 20px;
	}
	#my-career #career_content h2 {
		order: 1;
		margin-bottom: 16px;
		text-align: center;
	}
	#my-career #career_content .entry-content {
		order: 3;
		line-height: 1.8571;	/* 26px */
		font-size: 0.875rem;	/* 14px */
	}
	#career_single_flow {
		order: 2;
	}
	#career_single_flow .flow {
		margin-bottom: 24px;
	}
	.btn_entry {
		order: 4;
		padding: 23px 0 20px;
		text-align: center;
	}
	.btn_entry a.linkbtn {
		padding: 3px 64px;
	}
	#my-career #nav-single {
		width: var(--keiken-wall-width);
		margin: 0 auto;
		text-align: center;
	}


	/* Fixed Page Components
	----------------------------------------------- */
	.entry-content .section-menu {
		display: none;
	}


	/* Content Page Common
	----------------------------------------------- */
	h2 .en {
		font-size: 3.125rem;	/* 50px */
	}
	h2 .ja {
	}


	/* Content Page Components
	----------------------------------------------- */
	ul.tab_menu#policy_tab_menu {
		width: calc(371px + 5.33%);	/* JAN-2023 KAZ: was 386px; DEC-2022 KAZ: added */
	}
	h3.bg_navy_gray {
		background: linear-gradient(to right, #163275 89.33%, #F0F3F4 89.33%);
	}
	#my-policy section, #my-services section, #my-privacy section {
		padding-top: 27px;
		padding-left: 0;
	}
	#my-policy h2, #my-services h2 {
		padding-bottom: 0;
	}
	#my-policy h2 .en, #my-policy h2 .ja, #my-services h2 .en, #my-services h2 .ja {
		display: block;
		padding-left: 0;
	}
	#my-policy h2 .ja, #my-services h2 .ja {
		font-size: 1.125rem;	/* 18px */
	}
	#my-policy .intro_text, #my-services .intro_text, #my-policy section .descr, #my-policy section .ttl, #my-services section .descr, #my-privacy section .descr, #my-privacy section .descr.ceo {
		width: var(--keiken-wall-width);
		margin: 0 auto;
	}
	#my-policy .intro_text, #my-services .intro_text, #my-policy section .descr, #my-services section .descr {
		font-size: 0.875rem;	/* 14px */
	}
	#my-policy .descr.left, #my-services .descr.left {
		float: none;
		padding-right: 0;
	}
	#my-policy #policy_csr .descr.left {	/* 12.2022 Aki added */
		letter-spacing: -0.03em;
	}
	#my-policy .intro_text .descr {
		width: 100%;
	}
	#my-policy .intro_text .imgonly, #my-services .intro_text .imgonly {
		text-align: center;
		padding-top: 10px;
	}
	#my-policy section .detail_wrapper, #my-services section .detail_wrapper {
		padding-bottom: 50px;
	}
	#my-policy section .detail_wrapper .wrap, #my-services section .detail_wrapper .wrap, #my-privacy section .detail_wrapper .wrap {
		width: 94.67%;
		padding: 0 0 20px 50px;
		margin-left: auto;
	}
	#my-policy section .detail_wrapper .wrap .ttl, #my-services section .detail_wrapper .wrap .ttl, #my-privacy section .detail_wrapper .wrap .ttl {
		width: 94.67%;	/* NOV-2022 KAZ */
		font-size: 1.125rem;	/* 18px */
		line-height: 1.44;
		padding-top: 20px;
		padding-bottom: 10px;
	}
	#my-policy section .detail_wrapper .wrap .descr, #my-services section .detail_wrapper .wrap .descr, #my-privacy section .detail_wrapper .wrap .descr {
		width: 94.67%;
		line-height: 1.85;
		margin: 0;
	}
	#my-policy section .detail_wrapper .wrap::before, #my-services section .detail_wrapper .wrap::before, #my-privacy section .detail_wrapper .wrap::before {
		top: 0;
	}
	#policy_basic .descr.right, #policy_environmental .descr.right {
		width: var(--keiken-wall-width);
		line-height: 1.85;
		margin-top: -55px;
	}
	#policy_environmental .descr.right {
		margin-top: 0;
	}
	#my-privacy #privacy2 b.ofuse,
	#privacy2 .descr.sp_leftmargin {	/* 12.2022 Aki */
		width: calc(94.67% + 50px)	!important;
		margin-left: -50px !important;
	}
	#my-privacy #privacy2 table.ofuse tbody th, #my-privacy #privacy2 table.ofuse tbody td {	/* 12.2022 Aki added */
		padding-left: 10px;
	}
	#my-privacy #privacy2 table:not(.nowide).ofuse th {	/* 12.2022 Aki added */
		width: 150px;
	}


	/* Corporate Page & Recruit Page Components
	----------------------------------------------- */
	#my-corporate section h2 .en, #my-corporate section h2 .ja, #my-recruit section h2 .en, #my-recruit section h2 .ja {
		display: inherit;
		padding-left: 0;
	}
	#my-corporate section h2.gap, #philosophy .wrapper, #my-recruit section h2.gap {
		background: white;
		padding-left: 0;
	}
	#my-corporate section h2 .ja {
		font-size: 1.125rem;	/* 18px */
		letter-spacing: 0.5em;
		padding-top: 5px;
	}
	section#message {
		padding: 30px 0 30px;
	}
	#message .ttl {
		font-size: 1.5rem;	/* 24px */
		text-align: center;
		border-bottom: 0;
		padding: 0;
		margin-bottom: 20px;
	}
	#message .overlay {
		position: relative;
		width: 83.58%;
		top: auto;
		right: auto;
		margin: 0 auto;
	}
	section#philosophy {
		padding-top: 65px;
	}
	section#philosophy .wall {
		background: white;
		margin-left: 0;
	}
	#philosophy h2, #profile h2, #history h2, #chart h2 {
		padding: 25px 0 15px;
	}
	#philosophy .descr.message {
		font-size: 1.375rem;	/* 22px */
		text-align: center;
		padding: 26px 0;
		margin-bottom: 25px;
	}
	#philosophy .wrapper {
		width: var(--keiken-wall-width);
		padding-bottom: 0;
		margin: 0 auto;
	}
	#philosophy .wrapper .inner {
		width: 100%;
	}
	#philosophy .wrapper .ttl {
		font-size: 1.125rem;	/* 18px */
		padding-top: 30px;
		padding-bottom: 30px;
	}
	#philosophy .wrapper .descr {
		font-size: 0.875rem;	/* 14px */
	}
	#philosophy .overlay {
		display: none;
	}
	section#profile .inner, section#history .inner, section#chart .inner {
		padding-top: 60px;
		margin-left: 0;
	}
	section#profile {
		background-image: none;
	}
	section#profile table, section#history table, #my-services table {
		width: 94.6%;
		font-size: 0.875rem;	/* 14px */
		margin-left: auto;
		position: relative;
	}
	section#profile table::before, section#history table::before, #my-services table.scene::before {
		content: "";
		display: block;
		width: 5.4%;
		height: auto;
		background: #1EBFAB;
		position: absolute;
		top: 0;
		bottom: 0;
		left: -5.4%;
	}
	section#profile table th, section#history table th, section#profile table td, section#history table td, #my-services table th, #my-services table td {
		padding: 7px 0;
	}
	section#profile table th, section#history table th, #biservice table.scene th {
		width: 22%; /* 20% -> 22% viex.koba */
		text-align: left;
	}
	section#profile table tr:first-child th, section#history table tr:first-child th, section#profile table tr:first-child td, section#history table tr:first-child td {
		border-top: 0;
		padding-top: 7px;
	}
	section#profile table tr:last-child th, section#history table tr:last-child th, section#profile table tr:last-child td, section#history table tr:last-child td {
		padding-bottom: 7px;
	}
	section#profile table td, section#history table td {
		padding-left: 11px;
		padding-right: 5.33%;
	}
	section#profile table td .add {
		float: none;
		width: auto;
	}
	section#profile table td .photo1, section#profile table td .photo2 {
/*		float: none; 01.2023 Aki c/o */
		margin-top: auto;
		margin-right: auto;
		position: relative;	/* 01.2023 Aki added */
		top: auto;	/* 01.2023 Aki added */
		right: auto;	/* 01.2023 Aki added */
	}
	section#profile table td .photo1 {
		width: 214px;
	}
	section#profile table td .photo2 {
		width: 82px;
	}
	section#profile table a.linkbtn {
		margin-top: 10px;
	}
	section#history table::before {
		background: var(--keiken-blue);
	}
	section#chart {
		padding-bottom: 0;
	}
	section#chart .imgonly {
		width: 100%;
		padding: 0 5.33% 87px;
	}


	/* Policy Page Components
	----------------------------------------------- */
	#my-policy section::after, #my-services section::after {
		content: none;
	}
	#policy_environmental .message {
		text-align: center;
		padding: 40px 5px;	/* 12.2022 Aki was 40px 20px */
		margin-left: 0;
		margin-bottom: 55px;
	}
	#policy_environmental ol {
		width: calc(var(--keiken-wall-width) - 35px);	/* KAZ: was var(--keiken-wall-width) */
		margin-left: calc(5.33% + 35px);
	}
	#policy_csr .frame {
		width: 94.6%;
		padding-left: 9px;
		padding-right: 9px;
	}


	/* Service Page Components
	----------------------------------------------- */
	ul.tab_menu#services_tab_menu {
		width: calc(483px + 5.33%);	/* JAN-2023 KAZ: was 508px; DEC-2022 KAZ: moved 12.2022 Aki was 500px */
	}
	#my-services section {
		padding-bottom: 30px;
	}
	#my-services section .detail_wrapper, #my-services .intro_text {
		padding-bottom: 30px;
	}
	#my-services .detail_wrapper h3 .inner {
		font-size: 1.125rem;	/* 18px */
		text-align: left;
		padding-left: 5.33%;
	}
	#my-services section .detail_wrapper h3 {
		margin-bottom: 20px;
	}
	#my-services section .intro_text .descr {
		width: 100%;
	}
	#my-services .detail_wrapper .imgonly.left {
		float: none;
		text-align: center;
		padding-right: 0;
		padding-bottom: 32px;
	}
	#biservice table.scene th {
		width: 22%;
		line-height: 1.5;	/* KAZ: 20px in design */
		padding-right: 10px;
	}
	#biservice table.scene td {	/* KAZ: c/o #biservice table.database td */
		padding-left: 10px;
		padding-right: 10px;
	}
	#biservice table.scene td ul li {
		text-indent: -0.6em;
		padding-left: 1em;
	}
	#biservice .detail_wrapper .ttl {
		padding-left: 5.33%;
		padding-bottom: 20px;
	}
	#biservice .detail_wrapper .ttl2 {	/* KAZ */
		display: block;
		width: var(--keiken-wall-width);
		margin-left: auto;
		margin-right: auto;
		padding: 4px 42px 4px 20px;
		line-height: 1.5;
		font-size: 1rem;
	}
	#my-services section .detail_wrapper#online_database {
		padding-bottom: 0;	/* KAZ */
	}
	#biservice table.database {
		width: var(--keiken-wall-width);
		margin: 0 auto 30px;	/* KAZ: bottom was 0 */
	}
	#biservice table.database tr,	/* KAZ: added */
	#biservice table.database th {
		display: block;
	}
	#biservice table.database tr {	/* KAZ: added */
		margin-bottom: 1.25em;
	}
	#biservice table.database th {
		position: relative;	/* KAZ */
		width: 100%;
		padding-right: 50px;	/* KAZ */
		font-size: 1rem;	/* 16px */
		text-align: left;
	}
	#biservice table.database th a.expand {	/* KAZ */
		background: url(/images/sp/btn_accordion_expand.svg) no-repeat right 18px top 12px;
		position: absolute;
		width: 100%;
		height: 38px;
		top: 0;
		left: 0;
	}
	#biservice table.database tr.expanded th a.expand {	/* KAZ */
		background: url(/images/sp/btn_accordion_collapse.svg) no-repeat right 22px top 10px;
	}
	#biservice table.database td {
		display: none;	/* KAZ */
		padding-top: 1em;	/* KAZ */
		padding-left: 0;	/* KAZ */
	}
	#biservice table.database tr.expanded td {	/* KAZ */
		display: block;
	}
	#ruby .imgonly.right {
		float: none;
		text-align: center;
		padding: 0;
	}
	#my-services section#ruby .detail_wrapper .wrap {
		width: var(--keiken-wall-width);
		padding: 10px 0 10px 50px;
		margin: 0 auto;
	}
	#ruby ul.success {
		font-size: 0.875rem;	/* 14px */
		padding-left: 0;
	}
	#ruby ul.success::before {
		width: 45px;
		height: 45px;
		line-height: 45px;
		left: -50px;
		font-size: 1rem;	/* 16px */
	}
	#bitool .intro {
		padding-bottom: 30px;
	}
	#bitool .detail_wrapper .imgonly {
		width: var(--keiken-wall-width);
		margin: 0 auto;
	}
	#my-services section#bitool .frame {
		line-height: 1.5;
		padding: 10px;
		margin-top: 20px;
	}
	#bitool .frame p {
		margin-bottom: 0;
	}
	#bitool .frame b {
		display: block;
		text-align: center;
	}
	#devflow .descr.message {
		font-size: 1.25rem;
		line-height: 1.2;	/* 12.2022 Aki added */
		padding-bottom: 10px;
	}
	#devflow .flow_list {
		width: var(--keiken-wall-width);
		padding-bottom: 55px;
		margin: 0 auto;
	}
	#devflow .flow_list .list {
		margin-right: 15px;
		margin-bottom: 10px;
	}
	#devflow .detail_wrapper .descr {
		padding-left: 0;
	}
	#my-services section#devflow .detail_wrapper h3 {
		margin-left: 0;
	}
	#devflow .detail_wrapper h3 .number {
		font-size: 1.5rem;
		line-height: 1.8;
		padding-right: 10px;
	}


	/* Recruit Page Components
	----------------------------------------------- */
	#my-recruit section h2.gap {
		padding: 0 5.33%;
		margin: 0 auto;
	}
	#my-recruit section:not(#recruit_message):not(#day) h2 {
		background: white;
		padding-left: 5.33%;
	}
	#my-recruit section:not(#recruit_message):not(#day) .wall {
		margin-left: 0;
	}
	#recruit_message {
		background-position: bottom left;
		padding: 30px 0 40px;
	}
	#recruit_message .wall {
		padding-left: 0;
	}
	#recruit_message .ttl {
		font-size: 2.1875rem;	/* 35px */
	}
	#recruit_message .descr {
		font-size: 1rem;	/* 16px */
		padding: 10px 0 35px;
	}
	#recruit_message a {
		display: block;
		width: 83.5%;
		font-size: 1.6875rem;	/* 27px */
		padding: 9px 0;
		margin: 0 auto;
	}
	#recruit_message a.career {
		margin-left: auto;
		margin-top: 28px;
	}
	#work {
		background: white;
		padding-top: 46px;	/* NOV-2022 KAZ: ChkHTML */
	}
	#work .work_wrapper {
		display: block;
		width: var(--keiken-wall-width);
		padding: 0;
		margin: 0 auto;
	}
	#work .work_wrapper .wrap {
		width: 100%;
		padding-bottom: 25px;
	}
	#work .work_wrapper .wrap:first-child {
		margin-right: 0;
	}
	#work .work_wrapper .wrap .ttl {
		text-align: center;
		padding-top: 15px;
	}
	#work .work_wrapper .wrap .descr {
		font-size: 0.875rem;	/* 18px */
		line-height: 1.85;
	}
	#education {
		padding-top: 60px;
	}
	#my-recruit section#education h2.gap {
		padding-top: 45px;
	}
	#my-recruit section h2 .ja {
		font-size: 1.125rem;	/* 18px */
		padding-top: 5px;
	}
	#education .education_wrap {
		width: var(--keiken-wall-width);
		padding: 0;
		margin: 0 auto;
	}
	#education .education_wrap .imgonly {
		float: none;
		padding-left: 0;
		padding-bottom: 12px;
	}
	#education .education_wrap .descr {
		font-size: 0.875rem;	/* 18px */
		line-height: 1.85;
	}
	#day {
		background-position: left -1000px bottom;
/*		padding: 25px 0 220px; */
		padding-top: 25px;	/* JAN-2023 KAZ: per request */
		margin-top: 0;
	}
	#day .wall {
		margin-left: 0;
	}
	#day h2 {
		float: none;
		text-align: center;
		margin-bottom: 12px;
	}
	#day .day_nav {
		display: none;
	}
	#day .day_wrapper {
		/*height: 531px;*/	/* JAN-2023 KAZ: was 550px */
	}
	#day .day_wrapper ul.slider {
		left: 5.33%;
		padding-top: 35px;
	}
	#day .day_wrapper ul.slider li .ttl {
		width: 70px;
		height: 70px;
		line-height: 70px;
		text-align: center;
		border-radius: 50%;
		top: -35px;
	}
	#day .day_wrapper ul.slider li .ttl .time {
		padding-right: 0;
	}
	#day .day_wrapper ul.slider li .ttl .text {
		display: none;
	}
	#environment {
		background: white;
		padding: 45px 0;
	}
	#environment .wall {
		padding-bottom: 0;	/* NOV-2022 KAZ: ChkHTML */
	}
	#environment .environment_wrapper {
		width: 100%;
		padding: 0;
	}
	#environment .environment_wrapper h3 {
		text-align: center;
		padding-bottom: 15px;
	}
	#environment .environment_wrapper h3::before , 	#environment .environment_wrapper h3::after {
		width: 35%;
	}
	#environment .environment_wrapper h3::before {
		position: absolute;
		top: 18px;
		content: "";
		 display: inline-block;
		background: #214DAA;
		height: 1px;
		left: 0;
	}
	#environment .environment_wrapper h3::after {
	}
	#environment .environment_wrapper .wrap,
	#environment .environment_wrapper ul,	/* KAZ: added */
	#environment .environment_wrapper#club .descr {	/* KAZ: added */
		width: var(--keiken-wall-width);
		margin: 0 auto;
		padding-bottom: 33px;	/* KAZ */
	}
	#environment .environment_wrapper .wrap .imgonly {
		float: none;
		width: 83.5%;
		padding-left: 0;
		margin: 0 auto 20px;	/* KAZ: bottom was 0 */
	}
	#environment .environment_wrapper .wrap .ttl {
		text-align: center;
		padding-bottom: 10px;
	}


	/* Newgrad Page & Newcomers Page Components: Aki
	----------------------------------------------- */
	section#intro_newgrad h2 {
		padding-bottom: 0;
		margin-bottom: 12px;
	}
/*	ul.tab_menu#recruit_tab_menu,
 *	ul.tab_menu#newgrad_tab_menu {
 *		width: 100%;
 *	}
 */	/* DEC-2022 KAZ: c/o */
	ul.tab_menu#recruit_tab_menu li.current {
		border-left-color: var(--keiken-dark-blue);
	}
	ul.tab_menu#recruit_tab_menu li a {
		width: auto;
		font-weight: 400;
	}
	ul.tab_menu#recruit_tab_menu li a:hover, ul.tab_menu#recruit_tab_menu li a.current {
		color: var(--keiken-dark-blue);
		font-weight: 500;
		background: white;
	}
	ul.tab_menu#newgrad_tab_menu li.ui-tabs-active {
		border-left-color: var(--keiken-light-green);
	}
	ul.tab_menu#newgrad_tab_menu li a {
		color: black;
		width: auto;
		height: auto;	/* Aki was 38px */
		font-size: 0.875rem;	/* 14px */
		font-weight: 400;
		background: white;
		padding: 0 0 0 6px;
	}
	ul.tab_menu#newgrad_tab_menu li a:hover, ul.tab_menu#newgrad_tab_menu li.ui-tabs-active a {
		color: var(--keiken-light-green);
		background: white;
		font-weight: 500;
	}
	#newgrad_btn_wrap {
		padding: 35px 0 30px;
	}
	#newgrad_btn_wrap .btn_entry a.linkbtn {	/* DEC-2022 KAZ: added */
		line-height: 1.5;
		padding: 12px calc(50% - 145px);
	}

	/* Newgrad Page */
	section#intro_newgrad {
		padding: 15px 0 25px;
	}
	section.newgrad_sec .wall {
		margin-left: auto;
	}
	section.newgrad_sec h2 {
		font-size: 1.25rem;	/* 20px */
		padding: 25px 0;
	}
	section.newgrad_sec figure.right_wrap {
		float: none;
		margin-left: auto;
		margin-right: auto;
	}
	section.newgrad_sec .descr {
		font-size: 0.875rem;	/* 14px */
		line-height: 1.857;
		padding: 35px 0 40px;
	}
	section.newgrad_sec .descr.second_descr {
		padding: 28px 0 15px;
	}
	section.newgrad_sec#newgrad_ss .descr.second_descr,
	section.newgrad_sec#newgrad_kt .descr.second_descr {
		padding-top: 0;
		padding-bottom: 15px;
	}
	section.newgrad_sec .imgonly.left_wrap {
		float: none;
		width: 100%;
		margin-right: auto;
	}
	section.newgrad_sec#newgrad_kt .imgonly.left_wrap {
		width: 100%;
	}

	/* Newcomers Page */
	#my-newcomers ul.tab_menu#newgrad_tab_menu li a {
		width: auto;
	}
	section#intro_newgrad ul {
		display: block;
		padding: 32px 0 20px;
	}
	section#intro_newgrad ul li,
	section#intro_newgrad ul li:not(:last-child) {
		margin-right: auto;
		margin-left: auto;
	}
	section#intro_newgrad ul li {
		display: flex;
		justify-content: center;
		align-items: center;
		width: auto;
	}
	section#intro_newgrad ul li .name {
		text-align: left;
		padding-left: 13px;
	}
	section#intro_newgrad ul li:not(:last-child) {
		margin-bottom: 22px;
	}
	section#intro_newgrad ul li .imgonly {
		width: 126px;
	}
	section#intro_newgrad .descr {
		line-height: 1.5;
	}
	#my-newcomers section.newgrad_sec h2 {
		text-align: center;
		padding-bottom: 0;
	}
	section.newgrad_sec .wrap .imgonly {
		position: relative;
	}
	section.newgrad_sec .wrap table.taidan {
		width: 100%;
		font-size: 0.875rem;
		margin-top: 20px;
		margin-bottom: 0;
	}
	section.newgrad_sec .wrap table.taidan th {
		width: 55px;
	}
	section.newgrad_sec#katudou .wrap1, section.newgrad_sec#katudou .wrap4 {
		padding-top: 25px;
	}
	section.newgrad_sec#katudou .wrap2, section.newgrad_sec#katudou .wrap3,
	section.newgrad_sec#nyusya .wrap2, section.newgrad_sec#nyusya .wrap3, section.newgrad_sec#nyusya .wrap6, section.newgrad_sec#nyusya .wrap7, section.newgrad_sec#nyusya .wrap8 {
		padding-top: 15px;
	}
	section.newgrad_sec#katudou .wrap1 .imgonly,
	section.newgrad_sec#katudou .wrap2 .imgonly,
	section.newgrad_sec#katudou .wrap3 .imgonly,
	section.newgrad_sec#katudou .wrap4 .imgonly,
	section.newgrad_sec#nyusya .wrap1 .imgonly,
	section.newgrad_sec#nyusya .wrap2 .imgonly,
	section.newgrad_sec#nyusya .wrap3 .imgonly,
	section.newgrad_sec#nyusya .wrap5 .imgonly,
	section.newgrad_sec#nyusya .wrap7 .imgonly,
	section.newgrad_sec#nyusya .wrap8 .imgonly {
		width: 100%;
		min-width: initial;
		max-width: initial;
		top: auto;
		left: auto;
		right: auto;
		transform: inherit;
	}
	section.newgrad_sec#nyusya .imgwrap {
		padding: 5px 0 20px;
	}


	/* Career Entry Form Page Components: KAZ
	----------------------------------------------- */
	#careerentry_main {
		background-color: white;
	}
	#careerentry_main .wall {
	}
	#careerentry_main h1.content-title {
		margin-bottom: 30px;
		line-height: 1;
		font-size: 1.875rem;	/* 30px */
	}
	#careerentry_main .flow, #career_single_flow .flow {
		width: 335px;
		height: 56px;
	}
	#careerentry_main .flow {
		margin-bottom: 30px;
	}
	#careerentry_main .flow .innerbox, #career_single_flow .flow .innerbox {
		position: relative;
		width: 289px;
		height: 300px;
		transform-origin: left 56px;
	}
	#careerentry_main .flow .innerbox::before,
	#careerentry_main .flow .innerbox .item,
	#career_single_flow .flow .innerbox::before,
	#career_single_flow .flow .innerbox .item {
		width: 59px;
		height: 59px;
	}
	#careerentry_main .flow .innerbox::before, #career_single_flow .flow .innerbox::before {
		top: -3px;
		left: -19px;
	}
	#careerentry_main .flow .innerbox .item, #career_single_flow .flow .innerbox .item {
	}
	#careerentry_main .flow .innerbox .item:nth-child(1), #career_single_flow .flow .innerbox .item:nth-child(1) {
		top: 56px;
		left: 40px;
	}
	#careerentry_main .flow .innerbox .item:nth-child(2), #career_single_flow .flow .innerbox .item:nth-child(2) {
		top: 115px;
		left: 99px;
	}
	#careerentry_main .flow .innerbox .item:nth-child(3), #career_single_flow .flow .innerbox .item:nth-child(3) {
		top: 174px;
		left: 158px;
	}
	#careerentry_main .flow .innerbox .item:nth-child(4), #career_single_flow .flow .innerbox .item:nth-child(4) {
		top: 233px;
		left: 217px;
	}
	#careerentry_main .flow .innerbox .item .inner, #career_single_flow .flow .innerbox .item .inner {
		display: flex;
		align-items: center;
		height: 59px;
		margin: -6px 0 0 -6px;
		line-height: 1rem;
		font-size: 0.8125rem;
		text-align: left;
	}
	#careerentry_main .flow::after, #career_single_flow .flow::after {
		border: white 28px solid;
		border-left-color: transparent;
		width: 56px;
		height: 56px;
		right: -28px;
	}
	#careerentry_main .descr {
		line-height: 1.625;	/* 26px */
	}
	#careerentry_main .descr p {
		margin-bottom: 1.625em;
	}

	/* Popup */
	#careerentry_popup {
		width: var(--keiken-wall-width);
		left: 5.33%;
		padding: 20px 4%;
	}
	#careerentry_popup table th,
	#careerentry_popup table td {
		min-width: 3.5em;
		line-height: 1.5;
		vertical-align: middle;
	}
	#careerentry_popup input[type="text"] {
		width: calc(81.33vw - 7.5em);
	}


	/* Contact Page Components: KAZ
	----------------------------------------------- */
	#contact_ttl,
	#contact_table table {
		background-color: white;
	}
	#contact_ttl h2, #thanks h2, #contact_tel .descr {
		margin-bottom: 24px;
		line-height: 1;
		font-size: 1.875rem;	/* 30px */
		text-align: left;	/* NOV-2022 KAZ: ChkHTML */
	}
	#contact_table table {
		padding-bottom: 50px;
	}
	#contact_table table td,
	#contact_table table tr#your_order td {
		padding-bottom: 24px;	/* NOV-2022 KAZ: ChkHTML; was 30px */
	}
	#contact_table .descr {
		margin-bottom: 32px;
		padding-top: 0;
		line-height: 1.8571;	/* 26px */
		font-size: 0.875rem;	/* 14px */
	}
	#contact_tel {
		display: none;
	}
	#thanks + #contact_tel {	/* JAN-2023 KAZ: was #my_thanks #contact_tel, 01.2023 Aki added */
		display: block;
		padding: 50px 0 20px;	/* JAN-2023 KAZ: bottom was 50px */
	}
	#contact_tel .descr {	/* 01.2023 Aki added */
		margin-bottom: 0;
	}
	#contact_tel .telno {	/* 01.2023 Aki added */
		font-size: 2rem;
	}

	/* contact form  */
	#contact_table .wpcf7-list-item {
		display: block;
		margin-left: 0;
		padding-right: 0;
		line-height: 45px;
	}
	#contact_table input[type=text],
	#contact_table input[type=email],
	#contact_table textarea,
	#contact_table select {
		padding: 13px 18px;
	}
	#contact_table .wpcf7-list-item input[type="checkbox"] {
		width: 26px;
		height: 26px;
		vertical-align: middle;
	}

	/* Employment Inquiry */
	#my-inquiry .entry-title .en {
		margin-bottom: 16px;
	}


	/* Privacy Page Components: KAZ
	----------------------------------------------- */
	ul.tab_menu#privacy_tab_menu li a {
		width: auto;
		padding-right: 20px;
	}
	#my-privacy section .detail_wrapper {
		padding-bottom: 20px;
	}
	#my-privacy section .detail_wrapper h3 .inner {
		width: 188px;
	}
	#my-privacy section .detail_wrapper .descr {
		margin-bottom: 34px;
	}
	#my-privacy section .detail_wrapper .wrap .ttl {
		padding-top: 8px;
		padding-bottom: 4px;
	}
	#my-privacy section .detail_wrapper .wrap .descr {
		font-size: 0.875rem;	/* 14px */
	}
	#my-privacy .descr.ceo {
		padding-top: 0;
	}
	#my-privacy table {
		width: calc(94.67% + 50px);
		margin-top: 18px;
		margin-left: -50px;
	}
	#my-privacy table th,
	#my-privacy table td {
		line-height: 1.429;	/* 20px */
		font-size: 0.875rem;	/* 14px */
	}
	#my-privacy table tr.first th,
	#my-privacy table tr.first td {
		border-top: solid 2px var(--keiken-bg-gray);
	}
	#my-privacy table th,
	#my-privacy #privacy2 table.nowide.ofuse th {	/* 12.2022 Aki */
		width: 96px;
		padding: 12px;
	}
	#my-privacy .wrap:nth-child(3) table th {
		vertical-align: middle;
	}
	#my-privacy table td {
		padding: 12px 0 12px 16px;	/* NOV-2022 KAZ: ChkHTML; was12px 16px */
	}
	#privacy1 .intro .imgonly.left {
		float: none;
		margin-bottom: 25px;
		padding-right: 0;
		text-align: center;
	}
	#privacy1 .intro ol {
		width: auto;
		margin-left: calc(35px + 5.33%);
		margin-right: 5.33%;
		padding: 35px 0 26px;
	}
	#my-privacy #privacy2 .descr.ceo {
		margin-top: -24px;
		padding-top: 0;
	}
}


/* =Print
----------------------------------------------- */
@media print {
	body {
		width: var(--keiken-body-min-width);
	}
	#menu_overlay {
		display: none !important;
	}
	#menu_open_btn,
	#headmenu {
		position: absolute;
	}
	#top_mainvisual {
/*		position: absolute;
 *		top: -60px;
 */
	}
	#top_services {
		background-color: var(--keiken-deepdark-blue);
	}
	.entry-content .section-menu.floating {
		position: absolute;
		top: -30px;
		left: calc(50% - 560px);	/* NOV-2022 KAZ: per request */
	}
	.entry-meta .edit-link a {
		display: none;
	}
	#respond {
		display: none;
	}

}

/* 2022 12 16 自社ビルアイコン */
.icon_own {
	display: inline-block;
	padding: 0.1em 0.3em;
	background-color: #163275;
	color: #fff;
	font-size: 0.8em;
	margin-left: 0.5em;
}

.error404 .entry-title {
	font-size: 2rem;
	padding: 100px 0;
}

/* SDGs,DX追加 */
@media screen and (min-width: 768px){
	#my-policy ul.tab_menu li:nth-child(3) a,
	#my-policy ul.tab_menu li:nth-child(4) a,
	#my-policy ul.tab_menu li:nth-child(5) a,
	#my-policy ul.tab_menu li:nth-child(6) a{
		width: 150px;
	}
	#my-policy ul.tab_menu li:not(:last-child) {
		margin-right: 10px;
	}
}
@media screen and (max-width: 767px){
	ul.tab_menu#policy_tab_menu {
		width: calc(475px + 5.33%);
	}
}