/*
Theme Name: nbousai'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=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;600;700&family=Barlow+Semi+Condensed:wght@600&family=Roboto:ital,wght@1,700&family=Jost:wght@900&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 */
	--nb-dark-gray: #494949;
	--nb-medium-gray: #cccccc;	/* KAZ */
	--nb-light-gray: #e9e9e9;	/* KAZ */
	--nb-pale-gray: #f2f2f2;	/* 2023.11 KAZ */
	--nb-dark-blue: #006dc5;	/* 2023.11 KAZ: was #186cbf */
	--nb-light-blue: #00b6fd;
	--nb-red: #cc0600;
	--nb-yellow: #f6d300;	/* KAZ */

	/* Font */
	font-size: 100%;	/* 16px */
}
@media print, screen and (min-width: 768px) {	/* PC */
	:root {
		/* Dimensions */
		--nb-wall-width: 1000px;
		--nb-midium-wall-width: 780px;
		--nb-small-wall-width: 680px;
		--nb-header-height: 70px;
	}
}
@media screen and (max-width: 767px) {	/* SP */
	:root {
		/* Dimensions */
		--nb-wall-width: 88%;
		--nb-midium-wall-width: 100%;
		--nb-small-wall-width: 88%;
		--nb-header-height: 60px;
	}
}
@media print, 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;
	}
}


/* =Structure
----------------------------------------------- */
body {
	padding: 0;
/*	min-width: 1000px; */	/* MTL: This should be equal to the width of content areas such as #masthead and #mainwall if the content areas should have no paddings or margins or a little wider if a margin is required between browser and the text in the content. */
/*	font-size: 100%; */
	-webkit-text-size-adjust: none;	/* KAZ: was 100% */
	text-size-adjust: none;	/* KAZ */
}
#masthead, #breadcrumbs, #mainwall .wall, /* #mainwall , #ft_links Aki c/o */
#colophon .ft_wrapper {	/* KAZ: added */
	width: var(--nb-wall-width);
	margin: 0 auto;	/* Aki added */
}
#page {
	background: #fff;
}
#primary {
	float: left;
	margin: 0;
	width: 684px;	/* Width of main area */
}
#primary.nosidebar {
	float: none;
	margin: 0 auto;
	width: 100%;
}
#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-bottom: 0.5em;	/* KAZ: ChkHTML; added */
	margin-right: 1.625em;
	 /* display: inline; */
}
.alignright {
	float: right;
	margin-bottom: 0.5em;	/* KAZ: ChkHTML; added */
	margin-left: 1.625em;
	 /* display: inline; */
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}


/* =Global
----------------------------------------------- */
body, input, textarea {
	color: black;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 2;		/* 32px @16px */
}
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 {
	position: relative;
	z-index: 9999;
/*	height: 150px; */
}
#masthead {
	height: var(--nb-header-height);
	margin: 0 auto;
}


/* =Menu
-------------------------------------------------------------- */
#headlogo,
div#headlogo a {
	height: 100%;	/* KAZ */
}
#headlogo {
	clear: both;
/*	width: 295px; */	/* KAZ: moved to PC */
/*	padding-top: 10px; */
}

#menu_open_btn,
#menu_close_btn,
#headmenu {
	top: 0;
	right: 0;
}
#menu_open_btn,
#menu_close_btn {
	background-color: var(--nb-dark-blue);
	width: var(--nb-header-height);	/* 正方形 */
	height: var(--nb-header-height);
}
#menu_open_btn {
	position: fixed;	/* KAZ: was absolute */
}
.admin-bar #menu_open_btn,
.admin-bar #headmenu {
	top: var(--wp-admin-bar-height);	/* KAZ */
}
#menu_open_btn img {
}
#menu_open_btn a,
#menu_close_btn a {
	display: block;
/*	padding: 10px 15px; */	/* KAZ: moved to PC */
}
#menu_overlay,
#headmenu {
	display: none;
}
#menu_overlay {
	background-color: rgba(0,0,0,0.3);
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}
#headmenu {
	background-color: var(--nb-dark-gray);
	position: fixed;	/* KAZ: was absolute */
}
#menu_close_btn {
	position: absolute;
	z-index: 10;
}
#headmenu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 25px 0;
	margin: 0;
}
#headmenu ul li {
	list-style-type: none;
	position: relative;
	width: 50%;	/* KAZ */
	line-height: 20px;
}
#headmenu ul li a {
	display: block;
/*	width: 160px; */	/* KAZ: c/o */
	color: white;
	font-size: 1.125rem;	/* 18px */
}
#headmenu ul li a::before, ul#footmenu li a::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 20px;
	background: url(/images/arrow_white.svg)no-repeat center /cover;
	vertical-align: middle;
	margin-right: 6px;
}

#breadcrumbs {
	margin: 0 auto;
	padding-top: 9px;	/* MAY-2023 KAZ: was 10px */
	line-height: 1.5;	/* MAY-2023 KAZ: was 1; per request */
	font-size: 0.75rem;	/* 12px */
/*	font-weight: 500; */
	text-align: right;
}
#breadcrumbs span.arrow {	/* MAY-2023 KAZ */
	display: inline-block;
	padding: 0 2px;
	color: #9fa0a0;
/*	font-size: 50%; */	/* 6px; less than the minimum size */
	transform-origin: center;
	transform: scale(0.5);
}


/* =Content
----------------------------------------------- */
#topmain, #main {
	clear: both;
	overflow: hidden;
	position: relative;
}
#topmain {
	overflow: inherit;
}
#main {
}
#mainwall {
		/* Mat c/o for slide show buttons like http://kobabo-s.com  overflow: hidden; */
	margin: 0 auto;
}
.page-title {
/*	margin: 0 0 2.6em;
	line-height: 2.6em;
	font-weight: 500;
	letter-spacing: 0.1em; Aki c/o */
}
.page-title a {
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0;
	text-transform: none;
}
.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 {
	clear: both;
	font-size: 25px;
	font-weight: bold;
	line-height: 54px;
}
.entry-title a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) { 
	.entry-title a:hover {
		color: inherit;
		text-decoration: underline;
	}
}
.entry-title img {
	vertical-align: middle;
}
.entry-title-top {
	display: none;
}
.entry-meta {
	color: #666;
	clear: both;
	font-size: 12px;
	line-height: 18px;
	text-align: right;	/* Aki */
}
.entry-meta a {
	font-weight: bold;
}
.single-author .entry-meta .by-author {
	display: none;
}
.entry-content,
.entry-summary {
/*	margin-bottom: 20px; */
}
.entry-content h1, .entry-content h2
{
	margin: 0 0 20px;
}
.entry-content h1
{
	font-size: 28px;
	height: 50px;
	line-height: 50px;
}
.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; Aki c/o */
	font-size: 12px;
	line-height: 1.5em;
	font-weight: 300;
	text-decoration: none;
	padding: 0 8px;
}
@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-top: 20px;	/* Aki was 70px */
}
#content nav a {
	color: inherit;
}
#nav-above {
	padding: 0 0 1.625em;
}
#nav-above {
	display: none;
}
.paged #nav-above {
	display: block;
}
#nav-single {	/* Aki added */
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 30px;
}
.nav-previous, .nav-next {
	font-size: 0.875rem;	/* 14px */
}
.nav-previous {
/*	float: left;
*	width: 50%; Aki c/o */
}
.nav-next {
/*	float: right;
*	text-align: right;
*	width: 50%; Aki c/o */
}
.nav-top {
	width: 110px;
	text-align: center;
	border: solid 1px #cccccc;
}
#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: solid 1px #7c7c7c;	/* was 0 */
	line-height: 1;
	width: 34px;
	height: 34px;
	padding-top: 6px;
	margin: 0 7px;
/*	min-width: 18px;
*	margin: 0 5px;
*	padding: 5px;
/*	font-size: 18px; Aki c/o */
}
#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 {
	border-color: #cccccc;
	background-color: white;	/* was #d2caba */
}
#content div.wp-pagenavi a.previouspostslink,
#content div.wp-pagenavi a.nextpostslink {
	width: auto;
	font-size: 0.75rem;	/* 12px */
	font-weight: 500;
	border: 0;
	background-color: transparent;
}
#content div.wp-pagenavi span.current {
	background-color: #7c7c7c;
	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: #7c7c7c;
		color: white;
	}
	#content div.wp-pagenavi a.previouspostslink:hover,
	#content div.wp-pagenavi a.nextpostslink:hover {
		color: black;
		background-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
----------------------------------------------- */
#side_contact {
	position: fixed;
	z-index: 8000;	/* KAZ: missing */
	color: white;
	font-weight: 500;
}
#side_contact h2 {
	background-color: var(--nb-dark-gray);
}
#side_contact .content {
	background-color: var(--nb-red);
}
#side_contact .content a {
	color: inherit;
}
#side_contact .content .phone {
}
#side_contact .content .phone .sptel,
#side_contact .content .phone .note,
#side_contact .content .email a {
	display: inline-block;
}
#side_contact .content .phone .sptel {
}
#side_contact .content .phone .sptel img.icon {
}
#side_contact .content .phone .note {
}
#side_contact .content .email {
	border-top: white 1px solid;
}
#side_contact .content .email a {
}
#side_contact .content .email a img.icon {
}
#ft_nav_top {
/*	display: none; */
	position: fixed;
	bottom: 5px;	/* KAZ: ChkHTML; was 20px */
	z-index: 9000;
	opacity: 0;
	pointer-events: none;
	transform: translateY(20px);
	transition: opacity 0.3s, transform 0.3s;
}
#ft_nav_top.show {
	opacity: 1;
	pointer-events: all;
	transform: translateY(0);
}
#ft_nav_top a {
	width: 48px;
	height: 48px;
}
#ft_nav_top a svg {
}
#ft_nav_top a svg .ring {
	transform: rotate(-90deg);
	transform-origin: center;
/*	transition: stroke-dasharray 0.3s; */
}
#colophon {
	clear: both;
	overflow: hidden;
/*	text-align: center;
*	height: 60px; Aki c/o */
	background: var(--nb-dark-gray);
	color: white;
	padding: 50px 0 15px;
}
#colophon .ft_wrapper {
	/* KAZ: moved to PC */
}
#colophon .ft_detail {
}
#ft_logo {
	width: 295px;
	height: auto;
}
#ft_add, #ft_links {
	padding-left: 57px;
}
#ft_add {
	line-height: 1.562;
	padding-top: 5px;
}
#ft_links {
	overflow: hidden;
/*	height: 30px; */
	margin: 0 auto;
}
ul#footmenu {
/*	overflow: hidden;
*	height: 30px; Aki c/o */
	width: 300px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0;
	text-align: left;
	margin: 0;
}
ul#footmenu li {
	list-style-type: none;
}
ul#footmenu li a {
	display: block;
	color: white;
	width: 140px;
}
#ft_image {
/*	width: 320px; */	/* KAZ: moved to PC */
/*	height: auto; */
}
#ft_copyright {
/*	line-height: 30px;
	height: 30px; Aki c/o */
	font-size: 0.875rem;	/* 14px */
	text-align: center;
}


/* 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;
}
.mincho {
	font-family: "Noto Serif JP", serif;
}
.acumin,
.page-title .en,	/* 2023.11 KAZ */
body.page .entry-header .entry-title .en,	/* 2023.11 KAZ */
.error404 .entry-header .entry-title .en {	/* 2023.11 KAZ */
	/* Google Fontsにある似たようなフォント */
	font-family: Roboto, sans-serif;
	font-style: italic;
	font-weight: bold;
	transform: scaleX(1.2);	/* 2023.11 KAZ: was scaleX(1.1) in .page-title .en */
}
.acumin-condensed {	/* 2023.11 KAZ: this was .acumin */
	/* Google Fontsにある似たようなフォント */
	font-family: "Barlow Semi Condensed", sans-serif;
	font-weight: 600;
}
.imgonly img {
	width: 100%;
	height: auto;
}
.linkbtn {	/* KAZ */
	background-color: white;
	border: var(--nb-medium-gray) 5px solid;
	border-radius: 30.5px;
	display: inline-block;
	width: 215px;
	line-height: 51px;
	font-weight: 500;	/* Medium */
	text-align: center;
}
a.linkbtn {	/* KAZ */
	color: inherit;
}
@media (any-hover: hover) {
	a.linkbtn:hover {	/* KAZ */
		text-decoration: none;
	}
}
.linkbtn.noborder {	/* KAZ */
	border-radius: 28px;
	width: 181px;
	line-height: 56px;
}
.linkbtn::after {	/* KAZ */
	margin-left: 9px;
	line-height: 24px;
	vertical-align: middle;
	content: url(/images/arrow_left_link.svg);
}
#mainwall section {
	position: relative;
}
h2.bar {	/* 2023.11 KAZ */
	background: url(/images/h2_bar_bg.svg) no-repeat center bottom;
	padding-bottom: 60px;
	line-height: 1.1538;	/* 30px */
	color: var(--nb-dark-blue);
	font-size: 1.625rem;	/* 26px */
	text-align: center;
}
ul.nostyle {
	list-style: none;
	margin: 0;
}
ul.flex {
	display: flex;
	flex-wrap: wrap;
}

/* 遅延表示効果:
----------------------------------------------- */
section > .wall:not(.no-slide-in),
.slide-from-bottom {	/* script.js 内の $objects のセレクターと同期が必要 */
	/* See also @media print */
	visibility: hidden;
}
.delighter.started {
	animation-duration: 1.5s;
	animation-fill-mode: both;
	animation-name: mtlSlideInFromBottom;
	animation-timing-function: ease;
	visibility: visible !important;
}
@keyframes mtlSlideInFromBottom {
	0% { opacity: 0; transform: translateY(100px); }
	100% { opacity: 1; transform: translateY(0); }
}


/* Blog & Single Page Common
----------------------------------------------- */
.page-header,
article.single .entry-header,
body.page .entry-header,	/* KAZ */
.error404 .entry-header {	/* MAY-2023 KAZ: added */
	background: linear-gradient(to bottom, var(--nb-light-blue), var(--nb-dark-blue));
}
.page-header .page-title,
article.single .entry-header .entry-title,
body.page .entry-header .entry-title,	/* KAZ */
.error404 .entry-header .entry-title {	/* MAY-2023 KAZ: added */
	color: white;
	text-align: center;
}
.page-title span,
body.page .entry-header .entry-title span,
.error404 .entry-header .entry-title span {	/* 2023.11 KAZ: added */
	display: block;
	line-height: 1;
}
.page-title .en {
/*	font-weight: 600;
 *	font-style: italic;
 *	transform: scalex(1.1);
 */	/* 2023.11 KAZ: merged to .acumin above */
/*	padding-bottom: 7px; */	/* 2023.11 KAZ: c/o */
}
.page-title .ja {
}


/* Blog Page Components
----------------------------------------------- */
#post_menu ul {
	justify-content: center;
}
#post_menu ul li {
}
#post_menu ul li a, article.list .entry-header .categories a {
	display: inline-block;
	color: white;
	background: var(--nb-dark-blue);
	text-align: center;
	text-decoration: none;
}
article.list, article.single .entry-content {
	width: var(--nb-midium-wall-width);
	margin: 0 auto;
}
article.single {
}
#my-blog .entry-content p {
	clear: both;
}
#my-blog article.list {
	border-bottom: solid 1px #cccccc !important;
}
#my-blog article.list:first-of-type {	/* listの一番上; KAZ: was :nth-child(4) */
	border-top: solid 1px #cccccc;
}
article.list .entry-header {
}
.entry-header .categories, .entry-header .categories a, .entry-header .blogdate {
	display: inline-block;
	vertical-align: top;	/* KAZ */
}
.entry-header .categories a {
	text-align: center;
	font-size: 0.8125rem;	/* 13px */
}
article.list .entry-header .categories a {
}
article.list .entry-header .blogdate {
	padding-left: 15px;
}
article.list .entry-header h2 {
	line-height: 1.625;	/* 26px; KAZ: added */
	font-size: 1rem;	/* 16px */
	font-weight: 500;
}
article.single header.entry-header {
	display: flex;	/* KAZ: moved */
	flex-direction: column;	/* KAZ: moved */
	justify-content: center;	/* KAZ: moved */
	text-align: center;
}
article.single .entry-header .categories a {
	width: 88px;
	color: black;
	background: white;
	line-height: 27px;
	font-weight: 500;
	border-radius: 6px;
}
article.single .entry-header h1 {
	width: var(--nb-wall-width);	/* KAZ */
}
article.single .entry-header .blogdate {
	color: white;
	font-size: 0.875rem;	/* 14px */
}


/* Front Page Components
----------------------------------------------- */
#top_mainvisual {
	position: relative;
	overflow: hidden;
}
#top_mainvisual .mv_img_wrapper,
#top_mainvisual .overlay {
	position: absolute;
}
#top_mainvisual .mv_img_wrapper {
	top: 0;
	left: 0;
}
#top_mainvisual .mv_img_wrapper img {
	width: auto;
}
#top_mainvisual .overlay {
	position: relative;
	font-weight: 600;	/* SemiBold */
	writing-mode: tb-rl;
}
#top_mainvisual .overlay .bg,
#top_mainvisual .overlay .bg div {
	position: absolute;
}
#top_mainvisual .overlay .bg {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0.8;
}
#top_mainvisual .overlay .bg div {
	background-color: white;
}
#top_mainvisual .overlay .bg .bg1 {
	top: 0;
	right: 0;
}
#top_mainvisual .overlay .bg .bg2 {
	left: 0;
}
#top_mainvisual .overlay .text {
	position: relative;
}
#top_mainvisual .overlay .text span {
	display: inline-block;
}
#top_news {
/*	margin-top: -30px; */	/* KAZ: moved to PC */
}
#top_news .wall {
	position: relative;
}
#top_news .wall::before {
	content: "";
	display: block;
	width: 60px;
	height: 60px;
	background: var(--nb-light-blue);
	position: absolute;
	top: -30px;
	left: -30px;
}
#top_news ul.news_list, #top_news .linkbtn {
	position: relative;
}
#top_news ul.news_list {
	list-style: none;
	background: var(--nb-dark-blue);
/*	width: 500px; */	/* KAZ: moved to PC */
	margin: 0;
	padding: 7px 0 22px 25px;	/* KAZ: bottom was 23px */
}
#top_news ul.news_list li {
/*	clear: both; Aki c/o */
	padding: 2px 0 3px;	/* KAZ: was 3px 0 5px */
}
#top_news ul.news_list li:not(:last-child) {
	border-bottom: solid 1px white;
}
#top_news ul.news_list li .photo {
	float: left;
	width: 50px;
	height: 50px;
	margin-right: 1em;
	line-height: 0;
}
#top_news ul.news_list li .date, #top_news ul.news_list li .category {
	display: inline-block;
	font-size: 0.875rem;	/* 14px */
}
#top_news ul.news_list li .date,
#top_news ul.news_list li .title {	/* KAZ */
	vertical-align: middle;
}
#top_news ul.news_list li .date {
	width: 100px;
}
#top_news ul.news_list li .date, #top_news ul.news_list li a {
	color: white;
}
#top_news ul.news_list li .title {	/* KAZ */
	display: inline-block;
	width: calc(100% - 117px);
}
#top_news ul.news_list li .title a {	/* KAZ */
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#top_news .linkbtn {
	background: var(--nb-dark-gray);
	border-radius: 0;	/* KAZ */
	display: block;
	width: 100px;
	margin-top: -15px;	/* KAZ: was -13px */
	margin-left: 20px;
	line-height: 25px;
	color: white;
	font-size: 0.875rem;	/* 14px */
/*	text-align: center; */
}
#top_news .linkbtn::after {
	display: none;	/* KAZ */
}
#top_intro {
}
#top_intro h2 {
	line-height: 1.444;
	font-weight: 700;	/* KAZ: was 800 */
	margin-bottom: 8px;
}
#top_intro .subttl {
	font-weight: 600;
}
#top_intro .subttl::after {
	content: "";
	background-color: #494949;
	display: block;
/*	position: absolute; */
	width: 100%;
	height: 1px;
/*	right: 0; */
/*	margin-top: 31px; */	/* KAZ: moved to PC */
}
#top_intro .descr {	/* 06.2023 Aki added */
	position: relative;
	z-index: 1;
}
#top_intro .descr.strong {
	line-height: 1.5;	/* 30px */
	font-size: 1.25rem;	/* 20px */
}
#top_intro_withmovie {
}
#top_intro_withmovie .video {
}
#top_intro_withmovie .video iframe {
	aspect-ratio: 16 / 9;
}
#top_intro_withmovie .text {
	color: white;
}
#top_intro_withmovie .text h2 {
	line-height: 1.6;	/* 32px */
	font-size: 1.25rem;	/* 20px */
}
#top_intro_withmovie .text ul {
	columns: 175px 2;
	column-gap: 0;
	width: 350px;
	margin: 0;
}
#top_intro_withmovie .text ul li {
	list-style-type: none;
	line-height: 1.75;	/* 28px */
}
#top_intro_withmovie .text ul li:not(.etcetera) {
	margin-left: 1em;
}
#top_intro_withmovie .text ul li:not(.etcetera)::before {
	display: inline-block;
	width: 1rem;
	margin-left: -1rem;
	color: var(--nb-red);
	font-size: 0.75rem;
	content: '◆';
}
#top_ourjobs {
}
#top_ourjobs h2 {
	background-color: var(--nb-dark-blue);
	color: white;
	font-weight: 600;	/* SemiBold */
}
#top_ourjobs .content {
}
#top_ourjobs .content ul {
	margin: 0;
}
#top_ourjobs .content ul li {
	list-style-type: none;
	position: relative;
	padding: 18px 0;
	line-height: 1.5;	/* 30px */
	font-size: 1.25rem;	/* 20px */
	font-weight: bold;
}
#top_ourjobs .content .products {
	line-height: 0;
}
#top_ourjobs .content .images {
}
#top_ourjobs .content p.emphasis {
	color: var(--nb-dark-blue);
	font-size: 1.5rem;	/* 24px */
	font-weight: 600;	/* SemiBold */
}
#top_ourjobs .content p.btn_line {
}
#top_appeal {
}
#top_appeal .wall {
}
#top_appeal h2 {
	background-color: var(--nb-dark-gray);
	margin-bottom: 0;
	color: white;
	font-size: 1.5rem;	/* 24px */
	font-weight: 600;	/* SemiBold */
	text-align: center;
}
#top_appeal p {
}
#top_appeal p.caution {
	background-color: white;
	position: relative;
	line-height: 1.667;	/* 30px */
	color: var(--nb-red);
	font-size: 1.125rem;	/* 18px */
	font-weight: bold;
	text-align: center;
}
#top_appeal p.caution::after {
	position: absolute;
	bottom: -32px;
	left: calc(50% - 37px);
	line-height: 0;
	content: url(/images/icon_caution.svg);
}
#top_appeal p.wearehere {
	background-color: white;
	border-radius: 30px 0 0 30px;
	font-size: 1.25rem;	/* 20px */
	font-weight: bold;
}
#top_appeal p.wearehere img {
	vertical-align: top;
}
#top_facility,
#top_area {
	border-top: var(--nb-dark-gray) 1px solid;
}
#top_facility {
}
#top_facility h2,
#top_area h2,
#top_map h2 {
	background: url(/images/top_h2_bg.svg) no-repeat center bottom;
	height: 94px;
	padding-top: 11px;
	color: white;
	font-size: 1.25rem;	/* 20px */
	text-align: center;
}
#top_facility h2 {
}
#top_facility p {
	text-align: center;
}
#top_facility p.descr,
#top_area p.descr {
	line-height: 1.667;	/* 30px */
	font-size: 1.125rem;	/* 18px */
	font-weight: bold;
}
#top_facility p.descr {
}
#top_facility .list {
	display: flex;
}
#top_facility p.btn_line {
}
#top_area {
	background-image: url(/images/top_area_bg.svg);
	background-repeat: no-repeat;
}
#top_area h2 {
}
#top_area p {
}
#top_area p.descr {
}
#top_area p.note {
}
#top_banners {
}
#top_banners .banner {
}
#top_banners .banner a,
#top_banners .banner a span {
	display: block;
}
#top_banners .banner a {
	position: relative;
	color: inherit;
}
@media (any-hover: hover) {
	#top_banners .banner a:hover {
		text-decoration: none;
	}
}
#top_banners .banner a::before,
#top_banners .banner a .inner {
}
#top_banners .banner a::before {
	background: linear-gradient(to bottom, var(--nb-light-blue), var(--nb-dark-blue));
	position: absolute;
	mix-blend-mode: multiply;
	content: '';
}
#top_banners .banner a .inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
/*	position: relative; */	/* KAZ: moved to PC */
	text-align: center;
}
#top_banners .banner a .inner .heading {
	line-height: 1.333;	/* 32px */
	color: white;
	font-size: 1.5rem;	/* 24px */
	font-weight: bold;
}
#top_banners .extinguisher {
	position: relative;
	width: var(--nb-midium-wall-width);
	background-color: var(--nb-red);
	margin: 0 auto;
}
#top_banners .extinguisher h3, #top_banners .extinguisher p {
	color: white;
}
#top_banners .extinguisher h3 {
	font-size: 1.625rem;	/* 26px */
	margin-bottom: 0;
}
#top_banners .extinguisher .fireex_photo {
	width: 179px;
	height: auto;
}
#top_banners .extinguisher .fireex_notice {
	width: 228px;
	height: auto;
	position: absolute;
}
#top_banners .extinguisher .wrap_sp {
	display: flex;
}
#top_banners .extinguisher p {
	line-height: 1.687;
	margin-bottom: 0;
}
#top_banners .extinguisher p.accident {
}
#top_map {
}
#top_map h2 {
	position: relative;
	z-index: 1;
}
#top_map .wall {
	width: var(--nb-midium-wall-width);
}
#top_map .gmap {
	margin-top: -55px;
}
#top_map .gmap iframe {
	width: 100%;
	height: 100%;
}
#top_map p {
	text-align: center;
	font-weight: 800;
}
#top_map p .strong {
	font-size: 1.5rem;	/* 24px */
}


/* Fixed Page Components
----------------------------------------------- */
body.page section.comingsoon .wall {
	/* KAZ: temporary */
	font-weight: bold;
	text-align: center;
}

/* 私たちの仕事 */
#services_main {
}
#services_main > .wall {
}
#services_main .intro {
	line-height: 1.6667;	/* 30px */
	font-size: 1.125rem;	/* 18px */
	font-weight: bold;
}
#services_main h2 {
	background: url(/images/h2_bar_bg.svg) no-repeat center bottom;
}
#services_main ul.service_menu {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}
#services_main ul.service_menu li {
	list-style-type: none;
	font-size: 1.125rem;	/* 18px */
	font-weight: bold;
}
#services_main ul.service_menu li a,
#services_main .subsection h3 {
	background-repeat: no-repeat;
}
#services_main ul.service_menu li a {
	background-position: left center;
	display: flex;
	align-items: center;
	color: inherit;
}
#services_main ul.service_menu li a[href="#services_sub1"] {
	background-image: url(/images/services_menu1.svg);
}
#services_main ul.service_menu li a[href="#services_sub2"] {
	background-image: url(/images/services_menu2.svg);
}
#services_main ul.service_menu li a[href="#services_sub3"] {
	background-image: url(/images/services_menu3.svg);
}
#services_main ul.service_menu li a[href="#services_sub4"] {
	background-image: url(/images/services_menu4.svg);
}
#services_main ul.service_menu li a[href="#services_sub5"] {
	background-image: url(/images/services_menu5.svg);
}
#services_main ul.service_menu li a[href="#services_sub6"] {
	background-image: url(/images/services_menu6.svg);
}
#services_main .subsection {
}
#services_main .subsection .wall {
}
#services_main .subsection h3 {
	/* See also #services_main ul.service_menu li a above */
	background-size: 80px;
	background-position: left top;
	min-height: 80px;
	padding-left: 92px;
	color: var(--nb-dark-blue);
	font-size: 2rem;	/* 32px */
}
#services_main #services_sub1 h3 {
	background-image: url(/images/services_sub1.svg);
}
#services_main #services_sub2 h3 {
	background-image: url(/images/services_sub2.svg);
}
#services_main #services_sub3 h3 {
	background-image: url(/images/services_sub3.svg);
}
#services_main #services_sub4 h3 {
	background-image: url(/images/services_sub4.svg);
}
#services_main #services_sub5 h3 {
	background-image: url(/images/services_sub5.svg);
}
#services_main #services_sub6 h3 {
	background-image: url(/images/services_sub6.svg);
}
#services_main .subsection h3 span.inner {
	border-bottom: var(--nb-dark-blue) 4px solid;
	display: block;
}
#services_main .subsection .pcleft {
}
#services_main .subsection .pcleft .descr {
}
#services_main #services_sub4 .pcleft .descr {
	margin-bottom: 2em;
}
#services_main .subsection .pcleft .descr strong {
	color: var(--nb-red);
}
#services_main #services_sub2 .pcleft .caution {
	background: var(--nb-yellow) url(/images/icon_caution.svg) no-repeat 33px 35px / auto 61px;
	color: var(--nb-red);
	font-weight: bold;
}
#services_main #services_sub4 .pcleft .hours {
	font-weight: bold;
}
#services_main .subsection ul.case_list {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}
#services_main .subsection ul.case_list li,
#services_main .subsection .case {
}
#services_main .subsection ul.case_list li {
	list-style-type: none;
}
#services_main .subsection ul.case_list li .case_label,
#services_main .subsection .case .case_label {
	border-bottom: var(--nb-dark-blue) 1px solid;
	margin-bottom: 14px;
	line-height: 1;
}
#services_main .subsection ul.case_list li .case_label {
	height: 66px;
}
#services_main .subsection .case .case_label {
	height: 24px;
}
#services_main .subsection ul.case_list li .case_label > span,
#services_main .subsection .case .case_label > span {
	display: inline-block;
	vertical-align: bottom;
}
#services_main .subsection ul.case_list li .case_label .label,
#services_main .subsection .case .case_label .label {
	background: url(/images/services_case_label_bg.svg) no-repeat right top;
	padding-left: 12px;
}
#services_main .subsection ul.case_list li .case_label .label .inner,
#services_main .subsection .case .case_label .label .inner,
#services_main .subsection ul.case_list li .case_label .number,
#services_main .subsection .case .case_label .number {
	transform-origin: left center;
}
#services_main .subsection ul.case_list li .case_label .label .inner,
#services_main .subsection .case .case_label .label .inner {
	display: block;
	width: 80px;
	height: 23px;
	color: white;
	font-size: 20px;	/* FIXED */
}
#services_main .subsection ul.case_list li .case_label .number,
#services_main .subsection .case .case_label .number {
	margin: -4px 0 -2px;
	color: var(--nb-light-blue);
	font-size: 72px;	/* FIXED */
}
#services_main .subsection ul.case_list li .case_title,
#services_main .subsection .case .case_title {
	line-height: 1.6667;	/* 30px */
	font-size: 1.125rem;	/* 18px */
	font-weight: bold;
}
#services_main .subsection ul.case_list li .imgonly,
#services_main .subsection .case .imgonly {
}
#services_main .subsection .case .imgonly {
	display: flex;
}
#services_main .subsection .case .imgonly span.image {
	display: block;
	position: relative;
}
#services_main .subsection .case .imgonly span.image:not(:last-child)::after {
	display: inline-block;
	position: absolute;
	z-index: 1;
	content: url(/images/arrow_right_blue_gradient.svg);
}
#services_main .subsection .case .imgonly span.image img {
	width: 168px;
}
#services_main .subsection .pcright {
}
#services_main #services_sub2 .qualifications {
}
#services_main #services_sub2 .qualifications .message {
	font-weight: bold;
}
#services_main #services_sub2 .qualifications .items {
	display: flex;
	justify-content: center;
	font-weight: bold;
}
#services_main #services_sub2 .qualifications .items span {
	display: block;
}
#services_main #services_sub2 .qualifications .items .item {
	position: relative;
}
#services_main #services_sub2 .qualifications .items .item::before,
#services_main #services_sub2 .qualifications .items .item .inner {
	width: 144px;
	height: 59px;
}
#services_main #services_sub2 .qualifications .items .item::before {
	background: linear-gradient(to bottom, var(--nb-light-blue), var(--nb-dark-blue));
	position: absolute;
	top: 0;
	left: 0;
	mix-blend-mode: multiply;
	content: '';
}
#services_main #services_sub2 .qualifications .items .item .inner {
	position: relative;
	line-height: 59px;
	color: white;
	font-size: 1.5rem;	/* 24px */
}
#services_main #services_sub2 .qualifications .items .etc {
}
#services_main #services_sub2 .btn_line {
	text-align: center;
}
#services_main #services_sub2 .btn_line a.linkbtn {
	border: var(--nb-dark-gray) 1px solid;
	border-radius: 28px;
	width: 254px;
	line-height: 54px;
}
#services_main #services_sub2 .btn_line a.linkbtn::after {
	margin-left: 35px;
}


/* 採用情報 */
#recruit_wanted {
}
#recruit_wanted .catchline, #recruit_message .message {
	font-weight: 800;
	line-height: 1.444;
}
#recruit_wanted .catchline {
}
#recruit_wanted ul {
}
#recruit_wanted ul > li {
	position: relative;
	width: 300px;
	color: white;
	font-size: 1.25rem;	/* 20px */
	font-weight: 600;
	line-height: 1.6;
	background: linear-gradient(to bottom, var(--nb-light-blue), var(--nb-dark-blue));
	padding: 45px 30px 35px;
	text-align: center;
}
#recruit_wanted ul > li::before {
	content: url(/images/recruit_wanted_no1.svg);
	display: block;
	position: absolute;
	left: 50%;
	transform: translatex(-50%);
	top: -30px;
}
#recruit_wanted ul > li:nth-child(2)::before {
	content: url(/images/recruit_wanted_no2.svg);
}
#recruit_wanted ul > li:nth-child(3)::before {
	content: url(/images/recruit_wanted_no03.svg);
}
#recruit_wanted .descr {
}
section:is(#recruit_wanted, #recruit_message) .imgonly {
	height: auto;
}
#recruit_wanted .imgonly {
}
#recruit_message {
	background-color: var(--nb-pale-gray);
}
#recruit_message .message {
}
#recruit_message .descr {
}
#recruit_message .imgonly {
}
#recruit_oneday {
}
#recruit_oneday ul {
	position: relative;
}
#recruit_oneday ul > li {
}
#recruit_oneday ul > li:nth-child(even) {
	background-color: var(--nb-pale-gray);
}
#recruit_oneday ul > li .inner {
	position: relative;
	width: var(--nb-midium-wall-width);
	margin: 0 auto;
}
#recruit_oneday ul > li:not(:last-child) .inner::before {
	content: "";
	display: block;
	width: 3px;
	height: 100%;
	background-color: var(--nb-light-blue);
	position: absolute;
	top: 40px;
	bottom: 0;
	left: calc((100% - var(--nb-midium-wall-width)) / 2 + 60px);
}
#recruit_oneday .time {
	position: relative;
	display: inline-block;
	color: white;
	background-color: var(--nb-dark-blue);
	width: 167px;
	height: 51px;
	line-height: 51px;
	border-radius: 26px;
	font-size: 1.875rem;	/* 30px */
	font-family: 'Jost', sans-serif;
	padding-left: 55px;
}
#recruit_oneday .time::before {
	content: url(/images/time_oneday01.svg);
	display: block;
	height: 64px;
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	left: -20px;
}
#recruit_oneday ul > li:nth-child(2) .time::before {
	content: url(/images/time_oneday02.svg);
}
#recruit_oneday ul > li:nth-child(3) .time::before {
	content: url(/images/time_oneday03.svg);
}
#recruit_oneday ul > li:nth-child(4) .time::before {
	content: url(/images/time_oneday04.svg);
}
#recruit_oneday ul > li:nth-child(5) .time::before {
	content: url(/images/time_oneday05.svg);
}
#recruit_oneday ul > li:nth-child(6) .time::before {
	content: url(/images/time_oneday06.svg);
}
#recruit_oneday .ttl {
	color: var(--nb-dark-blue);
	font-size: 1.25rem;	/* 20px */
	font-weight: 600;
	padding-left: 15px;
}
#recruit_oneday p {
	line-height: 1.75;
	margin: 0;
}
#recruit_oneday p.text {
	font-weight: 500;
}
#recruit_oneday p.wrap {
	display: inline-block;
	color: white;
	font-weight: 600;
	background-color: var(--nb-light-blue);
	border-radius: 16px;
	padding: 15px 15px;	/* 2023.11 Aki was 15px 25px chkHTML */
}
#recruit_oneday ul > li .imgonly {
	height: auto;
}
#recruit_job_info {
}
#recruit_job_info dl {
	width: var(--nb-small-wall-width);
	margin: 0 auto;
}
#recruit_job_info dl p {
	margin: 0;
}
#recruit_job_info :is(dt, dd) {
	line-height: 1.625;
	border-top: solid 3px var(--nb-light-gray);
	padding: 8px 0;
	margin: 0;
}
#recruit_job_info dt:first-child, #recruit_job_info dt:first-child + dd {
	border-top: 0;
}
#recruit_job_info dt {
	float: left;
	color: var(--nb-dark-blue);
}
#recruit_job_info dd {
	overflow: hidden;
}
#recruit_job_info ul {
}
#recruit_job_info ul > li{
	text-indent: -19px;
	padding-left: 19px;
}
#recruit_job_info ul > li::before{
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: var(--nb-medium-gray);
	margin-right: 5px;
}
#recruit_job_info .entry {
	text-align: center;
}
a.sptel {
	color: inherit;
}
a.entry_btn {
	display: inline-block;
	color: white;
	background: linear-gradient(to bottom, var(--nb-light-blue), var(--nb-dark-blue));
	text-align: center;
}
a.entry_btn:hover {
	text-decoration: none;
}

/* 会社案内 */
#company_motto {
	background-image: url(/images/bg_company_motto.png);
	background-repeat: no-repeat;
}
#company_motto .motto {
	font-size: 2.25rem;	/* 36px */
	font-weight: 800;
	text-align: center;
	line-height: 1.333;
}
#company_motto .descr {
}
#company_profile {
	background-color: var(--nb-pale-gray);
}
section:is(#company_profile, #company_qualifications ) :is(dt, dd) {
	border-top: solid 3px var(--nb-light-gray);
	margin: 0;
}
section:is(#company_profile, #company_qualifications ) dt:first-child,
section:is(#company_profile, #company_qualifications ) dt:first-child + dd {
	border-top: 0;
}
section:is(#company_profile, #company_qualifications ) dl {
	overflow: hidden;
}
section:is(#company_profile, #company_qualifications ) dt {
	float: left;
}
section:is(#company_profile, #company_qualifications ) dd {
	overflow: hidden;
}
#company_profile dt {
	color: var(--nb-dark-blue);
}
#company_profile dd {
}
#company_qualifications {
}
#company_qualifications dt {
}
#company_qualifications dt.red {
	color: var(--nb-red);
}
#company_qualifications dd {
}

/* お問い合わせ */
#contact_phone {
}
#contact_phone .phone {
	text-align: center;
}
#contact_phone .phone a,
#thanks_main .phone a {	/* 2023.12 KAZ */
	color: inherit;
}
#contact_phone .phone .sptel,
#thanks_main .phone .sptel {	/* 2023.12 KAZ */
	font-size: 1.875rem;	/* 30px */
	font-weight: 800;
	vertical-align: middle;
}
#contact_phone .phone .sptel::before,
#thanks_main .phone .sptel::before {	/* 2023.12 KAZ */
	content: url(/images/icon_phone_black.svg);
	display: inline-block;
	margin-right: 5px;
}
#contact_phone .phone span:not(.sptel),
#thanks_main .phone span:not(.sptel) {	/* 2023.12 KAZ */
	font-weight: 500;
	vertical-align: middle;
}
#contact_mail {
}
#contact_mail .descr {
	text-align: center;
	font-weight: 500;
}
table.contactform {
	border: 0;
}
table.contactform tr:not(:last-child) {
	border-bottom: solid 1px var(--nb-medium-gray);
}
table.contactform :is(th, td) {
}
table.contactform th {
	font-weight: 600;
}
table.contactform th p {
	margin-bottom: 0;
}
table.contactform td {
	border-top: 0;
}
table.contactform td :is(input[type=text], input[type=password], input[type=email], input[type=url], input[type=number], textarea) {
	width: 100%;
	background-color: var(--nb-light-gray);
	border: 0;
	padding: 9px;
}
.required {
	float: right;
	font-size: 0.875rem;	/* 14px */
	line-height: 21px;
	text-align: center;
	color: white;
	background-color: var(--nb-red);
	padding: 0 8px;
	margin-top: 7px;
}
#contact_mail .privacy {
	height: 230px;
	font-size: 0.875rem;	/* 14px */
	overflow-y: auto;
	border: solid 1px var(--nb-medium-gray);
	padding: 40px;
}
#contact_mail .privacy h3 {
	text-align: center;
	font-size: 1rem;
	font-weight: normal;
}
.accept_line {
	text-align: center;
	padding: 50px 0 14px;
}
p:is(.buttons-area, .buttons-area-confirm) {
	text-align: center;
}
p:is(.buttons-area, .buttons-area-confirm) :is(input[type=button], input[type=submit]),
#thanks_main .btn_line a.linkbtn {	/* 2023.12 KAZ */
	min-width: 254px;
	font-weight: 500;
	line-height: 56px;
	border: solid 1px var(--nb-dark-gray);
	background: url(/images/arrow_left_link.svg)no-repeat center right 40px;
	border-radius: 28px;
	padding: 0 90px 0 40px;
}
p.buttons-area input.button-rewrite,
#thanks_main .btn_line a.linkbtn {	/* 2023.12 KAZ */
	background-image: url(/images/arrow_right_link.svg) !important;
	background-position: center left 40px !important;
	margin: 0 !important;
	padding: 0 40px 0 90px !important;
}
.wpcf7 form.sent .wpcf7-response-output {
	width: var(--nb-wall-width);
	text-align: center;
	border-color: var(--nb-dark-blue) !important;
	padding: 20px 0;
	margin: 0 auto;
}
/* 送信完了; 2023.12 KAZ */
#thanks_main {
	text-align: center;
}
#thanks_main .wall {
}
#thanks_main h1 {
	height: auto;
	line-height: 1.1538;	/* 30px */
	color: var(--nb-dark-blue);
	font-size: 1.625rem;	/* 26px */
}
#thanks_main .descr {
	margin-bottom: 2em;
	font-weight: 500;
}
#thanks_main .phone {
}
#thanks_main .phone a {
	/* See #contact_phone .phone a */
}
#thanks_main .phone .sptel {
	/* See #contact_phone .phone .sptel */
}
#thanks_main .btn_line {
}
#thanks_main .btn_line a.linkbtn {
	/* See p.buttons-area input.button-rewrite, etc */
}
#thanks_main .btn_line a.linkbtn::after {
	content: none;
}


/* =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
	----------------------------------------------- */
	body {
		min-width: calc(var(--nb-wall-width) + 20px);	/* KAZ */
	}
	body:not(#my-top) #content {
		background: url(/images/bg_right.png)no-repeat bottom right;
		padding-bottom: 160px;
	}

	/* Header
	----------------------------------------------- */
	#headlogo {
		width: 295px;	/* KAZ */
	}
	h1#headlogo,
	div#headlogo a {
		padding-top: 12px;	/* KAZ */
	}
	#menu_open_btn a {
		padding: 10px 16px;	/* KAZ: moved and divided */
	}
	#menu_close_btn a {
		padding: 10px 14px;	/* KAZ: moved and divided */
	}
	#headmenu {
		width: 420px;
		padding: 40px 70px 50px 40px;	/* KAZ: right was 0 */
	}

	/* =Content
	----------------------------------------------- */

	/* =Navigation
	----------------------------------------------- */

	/* =Footer
	----------------------------------------------- */
	#side_contact {
		width: 257px;
		bottom: 70px;	/* KAZ: ChkHTML; was 90px */
		right: 0;
		opacity: 0;
		pointer-events: none;
		transform: translateY(20px);
		transition: opacity 0.3s, transform 0.3s;
	}
	#side_contact.show {
		opacity: 1;
		pointer-events: all;
		transform: translateY(0);
	}
	#side_contact h2,
	#side_contact .content {
		padding-left: 20px;
	}
	#side_contact h2 {
		border-top-left-radius: 20px;
		line-height: 38px;
/*		font-size: 1rem; */	/* 16px */
	}
	#side_contact .content {
		border-bottom-left-radius: 20px;
		padding-bottom: 8px;
		line-height: 1.1;
	}
	#side_contact .content .phone {
		padding: 9px 0 12px;
	}
	#side_contact .content .phone .sptel {
		font-size: 1.875rem;	/* 30px */
	}
	#side_contact .content .phone .sptel img.icon {
		margin-right: 6px;
/*		vertical-align: 0; */
	}
	#side_contact .content .phone .note {
/*		font-size: 1rem; */	/* 16px */
	}
	#side_contact .content .email {
	}
	#side_contact .content .email a {
		padding: 11px 0;
		font-size: 1.125rem;	/* 18px */
	}
	#side_contact .content .email a img.icon {
		margin-right: 4px;
		vertical-align: -3px;
	}
	#ft_nav_top {
		right: 5px;	/* KAZ: ChkHTML; was 40px */
	}
	#colophon .ft_wrapper {	/* KAZ: moved */
		display: flex;
		justify-content: center;
		flex-direction: row-reverse;
		gap: 0 40px;
	}
	#ft_image {
		width: 320px;	/* KAZ: moved */
	}
	#ft_add {
		padding-top: 5px;
		padding-bottom: 10px;
	}
	#ft_copyright {
		padding-top: 45px;
	}

	/* Blog & Single Page Common
	----------------------------------------------- */
	.page-header,
	article.single .entry-header,
	body.page .entry-header,	/* KAZ */
	.error404 .entry-header {	/* MAY-2023 KAZ: added */
		height: 260px;
	}
	.page-title .en,
	body.page .entry-header .entry-title .en,
	.error404 .entry-header .entry-title .en {	/* 2023.11 KAZ: added */
		font-size: 5.4375rem;	/* 87px */
		padding-top: 80px;	/* 2023.11 KAZ: was 72px */
	}
	.page-title .ja,
	body.page .entry-header .entry-title, .ja,
	.error404 .entry-header .entry-title .ja {	/* 2023.11 KAZ: added */
		font-size: 1.375rem;	/* 22px */
	}

	/* Blog Page Components
	----------------------------------------------- */
	#post_menu {
		padding-top: 73px;	/* MAY-2023 KAZ: was 75px */
		padding-bottom: 55px;
	}
	#post_menu ul {
		gap: 0 30px;
	}
	#post_menu ul li {
	}
	#post_menu ul li a {
		width: 156px;
		line-height: 34px;
		border-radius: 8px;
	}
	article.list, article.single .entry-content {
	}
	article.single .entry-content {
		padding-top: 47px;	/* MAY-2023 KAZ: was 50px */
	}
	article.single .entry-content :not(div.wp-caption) img.alignnone {
		margin-right: 20px;
	}
	article.single .entry-content :not(div.wp-caption) img.alignnone + img {
		margin-right: 0px;
	}
	article.single {
	}
	#my-blog article.list {
		padding: 13px 0;	/* KAZ */
	}
	article.list .entry-header {
	}
	.entry-header .categories, article.list .entry-header .blogdate {
		line-height: 27px;	/* KAZ: moved */
	}
	.entry-header .categories a {
		border-radius: 8px;
		width: 88px;
/*		line-height: 27px; */
/*		font-size: 0.8125rem;	/* 13px * Aki moved */
	}
	.entry-header .blogdate a {
		font-size: 0.875rem;	/* 12px */
	}
	article.list .entry-header .categories a {
	}
	article.list .entry-header .blogdate {
		width: 105px;
	}
	article.list .entry-header h2 {
		display: inline-block;
		width: 582px;	/* KAZ */
		vertical-align: top;	/* KAZ */
	}
	article.single header.entry-header {
		padding: 25px 0;	/* KAZ: added for long titles */
	}
	article.single .entry-header .categories {
/*		padding: 50px 0 15px; */
	}
	article.single .entry-header .categories a {
	}
	article.single .entry-header h1 {
		margin: 22px auto;	/* KAZ */
		line-height: 1.545;	/* 34px; KAZ added */
		font-size: 1.375rem;	/* 22px */
	}
	article.single .entry-header .blogdate {
/*		padding-top: 15px; */
	}
	article.single .entry-content, 	article.single .entry-content img {
/*		padding-top: 50px; Aki c/o */
	}
	#content nav#nav-below {
		padding-top: 65px;
	}

	/* Front Page Components
	----------------------------------------------- */
	#top_mainvisual,
	#top_mainvisual .mv_img_wrapper,
	#top_mainvisual .mv_img_wrapper img {
		height: 580px;
	}
	#top_mainvisual {
	}
	#top_mainvisual .mv_img_wrapper {
		left: calc(50% - 1535.5px);	/* MAY-2023 KAZ: per request */
	}
	#top_mainvisual .mv_img_wrapper img {
	}
	#top_mainvisual .overlay {
		width: 112px;
		height: 324px;
		top: 33px;
		left: calc(50% - 56px);
		padding: 19px 12px 0;
		line-height: 42px;
		font-size: 32px;	/* FIXED */
	}
	#top_mainvisual .overlay .bg {
	}
	#top_mainvisual .overlay .bg div {
		width: 70px;
	}
	#top_mainvisual .overlay .bg .bg1 {
		height: 196px;
	}
	#top_mainvisual .overlay .bg .bg2 {
		height: 276px;
		top: 48px;
	}
	#top_mainvisual .overlay .text {
	}
	#top_mainvisual .overlay span {
		width: 42px;	/* for Safari */
	}
	#top_mainvisual .overlay span.line2 {
		margin-top: 48px;
	}
	#my-top #content {
		background: url(/images/bg_intro.png)no-repeat top 30px right;
	}
	#top_news {
		margin-top: -30px;	/* KAZ: moved */
		padding-bottom: 62px;	/* KAZ: was 60px */
	}
	#top_news ul.news_list {
		width: 500px;	/* KAZ: moved */
	}
	#top_intro {
		padding-bottom: 81px;	/* KAZ: was 90px */
	}
	#top_intro .wall,
	#top_ourjobs .wall {	/* KAZ */
		width: calc(50% + var(--nb-wall-width) / 2);
		margin-right: 0;
	}
	#top_intro h2 {
		font-size: 2.25rem;	/* 36px */
	}
	#top_intro .subttl {
		margin-bottom: 21px;	/* KAZ */
/*		padding-top: 8px; */
/*		padding-bottom: 55px; */
		font-size: 1.5rem;	/* 24px */
	}
	#top_intro .subttl::after {
/*		width: calc(50% + 500px); */
/*		margin-left: calc(50% - 500px); */
		margin-top: 33px;	/* KAZ: moved; was 31px */
	}
	#top_intro .descr {
/*		width: 890px;	05.2023 Aki c/o /* KAZ */
		padding-right: calc(100% - 890px);
	}
	#top_intro .descr.strong {
		margin-top: 15px;	/* KAZ */
	}
	#top_intro .descr::before {	/* 06.2023 Aki added */
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 100px;
		background: white;
		top: -21px;
		right: 0;
		z-index: -1;
	}
	#top_intro_withmovie {
		padding-bottom: 60px;
	}
	#top_intro_withmovie .wall {
		background: var(--nb-dark-gray) url(/images/top_intro_withmovie_bg.jpg) no-repeat right top;
		width: calc(50% + 390px);
		height: 366px;
		margin-right: 0;
		padding: 54px calc(50% - 500px) 55px 0;
	}
	#top_intro_withmovie .video {
		float: left;
		margin-left: -110px;
	}
	#top_intro_withmovie .video iframe {
		width: 456px;
	}
	#top_intro_withmovie .text {
		margin-left: 390px;
		padding-top: 16px;
	}
	#top_intro_withmovie .text h2 {
		clear: none;
		margin-bottom: 16px;
	}
	#top_intro_withmovie .text ul {
	}
	#top_ourjobs,
	#top_ourjobs h2 {
		height: 777px;	/* 06.2023 Aki was 726px */
	}
	#top_ourjobs {
		background: url(/images/top_ourjobs_bg.png) no-repeat top right, url(/images/line_light_gray.png) no-repeat top 80px left / 100% 3px, url(/images/line_light_gray.png) no-repeat top 146px left / 100% 3px, url(/images/line_light_gray.png) no-repeat top 212px left / 100% 3px, url(/images/line_light_gray.png) no-repeat top 598px left / 100% 3px;
		margin-bottom: 60px;
	}
	#top_ourjobs h2 {
		border-radius: 20px 0 0 20px;
		float: left;
		width: 55px;
		padding: 35px 0;
		line-height: 55px;
		font-size: 1.75rem;	/* 28px */
		writing-mode: tb-rl;
	}
	#top_ourjobs .content {
		position: relative;
		margin-left: 110px;
		padding-top: 16px;
	}
	#top_ourjobs .content ul {
	}
/*----- use this to debug the position of background lines
	#top_ourjobs .content ul li:not(:first-child)::after {
		background-color: var(--nb-light-gray);
		position: absolute;
		width: 100%;
		height: 3px;
		top: -2px;
		left: 0;
		content: ''
	}
-----*/
	#top_ourjobs .content .products {
		margin: 2px 0 45px 2px;
	}
	#top_ourjobs .content .images {
		display: flex;
		flex-direction: column;
		position: absolute;
		top: 56px;
		left: 486px;
	}
	#top_ourjobs .content .images img {
		border: var(--nb-medium-gray) 11px solid;
	}
	#top_ourjobs .content .images img:first-child {
		margin-bottom: 32px;
		margin-left: -146px;
	}
	#top_ourjobs .content .images img:nth-child(2) {
		margin-bottom: 26px;
	}
	#top_ourjobs .content p.emphasis {
		margin-bottom: -4px;
	}
	#top_ourjobs .content p.btn_line {
		margin: 25px 0 0;
	}
	#top_ourjobs .content p.btn_line a.linkbtn {
		width: 335px;
	}
	#top_appeal {
		background: url(/images/bg_right.png) no-repeat bottom right;
		padding-bottom: 118px;
	}
	#top_appeal .wall {
		background-color: var(--nb-yellow);
		height: 559px;
	}
	#top_appeal h2,
	#top_appeal p {
		width: 780px;
		margin-left: auto;
		margin-right: auto;
	}
	#top_appeal h2 {
		line-height: 60px;
	}
	#top_appeal p {
	}
	#top_appeal p.caution {
		height: 130px;
		margin-bottom: 57px;
		padding-top: 23px;
	}
	#top_appeal p.wearehere {
		width: 890px;
		height: 60px;
		margin-bottom: 27px;
		margin-right: 0;
		padding-left: 31px;
		line-height: 60px;
	}
	#top_appeal p.wearehere img {
		margin: -42px 0 -157px 45px;
	}
	#top_facility {
		background: url(/images/bg_left.png) no-repeat bottom left;
		padding-bottom: 130px;
	}
	#top_facility h2 {
		margin-bottom: 37px;
	}
	#top_facility p.descr {
		margin-bottom: 44px;
	}
	#top_facility .list {
		justify-content: space-between;
		margin-bottom: 40px;
	}
	#top_facility p.btn_line {
		margin-bottom: 0;
	}
	#top_area {
		background-position: bottom -140px left calc(50% - 202px);	/* 202 = 343 - 283/2 */ /* Aki bottom was 134px */
		background-size: auto 453px;	/* Aki added */
		height: 354px;
	}
	#top_area h2 {
		margin-bottom: 38px;
	}
	#top_area p {
		padding-left: calc(var(--nb-wall-width) / 2);
	}
	#top_area p.descr {
		margin-bottom: 4px;
	}
	#top_area p.note {
	}
	#top_banners {
		max-width: 1366px;
		padding-bottom: 80px;	/* Aki added */
		margin: 0 auto;
	}
	#top_banners .banner {
		width: 667px;
		max-width: calc(50% - 16px);
	}
	#top_banners .banner.aboutus {
		float: left;
	}
	#top_banners .banner.recruit {
		margin-left: calc(50% + 16px);
	}
	#top_banners .banner a {
	}
	#top_banners .banner.aboutus a {
		background: url(/images/top_banner_aboutus_bg.jpg) no-repeat center / cover;
	}
	#top_banners .banner.recruit a {
		background: url(/images/top_banner_recruit_bg.jpg) no-repeat center / cover;
	}
	#top_banners .banner a::before,
	#top_banners .banner a .inner {
		width: 44.98%;
		aspect-ratio: 1;
		top: 0;
		left: 0;
	}
	#top_banners .banner a::before {
	}
	#top_banners .banner a .inner {
		position: relative;	/* KAZ: moved */
	}
	#top_banners .banner a .inner .heading {
		margin-bottom: 11px;
	}
	#top_banners .extinguisher {
		display: flex;
		margin-top: 70px;
	}
	#top_banners .extinguisher h3 {
		padding: 45px 20px 18px 45px;
	}
	#top_banners .extinguisher .fireex_photo {
	}
	#top_banners .extinguisher .fireex_notice {
		top: 20px;
		right: 45px;
	}
	#top_banners .extinguisher p.information {
		padding-left: 45px;
	}
	#top_banners .extinguisher p.notice {
	}
	#top_banners .extinguisher p.accident {
		padding: 175px 0 0 20px;
	}
	#top_map {
	}
	#top_map .wall {
	}
	#top_map h2 {
	}
	#top_map .gmap {
		height: 665px;
	}
	#top_map p {
		padding: 70px 0 48px;
	}

	/* Fixed Page Components
	----------------------------------------------- */
	body.page section.comingsoon .wall {
		/* KAZ: temporary */
		padding-top: 80px;
		font-size: 1.5rem;	/* 24px */
	}

	/* 私たちの仕事 */
	#services_main {
	}
	#services_main > .wall {
		padding: 74px 0 59px;
	}
	#services_main .intro {
		margin-bottom: 29px;
		text-align: center;
	}
	#services_main h2 {
		margin-bottom: 49px;
		padding-bottom: 79px;
		line-height: 1.4444;	/* 52px */
		font-size: 2.25rem;	/* 36px */
		text-align: center;
	}
	#services_main ul.service_menu {
		justify-content: space-between;
		gap: 48px 0;
	}
	#services_main ul.service_menu li {
		line-height: 1.6667;	/* 30px */
	}
	#services_main ul.service_menu li:nth-child(3n+1) {
		width: 266px;
	}
	#services_main ul.service_menu li:nth-child(3n+2) {
		width: 302px;
	}
	#services_main ul.service_menu li:nth-child(3n) {
		width: 346px;
	}
	#services_main ul.service_menu li a {
		height: 140px;
		padding-left: 157px;
	}
	#services_main .subsection {
	}
	#services_main .subsection:nth-of-type(odd) {
		background: var(--nb-pale-gray) url(/images/bg_right_white.svg) no-repeat right bottom;
	}
	#services_main .subsection .wall {
		overflow: hidden;
		padding: 60px 0 70px;
	}
	#services_main #services_sub2 .wall1 {
		padding-bottom: 75px;
	}
	#services_main #services_sub2 .wall2 {
		padding-top: 65px;
	}
	#services_main #services_sub6 .wall {
		padding-bottom: 30px;
	}
	#services_main .subsection h3 {
		margin-bottom: 29px;
		line-height: 1.25;	/* 40px */
	}
	#services_main .subsection h3 span.inner {
		padding: 18px 0 11px;
	}
	#services_main #services_sub6 h3 span.inner {
		padding-top: 0;
	}
	#services_main .subsection .pcleft {
		float: left;
		width: 594px;
	}
	#services_main .subsection .pcleft .descr {
	}
	#services_main #services_sub1 .pcleft .descr {
		margin-bottom: 57px;
	}
	#services_main #services_sub2 .pcleft .descr {
		margin-bottom: 40px;
	}
	#services_main #services_sub5 .pcleft .descr {
		margin-bottom: 67px;
	}
	#services_main #services_sub6 .pcleft .descr {
		margin-bottom: 50px;
	}
	#services_main #services_sub2 .pcleft .caution {
		padding: 22px 54px 22px 123px;
	}
	#services_main #services_sub4 .pcleft .hours {
	}
	#services_main .subsection ul.case_list {
	}
	#services_main #services_sub1 ul.case_list {
		gap: 53px 0;
	}
	#services_main #services_sub2 ul.case_list,
	#services_main #services_sub6 ul.case_list {
		justify-content: space-between;
	}
	#services_main #services_sub2 ul.case_list {
	}
	#services_main #services_sub6 ul.case_list {
		clear: left;
	}
	#services_main .subsection ul.case_list li,
	#services_main .subsection .case {
	}
	#services_main #services_sub1 ul.case_list li {
		width: 100%;
	}
	#services_main #services_sub2 ul.case_list li,
	#services_main #services_sub6 ul.case_list li {
		width: 470px;
	}
	#services_main .subsection ul.case_list li .case_label,
	#services_main .subsection .case .case_label {
	}
	#services_main .subsection ul.case_list li .case_label > span,
	#services_main .subsection .case .case_label > span {
	}
	#services_main .subsection ul.case_list li .case_label .label,
	#services_main .subsection .case .case_label .label {
	}
	#services_main .subsection ul.case_list li .case_label .label .inner,
	#services_main .subsection .case .case_label .label .inner {
	}
	#services_main .subsection ul.case_list li .case_label .number,
	#services_main .subsection .case .case_label .number {
	}
	#services_main .subsection ul.case_list li .case_title,
	#services_main .subsection .case .case_title {
	}
	#services_main .subsection ul.case_list li .case_title {
		float: left;
		width: 235px;
	}
	#services_main .subsection .case .case_title {
		margin-bottom: 18px;
	}
	#services_main .subsection ul.case_list li .imgonly,
	#services_main .subsection .case .imgonly {
	}
	#services_main .subsection ul.case_list li .imgonly {
		width: 214px;
		margin-top: -80px;
	}
	#services_main #services_sub1 ul.case_list li .imgonly {
		margin-left: 281px;
	}
	#services_main #services_sub2 ul.case_list li .imgonly,
	#services_main #services_sub6 ul.case_list li .imgonly {
		margin-left: 256px;
	}
	#services_main .subsection .case .imgonly {
		gap: 0 20px;
	}
	#services_main .subsection .case .imgonly span.image:not(:last-child)::after {
		top: 72px;
		right: -34px;
	}
	#services_main .subsection .pcright {
/*		width: 370px; */
		margin-left: 630px;
	}
	#services_main #services_sub1 .pcright,
	#services_main #services_sub5 .pcright {
		padding-top: 5px;
	}
	#services_main #services_sub2 .pcright {
		margin-top: -72px;
	}
	#services_main #services_sub3 .pcright,
	#services_main #services_sub6 .pcright {
		margin-top: -109px;
	}
	#services_main #services_sub4 .pcright {
		margin: -16px -3px 0 626px;
	}
	#services_main #services_sub2 .qualifications {
		background: url(/images/services_sub2_qualifications_bg.jpg) no-repeat center top / cover;
		height: 270px;
		margin-bottom: 25px;
		padding-top: 9px;
		text-align: center;
	}
	#services_main #services_sub2 .qualifications .message {
		margin-bottom: 32px;
		line-height: 1.4444;	/* 52px */
		font-size: 2.25rem;	/* 36px */
	}
	#services_main #services_sub2 .qualifications .items {
		align-items: flex-end;
		gap: 0 6px;
	}
	#services_main #services_sub2 .qualifications .items span {
	}
	#services_main #services_sub2 .qualifications .items .item {
	}
	#services_main #services_sub2 .qualifications .items .item .inner {
	}
	#services_main #services_sub2 .qualifications .items .etc {
		padding-left: 9px;
	}
	#services_main #services_sub2 .btn_line {
	}

	/* 採用情報 */
	#recruit_wanted {
		padding-bottom: 98px;
	}
	#recruit_wanted .catchline, #recruit_message .message  {
		font-size: 2.25rem;	/* 36px */
	}
	#recruit_wanted .catchline {
		text-align: center;
		padding: 70px 0 80px;
	}
	#recruit_wanted ul {
		display: flex;
		justify-content: space-between;
		padding: 40px 0 25px;
	}
	#recruit_wanted ul > li {
	}
	#recruit_wanted ul > li:nth-child(2) {
	}
	#recruit_wanted ul > li:nth-child(3) {
	}
	#recruit_wanted .descr {
		width: 568px;
		padding-left: 105px;
		text-align: justify;
	}
	section:is(#recruit_wanted, #recruit_message) .imgonly {
		position: absolute;
/*		bottom: 0; 2023.11 Aki c/o chkHTML */
	}
	#recruit_wanted .imgonly {
		width: 380px;
		left: calc(50% + 110px);
		bottom: -98px;	/* 2023.11 Aki chkHTML */
	}
	#recruit_message {
		background-image: url(/images/bg_left_white.png);
		background-repeat: no-repeat;
		background-position: top left;
		padding: 70px 0;
	}
	#recruit_message :is(.message, .descr) {
		padding-left: 335px;
	}
	#recruit_message .message {
		padding-top: 35px;
	}
	#recruit_message .descr {
		padding-top: 25px;
	}
	#recruit_message .imgonly {
		width: 366px;
		left: calc(50% - 577px);
		bottom: -70px;	/* 2023.11 Aki chkHTML */
	}
	#recruit_oneday {
		padding: 90px 0;
	}
	#recruit_oneday ul {
		padding-top: 32px;
	}
	#recruit_oneday ul > li {
	}
	#recruit_oneday ul > li:nth-child(even) {
	}
	#recruit_oneday ul > li .inner {
		padding-top: 30px;
		padding-bottom: 25px;
		padding-left: 50px;
	}
	#recruit_oneday ul > li:nth-child(even) .inner {
		padding-top: 26px;
		padding-bottom: 25px;
	}
	#recruit_oneday .time {
	}
	#recruit_oneday .time::before {
	}
	#recruit_oneday ul > li:nth-child(2) .time::before {
	}
	#recruit_oneday ul > li:nth-child(3) .time::before {
	}
	#recruit_oneday ul > li:nth-child(4) .time::before {
	}
	#recruit_oneday ul > li:nth-child(5) .time::before {
	}
	#recruit_oneday .ttl {
	}
	#recruit_oneday p {
	}
	#recruit_oneday p.text {
		padding-top: 15px;
		padding-left: 50px;
	}
	#recruit_oneday p.wrap {
		position: absolute;
	}
	#recruit_oneday ul > li:nth-child(2) p.wrap {
		top: -15px;
		left: calc(50% + 160px);
	}
	#recruit_oneday ul > li:nth-child(4) p.wrap {
		top: -65px;
		left: calc(50% + 13px);
		z-index: 1;
	}
	#recruit_oneday ul > li:nth-child(6) p.wrap {
		top: -40px;
		left: calc(50% + 180px);
		z-index: 1;
	}
	#recruit_oneday ul > li .imgonly {
		position: absolute;
	}
	#recruit_oneday ul > li:is(:first-child, :nth-child(4), :nth-child(6)) .imgonly {
		width: 300px;
		left: calc(50% + 45px);
		bottom: 0px;
	}
	#recruit_oneday ul > li:nth-child(2) .imgonly {
		width: 374px;
		left: calc(50% - 170px);
		bottom: 0px;
	}
	#recruit_oneday ul > li:nth-child(3) .imgonly {
		width: 270px;
		top: -122px;
		left: calc(50% + 155px);
		z-index: 1;
	}
	#recruit_job_info {
	}
	#recruit_job_info dl {
		padding-top: 20px;
	}
	#recruit_job_info dl dt {
		width: 95px;
	}
	#recruit_job_info dl dd {
	}
	#recruit_job_info ul {
	}
	#recruit_job_info ul > li{
	}
	#recruit_job_info ul > li::before{
	}
	a.entry_btn {
		font-size: 3.5625rem;	/* 54px */
		line-height: 120px;
		padding: 0 72px;
		margin-top: 82px;
	}



	/* 会社案内 */
	body#my-company #content {
		padding-bottom: 85px;
	}
	#company_motto {
		background-position: top 235px left calc(50% + 261px);
		background-size: 342px auto;
		padding: 105px 0 60px;
	}
	#company_motto .motto {
		padding-top: 5px;
	}
	#company_motto .descr {
		width: 492px;
		padding-top: 25px;
	}
	#company_profile {
		background-image: url(/images/bg_right_white.png);
		background-repeat: no-repeat;
		background-position: right bottom;
		padding: 50px 0;
	}
	section:is(#company_profile, #company_qualifications ) :is(dt, dd) {
		padding-top: 15px;
		padding-bottom: 15px;
	}
	section:is(#company_profile, #company_qualifications ) dl {
		width: 465px;
		padding-top: 10px;
		margin: 0 auto;
	}
	section:is(#company_profile, #company_qualifications ) dt {
	}
	section:is(#company_profile, #company_qualifications ) dd {
	}
	#company_profile dt {
		width: 145px;
		padding-left: 70px;
	}
	#company_profile dd {
	}
	#company_qualifications {
		padding: 100px 0 0;
	}
	#company_qualifications dt {
		width: 465px;
		padding-left: 90px;
	}
	#company_qualifications dd {
	}

	/* お問い合わせ */
	#contact_phone {
		padding-top: 105px;
	}
	#contact_phone .phone {
	}
	#contact_phone .phone .sptel {
	}
	#contact_mail {
		padding-top:  75px;
	}
	#contact_mail .descr {
	}
	table.contactform {
	}
	table.contactform :is(th, td) {
		padding: 20px 0;
	}
	table.contactform th {
		width: 185px;
	}
	table.contactform td {
		padding-left: 45px;
	}
	table.contactform td :is(input[type=text], input[type=password], input[type=email], input[type=url], input[type=number], textarea) {
	}
	table.contactform td textarea {
		height: 142px;
	}
	.required {
	}
	.accept_line {
	}
	p:is(.buttons-area, .buttons-area-confirm) {
		display: flex;
		justify-content: center;
	}
	p:is(.buttons-area, .buttons-area-confirm) input[type=button] {
		order: 1;
	}
	.wpcf7-spinner {
		order: 2;
	}
	p:is(.buttons-area, .buttons-area-confirm) input[type=submit] {
		order: 3;
	}
	/* 送信完了; 2023.12 KAZ */
	#thanks_main {
	}
	#thanks_main .wall {
		padding-top: 100px;
	}
	#thanks_main h1 {
		margin-bottom: 84px;
	}
	#thanks_main .phone {
		margin-bottom: 55px;
	}
	#thanks_main .btn_line {
	}

}

/* 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;
	}

	/* =Structure
	----------------------------------------------- */
	#page {	/* MAY-2023 KAZ: was #my-top #page; per request */
		padding-bottom: 80px;	/* KAZ: for #side_contact */
	}

	/* Header
	----------------------------------------------- */
	#headlogo {
		width: 219px;	/* KAZ */
	}
	h1#headlogo,
	div#headlogo a {
		padding-top: 13px;	/* KAZ */
	}
	#menu_open_btn a {
		padding: 10px 13.5px;	/* KAZ */
	}
	#menu_close_btn a {
		padding: 10px 12px;	/* KAZ */
	}
	#headmenu {
		padding: 75px 0 60px 14.67%;	/* KAZ: left was 55px */
	}
	#breadcrumbs {
		width: 96.8%;	/* 363 / 375; 2023.11 KAZ */
	}

	/* =Content
	----------------------------------------------- */

	/* =Navigation
	----------------------------------------------- */

	/* =Footer
	----------------------------------------------- */
	#side_contact {
		width: 100%;
		height: 80px;
		bottom: 0;
		left: 0;
	}
	#side_contact h2,
	#side_contact .content {
		height: 100%;
	}
	#side_contact h2 {
		display: flex;
		float: left;
		align-items: center;
		justify-content: center;
		width: 54px;
		padding: 0 0.5em;
		line-height: 1.333;	/* 16px */
		font-size: 0.75rem;	/* 12px */
		text-align: center;
	}
	#side_contact .content {
		/* KAZ: temporary */
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	#side_contact .content .phone {
	}
	#side_contact .content .phone .sptel,
	#side_contact .content .phone .note {
		line-height: 40px;
		vertical-align: middle;
	}
	#side_contact .content .phone .sptel {
		padding-left: 12px;
		padding-right: 8px;
		font-size: 1.875rem;	/* 30px */
	}
	#side_contact .content .phone .sptel img.icon {
		margin-right: 4px;
	}
	#side_contact .content .phone .note {
		font-size: 0.75rem;	/* 12px */
	}
	#side_contact .content .email {
		font-size: 0.875rem;	/* 14px */
	}
	#side_contact .content .email a {
		padding-left: 10px;
		line-height: 39px;
	}
	#side_contact .content .email a img.icon {
		margin-right: 3px;
		vertical-align: -5px;
	}
	#ft_nav_top {
		right: 5px;	/* KAZ: ChkHTML; was 6% */
	}
	#ft_add {
		text-align: center;
		padding-left: 0;
		padding-bottom: 25px;
	}
	#ft_links {
		padding-left: 0;
		padding-bottom: 38px;
	}
	ul#footmenu {
		width: auto;	/* KAZ: was 85% */
/*		margin: 0 auto; */
		margin-left: 7.5%;	/* KAZ: revised for smaller SP */
	}
	ul#footmenu li {
		width: 50%;
	}
	ul#footmenu li a {
		width: auto;
		font-size: 1.125rem;
	}
	#ft_image {
		height: 64vw;	/* KAZ: was 240px */
		overflow: hidden;
	}
	#ft_copyright {
		padding-top: 32px;
	}

	/* Blog & Single Page Common
	----------------------------------------------- */
	body:not(#my-top) #content {
		padding-bottom: 60px;	/* KAZ: was 85px; divided */
	}
	.page-header,
	article.single .entry-header
	body.page .entry-header,	/* KAZ */
	.error404 .entry-header {	/* MAY-2023 KAZ: added */
		height: 200px;
	}
	.page-title .en,
	body.page .entry-header .entry-title .en,
	.error404 .entry-header .entry-title .en {	/* 2023.11 KAZ: added */
		padding-top: 55px;
		padding-bottom: 4px;
		font-size: 3.75rem;	/* 60px */
	}
	.page-title .ja,
	body.page .entry-header .entry-title, .ja,
	.error404 .entry-header .entry-title .ja {	/* 2023.11 KAZ: added */
/*		font-size: 1rem; */	/* 16px */
	}

	/* Blog Page Components
	----------------------------------------------- */
	#post_menu {
		padding: 14px 0 35px;	/* MAY-2023 KAZ: top was 18px */
	}
	#post_menu ul {
		/* gap: 0 13px; */
		justify-content: space-between;	/* KAZ */
		width: var(--nb-wall-width);	/* KAZ */
		max-width: 400px;	/* KAZ: for horizontal dir */
		margin: 0 auto;	/* KAZ */
	}
	#post_menu ul li {
		width: 74px;	/* KAZ: moved */
		max-width: 24%;	/* KAZ: for smaller SP */
	}
	#post_menu ul li a,
	article.list .entry-header .categories,
	article.list .entry-header .blogdate {
		line-height: 30px;	/* KAZ: moved */
	}
	#post_menu ul li a, article.list .entry-header .categories a {
/*		width: 74px; */
		font-size: 0.875rem;	/* 14px */
/*		line-height: 30px; */
		border-radius: 5px;
	}
	#post_menu ul li a {
		width: 100%;	/* KAZ */
	}
	#my-blog:not(.single) #content {
		padding-bottom: 85px;	/* KAZ: divided */
	}
	header.page-header, 
	article.single header.entry-header,
	body.page header.entry-header {
		min-height: 200px;	/* KAZ: was height */
	}
	article.list {
		width: 94%;
		padding-top: 18px;
		padding-bottom: 15px;
		margin-left: calc(50% - var(--nb-wall-width) / 2);
	}
	article.single {
	}
	#my-blog article.list {
		padding: 18px 0;	/* KAZ */
	}
	article.list .entry-header {
	}
	article.list .entry-header .categories a {
		width: 74px;	/* KAZ: moved */
	}
	article.list .entry-header .blogdate {
		font-size: 0.875rem;	/* 14px */
	}
	article.list .entry-header h2 {
		margin-top: 7px;	/* KAZ */
		padding-right: 6.383%;	/* KAZ */
/*		line-height: 2.2; */	/* KAZ: c/o */
	}
	article.single header.entry-header {
/*		display: flex; */	/* KAZ: moved to common */
/*		flex-direction: column; */	/* KAZ: moved to common */
/*		justify-content: center; */	/* KAZ: moved to common */
		padding: 10px 0;	/* KAZ: added for long titles */
	}
	article.single .entry-header .categories {
/*		padding-top: 20px; */
	}
	article.single .entry-header .categories a {
	}
	article.single .entry-header h1 {
		margin: 7px auto;	/* KAZ */
		line-height: 1.6;	/* 32px; KAZ: was 2 */
		font-size: 1.25rem;	/* 20px */
	}
	article.single .entry-header .blogdate {
	}
	article.single .entry-content, 	article.single .entry-content img {
	}
	article.single .entry-content {
		width: var(--nb-wall-width);
		padding-top: 30px;	/* MAY-2023 KAZ: was 35px */
	}
	#content nav#nav-below#nav-below {
		padding-top: 52px;
	}
	#content #nav-single {
		padding-top: 30px;	/* KAZ: was 45px; usually mb 16px of <p> */
	}

	/* Front Page Components
	----------------------------------------------- */
	#top_mainvisual,
	#top_mainvisual .mv_img_wrapper,
	#top_mainvisual .mv_img_wrapper img {
		height: 500px;
	}
	#top_mainvisual {
	}
	#top_mainvisual .mv_img_wrapper {
		left: calc(50% - 1102.5px);	/* MAY-2023 KAZ: per request */
	}
	#top_mainvisual .mv_img_wrapper img {
		width: auto;
	}
	#top_mainvisual .overlay {
		width: 84px;
		height: 250px;	/* additional 10px for text */
		top: 0;
		left: calc(50% - 42px);
		padding: 14px 11px 0;
		line-height: 31px;
		font-size: 24px;	/* FIXED */
	}
	#top_mainvisual .overlay .bg {
	}
	#top_mainvisual .overlay .bg div {
		width: 52px;
	}
	#top_mainvisual .overlay .bg .bg1 {
		height: 145px;
	}
	#top_mainvisual .overlay .bg .bg2 {
		height: 204px;
		top: 36px;
	}
	#top_mainvisual .overlay .text {
	}
	#top_mainvisual .overlay span {
		width: 31px;	/* for Safari */
	}
	#top_mainvisual .overlay span.line2 {
		margin-top: 36px;
	}
	#top_news {
		padding-bottom: 30px;
		margin-top: -6px;	/* KAZ */
	}
	#top_news .wall {	/* KAZ */
		width: 94%;
		margin-left: 6%;
	}
	#top_news ul.news_list {
	}
	#top_intro {
		background: url(/images/sp/bg_right.png) no-repeat bottom right;
		padding-bottom: 152px;
	}
	#top_intro h2 {
		margin-bottom: 12px;
		margin-right: -0.5em;	/* KAZ: does not fit */
		font-size: 1.625rem;	/* 26px; KAZ: was 1.75rem; does not fit on Android */
	}
	#top_intro .subttl {
		margin-right: -0.5em;	/* MAY-2023 KAZ: for Android; per request */
		font-size: 1.25rem;	/* 20px */
		line-height: 1.5;
	}
	#top_intro .subttl::after {
		width: calc((100% - 0.5em) * 1.068);	/* MAY-2023 KAZ: was 106% */
		margin-top: 30px;
		margin-bottom: 27px;
	}
	#top_intro .descr.strong {
		margin-top: 25px;
	}
	#top_intro_withmovie {
		background: var(--nb-dark-gray) url(/images/sp/top_intro_withmovie_bg.jpg) no-repeat right top /cover;
		margin-bottom: 54px;
	}
	#top_intro_withmovie .wall {
	}
	#top_intro_withmovie .video {
		width: var(--nb-wall-width);
		position: absolute;
		top: -95px;
	}
	#top_intro_withmovie .video iframe {
		width: 100%;
	}
	#top_intro_withmovie .text {
		overflow: hidden;
		padding: 130px 0 30px;
	}
	#top_intro_withmovie .text h2 {
	}
	#top_intro_withmovie .text ul {
	}
	#top_intro_withmovie .text ul li {
	}
	#top_ourjobs {
		background: url(/images/sp/bg_right.png) no-repeat bottom right -87px, url(/images/sp/top_ourjobs_bg.png) no-repeat top right;
		padding-bottom: 80px;
	}
	#top_ourjobs h2 {
		border-top-right-radius: 20px;
		width: 71.33%;
		min-width: 226px;	/* KAZ: for smaller SP */
		margin-left: -7%;
		margin-bottom: 8px;
		padding-left: 6%;
		font-size: 1.5rem;	/* 24px */
	}
	#top_ourjobs .content {
	}
	#top_ourjobs .content ul {
	}
	#top_ourjobs .content ul:last-of-type li:first-child {
		margin-right: -4px;	/* MAY-2023 KAZ: for Android; per request */
	}
	#top_ourjobs .content ul li:not(:first-child)::after {
		background-color: var(--nb-light-gray);
		position: absolute;
		width: 113.63%;	/* KAZ: was 113%; Aki was 100% */
		height: 3px;
		top: -2px;
		left: -6.815%;	/* KAZ: was -6.5% */
		content: ''
	}
	#top_ourjobs .content ul:first-of-type li:not(:last-child)::after {
		background: linear-gradient(to right, var(--nb-light-gray), transparent);
	}
	#top_ourjobs .content .products {
		margin-bottom: 20px;	/* KAZ */
	}
	#top_ourjobs .content .images {
		display: flex;
	}
	#top_ourjobs .content .images img {
		width: 33.33%;
	}
	#top_ourjobs .content p.emphasis {
		padding-top: 20px;
		margin-bottom: 0;
	}
	#top_ourjobs .content p.btn_line {
		margin: 10px 0 0;
	}
	#top_ourjobs .content p.btn_line a.linkbtn {
		width: 100%;
	}
	#top_appeal {
		background-color: var(--nb-yellow);
		padding-bottom: 20px;	/* Aki */
	}
	#top_appeal .wall {
	}
	#top_appeal h2 {
		line-height: 1.8125rem;	/* 29px; rem not em */
		padding: 20px 0;
	}
	#top_appeal h2 span.spsmall {
		display: block;
		font-size: 1.125rem;	/* 18px */
	}
	#top_appeal p {
		text-align: center;
	}
	#top_appeal p.caution {
		padding: 20px 0 51px;
		margin-bottom: 57px;
	}
	#top_appeal p.plain {
		margin: 0 -0.8em 16px;	/* KAZ: does not fit */
	}
	#top_appeal p.wearehere {
		height: 217px;
		margin-right: -6.82%;
		margin-top: 30px;	/* Aki */
		margin-bottom: 110px;	/* Aki */
		padding-right: 6.82%;
		padding-top: 25px;	/* Aki */
		line-height: 1.35;	/* 27px */
		text-align: center;
	}
	#top_appeal p.wearehere img {
		width: 280px;
		margin-bottom: -86px;
		margin-top: 15px;	/* Aki */
	}
	#top_facility {
		background: url(/images/sp/bg_right.png) no-repeat bottom -18px right;
		padding-bottom: 52px;	/* Aki */
		margin-top: 48px;	/* Aki */
	}
	#top_facility .wall,
	#top_area .wall {
		min-width: 310px;	/* for smaller SP */
	}
	#top_facility h2 {
	}
	#top_facility p {
	}
	#top_facility p.descr {
	}
	#top_facility .list {
		flex-wrap: wrap;
		align-items: flex-start;	/* KAZ: added for horizontal dir */
		justify-content: center;
		gap: 0 30px;
		padding-bottom: 87px;	/* Aki */
	}
	#top_facility .list img {
		width: 125px;
	}
	#top_facility .list img:first-child {
		margin-bottom: 23px;
	}
	#top_facility p.btn_line {
	}
	#top_area {
		background-position: bottom -132px left calc(50% - 35px);	/* 35 = 176 - 283/2 */	/* Aki bottom was 128px */
		background-size: 300px auto;
		height: 588px;
	}
	#top_area h2 {
	}
	#top_area p {
		text-align: center;
	}
	#top_area p.descr {
		margin-bottom: 4px;	/* Aki */
	}
	#top_area p.note {
	}
	#top_banners {
		padding-bottom: 43px;
	}
	#top_banners .banner {
	}
	#top_banners .banner.aboutus {
		margin-bottom: 20px;
	}
	#top_banners .banner.recruit {
		margin-bottom: 40px;
	}
	#top_banners .banner a {
	}
	#top_banners .banner.aboutus a {
		background: url(/images/sp/top_banner_aboutus_bg.jpg) no-repeat center / cover;	/* Aki */
		height: 81.333vw;	/* KAZ: was 77.333vw; Aki was 81.333vw */
	}
	#top_banners .banner.recruit a {
		background: url(/images/sp/top_banner_recruit_bg.jpg) no-repeat center / cover;	/* Aki */
		height: 100.8vw;	/* KAZ: was 94.8vw; Aki was 100.8vw */
	}
	#top_banners .banner a::before,
	#top_banners .banner a .inner {
		width: 100%;
		height: 46.933vw;	/* KAZ: was 43.933vw; Aki was 46.933vw */
		left: 0;
	}
	#top_banners .banner a::before {
	}
	#top_banners .banner.aboutus a::before,
	#top_banners .banner.aboutus a .inner {
		top: 0;
	}
	#top_banners .banner.recruit a::before,
	#top_banners .banner.recruit a .inner {
		bottom: 0;
	}
	#top_banners .banner a .inner {
/*		justify-content: flex-start; */
		gap: 11px 0;	/* KAZ: was 15px 0 */
		position: absolute;	/* KAZ: revised */
/*		padding-top: 30px; */
	}
	#top_banners .banner.recruit a .inner {
/*		padding-top: 235px; */
	}
	#top_banners .banner a .inner .heading {
	}
	#top_banners .extinguisher {
		max-width: 400px;	/* KAZ: for horizontal dir */
		padding: 45px 0 27px;
	}
	#top_banners .extinguisher h3, #top_banners .extinguisher p.information {
		text-align: center;
	}
	#top_banners .extinguisher h3 {
		padding-bottom: 20px;
	}
	#top_banners .extinguisher p.information {
		padding-bottom: 28px;
	}
	#top_banners .extinguisher .wrap_sp {
		position: relative;
	}
	#top_banners .extinguisher p.notice {
	}
	#top_banners .extinguisher p.accident {
		padding: 145px 0 0 26px;
	}
	#top_banners .extinguisher .fireex_notice {
		top: -17px;
		right: 0;
		
	}
	#top_map {
		padding-bottom: 20px;
	}
	#top_map h2 {
	}
	#top_map .gmap {
		height: 320px;
	}
	#top_map p {
		padding-top: 25px;
	}
	#top_map p .strong {
		line-height: 1.5;
	}

	/* Fixed Page Components
	----------------------------------------------- */
	body.page .entry-header h1.entry-title,
	.error404 header.entry-header h1.entry-title {	/* MAY-2023 KAZ: added */
		/* KAZ: temporary */
		line-height: 200px;
		font-size: 1.25rem;	/* 20px */
	}
	body.page section.comingsoon .wall {
		/* KAZ: temporary */
		padding: 80px 0;
		font-size: 1.25rem;	/* 20px */
	}

	/* Fixed Page Components
	----------------------------------------------- */

	/* 私たちの仕事 */
	#services_main {
	}
	#services_main > .wall {
		padding: 25px 0 55px;
	}
	#services_main .intro {
		margin-bottom: 34px;
	}
	#services_main h2 {
		background-position-x: calc(50% - 14px);
		margin-bottom: 23px;
		margin-right: -0.5em;
		padding-bottom: 94px;
		line-height: 1.5417;	/* 37px */
		font-size: min(1.5rem, 6.4vw);	/* 24px; 24 / 375 */
	}
	#services_main ul.service_menu {
		gap: 27px 0;
		width: 266px;
		margin: 0 auto;
	}
	#services_main ul.service_menu li {
		width: 100%;
		line-height: 1.3333;	/* 24px */
	}
	#services_main ul.service_menu li a {
		background-size: 70px;
		height: 70px;
		padding-left: 85px;
	}
	#services_main .subsection {
	}
	#services_main .subsection:nth-of-type(odd) {
		background-color: var(--nb-pale-gray);
	}
	#services_main .subsection .wall {
		padding: 65px 0 52px;
	}
	#services_main .subsection:nth-of-type(odd) .wall {
		padding-top: 48px;
	}
	#services_main #services_sub2 .wall1 {
		position: relative;
		padding-bottom: 0;
	}
	#services_main #services_sub2 .wall2 {
		padding-top: 31px;
		padding-bottom: 63px;
	}
	#services_main #services_sub4 .wall {
		padding-top: 54px;
	}
	#services_main #services_sub6 .wall {
		padding-bottom: 35px;
	}
	#services_main .subsection h3,
	#services_main .subsection ul.case_list li .case_label,
	#services_main .subsection .case .case_label {
		margin-right: -6.82%;
	}
	#services_main .subsection h3 {
		margin-bottom: 37px;
		line-height: 1.1875;	/* 38px */
		font-size: min(2rem, 8.5vw);	/* 32px; manual adjustment */
	}
	#services_main .subsection h3 span.inner {
		padding: 2px 8.64% 12px 0;
	}
	#services_main .subsection .pcleft {
	}
	#services_main .subsection .pcleft .descr {
	}
	#services_main #services_sub1 .pcleft .descr {
		margin-bottom: 23px;
	}
	#services_main #services_sub2 .pcleft .descr {
		margin-bottom: 178px;
	}
	#services_main #services_sub3 .pcleft .descr {
		margin-bottom: 28px;
	}
	#services_main #services_sub5 .pcleft .descr {
		margin-bottom: 33px;
	}
	#services_main #services_sub6 .pcleft .descr {
		margin-bottom: 27px;
	}
	#services_main #services_sub2 .pcleft .caution {
		background-position: center 217px;
		margin: 0 -6.82%;
		padding: 290px 6.82% 21px;
	}
	#services_main #services_sub4 .pcleft .hours {
		margin-bottom: 1px;
	}
	#services_main .subsection ul.case_list {
		gap: 29px 0;
	}
	#services_main .subsection ul.case_list li,
	#services_main .subsection .case {
	}
	#services_main .subsection ul.case_list li {
		width: 100%;
	}
	#services_main .subsection ul.case_list li .case_label,
	#services_main .subsection .case .case_label {
		padding-right: 6.82%;
	}
	#services_main .subsection ul.case_list li .case_label > span,
	#services_main .subsection .case .case_label > span {
	}
	#services_main .subsection ul.case_list li .case_label .label,
	#services_main .subsection .case .case_label .label {
	}
	#services_main .subsection ul.case_list li .case_label .label .inner,
	#services_main .subsection .case .case_label .label .inner {
	}
	#services_main .subsection ul.case_list li .case_label .number,
	#services_main .subsection .case .case_label .number {
	}
	#services_main .subsection ul.case_list li .case_title,
	#services_main .subsection .case .case_title {
		margin-bottom: 15px;
	}
	#services_main .subsection .case .case_title {
		margin-right: -0.5em;	/* for smaller devices */
	}
	#services_main .subsection ul.case_list li .imgonly,
	#services_main .subsection .case .imgonly {
	}
	#services_main .subsection .case .imgonly {
		flex-wrap: wrap;
		justify-content: center;
		gap: 18px 0;
	}
	#services_main .subsection .case .imgonly span.image:not(:last-child)::after {
		bottom: -22px;
		left: 72px;
		transform: rotate(90deg);
	}
	#services_main .subsection .pcright {
	}
	#services_main #services_sub2 .pcright {
		position: absolute;
		top: 492px;
		left: 0;
	}
	#services_main #services_sub6 .pcright {
		margin-bottom: 41px;
	}
	#services_main #services_sub2 .qualifications {
		background: url(/images/sp/services_sub2_qualifications_bg.jpg) no-repeat 41px bottom / 334.5px auto;
		padding: 34px 0 42px;
		margin-left: 6%;
	}
	#services_main #services_sub2 .qualifications .message {
		margin-bottom: 39px;
		line-height: 1.5417;	/* 37px */
		font-size: min(1.5rem, 6.4vw);	/* 24px; 24 / 375 */
	}
	#services_main #services_sub2 .qualifications .items {
		width: 144px;
		flex-wrap: wrap;
		text-align: center;
	}
	#services_main #services_sub2 .qualifications .items span {
	}
	#services_main #services_sub2 .qualifications .items .item {
	}
	#services_main #services_sub2 .qualifications .items .item:not(:first-child) {
		margin-top: 15px;
	}
	#services_main #services_sub2 .qualifications .items .item .inner {
	}
	#services_main #services_sub2 .qualifications .items .etc {
	}
	#services_main #services_sub2 .btn_line {
		margin-top: -31px;
	}

	/* 採用情報 */
	#recruit_wanted {
	}
	#recruit_wanted .catchline, #recruit_message .message {
		font-size: 1.5rem;	/* 24px */
		line-height: 1.541;
		padding: 20px 0 45px;
	}
	#recruit_wanted ul {
		padding-top: 45px;
	}
	#recruit_wanted ul > li {
		margin: 0 auto;
	}
	#recruit_wanted ul > :is(li:nth-child(2), li:nth-child(3)) {
		margin-top: 51px;
	}
	#recruit_wanted ul > li:nth-child(3) {
	}
	#recruit_wanted .descr {
		padding: 35px 0 15px;
	}
	#recruit_wanted .imgonly {
		width: 320px;
		margin: 0 auto;
	}
	#recruit_message {
		padding-top: 47px;
	}
	#recruit_message .message {
		display: inline-block;
		white-space: nowrap;
		padding-bottom: 20px;
	}
	#recruit_message .descr {
	}
	#recruit_message .imgonly {
		padding-top: 13px;
	}
	#recruit_oneday {
		padding-top: 75px;
	}
	#recruit_oneday ul {
	}
	#recruit_oneday ul > li {
	}
	#recruit_oneday ul > li .inner {
		width: var(--nb-wall-width);
		padding-top: 40px;
		padding-bottom: 40px;
		margin-right: 0;
	}
	#recruit_oneday ul > li:nth-child(even) .inner {
		padding-top: 25px;
		padding-bottom: 0;
	}
	#recruit_oneday ul > li:not(:last-child) .inner::before {
		left: calc((100% - var(--nb-wall-width)) - 26px);
	}
	#recruit_oneday ul > li:nth-child(even) {
	}
	#recruit_oneday .time {
	}
	#recruit_oneday .time::before {
	}
	#recruit_oneday ul > li:nth-child(2) .time::before {
	}
	#recruit_oneday ul > li:nth-child(3) .time::before {
	}
	#recruit_oneday ul > li:nth-child(4) .time::before {
	}
	#recruit_oneday ul > li:nth-child(5) .time::before {
	}
	#recruit_oneday .ttl {
		display: block;
		line-height: 1.2;
		padding-top: 15px;	/* 2023.11 Aki was 6px chkHTML */
		padding-left: 55px;
	}
	#recruit_oneday p {
	}
	#recruit_oneday p.text {
		padding-left: 55px;
		padding-bottom: 15px;
	}
	#recruit_oneday ul > :is(li:nth-child(3), li:nth-child(5)) p.text {
		padding-bottom: 0;
	}
	#recruit_oneday p.wrap {
		margin-left: 55px;
	}
	#recruit_oneday ul > :is(li:nth-child(4), li:nth-child(6)) p.wrap {
		position: relative;
		z-index: 1;
	}
	#recruit_oneday ul > li .imgonly {
	}
	#recruit_oneday ul > li:is(:first-child, :nth-child(4), :nth-child(6)) .imgonly {
		width: calc(100% - 55px);
		margin-left: auto;
		margin-right: 0;
	}
	#recruit_oneday ul > li:nth-child(2) .imgonly {
		width: 370px;
		margin-left: -40px;
		margin-top: -35px;
	}
	#recruit_oneday ul > li:nth-child(3) .imgonly {
		display: none;
	}
	#recruit_oneday ul > li:nth-child(4) .imgonly {
		margin-top: -35px;
	}
	#recruit_oneday ul > li:nth-child(6) .imgonly {
		margin-top: -10px;
	}
	#recruit_job_info {
		padding-top: 90px;
	}
	#recruit_job_info .wall {	/* 2023.11 Aki added h2を改行させないため chkHTML */
		width: 100%;
	}
	#recruit_job_info dl {
		padding-top: 15px;
	}
	#recruit_job_info dl dt {
		width: 80px;
	}
	#recruit_job_info dl dd {
	}
	#recruit_job_info ul {
	}
	#recruit_job_info ul > li{
	}
	#recruit_job_info ul > li::before{
	}
	a.entry_btn {
		font-size: 2.625rem;	/* 42px */
		padding: 5px 60px 0;
		margin-top: 50px;
	}

	/* 会社案内 */
	body.page#my-company .entry-header .entry-title .en {
		padding-top: 38px;
		line-height: 0.8333;
	}
	#company_motto {
		background: none;
		padding: 25px 0 192px;
	}
	#company_motto .motto {
		padding: 20px 0;
	}
	#company_profile {
		padding: 102px 0 5px;
	}
	#company_profile::before {
		content: "";
		display: block;
		width: 342px;
		height: 265px;
		background: url(/images/bg_company_motto.png)no-repeat center/cover;
		position: absolute;
		top: -185px;
		left: 5px;
	}
	section:is(#company_profile, #company_qualifications ) :is(dt, dd) {
		line-height: 1.375;
		padding-top: 21px;
		padding-bottom: 21px;
	}
	section:is(#company_profile, #company_qualifications ) dl {
	}
	section:is(#company_profile, #company_qualifications ) dt {
	}
	section:is(#company_profile, #company_qualifications ) dd {
	}
	#company_profile dt {
		width: 75px;
	}
	#company_profile dd {
	}
	#company_qualifications {
		padding-top: 80px;
	}
	#company_qualifications dt:first-child, #company_qualifications dt:first-child + dd {
		padding-top: 5px;
	}
	#company_qualifications dt {
		width: 330px;	/* 2024.5 nishi */
	}
	#company_qualifications dd {
	}

	/* お問い合わせ */
	#contact_phone {
		padding: 30px 0 45px;
	}
	#contact_phone .phone,
	#thanks_main .phone {	/* 2023.12 KAZ */
		line-height: 1.2;
		padding-top: 5px;
	}
	#contact_phone .phone .sptel {
	}
	#contact_mail {
	}
	#contact_mail .descr {
	}
	table.contactform {
		margin-bottom: 30px;
	}
	table.contactform :is(th, td) {
		display: block;
	}
	table.contactform th {
		padding-top: 8px;
	}
	table.contactform td {
	}
	table.contactform td :is(input[type=text], input[type=password], input[type=email], input[type=url], input[type=number], textarea) {
	}
	table.contactform td textarea {
		height: 142px;
	}
	.required {
		margin-right: calc(50% - 40px);
	}
	.accept_line {
		padding: 50px 0 15px;
	}
	.accept_line .wpcf7-list-item {
		margin-left: 0;
	}
	p:is(.buttons-area, .buttons-area-confirm) {
	}
	p:is(.buttons-area, .buttons-area-confirm) input[type=button] {
	}
	#my-contact .wpcf7-spinner {
		display: block;	/* 2023.12 KAZ */
	}
	/* 送信完了; 2023.12 KAZ */
	#thanks_main {
	}
	#thanks_main .wall {
		padding-top: 40px;
	}
	#thanks_main h1 {
		margin-bottom: 40px;
	}
	#thanks_main .phone {
		/* See also #contact_phone .phone */
		margin-bottom: 50px;
	}
	#thanks_main .btn_line {
	}
}

/* SPECIAL breakpoint for smaller SP */
@media screen and (max-width: 359px) {
	/* =Footer
	----------------------------------------------- */
	#side_contact .content .phone .sptel {
		font-size: 1.375rem;	/* 22px */
	}

	/* Front Page Components
	----------------------------------------------- */
	#top_intro h2 {
		font-size: 1.5rem;	/* 24px */
	}
	#top_intro .subttl {
		font-size: 1.125rem;	/* 18px */
	}
	#top_intro_withmovie .text h2 {
		font-size: 1.125rem;	/* 18px */
	}
	#top_appeal h2 span.spsmall {
		font-size: 1rem;	/* 16px */
	}
}


/* =Print
----------------------------------------------- */
@media print {
	body {
		width: calc(var(--nb-wall-width) + 20px);
	}
	.entry-meta .edit-link a {
		display: none;
	}
	section > .wall:not(.no-slide-in),
	.slide-from-bottom {	/* script.js 内の $objects のセレクターと同期が必要 */
		visibility: visible;
	}

}
