@charset "utf-8";

/* last-update: 20150714 */
/* last-update: 20180214 */
/* last-update: 20210420 */

/* ------------------------------------
	common.css: I N D E X
------------------------------------
- overwrite: _assets

- common css
	- reset (clearfix, base)
	- common:
		contents, headerMenu,
		right-nav (first hierarchy), floatNav

- index css
	- top slide
	- main
	- news
	- serch
	- contact
	- service
	- banner
	- caution

- news css
	- index
	- details: menu, contents, column

- product css
	- index
	- headerMenuWhite
	- sp_title
	- index
	- product: right-nav
	- details: index, intro, merit, catalog

- catalog css
------------------------------------ */
html[lang^="zh"] {
  font-family: "Microsoft YaHei", "微软雅黑", sans-serif;
}
html[lang="de"],html[lang="es"],html[lang="fr"],html[lang="it"],html[lang="pt"],html[lang="ko"] {
  font-family: "Noto Sans",OpenSans,arial,helvetica,sans-serif;
}

html:not([lang=ja]) .u-visibleJA {
  display: none !important;
}

html[lang=ja] .u-visibleJA {
  display: block !important;
}

html:not([lang=ja]) .u-visibleEN {
  display: block !important;
}

html[lang=ja] .u-visibleEN {
  display: none !important;
}


html:not([lang=ja]) .global-Header,
html:not([lang=ja]) .local-PageTitle,
html:not([lang=ja]) .local-FooterSearchMenu,
html:not([lang=ja]) .global-Footer {
  font-family: "Noto Sans", OpenSans, arial, helvetica, sans-serif !important;
}

html:not([lang=ja]) .global-Header_MainMenuLink ul li a {
  font-weight: 400;
}

.local-FooterSearchMenu_Main {
  color: #000;
}

html:not([lang=ja]) .local-FooterSearchMenu_Lead {
  font-weight: 400;
}

.local-PageTitle_Inner {
  position: relative;
}

.tool-langSelector {
  position: absolute;
  top: 2px;
  right: 15px;
}
/* @media screen and (max-width: 767.98px) {
  .tool-langSelector {
    top: 2px;
  }
} */
@media screen and (min-width: 1024px) {
  .tool-langSelector {
    top: 14px;
  }
}

.tool-langSelector_button {
  position: relative;
  width: 118px;
  height: 43px;
  padding: 0 0 0 15px;
  border: 1px solid #f0f0f0;
  background: none;
  font-size: 16px;
  text-align: left;
}
.tool-langSelector_button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 13px;
  display: block;
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: -webkit-transform 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
}
.tool-langSelector_button.is-open::after {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  margin-top: -2px;
}

.tool-langSelector_list {
  display: none;
  position: absolute;
  top: 43px;
  right: 0;
  width: 140px;
  padding-top: 20px;
  z-index: 10;
}
.tool-langSelector_list .wovn-languages {
  padding: 0 10px 10px;
  background: #fff;
  -webkit-box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.08);
  box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.08);
  font-size: 12px;
  font-weight: bold;
}
.tool-langSelector_list .wovn-switch {
  display: block;
  padding: 7px 10px;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer;
}
.tool-langSelector_list .wovn-switch.selected {
  color: #2a96e1;
  border-color: #2a96e1;
}

/* --------- overwrite: _assets --------- */
.st-GlobalInner {
  max-width: 100%;
  padding: 0;
}
.st-GlobalNav_Area .st-GlobalInner {
  position: absolute;
}

/* --------- : common: ヘッダー固定 --------- */
.headerMenuInner {
  position: relative;
  background-color: #fff;
  transition: top .5s;
}
.headerMenuInner::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  display: none;
  width: 100%;
  height: 100vh;
  background-color: rgba(0,0,0,.5);
  z-index: -1;
}
.headerMenuInner.is-Open::after {
  display: block;
}
.headerMenuInner.is-Follow::after {
  top: 55px;
}
.headerMenuInner.is-Show {
  top: 0 !important;
}
.headerMenuInner.is-Follow {
  position: fixed;
  top: -60px;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: #fff;
}

.global-Header_MainContents {
  justify-content: space-between;
}

.st-GlobalFooter {
  font-family: "Noto Sans";
  border-top: 1px solid #e6e6e6;
}

.st-GlobalFooter_Inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 25px 0 0;
}

.st-GlobalFooter_Inner::after {
  content: "";
  clear: both;
  display: block;
}

@media print, screen and (min-width: 768px) {
  .st-GlobalFooter_Inner {
    padding: 20px 15px;
  }
}

.st-GlobalFooter_NavArea {
  margin-bottom: 20px;
  padding: 0 15px;
}

@media print, screen and (min-width: 768px) {
  .st-GlobalFooter_NavArea {
    float: left;
    margin-bottom: 0;
    padding: 0;
  }
}

.st-GlobalFooter_Nav {
  display: block;
  padding-left: 0;
  text-align: center;
  font-size: 0;
  list-style-type: none;
}

.st-GlobalFooter_NavItem {
  display: inline-block;
  vertical-align: middle;
  padding: 8px 0;
  font-size: 0.75rem;
}

@media print, screen and (min-width: 768px) {
  .st-GlobalFooter_NavItem {
    padding: 3px 0 2px;
    font-size: 0.875rem;
  }
}

.st-GlobalFooter_NavItem + .st-GlobalFooter_NavItem::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 1px;
  height: 1rem;
  margin: 0 8px;
  border-left: 1px solid #dadada;
}

@media print, screen and (min-width: 768px) {
  .st-GlobalFooter_NavItem + .st-GlobalFooter_NavItem::before {
    margin: 0 20px;
  }
}

.st-GlobalFooter_NavLink {
  text-decoration: none;
  color: #666;
}

.st-GlobalFooter_NavLink:hover {
  text-decoration: underline;
  color: #df0523;
  transition-duration: 0.3s;
}

.st-GlobalFooter_NavLink > .st-Icon {
  position: relative;
  top: -0.1em;
  margin-left: 6px;
}

.st-GlobalFooter_NavIconExternal::before {
  font-family: "template-iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  vertical-align: middle;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  speak: none;
  content: "";
  margin-left: 3px;
  font-size: 1.2em;
  color: #777;
}

.st-GlobalFooter_NavLink:hover .st-GlobalFooter_NavIconExternal::before {
  color: currentColor;
}

.st-GlobalFooter_CopyrightArea {
  margin-bottom: 20px;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .st-GlobalFooter_CopyrightArea {
    float: right;
    margin-bottom: 0;
  }
}

.st-GlobalFooter_Copyright {
  font-size: 0.8125rem;
  font-weight: 300;
  line-height: 1;
}

.st-GlobalFooter_PageTop {
  display: block;
  padding: 0 0 4px;
  text-align: center;
  background-color: #818181;
  transition-duration: 0.3s;
}

@media print, screen and (min-width: 768px) {
  .st-GlobalFooter_PageTop {
    position: fixed;
    right: 40px;
    bottom: 56px;
    width: 56px;
    height: 56px;
    padding: 0;
    border-radius: 50%;
    background-color: rgba(129, 129, 129, 0.7);
    transition-duration: 2s;
    transition-property: overflow, visibility, opacity;
  }
  .st-GlobalFooter_PageTop[aria-hidden="true"] {
    visibility: hidden;
    overflow: hidden;
    height: 0;
    opacity: 0;
  }
  .st-GlobalFooter_PageTop[aria-hidden="false"] {
    visibility: visible;
    overflow: visible;
    height: 56px;
    opacity: 1;
  }
  .st-GlobalFooter_PageTop.st-GlobalFooter_PageTop-static {
    position: fixed;
    right: 40px;
    bottom: 100px;
    width: 56px;
    height: 56px;
  }
}

@media print, screen and (min-width: 1024px) {
  .st-GlobalFooter_PageTop:hover {
    opacity: 0.6;
  }
}

.st-GlobalFooter_PageTopIcon {
  font-size: 1.9rem;
  line-height: 1.4;
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .st-GlobalFooter_PageTopIcon {
    height: 56px;
    margin-top: -0.1em;
    font-size: 1.6rem;
    line-height: 56px;
  }
}

/* -----------------------------------------------------------------
	common css
----------------------------------------------------------------- */
/* --------- reset --------- */
#contents *, #contents *:before, #contents *:after {
  /* box-sizing: inherit; */ /* overwrite: _assets */
  box-sizing: content-box;
}

body, #contents div, #contents dl, #contents dt, #contents dd,
#contents ul, #contents ol, #contents li,
#contents h1, #contents h2, #contents h3, #contents h4, #contents h5, #contents h6,
#contents pre, #contents form, #contents fieldset, #contents input, #contents textarea, #contents p, #contents blockquote{
  padding:0;
  margin:0;
}
#contents fieldset, #contents img{
  border:0;
}
#contents div{
  display:block;
}
#contents address, #contents caption, #contents cite, #contents code,
#contents dfn, #contents em, #contents strong, #contents th, #contents var{
  font-weight:normal;
  font-style:normal;
}
#contents ol, #contents ul{
  list-style:none;
}
#contents caption, #contents th{
  text-align:left;
}
#contents h1, #contents h2, #contents h3, #contents h4, #contents h5, #contents h6{
  font-weight:normal;
  font-size:100%;
}
#contents q:before, #contents q:after{
  content:'';
}
#contents abbr, #contents acronym{
  border:0;
}
#contents img{
  vertical-align: bottom;
}
#contents input, #contents select, #contents textarea{
  font-size:100%;
  font-family:inherit;
}

/* clearfix */
.clearfix {
  display:inline-block;
}
.clearfix:after {
  content:".";
  display:block;
  height:0;
  clear:both;
  visibility:hidden;
}
* html .clearfix {
  height:1%;
}
.clearfix {
  display:block;
}

/* link */
#contents a:link { color:#1780c4; text-decoration:none; }
#contents a:visited { color:#1780c4; text-decoration:none; }
#contents a:hover { color:#1780c4; text-decoration:underline; }



/* --------- common: contents --------- */
body #contents{
  line-height:1.5;
  color:#555;
  margin:0 auto;
}
#contents {
  background-color:#fff;
  width:100%;
}
#contents a:link, #contents a:visited {
  text-decoration:none;
  color:#2a96e1;
}
#contents a:hover, #contents a:active {
  text-decoration:underline;
  color:#2a96e1;
}
#contents #index,
#contents #news,
#contents #catalog,
#contents #product:not(.tool-section),
#contents #about_product {
  margin:40px auto 50px auto;
  max-width:950px;
  text-align:left;
  z-index:0;
}
#contents .main {
  float:left;
  width:680px;
  text-align:left;
  word-break:normal;
}

@media screen and (max-width: 640px) {
  body #contents,
  #contents,
  #contents #index,
  #contents #news,
  #contents #catalog,
  #contents #product{
    float:none;
    width:92%;
    margin:40px auto 0 auto;
  }
  #contents #about_product{
    float:none;
    width:100%;
    margin:40px auto 0 auto;
  }
}


/* --------- common: headerMenu --------- */
#contents #headerMenu{
  background-color:#fff;
  width:100%;
  height:37px;
  position:relative;
  z-index:500;
}

/* --------- common: right-nav (first hierarchy) --------- */
#contents .nav{
  float:right;
  max-width:220px;
  text-align:left;
}
#contents .nav ul{
  width:220px;
}
#contents .nav ul.list{
  margin-bottom:13px;
}
#contents .nav .list li,
#contents .nav .bnr li{
  margin-bottom:7px;
  text-align:left;
}
#contents .nav .contact li{
  margin-bottom:20px;
}
#contents .nav .bnr li{
  margin-bottom:9px;
}
#contents .nav .contact a:hover,
#contents .nav .bnr a:hover{
  opacity:0.8;
}

@media screen and (max-width: 919px) {
  #contents .nav{
    clear: both;
    float:none;
    width:100%;
    max-width:100%;
    text-align:left;
  }
  #contents .nav .contact{
    width:100%;
  }
  #contents .nav ul{
    width:100%;
    margin:0 auto;
  }
  #contents .nav .contact li,
  #contents .nav .bnr{
    margin-bottom:20px;
  }
  #contents .nav ul li img {
    max-width:100%;
    width:100%;
  }
}


/* --------- common: floatNav --------- */
#floatNav{
  display:block;
  position:fixed;
  right:-287px;
  width:327px;
  height:180px;
  z-index:600;
  color:#fff;
  transition:0.3s;
}
@media screen and (max-width: 1023px) {
  #floatNav{
    display: none !important;
  }
}
#floatNav a{
  color:#fff;
}
#floatNav:hover{
  width:327px;
  right:0;
}
#floatNav .floatNav-btn{
  display:block;
  width:40px;
  position:relative;
}
#floatNav .floatNav-banner{
  position:absolute;
  top:0;
  right:0;
  width:287px;
  height:179px;
  background-color:#e87769;
  z-index:600;
}

#floatNav .floatNav-btn .floatNav-icon {
  background-color:#df0522;
  border-radius:4px 0 0 0;
  padding:10px 0;
  border-bottom:1px solid #ea7666;
  text-align:center;
}
#floatNav .floatNav-btn .floatNav-contact {
  display:block;
  height:133px;
  background-color:#df0522;
  border-radius:0 0 0 4px;
  padding:15px 0 0 0;
  text-align:left;
}
#floatNav .floatNav-btn p {
  font-size:0.9375rem;
  -webkit-writing-mode:vertical-rl;
  -ms-writing-mode:tb-rl;
  writing-mode:vertical-rl;
  line-height:1;
  letter-spacing:0.1em;
  position:absolute;
  top:64px;
  right:-3px;
}
/* for Edge */
@supports (-ms-ime-align:auto) {
  #floatNav .floatNav-btn p {
    right:12px;
  }
}
/* for IE11 */
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, #floatNav .floatNav-btn p {
    right:12px;
  }
  *::-ms-backdrop, #floatNav .floatNav-banner{
    height:180px;
  }
}

#floatNav .floatNav-banner ul{
  overflow:hidden;
  list-style:none;
  margin:0;
  padding:0;
}
#floatNav .floatNav-banner li{
  float:left;
  width:143px;
  height:55px;
  border-top:1px solid #f1aaa2;
  border-left:1px solid #f1aaa2;
}
#floatNav .floatNav-banner img{
  max-width:none;
  vertical-align:bottom;
}
#floatNav .floatNav-banner li:nth-child(2){
  width:142px;
}
#floatNav .floatNav-banner li:first-child{
  width:286px;
  height:124px;
}

@media screen and (max-width: 640px){
  #floatNav{
    transition:0;
  }
  #floatNav:hover{
    width:327px;
    right:-287px;
  }
  #floatNav .floatNav-btn .floatNav-icon a[href^="tel:"]{
    cursor:pointer;
  }
}

/* -----------------------------------------------------------------
	index css
----------------------------------------------------------------- */
/* ----- index: area ----- */
body #contents #index{
  margin:40px auto 30px auto;
  max-width:1110px;
  text-align:left;
  z-index:0;
}
body #contents #index .main-area{
  background-color:#fff;
}
body#top #contents .main-area{ /* 220121 add */
  margin:40px auto 30px auto;
  max-width: 1550px;
  width: 90%;
  text-align:left;
  z-index:0;
  background-color:#fff;
}

@media screen and (max-width: 1110px){
  body #contents div.contact .contact-index {
    padding:0 2%;
  }
}
@media screen and (max-width: 1550px){ /* 220121 add */
  body #top #contents .main-area {
    padding:0 2%;
  }
}
@media screen and (max-width: 640px){
  body #contents{
    width:100%;
    margin:0 auto;
    background-color:#fff;
  }
  body #contents #index{
    margin:20px auto 30px auto;
    width:100%;
  }
  body #contents #index .main-area{
    margin:20px auto 30px auto;
    width:100%;
    padding:0;
  }
  body #top #contents .main-area{/*220121 add */
    margin:20px auto 30px auto;
    width:100%;
    padding:0;
  }
}

/* ----- index: common ----- */
#contents #index .search-ttl,
#contents #index .search,
#contents #index .service-ttl,
#contents #index .service,
#contents #index .recommendbnr,
#contents #index .caution{
  width:100%;
  max-width:1110px;
}
#top #contents .caution,/* 220121 add */
#contents #aboutus .caution{ /* 220818 add */
  width: 1152px;
  max-width:calc(100% - 300px);
  padding-right: 20px;
}
#top #contents .floatNav-sns, /* 220121 add */
#contents #aboutus .floatNav-sns{ /* 220818 add */
  width:300px;
  padding-right: 50px;
}
@media screen and (max-width: 640px){/* 220121 add */
  #top #contents .floatNav-sns,
  #contents #aboutus .floatNav-sns {/* 220818 add */
    margin:0 auto;
    padding-right: 0;
  }
}
@media screen and (min-width: 641px) and (max-width: 767px) {/* 220121 add */
  #top #contents .floatNav-sns,
  #contents #aboutus .floatNav-sns {/* 220818 add */
    padding-right: 0;
  }
  #top #contents .caution,
  #contents #aboutus .caution{ /* 220121 add */
    padding-left: 10px;
    max-width:calc(100% - 240px);
  }
}

#contents #index .search-ttl h3,
#contents #index .news-ttl h3,
#contents #index .other-ttl h3,
#contents #index .catalog-ttl h3,
#contents #index .service-ttl h3{
  color:#333;
  font-size:26px;
}
#contents #index .search-ttl h3 span,
#contents #index .news-ttl h3 span,
#contents #index .other-ttl h3 span,
#contents #index .catalog-ttl h3 span,
#contents #index .service-ttl h3 span{
  display:inline-block;
  margin:0 0 20px 20px;
  color:#0079cd;
  font-size:20px;
}
#contents #index .news-ttl h3,
#contents #index .other-ttl h3,
#contents #index .catalog-ttl h3{
  float:left;
}
#contents #index .news-ttl h3 span,
#contents #index .other-ttl h3 span,
#contents #index .catalog-ttl h3 span{
  margin:0 0 10px 20px;
  color:#0079cd;
}

@media screen and (max-width: 640px){
  #contents #index .search,
  #contents #index .search-ttl,
  #contents #index .other-wrap-area,
  #contents #index .service-ttl,
  #contents #index .service,
  #contents #index .recommendbnr,
  #contents #index .caution{
    max-width:92%;
  }
  #top #contents .caution,/*220121 add */
  #contents #aboutus .caution{/*220818 add */
    max-width:92%;
  }
  #contents #index .search-ttl h3,
  #contents #index .news-ttl h3,
  #contents #index .other-ttl h3,
  #contents #index .catalog-ttl h3,
  #contents #index .service-ttl h3{
    font-size:20px;
  }
  #contents #index .search-ttl h3 span,
  #contents #index .news-ttl h3 span,
  #contents #index .other-ttl h3 span,
  #contents #index .catalog-ttl h3 span,
  #contents #index .service-ttl h3 span{
    margin:0 0 10px 10px;
    font-size:14px;
  }
}


/* ----- index: search ----- */
#contents #index #search-area{
  margin-bottom:60px;
}
#contents #index .search{
  display:flex;
  flex-wrap:wrap;

  margin-bottom:20px;
}
#contents .search-sttl {
  color:#333;
  font-size:20px;
  margin-bottom: 10px;
}
#contents .search-sttl span {
  font-size: 16px;
  color:#0079cd;
  padding-right: 2px;
}
#contents #index .search img{
  width:100%;
  max-width:100%;
  height:auto;
}
#contents #index .search li{
  position:relative;
  background:#fff;
  width:calc(20% - 1px);
  border-top:solid 1px #ccc;
  border-right:solid 1px #ccc;
  border-bottom:solid 1px #ccc;
}
#contents #index .search li:first-child,
#contents #index .search li:nth-child(6){
  width:calc(20% - 2px);
  border-left:solid 1px #ccc;
}
/*#contents #index .search li:nth-child(11){
    width:calc(20% - 2px);
    border-right:solid 1px transparent;
    border-bottom:solid 1px transparent;
}*/
#contents #index .search .item-name{
  display:flex;
  height:3em;
  padding-bottom:10px;
  background-color:#fff;
}
#contents #index .search .item-name p{
  display:flex;
  align-items:center;
  text-align:center;
  justify-content:center;
  width:100%;
}
#contents #index .search a,
#contents #index .search a:hover{
  display:block;
  font-size:16px;
  color:#333;
  text-decoration:none;
}
#contents #index .search li a:hover{
  background-color:#1780c4;
}
#contents #index .search li a:hover img,
#contents #index .search .item-name{
  opacity:0.8;
}

@media screen and (max-width: 640px){
  #contents #index .search,
  #contents #index .search-ttl{
    margin:0 auto;
  }
  #contents #index .search{
    margin:0 auto 30px;
  }
  #contents #index .search-sttl {
    max-width: 92%;
    margin: 0 auto;
    font-size:18px;
    margin-bottom: 5px;
  }
  #contents #index .search-sttl span {
    font-size: 14px;
  }
  #contents #product .search-sttl {
    font-size:16px;
  }
  #contents #product .search-sttl span {
    font-size: 13px;
  }
  #contents #index .search li{
    width:calc(33.333% - 1px);
  }
  #contents #index .search li:not(:nth-child(-n+3)){
    border-top:none;
  }
  /*#contents #index .search li:nth-child(3),
    #contents #index .search li:nth-child(6),
    #contents #index .search li:nth-child(9){
        width:calc(33.333% - 1px);
        border-right:solid 1px #ccc;
    }*/
  #contents #index .search li:first-child,
  #contents #index .search li:nth-child(4),
  #contents #index .search li:nth-child(7){
    width:calc(33.333% - 2px);
    border-left:solid 1px #ccc;
    /*border-right:none;*/
  }
  #contents #index .search li:nth-child(10){
    border-right:solid 1px transparent;
    border-bottom:solid 1px transparent;
  }
  #contents #index .search .item-name{
    font-size:14px;
    line-height:1.2;
  }
}

/* ----- index: other-item ----- */
#contents #index .other-wrap{
  float:left;
  width: 48%;
}
#contents #index .catalog-wrap{
  float:right;
  width: 48%;
}

@media screen and (max-width: 640px) {
  #contents #index .other-wrap,
  #contents #index .catalog-wrap{
    float:none;
    width:100%;
    max-width:100%;
    padding:0 4%;
  }
}

/* index: other, catalog */
#contents #index .other-ttl h3,
#contents #index .catalog-ttl h3{
  float:left;
}
#contents #index .other-ttl h3 span,
#contents #index .catalog-ttl h3 span{
  margin-bottom:10px;
}
#contents #index .other,
#contents #index .catalog{
  display:flex;
  flex-wrap:wrap;
  border-top:solid 1px #ccc;
  margin-bottom:60px;
}
#contents #index .other img,
#contents #index .catalog img{
  width:100%;
  max-width:100%;
  height:auto;
}
#contents #index .other li,
#contents #index .catalog li{
  position:relative;
  background:#fff;
  width:calc(50% - 1px);
  border-left:solid 1px #ccc;
  border-bottom:solid 1px #ccc;
  margin:0 auto;
}
#contents #index .other li:last-child,
#contents #index .catalog li:last-child{
  width:calc(50% - 2px);
  border-right:solid 1px #ccc;
}
#contents #index .other .other-name,
#contents #index .catalog .catalog-name{
  display:flex;
  height:3em;
  padding-bottom:10px;
  background-color:#fff;
}
#contents #index .other .other-name p,
#contents #index .catalog .catalog-name p{
  display:flex;
  align-items:center;
  text-align:center;
  justify-content:center;
  width:100%;
  padding-bottom:10px;
}
#contents #index .other a,
#contents #index .other a:hover,
#contents #index .catalog a,
#contents #index .catalog a:hover{
  display:block;
  font-size:16px;
  color:#333;
  text-decoration:none;
}
#contents #index .other li a:hover,
#contents #index .catalog li a:hover{
  background-color:#1780c4;
  text-decoration:none;
}
#contents #index .other li a:hover img,
#contents #index .other .other-name,
#contents #index .catalog li a:hover img,
#contents #index .catalog .catalog-name{
  opacity:0.8;
}

/* index: catalog */
#contents #index .other .other-name p .br-pc,
#contents #index .catalog .catalog-name p .br-pc{
  display:block;
}
#contents #index .other .other-name p .br-sp,
#contents #index .catalog .catalog-name p .br-sp{
  display:none;
}

@media screen and (max-width: 640px) {
  #contents #index .other,
  #contents #index .catalog{
    margin:0 auto 30px;
  }
  #contents #index .other a,
  #contents #index .catalog a{
    display:block;
    width:100%;
  }
  #contents #index .other li a:hover,
  #contents #index .other .other-name,
  #contents #index .catalog li a:hover,
  #contents #index .catalog .catalog-name{
    opacity:0.8;
    background-color:#fff;
  }
  #contents #index .other li,
  #contents #index .catalog li{
    width:calc(50% - 1px);
  }
  #contents #index .other li:last-child,
  #contents #index .catalog li:last-child{
    width:calc(50% - 2px);
  }
  #contents #index .other .other-item-wrap,
  #contents #index .catalog .catalog-item-wrap{
    display:flex;
    align-items:center;
    text-align:left;
    flex-direction:row-reverse;
    justify-content:flex-end;
  }
  #contents #index .other .other-item,
  #contents #index .catalog .catalog-item{
    width:40%;
  }
  #contents #index .other .other-name,
  #contents #index .catalog .catalog-name{
    width:60%;
    height:auto;
    font-size:14px;
    line-height:1.2;
    padding-bottom:0;
  }
  #contents #index .other .other-name p,
  #contents #index .catalog .catalog-name p{
    color:#333;
    text-decoration:none;
    justify-content:left;
    text-align:left;
    padding-left:10px;
    padding-bottom:0;
  }
  #contents #index .other .other-name p .br-pc,
  #contents #index .catalog .catalog-name p .br-pc{
    display:none;
  }
  #contents #index .other .other-name p .br-sp,
  #contents #index .catalog .catalog-name p .br-sp{
    display:block;
  }
}

@media screen and (max-width: 320px) {
  #contents #index .other .other-name,
  #contents #index .catalog .catalog-name{
    font-size:12px;
  }
}

/* ----- index: recommend_banner ----- */
#contents #index .recommendbnr{
  clear:both;
  margin-bottom:20px;
}
#contents #index .recommendbnr li{
  float:left;
  width:32%;
  margin-left:2%;
}
#contents #index .recommendbnr li:first-child{
  margin-left:0;
}
#contents #index .recommendbnr img{
  display:block;
  max-width:100%;
}
#contents .recommendbnr a:hover img{
  opacity:0.8;
}

@media screen and (max-width: 640px) {
  #contents #index .recommendbnr{
    margin:35px auto 25px auto;
  }
  #contents #index .recommendbnr li{
    clear:both;
    width:100%;
    margin-left:0;
    margin-bottom:10px;
  }
}

@media screen and (min-width: 641px) {/* 220121 add */
  #top #contents #caution-area,
  #contents #aboutus #caution-area { /* 220818 add */
    display: flex;
  }
}
#top #contents .floatNav-sns-wrapper, /* 220121 add */
#contents #aboutus .floatNav-sns-wrapper{  /* 220818 add */
  display: flex;
  justify-content: center;
  align-items: center;
}
#top #contents .floatNav-sns-wrapper a,/* 220121 add */
#contents #aboutus .floatNav-sns-wrapper a{  /* 220818 add */
  width: 30px;
  padding: 15px 15px;
  max-width: 60px;
  cursor: pointer;
}
/* ----- index: caution ----- */
/* #contents #index .caution{ 220121*/
/* margin:20px auto 0;
} */
/* #contents #index .caution dt{ 220121*/
#top #contents .caution dt,/* 220121 add */
#contents #aboutus .caution dt { /* 220818 add */
  font-size:14px;
}
/* #contents #index .caution dd{ 220121*/
#top #contents .caution dd,/* 220121 add */
#contents #aboutus .caution dd { /* 220818 add */
  margin-top:5px;
  font-size:14px;
}

@media screen and (max-width: 640px) {
  /* #contents #index .caution{ 220121*/
  #top #contents .caution,
  #contents #aboutus .caution { /* 220818 add */
    margin:25px auto;
  }
  /* #contents #index .caution dt{  220121*/
  #top #contents .caution dt, /* 220121 add */
  #contents #aboutus .caution dt {  /* 220818 add */
    font-size:12px;
    font-weight:bold;
  }
}





/* -----------------------------------------------------------------
	news css
----------------------------------------------------------------- */
/* index */
#news .main{
  min-height:600px;
}
#news h1{
  padding:0 0 10px 0;
  font-size:30px;
  color:#333;
  font-weight:normal;
}
#news p.top{
  font-size:16px;
  padding:0 0 45px 0;
}
#news .title{
  padding-bottom:15px;
}
#news h2{
  /*clear:both;*/
  float:left;
  padding-bottom:5px;
  color:#555;
  font-size:20px;
  font-weight:bold;
}
#news .title ul{
  float:right;
  margin-top:10px;
  text-align:left;
}
#news .title li{
  float:left;
  display:inline;
  margin-left:10px;
}
#news .title li a{
  text-decoration:none;
  font-size:14px;
  color:#555;
  background-color:#fff;
  padding:1px 0 1px 10px;
}
#news .title li{
  font-size:14px;
  line-height:1.2;
  display:inline-block;
  background-image:url("../images/icon_arw.png");
  background-repeat:no-repeat;
  background-size:25%;
  background-position:left center;
  margin-right:15px;
  padding-left:10px;
}
#news .title li:nth-child(2){
  margin-right:0;
}
#news .title li a,
#news .title li a:hover{
  color:#333;
  text-decoration:none;
}
#news .title li a:hover{
  color:#2a96e1;
}

#news .url{
  word-break:break-all;
}

#news .topics{
  border-top:solid 1px #ccc;
}
#news .topics dl{
  padding:20px 0;
  border-bottom:solid 1px #ccc;
}
#news .topics dt{
  float:left;
  width:38%;
}
html[lang=ja] #news .topics dt,
html[lang^="zh"] #news .topics dt,
html[lang=ko] #news .topics dt {
  width:30%;
}
#news .topics dt p{
  float:left;
  margin-right:8%;
}
#news .topics dt p.category{
  float:left;
  margin-right:0;
}
#news .topics dt p.category span {
  display:inline-block;
  color:#fff;
  background-color:#777;
  font-size:11px;
  margin:0;
  padding:2px 5px;
  vertical-align: bottom;
}
#news .topics dd{
  float:right;
  width:60%;
}
html[lang=ja] #news .topics dd,
html[lang^="zh"] #news .topics dd,
html[lang=ko] #news .topics dd {
  width:70%;
}

/* details: menu */
#news .menuTop{
  border-bottom:solid 1px #ccc;
  margin-bottom:40px;
  padding-top:10px;
  text-align:right;
}
#news .menuBtm{
  width:680px;
  border-top:solid 1px #ccc;
  margin-top:40px;
  text-align:right;
}
#news .menuTop p,
#news .menuBtm p{
  display:inline-block;
  background-image:url("../images/icon_arw.png");
  background-repeat:no-repeat;
  background-size:25%;
  background-position:left center;
  padding-left:20px;
}
#news .menuTop a,
#news .menuBtm a,
#news .menuTop a:hover,
#news .menuBtm a:hover{
  color:#333;
  text-decoration:none;
}
#news .menuTop a:hover,
#news .menuBtm a:hover{
  color:#2a96e1;
}
#news .menuTop p{
  margin-bottom:10px;
}
#news .menuBtm p{
  margin:5px 0 30px 0;
}
#news .menuBtm ul{
  float:right;
  text-align:left;
}
#news .menuBtm li{
  float:left;
  display:inline;
  margin-left:20px;
}


/* details: contents */
#news .details h2{
  float:none;
  font-size:20px;
  padding-bottom:30px;
  font-weight:bold;
}
#news .details dl{
  padding-bottom:10px;
  line-height:1;
}
#news .details dt{
  float:left;
  display:inline;
  margin-right:15px;
  font-size:14px;
}
#news .details dd{
  float:left;
  display:inline;
  background-color:#777;
  margin-right:0;
  text-align:center;
}
#news .details dd span{
  display:block;
  color:#fff;
  font-size:12px;
  margin:0;
  padding:2px 24px;
  letter-spacing:0.1em;
}

/* details: column */
#news .column1,
#news .column2{
  padding-bottom:30px;
}
#news .column1 .image{
  float:none;
  width:45%;
  padding-bottom:20px;
}
#news .column2 .image{
  float:left;
  width:45%;
  padding-bottom:30px;
}
#news .column2 .image img{
  max-width:100%;
}
#news .column2 .text{
  float:right;
  width:50%;
}
#news .column1 .text p,
#news .column2 .text p{
  padding-bottom:20px;
}
#news .column1 .text p:last-child,
#news .column2 .text p:last-child{
  padding-bottom:0;
}
#news .column1 p + p {
  margin-top: 24px;
}


@media screen and (max-width: 640px) {
  #news{
    margin:20px auto 0 auto;
  }
  #news .main{
    float:none;
    width:100%;
    min-height:none;
    margin:0 auto 50px;
  }
  #news p.top{
    padding:0 0 25px 0;
  }
  /* sp_index */
  #news,
  #news .index,
  #news .index h2,
  #news .nav ul{
    width:100%;
  }
  #news h2{
    padding:0 0 10px 0;
  }
  #news .nav{
    float:none;
    margin:0 auto 20px;
  }
  #news ul.bnr{
    margin:0 auto 20px;
  }
  #news .title{
    width:100%;
  }
  #news .title ul{
    float:right;
    text-align:left;
  }

  /* topics */
  #news .topics dl,
  #news .topics dt{
    clear:both;
    overflow:hidden;
  }
  #news .topics dl {
    padding-left:0;
  }
  #news .topics dt,
  #news .topics dd{
    float:none;
    width:100%;
  }
  #news .topics dd{
    padding-top:5px;
  }
  #news .topics,
  #news .details{
    word-break:normal;
  }

  /* column */
  #news .column1 .image {
    width: 100%;
  }
  #news .column2 .text,
  #news .column2 .image{
    float:none;
    width:100%;
    padding-bottom:30px;
  }
  #news .column1 .image img,
  #news .column2 .image img{
    max-width:100%;
  }

  /* details */
  #news .details dt{
    font-size:16px;
  }
  #news .details dd span{
    padding:3px 24px;
  }

  #news .menuTop,
  #news .menuBtm{
    float:none;
    width:100%;
  }
  #news .menuTop{
    float:none;
    width:100%;
  }
  #news .menuTop p,
  #news .menuBtm p{
    float:none;
  }
  #news .menuBtm p{
    padding-bottom:0;
  }
  #news .menuBtm ul{
    float:none;
    width:100%;
    margin:20px 0 0 0;
  }
}

#news .column1 p a[target=_blank]::after {
  line-height: 1;
  content: "\ea0a";
  display: inline-block;
  font-family: template-iconfont, sans-serif;
  font-size: 1.2em;
  font-style: normal;
  font-weight: 400;
  vertical-align: middle;
}
#news .column1 p a:hover {
  text-decoration: underline;
}

/* -----------------------------------------------------------------
	product css
-----------------------------------------------------------------*/
/* --------- headerMenuWhite --------- */
#headerMenuWhite{
  clear:both;
  width:100%;
  position:relative;
  z-index:100;
  background-color: #fff;
}
#menuWrapper{
  clear:both;
  overflow:hidden;
  width:100%;
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
}


@media screen and (max-width: 640px) {
  #contents #menuWrapper{
    position:absolute;
    top:0;
    left:0;
    width:100%;
  }
}
/* sp_title */
#contents #spProducttitle{
  display:none;
}

/* details: index */
#product .index{
  width:702px;
}
#product .index h2,
#product .index h2.other{
  width:100%;
  border-top:solid 3px #000;
  background-image:url("../images/ttl_line.png");
  background-repeat:repeat-x;
  background-position:left bottom;
  margin:0 0 30px 0;
}
#product .index h2{
  padding:0;
}
#product .index h2.other{
  margin:30px 0;
}
#product .index h2 span{
  display:block;
  padding:15px 0;
  color:#333;
  font-size:21px;
  letter-spacing:1.3px;
}

#product .index ul{
  width:100%;
  margin-bottom:0;
}
#product .index ul li{
  float:left;
  width:31%;
  height:auto;
  margin:0 2% 20px 0;
  padding:0;
  text-align:left;
}
#product .index li a:hover{
  opacity:0.8;
}


/* ----- details: intro ----- */
#product .intro,
#product .merit{
  width:100%;
  padding-bottom:50px;
}
#product .catalog{
  width:100%;
  padding-bottom:30px;
}
#product .intro .image{
  float:left;
  width:248px;
}
#product .intro .text{
  float:right;
  width:410px;
}
#product .intro .text h1{
  font-size:30px;
  line-height:1.2;
  padding:0 0 20px 0;
  font-weight:bold;
}
#product .intro .text p{
  padding-bottom:10px;
}
#product .intro .text p.top{
  font-size:19px;
  padding-bottom:0;
  font-weight:bold;
}
#product .intro .text li{
  float:left;
  margin:0 10px 20px 0;
}
#product .introbtn li{
  display:block;
  border:solid 1px #1780c4;
  background: #fff; /* Old browsers */
  background: -moz-linear-gradient(top,  #fff 0%, #eee 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#eee)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top,  #fff 0%,#eee 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top,  #fff 0%,#eee 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top,  #fff 0%,#eee 100%); /* IE10+ */
  background: linear-gradient(to bottom,  #fff 0%,#eee 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 ); /* IE6-9 */
  padding:1px 30px;
  color:#1780c4;
  font-size:11px;
  text-align:center;
  border-radius:2px;
  box-shadow:1px 1px #fff;
}

#product .introbtn li a{
  text-decoration:none;
}


/* ----- details: merit ----- */
#product .merit h3,
#product .catalog h3{
  background-color:#333;
  margin-bottom:20px;
  padding:7px 12px;
  color:#fff;
  font-size:16px;
  line-height:1.2;
  font-weight:normal;
}
#product .merit h3.ttl-sgs,
#product .catalog h3.ttl-sgs {
  background-color: #00448d;
}

#product .merit li{
  background-image:url("../images/icon.png");
  background-repeat:no-repeat;
  background-position:left 5px;
  padding-left:25px;
  font-size:16px;
  font-weight:bold;
  padding-bottom:15px;
}


/* ----- details: catalog ----- */
#product .catalog .image{
  float:left;
}
#product .catalog .image img{
  border:solid 4px #eee;
}
#product .catalog .text{
  float:right;
  width:534px;
}
#product .catalog .no-catalog {
  float:none;
}
#product .catalog .text p{
  padding:0 0 20px 10px;
}
#product .catalog .text p em{
  font-weight:bold;
}
#product .catalog .text ul{
  float:left;
  padding:0 0 10px 10px;
  width:100%;
}
#product .catalog .text li{
  float:left;
  width:48%;
  height:auto;
  margin:0 0 3% 0;
}
#product .catalog .text li:nth-child(even){
  width:49%;
  margin:0 0 3% 1%;
}
#product .catalog .text li p{
  position:relative;
  display:block;
  padding:0;
}
#product .catalog .text li span {
  position: absolute;
  display: block;
  top:40%;
  left:55%;
  font-size: 12px;
  line-height: 12px;
  z-index: 100;
}
#product .catalog .text li a{
  color:#666;
}


/* ----- details: relation ----- */
#product .relation {
  margin-top: 40px;
  padding-bottom: 30px;
}
#product .relation h3 {
  display: flex;
  align-items: center;
  margin-bottom: 35px;
  color: #333;
  font-size: 28px;
  font-weight: bold;
}
#product .relation h3 > span {
  display: inline-block;
  margin-left: 20px;
  color: #666;
  font-family: Roboto;
  font-size: 16px;
  font-weight: normal;
  letter-spacing: 0.05em;
}
#product .relation .relation-cardList {
  max-width: 668px;
}
#product .relation .relation-card {
  width: 100%;
  margin-bottom: 40px;
  background: #fff;
  box-shadow: 1px 5px 15px rgba(0, 0, 0, 0.05);
}
#product .relation .relation-card:last-child {
  margin-bottom: 0;
}
#product .relation .relation-card a {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
}
#product .relation .relation-card a:hover {
  text-decoration: none;
}
#product .relation .relation-card a::after {
  position: absolute;
  bottom: -10px;
  right: 10px;
  content: '';
  display: block;
  width: 36px;
  height: 36px;
  background: #fff;
  border-radius: 100%;
  box-shadow: 1px 5px 10px rgba(0, 0, 0, 0.05);
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
#product .relation .relation-card a:hover::after {
  background: #2a96e1;
}
#product .relation .relation-card a::before {
  position: absolute;
  bottom: 0px;
  right: 20px;
  z-index: 1;
  font-size: 1.0em;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
#product .relation .relation-card a:hover::before {
  color: #fff;
}
#product .relation .relation-card a:not([target="_blank"]):before {
  position: absolute;
  bottom: 5px;
  right: 20px;
  content: '';
  background-image: url(../images/index/arrow_04.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 15px;
  display: block;
  height: 5px;
  width: 15px;
  margin-top: -2.5px;
  transition: right 0.4s ease;
}
#product .relation .relation-card a:not([target="_blank"]):hover:before {
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}
#product .relation .relation-card_image {
  position: relative;
  width: 270px;
  height: 160px;
  overflow: hidden;
}
#product .relation .relation-card_image img {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: auto;
  -webkit-transition: transform 0.4s ease;
  transition: transform 0.4s ease;
}
#product .relation .relation-card a:hover .relation-card_image img {
  -webkit-transform: translateY(-50%) scale(1.1, 1.1);
  transform: translateY(-50%) scale(1.08, 1.08);
}
#product .relation .relation-card_textArea {
  padding: 0 30px 10px;
  width: 338px;
  color: #333;
}
#product .relation .relation-card_title {
  line-height: 1.6;
  margin-bottom: 13px;
  font-size: 20px;
  font-weight: bold;
}
#product .relation .relation-card_text {
  line-height: 1.4;
  color: #666;
  font-size: 12px;
  font-weight: bold;
}


@media screen and (max-width: 640px) {
  #product .intro,
  #product .merit,
  #product .catalog{
    padding-bottom:30px;
  }
  #product .catalog{
    width:100%;
    padding-bottom:0;
  }
  /* sp_title */
  #contents #spProducttitle{
    display:block;
  }
  #contents #spProducttitle{
    border-top:solid 2px #e2e2e2;
    background-color:#fff;
    height:auto;
  }
  #contents #spProducttitle h1{
    width:100%;
    padding:7px 0 8px 0;
    font-size:24px;
    text-align:center;
  }

  #product{
    margin:20px auto 0 auto;
  }

  /* sp_index */
  #product,
  #product .index,
  #product .index h2,
  #product .nav ul,
  #about_product .nav ul{
    width:100%;
  }
  #product .main,
  #product .nav,
  #about_product .main{
    float:none;
    width:100%;
    max-width:100%;
  }
  #about_product .nav{
    float:none;
    width: 92%;
    margin: 40px auto 0 auto;
  }
  #product .main,
  #about_product .main{
    margin: 0 auto 50px;
  }
  #product ul.bnr{
    margin:0 auto 30px;
  }
  #product .main img {
    min-width:100%;
  }

  #product .index h2{
    border-top:solid 2px #000;
    margin:0 0 10px 0;
  }
  #product .index h2{
    padding:0;
  }
  #product .index h2 span{
    display:block;
    padding:6px 0 8px 0;
    color:#333;
    font-size:16px;
    letter-spacing:1.3px;
  }
  #product .index ul{
    margin-bottom:15px;
  }
  #product .index ul li,
  #product .index ul li:nth-child(even){
    width:49%;
    height:auto;
    margin:0 0 3% 2%;
  }
  #product .index ul li:first-child,
  #product .index ul li:nth-child(odd){
    margin:0 0 2% 0;
  }
  /* sp_title */
  #contents #menuWrapper,
  #contents #spTitle,
  #contents #spMenu{
    display:none;
  }

  /* details: index */
  #product .index,
  #product .index h2{
    width:100%;
  }

  /* ----- details: intro ----- */
  #product .intro,
  #product .merit,
  #product .catalog{
    width:100%;
  }
  #product .intro .image,
  #product .intro .text{
    float:none;
    max-width:100%;
  }
  #product .intro .text{
    width:100%;
    padding-bottom:20px;
  }
  #product .intro .image{
    display: block;
    width:80%;
    margin:0 auto 30px;
  }
  #product .introbtn li{
    font-size:12px;
  }

  /* ----- details: catalog ----- */
  #product .catalog .image,
  #product .catalog .text{
    float:none;
    width:100%;
  }
  #product .catalog .image{
    display: block;
    width:50%;
    margin:0 auto 30px;
  }

  #product .catalog .text ul{
    padding:0;
  }
  #product .catalog .text ul,
  #product .catalog .text li,
  #product .catalog .text li:nth-child(even){
    float:none;
    width:100%;
    margin:0 0 3% 0;
  }
  #product .catalog .text li span{
    position:absolute;
    display:block;
    top:45%;
    left:60%;
    font-size:12px;
    line-height:12px;
    z-index:100;
  }
  #product .catalog .catalog-link .catalog-link_item {
    width: 100% !important;
  }
  #product .catalog .catalog-link .catalog-link_item:nth-child(even) {
    margin-left: 0;
  }
  #product .catalog .catalog-link .catalog-link_item a {
    height: 66px;
    padding: 0 45px 0 53px;
    font-size: 16px;
  }
  #product .catalog .catalog-link .catalog-link_item a .text-s {
    margin-left: 10px;
    font-size: 11px;
  }

  /* ----- details: relation ----- */
  #product .relation {
    margin-top: 65px;
  }
  #product .relation h3 {
    display: block;
    font-size: 26px;
  }
  #product .relation h3 > span {
    display: block;
    margin-left: 0;
    font-size: 12px;
  }
  #product .relation .relation-card {
    margin-bottom: 50px;
  }
  #product .relation .relation-card a {
    display: block;
  }
  #product .relation .relation-card a::after {
    bottom: -20px;
    right: 10px;
    width: 60px;
    height: 60px;
  }
  #product .relation .relation-card a::before {
    bottom: 4px;
    right: 28px;
    font-size: 1.4em;
  }
  #product .relation .relation-card_image {
    width: 100%;
    height: auto;
    padding-top: 59.2%;
  }
  #product .relation .relation-card_textArea {
    width: auto;
    padding: 20px 20px 35px;
  }
  #product .relation .relation-card_title {
    line-height: 1.6;
    margin-bottom: 13px;
    font-size: 18px;
  }
  #product .relation .relation-card_text {
    line-height: 1.6;
    font-size: 14px;
  }
  #product .relation .relation-card a:not([target="_blank"]):before {
    bottom: 7px;
    right: 29px;
    background-size: 20px;
    height: 6px;
    width: 20px;
    margin-top: -3px;
  }
}


/* -----------------------------------------------------------------
	catalog css
-----------------------------------------------------------------*/
#catalog .main{
  float:left;
  width:700px;
  text-align:left;
}
#catalog h1{
  padding:0 0 10px 0;
  font-size:30px;
  color:#333;
  font-weight:normal;
}
#catalog p.top{
  font-size:16px;
  padding-bottom:45px;
}
#catalog h2{
  width:680px;
  border-top:solid 3px #000;
  background-image:url("../images/ttl_line.png");
  background-repeat:repeat-x;
  background-position:left bottom;
  margin-bottom:30px;
}
#catalog h2 span{
  display:block;
  padding:15px 0;
  color:#333;
  font-size:21px;
  letter-spacing:1.3px;
}
#catalog h3{
  width:680px;
  background-color:#333;
  margin:60px 0 20px 0;
}
#catalog h3 span{
  display:block;
  padding:7px 12px;
  color:#fff;
  font-size:16px;
  line-height:1.2;
  font-weight:normal;
}

#catalog .catalogs{
  width:680px;
}
#catalog .catalogs .image{
  float:left;
  width:132px;
  border:solid 4px #eee;
}
#catalog .catalogs .text{
  float:right;
  width:534px;
  text-align:left;
}
#catalog .catalogs .text p{
  font-size:12px;
  padding-left:10px;
}
#catalog .catalogs .text p em{
  font-style:normal;
  font-weight:bold;
}
#catalog .catalogs .text li{
  float:left;
  padding:0 0 10px 10px;
}
#catalog .download{
  width:700px;
}
#catalog .download li{
  float:left;
  width:22.8%;
  margin:0 2% 2% 0;
}
#catalog .download li span{
  display: block;
  color:#666;
  font-size:10px;
  text-align:center;
}
#catalog .download li a{
  display:block;
  border:1px solid #ccc;
  background-color:#fafafa;
  border-radius:2px;
  padding-bottom:13px;
}
#catalog .download li a:hover{
  display:block;
  border:1px solid #ccc;
  background-color:#ebf4fc;
  border-radius:2px;
  padding-bottom:13px;
}
#catalog .download li a:link,
#catalog .download li a:visited{
  text-decoration:none;
}

@media screen and (max-width: 640px) {
  #catalog{
    width:100%;
    margin:20px auto 0 auto;
  }
  #catalog h2,
  #catalog h3,
  #catalog .main h3,
  #catalog .nav ul,
  #catalog .catalogs,
  #catalog .download,
  #catalog .catalogs .text,
  #catalog .catalogs .text li{
    width:100%;
  }
  #catalog .main,
  #catalog .nav{
    float:none;
    width:100%;
  }
  #contents #catalog .main{
    margin: 0 auto 50px;
  }
  #catalog h2{
    margin-bottom:20px;
  }
  #catalog h3{
    margin:30px 0 20px 0;
  }
  #catalog h3 span{
    font-size:18px;
  }
  #catalog .nav{
    max-width:600px;
  }
  #catalog ul.bnr{
    margin:0 auto 30px;
  }
  #catalog .main img {
    min-width:100%;
  }
  #catalog h1{
    display:none;
  }

  #catalog .catalogs .image{
    float:none;
    width:35%;
    margin:0 auto 20px;
    text-align:center;
  }
  #catalog .catalogs .text li{
    padding:0 0 10px 0;
  }
  #catalog .catalogs .text p{
    padding-left:0;
  }

  #catalog .download li{
    float:left;
    width:49%;
    height:auto;
    margin:0 0 3% 2%;
  }
  #catalog .download li:nth-child(odd){
    margin:0 0 3% 0;
  }
  #catalog .download li a{
    border-radius:2px;
  }
  #catalog .download li span{
    font-size:12px;
  }
}

/* PDFボタン */
#catalog .catalog_button,
#product .catalog_button {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
  border: 1px solid #e5e5e5;
  box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.05);
}
@media screen and (min-width: 641px) {
  #catalog .catalog_button,
  #product .catalog_button {
    max-width: 320px;
    margin-left: 10px !important;
  }
}

#catalog .catalog_button:first-child,
#product .catalog_button:first-child {
  margin-top: 0 !important;
}
#catalog .catalog_button:last-child,
#product .catalog_button:last-child {
  margin-bottom: 0 !important;
}

#catalog .catalog_button a,
#product .catalog_button a {
  position: relative;
  line-height: 1.4;
  display: block;
  width: calc(100% - 63px);
  padding-top: 22px;
  padding-left: 48px;
  padding-bottom: 20px;
  padding-right: 15px;
  color: #333 !important;
  font-weight: 700;
  font-size: 16px;
}

@media screen and (min-width: 641px) {
  #catalog .catalog_button a,
  #product .catalog_button a {
    width: calc(100% - 59px);
    padding-top: 15px;
    padding-left: 44px;
    padding-bottom: 15px;
    font-size: 14px;
  }
}

#catalog .catalog_button a:hover,
#product .catalog_button a:hover {
  text-decoration: none !important;
}

#catalog .catalog_button a:before,
#product .catalog_button a:before {
  position: absolute;
  top: 20px;
  left: 15px;
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(../images/common/icon_pdf.svg);
  background-repeat: no-repeat;
  background-size: 20px auto;
  background-position: right center;
}

@media screen and (min-width: 641px) {
  #catalog .catalog_button a:before,
  #product .catalog_button a:before {
    top: 14px;
    width: 20px;
    height: 20px;
  }
}

#catalog .catalog_button-mekuru a:before,
#product .catalog_button-mekuru a:before {
  background-image: url(../images/common/icon_book.svg);
}

#catalog .catalog_button a:after,
#product .catalog_button a:after {
  position: absolute;
  top: 50%;
  right: 15px;
  display: inline-block;
  width: 15px;
  height: 5px;
  margin-top: -2.5px;
  content: '';
  background-image: url(../images/index/arrow_04.svg);
  background-repeat: no-repeat;
  background-size: 20px auto;
  background-position: right center;
}

@media screen and (min-width: 641px) {
  #catalog .catalog_button a:after,
  #product .catalog_button a:after {
    position: absolute;
    top: 50%;
    right: 15px;
    display: inline-block;
    width: 13px;
    height: 4px;
    margin-top: -2px;
  }
}

#catalog .catalog_button a span,
#product .catalog_button a span {
  color: #666 !important;
  font-weight: normal;
  font-weight: 500;
  font-size: 12px;
}


@media screen and (min-width: 641px) {
  #catalog .download_buttons {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-right: 20px;
  }
}

#catalog .download_button {
  margin-bottom: 16px !important;
  border: 1px solid #e5e5e5;
  box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.05);
}

@media screen and (min-width: 641px) {
  #catalog .download_button {
    width: 48.823%;
  }
}

#catalog .download_button:last-child {
  margin-bottom: 0;
}

#catalog .download_button a {
  line-height: 1.2;
  position: relative;
  display: block;
  padding-left: 80px;
  padding-top: 16px;
  padding-right: 15px;
  padding-bottom: 16px;
  color: #333 !important;
  font-weight: 700;
  font-size: 16px;
}

#catalog .download_button a:hover {
  text-decoration: none !important;
}

#catalog .download_button a img {
  position: absolute;
  top: 16px;
  left: 15px;
  min-width: auto;
  width: 48px;
  height: 36px;
}

#catalog .download_button a span {
  display: block;
  color: #666 !important;
  font-weight: 500;
  font-size: 12px;
}

/* 右サイドナビ */
#contents .nav_bannerList {
  margin-left: -4% !important;
  margin-right: -4% !important;
  padding: 60px 4%;
  background-color: #f5f5f5;
}
@media screen and (min-width: 641px) {
  #contents .nav_bannerList {
    width: 680px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0;
    padding-top: 50px;
    background-color: #fff;
  }
}
@media screen and (min-width: 920px) {
  #contents .nav_bannerList {
    width: 100% !important;
    padding-top: 0;
    background-color: #fff;
  }
}

#contents .nav_bannerListItem {
  background-color: #fff;
  margin-bottom: 20px;
}

@media screen and (min-width: 641px) {
  #contents .nav_bannerListItem {
    margin-bottom: 16px;
  }
}

#contents .nav_bannerListItem:last-child {
  margin-bottom: 0;
}

#contents .nav_bannerListItem a {
  line-height: 1.2;
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #333;
  background-color: #fff;
  box-shadow: 1px 5px 15px rgba(0, 0, 0, 0.05);
  font-size: 16px;
  font-weight: bold;
}

@media (any-hover: hover) {
  #contents .nav_bannerListItem a:hover {
    text-decoration: none;
  }
}

#contents .nav_bannerListItem a:after {
  position: absolute;
  top: 50%;
  right: 20px;
  content: '';
  display: block;
  width: 20px;
  height: 5px;
  transform: translateY(-50%);
  background-image: url(../images/index/arrow_04.svg);
  background-repeat: no-repeat;
  background-position: center right;
  background-size: 20px auto;
}

@media screen and (min-width: 641px) {
  #contents .nav_bannerListItem a:after {
    right: 12px;
    width: 13px;
    background-size: 18px auto;
  }
}

#contents .nav_bannerListImage {
  position: relative;
  width: 100px;
  height: 100%;
  min-height: 90px;
  margin-right: 16px;
  overflow: hidden;
  background-color: #61ade1;
}
@media screen and (min-width: 641px) {
  #contents .nav_bannerListImage {
    width: 64px;
    min-height: 64px;
    margin-right: 12px;
  }
}

@media (any-hover: hover) {
  #contents .nav_bannerListItem a:hover .nav_bannerListImage img {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
}

#contents .nav_bannerListImage img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

#contents .nav_bannerListText {
  line-height: calc(22.4 / 16);
  width: calc(100% - 176px);
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 16px;
  font-weight: 700;
  overflow-wrap: break-word;
}
@media screen and (min-width: 641px) {
  #contents .nav_bannerListText {
    line-height: 1.2;
    width: calc(100% - 110px);
    font-size: 13px;
  }
}


/* 新規追加 2021/04/20
----------------------------------------------------------------- */

/* --------- common: headerMenu --------- */

#menu2 {
  width: 100%;
  padding: 0;
  display: flex;
}
#menu2 ul {
  display: table;
  position: absolute;
  text-align: left;
}
#menu2 li {
  list-style:none;
}
/* #menu2 li:nth-child(1) {
  border-left: none;
  width: 40px;
}
#menu2 li:nth-child(2) {
  border-left: none;
  width: 100px;
}
#menu2 li:nth-child(3) {
  border-left: none;
  width: 63px;
}
#menu2 li:nth-child(4) {
  border-left: none;
  width: 135px;
}
#menu2 li:nth-child(5) {
  border-left: none;
  width: 95px;
}
#menu2 li:nth-child(6) {
  border-left: none;
  width: 94px;
}
#menu2 li:nth-child(7) {
  border-left: none;
  width: 135px;
}
#menu2 li:nth-child(8) {
  border-left: none;
  width: 150px;
} */
#menu2 .level1 {
  margin-right: 24px;
  font-size: 14px;
}

#menu2 .level1:last-child {
  margin-right: 0;
}

#menu2 .level1 .level1-title {
  position: relative;
  display: block;
  padding: 16px 4px;
  color: #333;
  text-decoration: none;
  cursor: pointer;
}
#menu2 .level1.open-arrow .level1-title {
  color: #2a96e1;
  font-weight: bold;
}
/*閉じた状態の矢印描画*/
#menu2 .toggle-arrow:before {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 10px;
  margin-right: 2px;
  margin-bottom: 4px;
  border-bottom: 2px solid #a9a9a9;
  border-right: 2px solid #a9a9a9;
  transition: all 0.2s ease-in-out;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
/*開いた状態の矢印描画*/
#menu2 .open-arrow .toggle-arrow:before {
  border-bottom: 2px solid #2a96e1;
  border-right: 2px solid #2a96e1;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg);
  margin-bottom: 2px;
}
#menu2 .level1-title:hover {
  color: #2a96e1;
  font-weight: bold;
}
#menu2 .level1-title:hover .toggle-arrow:before {
  border-bottom: 2px solid #2a96e1;
  border-right: 2px solid #2a96e1;
}
#menu2 .level1 .st-Icon-Internal:before {
  color: #2a96e1;
  font-size: 1.1em;
  margin-left: 3px;
  margin-bottom: 3px;
}
#menu2 .level2-item .level2-title {
  display: block;
  padding-top: 0.52vw;
  margin-bottom: 5px;
  color: #666;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
}
#menu2 .level2-item .level2-title:not(:first-child) {
  margin-top: 20px;
}
#menu2 .top-viewMore-arrow::after,
#menu2 .level2-navTitle-ja .top-viewMore-arrow::after {
  content: '';
  background-image: url(../images/index/arrow_04.svg);
  background-repeat: no-repeat;
  background-position: 7px 0px;
  background-size: 18px;
  display: inline-block;
  height: 10px;
  width: 30px;
}
/*hoverした際の移動*/
#menu2 .level2-title:hover .top-viewMore-arrow::before,
#menu2 .level2-navTitle-ja:hover .top-viewMore-arrow::before {
  left: 30%;
}
#menu2 .level2-title:hover .top-viewMore-arrow::after,
#menu2 .level2-navTitle-ja:hover .top-viewMore-arrow::after {
  right: -13%;
}

/* level2 */
#menu2 .level2 {
  display: none;
  overflow: hidden;
  position: absolute;
  width: 100%;
  min-height: 170px;
  left: 0;
  z-index: 500;
  background: #f5f5f5;
  text-align-last: left;
  text-align: left;
  padding-top: 37px;
  padding-bottom: 64px;
}
#menu2 .level2-wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 1258px;
  width: calc(100% - 30px);
  padding: 0 15px;
  margin: auto;
}
#menu2 .level2-item {
  width: 49.592%;
}
#menu2 .level2-item-products1 {
  width: 19.5%;
}
#menu2 .level2-item-products2 {
  width: 37.19%;
}
#menu2 .level2-item-contact {
  width: 48.3713%;
}
/* #menu2 .level2-item-contact2 {
  width: 43.5143%;
} */
#menu2 .level2-item-wrapperMin .level2-item {
  width: calc(50% - 5px);
}
#menu2 .level2-item-inner {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  height: 100%;
}
#menu2 .level2-itemSingle {
  width: 100%;
}
#menu2 .level2-item.level2-item-middle {
  width: 56%;
  margin-top: 37px;
}
#menu2 .level2-item a {
  color: #fff;
  font-size: 16px;
}
#menu2 .level2-item-wrapper {
  width: 100%;
}
#menu2 .level2-item-wrapperMin {
  max-width: 810px;
  margin-top: -0.52vw;
  margin-left: auto;
  margin-right: auto;
}
#menu2 .level2-item-wrapperMid {
  max-width: 945px;
}
#menu2 .level2-navTitle {
  color: #fff;
  margin-right: 1vw;
  max-width: 265px;
}
#menu2 .level1 > .level1-title::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  justify-content: center;
  height: 5px;
  background-color: #2a96e1;
  transition: width 300ms;
  width: 0;
}
#menu2 .open-arrow > .level1-title::after,
#menu2 .level1 > .level1-title:hover::after {
  width: 100%;
}
#menu2 .level2,
#menu2 .level2 li {
  box-sizing: inherit !important;
  list-style-type: none !important;
  list-style: none !important;
  list-style-position: outside !important;
  list-style-image: none !important;
}

/* for Edge */
@supports (-ms-ime-align: auto) {
  #menu2 .level2 li a {
    padding: 15px 0 15px 35px;
  }
}
/* for IE11 */
@media all and (-ms-high-contrast: none) {
  #menu2 .level2 li a {
    padding: 15px 0 15px 35px;
  }
}
#menu2 .level2-navTitle-en {
  margin-right: 40px;
  font-size: 28px;
  font-weight: bold;
  font-family: Roboto;
  letter-spacing: 0.025em;
  color: #333;
}
#menu2 .level2-navTitle-ja {
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  color: #666;
}
#menu2 .level2-navTitle-bnr {
  position: relative;
  display: block;
  margin-top: 50px;
  overflow: hidden;
}
#menu2 .level2-navTitle-bnr > img {
  width: 100%;
  height: auto;
  -webkit-transition: transform 0.4s ease;
  transition: transform 0.4s ease;
}
#menu2 .level2-navTitle-bnr:hover > img {
  -webkit-transform: scale(1.08, 1.08);
  transform: scale(1.08, 1.08);
}
#menu2 .level2-navTitle-bnr .st-Icon-Internal {
  position: absolute;
  right: 12px;
  bottom: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 2px solid #fff;
  border-radius: 100%;
}
#menu2 .level2-navTitle-bnr:hover .st-Icon-Internal {
  border-color: #0e7dcb;
  background-color: #0e7dcb;
}
#menu2 .level2-navTitle-bnr .st-Icon-Internal::before {
  margin: 0;
  font-size: 1.0em;
  color: #fff;
}
#menu2 .level2-item-flex {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
#menu2 .level2-item-flex-product {
  /* width: 100%;
  max-width: 1210px; */
}
#menu2 .level2-contact {
  border: 1px solid #bebebe;
  padding: 1.1vw;
  width: 100%;
  box-sizing: border-box;
  margin: 15px 0 0;
}
#menu2 .level2-contact-wrapper {
  text-align-last: center;
  text-align: center;
}

#menu2 .level2-contact-text {
  color: #666;
  font-size: 14px;
  font-weight: bold;
}
#menu2 .level2-contact-textS {
  color: #666;
  font-size: 11px;
}
#menu2 .level2-contact-tel {
  margin: 5px 0;
  font-size: 42px;
  font-weight: bold;
  font-family: Roboto;
}

/* level3 */
#menu2 .level2-itemSingle .level3 {
  display: flex;
  justify-content: space-between;
}
#menu2 .level3-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
#menu2 .level3-flex-normal {
  justify-content: normal;
  align-items: center;
  margin-bottom: 20px;
}
#menu2 .level3-flex-end {
  justify-content: flex-end;
  margin-top: 40px;
}
#menu2 .level3-flexSub {
  align-content: space-between;
  height: 100%;
  margin-top: 0.6vw;
}
#menu2 .level3 .level3-item {
  line-height: calc(19.6 / 14);
  background-color: #fff;
  margin-top: 0.52vw;
  padding: 15px 20px;
  width: calc(50% - 5px);
  box-sizing: border-box;
  font-weight: bold;
  font-size: 14px;
  color: #333;
  text-decoration: none;
  box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.15);
}
#menu2 .level3 .level3-item-button {
  position: relative;
  width: auto;
  min-width: 160px;
  margin-left: 8px;
  padding: 10px 0 9px;
  padding-right: 19px;
  padding-left: 25px;
  color: #2a96e1;
  border-radius: 50px;
  border: 2px solid #2a96e1;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 13px;
  text-decoration: none;
  text-align-last: center;
  text-align: center;
}
#menu2 .level3 .level3-item-button:not([target="_blank"])::after {
  display: inline-block;
  height: 5px;
  width: 15px;
  content: '';
  margin-top: -2.5px;
  margin-left: 8px;
  background-image: url(../images/index/arrow_04.svg);
  background-repeat: no-repeat;
  background-position: center right;
  background-size: 18px;
  vertical-align: middle;
}
#menu2 .level3 .level3-item-button .st-Icon-Internal::before {
  margin-left: 5px;
  margin-bottom: 0;
  font-size: 1.6em;
}
#menu2 .level3 .level3-item-buttonContact {
  min-width: 200px;
  margin-left: 0;
  margin-right: 15px;
}
#menu2 .level3 .level3-item-button:hover {
  background-color: #2a96e1;
  color: #fff;
}
#menu2 .level3 .level3-item-button:hover::after {
  background-image: url(../images/index/arrow_01.svg);
}
#menu2 .level3 .level3-item-button:hover .st-Icon-Internal::before {
  color: #fff;
}
#menu2 .level3 .level3-item:hover {
  background-color: #0e7dcb;
  color: #fff;
}
#menu2 .level2-item-middle .level3-item {
  width: 41.5%;
}
#menu2 .level3 .level3-item.level3-item-middle {
  width: 44.8%;
}
#menu2 .level3 .level3-item.level3-item-large {
  display: block;
  width: 100%;
}
#menu2 .level2-itemSingle .level3 .level3-item.level3-item-large {
  display: block;
  width: 44%;
}
@media screen and (max-width: 1400px) {
  #menu2 .level3-item {
    margin-top: 0.8vw;
    padding: 1.3vw 0.5vw 1.3vw 1.3vw;
    width: 42%;
  }
  #menu2 .level3 .level3-item.level3-item-middle {
    width: 44%;
  }
  #menu2 .level2-item-middle .level3-item {
    width: 41%;
  }
}
#menuWrapper2 {
  clear: both;
  overflow: hidden;
  max-width: calc(1312px + 3.5rem);
  padding: 0rem 1.75rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  #menuWrapper2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  /* sp_title */
  #menuWrapper2 {
    display: none;
  }
}

@media print, screen and (min-width: 1023px) {
  .global-Header .global-Header_MainContentsWrap {
    border-bottom: none;
  }
}
