@charset "UTF-8";
body { color: #161616; font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; font-size: 100%; line-height: 1.6; margin: 0; padding: 0; overflow-wrap: break-word; }

a { color: #0163cc; text-decoration: none; }

address { font-style: normal; padding: 5px 15px; background: #F6F6F6; }

dl.terms dt { font-size: 1.15em; font-weight: bold; }
dl.terms dd { color: #666; margin: 0 0 1.0em; padding: 0 0 1.0em; border-bottom: 1px dotted #CCC; }

h1, h2, h3, h4, h5, h6 { line-height: 1.2; margin: 0; padding: 0; }

img { border: none; max-width: 100%; }

ul.horizontal { margin: 0; padding: 0; list-style: none; }

ul.horizontal:after { content: " "; display: table; clear: both; }

ul.horizontal > li { text-align: center; margin: 0 15px 15px 0; float: left; }

.alignleft { text-align: left; }

.aligncenter { text-align: center; }

.alignright { text-align: right; }

.clearfix:before, .clearfix:after, .cf:before, .cf:after { content: " "; display: table; }

.clearfix:after, .cf:after { clear: both; }

.clearfix, .cf { *zoom: 1; }

.floatleft { float: left; }

.floatright { float: right; }

.hidden { display: none; }

img.floatleft { margin-right: 20px; }

img.floatright { margin-left: 20px; }

.imgfloatright { float: right; padding: 0; margin: 0 0 1.5em 1.5em; }

.colorRed { color: #C00; }

.search-result { margin-bottom: 25px; padding: 10px; background: #F6F6F6; }

.paging { margin: 0 0 25px; padding: 5px 10px; background: #F6F6F6; }
.paging span { margin: 0 10px; display: inline-block; }
.paging span.disabled { display: none; }
.paging span.current { color: #CCC; padding: 5px 10px; }
.paging span a { padding: 5px 10px; display: block; }
.paging span a:hover { opacity: 0.5; }

.small { font-size: 85.7%; }

/* staging-header */
#staging-header { color: #FFF; font-size: 0.8em; text-align: center; width: 100%; padding: 5px; background: rgba(0, 0, 0, 0.2); border-bottom: 1px solid #C00; border-top: 1px solid #C00; position: fixed; bottom: 0; z-index: 3; transition: 0.1s; }
#staging-header a { color: #FFF; }

#staging-header:hover { background: rgba(0, 0, 0, 0.8); }

#staging-header #contents { width: auto; margin: auto; }

.inner { max-width: 1200px; margin: auto; padding: 0 18px; }

.layout-single-column h1, .layout-single-column .page-title, .layout-two-columns h1, .layout-two-columns .page-title { font-weight: normal; font-size: 2.25em; padding: 0 18px 1.69rem; }
.layout-single-column h2, .layout-two-columns h2 { border-bottom: 2px solid #004ea2; font-size: 1.75em; font-weight: normal; line-height: 1.1; padding-bottom: 1rem; margin: 0 0 1em; }
.layout-single-column h3, .layout-two-columns h3 { color: #004ea2; font-size: 1.375em; line-height: 1.2; margin: 0 0 1.0em; }
.layout-single-column table, .layout-two-columns table { width: 100%; border-collapse: collapse; }
.layout-single-column table th, .layout-single-column table td, .layout-two-columns table th, .layout-two-columns table td { padding: 10px; border: 1px solid #EEE; }
.layout-single-column table th, .layout-two-columns table th { background: #F6F6F6; padding: 5px 10px; }
.layout-single-column table.flat th, .layout-single-column table.flat td, .layout-two-columns table.flat th, .layout-two-columns table.flat td { vertical-align: top; padding: 0; background: none; border: none; }
@media screen and (max-width: 680px) { .layout-single-column h1, .layout-single-column .page-title, .layout-two-columns h1, .layout-two-columns .page-title { font-size: 1.5em; margin: 0 0; }
  .layout-single-column h2, .layout-two-columns h2 { font-size: 1.375em; margin-bottom: 1rem; border-bottom-width: 1px; } }

.layout-single-column { padding-bottom: 8em; }

.layout-single-column h4, .column-right h4 { color: #161616; font-size: 1.125em; line-height: 1.2; margin: 0 0 1.0em; }
.layout-single-column h5, .column-right h5 { font-size: 1.0em; line-height: 1.2; margin: 0 0 1.0em; }

#copyright { font-size: 0.8em; text-align: center; margin: 0; padding: 0; }

.table-clm { overflow: auto; }

/* 小バナー
---------- */
.related_banner { display: flex; flex-wrap: wrap; }
.related_banner > p { width: 20.4%; margin-right: 6.13%; }
.related_banner > p:nth-of-type(4n) { margin-right: 0; }
.related_banner img { display: block; }
.related_banner a .copy { background: linear-gradient(#e8e8e8, #fff 24px); color: #161616; display: block; margin-top: 2px; padding: 24px 0 0 0; }
.related_banner a .title { color: #004ea2; font-weight: normal; line-height: 1.3; padding: 0 0.25em 1.25em; display: flex; justify-content: center; align-items: center; text-align: center; }
.related_banner a:hover .copy { color: #004ea2; }
.related_banner a:hover img { opacity: 0.7; }
@media screen and (max-width: 960px) { .related_banner > p { width: 23%; margin-right: 2.66%; } }
@media screen and (max-width: 640px) { .related_banner > p { width: 100%; margin: 0 0 1em; }
  .related_banner > p > a { display: flex; flex-wrap: wrap; }
  .related_banner a .thumbnail { width: 150px; }
  .related_banner a .copy { background: none; box-sizing: border-box; font-size: 0.875em; margin: 0; padding: 0 0 0 1em; text-align: left; width: calc(100% - 150px); }
  .related_banner a .title { display: block; justify-content: left; padding: 0 0 0.75em; font-weight: bold; text-align: left; } }
@media screen and (max-width: 400px) { .related_banner a a .thumbnail { width: 40%; }
  .related_banner a a .copy { width: 60%; } }

/* パンくず
---------- */
.breadcrumb { margin: 0 auto 1.69rem; padding: 1.25em 0; font-size: 0.75em; line-height: 1.5; color: #1a1a1a; background: #e9e9e9; border-top: 2px solid #004ea2; }
.breadcrumb > ul { margin: 0 auto; padding: 0 0 0 18px; list-style: none; max-width: 1200px; display: flex; flex-wrap: wrap; }
.breadcrumb > ul > li:after { content: '>'; margin: 0 5px; }
.breadcrumb > ul > li:last-child:after { content: ''; }
.breadcrumb a { color: #333333; text-decoration: underline; }
.breadcrumb a:hover { color: #CE6CAB; }
@media screen and (max-width: 680px) { .breadcrumb { padding: 0.5em 0; } }

/* ローカルナビ
---------- */
.column-left { background: linear-gradient(#f7f7f7, #fefefe 280px); padding: 80px 0; }
.column-left h3 { font-size: 2.25em; font-weight: normal; color: #161616; display: flex; align-items: center; width: 100%; }
.column-left h3 small { color: #3671af; font-size: 0.472em; padding-left: 1.5em; }
.column-left nav { margin-bottom: 3em; }
.column-left nav > ul > li { border-bottom: 1px solid #d1d1d1; display: flex; flex-wrap: wrap; justify-content: flex-end; margin-bottom: 1.5rem; padding-bottom: 1rem; }
.column-left nav ul { margin: 0; padding: 0; }
.column-left nav li { list-style: none; margin: 0; padding: 0; }
.column-left nav h4 { font-size: 1.5em; font-weight: normal; margin-bottom: 0; width: 20%; padding-bottom: 0.25rem; }
.column-left nav > ul > li > ul { padding-bottom: 0.5rem; }
.column-left nav > ul > li > ul { width: 80%; }
.column-left nav > ul > li > ul li { display: inline-block; margin: 0 1.5em 0.5em 0; }
.column-left nav a { color: #161616; }
.column-left nav ul ul a { display: inline-block; font-size: 0.9375em; line-height: 1.4; padding: 0.25em 0.75em; vertical-align: top; }
.column-left nav a:hover, .column-left nav .current a { background: #c9d8e8; }
.column-left nav ul .current a { font-weight: bold; }
@media screen and (max-width: 680px) { .column-left { margin-top: 30px; padding-top: 30px; }
  .column-left h3 { font-size: 1.5em; }
  .column-left nav h4 { border-bottom: none; font-size: 1.125em; font-weight: bold; margin-bottom: 0.5em; width: 100%; }
  .column-left nav > ul > li > ul { margin-bottom: 0; }
  .column-left nav > ul > li > ul, .column-left nav > ul .st { width: 100%; }
  .column-left nav > ul > li > ul li { margin: 0 1em 0.5em 0; }
  .column-left nav ul ul a { padding: 0.25em 0.5em; }
  .column-left nav a:hover, .column-left nav ul .current a { background-color: #cee0f2; font-weight: normal; } }
@media screen and (max-width: 400px) { .column-left nav h4 { font-size: 1em; }
  .column-left nav > ul .st { font-size: 0.95em; }
  .column-left nav > ul > li > ul { display: flex; flex-wrap: wrap; }
  .column-left nav > ul > li > ul li { width: 49%; margin: 0 2% 0.25em 0; }
  .column-left nav > ul > li > ul li:nth-of-type(2n) { margin-right: 0; }
  .column-left nav ul ul a { padding: 0.25em 0.25em; } }

/* ページ内ナビ
---------- */
nav.sub { width: 100%; margin: 0 0 10px; border-radius: 5px; }
nav.sub > ul { width: 100%; margin: 0; padding: 0; display: table; border-radius: 5px; box-shadow: 0 2px 2px -2px #000; }
nav.sub > ul > li { font-size: 1.1em; line-height: 1.0em; text-align: center; vertical-align: middle; border-right: 1px solid #FFF; border-right-color: #CCC; border-left: none; display: table-cell; }
nav.sub > ul > li > a { color: #111; line-height: 1.2em; text-decoration: none; vertical-align: middle; padding: 0 10px; display: block; background: #EEE; background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #eee), color-stop(0, #fff)); background: -webkit-linear-gradient(#fff, #eee); background: -moz-linear-gradient(#fff, #eee); background: -o-linear-gradient(#fff, #eee); background: -ms-linear-gradient(#fff, #eee); background: linear-gradient(#fff, #eee); -pie-background: linear-gradient(#FFF, #EEE); behavior: url("/js/PIE.htc"); position: relative; min-width: 2em; }
nav.sub > ul > li > a:hover { color: #999; }
nav.sub > ul > li > a:active { background: #EEE; background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #FFF), color-stop(0, #EEE)); background: -webkit-linear-gradient(#EEE, #FFF); background: -moz-linear-gradient(#EEE, #FFF); background: -o-linear-gradient(#EEE, #FFF); background: -ms-linear-gradient(#EEE, #FFF); background: linear-gradient(#EEE, #FFF); -pie-background: linear-gradient(#EEE, #FFF); behavior: url("/js/PIE.htc"); }

.textbutton a { background: #f6f8fc; background: linear-gradient(#ffffff, #ebf0f8); box-shadow: 1px 1px 1px #d3d8df; border: 1px solid #cccccc; border-radius: 3px; color: #595959; display: inline-block; font-weight: bold; padding: 0.5em 1.5em 0.5em 2em; text-align: left; vertical-align: middle; }
.textbutton a:hover { background: #f6f8fc; background: linear-gradient(#eaeff8, #fff); color: #0f3caa; }
.textbutton a > span { background: url(/img/common/arw_textbutton.gif) no-repeat 0em 0.3em; display: inline-block; height: 0; margin-left: -1em; padding-top: 1em; overflow: hidden; }

.arwUp { width: 0; height: 0; border: 0.4em solid transparent; border-bottom-color: #0f3caa; display: inline-block; line-height: 1em; position: relative; top: 0.4em; }

.dot-list, .num-list { margin: 0; padding: 0; }
.dot-list li, .num-list li { list-style: disc; margin: 0 0 0.25em 1.8em; padding: 0; }

.num-list li { list-style: decimal; }

.bnr-three-list { margin: 1em 0 3em; }
.bnr-three-list h2 { border-bottom: none; color: #0f3caa; font-size: 1.75em; font-weight: normal; margin-bottom: 0.5em; padding-bottom: 0; }
.bnr-three-list ul { width: 103%; margin: 0; padding: 0; }
.bnr-three-list li { display: inline-block; list-style: none; width: 33.1%; }
.bnr-three-list li a { display: block; width: 95%; }
.bnr-three-list li a img { max-width: 100%; }

/* カタログ表示
---------- */
.brochures-container > ul { margin: 0; padding: 0; list-style: none; }
.brochures-container > ul > li > a { text-align: left; padding: 10px; display: block; }
.brochures-container > ul > li > a:hover { background: #EEE; }
.brochures-container > ul > li > a > img { max-width: 180px; max-height: 100px; margin-right: 15px; border: 1px solid #CCC; float: left; }
.brochures-container > ul > li > a:after { content: " "; display: table; clear: both; }

/* ニュースカテゴリー
---------- */
.newstopics .category span { color: #fff; display: block; text-align: center; width: 90px; font-size: 13px; line-height: 1.2rem; vertical-align: middle; }
.newstopics .category .product { background: #147b92; }
.newstopics .category .exhibition { background: #4a8900; }
.newstopics .category .news { background: #0e41ac; }
.newstopics .category .ir { background: #8957B7; }
.newstopics .category .corporate { background: #aaa10f; }

/* テキストボタン
---------- */
.button { background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; transition-duration: 0.1s; }

.button:before { vertical-align: middle; }

.button:hover { opacity: 0.7; }

.button-blue { background: #0452a5; color: #fff; }

.button-lightblue { background-color: #3671af; color: #fff; }

.button-white { background: #fff; border: 1px solid #cedceb; color: #3671af; }

.button-white:hover { background: #3671af; color: #fff; opacity: 1; }

/* 問い合わせボタン
---------- */
#Contact .button { box-sizing: border-box; border: 8px solid #ffc750; background: #fff3ca; color: #161616; max-width: 588px; margin: auto; display: flex; align-items: center; position: relative; }
#Contact .button:before { color: #ffae00; font-size: 2.5em; height: 1em; width: 7rem; text-align: right; }
#Contact .button .copy { padding: 0.5em 4rem 0.5em 0; line-height: 1.2; width: 100%; }
#Contact .button strong { font-size: 1.75em; font-weight: bold; display: block; }
#Contact .button small { display: inline-block; text-align: center; }
@media screen and (max-width: 680px) { #Contact .button { border: 5px solid #ffc750; padding: 0.25em; display: block; }
  #Contact .button:before { font-size: 1.5rem; width: auto; height: auto; position: absolute; }
  #Contact .button .copy { padding: 0; }
  #Contact .button strong { display: inline; font-size: 1.25em; padding-left: 1.75rem; }
  #Contact .button small { display: block; } }

/* 2列・3列・5列の調整
-----------------------*/
.list-two-clm, .list-three-clm, .list-four-clm, .list-five-clm, .list-one-two-clm, .list-two-one-clm { display: flex; flex-wrap: wrap; }
.list-two-clm > li, .list-three-clm > li, .list-four-clm > li, .list-five-clm > li, .list-one-two-clm > li, .list-two-one-clm > li { list-style: none; }

.list-two-clm > li, .list-two-clm > .clm { box-sizing: border-box; margin: 0 5% 1.5em 0; width: 47.5%; }

.list-three-clm > li, .list-three-clm > div, .list-three-clm .clm, .list-one-two-clm > li, .list-one-two-clm > div, .list-one-two-clm .clm, .list-two-one-clm > li, .list-two-one-clm > div, .list-two-one-clm .clm { width: 30%; margin: 0 5% 3em 0; }

.list-two-clm > li:nth-of-type(2n), .list-two-clm > .clm:nth-of-type(2n), .list-three-clm > li:nth-of-type(3n), .list-three-clm .clm:nth-of-type(3n), .list-four-clm > li:nth-of-type(4n), .list-four-clm > div:nth-of-type(4n), .list-five-clm > li:nth-of-type(5n), .list-five-clm > div:nth-of-type(5n), .list-one-two-clm > div:nth-of-type(2n), .list-one-two-clm > li:nth-of-type(2n), .list-two-one-clm > div:nth-of-type(2n), .list-two-one-clm > li:nth-of-type(2n) { margin-right: 0; }

.list-four-clm > li, .list-four-clm > div { width: 23.875%; margin-right: 1.5%; }

.list-five-clm > li, .list-five-clm > div { box-sizing: border-box; margin-right: 0.8%; text-align: center; width: 19.36%; }

.list-one-two-clm > div:nth-of-type(2n), .list-one-two-clm > li:nth-of-type(2n), .list-two-one-clm > div:nth-of-type(2n-1), .list-two-one-clm > li:nth-of-type(2n-1) { width: 65%; }

@media screen and (max-width: 680px) { .list-three-clm { justify-content: space-between; }
  .list-three-clm > li, .list-three-clm .clm { width: 48%; margin: 0 4% 3em 0; }
  .list-two-clm > li:nth-of-type(2n), .list-two-clm > .clm:nth-of-type(2n), .list-three-clm > li:nth-of-type(3n), .list-three-clm > div:nth-of-type(3n), .list-four-clm > li:nth-of-type(4n), .list-four-clm > div:nth-of-type(4n), .list-five-clm > li:nth-of-type(5n), .list-five-clm > div:nth-of-type(5n), .list-five-clm > li:nth-of-type(3n), .list-five-clm > div:nth-of-type(3n) { margin-right: auto; }
  .list-three-clm > li:nth-of-type(2n), .list-three-clm .clm :nth-of-type(2n) { margin-right: 0; }
  .list-five-clm > li, .list-five-clm > div { width: 30%; margin: 0 5% 1em 0; } }
@media screen and (max-width: 400px) { .list-two-clm > li, .list-two-clm > .clm, .list-one-two-clm > div:nth-of-type(2n), .list-one-two-clm > li:nth-of-type(2n), .list-two-one-clm > div:nth-of-type(2n-1), .list-two-one-clm > li:nth-of-type(2n-1), .list-one-two-clm > div, .list-one-two-clm > li, .list-two-one-clm > div, .list-two-one-clm > li { width: 100%; margin-right: 0; } }
/* Youtube
-----------------------*/
.photo-center { text-align: center; }

/* Youtube
-----------------------*/
.youtube-clm { position: relative; width: 100%; padding-top: 56.25%; }
.youtube-clm iframe { position: absolute; top: 0; right: 0; width: 100%; height: 100%; }

/* PCとモバイルで表示切替機能追加
-----------------------*/
@media screen and (max-width: 680px) { .forDesktop { display: none; } }

.forMobile { display: none; }
@media screen and (max-width: 680px) { .forMobile { display: block; } }

/* 記事など文字が多いページの設定
-----------------------*/
.article-page { line-height: 1.8; }
.article-page h1 { margin-bottom: 1.5rem; }
.article-page p { margin: 0 0 1.5em; }
.article-page h1.inner, .article-page .column-right.inner, .article-page .column-right .inner, .article-page > .inner { max-width: 1000px; }
.article-page .column-right > section { padding-bottom: 3em; }
.article-page section .clm { padding-bottom: 2em; }
.article-page .product-category-list .copy { line-height: 1.5; }
@media screen and (max-width: 680px) { .article-page { line-height: 1.6; }
  .article-page h1 { margin-bottom: 0; } }

/* 製品一覧
-----------------------*/
.product-category-list { margin: 0 0 4em; padding: 0; display: flex; flex-wrap: wrap; }
.product-category-list:last-child { margin: 0 0 0; }
.product-category-list li { display: flex; list-style: none; margin: 0 0.93% 20px 0; width: 24.3%; }
.product-category-list li:nth-of-type(4n) { margin-right: 0; }
.product-category-list a { display: flex; flex-wrap: wrap; border: 1px solid #ddd; background-color: #fff; }
.product-category-list .thumbnail { border-bottom: 1px solid #ddd; background: no-repeat center center; background-size: contain; position: relative; width: 100%; height: 122px; text-align: center; }
.product-category-list .thumbnail img { box-sizing: border-box; display: inline-block; padding: 3px 0 3px; max-height: 100%; max-width: 100%; }
.product-category-list .thumbnail .new { position: absolute; top: 0; left: 0; width: 85px; height: 85px; overflow: hidden; }
.product-category-list .thumbnail .new-inner { background: #fd6c00; color: #fff; display: inline-block; font-size: 13px; font-weight: bold; line-height: 16px; letter-spacing: 0.05em; width: 91px; text-align: center; left: -24px; top: 5px; position: absolute; padding: 2px 0; -webkit-transform: rotate(-33deg); -ms-transform: rotate(-33deg); transform: rotate(-33deg); }
.product-category-list .copy { background: #f8f8f8; padding: 1.25em 4px 1.25em; position: relative; width: 100%; }
.product-category-list .copy h4 { color: #004ea2; font-weight: normal; font-size: 1.25em; line-height: 1.3; margin: 0 0 1rem; padding: 0 1rem 0; }
.product-category-list .copy h4 .name { display: inline-block; font-size: 0.9em; width: 100%; }
.product-category-list .copy h4 .model { border: 1px solid #004ea2; display: inline-block; font-size: 0.55em; float: left; padding: 2px; line-height: 1; margin: 0.45em 0.75em 0 0; line-height: 1; }
.product-category-list .copy p { font-size: 0.9375em; color: #222222; padding: 0 1rem 0; margin: 0; }
.product-category-list a:hover .copy { background: #dee8f2; }
@media screen and (max-width: 960px) { .product-category-list li { width: 32%; margin-right: 2%; }
  .product-category-list li:nth-of-type(4n) { margin-right: auto; }
  .product-category-list li:nth-of-type(3n) { margin-right: 0; } }
@media screen and (max-width: 700px) { .product-category-list li { width: 49%; margin-right: 2%; }
  .product-category-list li:nth-of-type(3n) { margin-right: auto; }
  .product-category-list li:nth-of-type(2n) { margin-right: 0; }
  .product-category-list .copy h4 { font-size: 1em; font-weight: bold; margin-bottom: 0.5em; } }
@media screen and (max-width: 640px) { .product-category-list { margin: 0 0 1em; padding: 0; display: flex; flex-wrap: wrap; }
  .product-category-list li { width: 100%; }
  .product-category-list li, .product-category-list li:nth-of-type(2n) { margin-right: 0; }
  .product-category-list a { width: 100%; }
  .product-category-list .thumbnail { box-sizing: border-box; width: 39%; border: none; }
  .product-category-list .copy { border-left: 1px solid #dfdfdf; box-sizing: border-box; width: 61%; padding: 0.5em 0.75em; }
  .product-category-list .copy h4 { margin-bottom: 0.5em; padding: 0; }
  .product-category-list .copy p { padding: 0; } }
