  @charset "utf-8";

/* ======================================================
 * layout_sp.css
 * ------------------------------------------------------
 * @media only screen and (max-width: 767px)
 * - Common
 * - Header
 * - Gnav
 * - Main
 * - Assist
 * - Footer
 * - Other
 * - Clearfix
 * Media Queries
====================================================== */

@media only screen and (max-width: 640px) {
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
/* non-display */
#headLink,
.spNavList .langLink a span,
#globalNav,
#footerLinkArea #footerLink #productsLink p {
	display: none;
}
  #skipLink {
    background-color:#e0e0e0;
    line-height: 2;
    font-size:13px;
    text-align: center;
    margin: 0px;
    overflow: hidden;
}

#skipLink a {
    position: absolute;
    top: -10em;
    text-decoration:none;
}

#skipLink a:focus {
    position: static;
}

  /* ------------------------------------------------------
   * Header
  ------------------------------------------------------ */
  body.openNav {
    background-color: #000;
  }
  body.openNav #wrapper {
    background-color: #fff;
  }
#headLinkArea {
	display: none;
}

#headerArea {
  width: 100%;
	background: #282423;
}

#headerArea.fixed {
	background: #282423;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 50;
}

.openNav #headerArea {
	z-index: 30;
}

#headerArea #header {
    width: 100%;
	height: 40px;
	padding: 0;
}

#headerArea #header #identity {
  float: left;
	width: 170px;
	height: 40px;
	margin: 0 0 0 7px;
}

#headerArea #header #identity img {
	vertical-align: baseline;
}
  

  .spNavList {
    float: right;
    display: -webkit-flex;
    display: flex;
    border-left: 1px solid #4B4B4B;
  }
.spNavList .langLink,
.spNavList .langLink a {
	display: block;
	padding: 0;
	width: 40px;
	height: 40px;
}
.spNavList .langLink > a {
    background: url(/common_new/img/com_ic03_sp.png) no-repeat 50% 50%;
	background-size: 22px 22px;
}

.spNavList .langLink ul li,
.spNavList .langLink ul li a:not(.btnClose) {
	width: auto;
	height: auto;
}
.spNavList .langLink ul li a:not(.btnClose) {
    padding: 1em 2em;
  text-align: center;
}

.spNavList .langLink ul {
    display: none;
	width: 100%;
	height: 1000px;
    margin: 0;
	box-sizing: border-box;
    padding: 40px 20px 20px;
	/*background: none;*/
    background: rgba(0, 0, 0, 0.85);
    position: absolute;
    top: 40px;
	left: 0;
    z-index: 30;
}
.spNavList a.btnClose {
	display: block;
	width: 25px;
	height: 25px;
	text-indent: -9999px;
	position: absolute;
	top: 15px;
	right: 20px;
  background-color: #d0d0d2;
}
  .spNavList a.btnClose:before {
    position: absolute;
    content: '';
    width: 1px;
    height: 18px;
    top: 50%;
    left: 50%;
    margin-top: -9px;
    background-color: #191919;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .spNavList a.btnClose:after {
    position: absolute;
    content: '';
    width: 1px;
    height: 18px;
    top: 50%;
    left: 50%;
    margin-top: -9px;
    background-color: #191919;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

.spNavList .langLink ul li a:link,
.spNavList .langLink ul li a:visited {
	color: #fff;
}

.spNavList .langLink ul li a:hover {
	background: rgba(255, 255, 255, 0.25);
}

.spNavList .langLink ul li + li {
	border-bottom: 1px solid #504f4f;
}
#search {
    display: block;
    width: 40px;
    height: 40px;
    overflow: hidden;
    background: url(/common_new/img/com_ic02_sp.png) no-repeat center center;
	background-size: 20px 20px;
	border-left: 1px solid #4B4B4B;
    border-right: 1px solid #4B4B4B;
    cursor: pointer;
}
  #search > a > span {
    display: block;
    text-indent: -9999px;
  }
#searchBox {
	width: 100%;
	height: 1000px;
	box-sizing: border-box;
	margin: 0;
	padding: 40px 20px 40px;
	/*background: none;*/
	background: rgba(0, 0, 0, 0.85);
	position: absolute;
	top: 40px;
	left: 0;
  z-index: 10;
}
#searchBox form input.searchByWords {
	color: #fff;
	font-size: 1.5rem;
	box-sizing: border-box;
	width: 100%;
	padding: 8px 80px 8px 0;
	background: none;
	border: none;
	border-radius: 0;
	border-bottom: 1px solid #fff;
}

#searchBox form input.searchByWords:focus {
	outline: none;
}

#searchBox form .btnSearch {
	color: #fff;
	background: #c84349;
	display: inline-block;
	text-align: center;
	position: absolute;
  min-width: 50px;
	top: 20px;
	right: 0;
	font-size: 1.2rem;
	border: none;
	-webkit-appearance: none;
	border-radius: 0;
}

#searchBox form {
  position: relative;
    width: 100%;
    height: auto;
    padding: 11px 0px;
}

#spMenuBtn {
	display: block;
	width: 40px;
	height: 40px;
	text-indent: -9999px;
	overflow: hidden;
	background: url(/common_new/img/com_ic05_sp.png) no-repeat center center;
	background-size: 28px 18px;
	cursor: pointer;
}

  
  /* ------------------------------------------------------
   * Gnav
  ------------------------------------------------------ */
#globalNav {
	display: none;
	width: 80%;
	min-height: 100%;
	background: #000;
	position: absolute;
	top: 0;
	right: -80%;
  overflow: hidden;
}

.openNav #globalNav {
	display: block;
}

/* Display nav items vertically */

#globalNav ul {
	padding: 0;
	width: 100%;
}

#globalNav ul li {
	width: 100%;
	background: #fff;
}

#globalNav ul li#home {
	display: block;
}

#globalNav ul li:before {
	content: "";
}

#globalNav ul li a {
	font-size: 1.5rem;
	display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column wrap;
  flex-flow: column wrap;
  -webkit-justify-content: center;
  justify-content: center;
	padding: 4px 36px 5px 12px;
  min-height: 45px;
  line-height: 1.2;
	background: #fff;
  position: relative;
  border-bottom: 1px solid #040404;
}
  #globalNav ul li .navTitle {
    display: block;
    padding: 12px 12px 12px 42px;
    border-bottom: 1px solid #040404;
    color: #fff;
    background-color: #555555;
  }
  #globalNav ul li .navTitle2 {
    display: block;
    padding: 12px 12px 12px 42px;
    border-bottom: 1px solid #040404;
    background-color: #f4f4f4;
  }
#globalNav ul li a:link,
#globalNav ul li a:visited,
#globalNav ul li a.open:link,
#globalNav ul li a.open:visited {
	color: #000;
}

#globalNav ul li#home a {
	color: #fff;
	font-weight: bold;
  background-color: #000;
}
  #globalNav ul li > a:not(.a-blank):not(.a-pdf):not(.trigger):not(.proTrigger):after {
    position: absolute;
    content: '';
    width: 10px;
    height: 10px;
    top: 50%;
    right: 20px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
  }
  #globalNav ul li#home a:after {
    border-top-color: #eee;
    border-right-color: #eee;
  }
  #globalNav ul li > a.a-blank:after {
    position: absolute;
    content: '';
    width: 16px;
    height: 14px;
    top: 50%;
    right: 10px;
    margin-top: -7px;
    background: url(/common_new/img/link_ic01.png) no-repeat 0 0;
    -webkit-background-size: 16px 14px;
    background-size: 16px 14px;
  }
  #globalNav ul li > a.a-pdf:after {
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    top: 50%;
    right: 10px;
    margin-top: -10px;
    background: url(/common_new/img/link_ic02.png) no-repeat 0 0;
    -webkit-background-size: 20px 20px;
    background-size: 20px 20px;
  }
  #globalNav ul li > .trigger:before,
  #globalNav ul li > .proTrigger:before {
    position: absolute;
    content: '';
    width: 19px;
    height: 1px;
    top: 50%;
    right: 10px;
    background-color: #000;
  }
  #globalNav ul li > .trigger:after,
  #globalNav ul li > .proTrigger:after {
    position: absolute;
    content: '';
    width: 1px;
    height: 19px;
    top: 50%;
    right: 19px;
    margin-top: -9px;
    background-color: #000;
  }
  #globalNav ul li > .trigger.is-active,
  #globalNav ul li > .proTrigger.is-active{
    background-color: #e4e4e4;
  }
  #globalNav ul li .navProductList .trigger.is-active {
    background-color: #f2f2f2;
  }
  #globalNav ul li > .trigger.is-active:after,
  #globalNav ul li > .proTrigger.is-active:after{
    display: none;
  }
  #globalNav .navigation .nav4thList {
    display: none;
  }
  #globalNav .navigation .navProductList .nav4thList {
    display: block;
  }
  #globalNav .navigation > li > ul > li > a {
    padding-left: 26px;
  }
  #globalNav .navigation > li > ul > li > ul > li > a {
    padding-left: 42px;
  }
  #globalNav .navigation > li > ul > li > ul > li > ul> li > a {
    padding-left: 52px;
  }
  #globalNav .otherLinks {
    margin-top: 25px;
    padding: 0 12px;
  }
  #globalNav .otherLinks > li + li {
    margin-top: 15px;
  }
  
  
  #globalNav .headSnsLink {
    padding: 20px 10px 0;
  }
  #globalNav .headSnsLink > li {
    background-color: transparent;
  }
  #globalNav .headSnsLink > * + * {
    margin-top: 16px;
  }
  #globalNav .headSnsLink > .link-linkedin + * {
    margin-top: 10px;
  }

/* When the Navi is closed, transition the page back to the right */

#wrapper {
	overflow: visible;
	/*padding: 40px 0 0;*/
	/*
	left: 0;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	*/
	-webkit-transition: -webkit-transform 500ms ease;
	-moz-transition: -moz-transform 500ms ease;
	-o-transition: -o-transform 500ms ease;
	transition: transform 500ms ease;
}

/* Reveal open/close */

.openNav #wrapper {
	left: 0;
	-webkit-transform: translate3d(-80%, 0, 0);
	-moz-transform: translate3d(-80%, 0, 0);
	-ms-transform: translate3d(-80%, 0, 0);
	-o-transform: translate3d(-80%, 0, 0);
	transform: translate3d(-80%, 0, 0);
	-webkit-transition: -webkit-transform 500ms ease;
	-moz-transition: -moz-transform 500ms ease;
	-o-transition: -o-transform 500ms ease;
	transition: transform 500ms ease;
}

.openNav .overlay {
	/*background: rgba(0, 0, 0, 0.85);*/
	background: rgba(0, 0, 0, 0.85) url(/common_new/img/com_ic05_sp.png) no-repeat 97.5% 10px;
	background-size: 28px 18px;
	width: 100%;
	height: 100%;
	position: absolute;
	/*top: 34px;*/
	top: 0;
	left: 0px;
	z-index: 40;
}
.openNav .overlay {
	cursor: pointer;	
	-webkit-box-shadow: 2px 0px 6px rgba(51,51,51,0.75);
	-moz-box-shadow: 2px 0px 6px rgba(51,51,51,0.75);
	box-shadow: 2px 0px 6px rgba(51,51,51,0.75);
	-ms-box-shadow: 2px 0px 6px rgba(51,51,51,0.75);
}
.overlay-close {
    display: none!important;
}

  /* ------------------------------------------------------
   * Main
  ------------------------------------------------------ */
#wrapper {
    min-width: 100%;
	box-sizing: border-box;
}

#headLinkArea,
#headerArea #header,
footer,
#contentsArea,
#mainContentsArea {
	width: 100%;
	min-width: 320px;
}

#contentsArea {
    margin-top: 30px;
}
/*#keyvisualArea + #contentsArea {
    margin-top: 10px;
}*/
#mainContentsArea {
    margin-top: 30px;
}
#breadCrumb {
	display: none;
}

  
  /* ------------------------------------------------------
   * sideNav
  ------------------------------------------------------ */
  #sideNav {
    clear: both;
    margin: 40px 0;
    padding-left: 10px;
    padding-right: 10px;
  }
  #sideNav .sideNavList {
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }
  #sideNav .sideNavList li {
    line-height: 1.2;
    border-top: 1px solid #ccc;
  }
  #sideNav .sideNavList li a,
  #sideNav .sideNavList li .navTitle,
  #sideNav .sideNavList li .navTitle2 {
    position: relative;
    display: block;
    padding: 0.8em 1em 0.8em 25px;
    font-size: 1.5rem;
    background-color: #fff;
  }
  #sideNav .sideNavList li .navTitle {
    background-color: #555;
    color: #fff;
    font-weight: bold;
  }
  #sideNav .sideNavList li .navTitle2 {
    background-color: #f2f2f2;
    color: #000;
  }
  #sideNav .sideNavList li a:link {
    color: #000;
  }
  #sideNav .sideNavList li a:visited {
    color: #673ca7;
  }
  #sideNav .sideNavList li a:hover,
  #sideNav .sideNavList li a:active,
  #sideNav .sideNavList li.is-current > a:link,
  #sideNav .sideNavList li.is-current > a:visited,
  #sideNav .sideNavList li.is-current > a:hover,
  #sideNav .sideNavList li.is-current > a:active{
    color: #ed1c24;
    text-decoration: none;
  }
  #sideNav .sideNavList li a.a-blank:after {
    display: inline-block;
    content: '';
    width: 16px;
    height: 14px;
    margin-left: 7px;
    background: url(/common_new/img/link_ic01.png) no-repeat 0 0;
    -webkit-background-size: 16px 14px;
    background-size: 16px 14px;
  }
  #sideNav .sideNavList li a.a-pdf:after {
    display: inline-block;
    content: '';
    width: 20px;
    height: 20px;
    margin-left: 7px;
    background: url(/common_new/img/link_ic02.png) no-repeat 0 0;
    -webkit-background-size: 20px 20px;
    background-size: 20px 20px;
    vertical-align: middle;
  }
  #sideNav .sideNavList li a:before {
    position: absolute;
    content: '';
    width: 6px;
    height: 6px;
    top: 50%;
    left: 10px;
    margin-top: -5px;
    border-top: 1px solid #ed1c24;
    border-right: 1px solid #ed1c24;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #sideNav .sideNavList li.is-active > a:before {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  #sideNav .sideNavList .nav3rdList > li > a {
    padding-left: 37px;
    background-color: #f2f2f2;
  }
  #sideNav .sideNavList .nav3rdList > li > a:before {
    left: 22px;
  }
  #sideNav .sideNavList .nav4thList li a {
    padding-left: 50px;
    background-color: #d9d9d9;
  }
  #sideNav .sideNavList .nav4thList > li > a:before {
    left: 35px;
  }
  #sideNav .sideNavList .nav5thList > li > a {
    padding-left: 64px;
    text-decoration: underline;
  }
  #sideNav .sideNavList .nav5thList > li > a:before {
    display: none;
  }
  #sideNav .sideNavList .nav4thList,
  #sideNav .sideNavList .nav5thList {
    display: none;
  }
  #sideNav .sideNavList li.is-active > .nav4thList,
  #sideNav.displayType2 .sideNavList li.is-current > .nav4thList,
  #sideNav .sideNavList li.is-active > .nav5thList,
  #sideNav.displayType2 .sideNavList li.is-current > .nav5thList{
    display: block;
  }

/* ============================================
	CSR：サイドナビ　リンクなし
============================================ */  
  #sideNav .sideNavList li span {
    position: relative;
    display: block;
    padding: 0.8em 1em 0.8em 25px;
    font-size: 1.5rem;
    background-color: #fff;
    color:#999;
  }
  #sideNav .sideNavList li span.a-blank:after {
    display: inline-block;
    content: '';
    width: 16px;
    height: 14px;
    margin-left: 7px;
    background: url(/common_new/img/link_ic01.png) no-repeat 0 0;
    -webkit-background-size: 16px 14px;
    background-size: 16px 14px;
  }
  #sideNav .sideNavList li span:before {
    position: absolute;
    content: '';
    width: 6px;
    height: 6px;
    top: 50%;
    left: 10px;
    margin-top: -5px;
    border-top: 1px solid #ed1c24;
    border-right: 1px solid #ed1c24;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #sideNav .sideNavList .nav3rdList > li > span {
    padding-left: 37px;
    background-color: #f2f2f2;
  }
  #sideNav .sideNavList .nav3rdList > li > span:before {
    left: 22px;
  }
  #sideNav .sideNavList .nav4thList li span {
    padding-left: 50px;
    background-color: #d9d9d9;
  }
  #sideNav .sideNavList .nav4thList > li > span:before {
    left: 35px;
  }
  #sideNav .sideNavList .nav5thList > li > span {
    padding-left: 64px;
    text-decoration: underline;
  }
  #sideNav .sideNavList .nav5thList > li > span:before {
    display: none;
  }
  
  
  /* ------------------------------------------------------
   * Footer
  ------------------------------------------------------ */

  #footerLinkArea {
    margin-top: 30px;
  }
  #footerLink #groupLink h2 {
    display: none;
  }
  #footerLink #groupLink > ul li > a {
    display: block;
    position: relative;
    padding: 12px 35px 12px 27px;
    color: #000;
    font-size: 1.5rem;
    border-top: 1px solid #000;
  }
  #footerLink #groupLink > ul li ul > li > a {
    padding-left: 40px;
  }
  #footerLink #groupLink > ul li > a:not(.sp-trigger):after {
    position: absolute;
    content: '';
    width: 8px;
    height: 8px;
    top: 50%;
    right: 18px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
  }
  #footerLink #groupLink > ul > .linkTop > a {
    background-color: #000;
    color: #fff;
  }
  #footerLink #groupLink > ul > .linkTop > a:after {
    border-top-color: #fff !important;
    border-right-color: #fff !important;
  }
  #footerLink #groupLink > ul li > .sp-trigger:before {
    position: absolute;
    content: '';
    width: 19px;
    height: 1px;
    top: 50%;
    right: 10px;
    background-color: #000;
  }
  #footerLink #groupLink > ul li .sp-trigger:after {
    position: absolute;
    content: '';
    width: 1px;
    height: 19px;
    top: 50%;
    right: 19px;
    margin-top: -9px;
    background-color: #000;
  }
  #footerLink #groupLink > ul li .sp-trigger.is-active {
    background-color: #e4e4e4;
  }
  #footerLink #groupLink > ul li .sp-trigger.is-active:after {
    display: none;
  }
  #footerLink #productsLink {
    display: none;
  }

footer {
	color: #fff;
	background: #000;
	padding: 0;
}

footer .inner {
	background: #2f2f2f;
}

footer .copyright {
	float: none;
	padding: 11px 50px 11px 10px;
	background: #000;
	line-height: 1.4;
  font-size: 1rem;
}
  footer ul {
    padding: 16px 10px;
    font-size: 1.1rem;
  }
  footer ul li a:link,
  footer ul li a:visited,
  footer ul li a:hover,
  footer ul li a:active {
    color: #fff;
  }
  footer ul li:nth-child(2n+1) {
    float: left;
  }
  footer ul li:nth-child(2n+1):after {
    content: '/';
    margin: 0 0.5em;
    color: #ccc;
  }
  footer ul li:nth-child(n+3) {
    margin-top: 10px;
  }
  
  .Pagetop {
    display: none;
    position: fixed;
    bottom: 0;
    right: 0;
    width: 50px;
    height: 50px;
    z-index: 20;
  }
  .Pagetop a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    background: rgba(77,77,79,0.75);
    overflow: hidden;
  }
  .Pagetop a:after {
    position: absolute;
    content: '';
    width: 14px;
    height: 14px;
    top: 23px;
    left: 50%;
    margin-left: -5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }





  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .clearfix::after {
    display: block;
    clear: both;
    content: "";
  }
}

