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

hr {
  display: none;
}

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

.headerWrapper {
  position: relative;
  z-index: 999;
}

#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;
  width: 16px;
}

.headerWrapper #searchBox {
  position: absolute;
  right: 0;
  top: 0;
  display: none;
}

.headerWrapper #searchForm {
  width: 0;
  max-width: 640px;
}

.headerWrapper #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;
}

.headerWrapper #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;
    z-index: 0;
  }
  .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 {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .sp_headerArea .sp_logoArea .sp_header_menuButton a#sp_searchBtn {
    /* display: block;
    float: right; */
    width: 40px;
    height: 40px;
    display: inline-flex;
    padding: 0 5px 0 0;
  }
  .sp_headerArea .sp_logoArea .sp_header_menuButton a#sp_searchBtn img {
    width: 24px;
    height: 24px;
    padding: 13px 0 0;
  }
  .sp_headerArea .sp_logoArea .sp_header_menuButton a#menubtn {
    /* display: block;
    float: right; */
    width: 40px;
    height: 40px;
  }
  .sp_headerArea .sp_header_menuButton a#menubtn {
    display: block;
    background: url(/en/cmn_2020/img/top/sp_icon_menuBtnO.png) no-repeat !important;
    background-position: left 10px !important;
    background-size: 35px 29px !important;
  }
  .sp_headerArea .sp_header_menuButton a#menubtn.open {
    display: block;
    background: url(/en/cmn_2020/img/sp_icon_menuBtnC.png) no-repeat !important;
    background-position: left 10px !important;
    background-size: 35px 29px !important;
  }
  .headerWrapper #searchForm {
    max-width: 60vw;
  }
  .headerWrapper #searchBox {
    position: fixed;
    top: 5px;
    right: 68px;
  }
  .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(/en/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('/en/cmn_2020/img/nav_innovation.png') no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .innovation.current a:before {
    background: url('/en/cmn_2020/img/nav_innovation_on.png') no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .products a:before {
    background: url('/en/cmn_2020/img/nav_products.png') no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .products.current a:before {
    background: url('/en/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('/en/cmn_2020/img/nav_technology.png') no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .technology.current a:before {
    background: url('/en/cmn_2020/img/nav_technology_on.png') no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .sustainability a:before {
    background: url('/en/cmn_2020/img/nav_sustainability.png') no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .sustainability.current a:before {
    background: url('/en/cmn_2020/img/nav_sustainability_on.png') no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .ir a:before {
    background: url('/en/cmn_2020/img/nav_ir.png') no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .ir.current a:before {
    background: url('/en/cmn_2020/img/nav_ir_on.png') no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .profile a:before {
    background: url('/en/cmn_2020/img/nav_profile.png') no-repeat center center/contain;
  }
  #sp_menuWrapper.open #mainnav .profile.current a:before {
    background: url('/en/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: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #sp_menuWrapper.open #mainnav .pnav li {
    width: 48%;
    padding-right: 1.5%;
    border-bottom: 1px solid #e8e8e8;
  }
  #sp_menuWrapper.open #mainnav .pnav li a {
    padding: 12px 12px 12px 30px;
  }
  #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: 0.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;
  }
}
@media screen and (max-width: 300px) {
  .sp_headerArea .sp_logoArea .sp_header_menuButton {
    width: 100%;
  }
}
