@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Oswald:300,400,500,700");
@font-face {
	font-weight: normal;
	font-style: normal; 
	font-family: "dhf";
	src: url("/common/fonts/dhf.ttf?2kau8w") format("truetype"), url("/common/fonts/dhf.woff?2kau8w") format("woff"), url("/common/fonts/dhf.svg?2kau8w#dhf") format("svg");
}

[class^="ico-"],
[class*=" ico-"] {
	text-transform: none;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: "dhf" !important;
	line-height: 1;

	speak: none;
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.ico-arw_right:before {
	content: "";
}

.ico-dwg:before {
	content: "";
}

.ico-dxf:before {
	content: "";
}

.ico-jww:before {
	content: "";
}

.ico-pdf:before {
	content: "";
}

.ico-play:before {
	content: "";
}

.ico-anchor:before {
	content: "";
}

/*!
 * ress.css • v1.1.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
	overflow-y: scroll;
	box-sizing: border-box;
	/* All browsers without overlaying scrollbars */

	-webkit-text-size-adjust: 100%;
	/* iOS 8+ */
}

*,
::before,
::after {
	box-sizing: inherit;
}

::before,
::after {
	/* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
	vertical-align: inherit; 
	text-decoration: inherit;
}

/* Remove margin, padding of all elements and set background-no-repeat as default */
* {
	/* Reset `padding` and `margin` of all elements */
	margin: 0; 
	/* Set `background-repeat: no-repeat` to all elements */
	padding: 0;
	background-repeat: no-repeat;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
	display: none;
	height: 0;
}

hr {
	overflow: visible;
	/* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

summary {
	display: list-item;
	/* Add the correct display in all browsers */
}

small {
	font-size: 80%;
	/* Set font-size to 80% in `small` elements */
}

[hidden],
template {
	display: none;
	/* Add the correct display in IE */
}

abbr[title] {
	border-bottom: 1px dotted;
	/* Add a bordered underline effect in all browsers */
	text-decoration: none;
	/* Remove text decoration in Firefox 40+ */
}

a {
	background-color: transparent;
	/* Remove the gray background on active links in IE 10 */

	-webkit-text-decoration-skip: objects;
	/* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
	outline-width: 0;
	/* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	/* Specify the font family of code elements */
}

b,
strong {
	font-weight: bolder;
	/* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
	font-style: italic;
	/* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
	background-color: #ff0;
	color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
	position: relative;
	vertical-align: baseline; 
	font-size: 75%;
	line-height: 0;
}

sub {
	bottom: -.25em;
}

sup {
	top: -.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
	border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
	cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
	cursor: default;
}

[type="number"] {
	width: auto;
	/* Firefox 36+ */
}

[type="search"] {
	-webkit-appearance: textfield;
	/* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
	/* Safari 8 */
}

textarea {
	overflow: auto;
	/* Internet Explorer 11+ */
	resize: vertical;
	/* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
	font: inherit;
	/* Specify font inheritance of form elements */
}

optgroup {
	font-weight: bold;
	/* Restore the font weight unset by the previous rule. */
}

button {
	overflow: visible;
	/* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	padding: 0; 
	border-style: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	outline: 1px dotted ButtonText;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
	/* Correct the inability to style clickable types in iOS */
}

button,
select {
	text-transform: none;
	/* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
	border-style: none;
	background-color: transparent;
	color: inherit;
}

/* Style select like a standard input */
select {
	-moz-appearance: none;
	/* Firefox 36+ */
	-webkit-appearance: none;
	/* Chrome 41+ */
}

select::-ms-expand {
	display: none;
	/* Internet Explorer 11+ */
}

select::-ms-value {
	color: currentColor;
	/* Internet Explorer 11+ */
}

legend {
	/* Correct the color inheritance from `fieldset` elements in IE */
	display: table;
	/* Correct the text wrapping in Edge and IE */
	max-width: 100%;
	border: 0;
	/* Correct `color` not being inherited in IE 8/9/10/11 */
	color: inherit;
	/* Correct the text wrapping in Edge and IE */
	white-space: normal;
	/* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
	/* Correct the inability to style clickable types in iOS and Safari */
	font: inherit;

	-webkit-appearance: button;
	/* Change font properties to `inherit` in Chrome and Safari */
}

[type="search"] {
	/* Correct the odd appearance in Chrome and Safari */
	outline-offset: -2px;

	-webkit-appearance: textfield;
	/* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
	border-style: none;
	/* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
	vertical-align: baseline;
}

svg:not(:root) {
	overflow: hidden;
	/* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
	display: inline-block;
	/* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
	cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
	cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
	cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
	background-color: #b3d4fc;
	/* Required when declaring ::selection */
	color: #000;
	text-shadow: none;
}

::selection {
	background-color: #b3d4fc;
	/* Required when declaring ::selection */
	color: #000;
	text-shadow: none;
}

/* COLORS
================================================== */
/* COMPONENTS
================================================== */
/* easing
================================================== */
/* Sticky Footer
================================================== */
html,
body {
	margin: 0;
	min-width: 320px; 
	height: 100%;
}

/* BODY
================================================== */
body {
	min-width: 320px;
	width: 100%;
	font-style: normal;
	font-size: 13px;
	font-size: .8125rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 2;

	font-feature-settings: "pkna";
}
body > iframe,
body > img,
body > div:not([class]) > iframe,
body > div:not([class]) > img {
	display: none;
}

p:not(.is-nonspace),
dt:not(.is-nonspace),
dd:not(.is-nonspace),
span:not(.is-nonspace),
a:not(.is-nonspace),
li:not(.is-nonspace) {
	letter-spacing: .05em;
}

a {
	text-decoration: none;
	cursor: pointer;
}

li {
	list-style-type: none;
}

figure {
	text-align: center;
}

img {
	vertical-align: top;
}

img:not(.cover),
video:not(.cover) {
	max-width: 100%;
}

img.cover,
video.cover {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	display: block;
	width: 100%;
	height: 100%;
	font-family: "object-fit: cover; object-position: center;"; 

	object-fit: cover;
	object-position: center;
}

button {
	border-radius: 0; 
	font-style: normal;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
}

input,
textarea {
	border-radius: 0;
}

@keyframes scrolldown {
	0% {
		transform: scale(1, 1); 
		transform-origin: 100% 100%;
	}
	33% {
		transform: scale(1, 0); 
		transform-origin: 100% 100%;
	}
	66% {
		transform: scale(1, 0); 
		transform-origin: 0 0;
	}
	100% {
		transform: scale(1, 1); 
		transform-origin: 0 0;
	}
}

@keyframes scrolldown2 {
	0% {
		transform: scale(1, 1); 
		transform-origin: 100% 100%;
	}
	55% {
		transform: scale(1, 1); 
		transform-origin: 100% 100%;
	}
	70% {
		transform: scale(1, 0); 
		transform-origin: 100% 100%;
	}
	85% {
		transform: scale(1, 0); 
		transform-origin: 0 0;
	}
	100% {
		transform: scale(1, 1); 
		transform-origin: 0 0;
	}
}

@keyframes scrollup {
	0% {
		transform: scale(1, 1); 
		transform-origin: 0 0;
	}
	33% {
		transform: scale(1, 0); 
		transform-origin: 0 0;
	}
	66% {
		transform: scale(1, 0); 
		transform-origin: 100% 100%;
	}
	100% {
		transform: scale(1, 1); 
		transform-origin: 100% 100%;
	}
}

@keyframes scrollup2 {
	0% {
		transform: scale(1, 1); 
		transform-origin: 0 0;
	}
	15% {
		transform: scale(1, 0); 
		transform-origin: 0 0;
	}
	30% {
		transform: scale(1, 0); 
		transform-origin: 100% 100%;
	}
	45% {
		transform: scale(1, 1); 
		transform-origin: 100% 100%;
	}
	100% {
		transform: scale(1, 1); 
		transform-origin: 100% 100%;
	}
}

@keyframes sound {
	0% {
		transform: scale(1, 1); 
		transform-origin: 100% 100%;
	}
	20% {
		transform: scale(0, 1); 
		transform-origin: 100% 100%;
	}
	40% {
		transform: scale(0, 1); 
		transform-origin: 0 0;
	}
	60% {
		transform: scale(1, 1); 
		transform-origin: 0 0;
	}
	100% {
		transform: scale(1, 1); 
		transform-origin: 0 0;
	}
}

@keyframes btnline {
	0% {
		transform: scale(1, 1); 
		transform-origin: 100% 100%;
	}
	33% {
		transform: scale(0, 1); 
		transform-origin: 100% 100%;
	}
	66% {
		transform: scale(0, 1); 
		transform-origin: 0 0;
	}
	100% {
		transform: scale(1, 1); 
		transform-origin: 0 0;
	}
}

@keyframes btntate {
	0% {
		transform: scale(1, 1); 
		transform-origin: 100% 100%;
	}
	33% {
		transform: scale(1, 0); 
		transform-origin: 100% 100%;
	}
	66% {
		transform: scale(1, 0); 
		transform-origin: 0 0;
	}
	100% {
		transform: scale(1, 1); 
		transform-origin: 0 0;
	}
}

@keyframes loading {
	0% {
		background-position: left center;
	}
	100% {
		background-position: right center;
	}
}

.bx-wrapper,
.bx-viewport {
	height: 100%;
}

.p-country-name {
	display: none;
}

.l-page {
	position: relative;
	overflow: hidden; 
	width: 100%;
}
.l-page:after {
	position: absolute;
	top: 0;
	left: 28.2%;
	z-index: -5; 
	display: block;
	width: 65.4%;
	height: 100%;
	background-color: #f9f9f9;
	content: "";
}
.l-page--style {
	position: relative; 
	width: 100%;
}
.l-page__line {
	position: absolute;
	top: 0;
	z-index: 60; 
	display: none;
	width: 1px;
	height: 100%;
	background-color: rgba(0, 0, 0, .03);
}
.l-page__line--item1 {
	left: 6.4%;
}
.l-page__line--item2 {
	left: 28.13333%;
}
.l-page__line--item3 {
	left: 49.86667%;
}
.l-page__line--item4 {
	left: 71.6%;
}
.l-page__line--item5 {
	left: 93.33333%;
}

.l-content__header {
	position: relative;
}
.l-content__header--tech {
	margin-bottom: 80px;
}

.l-content__ttl {
	position: relative;
	z-index: 80;
	overflow: hidden; 
	padding-top: 90px;
	padding-left: 6.4%;
	width: 100%;
	height: 228px;
}
.l-content__ttl--tech {
	padding-right: 6.4%;
	padding-bottom: 34px;
	padding-left: 6.4%;
	height: auto !important;
	text-align: center;
}
.l-content__ttl--tech img.cover {
	object-position: left;
}
.l-content__ttl--tech h2 {
	position: relative;
	margin-bottom: 38px; 
	color: #d71518 !important;
	font-weight: 500;
	font-style: normal;
	font-size: 42px;
	font-size: 2.625rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.42857;
}
.l-content__ttl--tech h2 span {
	position: absolute;
	top: 21px;
	right: 0; 
	left: 0;
	margin: 0 auto auto !important;
	color: #fff !important;
}
.l-content__ttl--tech p {
	margin-bottom: 0 !important; 
	color: #fff !important;
	font-size: 15px !important;
	font-size: .9375rem !important;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif !important;
	line-height: 2 !important;
}
.l-content__ttl p {
	position: relative;
	z-index: 2; 
	margin-bottom: 10px;
	color: #d71518;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	font-size: 1rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
}
.l-content__ttl h2 {
	position: relative;
	z-index: 2; 
	color: #fff;
}
.l-content__ttl h2:first-child {
	margin-top: 34px;
}

.l-content__img {
	top: auto !important;
	bottom: 0 !important;
}

.l-content__accent {
	position: relative;
	z-index: 59; 
	margin-left: 50%;
	width: 50%;
	height: 45px;
	background-image: linear-gradient(90deg, #d77515 10%, #d71518 60%, #d77515);
	background-position: left center;
	background-size: 200% 100%;
	background-repeat: no-repeat;
}

.l-content__topicks {
	position: relative; 
	z-index: 7;
	margin-left: 6.4%;
	width: 93.6%;
	background-image: linear-gradient(90deg, #d77515 10%, #d71518 60%, #d77515);
	background-position: left center;
	background-size: 200% 100%;
	background-repeat: no-repeat;
}

.l-content__lead {
	position: relative; 
	padding: 60px 6.4%;
	width: 100%;
}
.l-content__lead h3 {
	font-weight: 700; 
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 1.6;
}
.l-content__lead h3 + p {
	margin-top: 18px;
}
.l-content__lead p,
.l-content__lead li {
	font-size: 13px;
	font-size: .8125rem;
	line-height: 2;
}
.l-content__lead img {
	display: block;
	max-width: 68.65672%; 
	width: 100%;
}
.l-content__lead--form {
	padding-bottom: 0 !important;
}

.l-content__body--txt {
	margin-bottom: 58px;
}

.l-content__body--404 .c-btn-back {
	color: #000;
	text-decoration: none;
}

.l-content__link {
	position: relative;
	width: 100%;
	text-align: center;
}
.l-content__link a {
	display: block;
	padding: 50px 0 48px; 
	width: 100%;
	height: 100%;
	color: #fff;
}
.l-content__link h3 {
	position: relative;
	z-index: 1; 
	margin-bottom: 20px;
	font-weight: 500;
	font-style: normal;
	font-size: 36px;
	font-size: 2.25rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
}
.l-content__link h3 span {
	display: block;
	font-weight: 400; 
	font-style: normal;
	font-size: 15px;
	font-size: .9375rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 2;
}
.l-content__link p {
	position: relative;
	z-index: 1; 
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1.33333;
}
.l-content__link p--plane {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 2;
}
.l-content__link .c-btn {
	position: relative;
	z-index: 1; 
	margin: 13px auto 0;
	padding: 18px 0;
	width: 87.2%;
	font-size: 14px;
	font-size: .875rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif !important;
	line-height: 1.5;
}
.l-content__link--product {
	margin-top: 20px;
}
.l-content__link--plan {
	margin-top: 60px;
}
.l-content__link--co {
	position: relative;
	margin-bottom: 20px; 
	width: 100%;
	text-align: center;
}
.l-content__link--co a {
	display: block;
	padding: 24px 6.4%; 
	width: 100%;
	height: 100%;
}
.l-content__link--co p {
	position: relative;
	z-index: 1; 
	color: #d71518;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	font-size: 1rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.625;
}
.l-content__link--co h3 {
	position: relative;
	z-index: 1; 
	color: #fff;
	font-weight: 700;
	font-style: normal;
	font-size: 18px;
	font-size: 1.125rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
}
.l-content__link--co .c-btn {
	position: relative;
	z-index: 1; 
	display: inline-block;
	margin-top: 20px;
	max-width: 267px;
}
.l-content__link--co strong {
	display: block;
	color: #d71518; 
	font-weight: 400;
	font-style: normal;
	font-size: 18px;
	font-size: 1.125rem;
	font-family: "Oswald", sans-serif;
	line-height: 2;
}
.l-content__link--co img {
	position: absolute;
	top: 0;
	left: 0; 
	display: block;
	width: 100%;
	height: 100%;
}

.l-header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 90; 
	width: 100%;
}
.l-header__ttl {
	position: relative; 
	display: inline-block;
	margin: 20px 6.4% 16px;
	max-width: 170px;
	width: 39.6875%;
	height: 24px;
}
.l-header__ttl a {
	white-space: nowrap;
}
.l-header__ttl img:first-child {
	width: 33.52941%;
}
.l-header__ttl img:last-child {
	margin-left: 7.64706%; 
	width: 58.82353%;
}

.l-footer {
	position: relative;
	padding: 50px 6.4% 0;
	width: 100%;
	background-color: #000;
}
.l-footer__ttl {
	margin-bottom: 20px; 
	height: 32px;
}
.l-footer__ttl a {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: row nowrap;

	    flex-flow: row nowrap;
	-ms-flex-align: center;
	    align-items: center;
	-ms-flex-pack: center;
	    justify-content: center;
}
.l-footer__ttl img {
	margin-right: 12px;
}
.l-footer__ttl img:first-child {
	width: 42px;
}
.l-footer__ttl img:nth-child(2) {
	width: 75px;
}
.l-footer__ttl span {
	color: #fff;
	vertical-align: middle; 
	font-weight: 400;
	font-size: 11px;
	font-size: .6875rem;
	line-height: 1;
}
.l-footer__info {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: column wrap;

	    flex-flow: column wrap;
	-ms-flex-align: start;
	    align-items: flex-start;
	-ms-flex-pack: start;
	    justify-content: flex-start;
}
.l-footer__sitemap {
	width: 100%;
}
.l-footer__sitemap a {
	display: inline-block;
}
.l-footer__link {
	width: 100%;
}
.l-footer__bnr {
	position: relative;
	display: none;
	background-color: #fff;
}
.l-footer__bnr + .l-footer__bnr {
	margin-top: 4px;
	margin-bottom: 20px;
}
.l-footer__bnr p {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 25px; 
	margin: auto;
	height: 40px;
	color: #fff;
	font-weight: 400;
	font-style: normal;
	font-size: 18px;
	font-size: 1.125rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.22222;
}
.l-footer__bnr span {
	display: block;
	color: #fff; 
	font-size: 11px;
	font-size: .6875rem;
	line-height: 2;
}
.l-footer__bnr img {
	display: block;
	width: 100%;
	height: auto;
}
.l-footer__bnr .c-mask-alpbk {
	transition: .3s ease;
}
.l-footer__contact {
	text-align: center;
}
.l-footer__contact p {
	color: #fff; 
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.5;
}
.l-footer__btn {
	margin: 18px 0 10px;
}
.l-footer__misc {
	padding: 28px 0;
	text-align: center;
}
.l-footer__misc ul {
	font-size: 0;
}
.l-footer__misc ul li {
	display: inline-block;
}
.l-footer__misc ul li + li {
	margin-left: 25px;
}
.l-footer__misc ul a {
	color: #fff;
	font-size: 12px;
	font-size: .75rem;
	line-height: 2.16667;
	transition: .3s ease;
}
.l-footer__copyright {
	margin-top: 10px; 
	color: #fff;
	font-weight: 400;
	font-style: normal;
	font-size: 12px;
	font-size: .75rem;
	font-family: "Oswald", sans-serif;
	line-height: 2.16667;
}

.l-sitemap {
	display: none;
	margin-bottom: 25px;
}
.l-sitemap__item {
	position: relative; 
	width: 50%;
}
.l-sitemap__item p,
.l-sitemap__item li,
.l-sitemap__item a {
	color: #fff;
}
.l-sitemap__item p {
	margin-bottom: 12px; 
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.625;
}
.l-sitemap__item li {
	font-size: 13px;
	font-size: .8125rem;
	line-height: 2;
}
.l-sitemap__technology {
	margin-bottom: 50px;
}
.l-sitemap__works {
	margin-bottom: 50px;
}
.l-sitemap__recruit {
	margin-bottom: 50px;
}

.l-gnav {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 90; 
	width: 71.42857%;
}
.l-gnav__lst {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	-ms-flex-flow: row nowrap;

	    flex-flow: row nowrap;
	-ms-flex-pack: end;
	    justify-content: flex-end;
	-ms-flex-align: stretch;
	    align-items: stretch;
}
.l-gnav__item a {
	position: relative;
	z-index: 1;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 120px;
	color: #000;
	text-align: center;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	font-size: 1rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;

	-ms-flex-flow: column wrap;

	    flex-flow: column wrap;
	-ms-flex-pack: center;
	    justify-content: center;
	-ms-flex-align: center;
	    align-items: center;
}
.l-gnav__item a:after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	display: block;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(0, #d77515, #d71518);
	background-image: linear-gradient(to top, #d77515, #d71518);
	background-image: -moz-linear-gradient(bottom, #d77515, #d71518 100%);
	background-position: top center;
	background-size: 100% 100%; 
	background-repeat: no-repeat;
	content: "";
	opacity: 0;
	transition: .5s ease;
}
.l-gnav__item--product span {
	display: inline-block;
}
.l-gnav__item--lang a {
	height: 120px;

	-ms-flex-flow: row wrap;

	    flex-flow: row wrap;
}
.l-gnav__item--lang a:after {
	content: none;
}
.l-gnav__item--lang span {
	transition: .3s ease;
}
.l-gnav__item--lang span:not([class]) {
	-ms-transform: rotate(90deg);
	    transform: rotate(90deg);
}
.l-gnav__item--contact {
	width: 10%;
}
.l-gnav__item--contact a {
	background-image: linear-gradient(45deg, #d71518, #d77515);
	background-image: linear-gradient(to top right, #d71518, #d77515);
	background-image: -moz-linear-gradient(bottom left, #d71518, #d77515 100%);
	background-position: top center;
	background-size: 100% 100%; 
	background-repeat: no-repeat;
}
.l-gnav__item--contact span {
	vertical-align: -6px; 
	transition: .3s ease;
}
.l-gnav__item p {
	transition: .3s ease;
}
.l-gnav__item p:nth-child(2) {
	font-style: normal;
	font-size: 12px;
	font-size: .75rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 2;
	opacity: .4;
}
.l-gnav__item.is-active a:after {
	opacity: 1;
}

.l-gnav-sp {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 90;
	overflow: scroll;
	max-height: 100vh;
	width: 100%;
	border-bottom: solid 1px rgba(255, 255, 255, .5);
	background-color: #000;
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}
.l-gnav-sp__ttl {
	display: -ms-flexbox;
	display: flex;
	padding: 20px 6.4% 16px !important;
	width: 252px;

	-ms-flex-flow: row nowrap;

	    flex-flow: row nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.l-gnav-sp__ttl img {
	height: 24px;
}
.l-gnav-sp__body {
	width: 100%;
}
.l-gnav-sp__trigger {
	font-weight: 400; 
	font-style: normal;
	font-family: "Oswald", sans-serif;
}
.l-gnav-sp__trigger.is-open {
	background-image: linear-gradient(90deg, #d71518 10%, #d77515 50%, #d77515 60%, #d71518);
	background-position: left center; 
	background-size: 200% 100%;
	background-repeat: no-repeat;
}
.l-gnav-sp__trigger.is-open:after {
	-ms-transform: rotate(0);
	    transform: rotate(0);
}
.l-gnav-sp__trigger:before,
.l-gnav-sp__trigger:after {
	position: absolute;
	top: 0;
	right: 6.4%;
	bottom: 0;
	display: block;
	margin: auto; 
	width: 15px;
	height: 1px;
	background-color: #fff;
	content: "";
}
.l-gnav-sp__trigger:after {
	transition: .3s ease; 
	-ms-transform: rotate(90deg); 
	    transform: rotate(90deg);
	-ms-transform-origin: center;
	    transform-origin: center;
}
.l-gnav-sp__first > a:not([class]) {
	display: none;
	text-indent: 1em;
}
.l-gnav-sp__first a[href]:before {
	position: absolute;
	top: 0;
	right: 6.4%;
	bottom: 0;
	display: block;
	margin: auto; 
	width: 15px;
	height: 1px;
	background-color: #fff;
	content: "";
}
.l-gnav-sp__first a[href]:after {
	position: absolute;
	top: 50%;
	right: 6.4%;
	display: block;
	width: 7px;
	height: 1px;
	background-color: #fff;
	content: "";
	transition: .3s ease; 
	-ms-transform: rotate(30deg); 
	    transform: rotate(30deg);
	-ms-transform-origin: top right;
	    transform-origin: top right;
}
.l-gnav-sp__product .l-gnav-sp__second > a:not([class]) {
	display: none;
}
.l-gnav-sp__product .l-gnav-sp__third {
	display: none;
}
.l-gnav-sp__tech .l-gnav-sp__third {
	display: none;
}
.l-gnav-sp__works > a {
	display: block;
	font-weight: 400; 
	font-style: normal;
	font-family: "Oswald", sans-serif;
}
.l-gnav-sp__news > a {
	display: block;
	font-weight: 400; 
	font-style: normal;
	font-family: "Oswald", sans-serif;
}
.l-gnav-sp__second {
	display: none;
}
.l-gnav-sp__second > a {
	text-indent: 1em;
}
.l-gnav-sp__third > a:not([class]) {
	text-indent: 2em;
}
.l-gnav-sp__lang {
	margin-top: 24px;
}
.l-gnav-sp__lang ul {
	display: -ms-flexbox;
	display: flex;
	margin: auto;
	width: 87.2%;

	-ms-flex-flow: row nowrap;

	    flex-flow: row nowrap;
	-ms-flex-pack: center;
	    justify-content: center;
	-ms-flex-align: stretch;
	    align-items: stretch;
}
.l-gnav-sp__lang li {
	width: 50%;
	border: solid 1px rgba(255, 255, 255, .5);
	text-align: center;
}
.l-gnav-sp__lang li a {
	border: none; 
	font-weight: 300;
	font-style: normal;
	font-family: "Oswald", sans-serif;
}
.l-gnav-sp__lang li.is-active {
	border-color: #fff;
}
.l-gnav-sp__lang li.is-active a {
	background-color: #fff; 
	color: #000;
}
.l-gnav-sp > .c-btn {
	margin-top: 24px;
	margin-bottom: 40px; 
	border: none;
}
.l-gnav-sp a {
	position: relative; 
	display: block;
	padding: 20px 6.4%;
	width: 100%;
	border-bottom: solid 1px rgba(255, 255, 255, .5);
	background-color: #000;
	color: #fff;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}
.l-gnav-sp span {
	display: block;
	color: rgba(255, 255, 255, .4); 
	font-size: 12px;
	font-size: .75rem;
	line-height: 1.5;
}

.l-toggle {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 91;
	width: 60px;
	height: 60px;
	background-image: linear-gradient(45deg, #d71518, #d77515);
	background-image: linear-gradient(to top right, #d71518, #d77515);
	background-image: -moz-linear-gradient(bottom left, #d71518, #d77515);
	background-position: top center;
	background-size: 100% 100%; 
	background-repeat: no-repeat;
	cursor: pointer;
}
.l-toggle > span {
	position: absolute;
	top: 29px;
	right: 0; 
	left: 0;
	display: block;
	width: 25px;
	height: 1px;
	background-color: #fff;
}
.l-toggle__top {
	margin: -8px auto auto;
}
.l-toggle__middle {
	margin: auto;
}
.l-toggle__bottom {
	margin: 8px auto auto;
}

.l-menu {
	position: relative; 
	margin-left: -40%;
	width: 140%;
}
.l-menu__box {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 89;
	display: none; 
	width: 100%;
	border-top: solid 1px #000;
	background-image: linear-gradient(0, #d71518, #d77515);
	background-image: linear-gradient(to top, #d71518, #d77515);
	background-image: -moz-linear-gradient(bottom, #d71518, #d77515 100%);
}
.l-menu__box.is-active {
	z-index: 90;
}
.l-menu__inner {
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 100%;

	-ms-flex-flow: row nowrap;

	    flex-flow: row nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.l-menu__header {
	padding: 64px 3.42857% 0 7.14286%; 
	width: 28.57143%;
}
.l-menu__body {
	display: -ms-flexbox;
	display: flex;
	padding: 64px 0 120px;
	width: 64.28571%;
	border-right: solid 1px #000;

	-ms-flex-flow: row wrap;

	    flex-flow: row wrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: stretch;
	    align-items: stretch;
}
.l-menu__body--block {
	display: block;
	overflow: hidden;
}
.l-menu__name {
	position: absolute;
	top: 45px;
	right: 6.4%;
	color: #000;
	white-space: nowrap;
	letter-spacing: .08em;
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	font-size: .875rem;
	font-family: "Oswald", sans-serif;
	line-height: 1;
	-ms-transform-origin: 100% 0;
	    transform-origin: 100% 0; 

	-webkit-writing-mode: vertical-rl; 

	    -ms-writing-mode: tb-rl; 

	        writing-mode: vertical-rl;
}
.l-menu__name--product {
	height: 108px;
}
.l-menu__name--tech {
	height: 76px;
}
.l-menu__name--about {
	height: 39px;
}
.l-menu__name--recruit {
	height: 49px;
}
.l-menu__item {
	position: relative;
}
.l-menu__item--product {
	width: 33.33333%;
}
.l-menu__item--product:first-child,
.l-menu__item--product:nth-child(2),
.l-menu__item--product:nth-child(3) {
	margin-bottom: 40px;
}
.l-menu__item--tech {
	float: left;
}
.l-menu__item--tech:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}
.l-menu__item--recruit {
	padding-left: 5.33333%; 
	width: 33.33333%;
}
.l-menu__item--thumb {
	position: relative; 
	margin-right: 5.33333%;
	padding: 8px;
	width: 28%;
	height: 168px;
}
.l-menu__item .c-olst__txtarea {
	position: relative;
	z-index: 1; 
	padding: 16px 30px 16px 16px;
	width: 100%;
	height: 100%;
}
.l-menu__item .c-olst__num {
	color: #fff; 
	font-size: 32px;
	font-size: 2rem;
	line-height: 1.3125;
}
.l-menu__item .c-olst__type {
	margin: 0;
	padding: 0; 
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.69231;
}
.l-menu__item .c-olst__type:after {
	content: none;
}
.l-menu__item .c-olst__ttl {
	color: #fff; 
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.69231;
}
.l-menu__item .c-mask-alpbk {
	transition: .3s ease;
}
.l-menu__item span {
	display: inline-block;
}
.l-menu__item .c-pllst li {
	line-height: 1.25;
}
.l-menu__item .c-pllst li + li {
	margin-top: 7px;
}
.l-menu__btn {
	margin-top: 42px; 
	width: 100% !important;
}

.l-overlay {
	z-index: 88; 
	display: none;
}

#close-trg {
	position: absolute;
	top: 0;
	left: 0; 
	display: block;
	width: 28.57143%;
	height: 120px;
}

.l-breadcrumb {
	position: relative; 
	padding: 13px 6.4%;
}
.l-breadcrumb:after {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 4px;
	background-image: linear-gradient(90deg, #d71518, #d77515); 
	content: "";
}
.l-breadcrumb meta {
	display: none;
}
.l-breadcrumb span[property="name"] {
	padding: 0 1em; 
	color: #000;
	font-size: 12px;
	font-size: .75rem;
	line-height: 1.5;
}
.l-breadcrumb a span[property="name"] {
	text-decoration: underline;
}
.l-breadcrumb__top {
	padding-left: 0 !important;
}

.l-topsection {
	position: relative; 
	width: 100%;
}
.l-topsection__header {
	box-sizing: content-box; 
	width: 100%;
	height: 87px;
}
.l-topsection__ttl,
.l-topsubsection__ttl {
	position: relative; 
	padding-left: 6.4%;
	font-weight: 500;
	font-style: normal;
	font-size: 36px;
	font-size: 2.25rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.16667;
}
.l-topsection__ttl:before,
.l-topsubsection__ttl:before {
	-ms-transform-origin: right center;
	    transform-origin: right center;
}
.l-topsection__ttl span,
.l-topsubsection__ttl span {
	display: block; 
	font-style: normal;
	font-size: 12px;
	font-size: .75rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
}
.l-topsection__body {
	position: relative;
}
.l-topsection__more {
	padding: 19px 0 !important;
	border: none !important; 
	background-color: #d71518;
	color: #fff !important;
	text-align: center;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	font-size: 1rem;
	font-family: "Oswald", sans-serif;
	line-height: 1;
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.l-topsection__more:before {
	background-color: #d71518 !important;
}
.l-topsection__more--bk {
	background-color: #000;
}

.l-topsubsection {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	overflow: hidden;
	width: 100%;

	-ms-flex-flow: column wrap;

	    flex-flow: column wrap;
	-ms-flex-line-pack: start;
	    align-content: flex-start;
	-ms-flex-pack: start;
	    justify-content: flex-start;
}
.l-topsubsection__header {
	position: relative;
	padding-top: 32px;
	padding-bottom: 32px;
	width: 93.6%;
	background-color: #000;
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.l-topsubsection__ttl {
	padding-left: 8.10811%; 
	color: #fff;
}
.l-topsubsection__body {
	position: relative;
	width: 93.6%;
	-ms-transform-origin: left center;
	    transform-origin: left center;
}

.l-section,
.l-subsection {
	padding: 0;
}
.l-section--txt,
.l-subsection--txt {
	padding: 70px 6.4% 0; 
	width: 100%;
}
.l-section--txt h4,
.l-subsection--txt h4 {
	margin-bottom: 18px;
}
.l-section--txt p,
.l-subsection--txt p {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.l-section--txt p + p,
.l-subsection--txt p + p,
.l-section--txt p + ul,
.l-subsection--txt p + ul,
.l-section--txt p + ol,
.l-subsection--txt p + ol {
	margin-top: 28px;
}
.l-section--txt ul + p,
.l-subsection--txt ul + p,
.l-section--txt ul + ul,
.l-subsection--txt ul + ul,
.l-section--txt ul + ol,
.l-subsection--txt ul + ol,
.l-section--txt ol + p,
.l-subsection--txt ol + p,
.l-section--txt ol + ul,
.l-subsection--txt ol + ul,
.l-section--txt ol + ol,
.l-subsection--txt ol + ol {
	margin-top: 28px;
}
.l-section--txt li,
.l-subsection--txt li {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.l-section--txt li ol,
.l-subsection--txt li ol,
.l-section--txt li ul,
.l-subsection--txt li ul {
	margin-left: 1em;
}
.l-section--txt a,
.l-subsection--txt a {
	color: #d71518;
	text-decoration: underline;
}
.l-section--full {
	padding: 0;
}
.l-section__header {
	position: relative; 
	padding: 48px 6.4%;
	width: 93.6%;
	background-image: linear-gradient(90deg, #d71518 10%, #d77515 50%, #d77515 60%, #d71518);
	background-position: left center;
	background-size: 200% 100%;
	background-repeat: no-repeat;
}
.l-section__header h3 {
	position: relative;
	display: inline-block;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 1.25;
}
.l-section__body {
	position: relative;
	z-index: 1;
}
.l-section__body--txt {
	padding: 64px 6.4% 0; 
	width: 100%;
}
.l-section__body--txt p {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.l-section__body--txt p + p,
.l-section__body--txt p + ul,
.l-section__body--txt p + ol {
	margin-top: 28px;
}
.l-section__body--txt ul + p,
.l-section__body--txt ul + ul,
.l-section__body--txt ul + ol,
.l-section__body--txt ol + p,
.l-section__body--txt ol + ul,
.l-section__body--txt ol + ol {
	margin-top: 28px;
}
.l-section__body--txt li {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.l-section__body--txt li ol,
.l-section__body--txt li ul {
	margin-left: 1em;
}
.l-section__img {
	width: 100%;
}
.l-section + .l-section,
.l-subsection + .l-section,
.l-section + .l-subsection,
.l-subsection + .l-subsection {
	margin-top: 52px;
}

.l-subsection--txt {
	padding: 40px 6.4% 0;
}

.l-col2 {
	display: -ms-flexbox;
	display: flex;
	width: 100%;

	-ms-flex-flow: column wrap;

	    flex-flow: column wrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.l-col2 > div {
	width: 100%;
}
.l-col2 .c-olst__img {
	margin-left: 6.4%; 
	width: 92.5%;
}
.l-col2 .c-olst__txtarea {
	margin-top: 10px;
	padding: 0 6.4%;
}
.l-col2--reverse {
	-ms-flex-flow: column wrap;
	    flex-flow: column wrap;
}
.l-col2--reverse .c-olst__img {
	margin-left: 0;
}

.l-topicks {
	position: relative;
	z-index: 70;
	display: -ms-flexbox;
	display: flex;
	padding: 32px 13.96011% 40px 6.83761%;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.l-topicks__header {
	width: 100%;
}
.l-topicks__body {
	width: 100%;
}
.l-topicks__name {
	position: absolute;
	top: 50%;
	right: 3.07692%;
	display: none;
	color: #000;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	font-size: 1rem;
	font-family: "Oswald", sans-serif;
	line-height: 1;

	-webkit-writing-mode: vertical-rl;

	    -ms-writing-mode: tb-rl;

	        writing-mode: vertical-rl;
}
.l-topicks__name--recruit {
	height: 110px;
	-ms-transform: translateY(-49px);
	    transform: translateY(-49px);
}

.l-contact {
	padding: 40px 6.4% 0;
}
.l-contact--grd .l-contact__body {
	border: none; 
	background-image: linear-gradient(90deg, #d71518 10%, #d77515 50%, #d77515 60%, #d71518);
	background-position: left center;
	background-size: 200% 100%;
	background-repeat: no-repeat;
}
.l-contact--tech {
	padding-bottom: 60px;
}
.l-contact__body {
	padding: 45px 8.82353%;
	width: 100%;
	border: solid 1px rgba(0, 0, 0, .5); 
	text-align: center;
}
.l-contact__ttl {
	margin-bottom: 20px; 
	font-weight: 500;
	font-style: normal;
	font-size: 36px;
	font-size: 2.25rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
}
.l-contact__ttl span {
	display: block;
	font-weight: 400; 
	font-style: normal;
	font-size: 15px;
	font-size: .9375rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 2;
}
.l-contact__txt {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1.33333;
}
.l-contact__txt--plane {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 2;
}
.l-contact__tel {
	display: -ms-flexbox;
	display: flex;
	margin-top: 16px;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.l-contact__tel dl {
	position: relative; 
	padding: 16px 0;
	width: 100%;
	text-align: center;
}
.l-contact__tel dl:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background-color: rgba(0, 0, 0, .25); 
	content: "";
}
.l-contact__tel dl:last-child:after {
	position: absolute;
	top: auto;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background-color: rgba(0, 0, 0, .25); 
	content: "";
}
.l-contact__tel dt {
	white-space: nowrap; 
	font-weight: 700;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.66667;
}
.l-contact__tel dd {
	white-space: nowrap; 
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.66667;
}
.l-contact__tel dd a {
	color: currentColor;
}
.l-contact__tel dd a:hover,
.l-contact__tel dd a:visited,
.l-contact__tel dd a:focus {
	color: #d71518;
}
.l-contact__btn {
	margin-top: 24px; 
	font-weight: 700;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif !important;
}

.l-subcontact {
	padding: 48px 0 110px;
	text-align: center;
}
.l-subcontact__lead {
	padding: 24px; 
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.l-subcontact__body {
	padding: 20px 5.97015%;
	border: solid 1px rgba(0, 0, 0, .25);
}
.l-subcontact__ttl {
	font-weight: 700; 
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.l-subcontact__txt {
	margin-top: 0 !important; 
	font-size: 13px !important;
	font-size: .8125rem !important;
	line-height: 20px !important;
}

.l-anchor {
	position: fixed;
	top: calc(50vh - 82px);
	right: 2.57143%;
	z-index: 60;
	display: none;
}
.l-anchor__body {
	position: relative; 
	width: 28px;
	height: 200px;
	text-align: right;
}
.l-anchor__body:before {
	position: absolute;
	top: 98px;
	right: 14px;
	display: block;
	width: 1px;
	height: 36px;
	background-color: #000;
	content: "";
	transition: .3s cubic-bezier(.95, .05, .795, .035); 
	-ms-transform: scale(1, 0); 
	    transform: scale(1, 0);
}
.l-anchor p {
	display: inline-block;
	overflow: hidden;
	margin-right: 2.42857%; 

	-webkit-writing-mode: vertical-rl; 

	    -ms-writing-mode: tb-rl; 

	        writing-mode: vertical-rl;
}
.l-anchor a {
	position: relative;
	display: block;
	padding: 5px;
	color: #000;
	letter-spacing: .1em;
	font-weight: 400;
	font-style: normal;
	font-size: 12px;
	font-size: .75rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
	transition: .3s cubic-bezier(.95, .05, .795, .035);
}

.l-scroll {
	height: 98px;
}
.l-scroll a {
	-ms-transform: translateY(0);
	    transform: translateY(0);
}

.l-pagetop {
	position: absolute;
	right: 0; 
	bottom: 0;
}
.l-pagetop a {
	-ms-transform: translateY(0);
	    transform: translateY(0);
}

.is-pagetop .l-scroll a {
	-ms-transform: translateY(104px);
	    transform: translateY(104px);
}

.is-pagetop .l-anchor__body:before {
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
	animation: scrollup2 2s 1s infinite cubic-bezier(.645, .045, .355, 1);
}

.is-pagetop .l-anchor__body:hover:before {
	animation: scrollup .8s 1 cubic-bezier(.645, .045, .355, 1);
}

.is-scroll .l-pagetop a {
	-ms-transform: translateY(-104px);
	    transform: translateY(-104px);
}

.is-scroll .l-anchor__body:before {
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
	animation: scrolldown2 2s 1s infinite cubic-bezier(.645, .045, .355, 1);
}

.is-scroll .l-anchor__body:hover:before {
	animation: scrolldown .8s 1 cubic-bezier(.645, .045, .355, 1);
}

.is-white a {
	color: #fff !important;
}

.is-white .l-anchor__body:before {
	background-color: #fff;
}

.l-loading {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 100vh;
	background-color: #000;
	-ms-transform-origin: right center;
	    transform-origin: right center; 

	-ms-flex-flow: row nowrap; 

	    flex-flow: row nowrap;
	-ms-flex-pack: center;
	    justify-content: center;
	-ms-flex-align: center;
	    align-items: center;
}
.l-loading__logo {
	display: inline-block;
	max-width: 70%;
}
.l-loading__logo svg {
	width: 100%;
}
.l-loading__mask {
	position: fixed;
	top: 0;
	left: 0; 
	width: 100%;
	height: 100%;
}

.c-mask,
.c-mask-r,
.c-mask-bk,
.c-mask-alpbk,
.c-mask-wh,
.c-mask-lgr {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 80;
	display: block;
	width: 100%;
	height: 100%;
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
	-ms-transform-origin: center right;
	    transform-origin: center right;
}

.c-mask-r {
	background-color: #d71518;
}

.c-mask-bk {
	background-color: #000;
}

.c-mask-alpbk {
	z-index: 0; 
	background-color: rgba(0, 0, 0, .6);
}

.c-mask-wh {
	background-color: #fff;
}

.c-mask-lgr {
	background-color: #f9f9f9;
}

.c-mask-box {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 45;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 100%;
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);

	-ms-flex-flow: row nowrap;

	    flex-flow: row nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: stretch;
	    align-items: stretch;
}
.c-mask-box > div {
	position: static; 
	width: 25%;
}

.c-txt-mask:before {
	-ms-transform: scale(1, 1) !important;
	    transform: scale(1, 1) !important;
}

.c-mask-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .8);
	background-image: linear-gradient(-45deg, transparent 25%, rgba(0, 0, 0, .2) 25%, rgba(0, 0, 0, .2) 50%, transparent 50%, transparent 75%, rgba(0, 0, 0, .2) 75%, rgba(0, 0, 0, .2));
	background-position: left top;
	background-size: 4px 4px; 
	background-repeat: repeat;
}

.c-mask-stripe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .5);
	background-image: linear-gradient(-45deg, transparent 25%, rgba(0, 0, 0, .2) 25%, rgba(0, 0, 0, .2) 50%, transparent 50%, transparent 75%, rgba(0, 0, 0, .2) 75%, rgba(0, 0, 0, .2));
	background-position: left top;
	background-size: 4px 4px; 
	background-repeat: repeat;
}

.c-anim {
	position: relative;
}

[class*="c-anim-L"] {
	-ms-transform-origin: left center;
	    transform-origin: left center;
}

[class*="c-anim-R"] {
	-ms-transform-origin: right center;
	    transform-origin: right center;
}

.c-btn {
	position: relative;
	display: block;
	padding: 8px 0;
	width: 100%;
	border: solid 1px rgba(0, 0, 0, .5);
	color: #000;
	text-align: center;
	letter-spacing: .2em; 
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	font-size: .875rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.57143;
}
.c-btn--whalp {
	position: relative;
	display: block;
	padding: 8px 0;
	width: 100%;
	border: solid 1px rgba(255, 255, 255, .5);
	color: #fff;
	text-align: center;
	letter-spacing: .2em; 
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	font-size: .875rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.57143;
}
.c-btn--gralp {
	position: relative;
	display: block;
	padding: 8px 0;
	width: 100%;
	border: solid 1px rgba(0, 0, 0, .25);
	color: #000;
	text-align: center;
	letter-spacing: .2em; 
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	font-size: .875rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.57143;
}

.c-btn-line {
	position: absolute;
	top: 0;
	right: 8%;
	bottom: 0;
	display: block;
	margin: auto;
	max-width: 24px;
	width: 8%;
	height: 1px;
	background-color: rgba(255, 255, 255, .75);
	-ms-transform: translateY(-50%);
	    transform: translateY(-50%);
}
.c-btn-line:before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: block;
	width: 10px;
	height: 1px;
	background-color: rgba(255, 255, 255, .75);
	content: "";
	opacity: 0;
	transition: .3s ease; 
	-ms-transform: rotate(0); 
	    transform: rotate(0);
	-ms-transform-origin: right top;
	    transform-origin: right top;
}

.c-btn-part {
	position: absolute;
	top: 0;
	right: 8.08458%;
	bottom: 0;
	display: block;
	margin: auto;
	width: 1px;
	height: 24px;
	background-color: rgba(255, 255, 255, .75);
}
.c-btn-part:before {
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	width: 1px;
	height: 10px;
	background-color: rgba(255, 255, 255, .75);
	content: "";
	transition: .3s ease; 
	-ms-transform: rotate(0); 
	    transform: rotate(0);
	-ms-transform-origin: center bottom;
	    transform-origin: center bottom;
}
.c-btn-part--bk {
	background-color: black;
}
.c-btn-part--bk:before {
	background-color: black;
}

.c-btn-anchor,
.c-btn-anchor--bk {
	position: relative;
}
.c-btn-anchor:after,
.c-btn-anchor--bk:after {
	position: absolute;
	top: 0;
	right: 25px;
	bottom: 0;
	display: block;
	margin: auto;
	width: 17px;
	height: 6px;
	background-image: url(/common/image/anchor_wh.svg);
	background-position: center;
	background-size: 17px 6px; 
	background-repeat: no-repeat;
	content: "";
}
.c-btn-anchor--bk:after {
	background-image: url(/common/image/anchor.svg);
}

.c-btn-plane,
.c-btn-plane--bk {
	position: relative;
	display: block;
	padding: 20px 0;
	width: 100%;
	border: none;
	background-image: linear-gradient(90deg, #d77515 10%, #d71518 60%, #d77515);
	background-position: left center;
	background-size: 200% 100%;
	background-repeat: no-repeat;
	color: #fff;
	text-align: center;
	letter-spacing: .1em; 
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	font-size: 1rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.625;
}
.c-btn-plane--bk {
	background-color: #000; 
	background-image: none;
	color: #fff;
}

.c-btn-plus {
	position: relative;
}
.c-btn-plus:before {
	position: absolute;
	top: 0;
	right: 23px;
	bottom: 0;
	z-index: 1; 
	display: block;
	margin: auto;
	width: 20px;
	height: 1px;
	background-color: #fff;
	content: "";
}
.c-btn-plus:after {
	position: absolute;
	top: 0;
	right: 23px;
	bottom: 0;
	display: block;
	margin: auto;
	width: 20px;
	height: 1px;
	background-color: #fff;
	content: "";
	-ms-transform: rotate(90deg);
	    transform: rotate(90deg);
	-ms-transform-origin: center;
	    transform-origin: center;
}

.c-btn-back {
	position: relative; 
	display: inline-block;
	color: #000;
	font-size: 14px;
	font-size: .875rem;
	line-height: 2;
}
.c-btn-back:after {
	position: absolute;
	bottom: 0;
	left: 0; 
	display: block;
	width: 100%;
	height: 1px;
	background-color: #bbb;
	content: "";
}

.ico-pdf,
.ico-dxf,
.ico-dwg,
.ico-jww {
	position: absolute;
	top: 0;
	right: 8%;
	bottom: 0;
	display: inline-block;
	margin: auto; 
	height: 24px;
	color: currentcolor;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 1;
}

.ico-anchor {
	position: absolute;
	top: 0;
	right: 8%;
	bottom: 0;
	display: inline-block;
	margin: auto; 
	height: 10px;
	color: currentcolor;
	font-size: 10px;
	font-size: .625rem;
	line-height: 1;
}

.ico-play {
	position: absolute;
	top: 0;
	right: 8%;
	bottom: 0;
	display: inline-block;
	margin: auto; 
	height: 20px;
	color: currentcolor;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 1;
}

.c-table__head {
	font-weight: 700;
}

.c-table__col {
	padding-right: 2em;
}

.c-table__tr {
	display: -ms-flexbox;
	display: flex;
	padding: 24px 0 4px;

	-ms-flex-flow: row nowrap;

	    flex-flow: row nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: stretch;
	    align-items: stretch;
}

.c-table__th {
	border-bottom: solid 1px #bbb; 
	font-weight: 700;
}

.c-table__td {
	border-bottom: solid 1px #bbb;
}

.c-table--col3 .c-table__col {
	width: 37.31343%;
}

.c-table--col3 .c-table__th {
	width: 31.34328%;
}
.c-table-wrap--fix .c-table--col3 .c-table__th {
	width: 200px;
}

.c-table--col3 .c-table__td:last-child {
	width: 31.34328%;
}

.c-table--col4 .c-table__col {
	width: 25%;
}

.c-table--fix .c-table__col {
	width: 200px;

	-ms-flex: 1 0 200px;

	    flex: 1 0 200px;
}

.c-table--fix.c-table--col3 .c-table__col {
	width: 200px;

	-ms-flex: 0 1 auto;

	    flex: 0 1 auto;
}

.c-table-wrap {
	position: relative;
	overflow-x: scroll;
	padding-bottom: 25px;
	width: 100%;

	scrollbar-base-color: #959595;
}
.c-table-wrap::-moz-scrollbar {
	width: 3px;
	height: 10px;
}
.c-table-wrap::-webkit-scrollbar {
	width: 3px;
	height: 10px;
}
.c-table-wrap::-webkit-scrollbar-track {
	background: #000;
	box-shadow: inset 0 0 2px white;
}
.c-table-wrap::-webkit-scrollbar-thumb {
	background: #959595;
}
.c-table-wrap > .c-table {
	min-width: 768px;
}
.c-table-wrap--fix {
	overflow-x: scroll;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
	margin: 3px 0; 
	height: 10px;
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
	border-radius: 0;
}

.mCSB_scrollTools .mCSB_draggerRail {
	background-color: #000;
}

._mCS_1 .mCSB_dragger .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
	background-color: #959595;
}

.c-tbl-slider {
	position: relative; 
	display: -ms-flexbox; 
	display: flex;
	padding-top: 38px;

	-ms-flex-flow: row nowrap;

	    flex-flow: row nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: stretch;
	    align-items: stretch;
}
.c-tbl-slider--fit {
	padding-top: 0;
}
.c-tbl-slider__head {
	width: 50%;
}
.c-tbl-slider__head .c-tbl-slider__col {
	font-weight: 700;
}
.c-tbl-slider__body {
	overflow: hidden; 
	width: 50%;
}
.c-tbl-slider__body .bx-viewport {
	overflow: visible !important;
}
.c-tbl-slider__col {
	padding-top: 24px;
	padding-right: 16%;
	padding-bottom: 4px;
	border-bottom: solid 1px #bbb; 
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.5;
}
.c-tbl-slider__col span {
	white-space: nowrap;
}
.c-tbl-slider__col--head {
	font-weight: 700;
}
.c-tbl-slider__head .c-tbl-slider__col--line p {
	padding-bottom: 30px;
}
.c-tbl-slider__body .c-tbl-slider__col--line {
	padding-top: 54px;
}
.c-tbl-slider__col--l2 p {
	padding-bottom: 60px;
}
.c-tbl-slider__col--l3 p {
	padding-bottom: 90px;
}
.c-tbl-slider__col--l4 p {
	padding-bottom: 120px;
}
.c-tbl-slider__col--l5 p {
	padding-bottom: 150px;
}
.c-tbl-slider__col--l6 p {
	padding-bottom: 180px;
}
.c-tbl-slider__controls {
	position: absolute;
	top: 12px;
	right: 0; 
	left: 0;
	padding: 0 38px;
	text-align: center;
}
.c-tbl-slider__pager {
	display: inline-block;
}
.c-tbl-slider__prev {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0; 
	margin: auto;
	width: 20px;
	height: 30px;
}
.c-tbl-slider__prev a {
	display: block;
	padding: 11px 0; 
	width: 100%;
	height: 100%;
}
.c-tbl-slider__prev:before {
	position: absolute;
	bottom: 11px;
	left: 0; 
	display: block;
	width: 20px;
	height: 1px;
	background-color: #000;
	content: "";
}
.c-tbl-slider__prev:after {
	position: absolute;
	bottom: 11px;
	left: 0;
	display: block;
	width: 10px;
	height: 1px;
	background-color: #000;
	content: "";
	-ms-transform: rotate(-30deg);
	    transform: rotate(-30deg);
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.c-tbl-slider__next {
	position: absolute;
	top: 0;
	right: 0; 
	bottom: 0;
	margin: auto;
	width: 20px;
	height: 30px;
}
.c-tbl-slider__next a {
	display: block;
	padding: 11px 0; 
	width: 100%;
	height: 100%;
}
.c-tbl-slider__next:before {
	position: absolute;
	right: 0; 
	bottom: 11px;
	display: block;
	width: 20px;
	height: 1px;
	background-color: #000;
	content: "";
}
.c-tbl-slider__next:after {
	position: absolute;
	right: 0;
	bottom: 11px;
	display: block;
	width: 10px;
	height: 1px;
	background-color: #000;
	content: "";
	-ms-transform: rotate(30deg);
	    transform: rotate(30deg);
	-ms-transform-origin: right center;
	    transform-origin: right center;
}
.c-tbl-slider .bx-pager {
	font-size: 0;
}
.c-tbl-slider .bx-pager-item {
	display: inline-block;
}
.c-tbl-slider .bx-pager-item a {
	display: block;
	padding: 0 10px; 
	color: #000;
	font-weight: 400;
	font-style: normal;
	font-size: 17px;
	font-size: 1.0625rem;
	font-family: "Oswald", sans-serif;
	line-height: 1;
}
.c-tbl-slider .bx-pager-item a.active {
	color: #d71518;
}

ul.c-lst,
ol.c-lst {
	padding-left: 16px;
}
ul.c-lst > li,
ol.c-lst > li {
	position: relative;
}
ul.c-lst > li:before,
ol.c-lst > li:before {
	position: absolute;
	top: 12px;
	left: -10px; 
	display: inline-block;
	margin: auto;
	width: 4px;
	height: 4px;
	background-color: #000;
	content: "";
}

ol.c-numlst,
ol.c-numlst--lg {
	padding-left: 1em; 
	counter-reset: num;
}
ol.c-numlst > li:before,
ol.c-numlst--lg > li:before {
	display: inline-block;
	margin-left: -1em; 
	width: 1em;
	content: counter(num) ".";
	counter-increment: num;
}
ol.c-numlst--lg {
	padding-left: 1.5em;
}
ol.c-numlst--lg > li:before {
	margin-left: -1.5em; 
	width: 1.5em;
}
ol.c-numlst--lg > li:first-child:before,
ol.c-numlst--lg > li:nth-child(2):before,
ol.c-numlst--lg > li:nth-child(3):before,
ol.c-numlst--lg > li:nth-child(4):before,
ol.c-numlst--lg > li:nth-child(5):before,
ol.c-numlst--lg > li:nth-child(6):before,
ol.c-numlst--lg > li:nth-child(7):before,
ol.c-numlst--lg > li:nth-child(8):before,
ol.c-numlst--lg > li:nth-child(9):before {
	margin-left: -1em; 
	width: 1em;
}

ol.c-cnlst {
	padding-left: 1em; 
	counter-reset: cnum;
}
ol.c-cnlst > li:before {
	display: inline-block;
	margin-left: -1em;
	width: 1em;
	height: 1em;
	border: solid 1px currentColor;
	border-radius: 50%; 
	content: counter(cnum) ".";
	counter-increment: cnum;
}

.c-astlst {
	padding-left: 15px;
}
.c-astlst > li:before {
	display: inline-block;
	margin-left: -15px; 
	width: 15px;
	content: "※";
	font-size: .8em;
}
.c-astlst--sm li {
	font-size: 13px;
	font-size: .8125rem;
	line-height: 2;
}

.c-olst__body {
	position: relative; 
	width: 100%;
}

.c-olst__img {
	position: relative;
	overflow: hidden;
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.c-olst__img img {
	width: 100%;
	height: auto;
}

.c-olst__type {
	position: relative; 
	margin-bottom: 11px;
	padding-bottom: 10px;
	color: #d71518;
	font-style: normal;
	font-size:2.2rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 2;
}
.c-olst__type:after {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 24px;
	height: 1px;
	background-color: #d71518; 
	content: "";
}

.c-olst__num {
	position: relative;
	letter-spacing: 0 !important; 
	font-weight: 300;
	font-style: normal;
	font-size: 50px;
	font-size: 3.125rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.16;
}
.c-olst__num + .c-olst__name {
	margin-top: 5px;
}

.c-olst__name {
	font-weight: 700; 
	font-style: normal;
	font-size: 18px;
	font-size: 1.125rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
}
.c-olst__name + .c-olst__txt {
	margin-top: 8px;
}

.c-olst__ttl {
	font-style: normal;
	font-size: 1.2rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
	padding-left:90px;
}

.c-olst__txt {
	font-style: normal;
	font-size: 13px;
	font-size: .8125rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 2;
}

.c-olst__disc {
	margin-top: 4px; 
	font-style: normal;
	font-size: 13px;
	font-size: .8125rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
}

.c-olst__sup {
	margin-top: 10px;
}
.c-olst__sup dt {
	font-weight: 700; 
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.c-olst__sup dd {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}

.c-blst {
	position: relative;
	box-sizing: border-box; 
	padding: 40px 6.4% 32px;
}
.c-blst__ttl {
	position: relative; 
	margin-bottom: 16px;
	padding-right: 34px;
	padding-bottom: 16px;
	color: #fff;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
	font-size: 1.25rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
}
.c-blst__ttl:after {
	position: absolute;
	bottom: 0;
	left: 0; 
	display: block;
	width: 24px;
	height: 1px;
	background-color: #000;
	content: "";
}
.c-blst__txt {
	padding-right: 34px; 
	color: #000;
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.84615;
}
.c-blst li > a {
	color: #fff; 
	font-weight: 500;
	font-style: normal;
	font-size: 13px;
	font-size: .8125rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
}
.c-blst li + li {
	margin-top: 5px;
}
.c-blst__name {
	position: absolute;
	top: 48px;
	right: 8.53333%;
	color: #000;
	letter-spacing: .08em;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	font-size: 1rem;
	font-family: "Oswald", sans-serif;
	line-height: 1;
	-ms-transform: rotate(90deg) translateX(100%);
	    transform: rotate(90deg) translateX(100%);
	-ms-transform-origin: 100% 0;
	    transform-origin: 100% 0;
}
.c-blst__body {
	position: relative;
}
.c-blst__body > .c-blst__name {
	top: 6px;
	right: 0;
}

.c-ullst {
	overflow: hidden;
}
.c-ullst__item {
	position: relative;
	display: inline-block;
	float: left;
	clear: both; 
	margin-bottom: 7px;
}
.c-ullst__item:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}
.c-ullst a {
	padding: 5px 0 10px;
	box-shadow: 0 -1px 0 0 #fff inset; 
	color: #fff;
	font-style: normal;
	font-size: 13px;
	font-size: .8125rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
	transition: .3s;
}

.c-thlst {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: column wrap;

	    flex-flow: column wrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.c-thlst__item {
	position: relative; 
	margin-bottom: 40px;
	padding: 0 6.4%;
	width: 100%;
}
.c-thlst__item--btn {
	padding-bottom: 60px;
}
.c-thlst__item--btn .c-thlst__txtarea {
	padding: 20px 0;
}
.c-thlst__item--btn .c-btn {
	position: absolute;
	bottom: 0;
	left: 6.4%; 
	width: 85%;
}
.c-thlst__item > a:not(.c-btn) {
	display: block;
	transition: .3s ease;
}
.c-thlst__img img {
	width: 100%;
	height: auto;
}
.c-thlst__label {
	position: absolute;
	top: -20px;
	left: 0; 
	display: inline-block;
	width: 100px;
	background-image: linear-gradient(90deg, #d71518 10%, #d77515 50%, #d77515 60%, #d71518);
	background-position: left center;
	background-size: 200% 100%;
	background-repeat: no-repeat;
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 13px;
	font-size: .8125rem;
	line-height: 2.15385;
}
.c-thlst__txtarea {
	position: relative; 
	padding: 20px 0 0;
}
.c-thlst__name {
	color: #000;
	font-weight: 700; 
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}
.c-thlst__category,
.c-thlst__disc {
	color: #d71518;
	font-weight: 700; 
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.5;
}
.c-thlst__tag {
	margin-top: 8px; 
	color: #000;
	font-size: 12px;
	font-size: .75rem;
	line-height: 1.5;
}
.c-thlst__tag span {
	position: relative; 
	display: inline;
}
.c-thlst__tag span:not(:first-child) {
	margin-left: 6px;
	padding-left: 6px;
}
.c-thlst__tag span:not(:first-child):before {
	position: absolute;
	top: 2px;
	left: 0;
	display: block;
	width: 1px;
	height: 10px;
	background-color: rgba(0, 0, 0, .3); 
	content: "";
}
.c-thlst__txt {
	margin-top: 5px; 
	color: #000;
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.5;
}

.c-dllst dl {
	display: -ms-flexbox;
	display: flex;
	border-bottom: solid 1px #bbb;
	vertical-align: top;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: stretch;
	    align-items: stretch;
}

.c-dllst dt,
.c-dllst dd {
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.5;
}

.c-dllst dt {
	padding-top: 24px; 
	width: 100%;
	font-weight: 700;
}

.c-dllst dd {
	padding-bottom: 4px; 
	width: 100%;
}

.c-dllst a {
	color: #d71518;
	text-decoration: underline;
}

.c-dllst--col3 dl {
	display: block;
	overflow: hidden;
	padding-top: 24px;
}

.c-dllst--col3 dt {
	float: left; 
	padding-top: 0;
	padding-right: 6.11621%;
	width: 25%;
}
.c-dllst--col3 dt:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}

.c-dllst--col3 dd {
	float: right; 
	padding: 0 0 4px;
	width: 75%;
}
.c-dllst--col3 dd:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}

.c-pllst {
	overflow: hidden;
}
.c-pllst li {
	position: relative;
	display: inline-block;
	float: left;
	clear: left;
}
.c-pllst li:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}
.c-pllst li a {
	padding-bottom: 2px; 
	color: #fff;
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.53846;
}

.c-tgllst__item {
	border-bottom: solid 1px rgba(0, 0, 0, .25);
}
.c-tgllst__item:first-child {
	border-top: solid 1px rgba(0, 0, 0, .25);
}
.c-tgllst__item.is-disabled .c-tgllst__header p:after {
	display: block;
	content: "※現在、経験者採用は行っておりません。";
	font-weight: 400; 
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.73077;
}
.c-tgllst__item.is-open .c-tgllst__header a {
	background-color: #000;
	color: #fff;
}
.c-tgllst__item.is-open .c-tgllst__header a .c-tgllst__toggle > div:before,
.c-tgllst__item.is-open .c-tgllst__header a .c-tgllst__toggle > div:after {
	background-color: #fff;
}
.c-tgllst__item.is-open .c-tgllst__header a .c-tgllst__toggle > div:after {
	-ms-transform: rotate(0);
	    transform: rotate(0);
}

.c-tgllst__header {
	position: relative; 
	font-weight: 700;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.5;
}
.c-tgllst__header a {
	display: -ms-flexbox;
	display: flex;
	padding: 16px 2.98507%;
	width: 100%;
	height: 100%;
	transition: .3s ease;

	-ms-flex-flow: row nowrap;

	    flex-flow: row nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: center;
	    align-items: center;
}

.c-tgllst__body {
	display: none; 
	padding: 0 7.33945%;
	border-top: solid 1px rgba(0, 0, 0, .25);
}
.c-tgllst__body .c-dllst dl:last-child {
	border-bottom: none;
}

.c-tgllst__toggle {
	position: absolute;
	top: 0;
	right: 2.98507%; 
	bottom: 0;
	margin: auto;
	width: 15px;
	height: 15px;
}
.c-tgllst__toggle > div {
	position: relative; 
	width: 100%;
	height: 100%;
}
.c-tgllst__toggle > div:before,
.c-tgllst__toggle > div:after {
	position: absolute;
	top: 7px;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background-color: #000;
	content: "";
	transition: .3s ease;
}
.c-tgllst__toggle > div:after {
	-ms-transform: rotate(90deg);
	    transform: rotate(90deg);
	-ms-transform-origin: center;
	    transform-origin: center;
}

dl.c-dtlst {
	width: 100%;
	font-size: 0;
}
dl.c-dtlst dt,
dl.c-dtlst dd {
	display: inline-block;
	margin-bottom: 8px; 
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.53846;
}
dl.c-dtlst dt {
	padding-right: 1em;
	width: 25%;
	color: #d71518;
	vertical-align: top; 
	font-weight: 700;
}
dl.c-dtlst dd {
	width: 75%;
}

.c-fllst li {
	overflow: hidden;
}
.c-fllst li + li {
	margin-top: 18px;
}
.c-fllst li p {
	display: inline-block;
	width: 100%; 
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2.66667;
}
.c-fllst li .c-btn {
	width: 100%; 
	color: #000;
	text-decoration: none;
}

.c-imglst {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: row wrap;

	    flex-flow: row wrap;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	-ms-flex-align: start;
	    align-items: flex-start;
	-ms-flex-line-pack: start;
	    align-content: flex-start;
}
.c-imglst li {
	width: 46.33028%;
}
.c-imglst figure img {
	width: 100%;
}
.c-imglst figure figcaption {
	padding: 9px 0 20px; 
	text-align: right;
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.5;
}
.c-imglst--col3 li {
	width: 100%;
}

.c-hd-style {
	text-align: center;
}
.c-hd-style__ttl {
	color: #d71518;
	font-weight: 400;
	font-style: normal;
	font-size: 18px;
	font-size: 1.125rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.c-hd-style__name {
	color: #fff;
	white-space: nowrap;
	font-weight: 400;
	font-style: normal;
	font-size: 60px;
	font-size: 3.75rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.c-hd-style__copy {
	margin-top: 10px;
	color: #fff;
	font-style: normal;
	font-size: 12px;
	font-size: .75rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
	-ms-transform-origin: left center;
	    transform-origin: left center;
}

.c-hdl2 {
	position: relative; 
	display: inline-block;
	font-weight: 400;
	font-style: normal;
	font-size: 30px;
	font-size: 1.875rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.1;
}
.c-hdl2:before {
	-ms-transform-origin: right center;
	    transform-origin: right center;
}
.c-hdl2 span:not([class]) {
	display: block; 
	margin-top: 10px;
	font-style: normal;
	font-size: 12px;
	font-size: .75rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
}
.c-hdl2 a {
	color: currentcolor;
}

.c-hdl3,
.c-hdl3--bk,
.p-pro-kind__item .c-olst__name,
.p-co-info__name,
.p-news-detail__body h2,
.p-news-detail__body h3,
.p-news-detail__body h4 {
	position: relative; 
	margin-bottom: 16px;
	padding-bottom: 15px;
	color: #fff;
	font-weight: 700;
	font-style: normal;
	font-size: 2rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
}
.c-hdl3:after,
.c-hdl3--bk:after,
.p-pro-kind__item .c-olst__name:after,
.p-co-info__name:after,
.p-news-detail__body h2:after,
.p-news-detail__body h3:after,
.p-news-detail__body h4:after {
	position: absolute;
	bottom: 0;
	left: 0; 
	display: block;
	width: 24px;
	height: 1px;
	background-color: #000;
	content: "";
}
.c-hdl3--bk,
.p-pro-kind__item .c-olst__name {
	color: #000;
}
.c-hdl3--bk:after,
.p-pro-kind__item .c-olst__name:after {
	background-color: #d71518;
}
.c-hdl3 a,
.c-hdl3--bk a,
.p-pro-kind__item .c-olst__name a,
.p-co-info__name a,
.p-news-detail__body h2 a,
.p-news-detail__body h3 a,
.p-news-detail__body h4 a {
	padding-bottom: 4px;
	color: currentcolor;
	transition: .3s ease;
}

.c-hdl4 {
	position: relative; 
	margin-bottom: 32px;
	padding-left: 12px;
	color: #000;
	font-weight: 500;
	font-style: normal;
	font-size: 22px;
	font-size: 1.375rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.63636;
}
.c-hdl4:after {
	position: absolute;
	top: 2px;
	left: 0; 
	display: block;
	width: 4px;
	height: 30px;
	background-color: #d71518;
	content: "";
}
.c-hdl4 span {
	margin-left: 8px; 
	font-weight: 400;
	font-style: normal;
	font-size: 12px;
	font-size: .75rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 3;
}
.c-hdl4 a {
	color: currentcolor;
}

.c-hdl5,
.c-hdl5--bk {
	color: #fff; 
	font-weight: 700;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 1.5;
}
.c-hdl5 a,
.c-hdl5--bk a {
	color: currentcolor;
}
.c-hdl5--bk {
	color: #000;
}

.c-hdl6,
.c-hdl6--bk {
	color: #fff; 
	font-weight: 700;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1.66667;
}
.c-hdl6 a,
.c-hdl6--bk a {
	color: currentcolor;
}
.c-hdl6--bk {
	color: #000;
}

.c-flow__item {
	position: relative; 
	display: -ms-flexbox; 
	display: flex;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: stretch;
	    align-items: stretch;
}
.c-flow__item + .c-flow__item {
	padding-top: 40px;
}
.c-flow__item + .c-flow__item:before {
	position: absolute;
	top: 8px;
	right: 0; 
	left: 0;
	display: block;
	margin: auto;
	width: 1px;
	height: 24px;
	background-color: #000;
	content: "";
}
.c-flow__item > div {
	padding: 19px 7.33945%;
}

.c-flow__name {
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	border: solid 1px #000;
	text-align: center;
	font-weight: 700;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;

	-ms-flex-pack: center;

	    justify-content: center;
	-ms-flex-align: center;
	    align-items: center;
}

.c-flow__detail {
	width: 100%;
	border-right: solid 1px #000;
	border-bottom: solid 1px #000;
	border-left: solid 1px #000;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.c-flow__detail strong {
	color: #d71518;
	font-weight: 700;
}

.c-flow__ttl + .c-flow__txt {
	margin-top: 12px;
}

.c-flow__txt {
	font-size: 13px !important;
	font-size: .8125rem !important;
}

.c-form > p {
	position: relative; 
	margin-bottom: 16px;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.5;
}
.c-form > p + p {
	margin-top: 16px;
}
.c-form > p > input,
.c-form > p > textarea {
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}
.c-form > p span.is-attention {
	display: block;
	color: #d71518;
}

.c-form label {
	display: block;
	font-weight: 700;
}
.c-form label.radio {
	display: inline-block;
	margin-bottom: 6px; 
	font-weight: 400;
}

.c-form .selectbox {
	position: relative;
}
.c-form .selectbox:after {
	position: absolute;
	bottom: 22px;
	left: 66.97248%;
	display: inline-block;
	margin: auto; 
	width: 12px;
	height: 4px;
	background-image: url(../image/anchor.svg);
	background-position: center;
	background-size: 12px 4px;
	background-repeat: no-repeat;
	content: "";
}

.c-form .pref select {
	position: relative; 
	padding: 9px 16px;
	width: 100%;
	border: solid 1px #bbb;
	border-radius: 0;
}

.c-form .pref:after {
	position: absolute;
	top: 42px;
	right: 20px;
	display: inline-block;
	margin: auto; 
	width: 12px;
	height: 4px;
	background-image: url(../image/anchor.svg);
	background-position: center;
	background-size: 12px 4px;
	background-repeat: no-repeat;
	content: "";
}

.c-form .month,
.c-form .day {
	position: relative; 
	padding: 9px 16px;
	width: 100%;
	border: solid 1px #bbb;
	border-radius: 0;
}

.c-form textarea,
.c-form input:not(.inline) {
	width: 100%;
}

.c-form input:not([type="submit"]),
.c-form textarea {
	margin-bottom: 4px;
	padding: 8px 16px;
	border: solid 1px #bbb;
}

.c-form input.inline {
	margin-right: .99502%;
}
.c-form input.inline + input.inline,
.c-form input.inline + span {
	margin-left: 2.98507%;
}
.c-form input.inline.year,
.c-form input.inline[id^="bdyear"],
.c-form input.inline[id^="abyear"],
.c-form input.inline[id^="weyear"] {
	width: 32.11009%;
}
.c-form input.inline.month {
	width: 18.34862%;
}
.c-form input.inline.p-postal-code {
	padding-left: 48px; 
	width: 100%;
}
.c-form input.inline.tel,
.c-form input.inline#emergency {
	width: 100%;
}

.c-form select.month,
.c-form select.day {
	width: 18.34862%;
}

.c-form .abschool {
	margin-top: 8px;
	margin-right: 0; 
	margin-left: 0 !important;
	width: 65.74924%;
}

.c-form select.abschool2 {
	padding-left: 3.73134%;
}

.c-form input[type="radio"] {
	position: absolute;
	overflow: hidden;
	clip: rect(0, 0, 0, 0); 
	margin: -1px;
	padding: 0;
	width: 1px;
	height: 1px;
	border: 0;
}
.c-form input[type="radio"] + .radio {
	position: relative; 
	margin-right: 2.98507%;
	font-weight: 700;
}
.c-form input[type="radio"] + .radio:before {
	display: inline-block;
	margin-right: 8px;
	width: 16px;
	height: 16px;
	border: solid 1px #bbb;
	border-radius: 50%;
	content: "";
	vertical-align: -2px;
}
.c-form input[type="radio"] + .radio:after {
	position: absolute;
	top: 2px;
	left: 0;
	display: inline-block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: -ms-radial-gradient(center center, circle farthest-side, #d77515 10%, #d71518);
	background: gradient(center, circle farthest-side, #d77515, #d71518);
	background: -webkit-radial-gradient(center center, circle farthest-side, #d77515 10%, #d71518);
	content: "";
	transition: .3s ease; 
	-ms-transform: scale(0); 
	    transform: scale(0);
}
.c-form input[type="radio"]:checked + .radio {
	color: #d71518;
}
.c-form input[type="radio"]:checked + .radio:after {
	-ms-transform: scale(1);
	    transform: scale(1);
}

.c-form .postalcode {
	position: relative;
}
.c-form .postalcode:before {
	position: absolute;
	top: 34px;
	left: 12px; 
	display: inline-block;
	content: "〒";
}

.c-form .c-btn {
	margin: 64px auto 0;
	width: 100%;
	letter-spacing: 0; 
	font-style: normal;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
}

.c-form__btn {
	margin: 32px auto 0; 
	width: 100%;
}
.c-form__btn form + form {
	margin-top: 24px;
}
.c-form__btn .c-btn {
	letter-spacing: 0;
}

input::-webkit-input-placeholder {
	color: #bbb;
	font-weight: normal;
}

input:-ms-input-placeholder {
	color: #bbb;
	font-weight: normal;
}

input::-moz-placeholder {
	color: #bbb;
	font-weight: normal;
}

.filled {
	color: #d71518;
}

.c-img {
	width: 100%;
}
.c-img img {
	width: 100%;
}
.c-img img + dl {
	margin-top: 18px;
}
.c-img figure {
	text-align: left;
}
.c-img figure figcaption {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.c-img figure figcaption + img {
	margin-top: 14px;
}
.c-img--svg img {
	max-width: 340px;
}
.c-img--over {
	width: 100%;
}
.c-img--over img {
	width: 100%;
}
.c-img--full {
	width: 100%;
}
.c-img--full img {
	width: 100%;
}
.c-img--sm {
	width: 100%;
}
.c-img--sm img {
	width: 100%;
}

.c-img-box {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.c-img-box figure.c-img {
	text-align: left;
}
.c-img-box figure.c-img figcaption {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.c-img-box--col2 {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.c-img-box--col2 .c-img img {
	width: 100%;
}

figure[class^="c-img"] {
	text-align: left;
}
figure[class^="c-img"] figcaption {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
figure[class^="c-img"] figcaption.img {
	padding-top: 10px;
	text-align: right;
}
figure[class^="c-img"] figcaption.img img {
	width: auto !important;
}
figure[class^="c-img"] figcaption + img {
	margin-top: 14px;
}

/* .p-product-nav
------------------------------ */
.p-product-nav {
	position: relative;
	z-index: 70; 
	overflow: hidden;
	margin-left: 6.4%;
	width: 93.6%;
	height: 45px;
	background-image: linear-gradient(90deg, #d77515 10%, #d71518 60%, #d77515);
	background-position: left center;
	background-size: 200% 100%;
	background-repeat: no-repeat;
}
.p-product-nav__ttl {
	display: none;
	float: left; 
	padding-left: 3.42857%;
	width: 23.07692%;
}
.p-product-nav__ttl:after {
	left: 16%;
}
.p-product-nav__search {
	display: none;
	width: 69.23077%;
}
.p-product-nav__search > li {
	width: calc(100% / 3);
	border-top: solid 1px rgba(255, 255, 255, .5);
	border-bottom: solid 1px rgba(255, 255, 255, .5);
	border-left: solid 1px rgba(255, 255, 255, .5); 
	text-align: center;
}
.p-product-nav__search > li:last-child {
	border-right: solid 1px rgba(255, 255, 255, .5);
}
.p-product-nav__search > li.is-active a {
	background-color: #fff;
	color: #d71518;
	cursor: default;
}
.p-product-nav__search > li.is-active a:after {
	-ms-transform: rotate(0);
	    transform: rotate(0);
}
.p-product-nav__search a {
	position: relative; 
	display: block;
	padding: 20px;
	color: #fff;
}
.p-product-nav__search a:before,
.p-product-nav__search a:after {
	position: absolute;
	top: 0;
	right: 23px;
	bottom: 0;
	z-index: 1;
	display: block;
	margin: auto;
	width: 20px;
	height: 1px;
	background-color: currentcolor;
	content: "";
	transition: .3s ease;
}
.p-product-nav__search a:after {
	-ms-transform: rotate(90deg);
	    transform: rotate(90deg);
	-ms-transform-origin: center;
	    transform-origin: center;
}
.p-product-nav__items {
	display: none; 
	margin-bottom: 24px;
	margin-left: 23.07692%;
	width: 69.23077%;
}
.p-product-nav__items ul {
	display: -ms-flexbox;
	display: flex;
	width: 100%;

	-ms-flex-flow: row wrap;

	    flex-flow: row wrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: stretch;
	    align-items: stretch;
}
.p-product-nav__items ul > li {
	box-sizing: border-box; 
	border-bottom: solid 1px rgba(255, 255, 255, .5);
	border-left: solid 1px rgba(255, 255, 255, .5);
	text-align: center;
}
.p-product-nav__items ul > li:first-child,
.p-product-nav__items ul > li:nth-child(2),
.p-product-nav__items ul > li:nth-child(3) {
	border-top: solid 1px rgba(255, 255, 255, .5);
}
.p-product-nav__items ul > li:last-child {
	border-right: solid 1px rgba(255, 255, 255, .5);
}
.p-product-nav__items ul > li.is-active a {
	background-color: #fff; 
	color: #d71518;
}
.p-product-nav__items ul > li.is-disabled a {
	pointer-events: none;
}
.p-product-nav__items ul > li li {
	border-top: solid 1px rgba(255, 255, 255, .5);
	border-right: solid 1px rgba(255, 255, 255, .5);
}
.p-product-nav__items a {
	position: relative;
	display: block;
	padding: 20px;
	color: #fff;
	transition: .3s ease;
}
.p-product-nav__items--category {
	margin-bottom: 0;
	padding-top: 24px;
}
.p-product-nav__items--category ul > li {
	width: 50%;
}
.p-product-nav__items--category ul > li.is-active a:after {
	background-image: url(/common/image/anchor_r.svg);
}
.p-product-nav__items--category ul > li:nth-child(2n) {
	border-right: solid 1px rgba(255, 255, 255, .5);
}
.p-product-nav__items--product {
	float: left; 
	margin-bottom: 84px;
	padding-top: 24px;
	width: calc(34.61538% + 1px);
}
.p-product-nav__items--product:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}
.p-product-nav__items--product ul {
	width: 100%;
}
.p-product-nav__items--product li {
	width: 100%;
	border-right: solid 1px rgba(255, 255, 255, .5);
}
.p-product-nav__items--product li:not(:first-child) {
	border-top: none !important;
}
.p-product-nav__items--service {
	float: right; 
	margin-right: 7.69231%;
	margin-left: 0;
	padding-top: 24px;
	width: calc(34.61538% - 1px);
}
.p-product-nav__items--service:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}
.p-product-nav__items--service ul {
	display: none;
}
.p-product-nav__items--service li {
	width: 100%;
	border-right: solid 1px rgba(255, 255, 255, .5); 
	border-left: none !important;
}
.p-product-nav__items--service li:not(:first-child) {
	border-top: none !important;
}
.p-product-nav__items--use {
	padding-top: 24px;
}
.p-product-nav__items--use li {
	width: 33.33333%;
}
.p-product-nav__items--use li:nth-child(3n) {
	border-right: solid 1px rgba(255, 255, 255, .5);
}
.p-product-nav__items--use li:last-child {
	width: calc(33.3333% + 1px);
}
.p-product-nav__items--type {
	padding-top: 24px;
}
.p-product-nav__items--type ul {
	margin-top: -4px;
	margin-left: -4px;
}
.p-product-nav__items--type li {
	margin: 4px;
	border: solid 1px rgba(255, 255, 255, .5);
}
.p-product-nav__items--type li:nth-child(3n) {
	border-right: solid 1px rgba(255, 255, 255, .5);
}
.p-product-nav__items--type a {
	position: relative;
	display: block;
	padding: 8px;
	color: #fff;
	font-size: 12px;
	font-size: .75rem;
	line-height: 1;
	transition: .3s ease;
}
.p-product-nav__name {
	position: absolute;
	top: 50%;
	right: 3.07692%;
	display: none;
	color: #000;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	font-size: 1rem;
	font-family: "Oswald", sans-serif;
	line-height: 1;

	-webkit-writing-mode: vertical-rl;

	    -ms-writing-mode: tb-rl;

	        writing-mode: vertical-rl;
}
.p-product-nav__name--product {
	height: 160px;
	-ms-transform: translateY(-73px);
	    transform: translateY(-73px);
}
.p-product-nav__btn {
	display: none;
	float: right;
	overflow: hidden; 
	margin-right: 7.69231%;
	width: 23.07692%;
}
.p-product-nav__btn:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}
.p-product-nav__btn a {
	-ms-transform: translateY(-60px);
	    transform: translateY(-60px);
	-ms-transform-origin: left top;
	    transform-origin: left top;
}

/* .p-product
------------------------------ */
.p-product--index {
	margin-top: 60px;
	padding-bottom: 60px;
}
.p-product--index .p-product__item {
	padding-bottom: 85px;
}
.p-product--index .p-product__body {
	padding-bottom: 0;
}

.p-product__item {
	position: relative;
}
.p-product__item--reverse {
	overflow: hidden;
}
.p-product__item--reverse .p-product__header {
	margin-left: 6.4%;
	padding-left: 0;
}
.p-product__item--reverse .p-product__name,
.p-product__item--reverse .p-product__btn {
	margin-left: 8.10811%;
}
.p-product__item--reverse .p-product__img {
	margin-left: 0;
}
.p-product__item--category {
	position: relative;
}
.p-product__item--category .p-product__header {
	width: 93.6%;
}
.p-product__item--category .p-product__img {
	margin-left: 6.4%; 
	width: 93.6%;
}
.p-product__item--category .p-product__img img {
	width: 100%;
	height: auto;
}
.p-product__item--category.p-product__item--reverse .p-product__name {
	margin-left: 6.83761%;
}
.p-product__item--category.p-product__item--reverse .p-product__img {
	margin-left: 0;
}
.p-product__item + .p-product__item {
	margin-top: 60px;
}

.p-product__header {
	padding: 40px 8.10811%;
	width: 93.6%;
	background-image: linear-gradient(90deg, #d71518 10%, #d77515 50%, #d77515 60%, #d71518);
	background-position: left center; 
	background-size: 200% 100%;
	background-repeat: no-repeat;
}

.p-product__name {
	position: relative; 
	color: #fff;
}

.p-product__body {
	padding-bottom: 60px; 
	width: 100%;
}

.p-product__img {
	position: relative; 
	margin-top: -16px;
	margin-left: 6.4%;
	width: 93.6%;
}
.p-product__img img {
	width: 100%;
	height: auto;
}
.p-product__img--tl2 {
	margin-top: -16px;
	margin-left: 0;
}

.p-product__txt {
	position: relative; 
	padding: 16px 6.4% 20px;
	width: 100%;
}
.p-product__txt p {
	font-size: 14px;
	font-size: .875rem;
	line-height: 2;
}

.p-product__service {
	position: relative; 
	padding: 0 6.4%;
}
.p-product__service dt {
	margin-bottom: 0;
}
.p-product__service dd {
	width: 86.66667%;
}
.p-product__service dd a {
	box-shadow: 0 -1px 0 0 #000 inset; 
	color: #000;
}

.p-product__btn {
	position: absolute;
	right: 0; 
	bottom: 0;
	left: 0;
	margin: auto;
	width: 85%;
}

.p-result {
	display: none;
	margin-top: 120px;
	padding: 0 7.14286% 53px;
}
.p-result__header {
	position: relative;
	margin-left: -8.33333%;
	padding: 62px 8.33333%;
	width: 58.33333%;
	background-color: #d71518;
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.p-result__ttl {
	margin-bottom: 20px; 
	color: #fff;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
	font-size: 1.25rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
}
.p-result__tag {
	margin: -4px; 
	font-size: 0;
}
.p-result__tag span {
	display: inline-block;
	margin: 4px;
	padding: 8px;
	min-width: 100px;
	border: solid 1px #fff; 
	color: #fff;
	text-align: center;
	white-space: nowrap;
	font-size: 12px;
	font-size: .75rem;
	line-height: 1;
}
.p-result__body {
	padding-top: 75px;
}

.p-pro-kind__body {
	margin-top: -16px;
}

.p-pro-kind__item + .p-pro-kind__item {
	margin-top: 32px;
}

.p-pro-kind__item .c-olst__name {
	margin-bottom: 14px;
	padding-bottom: 10px;
}

.p-pro-kind__item--more + .p-pro-kind__item {
	margin-top: 60px;
}

.p-pro-kind__btn {
	margin-top: 40px;
}

.p-pro-index__body {
	padding-top: 64px;
}

.p-pro-index__ttl {
	padding: 0 6.4% 15px;
}
.p-pro-index__ttl:after {
	left: 6.4%;
}

.p-pro-chara__img {
	margin-bottom: 30px; 
	width: 100%;
}
.p-pro-chara__img--graph1 {
	margin-bottom: 30px; 
	width: 99.75124%;
}
.p-pro-chara__img--graph1 img {
	width: 100%;
}
.p-pro-chara__img--graph2 {
	margin-bottom: 30px; 
	width: 54.47761%;
}
.p-pro-chara__img--graph2 img {
	width: 100%;
}

.p-pro-chara__heading {
	margin-top: 50px;
	margin-bottom: 24px; 
	font-size: 16px;
	font-size: 1rem;
	line-height: 2;
}

/* .p-pro-anchor
------------------------------ */
.p-pro-anchor {
	padding-top: 52px;
}
.p-pro-anchor__ttl {
	margin-bottom: 6px;
}
.p-pro-anchor__ttl span {
	display: block;
	margin-top: -3px;
	margin-left: -12px;
}
.p-pro-anchor__sttl {
	margin-top: 8px;
}
.p-pro-anchor__lst {
	font-size: 0;
}
.p-pro-anchor__item {
	position: relative; 
	display: inline-block;
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.5;
}
.p-pro-anchor__item:not(:last-child) {
	margin-right: 20px;
	padding-right: 20px;
}
.p-pro-anchor__item:not(:last-child):before {
	position: absolute;
	top: 0;
	right: 0; 
	bottom: 0;
	display: block;
	margin: auto;
	width: 1px;
	height: 12px;
	background-color: rgba(0, 0, 0, .2);
	content: "";
}
.p-pro-anchor__item a {
	color: #000;
	transition: .2s cubic-bezier(.645, .045, .355, 1);
}
.p-pro-anchor__btn {
	margin-top: 24px; 
	font-style: normal;
	font-size: 16px;
	font-size: 1rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
}

/* .p-pro-machine
------------------------------ */
.p-pro-machine__lst .c-olst__num {
	opacity: 0;
}

.p-pro-machine__lst .c-olst__name {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 1.5;
}

.p-chara__lead {
	padding-bottom: 110px !important;
}
.p-chara__lead ul {
	margin-bottom: 60px;
	font-weight: 700;
}

.p-chara__txt {
	margin-bottom: 60px;
}

.p-chara-process__body {
	padding: 64px 6.4% 0;
}

.p-chara-process__img {
	width: 100%;
}

.p-chara-process__flow {
	margin-top: 55px; 
	width: 100%;
	counter-reset: chara;
}
.p-chara-process__flow li {
	position: relative; 
	padding: 16px 3.96825% 16px calc(7.93651% + 28px);
	border: solid 1px #000;
	font-size: 16px;
	font-size: 1rem;
	line-height: 2;
}
.p-chara-process__flow li:before {
	position: absolute;
	top: 16px;
	left: 3.96825%; 
	content: "0" counter(chara);
	counter-increment: chara;
	white-space: nowrap;
	letter-spacing: -.03em;
	font-weight: 500;
	font-style: normal;
	font-size: 30px;
	font-size: 1.875rem;
	font-family: "Oswald", sans-serif;
	line-height: 1;
}
.p-chara-process__flow li:not(:first-child) {
	margin-top: 49px;
}
.p-chara-process__flow li:not(:first-child):after {
	position: absolute;
	top: -37px;
	right: 0; 
	left: 0;
	display: block;
	margin: auto;
	width: 1px;
	height: 25px;
	background-color: #000;
	content: "";
}

.p-bi-heat {
	position: relative;
}
.p-bi-heat:after {
	position: absolute;
	top: 46px;
	left: 17px; 
	display: block;
	width: 1px;
	background-color: #000;
	content: "";
}
.p-bi-heat--item1:after {
	height: calc(100% - 92px);
}
.p-bi-heat--item2:after {
	height: calc(100% - 92px);
}
.p-bi-heat dt {
	display: inline-block;
	margin-bottom: 16px;
	padding: 6px 14px;
	width: 150px;
	border: solid 1px #000; 
	text-align: center;
	font-weight: 700;
	font-size: 16px;
	font-size: 1rem;
	line-height: 2;
}
.p-bi-heat dd {
	position: relative;
	margin-left: 18px;
	padding-left: 35px;
	white-space: nowrap; 
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2.13333;
}
.p-bi-heat dd:before {
	position: absolute;
	top: 15px;
	left: 0; 
	display: block;
	width: 25px;
	height: 1px;
	background-color: #000;
	content: "";
}

.p-bi-spraying {
	padding-top: 60px !important;
}
.p-bi-spraying h3 {
	margin-bottom: 32px;
}

.p-bi-fusing__item1 {
	margin-bottom: 97px;
}
.p-bi-fusing__item1 h3 {
	margin-bottom: 60px;
}

.p-bi-fusing__item2 {
	margin-bottom: 142px;
}

.p-bi-fusing__img1 {
	margin-bottom: 24px;
}

.p-bi-fusing__merit {
	margin-bottom: 48px;
}

.p-bi-fusing__info {
	margin-bottom: 110px;
}

.p-bi-fusing__table {
	margin-bottom: 60px;
}

.p-bi-difference__body {
	overflow: hidden;
}

.p-bi-free {
	padding-bottom: 120px !important;
}
.p-bi-free__txt {
	margin-bottom: 50px;
}

.p-bi-boiler__img {
	margin-top: 42px;
}

.p-bi-works__figure {
	margin-top: 32px;
	margin-bottom: 52px;
}
.p-bi-works__figure figcaption {
	text-align: left;
}

.p-bi-works__scene {
	margin-top: 64px;
}
.p-bi-works__scene p {
	margin-bottom: 10px;
}
.p-bi-works__scene > div {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: row nowrap;

	    flex-flow: row nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.p-bi-works__scene > div figure + figure {
	margin-left: 2.48756%;
}
.p-bi-works__scene > div figcaption {
	text-align: right;
}

.p-bi-product {
	padding-bottom: 60px !important;
}

.p-pl-system {
	padding-bottom: 90px !important;
}
.p-pl-system__info {
	margin-bottom: 60px;
}

.p-pl-mete__txt {
	margin-bottom: 30px;
}

.p-pro-steam__const {
	margin-top: 66px;
}

.p-pro-steam__use {
	margin-top: 76px;
}

.p-pro-steam__spec {
	overflow: hidden; 
	margin-top: 50px;
}

.p-pro-steam__sample {
	margin-top: 75px;
}

.p-pro-steam__product {
	margin-top: 66px;
}

.p-stm-dsh {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: row wrap;

	    flex-flow: row wrap;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.p-stm-dsh li {
	position: relative; 
	margin: auto;
	max-width: 186px;
	width: 100%;
	text-align: center;
}
.p-stm-dsh li:not(:first-child) {
	margin-top: 16px;
}
.p-stm-dsh li img {
	width: 100%;
}
.p-stm-dsh p {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	margin: auto;
	padding: 0 1em;
	font-weight: 700;
	-ms-transform: translateY(-50%);
	    transform: translateY(-50%);
}
.p-stm-dsh p span {
	color: #d71518;
}

.p-stm-const img {
	width: 100%;
}

.p-pro-small__chara2 {
	margin-top: 64px;
}

.p-pro-small__const {
	margin-top: 64px;
}

.p-pro-small__alumina {
	overflow: hidden; 
	margin-top: 72px;
}

.p-pro-small__graphite {
	overflow: hidden; 
	margin-top: 76px;
}

.p-pro-small__sample {
	margin-top: 68px;
}

.p-pro-small__product {
	margin-top: 66px;
}

.p-sml-video {
	padding-top: 76px;
}
.p-sml-video__caption {
	margin-top: 28px !important;
	margin-bottom: 17px;
}
.p-sml-video__item {
	position: relative;
}
.p-sml-video__item:before {
	display: block;
	padding-top: 56.25%; 
	content: "";
}
.p-sml-video__item iframe {
	position: absolute;
	top: 0;
	left: 0; 
	width: 100%;
	height: 100%;
}

.p-sml-chara {
	padding-top: 10px;
}
.p-sml-chara__img {
	margin: 0 auto 48px; 
	width: 60%;
}
.p-sml-chara__img img {
	width: 100%;
	vertical-align: top;
}
.p-sml-chara__desc dl {
	margin-top: 14px;
}
.p-sml-chara__desc dt {
	font-weight: 700;
}
.p-sml-chara__desc dd + dt {
	margin-top: 14px;
}
.p-sml-chara--item1 .p-sml-chara__img {
	padding-top: 8px;
}
.p-sml-chara--item2 .p-sml-chara__img {
	padding-top: 10px;
}

.p-sml-const {
	margin-top: 48px;
}
.p-sml-const img {
	width: 100%;
}

.p-tech {
	padding-bottom: 68px;
}
.p-tech__header {
	padding: 40px 8.10811%;
	width: 93.6%;
	background-image: linear-gradient(90deg, #d71518 10%, #d77515 50%, #d77515 60%, #d71518);
	background-position: left center; 
	background-size: 200% 100%;
	background-repeat: no-repeat;
}
.p-tech__header p {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.p-tech__name {
	position: relative; 
	color: #fff;
	font-weight: 400;
	font-style: normal;
	font-family: "Oswald", sans-serif;
}
.p-tech__body {
	padding: 40px 6.4% 0;
}
.p-tech__body--flex {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.p-tech__item {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.p-tech__item--reverse {
	-ms-flex-flow: column nowrap;
	    flex-flow: column nowrap;
}
.p-tech__item + .p-tech__item {
	margin-top: 40px;
}
.p-tech__img {
	width: 100%;
}
.p-tech__img img {
	width: 100%;
}
.p-tech__txtarea {
	width: 100%;
}
.p-tech__txtarea > h3 {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 1.33333;
}
.p-tech__entxt {
	padding: 10px 0; 
	color: #d71518;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	font-size: 1rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.875;
}
.p-tech__txt {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.p-tech__flow {
	width: 100%;
}
.p-tech__flow ol {
	counter-reset: tech;
}
.p-tech__flow ol li {
	position: relative; 
	padding: 16px 3.96825% 16px calc(7.93651% + 28px);
	border: solid 1px #000;
	font-size: 16px;
	font-size: 1rem;
	line-height: 2;
}
.p-tech__flow ol li:before {
	position: absolute;
	top: 16px;
	left: 3.96825%; 
	content: "0" counter(tech);
	counter-increment: tech;
	white-space: nowrap;
	letter-spacing: -.03em;
	font-weight: 500;
	font-style: normal;
	font-size: 30px;
	font-size: 1.875rem;
	font-family: "Oswald", sans-serif;
	line-height: 1;
}
.p-tech__flow ol li:last-child:before {
	content: counter(tech);
}
.p-tech__flow ol li:not(:first-child) {
	margin-top: 49px;
}
.p-tech__flow ol li:not(:first-child):after {
	position: absolute;
	top: -37px;
	right: 0; 
	left: 0;
	display: block;
	margin: auto;
	width: 1px;
	height: 25px;
	background-color: #000;
	content: "";
}
.p-tech__gallery {
	margin-top: 64px;
	padding-right: 6.4%; 
	padding-left: 6.4%;
	width: 100%;
}
.p-tech__gallery ul {
	margin-top: -32px;
}

.p-tech-story {
	position: relative;
	margin-top: 60px;
	width: 93.6%;
	background-color: #000;
}
.p-tech-story__txtarea {
	padding: 60px 7.33945% 40px;
	width: 100%;
	background-color: #000;
}
.p-tech-story__img {
	position: relative;
	z-index: 1; 
	width: 100%;
	height: 234px;
}
.p-tech-story a {
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 100%;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.p-tech-story img {
	position: absolute;
	top: 0;
	left: 0; 
	display: block;
}

.p-story {
	position: relative;
}
.p-story--index {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: column-reverse nowrap;

	    flex-flow: column-reverse nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.p-story--index .p-story__body {
	padding: 0;
	background-image: url(/technical/story/image/story01_01.jpg);
	background-position: center top; 
	background-size: cover;
	background-repeat: no-repeat;
}
.p-story--index .p-story__body .p-str-ttl__txtarea {
	position: relative; 
	overflow: hidden;
	margin: 97px auto 0;
	padding: 50px 6.4% 30px;
	width: 100%;
	background-color: #fff;
}
.p-story--index .p-story__body .p-str-ttl__txtarea:after {
	position: absolute;
	top: 0;
	right: 6.4%; 
	display: block;
	width: 65.4%;
	height: 100%;
	background-color: #f9f9f9;
	content: "";
}
.p-story--index .p-story__body .p-str-ttl__txtarea .p-str-ttl__name,
.p-story--index .p-story__body .p-str-ttl__txtarea .p-str-ttl__txt {
	z-index: 1;
}
.p-story--index .p-str-ttl__name span {
	color: #000;
}
.p-story--detail .p-story__kv > .c-mask-alpbk {
	position: relative;
}
.p-story__kv {
	width: 100%;
}
.p-story__kv.is-fixed .p-story-img2 {
	display: none;
}
.p-story__kv.is-fixed .p-story-img3 {
	display: none;
}
.p-story__kv.is-fixed .p-story-img4 {
	display: none;
}
.p-story__kv.is-scroll {
	position: static;
}
.p-story__img {
	width: 100%;
	height: 447px;
	background-position: center top; 
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0;
}
.p-story__img--story1.p-story-img1 {
	position: relative;
	top: 0;
	left: 0;
	z-index: 0;
	background-image: url(../images/story01_01.jpg);
	opacity: 1;
}
.p-story__img--story1.p-story-img2 {
	position: relative;
	top: auto;
	bottom: 0;
	left: -50%;
	z-index: 1; 
	background-image: url(../images/story01_02.jpg);
	background-position: left 330px top;
}
.p-story__img--story1.p-story-img3 {
	position: relative;
	top: auto;
	bottom: 0;
	left: -50%;
	z-index: 2; 
	background-image: url(../images/story01_03.jpg);
}
.p-story__img--story1.p-story-img4 {
	position: relative;
	top: auto;
	bottom: 0;
	left: -50%;
	z-index: 3; 
	background-image: url(../images/story01_04.jpg);
	background-position: left 440px top;
}
.p-story__img--story2.p-story-img1 {
	position: relative;
	top: 0;
	left: 0;
	z-index: 0;
	background-image: url(../images/story02_01.jpg);
	background-position: center top;
	opacity: 1;
}
.p-story__img--story2.p-story-img2 {
	position: relative;
	top: auto;
	bottom: 0;
	left: -50%;
	z-index: 1; 
	background-image: url(../images/story02_02.jpg);
	background-position: left 360px top;
}
.p-story__img--story2.p-story-img3 {
	position: relative;
	top: auto;
	right: 0;
	bottom: 0;
	z-index: 2; 
	width: 50%;
	background-image: url(../images/story02_03.jpg);
	background-position: right top;
}
.p-story__img--story2.p-story-img4 {
	position: relative;
	top: auto;
	bottom: 0;
	left: -50%;
	z-index: 3; 
	background-image: url(../images/story02_04.jpg);
}
.p-story__img--story3.p-story-img1 {
	position: relative;
	top: 0;
	left: 0;
	z-index: 0;
	background-image: url(../images/story03_01.jpg);
	opacity: 1;
}
.p-story__img--story3.p-story-img2 {
	position: relative;
	top: auto;
	bottom: 0;
	left: -50%;
	z-index: 1; 
	background-image: url(../images/story03_02.jpg);
	background-position: left 400px top;
}
.p-story__img--story3.p-story-img3 {
	position: relative;
	top: auto;
	bottom: 0;
	left: -50%;
	z-index: 2; 
	background-image: url(../images/story03_03.jpg);
	background-position: right top;
}
.p-story__img--story3.p-story-img4 {
	position: relative;
	top: auto;
	bottom: 0;
	left: -50%;
	z-index: 3; 
	background-image: url(../images/story03_04.jpg);
}
.p-story__img .c-mask-alpbk {
	z-index: 1;
}
.p-story__body {
	width: 100%;
}
.p-story__body section {
	padding-top: 40px;
}
.p-story__body section p {
	font-size:1.2rem;
	line-height: 2;
}
.p-story__body section p + p {
	margin-top: 30px;
}
.p-story__txtarea {
	position: relative; 
	padding: 0 6.4%;
}
.p-story__item {
	position: relative;
	display: block;
	width: 100%;
	background-position: center center; 
	background-size: cover;
	background-repeat: no-repeat;
}
.p-story__item--item1 {
	background-image: url(../images/story01_01.jpg);
}
.p-story__item--item2 {
	background-image: url(../images/story02_01.jpg);
}
.p-story__item--item3 {
	background-image: url(../images/story03_01.jpg);
}
.p-story__item .c-mask-alpbk {
	z-index: 0;
}
.p-story__thumb {
	margin-bottom: 40px; 
	margin-left: -7.33945%;
	width: 114.6789%;
}
.p-story__thumb img {
	width: 100%;
}

.p-str-anchor {
	display: none; 
	opacity: 0;
}

.p-str-ttl {
	position: absolute;
	top: 124px;
	left: 0;
	z-index: 2; 
	padding-right: 6.4%;
	padding-left: 6.4%;
	width: 100%;
	height: 287px;
}
.p-str-ttl__name {
	position: relative;
	margin-bottom: 20px;
	max-width: 385px;
	width: 55%; 
	color: #d71518;
	font-weight: 300;
	font-style: normal;
	font-size: 40px;
	font-size: 2.5rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.15;
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.p-str-ttl__name img {
	width: 100%;
}
.p-str-ttl__name span {
	display: block;
	color: #fff; 
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 1.08333;
}
.p-str-ttl__txtarea {
	overflow: hidden;
	padding: 0 0 36px; 
	font-size: 0;
}
.p-str-ttl__num {
	display: inline-block;
	float: left; 
	width: 60px;
	vertical-align: top;
}
.p-str-ttl__type {
	display: inline-block;
	float: left; 
	width: calc(100% - 60ptx);
	vertical-align: top;
}
.p-str-ttl__ttl {
	position: relative; 
	display: inline-block;
	float: left;
	width: calc(100% - 60px);
	vertical-align: top;
}
.p-str-ttl__ttl span {
	display: inline-block;
}
.p-str-ttl__ttl span:not(:first-child) {
	margin-left: -.25em;
}
.p-str-ttl__txt {
	position: relative; 
	margin-bottom: 29px;
	font-style: normal;
	font-size: 15px;
	font-size: .9375rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 2;
}

.p-str-nav {
	margin-top: 60px;
}
.p-str-nav__back {
	padding-top: 30px;
	border-top: solid 1px #bbb;
	text-align: right;
}
.p-str-nav__link {
	margin-top: 55px;
}
.p-str-nav__link a {
	display: block;
	color: #000;
	transition: .3s ease;
}
.p-str-nav__link .c-olst__txtarea {
	overflow: hidden;
	padding: 24px 0 55px; 
	font-size: 0;
}
.p-str-nav__link .c-olst__num {
	display: inline-block;
	float: left; 
	width: 60px;
	vertical-align: top;
}
.p-str-nav__link .c-olst__type {
	display: inline-block;
	float: left; 
	width: calc(100% - 60px);
	vertical-align: top;
}
.p-str-nav__link .c-olst__ttl {
	display: inline-block;
	float: left; 
	width: calc(100% - 60px);
	vertical-align: top;
}

.p-works {
	padding-top: 60px;
}

.p-works-nav {
	margin-bottom: 48px;
}
.p-works-nav__lst {
	display: -ms-flexbox;
	display: flex;
	margin: auto;
	width: 87.2%;

	-ms-flex-flow: row wrap;

	    flex-flow: row wrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: stretch;
	    align-items: stretch;
}
.p-works-nav__item {
	position: relative;
	display: block;
	padding: 9px 0;
	width: 50%;
	border-top: solid 1px #000;
	border-left: solid 1px #000;
	color: #000;
	text-align: center;
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.5;
	transition: .3s ease;
}
.p-works-nav__item.is-active {
	color: #fff;
	pointer-events: none;
}
.p-works-nav__item.is-active:after {
	opacity: 1;
}
.p-works-nav__item.is-disabled {
	color: #bbb;
	pointer-events: none;
}
.p-works-nav__item:nth-child(4),
.p-works-nav__item:nth-child(5),
.p-works-nav__item:nth-child(6),
.p-works-nav__item:nth-child(7) {
	border-bottom: solid 1px #000;
}
.p-works-nav__item:nth-child(5),
.p-works-nav__item:nth-child(6),
.p-works-nav__item:nth-child(7) {
	margin-top: -1px;
}
.p-works-nav__item:nth-child(4n),
.p-works-nav__item:last-child {
	border-right: solid 1px #000;
}
.p-works-nav__item:last-child {
	padding: 3px 0; 
	width: calc(50% + 1px);
	font-size: 12px;
	font-size: .75rem;
	line-height: 1.33333;
}
.p-works-nav__item:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(90deg, #d71518 10%, #d77515 50%, #d77515 60%, #d71518);
	background-position: left center;
	background-size: 200% 100%;
	background-repeat: no-repeat;
	content: "";
	opacity: 0;
	transition: .3s ease;
}
.p-works-nav__item span {
	position: relative;
	z-index: 1; 
	vertical-align: middle;
}

.p-works-index {
	position: relative; 
	margin: 0 auto;
	padding: 0 0 58px;
	width: 87.2%;
}
.p-works-index__body {
	min-height: 292px;
}
.p-works-index__mask {
	position: absolute;
	top: 0;
	left: 0;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 100%;
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
	-ms-transform-origin: right center;
	    transform-origin: right center; 

	-ms-flex-flow: row nowrap; 

	    flex-flow: row nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: stretch;
	    align-items: stretch;
}
.p-works-index__mask .c-mask-wh,
.p-works-index__mask .c-mask-lgr {
	position: static;
}

.p-works-detail {
	margin: 0 auto;
	padding: 60px 6.4% 0; 
	width: 100%;
}
.p-works-detail__disc {
	position: relative;
	margin-bottom: 28px;
	padding-bottom: 28px;
	border-bottom: solid 1px #bbb; 
	text-align: right;
}
.p-works-detail__category {
	display: inline-block;
	margin-bottom: 16px; 
	font-size: 0;
}
.p-works-detail__category li {
	display: inline-block;
	padding: 0 32px;
	border: solid 1px #000; 
	text-align: center;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2.13333;
}
.p-works-detail__category li + li {
	margin: 8px 0 0 0;
}
.p-works-detail__type {
	color: #d71518;
	text-align: left; 
	font-weight: 700;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2.13333;
}
.p-works-detail__name {
	text-align: left; 
	font-weight: 700;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 1.33333;
}
.p-works-detail__img {
	width: 100%;
}
.p-works-detail__img img {
	max-width: 100%;
	height: auto;
}
.p-works-detail__slider {
	width: 100%;
}
.p-works-detail__pager {
	padding-top: 10px;
	padding-right: 4%;
	width: 100%;
	font-size: 0;
}
.p-works-detail__pager li {
	display: inline-block;
	margin-right: 16px; 
	width: 36px;
}
.p-works-detail__pager a {
	position: relative; 
	display: block;
	padding: 10px 0 11px;
	width: 100%;
}
.p-works-detail__pager a:before {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #000; 
	content: "";
}
.p-works-detail__pager a:after {
	position: absolute;
	top: 10px;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background-color: #d71518;
	content: "";
	transition: .3s cubic-bezier(.645, .045, .355, 1); 
	-ms-transform: scale(0, 1); 
	    transform: scale(0, 1);
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.p-works-detail__pager a.active:after {
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
}
.p-works-detail__body {
	padding: 12px 0 52px; 
	width: 100%;
}
.p-works-detail__upper {
	width: 100%;
}
.p-works-detail__lower {
	position: relative;
	padding: 16px 0 0;
	width: 100%;
	border-top: solid 1px #bbb; 
	text-align: right;
}
.p-works-detail__txt {
	margin-bottom: 26px; 
	width: 100%;
}
.p-works-detail__txt p {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.p-works-detail__txt p + p {
	margin-top: 15px;
}
.p-works-detail__data {
	margin-bottom: 26px;
	padding-top: 26px;
	width: 100%;
	border-top: solid 1px #bbb;
}
.p-works-detail__data .c-hdl4 {
	margin-bottom: 14px; 
	width: 31.34328%;
}
.p-works-detail__data dl {
	width: 100%;
}

.p-history {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.p-history__txt {
	display: -ms-flexbox;
	display: flex;
	padding: 0 6.4%;
	width: 100%;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: stretch;
	    align-items: stretch;
}
.p-history__img {
	margin-top: 64px;
	padding-right: 6.4%; 
	padding-left: 6.4%;
	width: 100%;
}
.p-history__item + .p-history__item {
	padding-top: 64px;
}

.p-hi-img {
	width: 100%;
}
.p-hi-img figure {
	width: 100%;
}
.p-hi-img figure img {
	width: 100%;
}
.p-hi-img figcaption {
	margin-top: 4px; 
	text-align: right;
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.5;
}

.p-co-video {
	position: relative; 
	width: 100%;
}
.p-co-video:before {
	display: block;
	padding-top: 56.25%; 
	content: "";
}
.p-co-video iframe {
	position: absolute;
	top: 0;
	left: 0; 
	width: 100%;
	height: 100%;
}

.p-customer,
.p-pl-result {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: row wrap;

	    flex-flow: row wrap;
}
.p-customer__item,
.p-pl-result__item {
	margin-bottom: 8px; 
	width: 50%;
}
.p-customer__item p,
.p-pl-result__item p {
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.30769;
}
.p-customer__item p + p,
.p-pl-result__item p + p {
	margin-top: 8px;
}
.p-customer__item--item1,
.p-pl-result__item--item1 {
	width: 100%;
}
.p-customer__item--item2,
.p-pl-result__item--item2 {
	width: 100%;
}
.p-customer__item--item3,
.p-pl-result__item--item3 {
	width: 100%;
}
.p-customer__txt,
.p-pl-result__txt {
	margin-top: 20px; 
	text-align: right;
	font-size: 13px !important;
	font-size: .8125rem !important;
	line-height: 1.84615 !important;
}

.p-philosophy__ttl {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1.5;
}

.p-phi-object {
	position: relative;
	margin-bottom: 56px;
	text-align: center;
}
.p-phi-object img {
	max-width: 100%;
}
.p-phi-object__link {
	left: 50%;
	display: none;
	margin-left: 198px; 
	width: 64px;
	height: 22px;
}
.p-phi-object__link--item1 {
	position: absolute;
	top: 80px;
}
.p-phi-object__link--item2 {
	position: absolute;
	top: 145px;
}
.p-phi-object__link--item3 {
	position: absolute;
	top: 215px;
}
.p-phi-object__link--item4 {
	position: absolute;
	top: 283px;
}

dl.p-phi-lst,
dl.p-phi-lst--large {
	display: -ms-flexbox;
	display: flex;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	border-left: solid 1px #000;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
dl.p-phi-lst:last-child,
dl.p-phi-lst--large:last-child {
	border-bottom: solid 1px #000;
}
dl.p-phi-lst dt,
dl.p-phi-lst--large dt,
dl.p-phi-lst dd,
dl.p-phi-lst--large dd {
	vertical-align: top;
}
dl.p-phi-lst dt,
dl.p-phi-lst--large dt {
	padding: 20px 7.33945% 0; 
	width: 100%;
	color: #d71518;
	font-weight: 700;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
dl.p-phi-lst dt:before,
dl.p-phi-lst--large dt:before {
	display: inline-block;
	width: 34px;
	color: #000;
	content: attr(data-num) "";
	vertical-align: -3px;
	text-align: left;
	letter-spacing: -.08em; 
	font-weight: 500;
	font-style: normal;
	font-size: 24px;
	font-size: 1.5rem;
	font-family: "Oswald", sans-serif;
	line-height: 1;
}
dl.p-phi-lst dd,
dl.p-phi-lst--large dd {
	padding: 0 7.33945% 18px; 
	width: 100%;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.33333;
}
dl.p-phi-lst--large:last-child {
	border-bottom: solid 1px #000;
}
dl.p-phi-lst--large dt,
dl.p-phi-lst--large dd {
	display: inline-block;
	vertical-align: top;
}
dl.p-phi-lst--large dt {
	padding: 23px 7.33945% 0; 
	width: 100%;
	color: #d71518;
	font-weight: 700;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 2.44444;
}
dl.p-phi-lst--large dt:before {
	display: inline-block;
	width: 45px;
	color: #000;
	content: attr(data-num) "";
	vertical-align: -7px;
	text-align: left;
	letter-spacing: -.09em; 
	font-weight: 500;
	font-style: normal;
	font-size: 34px;
	font-size: 2.125rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.29412;
}
dl.p-phi-lst--large dd {
	padding: 0 7.33945% 23px; 
	width: 100%;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.33333;
}

ol.p-phi-lst {
	margin-top: 32px;
	border-top: solid 1px #000; 
	counter-reset: phi;
}
ol.p-phi-lst li {
	padding: 18px 9.17431%;
	border-right: solid 1px #000; 
	border-bottom: solid 1px #000;
	border-left: solid 1px #000;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
ol.p-phi-lst li:before {
	display: inline-block;
	width: 34px;
	content: "0" counter(phi);
	counter-increment: phi;
	vertical-align: -3px;
	text-align: left;
	letter-spacing: -.06em; 
	font-weight: 500;
	font-style: normal;
	font-size: 24px;
	font-size: 1.5rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.25;
}

.p-glo-expand {
	display: -ms-flexbox;
	display: flex;
	margin-top: 36px;
	width: 100%;

	-ms-flex-flow: column-reverse nowrap;

	    flex-flow: column-reverse nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.p-glo-expand__img {
	width: 100%;
}
.p-glo-expand__img img {
	width: 100%;
}
.p-glo-expand__dt {
	margin-bottom: 20px; 
	width: 100%;
}
.p-glo-expand__dt h4 {
	margin-bottom: 20px; 
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.5;
}
.p-glo-expand__dt h4 + p {
	margin-bottom: 7px;
}
.p-glo-expand__dt p {
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.53846;
}
.p-glo-expand__dt p:not(:first-child) {
	margin-top: 0;
}

.p-glo-list dl {
	display: block;
	overflow: hidden;
	padding-top: 24px;
}

.p-glo-list dt {
	float: left; 
	padding-top: 0;
	padding-right: 6.11621%;
	width: 25%;
}
.p-glo-list dt:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}

.p-glo-list dd {
	float: right; 
	padding: 0 0 4px;
	width: 75%;
}
.p-glo-list dd:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}

.p-me-ttl {
	margin-bottom: 28px; 
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 1;
}

.p-me-txt {
	margin-top: 35px; 
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.p-me-txt:not(:last-child) {
	margin-top: 0;
	margin-bottom: 25px;
}

.p-en-txt {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}

.p-base {
	padding: 0 0 60px !important;
}
.p-base__header {
	z-index: 10; 
	margin-left: 0 !important;
	width: 93.6% !important;
}
.p-base__body {
	margin-top: -16px; 
	width: 100%;
}
.p-base__nav {
	position: relative;
	overflow: hidden; 
	padding: 48px 0 0;
	width: 100%;
	background-color: #000;
}
.p-base__nav > p {
	margin: 0 auto 32px;
	padding: 11px 0;
	width: 87.2%;
	border: solid 1px rgba(255, 255, 255, .5); 
	color: #fff;
	text-align: center;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.p-base__depart {
	position: absolute;
	top: 48px;
	right: 0; 
	left: 0;
	margin: auto;
	padding: 11px 0;
	width: 87.2%;
	font-size: 16px;
	font-size: 1rem;
	line-height: 2;
}
.p-base__depart .c-btn-anchor,
.p-base__depart .c-btn-anchor--bk {
	display: block;
	padding: 11px 0;
	width: 100%;
	border-right: solid 1px rgba(255, 255, 255, .5); 
	border-bottom: solid 1px rgba(255, 255, 255, .5);
	border-left: solid 1px rgba(255, 255, 255, .5);
	color: #fff;
	text-align: center;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.73333;
}
.p-base__depart .c-btn-anchor:after,
.p-base__depart .c-btn-anchor--bk:after {
	top: 22px;
	right: 26px; 
	bottom: auto;
}
.p-base__lst {
	display: none;
}
.p-base__lst a {
	display: block;
	padding: 11px;
	width: 100%;
	border-right: solid 1px rgba(255, 255, 255, .5);
	border-bottom: solid 1px rgba(255, 255, 255, .5);
	border-left: solid 1px rgba(255, 255, 255, .5);
	background-color: #000;
	color: #fff;
	text-align: center;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.73333;
	transition: .3s ease;
	-ms-transform-origin: center top;
	    transform-origin: center top;
}
.p-base__mask {
	position: absolute;
	top: 0;
	left: 57.14286%; 
	z-index: 45;
	width: 57.14286%;
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}
.p-base__maparea {
	position: relative; 
	padding: 36px 0;
	width: 100%;
	background-color: #bbb;
}
.p-base__info {
	position: relative;
	padding: 32px 6.4%;
	width: 100%;
	-ms-transform-origin: center right;
	    transform-origin: center right;
}
.p-base__info img {
	z-index: 0;
}
.p-base__map {
	width: 100%;
	height: 100%;
	background-color: #bbb;
}

.p-co-branch {
	position: relative;
}
.p-co-branch__lst {
	display: none;
	width: 100%;
	border-bottom: solid 1px rgba(255, 255, 255, .5);
}
.p-co-branch__lst.is-active {
	display: block;
}
.p-co-branch__lst a {
	display: block;
	margin: auto;
	padding: 20px 6.4%;
	border-top: solid 1px rgba(255, 255, 255, .5);
	color: #fff;
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.53846;
	transition: .3s ease;
}
.p-co-branch__lst a:before,
.p-co-branch__lst a:after {
	transition: .3s ease;
}
.p-co-branch__lst a.is-active {
	border-top: solid 1px #000;
	border-bottom: solid 1px #000; 
	background-color: #fff;
	color: #000;
}
.p-co-branch__lst a.is-active:before {
	background-color: #000;
}
.p-co-branch__lst a.is-active:after {
	-ms-transform: rotate(0);
	    transform: rotate(0);
}
.p-co-branch__lst > .p-base__info {
	display: none;
}
.p-co-branch__lst > .p-base__info--main {
	display: block;
}

.p-co-info {
	position: relative;
	z-index: 1; 
	padding: 30px 6.86869%;
	width: 100%;
	background-color: #000;
}
.p-co-info__name {
	padding-top: 18px;
}
.p-co-info__name:after {
	background-color: #d71518;
}
.p-co-info__branch {
	position: absolute;
	top: 30px;
	left: 6.86869%; 
	display: block;
	color: #d71518 !important;
	font-weight: 400;
	font-size: 13px;
	font-size: .8125rem;
	line-height: 2;
}
.p-co-info__address {
	margin-bottom: 8px;
}
.p-co-info__link a {
	position: relative;
	display: inline-block;
	margin-bottom: 20px;
	padding: 8px 0;
	border: none; 
	color: #d71518;
	font-weight: 700;
}
.p-co-info__link a:after {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background-color: #d71518; 
	content: "";
}
.p-co-info__tel:before {
	content: "TEL：";
}
.p-co-info__fax:before {
	content: "FAX：";
}
.p-co-info__mask {
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}
.p-co-info dd {
	color: #fff; 
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.5;
}

.p-factory__body {
	position: relative; 
	padding: 6.4%;
	min-height: 300px;
	width: 100%;
}

.p-factory__selecter {
	position: relative; 
	z-index: 50;
	margin-bottom: 24px;
	width: 100%;
	border-top: solid 1px rgba(0, 0, 0, .5);
	text-align: center;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2.13333;
}
.p-factory__selecter.is-sp {
	border: solid 1px rgba(0, 0, 0, .5);
	border-radius: 0; 
	box-shadow: none;
}
.p-factory__selecter.is-sp p {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1; 
	padding: 11px 0;
	width: 100%;
}
.p-factory__selecter.is-sp select {
	position: relative;
	z-index: 2;
	padding: 11px 0;
	width: 100%;
	border: none;
	font-size: 16px;
	font-size: 1rem;
	line-height: 2;
	opacity: 0;

	-webkit-appearance: none;

	   -moz-appearance: none;

	        appearance: none;
}
.p-factory__selecter .c-btn-anchor--bk,
.p-factory__selecter option {
	display: block;
	padding: 11px 0;
	width: 100%;
	border-right: solid 1px rgba(0, 0, 0, .5); 
	border-bottom: solid 1px rgba(0, 0, 0, .5);
	border-left: solid 1px rgba(0, 0, 0, .5);
	background-color: #f9f9f9;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.73333;
}
.p-factory__selecter .c-btn-anchor--bk:after,
.p-factory__selecter option:after {
	top: 22px;
	right: 26px; 
	bottom: auto;
}

.p-factory__lst {
	display: none;
}
.p-factory__lst a {
	display: block;
	padding: 11px 0;
	width: 100%;
	border-right: solid 1px rgba(0, 0, 0, .5);
	border-bottom: solid 1px rgba(0, 0, 0, .5);
	border-left: solid 1px rgba(0, 0, 0, .5);
	background-color: #f9f9f9;
	text-align: center;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.73333;
	transition: .3s ease;
	-ms-transform-origin: center top;
	    transform-origin: center top;
}
.p-factory__lst a.is-active {
	display: none;
}

.p-factory__box {
	position: relative; 
	height: 455px;
}

.p-factory__item {
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	opacity: 0;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: end;
	    justify-content: flex-end;
	-ms-flex-align: stretch;
	    align-items: stretch;
}
.p-factory__item.is-active {
	display: -ms-flexbox;
	display: flex;
	opacity: 1;
}

.p-factory__txtarea {
	width: 100%;
}

.p-factory__info {
	position: relative; 
	width: 100%;
}
.p-factory__info dd {
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.53846;
}

.p-factory__handling {
	margin-top: 16px;
}
.p-factory__handling dt {
	margin-bottom: 16px; 
	font-weight: 700;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.33333;
}
.p-factory__handling ul {
	font-size: 0;
}
.p-factory__handling li {
	display: inline-block;
	margin-right: 8px;
	margin-bottom: 8px;
	padding: 4px 16px;
	border: solid 1px #000; 
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.53846;
}

.p-factory__access {
	margin-top: 14px;
	margin-bottom: 24px;
}
.p-factory__access dt {
	margin-bottom: 12px; 
	font-weight: 700;
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.33333;
}
.p-factory__access dd {
	padding-left: 10em; 
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.53846;
}
.p-factory__access dd span {
	display: inline-block;
	margin-left: -10em;
}
.p-factory__access dd.em12 {
	padding-left: 12em;
}
.p-factory__access dd.em12 span {
	margin-left: -12em;
}

.p-factory__name {
	color: #000;
}
.p-factory__name:after {
	background-color: #d71518;
}

.p-factory__link a {
	position: relative; 
	display: inline-block;
	padding: 8px 0;
	color: #d71518;
}
.p-factory__link a:after {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background-color: #d71518;
	content: "";
	transition: .3s ease;
}

.p-factory__img {
	width: 100%;
}
.p-factory__img img {
	max-width: 100%;
}

.p-co-img,
.p-about-img,
.p-glo-img {
	position: relative; 
	margin: 0 -7.33945% 50px;
	width: 114.6789%;
}
.p-co-img img,
.p-about-img img,
.p-glo-img img {
	width: 100%;
}
.p-co-img figcaption,
.p-about-img figcaption,
.p-glo-img figcaption {
	position: absolute;
	right: 11px;
	bottom: 10px; 
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.61538;
}

.p-co-style {
	position: relative;
	margin-top: 60px;
	width: 93.6%;
	background-image: linear-gradient(-45deg, transparent 25%, rgba(0, 0, 0, .2) 25%, rgba(0, 0, 0, .2) 50%, transparent 50%, transparent 75%, rgba(0, 0, 0, .2) 75%, rgba(0, 0, 0, .2));
	background-position: left top;
	background-size: 4px 4px; 
	background-repeat: repeat;
}
.p-co-style__txtarea {
	padding: 60px 7.33945% 40px;
	width: 100%;
	background-color: #000;
}
.p-co-style__txt {
	font-size: 15px !important;
}
.p-co-style__img {
	position: relative; 
	width: 100%;
	height: 234px;
}
.p-co-style a {
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 100%;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.p-co-style img {
	position: absolute;
	top: 0;
	left: 0; 
	display: block;
}

.p-co-lst {
	display: -ms-flexbox;
	display: flex;
	padding: 0 6.4% 60px;
	width: 100%;

	-ms-flex-flow: column wrap;

	    flex-flow: column wrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.p-co-lst__item {
	padding-right: 9.78593%; 
	padding-bottom: 76px;
	padding-left: 9.78593%;
	width: 100%;
}
.p-co-lst__item .c-blst__ttl {
	color: #000;
}
.p-co-lst__item .c-blst__ttl:after {
	background-color: #d71518;
}
.p-co-lst__item .c-blst__name {
	right: 9.78593%; 
	color: #d71518;
}
.p-co-lst__btn {
	position: absolute;
	bottom: 0;
	left: 9.78593%; 
	width: 80.42813%;
}

#dhfstyle .l-header {
	position: absolute;
}

.p-ds-content {
	width: 100%;
}

.p-ds-section {
	position: relative; 
	width: 100%;
}
.p-ds-section__body {
	position: relative;
	z-index: 1; 
	padding: 100px 0;
	width: 100%;
	height: 100%;
}
.p-ds-section__ttlarea {
	width: 100%;
}
.p-ds-section__txtarea {
	padding: 50px 7.5% 0; 
	width: 100%;
}
.p-ds-section__txtarea p {
	max-width: 100%; 
	color: #fff;
	font-size: 12px;
	font-size: .75rem;
	line-height: 2;
}
.p-ds-section__txtarea p + p {
	margin-top: 1em;
}
.p-ds-section__ttl {
	margin-top: -50px;
}

.p-ds-mv__body {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-flow: column wrap;

	    flex-flow: column wrap;
	-ms-flex-pack: center;
	    justify-content: center;
	-ms-flex-align: center;
	    align-items: center;
}

.p-ds-mv__ttl {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 30px;
	text-align: center;
	transition: .3s ease;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: center;
	    justify-content: center;
	-ms-flex-align: center;
	    align-items: center;
}
.p-ds-mv__ttl h2 {
	color: #d71518;
	font-weight: 400; 
	font-style: normal;
	font-size: 60px;
	font-size: 3.75rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
}
.p-ds-mv__ttl p {
	margin-top: -50px;
	padding-bottom: 50px;
	height: 27px;
	color: #fff;
	text-align: center;
	white-space: nowrap; 
	font-weight: 700;
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.5;
}

.p-ds-mv__txt {
	padding: 0 7.5%; 
	color: #fff;
	font-size: 12px;
	font-size: .75rem;
	line-height: 2;
}

.p-ds-mv {
	background-image: linear-gradient(-45deg, transparent 25%, rgba(0, 0, 0, .2) 25%, rgba(0, 0, 0, .2) 50%, transparent 50%, transparent 75%, rgba(0, 0, 0, .2) 75%, rgba(0, 0, 0, .2)), url(/company/image/dhfstyle_bg01.jpg);
	background-position: left top, center;
	background-size: 4px 4px, auto 100%; 
	background-repeat: repeat, no-repeat;
}

.p-ds-org {
	background-image: linear-gradient(-45deg, transparent 25%, rgba(0, 0, 0, .2) 25%, rgba(0, 0, 0, .2) 50%, transparent 50%, transparent 75%, rgba(0, 0, 0, .2) 75%, rgba(0, 0, 0, .2)), url(/company/image/dhfstyle_bg02.jpg);
	background-position: left top, center;
	background-size: 4px 4px, auto 100%; 
	background-repeat: repeat, no-repeat;
}

.p-ds-tech {
	background-image: linear-gradient(-45deg, transparent 25%, rgba(0, 0, 0, .2) 25%, rgba(0, 0, 0, .2) 50%, transparent 50%, transparent 75%, rgba(0, 0, 0, .2) 75%, rgba(0, 0, 0, .2)), url(/company/image/dhfstyle_bg03.jpg);
	background-position: left top, center;
	background-size: 4px 4px, auto 100%; 
	background-repeat: repeat, no-repeat;
}

.p-ds-chlg {
	background-image: linear-gradient(-45deg, transparent 25%, rgba(0, 0, 0, .2) 25%, rgba(0, 0, 0, .2) 50%, transparent 50%, transparent 75%, rgba(0, 0, 0, .2) 75%, rgba(0, 0, 0, .2)), url(/company/image/dhfstyle_bg04.jpg);
	background-position: left top, center;
	background-size: 4px 4px, auto 100%; 
	background-repeat: repeat, no-repeat;
}

.p-ds-anchor {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 90;
	display: none;
	margin: auto;
	width: 28px;
	opacity: 0;
}
.p-ds-anchor__body {
	position: relative; 
	height: 134px;
	text-align: right;
}
.p-ds-anchor__body:before {
	position: absolute;
	top: 98px;
	right: 15px;
	display: block;
	width: 1px;
	height: 36px;
	background-color: #fff;
	content: "";
	animation: scrolldown 2s 1.5s infinite cubic-bezier(.645, .045, .355, 1);
}
.p-ds-anchor p {
	display: inline-block;
	overflow: hidden;
	margin-right: 2.42857%; 

	-webkit-writing-mode: vertical-rl; 

	    -ms-writing-mode: tb-rl; 

	        writing-mode: vertical-rl;
}
.p-ds-anchor a {
	position: relative;
	display: block;
	padding: 5px;
	color: #000;
	font-weight: 400;
	font-style: normal;
	font-size: 12px;
	font-size: .75rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
	transition: .3s cubic-bezier(.95, .05, .795, .035);
}
.p-ds-anchor a {
	position: relative;
	display: block;
	padding: 5px;
	color: #fff;
	font-weight: 400;
	font-style: normal;
	font-size: 12px;
	font-size: .75rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
	transition: .3s cubic-bezier(.95, .05, .795, .035);
}

.p-ds-anchorbox {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 50;
	display: none;
	display: none;
	width: 7.14286%;
	height: 100%;
	opacity: 0;
}
.p-ds-anchorbox__item {
	position: absolute;
	top: 50%;
	left: -7px;
	margin: auto;
	width: 105px;
	-ms-transform: translateY(-50%) rotate(90deg);
	    transform: translateY(-50%) rotate(90deg);
	-ms-transform-origin: 50% 0;
	    transform-origin: 50% 0;
}
.p-ds-anchorbox__item p:before {
	position: absolute;
	top: 14px;
	left: 0;
	width: 36px;
	height: 1px;
	background-color: #fff;
	content: "";
	transition: .3s cubic-bezier(.95, .05, .795, .035); 
	-ms-transform: scale(1, 1); 
	    transform: scale(1, 1);
	-ms-transform-origin: center right;
	    transform-origin: center right;
}
.p-ds-anchorbox__item p:after {
	position: absolute;
	top: 14px;
	right: 0;
	display: block;
	width: 36px;
	height: 1px;
	background-color: #fff;
	content: "";
	transition: .3s cubic-bezier(.95, .05, .795, .035); 
	-ms-transform: scale(1, 1); 
	    transform: scale(1, 1);
	-ms-transform-origin: center right;
	    transform-origin: center right;
}
.p-ds-anchorbox__item a {
	position: relative;
	display: inline-block;
	margin: auto;
	padding: 5px;
	color: #fff;
	font-weight: 400;
	font-style: normal;
	font-size: 12px;
	font-size: .75rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
	transition: .3s cubic-bezier(.95, .05, .795, .035);
}
.p-ds-anchorbox__item--top {
	margin-top: -120px;
}
.p-ds-anchorbox__item--top p:after {
	content: none;
}
.p-ds-anchorbox__item--org {
	margin-top: -10px;
}
.p-ds-anchorbox__item--org p:after {
	right: -5px;
}
.p-ds-anchorbox__item--tech {
	margin-top: 115px;
}
.p-ds-anchorbox__item--tech p:after {
	right: -11px;
}
.p-ds-anchorbox__item--chlg {
	margin-top: 245px;
}

#dhfstyle.is-top .p-ds-anchorbox__item--top p:before {
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}

#dhfstyle.is-top .p-ds-anchorbox__item--top a {
	color: #d71518;
	cursor: default; 
	-ms-transform: translateX(20px); 
	    transform: translateX(20px);
}

#dhfstyle.is-top .p-ds-anchorbox__item--org p:before,
#dhfstyle.is-top .p-ds-anchorbox__item--tech p:before,
#dhfstyle.is-top .p-ds-anchorbox__item--chlg p:before {
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}

#dhfstyle.is-top .p-ds-anchorbox__item--org a,
#dhfstyle.is-top .p-ds-anchorbox__item--tech a,
#dhfstyle.is-top .p-ds-anchorbox__item--chlg a {
	-ms-transform: translateX(0);
	    transform: translateX(0);
}

#dhfstyle.is-org .p-ds-anchorbox__item--top p:before {
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
}

#dhfstyle.is-org .p-ds-anchorbox__item--top a {
	-ms-transform: translateX(40px);
	    transform: translateX(40px);
}

#dhfstyle.is-org .p-ds-anchorbox__item--org p:before,
#dhfstyle.is-org .p-ds-anchorbox__item--org p:after {
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}

#dhfstyle.is-org .p-ds-anchorbox__item--org a {
	color: #d71518;
	cursor: default; 
	-ms-transform: translateX(20px); 
	    transform: translateX(20px);
}

#dhfstyle.is-org .p-ds-anchorbox__item--tech p:before,
#dhfstyle.is-org .p-ds-anchorbox__item--chlg p:before {
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}

#dhfstyle.is-org .p-ds-anchorbox__item--tech a,
#dhfstyle.is-org .p-ds-anchorbox__item--chlg a {
	-ms-transform: translateX(0);
	    transform: translateX(0);
}

#dhfstyle.is-tech .p-ds-anchorbox__item--top p:before,
#dhfstyle.is-tech .p-ds-anchorbox__item--org p:before {
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
}

#dhfstyle.is-tech .p-ds-anchorbox__item--top p:after,
#dhfstyle.is-tech .p-ds-anchorbox__item--org p:after {
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}

#dhfstyle.is-tech .p-ds-anchorbox__item--top a,
#dhfstyle.is-tech .p-ds-anchorbox__item--org a {
	-ms-transform: translateX(40px);
	    transform: translateX(40px);
}

#dhfstyle.is-tech .p-ds-anchorbox__item--tech p:before,
#dhfstyle.is-tech .p-ds-anchorbox__item--tech p:after {
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}

#dhfstyle.is-tech .p-ds-anchorbox__item--tech a {
	color: #d71518;
	cursor: default; 
	-ms-transform: translateX(20px); 
	    transform: translateX(20px);
}

#dhfstyle.is-tech .p-ds-anchorbox__item--chlg p:before {
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}

#dhfstyle.is-tech .p-ds-anchorbox__item--chlg a {
	-ms-transform: translateX(0);
	    transform: translateX(0);
}

#dhfstyle.is-chlg .p-ds-anchorbox__item--top p:before,
#dhfstyle.is-chlg .p-ds-anchorbox__item--org p:before,
#dhfstyle.is-chlg .p-ds-anchorbox__item--tech p:before,
#dhfstyle.is-ftr .p-ds-anchorbox__item--top p:before,
#dhfstyle.is-ftr .p-ds-anchorbox__item--org p:before,
#dhfstyle.is-ftr .p-ds-anchorbox__item--tech p:before {
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
}

#dhfstyle.is-chlg .p-ds-anchorbox__item--top p:after,
#dhfstyle.is-chlg .p-ds-anchorbox__item--org p:after,
#dhfstyle.is-chlg .p-ds-anchorbox__item--tech p:after,
#dhfstyle.is-ftr .p-ds-anchorbox__item--top p:after,
#dhfstyle.is-ftr .p-ds-anchorbox__item--org p:after,
#dhfstyle.is-ftr .p-ds-anchorbox__item--tech p:after {
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}

#dhfstyle.is-chlg .p-ds-anchorbox__item--top a,
#dhfstyle.is-chlg .p-ds-anchorbox__item--org a,
#dhfstyle.is-chlg .p-ds-anchorbox__item--tech a,
#dhfstyle.is-ftr .p-ds-anchorbox__item--top a,
#dhfstyle.is-ftr .p-ds-anchorbox__item--org a,
#dhfstyle.is-ftr .p-ds-anchorbox__item--tech a {
	-ms-transform: translateX(40px);
	    transform: translateX(40px);
}

#dhfstyle.is-chlg .p-ds-anchorbox__item--chlg p:before,
#dhfstyle.is-chlg .p-ds-anchorbox__item--chlg p:after,
#dhfstyle.is-ftr .p-ds-anchorbox__item--chlg p:before,
#dhfstyle.is-ftr .p-ds-anchorbox__item--chlg p:after {
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}

#dhfstyle.is-chlg .p-ds-anchorbox__item--chlg a,
#dhfstyle.is-ftr .p-ds-anchorbox__item--chlg a {
	color: #d71518;
	cursor: default; 
	-ms-transform: translateX(20px); 
	    transform: translateX(20px);
}

#dhfstyle .l-gnav {
	transition: .3s ease;
}

#dhfstyle.is-org .l-header,
#dhfstyle.is-tech .l-header,
#dhfstyle.is-chlg .l-header,
#dhfstyle.is-ftr .l-header {
	overflow: hidden;
}

#dhfstyle.is-org .l-gnav,
#dhfstyle.is-tech .l-gnav,
#dhfstyle.is-chlg .l-gnav,
#dhfstyle.is-ftr .l-gnav {
	-ms-transform: translateY(-100%);
	    transform: translateY(-100%);
}

.p-recruit-news {
	border-top: solid 1px rgba(0, 0, 0, .25);
	border-bottom: solid 1px rgba(0, 0, 0, .25);
}
.p-recruit-news + .p-recruit-news {
	border-top: none;
}
.p-recruit-news a {
	display: -ms-flexbox;
	display: flex;
	padding: 16px 3.4188%;
	color: #000;
	font-size: 13px;
	font-size: .8125rem;
	line-height: 2;
	transition: .3s ease;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.p-recruit-news__date {
	width: 100%; 
	font-weight: 400;
	font-style: normal;
	font-family: "Oswald", sans-serif;
}
.p-recruit-news__ttl {
	width: 100%;
}

.p-recruit {
	display: -ms-flexbox;
	display: flex;
	padding-bottom: 52px;
	width: 93.6%;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
}
.p-recruit__btn {
	position: absolute;
	bottom: 40px;
	left: 10.56106%; 
	width: 78.87789%;
}

.p-recruit-newgr,
.p-recruit-career {
	padding: 32px 6.4%;
	height: 365px;
	background-position: left center;
	background-size: cover; 
	background-repeat: no-repeat;
}
.p-recruit-newgr .c-blst,
.p-recruit-career .c-blst {
	min-height: 300px;
	background-color: #000;
}
.p-recruit-newgr .c-blst__ttl:after,
.p-recruit-career .c-blst__ttl:after {
	background-color: #d71518;
}
.p-recruit-newgr .c-blst__name,
.p-recruit-career .c-blst__name {
	top: 48px;
	right: 10.56106%; 
	color: #d71518;
}
.p-recruit-newgr .c-blst__txt,
.p-recruit-career .c-blst__txt {
	color: #fff;
}

.p-recruit-newgr {
	width: 100%;
	background-image: url(/recruit/image/top_img01.jpg);
}
.p-recruit-newgr .c-blst {
	padding: 40px 10.56106%; 
	width: 100%;
}

.p-recruit-career {
	width: 100%;
	background-image: url(/recruit/image/top_img02.jpg);
}
.p-recruit-career .c-blst {
	padding: 40px 10.56106%; 
	width: 100%;
}

.p-recruit-flow {
	padding: 32px 6.4% 55px;
}

.p-recruit-guide {
	margin-top: 60px !important;
}

.p-recruit-contact {
	padding-bottom: 52px;
}

.p-news {
	margin-bottom: 42px;
	padding-top: 80px;
	padding-right: 6.4%; 
	padding-left: 6.4%;
}
.p-news a {
	color: #000;
	transition: .3s ease;
}
.p-news__lst {
	width: 100%;
}
.p-news__item {
	border-bottom: solid 1px #bbb;
}
.p-news__item:first-child {
	border-top: solid 1px #bbb;
}
.p-news__item a {
	display: block;
	padding: 13px 0;
	color: #000;
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.53846;
	transition: .3s ease;
}
.p-news__date {
	padding-right: 3.2%; 
	padding-left: 3.2%;
	font-weight: 400;
	font-style: normal;
	font-family: "Oswald", sans-serif;
}
.p-news__ttl {
	padding-right: 3.2%; 
	padding-left: 3.2%;
}

.p-nnav {
	position: relative; 
	margin: 22px auto 0;
	width: 100%;
	text-align: center;
}
.p-nnav__arrow {
	position: absolute; 
	display: inline-block;
	padding: 5px 12px;
}
.p-nnav__arrow img {
	width: 6px;
	height: auto;
	vertical-align: middle;
}
.p-nnav__arrow--prev {
	top: 0;
	left: 0;
}
.p-nnav__arrow--next {
	top: 0;
	right: 0;
}
.p-nnav__pager {
	display: inline-block;
	padding: 6px; 
	font-size: 12px;
	font-size: .75rem;
	line-height: 1.5;
}
.p-nnav .page-numbers {
	display: inline-block;
	padding: 6px; 
	font-size: 12px;
	font-size: .75rem;
	line-height: 1.5;
}
.p-nnav .page-numbers.current {
	color: #d71518;
}
.p-nnav .page-numbers.prev {
	position: absolute;
	top: 0;
	left: 7.64526%; 
	padding: 6px 12px;
}
.p-nnav .page-numbers.next {
	position: absolute;
	top: 0;
	right: 7.64526%; 
	padding: 6px 12px;
}

.p-news-detail {
	padding: 0 6.4%; 
	width: 100%;
}
.p-news-detail__header {
	margin-bottom: 32px;
	padding: 55px 0 8px;
	border-bottom: solid 1px #d71518;
}
.p-news-detail__date {
	display: inline-block;
	width: 68px; 
	font-weight: 400;
	font-style: normal;
	font-size: 13px;
	font-size: .8125rem;
	font-family: "Oswald", sans-serif;
	line-height: 2;
}
.p-news-detail__category {
	position: relative; 
	display: inline-block;
	padding-left: 16px;
	font-size: 13px;
	font-size: .8125rem;
	line-height: 2;
}
.p-news-detail__category a {
	color: #d71518;
}
.p-news-detail__category:before {
	position: absolute;
	top: 5px;
	left: 0; 
	display: block;
	width: 1px;
	height: 13px;
	background-color: #000;
	content: "";
}
.p-news-detail__ttl {
	font-weight: 700; 
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 1.3;
}
.p-news-detail__body {
	overflow: hidden; 
	padding-bottom: 44px;
}
.p-news-detail__body h2,
.p-news-detail__body h3,
.p-news-detail__body h4 {
	padding-top: 35px; 
	color: #000;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 2;
}
.p-news-detail__body h2:after,
.p-news-detail__body h3:after,
.p-news-detail__body h4:after {
	background-color: #d71518;
}
.p-news-detail__body h5,
.p-news-detail__body h6 {
	font-size: 14px;
	font-size: .875rem;
	line-height: 2;
}
.p-news-detail__body p,
.p-news-detail__body li {
	font-size: 14px;
	font-size: .875rem;
	line-height: 2;
}
.p-news-detail__body p,
.p-news-detail__body ul,
.p-news-detail__body ol {
	margin-bottom: 36px;
}
.p-news-detail__body ul {
	padding-left: 1em;
}
.p-news-detail__body ul li {
	position: relative;
}
.p-news-detail__body ul li:before {
	position: absolute;
	top: 12px;
	left: -10px; 
	display: inline-block;
	margin: auto;
	width: 4px;
	height: 4px;
	background-color: #000;
	content: "";
}
.p-news-detail__body ol {
	padding-left: 1em; 
	counter-reset: num;
}
.p-news-detail__body ol li:before {
	display: inline-block;
	margin-left: -1em; 
	width: 1em;
	content: counter(num) ".";
	counter-increment: num;
}
.p-news-detail__body a {
	color: #d71518;
	text-decoration: underline;
}
.p-news-detail__body > img {
	padding: 7px 0; 
	max-width: 100%;
}
.p-news-detail__body .alignleft {
	float: left; 
	margin-right: 16px;
}
.p-news-detail__body .alignleft:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}
.p-news-detail__body .alignright {
	float: right;
}
.p-news-detail__body .alignright:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}
.p-news-detail__footer {
	padding: 25px 0 66px;
	border-top: solid 1px #bbb; 
	text-align: right;
}

.p-contact {
	padding-top: 54px !important;
}
.p-contact--eng {
	padding-bottom: 95px !important;
}
.p-contact .alert {
	display: none;
	color: #d71518;
}
.p-contact .is-required:after {
	color: #d71518; 
	content: "*";
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.p-contact__tab {
	margin-top: 0 !important;
	margin-bottom: 36px;
	padding-bottom: 24px;
	border-bottom: solid 1px #bbb;
}
.p-contact__tab .is-required:after {
	color: #d71518; 
	content: "*";
	font-size: 15px;
	font-size: .9375rem;
	line-height: 2;
}
.p-contact__tab label {
	display: block;
	font-weight: 700;
}
.p-contact__tab label.radio {
	display: inline-block;
	margin-bottom: 6px; 
	font-weight: 400;
}
.p-contact__tab input[type="radio"] {
	position: absolute;
	overflow: hidden;
	clip: rect(0, 0, 0, 0); 
	margin: -1px;
	padding: 0;
	width: 1px;
	height: 1px;
	border: 0;
}
.p-contact__tab input[type="radio"] + .radio {
	position: relative; 
	margin-right: 2.98507%;
	font-weight: 700;
}
.p-contact__tab input[type="radio"] + .radio:before {
	display: inline-block;
	margin-right: 8px;
	width: 16px;
	height: 16px;
	border: solid 1px #bbb;
	border-radius: 50%;
	content: "";
	vertical-align: -2px;
}
.p-contact__tab input[type="radio"] + .radio:after {
	position: absolute;
	top: 6px;
	left: 0;
	display: inline-block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: -ms-radial-gradient(center center, circle farthest-side, #d77515 10%, #d71518);
	background: gradient(center, circle farthest-side, #d77515, #d71518);
	background: -webkit-radial-gradient(center center, circle farthest-side, #d77515 10%, #d71518);
	content: "";
	transition: .3s ease; 
	-ms-transform: scale(0); 
	    transform: scale(0);
}
.p-contact__tab input[type="radio"]:checked + .radio {
	color: #d71518;
}
.p-contact__tab input[type="radio"]:checked + .radio:after {
	-ms-transform: scale(1);
	    transform: scale(1);
}
.p-contact__box {
	position: relative;
}
.p-contact__form {
	position: absolute;
	top: 0;
	left: 0; 
	display: none;
}
.p-contact__form.is-active {
	position: static; 
	display: block;
}
.p-contact__conf {
	position: fixed;
	top: 40px;
	right: 0;
	left: 0;
	z-index: 100;
	overflow: hidden; 
	margin: auto;
	width: 87.2%;
	height: calc(100vh - 80px);
	background-color: #fff;
}
.p-contact__mask {
	-ms-transform: scale(0, 1);
	    transform: scale(0, 1);
}

.p-conf {
	display: none;
	opacity: 0;
}
.p-conf__body {
	overflow-y: scroll; 
	padding: 64px 7.14286%;
	height: 100%;
}
.p-conf__body dt {
	padding-right: 1em;
}
.p-conf__btn {
	display: block;
	margin: auto; 
	width: 100%;
	color: #fff !important;
	text-decoration: none !important;
}
.p-conf__send {
	margin-top: 40px;
}
.p-conf__back {
	margin-top: 24px;
}

.p-eng-overlay {
	z-index: 88; 
	display: none;
}

.p-mv {
	position: relative;
	box-sizing: content-box; 
	padding-bottom: 52px;
	width: 100%;
}
.p-mv__main {
	position: relative;
	z-index: 10;
	overflow: hidden;
	width: 100%;
	height: 460px;
	text-align: center;
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.p-mv__main video,
.p-mv__main img {
	position: absolute;
	top: 0;
	left: 50%;
	width: auto;
	height: 100%;
	-ms-transform: translateX(-50%);
	    transform: translateX(-50%);
}
.p-mv__txtarea {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 12;
	margin: auto;
	padding: 0 6.4%;
	width: 100%;
	height: 135px;
	text-align: left;
}
.p-mv__type {
	color: #d71518;
	font-weight: 300;
	font-style: normal;
	font-size: 18px;
	font-size: 1.125rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.p-mv__ttl {
	color: #d71518;
	font-weight: 300;
	font-style: normal;
	font-size: 60px;
	font-size: 3.75rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.p-mv__txt {
	color: #fff;
	font-style: normal;
	font-size: 12px;
	font-size: .75rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
	-ms-transform: scale(1, 1);
	    transform: scale(1, 1);
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.p-mv__btn {
	margin-top: 24px; 
	width: 204px;
}
.p-mv__sound {
	position: absolute;
	right: 3.69231%;
	bottom: 30px;
	z-index: 12;
}
.p-mv__sound a {
	position: relative;
	display: block;
	padding: 10px;
	color: rgba(255, 255, 255, .5);
	white-space: nowrap;
	font-weight: 300;
	font-style: normal;
	font-size: 12px;
	font-size: .75rem;
	font-family: "Oswald", sans-serif;
	line-height: 1;
	transition: .3s ease;
}
.p-mv__sound a.is-active {
	color: #fff;
}
.p-mv__sound a.is-active:after {
	background-color: #fff;
	animation: sound 1.7s infinite cubic-bezier(.645, .045, .355, 1);
}
.p-mv__sound a:after {
	position: absolute;
	bottom: 0;
	left: 10px;
	display: block;
	width: calc(100% - 20px);
	height: 1px;
	background-color: rgba(255, 255, 255, .5);
	content: "";
	transition: .3s ease;
}
.p-mv__accent {
	position: relative;
	top: 0;
	right: -12.8%; 
	padding-top: 24px;
	width: 87.2%;
	height: 65px;
	background-image: linear-gradient(90deg, #d77515 10%, #d71518 60%, #d77515);
	background-position: left center;
	background-size: 200% 100%;
	background-repeat: no-repeat;
}
.p-mv__vbtn {
	margin-left: 6.83761%;
	padding: 8px 0; 
	width: 86.32479%;
}

#top-content {
	position: relative;
}
#top-content:after {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 4px;
	background-image: linear-gradient(90deg, #d71518, #d77515);
	background-image: linear-gradient(to right, #d71518, #d77515);
	background-image: -moz-linear-gradient(left, #d71518, #d77515); 
	content: "";
}

.p-topproduct {
	overflow: hidden;
	-ms-transform-origin: center left;
	    transform-origin: center left;
}
.p-topproduct .c-mask-alpbk {
	z-index: 0; 
	width: 108.33333%;
}
.p-topproduct__bg {
	position: absolute;
	top: 0;
	right: 0; 
	width: 93.6%;
}
.p-topproduct__bg video {
	width: 100%;
}
.p-topproduct__bg img {
	width: 100%;
	height: auto;
}
.p-topproduct__contents {
	display: -ms-flexbox;
	display: flex;
	padding-top: 40px;
	width: 100%;

	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: end;
	    align-items: flex-end;
}
.p-topproduct__lst {
	position: relative;
	z-index: 10;
	display: -ms-flexbox;
	display: flex;
	width: 87.2%;
	background-image: linear-gradient(90deg, #d71518 10%, #d77515 50%, #d77515 60%, #d71518);
	background-position: left center;
	background-size: 200% 100%;
	background-repeat: no-repeat;
	-ms-transform-origin: left center;
	    transform-origin: left center;

	-ms-flex-flow: column wrap;

	    flex-flow: column wrap;
	-ms-flex-line-pack: start;
	    align-content: flex-start;
	-ms-flex-pack: start;
	    justify-content: flex-start;
}
.p-topproduct__item {
	padding-right: 9.78593%; 
	padding-bottom: 85px;
	padding-left: 9.78593%;
	width: 100%;
}
.p-topproduct__item--plant {
	padding-bottom: 135px;
}
.p-topproduct__item ul {
	overflow: hidden;
}
.p-topproduct__item li {
	position: relative;
	display: inline-block;
	float: left;
	clear: left; 
	padding-right: 34px;
	line-height: 1.25;
}
.p-topproduct__item li:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}
.p-topproduct__item li a {
	padding-bottom: 2px;
}
.p-topproduct__item .c-blst__name {
	right: 9.78593%;
}
.p-topproduct__btn {
	position: absolute;
	bottom: 0;
	margin: auto; 
	width: 80.42813%;
}
.p-topproduct__search {
	display: none;
	float: right; 
	margin-top: 29px;
	margin-right: 6.4%;
}
.p-topproduct__search:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}
.p-topproduct__search .c-ullst__item {
	float: right;
}
.p-topproduct__search .c-ullst__item:after {
	display: block;
	clear: both;
	height: 0; 
	content: "";
}
.p-topproduct__search .c-ullst__item a {
	box-shadow: 0 -1px 0 0 #000 inset; 
	color: #000;
}
.p-topproduct__search .c-ullst__item a:after {
	background-color: #000;
}
.p-topproduct__more {
	margin-top: 40px;
}

#top-technology {
	margin-top: 65px;
}

.p-toptechnology__body {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	padding-top: 35px;
	width: 93.6%;
	background-color: #000;
	-ms-transform-origin: left center;
	    transform-origin: left center;

	-ms-flex-flow: column wrap;

	    flex-flow: column wrap;
	-ms-flex-line-pack: start;
	    align-content: flex-start;
	-ms-flex-pack: start;
	    justify-content: flex-start;
}

.p-toptechnology__txtarea {
	margin-bottom: 40px;
	padding: 0 6.83761%; 
	width: 100%;
}

.p-toptechnology__ttl,
.p-tech-story__ttl,
.p-co-style__ttl {
	position: relative; 
	margin-bottom: 20px;
	color: #d71518;
	font-weight: 300;
	font-style: normal;
	font-size: 40px;
	font-size: 2.5rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.15;
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.p-toptechnology__ttl span,
.p-tech-story__ttl span,
.p-co-style__ttl span {
	display: block;
	color: #fff; 
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 1.08333;
}

.p-toptechnology__txt,
.p-tech-story__txt,
.p-co-style__txt {
	position: relative; 
	margin-bottom: 29px;
	color: #fff;
	font-style: normal;
	font-size: 13px;
	font-size: .8125rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.84615;
	-ms-transform-origin: left center;
	    transform-origin: left center;
}

.p-toptechnology__lst {
	width: 93.16239%;
}

.p-toptechnology__item {
	position: relative; 
	width: 100%;
}
.p-toptechnology__item .c-olst__num {
	margin-top: -.5em;
	color: #fff;
	transition: .3s ease;
}
.p-toptechnology__item .c-olst__type:after {
	left: 8.82353%;
}
.p-toptechnology__item .c-mask-stripe {
	background-color: rgba(0, 0, 0, .25);
	transition: .3s ease;
}
.p-toptechnology__item div:before {
	position: absolute;
	bottom: 0;
	left: 0;
}
.p-toptechnology__item div img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
.p-toptechnology__item p {
	padding: 0 7.33945%;
}
.p-toptechnology__item a {
	display: block;
}
.p-toptechnology__item--item1 {
	margin-top: 0;
}
.p-toptechnology__item--item2 {
	margin-top: 30px;
	margin-left: 14.6789%;
}
.p-toptechnology__item--item3 {
	margin-top: 30px;
	margin-left: 7.33945%;
}

.p-toptechnology__more {
	margin-top: 40px;
}

#top-works {
	margin-top: 72px;
}

.p-topworks__body {
	position: relative; 
	width: 100%;
}

.p-topworks__bg {
	position: absolute;
	top: 40px;
	left: 6.4%;
	z-index: -1;
	width: 93.6%;
	height: calc(100% - 40px);
	background-color: #000;
	-ms-transform-origin: left center;
	    transform-origin: left center;
}

.p-topworks__lst {
	width: 100%;
}

.p-topworks__item {
	position: relative; 
	margin-bottom: 40px;
	width: 87.2%;
}
.p-topworks__item .c-olst__num {
	transition: .3s ease;
}
.p-topworks__item .c-olst__txtarea {
	position: relative; 
	margin-top: -29px;
}
.p-topworks__item .c-mask-stripe {
	background-color: rgba(0, 0, 0, .25);
	transition: .3s ease;
}
.p-topworks__item--item1 {
	overflow: hidden;
}
.p-topworks__item--item1 .c-olst__img {
	width: 100%;
}
.p-topworks__item--item1 .c-olst__txtarea {
	margin-left: 12.8%; 
	text-align: left;
}
.p-topworks__item--item2 {
	margin-left: 6.4%;
}
.p-topworks__item--item2 a {
	display: block;
}
.p-topworks__item--item2 img {
	width: 100%;
	height: auto;
}
.p-topworks__item--item2 .c-olst__txtarea {
	padding-left: 6.4%;
}
.p-topworks__item--item3 {
	margin-left: 12.8%;
}
.p-topworks__item--item3 .c-olst__txtarea {
	margin-left: 6.4%;
}
.p-topworks__item--item3 .c-olst__img {
	display: block;
}

.p-topworks__more {
	margin-left: 6.4%; 
	width: 93.6%;
}

#top-about {
	margin-top: 72px;
}

.p-topabout__body {
	display: -ms-flexbox;
	display: flex;
	width: 100%;

	-ms-flex-flow: column wrap;

	    flex-flow: column wrap;
	-ms-flex-line-pack: start;
	    align-content: flex-start;
	-ms-flex-pack: start;
	    justify-content: flex-start;
}

.p-topabout__img {
	position: relative;
	padding: 32px 6.4% 60px;
	width: 93.6%;
	background-image: url(/image/top_about01_sp.jpg);
	background-position: center; 
	background-size: cover;
	background-repeat: no-repeat;
	-ms-transform-origin: left center;
	    transform-origin: left center;
}

.p-topabout__info {
	position: relative;
	padding-right: 10.56106%;
	padding-left: 10.56106%;
	width: 100%;
	background-color: #fff;
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.p-topabout__info .c-blst__ttl {
	color: #000;
}
.p-topabout__info .c-blst__ttl:after {
	background-color: #d71518;
}
.p-topabout__info .c-blst__txt {
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.84615;
}
.p-topabout__info .c-blst__name {
	right: 10.56106%; 
	color: #d71518;
}

.p-topabout__maparea {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	-ms-transform-origin: left center;
	    transform-origin: left center;

	-ms-flex-flow: column wrap;

	    flex-flow: column wrap;
	-ms-flex-pack: start;
	    justify-content: flex-start;
}
.p-topabout__maparea .p-about__mask1 {
	z-index: 81;
}

.p-topabout__mapinfo {
	position: relative;
	position: relative;
	z-index: 1; 
	padding-right: 14.93333%;
	padding-left: 14.93333%;
	width: 93.6%;
	background-color: #000;
	-ms-transform-origin: left center;
	    transform-origin: left center;
}
.p-topabout__mapinfo .c-blst__ttl:after {
	background-color: #d71518;
}
.p-topabout__mapinfo .c-blst__txt {
	color: #fff; 
	font-size: 13px;
	font-size: .8125rem;
	line-height: 1.84615;
}
.p-topabout__mapinfo .c-blst__name {
	color: #d71518;
}

.p-topabout__map {
	display: inline-block;
	width: 93.6%;
	height: 200px;
	background-image: url(/image/top_map_sp.png);
	background-position: top left; 
	background-size: cover;
	background-repeat: no-repeat;
}

.p-topabout__btn {
	margin-top: 70px;
}

.p-topabout__more {
	width: 93.6%;
}

.p-topabout__mask2 {
	z-index: 79;
}

#top-news {
	padding-top: 80px;
	padding-bottom: 90px; 
	background-color: #fff;
}

.p-topnews {
	background-color: #f9f9f9;
}
.p-topnews__body {
	padding: 32px 0 40px;
}
.p-topnews__lst {
	position: relative; 
	padding: 0 6.83761%;
	width: 100%;
}
.p-topnews__item {
	border-top: solid 1px #bbb;
}
.p-topnews__item:last-child {
	border-bottom: solid 1px #bbb;
}
.p-topnews__item a {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	padding: 12px 3.66972%;
	transition: .3s ease;

	-ms-flex-flow: column wrap;

	    flex-flow: column wrap;
	-ms-flex-align: start;
	    align-items: flex-start;
	-ms-flex-pack: start;
	    justify-content: flex-start;
}
.p-topnews__date {
	width: 100%;
	color: #000;
	font-weight: 400;
	font-style: normal;
	font-size: 13px;
	font-size: .8125rem;
	font-family: "Oswald", sans-serif;
	line-height: 1.5;
	transition: .3s ease;
}
.p-topnews__ttl {
	width: 100%;
	color: #000;
	font-style: normal;
	font-size: 13px;
	font-size: .8125rem;
	font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "Meiryo", sans-serif;
	line-height: 1.5;
	transition: .3s ease;
}
.p-topnews__more {
	width: 100%;
	-ms-transform-origin: left center;
	    transform-origin: left center;
}

.u-h146 {
	height: 146px !important;
}

.u-mt0 {
	margin-top: 0 !important;
}

.u-mt12 {
	margin-top: 12px !important;
}

.u-mt24 {
	margin-top: 24px !important;
}

.u-mt30 {
	margin-top: 30px;
}

.u-mt36 {
	margin-top: 36px;
}

.u-mt50 {
	margin-top: 50px;
}

.u-mt60 {
	margin-top: 60px;
}

.u-mt64 {
	margin-top: 64px;
}

.u-mt80 {
	margin-top: 80px;
}

.u-mt120 {
	margin-top: 120px  !important;
}

.u-mt-36 {
	margin-top: -36px;
}

.u-mb0 {
	margin-bottom: 0 !important;
}

.u-mb4 {
	margin-bottom: 4px;
}

.u-mb12 {
	margin-bottom: 12px;
}

.u-mb20 {
	margin-bottom: 20px;
}

.u-mb24 {
	margin-bottom: 24px;
}

.u-mb26 {
	margin-bottom: 26px;
}

.u-mb30 {
	margin-bottom: 30px;
}

.u-mb32 {
	margin-bottom: 32px;
}

.u-mb50 {
	margin-bottom: 50px;
}

.u-mb60 {
	margin-bottom: 60px;
}

.u-mb110 {
	margin-bottom: 110px;
}

.u-ml-kerm {
	margin-left: .5em;
}

.u-pb-btn {
	padding-bottom: 60px;
}

.u-pt00 {
	padding-top: 0 !important;
}

.u-pb28 {
	padding-bottom: 28px;
}

.u-pb77 {
	padding-bottom: 77px !important;
}

.u-pb112 {
	padding-bottom: 112px !important;
}

.u-pb120 {
	padding-bottom: 120px;
}

.u-pb-content {
	padding-bottom: 30px;
}

.u-pl-indent {
	padding-left: 1em;
}
.u-pl-indent--ib {
	display: inline-block; 
	padding-left: 1em;
}

.u-pl-indent2 {
	padding-left: 2em;
}

.u-pr16 {
	padding-right: 16px;
}

.u-cl-red {
	color: #d71518 !important;
}

.u-cl-wh {
	color: #fff !important;
}

.u-cl-bk {
	color: #000 !important;
}

.u-cl-alpha {
	color: transparent !important;
}

.u-indent {
	text-indent: 1em;
}

.u-bold {
	font-weight: 700;
}

/* PC or SP
------------------------------ */
.is-pc {
	display: none !important;
}

.is-sp {
	display: block !important;
}

br.is-pc,
span.is-pc {
	display: none !important;
}

br.is-sp,
span.is-sp {
	display: inline !important;
}

.tel a {
	color: currentColor;
}
.tel a:hover,
.tel a:visited,
.tel a:focus {
	color: #d71518;
}

.u-w-auto {
	width: auto !important;
}

.u-alpha10 {
	opacity: 1;
}

.u-alpha4 {
	opacity: .4;
}

@media screen{
	[hidden~="screen"]{
		display: inherit;
	}
	[hidden~="screen"]:not(:active):not(:focus):not(:target){
		position: absolute !important;
		clip: rect(0 0 0 0) !important;
	}
}

@media screen and (min-width: 769px){
	body{
		font-size: 15px;
		font-size: .9375rem;
		line-height: 2;
	}
	.l-page:after{
		right: 7.14286%;
		left: auto;
		width: 64.28571%;
	}
	.l-page__line{
		display: block;
	}
	.l-page__line--item1{
		left: 7.14286%;
	}
	.l-page__line--item2{
		left: 28.57143%;
	}
	.l-page__line--item3{
		left: 50%;
	}
	.l-page__line--item4{
		left: 71.42857%;
	}
	.l-page__line--item5{
		left: 92.85714%;
	}
	.l-content__ttl{
		padding-top: 164px;
		padding-left: 7.69231%;
		width: 92.85714%;
		height: 380px;
	}
	.l-content__ttl--tech{
		padding-right: 0;
		padding-bottom: 0;
		height: 550px !important;
	}
	.l-content__ttl--tech h2{
		font-size: 52px;
		font-size: 3.25rem;
		line-height: 1.15385;
	}
	.l-content__ttl--tech h2 span{
		top: 19px;
		margin: auto;
	}
	.l-content__ttl--tech p{
		margin-bottom: 10px !important;
	}
	.l-content__accent{
		margin-top: -80px;
		margin-left: 28.57143%;
		width: 71.42857%;
		height: 160px;
	}
	.l-content__topicks{
		margin-top: -80px;
		margin-left: 7.14286%;
		width: 92.85714%;
	}
	.l-content__lead{
		margin-left: 28.57143%;
		padding: 77px 3.42857% 80px;
		width: 64.28571%;
	}
	.l-content__lead p,
	.l-content__lead li{
		font-size: 15px;
		font-size: .9375rem;
		line-height: 2;
	}
	.l-content__body--txt{
		margin-bottom: 108px;
	}
	.l-content__link a:hover .c-btn{
		background-color: #fff;
		color: #000;
	}
	.l-content__link a:hover .c-btn-line{
		background-color: #000;
		animation: btnline .5s 1 cubic-bezier(.645, .045, .355, 1);
	}
	.l-content__link a:hover .c-btn-line:before{
		background-color: #000;
	}
	.l-content__link p{
		font-size: 20px;
		font-size: 1.25rem;
		line-height: 1.3;
	}
	.l-content__link .c-btn{
		margin: 24px auto 0;
		width: 42.85714%;
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.625;
	}
	.l-content__link--product{
		margin-top: 60px;
	}
	.l-content__link--plan{
		margin-top: 120px;
	}
	.l-content__link--co{
		margin-top: 120px;
		margin-bottom: 108px;
	}
	.l-content__link--co a{
		padding: 65px 7.14286%;
		height: auto;
	}
	.l-content__link--co a:hover .c-btn{
		background-color: #fff;
		color: #000;
	}
	.l-header__ttl{
		z-index: 91;
		margin: 42px 4.28571% 46px;
		width: 12.14286%;
		height: 32px;
	}
	.l-footer{
		padding: 90px 7.14286% 0;
	}
	.l-footer__ttl{
		margin-bottom: 65px;
	}
	.l-footer__ttl a{
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
	.l-footer__ttl img:first-child{
		width: auto;
	}
	.l-footer__ttl img:nth-child(2){
		width: auto;
	}
	.l-footer__ttl span{
		font-size: 14px;
		font-size: .875rem;
		line-height: 1;
	}
	.l-footer__info{
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
	}
	.l-footer__sitemap{
		width: 75%;
	}
	.l-footer__sitemap a{
		position: relative;
		transition: .3s ease;
	}
	.l-footer__sitemap a:hover{
		color: #d71518;
	}
	.l-footer__link{
		width: 25%;
	}
	.l-footer__bnr{
		display: block;
	}
	.l-footer__bnr a:hover .c-btn-line{
		animation: btnline .5s 1 cubic-bezier(.645, .045, .355, 1);
	}
	.l-footer__bnr a:hover .c-mask-alpbk{
		opacity: 0;
	}
	.l-footer__contact{
		text-align: left;
	}
	.l-footer__misc{
		overflow: hidden;
		text-align: left;
	}
	.l-footer__misc ul{
		float: left;
	}
	.l-footer__misc ul:after{
		display: block;
		clear: both;
		height: 0;
		content: "";
	}
	.l-footer__misc ul li + li{
		margin-left: 20px;
	}
	.l-footer__misc ul a:hover{
		color: #d71518;
	}
	.l-footer__copyright{
		float: right;
		margin-top: 0;
	}
	.l-footer__copyright:after{
		display: block;
		clear: both;
		height: 0;
		content: "";
	}
	.l-sitemap{
		display: -ms-flexbox;
		display: flex;
		margin-bottom: 0;
		height: 365px;
		-ms-flex-flow: column wrap;
		flex-flow: column wrap;
		-ms-flex-align: start;
		align-items: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
	.l-sitemap__item{
		width: 25%;
	}
	.l-gnav{
		position: absolute;
		display: block;
	}
	.l-gnav__item a:hover:after{
		opacity: 1;
	}
	.l-gnav__item--product{
		width: 17.8%;
	}
	.l-gnav__item--technology{
		width: 14.3%;
	}
	.l-gnav__item--works{
		width: 10.7%;
	}
	.l-gnav__item--about{
		width: 13.1%;
	}
	.l-gnav__item--recruit{
		width: 11.3%;
	}
	.l-gnav__item--news{
		width: 10.6%;
	}
	.l-gnav__item--lang{
		box-sizing: content-box;
		padding-right: 1.7%;
		width: 7.4%;
	}
	.l-gnav__item--lang a{
		line-height: 1;
		-ms-flex-flow: column wrap;
		flex-flow: column wrap;
	}
	.l-gnav__item--lang a:hover .en{
		opacity: 1;
	}
	.l-gnav__item--lang a:hover .jp{
		opacity: .2;
	}
	.l-toggle{
		display: none;
		width: 7.14286%;
		height: 120px;
	}
	.l-toggle > span{
		top: 59px;
		width: 50px;
		height: 2px;
		-ms-transform: scale(0, 1);
		transform: scale(0, 1);
	}
	.l-menu__name{
		top: 0;
		right: 3.21429%;
		bottom: 0;
		margin: auto;
	}
	.l-menu__item--thumb > a:hover .c-mask-alpbk{
		opacity: 0;
	}
	.l-breadcrumb{
		padding: 24px 100px 8px;
	}
	.l-breadcrumb a:hover span[property="name"]{
		text-decoration: none;
	}
	.l-breadcrumb--white{
		margin-top: -62px;
	}
	.l-breadcrumb--white{
		color: #fff;
	}
	.l-breadcrumb--white span[property="name"]{
		color: #fff;
	}
	.l-topsection{
		padding: 0 7.14286%;
	}
	.l-topsection__header{
		padding-bottom: 15px;
		height: 120px;
	}
	.l-topsection__ttl,
	.l-topsubsection__ttl{
		display: inline-block;
		margin-top: 26px;
		padding-left: 0;
		font-size: 36px;
		font-size: 2.25rem;
		line-height: 1.61111;
	}
	.l-topsection__ttl span,
	.l-topsubsection__ttl span{
		font-size: 15px;
		font-size: .9375rem;
		line-height: 1.66667;
	}
	.l-topsection__more{
		position: absolute !important;
		right: 0;
		bottom: 0;
		padding: 22px 0 !important;
	}
	.l-topsubsection{
		padding: 0 7.14286%;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
	}
	.l-topsubsection__header{
		margin-left: -8.33333%;
		padding-top: 80px;
		padding-bottom: 0;
		padding-left: 8.33333%;
		width: 33.33333%;
	}
	.l-topsubsection__body{
		margin-right: -8.33333%;
		width: 83.33333%;
	}
	.l-section,
	.l-subsection{
		padding: 0 7.14286%;
	}
	.l-section--txt,
	.l-subsection--txt{
		margin-left: 28.57143%;
		padding: 80px 3.42857% 0;
		width: 64.28571%;
	}
	.l-section--txt a:hover,
	.l-subsection--txt a:hover{
		text-decoration: none;
	}
	.l-section--gray{
		margin-right: auto;
		margin-left: 28.57143%;
		padding: 0 !important;
		width: 64.28571%;
	}
	.l-section__header{
		margin-left: -8.33333%;
		padding: 80px 8.33333% 85px;
		width: 83.33333%;
	}
	.l-section__body--txt{
		margin-left: 25%;
		padding: 64px 4% 0;
		width: 75%;
	}
	.l-section__img{
		width: 68.65672%;
	}
	.l-section + .l-section,
	.l-subsection + .l-section,
	.l-section + .l-subsection,
	.l-subsection + .l-subsection{
		margin-top: 120px;
	}
	.l-subsection--txt{
		padding: 74px 3.42857% 0;
	}
	.l-col2{
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.l-col2 > div{
		width: 50%;
	}
	.l-col2 .c-olst__img{
		margin-left: 0;
		width: 50%;
	}
	.l-col2 .c-olst__txtarea{
		margin-top: 0;
		padding: 0 2% 0 4%;
	}
	.l-col2--reverse{
		-ms-flex-flow: row-reverse nowrap;
		flex-flow: row-reverse nowrap;
	}
	.l-col2--reverse .c-olst__txtarea{
		padding: 0 6% 0 0;
	}
	.l-topicks{
		padding: 128px 0 48px;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
	}
	.l-topicks__header{
		padding: 0 3.69231%;
		width: 23.07692%;
	}
	.l-topicks__body{
		padding-left: 3.69231%;
		width: 69.23077%;
	}
	.l-topicks__name{
		display: block;
	}
	.l-contact{
		padding: 120px 7.14286% 5px;
	}
	.l-contact--product{
		padding-bottom: 108px;
	}
	.l-contact--tech{
		padding-bottom: 120px;
	}
	.l-contact__body{
		margin: 0 auto;
		padding: 45px 25%;
	}
	.l-contact__body--col3{
		padding: 45px 12.5%;
	}
	.l-contact__body--col3 .l-contact__tel dl{
		width: calc(100% / 3);
	}
	.l-contact__body--col3 .l-contact__btn{
		margin-right: auto;
		margin-left: auto;
		width: 66.66667%;
	}
	.l-contact__txt{
		font-size: 20px;
		font-size: 1.25rem;
		line-height: 1.3;
	}
	.l-contact__tel{
		margin-top: 28px;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.l-contact__tel dl{
		padding: 8px 0;
		width: 50%;
	}
	.l-contact__tel dl:before{
		bottom: 0;
		left: -1px;
		margin: auto;
		width: 1px;
		height: 54px;
	}
	.l-contact__tel dl:nth-child(2):before{
		left: 0;
	}
	.l-contact__tel dl:last-child:after{
		top: 0;
		right: -2px;
		bottom: 0;
		left: auto;
		margin: auto;
		width: 1px;
		height: 54px;
	}
	.l-contact__tel--col1 dl{
		width: 100%;
	}
	.l-contact__btn{
		margin-top: 40px;
	}
	.l-anchor{
		display: block;
	}
	.c-btn{
		transition: .3s ease;
	}
	.c-btn:hover{
		border-color: #000;
		background-color: #000;
		color: #fff;
	}
	.c-btn:hover .c-btn-line{
		animation: btnline .5s 1 cubic-bezier(.645, .045, .355, 1);
	}
	.c-btn--whalp{
		transition: .3s ease;
	}
	.c-btn--whalp:hover{
		border-color: #fff;
		background-color: #fff;
		color: #000;
	}
	.c-btn--gralp{
		transition: .3s ease;
	}
	.c-btn--gralp:hover{
		border-color: #000;
		background-color: #000;
		color: #fff;
	}
	.c-btn:hover .c-btn-line:before,
	.c-btn-plane:hover .c-btn-line:before,
	.c-btn-plane--bk:hover .c-btn-line:before,
	.l-footer__catalog a:hover .c-btn-line:before,
	.l-content__link a:hover .c-btn-line:before,
	.l-content__link--co a:hover .c-btn-line:before{
		opacity: 1;
		-ms-transform: rotate(30deg);
		transform: rotate(30deg);
	}
	.c-btn-plane:hover,
	.c-btn-plane--bk:hover{
		background-position: right center;
	}
	.c-btn-plane,
	.c-btn-plane--bk{
		padding: 17px 0;
		transition: background-position .6s ease;
	}
	.c-btn-plane:hover .c-btn-line,
	.c-btn-plane--bk:hover .c-btn-line{
		animation: btnline .5s 1 cubic-bezier(.645, .045, .355, 1);
	}
	.c-btn-back:hover:after{
		opacity: 0;
	}
	.c-table-wrap--fix .c-table--col3 .c-table__col{
		min-width: 300px;
	}
	.c-table-wrap--fix .c-table--col3 .c-table__th{
		width: 31.34328%;
	}
	.c-table-wrap--fix .c-table--col4 .c-table__col{
		min-width: 300px;
	}
	.c-table-wrap{
		overflow-x: auto;
		padding-bottom: 0;
	}
	.c-table-wrap--fix{
		padding-bottom: 25px;
	}
	.c-tbl-slider{
		margin-right: -5.97015%;
		padding-top: 0;
	}
	.c-tbl-slider__head{
		width: 29.57746%;
	}
	.c-tbl-slider__body{
		padding-right: 35.21127%;
		width: 70.42254%;
	}
	.c-tbl-slider__common{
		width: 200%;
	}
	.c-tbl-slider__col{
		padding-top: 24px;
	}
	.c-tbl-slider__head .c-tbl-slider__col--line p{
		padding-bottom: 30px;
	}
	.c-tbl-slider__body .c-tbl-slider__col--line{
		padding-top: 54px;
	}
	.c-tbl-slider__col--l2 p{
		padding-bottom: 60px;
	}
	.c-tbl-slider__col--l3 p{
		padding-bottom: 90px;
	}
	.c-tbl-slider__col--l4 p{
		padding-bottom: 120px;
	}
	.c-tbl-slider__col--l5 p{
		padding-bottom: 150px;
	}
	.c-tbl-slider__col--l6 p{
		padding-bottom: 180px;
	}
	.c-tbl-slider__controls{
		top: auto;
		right: 5.6338%;
		bottom: 100%;
		left: auto;
		text-align: right;
	}
	.c-olst__num{
		font-size: 72px;
		font-size: 4.5rem;
		line-height: 1.11111;
	}
	.c-olst__txt{
		font-size: 15px;
		font-size: .9375rem;
		line-height: 2;
	}
	.c-olst__sup{
		margin-top: 5px;
	}
	.c-blst{
		padding: 68px 48px 0;
	}
	.c-blst__name{
		top: 74px;
		right: 45px;
	}
	.c-ullst a:hover{
		box-shadow: 0 -1px 0 0 transparent inset;
		color: #d71518;
	}
	.c-thlst{
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.c-thlst--col3 .c-thlst__item{
		width: 33.3333%;
	}
	.c-thlst--txt .c-thlst__item{
		padding: 0 5.97015% 40px 0;
		width: 37.31343%;
	}
	.c-thlst--txt .c-thlst__item--btn .c-btn{
		width: 84%;
	}
	.c-thlst__item{
		margin-bottom: 50px;
		padding: 0 2.5% 0 0;
		width: 25%;
	}
	.c-thlst__item--btn{
		padding-bottom: 42px;
	}
	.c-thlst__item--btn .c-btn{
		left: 0;
		width: 90%;
	}
	.c-thlst__item > a:not(.c-btn):hover{
		opacity: .8;
	}
	.c-dllst dl{
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
	}
	.c-dllst dt{
		padding-bottom: 4px;
		width: 31.34328%;
	}
	.c-dllst dd{
		padding-top: 24px;
		width: 68.65672%;
	}
	.c-dllst a:hover{
		text-decoration: none;
	}
	.c-dllst--col3 dl{
		display: -ms-flexbox;
		display: flex;
		padding-top: 0;
	}
	.c-dllst--col3 dt{
		float: none;
		padding-top: 24px;
		padding-right: 0;
		width: 31.34328%;
	}
	.c-dllst--col3 dd{
		float: none;
		width: 37.31343%;
	}
	.c-dllst--col3 dd:last-child{
		width: 31.34328%;
	}
	.c-pllst li a{
		transition: .3s ease;
	}
	.c-pllst li a:hover{
		color: #000;
	}
	.c-tgllst__item.is-disabled .c-tgllst__header p:after{
		display: inline;
		margin-left: 2em;
		font-size: 13px;
		font-size: .8125rem;
		line-height: 2.30769;
	}
	.c-tgllst__header{
		font-size: 15px;
		font-size: .9375rem;
		line-height: 2;
	}
	.c-tgllst__header a:hover{
		background-color: #000;
		color: #fff;
	}
	.c-tgllst__header a:hover .c-tgllst__toggle > div:before,
	.c-tgllst__header a:hover .c-tgllst__toggle > div:after{
		background-color: #fff;
	}
	.c-tgllst__body{
		padding: 0 2.98507% 24px;
	}
	dl.c-dtlst dt{
		width: 82px;
	}
	dl.c-dtlst dd{
		width: calc(100% - 82px);
	}
	.c-fllst li p{
		float: left;
		width: 68.65672%;
	}
	.c-fllst li p:after{
		display: block;
		clear: both;
		height: 0;
		content: "";
	}
	.c-fllst li .c-btn{
		float: right;
		width: 31.34328%;
	}
	.c-fllst li .c-btn:after{
		display: block;
		clear: both;
		height: 0;
		content: "";
	}
	.c-fllst li .c-btn:hover{
		color: #fff;
	}
	.c-imglst li{
		width: 23.13433%;
	}
	.c-imglst--col3 li{
		width: 31.34328%;
	}
	.c-hd-style{
		text-align: left;
	}
	.c-hd-style__ttl{
		font-size: 32px;
		font-size: 2rem;
		line-height: 1.5;
	}
	.c-hd-style__name{
		font-size: 80px;
		font-size: 5rem;
		line-height: 1;
	}
	.c-hd-style__copy{
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 1.5;
	}
	.c-hdl2{
		font-size: 36px;
		font-size: 2.25rem;
		line-height: 1.08333;
	}
	.c-hdl2 span:not([class]){
		margin-top: 14px;
		font-size: 15px;
		font-size: .9375rem;
		line-height: 1.66667;
	}
	.c-hdl3 a:hover,
	.c-hdl3--bk a:hover,
	.p-pro-kind__item .c-olst__name a:hover,
	.p-co-info__name a:hover,
	.p-news-detail__body h2 a:hover,
	.p-news-detail__body h3 a:hover,
	.p-news-detail__body h4 a:hover{
		color: #000;
	}
	.c-hdl4{
		font-size: 24px;
		font-size: 1.5rem;
		line-height: 1.5;
	}
	.c-flow__item{
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
	}
	.c-flow__item > div{
		padding: 26px 4.22222%;
	}
	.c-flow__name{
		width: 31.46766%;
	}
	.c-flow__detail{
		width: 68.53234%;
		border-top: solid 1px #000;
		border-left: none;
	}
	.c-form > p{
		font-size: 15px;
		font-size: .9375rem;
		line-height: 2;
	}
	.c-form > p > input,
	.c-form > p > textarea{
		font-size: 15px;
		font-size: .9375rem;
		line-height: 2;
	}
	.c-form .selectbox{
		white-space: nowrap;
	}
	.c-form .selectbox:after{
		bottom: 20px;
		left: 87.56219%;
	}
	.c-form .pref select{
		padding: 2px 16px;
		width: 31.46766%;
	}
	.c-form .pref:after{
		top: 46px;
		right: auto;
		left: calc(31.46766% - 30px);
	}
	.c-form .month,
	.c-form .day{
		margin-right: .99502%;
		margin-left: 2.98507%;
		padding: 2px 16px;
		width: 31.46766%;
	}
	.c-form input:not([type="submit"]),
	.c-form textarea{
		padding: 2px 16px;
	}
	.c-form input.inline.year,
	.c-form input.inline[id^="bdyear"],
	.c-form input.inline[id^="abyear"],
	.c-form input.inline[id^="weyear"]{
		width: 18.65672%;
	}
	.c-form input.inline.month{
		width: 12.43781%;
	}
	.c-form input.inline.p-postal-code{
		width: 31.46766%;
	}
	.c-form input.inline.tel,
	.c-form input.inline#emergency{
		width: 68.90547%;
	}
	.c-form select.month,
	.c-form select.day{
		width: 12.43781%;
	}
	.c-form .abschool{
		margin-top: 0;
		margin-left: 2.98507% !important;
		width: 41.04478%;
	}
	.c-form input[type="radio"] + .radio:after{
		top: 6px;
	}
	.c-form .c-btn{
		width: 37.31343%;
	}
	.c-form__btn{
		margin: 64px auto 0;
		width: 37.31343%;
	}
	.c-img{
		width: 68.65672%;
	}
	.c-img--over{
		margin-left: -5.97015%;
		width: 111.9403%;
	}
	.c-img--full{
		width: 100%;
	}
	.c-img--sm{
		width: 31.34328%;
	}
	.c-img-box{
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
	}
	.c-img-box .c-img{
		width: 31.34328%;
	}
	.c-img-box--col2{
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
	}
	.c-img-box--col2 .c-img{
		width: 44.02985%;
	}
	.c-img-box--col2 .c-img:nth-child(2n){
		margin-left: 5.97015%;
	}
	.p-product-nav{
		margin-top: -90px;
		margin-left: 7.14286%;
		padding-top: 140px;
		width: 92.85714%;
		height: auto;
	}
	.p-product-nav__ttl{
		display: block;
	}
	.p-product-nav__search{
		display: -ms-flexbox;
		display: flex;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-ms-flex-align: center;
		align-items: center;
	}
	.p-product-nav__search a{
		transition: .3s ease;
	}
	.p-product-nav__search a:hover{
		background-color: #fff;
		color: #d71518;
	}
	.p-product-nav__search a:hover:before,
	.p-product-nav__search a:hover:after{
		background-color: #d71518;
	}
	.p-product-nav__items a:hover{
		background-color: #fff;
		color: #d71518;
	}
	.p-product-nav__items--category a:hover:after{
		background-image: url(/common/image/anchor_r.svg);
	}
	.p-product-nav__items--type a:hover{
		background-color: #fff;
		color: #d71518;
	}
	.p-product-nav__name{
		display: block;
	}
	.p-product-nav__btn{
		display: block;
	}
	.p-product--index{
		margin-top: 120px;
		padding-bottom: 0;
	}
	.p-product--index .p-product__item{
		padding-bottom: 0;
	}
	.p-product__item--reverse .p-product__header{
		float: right;
		margin-left: 0;
	}
	.p-product__item--reverse .p-product__header:after{
		display: block;
		clear: both;
		height: 0;
		content: "";
	}
	.p-product__item--reverse .p-product__name,
	.p-product__item--reverse .p-product__btn{
		margin-left: 48.85714%;
	}
	.p-product__item--reverse .p-product__txt{
		margin-left: 28.57143%;
	}
	.p-product__item--reverse .p-product__service{
		left: 74.42857%;
	}
	.p-product__item--reverse .p-product__service dd{
		width: 100%;
	}
	.p-product__item--category .p-product__header{
		width: 71.42857%;
	}
	.p-product__item--category .p-product__name{
		margin-left: 10%;
	}
	.p-product__item--category .p-product__btn{
		margin-left: 10%;
		width: 25.2%;
	}
	.p-product__item--category .p-product__img{
		margin-top: -237px;
		margin-left: 50%;
		width: 50%;
	}
	.p-product__item--category.p-product__item--reverse .p-product__name{
		margin-left: 34.8%;
	}
	.p-product__item--category.p-product__item--reverse .p-product__btn{
		margin-left: 34.8%;
	}
	.p-product__item + .p-product__item{
		margin-top: 0;
	}
	.p-product__header{
		padding: 75px 0;
		width: 50%;
	}
	.p-product__name{
		margin-bottom: 34px;
		margin-left: 14.28571%;
	}
	.p-product__body{
		display: -ms-flexbox;
		display: flex;
		padding-bottom: 0;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	.p-product__img{
		margin-top: -257px;
		margin-left: 28.57143%;
		width: 71.42857%;
	}
	.p-product__img--tl2{
		margin-top: -295px;
	}
	.p-product__txt{
		margin-left: 28.57143%;
		padding: 48px 3.42857% 115px;
		width: 64.28571%;
	}
	.p-product__txt p{
		font-size: 15px;
		font-size: .9375rem;
		line-height: 2;
	}
	.p-product__service{
		position: absolute;
		top: 367px;
		left: 7.14286%;
		padding: 0;
		width: 21.42857%;
	}
	.p-product__service--tl2{
		top: 406px;
	}
	.p-product__service dt{
		margin-bottom: 12px;
	}
	.p-product__btn{
		position: relative;
		right: auto;
		margin: 0 0 0 14.28571%;
		width: 37.14286%;
	}
	.p-product__btn:hover .c-btn-line,
	.p-product__btn:hover .c-btn-line:before{
		background-color: #d71518;
	}
	.p-pro-kind__body{
		margin-top: -30px;
	}
	.p-pro-kind__item + .p-pro-kind__item{
		margin-top: 80px;
	}
	.p-pro-kind__item--more + .p-pro-kind__item{
		margin-top: 80px;
	}
	.p-pro-kind__btn{
		margin-top: 34px;
		width: 47.72727%;
	}
	.p-pro-index__ttl{
		padding: 0 0 15px;
	}
	.p-pro-index__ttl:after{
		left: 0;
	}
	.p-pro-chara__img{
		margin-bottom: 60px;
		width: 68.65672%;
	}
	.p-pro-chara__img--graph1{
		margin-bottom: 60px;
	}
	.p-pro-chara__img--graph2{
		margin-bottom: 60px;
	}
	.p-pro-chara__heading{
		margin-top: 100px;
		margin-bottom: 48px;
	}
	.p-pro-anchor__ttl span{
		display: inline-block;
		margin-top: 0;
		margin-left: 8px;
	}
	.p-pro-anchor__item a:hover{
		color: #d71518;
	}
	.p-pro-anchor__btn:hover .c-btn-part{
		background-color: #fff;
		animation: btntate .5s 1 cubic-bezier(.645, .045, .355, 1);
	}
	.p-pro-anchor__btn:hover .c-btn-part:before{
		background-color: #fff;
		-ms-transform: rotate(30deg);
		transform: rotate(30deg);
	}
	.p-chara-process__body{
		display: -ms-flexbox;
		display: flex;
		padding: 64px 0 0;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	.p-chara-process__img{
		width: 50%;
	}
	.p-chara-process__flow{
		margin-top: 110px;
		margin-left: 4%;
		width: 42%;
	}
	.p-bi-spraying{
		padding-top: 80px !important;
	}
	.p-bi-fusing__img figure + figure{
		margin-left: 3.62319%;
	}
	.p-pl-mete__txt{
		margin-bottom: 56px;
	}
	.p-stm-dsh{
		display: -ms-flexbox;
		display: flex;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	.p-stm-dsh li{
		max-width: 100%;
		width: 23.13433%;
	}
	.p-stm-dsh li:not(:first-child){
		margin-top: 0;
	}
	.p-stm-dsh p{
		font-size: 1.07143vw;
		line-height: 1.8;
	}
	.p-sml-chara{
		display: -ms-flexbox;
		display: flex;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.p-sml-chara__img{
		width: 31.34328%;
	}
	.p-sml-chara__desc{
		width: 68.65672%;
	}
	.p-tech__header{
		padding: 59px 7.14286%;
		width: 71.42857%;
	}
	.p-tech__name{
		margin-bottom: 32px;
		font-size: 36px;
		font-size: 2.25rem;
		line-height: 1.66667;
	}
	.p-tech__body{
		padding: 80px 7.14286% 0;
	}
	.p-tech__body--flex{
		-ms-flex-flow: row-reverse nowrap;
		flex-flow: row-reverse nowrap;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.p-tech__item{
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.p-tech__item--reverse{
		-ms-flex-flow: row-reverse nowrap;
		flex-flow: row-reverse nowrap;
	}
	.p-tech__item + .p-tech__item{
		margin-top: 80px;
	}
	.p-tech__img{
		width: 50%;
	}
	.p-tech__txtarea{
		padding: 0 4%;
		width: 50%;
	}
	.p-tech__flow{
		padding: 0 4%;
		width: 75%;
	}
	.p-tech__gallery{
		margin-top: 0;
		padding-right: 0;
		padding-left: 2.85714%;
		width: 25%;
	}
	.p-tech__gallery li + li{
		margin-top: 32px;
	}
	.p-tech-story{
		margin-top: 120px;
		width: 100%;
		height: 462px;
	}
	.p-tech-story__txtarea{
		padding: 76px 0 0 7.14286%;
		width: 30.76923%;
	}
	.p-tech-story__img{
		width: 69.23077%;
		height: auto;
	}
	.p-tech-story a{
		position: relative;
		width: 92.85714%;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.p-tech-story a:hover .p-tech-story__btn{
		border-color: #fff;
		background-color: #fff;
		color: #000;
	}
	.p-story--index{
		display: block;
		font-size: 0;
	}
	.p-story--index .p-story__kv{
		height: 150vh;
	}
	.p-story--index .p-story__body{
		position: absolute;
		bottom: 0;
		left: 50%;
		height: 100vh;
		background-image: none;
	}
	.p-story--index .p-story__body .p-str-ttl__txtarea{
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		padding: 50px 0 68px 7.14286%;
		height: 900px;
		background-color: transparent;
	}
	.p-story--index .p-story__body .p-str-ttl__txtarea:after{
		content: none;
	}
	.p-story__kv{
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 2;
	}
	.p-story__kv.is-fixed{
		position: fixed;
		top: 0;
		bottom: auto;
	}
	.p-story__kv.is-fixed .p-story-img2{
		top: -100vh;
		bottom: auto;
		display: block;
	}
	.p-story__kv.is-fixed .p-story-img3{
		top: -200vh;
		bottom: auto;
		display: block;
	}
	.p-story__kv.is-fixed .p-story-img4{
		top: -300vh;
		bottom: auto;
		display: block;
	}
	.p-story__img{
		height: 100vh;
		background-position: left top;
	}
	.p-story__body{
		padding-right: 7.14286%;
		padding-left: 50%;
	}
	.p-story__body.is-fixed{
		position: fixed;
		top: 0;
		bottom: auto;
		height: 100vh;
	}
	.p-story__body section{
		padding-top: 80px;
	}
	.p-story__txtarea{
		padding: 60px 48px 0;
		background-color: #f9f9f9;
	}
	.p-story__item{
		background-position: left top;
	}
	.p-story__item{
		position: absolute;
		left: 0;
		z-index: 2;
		height: 100vh;
		-ms-transform: scale(.5);
		transform: scale(.5);
		-ms-transform-origin: left top;
		transform-origin: left top;
	}
	.p-story__item--item1{
		top: 0;
	}
	.p-story__item--item2{
		top: calc(50vh - 1px);
	}
	.p-story__item--item3{
		top: calc(100vh - 1px);
	}
	.p-story__item .p-str-ttl__txtarea{
		position: absolute;
		top: 0;
		bottom: 0;
		left: 14.28571%;
		margin: auto;
		height: 100px;
		-ms-transform: scale(2);
		transform: scale(2);
		-ms-transform-origin: left center;
		transform-origin: left center;
	}
	.p-story__thumb{
		display: none;
	}
	.p-str-ttl{
		position: fixed;
		top: 0;
		bottom: 0;
		margin: auto;
		padding-right: 7.14286%;
		padding-left: 7.14286%;
		width: 50%;
	}
	.p-str-ttl__name{
		font-size: 80px;
		font-size: 5rem;
		line-height: 1.075;
	}
	.p-str-ttl__name span{
		font-size: 28px;
		font-size: 1.75rem;
		line-height: 1.5;
	}
	.p-str-ttl__txtarea{
		padding: 10px 0 68px;
	}
	.p-str-ttl__num{
		width: 88px;
	}
	.p-str-ttl__type{
		width: calc(100% - 88px);
	}
	.p-str-ttl__ttl{
		width: calc(100% - 88px);
	}
	.p-str-ttl__txt{
		margin-bottom: 45px;
	}
	.p-str-nav{
		margin-top: 120px;
	}
	.p-str-nav__link{
		margin-top: 80px;
	}
	.p-str-nav__link a:hover{
		opacity: .8;
	}
	.p-str-nav__link .c-olst__txtarea{
		padding: 10px 0 68px;
	}
	.p-str-nav__link .c-olst__num{
		width: 88px;
	}
	.p-str-nav__link .c-olst__type{
		width: calc(100% - 88px);
	}
	.p-str-nav__link .c-olst__ttl{
		width: calc(100% - 88px);
	}
	.p-works{
		padding-top: 80px;
	}
	.p-works-nav{
		margin-bottom: 68px;
	}
	.p-works-nav__lst{
		width: 85.71429%;
	}
	.p-works-nav__item{
		padding: 18px 0;
		width: 25%;
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.5;
	}
	.p-works-nav__item:hover{
		color: #fff;
	}
	.p-works-nav__item:hover:after{
		opacity: 1;
	}
	.p-works-nav__item:last-child{
		padding: 18px 0;
		width: calc(25% + 1px);
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.5;
	}
	.p-works-index{
		width: 85.71429%;
	}
	.p-works-index__mask{
		display: none;
		-ms-transform: scale(1, 1);
		transform: scale(1, 1);
	}
	.p-works-index__mask .c-mask-wh,
	.p-works-index__mask .c-mask-lgr{
		-ms-transform: scale(0, 1);
		transform: scale(0, 1);
	}
	.p-works-detail{
		margin-left: 28.57143%;
		padding: 80px 3.42857% 0;
		width: 64.28571%;
	}
	.p-works-detail__disc{
		overflow: hidden;
		text-align: left;
	}
	.p-works-detail__category li + li{
		margin: 0 0 8px 8px;
	}
	.p-works-detail__img{
		width: 68.65672%;
	}
	.p-works-detail__body{
		padding: 24px 0 112px;
	}
	.p-works-detail__lower{
		padding: 32px 0 0;
	}
	.p-works-detail__txt{
		margin-bottom: 56px;
	}
	.p-works-detail__txt p + p{
		margin-top: 30px;
	}
	.p-works-detail__data{
		display: -ms-flexbox;
		display: flex;
		margin-bottom: 36px;
		padding-top: 46px;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.p-works-detail__data dl{
		width: 68.65672%;
	}
	.p-history{
		-ms-flex-flow: row-reverse nowrap;
		flex-flow: row-reverse nowrap;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.p-history__txt{
		margin-right: 7.14286%;
		padding: 80px 3.42857% 0;
		width: 64.28571%;
	}
	.p-history__img{
		margin-top: 0;
		padding-right: 0;
		padding-left: 0;
		width: 21.42857%;
	}
	.p-hi-img figure{
		margin-top: 118px;
		width: 84%;
	}
	.p-co-video{
		margin-left: -5.88889%;
		width: 111.9403%;
	}
	.p-customer,
	.p-pl-result{
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.p-customer__item,
	.p-pl-result__item{
		margin-bottom: 0;
	}
	.p-customer__item--item1,
	.p-pl-result__item--item1{
		padding-right: 5.97015%;
		width: 31.34328%;
	}
	.p-customer__item--item2,
	.p-pl-result__item--item2{
		padding-right: 5.97015%;
		padding-left: 5.97015%;
		width: 37.31343%;
	}
	.p-customer__item--item3,
	.p-pl-result__item--item3{
		padding-left: 5.97015%;
		width: 31.34328%;
	}
	.p-customer__txt,
	.p-pl-result__txt{
		margin-top: 40px;
	}
	.p-phi-object__link{
		display: block;
	}
	dl.p-phi-lst,
	dl.p-phi-lst--large{
		height: 70px;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	dl.p-phi-lst dt,
	dl.p-phi-lst--large dt{
		padding: 20px 2.98507%;
		width: 31.34328%;
	}
	dl.p-phi-lst dt:before,
	dl.p-phi-lst--large dt:before{
		width: 40px;
		font-size: 24px;
		font-size: 1.5rem;
		line-height: 1.25;
	}
	dl.p-phi-lst dd,
	dl.p-phi-lst--large dd{
		padding: 18px 3.73134% 18px 0;
		width: 68.65672%;
		font-size: 15px;
		font-size: .9375rem;
		line-height: 2.53333;
	}
	dl.p-phi-lst--large{
		height: 90px;
	}
	dl.p-phi-lst--large dt{
		padding: 23px 3.73134%;
		width: 31.34328%;
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 2.44444;
	}
	dl.p-phi-lst--large dt:before{
		width: 56px;
		vertical-align: -10px;
		font-size: 44px;
		font-size: 2.75rem;
		line-height: 1;
	}
	dl.p-phi-lst--large dd{
		padding: 23px 3.73134% 23px 0;
		width: 68.65672%;
		font-size: 15px;
		font-size: .9375rem;
		line-height: 3.73333;
	}
	ol.p-phi-lst li{
		padding: 18px 3.73134%;
	}
	ol.p-phi-lst li:before{
		width: 40px;
	}
	.p-glo-expand{
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-align: end;
		align-items: flex-end;
	}
	.p-glo-expand__img{
		width: 68.65672%;
	}
	.p-glo-expand__dt{
		margin-bottom: 0;
		padding-left: 3.9801%;
		width: 31.34328%;
	}
	.p-glo-list dl{
		display: -ms-flexbox;
		display: flex;
		padding-top: 0;
	}
	.p-glo-list dt{
		float: none;
		padding-top: 24px;
		padding-right: 0;
		width: 31.34328%;
	}
	.p-glo-list dd{
		float: none;
		width: 37.31343%;
	}
	.p-glo-list dd:last-child{
		width: 31.34328%;
	}
	.p-base{
		position: relative;
		z-index: 0;
		padding: 0 !important;
	}
	.p-base__header{
		padding: 80px 7.14286% 85px;
		width: 71.42857% !important;
	}
	.p-base__body{
		display: -ms-flexbox;
		display: flex;
		margin-top: -32px;
		height: 904px;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	.p-base__nav{
		margin-top: 32px;
		padding: 64px 3.42857% 0 7.14286%;
		width: 50%;
		height: calc(100% - 32px);
		font-size: 0;
	}
	.p-base__nav > p{
		display: none;
	}
	.p-base__depart{
		position: static;
		top: auto;
		right: auto;
		left: auto;
		z-index: 50;
		float: left;
		margin: 0;
		padding: 0;
		width: 45.65217%;
		border-top: solid 1px rgba(255, 255, 255, .5);
	}
	.p-base__depart:after{
		display: block;
		clear: both;
		height: 0;
		content: "";
	}
	.p-base__branch{
		float: left;
	}
	.p-base__branch:after{
		display: block;
		clear: both;
		height: 0;
		content: "";
	}
	.p-base__lst{
		display: block;
	}
	.p-base__lst a:hover,
	.p-base__lst a.is-active{
		background-color: #fff;
		color: #000;
	}
	.p-base__maparea{
		padding: 0;
		width: 50%;
		height: 100%;
	}
	.p-base__info{
		position: absolute;
		top: 96px;
		left: 4.8%;
		z-index: 50;
		margin: auto;
		padding: 0;
		width: 49.5%;
		background-color: #000;
	}
	.p-co-branch{
		margin-left: 8.69565%;
		width: 45.65217%;
	}
	.p-co-branch__lst{
		position: absolute;
		top: 0;
		left: 0;
		border-top: solid 1px rgba(255, 255, 255, .5);
		border-bottom: none;
	}
	.p-co-branch__lst a{
		padding: 14px 54px 14px 10px;
		border-top: none;
		border-bottom: solid 1px rgba(255, 255, 255, .5);
	}
	.p-co-branch__lst a.is-active{
		border-top: none;
		border-bottom-color: rgba(255, 255, 255, .5);
		background-color: #000;
		color: #d71518;
	}
	.p-co-branch__lst a.is-active:before{
		background-color: #d71518;
	}
	.p-co-branch__lst a.is-active:after{
		background-color: #d71518;
	}
	.p-co-branch__lst a:hover{
		color: #d71518;
	}
	.p-co-branch__lst a:hover:before,
	.p-co-branch__lst a:hover:after{
		background-color: #d71518;
	}
	.p-co-branch__lst > .p-base__info--main{
		display: none;
	}
	.p-factory__body{
		padding: 0 0 100px;
	}
	.p-factory__selecter{
		position: absolute;
		top: 64px;
		left: 50%;
		margin-bottom: 0;
		width: 46.08333%;
	}
	.p-factory__lst a:hover{
		background-color: #bbb;
	}
	.p-factory__box .c-mask-box{
		top: 64px;
	}
	.p-factory__item{
		padding: 64px 0 120px;
		-ms-flex-flow: row-reverse nowrap;
		flex-flow: row-reverse nowrap;
	}
	.p-factory__txtarea{
		padding-top: 76px;
		width: 50%;
	}
	.p-factory__access{
		margin-bottom: 0;
		padding-right: 7.83333%;
	}
	.p-factory__link{
		position: absolute;
		right: 7.83333%;
		bottom: -6px;
	}
	.p-factory__link a:hover:after{
		opacity: 0;
	}
	.p-factory__img{
		width: 50%;
	}
	.p-factory__img img{
		width: 89.33333%;
	}
	.p-co-img,
	.p-about-img,
	.p-glo-img{
		margin: 0 -5.88889% 50px;
		padding-top: 40px;
		width: 111.9403%;
	}
	.p-co-style{
		margin-top: 120px;
		width: 92.85714%;
		height: 590px;
	}
	.p-co-style__txtarea{
		padding: 76px 0 0 7.69231%;
		width: 30.76923%;
	}
	.p-co-style__img{
		width: 69.23077%;
		height: auto;
	}
	.p-co-style a{
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.p-co-style a:hover .p-co-style__btn{
		border-color: #fff;
		background-color: #fff;
		color: #000;
	}
	.p-co-lst{
		margin: 0 auto;
		padding: 43px 0 0;
		width: 85.71429%;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.p-co-lst__item{
		padding-right: 3.75%;
		padding-bottom: 112px;
		padding-left: 3.75%;
		width: 25%;
	}
	.p-co-lst__item .c-blst__name{
		right: 15%;
	}
	.p-co-lst__btn{
		left: 15%;
		width: 70%;
	}
	.p-ds-content{
		position: relative;
		height: 100vh;
	}
	.p-ds-section{
		position: absolute;
		top: 0;
		left: 0;
		height: 100vh;
	}
	.p-ds-section__body{
		padding: 0 100px;
	}
	.p-ds-section__body--section{
		display: -ms-flexbox;
		display: flex;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.p-ds-section__body--reverse{
		display: -ms-flexbox;
		display: flex;
		-ms-flex-flow: row-reverse nowrap;
		flex-flow: row-reverse nowrap;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.p-ds-section__body--reverse .p-ds-section__ttlarea{
		padding-left: 70px;
	}
	.p-ds-section__ttlarea{
		display: -ms-flexbox;
		display: flex;
		width: 50%;
		-ms-flex-flow: column wrap;
		flex-flow: column wrap;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	.p-ds-section__txtarea{
		display: -ms-flexbox;
		display: flex;
		padding: 0 60px 0 0;
		width: 50%;
		-ms-flex-flow: column wrap;
		flex-flow: column wrap;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	.p-ds-section__txtarea p{
		font-size: 15px;
		font-size: .9375rem;
		line-height: 2;
	}
	.p-ds-mv__ttl h2{
		font-size: 80px;
		font-size: 5rem;
		line-height: 1.25;
	}
	.p-ds-mv__ttl p{
		margin-top: -65px;
		padding-bottom: 65px;
		height: 36px;
		font-size: 24px;
		font-size: 1.5rem;
		line-height: 1.5;
	}
	.p-ds-mv__txt{
		padding: 0;
		text-align: center;
		font-size: 15px;
		font-size: .9375rem;
		line-height: 2;
	}
	.p-ds-mv{
		background-size: 4px 4px, cover;
	}
	.p-ds-org{
		display: none;
		background-size: 4px 4px, cover;
		opacity: 0;
	}
	.p-ds-tech{
		display: none;
		background-size: 4px 4px, cover;
		opacity: 0;
	}
	.p-ds-chlg{
		display: none;
		height: calc(100vh + 62px);
		background-size: 4px 4px, cover;
		opacity: 0;
	}
	.p-ds-anchorbox{
		display: block;
	}
	#dhfstyle .l-toggle{
		display: none;
	}
	.p-recruit-news a{
		font-size: 14px;
		font-size: .875rem;
		line-height: 2;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-align: center;
		align-items: center;
	}
	.p-recruit-news a:hover{
		background-color: #000;
		color: #fff;
	}
	.p-recruit-news__date{
		padding-left: 3.07692%;
		width: 30.25641%;
	}
	.p-recruit-news__ttl{
		padding-left: 1.79487%;
		width: 69.74359%;
	}
	.p-recruit{
		padding-bottom: 113px;
		width: 92.85714%;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.p-recruit__btn{
		left: 16%;
		width: 68%;
	}
	.p-recruit-newgr,
	.p-recruit-career{
		padding: 0;
		height: 428px;
	}
	.p-recruit-newgr .c-blst,
	.p-recruit-career .c-blst{
		margin-top: 64px;
	}
	.p-recruit-newgr .c-blst__name,
	.p-recruit-career .c-blst__name{
		right: 16%;
	}
	.p-recruit-newgr{
		width: 53.84615%;
	}
	.p-recruit-newgr .c-blst{
		margin-left: 14.28571%;
		padding: 48px 6.85714%;
		width: 42.85714%;
	}
	.p-recruit-career{
		width: 46.15385%;
	}
	.p-recruit-career .c-blst{
		padding: 48px 8%;
		width: 50%;
	}
	.p-recruit-flow{
		padding: 32px 4% 55px;
	}
	.p-recruit-guide{
		margin-top: 120px !important;
	}
	.p-recruit-contact{
		padding-top: 125px;
		padding-bottom: 112px;
	}
	.p-news{
		margin-bottom: 90px;
		padding-right: 7.14286%;
		padding-left: 28.57143%;
	}
	.p-news a:hover{
		background-color: #000;
		color: #fff;
	}
	.p-news__lst{
		padding: 0 5.6% 0 6.4%;
		width: 90%;
	}
	.p-news__item a{
		display: -ms-flexbox;
		display: flex;
		padding: 16px 0;
		font-size: 14px;
		font-size: .875rem;
		line-height: 2;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-ms-flex-align: center;
		align-items: center;
	}
	.p-news__date{
		padding-right: 0;
		padding-left: 3.07692%;
		width: 30.25641%;
	}
	.p-news__ttl{
		padding-right: 0;
		padding-left: 1.79487%;
		width: 69.74359%;
	}
	.p-nnav{
		margin: 56px 40% 0 30%;
		width: 30%;
	}
	.p-nnav .page-numbers:hover{
		background-color: transparent;
		color: #d71518;
	}
	.p-nnav .page-numbers.prev{
		left: 0;
	}
	.p-nnav .page-numbers.next{
		right: 0;
	}
	.p-news-detail{
		margin-right: 7.14286%;
		margin-left: 28.57143%;
		padding: 0 3.42857%;
		width: 64.28571%;
	}
	.p-news-detail__header{
		margin-bottom: 40px;
	}
	.p-news-detail__ttl{
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 2;
	}
	.p-news-detail__body a:hover{
		text-decoration: none;
	}
	.p-contact__conf{
		top: 80px;
		max-width: 73.28571%;
		width: 100%;
		height: calc(100vh - 160px);
	}
	.p-conf__body{
		padding: 120px 7.14286%;
	}
	.p-conf__btn{
		max-width: 300px;
		width: 300px;
	}
	.p-conf__send{
		margin-top: 80px;
	}
	.p-mv{
		padding-bottom: 200px;
	}
	.p-mv__main{
		width: 92.85714%;
		height: auto;
	}
	.p-mv__main video,
	.p-mv__main img{
		position: static;
		left: auto;
		width: 100%;
		height: auto;
		vertical-align: top;
		-ms-transform: none;
		transform: none;
	}
	.p-mv__txtarea{
		left: 7.69231%;
		padding: 0;
		width: auto;
		height: 195px;
	}
	.p-mv__type{
		font-size: 28px;
		font-size: 1.75rem;
		line-height: 1.5;
	}
	.p-mv__ttl{
		font-size: 100px;
		font-size: 6.25rem;
		line-height: 1.5;
	}
	.p-mv__txt{
		font-size: 20px;
		font-size: 1.25rem;
		line-height: 1.5;
	}
	.p-mv__sound a:hover{
		color: #d71518;
	}
	.p-mv__sound a:hover:after{
		background-color: #d71518;
		transition-delay: .25s;
		animation: btnline .5s 1 cubic-bezier(.645, .045, .355, 1);
	}
	.p-mv__accent{
		position: absolute;
		top: auto;
		right: 0;
		bottom: 100px;
		padding-top: 0;
		width: 50%;
		height: 380px;
	}
	.p-mv__vbtn{
		margin-top: 310px;
		margin-left: 49.57143%;
		width: 36.14286%;
	}
	.p-topproduct{
		overflow: visible;
	}
	.p-topproduct__bg{
		position: static;
		top: auto;
		right: auto;
		width: 108.33333%;
	}
	.p-topproduct__contents{
		position: absolute;
		top: 0;
		left: 0;
		padding-top: 80px;
		-ms-flex-flow: row-reverse nowrap;
		flex-flow: row-reverse nowrap;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	.p-topproduct__lst{
		padding-bottom: 128px;
		width: 75%;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-ms-flex-pack: end;
		justify-content: flex-end;
	}
	.p-topproduct__item{
		padding-right: 5%;
		padding-bottom: 68px;
		padding-left: 5%;
		width: 33.333%;
	}
	.p-topproduct__item li a{
		transition: .3s ease;
	}
	.p-topproduct__item li a:hover{
		color: #000;
	}
	.p-topproduct__item .c-blst__name{
		right: 15%;
	}
	.p-topproduct__btn{
		left: 15%;
		width: 70%;
	}
	.p-topproduct__search{
		z-index: 10;
		display: inline-block;
		float: none;
		margin-top: 0;
		margin-right: 0;
		padding-right: 4%;
		padding-left: 4%;
		width: 25%;
	}
	.p-topproduct__search .c-ullst__item{
		float: left;
	}
	.p-topproduct__search .c-ullst__item a{
		box-shadow: 0 -1px 0 0 rgba(255, 255, 255, .5) inset;
		color: #fff;
	}
	.p-topproduct__search .c-ullst__item a:hover{
		box-shadow: 0 -1px 0 0 transparent inset;
		color: #d71518;
	}
	.p-topproduct__search .c-ullst__item a:after{
		background-color: #fff;
	}
	.p-topproduct__more{
		margin-top: 0;
		width: 33.333%;
	}
	#top-technology{
		margin-top: 120px;
	}
	.p-toptechnology__body{
		margin-left: -8.33333%;
		padding-top: 70px;
		padding-bottom: 90px;
		padding-left: 8.33333%;
		width: 108.33333%;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
	}
	.p-toptechnology__txtarea{
		margin-bottom: 0;
		padding: 0;
		width: 25%;
	}
	.p-toptechnology__ttl,
	.p-tech-story__ttl,
	.p-co-style__ttl{
		font-size: 52px;
		font-size: 3.25rem;
		line-height: 1.15385;
	}
	.p-toptechnology__ttl span,
	.p-tech-story__ttl span,
	.p-co-style__ttl span{
		font-size: 24px;
		font-size: 1.5rem;
		line-height: 1.5;
	}
	.p-toptechnology__txt,
	.p-tech-story__txt,
	.p-co-style__txt{
		margin-bottom: 45px;
	}
	.p-toptechnology__btn,
	.p-tech-story__btn,
	.p-co-style__btn{
		max-width: 205px;
	}
	.p-toptechnology__lst{
		width: 75%;
		font-size: 0;
	}
	.p-toptechnology__item{
		display: inline-block;
		padding-left: 3.66667%;
		width: 33.33333%;
		height: 100%;
		vertical-align: top;
	}
	.p-toptechnology__item .c-olst__type:after{
		left: 20px;
	}
	.p-toptechnology__item p{
		padding: 0 20px;
	}
	.p-toptechnology__item a:hover .c-olst__num,
	.p-toptechnology__item a:hover .c-olst__ttl{
		color: #d71518;
	}
	.p-toptechnology__item a:hover .c-mask-stripe{
		opacity: 0;
	}
	.p-toptechnology__item--item1{
		margin-top: 80px;
	}
	.p-toptechnology__item--item2{
		margin-top: -150px;
		margin-left: 0;
	}
	.p-toptechnology__item--item3{
		margin-top: 0;
		margin-left: 0;
	}
	.p-toptechnology__more{
		margin-top: 0;
		width: 23.07692%;
	}
	#top-works{
		margin-top: 80px;
	}
	.p-topworks__body{
		padding-bottom: 110px;
	}
	.p-topworks__bg{
		top: 0;
		left: 25%;
		width: 83.33333%;
		height: 100%;
	}
	.p-topworks__lst{
		width: 108.33333%;
		font-size: 0;
	}
	.p-topworks__item{
		display: inline-block;
		margin-bottom: 0;
		vertical-align: top;
	}
	.p-topworks__item a:hover .c-olst__num{
		color: #d71518;
	}
	.p-topworks__item a:hover .c-mask-stripe{
		opacity: 0;
	}
	.p-topworks__item .c-olst__txtarea{
		display: inline-block;
		margin-top: 0;
	}
	.p-topworks__item--item1{
		overflow: visible;
		width: 46.15385%;
	}
	.p-topworks__item--item1 a{
		display: -ms-flexbox;
		display: flex;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-align: start;
		align-items: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
	.p-topworks__item--item1 .c-olst__img{
		position: absolute;
		top: 0;
		left: 0;
		width: 50%;
	}
	.p-topworks__item--item1 .c-olst__txtarea{
		margin-top: 60px;
		margin-left: 50%;
		padding: 0 5.5%;
		width: 50%;
	}
	.p-topworks__item--item2{
		margin-top: -70px;
		margin-left: 0;
		width: 53.84615%;
	}
	.p-topworks__item--item2 .c-olst__txtarea{
		margin-top: 24px;
		padding-left: 0;
	}
	.p-topworks__item--item3{
		overflow: hidden;
		margin-top: 70px;
		margin-left: 23.07692%;
		width: 69.23077%;
	}
	.p-topworks__item--item3 .c-olst__txtarea{
		margin-left: 0;
		padding: 0 3.66667%;
		width: 33.33333%;
		text-align: right;
	}
	.p-topworks__item--item3 .c-olst__img{
		float: right;
		width: 66.66667%;
		height: auto;
	}
	.p-topworks__item--item3 .c-olst__img:after{
		display: block;
		clear: both;
		height: 0;
		content: "";
	}
	.p-topworks__item--item3 .c-olst__type:after{
		right: 0;
		left: auto;
	}
	.p-topworks__more{
		margin-left: 0;
		width: 25%;
	}
	#top-about{
		margin-top: 35;
	}
	.p-topabout__body{
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
	}
	.p-topabout__img{
		margin-left: -8.33333%;
		padding: 68px 0 276px;
		width: 58.33333%;
		background-image: url(/image/top_about01.jpg);
	}
	.p-topabout__info{
		margin-right: 0;
		margin-left: 14.28571%;
		padding: 45px 6.42857%;
		width: 42.85714%;
	}
	.p-topabout__info .c-blst__name{
		top: 48px;
		right: 15%;
	}
	.p-topabout__maparea{
		width: 50%;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
	}
	.p-topabout__mapinfo{
		padding-right: 7.5%;
		padding-left: 7.5%;
		width: 50%;
	}
	.p-topabout__map{
		width: 50%;
		height: auto;
		background-image: url(/image/top_map.png);
	}
	.p-topabout__more{
		width: 25%;
	}
	#top-news{
		padding-top: 127px;
		padding-bottom: 160px;
	}
	.p-topnews__body{
		padding: 117px 0 140px;
		width: 100%;
	}
	.p-topnews__lst{
		padding: 0 6%;
		width: 90%;
	}
	.p-topnews__item a{
		padding: 24px 0;
		-ms-flex-flow: row nowrap;
		flex-flow: row nowrap;
		-ms-flex-align: center;
		align-items: center;
	}
	.p-topnews__item a:hover{
		background-color: #000;
	}
	.p-topnews__item a:hover .p-topnews__date,
	.p-topnews__item a:hover .p-topnews__ttl{
		color: #fff;
	}
	.p-topnews__date{
		padding: 0 25px;
		width: calc(100% / 3);
	}
	.p-topnews__ttl{
		padding: 0 13px;
		width: calc((100% / 3) * 2);
	}
	.p-topnews__more{
		right: 10%;
		width: 30%;
	}
	.u-mt6{
		margin-top: 6px !important;
	}
	.u-mt28{
		margin-top: 28px !important;
	}
	.u-mt32{
		margin-top: 32px;
	}
	.u-mb32-pc{
		margin-bottom: 32px;
	}
	.u-mb114{
		margin-bottom: 114px;
	}
	.u-p-btn{
		padding: 18px 0;
	}
	.u-p-btn2{
		padding: 7px 0;
	}
	.u-pb-btn{
		padding-bottom: 42px;
	}
	.u-pt0{
		padding-top: 0 !important;
	}
	.u-pt32{
		padding-top: 32px !important;
	}
	.u-pt34{
		padding-top: 34px !important;
	}
	.u-pt60{
		padding-top: 60px !important;
	}
	.u-pt64{
		padding-top: 64px !important;
	}
	.u-pt70{
		padding-top: 70px !important;
	}
	.u-pt80{
		padding-top: 80px !important;
	}
	.u-pb0{
		padding-bottom: 0 !important;
	}
	.u-pb108{
		padding-bottom: 108px !important;
	}
	.u-pb-content{
		padding-bottom: 42px;
	}
	.u-fz13{
		font-size: 13px !important;
	}
	.u-fz18{
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 1.5;
	}
	.is-pc{
		display: block !important;
	}
	.is-sp{
		display: none !important;
	}
	br.is-pc,
	span.is-pc{
		display: inline !important;
	}
	br.is-sp,
	span.is-sp{
		display: none !important;
	}
}

@media screen and (max-width: 768px){
	.l-contact__btn{
		font-size: 14px;
		font-size: .875rem;
		line-height: 1.5;
	}
	.p-product__item--category + .p-product__item--category{
		margin-top: 60px;
	}
	.p-product__btn{
		border: solid 1px rgba(0, 0, 0, .5);
		color: #000;
	}
	.p-story--index .p-story__item{
		height: 190px;
	}
	.p-story--index .p-story__item .p-str-ttl__txtarea{
		padding: 54px 6.4% 0;
	}
	.p-works-nav__item:nth-child(even),
	.p-works-nav__item:last-child{
		border-right: solid 1px #000;
	}
	.p-works-index__body .c-thlst__item{
		padding: 0;
	}
}

@media screen and (min-width: 769px) and (min-width: 769px){
	.p-topworks .c-olst__img:before{
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		visibility: hidden;
		width: 100%;
		height: 100%;
		border: solid 5px #d71518;
		content: "";
		opacity: 0;
		transition: .2s cubic-bezier(.645, .045, .355, 1);
		-ms-transform: scale(1);
		transform: scale(1);
	}
}
