@charset "utf-8";

#tk .diPC { display:none; }
#tk .diPCI { display:none; }
#tk .diTB { display:none; }
#tk .diSTB { display:table-cell; }
#tk .diSP { display:block; }
#tk .diSPI { display:inline-block; }
.spTable { display:table; }
.pcTable { display:none; }

.spMenuList { display:block; display:none; overflow-y:scroll; overflow-x:hidden; height:600px; border:solid #ddd; border-width:1px 0 0; }
.spNav li a { display:block; }
.spNav li > a { font-weight:bold; display:block; border:solid #ddd; border-width:0 0 1px; padding:8px 10px; }
.spNav li p { font-weight:bold; position:relative; line-height:1.5; cursor:pointer; border:solid #ddd; border-width:0 0 1px; padding:8px 10px; box-sizing:border-box; }
.spNav li p:before { display: block; content: ''; background-color: #282828; border-radius: 10px; position: absolute; width: 1px; height: 13px; top: 13px; right: 17px; }
.spNav li p:after { display: block; content: ''; background-color: #282828; border-radius: 10px; position: absolute; width: 13px; height: 1px; top: 19px; right: 11px; }
.spNav li .spactive:before { display:none; }
.spNavInnner { display:none; background: rgba(0, 61, 127, 1); padding:0 0 10px; }
.spNavInnner li { padding:10px 10px 0 10px; }
.spNavInnner li a { border-width:0; background:#fff; padding:10px; color:#003D7F; border-radius:0.3em; font-weight:normal; }

html { min-width:initial; }
body { min-width:initial; font-size:1.6rem; }
.subMenu { display:none; }
.pullMenus { display:block; }
.recruitWrap { width:100%; box-sizing:border-box; }
.footerContact { width:100%; box-sizing:border-box; }
.partnerBg div { width:100%; box-sizing:border-box; }
.topSdgsBanner { width:100%; box-sizing:border-box; }
.newsWrap { width:100%; box-sizing:border-box; }

header { padding:70px 10px 20px 10px; }
.logo { padding:13px 6px; box-sizing:border-box; float:none; text-align:center; height:60px; }
.logo img { max-width:60px; }
.logo span { font-size:1.4rem; display:none; }
.spMenuWrap { position:fixed; left:0; top:0; box-sizing:border-box; background:#fff; z-index:999; width:100%; }
.spMenuWrap button { display:block; outline:0; cursor:pointer; background:#003d80; border-width:0; margin:0; box-sizing:border-box; -webkit-box-sizing:border-box; width:68px; padding:0; height:60px; position:absolute; right:0; top:0; }
.spMenuWrap button p { padding:0; }
.spMenuWrap button p span { color:#fff; letter-spacing:-1px; font-size:1.3rem; font-weight:bold; }
.headContact { float:none; padding:0 0 0 20px; text-align:center; }
.telContact { font-size:2.4rem; display:inline-block; }
.telContact:before { left:-53px; top:-7px; }
.telContact:after { left:-45px; top:0; }
.footerContact { display:block; padding:20px 0; }
.footerLogo { width:100%; box-sizing:border-box; margin:0 0 30px; text-align:center; padding:0 10px; box-sizing:border-box; }
.footerLogo img { max-width:100%; }
.contactInfo { display:block; }
.contactDay { margin:0 0 20px; text-align:center; }
.contactDay p { font-size:2.2rem; }
.btnArea { display:block; padding:0 10px; box-sizing:border-box; }
.footerContactBtn { box-sizing:border-box; width:auto; }
.footerContactBtn span { font-size:1.6rem; background-position:left top 3px; }
.fukidashi { margin:0 0 10px; }
.fukidashi span { display:block; text-align:center; border-radius:0.3em; }
.fukidashi:after { left:50%; right:initial; bottom:-60px; border-top:23px solid #fff; border-width:0; }
.contactTell { display:block; padding:0 20px; text-align:center; }
.contactTell p:nth-child(1) { margin:0 0 10px; }
.contactTell p span { font-size:2.2rem; }
.footerLink { padding:0; }
.footerLink > div { width:100%; box-sizing:border-box; display:block; }
.flinkList { width:100%; }
.flinkList li.linkParent { margin:0; }
.flinkList li.linkParent a { display:block; }
.flinkList li { margin:0; border:solid #474141; border-width:0 0 1px; }
.flinkList li.linkParent a:before { left:10px; top:0; bottom:0; }
.flinkList li.linkParent a:after { left:16px; top:0; bottom:0; }
.flinkList li a { display:block; padding:10px 20px 10px 30px; border:solid #131111; border-width:0 0 1px; }
.flinkList li:nth-child(n+2) a:after { left:15px; top:0; bottom:0; }
.flinkList li:nth-child(n+2) a:hover:after { left:15px; top:0; bottom:0; }

.copyWrap { min-height:200px; padding:60px 0 0; }
.copyWrap div { padding:0; text-align:center; }
.pageTitle { margin:0 0 20px; }
.bg { height:200px; width:100%; border-radius:0; background-position:center center; }
.columnWrap { flex-direction: column; }
.copyWrap h2 { font-size:2.5rem; padding:10px 30px; display:block; box-sizing:border-box; }
.copyWrap h2 span { font-size:1.8rem; }
.pageNation { overflow-x:scroll; padding:0 10px; }
.contentW { width:100%; box-sizing:border-box; margin:0 auto 20px auto; padding:0 10px; }
.contentWrap { padding:20px 0;  }
.contentW img { max-width:100%; }
.pageNation ul { max-width:initial; flex-wrap: nowrap; white-space: nowrap; }
.columnContent { width:100%; box-sizing:border-box; margin:0 0 20px 0; }
.sideMenu { width:100%; box-sizing:border-box; padding:0; margin:0; }
.commonTitle { font-size:2.3rem; }
.imgBorder { padding:10px; }
.history { margin:0 0 30px; }
h3.subTitle { padding:0; margin:0 0 20px; font-size:2.4rem; }
.columnContent > p { margin:0 0 20px; font-size: clamp(1.7rem, calc(0.25vw + 1.3rem), 1.8rem); }
.history th { display:block; width:auto; }
.history td { display:block; width:auto; padding:10px 10px 20px 10px; }
.basicTable { border-width:1px 0 0 0; margin:0 0 30px; }
.smallTable { border-width:1px 0 0 0; }
.basicTable { box-sizing:border-box; }
.basicTable th { box-sizing:border-box; display:block; width:auto; }
.basicTable td { box-sizing:border-box; display:block; width:auto; }
.grafCaption { padding:20px 0 0; }
.grafCaption img { max-width:100%; }
.grafCaption .subTitle { margin:0 0 20px; }
.careerLink { margin:0 0 20px; }
.careerLink li { margin:0 0 0 10px; }
.careerLink li a span { font-size: clamp(1.6rem, calc(0.25vw + 1.3rem), 1.8rem); }
.factoryRayout dl { width:48%; margin:0 4% 3% 0; }
.factoryRayout dl:nth-child(3) { margin:0 4% 3% 0; } 
.factoryRayout dl:nth-child(2n) { margin:0 0 3%; }
.factoryRayout { margin:0 0 20px; }
aside { padding:15px; }
aside ul li a { padding:10px 10px 10px 35px; }
.concept1 strong { font-size: clamp(2.4rem, calc(0.25vw + 1.3rem), 2.2rem); }
.concept2 strong { font-size: clamp(2.4rem, calc(0.25vw + 1.3rem), 2.2rem); }
.concept3 strong { font-size: clamp(2.4rem, calc(0.25vw + 1.3rem), 2.2rem); }
.concept1 { font-size: clamp(1.6rem, calc(0.25vw + 1.3rem), 1.8rem); }
.concept2 { font-size: clamp(1.6rem, calc(0.25vw + 1.3rem), 1.8rem); }
.concept3 { font-size: clamp(1.6rem, calc(0.25vw + 1.3rem), 1.8rem); }
.concept1Wrap { margin:0 0 10px; }
.concept2Wrap { margin:0 0 10px; }
.concept1Wrap:after { opacity:1; }
.concept2Wrap:after { opacity:1; }
.concept3Wrap:after { opacity:1; }
.concept2 { color:#fff; }
.pickTitle { font-size: clamp(1.7rem, calc(0.25vw + 1.3rem), 1.8rem); }
.discList li { font-size: clamp(1.7rem, calc(0.25vw + 1.3rem), 1.8rem); }
.videoS { height:auto; }
.tsncolumnWrap { margin:0 0 20px; flex-wrap:wrap; }
.tsncolumnWrap li { width:48%; margin:0 2% 3% 0; }
.tsncolumnWrap li:nth-child(2n) { margin:0 0 3% 0; }
.tsncolumnWrap li a img { max-width:100%; }
.tsncolumnWrap li a { max-width:100%; box-sizing:border-box; }
.tsncolumnWrap li a span { width:100%; box-sizing:border-box; }
.contentW > p { font-size: clamp(1.7rem, calc(0.25vw + 1.3rem), 1.8rem); }
.reportList li a { font-size: clamp(1.7rem, calc(0.25vw + 1.3rem), 1.8rem); }
.reportList li a:after { font-size:1.7rem; }
h4.subTitle { font-size: clamp(1.9rem, calc(0.25vw + 1.3rem), 1.8rem); }
.reportList { margin:0 0 25px; }
.sdgsBanner a img { max-width:100%; }
.contentW p a { padding:10px; }
.pageTopImg  { padding:20px; margin:0 0 20px; }
.pageTopImg > div { width:100%; padding:20px; box-sizing:border-box; }
.pageTopImg > div p { font-size: clamp(1.9rem, calc(0.25vw + 1.3rem), 1.8rem); }
.grafCaption { margin:0; }
.subContent  { padding:20px 10px; }
.grafCaption p { margin:0 !important; }
.contentB { margin:0 0 30px; width:100%; box-sizing:border-box; padding:20px 10px; }
.contentB div p { font-size: clamp(1.7rem, calc(0.25vw + 1.3rem), 1.8rem); }
.cWrap { width:100%; box-sizing:border-box; }
.contentB > div { width:100%; box-sizing:border-box; }
.contentB div img { max-width:100%; }
h3.subTitle { font-size: clamp(2.1rem, calc(0.25vw + 1.3rem), 2.3rem); }
.headLine { font-size: clamp(2.1rem, calc(0.25vw + 1.3rem), 2.3rem); }
.ov { overflow-x:scroll; }

.ductWorkTb th { display:table-cell; font-size: clamp(1.6rem, calc(0.25vw + 1.3rem), 1.8rem); }
.ductWorkTb td { display:table-cell; font-size: clamp(1.6rem, calc(0.25vw + 1.3rem), 1.8rem); }
.cleanBeforeAfter { width:100%; box-sizing:border-box; }
.cleanBeforeAfter div { width:48%; box-sizing:border-box; }
.cleanBeforeAfter div img { max-width:100%; }
.cleanBeforeAfter div p { font-size: clamp(1.8rem, calc(0.25vw + 1.3rem), 2.0rem); }
.cleanBeforeAfter div:nth-child(1) p:before { width:30px; height:30px; right:-18%; margin-top:-15px; }
.cleanBeforeAfter div:nth-child(1) p:after { border: 6px solid transparent; border-left: 9px solid #1f6699; right:-22px; margin-top:-6px; }
.doubleWrap { display:block; }
.doubleWrap dt { width:100%; box-sizing:border-box; margin:0 0 20px; }
.doubleWrap dt img { max-width:100%; }
.doubleWrap dd p{ font-size: clamp(1.8rem, calc(0.25vw + 1.3rem), 2.0rem); }
.mb50 { margin:0 0 30px !important; }
.cleanWrap { padding:20px 20px 300px 20px; background-position:left bottom; background-size:contain; }
.cleanWrap div { width:100%; box-sizing:border-box; }
.duct_bg { padding:0 !important; }
.ductRayout a { width:48%; padding:10px; margin:0 4% 3% 0; font-size: clamp(1.6rem, calc(0.25vw + 1.3rem), 1.8rem); }
.ductRayout a:nth-child(2n) { margin:0 0 3% 0; }
.itemWrap { display:block; padding:20px; }
.itemWrap dt { margin:0 0 20px; }
.cleanWrap h4 { font-size: clamp(2.2rem, calc(0.25vw + 1.3rem), 2.4rem); }
.lineupList { margin:0 0 20px; }
.lineupList li { width:48%; max-width:initial; margin:0 4% 3% 0; }
.lineupList li:nth-child(2n) { margin:0 0 3%; }
.lineupList li img { width:100%; max-width:initial; }
.lineupList li span { clamp(1.6rem, calc(0.25vw + 1.3rem), 1.6rem); padding:15px; }
.mb60 { margin:0 0 20px !important; }
.mr20 { margin:0 0 10px !important; }
.itemWrap dd p { font-size: clamp(1.7rem, calc(0.25vw + 1.3rem), 2.0rem); }
.bWrap { padding:15px; }
.normalTable table th { display:table-cell !important; font-size: clamp(1.6rem, calc(0.25vw + 1.3rem), 1.8rem); }
.normalTable table td { display:table-cell !important; font-size: clamp(1.6rem, calc(0.25vw + 1.3rem), 1.8rem); }
.bWrap .contactS strong { font-size: clamp(2.2rem, calc(0.25vw + 1.3rem), 2.4rem); display:block; margin:0; }
table.contact th { display:block; width:auto; }
table.contact td { display:block; width:auto; }

#tk .contact td input.sssRange { width:2em; }
#tk .contact td input.ssRange { width:5em; }
#tk .contact td input.sRange { width:10em; }
#tk .contact td input.mRange { width:100%; -webkit-box-sizing: border-box; box-sizing: border-box; margin:0; }
#tk .contact td input.lRange { width:100%; -webkit-box-sizing: border-box; box-sizing: border-box; margin:0; }
#tk .contact td input.wRange { width:100%; -webkit-box-sizing: border-box; box-sizing: border-box; }

.topCommonTitle{ padding:40px 0 0; font-size: clamp(2.0rem, calc(0.25vw + 1.3rem), 2.4rem); margin:0 0 50px !important; }
.topCommonTitle em { margin:0 0 5px; font-size: clamp(3.0rem, calc(0.25vw + 1.3rem), 3.2rem); }
.newsWrap div { padding:0 10px; }
.newsContent li a p { font-size: clamp(1.7rem, calc(0.25vw + 1.3rem), 2.0rem); }
.commitmentContent { flex-direction:column; padding:0 10px; box-sizing:border-box; border-width:0; }
.commitmentContent a { width:100%; box-sizing:border-box; border-width:0; margin:0 0 10px; }
.commitmentContent dl dt { min-height:160px; height:160px; }
.commitmentContent dl dd { padding:20px; }
.sdgRecruit { position:static; padding:150px 0 0; }
.commitmentWrap { padding:0 0 20px; }
.topSdgsBanner .topSdgsBannerWrap { position:static; }
.pdr30 { text-align:center; }
.wBNormalBtn { display:block; padding:10px; }
.recruitWrap { padding:20px; }
.recruitWrap .topCommonTitle { padding:10px 0 0; }
.topSdgsBanner .topSdgsBannerWrap a h4 { text-align:center; margin:0 0 20px; font-size: clamp(2.3rem, calc(0.25vw + 1.3rem), 2.4rem); }
.topSdgsBanner .topSdgsBannerWrap a h5 { margin:0 0 20px; padding:0; }
.topSdgsBanner .topSdgsBannerWrap a h5 strong { background-position:left 10px top 50%; background-size:28px; text-align:left; padding:10px 10px 10px 50px; line-height:1.5; font-size: clamp(2.0rem, calc(0.25vw + 1.3rem), 2.4rem); }
.recruitBannerWrap { display:block; }
.recruitBanner { width:100%; box-sizing:border-box; margin:0 0 20px; padding:0; }
.recruitMovie { width:100%; box-sizing:border-box; }
.recruitMovie h4 { line-height:1.2; }
.topSdgsBanner .topSdgsBannerWrap a h5:after { display:none; }
.recruitMovie h4 span { margin:0; }
.recruitBanner p { margin:0 0 20px; }
.recruitBanner p a span { font-size:1.8rem; }
.recruitBanner p a { padding:50px 10px; text-align:center; }
.recruitBanner p a:hover { padding:50px 10px; }
.slideCopy h4 { font-size:2.2rem; }
.slideCopy h4 span { font-size:2.2rem; }
.slide_all { height:75vh; }
.slide { height:75vh; }
.slide_wrap { height:75vh; }
.slide_body { height:75vh; }
.partnerBg { background-size:cover; }
.slideCopy p { font-size:1.8rem; padding:10px; }
.partnerBg div { padding:50px 0 50px 0; background: rgba(0, 61, 127, 0.5); }
.partnerRayout { position:static; margin:0; text-align:center; }
.pComment { font-size:2.8rem; margin:0 0 20px; }
.pdr30 { padding:0 10px; }

.topCopyContent { padding:0 0 200px 0; background-position:left bottom; }
.topCopyWrap { padding:20px 20px 40px 20px; width:100%; box-sizing:border-box; background: linear-gradient(to bottom, rgba(0,61,128,1) 0%,rgba(0,61,128,1) 73%,rgba(125,185,232,0) 100%); }
.topCopyWrap h3 { font-size:calc(3.4rem + 1.0 * ((100vw - 320px) / 1100)); }
.topCopyWrap p { font-size:calc(1.8rem + 1.0 * ((100vw - 320px) / 1100)); }
.topCopy { text-align:center; }
.topCopy img { width:80%; }
.topSdgsBanner .topSdgsBannerWrap a h4 { padding:0; }

.nLinkList { display:block; }
.nLinkList li { width:100%; margin:0 0 2px 0; box-sizing:border-box; }
.nLinkList li a span { font-size:1.4rem; }
.nLinkList li:nth-child(3n) { margin:0 0 2px; }
.doubleWrap dt img { max-width:100%; }
.doubleWrap .w200 { width:100% !important; box-sizing:border-box; text-align:center; }
#tk .w420 { width:auto !important; }
.innerWrap { padding:10px; }
.flowList li { padding:10px; }
.flowList li div { width:auto; }
.flowList h4:after { top:-40px; }
.dWrap { display:block; }
.dWrap div p { padding:0; }
.dWrap div { width:100%; margin:0 0 20px; }
.dWrap div h5 { font-size:1.5rem; }
.mb40 { margin:0 0 20px !important; }