/*
Theme Name: King Company Limited
Author: manabito Corp.
Author URI: https://manabito.biz/
Description: 株式会社キングオフィシャルサイトのテーマ
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
========================================================================== */

/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/

html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
========================================================================== */

/**
* Remove the margin in all browsers.
*/

body {
	margin: 0;
}

/**
* Render the `main` element consistently in IE.
*/

main {
	display: block;
}

/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
========================================================================== */

/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/

hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/* Text-level semantics
========================================================================== */

/**
* Remove the gray background on active links in IE 10.
*/

a {
	background-color: transparent;
}

/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/

abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
}

/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/

b,
strong {
	font-weight: bolder;
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
* Add the correct font size in all browsers.
*/

small {
	font-size: 80%;
}

/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
========================================================================== */

/**
* Remove the border on images inside links in IE 10.
*/

img {
	border-style: none;
}

/* Forms
========================================================================== */

/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/

button,
input { /* 1 */
	overflow: visible;
}

/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/

button,
select { /* 1 */
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
* Remove the inner border and padding in Firefox.
*/

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
* Correct the padding in Firefox.
*/

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
*    `fieldset` elements in all browsers.
*/

legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/

progress {
	vertical-align: baseline;
}

/**
* Remove the default vertical scrollbar in IE 10+.
*/

textarea {
	overflow: auto;
}

/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/

[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
* Remove the inner padding in Chrome and Safari on macOS.
*/

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/* Interactive
========================================================================== */

/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/

details {
	display: block;
}

/*
* Add the correct display in all browsers.
*/

summary {
	display: list-item;
}

/* Misc
========================================================================== */

/**
* Add the correct display in IE 10+.
*/

template {
	display: none;
}

/**
* Add the correct display in IE 10.
*/

[hidden] {
	display: none;
}


/* Reset default styles
========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
	margin: 0;
	padding: 0;
}

p,
a,
ul,
ol,
dl,
dd,
figure {
	margin: 0;
	padding: 0;
}

ul,
ol {
	list-style: none;
	padding: 0;
}

a {
	color: #333;
	text-decoration: none;
}

img {
	display: block;
	height: auto;
	max-width: 100%;
}

input,
textarea,
select {
	max-width: 100%;
}

address {
	font-style: normal;
}

small {
	font-size: 100%;
}

strong {
	font-weight: 600;
}


/* Variable
========================================================================== */
:root {
	--base-font-color: #333;
	--base-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	--base-font-size: 14px;
	--base-line-height: 1.7;
	--color-main: #34b492;
	--color-sub: #ecf7f3;
	--color-marker: #ffed8b;
	--color-black: #333;
	--color-orange: #f7931e;
	--color-red: #b82b00;
	--color-bg-gray: #fafafa;
	--color-line-gray01: #ccc;
	--color-line-gray02: #e0e0e0;
	--header-height: 70px;
	--kerning20: .02em;
	--kerning40: .04em;
	--kerning60: .06em;
	--kerning80: .08em;
	--kerning100: .1em;
	--kerning120: .12em;
	--kerning160: .16em;
	--margin-s10p20: 10px;
	--margin-s15p30: 15px;
	--margin-s20p30: 20px;
	--margin-s20p40: 20px;
	--margin-s30p40: 30px;
	--margin-s30p60: 30px;
	--margin-s40p60: 40px;
	--margin-s40p80: 40px;
	--margin-s60p80: 60px;
	--margin-s60p100: 60px;
	--margin-s60p120: 60px;
	--margin-s80p120: 80px;
	--margin-s100p200: 100px;
	--margin-s120p160: 120px;
	--margin-s160p200: 160px;
	--t-margin-s10p20: 10px;
	--t-margin-s15p30: 12px;
	--t-margin-s20p30: 16px;
	--t-margin-s20p40: 16px;
	--t-margin-s30p40: 26px;
	--t-margin-s30p60: 24px;
	--t-margin-s40p60: 36px;
	--t-margin-s40p80: 36px; 
	--t-margin-s60p120: 50px;
	--t-margin-s80p120: 70px;
}


/* Theme common style
========================================================================== */
body {
	color: var(--base-font-color);
	font: normal var(--base-font-size) /var(--base-line-height) var(--base-family);
}

.container {
	margin-inline: auto;
}

.home-main,
.main {
	padding-top: var(--header-height);
}

.only-sp,
.only-pc {
	display: none;
}

.f-bold {
	font-weight: 600;
}

.lh-1 {
	line-height: 1;
}

.d-flex {
	display: flex;
	flex-wrap: wrap;
}

.gradation-green {
	background: #73B2ba;
	background: linear-gradient(90deg,rgba(115, 178, 186, 1) 0%, rgba(52, 180, 146, 1) 100%);
	color: #fff;
}

.ff-noto-sans {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 800;
}

.ff-montserrat {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	letter-spacing: var(--kerning40);
}

.ff-montserrat-itaric {
	font-family: 'Montserrat', sans-serif;
	font-style: italic;
	font-weight: 800;
}


/*———————————–———————————–————————
	Common Parts
———————————–———————————–————————*/
.breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	line-height: 1.4;
}

.breadcrumb ol li:not(:last-of-type)::after {
	content: "＞";
	display: inline-block;
}

.common-link-btn {
	margin-inline: auto;
	max-width: 380px;
}

.common-link-btn a {
	align-items: center;
	border-radius: 40px;
	justify-content: center;
	letter-spacing: var(--kerning80);
	margin-inline: auto;
	position: relative;
}

.common-link-btn a::after {
	background: url(images/common/arrow-white-r.svg) no-repeat center center/contain;
	content: "";
	display: inline-block;
	height: 14px;
	position: absolute;
	top: center;
	width: 8px;
}


/*———————————–———————————–————————
	Common Header
———————————–———————————–————————*/
.header {
	background: #fff;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .08);
	height: var(--header-height);
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}

.header-logo img {
	height: auto;
}


/*———————————–———————————–————————
	Common Search
———————————–———————————–————————*/
.header-search {
	position: relative;
}

.header-search-window {
	-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	background: none;
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 14px;
	line-height: 1;
	width: 100%;
}

.header-search-submit {
	background: var(--color-main) url(images/common/icon-search.svg) no-repeat center center/14px 14px;
	border: none;
	border-radius: 0 5px 5px 0;
	height: 30px;
	right: 0;
	position: absolute;
	top: 0;
	width: 30px;
}


/*———————————–———————————–————————
	Common Footer
———————————–———————————–————————*/
/* contact */
.footer {
	position: relative;
}

.footer-contact {
	background: var(--color-sub);
	color: #333;
	display: flex;
	position: absolute;
}

.footer-contact-ttl-ja {
	display: block;
}

.footer-contact-ttl {
	color: var(--color-main);
}

.footer-contact-nav ul {
	display: flex;
	flex-direction: column;
}

.footer-contact-nav a {
	align-items: center;
	border-radius: 40px;
	justify-content: center;
	letter-spacing: var(--kerning80);
	margin-inline: auto;
	max-width: 380px;
}

.footer-contact-nav a::before {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	margin-right: 8px;
}

.footer-contact-nav-form::before {
	background-image: url(images/common/icon-mail.svg);
}

.footer-contact-nav-tel::before {
	background-image: url(images/common/icon-tel.svg);
}

.footer-contact-nav-form {
	position: relative;
}

.footer-contact-nav-form::after {
	background: url(images/common/arrow-white-r.svg) no-repeat 96% center/contain;
	content: "";
	display: inline-block;
	height: 14px;
	position: absolute;
	right: 30px;
	text-outline: center;
	width: 8px;
}

.footer-contact-note {
	font-size: 12px;
}

/* footer */
.footer {
	background: var(--base-font-color);
	color: #fff;
}

.footer a {
	color: #fff;
}

.footer-top,
.footer-nav {
	margin-bottom: var(--margin-s40p60);
}

.footera-address {
	font-size: 12px;
}

.footer-nav-list-sub ul {
	font-size: 12px;
}

.footer-nav-list-sub ul li {
	display: flex;
	align-items: center;
}

.footer-nav-list-sub ul li::before {
	background: var(--color-main);
	content: "";
	display: inline-block;
	height: 2px;
	margin-right: 4px;
	width: 8px;
}

.footer-copy {
	border-top: 1px solid #fff;
	font-size: 12px;
}

.copyright,
.footer-recaptcha {
	text-align: center;
}

.footer-recaptcha a {
	text-decoration: underline;
}

.top-scroll-btn {
	bottom: 20px;
	position: fixed;
	right: 20px;
}


/* page side sns */
.page-side-sns {
	align-items: center;
	bottom: 20px;
	display: flex;
	flex-direction: column;
	font-size: 16px;
	left: 14px;
	position: fixed;
	z-index: 5;
}

.page-side-sns-text {
	letter-spacing: var(--kerning100);
	margin-bottom: 10px;
	text-orientation: upright;
	text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff;
	writing-mode: vertical-rl;
}

.page-side-sns-list {
	display: flex;
	flex-direction: column;
	row-gap: 14px;
}


/*———————————–———————————–————————
	Common Home
———————————–———————————–————————*/
.home-mv {
	background: #eee;
	margin-bottom: 30px;
	position: relative;
	width: 100%;
}

.home-mv-video {
	position: absolute;
	top: 0;
}

.home-mv-video video {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.home-mv-video div::after {
	background-color: rgba(0 0 0 / .1);
	background-image: radial-gradient(rgba(0 0 0 / .3) 30%, rgba(0 0 0 / 0) 31%), radial-gradient(rgba(0 0 0 / .3) 30%, rgba(0 0 0 / 0) 31%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
	content: '';
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.home-mv .container {
	position: relative;
}

.home-mv-copy {
	left: 0;
	position: absolute;
	top: 415px;
}

/* news */
.home-news {
	background: var(--color-sub);
}

.news-ttl-ja {
	letter-spacing: var(--kerning40);
}

.news-ttl {
	color: var(--color-main);
}

.news-ttl::after {
	background: url(images/common/ttl-deco.svg) no-repeat center center/contain;
	content: "";
	display: block;
}

.news-list {
	flex-direction: column;
}

.news-list-item {
	border-bottom: 1px solid var(--color-line-gray01);	
}

.news-item-ttl {
	width: 100%;
}

.news-cate {
	gap: 16px 10px;
}

.news-cate-label a {
	background: #fff;
	border: 1px solid var(--color-main);
	border-radius: 10px;
	color: var(--color-main);
	display: block;
	font-size: 12px;
}

.news-item-ttl {
	line-height: 1.5;
	font-size: 14px;
	text-align: justify;
}

.news-link-btn .gradation-green {
	align-items: center;
	border-radius: 30px;
	justify-content: center;
	position: relative;
}

.news-link-btn .gradation-green::after {
	background: url(images/common/arrow-white-r.svg) no-repeat center center/contain;
	content: "";
	display: inline-block;
	height: 14px;
	position: absolute;
	top: center;
	width: 8px;
}

.news-item-ttl a {
	column-gap: 6px;
	display: inline-flex;
	position: relative;
}

.news-item-ttl a::before {
	background: var(--color-main) url(images/common/arrow-white-r.svg) no-repeat center center/12px 8px;
	border-radius: 50px;
	content: "";
	display: inline-block;
	height: 1em;
	margin-top: 2px;
	min-width: 1em;
}


/* about */
.home-about {
	margin-bottom: var(--margin-s80p120);
}

.home-about-ttl {
	text-align: center;
}

.home-about-ttl {
	color: var(--color-main);
}

.home-about-ttl span {
	background: linear-gradient(transparent 70%, var(--color-marker) 70%);
	padding-inline: 6px;
}

.home-about-text {
	font-weight: bold;
	letter-spacing: var(--kerning40);
}

.home-about-list-wrap {
	overflow-x: hidden;
	width: 100%;
}

.home-about-list {
	flex-direction: column;
	margin: 0 auto var(--margin-s40p60);
}

.home-about-list-sect {
	background: var(--color-sub);
}

.home-about-list-item {
	position: relative;
}

.home-about-list-item::before {
	content: "";
	display: block;
	z-index: 1;
}

.home-about-list-item:first-of-type::before {
	background: url(images/home/about-img01.jpg) no-repeat center center/contain;
}

.home-about-list-item:nth-of-type(2)::before {
	background: url(images/home/about-img02.jpg) no-repeat center center/contain;
}

.home-about-list-ttl {
	display: inline-block;
	position: relative;
}

.home-about-list-ttl::before,
.home-about-list-ttl::after {
	background: url(images/common/ttl-deco-sub.svg) no-repeat center center/contain;
	content: "";
	display: block;
	position: absolute;
}

.home-about-list-ttl::before {
	left: 0;
	top: 0;
}

.home-about-list-ttl::after {
	bottom: 0;
	right: 0;
}

/* business */
.home-business {
	background: var(--color-sub) url(images/home/business-bg.jpg) repeat-x top center/3000px 2071px;
	padding-block: var(--margin-s80p120);
}

.home-business-ttl-ja {
	display: block;
	letter-spacing: var(--kerning40);
	text-align: center;
}

.home-business-ttl {
	align-items: center;
	color: var(--color-main);
	display: flex;
	flex-direction: column;
	text-align: center;
}

.home-business-ttl::after {
	background: url(images/common/ttl-deco.svg) no-repeat center center/contain;
	content: "";
	display: block;
}

.home-business-list li {
	background: #fff;
	position: relative;
}

.home-business-list .d-flex {
	flex-direction: column;
	height: 100%;
}

.home-business-list-num {
	position: absolute;
}

.home-business-list-img img {
	max-width: initial;
	width: 100%;
}

.home-business-list-ttl {
	letter-spacing: var(--kerning80);
	line-height: 1.3;
	text-align: center;
}

.home-business-list-ttl span {
	background: #fff;
	border-radius: 5px;
	display: inline-block;
}

.home-business-list-button {
	align-self: flex-end;
	margin-top: auto;
}

.home-business-list-button .gradation-green {
	align-items: center;
	height: 100%;
	justify-content: center;
	position: relative;
}

.home-business-list-button .gradation-green::after {
	background: url(images/common/arrow-white-r.svg) no-repeat center center/contain;
	content: "";
	display: inline-block;
	height: 10px;
	position: absolute;
	width: 6px;
}

/* recruit */
.home-recruit {
	color: #fff;
	margin-bottom: var(--margin-s60p120);
	text-align: center;
}

.home-recruit-ttl-ja {
	display: block;
	letter-spacing: var(--kerning40);
}

.home-recruit-ttl {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.home-recruit-ttl::after {
	background: url(images/common/ttl-deco-white.svg) no-repeat center center/contain;
	content: "";
	display: block;
}

.home-recruit-ttl-sub,
.home-recruit-text {
	letter-spacing: var(--kerning40);
}

/* banner area */
.home-bnr-list {
	display: grid;
}


/*———————————–———————————–————————
	Common Page.php
———————————–———————————–————————*/
.page-ttl-img-wrap {
	color: #fff;
	position:relative;
	margin-bottom: var(--margin-s40p60);
}

.page-ttl-img-wrap::after {
	background: #eee;
	content: "";
	display: block;
	left: 0;
	position: absolute;
	top: 0;
	width: 100vw;
	z-index: -2;
}

.page-tmb {
	aspect-ratio: 1920/300;
	background: #eee;
	height: 100%;
	left: 50%;
	object-fit: cover;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	z-index: -1;
}

.page-ttl {
	letter-spacing: var(--kerning80);
}

.page-ttl::after {
	color: #fff;
	display: block;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
}

.about-page .page-ttl::after {
	content: "About";
}

.company-info-page .page-ttl::after {
	content: "Company";
}

.ict-page .page-ttl::after {
	content: "i-Construction";
}

.business-info-page .page-ttl::after {
	content: "Business";
}

.product-page .page-ttl::after {
	content: "Products";
}

.access-page .page-ttl::after {
	content: "Access";
}

.contact-page .page-ttl::after,
.complete-page .page-ttl::after {
	content: "Contact";
}

.page-sect {
	margin-bottom: var(--margin-s80p120);
}

.page-inner-sect {
	margin-bottom: var(--margin-s40p60);
}

.page-sect-ttl {
	align-items: center;
	display: flex;
	flex-direction: column;
	letter-spacing: var(--kerning80);
	margin-bottom: var(--margin-s40p60);
	text-align: center;
}

.page-sect-ttl::after,
.page-sect-ttl-left::after {
	background: var(--color-main);
	content: "";
	display: block;
	height: 2px;
}

.page-sect-ttl-left {
	display: flex;
	flex-direction: column;
	letter-spacing: var(--kerning80);
	margin-bottom: var(--margin-s40p60);
}

.page-sect-sub-ttl {
	display: flex;
	font-weight: 600;
	margin-bottom: var(--t-margin-s20p30);
}

.page-sect-sub-ttl::before {
	background: var(--color-main);
	border-radius: 50%;
	content: "";
	display: inline-block;
}


/*--- Common about page ---*/
.about-page-nav {
	margin-bottom: var(--margin-s60p120);
}

.about-page-nav ul {
	justify-content: space-between;
}

.about-page-nav ul li{
	background: var(--color-sub);
	flex-grow: 1;
}

.about-page-nav a {
	align-items: center;
	background: url(images/common/arrow-black-b.svg) no-repeat 92% center/10px 6px;
	display: flex;
	justify-content: center;
}

.about-page-text01,
.about-page-logo {
	margin-bottom: var(--margin-s40p60);
}

.about-page-text02 {
	margin-bottom: var(--margin-s30p40);
}

.about-page-text02 > span {
	display: block;
}

.about-page-text02 span span {
	background: linear-gradient(transparent 50%, var(--color-marker) 50%);
	display: inline-block;
	line-height: 1.4;
	padding-inline: .1em;
}

.about-page-logo img {
	margin-inline: auto;
}

.page-sect.about-works {
	margin-bottom: 0;
}

.about-works {
	background: var(--color-sub) url(images/about/about-works-bg.jpg) no-repeat top center / 3000px 2453px;
	padding-block: var(--margin-s80p120);
}

.about-works-video {
	background: #fff;
	margin-bottom: var(--t-margin-s40p60);
	padding: 8px;
}

.about-works-video video {
	display: block;
	height: auto;
	width: 100%;
}

.about-works-text01 {
	margin-bottom: var(--t-margin-s30p60);
}

.about-works-iamge {
	margin-bottom: var(--t-margin-s30p60);
}

.about-works-iamge img {
	margin-inline: auto;
}

.about-works-text02 {
	margin-bottom: var(--t-margin-s60p120);
}

.about-works-quality {
	background: #fff;
}

.about-works-quality-ttl {
	line-height: 1.3;
	text-align: center;
}

.about-works-quality-ttl span {
	background: linear-gradient(transparent 60%, var(--color-marker) 60%);
	display: inline-block;
	padding-inline: .1em;
}

.about-works-quality-text {
	margin-bottom: var(--t-margin-s20p40);
	text-align: justify;
}

.about-works-quality-list {
	flex-direction: column;
}

.about-works-quality-list li {
	column-gap: 1em;
	display: flex;
}

.about-works-quality-list li::before {
	content: attr(data-list-num);
	display: inline-block;
}

.about-ict {
	color: #fff;
}

.about-ict-ttl {
	letter-spacing: var(--kerning80);
	text-align: center;
}

.about-message-top {
	margin-bottom: var(--margin-s30p40);
}

.about-message-top-text {
	flex-direction: column;
	letter-spacing: var(--kerning80);
}

.about-message-contents {
	flex-direction: column;
	row-gap: var(--t-margin-s20p30);
}

.about-message-sign {
	align-items: center;
	justify-content: flex-end;
	letter-spacing: var(--kerning40);
}

.about-message-sign span {
	display: block;
}

.about-message-sign-name img {
	margin-bottom: 4px;
}


/*--- Common Company info page ---*/
.co-info-tbl {
	border-top: 1px solid var(--color-line-gray01);
	display: grid;
	width: 100%;
}

.co-info-tbl dt,
.co-info-tbl dd {
	border-bottom: 1px solid var(--color-line-gray01);
}

.co-info-tbl dt {
	font-weight: 600;
	vertical-align: top;
}

.co-info-tbl .gradation-green {
	align-items: center;
	display: flex;
	justify-content: center;
	line-height: 1;
	position: relative;
}

.co-info-tbl .gradation-green::after {
	background: url(images/common/icon-link.svg) no-repeat center center/contain;
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.co-info-tbl ul {
	flex-direction: column;
	row-gap: 4px;
}

.co-info-history {
	background: var(--color-bg-gray);
	padding-block: var(--t-margin-s40p60);
}

.co-info-history-tbl {
	border-top: 1px solid var(--color-line-gray01);
	display: grid;
	width: 100%;
}

.co-info-history-tbl dt,
.co-info-history-tbl dd {
	border-bottom: 1px solid var(--color-line-gray01);
}

.co-info-history-tbl dt {
	font-weight: 600;
	vertical-align: top;
}


/*--- Common ICT page ---*/
.ict-page-top-text {
	margin-bottom: var(--t-margin-s20p30);
}

.ict-page-top-image img {
	margin-inline: auto;
}

.ict-importance-list {
	flex-direction: column;
}

.ict-importance-list-ttl {
	display: inline-block;
	font-weight: 600;
	position: relative;
}

.ict-importance-list-ttl span {
	padding-inline: 0 4px;
}

.ict-importance-list-ttl::before {
	content: attr(data-list-num);
}

.ict-importance-list-ttl::after {
	background: linear-gradient(transparent 60%, var(--color-marker) 60%);
	bottom: 0;
	content: "";
	display: inline-block;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.ict-importance-list dt {
	font-weight: 600;
}

.ict-importance-list dl dd:first-of-type {
	margin-bottom: var(--t-margin-s10p20);
}

.ict-attempt-text {
	margin-bottom: var(--t-margin-s20p30);
}

.ict-attempt-iamge {
	justify-content: space-between;
}

.ict-products-list {
	flex-direction: column;
	row-gap: var(--t-margin-s10p20);
}

.ict-products-list-ttl {
	font-weight: 600;
}


/*--- Common Business info page ---*/
.biz-info-page-ttl {
	background: var(--color-sub);
	border-radius: 28px;
	letter-spacing: var(--kerning40);
	text-align: center;
}

.biz-info-page-detail {
	flex-direction: column;
	line-height: 1.4;
}

.biz-info-page-detail li {
	column-gap: 6px;
	display: flex;
}

.biz-info-page-detail li::before {
	align-self: flex-start;
	background: var(--color-black);
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 8px;
	min-width: 8px;
	width: 8px;
}

.biz-info-page-detail li span span {
	color: var(--color-main);
	font-weight: 600;
}

.biz-info-page-text {
	margin-bottom: var(--t-margin-s40p60);
}

.biz-info-page-list {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-s40p60);
}

.biz-info-page-list li section {
	display: flex;
	justify-content: space-between;
}

.biz-info-page-list-ttl {
	align-items: center;
	display: flex;
	letter-spacing: var(--kerning80);
	line-height: 1.3;
}

.biz-info-page-list-ttl::before {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
}

.biz-info-page-list li:first-of-type .biz-info-page-list-ttl::before {
	background-image: url(images/home/business-num01.png);
}

.biz-info-page-list li:nth-of-type(2) .biz-info-page-list-ttl::before {
	background-image: url(images/home/business-num02.png);
}

.biz-info-page-list li:nth-of-type(3) .biz-info-page-list-ttl::before {
	background-image: url(images/home/business-num03.png);
}

.biz-info-page-list li:nth-of-type(4) .biz-info-page-list-ttl::before {
	background-image: url(images/home/business-num04.png);
}

.biz-info-page-list li:nth-of-type(5) .biz-info-page-list-ttl::before {
	background-image: url(images/home/business-num05.png);
}

.biz-info-page-list li:nth-of-type(6) .biz-info-page-list-ttl::before {
	background-image: url(images/home/business-num06.png);
}

.biz-info-page-list li:nth-of-type(7) .biz-info-page-list-ttl::before {
	background-image: url(images/home/business-num07.png);
}

.biz-info-page-list li:nth-of-type(8) .biz-info-page-list-ttl::before {
	background-image: url(images/home/business-num08.png);
}

.biz-info-page-list li:nth-of-type(9) .biz-info-page-list-ttl::before {
	background-image: url(images/home/business-num09.png);
}

.biz-info-page-list-image img {
	max-width: initial;
	width: 100%;
}

.biz-info-page-list-explain {
	display: flex;
	flex-direction: column;
}

.biz-info-page-list-btn {
	align-items: center;
	display: flex;
	font-weight: 600;
	justify-content: flex-end;
	letter-spacing: var(--kerning80);
	line-height: 1;
	margin: auto 0 0 auto;
}

.biz-info-page-list-btn::after {
	background: url(images/common/arrow-white-r.svg) no-repeat center center/contain;
	content: "";
	display: inline-block;
	height: 10px;
	width: 6px;
}

/*--- Common Product page ---*/
.product-page-text {
	margin-bottom: var(--margin-s10p20);
}

.product-page-note small::before {
	content: "※";
}

.product-page-list {
	justify-content: space-between;
}

.product-page-list li {
	background: var(--color-bg-gray);
}

.product-page-list li a {
	align-items: center;
	display: flex;
}

.product-page-list-icon {
	align-items: center;
	display: flex;
	height: 80px;
	justify-content: center;
	min-width: 80px;
	width: 80px;
}

.product-page-list li p {
	font-weight: 600;
	flex-grow: 1;
}

.product-page-list li:last-of-type p::after {
	color: var(--color-red);
	content: "New!";
	display: inline-block;
	margin-left: 4px;
}


/*--- Common Access page ---*/
.access-page-text02 {
	margin-bottom: var(--t-margin-s80p120);
}

.access-page-map {
	margin-bottom: var(--margin-s40p60);
}

.access-page-map img {
	margin-inline: auto;
}

.access-page-list {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-s30p40);
}

.access-page-list li {
	background: var(--color-bg-gray);
}

.access-page-list-ttl {
	border-bottom: 1px solid var(--color-line-gray01);
	line-height: 1;
}

.access-page-list li address {
	margin-bottom: var(--t-margin-s20p30);
}

.access-page-list-loc {
	display: flex;
}

.access-page-list-loc-map div {
	width: 100%;
}

.access-page-list-loc-map iframe {
	border: 1px solid var(--color-line-gray01);
	height: 100%;
	width: 100%;
}

.access-page-list-loc-btn {
	align-items: center;
	display: flex;
	justify-content: center;
	line-height: 1;
	margin: 14px 0 0 auto;
	position: relative;
}

.access-page-list-loc-btn::after {
	background: url(images/common/icon-link.svg) no-repeat center center / contain;
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}


/*--- Common Contact page ---*/
.main.contact-page-main {
	padding-bottom: var(--margin-s80p120);
}

.contact-page-text01 {
	margin-bottom: var(--t-margin-s20p30);
}

.contact-page-address {
	border: 1px solid var(--base-font-color);
	border-radius: 10px;
	margin: 0 auto var(--margin-s40p60);
	max-width: 600px;
	position: relative;
	text-align: center;
}

.contact-page-address-ttl {
	display: inline-block;
	font-size: 16px;
	left: 50%;
	letter-spacing: var(--kerning80);
	position: absolute;
	transform: translateX(-50%);
	top: -12px;
}

.contact-page-address-ttl span {
	background: #fff;
}

.contact-page-address address {
	letter-spacing: var(--kerning80);
}

.contact-page-address address span {
	display: block;	
}

.contact-page-form {
	background: var(--color-bg-gray);
}

.contact-page-form-ttl {
	letter-spacing: var(--kerning80);
	margin-bottom: var(--margin-s30p40);
	text-align: center;
}

.form-parts {
	margin-bottom: var(--margin-s40p60);
}

.form-parts dt {
	line-height: 1;
	margin-bottom: 10px;
}

.form-parts dd:not(:last-of-type) {
	margin-bottom: var(--margin-s20p30);
}

.form-required::before {
	background: var(--color-red);
	border-radius: 2px;
	color: #fff;
	content: "必須";
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	line-height: 1;
	margin-right: 6px;
	padding: 4px;
}

.form-optional::before {
	border-radius: 2px;
	border: 1px solid var(--base-font-color);
	content: "任意";
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	line-height: 1;
	margin-right: 6px;
	padding: 4px;
}

.form-parts .wpcf7-form-control {
	display: flex;
	flex-wrap: wrap;
}

.form-parts .wpcf7-list-item {
	margin: 0;
}

.form-parts input[type="text"],
.form-parts input[type="tel"],
.form-parts input[type="email"],
.form-parts textarea {
	border: 1px solid var(--color-line-gray01);
	border-radius: 2px;
	padding: 8px 10px;
}

.form-parts input[type="text"],
.form-parts input[type="tel"] {
	max-width: 360px;
	width: 100%;
}

.form-parts .post-code input[type="text"] {
	max-width: 180px;
	width: 100%;
}


.form-parts input[type="email"],
.form-parts textarea {
	width: 100%;
}

.form-parts input:focus,
.form-parts textarea:focus {
	outline: 2px solid var(--color-main);
}

.form-parts input[type="radio"] {
	display: none;
}

.form-parts .wpcf7-radio .wpcf7-list-item-label {
	padding: 0 0 0 28px;
	position: relative;
}

.form-parts .wpcf7-radio .wpcf7-list-item-label::before,
.form-parts .wpcf7-radio .wpcf7-list-item-label::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
}

.form-parts .wpcf7-radio .wpcf7-list-item-label::before {
	background: var(--color-main);
	border-radius: 50%;
	height: 12px;
	left: 4px;
	margin-top: -6px;
	opacity: 0;
	width: 12px;
	z-index: 2;
}

.form-parts .wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label:before {
	opacity: 1;
}

.form-parts .wpcf7-radio .wpcf7-list-item-label:after {
	background: #fff;
	border: solid 1px var(--color-line-gray01);
	border-radius: 50%;
	height: 20px;
	left: 0;
	margin-top: -10px;
	width: 20px;
	z-index: 1;
}

.form-parts ::placeholder {
	color: var(--color-line-gray01);
}

.form-bottom-text {
	margin-bottom: var(--t-margin-s10p20);
}

.form-policy {
	background: #fff;
	border: 1px solid #b5b5b5;
	font-size: 14px;
	height: 144px;
	margin-bottom: var(--margin-s30p40);
	overflow-y: scroll;
}

.form-policy-ttl {
	font-size: 14px;
}

.form-policy-ttl::before {
	content: "＜";
}

.form-policy-ttl::after {
	content: "＞";
}

.form-policy-top-text {
	margin-bottom: var(--t-margin-s20p30);
}

.form-policy-list {
	border-bottom: 1px solid var(--color-line-gray01);
	margin-bottom: var(--margin-s30p40);
	padding-bottom: var(--margin-s30p40);
}

.form-policy-list dt::before {
	content: "（";
}

.form-policy-list dt::after {
	content: "）";
}

.form-policy-list dd:not(:last-of-type) {
	margin-bottom: var(--margin-s10p20);
}

.form-btn-wrap {
	max-width: 380px;
	margin-inline: auto;
	position: relative;
}

.form-btn-wrap input {
	align-items: center;
	border: none;
	border-radius: 40px;
	display: flex;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: var(--kerning80);
	line-height: 1;
	justify-content: center;
	width: 100%;
}

.form-btn-wrap::after {
	background: url(images/common/arrow-white-r.svg) no-repeat center center/contain;
	content: "";
	display: block;
	position: absolute;
	height: 14px;
	right: 30px;
	width: 8px;
}


/*--- Common Contact complete page ---*/
.contact-complete-text {
	margin-block: var(--t-margin-s20p30) var(--margin-s60p80);
}


/*———————————–———————————–————————
	Common page-nobg.php
———————————–———————————–————————*/
.page-ttl-bg-wrap {
	margin-bottom: var(--margin-s40p60);
}

.page-ttl-bg-wrap .page-ttl {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 800;
	letter-spacing: var(--kerning80);
}

.page-top-text {
	margin-bottom: var(--margin-s40p60);
}


/*———————————–———————————–————————
	Common Business Subpage
———————————–———————————–————————*/
.biz-subpage-list {
	flex-direction: column;
}

.biz-subpage-list > li {
	display: flex;
}

.biz-subpage-list > li:not(:first-of-type) {
	border-top: 1px solid var(--color-line-gray01);
	margin-top: var(--margin-s40p60);
	padding-top: var(--margin-s40p60);
}

.biz-subpage-list-contents p {
	text-align: justify;
}

.biz-subpage-list-contents p:not(:last-of-type) {
	margin-bottom: 14px;
}


/*--- Common Business Subpage rental ---*/
.rental-page .about-ict {
	margin-top: var(--margin-s80p120);
}

.biz-subpage-list-contents-rental-list {
	display: flex;
	flex-direction: column;
	list-style-type: disc;
	padding-left: 1.5em;
	row-gap: var(--t-margin-s10p20);
}


/*--- Common Business Subpage transportation ---*/
p.transportation-page-link,
.transportation-page-link a {
	color: var(--color-main);
	text-align: left;
}

.transportation-page-link span {
	display: block;
}

.transportation-page-link span::after {
	content: url(images/common/icon-link-green.svg);
}


/*--- Common Business Subpage road-cutting ---*/
.road-cutting-page-office {
	margin-block: 14px 24px;
}

.road-cutting-page-details {
	border: 1px solid var(--color-line-gray01);
}

.road-cutting-page-details {
	column-gap: 1em;
	display: grid;
	grid-template-columns: max-content 1fr;
}

.road-cutting-flow {
	margin-bottom: var(--margin-s40p60);
}

.road-cutting-flow-image {
	margin-bottom: 8px;
}

.road-cutting-flow-ttl {
	font-weight: 600;
}

.road-cutting-flow-ttl span {
	background: linear-gradient(transparent 40%, var(--color-marker) 40%);
	content: "";
	box-decoration-break: clone;
	padding: 0 4px 6px 0;
}

.road-cutting-flow-text {
	text-align: justify;
}


/*--- Common Business Subpage forestry ---*/
.forestry-organization-membership {
	margin-top: var(--t-margin-s20p30);
}

.forestry-products-list dd:not(:last-of-type) {
	margin-bottom: var(--t-margin-s10p20);
}

.forestry-environmental-machinery-rental-page .biz-subpage-list-image span {
	display: block;
	margin-top: var(--t-margin-s10p20);
}


/*--- Common Widget Business location ---*/
.widget-biz-loc {
	background: var(--color-bg-gray);
	display: flex;
	margin-top: var(--margin-s80p120);
}

.widget-biz-loc-ttl {
	align-items: center;
	column-gap: 6px;
	display: flex;
}

.widget-biz-loc-ttl::before {
	background: var(--color-main);
	border-radius: 50%;
	content: "";
	display: inline-block;
}

.widget-biz-loc .access-page-list-loc-btn {
	margin: 0;
}

.widget-biz-loc-office {
	border-top: 1px solid var(--color-line-gray01);
	margin-top: 20px;
	padding-top: 18px;
}

.widget-biz-loc-office ul li {
	display: flex;
}

.widget-biz-loc-office ul li span:first-of-type {
	white-space: nowrap;
}


/*———————————–———————————–———————————————————
	Common Policy page (privacy / site / sns)
———————————–———————————–—————————————————————*/
.policy-list-contents ul {
	list-style-type: disc;
	padding-left: 1.5em;
}

.policy-list-contents span {
	display: block;
	margin-bottom: var(--t-margin-s20p30);
}

.site-policy-page a,
.sns-policy-page a {
	color: var(--color-main);
	text-decoration: underline;
}


/*———————————–———————————–————————
	Common single-recruit.php
———————————–———————————–————————*/
.recruit-main .page-ttl::after {
	content: "Recruit";
}

.senior-prof {
	align-items: flex-start;
	background: var(--color-bg-gray);
	display: flex;
	margin-bottom: var(--margin-s80p120);
}

.senior-prof-image {
	aspect-ratio: 1/1;
	height: 100%;
	margin-bottom: var(--t-margin-s20p30);
	object-fit: cover;
	width: 100%;
}

.senior-prof-who {
	border-bottom: 1px solid var(--color-line-gray01);
}

.senior-prof .page-sect-sub-ttl {
	line-height: 1.5;
}

.senior-prof-list dd {
	text-align: justify;
}

.senior-prof-list dd:not(:last-of-type) {
	margin-bottom: var(--margin-s20p30);
}

.single-recruit-wrap .biz-info-page-ttl {
	margin-bottom: var(--margin-s40p60);
}

.other-senior-list {
	display: flex;
	flex-wrap: wrap;
}

.other-senior-list li {
	display: flex;
	flex-direction: column;
	height: auto;
}

.other-senior-image {
	margin-bottom: var(--t-margin-s10p20);
}

.other-senior-image a {
	display: block;
	border-radius: 50%;
}

.other-senior-image img {
	aspect-ratio: 1/1;
	border-radius: 50%;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.other-senior-btn {
	margin-top: auto;
}

.other-senior-btn a {
	align-items: center;
	display: flex;
	justify-content: center;
	letter-spacing: var(--kerning80);
	position: relative;
}

.other-senior-btn a::after {
	background: url(images/common/arrow-white-r.svg) no-repeat center center/contain;
	content: "";
	display: inline-block;
	height: 10px;
	position: absolute;
	right: 14px;
	width: 6px;
}


/*———————————–———————————–————————
	Common archive-recruit.php
———————————–———————————–————————*/
.archive-recruit-top-text01 {
	margin-bottom: var(--t-margin-s20p30);
}

.archive-recruit-top-text02 {
	margin-bottom: var(--t-margin-s40p60);
}

.recruit-archive-nav {
	margin-bottom: var(--t-margin-s80p120);
}

.recruit-archive-nav li {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 48%;
}

.recruit-archive-nav li a {
	background-repeat: no-repeat;
	display: flex;
	color: #fff;
	height: 100%;
	letter-spacing: var(--kerning80);
	line-height: 1;
}

.recruit-archive-nav li span {
	align-items: center;
	display: flex;
	width: 100%;
}

.recruit-archive-nav-human a,
.recruit-archive-nav-entry a,
.recruit-archive-nav-employees a {
	background-image: url(images/common/arrow-white-b.svg);
}

.recruit-archive-info {
	margin-bottom: var(--margin-s80p120);
}

.recruit-archive-human p {
	margin-bottom: var(--margin-s40p60);
	text-align: justify;
}

.recruit-archive-info .page-sect-ttl-left {
	margin-bottom: var(--t-margin-s40p60);
}

.recruit-archive-entry p {
	margin-bottom: var(--t-margin-s20p30);
	text-align: justify;
}

.recruit-archive-entry-list a {
	align-items: center;
	display: flex;
	font-weight: 600;
	justify-content: center;
	margin-bottom: 4px;
	position: relative;
}

.recruit-archive-entry-list a::after {
	background: url(images/common/icon-link.svg) no-repeat center center/contain;
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.recruit-archive-video {
	margin-bottom: var(--margin-s40p60);
}

.recruit-archive-video video {
	display: block;
	height: auto;
	width: 100%;
}


/*———————————–———————————–————————
	Common single.php
———————————–———————————–————————*/
.news-main .page-ttl::after {
	content: "News";
}

.news-page-header {
	margin-bottom: var(--margin-s20p30);
}

.news-page-ttl {
	border-bottom: 1px solid var(--color-line-gray01);
	letter-spacing: var(--kerning80);
	margin-bottom: var(--t-margin-s20p30);
}

.news-page-info {
	display: flex;
}

.news-page-contents {
	display: flex;
	flex-direction: column;
	margin-bottom: var(--margin-s40p60);
	row-gap: var(--t-margin-s20p30);
}

.news-page-eyecatch {
	display: flex;
	justify-content: center;
	margin-top: 10px;
}

.news-page-btn {
	margin-inline: auto;
	max-width: 380px;
}

.news-page-btn a {
	align-items: center;
	background: url(images/common/arrow-black-l.svg) no-repeat 6% center/8px 14px;
	border: 2px solid var(--color-black);
	display: flex;
	justify-content: center;
	letter-spacing: var(--kerning80);
	width: 100%;
}

/**
 * Content Width images
 */
.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
	max-width: 100%;
	height: auto;
}

/**
 * Captions
 */
.wp-caption,
.gallery-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0;
}

/**
 * align
 */
.alignright {
	float: right;
	margin: 5px 0 10px 10px;
}

.alignleft {
	float: left;
	margin: 5px 10px 10px 0;
}

.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

/**
 * By Post Author
 */
.bypostauthor {
	background: #efefef;
}


/*———————————–———————————–————————
	Common archive.php
———————————–———————————–————————*/
.archive-list {
	background: var(--color-bg-gray);
	display: flex;
	flex-direction: column;
	margin-bottom: var(--margin-s40p60);
	row-gap: var(--margin-s20p30);
	padding: var(--margin-s30p60);
}

.archive-list-item:not(:last-of-type) {
	border-bottom: 1px solid var(--color-line-gray01);
	padding-bottom: var(--margin-s20p30);
}

.archive-list-detail {
	display: flex;
	margin-bottom: 14px;
}

.archive-list-ttl {
	font-size: 14px;
}

.nav-links {
	align-items: center;
	column-gap: 20px;
	display: flex;
	justify-content: center;
}

.nav-links .current {
	color: var(--color-main);
	font-weight: 600;
}

.archive-list-ttl a {
	column-gap: 6px;
	display: inline-flex;
	position: relative;
}

.archive-list-ttl a::before {
	background: var(--color-main) url(images/common/arrow-white-r.svg) no-repeat center center/12px 8px;
	border-radius: 50px;
	content: "";
	display: inline-block;
	height: 1em;
	margin-top: 3px;
	min-width: 1em;
}


/*———————————–———————————–————————
	Common search.php
———————————–———————————–————————*/
.search-num {
	border-bottom: 1px solid var(--color-line-gray01);
	margin-bottom: var(--margin-s30p40);
	padding-bottom: 10px;
}

.serch-list {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-s20p30);
	margin-bottom: var(--margin-s40p60);
}

.search-item:not(:last-of-type) {
	border-bottom: 1px solid var(--color-line-gray01);
	padding-bottom: var(--margin-s20p30);
}

.search-item-ttl {
	font-size: 16px;
	letter-spacing: var(--kerning40);
	line-height: 1.4;
}

.search-contents {
	line-height: 1.4;
	margin-top: var(--t-margin-s10p20);
}

.read-more {
	margin-left: .5em;
	text-decoration: underline;
}

.search-word {
	background: linear-gradient(transparent 40%, var(--color-marker) 40%);
	font-weight: 600;
}


/*———————————–———————————–————————
	Common 404.php
———————————–———————————–————————*/
.not-found-text {
	margin-bottom: var(--margin-s60p80);
}


/* Hover style
========================================================================== */
@media (any-hover:hover) {
	a:hover,
	.header-search-submit:hover,
	.top-scroll-btn:hover,
	.form-btn-wrap input:hover {
		cursor: pointer;
		opacity: .8;
	}
}


/* SP style
========================================================================== */
@media screen and (width <= 768px) {
	/*———————————–———————————–————————
		SP common style
	———————————–———————————–————————*/
	.container {
		width: 92%;
	}

	.only-sp {
		display: block;
	}

	.common-link-btn a {
		height: 70px;
		width: 90%;
	}

	.common-link-btn a::after {
		right: 30px;
	}

	.main,
	.home-main {
		padding-bottom: 360px;
	}


	/*———————————–———————————–————————
	 SP	Common Parts
	———————————–———————————–————————*/
	.breadcrumb {
		font-size: 12px;
		padding-inline: 4%;
		margin-block: 12px;
	}

	.breadcrumb ol {
		row-gap: 6px;
	}

	.breadcrumb ol li:not(:last-of-type)::after {
		margin-inline: 8px;
	}

	.with-shadow {
		box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
	}


	/*———————————–———————————–————————
		SP Header
	———————————–———————————–————————*/
	.header-inner.container {
		width: 100%;
	}

	.header-inner {
		align-items: center;
		height: 100%;
		justify-content: space-between;
		padding-left: 4%;
	}

	.header-logo img {
		width: 160px;
	}


	/*———————————–———————————–————————
		SP Search
	———————————–———————————–————————*/
	.header-search {
		margin: 0 auto 20px;
		width: 92%;
	}

	.header-search-window {
		height: 41px;
		padding: 9px 34px 9px 10px;
	}

	.header-search-submit {
		background: var(--color-main) url(images/common/icon-search.svg) no-repeat center center/18px 18px;
		height: 41px;
		width: 40px;
	}


	/*———————————–———————————–————————
		SP Hamburger
	———————————–———————————–————————*/
	.hamburger-btn {
		align-items: center;
		background: var(--color-main);
		display: flex;
		height: 100%;
		justify-content: center;
		width: 70px;
	}

	.hamburger-btn button {
		-webkit-appearance: none;
		border: none;
		background: 0;
		height: 24px;
		padding: 0;
		position: relative;
		width: 30px;
	}

	.hamburger-btn span {
		background: #fff;
		border-radius: 2px;
		display: inline-block;
		height: 2px;
		left: 0;
		position: absolute;
		transition: all .5s;
		width: 30px;
	}

	.hamburger-btn span:first-of-type {
		top: 0;
	}

	.hamburger-btn span:nth-of-type(2) {
		top: 50%;
		transform: translateY(-50%);
	}

	.hamburger-btn span:last-of-type {
		bottom: 0;
	}

	.hamburger-btn.hamburger-open span:first-of-type {
		top: 50%;
		transform: translateY(-50%) rotate(45deg);
	}
	
	.hamburger-btn.hamburger-open span:nth-of-type(2) {
		opacity: 0;
	}
	
	.hamburger-btn.hamburger-open span:last-of-type {
		top: 50%;
		transform: translateY(-50%) rotate(-45deg);
	}

	body.fixed {
		position: fixed;
		width: 100%;
	}

	.hamburger-wrap {
		background: rgba(0,0,0,.2);
		height: 100svh;
		left: 0;
		opacity: 0;
		overflow-y: scroll;
		padding: 0 0 150px;
		position: fixed;
		top: 64px;
		transition: visibility 0s .5s,opacity .5s ease;
		visibility: hidden;
		width: 100%;
		z-index: 40;
	}
	
	.hamburger-wrap.hamburger-menu-open {
		opacity: 1;
		transition: opacity .5s ease;
		visibility: visible;
	}

	.hamburger-menu {
		background: #fff;
		height: -webkit-fit-content;
		height: -moz-fit-content;
		height: fit-content;
		padding: 40px 0 0;
		overflow-y: scroll;
	}

	.header-nav-list.container {
		width: 100%;
	}

	.hamburger-menu .header-search {
		margin-bottom: 30px;
	}

	.header-nav-list {
		border-top: 1px solid var(--color-line-gray01);
	}

	.has-sub-menu {
		position: relative;
	}

	.has-sub-menu::after {
		background: url(images/common/arrow-black-b.svg) no-repeat center center/contain;
		content: "";
		display: inline-block;
		height: 6px;
		position: absolute;
		right: 4%;
		top: 26px;
		transition: transform 0.3s ease;
		width: 10px;
	}

	.has-sub-menu.menu-open::after {
		transform: rotate(180deg);
	}

	.header-nav-list li a {
		display: block;
		padding: 16px 4%;
		border-bottom: 1px solid var(--color-line-gray01);
	}

	.header-nav-list li .sub-menu a {
		padding: 16px 4% 16px 6%;
	}

	.menu-item:not(.has-sub-menu) {
		background: url(images/common/arrow-black-r.svg) no-repeat 96% center/ 6px 10px;
	}

	.sub-menu {
		background: var(--color-sub);
		display: none;
	}

	.hamburger-sns {
		border-bottom: 1px solid var(--color-line-gray01);
		column-gap: 30px;
		justify-content: center;
		padding-block: 24px;
	}

	.hamburger-close {
		-webkit-appearance: none;
		border: none;
		background: 0 0;
		color: #333;
		padding: 26px 0;
		width: 100%;
	}

	.hamburger-close span {
		align-items: center;
		display: flex;
		line-height: 1;
		justify-content: center;
	}

	.hamburger-close span:before {
		background: url(images/common/hamburger-close.svg) no-repeat center center / contain;
		content: "";
		display: inline-block;
		height: 12px;
		margin: 0 6px 0 0;
		width: 12px;
	}


	/*———————————–———————————–————————
		SP Footer
	———————————–———————————–————————*/
	/* contact */
	.footer-contact {
		flex-direction: column;
		padding: 30px 20px;
		row-gap: 30px;
		top: -280px;
		left: 4%;
	}

	.footer-contact-ttl-ja {
		font-size: 16px;
		margin-bottom: 8px;
	}

	.footer-contact-ttl {
		font-size: 40px;
		margin-bottom: 30px;
	}

	.footer-contact-ttl span {
		font-size: 18px;
	}

	.footer-contact-ttl img {
		width: 180px;
	}

	.footer-contact-text {
		line-height: 1.5;
		text-align: justify;
	}

	.footer-contact-nav ul {
		margin-bottom: 8px;
		row-gap: 30px;
	}

	.footer-contact-nav a {
		font-size: 16px;
		height: 70px;
	}

	.footer-contact-nav-form::before,
	.footer-contact-nav-tel::before {
		height: 24px;
		width: 24px;
	}

	.footer-contact-note {
		text-align: center;
	}

	/* footer */
	.footer {
		padding-block: 200px 70px;
	}

	footer.footer-b {
		padding-block: 40px 70px;
	}

	.footer-top {
		flex-direction: column;
	}

	.footer-logo {
		margin-bottom: 30px;
		width: 200px;
	}

	.footera-address .f-bold {
		font-size: 14px;
		margin-bottom: 8px;
	}

	.footera-address address {
		margin-bottom: 20px;
	}

	.footer-sns {
		column-gap: 20px;
	}

	.footer-sns img {
		width: 24px;
	}

	.footer-nav-list {
		flex-direction: column;
		row-gap: 30px;
	}

	.footer-nav-list-sub .f-bold {
		margin-bottom: 10px;
	}

	.footer-nav-list-sub ul {
		line-height: 1.4;
		row-gap: 10px;
	}

	.footer-nav-list-sub ul li {
		width: 48%;
	}

	.footer-nav-list-sub > a {
		display: block;
	}

	.footer-nav-list-page ul {
		justify-content: space-between;
		line-height: 1.4;
		row-gap: 12px;
	}

	.footer-nav-list-page ul li {
		width: 48%;
	}

	.footer-copy {
		padding-top: 16px;
	}

	.copyright {
		margin-bottom: 10px;
	}

	.top-scroll-btn {
		height: 40px;
		width: 40px;
	}

	/* page side sns */
	.page-side-sns {
		display: none;
	}


	/*———————————–———————————–————————
		SP Home
	———————————–———————————–————————*/
	.home-mv {
		height: 70svh;
	}

	.home-mv-video {
		left: 0;
		height: 70svh;
	}

	.home-mv .container,
	.home-mv-video div {
		height: 70svh;
	}

	.home-mv-video div::after {
		height: 70svh;
	}

	.home-mv-copy {
		bottom: 100px;
		max-width: 280px;
		top: initial;
	}

	/* news */
	.home-news {
		flex-direction: column;
		padding: 40px 30px;
	}

	.news-left {
		display: contents;
	}

	.news-ttl-ja {
		font-size: 14px;
		margin-bottom: 10px;
	}

	.news-ttl {
		font-size: 40px;
		margin-bottom: 30px;
	}

	.news-ttl::after {
		height: 4px;
		margin-top: 6px;
		width: 50px;
	}

	.news-list {
		margin-bottom: 30px;
		row-gap: 20px;
	}

	.news-list-item {
		padding-bottom: 14px;
	}

	.news-date {
		align-self: center;
		font-size: 12px;
		margin-bottom: 12px;
	}

	.news-cate {
		margin: 0 0 12px 10px;
	}

	.news-cate-label a {
		padding: 3px 10px;
	}

	.news-link-btn {
		margin-inline: auto;
		max-width: 320px;
		order: 1;
		width: 100%;
	}

	.news-link-btn .gradation-green {
		letter-spacing: var(--kerning60);
		height: 56px;
		width: 100%;
	}

	.news-link-btn .gradation-green::after {
		right: 24px;
	}

	/* about */
	.home-about {
		margin-top: 80px;
	}

	.home-about-ttl {
		font-size: 40px;
		line-height: 1.4;
		margin-bottom: 30px;
		padding-inline: 4%;
	}

	.home-about-text {
		font-size: 16px;
		line-height: 1.4;
		margin-bottom: 30px;
		padding-inline: 4%;
		text-align: center;
	}

	.home-about-list {
		row-gap: 40px;
	}

	.home-about-list-item::before {
		aspect-ratio: 2/1;
		left: 0;
		height: auto;
		top: 0;
		width: 100vw;
	}

	.home-about-list-sect {
		padding: 30px 20px;
	}

	.home-about-list-ttl {
		font-size: 24px;
		margin-bottom: 14px;
		padding-inline: 20px;
	}

	.home-about-list-ttl::before,
	.home-about-list-ttl::after {
		height: 16px;
		width: 20px;
	}

	.home-about-list-text {
		line-height: 1.8;
		text-align: justify;
	}

	/* business */
	.home-business-ttl-ja {
		font-size: 14px;
		margin-bottom: 10px;
	}

	.home-business-ttl {
		font-size: 40px;
		margin-bottom: 40px;
		row-gap: 6px;
	}

	.home-business-ttl::after {
		height: 4px;
		width: 50px;
	}

	.home-business-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 40px 4%;
	}

	.home-business-list li {
		padding-bottom: 16px;
	}

	.home-business-list-num {
		height: 50px;
		left: 6px;
		top: -24px;
		width: auto;
	}

	.home-business-list-ttl {
		font-size: 16px;
		letter-spacing: var(--kerning40);
		transform: translateY(-1em);
	}

	.home-business-list-ttl span {
		padding: 8px 20px;
	}

	.home-business-list li:nth-of-type(6) .home-business-list-ttl {
		font-size: 14px;
	}

	.home-business-list li:nth-of-type(6) .home-business-list-ttl span {
		padding-inline: 14px;
	}

	.home-business-list-text {
		line-height: 1.5;
		margin-bottom: 10px;
		padding-inline: 14px;
		transform: translateY(-.5em);
	}

	.home-business-list-button {
		font-size: 12px;
		height: 32px;
		letter-spacing: var(--kerning40);
		margin-right: 14px;
		width: 110px;
	}

	.home-business-list-button .gradation-green::after {
		right: 10px;	
	}

	/* recruit */
	.home-recruit {
		background: #eee url(images/home/home-recruit-bg-sp.jpg) no-repeat top center/cover;
		padding-block: 60px;
	}

	.home-recruit-ttl-ja {
		font-size: 14px;
		margin-bottom: 10px;
	}

	.home-recruit-ttl {
		font-size: 40px;
		margin-bottom: 40px;
		row-gap: 6px;
	}

	.home-recruit-ttl::after {
		height: 4px;
		width: 50px;
	}

	.home-recruit-ttl-sub {
		font-size: 16px;
		margin-bottom: 18px;
	}

	.home-recruit-text {
		font-size: 14px;
		line-height: 1.8;
		margin-bottom: 30px;
	}

	/* banner area */
	.home-bnr-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}


	/*———————————–———————————–————————
		SP Page.php
	———————————–———————————–————————*/
	.page-ttl-img-wrap {
		height: 150px;
		padding-top: 40px;
	}

	.page-ttl-img-wrap::after {
		height: 150px;
	}

	.page-ttl {
		font-size: 14px;
		line-height: 1;
	}

	.page-ttl::after {
		font-size: 40px;
		margin-top: 8px;
	}

	.page-sect-ttl,
	.page-sect-ttl-left {
		font-size: 24px;
		row-gap: 10px;
		line-height: 1.4;
	}

	.page-sect-ttl::after,
	.page-sect-ttl-left::after {
		width: 60px;
	}

	.page-sect-sub-ttl {
		column-gap: 6px;
		font-size: 18px;
		line-height: 1.4;
	}

	.page-sect-sub-ttl::before {
		height: 12px;
		margin-top: 6px;
		width: 12px;
	}

	/*--- SP about page ---*/
	.about-page .home-about-list-ttl {
		font-size: 24px;
	}

	.about-page-nav ul {
		column-gap: 3%;
	}

	.about-page-nav li {
		font-size: 12px;
	}

	.about-page-nav a {
		height: 54px;
		line-height: 1.2;
		text-align: center;
	}

	.about-page-text01,
	.about-page-text02,
	.about-page-text03 {
		line-height: 1.8;
		text-align: justify;
	}

	.about-page-text02 span {
		font-size: 18px;
		margin-block: 6px;
		text-align: center;
	}

	.about-page-text03-inner {
		display: block;
		margin-bottom: 30px;
	}

	.about-page-logo img {
		width: 280px;
	}

	.about-works-text01,
	.about-works-text02 {
		text-align: justify;
	}

	.about-works-text01 {
		line-height: 2;
	}

	.about-works-text02 {
		line-height: 1.8;
	}

	.about-works-quality {
		padding: 36px 30px;
	}

	.about-works-quality-ttl {
		font-size: 24px;
		margin-bottom: 24px;
	}

	.about-works-quality-list {
		line-height: 1.4;
		row-gap: 10px;
	}

	.about-ict {
		background: #eee url(images/about/about-ict-bg-sp.jpg) no-repeat top center/cover;
		padding-block: 50px;
	}

	.about-ict-ttl {
		font-size: 24px;
		line-height: 1.4;
		margin-bottom: 24px;
		text-align: center;
	}

	.about-ict-text01,
	.about-ict-text02 {
		line-height: 1.8;
		text-align: justify;
	}

	.about-ict-text01 {
		margin-bottom: 24px;
	}

	.about-ict-text02 {
		margin-bottom: 34px;
	}

	.about-message-top {
		flex-direction: column;
	}

	.about-message-top-image {
		margin-bottom: 20px;
	}

	.about-message-top-text {
		font-size: 20px;
		line-height: 1.4;
		row-gap: 24px;
	}

	.about-message-contents {
		margin-bottom: 40px;
		text-align: justify;
	}

	.about-message-sign {
		column-gap: 14px;
		font-size: 12px;
	}

	.about-message-sign-name img {
		width: 100px;
	}

	/*--- SP Company info page ---*/
	.co-info-tbl {
		grid-template-columns: 100px 1fr;
		line-height: 1.5;
	}

	.co-info-tbl dt,
	.co-info-tbl dd {
		padding: 20px 16px 20px 0;
	}
	
	.co-info-tbl dt span {
		font-feature-settings: "palt";
		font-size: 12px;
	}

	.co-info-tbl .gradation-green {
		height: 36px;
		margin-top: 8px;
		width: 160px;
	}

	.co-info-tbl .gradation-green::after {
		height: 12px;
		right: 10px;
		width: 12px;
	}

	.co-info-history {
		padding-inline: 20px;
	}

	.co-info-history-tbl {
		grid-template-columns: 110px 1fr;
		line-height: 1.5;
	}

	.co-info-history-tbl dt,
	.co-info-history-tbl dd {
		padding: 16px 16px 16px 0;
	}

	/*--- SP ICT page ---*/
	.ict-page-top-image img {
		max-width: 600px;
		width: 92%;
	}

	.ict-importance-list {
		row-gap: 22px;
	}

	.ict-importance-list-ttl {
		font-size: 16px;
		margin-bottom: 14px;
	}

	.ict-importance-list-ttl::after {
		height: 30px;
	}

	.ict-attempt-iamge li {
		width: 48%;
	}

	/*--- SP Business info page ---*/
	.biz-info-page-ttl {
		border-radius: 50px;
		font-size: 16px;
		line-height: 1.4;
		margin-bottom: 18px;
		padding: 14px 20px;
	}

	.biz-info-page-detail {
		margin-bottom: 18px;
		row-gap: 2px;
	}

	.biz-info-page-detail li::before {
		margin-top: 8px;
	}

	.biz-info-page-detail li span span {
		font-size: 16px;
	}

	.biz-info-page-list section {
		flex-direction: column-reverse;
	}

	.biz-info-page-list-explain {
		padding: 20px 20px 30px 20px;
	}

	.biz-info-page-list-ttl {
		column-gap: 6px;
		font-size: 22px;
		margin-bottom: 16px;
	}

	.biz-info-page-list li:first-of-type .biz-info-page-list-ttl::before {
		height: 50px;
		width: 48px;
	}

	.biz-info-page-list li:nth-of-type(2) .biz-info-page-list-ttl::before {
		height: 50px;
		width: 54px;
	}

	.biz-info-page-list li:nth-of-type(3) .biz-info-page-list-ttl::before {
		height: 50px;
		width: 55px;
	}

	.biz-info-page-list li:nth-of-type(4) .biz-info-page-list-ttl::before {
		height: 50px;
		width: 58px;
	}

	.biz-info-page-list li:nth-of-type(5) .biz-info-page-list-ttl::before {
		height: 50px;
		width: 55px;
	}

	.biz-info-page-list li:nth-of-type(6) .biz-info-page-list-ttl::before {
		height: 50px;
		width: 57px;
	}

	.biz-info-page-list li:nth-of-type(7) .biz-info-page-list-ttl::before {
		height: 50px;
		width: 57px;
	}

	.biz-info-page-list li:nth-of-type(8) .biz-info-page-list-ttl::before {
		height: 50px;
		width: 57px;
	}

	.biz-info-page-list li:nth-of-type(9) .biz-info-page-list-ttl::before {
		height: 50px;
		width: 56px;
	}

	.biz-info-page-list-text {
		line-height: 1.6;
		margin-bottom: 34px;
	}

	.biz-info-page-list-btn {
		column-gap: 12px;
		height: 32px;
		width: 130px;
	}

	.biz-info-page-list-btn::after {
		margin-right: 12px;
	}

	/*--- SP Product page ---*/
	.product-page-note {
		margin-bottom: 74px;	
	}

	.product-page-list {
		flex-direction: column;
		row-gap: 24px;
	}

	.product-page-list-icon img {
		width: 46px;
	}

	.product-page-list li:nth-of-type(10) .product-page-list-icon img {
		width: 40px;
	}

	.product-page-list li p {
		background: url(images/product/icon-book.png) no-repeat 92% center/24px 24px;
		font-size: 16px;
		padding-inline: 20px 50px;
	}

	.product-page-list li:last-of-type p::after {
		font-size: 12px;
	}

	/*--- SP Access page ---*/
	.access-page-text01,
	.access-page-text02 {
		text-align: justify;
	}

	.access-page-text01 {
		margin-bottom: 16px;
	}

	.access-page-list li {
		padding: 30px 24px;
	}

	.access-page-list-ttl {
		font-size: 16px;
		margin-bottom: 14px;
		padding-bottom: 16px;
	}

	.access-page-list-loc {
		flex-direction: column;
		row-gap: 20px;
	}

	.access-page-list-loc-map div {
		aspect-ratio: 500/300;
	}

	.access-page-list-loc-btn {
		height: 36px;
		width: 160px;
	}

	.access-page-list-loc-btn::after {
		height: 12px;
		right: 10px;
		width: 12px;
	}

	/*--- SP Contact page ---*/
	.contact-page-text01,
	.contact-page-text02 {
		text-align: justify;
	}

	.contact-page-text02 {
		margin-bottom: 40px;
	}

	.contact-page-address {
		padding: 24px 20px 20px;
	}

	.contact-page-address-ttl {
		white-space: nowrap;
	}

	.contact-page-address-ttl span {
		padding-inline: 12px;
	}

	.contact-page-address address span {
		font-size: 16px;
		margin-bottom: 2px;
	}

	.contact-page-form {
		padding: 34px 20px 40px;
	}

	.contact-page-form-ttl {
		font-size: 18px;
	}

	.form-parts .wpcf7-form-control {
		gap: 8px 20px;
	}

	.form-policy {
		font-size: 12px;
		height: 120px;
		padding: 16px 24px 16px 16px;
	}

	.form-policy-ttl {
		font-size: 12px;
	}

	.form-btn-wrap input {
		height: 70px;
	}

	.form-btn-wrap::after {
		top: 28px;
	}


	/*--- SP Contact complete page ---*/
	.contact-complete-page p {
		text-align: justify;
	}


	/*———————————–———————————–————————
		SP page-nobg.php
	———————————–———————————–————————*/
	.page-ttl-bg-wrap {
		background: var(--color-sub) url(images/common/page-bg-sp.jpg) no-repeat center top/cover;
	}

	.page-ttl-bg-wrap .page-ttl {
		font-size: 24px;
		padding-block: 30px;
	}

	.page-top-text {
		text-align: justify;
	}


	/*———————————–———————————–————————
		SP Business Subpage
	———————————–———————————–————————*/
	.biz-subpage-list > li {
		flex-direction: column;
	}

	.biz-subpage-list-info {
		display: contents;
	}

	.biz-subpage-list .page-sect-sub-ttl {
		order: 1;
	}

	.biz-subpage-list-image {
		margin-bottom: 20px;
		order: 2;
	}

	.biz-subpage-list-image img {
		max-width: initial;
		width: 100%;
	}
	
	.biz-subpage-list-contents {
		order: 3;
	}

	.biz-subpage-list-contents p {
		line-height: 1.5;
	}


	/*--- SP Business Subpage transportation ---*/
	.transportation-page .biz-subpage-list li:last-of-type .biz-subpage-list-image img {
		max-width: 250px;
		margin-inline: auto;
	}

	.transportation-page-link span:first-of-type {
		margin-bottom: 8px;
	}


	/*--- SP Business Subpage road-cutting ---*/
	.road-cutting-page-office ul li {
		display: flex;
	}

	.road-cutting-page-office ul li span:first-of-type {
		white-space: nowrap;
	}

	.road-cutting-page-details {
		padding: 16px 20px;
	}

	.road-cutting-page-details dd:first-of-type {
		margin-bottom: 8px;
	}

	.road-cutting-page .biz-subpage-list li:nth-of-type(2) .biz-subpage-list-info {
		display: initial;
	}

	.road-cutting-flow {
		display: flex;
		flex-direction: column;
		row-gap: 40px;
	}

	.road-cutting-flow-image img {
		max-width: initial;
		width: 100%;
	}

	.road-cutting-flow-ttl {
		font-size: 16px;
		margin-bottom: 8px;
	}


	/*--- SP Business Subpage forestry ---*/
	.forestry-environmental-machinery-rental-page .page-ttl {
		line-height: 1.4;
	}


	/*--- SP Widget Business location ---*/
	.widget-biz-loc {
		flex-direction: column;
		padding: 30px 20px;
	}

	.widget-biz-loc-info {
		display: contents;
	}

	.widget-biz-loc-ttl {
		font-size: 18px;
		margin-bottom: 20px;
		order: 1;
	}

	.widget-biz-loc-ttl::before {
		height: 12px;
		width: 12px;
	}

	.widget-biz-loc-image {
		margin-bottom: 14px;
		order: 2;
	}

	.widget-biz-loc-image img {
		max-width: initial;
		width: 100%;
	}

	.widget-biz-loc-name {
		font-size: 16px;
		margin-bottom: 8px;
		order: 3;
	}

	.widget-biz-loc address {
		line-height: 1.5;
		margin-bottom: 14px;
		order: 4;
	}

	.widget-biz-loc .access-page-list-loc-btn {
		order: 5;
	}

	.widget-biz-loc-office {
		font-size: 12px;
		order: 6;
	}

	.widget-biz-loc-office ul {
		display: flex;
		flex-direction: column;
		line-height: 1.5;
		row-gap: 6px;
	}


	/*———————————–———————————–——————————————
		SP Policy page (privacy / site / sns)
	——————————————————–———————————–————————*/
	.policy-list-ttl.page-sect-sub-ttl {
		font-size: 16px;
		margin-bottom: 12px;
	}

	.policy-list-ttl.page-sect-sub-ttl {
		font-size: 16px;
		margin-bottom: 8px;
	}

	.policy-list-ttl.page-sect-sub-ttl::before {
		margin-top: 5px;
	}

	.policy-list-contents {
		text-align: justify;
	}

	.policy-list-contents:not(:last-of-type) {
		margin-bottom: 24px;
	}


	/*———————————–———————————–————————
		SP single-recruit.php
	———————————–———————————–————————*/
	.senior-prof {
		flex-direction: column;
		padding: 30px 15px;
	}

	.senior-prof-base {
		column-gap: 20px;
		display: flex;
		margin-bottom: 30px;
	}

	.senior-prof-image {
		margin-bottom: 0;
		min-width: 140px;
		width: 40%;
	}

	.senior-prof-base div {
		flex-grow: 1;
	}
	
	.senior-prof-who {
		font-size: 16px;
		padding-bottom: 4px;
	}

	.senior-prof-year {
		margin-top: 10px;
	}

	.senior-prof .page-sect-sub-ttl {
		font-size: 16px;
		margin-bottom: 8px;
	}

	.senior-prof .page-sect-sub-ttl::before {
		margin-top: 5px;
	}

	.other-senior-list {
		gap: 30px 6%;
	}

	.other-senior-list li {
		width: 47%;
	}

	.other-senior-info {
		margin-bottom: 10px;
	}

	.other-senior-btn {
		height: 36px;
	}


	/*———————————–———————————–————————
		SP archive-recruit.php
	———————————–———————————–————————*/
	.archive-recruit-top-text01,
	.archive-recruit-top-text02 {
		text-align: justify;
	}

	.recruit-archive-nav {
		gap: 18px 4%;
	}

	.recruit-archive-nav li {
		aspect-ratio: 164 / 64;
	}

	.recruit-archive-nav li a {
		background-position: 89% center;
		font-size: 14px;
		padding: 6px;
	}

	.recruit-archive-nav li span {
		border: 2px solid #fff;
		padding-inline: 12px;
	}

	.recruit-archive-nav-info {
		background-image: url(images/recruit/recruit-nav01-sp.jpg);
	}

	.recruit-archive-nav-human {
		background-image: url(images/recruit/recruit-nav02-sp.jpg);
	}

	.recruit-archive-nav-entry {
		background-image: url(images/recruit/recruit-nav03-sp.jpg);
	}

	.recruit-archive-nav-employees {
		background-image: url(images/recruit/recruit-nav04-sp.jpg);
	}

	.recruit-archive-nav-info a {
		background-image: url(images/common/arrow-white-r.svg);
	}

	.recruit-archive-nav-info a {
		background-size: 6px 10px;
	}

	.recruit-archive-nav-human a,
	.recruit-archive-nav-entry a,
	.recruit-archive-nav-employees a {
		background-size: 10px 6px;
	}

	.recruit-archive-entry-list {
		display: flex;
		flex-direction: column;
		row-gap: 20px;
	}

	.recruit-archive-entry-list a {
		height: 70px;
		text-align: center;
	}

	.recruit-archive-entry-list a::after {
		height: 14px;
		right: 24px;
		width: 14px;
	}

	.recruit-archive-video {
		padding: 4px;
	}


	/*———————————–———————————–————————
		SP single.php
	———————————–———————————–————————*/
	.news-page-ttl {
		font-size: 20px;
		padding-bottom: 14px;
	}

	.news-page-contacts .news-cate {
		margin: 0 0 0 14px;
	}
	
	.news-page-btn a {
		border-radius: 35px;
		height: 70px;
	}


	/*———————————–———————————–————————
		SP archive.php
	———————————–———————————–————————*/
	.archive-page .news-cate {
		margin: 0 0 0 14px;
	}

	.nav-links {
		font-size: 16px;
	}


	/*———————————–———————————–————————
		SP search.php
	———————————–———————————–————————*/
	.small-page .page-ttl {
		font-size: 20px;
		line-height: 1.2;
	}


	/*———————————–———————————–————————
		SP 404.php
	———————————–———————————–————————*/
	.not-found-text {
		text-align: justify;
	}
}


/* PC style
========================================================================== */
@media screen and (width > 768px) {
	/*———————————–———————————–————————
		PC Variable
	———————————–———————————–————————*/
	:root {
		--header-height: 116px;
		--margin-s10p20: 20px;
		--margin-s20p30: 30px;
		--margin-s20p40: 40px;
		--margin-s30p40: 40px;
		--margin-s30p60: 60px;
		--margin-s40p60: 60px;
		--margin-s40p80: 80px;
		--margin-s50p100: 100px;
		--margin-s60p80: 60px;
		--margin-s60p100: 100px;
		--margin-s60p120: 120px;
		--margin-s80p120: 120px;
		--margin-s100p200: 200px;
		--margin-s120p160: 160px;
		--margin-s160p200: 200px;
		--t-margin-s10p20: 10px;
		--t-margin-s15p30: 20px;
		--t-margin-s20p40: 30px;
		--t-margin-s30p60: 50px;
		--t-margin-s40p60: 54px;
		--t-margin-s40p80: 72px;
		--t-margin-s60p120: 110px;
		--t-margin-s80p120: 110px;
	}


	/*———————————–———————————–————————
		PC common style
	———————————–———————————–————————*/
	.only-pc {
		display: block;
	}

	.container {
		width: min(100% - 60px, 1000px);
	}
	
	.hamburger-wrap {
		display: none;
 	}

	.common-link-btn a {
		font-size: 16px;
		height: 80px;
	}

	.common-link-btn a::after {
		right: 30px;
	}

	.main,
	.home-main {
		padding-bottom: 290px;
	}


	/*———————————–———————————–————————
	 PC	Common Parts
	———————————–———————————–————————*/
	.breadcrumb {
		font-size: 14px;
		padding-inline: 30px;
		margin-block: 12px;
	}

	.breadcrumb ol {
		row-gap: 10px;
	}

	.breadcrumb ol li:not(:last-of-type)::after {
		margin-inline: 10px;
	}

	.with-shadow {
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
	}

	.link-tel {
		pointer-events: none;
	}


	/*———————————–———————————–————————
		PC Header
	———————————–———————————–————————*/
	.header-inner {
		padding-block: 20px;
		justify-content: space-between;
	}

	.header-logo img {
		width: 214px;
	}

	.header-nav {
		background: var(--color-bg-gray);
		font-weight: 600;
		line-height: 1;
	}

	.header-nav-list {
		justify-content: space-between;
	}

	.header-nav-list li a {
		display: inline-block;
		padding-block: 16px;
	}

	.header-nav-list > .has-sub-menu {
		padding-right: 20px;
		position: relative;
	}

	.header-nav-contact {
		background: #73B2ba;
		background: linear-gradient(90deg,rgba(115, 178, 186, 1) 0%, rgba(52, 180, 146, 1) 100%);
	}

	.header-nav-contact a {
		background: url(images/common/icon-mail.svg) no-repeat center left 20px/14px 14px;
		color: #fff;
		padding-inline: 40px 20px;
	}

	.menu-item-has-children {
		position: relative;
	}

	.header-nav .menu-item-has-children:hover > a,
	.header-nav .menu-item > a:hover {
		color: var(--color-main);
		opacity: 1;
	}
	
	.header-nav .header-nav-contact a:hover {
		color: #fff;
		opacity: .8;
	}

	.sub-menu {
		background: #fff;
		box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
		border-radius: 4px;
		display: none;
		left: .5em;
		margin: 0;
		opacity: 0;
		padding: 0;
		position: absolute;
		overflow: hidden;
		transform: translateY(10px);
		transition: opacity 0.3s ease, transform 0.3s ease;
		top: 100%;
		z-index: 10;
	}

	li.menu-item-has-children:hover > .sub-menu {
		display: block;
		opacity: 1;
		transform: translateY(0);
	}

	.header-nav .sub-menu a {
		display: block;
		padding: 12px 20px;
		transition: background 0.2s;
		width: 100%;
		white-space: nowrap;
	}

	.header-nav .menu-item-has-children .sub-menu a:hover {
		background-color: var(--color-sub);
		color: var(--base-font-color);
	}

	.header-nav-list > .has-sub-menu::after {
		background: url('images/common/arrow-black-b.svg') no-repeat center/contain;
		content: "";
		height: 6px;
		position: absolute;
		pointer-events: none;
		right: 0;
		transform: translateY(-50%);
		transition: transform 0.3s ease, filter 0.3s ease;
		top: 50%;
		width: 10px;
	}

	.header-nav-list > .has-sub-menu:hover::after {
		filter: brightness(0) saturate(100%) invert(60%) sepia(20%) saturate(620%) hue-rotate(100deg) brightness(100%) contrast(95%);
		transform: translateY(-50%) rotate(180deg);
	}


	/*———————————–———————————–————————
		PC Search
	———————————–———————————–————————*/
	.header-search {
		width: 280px;
	}

	.header-search-window {
		padding: 4px 34px 4px 10px;
	}

	.header-search-submit {
		background: var(--color-main) url(images/common/icon-search.svg) no-repeat center center/14px 14px;
		height: 31px;
		width: 30px;
	}


	/*———————————–———————————–————————
		PC Footer
	———————————–———————————–————————*/
	.footer-contact {
		column-gap: 60px;
		left: 50%;
		padding: 60px;
		top: -170px;
		transform: translateX(-50%);
	}

	.footer-contact div {
		flex: 1;
	}

	.footer-contact-ttl-ja {
		font-size: 20px;
		margin-bottom: 8px;
	}

	.footer-contact-ttl {
		font-size: 52px;
		margin-bottom: 40px;
	}

	.footer-contact-nav {
		min-width: 300px;
		width: 43.5%;
	}

	.footer-contact-nav ul {
		margin-bottom: 6px;
		row-gap: 40px;
	}

	.footer-contact-nav a {
		font-size: 16px;
		height: 80px;
	}

	.footer-contact-nav-form::before,
	.footer-contact-nav-tel::before {
		height: 28px;
		width: 28px;
	}

	/* footer */
	.footer {
		padding-block: 260px 20px;
	}

	footer.footer-b {
		padding-block: 80px 20px;
	}

	.footer-top {
		justify-content: space-between;
	}

	.footera-address {
		align-items: flex-start;
		column-gap: 40px;
	}

	.footera-address .f-bold {
		font-size: 14px;
		margin-bottom: 12px;
	}

	.footer-sns {
		column-gap: 30px;
	}

	.footer-nav-list {
		gap: 20px;
		justify-content: space-between;
		line-height: 1;
	}

	.footer-nav-list-sub {
		display: flex;
		column-gap: 10px;
	}

	.footer-nav-list-sub ul {
		flex-direction: column;
		row-gap: 12px;
	}

	.footer-nav-list-page ul {
		flex-direction: column;
		row-gap: 14px;
	}

	.footer-copy {
		padding-top: 16px;
	}

	.copyright {
		margin-bottom: 4px;
	}


	/*———————————–———————————–————————
		PC Home
	———————————–———————————–————————*/
	.home-mv {
		height: 760px;
	}

	.home-mv-video {
		height: 760px;
		left: 50%;
		transform: translateX(-50%);
		width: 1920px;
	}

	.home-mv-video div::after {
		height: 760px;
	}

	/* news */
	.home-news {
		column-gap: 60px;
		padding: 60px;
	}

	.news-ttl-ja {
		font-size: 16px;
		margin-bottom: 14px;
	}

	.news-ttl {
		font-size: 52px;
		margin-bottom: 80px;
	}

	.news-ttl::after {
		height: 6px;
		margin-top: 15px;
		width: 60px;
	}

	.news-list {
		flex: 1;
		row-gap: 20px;
	}

	.news-list-item {
		align-items: center;
		padding-bottom: 16px;
		row-gap: 12px;
	}

	.news-cate {
		margin-left: 10px;
	}

	.news-cate-label a {
		padding: 4px 12px;
	}

	.news-link-btn .gradation-green {
		height: 60px;
		width: 156px;
	}

	.news-link-btn .gradation-green::after {
		right: 20px;
	}

	.news-item-ttl a::after {
		background-color: var(--color-main);
		bottom: 0;
		content: "";
		height: 2px;
		left: 0;
		position: absolute;
		transition: width 0.3s;
		width: 0;
	}

	.news-item-ttl a:hover {
		color: var(--color-main);
	}

	.news-item-ttl a:hover::after {
		width: 100%;
	}


	/* about */
	.home-about {
		margin-top: 120px;
	}

	.home-about-ttl {
		font-size: 64px;
		line-height: 1;
		margin-bottom: 30px;
		padding-inline: 30px;
	}

	.home-about-text {
		font-size: 18px;
		text-align: center;
	}

	.home-about-text {
		margin-bottom: 54px;
	}

	.home-about-list-wrap {
		padding-top: 80px;
	}

	.home-about-list {
		row-gap: 150px;
		width: min(100% - 60px, 1160px)
	}

	.home-about-list-sect {
		min-height: 500px;
		max-width: 900px;
	}

	.home-about-list-item::before {
		height: 500px;
		position: absolute;
		width: 1000px;
	}

	.home-about-list-item:nth-of-type(odd) {
		align-self: flex-end;
	}

	.home-about-list-item:nth-of-type(even) {
		align-self: flex-start;
	}

	.home-about-list-item:nth-of-type(odd) .home-about-list-sect {
		padding: 120px 80px 50px 400px;
	}

	.home-about-list-item:nth-of-type(even) .home-about-list-sect {
		padding: 120px 400px 50px 80px;
	}

	.home-about-list-item:first-of-type::before {
		left: -640px;
		top: -80px;
	}

	.home-about-list-item:nth-of-type(2)::before {
		right: -640px;
		top: -80px;
	}

	.home-about-list-ttl {
		font-size: 40px;
		margin-bottom: 30px;
		padding-inline: 40px;
	}

	.home-about-list-ttl::before,
	.home-about-list-ttl::after {
		height: 31px;
		width: 44px;
	}

	.home-about-list-text {
		line-height: 2.2;
	}

	/* business */
	.home-business-ttl-ja {
		font-size: 16px;
		margin-bottom: 10px;
	}

	.home-business-ttl {
		font-size: 52px;
		margin-bottom: 74px;
		row-gap: 10px;
	}

	.home-business-ttl::after {
		height: 6px;
		width: 60px;
	}

	.home-business-list {
		display: grid;
		gap: 60px 30px;
		grid-template-columns: repeat(3, 1fr);
	}

	.home-business-list li {
		padding-bottom: 20px;
	}

	.home-business-list-num {
		left: 6px;
		top: -36px;
	}

	.home-business-list-ttl {
		font-size: 20px;
		transform: translateY(-1.5em);
	}

	.home-business-list-ttl span {
		padding: 12px 34px;
	}

	.home-business-list-text {
		padding-inline: 20px;
		transform: translateY(-1.5em);
	}

	.home-business-list-button {
		height: 40px;
		letter-spacing: var(--kerning80);
		margin-right: 20px;
		width: 140px;
	}

	.home-business-list-button .gradation-green::after {
		right: 14px;	
	}

	/* recruit */
	.home-recruit {
		background: #eee url(images/home/home-recruit-bg.jpg) no-repeat top center/1920px 600px;
		padding-block: 110px;
	}

	.home-recruit-ttl-ja {
		font-size: 16px;
		margin-bottom: 10px;
	}

	.home-recruit-ttl {
		font-size: 52px;
		margin-bottom: 40px;
		row-gap: 10px;
	}

	.home-recruit-ttl::after {
		height: 6px;
		width: 60px;
	}

	.home-recruit-ttl-sub {
		font-size: 18px;
		margin-bottom: 24px;
	}

	.home-recruit-text {
		font-size: 16px;
		line-height: 2;
		margin-bottom: 48px;
	}

	/* banner area */
	.home-bnr-list {
		grid-template-columns: repeat(3, 1fr);
		gap: 40px;
	}


	/*———————————–———————————–————————
		PC Page.php
	———————————–———————————–————————*/
	.page-ttl-img-wrap {
		height: 300px;
		padding-top: 106px;
	}

	.page-ttl-img-wrap::after {
		height: 300px;
	}

	.page-tmb {
		aspect-ratio: 1920/300;
		object-fit: cover;
	}

	.page-ttl {
		font-size: 18px;
		line-height: 1;
	}

	.page-ttl::after {
		font-size: 52px;
		margin-top: 14px;
	}

	.page-sect-ttl,
	.page-sect-ttl-left {
		font-size: 32px;
		row-gap: 14px;
	}

	.page-sect-ttl::after,
	.page-sect-ttl-left::after {
		width: 70px;
	}

	.page-sect-sub-ttl {
		column-gap: 6px;
		font-size: 24px;
	}

	.page-sect-sub-ttl::before {
		height: 14px;
		margin-top: 12px;
		width: 14px;
	}

	/*--- PC about page ---*/
	.about-page .home-about-list-ttl {
		font-size: 32px;
	}

	.about-page-nav ul {
		column-gap: 40px;
	}

	.about-page-nav li {
		max-width: 306px;
	}

	.about-page-nav a {
		height: 62px;
	}

	.about-page-text01,
	.about-page-text02,
	.about-page-text03 {
		line-height: 2;
		text-align: center;
	}

	.about-page-text02 span {
		font-size: 20px;
	}

	.about-works-text01,
	.about-works-text02 {
		text-align: center;
	}

	.about-works-text01 {
		line-height: 2.1;
	}

	.about-works-text02 {
		font-size: 16px;
		line-height: 2;
	}
	
	.about-works-quality {
		padding: 50px;
	}

	.about-works-quality-ttl {
		font-size: 32px;
		margin-bottom: 32px;
	}

	.about-works-quality-list {
		font-size: 16px;
		line-height: 2;
	}

	.about-ict {
		background: #eee url(images/about/about-ict-bg.jpg) no-repeat top center/1920px 511px;
		padding-block: 54px 58px;
	}

	.about-ict-ttl {
		font-size: 32px;
		margin-bottom: 32px;
		text-align: center;
	}

	.about-ict-text01,
	.about-ict-text02 {
		font-size: 16px;
		line-height: 2;
		text-align: center;
	}

	.about-ict-text01 {
		margin-bottom: 26px;
	}

	.about-ict-text02 {
		margin-bottom: 48px;
	}

	.about-message-top {
		align-items: center;
		column-gap: 40px;
	}

	.about-message-top-text {
		font-size: 24px;
		line-height: 1.5;
		row-gap: 36px;
	}

	.about-message-contents {
		margin-bottom: 70px;
	}

	.about-message-sign {
		column-gap: 20px;
		font-size: 16px;
	}

	/*--- PC Company info page ---*/
	.co-info-tbl {
		grid-template-columns: 220px 1fr;
	}

	.co-info-tbl dt,
	.co-info-tbl dd {
		padding: 24px 14px 24px 0;
	}

	.co-info-tbl .gradation-green {
		height: 40px;
		margin-top: 6px;
		width: 180px;
	}

	.co-info-tbl .gradation-green::after {
		height: 14px;
		right: 14px;
		width: 14px;
	}

	.co-info-history {
		padding-inline: 40px;
	}

	.co-info-history-tbl {
		grid-template-columns: 220px 1fr;
	}

	.co-info-history-tbl dt,
	.co-info-history-tbl dd {
		padding: 18px 14px 18px 0;
	}

	/*--- PC ICT page ---*/
	.ict-importance-list-ttl {
		font-size: 20px;
		margin-bottom: 16px;
	}

	.ict-importance-list {
		row-gap: 28px;
	}

	.ict-importance-list-ttl::after {
		height: 36px;
	}

	.ict-importance-list dt,
	.ict-products-list-ttl {
		font-size: 16px;
	}

	/*--- PC Business info page ---*/
	.biz-info-page-ttl {
		font-size: 18px;
		margin-bottom: 30px;
		padding: 14px;
	}

	.biz-info-page-detail {
		margin-bottom: 30px;
	}

	.biz-info-page-detail li::before {
		margin-top: 13px;
	}

	.biz-info-page-detail li span span {
		font-size: 20px;
	}

	.biz-info-page-list-explain {
		flex-basis: 50%;
		padding: 30px;
	}

	.biz-info-page-list-image {
		flex-basis: 50%;
	}

	.biz-info-page-list-ttl {
		column-gap: 10px;
		font-size: 24px;
		margin-bottom: 30px;
	}

	.biz-info-page-list li:first-of-type .biz-info-page-list-ttl::before {
		height: 71px;
		width: 67px;
	}

	.biz-info-page-list li:nth-of-type(2) .biz-info-page-list-ttl::before {
		height: 71px;
		width: 78px;
	}

	.biz-info-page-list li:nth-of-type(3) .biz-info-page-list-ttl::before {
		height: 71px;
		width: 79px;
	}

	.biz-info-page-list li:nth-of-type(4) .biz-info-page-list-ttl::before {
		height: 71px;
		width: 84px;
	}

	.biz-info-page-list li:nth-of-type(5) .biz-info-page-list-ttl::before {
		height: 71px;
		width: 79px;
	}

	.biz-info-page-list li:nth-of-type(6) .biz-info-page-list-ttl::before {
		height: 71px;
		width: 82px;
	}

	.biz-info-page-list li:nth-of-type(7) .biz-info-page-list-ttl::before {
		height: 71px;
		width: 83px;
	}

	.biz-info-page-list li:nth-of-type(8) .biz-info-page-list-ttl::before {
		height: 71px;
		width: 82px;
	}

	.biz-info-page-list li:nth-of-type(9) .biz-info-page-list-ttl::before {
		height: 71px;
		width: 81px;
	}

	.biz-info-page-list-btn {
		column-gap: 13px;
		height: 40px;
		width: 140px;
	}

	.biz-info-page-list-btn::after {
		margin-right: 14px;
	}

	/*--- PC Product page ---*/
	.product-page-note {
		margin-bottom: 114px;	
	}

	.product-page-list {
		row-gap: 40px;
	}

	.product-page-list li {
		width: 48%;
	}

	.product-page-list li:nth-of-type(10) .product-page-list-icon img {
		width: 46px;
	}

	.product-page-list li p {
		background: url(images/product/icon-book.png) no-repeat 94% center/30px 30px;
		font-size: 18px;
		padding-inline: 30px 70px;
	}

	.product-page-list li:last-of-type p::after {
		font-size: 14px;
	}

	/*--- PC Access page ---*/
	.access-page-text01,
	.access-page-text02 {
		text-align: center;
	}
	
	.access-page-text01 {
		margin-bottom: 24px;
	}

	.access-page-list li {
		padding: 24px 30px 30px 30px;
	}

	.access-page-list-ttl {
		font-size: 20px;
		margin-bottom: 16px;
		padding-bottom: 20px;
	}

	.access-page-list-loc {
		column-gap: 30px;
	}

	.access-page-list-loc-image {
		min-width: 340px;
	}

	.access-page-list-loc-map {
		max-width: 500px;
		width: 100%;
	}

	.access-page-list-loc-map div {
		aspect-ratio: 500/395;
	}

	.access-page-list-loc-btn {
		height: 40px;
		width: 180px;
	}

	.access-page-list-loc-btn::after {
		height: 14px;
		right: 14px;
		width: 14px;
	}

	/*--- PC Contact page ---*/
	.contact-page-text01,
	.contact-page-text02 {
		text-align: center;
	}

	.contact-page-text02 {
		margin-bottom: 48px;
	}

	.contact-page-address {
		padding: 30px 30px 24px;
	}

	.contact-page-address-ttl span {
		padding-inline: 22px;
	}

	.contact-page-address address span {
		font-size: 18px;
		margin-bottom: 6px;
	}

	.contact-page-form {
		padding: 54px 13% 60px;
	}

	.contact-page-form-ttl {
		font-size: 24px;
	}

	.form-parts .wpcf7-form-control {
		gap: 20px 40px;
	}

	.form-bottom-text {
		text-align: center;
	}

	.form-policy {
		padding: 20px 30px 20px 20px;
	}

	.form-btn-wrap input {
		height: 80px;
	}

	.form-btn-wrap::after {
		top: 34px;
	}


	/*--- PC Contact complete page ---*/
	.contact-complete-page p {
		font-size: 16px;
		text-align: center;
	}


	/*———————————–———————————–————————
		Common page-nobg.php
	———————————–———————————–————————*/
	.page-ttl-bg-wrap {
		background: var(--color-sub) url(images/common/page-bg.jpg) no-repeat center top/1920px 160px;
	}

	.page-ttl-bg-wrap .page-ttl {
		font-size: 40px;
		padding-block: 60px;
	}

	.page-top-text {
		text-align: center;
	}


	/*———————————–———————————–————————
		PC Business Subpage
	———————————–———————————–————————*/
	.biz-subpage-list > li {
		column-gap: 40px;
	}

	.biz-subpage-list > li:nth-of-type(even) {
		flex-direction: row-reverse;
	}
	
	.biz-subpage-list-info {
		width: 56%;
	}

	.biz-subpage-list-image {
		padding-top: 8px;
		width: 40%;
	}


	/*--- PC Business Subpage transportation ---*/
	.transportation-page .biz-subpage-list li:last-of-type {
		flex-direction: row-reverse;
	}

	.transportation-page .biz-subpage-list li:last-of-type .biz-subpage-list-image {
		width: 150px;
	}

	.transportation-page .biz-subpage-list li:last-of-type .biz-subpage-list-info {
		flex-grow: 1;
		width: initial;
	}


	/*--- Common Business Subpage inspection ---*/
	.inspection-page .biz-subpage-list li:last-of-type .biz-subpage-list-info {
		width: initial;
	}


	/*--- PC Business Subpage road-cutting ---*/
	.road-cutting-page-details {
		border: 1px solid var(--color-line-gray01);
		padding: 10px 14px;
	}

	.road-cutting-page .biz-subpage-list li:nth-of-type(2) {
		flex-direction: row;
	}

	.road-cutting-page .biz-subpage-list li:nth-of-type(2) .biz-subpage-list-info {
		width: initial;
	}

	.road-cutting-flow {
		gap: 40px 3%;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	.road-cutting-flow-ttl {
		font-size: 20px;
		margin-bottom: 8px;
	}


	/*--- PC Widget Business location ---*/
	.widget-biz-loc {
		column-gap: 40px;
		padding: 36px 40px;
	}

	.widget-biz-loc-info {
		width: 50%;
	}

	.widget-biz-loc-ttl {
		font-size: 24px;
		line-height: 1;
		margin-bottom: 26px;
	}

	.widget-biz-loc-ttl::before {
		height: 14px;
		width: 14px;
	}

	.widget-biz-loc-name {
		font-size: 20px;
		margin-bottom: 12px;
	}

	.widget-biz-loc address {
		margin-bottom: 20px;
	}


	/*———————————–———————————–——————————————
		PC Policy page (privacy / site / sns)
	———————————–———————————–———————————————*/
	.policy-list-ttl.page-sect-sub-ttl {
		font-size: 20px;
		line-height: 1;
		margin-bottom: 18px;
	}

	.policy-list-ttl.page-sect-sub-ttl::before {
		margin-top: 3px;
	}

	.policy-list-contents:not(:last-of-type) {
		margin-bottom: 30px;
	}


	/*———————————–———————————–————————
		PC single-recruit.php
	———————————–———————————–————————*/
	.senior-prof {
		column-gap: 40px;
		padding: 36px 40px;
	}

	.senior-prof-base {
		min-width: 280px;
		width: 280px;
	}

	.senior-prof-who {
		font-size: 20px;
		padding-bottom: 8px;
	}

	.senior-prof-year {
		font-size: 18px;
		margin-top: 14px;
	}

	.senior-prof .page-sect-sub-ttl {
		font-size: 20px;
		margin-bottom: 12px;
	}

	.senior-prof .page-sect-sub-ttl::before {
		margin-top: 8px;
	}

	.other-senior-list {
		gap: 60px 4%;
	}

	.other-senior-list li {
		width: 22%;
	}

	.other-senior-info {
		margin-bottom: 14px;
	}

	.other-senior-who {
		font-size: 16px;
	}

	.other-senior-btn {
		height: 40px;
	}


	/*———————————–———————————–————————
		PC archive-recruit.php
	———————————–———————————–————————*/
	.archive-recruit-top-text01,
	.archive-recruit-top-text02 {
		text-align: center;
	}

	.recruit-archive-nav {
		gap: 40px 4%;
	}

	.recruit-archive-nav li {
		aspect-ratio: 48 / 12;
	}

	.recruit-archive-nav li a {
		background-position: 92% center;
		font-size: 24px;
		padding: 10px;
	}

	.recruit-archive-nav li span {
		border: 3px solid #fff;
		padding-inline: 40px;
	}

	.recruit-archive-nav-info {
		background-image: url(images/recruit/recruit-nav01.jpg);
	}

	.recruit-archive-nav-human {
		background-image: url(images/recruit/recruit-nav02.jpg);
	}

	.recruit-archive-nav-entry {
		background-image: url(images/recruit/recruit-nav03.jpg);
	}

	.recruit-archive-nav-employees {
		background-image: url(images/recruit/recruit-nav04.jpg);
	}

	.recruit-archive-nav-info a {
		background-image: url(images/common/arrow-white-r.svg);
	}

	.recruit-archive-nav-info a {
		background-size: 8px 14px;
	}

	.recruit-archive-nav-human a,
	.recruit-archive-nav-entry a,
	.recruit-archive-nav-employees a {
		background-size: 14px 8px;
	}

	.recruit-archive-entry-list {
		column-gap: 40px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.recruit-archive-entry-list a {
		font-size: 16px;
		height: 80px;
	}

	.recruit-archive-entry-list a::after {
		height: 16px;
		right: 38px;
		width: 16px;
	}

	.recruit-archive-video {
		padding: 8px;
	}


	/*———————————–———————————–————————
		PC single.php
	———————————–———————————–————————*/
	.news-page-ttl {
		font-size: 24px;
		padding-bottom: 22px;
	}

	.news-page-btn a {
		border-radius: 40px;
		font-size: 16px;
		height: 80px;
	}


	/*———————————–———————————–————————
		PC archive.php
	———————————–———————————–————————*/
	.nav-links {
		font-size: 20px;
	}

	.archive-list-ttl a {
		position: relative;
	}

	.archive-list-ttl a::after {
		background-color: var(--color-main);
		bottom: 0;
		content: "";
		height: 2px;
		left: 0;
		position: absolute;
		transition: width 0.3s;
		width: 0;
	}

	.archive-list-ttl a:hover {
		color: var(--color-main);
	}

	.archive-list-ttl a:hover::after {
		width: 100%;
	}


	/*———————————–———————————–————————
		PC search.php
	———————————–———————————–————————*/
	.small-page .page-ttl {
		font-size: 30px;
	}


	/*———————————–———————————–————————
		PC 404.php
	———————————–———————————–————————*/
	.not-found-text {
		font-size: 16px;
		text-align: center;
	}
}


/* Small PC style
========================================================================== */
@media screen and (768px < width < 1000px) {
	/*———————————–———————————–————————
		Small PC Home
	———————————–———————————–————————*/
	/* about */
	.home-about-ttl {
		font-size: 56px;
	}

	.home-about-list {
		row-gap: 40px;
	}

	.home-about-list-item::before {
		content: none;
	}

	.home-about-list-item:nth-of-type(odd) .home-about-list-sect,
	.home-about-list-item:nth-of-type(even) .home-about-list-sect {
		padding: 50px 30px;
	}

	.home-about-list-sect {
		min-height: initial;
		max-width: initial;
	}

	.home-about-list-item .only-sp {
		display: block;
	}

	.home-about-list-ttl {
		font-size: 30px;
		margin-bottom: 14px;
		padding-inline: 20px;
	}

	.home-about-list-ttl::before,
	.home-about-list-ttl::after {
		height: 16px;
		width: 20px;
	}

	.home-about-list-text {
		line-height: 1.8;
		text-align: justify;
	}
}

@media screen and (768px < width < 980px) {
	.other-senior-list li {
		width: 30%;
	}
}

@media screen and (768px < width < 900px) {
	.footer-nav-list {
		flex-direction: column;
		justify-content: flex-start;
		row-gap: 40px;
	}

	.footer-nav-list-sub {
		flex-direction: column;
		row-gap: 10px;
	}

	.footer-nav-list-sub ul {
		flex-direction: row;
		gap: 14px 24px;
	}

	.footer-nav-list-page ul#menu-footer-nav03 {
		flex-direction: row;
		gap: 14px 24px;
	}
}

@media screen and (width < 1050px) {
	.page-side-sns {
		display: none;
	}
}


/* Small SP style
========================================================================== */
@media screen and ( width < 500px ) {
	/* single-recruit.php */
	.senior-prof-image {
		width: 20%;
	}
}


/* Small SP style
========================================================================== */
@media screen and ( width < 380px ) {
	/* Business info page */
	.biz-info-page-ttl {
		font-size: 14px;
		letter-spacing: 0;
	}

	/* archive-recruit.php */
	.recruit-archive-nav li a {
		letter-spacing: initial;
	}

	/* single-recruit.php */
	.senior-prof-image {
		min-width: 120px;
	}
}