@charset "UTF-8";

/*!
Theme Name: comlab
Version: 1.0.0
Author: Comlab, Inc.
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
	line-height: 1.15;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
}

/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
	margin: 0;
}

/**
* Render the `main` element consistently in IE.
*/
main {
	display: block;
}

/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	/* 1 */
	height: 0;
	/* 1 */
	overflow: visible;
	/* 2 */
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
	font-family: monospace, monospace;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
	background-color: transparent;
}

/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
	border-bottom: none;
	/* 1 */
	-webkit-text-decoration: underline;
	text-decoration: underline;
	/* 2 */
	-webkit-text-decoration: underline dotted;
	text-decoration: underline;
	text-decoration: underline dotted;
	/* 2 */
}

/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
	font-weight: bolder;
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
	font-family: monospace, monospace;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/**
* Add the correct font size in all browsers.
*/
small {
	font-size: 80%;
}

/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
	border-style: none;
}

/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	/* 1 */
	font-size: 100%;
	/* 1 */
	line-height: 1.15;
	/* 1 */
	margin: 0;
	/* 2 */
}

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

/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select {
	/* 1 */
	text-transform: none;
}

/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
* Correct the padding in Firefox.
*/
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
*    `fieldset` elements in all browsers.
*/
legend {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	/* 1 */
	color: inherit;
	/* 2 */
	display: table;
	/* 1 */
	max-width: 100%;
	/* 1 */
	padding: 0;
	/* 3 */
	white-space: normal;
	/* 1 */
}

/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
	vertical-align: baseline;
}

/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
	overflow: auto;
}

/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	/* 1 */
	padding: 0;
	/* 2 */
}

/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
	-webkit-appearance: textfield;
	/* 1 */
	outline-offset: -2px;
	/* 2 */
}

/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
	-webkit-appearance: button;
	/* 1 */
	font: inherit;
	/* 2 */
}

/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
	display: block;
}

/*
* Add the correct display in all browsers.
*/
summary {
	display: list-item;
}

/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
	display: none;
}

/**
* Add the correct display in IE 10.
*/
[hidden] {
	display: none;
}

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

/*----- LINKS -----*/
a {
	color: #050e1a;
	-webkit-text-decoration: none;
	text-decoration: none;
}

a:hover {
	color: #050e1a;
}

a:focus {
	outline: 0;
}

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

a[href^="tel:"] {
	cursor: default;
}

.eng-font {
	font-family: "Ropa Sans", sans-serif !important;
}

.eng-font {
	margin-bottom: -0.2rem;
}

p:not(:last-of-type) {
	margin-bottom: 3rem;
}

br.forPC {
	display: inline;
}

br.forSP {
	display: none;
}

@media only screen and (max-width: 768px) {
	br.forPC {
		display: none;
	}

	br.forSP {
		display: inline;
	}
}

/*----- IMAGES -----*/
img {
	max-width: 100%;
	vertical-align: bottom;
}

img[src$=".svg"] {
	width: 100%;
}

/*----- MISC -----*/
::-moz-selection {
	background: #cedae3;
	color: #050e1a;
	text-shadow: none;
}

::selection {
	background: #cedae3;
	color: #050e1a;
	text-shadow: none;
}

::-webkit-selection {
	background: #cedae3;
	color: #050e1a;
	text-shadow: none;
}

::-moz-selection {
	background: #cedae3;
	color: #050e1a;
	text-shadow: none;
}

.TMPonlylogin {
	display: inline-block;
	background: #00ff3c;
	position: fixed;
	left: 0px;
	bottom: 0px;
	z-index: 99999999;
	font-size: 1.0rem;
	padding: 2px 10px;
}

/*----- WP CORE -----*/
.alignnone {
	margin: 5px 20px 20px 0;
}

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

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

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

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	background: #FFF;
	border: 1px solid #F0F0F0;
	max-width: 96%;
	padding: 5px 3px 10px;
	text-align: center;
}

.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}

.wp-caption .wp-caption-text,
.gallery-caption {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

/*!
*  - v1.5.0
* Homepage: http://bqworks.com/slider-pro/
* Author: bqworks
* Author URL: http://bqworks.com/
*/
/* Core
--------------------------------------------------*/
.slider-pro {
	position: relative;
	margin: 0 auto;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}

.sp-slides-container {
	position: relative;
}

.sp-mask {
	position: relative;
	overflow: hidden;
}

.sp-slides {
	position: relative;
	-webkit-backface-visibility: hidden;
	-webkit-perspective: 1000;
}

.sp-slide {
	position: absolute;
}

.sp-image-container {
	overflow: hidden;
}

.sp-image {
	position: relative;
	display: block;
	border: none;
}

.sp-no-js {
	overflow: hidden;
	max-width: 100%;
}

/* Thumbnails
--------------------------------------------------*/
.sp-thumbnails-container {
	position: relative;
	overflow: hidden;
	direction: ltr;
}

.sp-top-thumbnails,
.sp-bottom-thumbnails {
	left: 0;
	margin: 0 auto;
}

.sp-top-thumbnails {
	position: absolute;
	top: 0;
	margin-bottom: 4px;
}

.sp-bottom-thumbnails {
	margin-top: 4px;
}

.sp-left-thumbnails,
.sp-right-thumbnails {
	position: absolute;
	top: 0;
}

.sp-right-thumbnails {
	right: 0;
	margin-left: 4px;
}

.sp-left-thumbnails {
	left: 0;
	margin-right: 4px;
}

.sp-thumbnails {
	position: relative;
}

.sp-thumbnail {
	border: none;
}

.sp-thumbnail-container {
	position: relative;
	display: block;
	overflow: hidden;
	float: left;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.sp-rtl .sp-thumbnail-container {
	float: right;
}

/* Horizontal thumbnails
------------------------*/
.sp-top-thumbnails .sp-thumbnail-container,
.sp-bottom-thumbnails .sp-thumbnail-container {
	margin-left: 2px;
	margin-right: 2px;
}

.sp-top-thumbnails .sp-thumbnail-container:first-child,
.sp-bottom-thumbnails .sp-thumbnail-container:first-child {
	margin-left: 0;
}

.sp-top-thumbnails .sp-thumbnail-container:last-child,
.sp-bottom-thumbnails .sp-thumbnail-container:last-child {
	margin-right: 0;
}

/* Vertical thumbnails
----------------------*/
.sp-left-thumbnails .sp-thumbnail-container,
.sp-right-thumbnails .sp-thumbnail-container {
	margin-top: 2px;
	margin-bottom: 2px;
}

.sp-left-thumbnails .sp-thumbnail-container:first-child,
.sp-right-thumbnails .sp-thumbnail-container:first-child {
	margin-top: 0;
}

.sp-left-thumbnails .sp-thumbnail-container:last-child,
.sp-right-thumbnails .sp-thumbnail-container:last-child {
	margin-bottom: 0;
}

/* Right thumbnails with pointer
--------------------------------*/
.sp-right-thumbnails.sp-has-pointer {
	margin-left: -13px;
}

.sp-right-thumbnails.sp-has-pointer .sp-thumbnail {
	margin-left: 0 !important;
}

.sp-right-thumbnails.sp-has-pointer .sp-thumbnail {
	position: absolute;
	left: 18px;
}

.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
	content: '';
	position: absolute;
	height: 100%;
	border-left: 5px solid #F00;
	left: 0;
	top: 0;
	margin-left: 13px;
}

.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	left: 0;
	top: 50%;
	margin-top: -8px;
	border-right: 13px solid #F00;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
}

/* Left thumbnails with pointer
-------------------------------*/
.sp-left-thumbnails.sp-has-pointer {
	margin-right: -13px;
}

.sp-left-thumbnails.sp-has-pointer .sp-thumbnail {
	position: absolute;
	right: 18px;
}

.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
	content: '';
	position: absolute;
	height: 100%;
	border-left: 5px solid #F00;
	right: 0;
	top: 0;
	margin-right: 13px;
}

.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	right: 0;
	top: 50%;
	margin-top: -8px;
	border-left: 13px solid #F00;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
}

/* Bottom thumbnails with pointer
---------------------------------*/
.sp-bottom-thumbnails.sp-has-pointer {
	margin-top: -13px;
}

.sp-bottom-thumbnails.sp-has-pointer .sp-thumbnail {
	margin-top: 0 !important;
}

.sp-bottom-thumbnails.sp-has-pointer .sp-thumbnail {
	position: absolute;
	top: 18px;
}

.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
	content: '';
	position: absolute;
	width: 100%;
	border-bottom: 5px solid #F00;
	top: 0;
	margin-top: 13px;
}

.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	left: 50%;
	top: 0;
	margin-left: -8px;
	border-bottom: 13px solid #F00;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
}

/* Top thumbnails with pointer
------------------------------*/
.sp-top-thumbnails.sp-has-pointer {
	margin-bottom: -13px;
}

.sp-top-thumbnails.sp-has-pointer .sp-thumbnail {
	position: absolute;
	bottom: 18px;
}

.sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
	content: '';
	position: absolute;
	width: 100%;
	border-bottom: 5px solid #F00;
	bottom: 0;
	margin-bottom: 13px;
}

.sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	left: 50%;
	bottom: 0;
	margin-left: -8px;
	border-top: 13px solid #F00;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
}

/* Layers
--------------------------------------------------*/
.sp-layer {
	position: absolute;
	margin: 0;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-backface-visibility: hidden;
}

.sp-black {
	color: #FFF;
	background: black;
	background: rgba(0, 0, 0, 0.7);
}

.sp-white {
	color: #000;
	background: white;
	background: rgba(255, 255, 255, 0.7);
}

.sp-rounded {
	border-radius: 10px;
}

.sp-padding {
	padding: 10px;
}

/* Touch Swipe
--------------------------------------------------*/
.sp-grab {
	cursor: url(images/openhand.cur), move;
}

.sp-grabbing {
	cursor: url(images/closedhand.cur), move;
}

.sp-selectable {
	cursor: default;
}

/* Caption
--------------------------------------------------*/
.sp-caption-container {
	text-align: center;
	margin-top: 10px;
}

/* Full Screen
--------------------------------------------------*/
.sp-full-screen {
	margin: 0 !important;
}

.sp-full-screen {
	background-color: #000;
}

.sp-full-screen-button {
	position: absolute;
	top: 5px;
	right: 10px;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sp-full-screen-button:before {
	content: '\2195';
}

.sp-fade-full-screen {
	opacity: 0;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
}

.slider-pro:hover .sp-fade-full-screen {
	opacity: 1;
}

/* Buttons
--------------------------------------------------*/
.sp-buttons {
	position: relative;
	width: 100%;
	text-align: center;
	padding-top: 10px;
}

.sp-rtl .sp-buttons {
	direction: rtl;
}

.sp-full-screen .sp-buttons {
	display: none;
}

.sp-button {
	width: 10px;
	height: 10px;
	border: 2px solid #000;
	border-radius: 50%;
	margin: 4px;
	display: inline-block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	cursor: pointer;
}

.sp-selected-button {
	background-color: #000;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.sp-button {
		width: 14px;
		height: 14px;
	}
}

@media only screen and (min-width: 568px) and (max-width: 768px) {
	.sp-button {
		width: 16px;
		height: 16px;
	}
}

@media only screen and (min-width: 320px) and (max-width: 568px) {
	.sp-button {
		width: 18px;
		height: 18px;
	}
}

/* Arrows
--------------------------------------------------*/
.sp-arrows {
	position: absolute;
}

.sp-fade-arrows {
	opacity: 0;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
}

.sp-slides-container:hover .sp-fade-arrows {
	opacity: 1;
}

.sp-horizontal .sp-arrows {
	width: 100%;
	left: 0;
	top: 50%;
	margin-top: -15px;
}

.sp-vertical .sp-arrows {
	height: 100%;
	left: 50%;
	top: 0;
	margin-left: -10px;
}

.sp-arrow {
	position: absolute;
	display: block;
	width: 20px;
	height: 30px;
	cursor: pointer;
}

.sp-vertical .sp-arrow {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.sp-horizontal .sp-previous-arrow {
	left: 20px;
	right: auto;
}

.sp-horizontal.sp-rtl .sp-previous-arrow {
	right: 20px;
	left: auto;
}

.sp-horizontal .sp-next-arrow {
	right: 20px;
	left: auto;
}

.sp-horizontal.sp-rtl .sp-next-arrow {
	left: 20px;
	right: auto;
}

.sp-vertical .sp-previous-arrow {
	top: 20px;
}

.sp-vertical .sp-next-arrow {
	bottom: 20px;
	-webkit-transform: rotate(270deg);
	transform: rotate(270deg);
}

.sp-previous-arrow:before,
.sp-previous-arrow:after,
.sp-next-arrow:before,
.sp-next-arrow:after {
	content: '';
	position: absolute;
	width: 50%;
	height: 50%;
	background-color: #FFF;
}

.sp-arrow:before {
	left: 30%;
	top: 0;
	-webkit-transform: skew(145deg, 0deg);
	transform: skew(145deg, 0deg);
}

.sp-arrow:after {
	left: 30%;
	top: 50%;
	-webkit-transform: skew(-145deg, 0deg);
	transform: skew(-145deg, 0deg);
}

.sp-next-arrow {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.sp-horizontal.sp-rtl .sp-previous-arrow {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.sp-horizontal.sp-rtl .sp-next-arrow {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

.ie8 .sp-arrow,
.ie7 .sp-arrow {
	width: 0;
	height: 0;
}

.ie8 .sp-arrow:before,
.ie8 .sp-arrow:after,
.ie7 .sp-arrow:before,
.ie7 .sp-arrow:after {
	content: none;
}

.ie8.sp-horizontal .sp-previous-arrow,
.ie7.sp-horizontal .sp-previous-arrow {
	border-right: 20px solid #FFF;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
}

.ie8.sp-horizontal .sp-next-arrow,
.ie7.sp-horizontal .sp-next-arrow {
	border-left: 20px solid #FFF;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
}

.ie8.sp-vertical .sp-previous-arrow,
.ie7.sp-vertical .sp-previous-arrow {
	border-bottom: 20px solid #FFF;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
}

.ie8.sp-vertical .sp-next-arrow,
.ie7.sp-vertical .sp-next-arrow {
	border-top: 20px solid #FFF;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
}

/* Thumbnail Arrows
--------------------------------------------------*/
.sp-thumbnail-arrows {
	position: absolute;
}

.sp-fade-thumbnail-arrows {
	opacity: 0;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
}

.sp-thumbnails-container:hover .sp-fade-thumbnail-arrows {
	opacity: 1;
}

.sp-top-thumbnails .sp-thumbnail-arrows,
.sp-bottom-thumbnails .sp-thumbnail-arrows {
	width: 100%;
	top: 50%;
	left: 0;
	margin-top: -12px;
}

.sp-left-thumbnails .sp-thumbnail-arrows,
.sp-right-thumbnails .sp-thumbnail-arrows {
	height: 100%;
	top: 0;
	left: 50%;
	margin-left: -7px;
}

.sp-thumbnail-arrow {
	position: absolute;
	display: block;
	width: 15px;
	height: 25px;
	cursor: pointer;
}

.sp-left-thumbnails .sp-thumbnail-arrows .sp-thumbnail-arrow,
.sp-right-thumbnails .sp-thumbnail-arrows .sp-thumbnail-arrow {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.sp-top-thumbnails .sp-previous-thumbnail-arrow,
.sp-bottom-thumbnails .sp-previous-thumbnail-arrow {
	left: 0px;
}

.sp-top-thumbnails .sp-next-thumbnail-arrow,
.sp-bottom-thumbnails .sp-next-thumbnail-arrow {
	right: 0px;
}

.sp-left-thumbnails .sp-previous-thumbnail-arrow,
.sp-right-thumbnails .sp-previous-thumbnail-arrow {
	top: 0px;
}

.sp-left-thumbnails .sp-next-thumbnail-arrow,
.sp-right-thumbnails .sp-next-thumbnail-arrow {
	bottom: 0px;
}

.sp-previous-thumbnail-arrow:before,
.sp-previous-thumbnail-arrow:after,
.sp-next-thumbnail-arrow:before,
.sp-next-thumbnail-arrow:after {
	content: '';
	position: absolute;
	width: 50%;
	height: 50%;
	background-color: #FFF;
}

.sp-previous-thumbnail-arrow:before {
	left: 30%;
	top: 0;
	-webkit-transform: skew(145deg, 0deg);
	transform: skew(145deg, 0deg);
}

.sp-previous-thumbnail-arrow:after {
	left: 30%;
	top: 50%;
	-webkit-transform: skew(-145deg, 0deg);
	transform: skew(-145deg, 0deg);
}

.sp-next-thumbnail-arrow:before {
	right: 30%;
	top: 0;
	-webkit-transform: skew(35deg, 0deg);
	transform: skew(35deg, 0deg);
}

.sp-next-thumbnail-arrow:after {
	right: 30%;
	top: 50%;
	-webkit-transform: skew(-35deg, 0deg);
	transform: skew(-35deg, 0deg);
}

.ie8 .sp-thumbnail-arrow,
.ie7 .sp-thumbnail-arrow {
	width: 0;
	height: 0;
}

.ie8 .sp-thumbnail-arrow:before,
.ie8 .sp-thumbnail-arrow:after,
.ie7 .sp-thumbnail-arrow:before,
.ie7 .sp-thumbnail-arrow:after {
	content: none;
}

.ie8 .sp-top-thumbnails .sp-previous-thumbnail-arrow,
.ie8 .sp-bottom-thumbnails .sp-previous-thumbnail-arrow,
.ie7 .sp-top-thumbnails .sp-previous-thumbnail-arrow,
.ie7 .sp-bottom-thumbnails .sp-previous-thumbnail-arrow {
	border-right: 12px solid #FFF;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
}

.ie8 .sp-top-thumbnails .sp-next-thumbnail-arrow,
.ie8 .sp-bottom-thumbnails .sp-next-thumbnail-arrow,
.ie7 .sp-top-thumbnails .sp-next-thumbnail-arrow,
.ie7 .sp-bottom-thumbnails .sp-next-thumbnail-arrow {
	border-left: 12px solid #FFF;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
}

.ie8 .sp-left-thumbnails .sp-previous-thumbnail-arrow,
.ie8 .sp-right-thumbnails .sp-previous-thumbnail-arrow,
.ie7 .sp-left-thumbnails .sp-previous-thumbnail-arrow,
.ie7 .sp-right-thumbnails .sp-previous-thumbnail-arrow {
	border-bottom: 12px solid #FFF;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
}

.ie8 .sp-left-thumbnails .sp-next-thumbnail-arrow,
.ie8 .sp-right-thumbnails .sp-next-thumbnail-arrow,
.ie7 .sp-left-thumbnails .sp-next-thumbnail-arrow,
.ie7 .sp-right-thumbnails .sp-next-thumbnail-arrow {
	border-top: 12px solid #FFF;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
}

/* Video
--------------------------------------------------*/
a.sp-video {
	-webkit-text-decoration: none;
	text-decoration: none;
}

a.sp-video img {
	-webkit-backface-visibility: hidden;
	border: none;
}

a.sp-video:after {
	content: '\25B6';
	position: absolute;
	width: 45px;
	padding-left: 5px;
	height: 50px;
	border: 2px solid #FFF;
	text-align: center;
	font-size: 30px;
	border-radius: 30px;
	top: 0;
	color: #FFF;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.2);
	margin: auto;
	line-height: 52px;
}

/* CSS for preventing styling issues in WordPress
--------------------------------------------------*/
.slider-pro img.sp-image,
.slider-pro img.sp-thumbnail {
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	-webkit-box-shadow: none !important;
	-mox-box-shadow: none !important;
	box-shadow: none !important;
}

.slider-pro img.sp-image,
.slider-pro img.sp-thumbnail {
	max-width: none;
	max-height: none;
	transition: none;
	-moz-transition: none;
	-webkit-transition: none;
	-o-transition: none;
}

.slider-pro a {
	transition: none !important;
	-moz-transition: none !important;
	-webkit-transition: none !important;
	-o-transition: none !important;
}

.slider-pro a {
	position: static;
}

.slider-pro iframe,
.slider-pro object,
.slider-pro video,
.slider-pro embed,
.slider-pro canvas {
	max-width: none;
	max-height: none;
}

.slider-pro p.sp-layer {
	font-size: 14px;
	line-height: 1.4;
	margin: 0;
}

.slider-pro h1.sp-layer {
	font-size: 32px;
	line-height: 1.4;
	margin: 0;
}

.slider-pro h2.sp-layer {
	font-size: 24px;
	line-height: 1.4;
	margin: 0;
}

.slider-pro h3.sp-layer {
	font-size: 19px;
	line-height: 1.4;
	margin: 0;
}

.slider-pro h4.sp-layer {
	font-size: 16px;
	line-height: 1.4;
	margin: 0;
}

.slider-pro h5.sp-layer {
	font-size: 13px;
	line-height: 1.4;
	margin: 0;
}

.slider-pro h6.sp-layer {
	font-size: 11px;
	line-height: 1.4;
	margin: 0;
}

.slider-pro img.sp-layer {
	border: none;
}

/* Document
========================================================================== */
html {
	font-size: 62.5%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	height: 100%;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	color: #1d1d1d;
	background: #fff;
	line-height: 1.9;
	letter-spacing: 0.8px;
	padding: 0;
	margin: 0;
	position: relative;
}

@media screen and (max-width: 768px) {
	body {
		font-size: 1.4rem;
		line-height: 1.6;
	}
}

pre {
	white-space: pre-wrap;
}

#shutter {
	display: block;
	width: 100%;
	height: 0;
	position: fixed;
	background: rgba(62, 61, 61, 0.6);
	z-index: 99;
	opacity: 0;
	-webkit-transition: height 480ms, opacity 480ms;
	transition: height 480ms, opacity 480ms;
}

#shutter.drop {
	height: 100vh;
	opacity: 1;
}

/*! COMMON
========================================================================== */
h2.cont-title {
	font-size: 3.6rem;
	line-height: 1;
	text-align: center;
	position: relative;
	padding-bottom: 30px;
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	h2.cont-title {
		font-size: 2rem;
		padding-bottom: 10px;
		margin-bottom: 25px;
	}
}

h2.cont-title:after {
	content: '';
	width: 50px;
	height: 3px;
	background: #007739;
	position: absolute;
	left: 50%;
	bottom: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
	h2.cont-title:after {
		bottom: -10px;
	}
}

/*! READ MORE with ARROW */
a .more-arrow {
	font-family: "Ropa Sans", sans-serif !important;
}

a .more-arrow {
	font-size: 1.3rem;
	letter-spacing: 0;
}

@media screen and (max-width: 768px) {
	a .more-arrow span.more-text {
		display: none;
	}
}

a .more-arrow span.arrow-box {
	width: 43px;
	height: 8px;
	display: inline-block;
	position: relative;
}

a .more-arrow span.arrow-box .arrow {
	width: 34px;
	height: 8px;
	position: absolute;
	top: 0;
	right: 0;
	-webkit-transition: right 240ms;
	transition: right 240ms;
	fill: #fff;
}

a:hover .more-arrow span.arrow-box .arrow {
	right: -10px;
}

/*! READ MORE with RIGHT ARROW */
a {
	display: block;
}

a .right-arrow {
	font-family: "Ropa Sans", sans-serif !important;
}

a .right-arrow {
	letter-spacing: 0;
	line-height: 1;
	padding: 23px 20px 19px;
	background-size: contain;
	background-position: right 50%;
	background-repeat: no-repeat;
	background-color: #007739;
	position: relative;
	overflow: hidden;
	color: #fff;
	z-index: 0;
}

@media screen and (max-width: 768px) {
	a .right-arrow {
		padding: 20px 13px 17px;
	}
}

a .right-arrow p {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

a .right-arrow:before {
	content: '';
	width: 120%;
	height: 100%;
	display: block;
	background: #006631;
	position: absolute;
	top: 0;
	left: -120%;
	-webkit-transform: translate(-48px, 0px) skewX(-27deg);
	transform: translate(-48px, 0px) skewX(-27deg);
	z-index: -1;
	-webkit-transition: left 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: left 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

a .right-arrow:after {
	content: '';
	width: 95px;
	height: 100%;
	display: block;
	background: #006631;
	position: absolute;
	top: 0;
	right: -30px;
	-webkit-transform: skewX(-27deg);
	transform: skewX(-27deg);
	z-index: -1;
}

a .right-arrow span.arrow-box {
	width: 43px;
	height: 8px;
	display: inline-block;
	position: relative;
	overflow: hidden;
}

a .right-arrow span.arrow-box span {
	width: 34px;
	height: 8px;
	position: absolute;
	top: 0;
	right: 0;
	-webkit-transition: right 600ms cubic-bezier(0.23, 1, 0.32, 1);
	transition: right 600ms cubic-bezier(0.23, 1, 0.32, 1);
}

a .right-arrow .arrow {
	width: 34px;
	height: 8px;
	position: absolute;
	top: 0;
	left: 0;
}

a:hover .right-arrow:before {
	left: 30px;
}

/*! READ MORE at GREEN */
.button-box {
	line-height: 1;
}

a.green-button {
	font-family: "Ropa Sans", sans-serif !important;
}

a.green-button {
	line-height: 1;
	background-size: contain;
	background-position: right 50%;
	background-repeat: no-repeat;
	background-color: #007739;
	display: inline-block;
	position: relative;
	overflow: hidden;
	color: #fff;
	z-index: 0;
}

a.green-button:before {
	content: '';
	width: 120%;
	height: 100%;
	display: block;
	background: #006631;
	position: absolute;
	top: 0;
	left: -120%;
	-webkit-transform: translate(-48px, 0px) skewX(-27deg);
	transform: translate(-48px, 0px) skewX(-27deg);
	z-index: -1;
	-webkit-transition: left 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: left 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

a.green-button:after {
	content: '';
	width: 80px;
	height: 100%;
	display: block;
	background: #006631;
	position: absolute;
	top: 0;
	right: -30px;
	-webkit-transform: skewX(-27deg);
	transform: skewX(-27deg);
	z-index: -1;
}

a.green-button:hover:before {
	left: 30px;
}

a.green-button.normal {
	text-align: center;
	padding: 20px 55px 17px;
}

.soon-button {
	font-family: "Ropa Sans", sans-serif !important;
}

.soon-button {
	line-height: 1;
	background-size: contain;
	background-position: right 50%;
	background-repeat: no-repeat;
	background-color: #999999;
	display: inline-block;
	position: relative;
	overflow: hidden;
	color: #fff;
	z-index: 0;
}

.soon-button:after {
	content: '';
	width: 90px;
	height: 100%;
	display: block;
	background: #808080;
	position: absolute;
	top: 0;
	right: -30px;
	-webkit-transform: skewX(-27deg);
	transform: skewX(-27deg);
	z-index: -1;
}

.soon-button.normal {
	text-align: center;
	padding: 22px 100px 20px;
}

/*! PAGE::COMMON
========================================================================== */
/*! HERO */
#hero.page {
	height: 480px;
	width: 100vw;
	max-width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-position: 50% 50%;
	background-size: cover;
	padding-top: 80px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	margin-bottom: 20px;
}

@media screen and (max-width: 1100px) {
	#hero.page {
		height: 320px;
		padding-top: 52px;
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 640px) {
	#hero.page {
		height: 115px;
		padding-top: 0px;
		margin-bottom: 15px;
		margin-top: 61px;
		width: 100%;
	}
}

#hero.page p.heroTitle {
	position: relative;
	right: 5px;
	color: #fff;
	font-size: 4rem;
	font-weight: bold;
	text-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5);
}

@media screen and (max-width: 1100px) {
	#hero.page p.heroTitle {
		font-size: 3.4rem;
		right: 8px;
	}
}

@media screen and (max-width: 640px) {
	#hero.page p.heroTitle {
		font-size: 2.6rem;
	}
}

#hero.page p.subTitle {
	text-align: center;
	color: #fff;
	width: 100%;
	font-size: 2.2rem;
	font-weight: bold;
}

@media screen and (max-width: 640px) {
	#hero.page p.subTitle {
		font-size: 1.4rem;
	}
}

#looplink {
	margin-bottom: 80px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	#looplink {
		margin-bottom: 40px;
	}
}

#looplink .flex-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#looplink .flex-content .item {
	position: relative;
	overflow: hidden;
}

#looplink .flex-content .item a {
	display: block;
	padding: 100px 0 60px;
	color: #fff;
}

@media screen and (max-width: 1100px) {
	#looplink .flex-content .item a {
		padding: 65px 0 45px;
	}
}

@media screen and (max-width: 640px) {
	#looplink .flex-content .item a {
		padding: 48px 0 20px;
	}
}

#looplink .flex-content .item a h3 {
	line-height: 1;
	font-size: 2.4rem;
	margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
	#looplink .flex-content .item a h3 {
		font-size: 1.4rem;
		margin-bottom: 5px;
	}
}

#looplink .flex-content .item .img-box {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	z-index: -1;
	background-position: 50% 50%;
	background-size: cover;
	-webkit-transition: -webkit-transform 480ms;
	transition: -webkit-transform 480ms;
	transition: transform 480ms;
	transition: transform 480ms, -webkit-transform 480ms;
}

#looplink .flex-content .item:before {
	position: absolute;
	content: '';
	width: 0%;
	height: 5px;
	bottom: 0;
	left: 0;
	background: #007739;
	z-index: 1;
	-webkit-transition: 480ms cubic-bezier(0.23, 1, 0.32, 1);
	transition: 480ms cubic-bezier(0.23, 1, 0.32, 1);
}

#looplink .flex-content .item:hover .img-box {
	-webkit-transform: translate(-50%, -50%) scale(1.1);
	transform: translate(-50%, -50%) scale(1.1);
}

#looplink .flex-content .item:hover:before {
	width: 100%;
}

#looplink .flex-content.col3 {
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

@media screen and (max-width: 768px) {
	#looplink .flex-content.col3 {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
}

#looplink .flex-content.col2 .item {
	width: calc(100% / 2);
}

#looplink .flex-content.col3 .item {
	width: calc(100% / 3);
}

@media screen and (max-width: 768px) {
	#looplink .flex-content.col3 .item {
		width: calc(100% / 2);
	}
}

#looplink .flex-content.col3 .item:first-child {
	width: calc(100% / 3);
}

@media screen and (max-width: 768px) {
	#looplink .flex-content.col3 .item:first-child {
		width: 100%;
	}
}

#looplink .flex-content .item.about .img-box {
	background-image: url("img/common/looplink-about.jpg");
}

#looplink .flex-content .item.approach .img-box {
	background-image: url("img/common/looplink-approach.jpg");
}

#looplink .flex-content .item.company .img-box {
	background-image: url("img/common/looplink-company.jpg");
}

#looplink .flex-content .item.philosophy .img-box {
	background-image: url("img/common/looplink-philosophy.jpg");
}

#looplink .flex-content .item.achievement .img-box {
	background-image: url("img/common/looplink-achievement.jpg");
}

#looplink .flex-content .item.technology .img-box {
	background-image: url("img/common/looplink-technology.jpg");
}

#looplink .flex-content .item.material .img-box {
	background-image: url("img/common/looplink-material.jpg");
}

#form {
	position: relative;
	max-width: 100%;
}

#s-box {
	height: 36px;
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 10px;
	position: relative;
	left: 0;
	top: -5px;
	border-radius: 0px;
	border: solid 1px #ccc;
	outline: 0;
}

#s-btn-area {
	height: auto;
	position: absolute;
	right: 10px;
	top: 2px;
	background: none;
	color: #666;
	border: none;
	font-size: 20px;
	outline: 0;
	cursor: pointer;
}

#s-btn {
	width: 20px;
	height: 20px;
	position: relative;
	right: auto;
	bottom: auto;
	border-radius: 3px;
	font-size: 16px;
	color: #fff;
	line-height: 1;
}

#s-btn>img {
	width: 20px;
	height: 20px;
}

.uq_loading {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-color: black;
	z-index: 999999;
	-webkit-transition: all 600ms 0ms ease-out;
	transition: all 600ms 0ms ease-out;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	opacity: 1;
}

.uq_loading_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

@media screen and (min-width: 769px) {
	.uq_loading_logo {
		width: 300px;
		height: 60px;
	}
}

@media screen and (max-width: 768px) {
	.uq_loading_logo {
		width: 60%;
		max-width: 300px;
	}
}

.uq_loading_logo_img {
	width: 200px;
}

.el_progressBer {
	position: absolute;
	top: 0;
	left: 0;
	width: 0%;
	height: 5px;
	background-color: #fff;
	-webkit-transition: all 400ms ease-out;
	transition: all 400ms ease-out;
}

.js_introFlow1 .el_progressBer {
	width: 8%;
}

.js_introLoaded .el_progressBer {
	width: 100%;
}

a.el_telNo {
	cursor: pointer !important;
}

a.el_telNo {
	display: inline;
}

.js_introComplete .uq_loading {
	opacity: 0;
	pointer-events: none;
}

.hp_forPc {
	display: none !important;
}

@media screen and (min-width: 769px) {
	.hp_forPc {
		display: block !important;
	}
}

.hp_forPcIl {
	display: none !important;
}

@media screen and (min-width: 769px) {
	.hp_forPcIl {
		display: inline !important;
	}
}

.hp_forPcIlb {
	display: none !important;
}

@media screen and (min-width: 769px) {
	.hp_forPcIlb {
		display: inline-block !important;
	}
}

.hp_forSp {
	display: block !important;
}

@media screen and (min-width: 769px) {
	.hp_forSp {
		display: none !important;
	}
}

.hp_forSpIl {
	display: inline !important;
}

@media screen and (min-width: 769px) {
	.hp_forSpIl {
		display: none !important;
	}
}

.hp_forSpIlb {
	display: inline-block !important;
}

@media screen and (min-width: 769px) {
	.hp_forSpIlb {
		display: none !important;
	}
}

.js_scrlTarget {
	-webkit-transition: all 500ms ease-out;
	transition: all 500ms ease-out;
}

.js_scrlTarget__slide {
	position: relative;
	opacity: 0;
	left: -40px;
}

.js_scrlTarget__slideR {
	position: relative;
	opacity: 0;
	right: -40px;
}

.js_scrlTarget__slide.js_scrlTargetFire {
	opacity: 1;
	left: 0;
}

.js_scrlTarget__slideR.js_scrlTargetFire {
	opacity: 1;
	right: 0;
}

.js_scrlTarget__slideD1 {
	position: relative;
	opacity: 0;
	left: -40px;
	-webkit-transition: all 500ms 300ms ease-out;
	transition: all 500ms 300ms ease-out;
}

@media screen and (max-width: 768px) {
	.js_scrlTarget__slideD1 {
		-webkit-transition: all 500ms 0ms ease-out;
		transition: all 500ms 0ms ease-out;
	}
}

.js_scrlTarget__slideD1.js_scrlTargetFire {
	opacity: 1;
	left: 0;
}

.js_scrlTarget.js_scrlTarget__popUp {
	position: relative;
	opacity: 0;
	bottom: -60px;
	-webkit-transition: all 500ms ease;
	transition: all 500ms ease;
}

.js_scrlTarget__popUp.js_scrlTargetFire {
	opacity: 1;
	bottom: 0;
}

.js_scrlTarget.js_scrlTarget__popUpD1 {
	position: relative;
	opacity: 0;
	bottom: -60px;
	-webkit-transition: all 500ms 200ms ease;
	transition: all 500ms 200ms ease;
}

@media screen and (max-width: 768px) {
	.js_scrlTarget.js_scrlTarget__popUpD1 {
		-webkit-transition: all 500ms 0ms ease;
		transition: all 500ms 0ms ease;
	}
}

.js_scrlTarget__popUpD1.js_scrlTargetFire {
	opacity: 1;
	bottom: 0;
}

.js_scrlTarget.js_scrlTarget__popUpD2 {
	position: relative;
	opacity: 0;
	bottom: -60px;
	-webkit-transition: all 500ms 400ms ease;
	transition: all 500ms 400ms ease;
}

@media screen and (max-width: 768px) {
	.js_scrlTarget.js_scrlTarget__popUpD2 {
		-webkit-transition: all 500ms 0ms ease;
		transition: all 500ms 0ms ease;
	}
}

.js_scrlTarget__popUpD2.js_scrlTargetFire {
	opacity: 1;
	bottom: 0;
}

.js_scrlTarget.js_scrlTarget__popUpSlow {
	position: relative;
	opacity: 0;
	bottom: -60px;
	-webkit-transition: all 500ms ease;
	transition: all 500ms ease;
}

.js_scrlTarget__popUpSlow.js_scrlTargetFire {
	opacity: 1;
	bottom: 0;
}

.js_scrlTarget.js_scrlTarget__fadeIn {
	position: relative;
	opacity: 0;
	-webkit-transition: all 500ms 0 ease-in-out;
	transition: all 500ms 0 ease-in-out;
}

.js_scrlTarget__fadeIn.js_scrlTargetFire {
	opacity: 1;
}

.js_scrlTarget.js_scrlTarget__fadeInD1 {
	position: relative;
	opacity: 0;
	-webkit-transition: all 500ms 200ms ease-in-out;
	transition: all 500ms 200ms ease-in-out;
}

@media screen and (max-width: 768px) {
	.js_scrlTarget.js_scrlTarget__fadeInD1 {
		-webkit-transition: all 500ms 0ms ease;
		transition: all 500ms 0ms ease;
	}
}

.js_scrlTarget__fadeInD1.js_scrlTargetFire {
	opacity: 1;
}

.js_scrlTarget.js_scrlTarget__fadeInD2 {
	position: relative;
	opacity: 0;
	-webkit-transition: all 500ms 400ms ease-in-out;
	transition: all 500ms 400ms ease-in-out;
}

@media screen and (max-width: 768px) {
	.js_scrlTarget.js_scrlTarget__fadeInD2 {
		-webkit-transition: all 500ms 0ms ease;
		transition: all 500ms 0ms ease;
	}
}

.js_scrlTarget__fadeInD2.js_scrlTargetFire {
	opacity: 1;
}

/*! HEADER
==========================================================================
*/
#header {
	z-index: 99999;
}

#header .forPC {
	display: block;
}

#header .forSP {
	display: none;
}

@media only screen and (max-width: 1200px) {
	#header .forPC {
		display: none;
	}

	#header .forSP {
		display: block;
	}
}

#header {
	height: 80px;
	background: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 1200px) {
	#header {
		height: 60px;
	}
}

#header .logo {
	width: 190px;
	margin-left: 5vw;
}

@media screen and (max-width: 1200px) {
	#header .logo {
		margin-left: 2.5vw;
		width: 150px;
	}
}

/*! for PC */
@media screen and (min-width: 1200px) {
	#header nav.nav {
		font-size: 1.4rem;
		font-weight: bold;
		margin-left: auto;
	}

	#header nav.nav ul.flex {
		padding: 0;
		margin: 0;
		list-style: none;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		letter-spacing: 0.4px;
	}

	#header nav.nav ul.flex li .topLink {
		height: 80px;
		line-height: 80px;
		cursor: pointer;
		display: block;
		-webkit-transition: color 480ms;
		transition: color 480ms;
	}

	#header nav.nav ul.flex li span.topLink:hover {
		color: #007739;
	}

	#header nav.nav ul.flex li.dropnot {
		margin-right: 27px;
	}

	#header nav.nav ul.flex li.dropdown {
		margin-right: 27px;
	}

	#header nav.nav ul.flex li.dropdown:hover {
		z-index: 99;
	}

	#header nav.nav ul.flex li.dropdown:last-of-type {
		margin-right: 0;
		padding-left: 20px;
	}

	#header nav.nav ul.flex li.dropdown div.wrap {
		display: none;
		position: absolute;
		background-image: url("img/common/cont-footerBG.png");
		top: 80px;
		left: 0;
		width: 100%;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		margin: auto;
		max-width: 1200px;
		width: 80%;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner div.img-box {
		width: 50%;
		background-position: 50% 50%;
		background-size: cover;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul {
		width: calc(50% - 50px);
		padding: 40px 0;
		margin: 0;
		list-style: none;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li {
		color: #fff;
		line-height: 1;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li:not(:last-of-type) {
		margin-bottom: 11px;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li.linkTitle {
		font-size: 2rem;
		position: relative;
		border-top: 1px solid #000;
		padding: 10px 0;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li.linkTitle:before {
		content: '';
		width: 50%;
		height: 1px;
		background: #fff;
		display: block;
		position: absolute;
		top: -1px;
		left: 0;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li a {
		line-height: 1;
		background-size: contain;
		background-position: right 50%;
		background-repeat: no-repeat;
		background-color: #007739;
		display: inline-block;
		position: relative;
		overflow: hidden;
		color: #fff;
		z-index: 0;
		padding: 12px 25px;
		width: 100%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li a:before {
		content: '';
		width: 120%;
		height: 100%;
		display: block;
		background: #006631;
		position: absolute;
		top: 0;
		left: -120%;
		-webkit-transform: translate(-48px, 0px) skewX(-27deg);
		transform: translate(-48px, 0px) skewX(-27deg);
		z-index: -1;
		-webkit-transition: left 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
		transition: left 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li a:after {
		content: '';
		width: 110px;
		height: 100%;
		display: block;
		background: #006631;
		position: absolute;
		top: 0;
		right: -30px;
		-webkit-transform: skewX(-27deg);
		transform: skewX(-27deg);
		z-index: -1;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li a:hover:before {
		left: 30px;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li a:hover .topLink {
		color: #fff;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li a svg.arrow {
		width: 34px;
		height: 8px;
		position: absolute;
		top: 50%;
		right: 20px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	#header nav.nav ul.flex li.dropdown.active {
		z-index: 99;
	}

	#header nav.nav ul.flex li.contLink {
		padding-left: 20px;
		height: 80px;
	}

	#header nav.nav ul.flex li.contLink a {
		line-height: 1;
		background-size: contain;
		background-position: right 50%;
		background-repeat: no-repeat;
		background-color: #007739;
		display: inline-block;
		position: relative;
		overflow: hidden;
		color: #fff;
		z-index: 0;
		text-align: center;
		padding: 0 25px;
	}

	#header nav.nav ul.flex li.contLink a:before {
		content: '';
		width: 120%;
		height: 100%;
		display: block;
		background: #006631;
		position: absolute;
		top: 0;
		left: -120%;
		-webkit-transform: translate(-48px, 0px) skewX(-27deg);
		transform: translate(-48px, 0px) skewX(-27deg);
		z-index: -1;
		-webkit-transition: left 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
		transition: left 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
	}

	#header nav.nav ul.flex li.contLink a:after {
		content: '';
		width: 80px;
		height: 100%;
		display: block;
		background: #006631;
		position: absolute;
		top: 0;
		right: -30px;
		-webkit-transform: skewX(-27deg);
		transform: skewX(-27deg);
		z-index: -1;
	}

	#header nav.nav ul.flex li.contLink a:hover:before {
		left: 30px;
	}

	#header nav.nav ul.flex li.contLink a:hover .topLink {
		color: #fff;
	}
}

@media screen and (min-width: 1200px) {
	#header nav.nav {
		display: block !important;
	}
}

/*! for SP */
@media screen and (max-width: 1200px) {
	#header nav.nav {
		position: absolute;
		top: 60px;
		left: 0;
		height: calc(100vh - 60px);
		width: 100%;
		background: #f5f5f5;
		overflow-y: scroll;
		display: none;
	}

	#header nav.nav {
		-webkit-overflow-scrolling: touch;
	}

	#header nav.nav ul.flex {
		padding: 0;
		margin: 0;
		list-style: none;
	}

	#header nav.nav ul.flex li {
		border-bottom: 1px solid #cccccc;
	}

	#header nav.nav ul.flex li:first-of-type {
		border-top: 1px solid #cccccc;
	}

	#header nav.nav ul.flex li .topLink {
		display: block;
		-webkit-transition: color 480ms;
		transition: color 480ms;
		padding: 23px 11vw;
		cursor: pointer;
		position: relative;
	}

	#header nav.nav ul.flex li .topLink div.arrow-box {
		width: 60px;
		display: block;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		position: absolute;
		top: 50%;
		right: 5vw;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	#header nav.nav ul.flex li .topLink div.arrow-box:before, #header nav.nav ul.flex li .topLink div.arrow-box:after {
		position: absolute;
		content: '';
		top: 50%;
		background: #1d1d1d;
		-webkit-transition: all 300ms ease;
		transition: all 300ms ease;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	#header nav.nav ul.flex li .topLink div.arrow-box:before {
		width: 18px;
		height: 2px;
		left: 50%;
	}

	#header nav.nav ul.flex li .topLink div.arrow-box:after {
		width: 2px;
		height: 18px;
		left: 50%;
	}

	#header nav.nav ul.flex li .topLink.active .arrow-box:after {
		height: 0px;
	}

	#header nav.nav ul.flex li.dropdown div.wrap {
		display: none;
		border-top: 1px solid #cccccc;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner div.img-box {
		display: none;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul {
		padding: 0;
		margin: 0;
		list-style: none;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li {
		border-bottom: 1px solid #e5e5e5;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li:last-of-type {
		border-bottom: none;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li a {
		padding: 23px 16vw;
		color: #777777;
	}

	#header nav.nav ul.flex li.dropdown div.wrap div.inner ul li a svg.arrow {
		display: none;
	}
}

/* HAMBURGER
========================================================================== */
#hamburger {
	display: none;
}

@media screen and (max-width: 1200px) {
	#hamburger {
		display: block;
		position: absolute;
		right: 0;
		top: 0px;
		width: 60px;
		height: 60px;
		background: #007739;
		z-index: 9999;
		cursor: pointer;
	}

	#hamburger span {
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		width: 30px;
		height: 1px;
		background: #fff;
	}

	#hamburger span:before, #hamburger span:after {
		content: '';
		width: 100%;
		height: 100%;
		background: #fff;
		position: absolute;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		-webkit-transition: background .3s;
		transition: background .3s;
	}

	#hamburger span:before {
		top: -8px;
		-webkit-transition: background 0.3S, top 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3S cubic-bezier(0.23, 1, 0.32, 1);
		transition: background 0.3S, top 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3S cubic-bezier(0.23, 1, 0.32, 1);
		transition: background 0.3S, top 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1), transform 0.3S cubic-bezier(0.23, 1, 0.32, 1);
		transition: background 0.3S, top 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1), transform 0.3S cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3S cubic-bezier(0.23, 1, 0.32, 1);
	}

	#hamburger span:after {
		top: 8px;
		-webkit-transition: background 0.3S, top 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3S cubic-bezier(0.23, 1, 0.32, 1);
		transition: background 0.3S, top 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3S cubic-bezier(0.23, 1, 0.32, 1);
		transition: background 0.3S, top 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1), transform 0.3S cubic-bezier(0.23, 1, 0.32, 1);
		transition: background 0.3S, top 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1), transform 0.3S cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3S cubic-bezier(0.23, 1, 0.32, 1);
	}

	#hamburger.open span {
		background: none;
	}

	#hamburger.open span:after {
		top: 50%;
		-webkit-transform: translate(-50%, -50%) rotate(45deg);
		transform: translate(-50%, -50%) rotate(45deg);
		-webkit-transition: top 0.15S cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1);
		transition: top 0.15S cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1);
		transition: top 0.15S cubic-bezier(0.23, 1, 0.32, 1), transform 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1);
		transition: top 0.15S cubic-bezier(0.23, 1, 0.32, 1), transform 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1);
	}

	#hamburger.open span:before {
		top: 50%;
		-webkit-transform: translate(-50%, -50%) rotate(-45deg);
		transform: translate(-50%, -50%) rotate(-45deg);
		-webkit-transition: top 0.15S cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1);
		transition: top 0.15S cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1);
		transition: top 0.15S cubic-bezier(0.23, 1, 0.32, 1), transform 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1);
		transition: top 0.15S cubic-bezier(0.23, 1, 0.32, 1), transform 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.3S 0.15S cubic-bezier(0.23, 1, 0.32, 1);
	}
}

/*! INDEX
========================================================================== */
/*! SLIDER */
.home #slider {
	margin-bottom: 70px;
	position: relative;
	overflow-x: hidden;
}

@media screen and (max-width: 768px) {
	.home #slider {
		margin-bottom: 0px;
	}
}

.home #slider #copy {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
	padding: 80px 0 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	/*height: 100%;*/
	z-index: 999;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.home #slider #copy .inner {
	max-width: 1350px;
	width: 90%;
	margin: auto;
	color: #fff;
}

.home #slider #copy .inner p {
	font-size: 4.8rem;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {
	.home #slider #copy .inner p {
		font-size: 3.4rem;
	}
}

@media screen and (max-width: 500px) {
	.home #slider #copy .inner p {
		font-size: 2rem;
	}
}

.home #slider #copy .inner p span {
	padding-top: 10px;
	font-size: 2.4rem;
	font-weight: bold;
	display: block;
}

@media screen and (max-width: 768px) {
	.home #slider #copy .inner p span {
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 500px) {
	.home #slider #copy .inner p span {
		font-size: 1.1rem;
	}
}

.home #slider #news {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background: #292929;
	z-index: 1000;
}

.home #slider #news a {
	width: 90%;
	max-width: 1200px;
	margin: auto;
	color: #fff;
	padding: 15px 0;
}

@media screen and (max-width: 768px) {
	.home #slider #news a {
		padding: 10px 0;
	}
}

@media screen and (max-width: 768px) {
	.home #slider #news a span.meta {
		width: 100%;
		display: block;
		padding-bottom: 5px;
	}
}

.home #slider #news a i {
	font-style: normal;
	display: inline-block;
	line-height: 1;
}

.home #slider #news a i.cat {
	padding-right: 3%;
	border-right: 1px solid #fff;
}

@media screen and (max-width: 768px) {
	.home #slider #news a i.cat {
		font-size: 1.6rem;
	}
}

.home #slider #news a i.date {
	padding-left: 3%;
	padding-right: 3%;
}

@media screen and (max-width: 768px) {
	.home #slider #news a i.date {
		font-size: 1.2rem;
	}
}

/*! ABOUT US */
.home #aboutus {
	margin: auto;
	width: 100%;
	text-align: center;
	color: #fff;
	margin-bottom: 150px;
}

@media screen and (max-width: 768px) {
	.home #aboutus {
		margin-bottom: 100px;
	}
}

.home #aboutus .top {
	position: relative;
	overflow: hidden;
	padding: 170px 0 185px;
}

@media screen and (max-width: 768px) {
	.home #aboutus .top {
		padding: 0;
		color: #000;
	}
}

.home #aboutus .top h2.title {
	font-size: 3.6rem;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.home #aboutus .top h2.title {
		font-size: 2rem;
		padding-top: 20px;
		margin-bottom: 5px;
	}
}

.home #aboutus .top div.text {
	line-height: 1.8;
}

@media screen and (max-width: 768px) {
	.home #aboutus .top div.text {
		padding-bottom: 25px;
		width: 80%;
		margin: auto;
		text-align: left;
	}
}

.home #aboutus .top div.text p span {
	display: block;
}

@media screen and (max-width: 768px) {
	.home #aboutus .top div.text p span {
		display: inline;
	}
}

.home #aboutus .top .img-box {
	padding-top: 34.539%;
	background-image: url("img/index/about00.jpg");
	background-position: 50% 50%;
	background-size: cover;
	z-index: -1;
}

@media screen and (min-width: 769px) {
	.home #aboutus .top .img-box {
		padding-top: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: calc(100% + 2px);
		height: calc(100% + 2px);
		z-index: -1;
	}
}

.home #aboutus .flex-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.home #aboutus .flex-content .item {
	position: relative;
	overflow: hidden;
	width: calc(100% / 4);
}

@media screen and (max-width: 1100px) {
	.home #aboutus .flex-content .item {
		width: calc(100% / 2);
	}
}

.home #aboutus .flex-content .item a {
	display: block;
	padding: 100px 0 60px;
	color: #fff;
}

@media screen and (max-width: 1100px) {
	.home #aboutus .flex-content .item a {
		padding: 65px 0 45px;
	}
}

@media screen and (max-width: 640px) {
	.home #aboutus .flex-content .item a {
		padding: 48px 0 20px;
	}
}

.home #aboutus .flex-content .item a h3 {
	line-height: 1;
	font-size: 2.4rem;
	margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
	.home #aboutus .flex-content .item a h3 {
		font-size: 1.4rem;
		margin-bottom: 5px;
	}
}

.home #aboutus .flex-content .item .img-box {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	z-index: -1;
	background-position: 50% 50%;
	background-size: cover;
	-webkit-transition: -webkit-transform 480ms;
	transition: -webkit-transform 480ms;
	transition: transform 480ms;
	transition: transform 480ms, -webkit-transform 480ms;
}

.home #aboutus .flex-content .item:nth-of-type(1) .img-box {
	background-image: url("img/common/looplink-about.jpg");
}

.home #aboutus .flex-content .item:nth-of-type(2) .img-box {
	background-image: url("img/common/looplink-approach.jpg");
}

.home #aboutus .flex-content .item:nth-of-type(3) .img-box {
	background-image: url("img/common/looplink-company.jpg");
}

.home #aboutus .flex-content .item:nth-of-type(4) .img-box {
	background-image: url("img/common/looplink-philosophy.jpg");
}

.home #aboutus .flex-content .item:before {
	position: absolute;
	content: '';
	width: 0%;
	height: 5px;
	bottom: 0;
	left: 0;
	background: #007739;
	z-index: 1;
	-webkit-transition: 480ms cubic-bezier(0.23, 1, 0.32, 1);
	transition: 480ms cubic-bezier(0.23, 1, 0.32, 1);
}

.home #aboutus .flex-content .item:hover .img-box {
	-webkit-transform: translate(-50%, -50%) scale(1.1);
	transform: translate(-50%, -50%) scale(1.1);
}

.home #aboutus .flex-content .item:hover:before {
	width: 100%;
}

/*! REASON */
.home #reason {
	margin-bottom: 150px;
}

@media screen and (max-width: 768px) {
	.home #reason {
		margin-bottom: 100px;
	}
}

.home #reason h2.cont-title {
	margin-bottom: 45px;
}

@media screen and (max-width: 768px) {
	.home #reason h2.cont-title {
		margin-bottom: 30px;
	}
}

.home #reason .ticker-box {
	padding: 155px 0 160px;
	background-image: url("img/index/reason.jpg");
	background-position: 50% 50%;
	background-size: cover;
	overflow: hidden;
	width: 95%;
	margin-left: 5%;
}

@media screen and (max-width: 768px) {
	.home #reason .ticker-box {
		padding: 70px 0;
		width: 100%;
		margin-left: 0%;
	}
}

.home #reason .ticker-box h3.title {
	width: 200vw;
	height: 70px;
	background-repeat: repeat-x;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

@media screen and (max-width: 768px) {
	.home #reason .ticker-box h3.title {
		height: 25px;
	}
}

.home #reason .ticker-box h3.title.s1 {
	background-image: url("img/index/reason_s1.png");
	background-size: 1303px 70px;
	margin-bottom: 40px;
	-webkit-animation: copy_s1 30000ms linear infinite;
	animation: copy_s1 30000ms linear infinite;
}

@media screen and (max-width: 768px) {
	.home #reason .ticker-box h3.title.s1 {
		background-size: 424px 25px;
		margin-bottom: 30px;
		-webkit-animation: copy_s1 15000ms linear infinite;
		animation: copy_s1 15000ms linear infinite;
	}
}

.home #reason .ticker-box h3.title.s2 {
	background-image: url("img/index/reason_s2.png");
	background-size: 1388px 70px;
	margin-bottom: 40px;
	-webkit-animation: copy_s2 30000ms linear infinite;
	animation: copy_s2 30000ms linear infinite;
}

@media screen and (max-width: 768px) {
	.home #reason .ticker-box h3.title.s2 {
		background-size: 496px 25px;
		margin-bottom: 30px;
		-webkit-animation: copy_s2 15000ms linear infinite;
		animation: copy_s2 15000ms linear infinite;
	}
}

.home #reason .ticker-box h3.title.s3 {
	background-image: url("img/index/reason_s3.png");
	background-size: 1346px 70px;
	-webkit-animation: copy_s3 30000ms linear infinite;
	animation: copy_s3 30000ms linear infinite;
}

@media screen and (max-width: 768px) {
	.home #reason .ticker-box h3.title.s3 {
		background-size: 481px 25px;
		-webkit-animation: copy_s3 15000ms linear infinite;
		animation: copy_s3 15000ms linear infinite;
	}
}

.home #reason .flex-content {
	background: #e8e8e8;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	max-width: 1100px;
	width: 80%;
	padding: 50px 65px;
	margin: -37px auto 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 1200px) {
	.home #reason .flex-content {
		-webkit-box-pack: unset;
		-ms-flex-pack: unset;
		justify-content: initial;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

@media screen and (max-width: 768px) {
	.home #reason .flex-content {
		width: 90%;
		padding: 25px 5vw;
		margin: -30px auto 0;
	}
}

@media screen and (max-width: 1200px) {
	.home #reason .flex-content .button-box {
		margin-top: 30px;
	}
}

@-webkit-keyframes copy_s1 {
	0% {
		background-position: 0 0;
	}

	to {
		background-position: -1303px 0;
	}
}

@keyframes copy_s1 {
	0% {
		background-position: 0 0;
	}

	to {
		background-position: -1303px 0;
	}
}

@-webkit-keyframes copy_s2 {
	0% {
		background-position: 0 0;
	}

	to {
		background-position: -1388px 0;
	}
}

@keyframes copy_s2 {
	0% {
		background-position: 0 0;
	}

	to {
		background-position: -1388px 0;
	}
}

@-webkit-keyframes copy_s3 {
	0% {
		background-position: 0 0;
	}

	to {
		background-position: -1346px 0;
	}
}

@keyframes copy_s3 {
	0% {
		background-position: 0 0;
	}

	to {
		background-position: -1346px 0;
	}
}

@media screen and (max-width: 768px) {
	@-webkit-keyframes copy_s1 {
		0% {
			background-position: 0 0;
		}

		to {
			background-position: -424px 0;
		}
	}

	@keyframes copy_s1 {
		0% {
			background-position: 0 0;
		}

		to {
			background-position: -424px 0;
		}
	}

	@-webkit-keyframes copy_s2 {
		0% {
			background-position: 0 0;
		}

		to {
			background-position: -496px 0;
		}
	}

	@keyframes copy_s2 {
		0% {
			background-position: 0 0;
		}

		to {
			background-position: -496px 0;
		}
	}

	@-webkit-keyframes copy_s3 {
		0% {
			background-position: 0 0;
		}

		to {
			background-position: -481px 0;
		}
	}

	@keyframes copy_s3 {
		0% {
			background-position: 0 0;
		}

		to {
			background-position: -481px 0;
		}
	}
}

/*! ACHIEVEMENT */
.home #achievement {
	margin-bottom: 150px;
}

@media screen and (max-width: 768px) {
	.home #achievement {
		margin-bottom: 100px;
	}
}

.home #achievement .title-box {
	color: #fff;
	background: #7e7e7e;
	padding: 100px 0 220px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.home #achievement .title-box {
		padding: 50px 0 110px;
	}
}

.home #achievement .title-box .text {
	margin: auto;
	width: 80vw;
}

@media screen and (max-width: 768px) {
	.home #achievement .title-box .text {
		text-align: left;
	}
}

.home #achievement .flex-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: -175px auto 60px;
	max-width: 1350px;
	width: 90%;
}

@media screen and (max-width: 768px) {
	.home #achievement .flex-content {
		margin: -85px auto 30px;
	}
}

.home #achievement .flex-content .item {
	width: calc(100% / 5);
}

@media screen and (max-width: 1100px) {
	.home #achievement .flex-content .item {
		width: calc(100% / 3);
	}

	.home #achievement .flex-content .item:nth-of-type(2n) {
		margin-bottom: 25px;
	}
}

@media screen and (max-width: 768px) {
	.home #achievement .flex-content .item {
		width: calc(100% / 2);
	}
}

.home #achievement .flex-content .item a {
	display: block;
	text-align: right;
	position: relative;
}

.home #achievement .flex-content .item a:before {
	position: absolute;
	content: '';
	width: 75%;
	height: 1px;
	bottom: 10px;
	right: 0;
	background: #000;
	z-index: 1;
	-webkit-transform: rotate(62deg);
	transform: rotate(62deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	-webkit-transition: background 240ms;
	transition: background 240ms;
}

.home #achievement .flex-content .item a .img-box {
	background-position: 50% 50%;
	background-size: cover;
	padding-top: 142.593%;
	position: relative;
	overflow: hidden;
}

.home #achievement .flex-content .item a .img-box .overlay {
	background-position: 50% 50%;
	background-size: cover;
	position: absolute;
	top: -1px;
	left: -1px;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	display: block;
	-webkit-transition: opacity 240ms;
	transition: opacity 240ms;
}

.home #achievement .flex-content .item a .text-box {
	font-size: 1.4rem;
	padding-top: 30%;
	padding-right: 45px;
	-webkit-transition: color 240ms;
	transition: color 240ms;
}

@media screen and (max-width: 768px) {
	.home #achievement .flex-content .item a .text-box {
		padding-top: 15%;
	}
}

@media screen and (max-width: 640px) {
	.home #achievement .flex-content .item a .text-box {
		padding-right: 18%;
		font-size: 1.1rem;
	}
}

.home #achievement .flex-content .item a:hover .img-box .overlay {
	opacity: 0;
}

.home #achievement .flex-content .item a:hover:before {
	background: #007739;
}

.home #achievement .flex-content .item a:hover .text-box {
	color: #007739;
}

.home #achievement .button-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 auto;
	max-width: 1350px;
	width: 90%;
}

/*! TECHNOLOGY */
.home #technology {
	margin: auto;
	width: 100%;
	text-align: center;
	color: #fff;
	margin-bottom: 150px;
}

@media screen and (max-width: 768px) {
	.home #technology {
		margin-bottom: 100px;
	}
}

.home #technology .top {
	position: relative;
	overflow: hidden;
	padding: 170px 0 185px;
}

@media screen and (max-width: 768px) {
	.home #technology .top {
		padding: 0;
		color: #000;
	}
}

.home #technology .top h2.title {
	font-size: 3.6rem;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.home #technology .top h2.title {
		font-size: 2rem;
		padding-top: 20px;
		margin-bottom: 5px;
	}
}

.home #technology .top div.text {
	line-height: 1.8;
}

@media screen and (max-width: 768px) {
	.home #technology .top div.text {
		padding-bottom: 25px;
		width: 80%;
		margin: auto;
		text-align: left;
	}
}

.home #technology .top div.text p span {
	display: block;
}

@media screen and (max-width: 768px) {
	.home #technology .top div.text p span {
		display: inline;
	}
}

.home #technology .top .img-box {
	padding-top: 34.539%;
	background-image: url("img/index/technology00.jpg");
	background-position: 50% 50%;
	background-size: cover;
	z-index: -1;
}

@media screen and (min-width: 769px) {
	.home #technology .top .img-box {
		padding-top: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: calc(100% + 2px);
		height: calc(100% + 2px);
		z-index: -1;
	}
}

.home #technology .flex-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.home #technology .flex-content .item {
	position: relative;
	overflow: hidden;
	width: calc(100% / 2);
}

.home #technology .flex-content .item a {
	display: block;
	padding: 100px 0 60px;
	color: #fff;
}

@media screen and (max-width: 1100px) {
	.home #technology .flex-content .item a {
		padding: 65px 0 45px;
	}
}

@media screen and (max-width: 640px) {
	.home #technology .flex-content .item a {
		padding: 48px 0 20px;
	}
}

.home #technology .flex-content .item a h3 {
	line-height: 1;
	font-size: 2.4rem;
	margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
	.home #technology .flex-content .item a h3 {
		font-size: 1.4rem;
		margin-bottom: 5px;
	}
}

.home #technology .flex-content .item .img-box {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	z-index: -1;
	background-position: 50% 50%;
	background-size: cover;
	-webkit-transition: -webkit-transform 480ms;
	transition: -webkit-transform 480ms;
	transition: transform 480ms;
	transition: transform 480ms, -webkit-transform 480ms;
}

.home #technology .flex-content .item:nth-of-type(1) .img-box {
	background-image: url("img/index/technology01.jpg");
}

.home #technology .flex-content .item:nth-of-type(2) .img-box {
	background-image: url("img/index/technology02.jpg");
}

.home #technology .flex-content .item:before {
	position: absolute;
	content: '';
	width: 0%;
	height: 5px;
	bottom: 0;
	left: 0;
	background: #007739;
	z-index: 1;
	-webkit-transition: 480ms cubic-bezier(0.23, 1, 0.32, 1);
	transition: 480ms cubic-bezier(0.23, 1, 0.32, 1);
}

.home #technology .flex-content .item:hover .img-box {
	-webkit-transform: translate(-50%, -50%) scale(1.1);
	transform: translate(-50%, -50%) scale(1.1);
}

.home #technology .flex-content .item:hover:before {
	width: 100%;
}

/*! SHOCKABSORBER */
.home #shockabsorber {
	margin-bottom: 150px;
}

@media screen and (max-width: 768px) {
	.home #shockabsorber {
		margin-bottom: 100px;
	}
}

.home #shockabsorber .title-box .text {
	text-align: center;
	margin: 0 auto 45px;
	width: 80vw;
}

@media screen and (max-width: 768px) {
	.home #shockabsorber .title-box .text {
		text-align: left;
	}
}

.home #shockabsorber .flex-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto 70px;
	width: 100%;
}

@media screen and (max-width: 768px) {
	.home #shockabsorber .flex-content {
		margin: 0 auto 30px;
	}
}

.home #shockabsorber .flex-content .item {
	width: calc(100% / 5);
}

@media screen and (max-width: 768px) {
	.home #shockabsorber .flex-content .item {
		width: calc(100% / 3);
	}

	.home #shockabsorber .flex-content .item:nth-of-type(4), .home #shockabsorber .flex-content .item:nth-of-type(5) {
		display: none;
	}
}

.home #shockabsorber .button-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 auto;
	max-width: 1350px;
	width: 90%;
}

/*! CARBONFIBER */
.home #carbonfiber {
	margin: 0 auto 80px;
	width: 100%;
	color: #fff;
	position: relative;
	overflow: hidden;
	padding: 5vw 5vw 6.5vw;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

@media screen and (max-width: 768px) {
	.home #carbonfiber {
		display: block;
	}
}

.home #carbonfiber div.text-box {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 50%;
	padding: 50px 60px;
	background: rgba(41, 41, 41, 0.7);
	line-height: 1.8;
}

@media screen and (max-width: 768px) {
	.home #carbonfiber div.text-box {
		padding-bottom: 25px;
		width: 100%;
		margin: auto;
		text-align: left;
		padding: 5vw;
	}
}

.home #carbonfiber div.text-box h2.title {
	font-size: 3.6rem;
	margin-bottom: 35px;
	line-height: 1;
}

@media screen and (max-width: 768px) {
	.home #carbonfiber div.text-box h2.title {
		font-size: 2rem;
	}
}

.home #carbonfiber div.text-box div.text {
	margin-bottom: 40px;
}

.home #carbonfiber div.text-box div.text span {
	display: block;
}

@media screen and (max-width: 768px) {
	.home #carbonfiber div.text-box div.text span {
		display: inline;
	}
}

.home #carbonfiber div.img-box {
	padding-top: 34.539%;
	background-image: url("img/index/carbonfiber.jpg");
	background-position: 50% 50%;
	background-size: cover;
	z-index: -1;
}

@media screen and (min-width: 768px) {
	.home #carbonfiber div.img-box {
		padding-top: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: calc(100% + 2px);
		height: calc(100% + 2px);
		z-index: -1;
	}
}

/*! BLOG */
.home #blog {
	margin: 0 auto 80px;
	padding: 70px 0;
	background: #e8e8e8;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.home #blog .inner {
	margin: auto;
	max-width: 1200px;
	width: 80%;
}

.home #blog .inner h2.title {
	font-size: 2rem;
	border-top: 1px solid #ccc;
	position: relative;
	padding-top: 10px;
	margin-bottom: 55px;
}

@media screen and (max-width: 768px) {
	.home #blog .inner h2.title {
		margin-bottom: 20px;
	}
}

.home #blog .inner h2.title:before {
	content: '';
	display: block;
	background: #292929;
	width: 125px;
	height: 1px;
	position: absolute;
	top: -1px;
	left: 0;
}

.home #blog .inner article {
	margin-bottom: 70px;
	padding: 0 50px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 768px) {
	.home #blog .inner article {
		padding: 0;
	}
}

.home #blog .inner article h3 {
	font-size: 1.6rem;
	position: relative;
}

@media screen and (max-width: 768px) {
	.home #blog .inner article h3 {
		font-size: 1.4rem;
	}
}

.home #blog .inner article h3:not(:nth-of-type(1)) {
	margin-top: -1px;
}

.home #blog .inner article h3:before, .home #blog .inner article h3:after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: #ccc;
	position: absolute;
	left: 0;
}

.home #blog .inner article h3:before {
	top: 0;
}

.home #blog .inner article h3:after {
	bottom: 0;
}

.home #blog .inner article h3 a {
	display: block;
	padding: 25px 20px;
	-webkit-transition: color 480ms;
	transition: color 480ms;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media screen and (max-width: 768px) {
	.home #blog .inner article h3 a {
		padding: 15px 20px;
	}
}

.home #blog .inner article h3 a span {
	display: inline-block;
	margin-right: 50px;
}

@media screen and (max-width: 768px) {
	.home #blog .inner article h3 a span {
		display: block;
		margin: 0 0 5px;
	}
}

.home #blog .inner article h3 a:before, .home #blog .inner article h3 a:after {
	content: '';
	display: block;
	width: 0%;
	height: 1px;
	background: #007739;
	position: absolute;
	right: 0;
	z-index: 1;
	-webkit-transition: width 240ms;
	transition: width 240ms;
}

.home #blog .inner article h3 a:before {
	top: 0;
}

.home #blog .inner article h3 a:after {
	bottom: 0;
}

.home #blog .inner article h3 a:hover {
	color: #007739;
}

.home #blog .inner article h3 a:hover:before, .home #blog .inner article h3 a:hover:after {
	width: 100%;
	z-index: 2;
}

.home #blog .button-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 auto;
	max-width: 1350px;
	width: 90%;
}

/*! RECRUIT */
.home #recruit {
	margin: auto;
	width: 100%;
	text-align: center;
	color: #fff;
	margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
	.home #recruit {
		margin-bottom: 40px;
	}
}

.home #recruit .top {
	position: relative;
	overflow: hidden;
	padding: 185px 0 200px;
}

@media screen and (max-width: 768px) {
	.home #recruit .top {
		padding: 0;
		color: #000;
	}
}

.home #recruit .top h2.title {
	font-size: 3.6rem;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.home #recruit .top h2.title {
		font-size: 2rem;
		padding-top: 25px;
	}
}

.home #recruit .top div.text {
	line-height: 1.8;
}

@media screen and (max-width: 768px) {
	.home #recruit .top div.text {
		padding-bottom: 25px;
		width: 80%;
		margin: auto;
		text-align: left;
	}
}

.home #recruit .top div.text p span {
	display: block;
}

@media screen and (max-width: 768px) {
	.home #recruit .top div.text p span {
		display: inline;
	}
}

.home #recruit .top .img-box {
	padding-top: 34.539%;
	background-image: url("img/index/recruit00.jpg");
	background-position: 50% 50%;
	background-size: cover;
	z-index: -1;
}

@media screen and (min-width: 768px) {
	.home #recruit .top .img-box {
		padding-top: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: calc(100% + 2px);
		height: calc(100% + 2px);
		z-index: -1;
	}
}

.home #recruit .flex-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.home #recruit .flex-content .item {
	position: relative;
	overflow: hidden;
	width: calc(100% / 2);
}

.home #recruit .flex-content .item a {
	display: block;
	padding: 140px 0 100px;
	color: #fff;
}

@media screen and (max-width: 1100px) {
	.home #recruit .flex-content .item a {
		padding: 65px 0 45px;
	}
}

@media screen and (max-width: 640px) {
	.home #recruit .flex-content .item a {
		padding: 48px 0 20px;
	}
}

.home #recruit .flex-content .item a h3 {
	line-height: 1;
	font-size: 2.4rem;
	margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
	.home #recruit .flex-content .item a h3 {
		font-size: 1.4rem;
		margin-bottom: 5px;
	}
}

.home #recruit .flex-content .item .img-box {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	z-index: -1;
	background-position: 50% 50%;
	background-size: cover;
	-webkit-transition: -webkit-transform 480ms;
	transition: -webkit-transform 480ms;
	transition: transform 480ms;
	transition: transform 480ms, -webkit-transform 480ms;
}

.home #recruit .flex-content .item:nth-of-type(1) .img-box {
	background-image: url("img/index/recruit01.jpg");
}

.home #recruit .flex-content .item:nth-of-type(2) .img-box {
	background-image: url("img/index/recruit02.jpg");
}

.home #recruit .flex-content .item:before {
	position: absolute;
	content: '';
	width: 0%;
	height: 5px;
	bottom: 0;
	left: 0;
	background: #007739;
	z-index: 1;
	-webkit-transition: 480ms cubic-bezier(0.23, 1, 0.32, 1);
	transition: 480ms cubic-bezier(0.23, 1, 0.32, 1);
}

.home #recruit .flex-content .item:hover .img-box {
	-webkit-transform: translate(-50%, -50%) scale(1.1);
	transform: translate(-50%, -50%) scale(1.1);
}

.home #recruit .flex-content .item:hover:before {
	width: 100%;
}

/*! PAGE::ABOUT
========================================================================== */
/*! COMMON */
.about .flex-row {
	text-align: left;
	margin-bottom: 80px;
}

@media screen and (max-width: 800px) {
	.about .flex-row {
		margin-bottom: 40px;
	}
}

.about .flex-row .item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto 80px;
}

@media screen and (max-width: 800px) {
	.about .flex-row .item {
		margin: 0 auto 40px;
	}
}

.about .flex-row .item:nth-child(odd) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.about .flex-row .item:nth-child(odd) .text-box {
	padding-right: 50px;
}

@media screen and (max-width: 800px) {
	.about .flex-row .item:nth-child(odd) .text-box {
		padding-right: 5vw;
	}
}

.about .flex-row .item:nth-child(even) .text-box {
	padding-left: 50px;
}

@media screen and (max-width: 800px) {
	.about .flex-row .item:nth-child(even) .text-box {
		padding-left: 5vw;
	}
}

.about .flex-row .item .img-box {
	width: 50%;
	background-position: 50% 50%;
	background-size: cover;
}

@media screen and (max-width: 1100px) {
	.about .flex-row .item .img-box {
		width: 40%;
	}
}

@media screen and (max-width: 800px) {
	.about .flex-row .item .img-box {
		padding-top: 45%;
		width: 100%;
	}
}

.about .flex-row .item .text-box {
	width: 50%;
	padding: 40px 0 60px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 1100px) {
	.about .flex-row .item .text-box {
		width: 60%;
	}
}

@media screen and (max-width: 800px) {
	.about .flex-row .item .text-box {
		width: 100%;
		padding: 20px 5vw 0;
	}
}

.about .flex-row .item .text-box h3.title {
	color: #007739;
	font-size: 2.4rem;
	margin-bottom: 30px;
	line-height: 1.7;
}

@media screen and (max-width: 800px) {
	.about .flex-row .item .text-box h3.title {
		font-size: 2rem;
		margin-bottom: 15px;
	}
}

.about .flex-row .item .text-box ul.list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.about .flex-row .item .text-box ul.list li {
	padding-bottom: 10px;
	padding-left: 30px;
	position: relative;
}

.about .flex-row .item .text-box ul.list li:before {
	content: '';
	background: #999999;
	width: 12px;
	height: 12px;
	display: block;
	position: absolute;
	top: 0.9rem;
	left: 0px;
}

.about .flex-col {
	text-align: left;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto 80px;
}

@media screen and (max-width: 900px) {
	.about .flex-col {
		margin: 0 auto 40px;
	}
}

.about .flex-col .item {
	width: calc((100% - 30px)/3);
}

@media screen and (max-width: 900px) {
	.about .flex-col .item {
		width: 100%;
	}

	.about .flex-col .item:not(:last-of-type) {
		margin-bottom: 40px;
	}
}

.about .flex-col .item .img-box {
	padding-top: 56.410%;
	margin-bottom: 30px;
	background-position: 50% 50%;
	background-size: cover;
}

@media screen and (max-width: 900px) {
	.about .flex-col .item .img-box {
		padding-top: 30%;
		margin-bottom: 20px;
	}
}

.about .flex-col .item .text-box {
	padding: 0 25px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 900px) {
	.about .flex-col .item .text-box {
		padding: 0 5vw;
	}
}

.about .flex-col .item .text-box h3.title {
	color: #007739;
	font-size: 2.4rem;
	margin-bottom: 30px;
	line-height: 1.7;
}

@media screen and (max-width: 900px) {
	.about .flex-col .item .text-box h3.title {
		font-size: 2rem;
		margin-bottom: 15px;
	}
}

.about .main-img {
	margin-bottom: 100px;
	position: relative;
}

@media screen and (max-width: 768px) {
	.about .main-img {
		margin-bottom: 50px;
	}
}

.about .main-img:before {
	content: '';
	width: 1px;
	height: 100px;
	background: #000;
	display: block;
	position: absolute;
	bottom: -50px;
	left: 50%;
}

@media screen and (max-width: 768px) {
	.about .main-img:before {
		height: 50px;
		bottom: -25px;
	}
}

.about p.info {
	/*font-size: 2.4rem;
    font-weight: bold;*/
	margin-bottom: 55px;
	letter-spacing: 2px;
}

@media screen and (max-width: 768px) {
	.about p.info {
		text-align: left;
		font-size: 2rem;
		line-height: 1.6;
	}
}

/*! INTRODUCTION */
.about #introduction {
	text-align: center;
	width: 80%;
	margin: auto;
	margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
	.about #introduction {
		text-align: left;
		margin-bottom: 80px;
	}
}

/*! SPONGE */
.about #sponge {
	margin: 0 auto;
	max-width: 1200px;
	width: 90%;
	text-align: center;
	margin-bottom: 200px;
}

@media screen and (max-width: 768px) {
	.about #sponge {
		margin-bottom: 80px;
	}
}

.about #sponge .sponge-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media screen and (max-width: 1050px) {
	.about #sponge .sponge-link {
		width: 90%;
		margin: auto;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

.about #sponge .sponge-link .item {
	width: calc((100% - 30px)/3);
}

.about #sponge .sponge-link .item.op_small {
	font-size: 14px;
}

@media screen and (max-width: 500px) {
	.about #sponge .sponge-link .item.op_small {
		font-size: 12px;
	}
}

@media screen and (max-width: 1050px) {
	.about #sponge .sponge-link .item {
		width: 90%;
	}

	.about #sponge .sponge-link .item:nth-of-type(1), .about #sponge .sponge-link .item:nth-of-type(2) {
		margin-bottom: 15px;
	}
}

.about #sponge .sponge-link .item.op_small a .right-arrow {
	padding: 25px 20px 21px;
	white-space: nowrap;
}

@media screen and (max-width: 768px) {
	.about #sponge .sponge-link .item.op_small a .right-arrow {
		padding: 22px 13px 19px;
	}
}

/*! RUBBER */
.about #rubber {
	margin: 0 auto;
	max-width: 1200px;
	width: 90%;
	text-align: center;
	margin-bottom: 200px;
}

@media screen and (max-width: 768px) {
	.about #rubber {
		margin-bottom: 100px;
	}
}

.about #rubber .rubber-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	max-width: 1200px;
	width: 90%;
}

.about #rubber .rubber-link .item {
	width: calc((100% - 30px)/3);
}

@media screen and (max-width: 1050px) {
	.about #rubber .rubber-link .item {
		width: 90%;
	}
}

/*! PLASTIC */
.about #plastic {
	margin: 0 auto;
	max-width: 1200px;
	width: 90%;
	text-align: center;
	margin-bottom: 200px;
}

@media screen and (max-width: 768px) {
	.about #plastic {
		margin-bottom: 100px;
	}
}

.about #plastic .plastic-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	max-width: 1200px;
	width: 90%;
}

.about #plastic .plastic-link .item {
	width: calc((100% - 30px)/3);
}

@media screen and (max-width: 1050px) {
	.about #plastic .plastic-link .item {
		width: 90%;
	}
}

/*! COMMISSIONED */
.about #commissioned {
	margin: 0 auto;
	max-width: 1200px;
	width: 90%;
	text-align: center;
	margin-bottom: 200px;
}

@media screen and (max-width: 768px) {
	.about #commissioned {
		margin-bottom: 100px;
	}
}

.about #commissioned .flex-row .item:nth-child(odd) .text-box {
	padding-bottom: 210px;
}

@media screen and (max-width: 900px) {
	.about #commissioned .flex-row .item:nth-child(odd) .text-box {
		padding-bottom: 0;
	}
}

.about #commissioned .commissioned-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	max-width: 1200px;
	width: 90%;
}

.about #commissioned .commissioned-link .item {
	width: calc((100% - 30px)/3);
}

@media screen and (max-width: 1050px) {
	.about #commissioned .commissioned-link .item {
		width: 90%;
	}
}

/*! PAGE::COMPANY
========================================================================== */
/*! COMMON */
.company .table {
	max-width: 1050px;
	width: 90%;
	margin: auto;
}

.company .table .row {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	border-bottom: 1px solid #cccccc;
	padding: 35px 0;
}

@media screen and (max-width: 768px) {
	.company .table .row {
		padding: 30px 0;
	}
}

.company .table .row:after {
	content: '';
	width: 200px;
	height: 1px;
	background: #292929;
	display: block;
	position: absolute;
	bottom: -1px;
	left: 0;
}

@media screen and (max-width: 768px) {
	.company .table .row:after {
		width: 100px;
	}
}

.company .table .row:first-of-type {
	border-top: 1px solid #cccccc;
}

.company .table .row:first-of-type:before {
	content: '';
	width: 200px;
	height: 1px;
	background: #292929;
	display: block;
	position: absolute;
	top: -1px;
	left: 0;
}

@media screen and (max-width: 768px) {
	.company .table .row:first-of-type:before {
		width: 100px;
	}
}

.company .table .row .col {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.company .table .row .col.th {
	width: 200px;
	padding-left: 25px;
	color: #999999;
}

@media screen and (max-width: 1000px) {
	.company .table .row .col.th {
		padding-left: 15px;
	}
}

@media screen and (max-width: 768px) {
	.company .table .row .col.th {
		width: 100px;
	}
}

.company .table .row .col.td {
	width: calc(100% - 200px);
	padding-left: 100px;
}

@media screen and (max-width: 1000px) {
	.company .table .row .col.td {
		padding-left: 50px;
	}
}

@media screen and (max-width: 768px) {
	.company .table .row .col.td {
		width: calc(100% - 100px);
		padding-left: 15px;
	}
}

.company .table .row.wide:after {
	width: 250px;
}

@media screen and (max-width: 768px) {
	.company .table .row.wide:after {
		width: 36.2%;
	}
}

.company .table .row.wide:first-of-type:before {
	width: 250px;
}

@media screen and (max-width: 768px) {
	.company .table .row.wide:first-of-type:before {
		width: 36.2%;
	}
}

.company .table .row.wide .col.th {
	width: 250px;
	color: #1d1d1d;
	padding-left: 5px;
}

@media screen and (max-width: 768px) {
	.company .table .row.wide .col.th {
		width: 100%;
		padding-left: 15px;
		margin-bottom: 20px;
	}
}

.company .table .row.wide .col.th span {
	font-size: 1.1rem;
}

.company .table .row.wide .col.td {
	width: calc(100% - 250px);
	padding-left: 50px;
}

@media screen and (max-width: 768px) {
	.company .table .row.wide .col.td {
		width: 100%;
		padding-left: 15px;
	}
}

.company .flex-row {
	text-align: left;
	margin-bottom: 80px;
}

@media screen and (max-width: 800px) {
	.company .flex-row {
		margin-bottom: 40px;
	}
}

.company .flex-row .item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
}

@media screen and (max-width: 800px) {
	.company .flex-row .item {
		margin: 0 auto 40px;
	}
}

.company .flex-row .item:nth-child(odd) .text-box {
	padding-left: 60px;
}

@media screen and (max-width: 800px) {
	.company .flex-row .item:nth-child(odd) .text-box {
		padding-left: 5vw;
	}
}

.company .flex-row .item:nth-child(even) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.company .flex-row .item:nth-child(even) .text-box {
	padding-right: 60px;
}

@media screen and (max-width: 800px) {
	.company .flex-row .item:nth-child(even) .text-box {
		padding-right: 5vw;
	}
}

.company .flex-row .item .img-box {
	width: 50%;
	background-position: 50% 50%;
	background-size: cover;
	min-height: 400px;
}

@media screen and (max-width: 1100px) {
	.company .flex-row .item .img-box {
		width: 40%;
	}
}

@media screen and (max-width: 800px) {
	.company .flex-row .item .img-box {
		padding-top: 30%;
		width: 100%;
		min-height: inherit;
	}
}

.company .flex-row .item .text-box {
	max-width: 525px;
	width: 90%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 1100px) {
	.company .flex-row .item .text-box {
		width: 50%;
	}
}

@media screen and (max-width: 800px) {
	.company .flex-row .item .text-box {
		width: 100%;
		padding: 20px 5vw 0;
		max-width: inherit;
	}
}

.company .flex-row .item .text-box h3.title {
	font-size: 2rem;
	margin-bottom: 10px;
	line-height: 1.7;
}

@media screen and (max-width: 800px) {
	.company .flex-row .item .text-box h3.title {
		font-size: 1.8rem;
	}
}

.company .flex-row .item .text-box ul.list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.company .flex-row .item .text-box ul.list li {
	padding-bottom: 10px;
	padding-left: 30px;
	position: relative;
}

.company .flex-row .item .text-box ul.list li:before {
	content: '';
	background: #999999;
	width: 12px;
	height: 12px;
	display: block;
	position: absolute;
	top: 0.9rem;
	left: 0px;
}

/*! PHILOSOPHY */
.company #philosophy {
	color: #1d1d1d;
	margin-bottom: 150px;
}

@media screen and (max-width: 768px) {
	.company #philosophy {
		margin-bottom: 100px;
	}
}

.company #philosophy .wrap {
	position: relative;
	margin: 0 auto;
}

.company #philosophy .wrap .inner {
	margin: auto;
	max-width: 1200px;
	width: 90%;
	overflow: hidden;
	padding: 4vw 0 6.5vw;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

@media screen and (max-width: 768px) {
	.company #philosophy .wrap .inner {
		display: block;
	}
}

.company #philosophy .wrap .inner div.text-box {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 50%;
	line-height: 1.8;
}

@media screen and (max-width: 1250px) {
	.company #philosophy .wrap .inner div.text-box {
		width: 65%;
	}
}

@media screen and (max-width: 768px) {
	.company #philosophy .wrap .inner div.text-box {
		padding-bottom: 25px;
		width: 100%;
		margin: auto;
		text-align: left;
		padding: 5vw;
	}
}

.company #philosophy .wrap .inner div.text-box h2.title {
	font-size: 3.6rem;
	margin-bottom: 30px;
	line-height: 1;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: 2px;
}

@media screen and (max-width: 1250px) {
	.company #philosophy .wrap .inner div.text-box h2.title {
		font-size: 3rem;
	}
}

@media screen and (max-width: 768px) {
	.company #philosophy .wrap .inner div.text-box h2.title {
		font-size: 2rem;
	}
}

.company #philosophy .wrap .inner div.text-box div.text {
	margin-bottom: 40px;
}

.company #philosophy .wrap .inner div.text-box div.text span {
	display: block;
}

@media screen and (max-width: 768px) {
	.company #philosophy .wrap .inner div.text-box div.text span {
		display: inline;
	}
}

.company #philosophy .wrap .inner div.text-box a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.company #philosophy .wrap .inner div.text-box a .right-arrow {
	width: 59%;
}

@media screen and (max-width: 768px) {
	.company #philosophy .wrap .inner div.text-box a .right-arrow {
		width: 80%;
		margin: auto;
	}
}

.company #philosophy .wrap div.img-box {
	padding-top: 34.539%;
	background-image: url("img/company/philosophy.jpg");
	background-position: 50% 50%;
	background-size: cover;
	z-index: -1;
}

@media screen and (min-width: 768px) {
	.company #philosophy .wrap div.img-box {
		padding-top: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: calc(100% + 2px);
		height: calc(100% + 2px);
		z-index: -1;
	}
}

/*! HISTORY */
.company #history {
	margin-bottom: 150px;
}

@media screen and (max-width: 768px) {
	.company #history {
		margin-bottom: 100px;
	}
}

.company #history .wrap {
	margin: 0 auto 100px;
	max-width: 1050px;
	width: 90%;
	padding: 63px 0;
	position: relative;
}

.company #history .wrap:before, .company #history .wrap:after {
	content: '';
	background-size: auto auto;
	background-color: white;
	background-image: repeating-linear-gradient(0deg, transparent, transparent 9px, #00aa51 9px, #00aa51 12px);
	display: block;
	height: 63px;
	width: 3px;
	position: absolute;
}

.company #history .wrap:before {
	top: -1px;
	left: 90px;
}

@media screen and (max-width: 768px) {
	.company #history .wrap:before {
		left: 55px;
	}
}

.company #history .wrap:after {
	bottom: 0px;
	left: 90px;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

@media screen and (max-width: 768px) {
	.company #history .wrap:after {
		left: 55px;
	}
}

.company #history .wrap ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.company #history .wrap ul li {
	padding: 40px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
	.company #history .wrap ul li {
		padding: 15px 0;
	}
}

.company #history .wrap ul li:before, .company #history .wrap ul li:after {
	content: '';
	background: #007739;
	display: block;
	position: absolute;
}

.company #history .wrap ul li:before {
	height: calc(100% + 2px);
	width: 3px;
	top: -1px;
	left: 90px;
}

@media screen and (max-width: 768px) {
	.company #history .wrap ul li:before {
		left: 55px;
	}
}

.company #history .wrap ul li:after {
	height: 9px;
	width: 9px;
	top: 51px;
	left: 87px;
}

@media screen and (max-width: 768px) {
	.company #history .wrap ul li:after {
		top: 22px;
		left: 52px;
	}
}

.company #history .wrap ul li:not(:last-of-type) {
	border-bottom: 1px solid #e8e8e8;
}

.company #history .wrap ul li div.date {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 200px;
}

@media screen and (max-width: 768px) {
	.company #history .wrap ul li div.date {
		width: 110px;
		margin-bottom: 5px;
		-webkit-box-align: baseline;
		-ms-flex-align: baseline;
		align-items: baseline;
	}
}

.company #history .wrap ul li div.date span.year {
	font-size: 2rem;
	font-weight: bold;
	width: 130px;
	line-height: 1.4;
}

@media screen and (max-width: 768px) {
	.company #history .wrap ul li div.date span.year {
		font-size: 1.6rem;
		width: 70px;
		line-height: 1;
	}
}

.company #history .wrap ul li div.date span.month {
	width: 40px;
}

.company #history .wrap ul li div.text {
	width: calc(100% - 200px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 768px) {
	.company #history .wrap ul li div.text {
		width: calc(100% - 110px);
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

@media screen and (max-width: 768px) {
	.company #history .wrap ul li div.text .imgBox {
		padding-top: 10px;
	}
}

.company #history .wrap ul li div.text .imgBox p {
	padding-top: 5px;
	font-size: 1.2rem;
}

/*! PROFILE */
.company #profile {
	margin-bottom: 150px;
}

@media screen and (max-width: 768px) {
	.company #profile {
		margin-bottom: 100px;
	}
}

.company #profile .table {
	margin-bottom: 100px;
}

.company #profile .flex-row {
	margin-bottom: 150px;
}

.company #profile .flex-row .button-box {
	margin-top: 45px;
	position: relative;
	display: inline-block;
}

.company #profile .flex-row .button-box #outlink {
	fill: #007739;
	display: inline-block;
	width: 19px;
	height: 16px;
	position: absolute;
	top: 3px;
	right: -26px;
}

/*! OVERSEAS */
.company #overseas {
	margin-bottom: 150px;
}

@media screen and (max-width: 768px) {
	.company #overseas {
		margin-bottom: 100px;
	}
}

.company #overseas .table {
	margin-bottom: 100px;
}

.company #overseas a {
	display: inline-block;
}

/*! EQUIPMENT */
.company #equipment {
	padding: 60px 0 70px;
	margin-bottom: 150px;
	background: #e8e8e8;
}

@media screen and (max-width: 768px) {
	.company #equipment {
		margin-bottom: 100px;
	}
}

.company #equipment .table .td {
	font-size: 1.4rem;
}

/*! PAGE::PHILOSOPHY
========================================================================== */
/*! COMMON */
/*! MESSAGE */
.philosophy #message {
	max-width: 1200px;
	width: 80%;
	margin: auto;
	margin-bottom: 150px;
}

@media screen and (max-width: 800px) {
	.philosophy #message {
		margin-bottom: 100px;
	}
}

.philosophy #message .wrap {
	padding-top: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
	.philosophy #message .wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

.philosophy #message .wrap .text-box {
	width: calc(100% - 425px);
}

@media screen and (max-width: 1200px) {
	.philosophy #message .wrap .text-box {
		width: calc(100% - 330px);
	}
}

@media screen and (max-width: 768px) {
	.philosophy #message .wrap .text-box {
		width: 100%;
		margin-bottom: 30px;
	}
}

.philosophy #message .wrap .text-box h3.title {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	.philosophy #message .wrap .text-box h3.title {
		font-size: 2rem;
		font-weight: bold;
		line-height: 1.8;
		margin-bottom: 25px;
	}
}

.philosophy #message .wrap .text-box .text {
	padding-right: 4%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	line-height: 1.9;
}

@media screen and (max-width: 1200px) {
	.philosophy #message .wrap .text-box .text {
		padding-right: 0;
	}
}

.philosophy #message .wrap .img-box {
	width: 375px;
}

@media screen and (max-width: 1200px) {
	.philosophy #message .wrap .img-box {
		width: 300px;
	}
}

@media screen and (max-width: 768px) {
	.philosophy #message .wrap .img-box {
		max-width: 300px;
		width: 100%;
		margin: auto;
	}
}

.philosophy #message .wrap .img-box p {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 15px;
}

.philosophy #message .wrap .img-box p span {
	word-break: keep-all;
}

.philosophy #message .wrap .img-box p span img {
	width: 208px;
	height: 56px;
}

@media screen and (max-width: 1200px) {
	.philosophy #message .wrap .img-box p span img {
		width: 133px;
		height: 36px;
	}
}

@media screen and (max-width: 768px) {
	.philosophy #message .wrap .img-box p span img {
		width: 147px;
		height: 39px;
	}
}

.philosophy #message .wrap .img-box p span.post {
	padding-right: 20px;
}

/*! POLICY */
.philosophy #policy {
	max-width: 1350px;
	width: 100%;
	margin: auto;
	margin-bottom: 150px;
}

@media screen and (max-width: 800px) {
	.philosophy #policy {
		margin-bottom: 100px;
	}
}

.philosophy #policy .wrap .text-box {
	background: #e8e8e8;
	padding: 40px 50px;
}

@media screen and (max-width: 768px) {
	.philosophy #policy .wrap .text-box {
		padding: 5vw;
	}
}

.philosophy #policy .wrap .text-box h3.title {
	color: #007739;
	font-size: 2.4rem;
	font-weight: bold;
	border-bottom: 1px solid #007739;
	margin-bottom: 20px;
	padding-bottom: 10px;
}

@media screen and (max-width: 768px) {
	.philosophy #policy .wrap .text-box h3.title {
		font-size: 1.8rem;
	}
}

.philosophy #policy .wrap .text-box .text {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	line-height: 1.9;
}

.philosophy #policy .wrap .img-box {
	width: 375px;
}

.philosophy #policy .wrap .content {
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.philosophy #policy .wrap .content:nth-of-type(1) {
	width: 850px;
	max-width: 85%;
	margin-left: 11.1%;
	z-index: 6;
}

@media screen and (max-width: 768px) {
	.philosophy #policy .wrap .content:nth-of-type(1) {
		width: 90%;
		max-width: 90%;
		margin-left: 5%;
	}
}

.philosophy #policy .wrap .content:nth-of-type(2) {
	width: 700px;
	max-width: 60%;
	margin-top: -50px;
	margin-left: 42.7%;
	z-index: 5;
}

@media screen and (max-width: 768px) {
	.philosophy #policy .wrap .content:nth-of-type(2) {
		width: 100%;
		max-width: 100%;
		margin-top: 20px;
		margin-left: 0;
	}
}

.philosophy #policy .wrap .content:nth-of-type(3) {
	width: 750px;
	max-width: 70%;
	margin-top: -170px;
	margin-left: 5.6%;
	z-index: 6;
}

@media screen and (max-width: 768px) {
	.philosophy #policy .wrap .content:nth-of-type(3) {
		width: 100%;
		max-width: 100%;
		margin-top: 20px;
		margin-left: 0%;
	}
}

.philosophy #policy .wrap .content:nth-of-type(4) {
	width: 750px;
	max-width: 80%;
	margin-top: -190px;
	margin-left: 33.3%;
	z-index: 7;
}

@media screen and (max-width: 1200px) {
	.philosophy #policy .wrap .content:nth-of-type(4) {
		margin-left: 20%;
	}
}

@media screen and (max-width: 768px) {
	.philosophy #policy .wrap .content:nth-of-type(4) {
		width: 90%;
		max-width: 90%;
		margin-top: 20px;
		margin-left: 5%;
	}
}

.philosophy #policy .wrap .content:nth-of-type(5) {
	width: 600px;
	max-width: 80%;
	margin-top: -15px;
	margin-left: 50.0%;
	z-index: 5;
}

@media screen and (max-width: 768px) {
	.philosophy #policy .wrap .content:nth-of-type(5) {
		width: 100%;
		max-width: 100%;
		margin-top: 20px;
		margin-left: 0%;
	}
}

.philosophy #policy .wrap .content:nth-of-type(6) {
	width: 600px;
	max-width: 80%;
	margin-top: -345px;
	margin-left: 11.2%;
	z-index: 5;
}

@media screen and (max-width: 1200px) {
	.philosophy #policy .wrap .content:nth-of-type(6) {
		margin-top: -205px;
	}
}

@media screen and (max-width: 768px) {
	.philosophy #policy .wrap .content:nth-of-type(6) {
		width: 90%;
		max-width: 90%;
		margin-top: 20px;
		margin-left: 5%;
	}
}

.philosophy #policy .wrap .content:nth-of-type(7) {
	width: 850px;
	max-width: 80%;
	margin-top: 150px;
	margin-left: 26.1%;
	z-index: 6;
}

@media screen and (max-width: 1200px) {
	.philosophy #policy .wrap .content:nth-of-type(7) {
		margin-top: 50px;
		margin-left: 20%;
	}
}

@media screen and (max-width: 768px) {
	.philosophy #policy .wrap .content:nth-of-type(7) {
		width: 90%;
		max-width: 90%;
		margin-left: 5%;
	}
}

.philosophy #policy .wrap .content:nth-of-type(8) {
	width: 100%;
	margin-top: -90px;
	margin-left: 0;
	z-index: 5;
}

@media screen and (max-width: 1200px) {
	.philosophy #policy .wrap .content:nth-of-type(8) {
		margin-top: -50px;
	}
}

@media screen and (max-width: 768px) {
	.philosophy #policy .wrap .content:nth-of-type(8) {
		margin-top: 20px;
	}
}

/*! PAGE::APPROACH
========================================================================== */
/*! INTRODUCTION */
.approach #introduction {
	text-align: center;
	width: 80%;
	margin: auto;
	margin-bottom: 65px;
}

@media screen and (max-width: 768px) {
	.approach #introduction {
		text-align: left;
		margin-bottom: 40px;
	}
}

/*! INTRODUCTION */
.approach #content {
	max-width: 1200px;
	width: 100%;
	margin: auto;
	margin-bottom: 30px;
}

.approach #content .flex-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.approach #content .flex-row .item {
	width: 50%;
	margin-bottom: 120px;
}

@media screen and (max-width: 768px) {
	.approach #content .flex-row .item {
		width: 100%;
		margin-bottom: 60px;
	}
}

.approach #content .flex-row .item .img-box {
	background-position: 50% 50%;
	background-size: cover;
	padding-top: 58.333%;
}

.approach #content .flex-row .item .text-box {
	padding: 30px 30px 0;
}

@media screen and (max-width: 768px) {
	.approach #content .flex-row .item .text-box {
		padding: 15px 5vw 0;
	}
}

.approach #content .flex-row .item .text-box h3.title {
	font-size: 2rem;
	color: #007739;
	margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
	.approach #content .flex-row .item .text-box h3.title {
		margin-bottom: 15px;
	}
}

/*! PAGE::REASON
========================================================================== */
/*! INTRODUCTION */
.reason #introduction {
	text-align: center;
	width: 80%;
	margin: auto;
	margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
	.reason #introduction {
		text-align: left;
		margin-bottom: 40px;
	}
}

.reason #introduction p {
	margin-bottom: 40px;
}

.reason #introduction .img-box {
	max-width: 750px;
	width: 100%;
	margin: auto;
}

/*! SPACER IMAGE */
#spacerImg {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 90px;
}

#spacerImg .item {
	padding-top: calc(44% / 3);
	width: calc(100% / 3);
	background-position: 50% 50%;
	background-size: cover;
}

/*! THREE POINT */
#threepoint {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 155px;
}

#threepoint .point:not(:last-of-type) {
	margin-bottom: 70px;
}

#threepoint .point h3.title {
	padding: 40px 0;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	line-height: 1;
}

@media screen and (max-width: 768px) {
	#threepoint .point h3.title {
		padding: 20px 0;
	}
}

#threepoint .point h4.subtitle {
	cursor: pointer;
	position: relative;
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	padding: 15px 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 800px) {
	#threepoint .point h4.subtitle {
		text-align: left;
	}
}

@media screen and (max-width: 768px) {
	#threepoint .point h4.subtitle {
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 640px) {
	#threepoint .point h4.subtitle {
		padding-right: 110px;
	}
}

#threepoint .point h4.subtitle br {
	display: none;
}

@media screen and (max-width: 900px) {
	#threepoint .point h4.subtitle br {
		display: inline;
	}
}

#threepoint .point h4.subtitle div.arrow-box {
	position: absolute;
	top: 50%;
	right: 6%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	padding-right: 40px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 900px) {
	#threepoint .point h4.subtitle div.arrow-box {
		right: 2%;
	}
}

#threepoint .point h4.subtitle div.arrow-box:before, #threepoint .point h4.subtitle div.arrow-box:after {
	position: absolute;
	content: '';
	top: 50%;
	background: #007739;
	-webkit-transition: all 300ms ease;
	transition: all 300ms ease;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

#threepoint .point h4.subtitle div.arrow-box:before {
	width: 16px;
	height: 2px;
	right: 0;
}

#threepoint .point h4.subtitle div.arrow-box:after {
	width: 2px;
	height: 16px;
	right: 7px;
}

#threepoint .point h4.subtitle div.arrow-box span {
	padding-top: 2px;
	display: inline-block;
	color: #007739;
	font-size: 1.4rem;
}

#threepoint .point h4.subtitle.active .arrow-box:after {
	height: 0px;
}

#threepoint .point h4.subtitle:not(.active) span.more {
	display: block;
}

#threepoint .point h4.subtitle:not(.active) span.close {
	display: none;
}

#threepoint .point h4.subtitle.active span.more {
	display: none;
}

#threepoint .point h4.subtitle.active span.close {
	display: block;
}

#threepoint .point .peekaboo {
	display: none;
	padding: 55px 75px;
	background: #e8e8e8;
	font-size: 1.6rem;
	background-position: 50% 50%;
	background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
	#threepoint .point .peekaboo {
		padding: 5vw;
		font-size: 1.4rem;
		background-size: contain;
	}
}

#threepoint .point .peekaboo .item:not(:last-of-type) {
	margin-bottom: 70px;
}

#threepoint .point .peekaboo .item h5 {
	font-size: 2rem;
	font-weight: bold;
	color: #007739;
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
	#threepoint .point .peekaboo .item h5 {
		font-size: 1.6rem;
	}
}

#threepoint .point .peekaboo .item h5:after {
	content: '';
	width: 25px;
	height: 1px;
	background: #007739;
	position: absolute;
	left: 0;
	bottom: 0;
}

/*! PAGE::ACHIEVEMENT
========================================================================== */
/*! INTRODUCTION */
.achievement #introduction {
	text-align: center;
	width: 80%;
	margin: auto;
	margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
	.achievement #introduction {
		text-align: left;
		margin-bottom: 50px;
	}
}

/*! CONTENT */
.achievement .content-wrap {
	margin-bottom: 100px;
}

.achievement .content-wrap .title-box {
	background: #e8e8e8;
}

.achievement .content-wrap .title-box .inner {
	width: 90%;
	max-width: 1050px;
	margin: auto;
	padding: 90px 0 200px;
}

@media screen and (max-width: 840px) {
	.achievement .content-wrap .title-box .inner {
		padding: 45px 0 160px;
	}
}

.achievement .content-wrap .postlist {
	width: 90%;
	max-width: 1200px;
	margin: auto;
	margin-bottom: 70px;
	margin-top: -135px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

@media screen and (max-width: 840px) {
	.achievement .content-wrap .postlist {
		margin-bottom: 50px;
		margin-top: -130px;
	}
}

.achievement .content-wrap .postlist .post {
	width: calc((100% - 31px)/3);
	margin-right: 15px;
}

.achievement .content-wrap .postlist .post:last-child {
	margin-right: 0;
}

@media screen and (max-width: 840px) {
	.achievement .content-wrap .postlist .post {
		width: 100%;
		margin-right: 0;
	}

	.achievement .content-wrap .postlist .post:not(:last-of-type) {
		margin-bottom: 40px;
	}
}

.achievement .content-wrap .postlist .post .img-box {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.achievement .content-wrap .postlist .post .img-box:before {
	content: "";
	padding-top: 62.85%;
	display: block;
}

.achievement .content-wrap .postlist .post .text-box {
	padding: 20px 25px 0;
}

.achievement .content-wrap .postlist .post .text-box .title {
	margin-bottom: 20px;
}

.achievement .content-wrap .postlist .post .text-box .title h3.postTitle {
	font-size: 1.6rem;
	font-weight: bold;
}

.achievement .content-wrap .postlist .post .text-box .excerpt {
	margin-bottom: 20px;
}

.achievement .content-wrap .postlist .post .text-box .more-arrow {
	text-align: right;
	color: #007739;
}

@media screen and (max-width: 840px) {
	.achievement .content-wrap .postlist .post .text-box .more-arrow span.more-text {
		display: inline-block;
	}
}

.achievement .content-wrap .postlist .post .text-box .more-arrow .arrow-box svg {
	fill: #007739;
}

.achievement .content-wrap .link-box {
	max-width: 200px;
	width: 70%;
	margin: auto;
	margin-bottom: 100px;
}

/*! PAGE::TECHNOLOGY
========================================================================== */
/*! CONTENT */
.technology #content {
	width: 100%;
	margin: auto;
	margin-bottom: 100px;
}

.technology #content .text-box_cover {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 90px 0;
	width: 100%;
}

@media screen and (max-width: 768px) {
	.technology #content .text-box_cover {
		padding: 0px 0;
	}
}

.technology #content a.content-box {
	position: relative;
	overflow: hidden;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 1200px) {
	.technology #content a.content-box {
		padding-left: 17vw;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 768px) {
	.technology #content a.content-box {
		min-height: auto;
		padding: 195px 0 45px;
	}
}

.technology #content a.content-box .img-box {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	z-index: -1;
	background-position: 50% 50%;
	background-size: cover;
	-webkit-transition: -webkit-transform 480ms;
	transition: -webkit-transform 480ms;
	transition: transform 480ms;
	transition: transform 480ms, -webkit-transform 480ms;
}

.technology #content a.content-box:before {
	position: absolute;
	content: '';
	width: 0%;
	height: 5px;
	bottom: 0;
	left: 0;
	background: #007739;
	z-index: 1;
	-webkit-transition: 480ms cubic-bezier(0.23, 1, 0.32, 1);
	transition: 480ms cubic-bezier(0.23, 1, 0.32, 1);
}

.technology #content a.content-box:hover .img-box {
	-webkit-transform: translate(-50%, -50%) scale(1.1);
	transform: translate(-50%, -50%) scale(1.1);
}

.technology #content a.content-box:hover:before {
	width: 100%;
}

.technology #content a.content-box h3.title {
	font-size: 3rem;
	line-height: 1;
	position: absolute;
	top: 70px;
	left: 5%;
}

@media screen and (max-width: 1200px) {
	.technology #content a.content-box h3.title {
		left: 3%;
	}
}

@media screen and (max-width: 768px) {
	.technology #content a.content-box h3.title {
		font-size: 2.4rem;
		left: 18%;
		top: 50px;
	}
}

.technology #content a.content-box h3.title:before {
	position: absolute;
	content: '';
	width: 20vw;
	height: 1px;
	top: calc(50% - 1px);
	left: calc(-20vw - 10px);
	background: #fff;
}

.technology #content a.content-box .text-box {
	max-width: 1050px;
	width: 65%;
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 1200px) {
	.technology #content a.content-box .text-box {
		width: 90%;
	}
}

@media screen and (max-width: 768px) {
	.technology #content a.content-box .text-box {
		width: 80%;
	}
}

.technology #content a.content-box .text-box .inner {
	width: 50%;
}

@media screen and (max-width: 1200px) {
	.technology #content a.content-box .text-box .inner {
		width: 60%;
	}
}

@media screen and (max-width: 768px) {
	.technology #content a.content-box .text-box .inner {
		width: 100%;
	}
}

.technology #content a.content-box .text-box .inner h4.title {
	font-size: 2.4rem;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.technology #content a.content-box .text-box .inner h4.title {
		font-size: 2rem;
	}
}

.technology #content a.content-box .text-box .inner .text {
	margin-bottom: 20px;
}

.technology #content a.content-box .text-box .inner .more-arrow {
	line-height: 1;
}

@media screen and (max-width: 768px) {
	.technology #content a.content-box .text-box .inner .more-arrow {
		text-align: right;
	}

	.technology #content a.content-box .text-box .inner .more-arrow span.more-text {
		display: inline-block;
	}
}

.technology #content a.content-box:nth-child(odd) .text-box {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.technology #content a.content-box:nth-child(even) .text-box {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

@media screen and (max-width: 768px) {
	#childs_link li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
}

#childs_link {
	max-width: 1200px;
	width: 90%;
	margin: 0 auto 65px;
	padding: 0;
	list-style: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 768px) {
	#childs_link {
		margin-bottom: 50px;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
}

#childs_link li {
	width: calc(100% / 5);
}

@media screen and (max-width: 768px) {
	#childs_link li {
		width: 100%;
		border-top: 1px solid #ccc;
	}

	#childs_link li:last-child {
		border-bottom: 1px solid #ccc;
	}
}

#childs_link li:not(:first-of-type) {
	border-left: 1px solid #ccc;
}

@media screen and (max-width: 768px) {
	#childs_link li:not(:first-of-type) {
		border-left: 0;
	}
}

#childs_link li a {
	padding: 15px 0;
	position: relative;
	text-align: center;
	-webkit-transition: color 240ms;
	transition: color 240ms;
}

@media screen and (max-width: 768px) {
	#childs_link li a {
		padding: 15px 20px;
	}
}

#childs_link li a span {
	line-height: 1;
}

#childs_link li a span.eng-font {
	text-transform: uppercase;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-weight: bold;
	font-size: 1.3rem;
	margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
	#childs_link li a span.eng-font {
		margin-bottom: 0;
		width: 50%;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
}

#childs_link li a span.eng-font:before {
	content: '';
	height: 1px;
	width: 33px;
	background: #000;
	display: block;
	margin-bottom: 2px;
	margin-right: 10px;
	-webkit-transition: background 240ms;
	transition: background 240ms;
}

#childs_link li a span.title {
	font-size: 2rem;
}

#childs_link li a:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -10px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: transparent transparent #007739 transparent;
	border-width: 0 4px 9px 4px;
	opacity: 0;
	-webkit-transition: opacity 240ms;
	transition: opacity 240ms;
}

@media screen and (min-width: 769px) {
	#childs_link li a:hover {
		color: #007739;
	}

	#childs_link li a:hover:after {
		opacity: 1;
	}

	#childs_link li a:hover span.eng-font:before {
		background: #007739;
	}
}

#childs_link li.current a {
	color: #007739;
}

#childs_link li.current a:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -10px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: transparent transparent #007739 transparent;
	border-width: 0 4px 9px 4px;
	opacity: 1;
}

@media screen and (max-width: 768px) {
	#childs_link li.current a:after {
		display: none;
	}
}

#childs_link li.current a span.eng-font:before {
	background: #007739;
}

/*! TECHNOLOGY CHILDS */
#technology_childs .introduction .img-box {
	margin-bottom: 30px;
}

#technology_childs .introduction .img-box img {
	width: 100%;
}

#technology_childs .introduction .text-box {
	max-width: 1050px;
	width: 90%;
	margin: auto;
	margin-bottom: 58px;
}

@media screen and (max-width: 768px) {
	#technology_childs .introduction .text-box {
		margin-bottom: 45px;
	}
}

#technology_childs .table {
	max-width: 1200px;
	width: 90%;
	margin: auto;
	margin-bottom: 70px;
}

#technology_childs .table .row {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	border-bottom: 1px solid #cccccc;
	padding: 30px 0 40px;
}

@media screen and (max-width: 768px) {
	#technology_childs .table .row {
		padding: 15px 0 30px;
	}
}

#technology_childs .table .row:after {
	content: '';
	width: 300px;
	height: 1px;
	background: #292929;
	display: block;
	position: absolute;
	bottom: -1px;
	left: 0;
}

@media screen and (max-width: 768px) {
	#technology_childs .table .row:after {
		width: 29%;
	}
}

#technology_childs .table .row:first-of-type {
	border-top: 1px solid #cccccc;
}

#technology_childs .table .row:first-of-type:before {
	content: '';
	width: 300px;
	height: 1px;
	background: #292929;
	display: block;
	position: absolute;
	top: -1px;
	left: 0;
}

@media screen and (max-width: 768px) {
	#technology_childs .table .row:first-of-type:before {
		width: 29%;
	}
}

#technology_childs .table .row .col {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#technology_childs .table .row .col.th {
	font-size: 2rem;
	font-weight: bold;
	width: 300px;
	padding-left: 25px;
}

@media screen and (max-width: 1000px) {
	#technology_childs .table .row .col.th {
		padding-left: 15px;
	}
}

@media screen and (max-width: 768px) {
	#technology_childs .table .row .col.th {
		font-size: 1.8rem;
		padding-left: 0;
		width: 100%;
		margin-bottom: 10px;
		color: #1d1d1d;
	}
}

#technology_childs .table .row .col.td {
	width: calc(100% - 300px);
	padding-left: 60px;
}

@media screen and (max-width: 1000px) {
	#technology_childs .table .row .col.td {
		padding-left: 30px;
	}
}

@media screen and (max-width: 768px) {
	#technology_childs .table .row .col.td {
		width: 100%;
		padding-left: 0;
	}
}

#technology_childs .link-box {
	max-width: 390px;
	width: 80%;
	margin: auto;
	margin-bottom: 100px;
}

/*! PAGE::FLOW
========================================================================== */
/*! FLOWLIST */
.material #materialList {
	max-width: 1200px;
	width: 95%;
	margin: auto;
	margin-bottom: 100px;
}

.material #materialList .material_wrap:not(:last-of-type) {
	margin-bottom: 140px;
}

@media screen and (max-width: 768px) {
	.material #materialList .material_wrap:not(:last-of-type) {
		margin-bottom: 100px;
	}
}

.material #materialList .material_wrap .content {
	text-align: center;
	margin-bottom: 10px;
	background-position: 50% 50%;
	background-size: cover;
	position: relative;
}

@media screen and (max-width: 768px) {
	.material #materialList .material_wrap .content {
		background-image: none !important;
	}
}

.material #materialList .material_wrap .content .inner {
	max-width: 700px;
	margin: auto;
	padding: 40px 0;
}

@media screen and (max-width: 768px) {
	.material #materialList .material_wrap .content .inner {
		padding-bottom: 0;
	}
}

@media screen and (min-width: 769px) {
	.material #materialList .material_wrap .content .inner .title-box {
		background-image: none !important;
	}
}

@media screen and (max-width: 768px) {
	.material #materialList .material_wrap .content .inner .title-box {
		padding: 30px 0 25px;
		margin-bottom: 15px;
	}
}

.material #materialList .material_wrap .content .inner .title-box h2.material_name {
	text-align: center;
	color: #007739;
	font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
	.material #materialList .material_wrap .content .inner .title-box h2.material_name {
		font-size: 1.8rem;
		line-height: 1;
		margin-bottom: 5px;
	}
}

.material #materialList .material_wrap .content .inner .title-box p.material_name_en {
	color: #007739;
	font-size: 1.6rem;
	margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
	.material #materialList .material_wrap .content .inner .title-box p.material_name_en {
		font-size: 1.4rem;
		margin-bottom: 0;
		line-height: 1;
	}
}

.material #materialList .material_wrap .content .inner p.remarks {
	text-align: left;
	font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
	.material #materialList .material_wrap .content .inner p.remarks {
		width: 92%;
		margin: auto;
		padding: 0 2.5vw;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
}

.material #materialList .material-box {
	width: 92%;
	margin: auto;
	border-bottom: 1px solid #ccc;
}

.material #materialList .material-box div.name-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	cursor: pointer;
	border-top: 1px solid #ccc;
}

.material #materialList .material-box div.name-box:first-of-type {
	border-top: none;
}

.material #materialList .material-box div.name-box h3.title {
	width: calc(100% - 70px);
	font-size: 2rem;
	font-weight: bold;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 20px;
}

@media screen and (max-width: 768px) {
	.material #materialList .material-box div.name-box h3.title {
		font-size: 1.6rem;
		padding: 5vw;
		width: calc(100% - 40px);
	}
}

.material #materialList .material-box div.name-box div.arrow-box {
	width: 70px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
}

@media screen and (max-width: 768px) {
	.material #materialList .material-box div.name-box div.arrow-box {
		width: 40px;
	}
}

.material #materialList .material-box div.name-box div.arrow-box:before, .material #materialList .material-box div.name-box div.arrow-box:after {
	position: absolute;
	content: '';
	top: 50%;
	background: #007739;
	-webkit-transition: all 300ms ease;
	transition: all 300ms ease;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.material #materialList .material-box div.name-box div.arrow-box:before {
	width: 18px;
	height: 2px;
	left: 50%;
}

.material #materialList .material-box div.name-box div.arrow-box:after {
	width: 2px;
	height: 18px;
	left: 50%;
}

.material #materialList .material-box div.name-box.active .arrow-box:after {
	height: 0px;
}

.material #materialList .material-box div.description {
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.material #materialList .material-box div.description div.box {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 20px;
	padding-bottom: 60px;
	width: calc(100% - 70px);
}

@media screen and (max-width: 768px) {
	.material #materialList .material-box div.description div.box {
		width: 100%;
		padding: 15px;
		padding-bottom: 30px;
	}
}

.material #materialList .material-box div.description div.box .tag {
	margin-bottom: 15px;
}

.material #materialList .material-box div.description div.box .tag span {
	font-size: 1.2rem;
	color: #fff;
	background: #999999;
	display: inline-block;
	padding: 7px 15px;
	line-height: 1;
	margin-bottom: 5px;
}

.material #materialList .material-box div.description div.box .tag span:not(:last-of-type) {
	margin-right: 10px;
}

.material #materialList .material-box div.description div.box .tag p {
	font-size: 1.2rem;
	color: #999999;
}

.material #materialList .material-box div.description div.box p.text {
	line-height: 1.8;
}

/*! PAGE::FLOW
========================================================================== */
/*! FLOWLIST */
#blogp {
	max-width: 1200px;
	width: 95%;
	margin: auto;
	margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
	#blogp {
		width: 90%;
	}
}

#blogp .topMenu {
	line-height: 1;
	margin-bottom: 60px;
}

#blogp .topMenu .item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 20px;
}

#blogp .topMenu .item:last-of-type {
	margin-bottom: 0px;
}

@media screen and (max-width: 768px) {
	#blogp .topMenu .item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

#blogp .topMenu .item h2 {
	font-size: 1.8rem;
	font-weight: bold;
	color: #007739;
	margin-right: 30px;
	margin-bottom: 10px;
}

#blogp .topMenu .item ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	list-style: none;
}

@media screen and (max-width: 768px) {
	#blogp .topMenu .item ul {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		width: 100%;
	}
}

#blogp .topMenu .item ul li {
	margin-bottom: 10px;
}

#blogp .topMenu .item ul li a {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px 25px;
	font-size: 1.4rem;
}

#blogp .topMenu .item ul li:not(:last-of-type) a {
	margin-right: 10px;
}

#blogp .topMenu .item ul.cat li a {
	background: #007739;
	color: #fff;
	-webkit-transition: background 480ms;
	transition: background 480ms;
}

#blogp .topMenu .item ul.cat li a:hover {
	background: #292929;
}

#blogp .topMenu .item ul.cat li.current-cat a {
	background: #292929;
	color: #fff;
}

#blogp .topMenu .item ul.tag li a {
	border: 1px solid #cccccc;
	-webkit-transition: color 480ms, border 480ms;
	transition: color 480ms, border 480ms;
}

#blogp .topMenu .item ul.tag li a:hover {
	border: 1px solid #007739;
	color: #007739;
}

#blogp .topMenu .item ul.tag li.current-cat a {
	border: 1px solid #007739;
	color: #007739;
}

#blogp .postlist {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 15px;
}

#blogp .postlist:after {
	content: '';
	display: block;
	width: calc((100% - 12.5%)/3);
}

#blogp .postlist .post {
	width: calc((100% - 12.5%)/3);
	margin-bottom: 50px;
}

@media screen and (max-width: 1200px) {
	#blogp .postlist .post {
		width: calc((100% - 2.5%)/2);
	}
}

@media screen and (max-width: 640px) {
	#blogp .postlist .post {
		width: 100%;
	}
}

#blogp .postlist .post a {
	border: 1px solid #ccc;
	-webkit-transition: border-color 480ms;
	transition: border-color 480ms;
}

#blogp .postlist .post a div {
	-webkit-transition: border-color 480ms;
	transition: border-color 480ms;
}

#blogp .postlist .post a div .cat {
	-webkit-transition: border-color 480ms;
	transition: border-color 480ms;
}

#blogp .postlist .post a .meta-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	font-size: 1.2rem;
	border-bottom: 1px solid #ccc;
}

@media screen and (min-width: 640px) and (max-width: 900px) {
	#blogp .postlist .post a .meta-wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

#blogp .postlist .post a .meta-wrap .date {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 125px;
	padding: 8px 10px;
	line-height: 1;
}

@media screen and (min-width: 640px) and (max-width: 900px) {
	#blogp .postlist .post a .meta-wrap .date {
		width: 100%;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
}

#blogp .postlist .post a .meta-wrap .date span {
	margin-right: 10px;
	font-size: 1.2rem;
	color: #007739;
	font-weight: bold;
}

#blogp .postlist .post a .meta-wrap .cat {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: calc(100% - 125px);
	color: #007739;
	border-left: 1px solid #ccc;
	padding: 8px 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (min-width: 640px) and (max-width: 900px) {
	#blogp .postlist .post a .meta-wrap .cat {
		width: 100%;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		border-top: 1px solid #ccc;
		border-left: none;
	}
}

#blogp .postlist .post a .title-box {
	padding: 25px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 1px solid #ccc;
}

#blogp .postlist .post a .title-box h2.postTitle {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.6;
	word-break: break-all;
}

#blogp .postlist .post a .img-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 1px solid #ccc;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

#blogp .postlist .post a .img-box:before {
	content: "";
	padding-top: 62.85%;
	display: block;
}

#blogp .postlist .post a .excerpt-box {
	padding: 20px 25px;
	font-size: 1.4rem;
	border-bottom: 1px solid #ccc;
}

#blogp .postlist .post a .more-arrow {
	padding: 10px 15px;
	text-align: right;
	color: #007739;
}

#blogp .postlist .post a .more-arrow svg {
	fill: #007739;
}

#blogp .postlist .post a:hover {
	border-color: #007739;
}

#blogp .postlist .post a:hover div {
	border-color: #007739;
}

#blogp .postlist .post a:hover div .cat {
	border-color: #007739;
}

#blogEntry {
	max-width: 1200px;
	width: 95%;
	margin: auto;
	margin-bottom: 100px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

@media screen and (max-width: 768px) {
	#blogEntry {
		width: 90%;
	}
}

#blogEntry #entry {
	width: calc(100% - 320px);
}

@media screen and (max-width: 1000px) {
	#blogEntry #entry {
		width: calc(100% - 230px);
	}
}

@media screen and (max-width: 768px) {
	#blogEntry #entry {
		width: 100%;
	}
}

#blogEntry #side {
	width: 280px;
}

@media screen and (max-width: 1000px) {
	#blogEntry #side {
		width: 200px;
	}
}

@media screen and (max-width: 768px) {
	#blogEntry #side {
		width: 100%;
	}
}

#blogEntry #entry {
	border: 1px solid #ccc;
}

@media screen and (max-width: 768px) {
	#blogEntry #entry {
		margin-bottom: 50px;
	}
}

#blogEntry #entry .meta-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	font-size: 1.2rem;
	border-bottom: 1px solid #ccc;
}

@media screen and (min-width: 640px) and (max-width: 900px) {
	#blogEntry #entry .meta-wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

#blogEntry #entry .meta-wrap .date {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 125px;
	padding: 8px 10px;
	line-height: 1;
}

@media screen and (min-width: 640px) and (max-width: 900px) {
	#blogEntry #entry .meta-wrap .date {
		width: 100%;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
}

#blogEntry #entry .meta-wrap .date span {
	margin-right: 10px;
	font-size: 1.2rem;
	color: #007739;
	font-weight: bold;
}

#blogEntry #entry .meta-wrap .cat {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: calc(100% - 125px);
	color: #007739;
	border-left: 1px solid #ccc;
	padding: 8px 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (min-width: 640px) and (max-width: 900px) {
	#blogEntry #entry .meta-wrap .cat {
		width: 100%;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		border-top: 1px solid #ccc;
		border-left: none;
	}
}

#blogEntry #entry .title-box {
	padding: 40px 25px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 1px solid #ccc;
}

#blogEntry #entry .title-box h1.postTitle {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.6;
	word-break: break-all;
}

#blogEntry #entry .content {
	padding: 25px 25px 45px;
}

@media screen and (max-width: 768px) {
	#blogEntry #entry .content {
		padding: 25px 25px 30px;
	}
}

#blogEntry #side .item {
	padding: 30px 0 50px;
	border-bottom: 2px solid #007739;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#blogEntry #side .item:first-of-type {
	border-top: 2px solid #007739;
}

#blogEntry #side .item h2.title {
	line-height: 1;
	font-size: 2.4rem;
	font-weight: bold;
	color: #007739;
	margin-bottom: 25px;
}

#blogEntry #side .item ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

#blogEntry #side .item ul li a {
	padding: 10px 0;
	font-size: 1.3rem;
	color: #007739;
	border-bottom: 1px solid #ccc;
}

#blogEntry #side .item ul.archives li a {
	color: #000;
}

#blogEntry #side .searchform {
	position: relative;
}

#blogEntry #side .searchform .screen-reader-text {
	display: none;
}

#blogEntry #side .searchform input[type="text"] {
	font-size: 14px;
	width: 100%;
	padding: 10px;
	border: solid 1px #ccc;
	border-radius: 0;
	background-color: #fff;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#blogEntry #side .searchform #searchsubmit {
	text-indent: -9999px;
	position: absolute;
	top: 50%;
	right: 5px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	cursor: pointer;
	color: #6297f5;
	border: none;
	background: transparent;
	width: 35px;
	height: 35px;
	padding: 0;
}

#blogEntry #side .searchform #searchsubmit:hover {
	opacity: .6;
}

#blogEntry #side .searchform div:after {
	position: absolute;
	width: 30px;
	height: 30px;
	top: 50%;
	right: 10px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	content: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJzZWFyY2giIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDggNDgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ4IDQ4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIHN0eWxlPSJmaWxsOiNDQ0NDQ0M7IiBjbGFzcz0ic3QyIiBkPSJNNDAuNzEsMzkuMjlsLTcuNDMtNy40M0MzNS42OCwyOS4xMywzNywyNS42NywzNywyMmMwLTQuMDEtMS41Ni03Ljc3LTQuMzktMTAuNjFTMjYuMDEsNywyMiw3bDAsMApjLTQsMC03Ljc3LDEuNTYtMTAuNiw0LjM5QzguNTYsMTQuMjMsNywxNy45OSw3LDIyYzAsOC4yNyw2LjczLDE1LDE1LDE1YzEuMzIsMCwyLjY0LTAuMTcsMy45Mi0wLjUxYzAuNTMtMC4xNCwwLjg1LTAuNjksMC43MS0xLjIyCnMtMC42OS0wLjg1LTEuMjItMC43MUMyNC4yOSwzNC44NSwyMy4xNSwzNSwyMiwzNWMtNy4xNywwLTEzLTUuODMtMTMtMTNjMC0zLjQ3LDEuMzUtNi43NCwzLjgxLTkuMTlTMTguNTMsOSwyMiw5bDAsMApjMy40NywwLDYuNzQsMS4zNSw5LjE5LDMuODFTMzUsMTguNTMsMzUsMjJzLTEuMzUsNi43NC0zLjgxLDkuMTljLTAuMzksMC4zOS0wLjM5LDEuMDIsMCwxLjQxbDguMSw4LjFjMC4yLDAuMiwwLjQ1LDAuMywwLjcxLDAuMwpzMC41MS0wLjEsMC43MS0wLjI5QzQxLjEsNDAuMzIsNDEuMSwzOS42OCw0MC43MSwzOS4yOXoiLz4KPC9zdmc+Cg==");
}

#blogp p.search {
	font-size: 1.4rem;
	margin-bottom: 30px;
}

#pagination {
	width: 90%;
	max-width: 770px;
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

#pagination .links {
	line-height: 1;
}

#pagination .links a:before,
#pagination .links a:after {
	display: inline-block;
	width: 33px;
}

#pagination .links a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #007739;
}

#pagination .links a i {
	font-size: 1.6rem;
	display: inline-block;
	font-style: normal;
}

@media screen and (max-width: 640px) {
	#pagination .links a i {
		font-size: 1.3rem;
		/*display: none;*/
	}
}

#pagination .no-more {
	opacity: .5;
}

#pagination .no-more i {
	font-size: 1.6rem;
	display: inline-block;
	font-style: normal;
}

@media screen and (max-width: 640px) {
	#pagination .no-more i {
		font-size: 1.3rem;
		/*display: none;*/
	}
}

#pagination svg.icon {
	width: 33px;
	height: 7px;
}

@media screen and (max-width: 640px) {
	#pagination svg.icon {
		width: 27px;
		height: 6px;
	}
}

#pagination .prev svg {
	margin-right: 15px;
}

@media screen and (max-width: 640px) {
	#pagination .prev svg {
		margin-right: 8px;
	}
}

#pagination .next svg {
	margin-left: 15px;
}

@media screen and (max-width: 640px) {
	#pagination .next svg {
		margin-left: 8px;
	}
}

@media screen and (max-width: 640px) {
	#pagination a.green-button.normal {
		padding: 15px 30px 12px;
	}
}

#pagination.single {
	margin-bottom: 100px;
}

/*! PAGE::RECRUIT
========================================================================== */
/*! ENTRY */
.single .buttom-box {
	max-width: 390px;
	width: 80%;
	margin: auto;
}

/*! MESSAGE */
.recruit #message {
	max-width: 1200px;
	width: 80%;
	margin: auto;
	margin-bottom: 30px;
}

.recruit #message .flex-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding-top: 45px;
}

.recruit #message .flex-row .item {
	width: 50%;
	margin-bottom: 120px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 1200px) {
	.recruit #message .flex-row .item {
		width: 100%;
		margin-bottom: 60px;
	}
}

@media screen and (max-width: 768px) {
	.recruit #message .flex-row .item {
		margin-bottom: 30px;
	}
}

.recruit #message .flex-row .item.left {
	padding-right: 50px;
	line-height: 1.8;
	letter-spacing: 2.3px;
}

@media screen and (max-width: 1200px) {
	.recruit #message .flex-row .item.left {
		padding-right: 0;
	}
}

.recruit #message .flex-row .item.left p {
	font-size: 3rem;
	font-weight: bold;
}

@media screen and (max-width: 1200px) {
	.recruit #message .flex-row .item.left p {
		font-size: 2.6rem;
	}
}

@media screen and (max-width: 768px) {
	.recruit #message .flex-row .item.left p {
		font-size: 1.6rem;
	}
}

.recruit #message .flex-row .item.right {
	padding-top: 5px;
	line-height: 2.3;
}

/*! RECRUITLIST */
.recruit #recruitList {
	max-width: 1200px;
	width: 95%;
	margin: auto;
	margin-bottom: 60px;
}

.recruit #recruitList .flex-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.recruit #recruitList .flex-row:not(:last-of-type) {
	margin-bottom: 40px;
}

.recruit #recruitList .flex-row .item {
	width: 50%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 1000px) {
	.recruit #recruitList .flex-row .item {
		width: 100%;
	}
}

.recruit #recruitList .flex-row .item.img-box {
	background-position: 50% 50%;
	background-size: cover;
	min-height: 350px;
}

@media screen and (max-width: 1200px) {
	.recruit #recruitList .flex-row .item.img-box {
		min-height: 250px;
		height: 250px;
	}
}

.recruit #recruitList .flex-row .item.text-box a {
	padding: 30px 0;
	padding-left: 60px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	height: 100%;
	display: block;
}

@media screen and (max-width: 1200px) {
	.recruit #recruitList .flex-row .item.text-box a {
		padding: 15px 5vw 0;
		padding-left: 5vw;
	}
}

.recruit #recruitList .flex-row .item.text-box a h3.title {
	font-size: 2rem;
	padding: 5px 0 3px;
	margin-bottom: 20px;
	border-bottom: 1px solid #292929;
	line-height: 1.6;
}

.recruit #recruitList .flex-row .item.text-box a .meta {
	line-height: 1;
	margin-bottom: 15px;
}

.recruit #recruitList .flex-row .item.text-box a .meta span {
	display: inline-block;
	background: #cccccc;
	font-size: 1.2rem;
	padding: 5px 10px;
}

.recruit #recruitList .flex-row .item.text-box a .meta span:not(:last-of-type) {
	margin-right: 10px;
}

.recruit #recruitList .flex-row .item.text-box a .pr {
	margin-bottom: 25px;
}

.recruit #recruitList .flex-row .item.text-box a .button-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.recruit #recruitList .flex-row .item.text-box a .button-box .more-arrow {
	display: inline-block;
	color: #007739;
}

@media screen and (max-width: 768px) {
	.recruit #recruitList .flex-row .item.text-box a .button-box .more-arrow span.more-text {
		display: inline-block;
	}
}

.recruit #recruitList .flex-row .item.text-box a .button-box .more-arrow .arrow-box svg {
	fill: #007739;
}

/*! INTERVIEW */
.recruit #interview {
	width: 100%;
	margin-bottom: 70px;
	text-align: center;
	padding: 180px 0 125px;
	background-position: 50% 50%;
	background-size: cover;
}

@media screen and (max-width: 768px) {
	.recruit #interview {
		padding: 27% 0 19%;
		margin-bottom: 50px;
	}
}

.recruit #interview h2.title {
	color: #fff;
	font-size: 2.4rem;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.recruit #interview h2.title {
		font-size: 2rem;
	}
}

/*! ENTRY */
.recruit #entry {
	max-width: 1050px;
	width: 90%;
	margin: auto;
	margin-bottom: 80px;
}

.recruit #entry .title-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 45px;
}

@media screen and (max-width: 768px) {
	.recruit #entry .title-box {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: baseline;
		-ms-flex-align: baseline;
		align-items: baseline;
	}
}

.recruit #entry .title-box h3 {
	font-size: 2.4rem;
	font-weight: bold;
	padding-right: 30px;
	line-height: 1.4;
}

@media screen and (max-width: 768px) {
	.recruit #entry .title-box h3 {
		font-size: 2rem;
		padding-right: 0;
	}
}

.recruit #entry .p-job_details__content {
	margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
	.recruit #entry .p-job_details__content {
		margin-bottom: 40px;
	}

	.recruit #entry .p-job_details__content:last-of-type {
		margin-bottom: 80px;
	}
}

.recruit #entry .p-job_details__content__title {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.7;
	padding-bottom: 11px;
	border-bottom: 1px solid #707070;
}

@media screen and (max-width: 768px) {
	.recruit #entry .p-job_details__content__title {
		font-size: 2.0rem;
	}
}

.recruit #entry .p-job_details__content__detail {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin-top: 13px;
}

@media screen and (max-width: 768px) {
	.recruit #entry .p-job_details__content__detail {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
		margin-top: 19px;
	}
}

.recruit #entry .p-job_details__text {
	width: 50%;
	margin-right: 1%;
	line-height: 1.9;
}

@media screen and (max-width: 768px) {
	.recruit #entry .p-job_details__text {
		width: 100%;
		font-size: 1.4rem;
		line-height: 1.6;
		margin-top: 14px;
		margin-right: 0;
	}
}

.recruit #entry .p-job_details__img {
	width: 48%;
	margin-top: 9px;
}

.recruit #entry .p-job_details__img__wrapper {
	position: relative;
	height: 0;
	padding-top: 58.333%;
}

.recruit #entry .p-job_details__img img {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	object-fit: cover;
}

@media screen and (max-width: 768px) {
	.recruit #entry .p-job_details__img {
		width: 100%;
	}

}

.recruit #entry .title-box .meta {
	line-height: 1;
	padding: 10px 0;
}

.recruit #entry .title-box .meta span {
	display: inline-block;
	background: #cccccc;
	font-size: 1.2rem;
	padding: 5px 10px;
}

.recruit #entry .title-box .meta span:not(:last-of-type) {
	margin-right: 10px;
}

.recruit #entry .table {
	margin-bottom: 50px;
}

.recruit #entry .table .row {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	border-bottom: 1px solid #cccccc;
	padding: 35px 0;
}

@media screen and (max-width: 768px) {
	.recruit #entry .table .row {
		padding: 15px 0;
	}
}

.recruit #entry .table .row:after {
	content: '';
	width: 200px;
	height: 1px;
	background: #292929;
	display: block;
	position: absolute;
	bottom: -1px;
	left: 0;
}

@media screen and (max-width: 768px) {
	.recruit #entry .table .row:after {
		width: 29%;
	}
}

.recruit #entry .table .row:first-of-type {
	border-top: 1px solid #cccccc;
}

.recruit #entry .table .row:first-of-type:before {
	content: '';
	width: 200px;
	height: 1px;
	background: #292929;
	display: block;
	position: absolute;
	top: -1px;
	left: 0;
}

@media screen and (max-width: 768px) {
	.recruit #entry .table .row:first-of-type:before {
		width: 29%;
	}
}

.recruit #entry .table .row .col {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.recruit #entry .table .row .col.th {
	width: 200px;
	padding-left: 25px;
	color: #999999;
}

@media screen and (max-width: 1000px) {
	.recruit #entry .table .row .col.th {
		padding-left: 15px;
	}
}

@media screen and (max-width: 768px) {
	.recruit #entry .table .row .col.th {
		width: 100%;
		margin-bottom: 10px;
		color: #1d1d1d;
		font-weight: bold;
	}
}

.recruit #entry .table .row .col.td {
	width: calc(100% - 200px);
	padding-left: 100px;
}

@media screen and (max-width: 1000px) {
	.recruit #entry .table .row .col.td {
		padding-left: 50px;
	}
}

@media screen and (max-width: 768px) {
	.recruit #entry .table .row .col.td {
		width: 100%;
		padding-left: 15px;
	}
}

/*! CONTACT */
.recruit #contact {
	width: 100%;
	background: #e8e8e8;
	margin-bottom: 40px;
	text-align: center;
	padding: 35px 0 45px;
}

.recruit #contact h3.title {
	font-size: 1.4rem;
	margin-bottom: 10px;
}

/*! PAGE::APPROACH
========================================================================== */
/*! STAFFLIST */
.interview #staffList {
	max-width: 1350px;
	width: 90%;
	margin: auto;
	margin-bottom: 150px;
}

@media screen and (max-width: 768px) {
	.interview #staffList {
		margin-bottom: 48px;
	}
}

.interview #staffList ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.interview #staffList ul li {
	width: calc((100% - 6px)/4);
	background-position: 50% 50%;
	background-size: cover;
}

@media screen and (max-width: 900px) {
	.interview #staffList ul li {
		width: calc((100% - 4px)/2);
		margin-bottom: 4px;
	}
}

.interview #staffList ul li a {
	display: block;
	padding-top: 119.563%;
	overflow: hidden;
}

@media screen and (max-width: 900px) {
	.interview #staffList ul li a {
		padding-top: 53.7vw;
	}
}

.interview #staffList ul li a .name-box {
	background: #007739;
	color: #fff;
	padding: 15px 30px;
	position: relative;
}

@media screen and (max-width: 900px) {
	.interview #staffList ul li a .name-box {
		padding: 5px 10px;
	}
}

.interview #staffList ul li a .name-box .history {
	font-size: 1rem;
}

.interview #staffList ul li a .name-box .name {
	font-size: 1.6rem;
}

@media screen and (max-width: 1200px) {
	.interview #staffList ul li a .name-box .name {
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 950px) {
	.interview #staffList ul li a .name-box .name {
		font-size: 1.2rem;
	}
}

@media screen and (min-width: 768px) {
	.interview #staffList ul li a .name-box .name {
		white-space: nowrap;
	}
}

@media screen and (max-width: 768px) {
	.interview #staffList ul li a .name-box .name {
		font-size: 1.6rem;
	}
}

.interview #staffList ul li a .name-box .name span {
	font-size: 1.2rem;
	margin-left: 30px;
}

.interview #staffList ul li a .name-box:before {
	content: '';
	position: absolute;
	top: -39px;
	left: -5px;
	height: 0;
	border-style: solid;
	border-width: 0 0 40px 345px;
	border-color: transparent transparent #007739 transparent;
}

@media screen and (max-width: 900px) {
	.interview #staffList ul li a .name-box:before {
		top: -5vw;
		border-width: 0 0 5vw 50vw;
	}
}

/*! STAFFLIST */
.interview #staff .staff-box {
	position: relative;
	margin-bottom: 320px;
}

@media screen and (max-width: 768px) {
	.interview #staff .staff-box {
		margin-bottom: 98px;
	}
}

.interview #staff .staff-box:last-child {
	margin-bottom: 200px;
}

@media screen and (max-width: 768px) {
	.interview #staff .staff-box:last-child {
		margin-bottom: 95px;
	}
}

.interview #staff .staff-box:after {
	content: '';
	max-width: 980px;
	width: 80%;
	height: calc(100% - 55px);
	border: 1px solid #007739;
	display: block;
	position: absolute;
	top: 5px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: -5;
}

.interview #staff .staff-box .top {
	position: relative;
	overflow: hidden;
	margin-bottom: 115px;
	padding: 120px 0;
}

@media screen and (min-width: 900px) {
	.interview #staff .staff-box .top {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
	}
}

@media screen and (max-width: 900px) {
	.interview #staff .staff-box .top {
		padding: 0;
		color: #000;
	}
}

@media screen and (max-width: 768px) {
	.interview #staff .staff-box .top {
		margin-bottom: 20px;
	}
}

.interview #staff .staff-box .top .img-box {
	display: block;
	width: 100%;
	padding-top: 53.333%;
	background-position: 30% 50%;
	background-size: cover;
	z-index: -1;
}

@media screen and (min-width: 900px) {
	.interview #staff .staff-box .top .img-box {
		padding-top: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: calc(100% + 2px);
		height: calc(100% + 2px);
		z-index: -1;
	}
}

.interview #staff .staff-box .top .text-box {
	width: 60%;
	background: #e8e8e8;
	padding: 45px 80px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 1200px) {
	.interview #staff .staff-box .top .text-box {
		width: 70%;
		padding: 25px 45px;
	}
}

@media screen and (max-width: 900px) {
	.interview #staff .staff-box .top .text-box {
		width: 90%;
		padding: 5vw;
		margin: -20px auto 0;
	}
}

.interview #staff .staff-box .top .text-box .title-box:before {
	top: 40%;
}

@media screen and (max-width: 900px) {
	.interview #staff .staff-box .top .text-box div.text {
		font-size: 1.4rem;
	}
}

.interview #staff .staff-box .content .flex-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.interview #staff .staff-box .content .flex-box:nth-child(odd) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
	.interview #staff .staff-box .content .flex-box:nth-child(odd) {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

.interview #staff .staff-box .content .flex-box:nth-child(odd) .text-box .inner {
	margin-right: -10vw;
}

@media screen and (max-width: 1300px) {
	.interview #staff .staff-box .content .flex-box:nth-child(odd) .text-box .inner {
		margin-right: -5vw;
	}
}

@media screen and (max-width: 768px) {
	.interview #staff .staff-box .content .flex-box:nth-child(odd) .text-box .inner {
		margin-right: 0;
	}
}

.interview #staff .staff-box .content .flex-box:nth-child(even) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}

@media screen and (max-width: 768px) {
	.interview #staff .staff-box .content .flex-box:nth-child(even) {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

.interview #staff .staff-box .content .flex-box:nth-child(even) .text-box .inner {
	margin-left: -10vw;
}

@media screen and (max-width: 1300px) {
	.interview #staff .staff-box .content .flex-box:nth-child(even) .text-box .inner {
		margin-left: -5vw;
	}
}

@media screen and (max-width: 768px) {
	.interview #staff .staff-box .content .flex-box:nth-child(even) .text-box .inner {
		margin-left: 0;
	}
}

@media screen and (max-width: 768px) {
	.interview #staff .staff-box .content .flex-box:not(:last-of-type) {
		margin-bottom: 20px;
	}
}

.interview #staff .staff-box .content .flex-box .img-box {
	width: 50%;
	background-position: 50% 50%;
	background-size: cover;
}

@media screen and (max-width: 768px) {
	.interview #staff .staff-box .content .flex-box .img-box {
		width: 100%;
		padding-top: 53.333%;
	}
}

.interview #staff .staff-box .content .flex-box .text-box {
	width: 50%;
	padding: 100px 0;
}

@media screen and (max-width: 768px) {
	.interview #staff .staff-box .content .flex-box .text-box {
		width: 90%;
		margin: auto;
		padding: 0;
	}
}

.interview #staff .staff-box .content .flex-box .text-box .inner {
	width: 100%;
	margin: auto;
	background: #e8e8e8;
	padding: 55px 80px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 1200px) {
	.interview #staff .staff-box .content .flex-box .text-box .inner {
		padding: 25px 45px;
	}
}

@media screen and (max-width: 900px) {
	.interview #staff .staff-box .content .flex-box .text-box .inner {
		padding: 5vw;
		margin: -20px auto 0;
	}
}

.interview #staff .staff-box .content .flex-box .text-box .inner .title-box h3.title {
	margin-bottom: 30px;
}

@media screen and (max-width: 900px) {
	.interview #staff .staff-box .content .flex-box .text-box .inner .title-box h3.title {
		font-size: 1.6rem;
		margin-bottom: 15px;
	}
}

.interview #staff .staff-box .content .flex-box .text-box .inner .title-box:before {
	top: 45%;
}

.interview #staff .staff-box .title-box {
	position: relative;
}

@media screen and (max-width: 900px) {
	.interview #staff .staff-box .title-box {
		padding-left: 30px;
	}
}

.interview #staff .staff-box .title-box:before {
	content: '';
	position: absolute;
	top: 40%;
	left: -80px;
	width: 50px;
	height: 3px;
	background: #007739;
}

@media screen and (max-width: 1200px) {
	.interview #staff .staff-box .title-box:before {
		left: -45px;
		width: 30px;
	}
}

@media screen and (max-width: 900px) {
	.interview #staff .staff-box .title-box:before {
		left: -5vw;
	}
}

.interview #staff .staff-box .title-box .history {
	font-size: 1.2rem;
	margin-bottom: 5px;
}

.interview #staff .staff-box .title-box .name {
	font-size: 2rem;
	margin-bottom: 30px;
}

@media screen and (max-width: 900px) {
	.interview #staff .staff-box .title-box .name {
		font-size: 1.6rem;
		line-height: 1;
		margin-bottom: 15px;
	}
}

.interview #staff .staff-box .title-box .name span {
	font-size: 1.4rem;
	margin-left: 15px;
}

@media screen and (max-width: 900px) {
	.interview #staff .staff-box .title-box .name span {
		font-size: 1.2rem;
	}
}

.interview #staff .staff-box#staff01 .top .img-box {
	background-image: url("img/interview/staff01-01.jpg");
}

.interview #staff .staff-box#staff02 .top .img-box {
	background-image: url("img/interview/staff02-01.jpg");
}

.interview #staff .staff-box#staff03 .top .img-box {
	background-image: url("img/interview/staff03-01.jpg");
}

.interview #staff .staff-box#staff04 .top .img-box {
	background-image: url("img/interview/staff04-01.jpg");
}

/*! RECRUIT */
.interview #recruit {
	width: 100%;
	background: #3b9991;
	background-image: url("img/interview/shattered.png");
	background-position: 50% 50%;
	margin-bottom: 80px;
	text-align: center;
	padding: 90px 0 100px;
}

.interview #recruit h2.title {
	color: #fff;
	font-size: 2rem;
	margin-bottom: 40px;
}

/*! PAGE::FLOW
========================================================================== */
/*! FLOWLIST */
.flow #flowList {
	max-width: 1200px;
	width: 90%;
	margin: auto;
	margin-bottom: 100px;
}

.flow #flowList .flex-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flow #flowList .flex-box:nth-child(even) {
	background: #e8e8e8;
}

.flow #flowList .flex-box .item {
	width: 50%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 50px 75px;
}

@media screen and (max-width: 1000px) {
	.flow #flowList .flex-box .item {
		padding: 40px 35px;
	}
}

@media screen and (max-width: 768px) {
	.flow #flowList .flex-box .item {
		padding: 10vw 5vw;
		width: 100%;
	}
}

.flow #flowList .flex-box .item.title-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

@media screen and (max-width: 768px) {
	.flow #flowList .flex-box .item.title-box {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		padding-bottom: 0;
	}
}

.flow #flowList .flex-box .item.title-box div.icon {
	width: 60px;
	height: 60px;
	display: block;
	padding-right: 35px;
}

@media screen and (max-width: 768px) {
	.flow #flowList .flex-box .item.title-box div.icon {
		width: 50px;
		height: 50px;
		padding-left: 15px;
		padding-right: 0;
	}
}

.flow #flowList .flex-box .item.title-box div.inner {
	width: calc(100% - 95px);
}

@media screen and (max-width: 768px) {
	.flow #flowList .flex-box .item.title-box div.inner {
		width: calc(100% - 65px);
	}
}

.flow #flowList .flex-box .item.title-box div.inner p.num {
	color: #007739;
	font-size: 2.4rem;
	line-height: 1.3;
}

.flow #flowList .flex-box .item.title-box div.inner h3.title {
	font-size: 2rem;
}

@media screen and (max-width: 1000px) {
	.flow #flowList .flex-box .item.title-box div.inner h3.title {
		font-size: 1.8rem;
	}
}

.flow #flowList .flex-box .item.title-box div.inner h3.title span {
	display: inline-block;
}

.flow #flowList .flex-box .item.text-box {
	padding-left: 0;
}

@media screen and (max-width: 768px) {
	.flow #flowList .flex-box .item.text-box {
		padding-top: 5vw;
		padding-left: 5vw;
	}
}

.flow #flowList .flex-box .link-box a {
	color: #777777;
	border-bottom: 1px solid #777777;
	display: block;
	-webkit-transition: color 240ms, border-bottom 240ms;
	transition: color 240ms, border-bottom 240ms;
}

.flow #flowList .flex-box .link-box a:hover {
	border-bottom: 1px solid #007739;
}

.flow #flowList .flex-box .link-box.outlink a[target="_blank"]:after {
	content: '';
	display: inline-block;
	width: 1rem;
	height: 1rem;
	margin-left: 1rem;
	content: url("data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxOSAxNiIgdmlld0JveD0iMCAwIDE5IDE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiM3NzciPjxwYXRoIGQ9Im0xNyAydjhoLTEwLjV2LTh6bTItMmgtMTQuNXYxMmgxNC41eiIvPjxwYXRoIGQ9Im0xNy41IDE1LjloLTE3LjR2LTE0LjhoMnYxMi44aDE1LjR6Ii8+PC9nPjwvc3ZnPg==");
}

/*! PAGE::FLOW
========================================================================== */
/*! FLOWLIST */
.faq #faqList {
	max-width: 1200px;
	width: 90%;
	margin: auto;
	margin-bottom: 100px;
}

.faq #faqList h2.faqTitle {
	text-align: center;
	color: #007739;
	font-size: 2.4rem;
	font-weight: bold;
	background: #e8e8e8;
	padding: 13px 0;
}

.faq #faqList h2.faqTitle:not(:first-child) {
	margin-top: 100px;
}

@media screen and (max-width: 768px) {
	.faq #faqList h2.faqTitle {
		font-size: 2rem;
	}
}

.faq #faqList .faq-wrap {
	width: 92%;
	margin: auto;
	border-bottom: 1px solid #ccc;
}

.faq #faqList .faq-wrap div.question {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	cursor: pointer;
	border-top: 1px solid #ccc;
}

.faq #faqList .faq-wrap div.question:first-of-type {
	border-top: none;
}

.faq #faqList .faq-wrap div.question h3.title {
	width: calc(100% - 70px);
	font-size: 1.6rem;
	font-weight: bold;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 20px;
}

@media screen and (max-width: 640px) {
	.faq #faqList .faq-wrap div.question h3.title {
		padding: 15px;
		width: calc(100% - 40px);
	}
}

.faq #faqList .faq-wrap div.question div.arrow-box {
	width: 70px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
}

@media screen and (max-width: 640px) {
	.faq #faqList .faq-wrap div.question div.arrow-box {
		width: 40px;
	}
}

.faq #faqList .faq-wrap div.question div.arrow-box:before, .faq #faqList .faq-wrap div.question div.arrow-box:after {
	position: absolute;
	content: '';
	top: 50%;
	background: #007739;
	-webkit-transition: all 300ms ease;
	transition: all 300ms ease;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.faq #faqList .faq-wrap div.question div.arrow-box:before {
	width: 18px;
	height: 2px;
	left: 50%;
}

.faq #faqList .faq-wrap div.question div.arrow-box:after {
	width: 2px;
	height: 18px;
	left: 50%;
}

.faq #faqList .faq-wrap div.question.active .arrow-box:after {
	height: 0px;
}

.faq #faqList .faq-wrap div.answer {
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.faq #faqList .faq-wrap div.answer div.box {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 20px;
	padding-bottom: 50px;
	width: calc(100% - 70px);
}

@media screen and (max-width: 640px) {
	.faq #faqList .faq-wrap div.answer div.box {
		width: 100%;
		padding: 15px;
		padding-bottom: 30px;
	}
}

/*! PAGE::CONTACT
========================================================================== */
/*! CONTACT HEADER */
#cont-header {
	margin: 0 auto 60px;
	padding: 70px 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #fff;
	background: #e8e8e8;
}

@media screen and (max-width: 768px) {
	#cont-header {
		margin: 0 auto 60px;
		padding: 50px 0;
	}
}

#cont-header .inner {
	margin: auto;
	max-width: 1200px;
	width: 80%;
}

#cont-header .inner .flex-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#cont-header .inner .flex-content.double .item {
	width: calc((100% - 35px)/2);
}

@media screen and (max-width: 900px) {
	#cont-header .inner .flex-content.double .item {
		width: 100%;
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 768px) {
	#cont-header .inner .flex-content.double .item {
		font-size: 1.4rem;
	}
}

#cont-header .inner .flex-content.double .item .img-box {
	padding-top: 37.931%;
}

@media screen and (max-width: 1300px) {
	#cont-header .inner .flex-content.double .item .img-box {
		padding-top: 37%;
	}
}

#cont-header .inner .flex-content .item {
	position: relative;
	overflow: hidden;
	font-size: 1.6rem;
}

#cont-header .inner .flex-content .item .img-box {
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	z-index: -1;
	background-position: 50% 50%;
	background-size: cover;
	-webkit-transition: -webkit-transform 480ms;
	transition: -webkit-transform 480ms;
	transition: transform 480ms;
	transition: transform 480ms, -webkit-transform 480ms;
}

#cont-header .inner .flex-content .item.flow .img-box {
	background-image: url("img/common/cont-footer01.jpg");
}

#cont-header .inner .flex-content .item.faq .img-box {
	background-image: url("img/common/cont-footer03.jpg");
}

#cont-header .inner .flex-content .item p.info {
	color: #1d1d1d;
	font-size: 1.4rem;
	padding: 10px 20px;
}

/*! CONTACT INFO */
.contact #info, .newcontact #info, .confirm #info, .recruit_confirm #info, .thanks #info, .recruit_thanks #info {
	margin-bottom: 100px;
	text-align: center;
}

@media screen and (max-width: 840px) {
	.contact #info, .newcontact #info.confirm #info, .recruit_confirm #info, .thanks #info, .recruit_thanks #info {
		margin-bottom: 60px;
		text-align: left;
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
}

.op_onlyContact {
	display: inline-block;
}

.op_onlyApply {
	display: none !important;
}

/*div[id^="form-box"].js_fotmtype_contact .op_onlyContact{
  display: inline-block;
}*/
div[id^="form-box"].js_fotmtype_apply .op_onlyApply {
	display: inline-block !important;
}

div[id^="form-box"].js_fotmtype_apply .op_onlyContact {
	display: none;
}

/*! CONTACT FORM */
div[id^="form-box"] {
	max-width: 1050px;
	width: 80%;
	margin: auto;
	margin-bottom: 40px;
	opacity: 0;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

@media screen and (max-width: 840px) {
	div[id^="form-box"] {
		width: 90%;
	}
}

div[id^="form-box"] .mw-inner {
	border-top: 1px solid #cccccc;
}

div[id^="form-box"] .contact-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	border-bottom: 1px solid #cccccc;
	padding: 20px 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 840px) {
	div[id^="form-box"] .contact-row {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding: 15px 0;
	}
}

div[id^="form-box"] .contact-row .left {
	width: 250px;
	font-size: 1.6rem;
	font-weight: bold;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
}

@media screen and (max-width: 840px) {
	div[id^="form-box"] .contact-row .left {
		width: 100%;
		padding: 0 0 10px;
	}
}

div[id^="form-box"] .contact-row .left p {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

div[id^="form-box"] .contact-row .left p.op_notice {
	width: 100%;
	font-size: 10px;
	padding-top: 5px;
}

@media screen and (max-width: 840px) {
	div[id^="form-box"] .contact-row .left p {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
}

div[id^="form-box"] .contact-row .right {
	width: calc(100% - 280px);
}

@media screen and (max-width: 840px) {
	div[id^="form-box"] .contact-row .right {
		width: 100%;
	}
}

div[id^="form-box"] .contact-row .right input,
div[id^="form-box"] .contact-row .right textarea {
	width: 100%;
	font-size: 1.8rem;
	line-height: 1.6;
	padding: 11px 20px;
	background: #e7e7e7;
	border: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 0;
}

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

	div[id^="form-box"] .contact-row .right input,
	div[id^="form-box"] .contact-row .right textarea {
		padding: 11px;
	}
}

div[id^="form-box"] .contact-row .right input[type="radio"],
div[id^="form-box"] .contact-row .right textarea[type="radio"] {
	width: auto;
}

div[id^="form-box"] .contact-row .right input[type="file"],
div[id^="form-box"] .contact-row .right textarea[type="file"] {
	padding: 0;
	width: auto;
	background: #fff;
	font-size: 1.4rem;
}

div[id^="form-box"] .contact-row .right .file3M {
	padding-bottom: 15px;
}

div[id^="form-box"] .contact-row .right .file3M span.info {
	font-size: 1.4rem;
	display: block;
}

div[id^="form-box"] .contact-row .right .mw-wp-form_file {
	display: none;
}

div[id^="form-box"] p {
	margin: 0;
}

div[id^="form-box"] i.required {
	font-style: normal;
	font-size: 1.2rem;
	color: #fff;
	background: #f9401c;
	border: 1px solid #f9401c;
	display: inline-block;
	padding: 3px 4px 4px;
	line-height: 1;
}

@media screen and (max-width: 840px) {
	div[id^="form-box"] i.required {
		margin-left: 10px;
	}
}

div[id^="form-box"] i.required:before {
	content: '必須';
}

div[id^="form-box"] i.required.option {
	color: #999999;
	background: #fff;
	border: 1px solid #999999;
}

div[id^="form-box"] i.required.option:before {
	content: '任意';
}

div[id^="form-box"] .bl_contactCheckUnit {
	text-align: center;
	margin-bottom: 70px;
}

@media screen and (max-width: 840px) {
	div[id^="form-box"] .bl_contactCheckUnit {
		margin: 0 auto 70px;
		width: 80%;
	}
}

div[id^="form-box"] .submit-box {
	text-align: center;
}

.submit-box {
	margin-right: 80px;
}

@media screen and (max-width: 840px) {
	.submit-box {
		margin-right: 10px;
	}
}

.submit-box:last-child {
	margin-right: 0;
}

div[id^="form-box"] .submit-box .submit-row {
	position: relative;
	color: #050e1a;
	-webkit-transition: color 200ms;
	transition: color 200ms;
}

div[id^="form-box"] .submit-box .submit-row:hover {
	color: #007739;
}

div[id^="form-box"] .submit-box .submit-row input[type="submit"] {
	background: #007739;
	color: #fff;
	border: 1px solid #007739;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 25px 90px;
	-webkit-transition: all 200ms;
	transition: all 200ms;
	border-radius: 0;
}

div[id^="form-box"] .submit-box .submit-row input[type="submit"]:hover {
	color: #007739;
	background: #cedae3;
}

div[id^="form-box"] .submit-box .submit-row button {
	background: #007739;
	color: #fff;
	border: 1px solid #007739;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 25px 90px;
	-webkit-transition: all 200ms;
	transition: all 200ms;
	border-radius: 0;
}

div[id^="form-box"] .submit-box .submit-row button:hover {
	color: #007739;
	background: #cedae3;
}

@media screen and (max-width: 840px) {
	.mwform-radio-field {
		margin-left: 0 !important;
	}

	.mwform-radio-field {
		width: 100%;
		display: block;
		padding: 5px 0;
	}
}

/* .confirm-cover */
.confirm-cover {
	max-width: 1050px;
	width: 80%;
	margin: auto;
	margin-bottom: 40px;
}

@media screen and (max-width: 840px) {
	.confirm-cover {
		width: 90%;
	}
}

.confirm-box {}

.confirm-box .wpcf7-form-control-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.confirm-box .wpcf7-list-item {
	font-size: 14px;
	letter-spacing: 0;
	margin-left: 0;
}

.confirm-box .wpcf7-list-item>label {
	display: grid;
	grid-template-columns: 20px 1fr;
	grid-template-rows: auto;
	align-items: center;
}

.confirm-box .wpcf7-list-item>label input[type="checkbox"] {
	width: 20px;
	height: 20px;
	display: flex;
justify-content: center;
align-items: center;
}

.confirm-box .wpcf7-list-item>label .wpcf7-list-item-label {
	margin-left: 0.75em;
	padding-bottom: 0.1em;
}


/* .bl_contactCheckUnit */
.bl_contactCheckUnit {
	max-width: 1200px;
	width: 70%;
	margin: auto;
	margin-bottom: 50px;
	background: #e8e8e8;
	padding: 15px;
}

@media screen and (max-width: 840px) {
	.bl_contactCheckUnit {
		width: 80%;
	}
}

.bl_contactCheckUnit .mwform-checkbox-field label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.bl_contactCheckUnit .mwform-checkbox-field label input {
	margin-right: 15px;
}

.submit-box {
	text-align: center;
	margin-bottom: 100px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.submit-box .submit-wrap {
	font-family: "Ropa Sans", sans-serif !important;
}

.submit-box .submit-wrap {
	line-height: 1;
	background-size: contain;
	background-position: right 50%;
	background-repeat: no-repeat;
	background-color: #007739;
	display: inline-block;
	position: relative;
	overflow: hidden;
	color: #fff;
	z-index: 0;
}

.submit-box .submit-wrap:before {
	content: '';
	width: 120%;
	height: 100%;
	display: block;
	background: #006631;
	position: absolute;
	top: 0;
	left: -120%;
	-webkit-transform: translate(-48px, 0px) skewX(-27deg);
	transform: translate(-48px, 0px) skewX(-27deg);
	z-index: -1;
	-webkit-transition: left 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: left 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.submit-box .submit-wrap:after {
	content: '';
	width: 80px;
	height: 100%;
	display: block;
	background: #006631;
	position: absolute;
	top: 0;
	right: -30px;
	-webkit-transform: skewX(-27deg);
	transform: skewX(-27deg);
	z-index: -1;
}

.submit-box .submit-wrap:hover:before {
	left: 30px;
}

.submit-box .submit-wrap input {
	text-align: center;
	padding: 20px 55px 17px;
	background: none;
	border: none;
	color: #fff;
	min-width: 174px;
}

@media screen and (max-width: 840px) {
	.submit-box .submit-wrap input {
		min-width: 140px;
		padding: 17px 38px 14px;
	}
}

.submit-box .submit-wrap button {
	text-align: center;
	padding: 20px 55px 17px;
	background: none;
	border: none;
	color: #fff;
	min-width: 174px
}

@media screen and (max-width: 840px) {
	.submit-box .submit-wrap button {
		min-width: 140px;
		padding: 17px 38px 14px;
	}
}

.submit-box .submit-wrap .wpcf7-spinner {
	position: absolute;
	inset: 0;
	margin: auto;
}

.submit-cover {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.contact-row.js_disabled {
	display: none !important;
}

.wpcf7 form .wpcf7-response-output {
	position: relative;
	top: -50px;
	max-width: 1050px;
	width: 80%;
	margin: 0 auto;
	text-align: center;
}

div[id^="form-box"] .contact-row {
	position: relative;
}

div[id^="form-box"] .contact-row:before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	right: calc(100% - 280px);
	height: 1px;
	background-color: #000;
}

@media screen and (max-width: 840px) {
	div[id^="form-box"] .contact-row:before {
		right: 70%;
	}
}

div[id^="form-box"] .contact-row:last-child:after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	right: calc(100% - 280px);
	height: 1px;
	background-color: #000;
}

@media screen and (max-width: 840px) {
	div[id^="form-box"] .contact-row:last-child:after {
		right: 70%;
	}
}

div[id^="form-box"] .contact-row .mwform-radio-field+.mwform-radio-field {
	margin-left: 10px;
}

/*i.required{
  display: none !important;
}

i.required.option{
  display: block !important;
}

.contact-row.js_require i.required{
  display: block !important;
}

.contact-row.js_require i.required.option{
  display: none !important;
}*/

.mw_wp_form .error {
	position: relative;
	background-color: #f9401c;
	color: #fff;
	padding: 10px 10px;
	margin-top: 20px;
}

.mw_wp_form .error:before {
	content: "";
	position: absolute;
	left: 20px;
	top: 0;
	border-top: 10px solid transparent;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 20px solid #f9401c;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}

.bl_contactCheckUnit .mw_wp_form .error {
	text-align: center;
}

#blogp .topMenu .item ul li.op_ttl {
	color: #007739;
	font-size: 18px;
	font-weight: bold;
	margin-right: 18px;
}

.bl_contactCheckUnit .error {
	text-align: center;
}

.mw_wp_form.mw_wp_form_complete {
	text-align: center;
	padding-top: 100px;
	padding-bottom: 90px;
}

@media screen and (max-width: 1200px) {
	.mw_wp_form.mw_wp_form_complete {
		padding-top: 80px;
	}
}

@media screen and (max-width: 900px) {
	.mw_wp_form.mw_wp_form_complete {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}

.mwwp_sendmessage {
	font-size: 22px;
	margin-bottom: 20px;
}

@media screen and (max-width: 900px) {
	.mwwp_sendmessage_text {
		text-align: left;
	}
}

.mwform-file-delete {
	display: none;
}

/*! FOOTER
========================================================================== */
/*! CONTACT FOOTER */
#cont-footer {
	margin: 0 auto 110px;
	padding: 70px 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #fff;
	background-image: url("img/common/cont-footerBG.png");
	background-position: 50% 50%;
}

@media screen and (max-width: 768px) {
	#cont-footer {
		margin: 0 auto 60px;
		padding: 50px 0;
	}
}

#cont-footer .inner {
	margin: auto;
	max-width: 1200px;
	width: 80%;
	margin-bottom: 75px;
}

@media screen and (max-width: 768px) {
	#cont-footer .inner {
		margin-bottom: 50px;
	}
}

#cont-footer .inner.contact {
	margin-bottom: 0;
}

#cont-footer .inner h2.title {
	font-size: 2rem;
	border-top: 1px solid #0f0f0f;
	position: relative;
	padding-top: 10px;
	margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
	#cont-footer .inner h2.title {
		margin-bottom: 20px;
	}
}

#cont-footer .inner h2.title:before {
	content: '';
	display: block;
	background: #fff;
	width: 300px;
	height: 1px;
	position: absolute;
	top: -1px;
	left: 0;
}

@media screen and (max-width: 768px) {
	#cont-footer .inner h2.title:before {
		width: 100px;
	}
}

#cont-footer .inner .text-box {
	font-size: 1.4rem;
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	#cont-footer .inner .text-box {
		margin-bottom: 25px;
	}
}

#cont-footer .inner .flex-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#cont-footer .inner .flex-content.triple .item {
	width: calc((100% - 70px)/3);
}

@media screen and (max-width: 1300px) {
	#cont-footer .inner .flex-content.triple .item {
		width: 100%;
	}

	#cont-footer .inner .flex-content.triple .item:nth-of-type(1) {
		margin-bottom: 30px;
	}

	#cont-footer .inner .flex-content.triple .item:nth-of-type(2) {
		margin-bottom: 30px;
	}
}

@media screen and (max-width: 768px) {
	#cont-footer .inner .flex-content.triple .item:nth-of-type(1) {
		margin-bottom: 20px;
	}

	#cont-footer .inner .flex-content.triple .item:nth-of-type(2) {
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 768px) {
	#cont-footer .inner .flex-content.triple .item {
		font-size: 1.4rem;
	}
}

#cont-footer .inner .flex-content.triple .item .img-box {
	padding-top: 58.594%;
}

@media screen and (max-width: 1300px) {
	#cont-footer .inner .flex-content.triple .item .img-box {
		padding-top: 37%;
	}
}

#cont-footer .inner .flex-content.double .item {
	width: calc((100% - 35px)/2);
}

@media screen and (max-width: 900px) {
	#cont-footer .inner .flex-content.double .item {
		width: 100%;
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 768px) {
	#cont-footer .inner .flex-content.double .item {
		font-size: 1.4rem;
	}
}

#cont-footer .inner .flex-content.double .item .img-box {
	padding-top: 37.931%;
}

@media screen and (max-width: 1300px) {
	#cont-footer .inner .flex-content.double .item .img-box {
		padding-top: 37%;
	}
}

#cont-footer .inner .flex-content.double.flow .item.flow {
	display: none;
}

#cont-footer .inner .flex-content.double.faq .item.faq {
	display: none;
}

#cont-footer .inner .flex-content.contact {
	display: none;
}

#cont-footer .inner .flex-content .item {
	position: relative;
	overflow: hidden;
	font-size: 1.6rem;
}

#cont-footer .inner .flex-content .item .img-box {
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	z-index: -1;
	background-position: 50% 50%;
	background-size: cover;
	-webkit-transition: -webkit-transform 480ms;
	transition: -webkit-transform 480ms;
	transition: transform 480ms;
	transition: transform 480ms, -webkit-transform 480ms;
}

#cont-footer .inner .flex-content .item.flow .img-box {
	background-image: url("img/common/cont-footer01.jpg");
}

#cont-footer .inner .flex-content .item.contact .img-box {
	background-image: url("img/common/cont-footer02.jpg");
}

#cont-footer .inner .flex-content .item.faq .img-box {
	background-image: url("img/common/cont-footer03.jpg");
}

#cont-footer .telmore {
	padding: 80px 0 80px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-position: 50% 50%;
	background-size: cover;
	background-image: url("img/common/cont-footer04.jpg");
}

#cont-footer .telmore a {
	color: #fff;
}

@media screen and (max-width: 768px) {
	#cont-footer .telmore {
		padding: 25px 0 20px;
	}
}

#cont-footer .telmore p.info {
	text-align: center;
	margin-bottom: 45px;
}

@media screen and (max-width: 768px) {
	#cont-footer .telmore p.info {
		margin-bottom: 5px;
	}
}

#cont-footer .telmore .flex-more {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	max-width: 780px;
	width: 80%;
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#cont-footer .telmore .flex-more p {
	font-size: 3.8rem;
}

@media screen and (max-width: 850px) {
	#cont-footer .telmore .flex-more p {
		font-size: 3rem;
	}
}

@media screen and (max-width: 768px) {
	#cont-footer .telmore .flex-more p {
		width: 100%;
		text-align: center;
		line-height: 1.3;
	}
}

@media screen and (max-width: 768px) {
	#cont-footer .telmore .flex-more p:not(:last-of-type) {
		margin-bottom: 0rem;
	}
}

#cont-footer .telmore .flex-more p span.op_small {
	font-size: 2.4rem;
}

/*! FOOTER */
#footer {
	background: #f5f5f5;
	border-bottom: 5px solid #007739;
}

#footer .inner {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	max-width: 1200px;
	width: 80%;
	margin: auto;
	padding: 120px 0 160px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media screen and (max-width: 1350px) {
	#footer .inner {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

@media screen and (max-width: 800px) {
	#footer .inner {
		padding: 50px 0 50px;
	}
}

#footer .inner .info {
	line-height: 1;
	width: 275px;
}

#footer .inner .info .logo {
	width: 240px;
	height: auto;
	margin-bottom: 40px;
}

@media screen and (max-width: 800px) {
	#footer .inner .info .logo {
		width: 150px;
		margin-bottom: 25px;
	}
}

#footer .inner .info .name {
	font-size: 1.4rem;
	font-weight: bold;
	margin-bottom: 10px;
}

#footer .inner .info .address,
#footer .inner .info .telfax {
	font-size: 1.2rem;
}

#footer .inner .info .notice {
	font-size: 10px;
	margin-top: 30px;
	letter-spacing: -0.6px;
}

#footer .inner .info .address {
	margin-bottom: 10px;
}

#footer .inner .sitemap {
	width: 770px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media screen and (max-width: 1350px) {
	#footer .inner .sitemap {
		margin-bottom: 50px;
		-webkit-box-ordinal-group: 0;
		-ms-flex-order: -1;
		order: -1;
		width: 100%;
	}
}

@media screen and (max-width: 800px) {
	#footer .inner .sitemap {
		display: none;
	}
}

#footer .inner .sitemap .item {
	width: calc((100% - 100px)/ 3);
}

#footer .inner .sitemap .item ul {
	margin: 0;
	padding: 0;
	padding-top: 15px;
	list-style: none;
	border-top: 1px solid #cccccc;
	line-height: 2.2;
}

@media screen and (max-width: 900px) {
	#footer .inner .sitemap .item ul {
		letter-spacing: 0px;
	}
}

#footer .inner .sitemap .item ul:not(:last-of-type) {
	margin-bottom: 70px;
}

#footer .inner .sitemap .item ul li {
	font-size: 1.4rem;
}

#footer .inner .sitemap .item ul li.linkTitle {
	font-size: 1.6rem;
	font-weight: bold;
	padding-bottom: 20px;
}

@media screen and (max-width: 900px) {
	#footer .inner .sitemap .item ul li.linkTitle {
		font-size: 1.4rem;
	}
}

#footer .inner .sitemap .item ul li.linkTitle:nth-child(3) {
	padding-bottom: 0;
}

#footer .inner .sitemap .item ul li.linkTitle a {
	color: #1d1d1d;
}

#footer .inner .sitemap .item ul li a {
	color: #777777;
	fill: #777777;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition: color 240ms, fill 240ms;
	transition: color 240ms, fill 240ms;
}

#footer .inner .sitemap .item ul li a svg.icon {
	width: .8rem;
	height: .8rem;
}

#footer .inner .sitemap .item ul li a:hover {
	color: #007739;
	fill: #007739;
}

#footer .copyright {
	color: #fff;
	font-size: 1rem;
	text-align: center;
	padding: 10px 0;
	background: #292929;
}

#blogEntry #side .item select {
	width: 100%;
	font-size: 13px;
}

#blogEntry #side .item select {
	position: relative;
	display: block;
	padding: 0 10px;
	height: 36px;
	border-radius: 0;
	background-color: #fff;
	color: #007739;
	line-height: 1.3;
	width: 100%;
	max-width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	border: 1px solid #ccc;
	-webkit-box-shadow: 0;
	box-shadow: 0;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}

#blogEntry #side .item ul.archive {
	position: relative;
}

#blogEntry #side .item ul.archive:after {
	content: "";
	position: absolute;
	top: calc(50% + 5px);
	right: 10px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border-top: 8px solid #050e1a;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 8px solid transparent;
	pointer-events: none;
}

#blogEntry #side .item select::-ms-expand {
	display: none;
}

/*#blogEntry #side .item select:hover {
  border-color: #888;
}*/
/*#blogEntry #side .item select:focus {
  border-color: #aaa;
  box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
  box-shadow: 0 0 0 3px -moz-mac-focusring;
  color: #222; 
  outline: none;
}*/
/*#blogEntry #side .item select option {
  font-weight:normal;
}*/
.breadcrumbs {
	max-width: 1200px;
	width: 95%;
	margin: auto;
	margin-bottom: 50px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media screen and (max-width: 1100px) {
	.breadcrumbs {
		margin-bottom: 40px;
	}
}

@media screen and (max-width: 768px) {
	.breadcrumbs {
		width: 90%;
		margin-bottom: 30px;
	}
}

body.archive .breadcrumbs, body.blog .breadcrumbs, body.single-post .breadcrumbs {
	margin-bottom: 35px;
}

body.archive.post-type-archive-recruit .breadcrumbs {
	margin-bottom: 50px;
}

@media screen and (max-width: 1100px) {
	body.archive.post-type-archive-recruit .breadcrumbs {
		margin-bottom: 40px;
	}
}

@media screen and (max-width: 768px) {
	body.archive.post-type-archive-recruit .breadcrumbs {
		margin-bottom: 30px;
	}
}

body.archive #hero.page p.heroTitle, body.blog #hero.page p.heroTitle, body.single-post #hero.page p.heroTitle {
	line-height: 1;
	margin-bottom: 10px;
}

body.archive.post-type-archive-recruit {
	margin-bottom: 0;
}

.breadcrumbs>span {
	font-size: 14px;
	padding: 0 10px;
}

.breadcrumbs>span:first-child {
	padding: 0 10px 0 0px;
}

.breadcrumbs>span:last-child {
	padding: 0 0px 0 10px;
}

@media screen and (max-width: 768px) {
	.breadcrumbs>span {
		font-size: 12px;
	}
}

#blogEntry .tag-list {
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0 25px 60px;
}

#blogEntry .tag-list>a {
	display: inline-block;
	padding: 10px 12px;
	border: 1px solid #cccccc;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 12px;
	margin-right: 10px;
	margin-bottom: 10px;
}

.bl_ppBlk {
	width: 90%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 80px;
}

@media screen and (max-width: 768px) {
	.bl_ppBlk {
		padding-bottom: 60px;
	}
}

.bl_ppBlk_wrapper {
	margin-bottom: 35px;
}

@media screen and (max-width: 768px) {
	.bl_ppBlk_wrapper {
		margin-bottom: 20px;
	}
}

.bl_ppBlk_wrapper:last-child {
	margin-bottom: 0;
}

.bl_ppBlk_wrapper .op_ttl {
	margin: 0 0 0px;
	font-weight: bold;
}

.bl_ppBlk_wrapper.op_last {
	margin-top: 80px;
}

@media screen and (max-width: 768px) {
	.bl_ppBlk_wrapper.op_last {
		margin-top: 60px;
	}
}

.bl_ppBlk_wrapper .op_text {
	margin: 0 0 10px;
}

.bl_ppBlk_wrapper .op_text:last-child {
	margin: 0 0 0px;
}

.bl_ppBlk_ttl {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	.bl_ppBlk_ttl {
		font-size: 16px;
		margin-bottom: 30px;
	}
}

body.single-recruit .breadcrumbs .op_cat {
	display: none;
}

body.single-recruit .breadcrumbs .op_cat+span.op_separeter {
	display: none;
}

.breadcrumbs>span.op_separeter {
	padding: 0;
	font-size: 1.6rem;
}

.bl_formFlowBlk {
	width: 90%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 80px;
	padding-right: 20px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.bl_formFlowBlk_item {
	position: relative;
	width: calc((100% - 41px)/3);
	margin-right: 20px;
	background-color: #dcdcdc;
	text-align: center;
	padding: 28px 0;
	white-space: nowrap;
}

@media screen and (max-width: 768px) {
	.bl_formFlowBlk_item {
		padding-right: 0;
		width: calc((100% - 21px)/3);
		margin-right: 10px;
		padding: 14px 0;
		text-align: center;
	}
}

.mw_wp_form_input .bl_formFlowBlk_item.op_enter {
	background-color: #007739;
	color: #fff;
}

.mw_wp_form_input .bl_formFlowBlk_item.op_enter:after {
	border-left: 20px solid #007739;
}

@media screen and (max-width: 768px) {
	.mw_wp_form_input .bl_formFlowBlk_item.op_enter:after {
		border-left: 10px solid #007739;
	}
}

.mw_wp_form_confirm .bl_formFlowBlk_item.op_confirm {
	background-color: #007739;
	color: #fff;
}

.mw_wp_form_confirm .bl_formFlowBlk_item.op_confirm:after {
	border-left: 20px solid #007739;
}

@media screen and (max-width: 768px) {
	.mw_wp_form_confirm .bl_formFlowBlk_item.op_confirm:after {
		border-left: 10px solid #007739;
	}
}

.mw_wp_form_complete .bl_formFlowBlk_item.op_complete {
	background-color: #007739;
	color: #fff;
}

.mw_wp_form_complete .bl_formFlowBlk_item.op_complete:after {
	border-left: 20px solid #007739;
}

@media screen and (max-width: 768px) {
	.mw_wp_form_complete .bl_formFlowBlk_item.op_complete:after {
		border-left: 10px solid #007739;
	}
}

.bl_formFlowBlk_item:after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	border-left: 20px solid #dcdcdc;
	border-right: 10px solid transparent;
	border-top: 42px solid transparent;
	border-bottom: 42px solid transparent;
	-webkit-transform: translate(100%, -50%);
	transform: translate(100%, -50%);
}

@media screen and (max-width: 768px) {
	.bl_formFlowBlk_item:after {
		border-left: 10px solid #dcdcdc;
		border-right: 10px solid transparent;
		border-top: 25px solid transparent;
		border-bottom: 25px solid transparent;
	}
}

.bl_formFlowBlk_item:nth-child(3n) {
	margin-right: 0;
}

body.post-type-archive-recruit #exLink {
	margin-bottom: 85px;
}

@media screen and (max-width: 768px) {
	body.post-type-archive-recruit #exLink {
		margin-bottom: 50px;
	}
}

body.post-type-archive-recruit #exLink .wrapper {
	max-width: 1130px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}

body.post-type-archive-recruit #exLink .wrapper .item {
	position: relative;
	width: 50%;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: 20px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	body.post-type-archive-recruit #exLink .wrapper .item {
		width: 100%;
	}
}

/*body.post-type-archive-recruit #exLink .wrapper .item .link{
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
    }*/
body.post-type-archive-recruit #exLink .wrapper .item .link {
	display: inline-block;
	-webkit-transition: all 200ms ease-out;
	transition: all 200ms ease-out;
}

body.post-type-archive-recruit #exLink .wrapper .item .link:hover {
	opacity: 0.8;
}

body.post-type-archive-recruit #exLink .wrapper .item:nth-child(odd) {
	padding-right: 20px;
}

@media screen and (max-width: 768px) {
	body.post-type-archive-recruit #exLink .wrapper .item:nth-child(odd) {
		padding-right: 0;
	}
}

body.post-type-archive-recruit #exLink .wrapper .item:nth-child(even) {
	padding-left: 20px;
}

@media screen and (max-width: 768px) {
	body.post-type-archive-recruit #exLink .wrapper .item:nth-child(even) {
		padding-left: 0;
	}
}

body.post-type-archive-recruit #exLink .wrapper .item .img {
	width: 100%;
	text-align: center
}

@media screen and (max-width: 840px) {
	.op_rc-gen .wpcf7-form-control {
		display: flex;
		flex-direction: column;
	}

	.op_rc-gen .wpcf7-form-control .wpcf7-list-item {
		margin-left: 0;
		padding: 5px 0;
	}
}

/*body.post-type-archive-recruit #exLink .wrapper .item .text{
      width: 45%;
      font-size: 12px;
      padding-left: 20px;
      box-sizing: border-box;
      text-align: right;
    }@media screen and (max-width: 768px){
      body.post-type-archive-recruit #exLink .wrapper .item .text{
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        text-align: left;
      }
    }*/
body.post-type-archive-recruit #exLink .wrapper .item .img img {
	width: auto;
	height: auto;
}

.mw_wp_form_confirm .mw-wp-form_file {
	margin-top: -10px;
	margin-bottom: 20px;
}

.el_formFile input[type="file"] {
	display: none;
}

.el_formFile label {
	border: 1px solid #bbb;
	border-radius: 3px;
	padding: 2px 5px;
	font-size: 12px;
	letter-spacing: 0;
	cursor: pointer;
}

.el_formFile label .wpcf7-not-valid-tip {
	position: absolute;
	width: 100%;
	display: block;
	white-space: nowrap;
}

.formFileName {
	display: inline-block;
	font-size: 12px;
	margin-left: 10px;
}

#blogEntry .content a {
	position: relative;
	display: inline-block;
	color: #007fac;
}

#blogEntry .content a:after {
	content: "";
	position: absolute;
	bottom: 3px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #007fac;
}

#entry img {
	height: auto;
}