@charset "UTF-8";
/*===========================================================
＊ BASIC SETTING
===========================================================*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  -webkit-text-size-adjust: 100%;
}

strong, span {
  font-size: inherit;
  vertical-align: baseline;
}

html {
  height: 100%;
}

body {
  color: #666;
  line-height: 1.5;
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",sans-serif;
}
/*英語フォントのブログページ内の全角・半角の対応
html[lang="en"] body{
  font-family: sans-serif;
  font-feature-settings: 'palt';
  letter-spacing: -0.01em;
}*/

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
  display: block;
}

/*	画像（IEスムージング処理）
--------------------------------------*/
img {
  -ms-interpolation-mode: bicubic;
}

/*	リスト
--------------------------------------*/
li {
  list-style-type: none;
}

/*	table
--------------------------------------*/
table, tr, th, td {
  font-size: 100%;
  line-height: 1.5;
  color: #666666;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*	input
--------------------------------------*/
input {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

input[type=text],
input[type=password] {
  vertical-align: middle;
  font-size: 16px;
  padding: 2px 2px 6px 2px;
}

.wfull {
  width: 100%;
}

.w10 {
  width: 10%;
}

.w15 {
  width: 15%;
}

.w20 {
  width: 20%;
}

.w30 {
  width: 30%;
}

.w40 {
  width: 40%;
}

.w60 {
  width: 60%;
}

.w80 {
  width: 80%;
}

.w100 {
  width: 100%;
}

/*	textarea
--------------------------------------*/
textarea {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/*	hr
--------------------------------------*/
hr {
  border: 0;
  border-bottom: 1px solid #FFF;
  margin-bottom: 15px;
}

/*===========================================================
＊ FONT LAYOUT
===========================================================*/
/*	color
--------------------------------------*/
.tRed {
  color: #B20000;
}

.tGreen {
  color: #697928;
}

.tBlue {
  color: #368ce6;
}

.tBlack {
  color: #000000;
}

.tWhite {
  color: #FFFFFF;
}

.tOrange {
  color: #FF9900;
}

.tYellow {
  color: #FFFF00;
}

.tGray {
  color: #666666;
}

/*===========================================================
 text link
===========================================================*/
a, a:visited {
  color: #006CD8;
  text-decoration: underline;
}

a:hover, a:active {
  color: #156689;
  text-decoration: underline;
}

/*
a,
a:hover,
a:visited,
a:active,
a:focus,
a img,
div{
   border:none;
 	outline:none;
   -webkit-tap-highlight-color:rgba(0,0,0,0);}

div:hover,
div:active{
   -webkit-tap-highlight-color:rgba(0,0,0,0);
}
*/
/*===========================================================
＊ OHTER LAYOUT
===========================================================*/
/* position layout
--------------------------------------------------*/
.txtL {
  text-align: left !important;
}

.txtC {
  text-align: center !important;
}

.txtR {
  text-align: right !important;
}
@media screen and (max-width: 783px) {
.txtL_sp {
  text-align: left !important;
}

.txtC_sp {
  text-align: center !important;
}

.txtR_sp {
  text-align: right !important;
}
}

.floatL {
  float: left;
}

.floatR {
  float: right;
}

.imgL {
  float: left;
  margin: 0 10px 0px 5px;
}

.imgR {
  float: right;
  margin: 0 5px 0px 0px;
}

/* IE11用blur */
.bg-blur{
  position: absolute;
  z-index: -1;
  height:99%;
  width:120%;
  left: -10%;
  right:-10%;
  top:-10%;
  bottom:-10%;
}

/* space clear
--------------------------------------------------*/
.noAll {
  margin: 0 !important;
  padding: 0 !important;
}

.bend {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/*------------------------------------------ End */
@-webkit-keyframes fuki_bottom {
  0% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
    border-color: #EEEEEE transparent transparent transparent;
  }
  100% {
    -webkit-transform: translateY(12px);
            transform: translateY(12px);
    border-color: #F40009 transparent transparent transparent;
  }
}
@keyframes fuki_bottom {
  0% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
    border-color: #EEEEEE transparent transparent transparent;
  }
  100% {
    -webkit-transform: translateY(12px);
            transform: translateY(12px);
    border-color: #F40009 transparent transparent transparent;
  }
}
.clearfix {
  zoom: 1;
}
.clearfix:before, .clearfix:after {
  display: block;
  height: 0;
  visibility: hidden;
  content: "\0020";
}
.clearfix:after {
  clear: both;
}

.max_width {
  /*
  max-width: 1200px;
   */
  max-width: 1070px;
  margin: 0 auto;
}

#container #factory .factory_list {
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
      transform-origin: 0 0;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

.nowarp {
  white-space: nowrap;
}

@media screen and (max-height: 650px) {
  #container #movie #logo_box #scroll_cursor {
    top: 250px !important;
  }

  /*
    #container #items{
  	min-height: 700px;
    }
  */
  #container #factory .factory_list {
    zoom: 0.68;
  }

  #container #factory .factory_list ol li {
    font-size: 20px !important;
  }

  #container #factory .factory_list ol li.f_06 {
    left: 130px !important;
  }

  #container #factory .background_img {
    width: 130% !important;
  }
}
@media screen and (min-width: 1300px) {
  .max_width {
    /*
    max-width: 1030px;
     */
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
@media screen and (min-width: 1580px) {
  .max_width {
    /*
    max-width: 1200px;
     */
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
@media screen and (max-width: 1100px) {
  #container #factory .factory_list {
    zoom: 0.7;
  }

  #container #factory .background_img {
    width: 130% !important;
  }
}
@media screen and (max-width: 1100px) {
  #container #factory .factory_list_wrap {
    overflow: hidden;
    width: 500px;
    height: 360px;
    margin: 0 auto;
  }
  #container #factory .factory_list_wrap .factory_list {
    zoom: 0.7;
  }

  #container #factory .background_img {
    width: 135% !important;
  }
}
@media screen and (max-width: 1100px) {
  #container #factory .factory_list_wrap .factory_list {
    zoom: 0.6;
  }

}
.smooth_txt {
  transform: rotateZ(0.028deg);
  -o-transform: rotateZ(0.028deg);
  -ms-transform: rotateZ(0.028deg);
  -moz-transform: rotateZ(0.028deg);
  -webkit-transform: rotateZ(0.028deg);
}
.smooth_txt img {
  transform: rotateZ(-0.028deg);
  -o-transform: rotateZ(-0.028deg);
  -ms-transform: rotateZ(-0.028deg);
  -moz-transform: rotateZ(-0.028deg);
  -webkit-transform: rotateZ(-0.028deg);
}

a.csv_report_area[target="_blank"]::after {
	display: none;
}

/*
a[target="_blank"]:not(.not_icon)::after {
 */
a[target="_blank"]::after {
  content: '\e8c8';
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-top: 2px;
  margin-left: 4px;
  margin-right: .2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-left: .2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a[target="_blank"].ico_none::after {
  display: none;
}

.imgBOX, #pagetop {
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  text-align: left;
}

#mov_player {
  position: relative;
  text-align: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#mov_player .background-cover {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 1;
  background: rgba(0, 0, 0, 0.4);
}
#mov_player .background-cover.items {
  background: url("../images/top/items_back.jpg") no-repeat 50% 50%/cover;
}
#mov_player .background-cover.business {
  background: url("../images/top/business_back.jpg") no-repeat 50% 50%/cover;
}

#ytplayer {
  width: 135%;
  height: 135%;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  left: 50%;
  position: fixed;
  z-index: -1;
  margin: auto;
}

.sp_inline_block {
  display: none !important;
}

.pc_inline_block {
  display: inline-block !important;
}

.sp_block {
  display: none !important;
}

.pc_block {
  display: block !important;
}

body {
  overflow-y: scroll;
  overflow-x: hidden;
  width: 100%;
  height: 100%;
  color: #666;
  background: #FFF;
}
body.items {
  background: url("../images/top/items_back.jpg") no-repeat fixed 50% 50%/cover;
}
body.business {
  background: url("../images/top/business_back.jpg") no-repeat fixed 50% 50%/cover;
}
/*
#pagetop {
  display: block;
  position: fixed;
  bottom: 10px;
  right: 10px;
  width: 60px;
  height: 60px;
  border-radius: 6px;
  background: #FFF url(../images/page_top.png) 50% 50% no-repeat;
  background-size: 30px 30px;
  z-index: 1500;
  opacity: 0;
}
#pagetop.act {
  display: block;
  opacity: 1;
}
 */

/*
#container header #top_header{
  height: 50px;
  background: #E30005;
  text-align: right;
}

#toppage #container header #top_header{
  background: none;
}

#toppage #container header #top_header{
  width: 100%;
}
#top #container header #side_header {
  top: 100%;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  opacity: 0;
}
*/
#container {
  width: 100%;
  height: 100%
}
/*
#container header #side_header {
  display: block;
  z-index: 999;
  position: absolute;
  left: 0;
  width: 220px;
  height: 100%;
  box-shadow: 5px -6px 20px -13px #000000;
  background: #FFF;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
      -ms-transform: matrix(1, 0, 0, 1, 0, 0);
          transform: matrix(1, 0, 0, 1, 0, 0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
#container header #side_header.fixed {
  position: fixed;
}
#container header #side_header h1 {
  background: #F40009;
}
#container header #side_header h1 a {
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  width: 220px;
  height: 170px;
  background: url(../images/common/navi_side_logo.png) 50% 50% no-repeat;
  background-size: 190px 97px;
}
#container header #side_header h1 a.en {
  background: url(../images/common/navi_side_logo_en.png) 50% 50% no-repeat;
  background-size: 209.0px 106.7px;
}
#container header #side_header .global_navi ol li a {
  display: block;
  width: 200px;
  text-decoration: none;
  font-size: 14px;
  color: #444;
  padding: 12px 5px 12px 15px;
  font-weight: bold;
  line-height: 15px;
  -webkit-transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
          transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#container header #side_header .global_navi ol li a:before {
  font-weight: normal;
  -ms-transform-origin: 50% 50%;
      transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  float: right;
  color: #F40009;
  font-size: 16px;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.3s;
          transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.3s;
}
#container header #side_header .global_navi ol li a.btn-right:before {
  margin-top: 0;
}
#container header #side_header .global_navi ol li a.btn-plus:before {
  content: '\e863';
  font-size: 15px;
  margin: 0px 3px 0px 0;
}
#container header #side_header .global_navi ol li a.act {
  background: #870004;
  color: #FFF;
}
#container header #side_header .global_navi ol li a.act:before {
  color: #FFF;
}
#container header #side_header .global_navi ol li a.open {
  background: #222;
  color: #FFF;
}
#container header #side_header .global_navi ol li a.open.btn-plus:before {
  color: #FFF;
}
#container header #side_header .global_navi ol li a:hover {
  background: #222;
  color: #FFF;
}
#container header #side_header .global_navi ol li a:hover:before {
  color: #FFF;
}
#container header #side_header .global_navi ul li {
  padding: 5px 10px 5px 10px;
}
#container header #side_header .global_navi ul li a {
  display: block;
  border: 1px solid #CCCCCC;
  border-radius: 3px;
  background: #FFF;
  color: #444444;
  text-decoration: none;
  font-size: 14px;
  line-height: 14px;
  padding: 5px 5px 5px 5px;
  text-align: center;
}
#container header #side_header .global_navi ul li a:before {
  color: #888888;
  font-size: 14px;
}
#container header #side_header .global_navi .search_box {
  display: none;
  margin: 5px 10px 5px 10px;
  padding: 0;
  border: 1px solid #CCCCCC;
  border-radius: 24px;
  background: #F6F6F6;
  -webkit-transition: all .2s ease-in;
          transition: all .2s ease-in;
}
#container header #side_header .global_navi .search_box form .td_btn{
  width: 27px;
}
#container header #side_header .global_navi .search_box input {
  border: none;
  font-size: 13px;
  padding: 5px 10px;
  line-height: 1.8;
  background: transparent;
}
#container header #side_header .global_navi .search_box input.gsc-input {
  background: none !important;
}
#container header #side_header .global_navi .search_box .cse form.gsc-search-box, #container header #side_header .global_navi .search_box form.gsc-search-box {
  padding: 0;
  margin: 0;
}
#container header #side_header .global_navi .search_box button {
  display: block;
  cursor: pointer;
  position: relative;
  border: 0;
  margin-right: 6px;
  background: none;
  color: #F40009;
  width: 20px;
  height: 20px;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  text-indent: 30px;
}
#container header #side_header .global_navi .search_box button:before {
  font-size: 16px;
  display: block;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 2px;
  bottom: 0;
  text-indent: 0px;
}

#container header #side_header .global_navi .hd_nav{
  padding: 5px 10px 10px 10px;
  line-height: 1.2;
}
#container header #side_header .global_navi .hd_nav a{
  font-size: 13px;
  color: #333;
  text-decoration: none;
}
#container header #side_header .global_navi .hd_nav a:hover{
  text-decoration: underline;
}
#container header #side_header .global_navi .hd_nav a:after{
  color: #F40009;
}
@media screen and (max-width: 768px) {
  #container header #side_header .global_navi .hd_nav{
    padding: 5px 10px 30px 10px;
    line-height: 1.2;
  }
}

#container header #side_header .sub_navi {
  position: fixed;
  height: 100%;
  left: 220px;
  top: 0;
  z-index: 9999;
  background: rgba(45, 45, 45, 0.95);
  overflow: hidden;
  width: 0px;
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
}
#container header #side_header .sub_navi.act {
  -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
          transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}
#container header #side_header .sub_navi.act .contents_inner {
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.65s;
          transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.65s;
  -webkit-transform: translateX(0) translateY(-50%);
      -ms-transform: translateX(0) translateY(-50%);
          transform: translateX(0) translateY(-50%);
}
#container header #side_header .sub_navi .contents_inner {
  -webkit-transform: translateX(-200%) translateY(-50%);
      -ms-transform: translateX(-200%) translateY(-50%);
          transform: translateX(-200%) translateY(-50%);
  position: relative;
  top: 50%;
  max-width: 1200px;
  min-width: 550px;
  left: 0;
  right: 0;
  margin: auto;
  padding: 0 25px;
}
#container header #side_header .sub_navi .contents_inner h2 a {
  display: inline-block;
  padding: 0;
  font-size: 28px;
  line-height: 100%;
  font-weight: normal;
  width: auto;
  margin-bottom: 20px;
  color: #FFF;
}
#container header #side_header .sub_navi .contents_inner h2 a:before {
  font-size: 30px;
  color: #F40009;
}
#container header #side_header .sub_navi .contents_inner h2 a:hover {
  text-decoration: underline;
  background: none;
  color: #FFF;
}
#container header #side_header .sub_navi .contents_inner h2 a:hover:before {
  font-size: 30px;
  color: #F40009;
  text-decoration: none;
}
#container header #side_header .sub_navi .contents_inner .contents_list {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  margin: 0px;
}
#container header #side_header .sub_navi .contents_inner .contents_list::before {
  content: "";
  display: block;
  width: 23%;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
#container header #side_header .sub_navi .contents_inner .contents_list::after {
  content: "";
  display: block;
  width: 23%;
}
#container header #side_header .sub_navi .contents_inner .contents_list.mini li a {
  border: 2px solid #CCC;
  border-radius: 4px;
  padding: 30px 25px 28px;
  margin-bottom: 6px;
  font-size: 14px;
  background: #FFF;
  color: #444444;
}
#container header #side_header .sub_navi .contents_inner .contents_list li {
  -webkit-flex: none;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  text-align: left;
  width: 23%;
  padding: 0 0 15px 0;
  color: #FFF;
  font-size: 14px;
}
#container header #side_header .sub_navi .contents_inner .contents_list li a {
  width: auto;
  border: none;
  text-align: left;
  color: #FFF;
  display: block;
  font-size: 14px;
  padding: 0;
  text-decoration: none;
  background: none;
  padding-bottom: 5px;
}
#container header #side_header .sub_navi .contents_inner .contents_list li a:hover {
  text-decoration: underline;
}
#container header #side_header .sub_navi .contents_inner .contents_list li a img {
  width: 100%;
}
#container header #side_header .sub_navi .contents_inner .contents_list li a strong {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 130%;
  display: inline-block;
  font-weight: normal;
  padding-top: 5px;
  font-size: 14px;
}
#container header #side_header .sub_navi .contents_inner .contents_list li a strong:before {
  margin-right: -0.2em;
  color: #F40009;
  text-decoration: none;
}
#container header #side_header .sub_navi .contents_inner .contents_list li a.sub {
  font-weight: normal;
  font-size: 12px;
}
#container header #side_header .sub_navi .contents_inner .contents_list li a.sub:before {
  float: none;
  color: #F40009;
  content: '・';
  font-size: 20px;
  width: 7px;
}
#container header #side_header .sub_navi .contents_inner .contents_list li a.sub:hover:before {
  text-decoration: none;
}

 */
/*
#container header #top_header {
  z-index: 999;
  position: absolute;
  top: 0;
  right: 0;
}
#container header #top_header dl {
  display: inline-block;
  letter-spacing: -0.4em;
}
#container header #top_header dl dt:first-child{
  border-left: 1px solid #aa0006;
}
#container header #top_header dl dt {
  display: inline-block;
  letter-spacing: normal;
  width: 50px;
  height: 50px;
  border-right: 1px solid #aa0006;
  background: #F40009;
  color: #FFF;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: top;
}
#container header #top_header dl dt:before {
  font-size: 25px;
  display: block;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 13px;
  bottom: 0;
  text-indent: 0px;
}
#container header #top_header dl dt.fblink_blank{
  text-indent: inherit;
}
#container header #top_header dl dt.fblink_blank a{
  width: 50px;
  height: 50px;
  display: block;
  text-align: center;
  line-height: 50px;
  font-size: 25px;
  color: #FFF;
}
#container header #top_header dl dt.fblink_blank a:after{
  display: none;
}
#container header #top_header dl dt.icon-lang:before {
  font-size: 26px;
}
#container header #top_header dl dt.icon-search:before {
  font-size: 22px;
}
#container header #top_header dl dt.icon-share + dd.act, #container header #top_header dl dt.icon-lang + dd.act,
#container header #top_header dl dd.open-share{
  width: 102px;
}
#container header #top_header dl dd.open-share{
  background: #F40009;
  border-right: 1px solid #aa0006;
}
#container header #top_header dl dt.icon-share + dd strong, #container header #top_header dl dt.icon-lang + dd strong {
  display: inline-block;
  margin: 12px 15px;
  font-size: 16px;
}
#container header #top_header dl dt.icon-share + dd a.lang, #container header #top_header dl dt.icon-lang + dd a.lang {
  display: inline-block;
  padding: 2px 10px;
  margin: 10px 0;
  border-left: 1px solid #FFF;
  color: #FFF;
}
#container header #top_header dl dd {
  display: inline-block;
  letter-spacing: normal;
  width: 0;
  height: 50px;
  overflow: hidden;
  background: #666666;
  color: #FFF;
  vertical-align: top;
  -webkit-transition: all .3s ease-out;
          transition: all .3s ease-out;
}
#container header #top_header dl dd.act {
  width: 200px;
}

#container header #side_header .sp-share {
  width: 100%;
  text-align: center;
}

#container header #top_header dl dd .icon-twitter,
#container header #side_header .sp-share .icon-twitter{
  margin: 10px 5px 10px 15px;
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
  text-indent: 200%;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
}
#container header #top_header dl dd .icon-twitter:before,
#container header #side_header .sp-share .icon-twitter:before{
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  margin: 0;
  font-size: 18px;
  line-height: 30px;
  text-decoration: none;
  text-align: center;
  text-indent: 0px;
  color: #FFF;
  border-radius: 30px;
  background: #68abdd;
}
#container header #top_header dl dd .icon-facebook-1,
#container header #side_header .sp-share .icon-facebook-1{
  margin: 10px 15px 10px 5px;
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
  text-indent: 200%;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
}
#container header #top_header dl dd .icon-facebook-1:before,
#container header #side_header .sp-share .icon-facebook-1:before{
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  margin: 0;
  font-size: 18px;
  line-height: 30px;
  text-decoration: none;
  text-align: center;
  text-indent: 0px;
  color: #FFF;
  border-radius: 30px;
  background: #1877f2;
}
#container header #top_header dl dd input.gsc-input {
  border-radius: 3px;
  margin-left: 5px;
}
#container header #top_header dl dd .cse form.gsc-search-box, #container header #top_header dl dd form.gsc-search-box {
  padding: 9px 0 2px 0;
  margin-bottom: 0;
}
#container header #top_header dl dd .cse table.gsc-search-box td.gsc-input, #container header #top_header dl dd table.gsc-search-box td.gsc-input {
  padding-right: 0px;
}
#container header #top_header dl dd input.gsc-search-button {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
#container header #top_header dl dd .cse input.gsc-search-button, #container header #top_header dl dd input.gsc-search-button {
  height: 32px;
}
#container header #top_header dl dd td.gsc-clear-button {
  width: 6px;
}

 */


/* 2020年内リニューアル分*/
/* ## page ===============================
全体レイアウト設定 */
body {
  word-break: break-word;/*作業確認用*/
}

.innerWrap {
  zoom: 1;
  max-width: 1070px;
  /*
  width: 100%;
   */
  width: calc(100% - 30px);
  padding: 0 15px;
  margin: 0 auto;
}
/* .innerWrap:before, .innerWrap:after { //CCBJI_D-863
  content: "";
  display: table;
} */
.innerWrap:after {
  clear: both;
}
.innerWrap + .innerWrap {
  margin-top: 60px;
}
@media screen and (max-width: 783px) {
  .innerWrap {
    width: auto;
  }
  .innerWrap + .innerWrap {
    margin-top: 30px;
  }
}



/* ## header ===============================
ヘッダー設定 holdingsからベース移設*/
/* -- default -------------------*/
#header {
  text-align: left;
  background: #FFF;
  /*
  border-bottom: 2px solid #e1041b;
   */
}
@media screen and (min-width: 784px) {
  #header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
  }
  #header #headMain {
    /* display: table; //CCBJI_D-863
    padding-top: 14px;
    padding-bottom: 5px;
    box-sizing: border-box; */
    display: flex;
    padding-top: 14px;
    padding-bottom: 5px;
    justify-content: space-between;
  }
  #header #headMain #logo, #header #headMain #uNav {
    /* display: table-cell; //CCBJI_D-863
    vertical-align: middle; */
    height: 65px;
    display: flex;
    vertical-align: middle;
    justify-content: flex-end;
    align-items: center
  }
  #header #headMain #logo h1 {
    line-height: 1;
  }
  #header #headMain #logo img {/* //CCBJI_D-863 */
    width: auto;
    height: 60px;
  }
}
@media screen and (min-width: 783px) and (max-width: 892px) {
  #header #headMain #logo img {
    height: 39px;
    width: auto;
  }
}
@media screen and (max-width: 783px) {
  #header {
    border-bottom: 0;
  }
  #header #headMain {
    min-height: 50px;
    border-bottom: 2px solid #F40009;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1002;
    width: 100%;
    /* padding: 10px 18px 0 18px; //CCBJI_D-863 */
    padding: 10px 10px 4px 10px;
    background: #FFF;
  }
  /* #header #logo { //CCBJI_D-863 
    padding-bottom: 8px;
  } */
  #header #logo h1 {
    font-size: 100%;
  }
  #header #logo img {
    /* height: 25px; //CCBJI_D-863  */
    height: 34px;
    width: auto;
  }
}
#header #uNav {
  overflow: hidden;
  text-align: right;
}
#header #uNav ul {
  /* margin-left: 10px; //CCBJI_D-863
  display: inline-block; */
  letter-spacing: -.4em;
  display: flex;
  justify-items: flex-start;
  align-items: center;
}
#header #uNav ul li {
  display: inline-block;
  letter-spacing: normal;
  font-size: 13px;
  color: #333;
  border-left: 1px solid #eee;
}
#header #uNav ul li:last-child {
  border-right: 1px solid #eee;
}
#header #uNav ul li a {
  color: #333;
  padding: 0 14px;
  font-size: 12px;
  text-decoration: none;
}
#header #uNav ul li a:hover {
  text-decoration: underline;
}
#header #uNav .search_box {
  vertical-align: middle;
  display: inline-block;
  /* float: right; //CCBJI_D-863 */
}
#header #uNav .search_box input {
  outline: none;
}
@media screen and (max-width: 1100px) {
  #header #uNav {
    top: -60px;
  }
  #header #uNav ul {
    display: block;
  }
  #header #uNav .search_box {
    text-align: right;
    display: block;
    margin-top: 10px;
  }
  #header #uNav .search_box table {
    float: right;
  }
}
@media screen and (max-width: 783px) {
  #header #uNav {
    display: none;
  }
}
#header #hNavMenu {
  display: none;
  position: absolute;
  right: 14px;
  top: 15px;
}
#header #hNavMenu .menu-trigger {
  position: relative;
  width: 23px;
  height: 20px;
}
#header #hNavMenu .menu-trigger,
#header #hNavMenu .menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
#header #hNavMenu .menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #F40009;
  border-radius: 4px;
}
#header #hNavMenu .menu-trigger span:nth-of-type(1) {
  top: 0;
}
#header #hNavMenu .menu-trigger span:nth-of-type(2) {
  top: 8px;
}
#header #hNavMenu .menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
#header #hNavMenu .menu-trigger.on span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(8px) rotate(-45deg);
}
#header #hNavMenu .menu-trigger.on span:nth-of-type(2) {
  opacity: 0;
}
#header #hNavMenu .menu-trigger.on span:nth-of-type(3) {
  -webkit-transform: translateY(-9px) rotate(45deg);
  transform: translateY(-9px) rotate(45deg);
}
@media screen and (max-width: 783px) {
  #header #hNavMenu {
    display: block;
  }
}

/* -- global navigation -------------------*/
#globalNav {
  clear: both;
  display: block;
}
@media screen and (min-width: 784px) {
  #globalNav {
    background: #F40009;
    position: relative;
  }
  /* #globalNav:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
  } */
  #globalNav.on:after {
    content: none;
  }

  #globalNav #navi .search_box, #globalNav #navi .nav {
    display: none;
  }
  /*
  #globalNav #gNav {
    padding-bottom: 5px;
  }

   */
  #globalNav #gNav > ul {
    /*
    display: table;
     */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /*
    justify-content: space-around;
     */
    align-items: center;
    width: 100%;
    /*
    table-layout: fixed;
     */
  }
  #globalNav #gNav > ul > li {
    list-style-type: none;
    text-align: center;
    flex-basis: auto;
    flex-grow: 1;
  }

  #globalNav #gNav > ul > li:last-child a:after {
    right: 0;
    left: inherit;
  }
  #globalNav #gNav > ul > li > a,
  #globalNav #gNav > ul > li .acdon a {
    width: 100%;
    font-weight: bold;
    text-decoration: none;
    font-size: 16px;
    position: relative;
    color: #FFF;
    display: block;
    padding: 18px 0;

    /*
    transition: .1s;
     */
  }

  #globalNav #gNav > ul > li > a:hover,
  #globalNav #gNav > ul > li > a.act,
  #globalNav #gNav > ul > li .sub_nav .acdon a:hover,
  #globalNav #gNav > ul > li .sub_nav .acdon a.act,
  #globalNav #gNav > ul > li .sub_nav.is-active .acdon a {
    color: #e1041b;
    background: #fff;
    padding: 18px 0;
  }

  #globalNav #gNav > ul > li a[target="_blank"]:after {
    display: none;
  }
  #globalNav #gNav > ul > li span {
    display: inline-block;
    position: relative;
    padding-left: 20px;
  }
  
  #globalNav #gNav .sub_nav .menu_second {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 60px;
    right: 0;
    z-index: 10;
    height: 40vh;
  }
  #globalNav #gNav .sub_nav.is-active .menu_second {
    /*
    transition: .5s;
     */
    visibility: visible;
    opacity: 1;
    display: block !important;
  }
  /* #globalNav #gNav .sub_nav:hover .acdon a,
  ,#globalNav #gNav .sub_nav .acdon a.act{
    color: #e1041b;
    background: #fff;
    padding: 18px 0;
  } */

  #globalNav .menu_second {
    padding-top: 0px;
    width: 100%;
    position: relative;
  }
  #globalNav #gNav .sub_nav .menu_second.off {
    visibility: hidden;
  }
  /*
  #globalNav #gNav .sub_nav:hover .menu_second:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,.5);
    z-index: -1;
  }

   */


  #globalNav .menu_second .bloc {
    border-bottom: 2px solid #e1041b;
    box-sizing: border-box;
    padding: 30px 0 35px;
    background: #F6F6F6;
    /* max-height: 300px;
    overflow-y: auto; */
  }
  #globalNav .menu_second .innerWrap {
    text-align: left;
    position: relative;
  }

  #globalNav .menu_second .innerWrap .btn_mega_close {
    cursor: pointer;
    position: absolute;
    top: -10px;
    right: 15px;
    width: 40px;
    height: 40px;
    background: #ccc;
    border-radius: 50%;
    display: block;
  }
  #globalNav .menu_second .innerWrap .btn_mega_close:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 3px;
    width: 80%;
    height: 3px;
    background-color: #fff;
    border-radius: 4px;
    transform: rotate(45deg) translateY(-50%);
  }
  #globalNav .menu_second .innerWrap .btn_mega_close:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 5px;
    width: 80%;
    height: 3px;
    background-color: #fff;
    border-radius: 4px;
    transform: rotate(-45deg) translateY(-50%);
  }

  #globalNav .menu_second .innerWrap .link {
    margin-bottom: 18px;
    border-bottom: 1px solid #CCC;
    padding-bottom: 8px;
  }
  #globalNav .menu_second .innerWrap .link a {
    font-size: 18px !important;
    position: relative;
    padding-left: 20px;
  }

  #globalNav .menu_second .innerWrap [class*=_menu_wrap] ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1em 0;
  }
  #globalNav .menu_second .innerWrap [class*=_menu_wrap] ul > * {
    border-radius: 5px;
    /* background: #fff; */
    width: 32.71%;
    max-width: 350px;
    /*
    margin-right: 10px;
     */
    margin-right: .90%;
    /* margin-bottom: 10px; */
  }
  #globalNav .menu_second .innerWrap [class*=_menu_wrap] ul > *:nth-child(3n) {
    margin-right: 0;
  }
  #globalNav .menu_second .innerWrap [class*=_menu_wrap] ul > * img {
    width: 31.42%;
    max-width: 110px;
    display: none;
  }

  #globalNav .menu_second .innerWrap [class*=_menu_wrap] ul > * a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
padding-bottom: 8px;
  }

  #globalNav .menu_second .innerWrap .ir_menu_wrap > ul > li + li {
    margin-top: 15px;
  }
  #globalNav .menu_second .innerWrap a {
    color: #444;
    text-decoration: none;
  }
  #globalNav .menu_second .innerWrap a:hover {
    text-decoration: underline ;
  }
  #globalNav .menu_second .innerWrap a[tabindex="-1"]:hover {
    text-decoration: none;
  }
  #globalNav .menu_second .innerWrap .link a,
  #globalNav .menu_second .innerWrap .ir_menu_wrap > ul > li > a,
  #globalNav .menu_second .innerWrap .company_menu_wrap > ul > li > a {
    font-size: 16px;
    font-weight: bold;
  }
  
  #globalNav .menu_second .innerWrap [class*=_menu_wrap] ul li span.cat-head {
    /* border-bottom: 2px solid red; */
    width: 100%;
    font-weight: 700;
    color: #444;
    /* margin-bottom: 10px; */
  }
  #globalNav .menu_second .innerWrap [class*=_menu_wrap] ul li ul {
    margin-left: 1rem;
    gap: 0;
    font-size: 0.85em;
  }
  #globalNav .menu_second .innerWrap [class*=_menu_wrap] ul li ul li {
    width: 100%;
  }
  /*
  #globalNav .menu_second .innerWrap .link a:before,
  #globalNav .menu_second .innerWrap .ir_menu_wrap > ul > li > a:before,
  #globalNav .menu_second .innerWrap .company_menu_wrap > ul > li > a:before {

   */
  #globalNav .menu_second .innerWrap .arrow {
    margin-left: 0em;
    text-indent: 0em;
    padding-left: 0em;
    font-weight: 700;
    color: #444444;
  }
  #globalNav .menu_second .innerWrap .link a:before,
  #globalNav .menu_second .innerWrap .arrow:before {
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    text-decoration: none !important;
    content: "";
    font-size: 20px;
    margin-left: 8px;
    margin-left: 0;
    color: #F40009;
    position: absolute;
    left: 0;
    top: 0px;
  }
  #globalNav .menu_second .innerWrap .link a:before{
    top: 3.5px;
  }
  #globalNav .menu_second .innerWrap li ul {
    margin-top: 5px;
  }
  /* #globalNav .menu_second .innerWrap li ul li a:before {
    float: none;
    display: inline-block;
    color: #F40009;
    vertical-align: middle;
    content: '・';
    font-size: 20px;
    width: 18px;
    line-height: 1.2;
  } */
  #globalNav .menu_second .ir_menu_wrap {
    display: table;
    width: 100%;
  }
  #globalNav .menu_second .ir_menu_wrap > ul {
    display: table-cell;
    overflow: hidden;
  }
  #globalNav .menu_second .ir_menu_wrap > ul:first-child {
    width: 26%;
  }
  #globalNav .menu_second .ir_menu_wrap > ul:nth-child(2) {
    width: 20%;
  }
  #globalNav .menu_second .ir_menu_wrap > ul:nth-child(3) {
    width: 24%;
  }
  #globalNav .menu_second .ir_menu_wrap > ul:last-child {
    width: 30%;
  }
  #globalNav .menu_second .ir_menu_wrap > ul > li > a {
    border-radius: 5px;
  }
  #globalNav .menu_second .company_menu_wrap.flex{
    display: flex;
    ul{
      flex: 1;
      li{
        width: 100% !important;
      }
    }
  }
  #globalNav .menu_second .company_menu_wrap ul {
    overflow: hidden;
  }
  #globalNav .menu_second .company_menu_wrap ul li {
    float: left;
    width: 25%;
  }
  #globalNav .menu_second .company_menu_wrap ul li + li {
    /*
    margin-top: 5px;
     */
  }
  #globalNav .menu_second .company_menu_wrap ul li.flex {
    display: flex;
    gap: 1rem;
  }
  #globalNav .menu_second .company_menu_wrap ul li.grid {
    display: grid;
    gap: 1rem;
  }
  #globalNav .menu_second .company_menu_wrap ul li a.pc {
    display: block;
  }
  #globalNav .menu_second .company_menu_wrap ul li a.sp {
    display: none;
  }
  #globalNav .menu_second .company_menu_wrap a:hover span {
    text-decoration: underline;
  }
  #globalNav .menu_second .company_menu_wrap a[tabindex="-1"]:hover span {
    text-decoration: none;
  }
  #globalNav .menu_second .company_menu_wrap ul.recruit_sub {
    gap: 1em;
  }
  #globalNav .menu_second .company_menu_wrap ul.recruit_sub li {
    max-width: fit-content;
  }
  #globalNav .menu_second .company_menu_wrap ul.recruit_sub li a:before {
    float: none;
    color: #F40009;
    content: '・';
    font-size: 20px;
    width: 1em;
    line-height: 1.1;
  }
}
@media screen and (max-width: 840px) {
  #globalNav #gNav > ul > li > a,
  #globalNav #gNav > ul > li .acdon a {
    font-size: 15px;
  }
  #globalNav #gNav > ul > li > a div,
  #globalNav #gNav > ul > li .acdon a div {
    padding: 0 5px;
  }
}
@media screen and (max-width: 783px) {
  #globalNav {
    opacity: 0;
    display: none;
  }
  #globalNav.open {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    margin-bottom: 1px;
    z-index: 999;
    opacity: 1;
    padding: 50px 0 0;
    animation-duration: 0.5s;
    animation-name: fade-in;
    overflow-y: scroll;
    background: #FFF;
  }
  #globalNav #navi .innerWrap {
    padding: 0;
  }
  #globalNav #navi {
    position: relative;
    z-index: 1001;
  }

  #globalNav .menu_second .innerWrap [class*=_menu_wrap] ul > * img {
    display: none;
  }
  #globalNav .menu_second .innerWrap [class*=_menu_wrap] ul li ul {
    margin-bottom: 1rem;
  }
  #globalNav .menu_second .innerWrap [class*=_menu_wrap] ul li span.cat-head {
    display: inline-block;
    margin-top: 1rem;
  }
  #globalNav .menu_second .company_menu_wrap ul li a.pc{
    display: none !important;
  }
  #globalNav .menu_second .company_menu_wrap ul li a.sp{
    display: block;
  }
  #globalNav .menu_second .company_menu_wrap a:hover,
  #globalNav .menu_second .company_menu_wrap a:hover span {
    text-decoration: underline;
  }

  #globalNav .menu_second .company_menu_wrap ul.recruit_sub {
    margin-left: 1em;
  }

  #globalNav #navi .search_box {
    padding: 14px 15px;
  }
  #globalNav #navi .search_box table {
    width: 100%;
  }
  #globalNav #navi .search_box table .gsc-search-button {
    width: 30px;
  }
  #globalNav #navi .search_box table td.gsc-input {
    padding-right: 8px !important;
  }
  #globalNav #navi .search_box table button {
    overflow: hidden;
    width: 30px;
    height: 30px;
    padding: 3px 0 0;
    border: 0;
    background: none;
  }
  #globalNav #navi .search_box table button:before {
    font-size: 20px;
    width: 25px;
    height: 30px;
    color: #F40009;
  }
  #globalNav #navi .search_box table input {
    width: 100%;
    border: 0;
    background: #EEE !important;
  }
  #globalNav #gNav {
    border-bottom: 1px solid #CCC;
  }
  #globalNav #gNav > ul > li {
    border-top: 1px solid #CCC;
  }
  #globalNav #gNav > ul > li > a {
    display: block;
    padding: 8px 12px;
    position: relative;
  }
  #globalNav #gNav > ul > li > a:before {
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    text-decoration: none !important;
    content: "";
    font-size: 20px;
    margin-left: 8px;
    position: absolute;
    color: #F40009;
    top: 50%;
    right: 5px;
    margin-top: -0.5em;
    font-size: 20px;
  }
  #globalNav #gNav > ul > li a {
    text-decoration: none;
    color: #444;
  }
  #globalNav #gNav > ul > li a:after {
    display: none;
  }
  #globalNav #gNav > ul > li .acdon {
    padding: 8px 12px;
    position: relative;
  }
  #globalNav #gNav > ul > li .acdon > a,
  #globalNav #gNav > ul > li .acdon > a div {
    display: inline;
    padding: 0;
  }
  #globalNav #gNav > ul > li .acdon > a {
    position: relative;
    pointer-events: none;
    z-index: 10;
  }
  #globalNav #gNav > ul > li .acdon > a:before {
    display: none;
  }
  #globalNav #gNav > ul > li .acdon:before, #globalNav #gNav > ul > li .acdon:after {
    content: "";
    position: absolute;
    right: 12px;
    width: 12px;
    height: 2px;
    background-color: #F40009;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -ms-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    margin-top: -1px;
    transition: all .4s;
  }
  #globalNav #gNav > ul > li .acdon:before {
    top: 50%;
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
  }
  #globalNav #gNav > ul > li .acdon:after {
    top: 50%;
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
  }
  #globalNav #gNav > ul > li .acdon.close:before {
    display: none;
  }
  #globalNav #gNav > ul > li .acdon.close:after {
    top: 50%;
    transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
  }
  #globalNav #gNav > ul > li .menu_second {
    overflow: hidden;
    border-top: 1px solid #CCC;
    background: #F6F6F6;
    padding: 15px;
  }
  #globalNav #gNav > ul > li .menu_second a {
    font-size: 14px;
    display: block;
    padding: 3px 5px;
    text-decoration: none;
  }
  #globalNav #gNav > ul > li .menu_second .link a:before {
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    text-decoration: none !important;
    content: "";
    font-size: 20px;
    margin-left: 0;
    color: #F40009;
  }
  #globalNav #gNav > ul > li .menu_second ul li a:before {
    float: none;
    color: #F40009;
    content: '・';
    font-size: 20px;
    width: 7px;
    line-height: 1.1;
  }
  #globalNav .nav {
    padding: 15px 15px 30px;
    text-align: center;
  }
  #globalNav .nav li {
    display: inline-block;
    margin: 5px 0;
  }
  #globalNav .nav li:last-child {
    display: block;
  }
  #globalNav .nav li:first-child {
    padding-right: 13px;
    margin-right: 8px;
    border-right: 1px solid #DDD;
  }
  #globalNav .nav li a {
    font-size: 13px;
    color: #444;
    text-decoration: none;
  }
  #globalNav .nav li a:after {
    color: #F40009;
  }
  #globalNav .nav li a.icon-right-open-mini:before {
    font-size: 18px;
    margin-right: 0;
    vertical-align: middle;
  }
}


#globalNav #gNav .expo-bnr {
  display: none;
}
@media screen and (max-width: 783px) {
  #globalNav #gNav .expo-bnr {
    display: block;
    width: 100%;
    padding: 1rem;
    box-sizing: border-box;
  }
  #globalNav #gNav .expo-bnr a::after {
    display: none;
  }
  #globalNav #gNav .expo-bnr img {
    width: 100%;
  }
}


#uNav .search_box {
  padding: 0;
  border-radius: 3px;
}
#uNav .search_box .gsc-input input {
  border: none;
  font-size: 13px;
  padding: 5px 10px;
  background: #EEEEEE !important;
  width: 140px;
}

.search_box form {
  display: table;
  width: 100%;
}
.search_box form .td, .search_box form .td_btn,
.search_box .td_btn{
  vertical-align: middle;
  display: table-cell;
}
#header .search_box form .td input[type=text] {
  width: 100%;
  padding: 10px;
  border: 0;
  background: #EEE;
  border-radius: 6px;
}
.search_box form .td_btn,
.search_box .td_btn{
  width: 25px;
}
.search_box form .td_btn button,
.search_box .td_btn .button{
  display: block;
  cursor: pointer;
  position: relative;
  border: 0;
  margin-right: 0;
  background: none;
  color: #F40009;
  width: 30px;
  height: 25px;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  text-indent: 30px;
  text-decoration: none;
}
.search_box form .td_btn button:before,
.search_box .td_btn .button:before{
  font-size: 21px;
  display: block;
  margin: auto;
  left: 0px;
  right: 0;
  top: 0px;
  bottom: 0;
  height: 30px;
  text-indent: 0px;
}
@media screen and (max-width: 736px) {
  .search_box form .td_btn button,
  .search_box .td_btn .button{
    width: 30px;
    height: 30px;
    padding-top: 5px;
  }
  .search_box form .td_btn button:before,
  .search_box .td_btn .button:before{
    font-size: 20px;
  }
}
/* //2020年内リニューアル分*/



#container #contents {
  /*
  margin: auto auto auto 220px;
   */
  /* margin: 132px auto 0; //CCBJI_D-863 */
  margin: 144px auto 0;
  min-height: 100vh;
  position: relative;
  background: #FFF;
  padding-bottom: 115px;
}
#container #contents.blackout:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.5);
  z-index: 800;
}
#container #contents #breadcrumb {
  background: #eee;
  position: absolute;
  z-index: 30;
  width: 100%;
}
#container #contents #breadcrumb ul {
  padding: 10px 10px 10px 15px;
  width: 100%;
  max-width: 1070px;
  margin: 0 auto;

  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#container #contents #breadcrumb ul li {
  display: inline-block;
  color: #444;
  font-size: 13px;
  overflow: hidden;
}
#container #contents #breadcrumb ul li:last-of-type {
  padding-right: 10px;
  white-space: nowrap;
  text-overflow: ellipsis;
  /*
  width: 65vw;
   */
  max-width: 60em;
  flex: 1;
}

#container #contents #breadcrumb ul li + li {
  margin-left: -5px;
}
#container #contents #breadcrumb ul li a {
  color: #444;
}

#container #contents #breadcrumb ul li a:before {
  color: #e1041b;
  text-decoration: none;
  margin-top: 0;
  font-size: 18px;
}
#container #contents #contents_header {
  text-align: center;
  display: block;
  color: #FFF;
  font-size: 15px;
}
#container #contents #contents_header .header_img {
  position: relative;
  overflow: hidden;
  padding: 100px 14px 60px 14px;
  min-height: 88px;
  -webkit-transition: opacity .6s ease-out .2s;
          transition: opacity .6s ease-out .2s;
}
#container #contents #contents_header .header_img.act {
  -webkit-transition: opacity .6s ease-out .2s;
          transition: opacity .6s ease-out .2s;
}
#container #contents #contents_header .header_img.act:after {
  opacity: 1;
}
#container #contents #contents_header .header_img.act h1 {
  -webkit-transition: height .6s ease-out .2s,margin .6s ease-out .2s;
          transition: height .6s ease-out .2s,margin .6s ease-out .2s;
  margin-top: 0px;
  height: 40px;
  padding-bottom: 6px;
}
#container #contents #contents_header .header_img.act.single h1 {
  margin-top: 22px;
  margin-bottom: 0;
  padding-bottom: 6px;
}
#container #contents #contents_header .header_img:after {
  -webkit-transition: opacity .6s ease-out .2s;
          transition: opacity .6s ease-out .2s;
  content: "";
  position: absolute;
  z-index: 2;
  opacity: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/common/dot.png) transparent;
  background-size: 100px 100px;
}
#container #contents #contents_header .header_img h1 {
  display: inline-block;
  font-size: 34px;
  font-weight: normal;
  line-height: 125%;
  padding-bottom: 0px;
  border-bottom: 4px solid #F40009;
  margin-bottom: 25px;
  margin-top: 40px;
  position: relative;
  overflow: hidden;
  height: 0px;
  z-index: 5;
  -webkit-transition: all .6s ease-out .8s;
          transition: all .6s ease-out .8s;
}
#container #contents #contents_header .header_img img {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
      -ms-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  margin: auto;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
}
#container #contents #contents_header .header_img.single h1 {
  margin-top: 65px;
  margin-bottom: 0;
}
#container #contents #contents_header .header_txt {
  position: absolute;
  z-index: 4;
  top: 175px;
  width: 100%;
}
#container #contents .layer2_navi input {
  display: none;
}
#container #contents .layer2_navi div {
  display: none;
}
#container #contents .layer2_navi ul {
  display: table;
  width: 100%;
  background: #ddd;
}
#container #contents .layer2_navi ul li {
  display: table-cell;
  vertical-align: middle;
  border-top: 3px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #aaa;
  padding: 15px 0px;
}
#container #contents .layer2_navi ul li.act {
  border-top: 3px solid #ddd;
  border-left: 1px solid #aaa;
  border-right: 1px solid #aaa;
  border-bottom: 1px solid #FFF;
  background: #FFF;
}
#container #contents .layer2_navi ul li a {
  font-size: 1.1em;
}
#container #contents .layer2_navi ul li.act a {
  color: #F40009;
  border-left: none;
}
#container #contents .layer2_navi ul li.act + li a {
  border-left: none;
}
#container #contents .layer2_navi ul li:first-child a {
  border-left: none;
}
#container #contents .layer2_navi ul li:first-child.act {
  border-left: 0px solid #aaa;
}
#container #contents .layer2_navi ul li:last-child.act {
  border-right: 0px solid #aaa;
}
#container #contents .layer2_navi ul li a {
  font-size: 15px;
  font-weight: bold;
  text-decoration: none;
  padding: 2px 10px;
  text-align: center;
  display: block;
  color: #666;
  border-left: 1px solid #aaa;
}
#container #contents .contents_inner {
  padding: 45px;
  /*
  max-width: 1200px;
   */
  max-width: 1070px;
  margin: 0 auto;
}
#container #contents .contents_inner h1.title {
  border-left: 5px solid #F40009;
  padding: 0 0 0 10px;
  font-size: 24px;
  margin-bottom: 15px;
  line-height: 100%;
}
#container #contents .contents_inner h1 span.subtitle {
  font-size: 15px;
}
#container #contents .contents_inner h2.title {
  border-left: 5px solid #CCCCCC;
  padding: 0 0 0 10px;
  font-size: 22px;
  margin-bottom: 15px;
  line-height: 115%;
}
#container #contents .contents_inner .sect_box {
  padding: 0 0 40px 0;
}
#container #contents .contents_inner .sect_box p {
  font-size: 14px;
  padding: 15px;
  line-height: 180%;
}
#container #contents .contents_inner .sect_box + .sect_box {
  padding: 30px 0 30px 0;
  border-top: 1px solid #CCC;
}
#container #contents .contents_inner .left_bn {
  float: left;
  width: 200px;
  margin-right: 15px;
}
#container #contents .contents_inner .left_bn img {
  width: 100%;
}
#container #contents .contents_inner .contents_list,
#container #contents #main_contents.contents_inner .contents_list {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  margin: 0px;
}
#container #contents .contents_inner .contents_list.left_line {
  position: relative;
  padding-left: 15px;
}
#container #contents .contents_inner .contents_list.left_line:before {
  content: "";
  display: none;
  position: absolute;
  width: 1px;
  height: 350px;
  background: #CCC;
  background: -webkit-linear-gradient(#CCC, #FFF);
  background: linear-gradient(#CCC, #FFF);
  left: 0;
}
#container #contents .contents_inner .contents_list.investors li a {
  min-height: 80px;
}
#container #contents .contents_inner .contents_list::before {
  content: "";
  display: block;
  width: 32%;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
#container #contents .contents_inner .contents_list::after {
  content: "";
  display: block;
  width: 32%;
}
#container #contents .contents_inner .contents_list.mini li a {
  border: 2px solid #CCC;
  border-radius: 4px;
  padding: 30px 25px 28px;
  margin-bottom: 6px;
  font-size: 14px;
}
#container #contents .contents_inner .contents_list.en li {
  width: 48%;
}
#container #contents .contents_inner .contents_list li {
  -webkit-flex: none;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  text-align: left;
  width: 32%;
  padding-bottom: 25px;
  font-size: 14px;
}
#container #contents .contents_inner .contents_list li a {
  text-align: left;
  color: #666;
  display: block;
  font-size: 16px;
  text-decoration: none;
  padding-bottom: 1px;
}
#container #contents .contents_inner .contents_list li a:hover {
  text-decoration: underline;
}
#container #contents .contents_inner .contents_list li a img {
  width: 100%;
}
#container #contents .contents_inner .contents_list li a strong {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 130%;
  display: inline-block;
  word-wrap: break-word;
}
#container #contents .contents_inner .contents_list li a strong:before {
  margin-right: -0.4em;
  color: #F40009;
}
#container #contents .contents_inner .contents_list li a.sub {
  padding-left: 1.1em;
  text-indent: -0.9em;
  font-weight: normal;
  font-size: 14px;
}
#container #contents .contents_inner .contents_list li a.sub:before {
  float: none;
  color: #F40009;
  content: '・';
  font-size: 20px;
  width: 7px;
}
#container #contents .contents_inner .contents_list li a.sub:hover:before {
  text-decoration: none;
}
#container #contents .contents_inner .contents_list_wrap {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  margin: 0;
  position: relative;
}
#container #contents .contents_inner .contents_list_wrap:before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 350px;
  background: #CCC;
  background: -webkit-linear-gradient(#CCC, #FFF);
  background: linear-gradient(#CCC, #FFF);
  left: 0;
}
#container #contents .contents_inner table {
  width: 100%;
  border-top: 1px solid #DDDDDD;
  border-left: 1px solid #DDDDDD;
}
#container #contents .contents_inner table tr th {
  border-bottom: 1px solid #DDDDDD;
  background: #F2F2F2;
  padding: 14px 18px;
  font-weight: normal;
  text-align: left;
  font-size: 14px;
}
#container #contents .contents_inner .contents_table tr th {
  width: 25%;
}
#container #contents .contents_inner table tr td {
  border-right: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDDDDD;
  background: #FFF;
  padding: 14px 18px;
  font-size: 14px;
}
#container #contents .contents_inner .branch {
  margin: 50px auto 0 auto;
  max-width: 1080px;
  min-height: 240px;
  border: 1px solid #CCC;
  background: #F6F6F6;
  padding: 30px;
  position: relative;
}
#container #contents .contents_inner .branch h2 {
  border-left: 5px solid #F40009;
  padding: 0 0 0 10px;
  color: #666;
  font-size: 20px;
  line-height: 100%;
  margin-bottom: 15px;
}
#container #contents .contents_inner .branch em {
  font-style: normal;
  line-height: 170%;
}
#container #contents .contents_inner .branch.irbranch {
  min-height: 100px;
  text-align: center;
}
#container #contents .contents_inner .branch .branch_archive {
  text-align: center;
  width: 100%;
  display: table;
  border-collapse: separate;
  border-spacing: 15px 0;
}
#container #contents .contents_inner .branch .branch_archive a {
  display: table-cell;
  width: 50%;
  vertical-align: middle;
  border: 2px solid #CCC;
  border-radius: 4px;
  padding: 30px 25px 28px;
  margin: 6px;
  font-size: 14px;
  background: #FFF;
  color: #666;
  min-width: 35%;
}
#container #contents .contents_inner .branch .branch_archive a:after {
  color: #F40009;
  text-decoration: none;
}
#container #contents .contents_inner .branch .branch_archive a:hover:after {
  text-decoration: none;
}
#container #contents .contents_inner .branch .branch_map {
  top: 30px;
  right: 30px;
  position: absolute;
  display: block;
  width: 627px;
  height: 250px;
}
#container #contents .contents_inner .branch .branch_map .west {
  top: 0;
  left: 0;
  position: absolute;
  display: block;
  z-index: 55;
  width: 313px;
  height: 250px;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
#container #contents .contents_inner .branch .branch_map .west:hover + img {
  opacity: 1;
}
#container #contents .contents_inner .branch .branch_map .west:hover ~ .base {
  opacity: 0;
}
#container #contents .contents_inner .branch .branch_map .east {
  top: 0;
  right: 0;
  position: absolute;
  display: block;
  z-index: 54;
  width: 313px;
  height: 250px;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
#container #contents .contents_inner .branch .branch_map .east:hover + img {
  opacity: 1;
}
#container #contents .contents_inner .branch .branch_map .east:hover ~ .base {
  opacity: 0;
}
#container #contents .contents_inner .branch .branch_map img {
  -webkit-transition: all .3s ease-out;
          transition: all .3s ease-out;
  display: block;
  position: absolute;
  z-index: 40;
  opacity: 0;
  width: 627px;
  height: 250px;
}
#container #contents .contents_inner .branch .branch_map img.base {
  -webkit-transition: all .2s ease-out .1s;
          transition: all .2s ease-out .1s;
  opacity: 1;
  z-index: 10;
}
#container #contents .contents_inner .related_link {
  max-width: 1080px;
  margin: 60px auto 0 auto;
  display: table;
  border-top: 1px solid #CCCCCC;
  border-left: 1px solid #CCCCCC;
}
#container #contents .contents_inner .related_link.one {
  width: 540px;
}
#container #contents .contents_inner .related_link.one li {
  display: block;
  width: auto;
}
#container #contents .contents_inner .related_link li {
  display: table-cell;
  width: 50%;
  text-align: center;
  border-bottom: 1px solid #CCCCCC;
  border-right: 1px solid #CCCCCC;
}
#container #contents .contents_inner .related_link li a {
  display: block;
  font-size: 14px;
  padding: 10px 8px 8px 8px;
  text-decoration: none;
  color: #666;
}
#container #contents .contents_inner .related_link li a div.img {
  display: inline-block;
  vertical-align: middle;
}
#container #contents .contents_inner .related_link li a div.img img {
  width: 121px;
  height: 120px;
  border-radius: 60px;
}
#container #contents .contents_inner .related_link li a div.txt {
  display: inline-block;
  vertical-align: middle;
  text-align: left;
  padding-left: 5px;
}
#container #contents .contents_inner .related_link li a div.txt strong {
  font-size: 22px;
  font-weight: normal;
  display: inline-block;
}
#container #contents .contents_inner .related_link li a div.txt strong:after {
  font-size: 26px;
  color: #F40009;
}
#container footer {
  position: relative;
  z-index: 99;
  display: block;
  /*
  border-top: 1px solid #DDD;
   */
  background: #F6F6F6;
}
/* 200604追加 ヘッダーにあったSNSをフッターに移設 */
#container footer #footer_sns {
  background: #fff;
  border-bottom: 1px solid #DDD;
  text-align: center;
  padding: 40px 10px;
  margin-top: -145px;
}
#toppage #container footer #footer_sns {
  margin-top: -5px;
}
#container footer #footer_sns .text {
  margin-bottom: 5px;
}
#container footer #footer_sns .icon-twitter {
  margin: 0 5px 0 15px;
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
#container footer #footer_sns .icon-twitter.icon-twitter-x:before{
  content: "";
  background: url(/images/common/icon_sns_x.png);
}
#container footer #footer_sns .icon-twitter:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  margin: 0;
  font-size: 18px;
  line-height: 30px;
  text-decoration: none;
  text-align: center;
  text-indent: 0px;
  color: #FFF;
  border-radius: 30px;
  background: #68abdd;
}
#container footer #footer_sns .icon-facebook-1 {
  /*
  margin: 10px 15px 10px 5px;
   */
  margin: 0 15px 0 5px;
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
#container footer #footer_sns .icon-facebook-1:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  margin: 0;
  font-size: 18px;
  line-height: 30px;
  text-decoration: none;
  text-align: center;
  text-indent: 0px;
  color: #FFF;
  border-radius: 30px;
  background: #1877f2;
}

#container footer .sitemap {
  text-align: center;
  padding: 40px 10px 40px 10px;
}
#container footer .sitemap .sitemap_box {
  max-width: 1280px;
  margin: auto;
}
#container footer .sitemap .sitemap_box .search_box {
  max-width: 500px;
  margin: 5px auto 10px auto;
  padding: 0;
  border: 1px solid #CCCCCC;
  border-radius: 22px;
  background: #FFFFFF;
  -webkit-transition: all .2s ease-in;
          transition: all .2s ease-in;
  box-shadow: 2px 2px 3px -1px rgba(0, 0, 0, 0.15) inset;
}
.search_box2 form,
.search_box form{
  display: table;
  width: 100%;
}
.search_box2 form .td,
.search_box2 form .td_btn,
.search_box form .td,
.search_box form .td_btn{
  display: table-cell;
  vertical-align: middle;
}
.search_box2 form .td_btn,
.search_box form .td_btn,
.search_box .td_btn{
  width: 35px;
  padding-left: 5px;
  text-align: center;
}
.search_box input {
  border: none;
  font-size: 18px;
  padding: 7px 0px 5px 20px;
  background: transparent;
  width: 100%;
  outline: none;
}

#container footer .sitemap .sitemap_box .search_box input.gsc-input {
  background: none !important;
}
#container footer .sitemap .sitemap_box .search_box .cse form.gsc-search-box, #container footer .sitemap .sitemap_box .search_box form.gsc-search-box {
  padding: 0;
  margin: 0;
}
#container footer .sitemap .sitemap_box .search_box button {
  cursor: pointer;
  position: relative;
  border: 0;
  margin-right: 8px;
  background: none;
  color: #F40009;
  width: 25px;
  height: 25px;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
#container footer .sitemap .sitemap_box .search_box button:before {
  font-size: 20px;
  display: block;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 2px;
  bottom: 0;
  text-indent: 0px;
}
#container footer .sitemap .sitemap_inner {
  /* display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch; */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 0 20px;
}
#container footer .sitemap .sitemap_inner div {
  -webkit-flex: none;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /* margin: 10px 0;
  width: 32%; */
  text-align: left;
}
#container footer .sitemap .sitemap_inner div h4 {
  display: block;
  border-bottom: 1px solid #CCCCCC;
  font-size: 15px;
  margin-bottom: 5px;
}
#container footer .sitemap .sitemap_inner div h4 a {
  display: block;
  text-decoration: none;
  color: #666;
  font-weight: bold;
  padding: 10px 0 7px 0;
}
#container footer .sitemap .sitemap_inner div h4.not_link {
  padding: 10px 0 7px 0;
}
#container footer .sitemap .sitemap_inner div h4 a:before {
  color: #F40009;
}
#container footer .sitemap .sitemap_inner div ul {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
  border-bottom: 1px solid #CCC;
  padding-bottom: 15px;
}
#container footer .sitemap .sitemap_inner div ul li {
  display: block;
  font-size: 14px;
  line-height: 135%;
  vertical-align: top;
  column-width: 15em;
}
#container footer .sitemap .sitemap_inner div ul li a {
  padding: 0.5em 0 0 0;
  display: block;
  text-decoration: none;
  color: #444444;
	font-size: 0.9em;
}
#container footer .sitemap .sitemap_inner div ul li a:hover {
  text-decoration: underline;
}
#container footer .sitemap .sitemap_inner div ul.box {
  column-count: 1;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
/* #container footer .sitemap .sitemap_inner div ul.box li {
  width: 50%;
  float: left;
  width: 100%;
}
#container footer .sitemap .sitemap_inner div ul.box li:first-child {
  padding-right: 4%;
} */
#container footer .copyright {
  text-align: left;
  padding: 20px 25px 15px 25px;
  background: #F40009;
  font-size: 9px;
  color: #FFF;
}
#container footer .copyright ul {
  float: right;
}
#container footer .copyright ul li {
  display: inline-block;
  margin-left: 20px;
}
#container footer .copyright ul li a {
  color: #FFF;
  text-decoration: none;
  font-size: 14px;
}
#container footer .copyright ul li a:hover {
  text-decoration: underline;
}
#container footer .copyright img {
  width: 262px;
  margin-right: 10px;
  vertical-align: bottom;
}
#container footer .copyright em {
  font-style: normal;
  display: inline-block;
}

/* -- pagetop -------------------*/
#pagetop_renew {
  position: fixed;
  bottom: 0px;
  right: 0px;
  z-index: 999;
  width: 50px;
  height: 50px;
  color: #FFFFFF;
}
#pagetop_renew a {
  border-radius: 4px;
  background: #F40009;
  text-align: center;
  font-size: 20px;
  display: block;
  width: 45px;
  height: 45px;
  text-decoration: none;
  z-index: 999;
}
#pagetop_renew a div {
  padding: 6px 0 0 0;
  z-index: 999;
}
#pagetop_renew a i:before {
  margin: 0 !important;
  color: #FFFFFF;
}
#pagetop_renew a:hover {
  transition-property: all;
  transition: 0.3s linear;
  text-decoration: none;
}
#pagetop_renew a:hover.hover {
  -webkit-tap-highlight-color: transparent;
  filter: alpha(opacity=75);
  -moz-opacity: 0.75;
  opacity: 0.75;
}
@media screen and (min-width: 783px) {
  #pagetop_renew a:hover:hover {
    filter: alpha(opacity=75);
    -moz-opacity: 0.75;
    opacity: 0.75;
  }
}
@media screen and (max-width: 783px) {
  #pagetop_renew {
    width: 40px;
    height: 40px;
  }
  #pagetop_renew a {
    width: 35px;
    height: 35px;
    font-size: 17px;
  }
  #pagetop_renew a div {
    padding: 5px 0 0 0;
  }
}

#toppage #container{
  position: relative;
}
#toppage #container #contents{
  /*
  height: 500%;
   */
  height: auto;
  padding: 0;
  max-width: inherit;
}
#toppage #container .panel {
  overflow: hidden;
  position: relative;
  /*
  z-index: 700;
   */
  z-index: auto;
}
#container .panel .central_box{
  text-align: center;
}
@media screen and (min-width: 769px) and (orientation: landscape) {
  #toppage #container .panel {
    /*
    height: 20%;
     */
    height: 100vh;

    width: 100%;
    /*
    max-width: 1070px;
     */
    margin: 0 auto;

    display: table;
    table-layout: fixed;
  }
  #container .panel .central_box{
    /*
    height: 100%;
     */
    height: auto;
    display: table-cell;
    vertical-align: middle;
  }
  /* 180510追加 */
  #toppage #container #business {
    /*
    height: 20%;
     */
    height: auto;
    margin-top: 50px;
  }
  #toppage #container #campaign {
    height: 13%;
  }
  /* facebook非表示時はfactoryが25% */
  #toppage #container #factory {
    height: 10%;
    min-height: 450px;;
  }
  /* facebook表示時はnewsが25%*/
  /* #toppage #container #news {
      height: 25%;
  }*/
}

#container .central_box h1, #container .central_box h2 {
  font-size: 26px;
  line-height: 100%;
  margin-bottom: 20px;
}
#container .btn {
  display: inline-block;
  border: 1px solid #FFF;
  padding: 5px 15px;
  background: rgba(0, 0, 0, 0.3);
  color: #FFF;
  text-align: center;
  font-style: normal;
  text-decoration: none;
}
#container #movie {
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
}
#container #movie #logo_box {
  font-size: 15px;
  line-height: 150%;
  text-align: center;
  color: #FFF;
  text-shadow: 0px 0px 6px #333333;
  z-index: 60;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
#container #movie #logo_box h1 img {
  max-width: 70%;
}
#container #movie #logo_box #concept_txt {
  background: rgba(0, 0, 0, 0.2);
  overflow: hidden;
  height: 150px;
  position: relative;
}
#container #movie #logo_box #concept_txt strong {
  display: block;
  font-weight: normal;
  font-size: 14px;
  margin-bottom: 15px;
}
#container #movie #logo_box #concept_txt .inner_box {
  position: absolute;
  padding: 0 16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: auto;
}
#container #movie #logo_box #concept_txt .inner_box h3 {
  font-size: 17px;
}
#container #movie #logo_box #scroll_cursor {
  display: block;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  opacity: 0;
  position: absolute;
  top: 280px;
  left: 0;
  right: 0;
  margin: auto;
  width: 36px;
  height: 32px;
  background: url(../images/top/scroll_cursor.png) 50% 50% no-repeat;
  background-size: 36px 32px;
  z-index: 30;
}
#container #movie #first_navi {
  width: 100%;
  position: absolute;
  z-index: 60;
  bottom: 0;
  left: 0;
}
#container #movie #first_navi .attention{
  overflow: hidden;
  margin: 0 45px 15px 45px;
}
#container #movie #first_navi .attention dl {
  display: table;
  width: 100%;
  font-size: 15px;
}
#container #movie #first_navi .attention dl dt {
  display: table-cell;
  vertical-align: middle;
  background: #F40009;
  padding: 6px 16px 6px 6px;
  color: #FFF;
  font-size: 15px;
  width: 135px;
}
#container #movie #first_navi .attention.en dl dt {
  width: 145px;
}
#container #movie #first_navi .attention dl dt:before {
  vertical-align: top;
  font-size: 21px;
}
#container #movie #first_navi .attention dl dd {
  display: table-cell;
  vertical-align: middle;
  background: rgba(0, 0, 0, 0.9);
  color: #FFF;
  text-indent: 0.5em;
  padding: 6px 6px 6px 6px;
}
#container #movie #first_navi .attention dl dd a {
  text-decoration: none;
  color: #FFF;
}
.txt_attention{
   padding: 50px 5vw 45px !important;
   max-width: 800px;
   margin: 0 10px !important;
}
.txt_attention .txt_link{
  margin-top: 20px;
}
#container #movie #first_navi .attention dl dd a:focus,
#container #news .news_list dl dd a:focus,
.txt_attention .txt_link a:focus{
  outline: none;
}



#container #first_navi{
  /*
  position: absolute;
  bottom: 0; left: 0;
   */
  position: static;
  width: 100%;
  background: rgba(20, 20, 20, 1);

}

/* 180708追加 大雨災害対応 */
#container #first_navi .top_notice{
  zoom: 1;
  position: absolute;
  border:2px solid #CCC;
  padding:15px 10px;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
  font-size: 18px;
  background:#FFF;
  color:#777;
  width:100%;
  z-index:1000;
  text-align: center;
}
@media screen and (max-width: 1400px) {
  #container #first_navi .top_notice{
    font-size: 16px;
  }
}
@media screen and (max-width: 1225px) {
  #container #first_navi .top_notice{
    padding:13px 10px;
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  #container #first_navi .top_notice{
    width: auto;
    border:2px solid #CCC;
    padding:12px;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
    font-size: 14px;
    color:#777;
  }
}

#container #first_navi .news {
  /*
  background: rgba(20, 20, 20, 1);
   */
  background: none;
  margin: 0;
  position: relative;
  width: 100%;
  max-width: 1070px;
  margin: 0 auto;
}
#container #first_navi .news a.news_btn {
  display: inline-block;
  border: 1px solid #CCCCCC;
  border-radius: 4px;
  padding: 5px 2px 5px 8px;
  font-size: 13px;
  font-weight: bold;
  color: #202020;
  text-decoration: none;
  margin: 0px;
  position: absolute;
  right: 70px;
  top: 10px;
  z-index: 99;
  background:#CCC;
}
#container #first_navi .news a.news_btn:before {
  color: #F40009;
}
#container #first_navi .news .top_news_list {
  margin: 0 170px 0 25px;
}
#container #first_navi .news dl {
  width: auto;
  margin: 0 auto;
  display: block;
  font-size: 14px;
  text-align: left;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}
#container #first_navi .news dl dt {
  display: inline-block;
  padding: 15px 6px 15px 0px;
  color: #FFF;
}
#container #first_navi .news dl dt em {
  font-size: 12px;
  font-style: normal;
  display: inline-block;
  border-radius: 3px;
  padding: 1px .5em;
  background: #F40009;
  color: #FFF;
  margin-left: 20px;
  min-width: inherit;
  text-align: center;
}
#container #first_navi .news dl dd {
  text-align: left;
  display: inline-block;
  padding: 15px 6px 15px 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
}
#container #first_navi .news dl dd img {
  vertical-align: middle;
  margin-right: 10px;
}
#container #first_navi .news dl dd a {
  color: #FFF;
  font-size: 14px;
}
#container #movie #first_navi .navi {
  background: #F40009;
  margin: 0;
  text-align: center;
}
#container #movie #first_navi .navi ul {
  max-width: 932px;
  width: 100%;
  margin: 0 45px;
  display: inline-table;
  font-size: 15px;
  text-align: left;
  /*
  					display:-webkit-flex;
  					display:flex;
  					-webkit-flex-flow:row nowrap;
  					flex-flow:row nowrap;
  					-webkit-justify-content:space-around;
  					justify-content:space-around;
  */
}
#container #movie #first_navi .navi ul li {
  /*
  						-webkit-flex: none;
  						flex: none;
  */
  display: table-cell;
  padding: 20px 12px 20px 0;
  text-align: left;
}
#container #movie #first_navi .navi ul li a {
  display: inline-block;
  color: #FFF;
  text-decoration: none;
}
#container #movie #first_navi .navi ul li a.btn-right:before {
  margin-top: 5px;
}
#container #movie #first_navi .navi ul li img {
  vertical-align: middle;
}
#container #movie #first_navi .navi ul li:last-child {
  padding: 20px 0px 20px 0;
}
#container .c_box {
  zoom: 1;
  text-align: center;
  margin: 0 45px 30px 45px;
}
#container .c_box:before, #container .c_box:after {
  display: block;
  height: 0;
  visibility: hidden;
  content: "\0020";
}
#container .c_box:after {
  clear: both;
}
#container #campaign {
  background: #FFFFFF;
}
#container #campaign h1 {
  display: inline-block;
  padding: 0;
}
#container #campaign h1:before {
  font-size: 28px;
  color: #F40009;
}
#container #campaign h2 {
  display: inline-block;
  padding: 0;
  color:#333;
}
#container #campaign h2:before {
  font-size: 28px;
  color: #F40009;
}
#container #campaign .campaign_list {
  overflow: hidden;
  margin: 0 45px 15px 45px;
}
#container #campaign .campaign_list ul {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#container #campaign .campaign_list ul li {
  -webkit-flex: none;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  margin: 10px 0;
  width: 48%;
  text-align: left;
}
#container #campaign .campaign_list ul li a {
  margin: 0 5px;
  display: block;
  text-decoration: none;
  color: #666;
}
#container #campaign .campaign_list ul li a:hover {
  text-decoration: underline;
}
#container #campaign .campaign_list ul li img {
  display: block;
  width: 100%;
}
#container #campaign .campaign_list ul li em {
  font-size: 14px;
  font-style: normal;
  display: block;
  padding: 3px 0 0 1.2em;
  text-indent: -1.3em;
}
#container #campaign .campaign_list ul li em:before {
  color: #F40009;
  text-indent: 0px;
  text-decoration: none;
}
#container #campaign .attention_list {
  overflow: hidden;
  /*
  margin: 0 45px;
   */
  margin: 0 auto;
}
#container #campaign .attention_list ul {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
}
#container #campaign .attention_list ul li {
  -webkit-flex: none;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  margin: 10px 0;
  width: 24%;
  text-align: left;
  background: #FFF;
}
#container #campaign .attention_list ul li a {
  text-decoration: none;
  color: #666;
}
#container #campaign .attention_list ul li a:hover {
  text-decoration: underline;
}
#container #campaign .attention_list ul li a:after {
  display: none;
}
#container #campaign .attention_list ul li img {
  display: block;
  width: 100%;
}
#container #campaign .attention_list ul li em {
  font-size: 14px;
  font-style: normal;
  display: block;
  padding: 3px 6px 6px 6px;
}
#container #campaign .attention_list ul li em.icon-right-open {
  padding: 3px 6px 6px 1.2em;
  text-indent: -1.3em;
}
#container #campaign .attention_list ul li em.icon-right-open:before {
  display: inline-block;
}
#container #campaign .attention_list ul li em:before {
  display: none;
  color: #F40009;
  text-indent: 0px;
  text-decoration: none;
}

#container #items .central_box .main_img{
  overflow: hidden;
  background-size:cover;
  position: relative;
  -webkit-transition: background .5s ease-out;
          transition: background .5s ease-out;
}
#container #items .central_box .main_img:before{
  content: '';
  background: inherit;/*.bgImageで設定した背景画像を継承する*/
  -webkit-filter: blur(15px) brightness(0.7);
  -moz-filter: blur(15px) brightness(0.7);
  -o-filter: blur(15px) brightness(0.7);
  -ms-filter: blur(15px) brightness(0.7);
  filter: blur(15px) brightness(0.7);
  position: absolute;
  /*ブラー効果で画像の端がボヤけた分だけ位置を調整*/
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  z-index: 0;/*重なり順序を一番下にしておく*/
}

@media screen and (min-width: 769px) and (orientation: landscape){
#container #items .central_box .main_img{
  width: 100%;
  /*max-width: calc(100vw - 235px);*/
  height:100%;
  margin: 0 auto;
  position:absolute;
  top:0;
  margin-top: -30px;
}
#container #items .central_box .main_img ul:first-child,
#container #items .central_box .main_img ul.thumb-item{
  position:absolute;
  width:100%;
  top:50px;
}
#container #items .central_box .main_img ul:last-child{
  position:absolute;
  width:100%;
  bottom:53px;
}
}
#container #items .central_box .thumb-item-nav img{
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
  width:100%;
  height: auto;
}
#items .main_img .thumb-item{
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
}
/*
#items .main_img .thumb-item .slick-list{
  transform: translateY(-50%) !important;
}
*/
#items .main_img .thumb-item img {
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
  max-height: calc( 100vh - 170px );
  /*height:100vh;*/
  margin:auto;
  box-shadow: 0px 10px 15px 0px rgba(0,0,0,0.2);

  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

@media screen and (max-width: 768px) , screen and (orientation: portrait) {
  #container #items .central_box .main_img{
    max-width: inherit;
  }
  #items .main_img .thumb-item img{
    max-height: inherit;
    height: auto;
    position: static;
  }
  #items .main_img .bloc{
    display: none !important;
  }
}

#items .main_img .set_bloc{
  position: relative;
  padding: 40px 0 30px;
}
@media screen and (max-width: 768px) {
  #items .main_img .set_bloc{
    padding: 0;
  }
}
@media screen and (min-width: 769px) and (orientation: landscape) {
#items .main_img .set_bloc{
  height:100vh;
}
#items .main_img .set_bloc a{
  height: calc( 100vh - 245px );
  display: block;
  position: relative;
}

#items .main_img .set_bloc img{
  height: auto;
  max-height: calc( 100vh - 245px );
}

}
#items .main_img .bloc{
  height: 80px;
  width: 100%;
  overflow: hidden;
  background: rgba(0,0,0,0.7);
  padding: 10px 10px;
  color: #FFF;
  display: table;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
#items .main_img .bloc .txt,
#items .main_img .bloc .link{
  vertical-align: middle;
  display: table-cell;
}
#items .main_img .bloc .txt {
  text-align: left;
  font-size: 14px;
}
#items .main_img .bloc .txt .tit{
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 3px;
  display: inline-block;
}
#items .main_img .bloc .txt p{
  display: inline-block;
}
#items .main_img .bloc .link{
  width: 150px;
  font-size: 14px;
}
#items .main_img .bloc a{
  position: relative;
}
#items .main_img .bloc a:after{
  position: absolute;
  right: 5px; top: 50%;
  margin-top: -0.5em;
}
a.btn_sty01{
    display: block;
    width: 100%;
    padding: 5px 15px;
    background: #F40009;
    color: #FFF;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    position: relative;
    box-sizing: border-box;
    border-radius: 4px;
}
#toppage .main_img .thumb-item-nav .slick-list{
  /*margin: 0 28px;*/
}
#toppage .main_img .slick-prev{
  left: 50px;
}
#toppage .main_img .slick-next{
  right: 0;
}
#toppage .main_img .slick-prev,
#toppage .main_img .slick-next{
  bottom: inherit;
  top: 0;
  height: 100%;
  border-radius: 0;
}
#container #items .thumb-item-nav .slick-list li{
  line-height: 1px;
}
#container #items .thumb-item-nav .slick-active a{
  display: inline-block;
  position: relative;
}
#container #items .thumb-item-nav .slick-current a:before{
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0; left: 0;
  background: rgba(0,0,0,0.5);
}


#container #items #bubble {
  width: 100%;
  bottom: 0px;
  height: 300px;
  overflow: hidden;
  position: absolute;
  background: url(../images/bubble_back.png) 0 100% repeat-x;
}
#container #items #bubble .item {
  display: block;
  width: 120px;
  height: 120px;
  border-radius: 100%;
  position: relative;
  background: #F40009;
}
#container #items h1 {
  display: inline-block;
  color: #FFF;
}
#container #items h1:before {
  font-size: 38px;
  color: #FFF;
}
#container #items .item_link {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto 45px auto 220px;
  text-align: right;
}
#container #items .item_link a {
  display: inline-block;
  border-radius: 4px;
  padding: 5px 1px 5px 10px;
  font-size: 13px;
  font-weight: bold;
  background: #F40009;
  color: #FFF;
  text-decoration: none;
}
#container #items .item_link a:after {
  color: #FFF;
}
#container #items .item_list {
  clear: left;
  margin: 10px 45px;
}
#container #items .item_list ul.slick-dots li {
  float: none;
  width: 20px;
  margin-bottom: 0px;
}
#container #items .item_list ul li {
  text-align: left;
  width: 50%;
  float: left;
  margin-bottom: 10px;
}
#container #items .item_list ul li a {
  margin: 0 5px;
  display: block;
  background: #FFF;
  text-decoration: none;
  color: #666;
}
#container #items .item_list ul li a:hover {
  text-decoration: underline;
}
#container #items .item_list ul li .soon {
  margin: 0 5px;
  display: block;
}
#container #items .item_list ul li img {
  display: block;
  width: 100%;
}
#container #items .item_list ul li em {
  font-size: 16px;
  font-style: normal;
  display: block;
  padding: 3px 6px 6px 1.2em;
  text-indent: -1.3em;
}
#container #items .item_list ul li em:before {
  color: #F40009;
  text-indent: 0px;
  text-decoration: none;
}
@keyframes shake {
  0% {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
  50% {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
  }
  100% {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
}
@-webkit-keyframes shake {
  0% {
    -webkit-transform: translateX(20px);
  }
  50% {
    -webkit-transform: translateX(-20px);
  }
  100% {
    -webkit-transform: translateX(20px);
  }
}
#container .shake {
  animation: shake 2s ease 0s infinite normal;
  -webkit-animation: shake 2s ease 0s infinite normal;
}
@keyframes move {
  0% {
    -webkit-transform: translateY(0px) scale(1);
            transform: translateY(0px) scale(1);
  }
  100% {
    -webkit-transform: translateY(-200px) scale(0);
            transform: translateY(-200px) scale(0);
  }
}
@-webkit-keyframes move {
  0% {
    -webkit-transform: translateY(0px) scale(1);
  }
  100% {
    -webkit-transform: translateY(-200px) scale(0);
  }
}
#container .shake1 {
  animation: shake 2.2s ease 0s infinite normal;
  -webkit-animation: shake 2.2s ease 0s infinite normal;
}
#container .move1 {
  animation: move 3.2s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s infinite normal;
  -webkit-animation: move 3.2s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s infinite normal;
  position: absolute;
  bottom: -50%;
  z-index: 99999;
}
#container .pos1 {
  left: 15%;
}
#container .scale1 {
  -ms-transform: scale(1.3);
      transform: scale(1.3);
  -webkit-transform: scale(1.3);
}
#container .shake2 {
  animation: shake 2.4s ease 0s infinite normal;
  -webkit-animation: shake 2.4s ease 0s infinite normal;
}
#container .move2 {
  animation: move 3.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s infinite normal;
  -webkit-animation: move 3.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s infinite normal;
  position: absolute;
  bottom: -50%;
  z-index: 99999;
}
#container .pos2 {
  left: 20%;
}
#container .scale2 {
  -ms-transform: scale(1.1);
      transform: scale(1.1);
  -webkit-transform: scale(1.1);
}
#container .shake3 {
  animation: shake 2.6s ease 0s infinite normal;
  -webkit-animation: shake 2.6s ease 0s infinite normal;
}
#container .move3 {
  animation: move 3.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s infinite normal;
  -webkit-animation: move 3.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s infinite normal;
  position: absolute;
  bottom: -50%;
  z-index: 99999;
}
#container .pos3 {
  left: 25%;
}
#container .scale3 {
  -ms-transform: scale(0.9);
      transform: scale(0.9);
  -webkit-transform: scale(0.9);
}
#container .shake4 {
  animation: shake 2.8s ease 0s infinite normal;
  -webkit-animation: shake 2.8s ease 0s infinite normal;
}
#container .move4 {
  animation: move 3.8s cubic-bezier(0.47, 0, 0.745, 0.715) 1s infinite normal;
  -webkit-animation: move 3.8s cubic-bezier(0.47, 0, 0.745, 0.715) 1s infinite normal;
  position: absolute;
  bottom: -50%;
  z-index: 99999;
}
#container .pos4 {
  left: 30%;
}
#container .scale4 {
  -ms-transform: scale(0.8);
      transform: scale(0.8);
  -webkit-transform: scale(0.8);
}
#container .shake5 {
  animation: shake 3.0s ease 0s infinite normal;
  -webkit-animation: shake 3.0s ease 0s infinite normal;
}
#container .move5 {
  animation: move 4.2s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s infinite normal;
  -webkit-animation: move 4.2s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s infinite normal;
  position: absolute;
  bottom: -50%;
  z-index: 99999;
}
#container .shake6 {
  animation: shake 3.2s ease 0s infinite normal;
  -webkit-animation: shake 3.2s ease 0s infinite normal;
}
#container .move6 {
  animation: move 4.6s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s infinite normal;
  -webkit-animation: move 4.6s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s infinite normal;
  position: absolute;
  bottom: -50%;
  z-index: 99999;
}
#container .pos5 {
  left: 35%;
}
#container .pos6 {
  left: 40%;
}
#container .pos7 {
  left: 45%;
}
#container .pos9 {
  left: 50%;
}
#container .pos10 {
  left: 55%;
}
#container .pos11 {
  left: 60%;
}
#container .pos12 {
  left: 65%;
}
#container .pos13 {
  left: 70%;
}
#container .pos14 {
  left: 75%;
}
#container .pos15 {
  left: 80%;
}
#container .pos16 {
  left: 85%;
}
#container .pos17 {
  left: 90%;
}
#container .pos18 {
  left: 95%;
}
/*#container #factory {
  background: #F40009 url(/images/factory_back.jpg) center center no-repeat;
  background-size: cover;
}*/
#container #factory .background_img {
  position: absolute;
  z-index: 1;
  opacity: 0;
  top: 0;
  left: 50%;
  bottom: 0;
  margin: auto;
  width: 120%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all .4s ease-in;
          transition: all .4s ease-in;
}
#container #factory.act .background_img {
  opacity: 1;
}
#container #factory h1 {
  display: inline-block;
  color: #FFF;
}
#container #factory strong {
  color: #FFF;
  display: block;
}
#container #factory .factory_list {
  clear: left;
  overflow: hidden;
  margin: 15px auto 30px auto;
  background: url(../images/map.png) 50% 33% no-repeat;
  width: 827px;
  height: 540px;
  position: relative;
}
#container #factory .factory_list .map_cursor_img {
  /*opacity: 0;*/
  position: absolute;
  left: 222px;
  bottom: 85px;
 /* -webkit-transition: all .4s ease-in;
          transition: all .4s ease-in;*/
}
#container #factory .factory_list .map_cursor_img.act {
  opacity: 1;
}
#container #factory .factory_list ol {
  display: block;
}
#container #factory .factory_list ol li {
  font-size: 16px;
  display: block;
  position: absolute;
  z-index: 201;
}
#container #factory .factory_list ol li.f_01 {
  left: 108px;
  top: 268px;
}
#container #factory .factory_list ol li.f_02 {
  left: 310px;
  top: 185px;
}
#container #factory .factory_list ol li.f_03 {
  right: 65px;
  top: 192px;
}
#container #factory .factory_list ol li.f_04 {
  left: 445px;
  bottom: 15px;
}
#container #factory .factory_list ol li.f_05 {
  right: 133px;
  bottom: 99px;
}
#container #factory .factory_list ol li.f_06 {
  left: 147px;
  bottom: 65px;
}
#container #factory .factory_list ol li a {
  color: #FFF;
  text-decoration: none;
}
#container #factory .factory_list ol li a:after {
  content: "";
  display: none;
}
#container #factory .factory_list ul {
  display: block;
}
#container #factory .factory_list ul li {
  display: block;
  position: absolute;
  z-index: 200;
  width: 160px;
  height: 160px;
}
#container #factory .factory_list ul li.f_01 {
  left: 137px;
  top: 94px;
}
#container #factory .factory_list ul li.f_02 {
  left: 340px;
  top: 21px;
}
#container #factory .factory_list ul li.f_03 {
  right: 22px;
  top: 25px;
}
#container #factory .factory_list ul li.f_04 {
  left: 416px;
  bottom: 42px;
}
#container #factory .factory_list ul li.f_05 {
  right: 100px;
  bottom: 129px;
}
#container #factory .factory_list ul li.f_06 {
  left: 248px;
  bottom: 0px;
}
#container #factory .factory_list ul li a img {
  width: 160px;
}
#container #factory .factory_list ul li a:after {
  content: "";
  display: none;
}
#container #factory .fact_btn a {
  display: inline-block;
  border-radius: 4px;
  padding: 8px 1px 8px 10px;
  font-size: 14px;
  font-weight: bold;
  background: rgba(0, 0, 0, 0.8);
  color: #FFF;
  width: 240px;
  text-decoration: none;
}
#container #business {
/*
  background: url(../images/top/business_back.jpg) 50% 50% no-repeat;
    background-size: cover;
    background-attachment: fixed;
*/
  /*background: none

  background: url(../images/business_back.jpg) 50% 50% no-repeat;
  background-attachment: fixed;
  background-size: cover;
  */
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
#container #business {
  background-attachment:scroll;
}
}
/*IE対応*/
@media all and (-ms-high-contrast: none){
#container #business {
    background-attachment: scroll;
}
}

#container #business h1 {
  display: inline-block;
  color: #333;
}
#container #business .business_list {
  clear: left;
  overflow: hidden;
  /*
  margin: 10px 45px;
   */
  margin: 10px auto;
}
#container #business .business_list ul {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
}
#container #business .business_list ul::before {
  content: "";
  display: block;
  width: 24%;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
#container #business .business_list ul::after {
  content: "";
  display: block;
  width: 24%;
}
#container #business .business_list ul li {
  -webkit-flex: none;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  margin: 10px 0;
  width: 24%;
  text-align: left;
  background: #FFF;
  font-size: 14px;
}
#container #business .business_list ul li a {
  text-decoration: none;
  color: #666;
}
#container #business .business_list ul li a:hover em {
  text-decoration: underline;
}
#container #business .business_list ul li img {
  display: block;
  width: 100%;
}
#container #business .business_list ul li em {
  font-size: 15px;
  font-style: normal;
  font-weight: bold;
  display: block;
  padding: 3px 10px 3px 1.2em;
  text-indent: -1.3em;
}
#container #business .business_list ul li em:before {
  color: #F40009;
  text-indent: 0px;
  text-decoration: none;
}
#container #business .business_list ul li span {
  display: block;
  padding: 1px 10px 6px 10px;
}
#container #business .business_btn a {
  display: inline-block;
  border-radius: 4px;
  padding: 8px 1px 8px 10px;
  font-size: 14px;
  font-weight: bold;
  background: rgba(0, 0, 0, 0.8);
  color: #FFF;
  width: 240px;
  text-decoration: none;
}
#container #news {
  position: relative;
  background: #FFF;
}
#container #news h1 {
  display: inline-block;
  color:#333;
}
#container #news .branch {
  margin: 50px auto 0 auto;
  max-width: 1080px;
  min-height: 240px;
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
  background: #F6F6F6;
  padding: 30px;
  position: relative;
}
#container #news .branch h2 {
  border-left: 5px solid #F40009;
  padding: 0 0 0 10px;
  color: #666;
  font-size: 20px;
  line-height: 100%;
  margin-bottom: 15px;
}
#container #news .branch em {
  font-style: normal;
  line-height: 170%;
}
#container #news .branch.irbranch {
  min-height: 100px;
}
#container #news .branch .branch_archive {
  text-align: center;
  width: 100%;
  display: table;
  border-collapse: separate;
  border-spacing: 15px 0;
}
#container #news .branch .branch_archive a {
  display: table-cell;
  width: 50%;
  vertical-align: middle;
  border: 2px solid #CCC;
  border-radius: 4px;
  padding: 30px 25px 28px;
  margin: 6px;
  font-size: 14px;
  background: #FFF;
  color: #666;
  min-width: 35%;
}
#container #news .branch .branch_archive a:after {
  color: #F40009;
  text-decoration: none;
}
#container #news .branch .branch_archive a:hover:after {
  text-decoration: none;
}
#container #news .branch .branch_map {
  top: 30px;
  right: 30px;
  position: absolute;
  display: block;
  width: 627px;
  height: 250px;
}
#container #news .branch .branch_map .west {
  top: 0;
  left: 0;
  position: absolute;
  display: block;
  z-index: 55;
  width: 313px;
  height: 250px;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
#container #news .branch .branch_map .west:hover + img {
  opacity: 1;
}
#container #news .branch .branch_map .west:hover ~ .base {
  opacity: 0;
}
#container #news .branch .branch_map .east {
  top: 0;
  right: 0;
  position: absolute;
  display: block;
  z-index: 54;
  width: 313px;
  height: 250px;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
#container #news .branch .branch_map .east:hover + img {
  opacity: 1;
}
#container #news .branch .branch_map .east:hover ~ .base {
  opacity: 0;
}
#container #news .branch .branch_map img {
  -webkit-transition: all .3s ease-out;
          transition: all .3s ease-out;
  display: block;
  position: absolute;
  z-index: 40;
  opacity: 0;
  width: 627px;
  height: 250px;
}
#container #news .branch .branch_map img.base {
  -webkit-transition: all .2s ease-out .1s;
          transition: all .2s ease-out .1s;
  opacity: 1;
  z-index: 10;
}
#container #news .news_link {
  /*position: absolute;*/
/*  left: 0;
  right: 0;
  margin: auto;
  text-align: right;*/
  /*
  margin-right: 45px;
   */
  position: absolute;
  top: -2em;
  right: 0;
}
@media screen and (min-width: 1300px) {
  #container #news .news_link {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
#container #news .news_link {
  text-align: left;
}
#container #news .news_link a {
  display: block;
  border: 2px solid #F40009;
  border-radius: 4px;
  padding: 5px 1px 5px 10px;
  font-size: 13px;
  font-weight: bold;
  color: #202020;
  text-decoration: none;
  min-width: 110px;
  margin-left: auto;
  margin-bottom: 0;
}
#container #news .news_link a.rss_link:before,
#container #news .news_link a:after {
  color: #F40009;
}
#container #news .news_link a.rss_link{
  padding: 5px 10px 5px 8px;
}
#container #news .news_link a.rss_link:after{
  display: none;
}
#container #news .news_list {
  clear: left;
  /*
  overflow: hidden;
   */
  overflow: inherit;
  /*
  margin: 2.5em 45px 10px;
   */
  margin: 2.5em auto 10px;
  position: relative;
}
#container #news .news_list ul {
  width: 100%;
  display: table;
  margin-bottom: 20px;
}
#container #news .news_list ul li {
  position: relative;
  cursor: pointer;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  background: #EEEEEE;
  width: 25%;
  font-size: 14px;
  line-height: 15px;
  font-weight: bold;
  padding: 10px 0;
  color: #444444;
  border-right: 1px solid #CCCCCC;
  -webkit-transition: background .35s ease-out,color .35s ease-out;
          transition: background .35s ease-out,color .35s ease-out;
}
#container #news .news_list ul li:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  border-right: none;
}
#container #news .news_list ul li:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
#container #news .news_list ul li:after {
  content: "";
  position: absolute;
  z-index: -1;
  -webkit-transform: translateY(0px);
      -ms-transform: translateY(0px);
          transform: translateY(0px);
  bottom: 5px;
  left: 50%;
  margin-left: -10px;
  display: block;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #EEEEEE transparent transparent transparent;
}
#container #news .news_list ul li.act {
  background: #F40009;
  color: #FFF;
}
#container #news .news_list ul li.act:after {
  -webkit-animation: fuki_bottom .35s ease 0s;
  animation: fuki_bottom .35s ease 0s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
#container #news .news_list dl {
  min-height: 50px;
  display: none;
  border-bottom: 1px solid #eee;
  margin-bottom: 15px;
}
#container #news .news_list .attention dl {
  display: block;
  padding: 10px;
  border-top: 1px solid #CCC;
  text-align: left;
  min-height: 32px;
  border-bottom: 0;
}
#container #news .news_list .attention dl dt{
  border-top: none;
  color: #444;
  font-weight: bold;
  border-radius: 3px;
  padding: 10px 5px;
  font-size: 15px;
  float: left;
  display: inline-block;
  clear: left;
}
#container #news .news_list .attention dl dd{
  border-bottom: 0;
  border-top: none;
  box-sizing: border-box;
  padding-top: 10px;
}
#container #news .news_list dl.act {
  display: block;
}
#container #news .news_list dl dt {
    clear: left;
    display: block;
    /*
    float: left;
     */
  float: none;
    text-align: left;
    font-size: 12px;
    /*
    padding: 11px 15px 11px 10px;
     */
  padding: 10px 15px 0px 10px;
    border-top: 1px solid #eee;
}
#container #news.topics .news_list dl dt {
  float: left;
  padding: 11px 15px 11px 10px;
}
@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #container #news.topics .news_list dl dt {
    float: none;
    padding: 6px 10px 4px 0px;
  }
}
#container #news .news_list dl dt em {
  font-size: 12px;
  font-style: normal;
  display: inline-block;
  border-radius: 3px;
  padding: 1px .5em;
  margin-left: 15px;
  /*
  min-width: 100px;
   */
  min-width: inherit;
  text-align: center;
  border: 1px solid #AAAAAA;
  margin-bottom: .5em;
}
#container #news.topics .news_list dl dt em {
  margin-bottom: 0;
}

#container #news .news_list dl dt em + em {
    margin-left: 6px;
}
#container #news .news_list dl dt em.bji {
    color: #F40009;
    border: 1px solid #F40009;
    /*
    min-width: 50px;
     */
  min-width: 3em;
}
#container #news .news_list dl dt em.hd {
    background: #F40009;
    border: 1px solid #F40009;
    color: #FFF;
    /*
    min-width: 50px;
     */
  min-width: 3em;
}
#container #news .news_list dl dd {
    display: block;
    overflow: hidden;
    text-align: left;
    /*
    border-top: 1px solid #DDDDDD;
     */
  border-top: none;
    font-size: 15px;
    /*
    padding: 11px 10px 11px 10px;
     */
  padding: 0 10px 5px 8.2em;
}
#container #news .news_list.en dl dd {
  padding: 0 10px 5px 7.0em;
}
#container #news.topics .news_list dl dd {
  border-top: 1px solid #eee;
  padding: 11px 10px 11px 10px;
}
@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #container #news .news_list.en dl dd {
    padding: 0 10px 5px 0em;
  }
  #container #news.topics .news_list dl dd {
    border-top: none;
    padding: 2px 0px 11px 0px;
  }
}

#container #news .news_list.news_list_bottom dl dd {
  padding-left: 0;
}
#container #news .news_list dl dd a {
  color: #666;
  text-decoration: none;
  word-break: break-all;
  font-size: 16px;
}
#container #news .news_list dl dd a:hover {
  text-decoration: underline;
}

#container.act {
  -webkit-transition: -webkit-transform 0.38s ease-out;
          transition: transform 0.38s ease-out;
}

#container.none {
  -webkit-transition: -webkit-transform 0s ease 0s;
          transition: transform 0s ease 0s;
}

@media screen and (max-width: 1330px) {
  #container #contents .contents_inner .branch {
    min-height: 340px;
  }

  #container #contents .contents_inner .branch.irbranch {
    min-height: 100px;
  }

  #container #contents .contents_inner .branch .branch_map {
    top: 110px;
  }
}
@media screen and (max-width: 1250px) {
  #container #contents .contents_inner .related_link li a div.img {
    display: block;
  }
}
@media screen and (max-width: 1080px) {
  #container #contents .contents_inner .contents_list.mini li a,
  #container header #side_header .sub_navi .contents_inner .contents_list.mini li a {
    padding: 27px 9px 25px;
    font-size: 13px;
  }

  #container #contents .contents_inner .branch {
    margin: 30px auto 0 auto;
    min-height: 340px;
  }

  #container #contents .contents_inner .branch.irbranch {
    min-height: 100px;
  }

  #container #contents .contents_inner .branch .branch_map {
    top: 130px;
    width: 90%;
  }

  #container #contents .contents_inner .branch .branch_map img {
    height: auto;
    width: 100%;
  }
}
@media screen and (max-width: 1010px) {
  #container #contents .contents_inner .branch .branch_map {
    zoom: 0.65;
  }
}
/*
@media screen and (max-width: 1322px) {
}

@media screen and (max-width: 1279px) {
}

@media screen and (max-width: 960px) {
}

//ipad縦 高さ850px以上で尚且つ769px以下
@media screen and (min-height: 850px) and (max-width: 769px) {
}

//Nexus10
@media screen and (min-height: 1000px) and (max-width: 801px) {
}
*/
@media screen and (max-width: 782px) {
  #container #contents {
    /* margin: 51px auto 0; //CCBJI_D-863 */
    margin: 57px auto 0;
    min-height: 100vh;
  }
}
@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #mov_player .background-cover {
    background: rgba(0, 0, 0, 0.4);
  }
  #ytplayer {
    width: 240%;
    height: 100%;
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
    left: 50%;
    position: fixed;
    z-index: -1;
    margin: auto;
  }
/*
  #toppage #container header{
    min-height: inherit;
  }
*/
  .sp_inline_block {
    display: inline-block !important;
  }

  .pc_inline_block {
    display: none !important;
  }

  .sp_block {
    display: block !important;
  }

  .pc_block {
    display: none !important;
  }

  /*
  #top #container header #side_header {
    top: 0;
    -webkit-transform: translateY(-50px) translateX(0);
        -ms-transform: translateY(-50px) translateX(0);
            transform: translateY(-50px) translateX(0);
    opacity: 1;
    position: absolute;
  }

  #container header #side_header {
    z-index: 995;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 50px;
    box-shadow: none;
    background: #F40009;
    opacity: 1;
  }
  #container header #side_header.act {
    -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
            transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateY(0px) !important;
        -ms-transform: translateY(0px) !important;
            transform: translateY(0px) !important;
  }
  #container header #side_header.fixed {
    position: fixed !important;
  }
  #container header #side_header h1 {
    position: relative;
    z-index: 99;
    background: #E30005;
  }
  #container header #side_header h1 a {
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    width: 100%;
    height: 50px;
    background: url(../images/common/navi_side_logo_sp.png) 15px 50% no-repeat;
    background-size: 201px 33px;
  }
  #container header #side_header h1 a.en {
    background: url(../images/common/navi_side_logo_sp_en.png) 15px 50% no-repeat;
    background-size: 201px 33px;
  }
  #container header #side_header .global_navi {
    display: none;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    top: 0;
    left: 0;
    overflow: auto;
    height: 100vh;
    width: 100%;
    background: #FFF;
    margin-bottom: 100px;
    padding-top: 50px;
  }
  #container header #side_header .global_navi ol {
    margin: 60px 0 10px 0;
    border-top: 1px solid #DDDDDD;
  }
  #container header #side_header .global_navi ol li {
    border-bottom: 1px solid #DDDDDD;
  }
  #container header #side_header .global_navi ol li a {
    display: block;
    width: auto;
    text-decoration: none;
    font-size: 15px;
    color: #444;
    padding: 12px 5px 12px 15px;
    font-weight: bold;
    line-height: 15px;
    -webkit-transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
            transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  #container header #side_header .global_navi ol li a:before {
    font-weight: normal;
    -ms-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
    -webkit-transform-origin: 50% 50%;
    float: right;
    color: #F40009;
    font-size: 16px;
    -webkit-transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  #container header #side_header .global_navi ol li a.btn-right:before {
    margin-top: 0;
  }
  #container header #side_header .global_navi ol li a.btn-plus:before {
    content: '\e882';
    -webkit-transform: rotateZ(45deg);
            transform: rotateZ(45deg);
    font-size: 10px;
    margin: 4px 8px 0 0;
  }
  #container header #side_header .global_navi ol li a.act {
    background: #870004;
    color: #FFF;
  }
  #container header #side_header .global_navi ol li a.act:before {
    color: #FFF;
  }
  #container header #side_header .global_navi ol li a.open {
    background: #222222;
    color: #FFF;
  }
  #container header #side_header .global_navi ol li a.open.btn-plus:before {
    color: #FFF;
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }
  #container header #side_header .global_navi ol li a:hover {
    background: #222222;
    color: #FFF;
  }
  #container header #side_header .global_navi ol li a:hover:before {
    color: #FFF;
  }
  #container header #side_header .global_navi ul li {
    padding: 5px 14px 5px 14px;
  }
  #container header #side_header .global_navi ul li a {
    display: block;
    border: 1px solid #CCCCCC;
    border-radius: 3px;
    background: #FFF;
    color: #444444;
    text-decoration: none;
    font-size: 14px;
    line-height: 14px;
    padding: 6px 5px 6px 5px;
    text-align: center;
  }
  #container header #side_header .global_navi ul li a:before {
    color: #888888;
    font-size: 14px;
  }
  #container header #side_header .global_navi .search_box {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    display: block;
    width: 95%;
    position: absolute;
    top: 55px;
    left: 0;
    margin: 5px 10px 5px 10px;
    padding: 0;
    border: 1px solid #CCCCCC;
    border-radius: 24px;
    background: #F6F6F6;
  }
  #container header #side_header .global_navi .search_box input {
    border: none;
    font-size: 16px;
    padding: 4px 10px;
    background: transparent;
  }
  #container header #side_header .global_navi .search_box input.gsc-input {
    background: none !important;
  }
  #container header #side_header .global_navi .search_box .cse form.gsc-search-box, #container header #side_header .global_navi .search_box form.gsc-search-box {
    padding: 0;
    margin: 0;
  }
  #container header #side_header .global_navi .search_box button {
    cursor: pointer;
    position: relative;
    border: 0;
    margin-right: 6px;
    background: none;
    color: #F40009;
    width: 20px;
    height: 20px;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
    text-indent: 30px;
  }
  #container header #side_header .global_navi .search_box button:before {
    font-size: 16px;
    display: block;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 2px;
    bottom: 0;
    text-indent: 0px;
  }
  #container header #side_header .sub_navi {
    position: static;
    left: 0;
    top: 0;
    background: rgba(235, 235, 235, 0.95);
    overflow: hidden;
    height: 0;
    width: 100% !important;
    -webkit-transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
            transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  #container header #side_header .sub_navi.act {
    -webkit-transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
            transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  }
  #container header #side_header .sub_navi.act .contents_inner {
    -webkit-transition: -webkit-transform 0.65s cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
            transition: transform 0.65s cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-transform: translateX(0) translateY(0);
        -ms-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0);
  }
  #container header #side_header .sub_navi .contents_inner {
    -webkit-transition: -webkit-transform 0.65s cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
            transition: transform 0.65s cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-transform: translateX(0) translateY(-100%);
        -ms-transform: translateX(0) translateY(-100%);
            transform: translateX(0) translateY(-100%);
    position: static;
    padding: 0;
    width: auto;
    max-width: 100%;
    min-width: 280px;
    margin: auto 14px;
  }
  #container header #side_header .sub_navi .contents_inner h2 {
    padding-top: 10px;
  }
  #container header #side_header .sub_navi .contents_inner h2 a {
    display: inline-block;
    padding: 0;
    font-size: 18px;
    line-height: 100%;
    font-weight: bold;
    width: auto;
    margin-bottom: 15px;
    color: #444;
  }
  #container header #side_header .sub_navi .contents_inner h2 a:before {
    font-size: 20px;
    color: #F40009;
  }
  #container header #side_header .sub_navi .contents_inner h2 a:hover {
    background: none;
    color: #444;
    text-decoration: underline;
  }
  #container header #side_header .sub_navi .contents_inner h2 a:hover:before {
    font-size: 20px;
    color: #F40009;
    text-decoration: none;
  }
  #container header #side_header .sub_navi .contents_inner .contents_list {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
    margin: 0 0 10px 0;
  }
  #container header #side_header .sub_navi .contents_inner .contents_list::before {
    content: "";
    display: block;
    width: 100%;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  #container header #side_header .sub_navi .contents_inner .contents_list::after {
    content: "";
    display: block;
    width: 100%;
  }
  #container header #side_header .sub_navi .contents_inner .contents_list.mini li {
    width: 100%;
  }
  #container header #side_header .sub_navi .contents_inner .contents_list.mini li a {
    border: 1px solid #CCC;
    border-radius: 4px;
    padding: 10px 10px 9px;
    margin-bottom: 4px;
    font-size: 13px;
    background: #F6F6F6;
  }
  #container header #side_header .sub_navi .contents_inner .contents_list li {
    -webkit-flex: none;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    text-align: left;
    width: 100%;
    padding: 0 0 0 0;
    border: none;
    color: #444444;
  }
  #container header #side_header .sub_navi .contents_inner .contents_list li a {
    width: auto;
    border: none;
    text-align: left;
    color: #444444;
    display: block;
    font-size: 14px;
    padding: 10px 10px;
    border-bottom: 1px solid #CCC;
    border-radius: 0;
    text-decoration: none;
    background: none;
  }
  #container header #side_header .sub_navi .contents_inner .contents_list li a img {
    display: none;
  }
  #container header #side_header .sub_navi .contents_inner .contents_list li a strong {
    line-height: 130%;
    display: inline-block;
  }
  #container header #side_header .sub_navi .contents_inner .contents_list li span {
    display: none;
  }

   */

/*
  #container header #top_header {
    position: fixed;
    background: none;
    width: auto;
  }
  #top #container header #top_header {
    position: absolute;
  }
  #container header #top_header.fixed {
    position: fixed !important;
  }
  #container header #top_header dl {
    display: block;
    letter-spacing: -0.4em;
  }
  #container header #top_header dl dt {
    vertical-align: middle;
  }
  #container header #top_header dl dt:first-child {
    border-left: 1px solid #aa0006;
  }
  #container header #top_header dl dt.icon-share + dd, #container header #top_header dl dt.icon-lang + dd {
    position: absolute;
    right: 52px;
    top: 50px;
    height: 0px;
    width: 50px;
    text-align: center;
  }
  #container header #top_header dl dt.icon-share + dd.act, #container header #top_header dl dt.icon-lang + dd.act {
    width: 50px;
    height: 80px;
  }
  #container header #top_header dl dt.icon-share + dd strong, #container header #top_header dl dt.icon-lang + dd strong {
    display: inline-block;
    margin: 6px;
    font-size: 16px;
  }
  #container header #top_header dl dt.icon-share + dd a.lang, #container header #top_header dl dt.icon-lang + dd a.lang {
    display: inline-block;
    padding: 10px 0;
    margin: 2px 10px;
    border-top: 1px solid #DDD;
    border-left: 0px solid #FFF;
    color: #FFF;
  }
  #container header #top_header dl dt i {
    width: 20px;
    height: 3px;
    border-radius: 3px;
    background: #FFF;
    display: block;
    -webkit-transition: background .3s;
            transition: background .3s;
    position: relative;
    left: 15px;
    top: 23px;
  }
  #container header #top_header dl dt i:before, #container header #top_header dl dt i:after {
    content: "";
    width: 20px;
    height: 3px;
    border-radius: 3px;
    background: #FFF;
    display: block;
    position: absolute;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    -webkit-transition: all .3s;
            transition: all .3s;
  }
  #container header #top_header dl dt i:before {
    -webkit-transform: translateY(8px);
    -ms-transform: translateY(8px);
        transform: translateY(8px);
  }
  #container header #top_header dl dt i:after {
    -webkit-transform: translateY(-8px);
    -ms-transform: translateY(-8px);
        transform: translateY(-8px);
  }
  #container header #top_header dl dt.act {
    background: #870004;
  }
  #container header #top_header dl dt.act i {
    background: none;
  }
  #container header #top_header dl dt.act i:before {
    -webkit-transform: translateY(0px) rotate(135deg);
    -ms-transform: translateY(0px) rotate(135deg);
        transform: translateY(0px) rotate(135deg);
  }
  #container header #top_header dl dt.act i:after {
    -webkit-transform: translateY(0px) rotate(-135deg);
    -ms-transform: translateY(0px) rotate(-135deg);
        transform: translateY(0px) rotate(-135deg);
  }
  #container header #top_header dl dd {
    vertical-align: middle;
  }

 */
  /* #container #contents {
    // margin: 51px auto 0; //CCBJI_D-863
    margin: 57px auto 0;
    min-height: 100vh;
  } */
  #container #contents #contents_header .header_img {
    position: relative;
    overflow: hidden;
    padding: 45px 14px 40px 14px;
    height: 35px;
    min-height: 35px;
  }
  #container #contents #contents_header .header_img.act:after {
    opacity: 1;
  }
  #container #contents #contents_header .header_img.act h1 {
    margin-top: 0px;
    height: 20px;
    padding-bottom: 5px;
  }
  #container #contents #contents_header .header_img.act.single h1 {
    margin-top: 0px;
    margin-bottom: 0;
    padding-bottom: 5px;
  }
  #container #contents #contents_header .header_img h1 {
    margin-top: 25px;
    font-size: 18px;
    padding-bottom: 0px;
    border-bottom: 2px solid #F40009;
    margin-bottom: 0px;
    position: relative;
    height: 0;
    z-index: 5;
  }
  #container #contents #contents_header .header_img img {
    height: 100%;
  }
  #container #contents #contents_header .header_img.single h1 {
    margin-top: 25px;
    margin-bottom: 0;
  }
  #container #contents #contents_header .header_txt {
    text-align: left;
    font-size: 14px;
    padding: 12px 14px;
    position: static;
    width: auto;
    color: #444444;
  }
  #container #contents .layer2_navi input:checked ~ div label:before {
    content: "▲";
  }
  #container #contents .layer2_navi input:checked ~ ul {
    height: auto;
    -webkit-transform: scaleY(1);
        -ms-transform: scaleY(1);
            transform: scaleY(1);
  }
  #container #contents .layer2_navi div {
    display: block;
    border-bottom: 1px solid #CCC;
    background: #FFF;
    text-align: left;
    font-size: 13px;
  }
  #container #contents .layer2_navi div label {
    display: block;
    padding: 10px 5px 10px 20px;
  }
  #container #contents .layer2_navi div label:before {
    content: "▼";
    display: block;
    float: right;
    border-left: 1px solid #CCC;
    padding: 0 10px 0 12px;
    color: #F40009;
  }
  #container #contents .layer2_navi ul {
    display: block;
    width: auto;
    background: #F2F2F2;
    overflow: hidden;
    -webkit-transition: all .3s ease-out;
            transition: all .3s ease-out;
    height: 0px;
    -webkit-transform: scaleY(0);
        -ms-transform: scaleY(0);
            transform: scaleY(0);
    -ms-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
    -webkit-transform-origin: 50% 0%;
    border-bottom: 1px solid #AAA;
  }
  #container #contents .layer2_navi ul li {
    display: block;
    border-top: 0px;
    border-left: 0px;
    border-right: 0px;
    border-bottom: 1px solid #DDD;
    padding: 0px 0px;
  }
  #container #contents .layer2_navi ul li.act {
    border-top: 0px;
    border-left: 0px;
    border-right: 0px;
    border-bottom: 1px solid #DDD;
    background: #FFF;
  }
  #container #contents .layer2_navi ul li.act a {
    color: #F40009;
    border-left: 3px solid #F40009;
  }
  #container #contents .layer2_navi ul li.act + li a {
    border-left: none;
  }
  #container #contents .layer2_navi ul li:first-child a {
    border-left: none;
  }
  #container #contents .layer2_navi ul li a {
    font-size: 13px;
    font-weight: normal;
    text-decoration: none;
    padding: 10px 5px 10px 20px;
    text-align: left;
    display: block;
    color: #444444;
    border-left: 0px solid #CCCCCC;
  }
  #container #contents .contents_inner {
    padding: 20px 14px;
  }
  #container #contents .contents_inner h1.title {
    border-left: 4px solid #F40009;
    padding: 0 0 0 8px;
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 100%;
  }
  #container #contents .contents_inner h2.title {
    border-left: 4px solid #CCCCCC;
    padding: 0 0 0 8px;
    font-size: 16px;
    margin-bottom: 10px;
    line-height: 115%;
  }
  #container #contents .contents_inner .sect_box {
    padding: 0 0 20px 0;
  }
  #container #contents .contents_inner .sect_box p {
    font-size: 14px;
    padding: 0 15px;
  }
  #container #contents .contents_inner .sect_box + .sect_box {
    padding: 20px 0 20px 0;
    border-top: 1px solid #CCC;
  }
  #container #contents .contents_inner .left_bn {
    display: block;
    float: none;
    width: auto;
    margin: auto  auto 15px auto;
    text-align: center;
  }
  #container #contents .contents_inner .left_bn img {
    width: 90%;
  }
  #container #contents .contents_inner .contents_list {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
    margin: 0px;
  }
  #container #contents .contents_inner .contents_list.left_line {
    border-left: 0px;
    padding-left: 0px;
  }
  #container #contents .contents_inner .contents_list.left_line:before {
    display: none;
  }
  #container #contents .contents_inner .contents_list.investors li a {
    min-height: 0;
  }
  #container #contents .contents_inner .contents_list::before {
    content: "";
    display: block;
    width: 48%;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  #container #contents .contents_inner .contents_list::after {
    content: "";
    display: block;
    width: 48%;
  }
  #container #contents .contents_inner .contents_list.mini li {
    width: 100%;
  }
  #container #contents .contents_inner .contents_list.mini li a {
    border: 2px solid #CCC;
    border-radius: 4px;
    padding: 15px 10px 14px;
    margin-bottom: 4px;
    font-size: 14px;
  }
  #container #contents .contents_inner .contents_list li {
    -webkit-flex: none;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    text-align: left;
    width: 48%;
    padding-bottom: 15px;
  }
  #container #contents .contents_inner .contents_list li a {
    text-align: left;
    color: #444444;
    display: block;
    font-size: 14px;
    text-decoration: none;
  }
  #container #contents .contents_inner .contents_list li a:hover {
    text-decoration: underline;
  }
  #container #contents .contents_inner .contents_list_wrap:before {
    content: "";
    display: none;
  }
  #container #contents .contents_inner table {
    width: 100%;
    border-top: 1px solid #DDDDDD;
    border-left: 1px solid #DDDDDD;
  }
  #container #contents .contents_inner table tr th {
    display: block;
    border-right: 1px solid #DDDDDD;
    border-bottom: 0;
    background: #F2F2F2;
    padding: 7px 9px;
    font-weight: normal;
    text-align: left;
    font-size: 14px;
  }
  #container #contents .contents_inner .contents_table tr th {
    width: auto
    }
  #container #contents .contents_inner table tr td {
    display: block;
    border-right: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    background: #FFF;
    padding: 7px 9px 12px 9px;
    font-size: 14px;
  }
  #container #contents .contents_inner .branch {
    margin: 0 auto;
    min-height: 240px;
    border: 1px solid #CCC;
    background: #F6F6F6;
    padding: 12px;
    position: relative;
  }
  #container #contents .contents_inner .branch h2 {
    border-left: 2px solid #F40009;
    padding: 0 0 0 8px;
    color: #202020;
    font-size: 17px;
    margin-bottom: 10px;
  }
  #container #contents .contents_inner .branch em {
    font-style: normal;
    line-height: 125%;
    font-size: 13px;
  }
  #container #contents .contents_inner .branch.irbranch {
    min-height: 100px;
  }
  #container #contents .contents_inner .branch .branch_archive {
    padding-top: 15px;
    border-spacing: 3px 0;
    text-align: center;
  }
  #container #contents .contents_inner .branch .branch_archive a {
    border: 2px solid #CCC;
    border-radius: 4px;
    padding: 20px 3px;
    margin: 3px 0;
    font-size: 12px;
    background: #FFF;
    color: #666;
    min-width: 0%;
  }
  #container #contents .contents_inner .branch .branch_archive a:after {
    color: #F40009;
    text-decoration: none;
  }
  #container #contents .contents_inner .branch .branch_archive a:hover:after {
    text-decoration: none;
  }
  #container #contents .contents_inner .branch .branch_map {
    top: auto;
    right: auto;
    left: auto;
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }
  #container #contents .contents_inner .branch .branch_map .west {
    top: 0;
    left: 0;
    position: absolute;
    display: block;
    z-index: 55;
    width: 50%;
    height: 100%;
  }
  #container #contents .contents_inner .branch .branch_map .east {
    top: 0;
    right: 0;
    position: absolute;
    display: block;
    z-index: 54;
    width: 50%;
    height: 100%;
  }
  #container #contents .contents_inner .branch .branch_map img {
    -webkit-transition: all .3s ease-out;
            transition: all .3s ease-out;
    display: block;
    position: absolute;
    z-index: 40;
    opacity: 0;
    width: 100%;
    height: auto;
  }
  #container #contents .contents_inner .branch .branch_map img.base {
    -webkit-transition: all .2s ease-out .1s;
            transition: all .2s ease-out .1s;
    opacity: 1;
    z-index: 10;
    position: static;
  }
  #container #contents .contents_inner .related_link {
    margin: 40px auto 0 auto;
  }
  #container #contents .contents_inner .related_link.one {
    width: auto;
  }
  #container #contents .contents_inner .related_link.one li {
    display: block;
    width: auto;
  }
  #container #contents .contents_inner .related_link li {
    display: table-cell;
    width: 50%;
    text-align: center;
    border-bottom: 1px solid #CCCCCC;
    border-right: 1px solid #CCCCCC;
  }
  #container #contents .contents_inner .related_link li a {
    display: block;
    font-size: 12px;
    padding: 10px 4px 8px 4px;
    text-decoration: none;
    color: #666;
  }
  #container #contents .contents_inner .related_link li a div.img {
    display: inline-block;
    vertical-align: middle;
  }
  #container #contents .contents_inner .related_link li a div.img img {
    width: 100px;
    height: 100px;
    border-radius: 60px;
  }
  #container #contents .contents_inner .related_link li a div.txt {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    padding-left: 0px;
  }
  #container #contents .contents_inner .related_link li a div.txt strong {
    padding: 7px 0;
    font-size: 14px;
    font-weight: normal;
    display: inline-block;
  }
  #container #contents .contents_inner .related_link li a div.txt strong:after {
    font-size: 14px;
    color: #F40009;
    margin-right: 0;
  }

  /* 200604追加 ヘッダーにあったSNSをフッターに移設 */
  #container footer #footer_sns {
    border: none;
    padding: 10px 0 20px;
    margin-top: 0;
  }
  #toppage #container footer #footer_sns {
    margin-top: 0;
  }
  #container footer #footer_sns .icon-facebook-1 {
    margin-left: 2rem;
  }

  #container footer .copyright {
    text-align: left;
    padding: 0px 14px 15px 14px;
    background: #F40009;
    font-size: 8px;
    color: #FFF;
  }
  #container footer .copyright ul {
    float: none;
    display: block;
    margin-left: -14px;
    margin-right: -14px;
    margin-bottom: 10px;
  }
  #container footer .copyright ul li {
    display: block;
    margin-left: 0px;
    border-bottom: 1px solid #c30007;
  }
  #container footer .copyright ul li a {
    display: block;
    padding: 12px 14px 8px  14px;
    color: #FFF;
    text-decoration: none;
    font-size: 14px;
  }
  #container footer .copyright ul li a:before {
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: .2em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-left: .2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: '\e8a3';
    float: right;
    margin-top: 2px;
  }
  #container footer .copyright img {
    display: block;
    width: 212px;
    margin: 0 0 3px 0;
  }
  #toppage #container #contents{
    height: auto;
  }
  #toppage #container .central_box {
    padding: 30px 0;
  }
  #container .central_box {
    padding: 0 0 50px;
  }
  #container .btn {
    display: inline-block;
    border: 1px solid #FFF;
    padding: 5px 15px;
    background: rgba(0, 0, 0, 0.3);
    color: #FFF;
  }
  #container #movie {
    height: 100%;
  }
  #container #movie #logo_box {
    font-size: 15px;
    text-shadow: 0px 0px 6px #333333;
  }
  #container #movie #logo_box h1 img {
    max-width: 85%;
  }
  #container #movie #logo_box #concept_txt {
    background: none;
    height: 142px;
  }
  #container #movie #logo_box #concept_txt strong {
    margin-bottom: 15px;
    font-size: 12px;
    line-height: 145%;
    font-weight: normal;
  }
  #container #movie #logo_box #concept_txt .inner_box {
    position: absolute;
    padding: 0 16px;
    top: 50%;
    -webkit-transform: translateY(-58%);
        -ms-transform: translateY(-58%);
            transform: translateY(-58%);
    left: 0;
    right: 0;
    margin: auto;
  }
  #container #movie #logo_box #concept_txt .inner_box h3 {
    font-size: 14px;
    line-height: 18px;
  }
  #container #movie #logo_box #concept_txt .inner_box .btn {
    font-size: 14px;
  }
  #container #movie #logo_box #scroll_cursor {
    top: 200px;
    width: 36px;
    height: 32px;
    background: url(../images/top/scroll_cursor.png) 50% 50% no-repeat;
    background-size: 21.6px 19.2px;
  }
  #container #movie #first_navi .attention{
    margin: 0;
  }
  #container #movie #first_navi .attention dl {
    margin: 0 0px 0px 0px;
    display: block;
    font-size: 14px;
  }
  #container #movie #first_navi .attention dl dt {
    display: block;
    width: auto;
    padding: 6px 14px 6px 14px;
    float: none;
  }
  #container #movie #first_navi .attention dl dt:before {
    vertical-align: middle;
    font-size: 18px;
  }
  #container #movie #first_navi .attention dl dd {
    padding: 6px 14px 6px 14px;
    display: block;
    font-size: 14px;
    text-indent: 0px;
  }
  #container #first_navi{
    position: static;
    bottom: inherit; left:inherit;
  }
  #container #first_navi .news {
    margin: 0;
    position: relative;
  }
  #container #first_navi .news a.news_btn {
    border: 0px;
    border-radius: 4px;
    padding: 3px 2px 3px 4px;
    font-size: 13px;
    font-weight: bold;
    color: #202020;
    background: #EFEFEF;
    margin: 7px 14px 0 10px;
    float: none;
    position: absolute;
    right: 0;
    top: 0;
  }
  #container #first_navi .news .top_news_list {
    margin: 0 14px;
    padding-bottom: 22px;
  }
  #container #first_navi .news dl {
    font-size: 14px;
  }
  #container #first_navi .news dl dt {
    display: block;
    padding: 15px 6px 0px 0px;
  }
  #container #first_navi .news dl dd {
    padding: 1px 14px 15px 0px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #container #first_navi .news dl dd img {
    vertical-align: middle;
    margin-right: 10px;
  }
  #container #movie #first_navi .navi {
    display: none;
    background: #F40009;
    margin: 0;
  }
  #container #movie #first_navi .navi ul {
    width: 1090px;
    font-size: 16px;
  }
  #container #movie #first_navi .navi ul li {
    display: inline-block;
    margin: 20px 30px 20px 0px;
    text-align: left;
  }
  #container #movie #first_navi .navi ul li img {
    vertical-align: middle;
  }
  #container .c_box {
    zoom: 1;
    text-align: center;
    margin: 0 10px 20px 10px;
  }
  #container .c_box:before, #container .c_box:after {
    display: block;
    height: 0;
    visibility: hidden;
    content: "\0020";
  }
  #container .c_box:after {
    clear: both;
  }
  #container #campaign .campaign_list {
    margin: 0 10px 15px 10px;
  }
  #container #campaign .campaign_list ul li {
    /*
    margin:10px 0;
    width:32%;
    */
    width: 50%;
  }
  #container #campaign .campaign_list ul li a:hover {
    text-decoration: underline;
  }
  #container #campaign .campaign_list ul li img {
    display: block;
    width: 100%;
  }
  #container #campaign .campaign_list ul li em {
    font-size: 14px;
    padding: 3px 0 0 1.2em;
    text-indent: -1.3em;
  }
  #container #campaign .attention_list {
    margin: 0 10px;
  }
  #container #campaign .attention_list ul li {
    margin: 10px 13px;
    width: 45%;
    text-align: left;
    background: #FFF;
  }
  #container #campaign .attention_list ul li a {
    text-decoration: none;
    color: #1F1F1F;
  }
  #container #campaign .attention_list ul li a:hover {
    text-decoration: underline;
  }
  #container #campaign .attention_list ul li img {
    display: block;
    width: 100%;
  }
  #container #campaign .attention_list ul li em {
    font-size: 13px;
    font-style: normal;
    display: block;
    padding: 3px 6px 6px 6px;
  }
  #container #campaign .attention_list ul li em.icon-right-open {
    padding: 3px 6px 6px 1.2em;
    text-indent: -1.3em;
  }
  #container #campaign .attention_list ul li em.icon-right-open:before {
    display: inline-block;
  }
  /*#container #items {
    background: url(../images/top/items_back.jpg) 50% 50% no-repeat;
    background-size: cover;
  }*/
  #container #items .central_box{
    padding: 0;
  }
  #container #items h1 {
    letter-spacing: 0.35em;
  }
  #container #items h1:before {
    color: #FFF;
  }
  #container #items .item_link {
    margin: 0px 0px -40px 0px;
  }
  #container #items .item_link a {
    margin: 0 10px;
    padding: 5px 1px 5px 10px;
    font-size: 14px;
    font-weight: bold;
  }
  #container #items .item_list {
    margin: 0px 10px;
  }
  #container #items .item_list ul li {
    text-align: left;
    width: 100%;
  }
  #container #items .item_list ul li a {
    text-decoration: none;
    color: #666;
  }
  #container #items .item_list ul li a:hover {
    text-decoration: underline;
  }
  #container #items .item_list ul li img {
    display: block;
    width: 100%;
  }
  #container #items .item_list ul li em {
    font-size: 16px;
    padding: 3px 6px 6px 1.2em;
    text-indent: -1.3em;
  }
  #container #factory .background_img {
    width: 240% !important;
  }
  #container #factory.act .background_img {
    opacity: 1;
  }
  #container #factory h1 {
    display: inline-block;
    color: #FFF;
  }
  #container #factory strong {
    color: #FFF;
    display: block;
  }
  #container #factory .factory_list {
    margin: 25px auto 45px auto;
    /*transform: scale(0.75);*/
    zoom: 0.75;
  }
  #container #factory .factory_list ol li.f_01 {
    left: 8px;
    top: 254px;
  }
  #container #factory .factory_list ol li.f_02 {
    left: 317px;
    top: 0px;
  }
  #container #factory .factory_list ol li.f_03 {
    right: 40px;
    top: 192px;
  }
  #container #factory .factory_list ol li.f_04 {
    left: 422px;
    bottom: 0px;
  }
  #container #factory .factory_list ol li.f_05 {
    right: 48px;
    bottom: 80px;
  }
  #container #factory .factory_list ol li.f_06 {
    left: 71px !important;
    bottom: 35px;
  }
  #container #factory .factory_list ul {
    display: block;
  }
  #container #factory .factory_list ul li {
    display: block;
    position: absolute;
    z-index: 200;
    width: 160px;
    height: 160px;
  }
  #container #factory .factory_list ul li.f_02 {
    left: 338px;
    top: 42px;
  }
  #container #factory .fact_btn a {
    display: inline-block;
    border-radius: 4px;
    padding: 5px 1px 5px 10px;
    font-size: 13px;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.8);
    color: #FFF;
    width: 200px;
    text-decoration: none;
  }
  #container #business {
    background-attachment:scroll;
  }
/*  #container #business h1 {
    display: inline-block;
    color: #FFF;
  }*/
  #container #business .business_list {
    clear: left;
    overflow: hidden;
    margin: 10px 10px;
  }
  #container #business .business_list ul {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
  }
  #container #business .business_list ul::before {
    content: "";
    display: block;
    width: 24%;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  #container #business .business_list ul::after {
    content: "";
    display: block;
    width: 24%;
  }
  #container #business .business_list ul li {
    -webkit-flex: none;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    margin: 10px 0;
    width: 24%;
    text-align: left;
    background: #FFF;
    font-size: 14px;
  }
  #container #business .business_list ul li a {
    text-decoration: none;
    color: #666;
  }
  #container #business .business_list ul li a:hover em {
    text-decoration: underline;
  }
  #container #business .business_list ul li img {
    display: block;
    width: 100%;
  }
  #container #business .business_list ul li em {
    font-size: 16px;
    font-style: normal;
    font-weight: bold;
    display: block;
    padding: 3px 10px 3px 1.2em;
    text-indent: -1.3em;
  }
  #container #business .business_list ul li span {
    display: block;
    padding: 1px 10px 6px 10px;
  }
  #container #business .business_btn a {
    display: inline-block;
    border-radius: 4px;
    padding: 5px 1px 5px 10px;
    font-size: 13px;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.8);
    color: #FFF;
    width: 200px;
    text-decoration: none;
  }
  #container #news {
    position: relative;
    background: #FFF;
  }
  #container #news .branch {
    margin: 20px auto 0 auto;
  }
  #container #news .branch h2 {
    font-size: 16px;
  }
  #container #news .branch em {
    font-style: normal;
    line-height: 160%;
    font-size: 13px;
  }
  #container #news .branch.irbranch {
    min-height: 100px;
  }
  #container #news .branch .branch_archive a {
    min-width: 75%;
  }
  #container #news h1 {
    display: inline-block;
  }
/*  #container #news .news_link {
    margin: auto 10px auto 220px;
  }*/
/*  #container #news .news_link a {
    display: inline-block;
  }*/
  #container #news .news_link a:before {
    color: #F40009;
  }
  #container #news .news_list {
    clear: left;
    overflow: hidden;
    margin: 10px 10px;
  }
  #container #news .news_list ul {
    width: 100%;
    display: table;
    margin-bottom: 15px;
  }
  #container #news .news_list ul li {
    position: relative;
    cursor: pointer;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    background: #EEEEEE;
    width: 25%;
    font-size: 13px;
    line-height: 15px;
    font-weight: bold;
    padding: 8px 0;
    color: #444444;
    border-right: 1px solid #CCCCCC;
  }
  #container #news .news_list ul li:last-child {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    border-right: none;
  }
  #container #news .news_list ul li:first-child {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  #container #news .news_list ul li:after {
    content: "";
    position: absolute;
    z-index: -1;
    -webkit-transform: translateY(0px);
        -ms-transform: translateY(0px);
            transform: translateY(0px);
    bottom: 5px;
    left: 50%;
    margin-left: -10px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #EEEEEE transparent transparent transparent;
  }
  #container #news .news_list dl {
    /*overflow-y: scroll;*/
    overflow-x: hidden;
    display: none;
  }
  #container #news .news_list dl.act {
    display: block;
  }
  #container #news .news_list dl dt {
    float: none;
    text-align: left;
    padding: 6px 10px 4px 0px;
  }
  #container #news .news_list .attention dl dt {
    float: none;
    padding: 10px 0;
    line-height: 125%;
  }
  #container #news .news_list dl dd {
    display: block;
    text-align: left;
    border-top: 0;
    line-height: 125%;
    padding: 2px 0px 11px 0px;
  }
  #container #news .news_list dl dd a {
    color: #666;
    text-decoration: none;
  }
  #container #news .news_list dl dd a:hover {
    text-decoration: underline;
  }

  #top #container #news .branch {
    padding: 15px;
    margin-bottom: 20px;
  }

  #top #container #news .branch .branch_archive a {
    padding: 15px 5px 13px;
  }
}
@media screen and (max-width: 736px) {
  #mov_player {
    position: relative;
    text-align: center;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }
  #mov_player .background-cover {
    width: 100%;
    height: 100vh;
    position: fixed;
    z-index: 1;
    background: rgba(0, 0, 0, 0.4);
  }
  #mov_player .background-cover.items {
    background: url("../images/top/items_back.jpg") no-repeat 50% 50%/cover;
  }
  #mov_player .background-cover.business {
    background: url("../images/top/business_back.jpg") no-repeat 50% 50%/cover;
  }

  #ytplayer {
    width: 350%;
    height: 125%;
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
    left: 50%;
    position: fixed;
    z-index: -1;
    margin: auto;
  }

  .sp_inline_block {
    display: inline-block !important;
  }

  .pc_inline_block {
    display: none !important;
  }

  .sp_block {
    display: block !important;
  }

  .pc_block {
    display: none !important;
  }

  body {
    width: 100%;
    height: 100%;
    color: #1F1F1F;
    background: #EFEFEF;
  }
  body.items {
    background: url("../images/top/items_back.jpg") no-repeat fixed 50% 50%/cover;
  }
  body.business {
    background: url("../images/top/business_back.jpg") no-repeat fixed 50% 50%/cover;
  }

  #pagetop {
    display: block;
    position: fixed;
    bottom: 10px;
    right: 10px;
    width: 60px;
    height: 60px;
    border-radius: 6px;
    background: #009bbe url(../images/page_top.png) 50% 50% no-repeat;
    background-size: 30px 30px;
    z-index: 1500;
    opacity: 0;
  }
  #pagetop.act {
    display: block;
    opacity: 1;
  }

  #container {
    height: 100%;
  }
  /*
  #container header #top_header dl dt {
    display: inline-block;
    letter-spacing: normal;
    width: 50px;
    height: 50px;
    border-right: 1px solid #aa0006;
    background: #F40009;
    color: #FFF;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
  }
  #container header #top_header dl dt:before {
    font-size: 25px;
    display: block;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 13px;
    bottom: 0;
    text-indent: initial;
  }
  #container header #top_header dl dt.icon-lang:before {
    font-size: 26px;
  }
  #container header #top_header dl dt.icon-search:before {
    font-size: 22px;
  }
  #container header #top_header dl dd {
    letter-spacing: normal;
    overflow: hidden;
    color: #FFF;
  }

   */
  #toppage #container #contents {
    width: 100%;
    overflow: hidden;
    z-index: 5;
  }
  #container .central_box h1, #container .central_box h2 {
    font-size: 20px;
    line-height: 100%;
    margin-bottom: 15px;
  }
  #container .btn {
    display: inline-block;
    border: 1px solid #FFF;
    padding: 5px 15px;
    background: rgba(0, 0, 0, 0.3);
    color: #FFF;
    text-align: center;
    font-style: normal;
    text-decoration: none;
  }
  #container #movie {
    height: 100%;
    width: 100%;
    position: relative;
    position: relative;
    overflow: hidden;
  }
  #container #movie .right_top_panel {
    z-index: 10;
    position: absolute;
    top: 0;
    right: 0;
  }
  #container #movie #logo_box {
    font-size: 15px;
    line-height: 150%;
    text-align: center;
    color: #FFF;
    text-shadow: 0px 0px 6px #333333;
    z-index: 60;
    position: absolute;
    top: 45%;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  #container #movie #logo_box h1 img {
    max-width: 85%;
  }
  #container #movie #logo_box #concept_txt {
    background: none;
    overflow: hidden;
    height: 142px;
    position: relative;
  }
  #container #movie #logo_box #concept_txt strong {
    display: block;
    margin-bottom: 15px;
    font-size: 12px;
    line-height: 145%;
    font-weight: normal;
  }
  #container #movie #logo_box #concept_txt .inner_box {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-58%);
        -ms-transform: translateY(-58%);
            transform: translateY(-58%);
    left: 0;
    right: 0;
    margin: auto;
  }
  #container #movie #logo_box #concept_txt .inner_box .btn {
    font-size: 14px;
  }
  #container #movie #logo_box #scroll_cursor {
    top: auto;
    bottom: 0;
    width: 36px;
    height: 32px;
    background: url(../images/top/scroll_cursor.png) 50% 50% no-repeat;
    background-size: 21.6px 19.2px;
  }
  #container #movie #first_navi {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  #container #movie #first_navi .attention dl {
    margin: 0 0px 0px 0px;
    display: block;
    font-size: 14px;
  }
  #container #movie #first_navi .attention dl dt {
    width: auto;
    float: none;
    padding: 6px 14px 6px 14px;
  }
  #container #movie #first_navi .attention dl dt:before {
    vertical-align: middle;
    font-size: 18px;
  }
  #container #movie #first_navi .attention dl dd {
    padding: 6px 14px 6px 14px;
    font-size: 14px;
    text-indent: 0px;
  }
  #container #first_navi .news {
    margin: 0;
    position: relative;
  }
  #container #first_navi .news a.news_btn {
    border: 0px;
    border-radius: 4px;
    padding: 3px 2px 3px 4px;
    font-size: 13px;
    font-weight: bold;
    color: #202020;
    margin: 7px 14px 0 10px;
    float: none;
    position: absolute;
    right: 0;
    top: 0;
  }
  #container #first_navi .news .top_news_list {
    margin: 0 14px;
    padding-bottom: 30px;
  }
  #container #first_navi .news dl {
    width: auto;
    margin: 0 auto;
    display: block;
    font-size: 14px;
    text-align: left;
    position: relative;
  }
  #container #first_navi .news dl dt {
    font-size: 12px;
    display: block;
    width: auto;
    padding: 7px 0 2px 0;
  }
  #container #first_navi .news dl dt em {
    margin-left: 10px;
    vertical-align: middle;
    font-size: 12px;
  }
  #container #first_navi .news dl dd {
    width: 100%;
    text-align: left;
    display: inline-block;
    padding: 1px 0 7px 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #container #first_navi .news dl dd img {
    vertical-align: middle;
    margin-right: 10px;
  }
  #container #movie #first_navi .navi {
    display: none;
    background: #F40009;
    margin: 0;
  }
  #container #movie #first_navi .navi ul {
    width: 1090px;
    margin: 0 auto;
    display: block;
    font-size: 16px;
    text-align: left;
  }
  #container #movie #first_navi .navi ul li {
    display: inline-block;
    margin: 20px 30px 20px 0px;
    text-align: left;
  }
  #container #movie #first_navi .navi ul li img {
    vertical-align: middle;
  }
  #container .c_box {
    zoom: 1;
    text-align: center;
    margin: 0 10px 20px 10px;
  }
  #container .c_box:before, #container .c_box:after {
    display: block;
    height: 0;
    visibility: hidden;
    content: "\0020";
  }
  #container .c_box:after {
    clear: both;
  }
  #container #campaign {
    background: #F2F2F2;
  }
  #container #campaign h1 {
    margin: 5px 0 10px;
  }
  #container #campaign h1:before {
    font-size: 22px;
  }
  #container #campaign h2 {
    margin: 5px 0 10px;
  }
  #container #campaign h2:before {
    font-size: 22px;
  }
  #container #campaign .campaign_list {
    margin: 0 10px 15px 10px;
    overflow: hidden;
  }
  #container #campaign .campaign_list ul li {
    text-align: left;
  }
  #container #campaign .campaign_list ul li a {
    text-decoration: none;
    color: #1F1F1F;
  }
  #container #campaign .campaign_list ul li a:hover {
    text-decoration: underline;
  }
  #container #campaign .campaign_list ul li img {
    display: block;
    width: 100%;
  }
  #container #campaign .campaign_list ul li em {
    font-size: 14px;
    line-height: 140%;
    font-style: normal;
    display: block;
    padding: 3px 0 0 1.2em;
    text-indent: -1.3em;
  }
  #container #campaign .attention_list {
    overflow: hidden;
    margin: 0 14px;
  }
  #container #campaign .attention_list ul {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
  }
  #container #campaign .attention_list ul li {
    -webkit-flex: none;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    margin: 0 0 8px 0;
    width: 49%;
    text-align: left;
    background: #FFF;
  }
  #container #campaign .attention_list ul li a {
    text-decoration: none;
    color: #1F1F1F;
  }
  #container #campaign .attention_list ul li a:hover {
    text-decoration: underline;
  }
  #container #campaign .attention_list ul li img {
    display: block;
    width: 100%;
  }
  #container #campaign .attention_list ul li em {
    font-size: 13px;
    font-style: normal;
    display: block;
  }
  #container #items {
    /*background: url(../images/top/items_back.jpg) 50% 50% no-repeat;
    background-size: cover;*/
  }
  #container #items h1 {
    letter-spacing: 0.35em;
  }
  #container #items h1:before {
    font-size: 26px;
    color: #FFF;
  }
  #container #items .item_link {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0px 0px -45px 0px;
    text-align: center;
  }
  #container #items .item_link a {
    margin: 0 14px;
    display: block;
    border-radius: 4px;
    padding: 5px 1px 5px 10px;
    font-size: 14px;
    font-weight: bold;
  }
  #container #items .item_link a:after {
    color: #FFF;
  }
  #container #items .item_list {
    clear: left;
    margin: 0px 10px;
  }
  #container #items .item_list ul li {
    text-align: left;
  }
  #container #items .item_list ul li a {
    text-decoration: none;
    color: #666;
  }
  #container #items .item_list ul li a:hover {
    text-decoration: underline;
  }
  #container #items .item_list ul li img {
    display: block;
    width: 100%;
  }
  #container #items .item_list ul li em {
    font-size: 16px;
    font-style: normal;
    display: block;
    padding: 3px 6px 6px 1.2em;
    text-indent: -1.3em;
  }
  #container #factory .background_img {
    width: 310% !important;
  }
  #container #factory.act .background_img {
    opacity: 1;
  }
  #container #factory h1 {
    display: inline-block;
    color: #FFF;
    padding: 0 10px;
  }
  #container #factory strong {
    color: #FFF;
    display: block;
    font-size: 14px;
    padding: 0 15px;
  }
  #container #factory .factory_list_wrap {
    overflow: hidden;
    width: 310px;
    height: 270px;
    margin: 0 auto;
  }
  #container #factory .factory_list_wrap .factory_list {
    -webkit-transform: scale(0.35);
        -ms-transform: scale(0.35);
            transform: scale(0.35);
    -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
            transform-origin: 0 0;
    zoom: 1.0;
    clear: left;
    overflow: hidden;
    margin: 45px auto 80px auto;
    position: relative;
  }
  #container #factory .factory_list_wrap .factory_list .map_cursor_img {
    opacity: 0;
    position: absolute;
    -webkit-transition: all .4s ease-in;
            transition: all .4s ease-in;
  }
  #container #factory .factory_list_wrap .factory_list .map_cursor_img.act {
    opacity: 1;
  }
  #container #factory .factory_list_wrap .factory_list ul {
    display: block;
  }
  #container #factory .factory_list_wrap .factory_list ul li {
    display: block;
    position: absolute;
    z-index: 200;
    width: 160px;
    height: 160px;
  }
  #container #business {
    background-attachment:scroll;
  }
  #container #business h1 {
    display: inline-block;
    color: #333;
  }
  #container #business .business_list {
    clear: left;
    overflow: hidden;
    margin: 0px 14px 10px 14px;
  }
  #container #business .business_list ul {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
  }
  #container #business .business_list ul::before {
    display: none;
  }
  #container #business .business_list ul::after {
    display: none;
  }
  #container #business .business_list ul li {
    -webkit-flex: none;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    margin: 0 0 12px 0;
    width: 100%;
    text-align: left;
    background: #FFF;
    font-size: 14px;
  }
  #container #business .business_list ul li a {
    text-decoration: none;
    color: #666;
  }
  #container #business .business_list ul li a:hover em {
    text-decoration: underline;
  }
  #container #business .business_list ul li img {
    display: block;
    float: left;
    width: 30%;
    border-right: 1px solid #EEEEEE;
  }
  #container #business .business_list ul li em {
    font-size: 14px;
    margin-left: 31%;
    font-style: normal;
    font-weight: bold;
    display: block;
    padding: 3px 10px 3px 1.2em;
    text-indent: -1.3em;
  }
  #container #business .business_list ul li span {
    display: none;
  }
  #container #news h1 {
    display: inline-block;
  }
  #container #news .central_box section{
    position: relative;
  }
  #container #news .news_link {
    /*position: absolute;*/
    /*
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0px 0px 15px 0px;
    text-align: center;

     */
    position: relative;
    top: inherit;
  }
  #container #news .news_link a {
    /*margin: 10px 14px;*/
    display: block;
    border: 2px solid #F40009;
    border-radius: 4px;
    padding: 5px 1px 5px 10px;
    font-size: 13px;
    font-weight: bold;
    color: #202020;
    text-decoration: none;
    width: auto;
    /*
    position: absolute;
    bottom: 0;
    left: 15px;
    right: 15px;
    margin: 0px 0px -50px 0px;
     */
    position: relative;
    left: inherit;
    right: inherit;


  }
  #container #news .news_link a:after {
    color: #F40009;
  }
  #container #news .news_list {
    clear: left;
    /*
    overflow: hidden;
     */
    overflow: inherit;
    margin: 10px 14px;
  }
  #container #news .news_list ul {
    width: 100%;
    display: table;
    margin-bottom: 15px;
  }
  #container #news .news_list ul li {
    position: relative;
    cursor: pointer;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    background: #EEEEEE;
    width: 25%;
    font-size: 13px;
    line-height: 15px;
    font-weight: bold;
    padding: 8px 0;
    color: #444444;
    border-right: 1px solid #CCCCCC;
  }
  #container #news .news_list ul li:last-child {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    border-right: none;
  }
  #container #news .news_list ul li:first-child {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  #container #news .news_list ul li:after {
    content: "";
    position: absolute;
    z-index: -1;
    -webkit-transform: translateY(0px);
        -ms-transform: translateY(0px);
            transform: translateY(0px);
    bottom: 5px;
    left: 50%;
    margin-left: -10px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #EEEEEE transparent transparent transparent;
  }
  #container #news .news_list .attention dl dd{
    padding: 10px 0;
  }
  #container #news .news_list dl dd a {
    color: #666;
    text-decoration: none;
  }
  #container #news .news_list dl dd a:hover {
    text-decoration: underline;
  }

  #container.act {
    -webkit-transition: -webkit-transform 0.38s ease-out;
            transition: transform 0.38s ease-out;
  }

  #container.none {
    -webkit-transition: -webkit-transform 0s ease 0s;
            transition: transform 0s ease 0s;
  }
}
/*@media screen and (max-height: 650px) and (max-width: 736px) {
  #container #factory {
    min-height: 600px;
    height: 600px !important;
  }
}*/

/* instagram add 200601 */
/*
#container header #side_header .global_navi .instagram_icon a{
  background: linear-gradient(228deg,#1400c8 0%,#b900b4 51%,#f50000 100%);
  color: #FFF;
  padding: 2px 5px 6px 5px;
}
#container header #side_header .global_navi .instagram_icon a:before{
  padding: 2px;
  margin-right: 9px;
}

 */
/* //instagram add 200601 */

/*
#container header #side_header .global_navi .facebook_icon a{
    background: #1877f2;
    color: #FFF;
    border:1px solid #1877f2;
  padding: 2px 5px 6px 5px;
}
#container header #side_header .global_navi .facebook_icon a:before{
    color: #1877f2;
    background: #FFF;
    padding: 2px;
    margin-right: 9px;
    border-radius: 50%;
}

 */

/*
#container header #top_header dl dd .icon-twitter:before{
  content: '';
  width: 30px;
  height: 30px;
  zoom: 1.3;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  background: url(../images/common/twitter_Logo_WhiteOnImage.png) no-repeat center center;
  background-size: contain;
  margin: 0;
  font-size: 18px;
  line-height: 30px;
  text-decoration: none;
  text-align: center;
  text-indent: 0px;
  color: #FFF;
  border-radius: 30px;
}

 */

/* instagram add 200601 */
/*
#container header #side_header .global_navi .instagram_icon a.icon-instagram-1:before{
  content: '';
  width: 18px;
  height: 18px;
  background: url(../images/common/logo_instagram.png) no-repeat center center;
  background-size: contain;
  padding: 0;
  position: relative;
  top: 2px;
}

 */
/* //instagram add 200601 */
/*
#container header #top_header dl dd .icon-facebook-1:before{
  content: '';
  width: 30px;
  height: 30px;
  background: url(../images/common/f_logo_RGB-White_58.png) no-repeat center center;
  background-size: contain;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
}
#container header #side_header .global_navi .facebook_icon a.icon-facebook-1:before{
  content: '';
  width: 18px;
  height: 18px;
  background: url(../images/common/f_logo_RGB-White_58.png) no-repeat center center;
  background-size: contain;
  padding: 0;
  position: relative;
  top: 2px;
}
#container header #side_header .sp-share .icon-facebook-1:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  background: url(../images/common/f_logo_RGB-Blue_58.png) no-repeat center center;
  background-size: contain;
}

 */

/* 170927追加 */
#container footer .search_word {
  margin-bottom: 40px;
}
#container footer .search_word dl {
  width: 450px;
  margin: 0 auto;
  text-align: left;
  /*overflow: hidden;*/
  box-sizing: border-box;
  display: table;
}
#container footer .search_word .l_jp dt {
  font-size: 12px;
    line-height: 1.3;
   /* float: left;*/
    padding-right: 10px;
    width: 90px;
    display: table-cell;
    vertical-align: middle;
    padding-bottom: 2px;
}
#container footer .search_word .l_en dt {
  font-size: 12px;
  line-height: 1.3;
 /* float: left;*/
  padding-right: 10px;
  width: 130px;
  display: table-cell;
  vertical-align: middle;
}
#container footer .search_word dd {
/*  float: left;*/
  display: table-cell;
  vertical-align: middle;
}

#container footer .search_word dd ul {
  text-align: left;
}
#container footer .search_word dd li {
  display: inline-block;
  padding-right: 5px;
  padding-bottom: 8px;
}
#container footer .search_word dd li:last-child {
  padding-right: 0;
}
#container footer .search_word dd li a {
  color: #666;
  font-size: 13px;
  background: #e0e0e0;
  padding: 3px 8px;
  border-radius: 5px;
}

#bnr_ccbjhd_ir{
  padding: 30px 45px 0;
}
@media screen and (max-width: 820px) {
#bnr_ccbjhd_ir{
  padding: 30px 45px 0;
}
}
@media screen and (max-width: 736px) {
#bnr_ccbjhd_ir{
  padding: 90px 15px 0;
}
}

#bnr_ccbjhd_ir a[target="_blank"]:after{
  display: none;
}
#bnr_ccbjhd_ir img{
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
  height: auto;
}

.pcOn { display: block;}
.pciOn { display: inline;}
.spOn { display: none;}
.spiOn { display: none;}
@media screen and (max-width: 768px) {
  .pcOn { display: none;}
  .pciOn { display: none;}
  .spOn { display: block;}
  .spiOn { display: inline;}
}

#serchGoogle .search_box2{
  padding: 9px 7px 2px;
}
#serchGoogle .search_box2 input{
  background: #FFF;
  font-family: inherit;
  border: 1px solid #BBB;
  border-right: 0;
  padding: 3px 6px;
  width: 140px;
  font-size: 16px;
  border-radius: 3px 0 0 3px;
}
#serchGoogle .search_box2 .td_btn{
  width: 45px;
  padding: 0;
}
#serchGoogle .search_box2 .td_btn button{
  background: #F40009;
  border: 0;
  color: #FFF;
  display: block;
  height: 32px;
  font-size: 11px;
  line-height: 32px;
  width: 100%;
  border-radius: 0 3px 3px 0;
}

.ico_memo{
  font-size: 12px;
  margin-top: 5px;
}
/*
#container header #side_header .sub_navi .ico_memo.ir{ margin: 0 0 15px; }
#container header #side_header .sub_navi .ico_memo{ color: #FFF; }

 */
.hd_ico_b:before,
.hd_ico:after{
  content: "HD" !important;
  border: 1px solid #F40009 !important;
  border-radius: 3px !important;
  color: #FFF !important;
  background: #F40009 !important;
  display: inline-block !important;
  padding: 3px 3px !important;
  font-size: 11px !important;
  margin:0 0 0 10px !important;
  font-weight: normal !important;
  line-height: 1em !important;
  width: 3.0em !important;
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",sans-serif !important;
  text-align: center;
}
.rs_ico_b:before,
.rs_ico:after{
  content: "RS";
  border: 1px solid #F40009;
  color: #FFF;
  background: #F40009;
  display: inline-block;
  padding: 3px 3px;
  font-size: 11px;
  margin:0 0 0 3px;
  font-weight: normal;
  line-height: 1em;
  width: auto !important;
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",sans-serif !important;
}
.hd_ico_b:before,
.rs_ico_b:before{
  margin: 0 3px 0 0;
}
/*
@media screen and (max-width: 804px){
   #container header #side_header .sub_navi .ico_memo{
    color: #666;
  }
  #container header #side_header .sub_navi .ico_memo.ir{
    margin: 0 0 5px;
  }
}

 */


/* 18018追加 */
#container #first_navi .attention_wrap {
  display: flex;
}
#container #first_navi .attention {
  background: #FFF;
  width: 100%;
  position: relative;
  z-index: 30;
  padding: 20px;
  border: 3px solid #CCC;
  box-sizing: border-box;
  min-height: 180px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#container #first_navi .attention dt {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 5px;
}
#container #first_navi .attention dd a {
  word-break: break-all;
  display: block;
}

/* 180126追加 */
@media screen and (max-width:768px) {
  #container #news .news_list .attention dl dt {
    display: block;
  }
  #container #news .news_list .attention dl dd {
    margin-top: 0;
  }
}

/* 180216追加 */
#container #news .announce {
  clear: left;
  overflow: hidden;
  margin: 10px 45px;
}
#container #news .announce dl {
    min-height: inherit;
    display: block;
    text-align: left;
    min-height: 32px;
}
#container #news .announce dl dt {
    border-radius: 3px;
    padding-bottom: 8px;
    font-size: 18px;
    float: none;
    text-align: center;
}
#container #news .announce dl dd {
    display: block;
    font-size: 15px;
    border-top: 1px solid #DDD;
    border-bottom: 1px solid #DDD;
    padding: 10px;
    border-radius: 5px;
    box-sizing: border-box;
    overflow: inherit;
}

#container #news .announce.topline dl dd {
    border-top: 1px solid #DDD;
    border-bottom: 0px;
    padding: 25px 10px;
    border-radius: 0;
}

#container #news .announce dl dd a {
    color: #666;
    text-decoration: none;
    word-break: break-all;
}
#container #news .announce dl dd a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #container #news .announce {
      clear: left;
      overflow: hidden;
      margin: 70px 14px 0;
  }
}


/* 180402追加 */
#items .main_img .thumb-item .thumb-item_btn {
  position: absolute;
  bottom: 0;
  top: 0;
  height: 100%;
  border-radius: 0;
  margin: auto;
  width: 60px;
  height: 60px;
  transform:translateY(-150px);
  cursor: pointer;
  z-index: 9999;
}
#items .main_img .thumb-item .thumb-item_btn.thumb-item_prev {
  left: 50px;
}
#items .main_img .thumb-item .thumb-item_btn.thumb-item_next {
  right: 50px;
}
#items .main_img .thumb-item .thumb-item_btn .icon-right-open:before,
#items .main_img .thumb-item .thumb-item_btn .icon-left-open:before {
  font-size: 60px;
  color:#F40009;
  box-sizing: border-box;
  margin: 0;
}


/* 180531追加 */
.news_area_detail img {
    max-width: 100%;
	height: auto;
}




@media screen and (max-width: 1300px), screen and (orientation: portrait) {
  #items .main_img .thumb-item .thumb-item_btn.thumb-item_prev {
    left: 0;
  }
  #items .main_img .thumb-item .thumb-item_btn.thumb-item_next {
    right: 0;
  }
}

@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #items .main_img .thumb-item .thumb-item_btn {
    display: none !important;
  }
}

@media screen and ( max-width:638px) {
	#container #contents #contents_header .header_img.act h1.en#letsenjoy_report {
 	 height: 36px;
	}
	#container #contents #contents_header .header_img.act h1.en#letsenjoy_report .brk {
 	 display: inline-block;
	}
}
@media screen and ( max-width:457px) {
	#container #contents #contents_header .header_img.act h1.ja#letsenjoy_report {
 	 height: 36px;
	}
	#container #contents #contents_header .header_img.act h1.ja#letsenjoy_report .brk {
 	 display: inline-block;
	}
}

/* 180612 */
@media screen and (max-height: 800px) and (orientation: landscape) {
  #items .main_img .thumb-item img {
    max-height:60vh;/*calc非サポート用*/
    /*
    max-height:calc(100vh - 266px);
    min-height: 360px;
    margin-bottom:0px;
     */
    max-height: 100%;
    min-height: inherit;
    margin-bottom: 0px;
  }
  #container #items .central_box .main_img,
  #container #first_navi {
    position: static;
  }
  #container #items .central_box .main_img ul:last-child,
  #container #items .central_box .main_img ul.thumb-item,
  #container #items .central_box .main_img ul:first-child {
    position: relative;
    top:10px;
  }
  #container #items .central_box .main_img ul:last-child {
    bottom: 0;
  }

  #toppage #container .panel:first-of-type {
    height: 10%
  }
  #container .panel:first-of-type .central_box {
    vertical-align: top;
  }
  #items .main_img .set_bloc {
      /*
      height: 70vh;
       */
    height: inherit;
  }
  #toppage #container #contents {
    /*
    height: 630%;
     */
    height: auto;
  }
  #container #items .central_box .main_img ul.slick-slider:first-child,
  #container #items .central_box .main_img ul.thumb-item{
    /*
    margin-top: 50px;
     */
    margin: 0;
    /*
    margin-top: 40px;
    margin-bottom: 30px;

     */
  }

}
@media screen and (max-height: 600px) and (orientation: landscape) {
  #items .main_img .set_bloc a{
    height: 66vh;
  }
  #items .main_img .thumb-item img{
    position: relative;
    margin-bottom: 10px;
    /*
    min-height: 300px;
    max-height: calc(60vh);
     */
    min-height: inherit;
    max-height: 100%;
  }
  #toppage #container #contents{
    /*
    height:710%;
     */
    height: auto;
  }
}

/*
@media screen and (max-height: 800px) and (orientation: landscape) {
  #items .main_img .thumb-item img {
    max-height: 66vh;
  }
  #container #items .central_box .main_img,
  #container #first_navi {
    position: static;
  }
  #container #items .central_box .main_img ul:last-child,
  #container #items .central_box .main_img ul:first-child {
    position: relative;
  }
  #container #items .central_box .main_img ul:last-child {
    bottom: 0;
  }
}
*/

/*@media screen and (max-height: 800px) and (min-width: 1501px) and (orientation: landscape) {
  #items .main_img .thumb-item img {
    max-height: 55vh;
  }
}
@media screen and (max-height: 700px) and (min-width: 1501px) and (orientation: landscape) {
  #items .main_img .thumb-item img {
    max-height: 48vh;
  }
}
@media screen and (max-height: 600px) and (min-width: 1501px) and (orientation: landscape) {
  #items .main_img .thumb-item img {
    max-height: 38vh;
  }
}
@media screen and (max-height: 500px) and (min-width: 1501px) and (orientation: landscape) {
  #items .main_img .thumb-item img {
    max-height: 28vh;
  }
}
@media screen and (max-height: 400px) and (min-width: 1501px) and (orientation: landscape) {
  #items .main_img .thumb-item img {
    max-height: 18vh;
  }
}*/

@media screen and (max-width: 768px) and (min-height: 450px) and (orientation: landscape) {
  #items .main_img .thumb-item img {
    position: static;
    max-height: inherit;
    padding: 0;
  }
}
@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #toppage #container #contents {
      height: auto;
  }
}

/* 180620追加 facebook表示時*/
.fb-page {
    display:block !important;
    width:100%;
    max-width:500px;
    margin-left:auto;
    margin-right:auto;
    height:400px;
    padding: 40px 0;
}

@media screen and (max-width: 768px), screen and (orientation: portrait) {
  .fb-page {
     padding: 20px 0;
     width: 100%;
     box-sizing: border-box;
  }
  .fb-page_wrap {
    padding: 0 10px;
  }
}

/* 180709追加 災害対応 */
#container .top_msg_disaster {
  color: #222;
  font-size: 20px;
  padding: 30px 0px;
  text-align: center;
  background: #FFF;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
  border:1px solid #AAA;
  margin:40px 0px;
}

/*#container #items .central_box .main_img ul:last-child*/
#container #first_navi .news,
#container #items .thumb-item-nav .slick-list li {
  /*display: none;*/
}
#toppage .main_img .slick-prev,
#toppage .main_img .slick-next {
  height: 45px;
  width: 45px;
  background: none;
  transform: translateY(-40vh);
}
#toppage .main_img .slick-prev:before,
#toppage .main_img .slick-next:before {
  font-size: 45px;
  color: #F40009;
  text-shadow: 0px 0px 6px #555;
}
#container #items .central_box .main_img ul:last-child {
  /*position: static;*/
}
#toppage .main_img .slick-next {
    right: 68px;
}
@media screen and (max-width: 1100px), screen and (orientation: portrait) {
  #container #items .central_box .main_img ul:last-child {
    display: none;
  }
}


@media screen and (max-height: 800px) and (orientation: landscape) {
  #container #items .central_box .main_img ul:last-child {
    position: static;
  }
  #toppage .main_img .slick-prev,
  #toppage .main_img .slick-next {
    transform: translateY(36vh);
  }
}

@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #container .top_msg_disaster {
    font-size: 15px;
    padding: 15px;
    border-right: 0px;
    border-left: 0px;
    margin: 0 0 50px;
    margin-top: -50px;
  }
  #toppage .main_img .slick-prev,
  #toppage .main_img .slick-next {
    transform: none;
    top: 50%;
    height: 30px;
    width: 30px;
    text-align: center;
    background: #F40009;
    border-radius: 50%;
    margin-top: -70px;
  }
  #toppage .main_img .slick-prev:before,
  #toppage .main_img .slick-next:before {
    font-size: 22px;
    margin: 0;
    color: #FFF;
  }
  #toppage .main_img .slick-next:before {
    margin-left: 3px;
  }
  #toppage .main_img .slick-prev:before {
    margin-right: 4px;
  }
  #toppage .main_img .slick-next {
      right: 0;
  }
}
@media screen and (max-width: 460px) {
  #container .top_msg_disaster br {
    display: none;
  }
}


/* 180731追加*/
#container #news .news_list_bottom {
  clear: left;
  overflow: hidden;
  /*
  margin: 10px 45px;
   */
  margin: 10px auto;
}
#container #news .news_list_bottom {
  padding: 80px 0 50px;
}
#container #news .news_list_bottom li:first-child {
  border-top: 1px solid #DDDDDD;
}
#container #news .news_list_bottom li {
  text-align: left;
  padding: 10px 0 0;
}
#container #news .news_list_bottom li a {
  color: #666;
  text-decoration: none;
  word-break: break-all;
}

@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #container #news .news_list_bottom {
      clear: left;
      overflow: hidden;
      margin: 10px 10px;
  }
  #container #news .news_list_bottom li a {
    font-size: 15px;
  }
  #container #news .news_list_bottom {
    padding: 80px 0 0;
  }
}

/* 181127追加 */
#toppage .plant_bnrarea {
  padding: 100px 0;
}
#toppage .plant_bnrarea img {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #toppage .plant_bnrarea {
    padding: 0;
  }
}

/* 190110 */
/* 新着4個のとき */
#toppage #container #news {
  /*
  height: 30%;
   */
  height: auto;
}
#bnr_ccbjhd_ir {
    padding: 150px 45px 0;
}

#toppage #bnr_ccbjhd_ir {
  padding: 0px 45px 0;
}

/* 2009xx costa coffee add */
#toppage .list-business {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  /*
  margin: 50px;
   */
  margin: 50px auto;
}
#toppage .list-business li {
  width: 48%;
}
#toppage .list-business a {
  border: solid 1px #ddd;
  display: block;
}
#toppage .list-business img {
  max-width: 100%;
}
@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #toppage .list-business {
    display: block;
    margin: 30px 14px 14px;
  }
  #toppage .list-business li {
    width: 100%;
  }
  #toppage .list-business li + li {
    margin-top: 2em;
  }
}

/* 2010 top renewal*/
#toppage #container #official-sns.panel {
  height: auto !important;
  padding-top: 50px;
}
@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #toppage #container #official-sns.panel {
    padding-top: 30px;
    background: #f2f2f2;
    padding-bottom: 30px;
  }
  #toppage #container #official-sns .central_box {
    padding: 0;
  }
}
#official-sns ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(100% - 24%);
  margin: 0 auto;
  justify-content: space-between;
}
@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #official-sns ul {
    width: 96%;
  }
}
#official-sns li {
  width: 31.579%;
  text-align: left;
}
#official-sns li img {
  width: 100%;
}
#official-sns li em{
  font-size: 14px;
  font-style: normal;
  display: block;
}
#official-sns li em.icon-right-open {
  padding: 3px 6px 6px 1.2em;
  text-indent: -1.3em;
}
#official-sns li em.icon-right-open:before {
  display: inline-block;
  text-indent: 0px;
  text-decoration: none;
}
#official-sns li em.icon-right-open:after {
  display: none;
}

#toppage #container #red-sparks.panel {
  height: auto !important;
  padding-top: 100px;
}
@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #toppage #container #red-sparks.panel {
    margin-top: 30px;
    padding-top: 30px;
    background: #f2f2f2;
    padding-bottom: 30px;
  }
  #toppage #container #red-sparks .central_box {
    padding: 0;
  }
}
#red-sparks ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(100% - 24%);
  margin: 0 auto;
  justify-content: space-between;
	justify-content: center;
}
@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #red-sparks ul {
    width: 96%;
  }
}
#red-sparks li {
  width: 47%;
  text-align: left;
}
#red-sparks li img {
  width: 100%;
}
#red-sparks li em{
  font-size: 14px;
  font-style: normal;
  display: block;
}
#red-sparks li em.icon-right-open {
  padding: 3px 6px 6px 1.2em;
  text-indent: -1.3em;
}
#red-sparks li em.icon-right-open:before {
  display: inline-block;
  text-indent: 0px;
  text-decoration: none;
}
#red-sparks li em.icon-right-open:after {
  display: none;
}

#toppage #container #ir.panel {
  height: auto !important;
  padding-top: 0;
  padding-bottom: 50px;
}
@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #toppage #container #ir.panel {
    padding-bottom: 50px;
  }
  #toppage #container #ir .central_box {
    padding: 0;
  }
}

/* add 20201211 renewal */
#toppage #container .slide-box {
  /*
  width: 80%;
  max-height: 100vh;
  margin: 20px auto;
   */

  /*max-width: 100%;*/
  width: auto;
  height: auto;
  /*max-height: calc( 100vh - 245px );*/
  margin: 0 auto;
}

#toppage #container .slide-box .slick-slide {
  /*
  height: 50%;
   */
  /*
  height: inherit;
   */
  width: auto;
  max-width: 100%;
  height: 100%;
  max-height: calc( 100vh - 335px );
  margin: 20px auto;

}
@media screen and (max-width: 2000px), screen and (orientation: portrait) {
  #toppage #container #toppage #container .slide-box .slick-slide {
    max-height: calc( 100vh - 375px );
  }

}
@media all and (-ms-high-contrast: none),screen and (max-width: 2000px) {
  #toppage #container #toppage #container .slide-box .slick-slide {
    max-height: calc( 100vh - 375px );
  }
}

#toppage #container .slide-box .slick-slide img {

  max-width: 100%;
  width: auto;
  height: auto;
  max-height: calc( 100vh - 335px );
  margin: 0 auto;

}
@media screen and (max-width: 2000px), screen and (orientation: portrait) {
  #toppage #container .slide-box .slick-slide img {
    max-height: calc( 100vh - 375px );
  }

}
@media all and (-ms-high-contrast: none),screen and (max-width: 2000px) {
  #toppage #container .slide-box .slick-slide img {
    max-height: calc( 100vh - 375px );
  }
}

#toppage #container .slide-navigation .item img {
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
  width:100%;
  height: auto;
}

#toppage #container .slide-navigation .slick-prev,
#toppage #container .slide-navigation .slick-next {
  height: 45px;
  width: 45px;
  background: none;
  transform: translateY(-46vh);
}
#toppage #container .slide-navigation .slick-prev {
  left: 4vw;
}
#toppage #container .slide-navigation .slick-next {
  right: 4vw;
}

#toppage #container .slide-navigation .slick-next:before {
  content: '\e8ab';
}
#toppage #container .slide-navigation .slick-prev:before {
  content: '\e8aa';
}
#toppage #container .slide-navigation .slick-prev:before,
#toppage #container .slide-navigation .slick-next:before {
  font-size: 45px;
  color: #F40009;
  text-shadow: 0px 0px 6px #555;
  margin: 0;
}
@media screen and (max-width: 768px), screen and (orientation: portrait) {
  #toppage #container .slide-box .slick-slide {
    margin: 0 auto;
  }
  #toppage #container .slide-navigation,
  #toppage #container .slide-navigation .slick-prev,
  #toppage #container .slide-navigation .slick-next {
    display: none !important;
  }
}
.blog-content .linkbox {
  display: block;
  padding: 1rem;
  border: 2px solid #dcdcdc;
　margin: 40px 0;
}
.blog-content .linkbox .linkbox__head {
  margin-top: 0;
  margin-bottom: 0.5em;
}
.blog-content .linkbox .linkbox__link:not(:last-child) {
  margin-bottom: 0.5em;
}

figure.image {
  text-align: center;
}

figure.image.image-style-block-align-left {
  text-align: left;
}

figure.image.image-style-block-align-right {
  text-align: right;
}

.ck-content .image-inline {
  align-items: flex-start;
  display: inline-flex;
  max-width: 100%;
}

sup {
  padding: 1px;
  vertical-align: top;
  font-size: 0.75em;
}

sub {
  vertical-align: sub;
  font-size: smaller;
}
figure.image {
  text-align: center;
}

figure.image.image-style-block-align-left {
  text-align: left;
}

figure.image.image-style-block-align-right {
  text-align: right;
}