@charset "utf-8";
/* font */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&subset=japanese');
@import url('https://fonts.googleapis.com/css?family=Lato:400,700&display=swap');
@font-face{font-family:'gadelius'; src:url('/common/fonts/gade.woff') format('woff'); font-weight:normal; font-style:normal;}
body{font-family:'Noto Sans JP','Lato', sans-serif; font-weight:400; color:#444; font-feature-settings:'palt'; letter-spacing:0em; font-size:15px;}
.icn,
*::before,
*::after{font-family:'gadelius' !important; font-style:normal; font-weight:normal !important; font-variant:normal !important; text-transform:none; line-height:1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing:grayscale;}

/* init
==================================================== */
html,body,div,span,object,iframe,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,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main,summary,time,mark,audio,video,a,input,textarea{ margin:0;padding:0; border:0; background:transparent; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main{display:block;}
nav ul{ list-style:none;}
ul{ list-style:none; }
blockquote,q{ quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{ content:''; content:none;}
pre,code,kbd,samp{ font-family:monospace,monospace; font-size:inherit;}
table{ border-collapse:collapse; border-spacing:0;}
img{ border:0;}
address,caption,cite,code,dfn,em,th,var{ font-style:normal; font-weight:normal;}
caption,th{ text-align:left;}
h1,h2,h3,h4,h5,h6{ font-size:100%; font-weight:normal}
sup{ vertical-align:text-top; font-size:75%;}
sub{ vertical-align:text-bottom; font-size:75%;}
input,textarea,select{ z-index:auto; font-family:inherit; font-size:inherit; font-weight:inherit; vertical-align:middle;}
a{ outline:none;}
audio:not([controls]){ display:none;}
time{ display:inline;}
[hidden]{ display:none;}
input::-ms-clear,input::-ms-reveal,input:focus::-ms-clear,input:focus::-ms-reveal{visibility:hidden; display:none;}
button::-moz-focus-inner,input[type="reset"]::-moz-focus-inner,input[type="button"]::-moz-focus-inner,input[type="submit"]::-moz-focus-inner,input[type="file"]>input[type="button"]::-moz-focus-inner{ padding:0; border:0;}
button{cursor:pointer;}

a img{opacity:1; transition:opacity .3s ease;}
a:hover img{opacity:.7;}
a:link,
a:visited{color:#004899; text-decoration:none;}
a:hover{color:#51CBFF;}
a:active{color:#f00;}

.a-lt{text-align:left;}
.a-ct{text-align:center;}
.a-rt{text-align:right;}

hr {height: 1px; border: none; border-top: 1px #cfcfcf solid; margin-bottom:40px;}


/* ======================================================================================================================================== 
COMMON
======================================================================================================================================== */
/* base block */
#wrapper{clear:both;}
#siteHeader{width:240px; height:212px; padding:50px 30px 40px; text-align:center; color:#fff; position:fixed; left:0; top:0; z-index:2;}
#globalNav{width:240px; text-align:center; color:#fff; z-index:1; position:fixed; left:0; top:212px;}
#pageBody{position:relative; left:240px; top:0; width:calc(100% - 240px); padding:0 20px;}
#siteFooter{width:calc(100% - 240px);}
body.flowNav #siteHeader{position:absolute;}
body.flowNav #globalNav{position:absolute;}
body.flowNav #siteFooter small{position:static; left:auto; top:auto; color:#222; width:auto;}
main{margin:0 auto; border-top:1px #cfcfcf solid;}

/* site header */
#siteHeader img{width:160px; display:block; margin:0 auto 40px;}
#siteHeader p{font-size:13px; font-weight:500; letter-spacing:.05em; opacity:0; transition:opacity .25s ease-out;}
#siteHeader .crossLang{display:none;}

/* site footer */
#siteFooter{border-top:1px #cfcfcf solid; height:285px; padding-top:60px; width:100%; position:relative; margin-top:166px;}
#siteFooter .group{margin-bottom:60px; height:16px; display:flex; justify-content:center;}
#siteFooter .group img{height:16px; width:auto; margin:0 auto; max-width:100%;} 
#siteFooter .group a{display:block; padding:0 25px;}
#siteFooter ul{display:flex; justify-content:center; margin-bottom:50px; opacity:0; transition:opacity .2s ease-out 0;}
#siteFooter ul li{font-size:14px; border-right:1px #444 solid; margin-right:1em; padding-right:1em; line-height:1.2; font-family:a-otf-midashi-go-mb31-pr6n,sans-serif; font-weight:600; font-style: normal;}
#siteFooter ul li a{color:#444; text-decoration:none;}
#siteFooter ul li a:hover{text-decoration:underline;}
#siteFooter ul li:last-child{border-right:0;}
#siteFooter ul li.siteMapViewer a::before{content:'\e90b'; margin-right:0.5em;}
#siteFooter small{text-align:center; display:block; font-size:12px; color:#fff; position:fixed; left:0; top:720px; width:240px; z-index:10; font-family:a-otf-midashi-go-mb31-pr6n,sans-serif; font-weight:600; font-style: normal; opacity:0; transition:opacity .2s ease-out 0;}
#pgTopLink{text-align:center; text-decoration:none; position:absolute; border-top:1px #cfcfcf solid; background:#fff; width:100%; height:165px; top:-166px; display:flex; justify-content:center; align-content:center; align-items:center;}
#pgTopLink p{width:80px; height:80px; font-size:12px; display:flex; justify-content:center; align-content:center; align-items:center; position:relative; right:0; bottom:0; transition:all .3s ease-out;}
#pgTopLink a{content:'\e900'; text-decoration:none; color:#004899; width:80px; height:80px; display:flex; justify-content:center; align-content:center; align-items:center; flex-wrap:wrap;}
#pgTopLink a::before{content:'\e900'; font-size:18px; width:100%;}
#pgTopLink.fixed p{position:fixed; right:20px; bottom:20px; background:rgba(255,255,255,.5);}

/* global navigation */
p.toggle{display:none;}
#globalNav ul{opacity:0; transition:opacity .25s ease-out;}
#globalNav ul.contents{padding:20px 0 0; font-family:a-otf-midashi-go-mb31-pr6n,sans-serif; font-weight:600; font-style: normal;}
#globalNav ul.contents::before{content:''; display:block; width:160px; height:1px; background:#fff; position:absolute; left:40px; top:0;}
#globalNav ul.contents li{font-size:14px;} 
#globalNav ul.contents li a{color:#fff; text-decoration:none; display:block; padding:12px 0; position:relative;}
#globalNav ul.contents li a.active{color:#888;}
#globalNav ul.lang{display:flex; justify-content:space-between; margin:20px 40px; font-family:'Lato', 'Noto Sans JP', sans-serif; font-weight:700;}
#globalNav ul.lang li{font-size:11px; flex:1;}
#globalNav ul.lang li a{padding:4px; text-align:center; display:block; background:#fff; color:#000; text-decoration:none;}
#globalNav ul.lang li a.current{color:#fff; background:#02347a;}
#globalNav ul.contents li.hasChildren > a::after{content:'\e902'; display:block; width:12px; height:12px; position:absolute; right:30px; top:50%; margin-top:-6px; font-size:12px; overflow-y:hidden; opacity:0; transition:all .25s ease;}
#globalNav ul.contents li.hasChildren:hover > a::after{right:10px; opacity:1;}
#globalNav ul.contents li.hasChildren ul{position:absolute; left:240px; top:-125px; text-align:left; width:0; transition:width .3s cubic-bezier(.03,.92,.37,.99) .2s; overflow:hidden;}
#globalNav ul.contents li.hasChildren:hover ul{width:360px;}
#globalNav ul.contents li.hasChildren ul li{width:360px;}
#globalNav ul.contents li.hasChildren ul::before{content:''; display:block; position:fixed; left:240px; top:0; width:0; height:100vh; z-index:-1; transition:width .3s cubic-bezier(.03,.92,.37,.99) .2s; overflow:hidden; pointer-events:none; background:rgba(0,61,148,.90);}
#globalNav ul.contents li.hasChildren:hover ul::before{width:360px;}
#globalNav ul.contents li.hasChildren ul li a{padding:10px 10px 10px 20px;}
#globalNav ul.contents li.hasChildren:hover ul li a{color:#fff;}
#globalNav ul.contents li.hasChildren:hover ul li a:hover{color:#69c;}

@media screen and (min-width:1024px){
body.flowNav.compact #siteHeader{position:fixed; height:60px; padding:22px 30px;}
body.flowNav.compact #siteHeader p{height:0; overflow:hidden;}
body.flowNav.compact #globalNav{position:fixed; top:60px;}
body.flowNav.compact #globalNav ul.contents li.hasChildren ul{top:-40px;}
}

#wrapper::before{content:''; display:block; position:fixed; left:0; top:0; width:240px; height:100vh; z-index:-1; pointer-events:none; background:#003d94;}

html.wf-active #globalNav ul,
html.wf-active #siteFooter ul,
html.wf-active #siteFooter small,
html.wf-active #siteHeader p{opacity:1;}

@media screen and (min-width:1025px){
	#globalNav ul.contents li a:hover,
	#globalNav ul.contents li:hover a{color:#69c;}
}

/* search panel */
.searchPannel{position:fixed; right:20px; top:0; background:rgba(255,255,255,.7);}
.searchPannel form{display:flex; flex-direction:row-reverse;}
.searchPannel input{width:80px; height:60px; padding:10px; transition:width .4s ease-out; outline:none;}
.searchPannel input:focus,
.searchPannel input.focus{width:200px; background:rgba(255,255,255,.7);}
.searchPannel button{background:none; border:none; width:60px; height:60px; display:block; text-indent:-100px; overflow:hidden; white-space:nowrap; position:relative; text-align:left;}
.searchPannel button::before{content:'\e90a'; width:60px; height:60px; display:block; position:absolute; left:0; top:0; text-align:center; text-indent:0; line-height:60px; font-size:28px; color:#888;}
.searchPannel input:focus + button,
.searchPannel input.focus + button{background:rgba(255,255,255,.7);}

/* breadcrumbs */
.breadcrumbs{height:60px; width:70%; display:flex; font-size:12px; flex-wrap:wrap; justify-content:flex-start; align-items:center; padding:0 15px;}
.breadcrumbs li{list-style:none; margin-right:.5em;}
.breadcrumbs li::after{content:' > ';}
.breadcrumbs li:last-child::after{content:none;}

/* main visual */
.mainVisual{background:#f5f5f5; height:420px; background-repeat:no-repeat; background-position:center; background-size:cover; display:flex; justify-content:center; align-items:center; align-content:center; flex-wrap:wrap; color:#fff; text-shadow:0 0 5px rgba(0,0,0,.7);}
.mainVisual img{display:block; margin:0 auto; max-width:1440px; width:100%; height:auto;}
.mainVisual .ctg{font-size:36px; font-weight:700; position:relative; width:100%; text-align:center; letter-spacing:.2em;}

/* localNav */
.localNav{border:1px #cfcfcf solid; border-width:1px 0; font-family:a-otf-midashi-go-mb31-pr6n,sans-serif; font-weight:400; font-style: normal; color:#666;}
.localNav .toggle{display:none;}
.localNav ul{display:flex; justify-content:center; align-content:center; align-items:center;}
.localNav ul li{margin:0 15px;}
.localNav ul li a{display:block; padding:15px 0; color:#444; text-decoration:none; position:relative;}
.localNav ul li a.active::after,
.localNav ul li a:hover::after{content:''; display:block; width:100%; height:3px; background:#003d94; position:absolute; left:0; bottom:0;}
.bottomLinks{display:none;}

/* site map */
#siteMap{background:rgba(0,72,153,.95); position:fixed; left:0; top:100vh; width:100%; padding:40px; z-index:10000; color:#fff; height:100vh; transition:top .3s ease-out;}
#siteMap.open{top:0;}
#siteMap a{color:#fff;}
#siteMap .homeLink{text-align:center; margin-bottom:10px;}
#siteMap .homeLink img{width:150px; height:auto;}
#siteMap ul{}
#siteMap ul li{list-style:none; border-bottom:1px #fff solid; line-height:1.2;}
#siteMap ul li a{color:#fff; display:inline-block; padding:10px;}
#siteMap ul li a:hover{text-decoration:underline;}
#siteMap ul li ul{display:flex; flex-wrap:wrap; border-top:1px #fff solid; padding-top:10px; clear: both;}
#siteMap ul li ul li{width:calc(100% / 3); border:0 none; padding:0 10px; font-size:14px; margin-bottom:30px;}
#siteMap ul li ul li a{padding:5px 10px;}
#siteMap ul li ul li ul{display:block; width:100%; border:0 none;}
#siteMap ul li ul li ul li{display:block; width:100%; font-size:12px; margin-bottom:0;}
#siteMap ul li ul li ul li a{padding:3px 10px;}
#siteMap .siteMapCloser{width:40px; height:40px; position:absolute; right:10px; top:10px;}
#siteMap .siteMapCloser a{display:block; width:40px; height:40px; text-indent:-9999px; white-space:nowrap; overflow:hidden;}
#siteMap .siteMapCloser a::before{content:'\e908'; display:block; width:40px; height:40px; text-indent:0; text-align:center; line-height:40px; color:#fff;}
#siteMap .root{height:100%; overflow:auto;}

/* content body elements */
#contentBody{padding:60px 0; max-width:920px; margin:0 auto;}
#contentBody img{max-width:100%; height:auto;}
#contentBody > header{margin-bottom:60px; text-align:center;}
#contentBody > header h1{font-size:36px; font-weight:700; position:relative;}
#contentBody > header h1 + p{margin-top:30px;}
#contentBody section{margin:0 auto; max-width:750px;}
#contentBody.presentation section,
#contentBody section.presentation{max-width:920px;}
#contentBody .eyecatch{max-width:920px; margin:0 auto 50px;}
#contentBody section .eyecatch{margin:0 -85px 50px;}
#contentBody .eyecatch img{display:block; margin:0 auto;}
@media screen and (max-width:1220px){
	#contentBody section .eyecatch{margin:0 0 50px;}
}

#contentBody h2{font-size:20px; font-weight:700; margin-bottom:1.5em;}
#contentBody .list h2{border:none; margin-bottom:0;}
#contentBody h3{font-size:18px; font-weight:700; margin-bottom:1em;}
#contentBody h4{font-weight:700; margin-bottom:1em;}
#contentBody p + h2,
#contentBody ul + h2,
#contentBody ol + h2,
#contentBody dl + h2,
#contentBody table + h2{margin-top:2.5em;}
#contentBody p + h3,
#contentBody ul + h3,
#contentBody ol + h3,
#contentBody dl + h3,
#contentBody table + h3{margin-top:2em;}
#contentBody .list a{display:block;}
#contentBody .list a img{display:block; /*border:1px #cfcfcf solid;*/ margin-bottom:10px; width:100%; height:auto;}
#contentBody section:last-child,
#contentBody section:last-of-type{margin-bottom:0;}
#contentBody p{line-height:1.75; margin-bottom:1.5em;}
#contentBody p.signature,
#contentBody p.issued{text-align:right;}
#contentBody .fLt{float:left; margin:0 30px 1.5em 0;}
#contentBody .fRt{float:right; margin:0 0 1.5em 30px;}
#contentBody .aCt{clear:both; text-align:center; margin-bottom:30px;}
#contentBody .aCt img{display:block; margin:0 auto; max-width:100%; height:auto;}
#contentBody figcaption{font-size:12px; line-height:1.4;}

/* regular tables */
#contentBody table.regular{margin-bottom:40px;}
#contentBody table.regular th,
#contentBody table.regular td{padding:10px; border:1px #ccc solid; line-height:1.5;}
#contentBody table.regular th{background:#eee; font-weight:bold;}
#contentBody table.regular thead th{text-align:center;}
#contentBody table.regular.fixed{table-layout:fixed !important;}
#contentBody table.regular + .tableNotes{margin-top:-30px;}
.nowrap{white-space:nowrap;}

/* multi column */
.mc{display:flex; justify-content:flex-start; flex-wrap:wrap;}
.mc.duo .col{width:calc(50% - 20px);}
.mc.duo .col:nth-child(odd){margin-right:40px;}
.mc.trio .col{width:calc(100% / 3 - 20px); margin:0 20px 40px 0;}
.mc.trio .col:nth-child(3n){margin-right:0;}
.mc.quad .col{width:calc(25% - 15px); margin:0 15px 40px 0;}
.mc.quad .col:nth-child(4n){margin-right:0;}
.mc .col img{max-width:100%; height:auto;}
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,.mc{display:block;}
  *::-ms-backdrop,.mc .col{float:left;}
  *::-ms-backdrop,.mc.duo .col:nth-child(odd){clear:both;}
  *::-ms-backdrop,.mc.trio .col:nth-child(3n + 1){clear:both;}
  *::-ms-backdrop,.mc.quad .col:nth-child(4n + 1){clear:both;}
}

/* list */
#contentBody ul,
#contentBody ol,
#contentBody dl{margin-bottom:1.5em;}
#contentBody ul.notes{margin:1.5em 0;}
#contentBody ul.notes li{text-indent:-1em; padding-left:1em; margin-bottom:.5em; font-size:12px; list-style:none;}
#contentBody ol{margin-left:1.5em;}
#contentBody ol li{margin-bottom:.5em; line-height:1.5;}
#contentBody ul{margin-left:1.5em; list-style:disc;}
#contentBody ul li{margin-bottom:.5em; line-height:1.5;}
#contentBody ol li ul{margin-top:1em;}
#contentBody ol li ul li{margin-bottom:.5em;}
#contentBody dl.regular{margin-bottom:30px;}
#contentBody dl.regular dt{font-weight:700; margin-bottom:.5em}
#contentBody dl.regular dd{border-bottom:1px #cfcfcf dotted; padding-bottom:1em; margin-bottom:1em;}
#contentBody dl.flat{clear:both;}
#contentBody dl.flat dt{float:left; width:8em; padding:30px 0;}
#contentBody dl.flat dd{border-top:1px #cfcfcf solid; padding:30px 0 30px 8em;}
#contentBody dl.flat dd p:last-child{margin-bottom:0;}

/* link btn */
.linkbox a{color:#444; border:solid 1px #cfcfcf; border-width:1px 0; padding:15px; text-align:center; display:block; transition:all .3s ease; position:relative; font-weight:bold;}
.linkbox a:hover{color:#000; border-color:#000;}
.linkbox a::before{content:''; width:6px; height:6px; border-top:solid 2px #444; border-right:solid 2px #444; transform:rotate(45deg); position:absolute; top:50%; left:15px; margin-top:-3px;}
.linkbox a:hover::before{border-color:#000;}
.linkbox span.sp{display:none;}
.linkbox span.pc{display:inline;}
/* related link */
nav.related{background:#efefef; padding:40px 40px 20px;}
nav.related h1{max-width:920px; font-size:20px; margin:0 auto 40px; font-weight:bold;}
nav.related ul{max-width:934px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:center;}
nav.related ul li{width:calc(100% / 3 - 14px); margin:0 7px 20px 7px; list-style:none;}
nav.related ul li a{display:block;}
nav.related ul li img{display:block; width:100%; height:auto; margin-bottom:10px;}
nav.related ul li b{margin-bottom:10px; display:block;}
nav.related ul li a{color:#444;}

/* modal */
.modalShade,
.modalBase{position:fixed; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,.6); z-index:10010; display:flex; justify-content:center; align-content:center; align-items:center; display:none;}

.modalStage.movie{max-width:1000px; width:100%; padding:40px; position:relative; display:none;}
.modalStage.movie .inner{padding-top:56.25%; position:relative; background:#fff;}
.modalStage.movie iframe{width:100%; height:100%; position:absolute; left:0; top:0;}
.modalStage.form{max-width:900px; width:900px; height:90vh; overflow:hidden; padding:0; position:relative; display:none; background:transparent; z-index:10011;}
.modalStage.form .inner{background:#fff;}
.modalStage.form iframe{width:100%; height:calc(90vh - 80px);}
.modalPage{background:#fff;}
.modalStage .close{width:40px; height:40px; position:absolute; right:40px; top:0; line-height:40px; color:#fff; cursor:pointer;}
.modalStage.form .close,
.detailModalClose{width:60px; height:30px; position:absolute; right:17px; top:0; line-height:30px; color:#fff; background:#000; cursor:pointer; text-align:center;}



.detailModal{max-width:1000px; width:100%; height:90vh; background:#fff; position:relative;}
.detailModal iframe{width:100%; height:90vh;}




/* cookieconsent */
.cookieconsent{position:fixed; left:0; bottom:0; background:rgba(204,204,204,.8); padding:20px; width:100%;}
.cookieconsent > div{max-width:1000px; margin:0 auto; padding-right:50px; position:relative;}
.cookieconsent > div .close{width:40px; height:40px; position:absolute; right:0; top:50%; margin-top:-20px; text-indent:-9999px; display:block; cursor:pointer;}
.cookieconsent > div .close::after{content:'\e908'; display:block; width:40px; height:40px; text-indent:0; text-align:center; line-height:40px; position:absolute; left:0; top:0;}




/* ======================================================================================================================================== 
INDIVIDUAL
======================================================================================================================================== */
/* top page */
main.toppage{padding:20px 0; border:none;}
.mainSlider{width:100%; height:600px; margin-bottom:20px; position:relative;}
.mainSlider .slide{width:100%; height:600px; display:flex; justify-content:center; align-content:center; align-items:center; flex-direction:column; background-position:center; background-repeat:no-repeat; background-size:cover;}
.mainSlider .slide.slide01{background-image:url("/images/mv01Construction.jpg");}
.mainSlider .slide.slide02{background-image:url("/images/mv02Industry.jpg");}
.mainSlider .slide.slide03{background-image:url("/images/mv03FoodProcessing.jpg");}
.mainSlider .slide.slide04{background-image:url("/images/mv04Industry.jpg");}
.mainSlider .slide.slide05{background-image:url("/images/mv05Disaster.jpg");}
.mainSlider .slide.slide06{background-image:url("/images/mv06Housing.jpg");}
.mainSlider .slide.slide07{background-image:url("/images/mv07Printing.jpg");}

.mainSlider .slick-dots{position:absolute; left:0; bottom:0; display:flex; justify-content:center; padding:20px; width:100%;}
.mainSlider .slick-dots li{padding:10px;}
.mainSlider .slick-dots button{display:block; width:18px; height:18px; text-indent:-20px; overflow:hidden; white-space:nowrap; border-radius:8px; background:none #efefef; border:none; text-align:left;}
.mainSlider .slick-dots .slick-active button{background:#003d94;}
.mainSlider p{font-size:50px; font-weight:bold; font-family:Lato, sans-serif; color:#fff; text-shadow:0 0 8px rgba(0,0,0,.5); letter-spacing:0.05em; margin-bottom:40px;}
.mainSlider .linkbox{width:320px;}
.mainSlider .linkbox a{color:#eee; border:solid 1px #eee; border-width:1px 0; text-shadow:0 0 8px rgba(0,0,0,.5);}
.mainSlider .linkbox a::before{border-top:solid 2px #eee; border-right:solid 2px #fff;}
.mainSlider .linkbox a:hover{color:#000; border-color:#000;}
.mainSlider .linkbox a:hover::before{border-color:#000;}
.companyIntro{background:#efefef;}
.companyIntro h1{font-size:20px; font-weight:bold; margin-bottom:20px;}
.companyIntro section{background-repeat:no-repeat; background-size:50% auto; clear:both; display:flex;}
.companyIntro section figure{width:50%;}
.companyIntro section figure img{width:100%; height:auto; display:block;}
.companyIntro section div{display:flex; flex-direction:column; justify-content:center; align-content:center; padding:20px 40px; width:50%;}
.companyIntro section div p{margin-bottom:30px; line-height:1.75;}
.companyIntro section div p.linkbox{margin-bottom:0; width:320px; margin:0 auto;}
.companyIntro section.industry{}
.companyIntro section.medical{flex-direction:row-reverse;}
.companyIntro section.industry div{padding:20px 40px; background:url("/images/img01tip.png") no-repeat 0 center;}
.companyIntro section.medical div{padding:20px 40px; background:url("/images/img02tip.png") no-repeat right center;}
@media screen and (max-width:1460px){
.companyIntro section div{padding:20px;}
.companyIntro section figure img{opacity:0;}
.companyIntro section.industry figure{background:url("/images/img01.jpg") no-repeat right center; background-size:cover;}
.companyIntro section.medical  figure{background:url("/images/img02.jpg") no-repeat right center; background-size:cover;}
}

/* picku up information 20200824 added */
section.pickup{margin:60px auto 0;}
section.pickup header{position:relative; text-align:center; margin-bottom:50px;}
section.pickup header:after{content:''; display:block; height:1px; width:100%; background:#cfcfcf; position:absolute; top:50%; left:0; z-index:0;}
section.pickup header h1{font-size:20px; font-weight:bold; text-align:center; padding:0 40px; background:#fff; margin:0 auto; position:relative; z-index:1; display:inline-block;}
section.pickup .list{display:flex; flex-wrap:wrap;}
section.pickup .list .item{width:calc(100% / 3 - 20px); margin:0 30px 30px 0; border:1px #cfcfcf solid;}
section.pickup .list .item a{display:block; color:#444; padding:10px 10px 15px;}
section.pickup .list .item a:hover img{opacity:.5;}
section.pickup .list .item:nth-child(3n){margin-right:0;}
section.pickup .list .item .image{margin-bottom:10px; position:relative; display:flex; position:relative; background:#000;}
section.pickup .list .item .image span{display:block; padding:12px; position:absolute; border:1px #fff solid; border-width:1px 0; left:25px; width:calc(100% - 50px); text-align:center; top:calc(50% - 23px); color:#fff; text-shadow:0 0 2px rgba(0,0,0,.5); opacity:0; transition:opacity .3s ease;}
section.pickup .list .item .image span::before{content:''; width:6px; height:6px; border-top: solid 1px #fff; border-right:solid 1px #fff; transform:rotate(45deg); position:absolute; top:50%; left:15px; margin-top:-3px;}
section.pickup .list .item a:hover .image span{opacity:1;}
section.pickup .list .item img{width:100%; height:auto; display:block;}
section.pickup .list .item h2{font-weight:bold; margin-bottom:5px;}

.newsLists{padding:80px 0; max-width:1000px; margin:0 auto;}
#contentBody.newsLists h1{font-size:20px; margin-bottom:60px; font-weight:bold; text-align:center;}
.newsLists .lists{display:flex; justify-content:space-between; margin-bottom:40px;}
.newsLists .lists div{width:calc(100% / 3 - 15px);}
.newsLists h2{font-size:15px; font-weight:bold; margin-bottom:10px;}
.newsLists dl{line-height:1.5; border-bottom:1px #ccc solid; margin-bottom:80px;}
.newsLists dt{padding:15px 0 5px; border-top:1px #cfcfcf solid; font-size:13px; font-weight:bold;}
.newsLists dt i{background:#003d94; padding:1px 8px 3px; color:#fff; font-style:normal; border-radius:4px; display:inline-block; margin-left:5px;}
.newsLists dd{padding-bottom:15px;}
.newsLists a{color:#444;}
.newsLists .linkbox{width:320px; margin:0 auto;}

.caution　{padding:0 0 80px; margin:0 auto;}


/* company */
.mainVisual.company01{background-image:url("/company/img/companyMainVisual.jpg");}
#contentBody.outline dl{width:100%; margin-bottom:40px;}
#contentBody.outline dl dt{float:left; clear:left; width:9em; font-weight:700; margin-bottom:1em;}
#contentBody.outline dl dd{padding-left:9em; margin-bottom:1em;} 
#contentBody.outline dl.longTerm dt{width:24em;}
#contentBody.outline dl.longTerm dd{padding-left:24em;} 
#contentBody.outline ul.directors{display:flex; margin:0 -20px 0 0; flex-wrap:wrap; justify-content:flex-start;}
#contentBody.outline ul.directors li{list-style:none; width:calc(25% - 20px); margin:0 20px 30px 0;}
#contentBody.outline ul.directors li img{display:block; width:100%; height:auto; margin-bottom:10px;}
#contentBody .mc.philosophy img{width:100%; height:auto; display:block; margin-bottom:15px;}
#contentBody .mc.philosophy .col p:last-child{margin-bottom:0;}
#contentBody ul.philosophies{border-top:#ccc 1px solid;}
#contentBody ul.philosophies li{padding:25px 0; line-height:1.75; margin:0; list-style:none; border-bottom:1px #ccc solid;}
#contentBody .story h2{text-align:center; color:#003d94; font-size:24px; border:none; padding:0;}
#contentBody .story ul{display:flex; flex-wrap:wrap; flex-direction:row-reverse; margin:0;}
#contentBody .story ul li{width:calc(50% - 20px); margin-bottom:40px; display:flex; justify-content:space-between; align-items:flex-start; font-size:14px; position:relative;}
#contentBody .story ul li:nth-child(even){margin-right:40px; top:40px; flex-direction:row-reverse;}
#contentBody .story ul li img{margin-right:20px;}
#contentBody .story ul li:nth-child(even) img{margin:0 0 0 20px;}


/*2019.08.24追記*/
.timeline { list-style: none;}
.timeline > li {margin-bottom: 60px;}
.timeline > li {overflow: hidden;   margin: 0;   position: relative;  }
.timeline-date {width: 110px;    float: left;    margin-top: 20px; font-weight:bold; }
.timeline-content {width: 85%;    float: left;    border-left: 3px #d8e5f7 solid;    padding-left: 30px;  }
.timeline-content figure{float:left; margin-right:24px; margin-bottom:24px; }
.timeline-content:before {    content: '';width: 12px;    height: 12px;    background: #003d94;    position: absolute;    left: 106px;    top: 24px;    border-radius: 100%;  }

p.search-results-header{font-weight:bold; font-size:1.4em;}


#contentBody .customerList{margin:50px 20px 0; display:flex; justify-content:space-between;}
#contentBody .customerList li{margin-bottom:.5em; line-height:1.4; list-style:none;}
#contentBody .supplierList{}
#contentBody .supplierList .list{margin:60px auto 20px; border-top:1px #cfcfcf solid; padding:50px 20px 20px; display:flex;}
#contentBody .supplierList .list ul{flex:1; margin:0;}
#contentBody .supplierList .list li{font-size:13px; margin-bottom:.5em; list-style:none;}
#contentBody .company{border-top:1px #cfcfcf solid; padding:40px 0 20px; display:flex; max-width:920px; justify-content:space-between; margin:0 auto;}
#contentBody .company h2{font-size:18px; font-weight:700; padding:0 18px 0 0; border:none; margin:0;}
#contentBody .company dl{width:60%;}
#contentBody .company dl dt{font-weight:700;}
#contentBody .company dl dt div{display:inline-block; float:right; text-align:right;}
#contentBody .company dl dd{margin-bottom:20px;}
#contentBody .company dl dd dl{margin:20px 0 0 20px;}
#contentBody .company dl i{font-style:normal;}




/* news */
.mainVisual.news01{background-image:url("/news/img/newsMainVisual.jpg");}
#contentBody.newsArchive{}
#contentBody .yearSelect{width:240px; margin:0 auto; text-align:center; margin-bottom:30px; background:#fff; line-height:1;}
#contentBody .yearSelect dt{font-size:24px; font-weight:700; padding:10px; border-top:1px #fff solid;}
#contentBody .yearSelect dt.active{border:1px #cfcfcf solid; border-bottom:0;}
#contentBody .yearSelect dt::after{content:'\e901'; font-size:12px; margin-left:10px; vertical-align:middle;}
#contentBody .yearSelect dd{position:relative; line-height:1;}
#contentBody .yearSelect dd ul{border-bottom:1px #cfcfcf solid; position:absolute; left:0; top:0; width:100%; display:none; margin:0;}
#contentBody .yearSelect dd li{border:1px #cfcfcf solid; border-bottom:none; list-style:none; margin:0; line-height:1;}
#contentBody .yearSelect dd li a{color:#444; font-size:24px; font-weight:bold; text-decoration:none; padding:10px; display:block; background:#fff;}
#contentBody .yearSelect dd li a::after{content:'\e902'; font-size:12px; margin-left:10px; vertical-align:middle;}
#contentBody .yearSelect dd li a:hover{background:#003d94; color:#fff;}
#contentBody ul.newsList{margin:0 auto 50px;}
#contentBody ul.newsList li{line-height:1.4; list-style:none; margin:0;}
#contentBody ul.newsList li a,
#contentBody ul.newsList li div{padding:20px 40px; color:#444; text-decoration:none; display:flex;}
#contentBody ul.newsList li a p,
#contentBody ul.newsList li div p{margin-bottom:0; line-height:1.4; max-width:calc(100% - 12em);}
#contentBody ul.newsList li:nth-child(odd) a,
#contentBody ul.newsList li:nth-child(odd) div{background:#efefef;}
#contentBody ul.newsList li a:hover{background:#003d94; color:#fff;}
#contentBody ul.newsList li b{font-weight:normal; width:7em; display:inline-block;}
#contentBody ul.newsList li i{font-style:normal; width:5em; display:inline-block;}
#contentBody.newsContent > header h1{margin-bottom:10px;}
#contentBody.newsContent > header p span{background:#cfcfcf; border-radius:8px; padding:2px 12px; margin-left:1.5em; font-size:14px; font-weight:700; color:#fff;}
.newsFooter{position:relative; height:0; z-index:10; max-width:960px; top:50px;}
.newsFooter a{content:'\e900'; text-decoration:none; color:#003d94; width:80px; height:80px; display:flex; justify-content:center; align-content:center; align-items:center; flex-wrap:wrap; position:absolute; top:50px; font-size:12px;}
.newsFooter a::before{content:'\e906'; font-size:18px; width:100%; text-align:center; left:0;}
.newsFooter a.next{right:0;}
.newsFooter a.next::before{content:'\e902';}

/* movies */
.mainVisual.movie01{background-image:url("/videohighlights/img/videohighlightsMainVisual.jpg");}
.mainVisual.movie02{background:#003d94; height:60px;}
.mainVisual.movie02 .ctg{font-size:24px;}
#contentBody .relatedMovies{max-width:920px; margin:50px auto 0; padding:40px; border-top:1px #cfcfcf solid;}
#contentBody .relatedMovies h2{}
#contentBody .movies .col{width:calc(50% - 30px);}
#contentBody .movies .col:nth-child(odd){margin-right:60px;}
#contentBody .movies .col figure{margin-bottom:10px;}
#contentBody .movies h2{border:none;}
#contentBody .movies a{color:#444;}
.moviePanel{position:relative; width:100%; height:0; padding-top:56.25%; margin-bottom:50px;}
.moviePanel iframe{width:100%; height:100%; position:absolute; left:0; top:0;}
#contentBody section.movie{max-width:1000px;}
#contentBody .movie .inner{max-width:920px; margin:0 auto;}
#contentBody .movie h1{font-size:24px; margin-bottom:20px;}


/* projects */
.mainVisual.projects01{background-image:url("/specialprojects/img/projectsMainVisual.jpg");}
#contentBody .projectList img{display:block; width:100%; margin:0 auto 10px;}
.projectMovie{max-width:920px; margin:0 auto; padding:60px 0;}
.projectMovie h1{font-size:20px; font-weight:bold; margin-bottom:40px;}

/* link */
.linkItem{clear:both; margin-bottom:40px; display:flex;}
.linkItem figure{width:335px; margin-right:30px;}
.linkItem figure img{width:100%; height:auto;}
.linkItem > div{width:calc(100% - 365px);}
#contentBody .linkItem h2{font-size:15px; margin-bottom:10px;}

/* job */
#contentBody section.terminal{margin-bottom:120px;}
#contentBody section p.lead{margin-top:40px; margin-bottom:60px;}
#contentBody section p.box{background:#efefef; padding:40px; margin-top:60px; letter-spacing:.1em;}


/* product index */
#contentBody.primaryList{margin:0 auto; max-width:none;}
#contentBody.primaryList header{margin-bottom:40px;}
#contentBody.primaryList header h1{letter-spacing:.25em;}
#contentBody.primaryList .list{display:flex; justify-content:center; flex-wrap:wrap;}
#contentBody.primaryList .list section{display:flex; flex-direction:column; width:530px; padding:20px; margin:0 0 50px;}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, #contentBody.primaryList .list section figure{height:0; overfilow:visible; padding-bottom:48.979591836%; margin-bottom:15px; /* IE11 Flecbox bug */}
}



#contentBody.primaryList .list section img{width:100%; height:auto; display:block; margin-bottom:15px;}
#contentBody.primaryList .list section h2{font-size:20px; margin-bottom:15px; font-weight:bold;}
#contentBody.primaryList .list section ul,
#contentBody.primaryList .list section ol{margin:0 0 2em 1.5em;}
#contentBody.primaryList .list section ul li,
#contentBody.primaryList .list section ol li{list-style:disc; line-height:1.5; margin-bottom:0.25em;}
#contentBody.primaryList .list section ul li{list-style:disc;}
#contentBody.primaryList .list section ul li a{color:#444;}
#contentBody.primaryList .list section ul li a:hover{color:#000;}
#contentBody.primaryList .list section p{margin-top:auto; text-align:center; padding:0 90px; font-weight:bold;}

@media screen and (min-width:1280px) and ( max-width:1888px) {
	#contentBody.primaryList .list section{width:calc(100% / 3); margin:0 0 10%; padding:1%;}
	#contentBody.primaryList .list section p{padding:0 5%;}
}
@media screen and (min-width:1024px) and ( max-width:1279px) {
	#contentBody.primaryList .list section{width:calc(100% / 2); margin:0 0 10%; padding:2%;}
	#contentBody.primaryList .list section p{padding:0 5%;}
}

@media screen and (min-width:768px) and ( max-width:1024px) {
	#contentBody.primaryList .list section{width:calc(100% / 2); margin:0 0 10%; padding:2%;}
	#contentBody.primaryList .list section p{padding:0 5%;}
}


/* product category */
#contentBody.productList{}
#contentBody.productList .list{padding-top:40px;}
#contentBody.productList .list section{max-width:none; margin-bottom:60px;}
#contentBody.productList .list section a{display:flex; justify-content:space-between; color:#444;}
#contentBody.productList .list section a:hover{color:#000;}
#contentBody.productList .list section figure,
#contentBody.productList .list section figure + div{width:calc(50% - 20px);}
#contentBody.productList .list section h2{margin-bottom:30px;}
#contentBody.productList .list section h2 img{width:200px; height:auto; display:block; margin-bottom:20px;}

/* productDetail */
#contentBody.productDetail{max-width:1000px; margin:0 auto;}
#contentBody.productDetail header{text-align:center; padding:60px 0; margin-bottom:0;}
#contentBody.productDetail .productLogo{margin-bottom:40px;}
#contentBody.productDetail header .productLogo img{width:280px; height:auto; display:block; margin:0 auto;}
#contentBody.productDetail header h1{font-size:24px; font-weight:bold;  margin-bottom:60px;}
#contentBody.productDetail header figure{margin-bottom:0;}
#contentBody.productDetail figure{margin-bottom:2em;}
#contentBody.productDetail figure img{display:block; width:100%; height:auto;}
#contentBody.productDetail .container{max-width: 750px; margin:0 auto;}
#contentBody.productDetail section{clear:both; padding:30px 0;}
#contentBody.productDetail p{line-height:1.75; margin-bottom:2em;}
#contentBody.productDetail h2{font-size:20px; margin-bottom:30px; font-weight:bold;}
#contentBody.productDetail h3{font-size:18px; margin-bottom:10px; font-weight:bold;}

#contentBody.productDetail a{color:#003d94;}
#contentBody.productDetail a:hover{color:#000; text-decoration:underline;}
#contentBody.productDetail section p:last-child,
#contentBody.productDetail section ul:last-child,
#contentBody.productDetail section ol:last-child,
#contentBody.productDetail section table:last-child,
#contentBody.productDetail section figure:last-child,
#contentBody.productDetail section .mc:last-childm{argin-bottom:0;}

section.conversion {max-width:600px; margin:0 auto; text-align:center; padding:60px 10px 40px;}
section.conversion ul{margin-bottom:40px; display:flex; justify-content:space-between;}
section.conversion ul li{width:calc(50% - 10px);}
section.conversion ul li a{color:#fff; display:block; background:#444; padding:20px; text-align:center; transition:all .3s ease; position:relative;}
section.conversion ul li a:hover{background:#000;}
section.conversion ul li a::before{content:''; width:6px; height:6px; border-top:solid 2px #fff; border-right:solid 2px #fff; transform:rotate(45deg); position:absolute; top:50%; left:15px; margin-top:-3px;}
section.conversion dl{font-size:16px; font-weight:bold;}
section.conversion dl dt,
section.conversion dl dd{display:inline-block; padding:0 10px;}
div.return{margin:0 auto; max-width:320px; text-align:center; padding-bottom:60px;}
div.pdf{margin:0 auto; max-width:520px; text-align:center; padding-bottom:60px;}

/* contact */
.noteBox{border:1px #ccc dashed; padding:30px; margin-bottom:40px;} 
#contentBody .noteBox ul.notes{margin-bottom:0;}
#contentBody .noteBox ul.notes li{font-size:15px;}
#contentBody table.formTable{width:100%; margin-bottom:30px;}
#contentBody table.formTable th,
#contentBody table.formTable td{padding:15px 0; vertical-align:top;}
#contentBody table.formTable th{padding:25px 25px 15px 0;}
#contentBody table.formTable th em{background:#f00; color:#fff; border-radius:4px; display:inline-block; padding:2px 10px; line-height:1.2; float:right;}
#contentBody table.formTable label.chk,
#contentBody table.formTable label.rdo{margin-right:1.5em; padding:10px 10px 10px 35px; position:relative; overflow:hidden;}
#contentBody table.formTable label.vert,
#contentBody table.formTable label.vert{display:block;}
#contentBody table.formTable label.chk input,
#contentBody table.formTable label.rdo input{position:absolute; left:-50px; top:0; visibility:hidden;}
#contentBody table.formTable label.chk i,
#contentBody table.formTable label.rdo i{display:block; position:absolute; left:0; top:50%; margin-top:-12px; width:24px; height:24px; background-repeat:no-repeat; background-position:center;}
#contentBody table.formTable label.chk i{background-image:url("/contact/images/chk.png");}
#contentBody table.formTable label.rdo i{background-image:url("/contact/images/rdo.png");}
#contentBody table.formTable label.chk input:checked + i{background-image:url("/contact/images/chkOn.png");}
#contentBody table.formTable label.rdo input:checked + i{background-image:url("/contact/images/rdoOn.png");}
#contentBody table.formTable input[type=text],
#contentBody table.formTable input[type=url],
#contentBody table.formTable input[type=email],
#contentBody table.formTable select,
#contentBody table.formTable textarea{border:1px #ccc solid; padding:10px; font-size:16px; width:100%; outline:none;}
#contentBody table.formTable input[type=text]:focus,
#contentBody table.formTable input[type=url]:focus,
#contentBody table.formTable input[type=email]:focus,
#contentBody table.formTable select:focus,
#contentBody table.formTable textarea:focus{border:1px #84bdee solid; outline:none;}
#contentBody table.formTable .error input[type=text],
#contentBody table.formTable .error input[type=url],
#contentBody table.formTable .error input[type=email],
#contentBody table.formTable .error select,
#contentBody table.formTable .error textarea{border:1px #f00 solid;}
#contentBody table.formTable .error{color:#f00;}
#contentBody .btnSpace{}
#contentBody .btnSpace button{background:#003d94 none; color:#fff; border:0 none; padding:20px; display:block; width:100%; font-size:18px;}


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

@media screen and (max-width:1024px){
/* ======================================================================================================================================== 
COMMON
======================================================================================================================================== */
/* base block */
#wrapper{padding-top:45px;}
#wrapper::before{content:none; display:none;}
#siteHeader{width:100%; height:45px; padding:15px 20px; text-align:left; background:#004899; display:flex; justify-content:flex-start; align-content:center; align-items:center; z-index:1;}
#globalNav{width:35vw; text-align:left; z-index:9999; position:fixed; left:auto; right:-35vw; top:45px; background:#004899; transition:right .3s cubic-bezier(.03,.92,.37,.99);}
#globalNav.open{right:0;}
#pageBody{left:0; top:0; width:100%;}
#siteFooter{width:100%;}
body.flowNav #siteHeader{position:fixed;}
body.flowNav #globalNav{position:fixed;}
/* site header */
#siteHeader img{width:auto; height:15px; margin:0 20px 0 0;}
#siteHeader p{font-size:11px; line-height:1;}
#siteHeader p br{display:none;}
/* site footer */
#siteFooter{height:auto; padding:20px 0; margin-top:61px;}
#siteFooter .group{margin-bottom:20px; padding:0 20px; height:auto;}
#siteFooter .group img{height:auto; width:auto; max-width:100%; max-height:15px;}
#siteFooter .group a{display:block; padding:0; margin:0 20px;}
#siteFooter ul{margin-bottom:20px;}
#siteFooter ul li{font-size:12px;}
#siteFooter small{text-align:center; display:block; font-size:14px;}
#pgTopLink{height:60px; top:-61px;}
#pgTopLink p{width:60px; height:40px; font-size:10px;}
#pgTopLink a{width:60px; height:40px;}
#pgTopLink a::before{font-size:15px;}
#pgTopLink.fixed p{position:fixed; right:20px; bottom:20px;}
#siteFooter small{position:static; left:auto; top:auto; color:#222; width:auto;}
/* global navigation */
p.toggle{display:block; width:45px; height:45px; position:fixed; right:0; top:0; text-indent:-9999px; white-space:nowrap; overflow:hidden; cursor:pointer; z-index:10000;}
p.toggle::before{content:'\e909'; display:block; width:45px; height:45px; text-indent:0; text-align:center; line-height:45px; color:#fff;}
p.toggle.open::before{content:'\e908';}
/*p.toggle + div{height:calc(100vh - 45px); overflow:auto;}*/
#globalNav ul.contents{padding:0; border-top:1px rgb(255,255,255,.5) solid;}
#globalNav ul.contents::before{content:none; display:none;}
#globalNav ul.contents li{border-bottom:1px rgba(255,255,255,.5) solid; font-size:14px;} 
#globalNav ul.contents li a{padding:10px 20px;}
#globalNav ul.lang{margin:15px;}
#globalNav ul.lang li a{padding:10px;}
#globalNav ul.contents li.hasChildren > a::after{content:'\e904'; opacity:1;}
#globalNav ul.contents li.hasChildren > a.open::after{content:'\e900';}
#globalNav ul.contents li.hasChildren ul{position:relative; left:auto; top:auto; padding-top:0; width:auto; overflow:visible; border-top:1px rgb(255,255,255,.5) solid; margin-left:40px; display:none;}
#globalNav ul.contents li.hasChildren:hover ul{width:auto;}
#globalNav ul.contents li.hasChildren ul li{width:auto;}
#globalNav ul.contents li.hasChildren ul li:last-child{border-bottom:0;}
#globalNav ul.contents li.hasChildren::before{content:none; display:none;}
#globalNav ul.contents li.hasChildren ul li a{padding:10px 10px 10px 10px;}
#globalNav ul.contents li.hasChildren ul::before{display:none;}
/* search panel */
.searchPannel{position:static; right:auto; top:auto; margin:15px;}
.searchPannel form{flex-direction:row;}
.searchPannel input{width:calc(100% - 40px); background:rgba(255,255,255,.5); height:40px; padding:5px; transition:none;}
.searchPannel input:focus{width:calc(100% - 40px); background:rgba(255,255,255,.5);}
.searchPannel button{width:40px; height:40px; display:block; background:rgba(255,255,255,.5);}
.searchPannel button::before{width:40px; height:40px; display:block; line-height:40px; font-size:20px; color:#fff;}
.searchPannel input:focus + button{background:rgba(255,255,255,.5);}
/* breadcrumbs */
.breadcrumbs{height:40px; width:100%; font-size:12px;}
/* main visual */
.mainVisual{height:300px;}
.mainVisual .ctg{font-size:38px;}
/* localNav */
.localNav ul li{margin:0 10px; font-size:14px;}

/* link btn */
.linkbox a{padding:10px; font-size:12px;}
.linkbox a::before{left:5px;}

/* tables */
#contentBody .ftContainer{width:100%; overflow-x:auto; margin-bottom:40px;}
#contentBody .ftContainer table{min-width:750px; margin-bottom:0;}
#contentBody table.stackTabl{border-top:1px #ccc solid;}
#contentBody table.stackTable th,
#contentBody table.stackTable td{display:block;}
#contentBody table.regular.stackTable th{border-width:0 1px;}

/* ======================================================================================================================================== 
INDIVIDUAL
======================================================================================================================================== */
/* company */
#contentBody ul.philosophies li{padding:15px 0;}
#contentBody .story ul{display:block;}
#contentBody .story ul li{width:100%; justify-content:flex-start;}
#contentBody .story ul li:nth-child(even){margin-right:0; top:0; flex-direction:row;}
#contentBody .story ul li img{margin-right:20px;}
#contentBody .story ul li:nth-child(even) img{margin:0 20px 0 0;}
#contentBody .customerList{margin:40px 0 0;}
#contentBody .customerList li{padding-right:15px; list-style:none; margin-bottom:.5em;}
#contentBody .supplierList .list{margin:40px auto 0; padding:30px 0 20px; display:flex; flex-wrap:wrap;}
#contentBody .supplierList .list ul{width:50%; flex:auto;}
#contentBody .supplierList .list li{font-size:12px;}
#contentBody .company{padding:30px 0 10px; display:block; max-width:none;}
#contentBody .company h2{font-size:18px; margin-bottom:15px;}
#contentBody .company dl{width:100%;}
#contentBody .company dl dt{font-weight:700;}
#contentBody .company dl dd{margin-bottom:20px;}
#contentBody .company dl dd dl{margin:20px 0 0 20px; width:auto;}
#contentBody .company dl dd dl dt{width:auto;}
#contentBody .outline table{margin-bottom:40px;}
/* news */
#contentBody.newsArchive{}
.newsFooter{height:auto; width:auto; top:0;}
.newsFooter a{width:60px; height:40px; top:65px;}
.newsFooter a::before{font-size:14px;}
/* movies */
#contentBody .movies .col{width:calc(50% - 20px);}
#contentBody .movies .col:nth-child(odd){margin-right:40px;}
}

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

@media screen and (max-width:767px) {
/* ======================================================================================================================================== 
COMMON
======================================================================================================================================== */
#wrapper{width:100%; min-width:320px; overflow:hidden;}
#pageBody{padding:0;}
/* site header */
#siteHeader p{display:none;}
#siteID{width:135px; margin:0 auto;}
#siteHeader .crossLang{display:block; position:absolute; left:15px; top:50%; width:20px; height:20px; text-align:center; line-height:20px; color:#fff; font-size:12px; margin-top:-10px;}
/* site footer */
#siteFooter{padding:15px 0 0; margin-top:41px;}
#siteFooter .group{margin-bottom:15px; padding:0 15px; display:block;}
#siteFooter .group img{height:auto; width:200px; max-width:none; max-height:none;}
#siteFooter .group a{margin:0 auto 10px; width:200px;}
#siteFooter ul{margin:25px 0;}
#siteFooter ul li.siteMapViewer{display:none;}
#siteFooter small{font-size:12px; position:static; top:auto; left:auto; background:#003d94; color:#fff; display:block; width:auto; padding:15px;}
#pgTopLink{height:40px; top:-41px;}
#pgTopLink p{width:100%; height:40px;}
#pgTopLink a{width:60px; height:40px;}
#pgTopLink.fixed p{right:10px; bottom:10px; width:40px; height:40px;}
#pgTopLink.fixed p a{text-indent:-9999px; overflow:hidden; display:block; white-space:nowrap;}
#pgTopLink.fixed a::before{content:'\e900'; font-size:22px; line-height:40px; text-align:center; display:block; text-indent:0; width:40px; height:40px;}
/* global navigation */
#globalNav{width:100%; left:auto; right:auto; height:0; overflow:hidden; transition:height .3s cubic-bezier(.03,.92,.37,.99);}
#globalNav.open{right:auto; height:calc(100vh - 45px);}
/* local navigation */
.localNav{margin:15px 15px 0; background:#004988; border:0 none;}
.localNav .toggle{display:block; padding:10px 20px; font-size:14px; color:#fff; text-align:left; font-weight:700; border-bottom:1px #cfcfcf solid; position:relative;}
.localNav .toggle::before{content:'\e904'; width:14px; height:14px; position:absolute; right:15px; top:50%; margin-top:-7px; font-size:14px; font-weight:normal; text-align:center;}
.localNav .toggle.open::before{content:'\e900';}
.localNav ul{display:none;}
.localNav ul li{border-bottom:1px #cfcfcf solid; margin:0; text-align:left;}
.localNav ul li.current{display:none;}
.localNav ul li a{padding:10px 20px; color:#fff; font-size:14px;  position:relative;}
.localNav ul li a::before{content:'\e902'; width:12px; height:12px; position:absolute; right:15px; top:50%; margin-top:-6px; font-size:10px; font-weight:normal; text-align:center;}
.bottomLinks{display:block; padding-bottom:20px;}
.bottomLinks .localNav{background:#cfcfcf;}
.bottomLinks .localNav .toggle{display:none;}
.bottomLinks .localNav ul{display:block;}
.bottomLinks .localNav ul li{border-bottom:1px #f3f3f3 solid; margin:0; text-align:left;}
.bottomLinks .localNav ul li.current{display:block;}
.bottomLinks .localNav ul li a{color:#444;}
.bottomLinks .localNav ul li a.active{color:#999;}
.bottomLinks .localNav ul li a.active::after{content:none; display:none;}

/* breadcrumbs */
.breadcrumbs{display:none;}
/* main visual */
.mainVisual{height:160px;}
.mainVisual .ctg{font-size:30px;}

/* content body */
#contentBody{padding:15px; max-width:none;}
#contentBody > header{margin-bottom:20px; text-align:center;}
#contentBody > header h1{font-size:20px; margin-bottom:20px;}
#contentBody section{margin:0 auto 30px; max-width:100%;}
#contentBody section:last-child{margin-bottom:0;}
#contentBody h2,
#contentBody section h2{font-size:18px; margin-bottom:20px;}
#contentBody h3,
#contentBody section h3{font-size:16px; margin-bottom:20px;}
#contentBody dl.flat dt{float:none; width:auto; padding:10px 0;}
#contentBody dl.flat dd{padding:10px 0 10px 0;}
#contentBody .fLt{float:none; margin:0 0 1.5em 0;}
#contentBody .fRt{float:none; margin:0 0 1.5em 0;}

/* tables */
#contentBody .ftContainer{width:100%; overflow-x:auto; margin-bottom:40px;}
#contentBody .ftContainer table{min-width:750px; margin-bottom:0;}
#contentBody table.stackTable{border-top:1px #ccc solid;}
#contentBody table.stackTable th,
#contentBody table.stackTable td{display:block;}
#contentBody table.regular.stackTable th{border-width:0 1px;}

/* multi column */
.mc{display:block;}
.mc.duo .col,
.mc.trio .col,
.mc.quad .col{width:auto; margin-bottom:30px;}
.mc.duo .col:nth-child(odd){margin-right:0;}
.mc.trio .col,
.mc.quad .col{margin-right:0 !important;}


/* related link */
nav.related{padding:20px;}
nav.related h1{font-size:18px; margin:0 auto 20px;}
nav.related ul{display:block;}
nav.related ul li{width:auto;}
nav.related ul li a{display:flex; justify-content:space-between;}
nav.related ul li img{width:calc(50% - 15px); margin-bottom:0;}
nav.related ul li div{width:50%;}
@media screen and (max-width:540px){
	nav.related{padding:20px; margin:0;}
	nav.related ul li{margin-bottom:40px;}
	nav.related ul li a{display:block;}
	nav.related ul li img{width:100%; margin-bottom:10px;}
	nav.related ul li div{width:100%;}
}

/* link btn */
.linkbox a{padding:5px; font-size:12px;}
.linkbox a::before{left:5px;}
.linkbox span.sp{display:inline;}
.linkbox span.pc{display:none;}

/* modal */
.modalStage.movie{max-width:100%; width:100%; padding:10px;}
.modalStage.contact{}
.modalStage .close{right:10px; top:-40px;}
.modalStage.form{max-width:none; width:100%; height:100%;}
.modalStage.form .inner{height:100%; overflow:auto;}
.modalStage.form iframe{height:100%;}
.modalStage.form .close{width:60px; height:40px; right:0; line-height:40px;}

/* ======================================================================================================================================== 
INDIVIDUAL
======================================================================================================================================== */
/* top page */
main.toppage{padding:0;}
.mainSlider{width:auto; height:270px; margin:0 -20px 20px;}
.mainSlider .slide{width:100%; height:270px;}
.mainSlider .slick-dots{padding:10px;}
.mainSlider .slick-dots li{padding:5px;}
.mainSlider .slick-dots button{width:14px; height:14px; border-radius:7px;}
.mainSlider p{font-size:24px; margin-bottom:20px;}
.mainSlider .linkbox{width:200px; font-weight:bold;}
.companyIntro {padding:20px;}
.companyIntro h1{font-size:18px; margin-bottom:10px;}
.companyIntro section{display:block;}
.companyIntro section figure{width:auto;}
.companyIntro section figure img{width:100%; height:auto; display:block; margin-bottom:15px;}
.companyIntro section div{display:block; padding:0; width:auto; margin-bottom:20px; background:none;}
.companyIntro section div p{margin-bottom:30px; font-size:12px;}
.companyIntro section div p.linkbox{width:200px; margin:0 auto;}
.companyIntro section.industry{margin-bottom:40px;}
.companyIntro section.industry div,
.companyIntro section.medical div{padding:0; background:none;}
/* picku up information 20200824 added */
section.pickup{margin:30px 15px 0;}
section.pickup header{text-align:left; margin-bottom:20px;}
section.pickup header:after{content:none; display:none;}
section.pickup header h1{font-size:18px;text-align:left; padding:0; background:transparent; display:block;}
section.pickup .list{display:block; border:1px #cfcfcf solid; padding:0 15px;}
section.pickup .list .item{width:auto; margin:0; border:0 none; border-bottom:1px #cfcfcf solid; padding:15px 0;}
section.pickup .list .item:last-child{border-bottom:0 none;}
section.pickup .list .item a{padding:0; display:flex; justify-content:space-between;}
section.pickup .list .item .image{margin-bottom:0; display:block; width:36%; background:transparent;}
section.pickup .list .item .image + div{width:calc(64% - 15px);}
section.pickup .list .item .image span{display:none;}
section.pickup .list .item img{width:100%; height:auto; display:block;}
section.pickup .list .item h2{font-size:13px; margin-bottom:5px;}
section.pickup .list .item p{font-size:11px;}
.newsLists{padding:20px 20px 50px;;}
.newsLists h1{font-size:18px; margin-bottom:20px; text-align:left;}
.newsLists .lists{display:block; margin-bottom:10px;}
.newsLists .lists div{width:auto; margin-bottom:25px;}
.newsLists h2{font-size:12px; margin-bottom:5px;}
.newsLists dl{line-height:1.5; font-size:10px; margin-bottom:50px;}
.newsLists dt{padding:8px 0 4px;}
.newsLists dd{padding-bottom:4px;}
.newsLists .linkbox{width:200px; margin:0 auto;}

.caution figure {max-width: 700px;　height: auto;}

.caution figure{width:auto;}
.caution figure img{width:100%; height:auto; display:block; padding:0 14px 60px 14px;}

/* company */
#contentBody.outline dl{margin-bottom:20px;}
#contentBody.outline dl dt{margin-bottom:.5em; width:auto; float:none; clear:both; background:#f1f1f1; padding:5px;}
#contentBody.outline dl dd{margin-bottom:.5em; padding-left:0; clear:both;}
#contentBody.outline dl.longTerm dt{width:auto;}
#contentBody.outline dl.longTerm dd{padding-left:0;} 
#contentBody.outline ul.directors{display:flex; margin:0 -15px 0 0;}
#contentBody.outline ul.directors li{list-style:none; width:calc(50% - 15px); margin:0 15px 15px 0; font-size:12px;}
#contentBody.outline ul.directors li img{margin-bottom:5px;}
#contentBody .eyecatch{margin-bottom:20px;}
#contentBody .customerList{margin:20px 0 0 1.5em; display:block;}
#contentBody .customerList li{padding-right:0; font-size:14px; list-style:disc;}
#contentBody .supplierList{display:flex; flex-direction:column-reverse;}
#contentBody .supplierList figure{border-top:1px #cfcfcf solid; padding-top:20px;}
#contentBody .supplierList .list{border:0; padding:0; margin:20px 0;}
#contentBody .outline table{margin-bottom:30px; border-bottom:1px #cfcfcf solid;}
#contentBody .outline table th,
#contentBody .outline table td{display:block; width:100%;  border-bottom:0;}
#contentBody .outline table th{width:100%;}
#contentBody .outline table td b{display:block; width:auto;}
/* news */
#contentBody.newsArchive section{margin:0 -15px;}
#contentBody .yearSelect{width:220px; margin-bottom:15px; z-index:10; position:relative;}
#contentBody .yearSelect dt{font-size:18px; padding:5px;}
#contentBody .yearSelect dd li a{font-size:18px; padding:5px;}
#contentBody .newsList{max-width:none; margin:0 -15px 30px; z-index:0;}
#contentBody ul.newsList li a,
#contentBody ul.newsList li div{padding:15px 15px; display:block;}
#contentBody ul.newsList li a{padding-right:40px; position:relative;}
#contentBody ul.newsList li a::after{position:absolute; right:0; top:50%; width:40px; height:40px; content:'\e902'; text-align:center; line-height:40px; margin-top:-20px;}
#contentBody ul.newsList li a p,
#contentBody ul.newsList li div p{max-width:none; padding-top:5px;}
#contentBody ul.newsList li b{width:auto; margin-right:1em;}
#contentBody.newsContent header{text-align:left;}
#contentBody section h1{margin-bottom:10px;}
.newsFooter a{width:40px; height:40px; top:18px;}
/* movies */
#contentBody .movies .col{width:100%;}
#contentBody .movies .col:nth-child(odd){margin-right:40px;}
#contentBody .movies h2{}

/* link */
.linkItem{display:block;}
.linkItem figure{width:auto; margin-right:0; margin-bottom:10px;}
.linkItem > div{width:auto;}
#contentBody .linkItem h2{margin-bottom:0;}

/* product index */
#contentBody.primaryList{padding:30px 15px;}
#contentBody.primaryList header{margin-bottom:30px;}
#contentBody.primaryList header h1{font-size:18px;}
#contentBody.primaryList .list{display:block;}
#contentBody.primaryList .list section{display:block; margin-bottom:30px; width:auto; padding:0;}
#contentBody.primaryList .list section img{margin-bottom:12px;}
#contentBody.primaryList .list section h2{font-size:18px; margin-bottom:12px;}
#contentBody.primaryList .list section ul{margin:0 0 20px 1.5em;}
#contentBody.primaryList .list section ul li{font-size:10px;}
#contentBody.primaryList .list section p{padding:0 70px; font-size:12px;}
#contentBody.primaryList .list section p a{padding:6px;}
#contentBody.primaryList .list section p a::before{width:4px; height:4px; left:10px; margin-top:-2px;}

/* product category */
#contentBody.productList .list{padding-top:20px;}
#contentBody.productList .list section{max-width:none; margin-bottom:40px;}
#contentBody.productList .list section a{display:block;}
#contentBody.productList .list section figure,
#contentBody.productList .list section figure + div{width:auto;}
#contentBody.productList .list section h2{margin-bottom:5px;}
#contentBody.productList .list section h2 img{margin-bottom:10px;}

/* productDetail */
#contentBody.productDetail{max-width:none;}
#contentBody.productDetail header{padding:30px 0 0;}
#contentBody.productDetail .productLogo{margin-bottom:30px;}
#contentBody.productDetail header .productLogo img{width:200px;}
#contentBody.productDetail header h1{font-size:20px; margin-bottom:30px;}
#contentBody.productDetail figure{margin-bottom:20px;}
#contentBody.productDetail figure img{width:100%; height:auto;}
#contentBody.productDetail .container{max-width:none; padding:20px 0;}
#contentBody.productDetail section{clear:both; padding:15px 0;}
#contentBody.productDetail p{line-height:1.75; margin-bottom:2em;}
#contentBody.productDetail h2{font-size:16px; margin-bottom:10px;}
#contentBody.productDetail h3{font-size:15px; margin-bottom:5px;}
#contentBody.productDetail ul{margin:0 0 1em 1.5em;}
section.conversion {padding:30px 20px;}
section.conversion ul{margin-bottom:30px;}
section.conversion ul li{width:calc(50% - 5px); font-size:11px;}
section.conversion ul li a{padding:10px;}
section.conversion ul li a:hover{background:#000;}
section.conversion ul li a::before{content:none; display:none;}
section.conversion dl{font-size:16px; font-weight:bold;}
section.conversion dl dt,
section.conversion dl dd{display:inline-block; padding:0 10px;}
div.return{margin:0 auto; max-width:320px; text-align:center; padding-bottom:60px;}
div.pdf{margin:0 auto; max-width:520px; text-align:center; padding-bottom:60px;}

/* contact */
.noteBox{padding:15px; margin-bottom:20px;} 
#contentBody table.formTable{margin-bottom:20px;}
#contentBody table.formTable th,
#contentBody table.formTable td{padding:30px 10px 10px; display:block;}
#contentBody table.formTable th{padding:10px 10px 15px; border-top:1px #ccc solid;}
#contentBody table.formTable th + th{border:none; height:0; padding:0; margin-top:-36px;}
#contentBody table.formTable th em{}
#contentBody table.formTable label.chk,
#contentBody table.formTable label.rdo{margin-right:1.5em; padding:10px 10px 10px 35px; position:relative; overflow:hidden;}
#contentBody table.formTable label.vert,
#contentBody table.formTable label.vert{display:block;}
#contentBody table.formTable label.chk input,
#contentBody table.formTable label.rdo input{position:absolute; left:-50px; top:0; visibility:hidden;}
#contentBody table.formTable label.chk i,
#contentBody table.formTable label.rdo i{display:block; position:absolute; left:0; top:50%; margin-top:-12px; width:24px; height:24px; background-repeat:no-repeat; background-position:center;}
#contentBody table.formTable label.chk i{background-image:url("/contact/images/chk.png");}
#contentBody table.formTable label.rdo i{background-image:url("/contact/images/rdo.png");}
#contentBody table.formTable label.chk input:checked + i{background-image:url("/contact/images/chkOn.png");}
#contentBody table.formTable label.rdo input:checked + i{background-image:url("/contact/images/rdoOn.png");}
#contentBody .aform-content input,
#contentBody .aform-content textarea{max-width:100%;}
#contentBody table.formTable input[type=text],
#contentBody table.formTable input[type=url],
#contentBody table.formTable input[type=email],
#contentBody table.formTable select,
#contentBody table.formTable textarea{border:1px #ccc solid; padding:10px; font-size:16px; width:100%; outline:none;}
#contentBody table.formTable input[type=text]:focus,
#contentBody table.formTable input[type=url]:focus,
#contentBody table.formTable input[type=email]:focus,
#contentBody table.formTable select:focus,
#contentBody table.formTable textarea:focus{border:1px #84bdee solid; outline:none;}
#contentBody table.formTable .error input[type=text],
#contentBody table.formTable .error input[type=url],
#contentBody table.formTable .error input[type=email],
#contentBody table.formTable .error select,
#contentBody table.formTable .error textarea{border:1px #f00 solid;}
#contentBody table.formTable .error{color:#f00;}
#contentBody .btnSpace{}
#contentBody .btnSpace button{background:#003d94 none; color:#fff; border:0 none; padding:20px; display:block; width:100%; font-size:18px;}

/*2019.08.23追記*/
.timeline {list-style: none;}
.timeline > li {  margin-bottom: 60px;}
.timeline-content:before {    content: '';width: 12px;    height: 12px;    background: none;    position: absolute;    left: 106px;    top: 24px;    border-radius: 100%;  }
.timeline-content figure {float:none!important; margin-bottom:24px;}
}
