/*!
Theme Name: jk-c
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: jk-c
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

jk-c is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! 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;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

/* 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 {
	margin:  0;
}

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

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

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

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

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
	display: block;
    width: 100%;
    height: 100%;
}

/**
 * 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;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * 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;
	font-size: 1em;
}

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

sub {
}

sup {
}

/* 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 {
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	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;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

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

/**
 * 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;
	outline-offset: -2px;
}

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

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

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	/*
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	*/
	font-family: 游明朝, YuMincho, "Hiragino Mincho ProN W3", yu-mincho-pr6, sans-serif;
    font-feature-settings: "palt";
    -webkit-font-smoothing: antialiased;
    color: #221815;
    box-sizing: border-box;
    word-break: break-all;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 0.1em;
    text-align: justify;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	margin: 0;
}

p {
	margin: 0;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0;
}

address {
	margin: 0;
}

pre {
}

code,
kbd,
tt,
var {
}

abbr,
acronym {
}

mark,
ins {
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
}

ul,
ol {
	margin: 0;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
}

dd {
	margin: 0;
}

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

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

figure {
	margin: 1em 0;
}

table {
	margin: 0;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #221815;
	text-decoration: none;
	transition: color .3s !important;
}

a:visited {
	color: #221815;
}

a:hover,
a:focus,
a:active {
	color: #221815;
	text-decoration: none;
}

a:hover h2 ,
a:hover p ,
a:hover .icon_ya {
	opacity: 0.4;
}


a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

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

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

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	/*overflow: hidden;*/
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}


/* オリジナル
--------------------------------------------- */

body,
html {
	margin: 0;
	padding: 0;
}

body {
	/*
	background: url(images/bg0.png);
	background-size: cover;
	*/
}

h2 {
    font-size: 2.7vh;
    font-weight: 400;
    /*line-height: 1vh;*/
    margin-bottom: 4vh;
}

h2 span {
    position: absolute;
    top: -0.7vh;
    padding-left: 2vh;
}

h2 span img {
    width: 1.8vh;
}

p {
	font-size: 1.5vh;
	font-weight: 400;
	line-height: 2.7vh;
}

.pg-home-intro__inner {
    margin: 30vh 0 30vh;
}

.section {
	height: 100vh;
    position: relative;
}

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

	背景

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

.video_wrapper {
	/*
	position: fixed;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	*/
}

.video_wrapper > video {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	min-width: 100%;
	min-height: 100%;
}


#bg00, #bg0, #bg1, #bg2, #bg3, #bg4, #bg5, #bg6, #bg7, #bg8 {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw !important;
	height: 100vh;
	overflow: hidden;
	/*
	opacity: 0;
	transition: all 0.25s linear 0s;
	*/
	display: inline-block;
}

.show {
  opacity: 1;
}

#bg00 {
	/*mix-blend-mode: color;*/
	mix-blend-mode: overlay;
	background: #0a85e8;  /* fallback for old browsers */
	background: -webkit-linear-gradient(to right, #0575E6, #0a85e8);  /* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to right, #0575E6, #0a85e8); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

#bg0 {
	/*mix-blend-mode: color;*/
	mix-blend-mode: overlay;
	background: #0a85e8;  /* fallback for old browsers */
	background: -webkit-linear-gradient(to right, #0575E6, #0a85e8);  /* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to right, #0575E6, #0a85e8); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

#bg1 {
	mix-blend-mode: screen;
	background: #FFAFBD;  /* fallback for old browsers */
	background: -webkit-linear-gradient(to right, #ffc3a0, #FFAFBD);  /* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to right, #ffc3a0, #FFAFBD); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

#bg2 {
	mix-blend-mode: screen;
	background: #00b09b;  /* fallback for old browsers */
	background: -webkit-linear-gradient(to right, #96c93d, #00b09b);  /* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to right, #96c93d, #00b09b); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

#bg3 {
	mix-blend-mode: screen;
	background: #D1913C;  /* fallback for old browsers */
	background: -webkit-linear-gradient(to right, #FFD194, #D1913C);  /* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to right, #FFD194, #D1913C); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

#bg4 {
	mix-blend-mode: screen;
	background: #b69684;  /* fallback for old browsers */
	background: -webkit-linear-gradient(to left, #a06751, #b69684);  /* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to left, #a06751, #b69684); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

#bg5 {
	mix-blend-mode: screen;
	background: #F09819;  /* fallback for old browsers */
	background: -webkit-linear-gradient(to right, #EDDE5D, #F09819);  /* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to right, #EDDE5D, #F09819); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

#bg6 {
	mix-blend-mode: screen;
	background: #FEAC5E;  /* fallback for old browsers */
	background: -webkit-linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);  /* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

#bg7 {
	/*mix-blend-mode: color;*/
	mix-blend-mode: overlay;
	background: #0a85e8;  /* fallback for old browsers */
	background: -webkit-linear-gradient(to right, #0575E6, #0a85e8);  /* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to right, #0575E6, #0a85e8); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

#bg8 {
	mix-blend-mode: screen;
	background: #00a1ff;  /* fallback for old browsers */
	background: -webkit-linear-gradient(to right, #15e9f5, #00a1ff);  /* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to right, #15e9f5, #00a1ff);; /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}


/*---------------------------------------------------------------
	section
---------------------------------------------------------------*/



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

	scroll section

===============================================================*/
  
.section_area {
	/*
	height: calc( 100vh - 400px );
	margin: 200px 0;
	*/
}

.icon_ya img {
	width: 3vh;
}

/*---------------------------------------------------------------
	section-00
---------------------------------------------------------------*/

.pg-home-visual {
	z-index: 0;
}

.pg-home-visual__inner {
	z-index: 0;
}

#section0 {
}

.section0_box {
    position: absolute;
    right: 0px;
    bottom: 0px;
    left: 0px;
    margin: auto;
    z-index: -1;
    width: fit-content;
    line-height: 0;
}

.section0_txt {
    width: 100%;
    position: absolute;
    top: -0.6vh;
    /*top: 35%;*/
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
	z-index: 3;
}

.section0_txt h2 {
    width: 100%;
    text-align: center;
    color: #fff;
	line-height: 0;
	/*
    font-size: 8vh;
	letter-spacing: 2.7vh;
	*/
	font-size: 64px;
	letter-spacing: 30px;
}

@media screen and (max-width: 1290px) {
	.section0_txt h2 {
		/*font-size: 5vh;*/
		font-size: 40px;
        letter-spacing: 24px;
	}
}

@media screen and (max-width: 1024px) {
	.section0_txt h2 {
		/*font-size: 3.5vh;*/
		font-size: 30px;
        letter-spacing: 20px;
	}
}

.section0_txt h3 {
    width: 100%;
    text-align: center;
    /*font-size: 2.5vh;*/
    font-weight: 100;
    color: #fff;
    padding-top: 3.2vh;
	font-size: 27px;
}


.section0_img {
    position: relative;
    height: 85vh;
    max-height: 76vh;
    width: 85vw;
	z-index: 2;
	overflow: hidden;
}

/*
.section0_img {
    position: relative;
    height: 100vh;
    width: 100vw;
	z-index: 2;
	overflow: hidden;
}
*/

.section0_img img {
    /*display: block;*/
    height: 100%;
    width: 100%;
    position: relative;
    object-fit: cover;
	object-position: 50% 100%;
}

.lord01 ,
.lord02 ,
.lord03 ,
.lord04 ,
.lord05 ,
.lord06 {
	display: none;
}

.lord01.active ,
.lord02.active ,
.lord03.active ,
.lord04.active ,
.lord05.active ,
.lord06.active {
	display: block;
}

/*
.section0_img map:hover area {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}


.ImageMap_area {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 999;
}


.lord01_img {
	background-image: url("images/lord01.jpg");
}
*/

img.map.zoom {
	transform:scale(1.2,1.2);
	transition:25s all;
}

.section0_img img.map {
	margin: 0;
}



/*---------------------------------------------------------------
	PC　TOPスクロールボタン
---------------------------------------------------------------*/

/*スクロールダウン全体の場所*/
.scrolldown1{
	position: absolute;
	right: -65px;
	/*right: 80px;*/
	bottom: 43%;
	height: 50px;
	z-index: 2;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
    position: absolute;
    left: -55px;
    top: 0;
    color: #eee;
    letter-spacing: 0.05em;
    width: 100px;
    font-size: 16px;
}

/* 線の描写 */
.scrolldown1::after{
  content: "";
    /*描画位置*/
  position: absolute;
  top: 0;
    /*線の形状*/
  width: 30px;
  height: 1px;
  background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    width: 0;
    left: 0;
    opacity: 0;
  }
  30%{
    width: 30px;
    opacity: 1;
  }
  100%{
    width: 0;
    left: 50px;
    opacity: 0;
  }
}


/*---------------------------------------------------------------
	SP　TOP/下層スクロールボタン
---------------------------------------------------------------*/
/*スクロールダウン全体の場所*/
.scrolldown1-1{
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  left:50%;
  bottom:10px;
    /*全体の高さ*/
  height:50px;
}

/*Scrollテキストの描写*/
.scrolldown1-1 span{
    position: absolute;
    left: -22px;
    top: -15px;
    color: #eee;
    font-size: 16px;
    letter-spacing: 0.05em;
    width: 50px;
}

/* 線の描写 */
.scrolldown1-1::after{
  content: "";
    /*描画位置*/
  position: absolute;
  top: 0;
    /*線の形状*/
  width: 1px;
  height: 30px;
  background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove1-1 1.4s ease-in-out infinite;
  opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove1-1{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:30px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    opacity: 0;
  }
}




.scroll_dw {
	bottom: 145px;
}


/*---------------------------------------------------------------
	section-01
---------------------------------------------------------------*/
/*
#section1 {
	padding-left: var(--margin-l);
	width: 100vw;
	padding: 0 45px 0 130px;
}
*/

.s1_box {
    display: flex;
	position: relative;
	/*width: 178vh;*/
	margin-left: 20vh;
}

.s1_01_con .icon_ya {
	margin: 3vh 0 3.7vh;
}


.s1_01_box {
	width: 53vh;
    position: relative;
    z-index: 2;
}

.s1_01 {}

.s1_01 img {
	width: 50vh;
}

.s1_01_bg {
    position: absolute;
    bottom: -6vh;
    right: -2vh;
    z-index: -1;
	transition: linear 1s;
}

.s1_01_bg img {
	width: 50vh;
}

.s1_01_logo {
    position: absolute;
    top: -5vh;
    right: -3vh;
}

.s1_01_logo img {
	width: 9.1vh;
}


.s1_box_l {
	width: 55vh;
    margin-right: 5vh;
}

.s1_02_box {
    display: flex;
}

/*
.s1_02_box_l {
    margin-right: 3vh;
}

.s1_02_box_l img {
    width: 30vh;
}
*/

.s1_02_box_l {
    margin-right: 3vh;
}

.s1_02_area {
    width: 31vh;
    height: 37vh;
    object-fit: cover;
    overflow: hidden;
    position: relative;
}

.s1_02_bg {
    width: 32vh;
    position: absolute;
	transition: linear 1s;
}

.s1_02_bg img {
    width: 36vh;
}

.s1_02_men {
    position: absolute;
    top: 0;
	transition: linear 1s;
}

.s1_02_men img {
    width: 20vh;
    margin-left: 11vh;
}



.s1_box_r {
    position: relative;
}

.top_ceo {
    display: flex;
    align-items: flex-end;
    margin: 3vh 0;
}

.top_ceo_l {
    font-size: 1.3vh;
    margin-right: 2vh;
}

.top_ceo_r {}

.top_ceo_r img {
    width: 12vh;
}

.s1_03_con {
    position: relative;
    margin-top: 12vh;
}

.s1_03_txt {}

.s1_03_txt .icon_ya {
    margin: 2vh 0;
}

.s1_03_img {
    position: absolute;
    top: 0;
	transition: linear 1s;
}

.s1_03_img img {
    width: 20vh;
}

.s1_03_img_box {
    position: relative;
	/*
    top: -44vh;
    left: -69vh;
	*/
	top: -19vh;
    left: 9vh;
    z-index: 2;
}

.s1_04_con {
    position: relative;
	margin-left: 15vh;
	/*margin-left: -17vh;*/
}

.s1_04 img {
    width: 50vh;
}



.s1_04_mask{
	width: 53vh;
    height: 62vh;
	background:url(images/s7_01.jpg);
	background-size: 220% 113%;
	background-repeat: no-repeat;
	mask-image:url(images/s1_04_mask.png);
	-webkit-mask-image:url(images/s1_04_mask.png);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	transition: linear 1s;
}





.s1_04_bg {
    position: absolute;
    bottom: -2vh;
    left: -1vh;
    z-index: -1;
    opacity: 0.6;
	transition: linear 1s;
}

.s1_04_bg img {
    width: 50vh;
}

.s1_ttl {
    position: absolute;
    bottom: -2vh;
    font-size: 15vh;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: #fff;
    opacity: 0.2;
	margin-left: 20vh;
}


/*---------------------------------------------------------------
	section-02
---------------------------------------------------------------*/

.s2_box {
    display: flex;
	position: relative;
	width: 200vh;
}

.s2_01_box {
	width: 57vh;
}

.s2_01 {
	position: relative;
}

.s2_01 img {
    width: 46vh;
}

.s2_01_mask{
	width: 61vh;
    height: 62vh;
	background:url(images/s7_04.jpg);
	background-size: 205% 145%;
	background-repeat: no-repeat;
	mask-image:url(images/s2_01_mask.png);
	-webkit-mask-image:url(images/s2_01_mask.png);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	margin-left: -11vh;
	margin-top: 2vh;
	transition: linear 1s;
}



.s2_01_bg {
    position: absolute;
    bottom: -2vh;
    left: -4vh;
    z-index: -1;
    opacity: 0.6;
    transition: linear 1s;
}

.s2_01_bg img {
    width: 42vh;
}

.s2_02_box {
    width: 68vh;
}

.s2_02_box a {
	height: 50%;
}

.s2_02_box h2 {}

.s2_02_box p {}

.s2_02_box .icon_ya {
    margin: 5vh 0 7vh;
}

.s2_02_img {
    position: relative;
	width: 50vh;
}

.s2_02 {}

.s2_02 img {
    width: 50vh;
}

.s2_02_bg {
    position: absolute;
    bottom: -6vh;
    right: -7vh;
    z-index: -1;
}

.s2_02_bg img {
    width: 50vh;
}

.s2_02_itm {
    position: absolute;
    bottom: 0;
    right: -23vh;
	transition: linear 1s;
}

.s2_02_itm img {
    width: 26vh;
}

/*
.s2_03_box img {
    width: 56vh;
}
*/

.s2_03_box {
	margin-left: 41vh;
    position: relative;
	z-index: -1;
}

/*
.s2_03_img {
    width: 55vh;
    position: absolute;
    z-index: -1;
	transition: linear 1s;
	opacity: 0;
}

.s2_03_img img {
}
*/



.s2_ttl {
    position: absolute;
    top: 10vh;
    left: 79vh;
    font-size: 19vh;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: #fff;
    opacity: 0.2;
}
  
/*---------------------------------------------------------------
	section-03
---------------------------------------------------------------*/
.s3_box {
    display: flex;
    position: relative;
    width: 150vh;
}

.s3_01_box {
	width: 55vh;
	height: 65vh;
    padding: 0 4vh 0 0;
    margin: 0 5vh;
    border-right: 1px solid #59575763;
	position: relative;
}

.s3_01_img {
    position: absolute;
    bottom: 0;
	right: 5vh;
	transition: linear 1s;
}

.s3_01_box .icon_ya {
    margin: 5vh 0 7vh;
}

.s3_01_img img {
    width: 18vh;
}

.s3_02_box {
    width: 40vh;
	height: 65vh;
    margin: 0 10vh 0 0;
	position: relative;
}

.s3_02_box .icon_ya {
    margin: 5vh 0 7vh;
}

.s3_02_img img {}

.s3_03_box {}

.s3_03_box img {
    width: 42vh;
}

.s3_02_img {
    position: absolute;
	bottom: 0;
}

.s3_02_img img {
    width: 36vh;
}

.s3_ttl {
    position: absolute;
    bottom: -2vh;
    font-size: 19vh;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
	letter-spacing: 1vh;
    color: #fff;
    opacity: 0.2;
    margin-left: -20vh;
}

/*---------------------------------------------------------------
	section-04
---------------------------------------------------------------*/

.s4_box {
    display: flex;
    position: relative;
    width: 162vh;
}

.s4_01_box {
    width: 44vh;
    height: 65vh;
    padding: 0 7vh 0 0;
    margin: 0 0 0 16vh;
    border-right: 1px solid #59575763;
    position: relative;
}

.s4_01_img_box {
}

.s4_01_logo {
    position: absolute;
    bottom: 25vh;
    right: 7vh;
}

.s4_01_logo img {
    width: 22vh;
}

.s4_01 {
    position: absolute;
    bottom: 0;
	transition: linear 1s;
}

.s4_01 img {
    width: 25vh;
}

.s4_02_box {
    width: 43vh;
    height: 65vh;
    padding: 0 7vh 0 0;
    margin: 0 0 0 7vh;
    border-right: 1px solid #59575763;
    position: relative;
}

.s4_02_box .icon_ya {
    margin: 5vh 0 7vh;
}

.s4_02 {
    position: absolute;
    bottom: 0;
}

.s4_02 img {
    width: 36vh;
}

.s4_03_box {
    width: 41vh;
    height: 65vh;
    padding: 0 6vh 0 0;
    margin: 0 5vh 0 6vh;
    border-right: 1px solid #59575763;
    position: relative;
}

.s4_03_box .icon_ya {
    margin: 5vh 0 7vh;
}

.s4_03 {
    position: absolute;
    bottom: 0;
}

.s4_03 img {
    width: 36vh;
}

.s4_ttl {
    position: absolute;
    bottom: -2vh;
    left: 32vh;
    width: 100%;
    font-size: 18.5vh;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    letter-spacing: 1vh;
    color: #fff;
    opacity: 0.2;
}

/*---------------------------------------------------------------
	section-05
---------------------------------------------------------------*/

.s5_box {
    display: flex;
    position: relative;
    /*width: 187vh;*/
    width: 172vh;
}

.s5_01_box {
    width: 116vh;
    height: 65vh;
    display: flex;
    flex-wrap: wrap;
    gap: 3vh 5vh;
}

.s5_01_01 {}

.s5_01_01 img {
    width: 30vh;
}

.s5_01_02 {
    margin-top: 5vh;
}

.s5_01_02 img {
    width: 29vh;
}

.s5_01_03 {}

.s5_01_03 img {
    width: 20vh;
}

.s5_01_04 {}

.s5_01_04 img {
    width: 48vh;
}

.s5_01_05 {
    margin-top: -2.6vh;
}

.s5_01_05 img {
    width: 21vh;
}

.s5_01_06 {
    margin-top: -4vh;
}

.s5_01_06 img {
    width: 28vh;
}

.s5_02_box {
    width: 49vh;
    height: 65vh;
    padding: 0 7vh 0 0;
    margin: 0 0 0 4vh;
    border-right: 1px solid #59575763;
    position: relative;
}

.s5_02_box .icon_ya {
    margin: 5vh 0 7vh;
}

.s5_02 {
    position: absolute;
    bottom: 0;
    right: 5vh;
	transition: linear 1s;
}

.s5_02 img {
    width: 24vh;
}

.s5_ttl {
    position: absolute;
    bottom: 15vh;
    /*right: 39vh;*/
	left: 90vh;
    z-index: -1;
    font-size: 21vh;
    letter-spacing: 1vh;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: #fff;
    opacity: 0.2;
}

/*---------------------------------------------------------------
	section-06
---------------------------------------------------------------*/
.bg_section6 {
    /*margin: 0 20vh;*/
}

.s6_box {
    display: flex;
    position: relative;
    width: 182vh;
}

.s6_01_box {
    width: 60vh;
    height: 65vh;
    padding: 0 11vh 0 0;
    margin: 0 6.3vh 0 4vh;
    border-right: 1px solid #59575763;
    position: relative;
}

.s6_01_box .icon_ya {
    margin: 5vh 0 7vh;
}

.s6_01 {
    position: absolute;
    bottom: 0;
    right: 10vh;
	transition: linear 1s;
}

.s6_01 img {
    width: 18vh;
}

.s6_02_box {
    width: 116vh;
    height: 65vh;
    display: flex;
    flex-wrap: wrap;
    gap: 3vh 5vh;
}

.s6_02_01 {}

.s6_02_01 img {
    width: 32vh;
}

.s6_02_02 {
    margin-top: 6vh;
}

.s6_02_02 img {
    width: 28.5vh;
}

.s6_02_03 {
}

.s6_02_03 img {
    width: 21vh;
}

.s6_02_04 {
    margin-left: 9vh;
}

.s6_02_04 img {
    width: 41.5vh;
}

.s6_02_05 {
    margin-top: -7vh;
}

.s6_02_05 img {
    width: 21vh;
}

.s6_02_06 {
    margin-top: -7vh;
}

.s6_02_06 img {
    width: 28vh;
}

.s6_ttl {
    position: absolute;
    bottom: 7vh;
    left: 0;
    z-index: -1;
    font-size: 21vh;
    letter-spacing: 0.4vh;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: #fff;
    opacity: 0.2;
}

/*---------------------------------------------------------------
	section-07
---------------------------------------------------------------*/

.bg_section7 {
    /*margin: 0 100vh;
	width: 950vh;*/
	margin: 0;
	width: 170vh;
	overflow: hidden;
}

.fix_area {
	/*position: fixed;*/
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%)
			 translateY(-50%);
	z-index: 0;
}


.s7_box {
    display: flex;
	flex-wrap: wrap;
	gap: 4.5vh;
    /*position: relative;*/
    width: 157vh;
	/*opacity: 0;*/
	opacity: 1;
}

.s7_box.active {
	opacity: 1;
	z-index: 1;
}

.s7_box.notshow{
	display: none !important;
}

.s7_itm_box {
	width: 49vh;
    height: 29vh;
	overflow: hidden;
}

.s7_itm_box a {
    position: relative;
}

.s7_itm {
	height: 100%;
    text-align: center;
    position: relative;
	transition: 1s;
	/*
    background-position: bottom;
	background-size: 130%;
	background-repeat:no-repeat; 
	background-size: 75vh;
    background-position-y: -13vh;
	transition: 1s;
	*/
}

.s7_itm p {
	color: #fff;
    font-size: 2vh;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    letter-spacing: 0.3vh;
    padding: 7vh 0 0;
}

.s7_itm_bg {
	width: 100%;
    height: 29vh;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-size: cover;
}

.s7_itm a {
}

.s7_itm .s7_itm_link {
    position: absolute;
    top: 1vh;
    right: 1vh;
    width: 1.6vh;
}

.s7_itm_bg {
	transition: 1s;
}

.s7_itm_bg.link {
	transform: scale(1.2) !important;
	transition: 1s;
}

.s7_01 {
    background-image: url(images/s7_01.jpg);
}

@media screen and (max-width: 782px) {
	.s7_01 {
		background-image: url(images/s7_01@sp.jpg);
	}
}

.s7_02 {
    background-image: url(images/s7_02.jpg);
}

.s7_03 {
    background-image: url(images/s7_03.jpg);
}

.s7_04 {
    background-image: url(images/s7_04.jpg);
}

.s7_05 {
    background-image: url(images/s7_05.jpg);
}

.s7_06 {
    background-image: url(images/s7_06.jpg);
}

a:hover .s7_itm p {
	opacity: 1;
}

.s7_itm_base {
    width: 49vh;
    height: 29vh;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    background-size: cover;
    background-color: #ffffff30;
}

/*---------------------------------------------------------------
	section-08
---------------------------------------------------------------*/

.s8_box {
    display: flex;
    position: relative;
    /*width: 175vh;*/
    width: 100vw;
	height: 100vh;
    align-items: center;
	justify-content: center;
    /*margin-left: 28vh;*/
}

.s8_01 {
    width: 19vh;
    padding: 0 6vh 0 0;
}

.s8_02 {
    width: 50vh;
    padding: 0 0 0 5vh;
    border-left: 1px solid #2218157d;
}

.s8_02_comp {
    font-size: 1.2vh;
    letter-spacing: 0.15vh;
}

.s8_02_en {
    font-size: 1.58vh;
    margin-bottom: 1.5vh;
}

.s8_02_add {
    font-size: 1.2vh;
    line-height: 1.7vh;
    margin-bottom: 1vh;
}

.s8_02_tel {
    display: flex;
    align-items: center;
}

.s8_02_tel p {
    display: flex;
    align-items: center;
	font-weight: 500;
}

.s8_02_tel p img {
    width: 1.4vh;
    padding-right: 0.5vh;
    margin-right: 0.2vh;
}

.s8_02_fax {
    display: flex;
    align-items: center;
}

.s8_02_fax p {
    display: flex;
    align-items: center;
	font-weight: 500;
}

.s8_02_fax p img {
    width: 2vh;
    padding-right: 0.5vh;
}

.s8_02_sns {
    display: flex;
    margin-bottom: 1.3vh;
}

.s8_02_sns p {
    width: 1.3vh;
    margin-right: 1.5vh;
}

.s8_02_cp {
	font-size: 1vh;
    letter-spacing: 0.11vh;
}

.s8_03 {
    font-size: 2.5vh;
	letter-spacing: 1.0vh;
    color: #0054a6;
	margin-top: -18%;
}


.s8_con {
    position: absolute;
    top: 50%;
    /*left: 35%;*/
	left: 480px;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
}

.s8_bg {
	position: absolute;
	bottom: 0;
    right: 0;
	margin-left: 21vh;
	opacity: 0;
	transition : all 1s;
}

.s8_bg img {
    width: 163vh;
}


.s8_opt {
	/*opacity: 0;*/
	opacity: 1;
	transition : all 2s;
}

.s8_opt.active {
	opacity: 1;
}



/*---------------------------------------------------------------
	header-logo
---------------------------------------------------------------*/

/*
.hd_logo {
    position: fixed;
    top: 4vh;
    left: 4vh;
	width: 8vh;
    height: 7vh;
    background-image: url(images/logo_w.svg);
    background-size: cover;
	z-index: 1;
}
*/

.hd_logo {
    position: fixed;
    top: 35px;
    left: 35px;
    width: 70px;
    height: 62px;
    background-image: url(images/logo_w.svg);
    background-size: cover;
    z-index: 1;
}

.hd_logo.active {
	background-image: url("images/logo.svg");
	z-index: 5;
}


/*
.menu_txt {
    position: fixed;
    top: 5.4vh;
    right: 14vh;
    font-family: 'Montserrat', sans-serif;
    font-size: 2vh;
    font-weight: 600;
    color: #fff;
}
*/

.menu_txt {
    position: fixed;
    top: 54px;
    right: 108px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #fff;
	z-index: 4;
}

.menu_txt.active {
    display: none;
}

.close_txt {
    position: fixed;
    top: 54px;
    right: 108px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #595757;
	z-index: 4;
	display: none;
}

.close_txt.active {
    display: block;
}



/*---------------------------------------------------------------
	アニメーション
---------------------------------------------------------------*/

.parallax_bg::before,
.parallax_bg::after{
    /*content: '';*/
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.parallax_bg::before{
    background: #FFF;
    z-index: 3;
    transition: 1s;
}
.parallax_bg::after{
    /*background: #dc7497;*/
    z-index: 2;
    transition: 1s;
    transition-delay: .5s;
}
.parallax_bg.show::before,
.parallax_bg.show::after{
    transform: translateY(100%);
}
.parallax_bg img{
    /*opacity: 0;*/
    opacity: 1;
    transform: scale(.8);
    transition: 1.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition-delay: 0s;
}
.parallax_bg.show img{
    opacity: 1;
    transform: scale(1);
}




.img_fadein,
.img_fadein2,
.img_fadein3,
.img_fadein4,
.img_fadein5,
.img_fadein6{
  /*opacity : 0;*/
  opacity : 1;
  transition : all 1s;
}
  
.img_fadein.active,
.img_fadein2.active,
.img_fadein3.active,
.img_fadein4.active,
.img_fadein5.active,
.img_fadein6.active{
  opacity : 1;
}



.parallax10 {
	/*opacity : 0;*/
	opacity : 1;
}

.zoomIn {
    animation: zoomIn 1.0s ease 0s 1 normal;
}
/* zoomIn */
@keyframes zoomIn {
    0% {
        opacity: 0;
        transform: scale3d(0.3, .3, 0.3)
    }
    50% {
        opacity: 1
    }
}

.parallax10.active{
  opacity : 1;
}






.txt_off {
	/*opacity: 0;*/
}

.txt_on {
	opacity: 1;
}


.fadeInLeft {
    animation: fadeInLeft 0.7s ease 0s 1 normal;
}
/* fadeInLeft */
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
  }
}




.ya-anime{
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: normal;
	animation-duration: 1.5s;
}

.ya-key{
  animation-name: anim_h;
}

@keyframes anim_h {
	0% {
		transform: translate(0px, 0);
		opacity: 0;
	}
	
	20% {
		opacity: 1;
	}
	
	100% {
		transform: translate(30px, 0);
		opacity: 0;
	}
}


.zoom-in {
	animation: zoom-in-anim 3s paused;
	animation-play-state: running;
}

/*
.zoom-in:hover {
	animation-play-state: running;
}
*/

@keyframes zoom-in-anim {
	0% {
	transform: scale(0);
	}
	100% {
	transform: scale(1);
	}
}




/*---------------------------------------------------------------
	menu
---------------------------------------------------------------*/



.hamburger {
    display: block;
    position: fixed;
    z-index: 4;
    right: 51px;
    top: 38px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
}
.hamburger span {
    display: block;
    position: absolute;
    width: 48px;
    height: 4px;
    left: 6px;
    background: #fff;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    transition: 0.5s all;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */

.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 18px;
  width: 24px;
    background : #595757;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
.hamburger.active span:nth-child(2) {
  left: 60%;
  opacity: 0;
  -webkit-animation: active-btn17-bar02 .8s forwards;
  animation: active-hamburger-bar02 .8s forwards;
}
@-webkit-keyframes active-hamburger-bar02 {
  100% {
    height: 0;
  }
}
@keyframes active-hamburger-bar02 {
  100% {
    height: 0;
  }
}
.hamburger.active span:nth-child(3) {
  top: 16px;
	left: 18px;
  width: 24px;
  background : #595757;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}


.hamburger::after {
    position: absolute;
    top: 57%;
    left: 55%;
    display: block;
    content: '';
    width: 52px;
    height: 52px;
	margin: -32px 0 0 -19px;
    border-radius: 50%;
    border: 2px solid rgba(0, 0, 0, 0);
    transition: linear .75s;
	opacity: 0;
}
.hamburger.active::after {
  border: 2px solid #595757;
}

.hamburger:hover::after {
	opacity: 1;
}

nav.globalMenuSp {
	position: fixed;
	z-index : 0;
	top  : 0;
	left : 0;
	color: #fff;
	width: 100%;
	height: 100vh;
	background-image: url("images/bgMN.png");
	background-size: cover;
	opacity: 0;
	transition: opacity .6s ease, visibility .6s ease;
	display: none;
}

nav.globalMenuSp.active {
	opacity: 1;
	z-index: 3;
	display: block;
}


.menu {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.menu_news {
    width: 60vh;
    position: relative;
    border-bottom: 1px solid #005cac;
    padding-bottom: 1.5vh;
}

.menu_news a {
    width: 60vh;
    display: flex;
	align-items: center;
    font-size: 1.8vh;
    color: #005dae;
}

.menu_news a:hover {
	color: #98aecb;
}

.new_date {
    display: flex;
    align-items: center;
}

span.new {
    background-color: #023594;
    font-size: 1vh;
    margin-right: 1.3vh;
    display: flex;
    align-items: center;
    padding: 0.2vh 1vh;
    color: #fff;
    letter-spacing: 0;
}

.loop_txt_area {
	width: 36vh;
	overflow: hidden;
}

p.loop_txt {
	width: 88vh;
	animation: animate-banner 15s linear infinite;
	font-size: 1.8vh;
}

@keyframes animate-banner {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}


span.ya {
    color: #023594;
    position: absolute;
    top: 0;
    right: 1.5vh;
}

.menu_nav {
    width: 60vh;
    display: flex;
	margin: 2.5vh 0;
}

.menu_nav_l {
    width: 40vh;
}

.menu_nav_l_con {
	margin-bottom: 4.8vh;
}

.menu_nav_l_con_end {
    margin: 0;
}

.menu_nav_l_con h2 {font-family: 'Montserrat', sans-serif;font-weight: 600;color: #005dae;margin-bottom: 1vh;}

.menu_nav_l_con h2 a {
	color: #005dae;
}

.menu_nav_l_con h2 a:hover {
    color: #98aecb;
}

.menu_nav_l_con h2 span {
    position: relative;
    top: 0;
    padding: 0;
    font-size: 1vh;
    padding-right: 0.7vh;
}

.menu_nav_l_con p {
    color: #005dae;
    font-size: 1.6vh;
    line-height: 3.0vh;
}

.menu_nav_l_con p a {
    display: inline;
    color: #005dae;
}

.menu_nav_l_con p a:hover {
    color: #98aecb;
}

.menu_nav_l_con p ,
.menu_nav_l_con p.ttl_txt_one {
    margin-bottom: 3.6vh;
}

p.ttl_txt_one_end {
    margin: 0;
}

.menu_nav_l_con p.ttl_txt {
    margin-bottom: 0;
}


.menu_nav_r {
    width: 20vh;
}

.menu_nav_r_con_sns {
    display: flex;
    border-bottom: 1px solid #005cac;
    padding-bottom: 2.4vh;
}

.menu_nav_r_con_sns p {margin-right: 1.8vh;}

.menu_nav_r_con_sns p img {
    width: 2vh;
}

.menu_nav_r_con_sns p a img {
}

.menu_nav_r_con_sns p a:hover img {
	opacity: 0.7;
}

.menu_nav_r_con {
    margin-top: 3vh;
    border-bottom: 1px solid #005cac;
    /* padding-bottom: 2.4vh; */
}

.menu_nav_r_con h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: #005dae;
    margin-bottom: 1.4vh;
}

.menu_nav_r_con h2 a {
    color: #005dae;
}

.menu_nav_r_con h2 a:hover {
    color: #98aecb;
}

.menu_nav_r_con h2 span {position: relative;top: 0;padding: 0;font-size: 1vh;padding-right: 0.7vh;}

.menu_nav_r_con p {
    color: #005dae;
    font-size: 1.6vh;
    line-height: 2.3vh;
    margin-bottom: 2vh;
}

.menu_nav_r_con p a {
    display: inline;
    color: #005dae;
}

.menu_nav_r_con p a:hover {
    display: inline;
    color: #98aecb;
}







.menu_logo {
    display: flex;
	align-items: flex-end;
    gap: 2vh;
    margin-top: 5vh;
}

.menu_logo01 {
}

.menu_logo02 {
}

.menu_logo01 img {
    width: 14vh;
}

.menu_logo02 img {
    width: 14vh;
}


.menu_dw {
    width: 60vh;
    display: flex;
    border-top: 1px solid #005cac;
    padding-top: 1.5vh;
    justify-content: space-between;
}

.menu_dw_l {
    font-size: 1.4vh;
    line-height: 2.3vh;
}

.menu_dw_l a {
    color: #005dae;
}

.menu_dw_l a:hover {
    color: #98aecb;
}

.menu_dw_r {
}

.menu_dw_pdf_box {
    display: flex;
    align-items: center;
    gap: 5vh;
}

.menu_dw_pdf {}

.menu_dw_pdf a {
    color: #005dae;
    display: flex;
    align-items: center;
    font-size: 1.4vh;
}

.menu_dw_pdf a:hover {
    color: #98aecb;
}

.menu_dw_pdf span {
    display: block;
    width: 2vh;
    margin-right: 1vh;
}


/*---------------------------------------------------------------
	お問い合わせバナー
---------------------------------------------------------------*/

.top_contact_bnr {
	position: fixed;
    bottom: 5vh;
    right: 5vh;
    color: #fff;
    border: 1px solid #fff;
    /* padding: 1vh 2vh; */
    z-index: 2;
	width: 28vh;
    height: 13vh;
}

.top_contact_bnr:hover {
    background-color: rgb(255 255 255 / 80%);
    border: 1px solid #005eae;
}

.top_contact_bnr a {
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    padding: 7px 15px;
}

.top_contact_bnr a:hover p {
	opacity: 1;
	color: #005eae;
}

p.bnr_ttl {
    font-size: 1.0vh;
    margin: 0 0 0.5vh;
    padding: 0 2vh 0;
}

p.bnr_tel {
    display: flex;
    font-size: 2.2vh;
    align-items: center;
    /*padding: 0 2vh 1vh;*/
    padding: 0 1.5vh 1vh;
    border-bottom: 1px solid #fff;
}

a:hover p.bnr_tel {
	border-bottom: 1px solid #005eae;
}

p.bnr_tel span {width: 2.3vh;margin-right: 2vh;}

p.bnr_mail {
    display: flex;
    font-size: 1.0vh;
    align-items: center;
    padding: 1vh 0 0;
    justify-content: center;
}

p.bnr_mail span {
    width: 2.3vh;
    margin-right: 2vh;
    margin-top: -0.8vh;
}

/*---------------------------------------------------------------
	1文字ずつアニメーション　タイトル
---------------------------------------------------------------*/

.flowing_ttl {
	/*
	margin: 0;
	font-size: 50px;
	font-weight: bold;
	color: #ff6347;
	*/
	white-space: nowrap;
	overflow: hidden;
	/*animation: flowing_ttl-anim 8s;*/
	animation: flowing_ttl-anim 0s;
}

@keyframes flowing_ttl-anim {
 0%{
     width: 0vh;
   }
100%{
     width: 170vh;
   }
}



/*---------------------------------------------------------------
	1文字ずつアニメーション
---------------------------------------------------------------*/

.flowing {
	width: 0;
	white-space: nowrap;
	overflow: hidden;
	animation: flowing-anim 1s forwards linear;
	animation-delay: 0;
}

.flowing:nth-child(2) {
  animation-delay: .5s;
}

.flowing:nth-child(3) {
  animation-delay: 1s;
}


@keyframes flowing-anim {
 0%{
     width: 0%;
   }
100%{
     width: 100%;
   }
}










/*---------------------------------------------------------------
	下層
---------------------------------------------------------------*/

/*** OEM solustion ***/

.oem01 {
	border-left: solid 1px #221815;
    padding-left: 50px;
	margin-bottom: 77.5px;
}

img.oem_mv {
	margin-bottom: 55px;
}

.oem01_clients {
	display: flex;
	flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
	margin-top: 55px;
}

.oem01_clients div {
	text-align: center;
}

.oem01_clients div img {
	width: 110px;
    margin-bottom: 15px;
}

.oem02_box {
	/*
	background-image: url("images/oem08.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	*/
	width: 100%;
	height: 527.5px;
	color: #fff;
	display: flex;
	align-items: center;
    justify-content: center;
}

.oem02_box.parallax {
	padding: 300px 0;
	background-image: url("images/oem08.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.oem02 h2 {
	font-size: 30px;
	margin-bottom: 50px;
}

.oem02 h3 {
	font-size: 24px;
    line-height: 55px;
    font-weight: 400;
}

.oem03,
.recruit01,
.recruit01_2 {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.oem03 {
	margin-top: 142px;
}

.company01 {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.oem03_l {
	border-left: solid 1px #221815;
    padding-left: 50px;
    width: 50%;
}

.oem03_l h2,
.oem04_1 h2 {
	padding: 0!important;
}

.oem03_l h2 span.oem03_title {
	position: unset !important;
    padding: 0 !important;
    font-size: 24px !important;
    color: #221815 !important;
}

.oem03_r,.oem03_r2,
.company01_l,.company01_r {
	width: 50%;
}

.company01_l h3 {
	font-size: 14px !important;
	padding-left: 58px;
	margin: 40px 0 0 !important;
}

.company01_l h3 img {
	width: 163px;
	padding-bottom: 7px;
}

.oem03_r {
    text-align: right;
}


/*** 企業情報 ***/

.company01_r {
	padding-left: 55px;
}

.oem03_r2,
.company01_l {
    text-align: left;
}

p.sukashi,
p.sukashi2 {
    font-size: 24px !important;
    font-family: 'Montserrat' , sans-serif;
    font-weight: 500;
    margin-bottom: 4vh;
}

p.sukashi {
	color: #efefef;
}

p.sukashi2 {
	color: #ffffff10 !important;
}

.oem03_r img,
.oem03_r2 img {
	width: 350px;
}

.oem03_r img.oem03_ue,
.oem03_r2 img.oem03_ue {
	margin-bottom: 30px;
}

.oem04_box,
.recruit04_box {
	background-color: #045ba4;
	width: 100%;
}

.oem04_box {
	height: 968px;
	padding: 50px;
	margin-top: 117px;
}

.oem04_box p,
.recruit04_box p,
.recruit04_box h3 {
	color: #fff;
}

.oem04_1 h2 {
	color: #fff !important;
}

.oem04_1 {
	display: flex;
	justify-content: space-between;
}

.oem04_2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 42px;
}

.oem04_2 img {
	width: 197.5px;
}


.company01_l img {
	width: 400px;
}

.company02_box {
	background-color: #efefef;
	margin-top: 74px;
	padding-bottom: 75px;
}

.company02 {
	width: 980px;
    margin: auto;
    padding: 0 40px;
}

.company02 table {
	border-top: solid 2px #c7c7c7;	
}

td.company02_l,
td.company02_r {
	border-bottom: solid 2px #c7c7c7;
	padding: 20px 0;
	color: #000;
	font-size: 16px;
}

td.company02_l {
	width: 257px;
}

span.ls06 {
	letter-spacing: 0.6em;
}

span.tatehoso {
	transform: scale(0.82, 1);
	transform-origin: top left;
	display: inline-block;
}

td.company02_r {
	width: 723px;
}

td.company02_r a {
	color: #788f9c;
	font-size: 14px;
	letter-spacing: 0;
	display: contents;
}

td.company02_r a img {
	width: 20px;
	margin: -10px 10px -6px 7px;
}

.company03_box {
	display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    margin-top: 67px;
}

.company03_box h2 {
	font-size: 30px;
    color: #045ba4;
}

.company03_box p {
	font-size: 16px;
    line-height: 30px;
    text-align: center;
}

.map {
	background-color: #578FC8;
	width: 100%;
	height: 526px;
	margin-top: 67px;
}


/*** 採用情報 ***/

.recruit01_box {
	display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.recruit_title {
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
	width: 50%;
	margin-bottom: 53px;
}

.recruit_title h2 {
	margin: 0;
	padding-bottom: 0 !important;
}

.recruit_title a {
	width: 185px;
}

.recruit_btn {
	width: 185px;
    height: 40px;
	/*margin-bottom: 12px;*/
    background-color: #045ba4;
	color: #fff;
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.recruit02_box,
.recruit05_box {
	/*
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	*/
	width: 100%;
	margin-top: 90px;
}

.recruit02_box {
	height: 752.5px;
}

.recruit02_box.parallax {
	padding: 300px 0;
	background-image: url("images/recruit02.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

@media screen and (max-width: 782px) {
	.recruit02_box.parallax {
		background-image: url("images/recruit02@sp.jpg");
	}
}

.recruit05_box {
	height: 527px;
}

.recruit05_box.parallax {
	padding: 300px 0;
	background-image: url("images/recruit06.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

@media screen and (max-width: 782px) {
	.recruit05_box.parallax {
		background-image: url("images/recruit06@sp.jpg");
	}
}



.recruit03_box {
	margin-top: 14.5px;
	display: flex;
    justify-content: center;
    flex-direction: column;
}

.recruit03_box .recruit_title_box,
.recruit03_box .recruit_title_box2 {
	display: flex;
    flex-direction: row;
    align-items: center;
    width: 980px;
    margin: auto;
    padding: 0 40px;
}

.recruit03_box .recruit_title_box {
    justify-content: flex-start;
}

.recruit03_box .recruit_title_box2 {
	justify-content: flex-end;
}

.recruit03_box .recruit_title {
	width: 441px;
}

.recruit03_box .recruit01 {
	justify-content: flex-end;
}

.recruit03_box .recruit01_2 {
	justify-content: flex-start;
}






.recruit03_box .oem03_l {
    width: 452px;
    padding-right: 10px;
}

.recruit03_box .oem03_l p {
	font-size: 16px;
    line-height: 36px;
	letter-spacing: 0.05em;
}

.recruit03_box .oem03_l h3 {
	font-size: 24px;
    font-weight: 500;
    margin: 88px 0 30px;
}

.recruit01 .oem03_l {
    margin-left: 40px;
}

.recruit01 .oem03_r {
	padding-left: 50px;
}

.recruit01 .oem03_r img {
	width: 100%;
    height: 825px;
    object-fit: cover;
    object-position: 50%;
}

.recruit01 .oem03_r img.oem03_r00 {
	height: auto;
}


.recruit01_2 .oem03_r {
	padding-right: 50px;
}

.recruit01_2 .oem03_l {
    margin-right: 40px;
}

.recruit01_2 .oem03_l p {
	letter-spacing: 0.03em;
}

.recruit01_2 .oem03_r img {
	width: 100%;
    height: 544px;
    object-fit: cover;
    object-position: 50%;
}





.recruit04_box {
	padding: 50px 50px 60px;
	margin-top: 90px;
}

.recruit04_box h3 {
	font-weight: 400;
	margin: 70px 0 25px !important;
}

.recruit06_box {
	width: 900px;
    height: 250px;
    margin: -122.5px auto auto;
    background-color: #fff;
    border: solid 1px #045ba4;
    border-radius: 12.5px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    padding: 10px 58px 0;
}

.recruit06_tx_box {
	width: 50%;
}

.recruit06_tx_box h2 {
	font-size: 30px;
    color: #045ba4;
}

.recruit06_tx_box p {
	font-size: 16px;
    line-height: 36px;
}

.recruit06_btn_box {
	width: 50%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-end;
	gap: 22px;
}

.recruit06_btn_box a {
	width: 300px;
}

.recruit06_btn01,
.recruit06_btn02,
.jobs_entrybtn02,
.jobs_entrybtn03 {
	width: 300px;
    height: 50px;
    border-radius: 50px;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.recruit06_btn01 {
    background-color: #045ba4;
    color: #fff;
	margin-bottom: 0;
}

.recruit06_btn02 {
    border: solid 1px #045ba4;
    color: #045ba4;
}

/*---------------------------------------------------------------
	採用情報_募集職種
---------------------------------------------------------------*/


.jobs_contents {
	width: 900px;
    margin: auto;
}

/* 
ラジオボタンは非表示 
.tab_active {
  display: none;
}

.jobs_tabbox_menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 23.5px;
    padding: 10px 0 23px;
}

label.tab_label {
    width: calc( (100% / 3) - 16px);
    font-size: 24px;
    text-align: center;
    border: 1px solid #77aad4;
    padding: 25px 0;
}

label.tab_label:hover {
	background-color: #0060af;
	color: #fff;
}

*/


.jobs_tabbox_menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 23.5px;
    padding: 10px 0 23px;
}

.tab_label {
    width: calc( (100% / 3) - 16px);
    height: 74px;
    font-size: 24px;
    text-align: center;
    border: 1px solid #77aad4;
    position: relative;
}

.tab_label a {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #0060af;
}

.tab_label a:hover {
	background-color: #0060af;
	color: #fff;
}

.tab_label.active {
	background-color: #0060af;
	color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}


/*
.jobs_tabbox {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 50px;
}

.jobs_tabbox:after {
	content: '';
	width: 100%;
	background:#0060af;
	display: block;
	order: -1;
}

.tab_label {
	height: 75px;
	font-size: 24px;
	color:#0060af;
	background:#fff;
	border: solid 1px #77aad4;
	display: flex;
	justify-content: center;
    align-items: center;
	white-space: nowrap;
	order: -1;
	position: relative;
	z-index: 1;
	cursor: pointer;
	flex: 1;
}

.tab_label:not(:last-of-type) {
	margin-right: 22.5px;
    margin-bottom: 22.5px;
}

#tab01:checked ~ #tabContent01,
#tab02:checked ~ #tabContent02,
#tab03:checked ~ #tabContent03,
#tab04:checked ~ #tabContent04,
#tab05:checked ~ #tabContent05,
#tab06:checked ~ #tabContent06{
  display: block;
}


input#tab01:checked ~ .jobs_tabbox_menu label#tabMenu01,
input#tab02:checked ~ .jobs_tabbox_menu label#tabMenu02,
input#tab03:checked ~ .jobs_tabbox_menu label#tabMenu03,
input#tab04:checked ~ .jobs_tabbox_menu label#tabMenu04,
input#tab05:checked ~ .jobs_tabbox_menu label#tabMenu05,
input#tab06:checked ~ .jobs_tabbox_menu label#tabMenu06{
	background-color: #0060af;
	color: #fff;
}

.tab_content {
	width: 100%;
	overflow: hidden;
	font-size: 16px;
	display: none;
	margin: 0 0 43px;
}

*/

.contents_box .tab_content {
	width: 100%;
	font-size: 16px;
	margin: 0 0 43px;
}

.contents_box .tab_content h2 {
	padding: 0;
	margin: 0;
    line-height: 33px;
    font-size: 24px;
}

.contents_box .tab_content h2 span {
	position: unset;
    padding: 0;
    color: #504846;
    font-size: 14px;
    letter-spacing: 0.2em;
}

.contents_box .tab_content h3 {
	font-family: 'Noto sans JP',sans-serif;
	text-align: right;
    font-weight: 500;
    font-size: 14px;
	color:#0060af;
	line-height: 33px;
	margin: 0;
}

.contents_box .tab_content .no_date {
	font-size: 16px;
	text-align: center;
	color: #0060af;
	margin: 100px 0;
}

.jobs_list_t {
	display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin: 35px 0 43px;
}

td.jobs_list_l,td.jobs_list_r {
	padding: 15px 0;
    font-size: 16px;
    color: #000;
    line-height: 30px;
    border-top: solid 1px #c3c3c3;
}

td.jobs_list_l {
	width: 257.5px;
}

td.jobs_list_r {
	width: 642.5px;
}

/*
.tab_active:checked+.tab_label {
	color:#fff;
	background:#0060af;
}

.tab_active:checked+.tab_label+.tab_content {
	height: auto;
	overflow: auto;
	opacity: 1;
	transition: .5s opacity;
}

.tab_active {
	display: none;
}
*/


.jobs_entry {
    background-color: #fff;
    border: solid 1px #79a8ce;
    border-radius: 12.5px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    padding: 40px 50px 30px;
}

.jobs_entry_tx {
	width: 55%;
}

.jobs_entry_tx h2 {
	font-size: 24px !important;
    padding: 0 !important;
    color: #221815 !important;
    margin: 0 0 20px;
}

.jobs_entry_tx p {
	font-size: 16px;
    line-height: 24px;
}

.job_entry_tel {
	color: #045ba4;
	display: flex;
    align-items: center;
    justify-content: space-between;
	margin-top: 15px;
}

.job_entry_tel_l {
	font-size: 44px;
    vertical-align: middle;
    transform: scale(0.86, 1);
    transform-origin: top left;
}

.job_entry_tel_l img {
	width: 28px;
    margin-right: 10px;
    margin-top: 7px;
	display: block;
    float: left;
}

.job_entry_tel_r {
	font-size: 16px;
	line-height: 20px;
}

.job_entry_tel_r span {
	font-size: 14px;
}

.jobs_entrybtn_box {
	width: 45%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-end;
}

.jobs_entrybtn_box a {
	width: 300px;
}

.jobs_entrybtn_box .recruit06_btn01 {
	margin: 0;
}

.jobs_entrybtn02 {
    border: solid 1px #00b900;
    color: #00b900;
	margin: 15px 0;
}

.jobs_entrybtn02 img {
	width: 33px;
	margin-right: 10px;
}

.jobs_entrybtn03 {
    border: solid 1px #003a9b;
    color: #003a9b;
}

.jobs_entrybtn03 img {
	width: 95px;
    margin-right: 4px;
    margin-top: -2px;
}














/*** FAQ ***/

/* ==========================
  アコーディオンメニュー
========================== */
.bl_accordion {
	background-color: #fff;
}

/*
.bl_accordionTitle {
	font-size: 24px;
	padding: 50px 0;
	transition: 0.3s;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	border-top: solid 1px #e1e1e1;
}
*/

.bl_accordionTitle {
    /* font-size: 24px; */
    padding: 50px 0;
    /* transition: 0.3s; */
    /* cursor: pointer; */
    position: relative;
    overflow: hidden;
    border-top: solid 1px #e1e1e1;
    display: flex;
    gap: 20px;
   align-items: center;
}

.bl_accordionTitle p {
    font-size: 24px;
    padding: 0 80px 0 0;
}

.bl_accordionTitle span.blue {
    color: #045ba4;
    font-size: 30px;
    font-weight: 400;
}

.bl_accordionTitle::before {
	content: "";
	width: 22px;
	height: 2px;
	background-color: #045ba4;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 40px;
	transition: 0.3s;
}

.bl_accordionTitle::after {
	content: "";
	width: 2px;
	height: 22px;
	background-color: #045ba4;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 50px;
	transition: 0.3s;
}

.bl_accordionTitle.active::after {
	/*opacity: 0;*/
	top: 42%;
	right: 51px;
}

.bl_accordionTitle.active::before {
	top: 50%;
	right: 41px;
}

.bl_accordionTitle:hover::after,
.bl_accordionTitle:hover::before,
.bl_accordionTitle.active::after,
.bl_accordionTitle.active::before {
	/*background-color: #fff;*/
}

.bl_accordionTitle.active::after,
.bl_accordionTitle.active::before {
	transform: rotate(45deg);
}

.bl_accordionTitle:hover,
.bl_accordionTitle.active {
	/*background-color: #6d2412;
	color: #fff;*/
}

.bl_accordionTitle + .bl_accordionContent {
	display: none;
	padding: 20px 0;
}



.bl_accordionContent {
	/*border-bottom: solid 1px #e1e1e1;
    border-top: solid 1px #e1e1e1;*/
}

.bl_accordionContent p {
	font-size: 16px;
    line-height: 36px;
    color: #221815;
}

.bl_accordionContent > * + * {
	margin-top: 10px;
}

/* ==========================
  タブ以外のコンテンツの中身
========================== */
.ly_inner {
	width: 100%;
	margin-top: 140px;
	/*max-width: 1080px;
	margin: 100px auto;
	padding: 30px;
	background-color: #ccc;*/
}

.ly_inner h2 {
	font-size: 250%;
	font-weight: bold;
	margin-bottom: 30px;
}

.md_textblock > * + * {
	margin-top: 10px;
}

.md_markList {
	list-style-type: disc;
	margin-left: 1.4rem;
}

/* ====================================
  ここからPC幅
==================================== */
@media screen and (min-width: 768px) {
  .hp_displaySP {
	display: none !important;
  }
}

/* ====================================
  ここからスマホ幅
==================================== */
@media screen and (max-width: 767px) {
  .hp_displayPC {
	display: none !important;
  }
}



/*---------------------------------------------------------------
	下層共通
---------------------------------------------------------------*/

.pc {
	display: block;
}

.sp {
	display: none;
}

header {
    width: 100%;
    height: 130px;
	position: fixed;
    top: 0;
    z-index: 1;
}

header.header_bg2 {
	height: 130px;
}

header.header_bgMG {
	margin-bottom: 45px;
}


.site-main {
    z-index: 0;
    position: fixed;
    top: 130px;
    width: calc(100% - 260px);
    background-color: #fff;
    margin: 0 130px 0;
}

.site-main .scroll {
	overflow-y: auto;
	/*height: 100vh;
	position: relative;
	*/
}

.scroll_contents {}

.contents_box {
    width: 980px;
    margin: auto;
    padding: 0 40px;
}

/*
.pan {
    font-size: 24px;
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
    color: #045ba4;
    padding: 28px 0 28px 24px;
    width: calc(100% - 294px);
    background-color: #fff;
    position: fixed;
	top: 130px;
	z-index: 2;
}
*/

.pan_area {
    font-size: 24px;
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
    color: #045ba4;
    padding: 28px 0 28px 24px;
    /*width: calc(100% - 294px);*/
    width: calc(100% - 260px);
    background-color: #fff;
    position: fixed;
    top: 130px;
    z-index: 2;
    display: flex;
}

.pan_home {
    padding-right: 23px;
    margin-top: -3px;
}

.pan_home img {
    width: 20px;
}

.pan span {
    font-size: 12px;
}



.contents_box h2,
.company02_box h2,
.recruit03_box h2,
.jobs_contents h2 {
    font-size: 30px;
    color: #045ba4;
	padding: 104px 0 15px;
}

.contents_box h3 {
    font-size: 24px;
    line-height: 36px;
    margin: 54px 0 21px;
}

.contents_box p {
    font-size: 16px;
    line-height: 36px;
}

span.blue {
	color: #045ba4;
    font-size: 18px;
}

/*---------------------------------------------------------------
	下層MV
---------------------------------------------------------------*/

.d_mv01 {
	background-image: url("images/d_mv01.png");
}

.d_mv03 {
	background-image: url("images/d_mv03.png");
}

.d_mv04 {
	background-image: url("images/d_mv04.png");
}

.d_mv05 {
	background-image: url("images/d_mv05.png");
}

.d_mv07 {
	background-image: url("images/d_mv07.png");
}

.d_mv08 {
	background-image: url("images/d_mv08.png");
}

.d_mv {
    width: 100%;
    height: 100vh;
    position: relative;
    z-index: 2;
    background-size: cover;
	background-position-x: center;
	/*background-position-y: -65px;*/
}

.d_mv_ttl {
    width: calc(100% - 260px);
    font-size: 95px;
    color: #fff;
    text-align: center;
    letter-spacing: 20px;
    position: fixed;
    top: 80px;
    z-index: 99999999;
	opacity: 0;
	transition : all 1s;
}

@media only screen and (max-width: 1400px) {
	.d_mv_ttl {
		font-size: 6vw;
	}
}

@media only screen and (max-width: 1160px) {
	.d_mv_ttl {
		font-size: 4vw;
		top: 109px;
	}
}

@media only screen and (max-width: 873px) {
	.d_mv_ttl {
		font-size: 3.5vw;
		top: 114px;
	}
}

.d_mv_ttl.show {
	transition : all 1s;
	opacity: 1;
}

.d_mv_ttl_jp {
    width: 100%;
    font-size: 24px;
    color: #221815;
    text-align: center;
    position: absolute;
    top: 64px;
}


/*---------------------------------------------------------------
	下層フッター
---------------------------------------------------------------*/

.site-main footer {
    margin: 85px 0 350px;
    padding-left: 50px;
    border-left: 1px solid #221815;
}

.site-main .s8_02_comp {
    font-size: 14px;
    letter-spacing: 1px;
	padding-bottom: 8px;
}

.site-main .s8_02_en {
    font-size: 18px;
	letter-spacing: 0;
    margin-bottom: 15px;
}

.site-main .s8_02_add {
    font-size: 12px;
    line-height: 15px;
    margin-bottom: 16px;
}

.site-main .s8_02_tel {
    display: flex;
    align-items: center;
}

.site-main .s8_02_tel p {
    display: flex;
    align-items: center;
	font-weight: 500;
}

.site-main .s8_02_tel p img {
	width: 16px;
    padding-right: 5px;
    margin-right: 8px;
}

.site-main .s8_02_fax {
    display: flex;
    align-items: center;
}

.site-main .s8_02_fax p {
    display: flex;
    align-items: center;
	font-weight: 500;
}

.site-main .s8_02_fax p img {
    width: 19px;
    padding-right: 5px;
    margin-right: 5px;
}

.site-main .s8_02_sns {
    display: flex;
    margin-top: -11px;
    margin-bottom: 19px;
}

.site-main .s8_02_sns p {
    width: 15px;
    margin-right: 16px;
}

.site-main .s8_02_cp {
	font-size: 12px;
    letter-spacing: 0;
}


.site-main .s8_bg {
    position: absolute;
    /*bottom: 200px;*/
    right: 0;
    margin-left: 385px;
    transition: all 1s;
    z-index: -1;
}

footer .s8_opt {
	opacity: 0;
}

footer .s8_opt.active {
	opacity: 1;
}


/*---------------------------------------------------------------
	実績一覧
---------------------------------------------------------------*/

p.mgR45 {
	margin-right: 45px;
}


.w1183 {
	width: 1223px;
	padding: 0 20px;
	margin: auto;
}

.performance_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 36px;
}

@media screen and (max-width: 1495px) {
	.contents_box.w1183 {
		width: 100%;
	}
	
	.performance_list {
		width: 776px;
		justify-content: center;
		margin: auto;
	}
}

@media screen and (max-width: 1070px) {
	.performance_list {
		width: 372px;
	}
}

@media screen and (max-width: 782px) {
	.performance_list {
		width: 100%;
	}
}

.performance_box {
    width: 370px;
	padding: 0 0 84px;
}

.performance_box_img {
    width: 370px;
    height: 250px;
	overflow: hidden;
    position: relative;
}

.performance_box_img img {
    width: 370px;
    height: 250px;
    object-fit: cover;
	transition: transform .6s ease;
}

.performance_box_img:hover img {
	transform: scale(1.1);
}

.performance_box_img p.NB {
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgb(255 255 255 / 80%);
    width: 92px;
    text-align: center;
    font-size: 14px;
}

.performance_box_img p.PB {
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgb(0 92 172 / 80%);
	color: #fff;
    width: 92px;
    text-align: center;
    font-size: 14px;
}

.performance_box_img:hover p {
	opacity: 1;
}

.performance_box_time {
    font-size: 12px;
    font-weight: 600;
    color: #045ba4;
    padding: 23px 0 21px;
}

.performance_box h2 {
    font-size: 16px;
    color: #504846;
    padding: 0;
    margin: 0;
}

.performance_box_sta {
    font-size: 12px;
    padding: 18px 0 0;
}

.one_line {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/*---------------------------------------------------------------
	実績詳細
---------------------------------------------------------------*/

.performance_detail p.NB ,
.performance_detail p.PB {
    width: 80px;
    height: 30px;
    font-size: 14px;
    margin: 105px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.performance_detail p.NB {
    background-color: #dcdddd;
}

.performance_detail p.PB {
	background-color: #045ba4;
	color: #fff;
}

.performance_detail h2.one_line {
    padding: 26px 0 26px;
    margin: 0;
}

.performance_detail .performance_box_time {
    padding: 0;
}

.performance_detail .performance_box_box {
    padding: 18px 0 47px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.performance_detail .performance_box_sta {
    padding: 0;
}

.performance_detail .performance_box_no {
    font-size: 12px;
    font-weight: bold;
    color: #045ba4;
}

.performance_detail .performance_box_img {
    width: 100%;
    height: 450px;
}

.performance_detail .performance_box_img img {
    width: 100%;
    height: 450px;
}

.performance_detail .free_item_con {
    padding: 65px 49px 45px;
    border-bottom: 1px solid #221815;
}

.performance_detail .free_item_txt {
    padding: 0 0 38px;
}

.performance_detail .free_item_img_area {
    padding: 28px 0 44px;
    display: flex;
    gap: 27px;
}

.performance_detail .free_item_img {
    width: 250px;
    height: 250px;
	overflow: hidden;
}

.performance_detail .free_item_img img {
    width: 250px;
    height: 250px;
    object-fit: cover;
    transition: transform .6s ease;
}

.performance_detail .free_item_img:hover img {
    transform: scale(1.1);
}

.performance_detail_control {
    padding: 29px 0 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.performance_detail_control_prev ,
.performance_detail_control_next {
    font-size: 14px;
}

.performance_detail_control_prev span ,
.performance_detail_control_next span {
}

.performance_detail_control_prev img ,
.performance_detail_control_next img {
    width: 27px;
    border: 1px solid #e6e5dd;
    background-color: #fafafa;
    padding: 9px;
}

.performance_detail_control_prev a ,
.performance_detail_control_next a {
    display: flex;
    align-items: center;
    gap: 15px;
}

.performance_detail_control_list {
    font-size: 18px;
    padding: 0 100px;
}

.performance_detail_near {
    margin: -58px 0 0;
}

h2.performance_detail_near_h2 {
    text-align: center;
    padding: 0;
    margin: 0 0 71px;
}

/*---------------------------------------------------------------
	NEWS一覧
---------------------------------------------------------------*/

.news_list {
    margin: 68px 0 42px;
    border-top: 1px solid #e1e1e1;
    font-size: 16px;
}

.news_list_box {
    border-bottom: 1px solid #e1e1e1;
    padding: 27px 25px 27px;
    height: 112px;
    display: flex;
    align-items: center;
}

.news_list_time {
    width: 155px;
    padding-right: 55px;
    color: #999;
}

.news_list_ttl {
    width: 705px;
	line-height: 29px;
}

.news_list_ttl a {
    color: #000;
}

.news_list_ttl a:hover {
    color: #045ba4;
}

/*---------------------------------------------------------------
	NEWS詳細
---------------------------------------------------------------*/

.news_box {
    padding: 0 0 60px;
    border-bottom: 1px solid #221815;
}

.news_box h2 {
    font-size: 24px;
    color: #221815;
	line-height: 35px;
    border-bottom: 1px solid #e1e1e1;
    padding: 97px 0 27px;
    margin: 0;
}

.news_time {
    font-size: 16px;
    color: #999;
    padding: 17px 0 43px;
}

.news_content {
    font-size: 16px;
    color: #221815;
    padding: 0 50px;
	line-height: 36px;
}

/*---------------------------------------------------------------
	OEM
---------------------------------------------------------------*/
.oem_flow {
    padding: 41px 0 0;
}

.oem_flow1 {
    padding: 0 0 44px;
}



.jk_oem .oem03 {
    margin: 0;
}

.bg_gr {
    background-color: #efefef;
    padding: 38px 0;
    margin: 55px 0;
}

.contents_box.jk_oem_box01 {}

.jk_oem_box01 {}

.jk_oem_box01 h3 {
    margin: 0 0 16px;
}

.jk_oem_box01 p {
    letter-spacing: 0px;
    margin: 0 0 39px;
}

.jk_oem_3clm_box {
    display: flex;
    font-size: 16px;
    line-height: 36px;
    gap: 26px;
}

.jk_oem_3clm {width: calc(100% / 3);}

.jk_oem_3clm span {
    color: #045ba4;
}

.jk_oem_box02 {
    border-left: solid 1px #221815;
    padding-left: 50px;
    margin: 73px 0 0;
}

.jk_oem_box02 h3 {
    margin: 0 0 12px;
}

.jk_oem_box02 h3 p {}

.jk_oem_box02 h3 p span {}

.jk_oem_box02 p span {
    border-bottom: 1px solid;
}

.jk_oem_box02_1 {
    margin: 45px 0 43px;
}

.jk_oem_box02_1 h4 {
    font-size: 18px;
    color: #045ba4;
    margin: 0 0 16px;
}

.jk_oem_box02_1 p {
    line-height: 23px;
    margin: 0px 0 13px;
}

.jk_oem_box02_2 {
}

.jk_oem_box02_2 h4 {
    font-size: 18px;
    color: #045ba4;
    margin: 0 0 16px;
}

.jk_oem_box02_2 p {
    line-height: 23px;
    margin: 0px 0 13px;
}

.jk_oem_box03 {
    margin: 55px 0 144px;
    display: flex;
    gap: 16px;
}

.jk_oem_box04 {
    border-left: solid 1px #221815;
    padding-left: 50px;
}

.jk_oem_box04_2 {
    border: 1px solid #898482;
    padding: 26px 37px;
    margin: 37px 0 0;
}

.jk_oem_box04_2 h4 {
    font-size: 16px;
    color: #045ba4;
    margin: 0 0 14px;
}

.jk_oem_box04_3 {
    margin: 46px 0 0;
}

.jk_oem_box05 {}

.jk_oem_box05 h2 {
    padding: 158px 0 11px;
}

.jk_oem_box05 h3 {
    margin: 54px 0 39px;
    text-align: center;
}

.jk_oem_box05_box {
    display: flex;
    gap: 22px;
}

.jk_oem_box05_itm {}

.jk_oem_box05_img {}

.jk_oem_box05_txt {
    font-size: 16px;
    text-align: center;
    margin: 14px 0 0;
}

.jk_oem_box05_tb {
	margin: 167px 0 0;
}

.jk_oem_box05_tb_box {
    display: flex;
    gap: 22px;
	margin: 0 0 22px;
}

.jk_oem_box05_tb_box_l1clm {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.jk_oem_box05_td_txt {
    font-size: 16px;
    background-color: #036eb8;
    color: #fff;
    text-align: center;
    padding: 16px 0;
}

.jk_oem_box06 {
	margin: 0 auto 220px;
}

.jk_oem_box06 h3 {
    margin: 85px 0 39px;
    text-align: center;
}

.jk_oem_box06_area {}



.jk_oem_box06_box_up {
    display: flex;
    gap: 22px;
	margin: 0 0 22px;
}

.jk_oem_box06_itm {
    position: relative;
}

.jk_oem_box06_img {}

.jk_oem_box06_txt {
    font-size: 24px;
    text-align: center;
    color: #fff;
    background-color: #045ba4;
    padding: 27px 0;
}

.jk_oem_box06_suu {
    position: absolute;
    top: 40%;
    right: 5%;
    font-size: 30px;
    font-family: 'Noto Sans JP', sans-serif;
    color: #fff;
}

.jk_oem_box06_suu span {
    font-size: 75px;
    font-weight: 900;
}

.jk_oem_box06_box_dw {
    display: flex;
    gap: 22px;
}

.jk_oem_box06_data {
    position: absolute;
    top: 0;
    width: 100%;
    padding: 45px 40px;
    display: flex;
    gap: 8%;
}

.jk_oem_box06_data_list {width: 46%;}

.jk_oem_box06_data_l_con {
    font-size: 24px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 900;
    color: #045ba4;
    padding: 0 0 5px;
    margin: 0 0 10px;
    border-bottom: 1px solid #045ba4;
    display: flex;
    justify-content: space-between;
    gap: 22px;
}

.jk_oem_box06_box_dw_r {
    display: flex;
    flex-direction: column;
    gap: 26px;
}

.jk_oem_box06_suu_box {
    position: absolute;
    top: 40%;
    width: 100%;
    display: flex;
}

.jk_oem_box06_suu_box_part {
    width: 50%;
    text-align: center;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 22px;
}

.jk_oem_box06_suu_box_part p {
    font-size: 15px;
    font-weight: 900;
    margin: 0 0 -9px -33px;
}

.jk_oem_box06_suu_box_part_suu {}

.jk_oem_box06_suu_box_part_suu span {
    font-size: 54px;
    font-weight: 900;
    margin: 0 0 0 21px;
}

/*---------------------------------------------------------------
	 COLLABORATION
---------------------------------------------------------------*/
.clb_box {
}

.clb01 {margin: 79px 0 63px;}

.clb02 {
    display: flex;
    font-size: 16px;
    line-height: 36px;
    letter-spacing: 0.8px;
    gap: 15px;
    margin-bottom: 109px;
}

.clb02_l {
    width: 50%;
}

.clb02_r {
    width: 50%;
}

.clb02_r img {padding-left: 35px;}

.clb02_l img {
    padding-right: 35px;
}


.clb03 {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
	margin: 250px 0 118px;
}

.clb03_itm_box {
    width: 283px;
    height: 170px;
    overflow: hidden;
}

.clb03_itm_bg {
    width: 100%;
    height: 170px;
    background-size: contain;
    background-repeat: no-repeat;
	transition: 0.3s;
}

a:hover .clb03_itm_bg {
	transition: 0.3s;
	transform: scale(1.2);
}

.clb03_itm {
    line-height: 0;
	position: relative;
}

.clb03_itm p {
    position: absolute;
    top: 29px;
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    color: #fff;
    text-align: center;
}

.clb03_itm_link {
    position: absolute;
    top: 10px;
    right: 10px;
}

.clb03_itm_link img {
    width: 12px;
}

/*---------------------------------------------------------------
	お問い合わせ
---------------------------------------------------------------*/

.contact {
	width: 80%;
	margin: auto;
}

.contact_box {
    margin: 0 0 25px;
}

.contact_box h3 {
    font-size: 18px;
    margin: 0 0 5px;
}

.contact_box h3 span {
    font-size: 12px;
    color: #f00;
    border: 1px solid #d0cdbc;
    border-radius: 5px;
    background-color: #f3f3f3;
    padding: 1px 4px;
    margin-left: 19px;
}

.contact_item {
    font-size: 14px;
}

.contact_item select {
    border: 1px solid #ccc;
    width: 100%;
    padding: 10px 10px;
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
}

.contact_item input[type="text"] ,
.contact_item input[type="email"] {
	width: 100%;
    padding: 5px 10px;
}

.mwform-tel-field input[type="text"] {
    width: 28%;
}

.contact_item textarea {
    border: 1px solid #ccc;
    padding: 5px 10px;
}

.contact_item span label {
    display: flex;
    align-items: center;
    padding: 10px 18px;
    font-size: 16px;
}

.contact_box_btn {
	display: flex;
	gap : 20px;
    padding: 30px 0 140px;
}

.contact_box_btn input[type="submit"] {
    width: 100%;
    font-size: 18px;
    text-align: center;
    background-color: #045ba4;
    color: #fff;
    border-radius: 10px;
    padding: 20px;
}

input[type="submit"]:hover {
    opacity: 0.7;
}

input.contact_return {
    background-color: #ddd !important;
    border: 1px solid #ccc;
}

span.error {
    font-size: 14px !important;
    padding: 18px 10px;
}

.comp_pdf {
    text-align: center;
    background-color: #085ba1;
    margin: 20px 0;
    border-radius: 20px;
}

.comp_pdf:hover {
	background-color: #085ba1aa;
}

.comp_pdf a {
    font-size: 18px;
    color: #fff;
    height: 84px;
    line-height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/*---------------------------------------------------------------
	ページャー
---------------------------------------------------------------*/

span.pages {
    display: none;
}

.p-navi {
    padding: 39px 0 39px;
}

.wp-pagenavi {
    display: flex;
    gap: 10px;
    justify-content: center;
}

span.current {
    width: 32px;
    height: 32px;
    font-size: 14px;
    margin: 0;
    padding: 0 15px;
    border: 1px solid #d0cdbc;
    background-color: #005cac;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.wp-pagenavi a {
    width: 32px;
    height: 32px;
    font-size: 14px;
    margin: 0;
    padding: 0 15px;
    border: 1px solid #d0cdbc;
    background-color: #fafafa;
    display: flex;
    justify-content: center;
    align-items: center;
}

a.previouspostslink {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-image: url("images/fa-angle-left.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20%;
}

a.nextpostslink {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-image: url("images/fa-angle-right.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20%;
}

/*---------------------------------------------------------------
	検索（実績）
---------------------------------------------------------------*/

form {
    margin: 29px 0 122px;
    padding: 20px 0 22px;
    border-top: 1px solid #d0cdbc !important;
    border-bottom: 1px solid #d0cdbc !important;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    position: sticky;
    width: 100%;
    top: 80px;
    z-index: 2;
    background-color: #fff !important;
}

.search_box {
    width: 285px;
    border: 1px solid #d9d7c9;
    display: flex;
    align-items: center;
}

.search_box input[type="text"] {
    width: 240px;
    padding: 10px 10px;
    margin-right: 13px;
    border: 0;
}

.search_box img {
    width: 15px;
}

/*
details.details {
}

summary.details__summary {
	width: 180px;
    border: 1px solid #045ba4;
    border-radius: 5px;
    font-size: 16px;
    color: #045ba4;
    text-align: center;
    padding: 17px;
}

.details__content {
    width: 900px;
    margin: 22px auto 0;
    z-index: 1;
    border: 1px solid #045ba4;
    background-color: #fff;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
}
*/

summary {
  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
}

summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

.summary_inner{
	cursor: pointer;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
    width: 180px;
    border: 1px solid #045ba4;
    border-radius: 5px;
    font-size: 16px;
    color: #045ba4;
    text-align: center;
    padding: 17px 17px 17px 50px;
	position: relative;
}

/* --------アイコンを作ります-------- */
.icon {
	display: block;
	position: relative;
	width: 24px;
	margin-left: 6px;
	flex-shrink: 0;
	transform-origin: center 43%;
	transition: transform 0.4s;
	top: -2px;
}

/* アコーディオンが開いた時のスタイル */
details[open] .icon {
  transform: rotate(45deg);
}

/* アイコンのバーのスタイル */
.icon::before,
.icon::after {
  content: "";
  position: absolute;
  display: block;
  width: 15px;
  height: 3px;
  background-color: #045ba4;
}

.icon::before {
  left: 5px;
  transform: rotate(0deg);
}

.icon::after {
  right: 4px;
  transform: rotate(90deg);
}

span.maru {
    position: absolute;
    border: 1px solid #cedfee;
    border-radius: 50%;
    background-color: #cedfee;
    width: 28px;
    height: 28px;
    right: 15px;
    z-index: -1;
}

/* --------summaryタグの疑似要素でアイコンを作る場合-------- */
.wrapper_pseudoElementsIcon .summary_inner::after {
  content: "";
  display: block;
  width: 25px;
  height: 16px;
  margin-left: 6px;
  flex-shrink: 0;
  background-image: url("icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform-origin: center 43%;
  /* アコーディオンが閉じる時にアイコンをアニメーションさせます */
  animation: 0.4s close-animation;
}

@keyframes close-animation {
  from {
    transform: rotate(180deg);
  }

  to {
    transform: rotate(0deg);
  }
}

/* アコーディオンが開いた時にアイコンをアニメーションさせます */
details[open] .summary_inner::after {
  animation: 0.4s open-animation forwards;
}

@keyframes open-animation {
  from {
    transform: rotate(0deg);
  }

  to{
    transform: rotate(180deg);
  }
}








.details__content {
    width: 900px;
    margin: 22px auto 0;
    z-index: 1;
    border: 1px solid #045ba4;
    background-color: #fff;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
}

.search_add_con {
	display: flex;
    margin: 0 22px 12px;
    flex-direction: column;
}

.search_add_con_l ,
.search_add_con_c {
	width: 100%;
}

.search_add_con_r {
	width: 100%;
}

.side_style_ttl {
    font-size: 14px;
    color: #005cac;
    border-bottom: 1px solid #005cac;
    padding: 21px 0 7px;
}

.side_style_ttl h3 {
	margin: 0;
}

.search_add_jobs ,
.search_add_items ,
.search_add_type {
	width: 100%;
	margin: 14px 0 0;
}

.search_add_type {
    margin: 14px 0 10px;
	display: flex;
}

.search_add_jobs label ,
.search_add_items label {
    display: flex;
    align-items: center;
    padding: 6px 10px;
    font-size: 14px;
    letter-spacing: 0;
    width: 170px;
}

.search_add_type label {
    display: flex;
    align-items: center;
    padding: 6px 10px;
    font-size: 14px;
    letter-spacing: 0;
    width: 210px;
}


.search_add_jobs label input[type="checkbox"] ,
.search_add_items label input[type="checkbox"] ,
.search_add_type label input[type="checkbox"] {
    margin-right: 10px;
}

.search_submit {
    border-radius: 6px;
    background-image: -moz-linear-gradient( 90deg, rgb(12,133,224) 0%, rgb(8,79,174) 100%);
    background-image: -webkit-linear-gradient( 90deg, rgb(12,133,224) 0%, rgb(8,79,174) 100%);
    background-image: -ms-linear-gradient( 90deg, rgb(12,133,224) 0%, rgb(8,79,174) 100%);
    width: 155px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search_submit input[type="submit"] {
    border: none;
    border-radius: unset;
    border-color: unset;
    background: none;
    color: #fff;
    font-size: 18px;
}

[type="checkbox"], [type="radio"] {
    box-sizing: border-box;
    padding: 0;
    width: 18px;
    height: 18px;
    appearance: auto;
}

.keyword_txt {
    margin: 0 0 50px;
}

.keyword_txt h3 {
    font-size: 16px;
    margin: 0;
    padding: 0;
}



/*
label.itemsAll, label.jobsAll {
    position: relative;
    border: 1px solid #d9d7c9;
}
*/



.search_items ,
.search_jobs {
    background-color: #fff;
    border: 1px solid #d9d7c9;
	margin: 14px 0 0;
	padding: 10px;
    font-size: 14px;
    letter-spacing: 0;
	position: relative;
}

.search_items::before ,
.search_jobs::before {
	content:"";
	display:block;
	position:absolute;
	right: 10px;
    bottom: 46%;
	width:.5em;
	height:.5em;
	border-top:#000 2px solid;
	border-left:#000 2px solid;
	transform:rotate(225deg);
}


.search_add_items ,
.search_add_jobs {
    /*background-color: #fff;
    border: 1px solid #d9d7c9;
    overflow-y: auto;
    overflow-x: hidden;
    height: 200px;
	position: absolute;
	display: none;
	z-index: 2;*/
}

.items_boxes ,
.jobs_boxes {
	width: 100%;
    /* padding-left: 20px; */
    display: flex;
    flex-wrap: wrap;
}

#itemsAll:checked ~ #items_boxes ,
#jobsAll:checked  ~ #jobs_boxes {
  display:block;
}

/*
.search_add_items.show ,
.search_add_jobs.show {
	display: block;
}
*/


/*---------------------------------------------------------------
	チェックボックス装飾
---------------------------------------------------------------*/


/*---------------------------------------------------------------
	フローティングバナー
---------------------------------------------------------------*/

.oem_rightmenu {
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    height: 364px;
	position: fixed;
	/*
    right: 195px;
    top: 210px;
	*/
	right: 45px;
    top: 235px;
	z-index: 3;
}

.bl_floatingBanner {
	border: solid 1px #045ba4;
	background-color: #fff;
	width: 300px;
	height: 150px;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.bl_floatingBanner_con {
    height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.bl_floatingBanner_con p {
	border-bottom: solid 2px #045ba4;
	font-size: 16px;
	line-height: 24px;
	text-align: center;
	padding-bottom: 7px;
    margin-bottom: 16px;
	width: 81%;
}

.bl_floatingBanner_con h3 {
	font-family: 'Montserrat' , 'Noto sans JP' , sans-serif;
	color: #045ba4;
	font-size: 24px;
	font-weight: 600;
}

.bl_floatingBanner_con h3 span {
	font-size: 12px;
	padding-right: 7.5px;
}

.clb_bnr p {
    letter-spacing: -1px;
}

.bl_floatingBanner_con h3 {
    font-family: 'Noto sans JP' , sans-serif;
}



.js_close {
  display: none;
}
.bl_floatingBanner_img:hover {
  opacity: 0.6;
}
.bl_floatingBanner_close {
    width: 15px;
    height: 15px;
    position: absolute;
    right: 6px;
    top: -25px;
    cursor: pointer;
}
.bl_floatingBanner_close span:nth-of-type(1) {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid #000;
    background-color: #fff;
}
.bl_floatingBanner_close span:nth-of-type(2) {
  position: absolute;
  top: 7px;
  right: 0;
  width: 15px;
  height: 1px;
  background-color: #000;
  transform: rotate(45deg);
}
.bl_floatingBanner_close span:nth-of-type(3) {
  position: absolute;
  top: 0;
  right: 7px;
  width: 1px;
  height: 15px;
  background-color: #000;
  transform: rotate(45deg);
}

/*---------------------------------------------------------------
	スクロールフェードイン
---------------------------------------------------------------*/

.scroll_fadein{
  opacity: 0;
}
.fadein_animation_start{
  /* キーフレームアニメーションを指定*/
  animation-name: fadein_animation;
  /*  アニメーションの開始時間の遅延*/
  animation-delay: 0.3s;
  /*  アニメーションの時間を指定*/
  animation-duration: 1s;
  /* アニメーション再生後のスタイルを指定*/
  animation-fill-mode: both;
}
@keyframes fadein_animation{
  0% {
    opacity: 0;
  }
  100%{
    opacity: 1;
    transform: translate(0);
  }
}
.slideup{
  transform: translateY(50px);
}
.slidedown{
  transform: translateY(-50px);
}
.slideright{
  transform: translateX(50px);
}
.slideleft{
  transform: translateX(-50px);
}

/*---------------------------------------------------------------
	ライトボックス
---------------------------------------------------------------*/


.lightbox {
}

div#oem-solution01 {
    margin-top: -80px;
    padding-top: 80px;
}

/*---------------------------------------------------------------
	top0-1追加
---------------------------------------------------------------*/
/*
.section0-1_box{
    overflow: hidden;
}
.container{
    width: 100%;
    height: 100%;
    padding: 1000px 20px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-template-rows: repeat(6,1fr);
    gap: 30px;
	margin-left: 30vh !important;
}
.container img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}
figure:nth-of-type(1){
    grid-column: 1/2;
    grid-row: 2/2;
}
figure:nth-of-type(2){
    grid-column: 2/3;
    grid-row: 2/3;
}
figure:nth-of-type(3){
    grid-column: 3/3;
    grid-row: 2/3;
}
figure:nth-of-type(4){
    grid-column: 1/4;
    grid-row: 3/5;
}
figure:nth-of-type(5){
    grid-column: 1/2;
    grid-row: 5/6;
}
figure:nth-of-type(6){
    grid-column: 2/3;
    grid-row: 5/6;
}
figure:nth-of-type(7){
	grid-column: 3/3;
    grid-row: 5/5;
}

figure:not(.center){
    opacity: 0;
    visibility: hidden;
}

*/
/*---------------------------------------------------------------
	フロントアニメーション
---------------------------------------------------------------*/

/*
.f_mv {
    width: 100%;
    height: 100%;
    position: absolute;
	top: 0;
	left: 0;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
}

.f_mv_con {
    width: calc( 100% / 3);
	overflow: hidden;
}


.f_mv_con img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 100%;
}

.lord01 ,
.lord02 ,
.lord03 ,
.lord04 ,
.lord05 ,
.lord06 {
    opacity: 0;
}

.lord01.active ,
.lord02.active ,
.lord03.active ,
.lord04.active ,
.lord05.active ,
.lord06.active {
    animation-name: late-fade;
	animation-timing-function: linear;
	animation-duration: 3s;
	animation-fill-mode: forwards;
}

@keyframes late-fade {
  0% {
		opacity: 0;
		transform: scale(1);
      }
 
      30% {
		opacity: 1;
      }
 
      70% {
		opacity: 1;
      }
 
      100% {
		opacity: 0;
		transform: scale(1.2);  
      }
}
*/

/*---------------------------------------------------------------
	ローダー
---------------------------------------------------------------*/


#loftloader-wrapper .loader-section {
	background-image: url("images/top0.webp") !important;
	background-size: cover !important;
	background-position: bottom center !important;
	width: 100vw !important;
	height: 100vh !important;
	margin: 0 !important;
	padding: 0 !important;
}

@media screen and (max-width: 782px) {
	#loftloader-wrapper .loader-section {
		background-image: url("images/top0@sp.jpg") !important;
	}
}


/*---------------------------------------------------------------
	sp版
---------------------------------------------------------------*/

@media screen and (max-width: 782px) {

	body {
		max-width:782px;
	}

	.site {
		overflow:hidden;
	}
	
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
	
	
	
	/*** menu ***/
	.menu {
		height: 100vh;
		display: flex;
		flex-direction: column;
		align-items: center;
		overflow-y: auto;
		overflow-x: hidden;
		padding: 130px 40px 200px;
		justify-content: flex-start;
		position: relative;
		z-index: 0;
	}
	
	.menu_news {
		width: 100%;
	}
	
	/*
	.loop_txt_area {
		width: 100px;
		overflow: hidden;
	}
	*/
	
	.menu_news a {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.loop_txt_area {
		width: 35vh;
	}

	.menu_news span.ya {
		top: 8px;
	}
	
	.menu_nav {
		width: 100%;
		display: flex;
		margin-top: 5vh;
		flex-direction: column;
		align-items: flex-start;
	}
	
	.menu_nav_l ,
	.menu_nav_r {
		width: 100%;
	}
	
	.menu_logo01 ,
	.menu_logo02 {
		text-align: center;
		width: 100%;
	}
	
	p.ttl_txt_one_end {
		margin-bottom: 4.8vh;
	}

	.menu_logo {
		display: flex;
		align-items: center;
		gap: 0;
		margin-bottom: 4vh;
		justify-content: center;
	}
	
	.menu_dw {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 2vh;
	}

	.menu_dw_pdf_box {
		display: flex;
		align-items: flex-start;
		gap: 2vh;
		flex-direction: column;
	}
	
	
	span.new {
		font-size: 10px;
	}

	.menu_nav_l_con h2 ,
	.menu_nav_r_con h2 {
		font-size: 24px;
	}

	p.ttl_txt {
		font-size: 14px;
	}

	.menu_nav_l_con p,
	.menu_nav_l_con p.ttl_txt_one ,
	.menu_nav_r_con p,
	.menu_nav_r_con p.ttl_txt_one {
		font-size: 14px;
	}
	
	.menu_nav_l_con.sp_mg {
		margin-bottom: 35px !important;
	}
	
	.menu_nav_l_con.sp_mg .ttl_txt_one ,
	.menu_nav_l_con.sp_mg .ttl_txt_one_end {
		margin-bottom: 0 !important;
	}
	
	.menu_nav_r_con {
		margin-top: 35px;
		padding: 0;
	}
	
	.menu_nav_r_con p.ttl_txt_one {
		margin-bottom: 35px;
	}
	
	
	.menu_dw_l {
		font-size: 14px;
		margin: 8px 0;
	}

	.menu_dw_pdf a {
		font-size: 14px;
	}
	
	.menu_news a {
		font-size: 18px;
	}

	p.loop_txt {
		font-size: 18px;
	}
	
	.menu_nav_r_con_sns p img {
		width: 25px;
	}
	
	
	
	/*** 背景 ***/
	
	#bg_area_sp.bg0 {
		mix-blend-mode: color-dodge;
		background: #0a85e8;  /* fallback for old browsers */
		background: -webkit-linear-gradient(to right, #0575E6, #0a85e8);  /* Chrome 10-25, Safari 5.1-6 */
		background: linear-gradient(to right, #0575E6, #0a85e8); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
	}

	#bg_area_sp.bg1 {
		mix-blend-mode: screen;
		background: #FFAFBD;  /* fallback for old browsers */
		background: -webkit-linear-gradient(to right, #ffc3a0, #FFAFBD);  /* Chrome 10-25, Safari 5.1-6 */
		background: linear-gradient(to right, #ffc3a0, #FFAFBD); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
	}

	#bg_area_sp.bg2 {
		mix-blend-mode: screen;
		background: #00b09b;  /* fallback for old browsers */
		background: -webkit-linear-gradient(to right, #96c93d, #00b09b);  /* Chrome 10-25, Safari 5.1-6 */
		background: linear-gradient(to right, #96c93d, #00b09b); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
	}

	#bg_area_sp.bg3 {
		mix-blend-mode: screen;
		background: #D1913C;  /* fallback for old browsers */
		background: -webkit-linear-gradient(to right, #FFD194, #D1913C);  /* Chrome 10-25, Safari 5.1-6 */
		background: linear-gradient(to right, #FFD194, #D1913C); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
	}

	#bg_area_sp.bg4 {
		mix-blend-mode: screen;
		background: #b69684;  /* fallback for old browsers */
		background: -webkit-linear-gradient(to left, #a06751, #b69684);  /* Chrome 10-25, Safari 5.1-6 */
		background: linear-gradient(to left, #a06751, #b69684); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
	}

	#bg_area_sp.bg5 {
		mix-blend-mode: screen;
		background: #F09819;  /* fallback for old browsers */
		background: -webkit-linear-gradient(to right, #EDDE5D, #F09819);  /* Chrome 10-25, Safari 5.1-6 */
		background: linear-gradient(to right, #EDDE5D, #F09819); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
	}

	#bg_area_sp.bg6 {
		mix-blend-mode: screen;
		background: #FEAC5E;  /* fallback for old browsers */
		background: -webkit-linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);  /* Chrome 10-25, Safari 5.1-6 */
		background: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
	}

	#bg_area_sp.bg7 {
		mix-blend-mode: color-dodge;
		background: #0a85e8;  /* fallback for old browsers */
		background: -webkit-linear-gradient(to right, #0575E6, #0a85e8);  /* Chrome 10-25, Safari 5.1-6 */
		background: linear-gradient(to right, #0575E6, #0a85e8); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
	}

	#bg_area_sp.bg8 {
		mix-blend-mode: screen;
		background: #00a1ff;  /* fallback for old browsers */
		background: -webkit-linear-gradient(to right, #15e9f5, #00a1ff);  /* Chrome 10-25, Safari 5.1-6 */
		background: linear-gradient(to right, #15e9f5, #00a1ff);; /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
	}

	#bg_area_sp.bg0, #bg_area_sp.bg1, #bg_area_sp.bg2, #bg_area_sp.bg3, #bg_area_sp.bg4, #bg_area_sp.bg5, #bg_area_sp.bg6, #bg_area_sp.bg7, #bg_area_sp.bg8 {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		overflow: hidden;
	}

	
	/*
	.video_wrapper {
		position: fixed;
		width: 100vw;
		height: 100vh;
		overflow: hidden;
	}

	.video_wrapper > .bg_sp {
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		min-width: 100%;
		min-height: 100%;
	}
	
	.bg_sp img {
		height: 100vh;
	}
	*/
	
	
	
	/*** TOPページ ***/
	
	.pg-home-visual {
		height: auto !important;
	}
	
	.pg-home-visual__inner {
		/*height: 50% !important;
		height: calc( var(--vh) * 150) !important;*/
		height: 100vh !important;
	}
	
	header {
		height: 85px;
	}
	
	header.header_bg {
		background-color: #045ba4 !important;
		position: fixed;
		z-index: 1;
	}
	
	.js-horizontalScroll {
		margin-top: 85px;
		/*
		position: relative;
		z-index: 0;
		*/
	}
	
	.pg-home-visual {
		z-index: 0 !important;
	}
	
	.header_bar.active {
		background-color: #fff;
		position: relative;
		z-index: 4;
		height: 85px;
	}
	
	.hd_logo {
		left: 20px;
		top: 20px;
		width: 52px;
		height: 48px;
	}

	.menu_txt {
		right: 27px;
		top: 55px;
	}

	.close_txt {
		right: 27px;
		top: 55px;
	}

	.hamburger {
		top: 15px;
		right: 40px;
	}
	
	.hamburger span {
		width: 40px;
	}
	
	.hamburger span:nth-child(1) {
		top: 5px;
		left: 13px;
	}
	
	.hamburger span:nth-child(2) {
		top: 15px;
		left: 13px;
	}
	
	.hamburger span:nth-child(3) {
		top: 25px;
		left: 13px;
	}
	
	.hamburger::after {
		width: 35px;
		height: 35px;
		top: 76%;
		left: 74%;
	}
	
	
	.top_contact_bnr {
		display: none;
	}
	
	
	
	.section0_img {
		height: 50vh;
		max-height: none;
		width: calc(100% - 40px);
		margin: auto 20px;
		z-index: 0;
	}
	
	/*
	.section0_img {
		z-index: 0;
	}
	*/
	
	.section0_box {
		position: relative;
		margin: 50px 0 15px;
		z-index: 0;
	}
	
	
	.section0_txt {
		position: relative;
		margin-bottom: 20px;
		z-index: 0;
	}
	
	/*
	.section0_txt {
		position: absolute;
		top: 16%;
		z-index: 3;
	}
	*/	
	
	.section0_txt h2 {
		font-size: 24px;
		line-height: 24px;
		letter-spacing: 3px;
		margin: 0;
	}
	
	.section0_txt h3 {
		font-size: 12px;
	}
	
	/*スクロールダウン全体の場所*/
	.scrolldown4{
		/*描画位置※位置は適宜調整してください*/
	  position:absolute;
	  bottom:-1%;
	  right:50%;
		/*矢印の動き1秒かけて永遠にループ*/
	  animation: arrowmoveSP 1s ease-in-out infinite;
	}

	/*下からの距離が変化して全体が下→上→下に動く*/
	@keyframes arrowmoveSP{
		  0%{bottom:-3%;}
		  50%{bottom:3%;}
		 100%{bottom:-3%;}
	 }

	/*Scrollテキストの描写*/
	.scrolldown4 span {
		position: absolute;
		left: -56px;
		bottom: -8px;
		color: #eee;
		font-size: 14px;
		letter-spacing: 0.05em;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		height: 52px;
	}

	/* 矢印の描写 */
	.scrolldown4:before {
		content: "";
		/*描画位置*/
		position: absolute;
		bottom: 0;
		right: -6px;
		/*矢印の形状*/
		width: 1px;
		height: 20px;
		background: #eee;
		transform: skewX(-31deg);
	}

	.scrolldown4:after{
	  content:"";
		/*描画位置*/
	  position: absolute;
	  bottom:0;
	  right:0;
		/*矢印の形状*/
	  width:1px;
	  height: 50px;
	  background:#eee;
	}
	
	.pg-home-intro {
		z-index: 0 !important;
	}
	
	.c-inner-outside2 {
		padding: 0 20px !important;
	}
	
	.bg_section1 {
		margin-top: 80vh;
	}
	
	.s1_box {
		display: flex;
		position: relative;
		width: 100%;
		margin-left: 0;
		flex-direction: column;
		gap: 130px;
	}
	
	.s1_box_l {
		width: 100%;
		margin-right: 0;
	}
	
	.s1_01_box {
		width: 100%;
	}
	
	.s1_01 img {
		width: 100%;
	}
	
	.s1_01_logo {
		right: -6px;
	}
	
	.s1_01_bg {
		width: 100%;
		bottom: -3vh;
		right: -2vh;
	}
	
	.s1_02_box {
		display: flex;
		flex-direction: column;
		gap: 100px;
	}
	
	.s1_02_box_l {
		margin-right: 0;
	}
	
	.s1_02_men {
		display: none;
	}
	
	.s1_02_area {
		width: 100%;
		height: auto;
		object-fit: cover;
		overflow: initial;
		position: relative;
	}
	
	.s1_02_bg {
		width: 100%;
		position: relative;
		transition: linear 1s;
	}
	
	.s1_02_bg img {
		width: 100%;
	}
	
	.s1_03_img_box {
		position: static;
		text-align: center;
	}
	
	.s1_03_img {
		position: static;
	}
	
	.s1_04_con {
		margin-left: -49px;
	}
	
	
	.s1_ttl ,
	.s2_ttl ,
	.s3_ttl ,
	.s4_ttl ,
	.s5_ttl ,
	.s6_ttl ,
	.s7_ttl {
		top: unset;
		left: unset;
		right: 20px;
		bottom: 0;
		font-size: 32px;
		color: #fff;
		opacity: 0.2;
		margin-left: 0;
	}
	
	
	.jk_sp {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.s1_04_con {
		margin: 0;
	}
	
	.s1_04_mask {
		width: 210px;
		height: 230px;
		background-size: 441% 169%;
		position: relative;
		top: -100px;
		left: 10px;
	}
	
	.s1_04_bg {
		width: 206px;
		height: 90px;
		position: absolute;
		bottom: 315px;
		left: 0;
		top: -90px;
		z-index: -1;
		opacity: 0.6;
	}
	
	.s2_01_box {
		width: auto;
	}
	
	.s2_01_mask {
		width: 235px;
		height: 226px;
		background-size: 305% 228%;
		margin-left: -47px;
		margin-top: -193px;
	}
	
	.s2_01_bg {
		width: 156px;
		height: 100px;
		position: absolute;
		top: -90px;
		left: 49%;
		z-index: -1;
		opacity: 0.6;
		transition: linear 1s;
	}	
	
	
	
	
	.s2_box {
		display: flex;
		position: relative;
		width: 100%;
		flex-direction: column;
		gap: 100px;
	}
	
	.s2_01_bg {
		bottom: 165vh;
	}
	
	.s2_02_box {
		width: 100%;
	}
	
	.s2_02_img {
		width: 100%;
		position: relative;
	}
	
	.s2_02 {
		width: 100%;
	}
	
	.s2_02 img {
		width: 100%;
	}
	
	.s2_02_bg {
		bottom: 33vh;
		right: -3vh;
		width: 100%;
	}
	
	.s2_02_bg img {
		width: 100%;
	}
	
	.s2_02_itm {
		position: static;
		text-align: center;
		padding-top: 98px;
	}
	
	.s2_03_box {
		margin-left: 0;
	}
	
	.s2_ttl {
		margin-bottom: -65px !important;
	}
	
	.s3_box {
		width: 100%;
		flex-direction: column;
		gap: 100px;
	}
	
	.s3_01_box {
		width: 100%;
		height: 65vh;
		padding: 0;
		margin: 0;
		border-right: 0;
	}	
	
	.s3_01_box {
		width: 100%;
		height: auto;
		padding: 0;
		margin: 0;
		border-right: 0;
	}
	
	.s3_01_img {
		position: static;
		text-align: center;
	}
	
	.s3_02_box {
		width: 100%;
	}
	
	.s3_02_img {
		position: static;
	}
	
	.s3_02_img img {
		width: 100%;
	}
	
	.s3_03_box {
		width: 100%;
	}
	
	.s3_03_box img {
		width: 100%;
	}
	
	.s3_ttl {
		margin-bottom: -100px;
	}
	
	.s4_box {
		width: 100%;
		flex-direction: column;
		gap: 180px;
	}
	
	.s4_01_box {
		width: 100%;
		height: 65vh;
		padding: 0;
		margin: 0;
		border-right: 0;
	}
	
	.s4_01 {
		position: static;
		text-align: center;
		margin-top: 50px;
	}
	
	.s4_01_logo {
		position: static;
		text-align: center;
		margin-top: 20px;
	}
	
	.s4_02_box {
		width: 100%;
		height: 65vh;
		padding: 0;
		margin: 0;
		border-right: 0;
	}
	
	.s4_02 {
		position: static;
	}
	
	.s4_02 img {
		width: 100%;
	}
	
	.s4_03_box {
		width: 100%;
		height: 65vh;
		padding: 0;
		margin: 0;
		border-right: 0;
	}
	
	.s4_03 {
		position: static;
	}
	
	.s4_03 img {
		width: 100%;
	}
	
	.s4_ttl {
		margin-bottom: -145px;
		width: auto;
	}

	.s5_box {
		width: 100%;
		flex-direction: column;
		gap: 100px;
	}
	
	.s5_01_box {
		width: 100%;
		height: auto;
		flex-wrap: nowrap;
		gap: 40px;
		align-items: center;
		flex-direction: column;
	}
	
	.s5_01_01 ,
	.s5_01_02 ,
	.s5_01_03 ,
	.s5_01_04 ,
	.s5_01_05 ,
	.s5_01_06 {
		margin: 0;
	}
	
	.s5_01_01 img ,
	.s5_01_02 img ,
	.s5_01_03 img ,
	.s5_01_04 img ,
	.s5_01_05 img ,
	.s5_01_06 img {
		width: 100%;
		margin: 0;
	}
	
	.s5_02_box {
		width: 100%;
		height: 65vh;
		padding: 0;
		margin: 0;
		border-right: 0;
	}
	
	.s5_02 {
		position: static;
		text-align: center;
	}
	
	.s5_ttl {
		margin-bottom: -100px;
	}
	
	.bg_section6 {
		margin: 0;
	}

	.s6_box {
		position: relative;
		width: 100%;
		flex-direction: column;
		gap: 100px;
	}
	
	.s6_01_box {
		width: 100%;
		height: auto;
		padding: 0;
		margin: 0;
		border-right: 0;
	}
	
	.s6_01 {
		position: static;
		text-align: center;
	}
	
	.s6_02_box {
		width: 100%;
		height: auto;
		flex-wrap: nowrap;
		gap: 40px;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	
	.s6_02_01 ,
	.s6_02_02 ,
	.s6_02_03 ,
	.s6_02_04 ,
	.s6_02_05 ,
	.s6_02_06 {
		margin: 0;
	}
	
	.s6_02_01 img ,
	.s6_02_02 img ,
	.s6_02_03 img ,
	.s6_02_04 img ,
	.s6_02_05 img ,
	.s6_02_06 img {
		width: 100%;
		margin: 0;
	}
	
	.s6_ttl {
		margin-bottom: -100px;
	}

	.bg_section7 {
		margin: 0;
		width: 100%;
	}
	
	.s7_box {
		display: flex !important;
		flex-wrap: nowrap;
		gap: 40px;
		/* position: relative; */
		width: 100%;
		opacity: 1;
		flex-direction: column;
		padding: 0 20px;
	}
	
	.s7_itm {
		width: 100%;
		height: 200px;
		text-align: center;
		position: relative;
		background-size: 100%;
		background-position-y: 0;
	}
	
	.s7_itm_bg {
		background-size: cover;
		background-position: bottom;
		background-repeat: no-repeat;
		height: 100%;
	}
	
	.s7_itm a {
		color: #fff;
		font-size: 2vh;
		font-family: 'Montserrat', sans-serif;
		font-weight: 600;
		letter-spacing: 0.3vh;
		padding: 4vh 0 0;
	}
	
	.s8_box {
		display: flex;
		position: relative;
		width: 100%;
		height: 100vh;
		margin-left: 0;
		justify-content: center;
		align-items: center;
	}
	
	.s8_03 {
		position: absolute;
		top: 140px;
	}
	
	.s8_bg {
		position: absolute;
		bottom: 0;
		right: 0;
		margin-left: 0;
		opacity: 1;
	}
	
	.s8_con {
		width: 80%;
		display: flex;
		flex-direction: column;
		margin: 0 20px;
		left: 45%;
		gap: 50px;
	}
	
	.s8_01 {
		width: 25%;
		padding: 0;
	}
	
	.s8_02 {
		width: 100%;
		padding: 0;
		border-left: unset;
	}
	
	.s4_01_logo {
		position: static;
		text-align: center;
	}

	.s8_02_comp {
		font-size: 14px;
		letter-spacing: 1px;
		padding-bottom: 8px;
	}
	
	.s8_02_en {
		font-size: 18px;
		letter-spacing: 0;
		margin-bottom: 15px;
	}
	
	.s8_02_add {
		font-size: 12px;
		line-height: 15px;
		margin-bottom: 16px;
	}
	
	.s8_02_tel p ,
	.s8_02_fax p {
		font-size: 14px;
	    line-height: 30px;
	}
	
	.s8_02_tel p img {
		width: 16px;
		padding-right: 5px;
		margin-right: 8px;
	}
	
	.s8_02_fax p img {
		width: 19px;
		padding-right: 5px;
		margin-right: 5px;
	}
	
	.s8_02_sns {
		display: flex;
		margin-top: -11px;
		margin-bottom: 19px;
	}
	
	.s8_02_sns p {
		width: 15px;
		margin-right: 16px;
	}
	
	.s8_02_cp {
		font-size: 12px;
		letter-spacing: 0;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	/*** footer ***/
	.sp_ft {
		width: 100%;
		position: fixed;
		z-index: 2;
		bottom: 0;
		display: flex;
		opacity: 1;
	}
	
	.sp_ft.no-show {
		opacity: 0;
	}
	
	

	/*** 下層ページ ***/
	
	#bg0_dw {
		mix-blend-mode: color;
		/*mix-blend-mode: color;*/
		background: #0a85e8;  /* fallback for old browsers */
		background: -webkit-linear-gradient(to right, #0575E6, #0a85e8);  /* Chrome 10-25, Safari 5.1-6 */
		background: linear-gradient(to right, #0575E6, #0a85e8); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		overflow: hidden;
	}
	
	.scroll {
		overflow-x: hidden;
	}
	
	header.header_bg2 {
		/*
		position: fixed;
		z-index: 1;
		*/
		height: 85px;
	}
	


	.site-main {
		margin: 0 20px;
		width: calc(100% - 40px);
		top: 85px;
	}

	.pan_area {
		padding: 8px 0 8px 26px;
		width: calc(100% - 40px);
		top: 85px;
	}
	
	.pan {
		width: 100%;
		background: none;
		position: unset;
		font-size: 18px;
		padding: 5px 0;
	}

	.pan span {
		font-size: 10px;
	}
	
	.d_mv {
		/*
		width: calc(100% - 56px);
		margin: auto;
		*/
		height: 66vh;
		background-size: cover;
		background-repeat: no-repeat;
	}
	
	.d_mv_ttl {
		font-size: 28px;
		letter-spacing: 3px;
		top: 100px;
		width: calc(100% - 40px);
		/*width: calc(100% - 96px);*/
	}
	
	.d_mv_ttl_jp {
		font-size: 18px;
	}
	
	/*
	.d_mv01 {
		background-position-x: 47%;
	}
	*/

	.d_mv01 {
		background-image: url("images/d_mv01_0_0@sp.jpg");
	}

	.d_mv03 {
		background-image: url("images/d_mv03_0_0@sp.jpg");
	}

	.d_mv04 {
		background-image: url("images/d_mv04_0_0@sp.jpg");
	}

	.d_mv05 {
		background-image: url("images/d_mv05_0_0@sp.jpg");
	}

	.d_mv07 {
		background-image: url("images/d_mv07_0_0@sp.jpg");
	}

	.d_mv08 {
		background-image: url("images/d_mv08_0_0@sp.jpg");
	}
	
	
	h2 {
		font-size: 24px;
		line-height: 30px;
	}
	
	p {
		font-size: 14px;
		line-height: 30px;
	}
	
	.flowing {
		white-space: unset;
	}
	
	.oem_rightmenu {
		display: none !important;
	}
	
	.oem_rightmenuSP {
		margin: 50px 0;
		padding: 0 28px;
	}
	
	.bl_floatingBanner {
		width: 100%;
	}
	
	
	

	.contents_box,
	.jobs_contents {
		width: 100%;
		padding: 0 28px;
	}

	.contents_box p,
	.recruit06_tx_box p {
		font-size: 14px;
		line-height: 30px;
	}

	.contents_box h2, 
	.company02_box h2, 
	.recruit03_box h2, 
	.jobs_contents h2 {
		font-size: 24px;
		line-height: 35px;
		padding: 10px 0 15px;
	}

	.oem01 {
		padding-left: 0;
		border: 0;
	}

	img.oem_mv {
		margin-bottom: 35px;
	}

	.oem01_clients {
		flex-wrap: wrap;
		justify-content: space-around;
		margin-top: 20px;
	}

	.oem01_clients div img {
		width: 100px;
		margin: 15px 0 5px;
	}

	.oem02_box {
		height: auto;
		padding: 35px 28px;
	}

	.oem02 h2 {
		font-size: 24px;
		line-height: 35px;
		margin-bottom: 30px;
	}

	.oem02 h3 {
		font-size: 18px;
		line-height: 40px;
	}

	.oem03,
	.oem04_1,
	.recruit01,
	.job_entry_tel {
		flex-direction: column;		
	}
	
	.oem03 {
		margin-top: 70px;
	}

	.oem03_l {
		padding-left: 0;
		width: 100%;
		margin: 0 !important;
		border: 0;
	}

	p.sukashi, p.sukashi2 {
		display: none;
	}
	
	span.blue {
		font-size: 16px;
	}


	.oem03_r, 
	.oem03_r2, 
	.company01_l, 
	.company01_r {
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
	}

	.oem03_r img, .oem03_r2 img {
		width: 100%;
	}

	.oem03_r img.oem03_ue, 
	.oem03_r2 img.oem03_ue {
		margin-bottom: 20px;
		margin-top: 40px;
	}
	
	.oem04_box {
		height: auto;
		padding: 40px 28px;
		margin-top: 70px;
	}
	
	.oem04_2 {
		margin-bottom: 21px;
		flex-direction: row;
		flex-wrap: wrap;
		align-content: space-between;
	}
	
	.oem04_2 img {
		width: 48%;
		margin-bottom: 10px;
	}
	
	
	.ly_inner {
		margin-top: 0;
	}
	
	.bl_accordionTitle::before {
		right: 10px;
	}
	
	.bl_accordionTitle::after {
		right: 20px;
	}
	
	.bl_accordionTitle.active::before {
		top: 50%;
		right: 10px;
	}
	
	.bl_accordionTitle.active::after {
		top: 39%;
		right: 20px;
	}
	
	.bl_accordionTitle {
		font-size: 18px;
		padding: 30px 60px 30px 0;
		line-height: 25px;
	}
	
	.bl_accordionTitle span.blue {
		font-size: 24px;
		margin-right: -5px;
	}
	
	
	.company01,
	.recruit01_2 {
		flex-direction: column-reverse;
	}
	
	.company01_l h3 {
		font-size: 12px !important;
		padding-left: 0;
		margin: 20px 0 0 !important;
		text-align: center;
	}
	
	.company01_l h3 img {
		width: 135px;
	}
	
	.company01_r {
		padding-left: 0;
		margin-bottom: 30px;
	}
	
	.contents_box h3 {
		font-size: 18px;
		margin: 35px 0 11px;
	}
	
	.company02 {
		width: 100%;
		padding: 0 28px;
	}
	
	td.company02_l {
		border-bottom: none;
		padding: 20px 0 0;
	}
	
	td.company02_r {
		line-height: 25px;
		padding-bottom: 13px;
	}
	
	td.company02_r a img {
		width: 16px;
		margin: 0 8px 0 11px;
	}
	
	td.company02_l, td.company02_r {
		width: 100%;
		display: block;
		font-size: 14px;
	}
	
	.company03_box h2,
	.recruit06_tx_box h2 {
		font-size: 24px;
	}
	
	.company03_box p {
		font-size: 14px;
		padding: 0 42px;
		line-height: 26px;
	}
	
	.map {
		margin-top: 35px;
	}
	
	
	.recruit_title {
		width: 100%;
		margin-bottom: 30px;
		margin-top: 50px;
	}
	
	.recruit_title a {
		width: 135px;
	}
	
	.recruit_btn {
		width: 135px;
		font-size: 12px;
	}
	
	.recruit01 .oem03_r {
		margin-top: 20px;
	}
	
	.recruit02_box,
	.recruit05_box {
		margin-top: 60px;
	}
	
	.recruit02_box {
		height: 150px;
	}
	
	.recruit05_box {
		height: 250px;
	}
	
	.recruit03_box {
		width: 100%;
		padding: 0 28px;
	}
	
	.recruit03_box .recruit_title_box,
	.recruit03_box .recruit_title_box2 {
		width: 100%;
		padding: 0;
	}
	
	.recruit03_box .recruit_title {
		width: 100%;
	}
	
	.recruit03_box .oem03_l {
		width: 100%;
		padding-right: 0;
	}
	
	.recruit03_box .oem03_l h3 {
		font-size: 18px;
		margin: 50px 0 20px;
	}
	
	.recruit03_box .oem03_l p,
	.jobs_entry_tx p {
		font-size: 14px;
	}
	
	.recruit03_box .oem03_r img {
		width: 100%;
		height: auto;
	}
	
	.recruit01_2 .oem03_r img {
		margin-top: 20px;
	}
	
	.recruit04_box {
		padding: 50px 28px;
		margin-top: 70px;
	}
	
	.recruit04_box h3 {
		margin: 40px 0 15px !important;
	}
	
	.sp_p0 {
		padding: 0 !important;
	}
	
	.recruit06_box {
		width: 80%;
		height: auto;
		margin: -60px auto 0;
		flex-direction: column;
		padding: 30px 28px;
	}
	
	.recruit06_tx_box,
	.recruit06_btn_box,
	.jobs_entry_tx,
	.jobs_entrybtn_box {
		width: 100%;
	}
	
	.recruit06_tx_box h2 {
		margin-bottom: 20px;
	}
	
	.recruit06_btn_box {
		align-items: center;
		margin-top: 15px;
	}
	
	.recruit06_btn_box a {
		width: 80%;
	}
	
	.recruit06_btn01, 
	.recruit06_btn02,
	.jobs_entrybtn02, 
	.jobs_entrybtn03 {
		width: 100%;
		height: 40px;
		font-size: 18px;
		display: flex;
		align-items: center;
		padding: 15px;
	}
	
	.recruit06_btn01 {
		margin-bottom: 12px;
	}
	
	
	.tab_label {
		font-size: 18px;
		padding: 0 22px;
		width: calc( (100% / 2) - 16px);
	}
	
	.tab_content h2 {
		font-size: 18px !important;
	}
	
	.tab_content h2 span,
	.tab_content h3 {
		font-size: 12px;
	}
	
	.jobs_list_t {
		margin: 35px 0 20px;
		align-items: stretch;
		flex-direction: column;
	}
	
	td.jobs_list_l, td.jobs_list_r {
		display: block;
		width: 100%;
		font-size: 14px;
	}
	
	td.jobs_list_l {
		padding: 15px 0 0;
	}
	
	td.jobs_list_r {
		border: none;
		padding: 3px 0 15px;
	}
	
	.jobs_entry {
		flex-direction: column;
		padding: 30px 28px 40px;
	}
	
	.jobs_entry_tx h2 {
		font-size: 18px !important;
		line-height: 30px;
	}

	.job_entry_tel_l {
		font-size: 30px;
		transform: none;
	}
	
	.job_entry_tel_l img {
		width: 23px;
		margin-top: 2px
	}
	
	.job_entry_tel_r {
		font-size: 14px;
		margin: 10px 0 20px;
	}
	
	.job_entry_tel_r span {
		font-size: 12.5px;
	}
	
	.jobs_entrybtn_box a {
		width: 100%;
	}
	
	.jobs_entrybtn02 img {
		width: 30px;
	}
	
	.jobs_entrybtn03 img {
		width: 90px;
		margin-right: 0;
	}
	
	.site-main .s8_bg {
		margin: 0;
	}
	
	.oem02_box.parallax {
		padding: 200px 20px;
	}
	
	p.mgR45 {
		margin-right: 0;
	}
	
	form {
		display: flex;
		flex-wrap: wrap;
		margin: 0;
		top: 44px;
		gap: 10px 10px;
	}
	
	.search_box {
		width: 90%;
	}
	
	.search_box input[type="text"] {
		width: 80%;
	}
	
	.search_submit {
		width: 135px;
	}
	
	
	.details__content {
		width: 100%;
	}
	
	.search_add_con {
		display: flex;
		flex-direction: column;
		align-items: center;
		height: 250px;
		overflow-y: auto;
		justify-content: flex-start;
	}
	
	.search_add_con_l,
	.search_add_con_c,
	.search_add_con_r {
		width: 100%;
	}
	
	.search_add_jobs label, .search_add_items label {
		width: 50%;
	}
	
	.search_add_type label{
		width: 100%;
	}
	
	.search_add_type {
		display: flex;
		flex-direction: column;
	}
	
	.performance_box {
		width: 100%;
	}

	.performance_box_img {
		width: 100%;
		height: 200px;
	}

	.performance_box_time {
		padding: 10px 0 10px;
	}
	
	.performance_detail .performance_box_box {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.performance_detail .free_item_con {
		padding: 40px 0;
	}

	.performance_detail .free_item_img_area {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.performance_detail_control_list {
		padding: 0 15px;
		font-size: 16px;
	}
	
	.performance_detail_control_prev, .performance_detail_control_next {
		font-size: 12px;
	}
	
	.news_list_box {
		height: 100%;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	
	.news_list_time {
		width: 100%;
	}

	.news_list_ttl {
		width: 100%;
	}
	
	.news_content {
		padding: 0;
	}
	
	.search_add_items ,
	.search_add_jobs {
		position: static;
	}

	.site-main footer {
		border: 0;
		margin: 50px 0 220px;
		padding: 0;
	}
	
	.jk_oem_3clm_box {
		display: flex;
		flex-direction: column;
	}

	.jk_oem_3clm {
		width: 100%;
	}

	.jk_oem_box02 {
		border: 0;
		padding: 0;
	}

	.jk_oem_box03 {
		display: flex;
		flex-direction: column;
	}

	.jk_oem_box04 {
		border-left: 0;
		padding-left: 0;
	}

	.jk_oem_box05 {
		margin: 120px 0 0;
	}

	.jk_oem_box05_box {
		display: flex;
		flex-direction: column;
	}

	.jk_oem_box05_tb_box {
		display: flex;
		flex-direction: column;
	}


	.jk_oem_box06_box_up {
		display: flex;
		flex-direction: column;
	}

	.jk_oem_box06_box_dw {
		display: flex;
		flex-direction: column;
	}

	.jk_oem_box06_data {
		display: flex;
		flex-direction: column;
		padding: 15px 40px;
	}

	.jk_oem_box06_data_list {
		width: 100%;
	}

	.jk_oem_box06_data_l_con {font-size: 16px;}
	
	
	.contact {
		width: 100%;
	}
	
	.oem03_l {
		padding-bottom: 50px;
	}

	.clb02 {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	
	.clb02:nth-child(odd) {
		flex-direction: column-reverse;
	}

	.clb02_l ,
	.clb02_r {
		width: 100%;
	}
	
	.clb02_l img ,
	.clb02_r img {
		width: 100%;
		padding: 0;
	}
	
	
	.clb03_itm_box {
		width: 100%;
	}
	
	.clb03_itm_bg {
		background-size: cover;
		height: 180px;
	}
	
	.scroll_top {
		bottom: -15px;
	} 
	
	.scroll_dw {
		bottom: 10px;
	}
	
	.f_mv_con {
		width: calc( 100% / 2);
	}

	html.h-menu-is-active {
		overflow: inherit;
	}
	
	

}