@media screen and (max-width: 767px) {
  #frame {
    padding-top: 80px !important;
  }
  #topicPath {
    margin-top: 20px !important;
  }
}

hr {
  display: none;
}

#subColumn.none {
  display: none !important;
}

#header {
  /*  HTML5 display-role reset for older browsers */
  /* clearfix */
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  font-family: 'Noto Sans JP', sans-serif;
  font-display: swap;
  line-height: 1.5;
  font-size: 10px;
  color: #1b1b1b;
  max-width: inherit;
  width: 100%;
  height: 80px;
  border-bottom: 1px solid #e2e2e2;
  display: table;
  position: relative;
}

#header html, #header body, #header div, #header span, #header applet, #header object, #header iframe, #header h1, #header h2, #header h3, #header h4, #header h5, #header h6, #header p, #header blockquote, #header pre,
#header a, #header abbr, #header acronym, #header address, #header big, #header cite, #header code, #header del, #header dfn, #header em, #header img, #header ins, #header kbd, #header q, #header s, #header samp,
#header small, #header strike, #header strong, #header sub, #header sup, #header tt, #header var, #header b, #header u, #header i, #header center, #header dl, #header dt, #header dd, #header ol, #header ul, #header li,
#header fieldset, #header form, #header label, #header legend, #header table, #header caption, #header tbody, #header tfoot, #header thead, #header tr, #header th, #header td, #header article, #header aside, #header canvas, #header details, #header embed,
#header figure, #header figcaption, #header footer, #header header, #header hgroup, #header menu, #header nav, #header output, #header ruby, #header section, #header summary, #header time, #header mark, #header audio, #header video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

#header article, #header aside, #header details, #header figcaption, #header figure, #header footer, #header header, #header hgroup, #header menu, #header nav, #header section {
  display: block;
}

#header body {
  line-height: 1;
}

#header ol, #header ul {
  list-style: none;
}

#header blockquote, #header q {
  quotes: none;
}

#header blockquote:before, #header blockquote:after,
#header q:before, #header q:after {
  content: none;
}

#header table {
  border-collapse: collapse;
  border-spacing: 0;
}

#header a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

#header .clearfix {
  overflow: hidden;
}

#header .clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

#header * html .clearfix {
  zoom: 1;
}

#header *:first-child + html .clearfix {
  zoom: 1;
}

#header img {
  width: inherit;
  max-width: 176px;
  height: inherit;
}

#header #logo {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: 20%;
  height: 50px;
  border-right: 1px solid #e2e2e2;
  /*padding: 0 10px;*/
}

#header #logo a:hover {
  text-decoration: none;
}

#header #headerParts {
  display: table-cell;
  width: 80%;
  vertical-align: middle;
  font-weight: 500;
}

#header #headerParts #upper {
  height: 34px;
  border-bottom: 1px solid #e2e2e2;
  display: table;
  width: 100%;
}

#header #headerParts #headerNav {
  display: table-cell;
  vertical-align: middle;
  width: 76%;
  height: 35px;
  text-align: right;
  border-right: 1px solid #e2e2e2;
}

#header #headerParts #headerNav a {
  color: #1b1b1b;
  font-size: 12px;
  text-decoration: none;
  padding-right: 16px;
}

#header #headerParts #headerNav a:hover {
  color: #1b1b1b;
  text-decoration: underline;
}

#header #headerParts #headerNav #searchBtn {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
}

#header #headerParts #headerNav #searchBox {
  position: absolute;
  right: 0;
  top: 0;
  display: none;
}

#header #headerParts #headerNav #searchForm {
  width: 0;
}

#header #headerParts #headerNav #searchSm {
  padding: 0px 0px 0px 10px;
  outline: #9ecaed solid 1px;
  border: currentColor;
  -o-border-image: none;
     border-image: none;
  top: 0px;
  width: 100%;
  height: 35px;
  right: 0px;
  position: absolute;
  z-index: 5;
}

#header #headerParts #headerNav #closeSearch {
  float: right;
  position: relative;
  z-index: 5;
  padding-right: 0;
}

#header #headerParts .menu {
  display: table;
  width: 100%;
  margin: 0;
}

#header #headerParts .menu > li {
  display: table-cell;
  height: 45px;
  text-align: center;
  vertical-align: middle;
  list-style: none;
  border-left: 1px solid #e2e2e2;
  line-height: 1;
}

#header #headerParts .menu > li:first-child {
  border-left: none;
}

#header #headerParts .nav-col2 .menu > li {
  width: 50%;
}

#header #headerParts .nav-col3 .menu > li {
  width: 33.33%;
}

#header #headerParts .nav-col4 .menu > li {
  width: 25%;
}

#header #headerParts .nav-col5 .menu > li {
  width: 20%;
}

#header #headerParts .nav-col6 .menu > li {
  width: 16.66%;
}

#header #headerParts .menu > li > a {
  width: 100%;
  display: block;
  /*font2019-size:1.5em;*/
  font-size: 16px;
  color: #cb1c1d;
  text-decoration: none;
  height: 45px;
  line-height: 45px;
  position: relative;
}

#header #headerParts .menu > li > a:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 0%;
  height: 3px;
  transition: 0.2s;
  background-color: #fc0204;
}

#header #headerParts .menu > li.dropDown > a:after {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  transform: translate(150%, -30%) rotate(45deg);
}

#header #headerParts .menu > li.dropDown.open > a:after {
  background-position: center top;
}

#header #headerParts .menu > li > a:hover:before {
  width: 100%;
}

@media screen and (max-width: 1120px) {
  #header #headerParts .menu > li > a {
    font-size: 12px;
  }
}

@media screen and (max-width: 900px) {
  #header #headerParts .menu > li > a {
    font-size: 10px;
  }
}

.sp_headerArea {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc_contents {
    display: none !important;
  }
  .sph1 {
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    border-left: 5px solid #eee;
    padding-left: 8px;
    text-align: left;
    margin: 10px 2%;
  }
  .sp_headerArea {
    /*  HTML5 display-role reset for older browsers */
    /* clearfix */
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
    font-family: 'Noto Sans JP', sans-serif;
    font-display: swap;
    line-height: 1.5;
    font-size: 10px;
    color: #1b1b1b;
    display: block;
    position: relative;
    left: 0px;
  }
  .sp_headerArea html, .sp_headerArea body, .sp_headerArea div, .sp_headerArea span, .sp_headerArea applet, .sp_headerArea object, .sp_headerArea iframe, .sp_headerArea h1, .sp_headerArea h2, .sp_headerArea h3, .sp_headerArea h4, .sp_headerArea h5, .sp_headerArea h6, .sp_headerArea p, .sp_headerArea blockquote, .sp_headerArea pre,
  .sp_headerArea a, .sp_headerArea abbr, .sp_headerArea acronym, .sp_headerArea address, .sp_headerArea big, .sp_headerArea cite, .sp_headerArea code, .sp_headerArea del, .sp_headerArea dfn, .sp_headerArea em, .sp_headerArea img, .sp_headerArea ins, .sp_headerArea kbd, .sp_headerArea q, .sp_headerArea s, .sp_headerArea samp,
  .sp_headerArea small, .sp_headerArea strike, .sp_headerArea strong, .sp_headerArea sub, .sp_headerArea sup, .sp_headerArea tt, .sp_headerArea var, .sp_headerArea b, .sp_headerArea u, .sp_headerArea i, .sp_headerArea center, .sp_headerArea dl, .sp_headerArea dt, .sp_headerArea dd, .sp_headerArea ol, .sp_headerArea ul, .sp_headerArea li,
  .sp_headerArea fieldset, .sp_headerArea form, .sp_headerArea label, .sp_headerArea legend, .sp_headerArea table, .sp_headerArea caption, .sp_headerArea tbody, .sp_headerArea tfoot, .sp_headerArea thead, .sp_headerArea tr, .sp_headerArea th, .sp_headerArea td, .sp_headerArea article, .sp_headerArea aside, .sp_headerArea canvas, .sp_headerArea details, .sp_headerArea embed,
  .sp_headerArea figure, .sp_headerArea figcaption, .sp_headerArea footer, .sp_headerArea header, .sp_headerArea hgroup, .sp_headerArea menu, .sp_headerArea nav, .sp_headerArea output, .sp_headerArea ruby, .sp_headerArea section, .sp_headerArea summary, .sp_headerArea time, .sp_headerArea mark, .sp_headerArea audio, .sp_headerArea video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
  }
  .sp_headerArea article, .sp_headerArea aside, .sp_headerArea details, .sp_headerArea figcaption, .sp_headerArea figure, .sp_headerArea footer, .sp_headerArea header, .sp_headerArea hgroup, .sp_headerArea menu, .sp_headerArea nav, .sp_headerArea section {
    display: block;
  }
  .sp_headerArea body {
    line-height: 1;
  }
  .sp_headerArea ol, .sp_headerArea ul {
    list-style: none;
  }
  .sp_headerArea blockquote, .sp_headerArea q {
    quotes: none;
  }
  .sp_headerArea blockquote:before, .sp_headerArea blockquote:after,
  .sp_headerArea q:before, .sp_headerArea q:after {
    content: none;
  }
  .sp_headerArea table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  .sp_headerArea a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .sp_headerArea .clearfix {
    overflow: hidden;
  }
  .sp_headerArea .clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .sp_headerArea * html .clearfix {
    zoom: 1;
  }
  .sp_headerArea *:first-child + html .clearfix {
    zoom: 1;
  }
  .sp_headerArea .sp_logoArea {
    position: fixed;
    top: 0;
    left: 0;
    overflow: hidden;
    background: #fff;
    z-index: 20;
    width: 96%;
    padding: 0 2%;
    border-bottom: 5px solid #f00000;
  }
  .sp_headerArea .sp_logoArea .sp_ci {
    float: left;
    text-align: left;
    padding: 15px 2% 7px 2%;
    margin: 0;
  }
  .sp_headerArea .sp_logoArea .sp_ci img {
    width: 182px;
    height: auto;
  }
  .sp_headerArea .sp_logoArea .sp_header_menuButton a {
    display: block;
    float: right;
    width: 40px;
    height: 40px;
    /* text-indent: -99999px; */
  }
  .sp_headerArea .sp_header_menuButton a {
    display: block;
    background: url(/jp/cmn_2020/img/top/sp_icon_menuBtnO.png) no-repeat !important;
    background-position: left 12px !important;
    background-size: 35px 29px !important;
  }
  .sp_headerArea .sp_header_menuButton a.open {
    display: block;
    background: url(/jp/cmn_2020/img/sp_icon_menuBtnC.png) no-repeat !important;
    background-position: left 12px !important;
    background-size: 35px 29px !important;
  }
  .sp_headerArea .sp_search {
    margin-bottom: 10px;
    padding: 8px 0px 6px 0px;
    border-bottom: 3px solid #ccc;
  }
  .sp_headerArea .sp_search p {
    display: table;
    width: 100%;
    padding: 0;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }
  .sp_headerArea .sp_search input#searchSubmitForm {
    display: table-cell;
    width: 70%;
    height: 36px;
    line-height: 36px;
    border: 2px solid #ccc;
    border-radius: 4px;
    padding-left: 28px;
    text-align: left;
    vertical-align: middle;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    background: url(/jp/cmn_2020/img/sp_icon_search.png) no-repeat, linear-gradient(to bottom, #f4f4f4, #f8f8f8);
    background-position: 5px center;
    background-size: 18px;
    font-size: 20px;
    resize: none;
  }
  .sp_headerArea .sp_search input#searchSubmitBtn {
    display: table-cell;
    width: 20%;
    height: 36px;
    line-height: 36px;
    border-radius: 4px;
    text-align: center;
    vertical-align: middle;
    border: none;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    background: linear-gradient(to bottom, #fafafa, #dcdcdc);
  }
  .sp_headerArea .sp_menuButton {
    display: table;
    width: 100%;
    margin-bottom: 5px;
    padding: 0 2%;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }
  .sp_headerArea .sp_menuButton li {
    display: table-cell;
    padding: 0 1%;
    text-align: center;
    vertical-align: bottom;
    background-size: 10px 10px;
    background-position: right bottom;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }
  .sp_headerArea .sp_menuButton li img {
    width: 100%;
    height: auto;
  }
  #sp_menuWrapper {
    /*  HTML5 display-role reset for older browsers */
    /* clearfix */
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
    font-family: 'Noto Sans JP', sans-serif;
    font-display: swap;
    line-height: 1.5;
    font-size: 10px;
    color: #1b1b1b;
    text-align: left;
    z-index: 999999;
    width: 100%;
    position: fixed;
    background-color: #f3f3f3;
    top: 51px;
    left: 0;
    display: none;
    max-height: calc(100% - 60px);
    overflow: scroll;
    box-sizing: border-box;
    font-size: 140%;
    font-weight: 700;
  }
  #sp_menuWrapper html, #sp_menuWrapper body, #sp_menuWrapper div, #sp_menuWrapper span, #sp_menuWrapper applet, #sp_menuWrapper object, #sp_menuWrapper iframe, #sp_menuWrapper h1, #sp_menuWrapper h2, #sp_menuWrapper h3, #sp_menuWrapper h4, #sp_menuWrapper h5, #sp_menuWrapper h6, #sp_menuWrapper p, #sp_menuWrapper blockquote, #sp_menuWrapper pre,
  #sp_menuWrapper a, #sp_menuWrapper abbr, #sp_menuWrapper acronym, #sp_menuWrapper address, #sp_menuWrapper big, #sp_menuWrapper cite, #sp_menuWrapper code, #sp_menuWrapper del, #sp_menuWrapper dfn, #sp_menuWrapper em, #sp_menuWrapper img, #sp_menuWrapper ins, #sp_menuWrapper kbd, #sp_menuWrapper q, #sp_menuWrapper s, #sp_menuWrapper samp,
  #sp_menuWrapper small, #sp_menuWrapper strike, #sp_menuWrapper strong, #sp_menuWrapper sub, #sp_menuWrapper sup, #sp_menuWrapper tt, #sp_menuWrapper var, #sp_menuWrapper b, #sp_menuWrapper u, #sp_menuWrapper i, #sp_menuWrapper center, #sp_menuWrapper dl, #sp_menuWrapper dt, #sp_menuWrapper dd, #sp_menuWrapper ol, #sp_menuWrapper ul, #sp_menuWrapper li,
  #sp_menuWrapper fieldset, #sp_menuWrapper form, #sp_menuWrapper label, #sp_menuWrapper legend, #sp_menuWrapper table, #sp_menuWrapper caption, #sp_menuWrapper tbody, #sp_menuWrapper tfoot, #sp_menuWrapper thead, #sp_menuWrapper tr, #sp_menuWrapper th, #sp_menuWrapper td, #sp_menuWrapper article, #sp_menuWrapper aside, #sp_menuWrapper canvas, #sp_menuWrapper details, #sp_menuWrapper embed,
  #sp_menuWrapper figure, #sp_menuWrapper figcaption, #sp_menuWrapper footer, #sp_menuWrapper header, #sp_menuWrapper hgroup, #sp_menuWrapper menu, #sp_menuWrapper nav, #sp_menuWrapper output, #sp_menuWrapper ruby, #sp_menuWrapper section, #sp_menuWrapper summary, #sp_menuWrapper time, #sp_menuWrapper mark, #sp_menuWrapper audio, #sp_menuWrapper video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
  }
  #sp_menuWrapper article, #sp_menuWrapper aside, #sp_menuWrapper details, #sp_menuWrapper figcaption, #sp_menuWrapper figure, #sp_menuWrapper footer, #sp_menuWrapper header, #sp_menuWrapper hgroup, #sp_menuWrapper menu, #sp_menuWrapper nav, #sp_menuWrapper section {
    display: block;
  }
  #sp_menuWrapper body {
    line-height: 1;
  }
  #sp_menuWrapper ol, #sp_menuWrapper ul {
    list-style: none;
  }
  #sp_menuWrapper blockquote, #sp_menuWrapper q {
    quotes: none;
  }
  #sp_menuWrapper blockquote:before, #sp_menuWrapper blockquote:after,
  #sp_menuWrapper q:before, #sp_menuWrapper q:after {
    content: none;
  }
  #sp_menuWrapper table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  #sp_menuWrapper a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  #sp_menuWrapper .clearfix {
    overflow: hidden;
  }
  #sp_menuWrapper .clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  #sp_menuWrapper * html .clearfix {
    zoom: 1;
  }
  #sp_menuWrapper *:first-child + html .clearfix {
    zoom: 1;
  }
  #sp_menuWrapper #subnav {
    display: none;
  }
  #sp_menuWrapper.open {
    display: block;
  }
  #sp_menuWrapper.open #mainnav a {
    color: #212121;
  }
  #sp_menuWrapper.open #mainnav a:hover {
    text-decoration: none;
  }
  #sp_menuWrapper.open #mainnav li {
    list-style: none;
  }
  #sp_menuWrapper.open #mainnav li.current {
    background-color: #fff;
  }
  #sp_menuWrapper.open #mainnav li a:before {
    content: "";
    display: inline-block;
    margin-right: 1em;
    vertical-align: middle;
    width: 50px;
    height: 50px;
  }
  #sp_menuWrapper.open #mainnav .innovation a:before {
    background: url("/jp/cmn_2020/img/nav_innovation.png") no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .innovation.current a:before {
    background: url("/jp/cmn_2020/img/nav_innovation_on.png") no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .products a:before {
    background: url("/jp/cmn_2020/img/nav_products.png") no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .products.current a:before {
    background: url("/jp/cmn_2020/img/nav_products_on.png") no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .technology {
    width: 100%;
  }
  #sp_menuWrapper.open #mainnav .technology:before {
    content: none;
  }
  #sp_menuWrapper.open #mainnav .technology a:before {
    background: url("/jp/cmn_2020/img/nav_technology.png") no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .technology.current a:before {
    background: url("/jp/cmn_2020/img/nav_technology_on.png") no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .sustainability a:before {
    background: url("/jp/cmn_2020/img/nav_sustainability.png") no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .sustainability.current a:before {
    background: url("/jp/cmn_2020/img/nav_sustainability_on.png") no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .ir a:before {
    background: url("/jp/cmn_2020/img/nav_ir.png") no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .ir.current a:before {
    background: url("/jp/cmn_2020/img/nav_ir_on.png") no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .profile a:before {
    background: url("/jp/cmn_2020/img/nav_profile.png") no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .profile.current a:before {
    background: url("/jp/cmn_2020/img/nav_profile_on.png") no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .list {
    width: 100%;
    margin: 0 auto 20px;
  }
  #sp_menuWrapper.open #mainnav .list a {
    display: block;
    padding: 12px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
  }
  #sp_menuWrapper.open #mainnav .list a:after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    top: 50%;
    right: 3%;
    border-right: 1px solid #e93527;
    border-bottom: 1px solid #e93527;
    transform: translate(0, -50%) rotate(-45deg);
  }
  #sp_menuWrapper.open #mainnav .recruit {
    width: 94%;
    border: 1px solid #e8e8e8;
    text-align: center;
    margin-bottom: 20px;
  }
  #sp_menuWrapper.open #mainnav .recruit a {
    display: block;
    padding: 12px 20px;
    position: relative;
  }
  #sp_menuWrapper.open #mainnav .recruit a:after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    top: 50%;
    right: 20px;
    border-right: 1px solid #e93527;
    border-bottom: 1px solid #e93527;
    transform: translate(0, -50%) rotate(-45deg);
  }
  #sp_menuWrapper.open #mainnav .pnav {
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #sp_menuWrapper.open #mainnav .pnav li {
    width: 48%;
    border-bottom: 1px solid #e8e8e8;
  }
  #sp_menuWrapper.open #mainnav .pnav li a {
    padding: 12px;
  }
  #sp_menuWrapper.open #mainnav .pnav li a:before {
    content: none;
  }
  #sp_menuWrapper.open #mainnav .gnav {
    background-color: #f3f3f3;
  }
  #sp_menuWrapper.open #mainnav .gnav li {
    border-bottom: 1px solid #e8e8e8;
  }
  #sp_menuWrapper.open #mainnav .gnav a {
    font-weight: bold;
  }
  #sp_menuWrapper.open #mainnav .footernav {
    display: flex;
    flex-wrap: wrap;
  }
  #sp_menuWrapper.open #mainnav .footernav li {
    width: 100%;
    box-sizing: border-box;
  }
  #sp_menuWrapper.open #mainnav .footernav li:first-child, #sp_menuWrapper.open #mainnav .footernav li:nth-child(2) {
    border-bottom: 1px solid #e8e8e8;
  }
  #sp_menuWrapper.open #mainnav .footernav li:last-child {
    border-left: 1px solid #e8e8e8;
  }
  #sp_menuWrapper.open #mainnav .footernav li:nth-child(n+3) {
    width: 50%;
  }
  #sp_menuWrapper.open #mainnav .contact {
    text-align: center;
    font-size: 150%;
  }
  #sp_menuWrapper.open #mainnav .contact a {
    display: block;
    background-color: #ea3323;
    color: #fff;
    padding: 0.7em 0;
    position: relative;
  }
  #sp_menuWrapper.open #mainnav .contact a:after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    top: 50%;
    right: 20px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: translate(0, -50%) rotate(-45deg);
  }
  #sp_menuWrapper.open .bg1 {
    width: 100%;
    background-color: #fff;
    padding: 16px 0;
  }
  #sp_menuWrapper.open .bg1 .close {
    width: 90%;
    font-size: 150%;
    border: 1px solid #999;
    text-align: center;
    padding: .8em;
    margin: 0 auto;
    box-sizing: border-box;
  }
  #sp_menuWrapper.under {
    font-size: 100%;
  }
  #sp_menuWrapper.under.open {
    display: flex;
    flex-wrap: wrap;
  }
  #sp_menuWrapper.under #mainnav {
    width: 30%;
    padding-bottom: 20px;
  }
  #sp_menuWrapper.under #mainnav .list {
    width: 100%;
    margin-bottom: 0;
  }
  #sp_menuWrapper.under #mainnav .list li {
    width: 100%;
    text-align: center;
  }
  #sp_menuWrapper.under #mainnav .list li a {
    padding: 4px;
    width: 100%;
    box-sizing: border-box;
  }
  #sp_menuWrapper.under #mainnav .list li a:before {
    display: block;
    margin: 0 auto 10px;
  }
  #sp_menuWrapper.under #mainnav .list li a:after {
    content: none;
  }
  #sp_menuWrapper.under #mainnav .gnav {
    margin-bottom: 20px;
  }
  #sp_menuWrapper.under #mainnav .gnav li {
    border-bottom: none;
  }
  #sp_menuWrapper.under #mainnav .gnav .current {
    background-color: #fff;
  }
  #sp_menuWrapper.under #mainnav .recruit {
    width: 90%;
    margin-bottom: 0 auto;
    border: none;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
  }
  #sp_menuWrapper.under #mainnav .recruit a {
    padding: 1.5em 0;
  }
  #sp_menuWrapper.under #mainnav .recruit a:after {
    content: none;
  }
  #sp_menuWrapper.under #mainnav .pnav {
    width: 90%;
    margin: 0 auto;
  }
  #sp_menuWrapper.under #mainnav .pnav li {
    border-bottom: 1px solid #e8e8e8;
  }
  #sp_menuWrapper.under #mainnav .pnav li a {
    padding: 1.5em 0;
  }
  #sp_menuWrapper.under #subnav {
    /*  HTML5 display-role reset for older browsers */
    /* clearfix */
    display: block;
    width: 70%;
    box-sizing: border-box;
    padding: 3%;
    background-color: #fff;
  }
  #sp_menuWrapper.under #subnav html, #sp_menuWrapper.under #subnav body, #sp_menuWrapper.under #subnav div, #sp_menuWrapper.under #subnav span, #sp_menuWrapper.under #subnav applet, #sp_menuWrapper.under #subnav object, #sp_menuWrapper.under #subnav iframe, #sp_menuWrapper.under #subnav h1, #sp_menuWrapper.under #subnav h2, #sp_menuWrapper.under #subnav h3, #sp_menuWrapper.under #subnav h4, #sp_menuWrapper.under #subnav h5, #sp_menuWrapper.under #subnav h6, #sp_menuWrapper.under #subnav p, #sp_menuWrapper.under #subnav blockquote, #sp_menuWrapper.under #subnav pre,
  #sp_menuWrapper.under #subnav a, #sp_menuWrapper.under #subnav abbr, #sp_menuWrapper.under #subnav acronym, #sp_menuWrapper.under #subnav address, #sp_menuWrapper.under #subnav big, #sp_menuWrapper.under #subnav cite, #sp_menuWrapper.under #subnav code, #sp_menuWrapper.under #subnav del, #sp_menuWrapper.under #subnav dfn, #sp_menuWrapper.under #subnav em, #sp_menuWrapper.under #subnav img, #sp_menuWrapper.under #subnav ins, #sp_menuWrapper.under #subnav kbd, #sp_menuWrapper.under #subnav q, #sp_menuWrapper.under #subnav s, #sp_menuWrapper.under #subnav samp,
  #sp_menuWrapper.under #subnav small, #sp_menuWrapper.under #subnav strike, #sp_menuWrapper.under #subnav strong, #sp_menuWrapper.under #subnav sub, #sp_menuWrapper.under #subnav sup, #sp_menuWrapper.under #subnav tt, #sp_menuWrapper.under #subnav var, #sp_menuWrapper.under #subnav b, #sp_menuWrapper.under #subnav u, #sp_menuWrapper.under #subnav i, #sp_menuWrapper.under #subnav center, #sp_menuWrapper.under #subnav dl, #sp_menuWrapper.under #subnav dt, #sp_menuWrapper.under #subnav dd, #sp_menuWrapper.under #subnav ol, #sp_menuWrapper.under #subnav ul, #sp_menuWrapper.under #subnav li,
  #sp_menuWrapper.under #subnav fieldset, #sp_menuWrapper.under #subnav form, #sp_menuWrapper.under #subnav label, #sp_menuWrapper.under #subnav legend, #sp_menuWrapper.under #subnav table, #sp_menuWrapper.under #subnav caption, #sp_menuWrapper.under #subnav tbody, #sp_menuWrapper.under #subnav tfoot, #sp_menuWrapper.under #subnav thead, #sp_menuWrapper.under #subnav tr, #sp_menuWrapper.under #subnav th, #sp_menuWrapper.under #subnav td, #sp_menuWrapper.under #subnav article, #sp_menuWrapper.under #subnav aside, #sp_menuWrapper.under #subnav canvas, #sp_menuWrapper.under #subnav details, #sp_menuWrapper.under #subnav embed,
  #sp_menuWrapper.under #subnav figure, #sp_menuWrapper.under #subnav figcaption, #sp_menuWrapper.under #subnav footer, #sp_menuWrapper.under #subnav header, #sp_menuWrapper.under #subnav hgroup, #sp_menuWrapper.under #subnav menu, #sp_menuWrapper.under #subnav nav, #sp_menuWrapper.under #subnav output, #sp_menuWrapper.under #subnav ruby, #sp_menuWrapper.under #subnav section, #sp_menuWrapper.under #subnav summary, #sp_menuWrapper.under #subnav time, #sp_menuWrapper.under #subnav mark, #sp_menuWrapper.under #subnav audio, #sp_menuWrapper.under #subnav video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
  }
  #sp_menuWrapper.under #subnav article, #sp_menuWrapper.under #subnav aside, #sp_menuWrapper.under #subnav details, #sp_menuWrapper.under #subnav figcaption, #sp_menuWrapper.under #subnav figure, #sp_menuWrapper.under #subnav footer, #sp_menuWrapper.under #subnav header, #sp_menuWrapper.under #subnav hgroup, #sp_menuWrapper.under #subnav menu, #sp_menuWrapper.under #subnav nav, #sp_menuWrapper.under #subnav section {
    display: block;
  }
  #sp_menuWrapper.under #subnav body {
    line-height: 1;
  }
  #sp_menuWrapper.under #subnav ol, #sp_menuWrapper.under #subnav ul {
    list-style: none;
  }
  #sp_menuWrapper.under #subnav blockquote, #sp_menuWrapper.under #subnav q {
    quotes: none;
  }
  #sp_menuWrapper.under #subnav blockquote:before, #sp_menuWrapper.under #subnav blockquote:after,
  #sp_menuWrapper.under #subnav q:before, #sp_menuWrapper.under #subnav q:after {
    content: none;
  }
  #sp_menuWrapper.under #subnav table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  #sp_menuWrapper.under #subnav a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  #sp_menuWrapper.under #subnav .clearfix {
    overflow: hidden;
  }
  #sp_menuWrapper.under #subnav .clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  #sp_menuWrapper.under #subnav * html .clearfix {
    zoom: 1;
  }
  #sp_menuWrapper.under #subnav *:first-child + html .clearfix {
    zoom: 1;
  }
  #sp_menuWrapper.under #subnav .pagettl {
    font-size: 140%;
    text-align: center;
    color: #cb1c1d;
    padding-bottom: 0.7em;
  }
  #sp_menuWrapper.under #subnav .localNav {
    width: 100%;
  }
  #sp_menuWrapper.under #subnav .localNav li {
    margin-bottom: 0;
    padding: 0;
    border-bottom: solid 1px #ddd;
    position: relative;
    background: none;
    font-size: 12px;
  }
  #sp_menuWrapper.under #subnav .localNav li:first-child {
    border-top: solid 1px #ddd;
  }
  #sp_menuWrapper.under #subnav .localNav li.current {
    background: #f3f3f3;
  }
  #sp_menuWrapper.under #subnav .localNav li.current.active > a {
    background: #cb1c1d;
  }
  #sp_menuWrapper.under #subnav .localNav li a {
    padding: 11px 28px 11px 10px;
    display: block;
    position: relative;
    color: #212121;
  }
  #sp_menuWrapper.under #subnav .localNav li a:before {
    border-right: 2px solid #fe0000;
    border-bottom: 2px solid #fe0000;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 15px;
    width: 7px;
    height: 7px;
    content: "";
    transform: translate(0, -50%) rotate(-45deg);
  }
  #sp_menuWrapper.under #subnav .localNav li.current > a:before {
    border-right: none;
    border-bottom: none;
    background-color: #fe0000;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 15px;
    width: 10px;
    height: 2px;
    content: "";
    transform: translate(0, -50%) rotate(0);
  }
  #sp_menuWrapper.under #subnav .localNav li.current.active a {
    color: #fff;
  }
  #sp_menuWrapper.under #subnav .localNav li.current.active a:before {
    background-color: #fff;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul {
    margin: 0;
    padding: 0 10px;
    background: #f3f3f3;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li {
    padding: 0;
    background: none;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li:last-child {
    border-bottom: none;
  }
  #sp_menuWrapper.under #subnav .localNav li.current.active ul li a {
    color: #333;
  }
  #sp_menuWrapper.under #subnav .localNav li.current.active ul li a:before {
    border-right: 1px solid #fe0000;
    border-bottom: 1px solid #fe0000;
    background-color: transparent;
    top: 50%;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li.current {
    background-image: none;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li.current > a {
    background: #cb1c1d;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li.current a {
    color: #fff;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li.current a:before {
    background-color: #fff;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li.current ul {
    margin: 0;
    padding: 0;
    background: #fff;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li.current ul li {
    margin-bottom: 0;
    border-bottom: solid 1px #f3f3f3;
    background-image: none;
    font-size: 12px;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li.current ul li:last-child {
    border-bottom: none;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li.current ul li a {
    padding: 10px 45px 10px 10px;
    color: #333;
    font-size: 10px;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li.current ul li a:before {
    border-right: 2px solid #fe0000;
    border-bottom: 2px solid #fe0000;
    top: 50%;
    width: 7px;
    height: 7px;
    transform: translate(0, -50%) rotate(-45deg);
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li.current ul li.current.active {
    background-image: none;
    background: #fff;
  }
  #sp_menuWrapper.under #subnav .localNav li.current ul li.current ul li.current.active a {
    color: #fe0000;
    background-color: #fff;
  }
  #sp_menuWrapper.under #subnav .localNav > li:not(.current) li:not(.current) {
    display: none;
  }
}
