@charset "UTF-8";
/* html5doctor.com Reset Stylesheet v1.6.1*/
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, summary, time, mark, audio, video{margin: 0; padding: 0; border: 0; font-size: 100%; vertical-align: baseline; background: rgba(0, 0, 0, 0); box-sizing: border-box}
html{font-size: 62.5%; scroll-behavior: smooth; scrollbar-gutter: stable;}
body {line-height: 1; min-height: 100vh; text-rendering: optimizeSpeed;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block}
nav ul{list-style: none}
blockquote, q{quotes: none}
blockquote:before, blockquote:after, q:before, q:after{content: "";content: none}
a{margin: 0;padding: 0;font-size: 100%;vertical-align: baseline;background: rgba(0, 0, 0, 0)}
ins{background-color: #ff9;color: #000;text-decoration: none}
mark{background-color: #ff9;color: #000;font-style: italic;font-weight: bold}
del {text-decoration: line-through}
abbr[title], dfn[title] {border-bottom: 1px dotted;cursor: help}
table{border-collapse: collapse;border-spacing: 0}
hr{display: block;height: 1px;border: 0;border-top: 1px solid #ccc;margin: 1em 0;padding: 0}
input, select{vertical-align: middle}

html{font-family: "Noto Sans JP", "Roboto"}
html[lang=en]{font-family: "Roboto", sans-serif}
body{line-height: 1.5; -webkit-font-smoothing: antialiased}
body, body * {box-sizing: border-box}
ul, ol{list-style: none}
ul li, ol li{padding: 0;margin: 0}
img{width: 100%;}

section[id] {scroll-margin-top: 70px;}

/* //-- anime analog cubic-bezier(0.77, 0.1, 0.175, 0.9) */
main .--fadein-up,main .--fadein-up-s,main .--fadein-up-m,main .--fadein-up-l{opacity: 0;}
main .anime .--fadein-up{animation: fadein-up 1s ease-in-out 0s 1 normal forwards;}
main .anime .--fadein-up-s{animation: fadein-up-s 1s ease-in-out 0s 1 normal forwards;}
main .anime .--fadein-up-m{animation: fadein-up-m 1s ease-in-out 0s 1 normal forwards;}
main .anime .--fadein-up-l{animation: fadein-up-l 1s ease-in-out 0s 1 normal forwards;}
/* anime analog --// */

.sentenceFragment{white-space: nowrap;display: inline-block}
[data-page-type=plain] .pageContent{background: center bottom no-repeat;background-color: #fff;background-image: url(/asset_prh/img/common/bg_screen_bottom.webp);background-size: 100% auto}
.pageOuter{padding-top: 70px;/*padding-top: 95px*/}
[data-page-type=cateTop] .pageOuter{padding-top: 70px;/*padding-top: 95px*/}
.row{display: flex}
.columnBundler{display: flex;align-items: flex-start;padding-top: 44px}
.lockScroll{position: fixed;left: 0;top: 0;width: 100%;height: 100vh;box-sizing: border-box;}
.altText{position: absolute;left: -9999px}
.onlyMobile{display: none}
.logoSite{position: relative;display: flex;align-items: flex-start;padding: 25px 0 0 0;/*padding: 17px 0 0 0 13px 0 3px padding: 39px 0 18px*/}
.logoSiteContent{display: block;overflow: hidden}
.logoSiteContentImage{display: block;width: 100%;aspect-ratio: 140/38;fill: #333}
.gnav{display: flex;/*column-gap: 40px*/}
.gnav_sp{display: none;}
.gnavElement{position: relative;padding-top: 22px/*padding-top: 50px*/}
.gnavElement::before{position: absolute;top: 0;left: 0;width: 100%;height: 0px;/*height: 3px;*/background-color: rgba(0, 0, 0, 0);display: block}
.gnavElement[data-nav-cat=contact] .gnavElementContent{background-color: #333;color: #fff;border-radius: 500px}
.gnavElement[data-nav-cat=contact] .gnavElementContent:hover{opacity: 1;background-color: #e60012}
.gnavElementContent{font-size: 16px;padding: 6px 17px;/*padding: 6px 20px;*/}
.gnavElement a.gnavElementContent:hover{opacity: .5}
.toggleNavCtrl{display: none;cursor: pointer;align-items: center;justify-content: center;appearance: none;border: none;background: rgba(0, 0, 0, 0);width: 40px;height: 40px;position: fixed;z-index: 2;top: 15px; right: 15px;/*right: 32px;top: 24px*/}
.toggleNavCtrlBody{display: flex;justify-content: flex-start;flex-direction: column;row-gap: 4px}
.toggleNavCtrlBody .burgerline{display: block;border-radius: 200px;height: 2px;width: 32px;transition: all .3s cubic-bezier(0.25, 1, 0.5, 1);animation: burgerline .3s}
.toggleNavCtrlBody .burgerline:nth-of-type(1), .toggleNavCtrlBody .burgerline:nth-of-type(3){background-color: #333}
.toggleNavCtrlBody .burgerline:nth-of-type(2){width: 24px;background-color: #fff; /*background-color: #e60012;*/}
/*.toggleNavCtrlBody .burgerline:nth-of-type(3){width: 16px}*/
@keyframes bugerline {20%{transform: scale(0)}75%{transform: scale(0)}100%{transform: scale(1)}}

.headerSitebase{overflow: hidden; min-height: 70px;}
.headerSitebaseBackground{background: #fff;z-index: 0;}
[data-page-cat=home] [data-nav-cat=home]::before, [data-page-cat=company] [data-nav-cat=company]::before, [data-page-cat=message] [data-nav-cat=message]::before, [data-page-cat=news] [data-nav-cat=news]::before {content: "";background-color: #e60012}
.headerSitebase.transparent{background-color: rgba(0, 0, 0, 0)}
.headerSitebase.transparent .headerSitebaseContent{color: #fff}
.headerSitebase.transparent .headerSitebaseContent a{color: #fff}
.headerSitebase.transparent .logoSite .logoSiteContentImage{fill: #fff}
.headerSitebase.transparent .toggleNavCtrlBody .burgerline:nth-of-type(1), .headerSitebase.transparent .toggleNavCtrlBody .burgerline:nth-of-type(3){background-color: #fff}
.headerSitebase{width: 100%;display: flex;align-items: flex-start;justify-content: center;background: #fff;position: fixed;top: 0;left: 0;z-index: 2}
.headerSitebase, .headerSitebase .logoSiteContentImage, .headerSitebase .gnav, .headerSitebase .burgerline{transition: all .5s cubic-bezier(0.25, 1, 0.5, 1)}
.headerSitebaseBackground{position: absolute;left: 0;top: 0;width: 100vw;height: 100vh;/*width: 100%;height: 100%;*/opacity: 0;transition: opacity .5s cubic-bezier(0.25, 1, 0.5, 1)}
.headerSitebaseContent{box-sizing: border-box;width: 100vw;/*width: 100%;*/max-width: 1200px;/*max-width: 1440px;*/padding: 0 40px;color: #333;display: flex}
.headerSitebaseContent a{color: #333;text-decoration: none}
.headerSitebaseContent .logoSite{position: relative;width: 240px;/*width: 140px*/}
.headerSitebaseContent .logoSiteContentImage{display: block;width: 100%}
.headerSitebaseContent .gnav{margin-left: auto}
.headerSitebase.anime .headerSitebaseContent{animation: fadein-up .5s ease 0s 1 normal forwards;}

@keyframes fadein-up{0% {opacity: 0; transform: translateY(45px);}100% {opacity: 1; transform: translateY(0);}}
@keyframes fadein-up-s{0% {opacity: 0; transform: translateY(20px);}100% {opacity: 1; transform: translateY(0);}}

.footerSitebase{width: 100%;background: #333}
.footerSitebaseContent{box-sizing: border-box;width: 100%;max-width: 1200px;/*max-width: 1440px;*/margin: auto;padding: 47px 40px;/*padding: 37.5px 40px; padding: 60px;*/display: flex;justify-content: space-between;align-items: center;/*flex-direction: column;justify-content: flex-start;*/}
.footerSitebaseContent .logoSite{padding: 5px 0 0 0;/*padding: 0*/}
.footerSitebaseContent .logoSiteContentImage{width: 140px;fill: #fff}
.footerSitebaseContentCopyright{margin-top: 29px; font-size: 11px;/*font-size: 10px;font-size: 13px;*/font-weight: 400;color: #fff;line-height: 1;text-align: center;}
.footerSitebaseContentCopyright a{margin-right: 30px;/*margin-right: 50px;*/ color: #fff;}

.footerMes{position: relative; font-family: "Zalando Sans Expanded", sans-serif; font-weight: 600; font-style: normal; font-size:32px; margin-bottom: 0; padding: 0; background: #fff;}
.footerMes img{width: 100%; height: auto;}
.footerMes .title{position: absolute; left:0; width: 100%; text-align: center; display: block; z-index: +1; color:#fff;}
.footerMes .title{top: calc(50% - 24px);}
.footerMes .title span{opacity: 0;}
/*.footerMes.anime .title span{animation: fadein-up .5s ease-in-out 1.9s 1 normal forwards; display: block;}*/
.footerMes.anime .title span{animation: fadein-up 1.3s ease-in-out 2s 1 normal forwards; display: block;}
.footerMes .pic img{clip-path: inset(0 100% 0 0); aspect-ratio: 1280/270;}
/*.footerMes.anime .pic img{animation: fadein-slide .6s ease-in-out 1.1s 1 normal forwards; display: block;}*/
/*.footerMes.anime .pic img{animation: fadein-slide 1.4s ease-in-out 1s 1 normal forwards; display: block;}*/
.footerMes.anime .pic img{animation: fadein-slide 1.4s cubic-bezier(0.77, 0.1, 0.175, 0.9) 1s 1 normal forwards; display: block;}

.contentPath{width: 100%;max-width: 1200px; margin: 140px auto 40px auto; padding: 0 40px;}
.contentPath ul{display: flex; flex-wrap: wrap; list-style: none; padding-left: 0!important; line-height: 1; overflow: hidden;}
.contentPath ul li{position: relative; margin-right: 2em; list-style-type: none!important;font-size:12px!important;}
.contentPath ul li:not(:last-of-type):after{content: "›"; font-size:24px; width: 12px; height: 12px; display: block; position: absolute; right:-.85em; top : -.61em;}
.contentPath ul li a{text-decoration: none; color:#333;}

/* lang //-- */
.headerSitebase{z-index: 10;}
.headerSitebase ul.gnav li a{-webkit-transition: all 0.3s;transition: all 0.3s;}
.headerSitebase ul.gnav li.lang{-webkit-box-align: center;-ms-flex-align: center;align-items: center; margin-left: 23px; font-size:16px;}
.headerSitebase ul.gnav li.lang a{padding-left: 0;padding-right: 0;}
.headerSitebase ul.gnav li.lang a.lang-sw{opacity: 0.6;}
.headerSitebase ul.gnav li.lang a.lang-sw:hover{opacity: 0.3;}
.headerSitebase ul.gnav li.lang span.disable{/*text-decoration: line-through; opacity: 0.6;*/ font-weight: 700;}
.headerSitebase ul.gnav_sp li.lang span.disable{/*text-decoration: line-through; opacity: 0.6;*/ font-weight: 700;}
.headerSitebase.transparent ul.gnav li.lang a{-webkit-transition: all 0.3s;transition: all 0.3s;padding-left: 0;padding-right: 0;}
.headerSitebase.transparent ul.gnav li.lang span.disable{text-decoration: line-through;opacity: 0.6;}

[data-page-cat=contact] [data-nav-cat=contact-form]::before{content: "";background-color: #333;}
[data-page-cat=home] [data-nav-cat=home]::before, [data-page-cat=company] [data-nav-cat=company]::before, [data-page-cat=message] [data-nav-cat=message]::before, [data-page-cat=news] [data-nav-cat=news]::before, [data-page-cat=product] [data-nav-cat=product]::before{content: "";background-color: #333;}
/* --// lang */

/* --// module */
main{color: #333;}
main .--pc{display: none;}
main .--bg-gry{background: #fafafa;}
main .--bg-gry_g{background: linear-gradient(to right, #fafafa, #fff, #fafafa);}
main section{display: block; padding: 60px 0; margin: 0;}
main section .inner-l{max-width: 1200px; padding: 0 40px; margin: 0 auto;}
main section .inner,
main nav ul.inner{max-width: 960px; padding: 0 10px; margin: 0 auto;}

main article{padding-bottom: 20px;}
main article h2{padding-top: 40px;}
main article p,
main article ul,
main article ol{margin-bottom: 20px;}
main article figure{margin: 40px 0 20px 0;}

main h1{font-weight: 500; font-size: 36px; line-height: 1.5; text-align: center; position: relative; margin-bottom: 90px;/*margin-bottom: 100px;*/}
main h1 span{/*opacity: 0;*/ display: block;}
/*main .anime h1 span{animation: fadein-up .5s ease 0s 1 normal forwards;}*/
main h1::before{position: absolute; left: calc(50% - 138px); bottom: -35px; /*bottom: -40px;*/ content:''; width: 276px; height: 10px; display: block; clip-path: inset(0 100% 0 0); z-index: +1;}
/*main .anime h1::before{background: url(/assets/img/common/h_line.webp) 0 50%/100% 3px no-repeat; animation: fadein-slide .4s ease-in-out 0s 1 normal forwards;}*/
/*main .anime h1::before{background: url(/assets/img/common/h_line.webp) 0 50%/100% 3px no-repeat; animation: fadein-slide 1s ease-in-out 0s 1 normal forwards;}*/
main .anime h1::before{background: url(/assets/img/common/h_line.webp) 0 50%/100% 3px no-repeat; animation: fadein-slide 1s cubic-bezier(0.77, 0.1, 0.175, 0.9) 0s 1 normal forwards;}

main h2{font-weight: 400; font-size: 16px; text-align: center; position: relative; margin-bottom: 40px;}
main h2.-top{margin-top: 60px;}
main h2.--news{margin: 60px 0; text-align: left;}
main h2.--news:before{left: 0; top: calc(100% + 10px); width: 100%; height: 10px;}
main h2.--h2{margin-bottom: 55px;}
main h2 span{opacity: 0; display: block; margin-bottom: 30px;}
main h2.-main span{margin-bottom: 40px;}
main h2 em{opacity: 0; display: block; font-style: normal;}
main h2.--news strong{opacity: 0; display: block;}
main h2.--news strong span{font-family: "Noto Sans JP"}
main h2 + p{/*opacity: 0;*/ text-align: center;}
main .--left{text-align: left;}
main .--center{text-align: center;}
main .--right{text-align: right;}
main ol{padding-left: 2em;}
main ol li{font-size: 16px; line-height: 2; list-style-type: decimal;}
main ul{padding-left: 2em;}
main ul li{font-size: 16px; line-height: 2; list-style-type: disc;}
main h3{font-weight: 700; font-size: 20px; margin-bottom: 20px;}
main h4{font-weight: 700; font-size: 18px; margin-bottom: 10px;}

/*main .anime h2 span,
main .anime h2 strong{animation: fadein-up .6s ease 0s 1 normal forwards;}
*/
main .anime h2 span,
main .anime h2 strong{animation: fadein-up .6s ease 1.2s 1 normal forwards;}
/*main .anime h2 strong span{animation: none; opacity: 1;}*/
/*main .anime h2 em{animation: fadein-up-s .6s ease .5s 1 normal forwards;}*/
main .anime h2 em{animation: fadein-up-s .6s ease 2.2s 1 normal forwards;}
main h2::before{position: absolute; left: calc(50% - 138px); top: calc(50% - 0px); content:''; width: 276px; height: 10px; display: block; clip-path: inset(0 100% 0 0); z-index: +1;}
main h2.-main:before{top: initial; bottom: -15px;}
main h2.--h2::before{left: calc(50% - 206px); top: calc(100% + 10px);width: 412px; height: 10px;}
/*main .anime h2::before{background: url(/assets/img/common/h_line.webp) 0 50%/100% 3px no-repeat; animation: fadein-slide .4s ease-in-out 0s 1 normal forwards;}*/
/*main .anime h2::before{background: url(/assets/img/common/h_line.webp) 0 50%/100% 3px no-repeat; animation: fadein-slide 1.2s ease-in-out 0.3s 1 normal forwards;}*/
main .anime h2::before{background: url(/assets/img/common/h_line.webp) 0 50%/100% 3px no-repeat; animation: fadein-slide 1.2s cubic-bezier(0.77, 0.1, 0.175, 0.9) 0.3s 1 normal forwards;}

main h2 span{font-family: "Zalando Sans Expanded"; font-weight: 600; font-size: 30px;}
main h2.--news strong{font-weight: 600; font-size: 24px; line-height: 1.5; margin-bottom: 5px;}
main h2.--news strong span{font-size:18px; margin: 0;}
main p{font-weight: 400; font-size: 18px; line-height: 2; width: 100%; height: auto; display: block; letter-spacing: 0.06em;}
main .--note{font-size: 14px;}
main a{color: #ff0000;}

/* slide-up //-- */
main .--slide-up{position: relative; opacity: 0; overflow: hidden;}
main .--slide-up.is-setup{opacity: 1;}
main .--slide-up__base{opacity: 0; display: none;}
main .--slide-up__line{display: block; overflow: hidden; position: relative;}
main .--slide-up__text{display: block; transform: translateY(100%); opacity: 0;}
main .--slide-up.-left{text-align: left;}
main .--slide-up.-right{text-align: right;}
main .--slide-up.-credit{text-align: right; padding-top:40px; font-size: 16px; line-height: 1.4;}
main .--slide-up.-credit strong{font-size: 30px; font-weight: 400; display: block; padding-top: 5px;}
/* --// slide-up */
main .keyvisual-l{position: relative; font-family: "Zalando Sans Expanded", sans-serif; font-weight: 600; font-style: normal; font-size:32px; margin-bottom: 40px; padding: 0; overflow: hidden;}
main .keyvisual-l img{width: 100%; height: auto;}
main .keyvisual-l .title{position: absolute; left:0; width: 100%; text-align: center; display: block; z-index: +1;}
main .keyvisual-l .title{top: calc(50% - 54px);}
main .keyvisual-l .title span{opacity: 0;}
/*main .keyvisual-l.anime .title span{animation: title-slide .5s ease-in-out 1.1s 1 normal forwards; display: block;}*/
main .keyvisual-l.anime .title span{animation: title-slide 1s ease-in-out 1.7s 1 normal forwards; display: block;}
main .keyvisual-l::before{position: absolute; left:0; top: calc(50% - 0px); content:''; width: 100%; height: 10px; display: block; clip-path: inset(0 100% 0 0); z-index: +1;}
/*main .keyvisual-l.anime::before{background: url(/assets/img/common/keyvisual-l_line_pc.webp) 0 50%/100% 3px no-repeat; animation: fadein-slide .4s ease-in-out .3s 1 normal forwards;}*/
/*main .keyvisual-l.anime::before{background: url(/assets/img/common/keyvisual-l_line_pc.webp) 0 50%/100% 3px no-repeat; animation: fadein-slide 1s ease-in-out .7s 1 normal forwards;}*/
main .keyvisual-l.anime::before{background: url(/assets/img/common/keyvisual-l_line_pc.webp) 0 50%/100% 3px no-repeat; animation: fadein-slide 1s cubic-bezier(0.77, 0.1, 0.175, 0.9) .7s 1 normal forwards;}
main .keyvisual-l .pic img{clip-path: inset(0 100% 0 0); aspect-ratio: 1280/600; position: relative; left:-4%; width: 104%;}
/* main .keyvisual-l.anime .pic img{animation: fadein-slide .6s ease-in-out 1.9s 1 normal forwards; display: block;} */
/*main .keyvisual-l.anime .pic img{animation: fadein-slide 1s ease-in-out 2.5s 1 normal forwards,slide-right 4s ease-in-out 1s 1 normal forwards; display: block;}*/
main .keyvisual-l.anime .pic img{animation: fadein-slide 1.8s cubic-bezier(0.77, 0.1, 0.175, 0.9) 2.5s 1 normal forwards,slide-right 4s ease-in-out 1s 1 normal forwards; display: block;}
/*@keyframes slide-right{0% {left:-4%;}100% {left:-2%;}}*/
@keyframes slide-right{0% {transform: translateX(0%);}100%{transform: translateX(2%);}}

main .keyvisual{position: relative; font-family: "Zalando Sans Expanded", sans-serif; font-weight: 600; font-style: normal; margin-bottom: 40px; padding: 0!important; max-height: 310px; overflow: hidden;}
main .keyvisual img{width: 100%; height: auto;}
main .keyvisual h1{position: absolute!important; top:0%; left:0; margin: 0; padding: 0; z-index: +1; text-align: left; width: 100%; height: 100%; display: block;}
main .keyvisual h1 span{padding: 0 40px; color: #333;/*color: #fff;*/ width: 100%; height: 100%; max-width: 1200px; margin: 0 auto; display: flex; flex-flow: wrap; justify-content: center; flex-direction: column;}
main .keyvisual h1:before{display:none;}
main .keyvisual h1 strong{font-size:42px; font-weight: 500; line-height: 1.2; opacity: 0; display: block;}
main .keyvisual h1 em{font-size:18px!important; font-family: "Zalando Sans Expanded"; font-weight: 600; font-style: normal; opacity: 0; display: block;}
/*main .keyvisual.anime h1 strong{animation: fadein-up .6s ease .8s 1 normal forwards;}
main .keyvisual.anime h1 em{animation: fadein-up-s .6s ease 1.1s 1 normal forwards;}*/
main .keyvisual.anime h1 strong{animation: fadein-up 1.4s ease 1.1s 1 normal forwards;}
main .keyvisual.anime h1 em{animation: fadein-up-s 1.4s ease 1.3s 1 normal forwards;}
main .keyvisual .pic{width: 100%;}
main .keyvisual .pic img{clip-path: inset(0 100% 0 0); aspect-ratio: 1280/310;}
/*main .keyvisual.anime .pic img{animation: fadein-slide .6s ease-in-out .3s 1 normal forwards; display: block;}*/
/*main .keyvisual.anime .pic img{animation: fadein-slide 1.4s ease-in-out .6s 1 normal forwards; display: block;}*/
main .keyvisual.anime .pic img{animation: fadein-slide 1.8s cubic-bezier(0.77, 0.1, 0.175, 0.9) 0s 1 normal forwards; display: block;}

main .logo-column{list-style: none; padding: 0; margin: 60px 0 0 0; display: flex; gap: 16px;}
main .logo-column li{flex: 1; padding: 0 0 20px 0; outline: 1px solid #757575; outline-offset: -1px; /*border: 1px solid #757575;*/ min-height: 200px; display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 200px; text-align: center; position: relative; overflow: hidden;}
main .logo-column li img{width: 100%;}
main .logo-column li .title{font-size: 14px; display: block; position: absolute; bottom:20px; text-align: center; color:#333; width: 100%;}
main .logo-column li::before{content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #fcfcfc; z-index: +2;}
/*main .anime .logo-column li::before{transform: translateY(0); animation-play-state: running; animation: slideDownShutter 1.3s ease / *cubic-bezier(0.25, 0.46, 0.45, 0.94) paused * / forwards normal;}*/
main .anime .logo-column li::before{transform: translateY(0); animation-play-state: running; animation: slideDownShutter 1.3s cubic-bezier(0.77, 0.1, 0.175, 0.9) forwards normal;}

main .anime .logo-column li:nth-child(1)::before{animation-delay: 2.0s;}
main .anime .logo-column li:nth-child(2)::before{animation-delay: 2.5s;}
main .anime .logo-column li:nth-child(3)::before{animation-delay: 3.0s;}
/*main .anime .logo-column li:nth-child(1)::before{animation-delay: 1s;}
main .anime .logo-column li:nth-child(2)::before{animation-delay: 1.3s;}
main .anime .logo-column li:nth-child(3)::before{animation-delay: 1.6s;}*/


main .--list-column{padding-left: 0!important;}
main .--list-column{margin-bottom: 0;}
main .--list-column li{/*border-bottom: 1px #b2b2b2 solid;*/ position: relative; list-style-type: none!important;}
main .--list-column li:last-child(1){border:none;}
main .--list-column a,
main .--list-column .list{display: flex; align-items: flex-start; justify-content: flex-start; padding: 20px 0; text-decoration: none; font-size: 16px; color:#333; opacity: 0;}
main .--list-column .date{display: block; width: 8em; margin-right: 1em;}
main .--list-column .name{display: block; width: 9em; margin-right: 1em;}
:lang(en) main .--list-column .date{display: block; width: 14em; margin-right: 1em;}
:lang(en) main .--list-column .name{display: block; width: 15em; margin-right: 1em;}
main .--list-column .title{display: block; width: calc(100% - 9em);}
main .--list-column .lead{display: block; width: calc(100% - 10em);}
main .--list-column li::before{content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: #b2b2b2; z-index: +2; opacity: 0;}
main .--list-column-btn{display: flex; margin-top: 40px; justify-content: flex-end; font-size:14px; opacity: 0;}
main .--list-column-btn a{color:#fff; background: #333; padding: 12px 32px; text-decoration: none; line-height: 1;}

main .anime .--list-column a,
main .anime .--list-column .list{animation: fadein-up 1.3s ease forwards normal;}
main .anime .--list-column-btn{animation: fadein-up-s 1.3s ease /*1.9s*/ forwards normal;}
/*main .anime .--list-column li::before{animation: fadein-slide 1.3s ease forwards normal;}*/
main .anime .--list-column li::before{animation: fadein-slide 1.3s cubic-bezier(0.77, 0.1, 0.175, 0.9) forwards normal;}

/*main .anime .--list-column li:nth-child(1) a,
main .anime .--list-column li:nth-child(1)::before{animation-delay: 1s;}
main .anime .--list-column li:nth-child(2) a,
main .anime .--list-column li:nth-child(2)::before{animation-delay: 1.3s;}
main .anime .--list-column li:nth-child(3) a,
main .anime .--list-column li:nth-child(3)::before{animation-delay: 1.6s;}*/
main .anime .--list-column li a,
main .anime .--list-column li .list,
main .anime .--list-column li::before{animation-delay: var(--list-column-delay);}
main .anime .--list-column-btn{animation-delay: var(--list-column-delay);}

main .--list-txt{position: relative; overflow: hidden;}
main .--list-txt::before{content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #fcfcfc; z-index: +2;}
main .anime .--list-txt::before{transform: translateY(0); animation-play-state: running; animation: slideDownShutter 1.6s ease forwards normal;}
main .anime .--list-txt::before{animation-delay: 1s;}

main .--contact{padding-left: 0!important;}
main .--contact li{border: 1px #cbcbcb solid; list-style-type: none!important; display: flex; align-items: center; justify-content: flex-start; padding: 30px 40px; text-decoration: none; font-size: 16px; color:#333;}
main .--contact .title{display: block; width: 16em; margin-right: 1em; font-size:18px; font-weight: bold; text-align: left;}
main .--contact .txt{display: block; width: calc(100% - 17em); text-align: right;}

main .--table{overflow: auto; margin-bottom: 20px;}
main .--table table{border-collapse: collapse; width: 100%; white-space: nowrap; min-width: 768px;}
main .--table table thead th{font-size: 16px; border: 1px solid #ababab; padding: 0.5em 1em; font-weight: 600; background-color: #dbdadd; text-align: left;}
main .--table table tbody tr:nth-child(even){background-color: #fafafa;}
main .--table table tbody td{font-size: 15px; border: 1px solid #ababab; padding: 0.5em 1em;}

main .--2to1{display: grid; grid-template-columns: repeat(2, 1fr); padding: 20px 0;}
main .--2to1 li{list-style: none;}
main .--2to1 li img{opacity: 0;}
/*main .anime .--2to1 li img{animation: fadein-slide 1.5s ease-in-out 1 normal forwards; display: block;}*/
main .anime .--2to1 li img{animation: fadein-slide 1.5s cubic-bezier(0.77, 0.1, 0.175, 0.9) 1 normal forwards; display: block;}
main .anime .--2to1 li:nth-child(1) img{animation-delay: .5s;}
main .anime .--2to1 li:nth-child(2) img{animation-delay: 1s;}
main .anime .--2to1 li:nth-child(3) img{animation-delay: 1.5s;}
main .anime .--2to1 li h4:before{animation: fadein-up 1s cubic-bezier(0.77, 0.1, 0.175, 0.9) 1s 1 normal forwards;}

main .--slide img,main .--slide li{opacity: 0;}
/*main .anime .--slide img{animation: fadein-slide 1.5s ease-in-out 1 normal forwards; display: block; animation-delay: 1s;}*/
main .anime .--slide img,main .anime .--slide li{animation: fadein-slide 1.5s cubic-bezier(0.77, 0.1, 0.175, 0.9) 1 normal forwards; display: block; animation-delay: 1s;}

main .--4to2{display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 0 0 20px 0;}
main .--4to2 li.-dobule{grid-column: span 2;}
main .--4to2 li{list-style: none; line-height: 1.2;}
main .--4to2 li img{/*opacity: 0;*/ padding-bottom: 10px;}

main .--6to3{display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; padding: 0;}
main .--6to3 li{list-style: none;}

main .nav-column-top ul{list-style: none; padding: 0; margin: 60px 0; display: flex; gap: 16px;}
main .nav-column-top ul li{flex: 1; padding: 0; position: relative; display: block;}
main .nav-column-top ul li img{width: 100%; height: auto; aspect-ratio: 570/200;}
main .nav-column-top ul li a{display: block; width: 100%; height:100%; position: relative;}
main .nav-column-top ul li .pic img{clip-path: inset(0 100% 0 0);}
main .nav-column-top ul li .title{font-family: "Roboto", sans-serif; font-weight: 400; font-size: 16px; display: block; position: absolute; left:30px; top : 20px; opacity: 0;}
main .nav-column-top ul li .title span{font-family: "Zalando Sans Expanded", sans-serif; font-weight: 600; font-style: normal; font-size: clamp(16px, 1.8vw + 0.5rem, 30px); /*font-size: 30px;*/ line-height: 1.2; display: block;}
/*main .nav-column-top.anime ul li .pic img{animation: fadein-slide 1s ease-in-out 1 normal forwards; display: block;}*/
main .nav-column-top.anime ul li .pic img{animation: fadein-slide 1s cubic-bezier(0.77, 0.1, 0.175, 0.9) 1 normal forwards; display: block;}

main .nav-column-top.anime ul li .title{animation: fadein-up .8s ease forwards normal;}
main .nav-column-top.anime ul li:nth-child(1) .pic img{animation-delay: .7s;}
main .nav-column-top.anime ul li:nth-child(2) .pic img{animation-delay: 1.2s;}
main .nav-column-top.anime ul li:nth-child(1) .title{animation-delay: 1.5s;}
main .nav-column-top.anime ul li:nth-child(2) .title{animation-delay: 2.0s;}
/*main .nav-column-top.anime ul li:nth-child(1) .pic img{animation-delay: 1s;}
main .nav-column-top.anime ul li:nth-child(2) .pic img{animation-delay: 1.3s;}
main .nav-column-top.anime ul li:nth-child(1) .title{animation-delay: 1.6s;}
main .nav-column-top.anime ul li:nth-child(2) .title{animation-delay: 1.9s;}*/
main .nav-column-top ul li a{color: #333;}
/*main .nav-column-top ul li a:focus img{border: 2px solid #000!important;}*/

@keyframes fadein-slide{0% {clip-path: inset(0 100% 0 0); opacity: 0;}100% {clip-path: inset(0 0 0 0); opacity: 1;}}


@keyframes title-slide{from {opacity: 0; transform: translate3d(-15%, 0, 0);}to {opacity: 1; transform: translate3d(0, 0, 0);}}
@keyframes slideDownShutter {0% {transform: translateY(0);} 100% {transform: translateY(100%);}}

main .pageNav{padding: 0;}
main .pageNav ul{display: flex; row-gap: 30px; max-width: 1008px;}
main .pageNav ul li{margin-left: 24px; list-style: none; margin: 0; padding: 0;}
main .pageNav ul li span{position: relative; padding: 10px 24px 10px 24px; user-select: none;}
main .pageNav ul li span{cursor: pointer;}
main .pageNav ul li span.current{cursor: initial;}
main .pageNav ul li span.current::after{position: absolute; content: ""; left: 50%; transform: translateX(-50%); bottom: 0; width: calc(100% - 48px); height: 3px; background-color: #e60012}
main .pageNav ul li:first-child span::before{content: none}
main .pageNav ul li:first-child span.current {background: none}
main .newsListBody.active{display: block;}
main .newsListBody{display: none;padding-bottom: 0;}

main .open-button{color:#333333; border: 1px #757575 solid; text-align: left; background: #fff; display: block; padding: 1em; width: 100%; cursor: pointer; font-weight: 500;}
main .open-button{font-size:18px;}
main .open-button span{font-size:14px; display: block; font-weight: 400;}
main .popup-container{display: none!important; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;/*width: 100%; height: 100%;*/ background-color: rgba(0, 0, 0, 0.5); z-index: 9999; justify-content: center; align-items: center;}
main .popup-container:not([hidden]){display: flex!important;}
main .popup-content{position: relative; background: #fff; width: 90%; max-width: 980px; display: flex; flex-direction: column;}
main .popup-content .popup-inner{overflow-y: auto;}
main .close-button{position: absolute; cursor: pointer; display: block;}

/* module //-- */

/* --// home */
main .home-water{margin: calc(-40px - 3em) 0 calc(-40px - 17em) 0; padding: 0; position: relative; z-index: -1;}
main .home-water img{width: 100%; opacity: 0;}
main .home-water span{display: block; position: absolute; left:0; top:0; display: block; width: 100%; height: 100%; z-index: +1;}
main .anime img.--bg0{animation: fadein-up-l 1.2s ease 1s 1 normal forwards;}
main .anime .--bg1 img{animation: fadein-up-m 2s ease-out 1.2s 1 normal forwards;}
main .anime .--bg2 img{animation: fadein-up 2.5s ease-out 1.5s 1 normal forwards;}
main .anime .--bg3 img{animation: fadein-up-s 2.5s ease-out 2s 1 normal forwards;}
/* main .anime .--bg1 img{animation: fadein-up-m 3s ease-out 1.5s 1 normal forwards;}
main .anime .--bg2 img{animation: fadein-up 3s ease-out 2.5s 1 normal forwards;}
main .anime .--bg3 img{animation: fadein-up-s 3s ease-out 4s 1 normal forwards;} */
/*main .anime img.--bg0{animation: fadein-up-l .6s ease 0.6s 1 normal forwards;}
main .anime .--bg1 img{animation: fadein-up-m 2s ease-out 0.6s 1 normal forwards;}
main .anime .--bg2 img{animation: fadein-up 2s ease-out 1.2s 1 normal forwards;}
main .anime .--bg3 img{animation: fadein-up-s 2s ease-out 1.5s 1 normal forwards;}*/
@keyframes fadein-up-l{0% {opacity: 0; transform: translateY(150px);}100% {opacity: 1; transform: translateY(0);}}
@keyframes fadein-up-m{0% {opacity: 0; transform: translateY(75px);}100% {opacity: 1; transform: translateY(0);}}
/* home //-- */

/* --// company */
[data-page-cat=company] main section{padding: 120px 0;}
[data-page-cat=company] main section.--link{padding: 80px 0; margin: -40px 0 40px 0;}
[data-page-cat=company] main nav.company_link ul{display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; margin-bottom: 40px;}
[data-page-cat=company] main nav.company_link ul li{list-style: none; text-align: center; padding: 1em;}
[data-page-cat=company] main nav.company_link ul li a{display: block; color: #333; text-decoration: none; transition: all 0.3s;}
[data-page-cat=company] main nav.company_link ul li a span{padding-right: 2em; background: url(../img/company/icon_arrow.svg) 100% 50%/14px auto no-repeat;}
[data-page-cat=company] main nav.company_link ul li a:hover{opacity: .7;}
[data-page-cat=company] main #mvv article + article{padding-top: 20px;}
[data-page-cat=company] main #mvv h3{position: relative; margin-top:.4em;}
[data-page-cat=company] main #mvv h3 span{font-family: "Zalando Sans Expanded", sans-serif; font-weight: 600; font-style: normal; font-size:46px; opacity: .1; position: absolute; top: -.57em; left: .43em; display: block; z-index: -1;}
[data-page-cat=company] main #mvv ul{padding-top: 0; margin-bottom: 0; padding-bottom: 0;}
[data-page-cat=company] main #mvv ul h4{line-height: 1.5; padding: 20px 0 20px 100px;}
[data-page-cat=company] main #mvv ul li h4:before{content: ''; position: absolute; top:0; left:0; width: 80px; height: 94px; display: block; opacity: 0;}
[data-page-cat=company] main #mvv ul li:nth-child(1) h4:before{background: url(../img/company/company_icon1.webp) 0 50%/80px auto no-repeat;}
[data-page-cat=company] main #mvv ul li:nth-child(2) h4:before{background: url(../img/company/company_icon2.webp) 0 50%/80px auto no-repeat;}
[data-page-cat=company] main #mvv ul li:nth-child(3) h4:before{background: url(../img/company/company_icon3.webp) 0 50%/80px auto no-repeat;}
[data-page-cat=company] main #mvv ul li:nth-child(4) h4:before{background: url(../img/company/company_icon4.webp) 0 50%/80px auto no-repeat;}
[data-page-cat=company] main #mvv ul li:nth-child(n + 3){margin-top: 20px;}
[data-page-cat=company] main #mvv ul li ul li{list-style: disc; margin-top: 0!important;}
[data-page-cat=company] main #mvv ul li:nth-child(1) h4:before,
[data-page-cat=company] main #mvv ul li:nth-child(2) h4:before,
[data-page-cat=company] main #mvv ul li:nth-child(3) h4:before,
[data-page-cat=company] main #mvv ul li:nth-child(4) h4:before{animation-delay: 3.5s;}
[data-page-cat=company] main #mvv.anime ul li:nth-child(1) .--list-txt::before,
[data-page-cat=company] main #mvv.anime ul li:nth-child(2) .--list-txt::before,
[data-page-cat=company] main #mvv.anime ul li:nth-child(3) .--list-txt::before,
[data-page-cat=company] main #mvv.anime ul li:nth-child(4) .--list-txt::before{animation-delay: 4s;}
[data-page-cat=company] main #directors ul{gap : 20px;}
[data-page-cat=company] main #directors .director-lists{display: flex; gap: 20px;}
[data-page-cat=company] main #directors .director-list{display: flex; gap: 20px;flex-direction: column;;padding-left: 0;width: 100%;}
[data-page-cat=company] main #directors ul li:last-child{grid-column-start: 2;}
[data-page-cat=company] main #financial ul{gap : 40px; margin-bottom: 0; padding-bottom: 0;}
[data-page-cat=company] main #financial h4{margin-bottom: 40px; font-weight: 400;}
[data-page-cat=company] main #financial article + article h3{ padding-top: 40px;}
[data-page-cat=company] main #financial.anime article .--2to1 li:nth-child(1) img{animation-delay: 1.5s;}
[data-page-cat=company] main #financial.anime article .--2to1 li:nth-child(2) img{animation-delay: 2s;}
[data-page-cat=company] main #financial.anime article + article .--2to1 li:nth-child(1) img{animation-delay: 3s;}
[data-page-cat=company] main #financial.anime article + article .--2to1 li:nth-child(2) img{animation-delay: 3.5s;}
[data-page-cat=company] main #financial.anime article + article .--2to1 li:nth-child(3) img{animation-delay: 4s;}

[data-page-cat=company] main #global .-map{border: none; padding: 0; width: 35%; margin: 0 auto;}
[data-page-cat=company] main #global .--scrool{padding: 0; margin: 0;}
[data-page-cat=company] main #global .--scrool p{overflow-x: scroll; width: 200%;}
[data-page-cat=company] #popup-10 img{aspect-ratio: 700/353;}
[data-page-cat=company] main #atAGlance .--2to1 li:nth-child(1) img{aspect-ratio: 470/302;}
[data-page-cat=company] main #atAGlance .--2to1 li:nth-child(2) img{aspect-ratio: 470/302;}
[data-page-cat=company] main #atAGlance picture img{aspect-ratio: 940/332;}
[data-page-cat=company] main #atAGlance ul li:nth-child(1) h3{animation-delay: 1s;}
[data-page-cat=company] main #atAGlance ul li:nth-child(1) p{animation-delay: 1.5s;}
[data-page-cat=company] main #atAGlance ul li:nth-child(2) h3{animation-delay: 1s;}
[data-page-cat=company] main #atAGlance ul li:nth-child(2) p{animation-delay: 1.5s;}
[data-page-cat=company] main #atAGlance.anime .--2to1 li:nth-child(1) img{animation-delay: 1.5s;}
[data-page-cat=company] main #atAGlance.anime .--2to1 li:nth-child(2) img{animation-delay: 2s;}
[data-page-cat=company] main #atAGlance ul + h3.--fadein-up{animation-delay: 3s;}
[data-page-cat=company] main #atAGlance ul + h3 + p.--slide img{animation-delay: 3.5s;}

[data-page-cat=company] main #financial article .--2to1 li:nth-child(1) img{aspect-ratio: 450/424;}
[data-page-cat=company] main #financial article .--2to1 li:nth-child(2) img{aspect-ratio: 450/424;}
[data-page-cat=company] main #financial article + article .--2to1 li:nth-child(1) img{aspect-ratio: 450/397;}
[data-page-cat=company] main #financial article + article .--2to1 li:nth-child(2) img{aspect-ratio: 450/397;}
[data-page-cat=company] main #financial article + article .--2to1 li:nth-child(3) img{aspect-ratio: 450/369;}

/* company --// */

/* --// product  */
[data-page-cat=product] main h3{padding: 40px 0 20px 0; border-bottom: 1px #b2b2b2 solid; margin-bottom: 40px;}
[data-page-cat=product] main h3.--fadein-up{animation-delay: .5s;}
[data-page-cat=product] main h4.--fadein-up{animation-delay: 1s;}
/* product --// */

/* --// message  */
@media screen and (min-width:1680px){
[data-page-cat=message] main .keyvisual .pic img{max-width: 1200px; margin: 0 auto;}
}

/* message --// */

/* --// news  */
[data-page-cat=news] main p.--fadein-up{animation-delay: 1s;}
main .--newsP{text-align: left; margin-bottom: 20px;}
/* news --// */

@media screen and (min-width: 768px) {
	.--sp{display: none}

	main .close-button{top: 40px; right: 40px; width:32px; height:32px; background: url(../img/company/ico_close.webp) 50% 50%/32px 32px no-repeat;}
	main .popup-content{height: auto;/*height: 90%;*/ max-height: 750px; /*border-radius: 20px;*/}
	main .popup-content .popup-inner{padding: 1rem 7%; margin-bottom: 20px;}
	main .popup-content h3{font-size:24px; font-weight: normal; line-height: 1.5; padding: 5rem 7% 0rem 7%;}
	main .popup-content h3 span{font-size:16px; display: block;}
}

@media screen and (max-width: 900px) {

	.pageOuter{padding-top: 70px/*padding-top: 87px*/}
    .columnBundler{padding-top: 18px;flex-direction: column}
    .onlyMobile{display: block}
    .onlyDesktop{display: none}
    .gnav{width: 100%;max-width: unset;flex-direction: column}
    .toggleNavCtrl{display: flex;}
    [data-page-cat=home] [data-nav-cat=home]::before, [data-page-cat=company] [data-nav-cat=company]::before, [data-page-cat=message] [data-nav-cat=message]::before, [data-page-cat=news] [data-nav-cat=news]::before {background: rgba(0, 0, 0, 0)}

    /*.headerSitebase{overflow: hidden}*/
	.headerSitebase ul.gnav li.lang a.lang-sw:hover{opacity: 0.6;}
	.headerSitebase .headerSitebaseContent .gnav{display: none; opacity: 0;	background-color: rgba(0, 0, 0, 0); transition: all .5s cubic-bezier(0.22, 1, 0.36, 1); overflow: auto;}
	.headerSitebase .headerSitebaseContent .gnav::-webkit-scrollbar{display: none;}
	.headerSitebase .headerSitebaseContent .gnavElement{width: 100%;display: flex;justify-content: center}
	.headerSitebase .headerSitebaseContent .gnavElement ::before{content: none}
	.headerSitebase.menuOpen{background-color: #fff;width: 100vw;/*width: 100%;*/overflow-y: hidden;display: flex}
	.headerSitebase.menuOpen.menuActive .headerSitebaseContent .gnav{overflow-y: auto;-ms-overflow-style: none;opacity: 1;height: calc(100vh - 127px);/*height: calc(100vh - 70px - 127px);height: calc(100vh - 87px - 127px);*/margin-top: 127px;padding-bottom: 72px;}
	/*.headerSitebase.menuOpen .toggleNavCtrl{right:30px!important;}*/
    .headerSitebase.menuOpen.menuActive .headerSitebaseBackground{opacity: 1;}
    .headerSitebase.menuOpen .headerSitebaseContent{flex-direction: column;color: #333}
	.headerSitebase.menuOpen .headerSitebaseContent a{color: #333}
	.headerSitebase.menuOpen .headerSitebaseContent .logoSite .logoSiteContentImage{fill: #333}
	.headerSitebase.menuOpen .headerSitebaseContent .gnav{display: flex;align-items: center;justify-content: flex-start;overflow: hidden;opacity: 0;height: 0}
	.headerSitebase.menuOpen .headerSitebaseContent .gnavElement{padding: 14px 20px 14px 0}
	.headerSitebase.menuOpen .headerSitebaseContent .gnavElementContent{font-size: 18px}
	.headerSitebase.menuOpen .headerSitebaseContent .gnavElement[data-nav-cat=contact] .gnavElementContent{color: #fff}
	.headerSitebase.menuOpen .headerSitebaseContent .toggleNavCtrl .burgerline:nth-of-type(1), .headerSitebase.menuOpen .headerSitebaseContent .toggleNavCtrl .burgerline:nth-of-type(3){background-color: #333}
	.headerSitebase.menuOpen .headerSitebaseContent .toggleNavCtrl .burgerline:nth-of-type(1){width: 26px;transform: translate(1px, 8px) rotate(45deg)}
	.headerSitebase.menuOpen .headerSitebaseContent .toggleNavCtrl .burgerline:nth-of-type(2){background-color: rgba(0, 0, 0, 0)}
	.headerSitebase.menuOpen .headerSitebaseContent .toggleNavCtrl .burgerline:nth-of-type(3){width: 26px;transform: translate(5px, 5px) rotate(-45deg);transform-origin: bottom left}
	.headerSitebase.menuOpen .headerSitebaseContent .logoSite .logoSiteContent .logoSiteImage{fill: #333}
	.headerSitebaseContent{padding: 8px 0 0 20px;/*padding: 24px 24px 25px*/ position: relative;}
	.headerSitebaseContent{max-width: unset;min-width: 320px}
    .headerSitebaseContent .logoSite{width: 180px;/*width: 125px;width: 117px;*/padding: 0}
    .headerSitebaseContent .logoSite img{width: 100%; padding-top: 21px;/*padding-top: 11px;padding-top: 6.5px;*/}

    .gnav_sp,.gnav_sp .gnavElement.lang{display: block; width: 100px!important; padding: 0!important; margin: 0!important; position: absolute; top: 11.5px; right:20px;}
    .gnav_sp,.gnav_sp .gnavElementContent{padding: 0; font-size: 16px!important;}
    .gnav .gnavElement.lang{display: none;}

	.footerSitebaseContent .logoSite img{width: 180px;}

}

@media screen and (max-width: 768px) {

	.footerSitebaseContent{padding: 24px 20px;/*padding: 64px 24px 60px;*/flex-direction: column;justify-content: flex-start;}
	.footerSitebaseContentCopyright{margin-top: 9px;font-size: 10px;/*line-height: 1.5;margin-top: 26px;font-size: 11px*/ scale: 0.8;}
	.footerSitebaseContentCopyright a{display: block; margin: 0 0 25px 0; scale: 1.25;}

	.footerMes{font-size:20px;}
	.footerMes .pic img{aspect-ratio: 390/154;}

	.contentPath{margin: 70px auto 20px auto; padding: 0 20px;}
	.contentPath ul li{font-size:10px!important;}
	.contentPath ul li:not(:last-of-type):after{font-size:20px; width: 10px; height: 10px; display: block; position: absolute; right:-.85em; top : -.6em;}

    /* lang //-- */
    .headerSitebase ul.gnav li.lang span.disable{font-size: 18px;}
    [data-page-cat=contact] [data-nav-cat=contact-form]::before{background-color: transparent;}
    [data-page-cat=home] [data-nav-cat=home]::before, [data-page-cat=company] [data-nav-cat=company]::before, [data-page-cat=message] [data-nav-cat=message]::before, [data-page-cat=news] [data-nav-cat=news]::before, [data-page-cat=product] [data-nav-cat=product]::before{background-color: transparent;}
    /* --// lang */

	/* --// module */
	main section{display: block; padding: 40px 0;}
	main article{margin-bottom: 20px;}
	main .newsListBody{margin-bottom: 0px;}
	main section .inner-l,
	main section .inner,
	main nav ul.inner{padding: 0 20px;}
	main article{padding-bottom: 1px;}
	/*main article h2{padding-top: 40px;}
	main article p,
	main article ul,
	main article ol{margin-bottom: 20px;}*/

	main h1{font-size: 24px;}
	main h2{font-size: 16px;}
	main h2.-top{margin-top: 40px;}
	main h2.--news{margin: 40px 0 60px 0;}
	main h2.--news strong{font-size:22px;}
	main h2.--news strong span{font-size:16px;}
	main h2.--news em{font-size:14px;}
	main h2.--h2:before{left: calc(50% - 138px); width: 276px;}
	main h2 span{font-size: 30px;}
	main h2.--h2 span{font-size: 24px;}
	main p{font-size: 16px;}
	main .--note{font-size: 12px;}
	/* slide-up //-- */
	main .--slide-up.-credit{font-size: 12px;}
	main .--slide-up.-credit strong{font-size: 18px;}
	/* --// slide-up */
	main .keyvisual-l{font-size:20px; margin-bottom: 20px;}
	main .keyvisual-l .title{top: calc(50% - 44px);}
	main .keyvisual-l .title.--p1m2l{top: calc(50% - 74px);}
	main .keyvisual-l.anime .title span{animation: title-slide .4s ease 1.1s 1 normal forwards;}
	/*main .keyvisual-l.anime::before{background: url(/assets/img/common/keyvisual-l_line_sp.webp) 0 50%/100% 3px no-repeat; animation: fadein-slide .2s ease-in-out .3s 1 normal forwards;}*/
	main .keyvisual-l.anime::before{background: url(/assets/img/common/keyvisual-l_line_sp.webp) 0 50%/100% 3px no-repeat; animation: fadein-slide .5s cubic-bezier(0.77, 0.1, 0.175, 0.9) .3s 1 normal forwards;}

	main .keyvisual-l .pic img{aspect-ratio: 784/1044; width: 104%; left:-4%;}
	/*main .keyvisual-l.anime .pic img{animation: fadein-slide 1.4s ease-in-out 2s 1 normal forwards,slide-right 3.5s ease-in-out 3s normal forwards;}*/
	main .keyvisual-l.anime .pic img{animation: fadein-slide 1.8s cubic-bezier(0.77, 0.1, 0.175, 0.9) 1.5s 1 normal forwards,slide-right 3.5s ease-in-out 3s normal forwards;}

	main .keyvisual{margin-bottom: 20px; height: 206px; padding: 0!important;}
	main .keyvisual h1 span{padding: 0 20px;}
	main .keyvisual h1 strong{font-size:24px;}
	main .keyvisual h1 em{font-size:14px!important;}
	main .keyvisual .pic img{aspect-ratio: 390/206;}

	main .logo-column{flex-direction: column; margin: 40px 0 0 0; gap: 15px;}
	main .logo-column li{min-height: 160px;}
	main .logo-column li .title{bottom:15px;}
	main .logo-column li:nth-last-child(1){padding-bottom: 0;}

	main .--list-column a,
	main .--list-column .list{flex-direction: column; font-size: 14px;}
	main .--list-column .date,
	main .--list-column .name{width: 100%; margin: 0 0 .25em 0;}
	main .--list-column .title,
	main .--list-column .lead{width: 100%;}

	main .--contact{padding-left: 0!important;}
	main .--contact li{flex-direction: column; padding: 20px 20px; text-decoration: none; font-size: 16px; color:#333;}
	main .--contact .title{width: 100%; margin: 0 0 .25em 0; text-align: center;}
	main .--contact .txt{width: 100%; text-align: left;}

	main .--2to1{grid-template-columns: repeat(1, 1fr); gap: 16px;}

	main .--4to2{display: grid; grid-template-columns: repeat(2, 1fr);}

	main .--6to3{display: grid; grid-template-columns: repeat(3, 1fr);}

	main .nav-column-top ul{flex-direction: column; margin: 40px 0; gap: 20px;}
	main .nav-column-top ul li{min-height: 35vw;}
	main .nav-column-top ul li .title{font-size: 10px; left:20px; top : 15px;}
	main .nav-column-top ul li .title span{font-size: clamp(18px, 3.053vw + 6.55px, 30px); /*font-size: 18px;*/}
	main .nav-column-top ul li .pic img{aspect-ratio: 350/122;}
	main .nav-column-top ul li a:focus img{border: none;}

	main .pageNav ul{padding: 0;}

	main .close-button{top: 20px; right: 20px; width:32px; height:32px; background: url(../img/company/ico_close.webp) 50% 50%/32px 32px no-repeat;}
	main .close-button.-white{top: -40px; right: 0; width:32px; height:32px; background: url(../img/company/ico_close_w.webp) 50% 50%/32px 32px no-repeat;}
	main .popup-content{height: auto; max-height: 85vh; /*border-radius: 20px;*/}
	main .popup-content .popup-inner{padding: 1rem 5%; margin-bottom: 20px;}
	main .popup-content h3{font-size:22px; font-weight: normal; line-height: 1.5; padding: 4rem 5% 0rem 5%;}
	main .popup-content h3 span{font-size:16px; display: block;}

	/* module //-- */

	/* --// home */
	main .home-water{margin: -20px 0;}
	/* home //-- */

	/* --// company */
	[data-page-cat=company] main section{padding: 64px 0;}
	[data-page-cat=company] main nav.company_link ul{grid-template-columns: repeat(2, 1fr); margin-bottom: 20px; padding: 0 20px;}
	[data-page-cat=company] main nav.company_link ul li{text-align: left; padding: .5em .75em;}
	[data-page-cat=company] main nav.company_link ul li a{transition: all 0s; background: url(../img/company/icon_arrow.svg) 100% 50%/14px auto no-repeat;}
	[data-page-cat=company] main nav.company_link ul li a span{padding-right: 0em; background: none;}
	[data-page-cat=company] main #mvv ul li:nth-child(n + 3){margin-top: 0;}
	[data-page-cat=company] :lang(ja) main #atAGlance h2:before{top:calc(50% - 10px);}
	[data-page-cat=company] main #atAGlance .--2to1 li:nth-child(1) img{aspect-ratio: 335/215;}
	[data-page-cat=company] main #atAGlance .--2to1 li:nth-child(2) img{aspect-ratio: 335/215;}
	[data-page-cat=company] main #atAGlance picture img{aspect-ratio: 700/1698;}
	[data-page-cat=company] main #financial h3 span.--note{display: block;}
	[data-page-cat=company] main #financial article .--2to1 li:nth-child(1) img{aspect-ratio: 335/316;}
	[data-page-cat=company] main #financial article .--2to1 li:nth-child(2) img{aspect-ratio: 335/315;}
	[data-page-cat=company] main #financial article + article .--2to1 li:nth-child(1) img{aspect-ratio: 335/296;}
	[data-page-cat=company] main #financial article + article .--2to1 li:nth-child(2) img{aspect-ratio: 335/296;}
	[data-page-cat=company] main #financial article + article .--2to1 li:nth-child(3) img{aspect-ratio: 335/275;}
	[data-page-cat=company] main #atAGlance,main #mvv,main #directors,main #financial,main #global{padding: 40px 0 20px 0;}
	[data-page-cat=company] :lang(en) main #atAGlance picture img{aspect-ratio: 608/1804;}
	[data-page-cat=company] main #directors ul li:last-child{grid-column-start: auto;}
	/* company --// */

	/* --// product  */
	[data-page-cat=product] main h3{padding: 15px 0 15px 0; border-bottom: 1px #b2b2b2 solid; margin-bottom: 30px;}
	/* product --// */



}

@media screen and (min-width:670px) and (max-width:768px){
[data-page-cat=message] main .keyvisual .pic img{max-width: 540px; margin: 0 auto;}
[data-page-cat=message] main .keyvisual h1 span {max-width: 540px;}
}
/* --// message  */

/* message --// */

@media screen and (max-width: 1280px) {
	.onlyWideDesktop{display: none}
}

/* アニメーションが苦手な人用 */
@media (prefers-reduced-motion: reduce) {
}



/* 2025.12.17 add by osawa */
html[lang="ja"] main .keyvisual-l::before {
  top: calc(50% - 55px);
}
html[lang="ja"] main .keyvisual-l .title {
  top: calc(50% - 110px);
}
html[lang="ja"] main .keyvisual-l .ruby {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
  display: block;
  z-index: +1;
  top: calc(50% - 32px);
  font-size: 16px;
}
html[lang="ja"] main .keyvisual-l.anime .title span,
html[lang="ja"] main .keyvisual-l.anime .ruby span {
  opacity: 0;
  animation: title-slide 1s ease-in-out 1.7s 1 normal forwards;
  display: block;
}

@media screen and (max-width: 768px) {
  html[lang="ja"] main .keyvisual-l::before {
    top: calc(50% - 25px);
  }
  html[lang="ja"] main .keyvisual-l .title.--p1m2l {
    top: calc(50% - 96px);
  }
  html[lang="ja"] main .keyvisual-l .ruby {
    top: calc(50% - 0px);
    font-size: 14px;
  }
  html[lang="ja"] main .keyvisual-l.anime .title span,
  html[lang="ja"] main .keyvisual-l.anime .ruby span {
    animation: title-slide .4s ease 1.1s 1 normal forwards;
  }
}

[data-page-cat=company] main #atAGlance ul + h3 + p.--slide {
  overflow-x: scroll;
}
[data-page-cat=company] main #atAGlance ul + h3 + p.--slide img {
  width: 1048px;
}
[data-page-cat=company] main #atAGlance picture img {
  aspect-ratio: 2871/1030;
}
html[lang="en"] [data-page-cat=company] main #atAGlance ul + h3 + p.--slide img {
  width: 1098px;
}
html[lang="en"] [data-page-cat=company] main #atAGlance picture img {
  aspect-ratio: 2728/1030;
}
@media screen and (max-width: 768px) {
  [data-page-cat=company] main #atAGlance ul + h3 + p.--slide {
    overflow-x: visible;
  }
  [data-page-cat=company] main #atAGlance ul + h3 + p.--slide img,
  html[lang="en"] [data-page-cat=company] main #atAGlance ul + h3 + p.--slide img {
    width: 100%;
  }
  [data-page-cat=company] main #atAGlance picture img {
    aspect-ratio: 1296/3729;
  }
  html[lang="en"] [data-page-cat=company] main #atAGlance picture img {
    aspect-ratio: 1238/3587;
  }
}

@media screen and (max-width: 768px) {
  [data-page-cat=company] main #directors .director-lists{flex-direction: column;}
}