@charset "UTF-8";

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
汎用
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/
html, body, div, span, object, iframe, article, aside, canvas, details, pre, figcaption, figure,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, input, textarea, select, button, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {font-size: 12.5px;}

@media screen and (max-width: 359px) {
	html, body, div, span, object, iframe, article, aside, canvas, details, pre, figcaption, figure,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
	abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
	small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
	fieldset, form, label, input, textarea, select, button, legend,
	table, caption, tbody, tfoot, thead, tr, th, td,
	footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {font-size: 12px;}
}
@media screen and (min-width: 640px) {
	html, body, div, span, object, iframe, article, aside, canvas, details, pre, figcaption, figure,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
	abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
	small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
	fieldset, form, label, input, textarea, select, button, legend,
	table, caption, tbody, tfoot, thead, tr, th, td,
	footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {font-size: 16px;}
}
@media screen and (min-width: 769px) {
	html, body, div, span, object, iframe, article, aside, canvas, details, pre, figcaption, figure,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
	abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
	small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
	fieldset, form, label, input, textarea, select, button, legend,
	table, caption, tbody, tfoot, thead, tr, th, td,
	footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {font-size: 18px;}
}

body {min-height: calc(100vh - 71px); padding: 45px 0 26px;}

/*汎用flex*/
.flex {display: flex;}

/*sp限定*/
.pc {display: none!important;}

/*コンテナ*/
.container {width: calc(100% - 28px);}

@media screen and (min-width: 640px) {
	body {min-height: calc(100vh - 86px); padding: 60px 0 26px;}
	.container {width: calc(100% - 56px);}
}

/*--------------------------------------------------------------------------
アニメーション
--------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
部品
--------------------------------------------------------------------------*/
/*------------------------------------
見出し01
------------------------------------*/
.g-h_type01 {margin: 0 -14px 1.25rem;}
.g-h_type01:before {height: .32rem;}
.g-h_type01 span {font-size: 1.8rem;}

@media screen and (min-width: 640px) {
	.g-h_type01 {margin: 0 -28px 1.25rem;}
}

/*------------------------------------
見出し02
------------------------------------*/
.g-h_type02 {margin-bottom: .75rem;}
.g-h_type02 span {font-size: 1.2rem;}

/*------------------------------------
見出し03
------------------------------------*/
.g-h_type03 {font-size: 1.04rem; margin-bottom: .5rem;}
.g-h_type03.red-bullet {padding-left: .32rem; text-indent: -.56rem;}
.g-h_type03.red-bullet:before {top: -.25rem; width: .32rem; height: .32rem; margin-right: .24rem;}

/*------------------------------------
MOREボタン
------------------------------------*/
.more-btn a {width: 127px; font-size: 1.08rem; padding: 2px 0; border-radius: 1.08rem;}

/*------------------------------------
汎用リスト
------------------------------------*/
.g-list li {margin-bottom: .35rem; padding-left: .56rem; text-indent: -.56rem;}
.g-list li:last-child {margin-bottom: 0;}
.g-list li:before {top: -.25rem; width: .32rem; height: .32rem; margin-right: .24rem;}

/*------------------------------------
汎用定義リスト
------------------------------------*/
.g-deflist .entry {margin-bottom: 1.12rem; padding: 1.15rem 1.275rem;}

/*--------------------------------------------------------------------------
ヘッダー
--------------------------------------------------------------------------*/
header .container {height: 45px;}

header .logo img {width: 81px;}

header .c-name {font-size: .75rem; margin-left: 1rem;}

header .header-nav {position: fixed; right: -264px; top: 0; width: 264px; height: 100%; background: #000; transform: translateX(0); transition: transform .5s ease; z-index: 9001;}
header .header-nav .main-nav {margin: 37.5px 0 0 30px;}
header .header-nav .main-nav li {margin-bottom: .64rem; transform-origin: left center;}
header .header-nav .main-nav li:after {content: ""; position: absolute; left: -12px; top: 3.5px; width: 4px; height: 4px; border-top: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg); cursor: pointer; z-index: 1;}
header .header-nav .main-nav li:nth-child(3) {margin-bottom: 2.24rem;}
header .header-nav .main-nav li span {line-height: 1;}
header .header-nav .main-nav li span a {display: inline-block; color: #fff; font-size: 1.02rem; font-weight: 700; line-height: 1; white-space: nowrap;}
header .header-nav .sub-nav {display: none;}

.open-menu header .header-nav {transform: translateX(-100%);}

header #nav-toggle {position: fixed; right: 0; top: 0; width: 45px; height: 45px; cursor: pointer; z-index: 9002;}
header #nav-toggle div {position: absolute; left: 15px; display: block; width: 15px; height: 2px; background: #000; transition: .3s ease;}
header #nav-toggle div:nth-child(1) {top: 15px;}
header #nav-toggle div:nth-child(2) {top: 21px;}
header #nav-toggle div:nth-child(3) {top: 27px;}
header #nav-toggle:hover div:nth-child(1) {transform: translateY(1px);}
header #nav-toggle:hover div:nth-child(3) {transform: translateY(-1px);}

.open-menu header #nav-toggle div {background: #fff;}
.open-menu header #nav-toggle div:nth-child(1),
.open-menu header #nav-toggle div:nth-child(3) {top: 21px;}
.open-menu header #nav-toggle div:nth-child(1) {transform: rotate(-45deg);}
.open-menu header #nav-toggle div:nth-child(2) {transform: scale(0,1);}
.open-menu header #nav-toggle div:nth-child(3) {transform: rotate(45deg);}

header #overlay {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0, .5); opacity: 0; visibility: hidden; transition: .5s ease; z-index: 9000;}

.open-menu header #overlay {opacity: 1; visibility: visible;}

@media screen and (min-width: 640px) {
	header .container {height: 60px;}

	header .logo img {width: 101px;}

	header .header-nav {right: -330px; width: 330px;}
	header .header-nav .main-nav {margin: 46px 0 0 38px;}
	header .header-nav .main-nav li:after {left: -16px; top: 5.5px; width: 5px; height: 5px;}

	header #nav-toggle {width: 60px; height: 60px;}
	header #nav-toggle div {left: 20px; width: 20px;}
	header #nav-toggle div:nth-child(1) {top: 21px;}
	header #nav-toggle div:nth-child(2) {top: 27px;}
	header #nav-toggle div:nth-child(3) {top: 33px;}

	.open-menu header #nav-toggle div:nth-child(1),
	.open-menu header #nav-toggle div:nth-child(3) {top: 27px;}
}
@media screen and (min-width: 769px) {
	header .header-nav .main-nav li:after {top: 6px;}
}

.customize-support header,
.customize-support header .header-nav,
.customize-support header #nav-toggle {top: 46px;}

@media screen and (min-width: 783px) {
	.customize-support header,
	.customize-support header .header-nav,
	.customize-support header #nav-toggle {top: 32px;}
}

/*--------------------------------------------------------------------------
フッター
--------------------------------------------------------------------------*/
footer .copyright {font-size: .48rem; padding: 6px 0;}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
フロントページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*----------------------------------------
メインビジュアル
----------------------------------------*/
#top .mv {height: calc(100vh - 45px);}

#top .mv .explore {width: 78px; bottom: 36px; left: calc(50% - 39px); font-size: 1rem;}

#top .mv .mv-slide-list .entry .inner .catch {font-size: 2.72rem; line-height: 1.235; letter-spacing: .4rem;}
#top .mv .mv-slide-list .entry .inner .catch.center {text-indent: -.4rem;}
#top .mv .mv-slide-list .entry .inner .catch span {font-size: 1.45rem; letter-spacing: .1rem; margin-bottom: -1.65rem;}
#top .mv .mv-slide-list .entry .inner .catch.center span {text-indent: -.1rem;}

#top .mv .mv-slide-list.mask-slide {clip-path: url(#mv_maskclip_sp); left: 0; top: calc(50% - 47.184vw); width: calc(112vw * 2); height: calc(101.627vw * 2); overflow: hidden;}
#top .mv .mv-slide-list.mask-slide .entry .inner figure {filter: url(#mv_filter_sp);}
#top .mv .mv-slide-list.mask-slide .entry .inner figure img {left: calc(50% - 50vw); top: calc(50% - 76.75vh); width: 108vw; height: (108vh - 45px);}

@media screen and (max-width: 359px) {
	#top .mv .mv-slide-list .entry .inner .catch {font-size: 2.42rem;}
}
@media screen and (min-width: 640px) {
	#top .mv {height: calc(100vh - 60px);}

	#top .mv .explore {width: 98px;}
}

/*----------------------------------------
ABOUT US
----------------------------------------*/
#top .about {padding: 1.44rem 0;}

/*Message*/
#top .about .message {margin-bottom: 3.6rem;}
#top .about .message .img {margin-top: 4.2rem;}
#top .about .message .img figure {display: flex; flex-direction: row-reverse; align-items: flex-end;}
#top .about .message .img figure img {width: 201.5px;}
#top .about .message .img figure figcaption {margin-right: 1.135rem; text-align: right;}

/*Concept*/
#top .about .concept {margin-bottom: 3.6rem;}

/*Points*/
#top .about .points {margin-bottom: 6rem;}
#top .about .points .figure {margin-bottom: 1.275rem;}
#top .about .points .figure .points-figure {width: 69.2vw; height: 61.6vw; max-width: 389.25px; max-height: 346.5px; margin: 0 auto;}

/*PROFILE*/
#top .about .profile .profile-list > .entry {width: 100%; margin: .125rem 0 1.45rem;}
#top .about .profile .profile-list > .entry:nth-child(3),
#top .about .profile .profile-list > .entry:nth-child(7) {margin-bottom: 2.9rem;}
#top .about .profile .profile-list > .entry.sales {margin: .125rem 0 4.475rem;}
#top .about .profile .profile-list > .entry .g-h_type03 {margin-bottom: .325rem;}

#vi #top .about .profile .profile-list .branch .branch-inner > .g-h_type03 {text-decoration: underline;}

#top .about .profile .sales-figure {width: 92vw; height: 72vw; max-width: 517.5px; max-height: 405px; margin-bottom: 2.72vw;}

#top .about .profile .branch {height: 97.84vw; max-height: 368.5px;}
#top .about .profile .branch-back {margin-left: -16px; width: 100vw; height: 97.84vw; max-width: 375px; max-height: 368.5px;}
#top .about .profile h4.g-h_type03 {margin: 1rem 0;}
#top .about .profile .branch-list {margin-top: .5rem;}
#top .about .profile .branch-list .entry:not(:last-child) {margin-bottom: 1.2rem;}
#top .about .profile .branch-list .entry .g-h_type03 {font-size: 1rem;}
#top .about .profile .branch-list .entry .g-h_type03:before {top: -.125rem;}
#top .about .profile .branch-list .entry dl {padding-left: .32rem;}

@media screen and (max-width: 374px) {
	#top .about .profile .branch {height: 368.5px;}
	#top .about .profile .branch-back {margin-left: -16px; width: 375px; height: 368.5px;}
}

@media screen and (min-width: 640px) {
	#top .about .profile .branch {height: 122.3vw; max-height: 488.625px;}
	#top .about .profile .branch-back {margin-left: -28px; height: 122.3vw; max-width: 468.75px; max-height: 488.625px;}
}

@media screen and (min-width: 769px) {
	#top .about .profile .branch {height: 146.76vw; max-height: 552.75px;}
	#top .about .profile .branch-back {height: 146.76vw; max-width: 562.5px; max-height: 552.75px;}
}

#top .about .profile .achivements-graph {width: 91.933vw; height: 55.707vw; max-width: 689px; max-height: 418px; margin: .6rem 0 1.52rem;}
#top .about .profile .achivements-graph .st0 {fill:#2A96AE;stroke:#251E1C;stroke-width:0.3;stroke-miterlimit:10;}
#top .about .profile .achivements-graph .st1 {fill:#9B2227;stroke:#251E1C;stroke-width:0.3;stroke-miterlimit:10;}
#top .about .profile .achivements-graph .st2 {fill:#7C6092;stroke:#251E1C;stroke-width:0.3;stroke-miterlimit:10;}
#top .about .profile .achivements-graph .st3 {fill:#8EAC60;stroke:#251E1C;stroke-width:0.3;stroke-miterlimit:10;}
#top .about .profile .achivements-graph .st4 {fill:#5B79B9;stroke:#251E1C;stroke-width:0.3;stroke-miterlimit:10;}
#top .about .profile .achivements-graph .st5 {fill:#251E1C;}
#top .about .profile .achivements-graph .st6 {font-weight: 700;}
#top .about .profile .achivements-graph .st7 {font-size:16.0631px;}
#top .about .profile .achivements-graph .st8 {fill:none;stroke:#251E1C;stroke-miterlimit:10;}
#top .about .profile .achivements-graph .st9 {font-weight: 400;}
#top .about .profile .achivements-graph .st10 {font-size:11.2891px;}
#top .about .profile .achivements-graph .st11 {fill:#2A96AE;}
#top .about .profile .achivements-graph .st12 {font-weight: 300;}
#top .about .profile .achivements-graph .st13 {font-size:17.1817px;}
#top .about .profile .achivements-graph .st14 {fill:#7C6092;}
#top .about .profile .achivements-graph .st15 {fill:#8EAC60;}
#top .about .profile .achivements-graph .st16 {fill:#B7524D;}
#top .about .profile .achivements-graph .st17 {fill:#1255A2;}
#top .about .profile .achivements-graph .st18 {fill: #fff; stroke: #fff; stroke-width: 4; stroke-miterlimit: 10;}

#top .about .profile .achivements-list .entry {width: calc((100% - 9.333vw) / 2); margin: 0 9.333vw 1.25rem 0;}
#top .about .profile .achivements-list .entry:nth-child(even) {margin-right: 0;}
#top .about .profile .achivements-list .entry .state {margin-top: 4px;}
#top .about .profile .achivements-list .entry .state .years,
#top .about .profile .achivements-list .entry .state .country {font-size: .8rem;}
#top .about .profile .achivements-list .entry .state h5 {font-size: 1rem;}

@media screen and (min-width: 640px) {
	#top .about .profile .achivements-list .entry {width: calc((100% - 9vw) / 3); margin: 0 4.5vw 1.25rem 0;}
	#top .about .profile .achivements-list .entry:nth-child(even) {margin-right: 4.5vw;}
	#top .about .profile .achivements-list .entry:nth-child(3n) {margin-right: 0;}
}

/*HISTORY*/
#top .about .history {margin-bottom: 1.12rem;}
#top .about .history .history-table {margin-bottom: 2.56rem;}
#top .about .history .history-table tr th,
#top .about .history .history-table tr td {font-size: 1rem; line-height: 1.54; padding: .6rem .625rem;}
#vi #top .about .history .history-table tr th, #top .about .history .history-table tr td {padding: .6rem 1.6rem .6rem 1.2rem;}
#top .about .history .history-table tr td p {margin: -.6rem -.625rem -.3rem; padding: .6rem .625rem .3rem;}
#top .about .history .history-table tr td p:not(:last-child) {border-bottom: 1px dotted #000;}
#top .about .history .history-table tr td p:last-child {margin: -.6rem -.625rem; padding: .9rem .625rem .6rem;}

#top .about .history .history-graph {width: 93.6vw; height: 206.853vw; max-width: 526.5px; max-height: 1163.25px;}
#top .about .history .history-graph .st0 {fill:#DBDBDB;}
#top .about .history .history-graph .st1 {fill:#585858;}
#top .about .history .history-graph .st2 {font-weight: 400;}
#top .about .history .history-graph .st3 {font-size:20px;}
#top .about .history .history-graph .st4 {fill:none;stroke:#DBDBDB;stroke-miterlimit:10;}
#top .about .history .history-graph .st5 {fill:none;stroke:#251E1C;stroke-miterlimit:10;}
#top .about .history .history-graph .st6 {fill:#5A78B9;}
#top .about .history .history-graph .st7 {fill:none;}
#top .about .history .history-graph .st8 {font-weight: 700;}
#top .about .history .history-graph .st9 {font-size:19px;}
#top .about .history .history-graph .st10 {letter-spacing:-1px;}
#top .about .history .history-graph .st11 {fill:#E4E2EB;}
#top .about .history .history-graph .st12 {fill:#FFFBDA;}
#top .about .history .history-graph .st13 {fill:#F8ECE3;}
#top .about .history .history-graph .st14 {fill:#171C61;}
#top .about .history .history-graph .st15 {fill:#FFFFFF;}
#top .about .history .history-graph .st16 {fill:none;stroke:#171C61;stroke-miterlimit:10;}
#top .about .history .history-graph .st17 {fill:none;stroke:#5F3B13;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:0,6;}
#top .about .history .history-graph .st18 {fill:none;stroke:#5F3B13;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
#top .about .history .history-graph .st19 {fill:#5F3B13;}
#top .about .history .history-graph .st20 {fill:#fff;stroke:#fff;stroke-width:2;stroke-miterlimit:10;}
#top .about .history .history-graph .bar-cover {transform: scale(1,1); transform-origin: right top;}
#top .about .history .history-graph.active .bar-cover {transform: scale(0,1);}

/*----------------------------------------
OUR BUSINESS
----------------------------------------*/
#top .business {padding: 1.44rem 0;}

#top .business .business-anchor-list {margin-bottom: 1.08rem; padding: .25rem 0;}
#top .business .business-anchor-list li {margin-right: 2rem;}
#top .business .business-anchor-list li:last-child {margin-right: 0;}
#top .business .business-anchor-list li a {font-size: 1.08rem;}
#vi #top .business .business-anchor-list li {margin-right: 6.25rem;}
#vi #top .business .business-anchor-list li:last-child  {margin-right: 0;}

@media screen and (max-width: 359px) {
	#top .business .business-anchor-list li {margin-right: 1.25rem;}
	#top .business .business-anchor-list li a {font-size: 1rem;}
	#vi #top .business .business-anchor-list li {margin-right: 5rem;}
}

/*ENGINEERING*/
#top .business .engineering {margin-bottom: 2.8rem;}
#top .business .engineering .summary {margin-bottom: 2.8rem;}
#top .business .engineering .advantage-list {}
#top .business .engineering .advantage-list .entry:not(:last-child) {margin-bottom: 2rem;}
#top .business .engineering .advantage-list .entry .img {width: 58.8vw; min-width: 220.5px; max-width: 441px;}
#top .business .engineering .advantage-list .entry .state {margin-top: 1.5rem;}
#top .business .engineering .advantage-list .entry .state .numeral {top: -1.5rem; font-size: 2.96rem; letter-spacing: -.05em;}
#top .business .engineering .advantage-list .entry:nth-child(1) .state .numeral {left: -.425rem;}
#top .business .engineering .advantage-list .entry:nth-child(2) .state .numeral {left: -.425rem;}
#top .business .engineering .advantage-list .entry:nth-child(3) .state .numeral {left: -.275rem;}
#top .business .engineering .advantage-list .entry .state .numeral:after {top: .75rem; right: -.125rem; height: 42px; transform: rotate(39deg);}
#top .business .engineering .advantage-list .entry:nth-child(1) .state .desc {width: calc(100% - 4rem);}
#top .business .engineering .advantage-list .entry:nth-child(2) .state .desc {width: calc(100% - 4rem);}
#top .business .engineering .advantage-list .entry:nth-child(3) .state .desc {width: calc(100% - 5.75rem);}
#top .business .engineering .advantage-list .entry .state .numeral span {letter-spacing: -.025em;}

@media screen and (min-width: 640px) {
	#top .business .engineering .advantage-list .entry .state .numeral:after {height: 48.5px;}
}

@media screen and (min-width: 769px) {
	#top .business .engineering .advantage-list .entry .state .numeral:after {height: 56px;}
}

/*CONSTRUCTION*/
#top .business .construction .summary {margin-bottom: 3.28rem;}

#top .business .construction .train9-figure {max-width: 690px; max-height: 398.1px; width: 92vw; height: 53.08vw; margin: 1rem auto 3.28rem; background: center/100% auto no-repeat;}
.webp #top .business .construction .train9-figure {background-image: url(../img/top/top__business__construction__bg__sp.webp);}
.no-webp #top .business .construction .train9-figure {background-image: url(../img/top/top__business__construction__bg__sp.jpg);}
#top .business .construction .train9-figure .dropshadow {filter: url(#dropshadow-sp);}
#top .business .construction .train9-figure .st0 {fill:#FFFFFF;}
#top .business .construction .train9-figure .st1 {fill:#2D693C;}
#top .business .construction .train9-figure .st2 {font-weight: 700;}
#top .business .construction .train9-figure .st3 {font-size:15.0693px;}
#top .business .construction .train9-figure .st4 {font-weight: 400;}
#top .business .construction .train9-figure .st5 {font-size:15px;}
#top .business .construction .train9-figure .st6 {fill:#2D693C;stroke:#2D693C;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
#top .business .construction .train9-figure .st8 {font-size:47.7271px;}
#top .business .construction .train9-figure .st9 {letter-spacing: 1;}
#top .business .construction .train9-figure .st10 {fill:#B90050;}
#top .business .construction .train9-figure .st11 {fill:#B90050;stroke:#B90050;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
#top .business .construction .train9-figure .st12 {fill:#5F3B13;}
#top .business .construction .train9-figure .st13 {fill:#5F3C14;}
#top .business .construction .train9-figure .st14 {font-size:19.3082px;}
#top .business .construction .train9-figure .st15 {font-size:18.827px;}
#top .business .construction .train9-figure .st16 {font-size:12.3576px;}
#top .business .construction .train9-figure .st17 {fill:#5F3C14;stroke:#5F3C14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
#top .business .construction .train9-figure .st18 {font-size:61.0828px;}
#top .business .construction .train9-figure .st19 {fill:#C83C2D;}
#top .business .construction .train9-figure .st20 {fill:#C83C2D;stroke:#C83C2D;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
#top .business .construction .train9-figure .st21 {font-size:61.1524px;}
#top .business .construction .train9-figure .st22 {fill:#1E235F;}
#top .business .construction .train9-figure .st23 {fill:#1E235F;stroke:#1E235F;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
#top .business .construction .train9-figure .st24 {fill:#E1DCDC;}
#top .business .construction .train9-figure .st25 {font-size:9.6556px;}
#top .business .construction .train9-figure .st26 {fill:#1E235F;stroke:#1E2160;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
#top .business .construction .train9-figure .st27 {font-size:37.4183px;}
#top .business .construction .train9-figure .st28 {fill:none;stroke:#C73A2D;stroke-width:0.5;stroke-miterlimit:10;}

html.no-dinalternate #top .business .construction .train9-figure .din.din-text01 {transform: matrix(1, 0, 0, 1, 57.7327, 126.5706);}
html.no-dinalternate #top .business .construction .train9-figure .din.din-text02 {transform: matrix(1, 0, 0, 1, 573.9058, 155.0945);}
html.no-dinalternate #top .business .construction .train9-figure .din.din-text03 {transform: matrix(1, 0, 0, 1, 424.8548, 308.1833);}
html.no-dinalternate #top .business .construction .train9-figure .din.din-text04 {transform: matrix(1, 0, 0, 1, 155.3265, 305.9309);}
html.no-dinalternate #top .business .construction .train9-figure .din.din-text05 {transform: matrix(1, 0, 0, 1, 269.6266, 83.6409);}

/*MAINTENANCE*/
#top .business .maintenance section {margin-bottom: 3rem;}

#top .business .maintenance .mainte-figure {width: 92vw; height: 47.733vw; max-width: 519px; max-height: 268.5px; margin: 2.68rem auto 3.28rem;}

#top .business .maintenance .mainte-details {margin: 1rem 0 1.25rem; padding: 1.12rem 1.4rem 1.25rem;}

#top .business .maintenance .business-ratio {max-width: 88.25vw; width: 26.48rem; margin: 5.2rem auto 3.44rem;}
#top .business .maintenance .business-ratio .legend {top: 8px;}
#top .business .maintenance .business-ratio .legend li {font-size: .84rem; margin-bottom: .5rem;}
#top .business .maintenance .business-ratio .legend li:before {width: .64rem; height: .64rem; margin-right: .48rem;}
#top .business .maintenance .business-ratio .ratio-list .entry:not(:last-child) {margin-bottom: 2.32rem;}
#top .business .maintenance .business-ratio .ratio-list .entry:before {bottom: -5.12rem; height: 7.68rem;}
#top .business .maintenance .business-ratio .ratio-list .entry:after {bottom: -5.36rem; left: calc(50% + 5px); height: 1.52rem;}
#top .business .maintenance .business-ratio .ratio-list .entry .figure {margin-right: 1.44rem;}
#top .business .maintenance .business-ratio .ratio-list .entry .figure .figure-graph {width: 9.72rem; height: 9.72rem; max-width: 243px; max-height: 243px;}
#top .business .maintenance .business-ratio .ratio-list .entry .state dt {font-size: 1.2rem;}
#top .business .maintenance .business-ratio .ratio-list .entry .state dd {font-size: .96rem;}

@media screen and (min-width: 640px) {
	#top .business .maintenance .business-ratio .ratio-list .entry:after {left: calc(50% + 7.5px);}
}

@media screen and (min-width: 769px) {
	#top .business .maintenance .business-ratio .ratio-list .entry:after {left: calc(50% + 8.5px);}
}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
固定ページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
Careers
--------------------------------------------------------------------------*/
#careers .notice {font-size: .8rem;}

#careers .heading {margin: 1.44rem 0 4.48rem;}

#careers .vacancies {margin: 1rem 0 3.84rem;}

#careers .training {margin-bottom: 4.32rem;}
#careers .training .training-inner {margin-top: .5rem; padding: 2.625rem 0;}
#careers .training .training-list {padding-right: 1.8rem;}
#careers .training .training-list > .entry {display: flex; height: 100%;}
#careers .training .training-list > .entry:nth-child(1) {min-height: 172px;}
#careers .training .training-list > .entry:not(:last-child) {margin-bottom: 1.44rem;}
#careers .training .training-list > .entry h4 {font-size: 1rem; line-height: 1; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; margin: 0 1.68rem; padding-right: .76rem;}
#careers .training .training-list > .entry h4:before {right: 0; width: 1px; height: calc(100% - 19px);}
#careers .training .training-list > .entry h4:after {right: .675rem; bottom: -.12rem; width: 1px; height: 2rem; transform: rotate(45deg);}
#careers .training .training-list > .entry:not(:nth-child(1)) h4:before {height: 100%;}
#careers .training .training-list > .entry:not(:nth-child(1)) h4:after {display: none;}
#careers .training .training-list > .entry .programs .programs-list > .entry {width: 100%;}
#careers .training .training-list > .entry .programs .programs-list > .entry:not(:last-child) {margin-bottom: 2rem;}
#careers .training .training-list > .entry .programs .programs-name {margin-bottom: .6rem;}
#careers .training .training-list > .entry .programs .programs-name span {font-size: 1rem;}
#careers .training .training-list > .entry .programs .programs-name span.years {font-size: .84rem; margin-right: .5rem; padding: .1rem .64rem .1rem .56rem; border-radius: 0 .94rem .94rem 0;}
#careers .training .training-list > .entry .programs .programs-name span.years.wide {margin-top: 2rem; padding: .1rem 1.28rem .1rem .64rem;}
#careers .training .training-list > .entry .programs .month {font-size: .92rem; margin-bottom: .5rem; padding: .2rem .6rem;}
#careers .training .training-list > .entry .programs .imgs .img {width: 100%; max-width: 126px;}

@media screen and (min-width: 640px) {
	#careers .training .training-list > .entry:nth-child(1) {min-height: 215px;}
	#careers .training .training-list > .entry h4:after {right: .675rem; bottom: -.475rem;}
	#careers .training .training-list > .entry .programs .imgs .img {max-width: 158px;}
}
@media screen and (min-width: 769px) {
	#careers .training .training-list > .entry:nth-child(1) {min-height: 238px;}
	#careers .training .training-list > .entry h4:after {right: .6925rem; bottom: -.6rem;}
	#careers .training .training-list > .entry .programs .imgs .img {max-width: 189px;}
}
@media all and (-ms-high-contrast: none) {
	#careers .training .training-list > .entry h4:after {right: -.3rem; bottom: .25rem;}
}
@media all and (-ms-high-contrast: none) and (min-width: 640px) {
	#careers .training .training-list > .entry h4:after {bottom: 0rem;}
}
@media all and (-ms-high-contrast: none) and (min-width: 769px) {
	#careers .training .training-list > .entry h4:after {bottom: -.25rem;}
}

#careers .faility {margin-bottom: 3.36rem;}
#careers .faility .faility-outer {margin-bottom: 1.28rem;}
#careers .faility .faility-outer p,
#careers .faility .faility-inner p {margin-top: .5rem;}
#careers .faility .faility-inner .img {margin-bottom: -.72rem;}
#careers .faility .faility-inner .img picture {width: calc((100% - .72rem) / 2); margin: 0 .72rem .72rem 0;}
#careers .faility .faility-inner .img picture:nth-child(even) {margin-right: 0;}

@media screen and (min-width: 769px) {
	#careers .faility .faility-inner .img {margin-bottom: 0;}
	#careers .faility .faility-inner .img picture {width: calc((100% - 1.08rem) / 4); margin: 0 .36rem 0 0;}
	#careers .faility .faility-inner .img picture:nth-child(even) {margin-right: .36rem;}
	#careers .faility .faility-inner .img picture:nth-child(4n) {margin-right: 0;}
}

#careers .path {margin-bottom: 3.36rem;}

#careers .qualificat {margin-bottom: 2.32rem;}
#careers .qualificat > p {margin-bottom: 1rem;}

#careers .voice {margin-bottom: 2rem;}
#careers .voice .photo {width: 13.24rem; height: 13.24rem; border-radius: 50%; border-width: 2px; margin: 1.28rem auto 0;}

#careers .life > section .main-img {margin-bottom: 2rem;}
#careers .life > section .main-img p {margin-top: .5rem;}
#careers .life > section .sub-img {margin-bottom: 3rem; padding: 2.16rem 1.08rem 0;}
#careers .life > section .sub-img .sub-img-list .entry {width: calc((100% - .96rem) / 2); margin: 0 .96rem .96rem 0;}
#careers .life > section .sub-img .sub-img-list .entry:nth-child(even) {margin-right: 0;}
#careers .life > section .sub-img .sub-img-list .entry .img {height: 24.533vw; max-height: 184px; margin-bottom: .56rem;}
#careers .life > section .main-img h4 {padding: .2rem .8rem;}
#careers .life > section .sub-img h4 {padding: .2rem .56rem;}

@media screen and (min-width: 768px) {
	#careers .life > section .sub-img .sub-img-list .entry {width: calc((100% - 1.92rem) / 3); margin: 0 .96rem .96rem 0;}
	#careers .life > section .sub-img .sub-img-list .entry:nth-child(even) {margin-right: .96rem;}
	#careers .life > section .sub-img .sub-img-list .entry:nth-child(3n) {margin-right: 0;}
}

#careers .midcareer {margin: 1rem 0 2.1rem;}

/*--------------------------------------------------------------------------
What is Explosion-proof? & What is Instrumentation?
--------------------------------------------------------------------------*/
#page {padding: 1.44rem 0;}
#page .proof {margin-bottom: 1.44rem;}

/*--------------------------------------------------------------------------
APPLICATION FORM
--------------------------------------------------------------------------*/
#mailform {padding: 1.44rem 0 2.4rem;}
#mailform .contents * {font-size: 1.136rem;}

#mailform .form_item {margin-bottom: 1.4rem;}
#mailform .form_item dt {margin: 0 -14px .56rem; padding: .08rem 14px;}
#mailform .form_item input[type="text"],
#mailform .form_item input[type="email"],
#mailform .form_item input[type="tel"],
#mailform .form_item input[type="url"],
#mailform .form_item input[type="date"],
#mailform .form_item input[type="time"],
#mailform .form_item textarea {font-size: .8rem;}

#mailform .wpcf7-not-valid-tip {font-size: .825rem;}

@media screen and (min-width: 640px) {
	#mailform .form_item dt {margin: 0 -28px .56rem; padding: 0 28px;}
}

/*--------------------------------------------------------------------------
Privacy Policy
--------------------------------------------------------------------------*/
#policy {padding: 1.2rem 0;}

/*--------------------------------------------------------------------------
404
--------------------------------------------------------------------------*/
