.no-js {
  display: table;
  width: 100%;
  text-align: center;
  color: #c00;
}
html {
  font-size: 62.5%;
}
body {
  font-size: 1.4rem;
  line-height: 1.75;
  font-family: -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  letter-spacing: 0.1em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  -webkit-font-kerning: auto;
  font-kerning: auto;
  color: #484848;
  background: #efefef;
}
a {
  color: #000;
  opacity: 1;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  outline: none;
}
a[href^="http"]:empty::before {
  content: attr(href);
}
a:hover img{
  opacity: .7;
}
a:focus{
  outline: none;
}


/*__ common setting __*/
section +hr{
  height: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: transparent;
  border: none;
  margin: 0 !important;
}

img.of-item{
  -o-object-fit: contain;
  object-fit: contain;
  font-family: 'object-fit: contain;'
}

img.of-cover-item{
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

/* Effect
==============================*/
figure.has-zoom-effect{
  overflow: hidden;
}
figure.has-zoom-effect img{
  -webkit-transition: all .8s ease-out;
  transition: all .8s ease-out;
}
figure.has-zoom-effect:hover img{
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  opacity: 1;
}
.has-tag{
  position: relative;
}
.has-tag .tag-item{
  position: absolute;
  top: 0;
  /*right: 0;*/
  left: 0;
  z-index: 10;
  display: inline-block;
  padding: 6px 20px;
  font-size: 1.3rem;
  line-height: 1;
  font-weight: bold;
  background: #ffd801;
  color: #10379e;
}

@media only screen and (max-width: 480px) {
    .has-tag .tag-item{
    padding: 6px 6px;
    font-size: 1.15rem;
    }
}

.has-arw{}

.caption h3{
  padding-left: 18px;
  text-indent: -16px;
}
.caption h3::before{
  content:"\f0a9";
  font-family: 'fontAwesome';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  font-size: 1.5rem;
  margin-right: 3px;
}

/*! Bootstrap 調整
=====================================================================*/
.container {
  /*width: auto !important;*/
  width: 100%;
  max-width: 1255px;
}
@media only screen and (min-width: 1200px) {
  .container {
    /*width: 1255px;*/
  }
}

/*! ログイン画面
==================================================*/
article.contextual-region > div.form-no-label,
.user-login-form{
  width: 90%;
  max-width: 1000px;
  margin: 5vw auto 10px;
  padding: 5vw;
  background: #fff;
  -webkit-box-shadow: 1px 1px 3px rgba( 0,0,0,.3 );
  box-shadow: 1px 1px 3px rgba( 0,0,0,.3 );
}
.user-login-form .form-item+.form-item{
  margin-top: 20px;
}
.user-login-form input.form-text{
  max-width: 100%;
  padding: 5px;
}
.user-login-form input.form-submit{
  margin-top: 20px;
  padding: 5px 40px;
}

article.contextual-region > div.form-no-label .label{
  color: #0f2282;
}


/*! #main 共通の指定
=====================================================================*/
.main-contents-block{}
.main-contents-block h6,
.main-contents-block h5,
.main-contents-block h4,
.main-contents-block h3,
.main-contents-block h2,
.main-contents-block h1,{
  margin-top: 0;
}
.main-contents-block img{
  max-width: 100%;
}
.title{
  margin-bottom: 40px;
}
.titlemt{
  margin-top: 60px;
}
.column-block .title h3,
.title h2{
  font-size: 2.5rem;
  font-weight: bold;
  color: #002d6b;
}
.title small{
  display: block;
  font-size: 1.5rem;
  color: #002d6b;
  padding-top: 1.7rem;
}
.section-wrapper{
  padding-top: 40px;
}

/*__2階層目以降__*/
.page-wrapper{
  width: 100%;
  max-width: 1315px;
  margin: 0 auto;
  position: relative;
  -webkit-box-shadow: 0 2px 4px rgba( 0,0,0,.3);
  box-shadow: 0 2px 4px rgba( 0,0,0,.3);
  padding: 30px 0;
  top: 0;
  margin-bottom: 0;
}

@media only screen and (max-width: 480px) {
  .page-wrapper{
    top: 0;
    margin-bottom: 0;
  }
  .category-visual-block .mv-body{
    top: 0;
  }
}
@media only screen and (min-width: 1315px) {
  /*.page-wrapper{
    top: -5.333vw;
    margin-bottom: -5.333vw;
  }
  .category-visual-block .mv-body{
    top: -5.33vw;
  }*/
  .page-wrapper{
    top: -4.264vw;
    margin-bottom: -4.264vw;
  }
  .category-visual-block .mv-body{
    /*top: -4.26vw;*/
    top: -3vw;
  }
}
@media only screen and (min-width: 1500px) {
  .page-wrapper{
    top: -80px;
    padding: 50px 0;
    margin-bottom: -80px;
  }
  .category-visual-block .mv-body{
    top: -40px;
  }
}
@media only screen and (max-width: 768px) {
  .page-wrapper{
    overflow: hidden;
  }
}

/*! flex-layout
==================================================*/
.flex-wrapper{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-wrapper.flex-inline{}
.flex-wrapper.flex-wrap{}

/*__slickslider__*/
.slider-block{
  opacity: 0;
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
}
.slider-block.slick-initialized{
  opacity: 1;
}

/*__chase-line__*/
.has-chase-line{
  position: relative;
}
.has-chase-line > .chase-line{
  list-style: none;
  position: absolute;
  bottom: -4px;
  height: 4px;
  z-index: 5;
  background-color: #e21300;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
.has-chase-line > .chase-line::after{
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  width: 0;
  height: 0;
  border:solid 5px transparent;
  border-top-color: #e21300;
}


/*! bg-effect
==================================================*/
.bg-gray{
  background: #efefef;
}
.bg-white{
  background: #fff;
}


/*! header
==================================================*/
.header-block{
  background: #fff;
}
.header-block .header-inner{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.header-block .header-inner > *{
  margin: 0;
}
.header-block .header-inner .header-logo,
.header-block .header-inner .description-text{
  -webkit-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
}
#description-line{
  background: #efefef;
  color: #282828;
  padding-left: 5px;
}
.description-text{
  font-weight: normal;
  color: #282828;
  font-size: 1.15rem;
  line-height: 1.25;
  padding-left: 0.5em;
  text-indent: -1em;
  padding:2px 10px;
  text-align: center;
}
.header-block .header-inner .lang-nav-btn .glyphicon{
  font-size: 21px;
  top: 5px;
}
.header-block .header-inner .dl-search-link .glyphicon::before{
  font-size: 21px;
  top: 0;
}
.dl-nav-block{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
}

/*____*/
.lang-nav-box{
  position: relative;
  border-left: solid 1px #6a6a6a;
}
.lang-nav-box .lang-nav-btn{
  padding: 7px 10px;
  cursor: pointer;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.lang-nav-box .lang-nav-btn.is-active,
.lang-nav-box .lang-nav-btn:hover{
  background: #484848;
  color: #fff;
}
.lang-nav-box .lang-nav-btn::after{
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  font-size: 1rem;
  font-family: 'Glyphicons Halflings';
  content: "\e114";
  position: relative;
  top: 2px;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  opacity: .7;
}
.lang-nav-box .lang-nav-btn.is-active::after{
  top: 0;
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg);
}
.lang-nav{
  display: none;
  position: absolute;
  width: 100%;
  left: 0;
  top: 100%;
  background: #484848;
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 100;
}
.lang-nav li{
  margin: 0;
}
.lang-nav li a{
  color: #fff;
  display: block;
  padding: 10px 20px;
  text-decoration: none;
  position: relative;
}
.lang-nav li a::after{
  content: "\e258";
  position: absolute;
  top: 50%;
  right: 5px;
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  font-size: .9rem;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.lang-nav li a:hover{
  background: #6b6b6b;
}
.lang-nav.is-open{}

@media only screen and (max-width: 767px) {
  .lang-nav-box .lang-nav-btn::after{
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
  }
  .lang-nav-box .lang-nav-btn.is-active::after{
    top: 40%;
  }
  .lang-nav li a::after{
    right: 10px;
  }
}
@media only screen and (min-width: 768px) {
  .description-text{
    text-align: left;
  }
  .lang-nav li a{
    padding: 8px 10px;
  }
}

/*__サイト検索__*/
.dl-search-link{}
.dl-search-link .search-field {
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
@media only screen and (max-width: 767px) {
  .dl-search-link{
    background: #f5f5f5;
  }
  .dl-search-link .search-form{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .dl-search-link .search-form::before {
    display: none;
  }
  .dl-search-link .search-field{
    padding: 3px 5px;
    height: 35px;
    width: calc( 100% - 42px );
    -webkit-box-shadow: none;
    box-shadow: none;
    border: solid 1px #ccc;
  }
  .dl-search-link .search-field:focus{
    border-color: #00b1f2;
  }
  .dl-search-link .search-form button[type="submit"] {
    background: #484848;
    top: 0;
    color: #fff;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    width: 42px;
    height: 35px;
  }
}
@media only screen and (min-width: 768px) {
  .dl-search-link{
    border-left: solid 1px #6a6a6a;
    width: 42px;
  }
  .dl-search-link:hover{
    background: #484848;
  }
  .dl-search-link .search-form {
    display: block;
    position: relative;
    top: 0;
  }
  .dl-search-link .search-form::before,
  .dl-search-link .search-field {
    position: absolute;
    top: 0;
    right: 0;
    width: 42px;
    height: 35px;
    margin: 0;
  }
  .dl-search-link .search-form::before {
    z-index: 100;
    line-height: 35px;
    text-align: center;
  }
  .dl-search-link .search-form:hover::before{
    color: #fff;
  }
  .dl-search-link .search-field {
    -webkit-appearance: none;
    border-radius: 0;
    border: none;
    opacity: 0;
    z-index: 200;
    cursor: pointer;
    padding: 1px 10px;
    font-size: 1.6rem;
  }
  .dl-search-link .search-field:focus {
    opacity: 1;
    width: 300px;
    cursor: text;
  }
  .dl-search-link .search-form button[type="submit"] {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 300;
    border: none;
    background: none;
    width: 42px;
    height: 35px;
  }
  .dl-search-link .search-form .search-field:focus+button[type="submit"]{
    display: block;
  }
}
/*____*/
.contact-link{
  background: #fff;
}
.contact-link a{
  display: block;
  padding: 4px 20px 5px;
  background: #0275be;
  color: #fff;
  text-decoration: none;
}
.contact-link a:hover{
  opacity: .7;
}
.contact-link a .fa{
  font-size: 20px;
  position: relative;
  top: 2px;
}

/*__ iPad縦位置以上の想定 __*/
@media only screen and (min-width: 768px) {
  #description-line{
    padding:0 0 0 20px;
  }
}
#global-header{
/*border-bottom: solid 19px #0071BE;*/
  border-bottom: solid 19px rgb(0,113,190);
}
#vi-line{
  margin-bottom: 2px;
  border-bottom: solid 2px #e50012;
  position: relative;
}
.header-block .header-inner .header-logo{
  margin: 0;
  padding: 10px;
}

/*__nav__*/
.global-nav-block ul{
  list-style: none;
  margin: 0;
}
.global-nav-block .child-nav li a::after{
  content: "\e258";
  position: absolute;
  top: 50%;
  right: 5px;
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  font-size: .9rem;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media only screen and (max-width: 767px) {
  .global-nav-block{
    display: none;
  }
  body.js-menu-open{
    overflow: hidden;
  }
  /*__btn__*/
  .sp-header-btn{
    display: block;
    position: absolute;
    top: 7px;
    right: 7px;
    height: 45px;
    width: 45px;
    text-align: center;
    cursor: pointer;
    color: #0d2984;
    z-index: 1100;
    -webkit-transition: .3s linear;
    transition: .3s linear;
  }
  .sp-header-btn:hover{
    opacity: .7;
  }
  .sp-header-btn::after{
    content:"MENU";
    font-size: 1rem;
    line-height: 1;
    font-weight: bold;
    position: relative;
    top: -8px;
  }
  .js-menu-open .sp-header-btn::after{
    content: "CLOSE";
  }
  .header-block .header-inner .sp-header-btn .navbar-button{
    font-size: 2.4rem;
    line-height: 1;
    top: 3px;
  }
  .sp-header-btn .navbar-button::before{
    content: "\e236";
  }
  .js-menu-open .sp-header-btn .navbar-button::before{
    content: "\e014";
  }
  .global-nav-block {
    display: block;
    width: 240px;
    height: 100vh;
    overflow-y: auto;
    line-height: 1.2;
    overflow: auto;
    position: fixed;
    top: 0;
    right: -240px;
    z-index: 1100;
    background-color: #fff;
    -webkit-transition: .3s linear;
    transition: .3s linear;
  }
  .js-menu-open .global-nav-block{
    display: block;
    -webkit-transform: translate(-240px, 0);
    transform: translate(-240px, 0);
    -webkit-box-shadow: 3px -1px 3px rgba( 0,0,0,.4 );
    box-shadow: 3px -1px 3px rgba( 0,0,0,.4 );
  }
  #overlay{
    display: none;
    z-index: -1;
    -webkit-transition: .5s linear;
    transition: .5s linear;
  }
  .js-menu-open #overlay{
    display: block;
    position: fixed;
    overflow: hidden;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba( 0,0,0,.7 );
    z-index: 1050;
  }
  .js-menu-open .sp-header-btn{
    color: #fff;
    -webkit-transform: translate(-240px, 0);
    transform: translate(-240px, 0);
  }

  /*__nav__*/
  ul.global-nav{
    padding: 0;
    text-align: left;
    display: block;
  }
  ul.global-nav > li{
    display: block;
    border-bottom: solid 1px #efefef;
    position: relative;
  }
  ul.global-nav > li a{
    text-decoration: none;
    display: block;
    padding: 12px 20px;
    position: relative;
  }
  ul.global-nav > li a::after{
    content: "\f105";
    font-family: fontAwesome;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  ul.global-nav > li.c a{
    background: #0275be;
    color: #fff;
  }
  ul.global-nav > li a:hover{
    background: #0275be !important;
    color: #fff;
    opacity: 1;
  }
  .global-nav-block .has-child{
  }
  .global-nav-block a.has-child{
    margin-right: 34px;
  }
  .global-nav-block a.has-child::after{
    content: "";
    display: none;
  }
  .global-nav-block .has-child+.toggle-btn+.child-nav{
    display: none;
    margin: 0;
    padding: 0;
    background: #efefef;
  }
  .global-nav-block .child-nav li+li{
    border-top: solid 1px #ccc;
  }
  .global-nav-block .child-nav li a::after{
    right: 10px;
  }

  /*____*/
  .global-nav-block .dl-nav-block{
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    margin-top: -1px;
  }
  .global-nav-block .dl-nav-block .dl-nav-item{
    width: 100%;
    border: none;
    display: block;
    border-bottom: solid 1px #efefef;
  }
  .global-nav-block .dl-search-link,
  .global-nav-block .contact-link a,
  .global-nav-block .lang-nav-btn{
    display: block;
    padding: 10px 20px 12px;
  }
  .global-nav-block .dl-search-link{
    padding: 10px 10px 12px 15px;
  }
  .global-nav-block .lang-nav li{
    border-top: solid 1px #666;
  }
}
@media only screen and (min-width: 767px) {
  .sp-header-btn,
  #vi-line #dl-nav{
    display: none;
    opacity: 0;
  }
  .header-block .header-inner .header-logo{
    padding: 12px 30px;
  }
  .global-nav-block > ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .global-nav-block > ul li{
    margin: 0;
    padding: 0 2.4vw;
    color: #000;
    font-weight: bold;
    position: relative;
  }
  .global-nav-block > ul li+li::before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    height: 1.6rem;
    width: 1px;
    background: #333;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    -webkit-box-shadow: 0 0 2px rgba(0,0,0,.4);
    box-shadow: 0 0 2px rgba(0,0,0,.4);
  }
  .global-nav-block .toggle-btn{
    display: none;
  }
  .global-nav-block .has-child{
    position: relative;
  }
  .global-nav-block .child-nav{
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 100;
    /*width: 200%;*/
    margin: 0;
    padding: 0;
    background: #fff;
    -webkit-box-shadow: 2px 2px 3px rgba( 0,0,0,.3 );
    box-shadow: 2px 2px 3px rgba( 0,0,0,.3 );
    -webkit-animation: navfadeIn .5s ease 0s 1 normal;
    animation: navfadeIn .5s ease 0s 1 normal;
  }
  .global-nav-block .nav-item:hover > .child-nav,
  .global-nav-block .has-child:hover > .child-nav{
    display: block;
    height: auto;
  }
  .global-nav-block .child-nav li{
    display: block;
    margin: 0;
    padding: 0;
    white-space: nowrap;
  }
  .global-nav-block .child-nav li+li{
    border-top: solid 1px #eee;
  }
  .global-nav-block .child-nav li+li::before{
    display: none;
  }
  .global-nav-block .child-nav li a{
    display: block;
    padding: 8px 2.4vw;
    background: #fff;
  }
  .global-nav-block .child-nav li a:hover{
    text-decoration: none;
    background: #0071BE;
    color: #fff;
  }
}

@-webkit-keyframes navfadeIn {
  0% {opacity: 0; }
  100% {opacity: 1;}
}

@keyframes navfadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}



/*! HERO block
==================================================*/
.main-visual-block{
  background: #666;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.mv-block{
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.non-effect-item > a img,
.mv-block > img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.mv-block img.of-item,
.mv-block img.hero-of-item{
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.mv-block .mv-body{
  text-align: center;
  color: #fff;
  z-index: 10;
  /*padding: 30px 15vw;*/
  padding: 30px 10vw;
  position: relative;
}
.mv-block::after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba( 0,0,0,.4);
  background-image: url(../img/dotted.png);
}
.non-effect-item::after{
  display:none;
  background-color: transparent;
  background: none;
}
.mv-block .mv-body h2{
  /*margin: 0 40px 30px;*/
  margin: 0 0 30px;
}
.mv-block .mv-body h2 img{
  width: 100%;
  max-width: 100%;
  height: auto;
}
.category-visual-block.mv-block{
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.category-visual-block.mv-block .mv-body{
  padding: 0 5vw;
}

.category-visual-block.mv-block .mv-body h1,
.mv-block .mv-body h1{
  color: #fff;
  margin: 0;
  padding: 0;
  text-shadow: 0 2px 3px rgba(0,0,0,.3);
  line-height: 1;
}
.category-visual-block.mv-block .mv-body h1 small,
.mv-block .mv-body h1 small{
  display: block;
  color: #fff;
  font-size: 2rem;
  margin-bottom: 2vw;
}
.category-visual-block.mv-block .mv-body h1 strong,
.mv-block .mv-body h1 strong{
  font-size: 2.4rem;
  line-height: 1;
}

.mv-block .mv-body .btn-box{
  margin-top: 20px;
}
.mv-body .btn-box .btn-item{}
.btn-box .btn-item.type-skeleton{
  display: inline-block;
  padding: 10px 40px;
  border: solid 1px rgba(255,255,255,.5);
  background: rgba(255,255,255,.15);
  -webkit-box-shadow: 0 2px 3px rgba(0,0,0,.4 );
  box-shadow: 0 2px 3px rgba(0,0,0,.4 );
  text-shadow: 0 0 3px rgba(0,0,0,.2);
  color: #fff;
  text-decoration: none;
  font-weight: bold;

}
.btn-box .btn-item.type-skeleton::after{
  content: "\f101";
  font-family: 'fontAwesome';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  margin-left: 10px;
}
.btn-box .btn-item.type-skeleton:hover{
  background: rgba(255,255,255,.3);
}

@media only screen and (max-width: 640px) {
  .mv-block{
    height: 567px;
  }
  .category-visual-block .mv-block{
    height: 210px;
  }
}
@media only screen and (max-width: 768px) {
  .mv-block{
    height: 73.8281vw;
  }
  .category-visual-block .mv-block{
    height: 210px;
  }
}
@media only screen and (min-width: 769px) {
  .category-visual-block .mv-body h1 small,
  .mv-block .mv-body h1 small{
    font-size: 2rem;
    margin-bottom: 30px;
  }
  .category-visual-block .mv-body h1 strong,
  .mv-block .mv-body h1 strong{
    font-size: 3rem;
  }
  .mv-block{
    /*height: 53.3333vw;*/
    height: 42.66664vw;
  }
  .mv-block .mv-body{
    padding: 0 30px;
    /*padding-bottom: 27.5vw;*/
    padding-bottom: 22vw;
  }
  .category-visual-block .mv-block{
    /*height: 27.8514vw;*/
    /*height: 22.28112vw;*/
    height: 17.8248vw;
  }
  .category-visual-block .mv-block .mv-body{
    padding-bottom: 0;
  }
}

@media only screen and (max-width: 1024px) {
  .mv-block{
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .mv-block .mv-body{
    padding-top: 30px;
  }
  .category-visual-block .mv-block{
  }
}
@media only screen and (min-width: 1500px) {
  .mv-block{
    /*max-height: 900px;*/
    max-height: 720px;
  }
  .mv-block .mv-body{
    /*padding-bottom: 400px;*/
    padding-bottom: 320px;
  }
  .category-visual-block .mv-block{
    /*max-height: 420px;*/
    max-height: 336px;
  }
  .category-visual-block .mv-block .mv-body{
    padding-bottom: 0;
  }
}

/*__2nd page hero-img effect__*/
.category-visual-block .mv-block{
  overflow: hidden;
}
.category-visual-block .mv-block > img{
  opacity: 0;
  -webkit-transition: all 1500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 1500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transform: scale(1.5);
  transform: scale(1.5);
  will-change: opacity,transform;
  -webkit-animation: ImgfadeIn 1500ms both;
  animation: ImgfadeIn 1500ms both;
}
@-webkit-keyframes ImgfadeIn {
  0% {
    opacity:0;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    opacity:1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes ImgfadeIn {
  0% {
    opacity:0;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    opacity:1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.category-visual-block .mv-block .mv-body{
  opacity: 0;
  -webkit-transition: all 1200ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 1200ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-animation: TextfadeIn 1200ms both;
  animation: TextfadeIn 1200ms both;
  -webkit-animation-delay:500ms;
  animation-delay:500ms;
  will-change: opacity,transform;
}
@-webkit-keyframes TextfadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}
@keyframes TextfadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

/*__bxslider__*/
.main-visual-block .slider-item:not(:first-child){
  display: none;
}
.main-visual-block .bx-wrapper .slider-item:not(:first-child){
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.main-visual-block .bx-wrapper{
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  margin-bottom: 0;
}
.main-visual-block .bx-wrapper .bx-pager,
.main-visual-block .bx-wrapper .bx-controls-auto{
  bottom: 5vw;
}
.main-visual-block .bx-wrapper .bx-controls-direction a{
  top: 50%;
  z-index: 100;
}
.main-visual-block .bx-wrapper .bx-controls-direction a{
  display: block;
  background: none;
}
.main-visual-block .bx-wrapper .bx-controls-direction a:hover{
  opacity: .7;
}
.main-visual-block .bx-wrapper .bx-next,
.main-visual-block .bx-wrapper .bx-prev{
  -webkit-transition: 0;
  transition: 0;
  color: #fff;
  text-indent: 0;
  text-decoration: none;
}
.main-visual-block .bx-wrapper .bx-next::after,
.main-visual-block .bx-wrapper .bx-prev::after{
  content: "\f138";
  font-family: 'fontAwesome';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  font-size: 3.2rem;
  z-index: 100;
  top: -32px;
  left: -32px;
  color: #fff;
}
.main-visual-block .bx-wrapper .bx-prev::after{
  content: "\f137";
}
.main-visual-block .bx-wrapper .bx-pager.bx-default-pager a{}
.main-visual-block .bx-wrapper .bx-pager.bx-default-pager a:hover,
.main-visual-block .bx-wrapper .bx-pager.bx-default-pager a.active,
.main-visual-block .bx-wrapper .bx-pager.bx-default-pager a:focus{
  background: #fff;
}
@media only screen and (min-width: 1025px) {
  .main-visual-block .bx-wrapper .bx-pager,
  .main-visual-block .bx-wrapper .bx-controls-auto{
    bottom: 54%;
  }
  .main-visual-block .bx-wrapper .bx-controls-direction a{
    top: 30%;
  }
}
@media only screen and (min-width: 1500px) {
  .main-visual-block .bx-wrapper .bx-pager,
  .main-visual-block .bx-wrapper .bx-controls-auto{
    bottom: 400px;
  }
  .main-visual-block .bx-wrapper .bx-controls-direction a{
    /*top: 490px;*/
  }
}

/*!
==================================================*/
.topicpath-nav{
  position: absolute;
  z-index: 10;
  top: 10px;
  left: 30px;
  color: #fff;
  font-size: 1.2rem;
  text-shadow: 0 2px 3px rgba(0,0,0,.3);
}
.topicpath-nav a{
  color: #fff;
  text-decoration: underline;
}
.topicpath-nav ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.topicpath-nav ul li{
  position: relative;
  margin-right: 10px;
  white-space: nowrap;
}
.topicpath-nav ul li + li{}
.topicpath-nav ul li + li::before{
  content: "\f105";
  font-family: 'fontAwesome';
  margin-right: 10px;
}

@media only screen and (max-width: 640px) {
  .topicpath-nav{
    top: 5px;
    left: 10px;
  }
}

/*!
==================================================*/
.hero-subnav-block{
  background: #fff;
  padding-top: 20px;
}
.hero-subnav-block .flex-wrapper{}
.subnav-box{
  border-radius: 0px;
  border: none;
  padding: 0;
  /*margin-bottom: 0;
  width: 50%;
  background: #fff;
  -webkit-box-shadow: 0 3px 3px rgba( 0,0,0,.3);
  box-shadow: 0 3px 3px rgba( 0,0,0,.3);*/
  margin-right: 10px;
  margin-left: 10px;
  margin-bottom: 20px;
  width: 48%;
  width: calc( calc( 100% - 40px ) / 2 );
  -webkit-box-shadow: 0 3px 20px rgba( 0,0,0,.2 );
  box-shadow: 0 3px 20px rgba( 0,0,0,.2 );
  background: #fff;
}
.subnav-box figure img{
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
.subnav-box a{
  text-decoration: none;
}
.subnav-box .caption{
  padding: 10px;
}
.subnav-box .caption h3{
  font-size: 1.2rem;
  line-height: 1.15;
  font-weight: bold;
  color: #22358b;
  margin: 0 0 0px;
}
.subnav-box .caption p{
  font-size: 1.3rem;
  margin: 0;
}
.subnav-box .caption p.text-right{
  padding-top: 3px;
  color: #e41400;
}

@media only screen and (min-width: 1025px) {
  .hero-subnav-block{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    /*z-index: 30;*/
    z-index: 10;
    padding: 1.5vw;
    background: rgba( 0,0,0,.25 );
  }
  .hero-subnav-block .flex-wrapper{
    max-width: 1255px;
    margin: 0 auto;
  }
  .subnav-box{
    margin: 0;
    margin-right: 1.0vw;
    width: 18%;
    width: calc( calc( 100% - 5vw ) / 5 );
  }
  .subnav-box:last-child{
    margin-right: 0;
  }
  .subnav-box .caption{
    /*padding: 1.2vw 1.3vw;*/
    padding: 1vw;
  }
  .subnav-box figure img{
    /*max-height: 136px;*/
    max-height: 169px;
  }
}
@media only screen and (min-width: 1500px) {
  .hero-subnav-block{
    padding: 30px;
  }
  .subnav-box{
    margin-right: 15px;
    width: 18%;
    width: calc( calc( 100% - 75px ) / 5 );
  }
  .subnav-box:last-child{
    margin-right: 0;
  }
  .subnav-box .caption{
    padding: 12px 14px;
  }
}

/*! Search  block
==================================================*/
.search-block{
  margin-bottom: 40px;
}
.product-search-box{
  max-width: 794px;
  margin: 0 auto;
  padding: 5px;
  background: #f5f5f5;
  border-radius: 4px;
  -webkit-box-shadow: 0 2px 3px rgba( 0,0,0,.2 ) inset;
  box-shadow: 0 2px 3px rgba( 0,0,0,.2 ) inset;
}
.search-box-inner{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.search-box-inner input{
  background:none;
  border:none;
  -webkit-appearance: none;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  font-size: 1.6rem;
  padding:10px 20px;
  width: calc( 100% - 105px );
}
.search-box-inner input:focus{
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.search-box-inner .clearbtn{
  margin: 0 10px;
  color: #7b7b7b;
  font-size: 1.6rem;
  cursor: pointer;
}
.search-box-inner .clearbtn .fa{
  font-size: 1.6rem;
}
.search-box-inner .search-box-btn{}
.search-box-inner .search-box-btn .btn{
  background: #3c3c3c;
  color: #fff;
}
.search-box-inner .search-box-btn .btn.focus,
.search-box-inner .search-box-btn .btn:focus,
.search-box-inner .search-box-btn .btn:hover{
  background: #666;
}
@media only screen and (max-width: 768px) {
  .search-box-inner input{
    padding:10px;
  }
}

.help-block{
  position: relative;
  z-index: 10;
}
.help-block .help-title{
  display: block;
  max-width: 794px;
  margin: 0 auto;
}
.help-block .help-title p{
  display: block;
  position: relative;
  cursor: pointer;
}
.help-block .help-title:hover p{
  text-decoration: underline;
  color: #002d6b;
}
.help-block .help-item{
  display: none;
  position: absolute;
  padding: 10px;
  background: rgb( 228,228,228 );
  border-radius: 5px;
  color: #000;
  font-size: 1.4rem;
  text-align: left;
  left: 50%;
  bottom: 30px;
  -webkit-transform: translate(-50%, -10px);
  transform: translate(-50%, -10px);
  opacity: 0;
  /*-webkit-animation: helpFadeIn .5s ease 0s 1 normal;
  animation: helpFadeIn .5s ease 0s 1 normal;*/
}
.help-block .help-item p{
  margin: 0;
}
.help-block .help-item::after{
  content: "";
  position: absolute;
  bottom: -18px;
  left: 50%;
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  width: 0;
  height: 0;
  border: solid 10px transparent;
  border-top-color: transparent;
  border-top-color: rgba( 228,228,228,.95 );
}
.help-block .help-item:hover,
.help-block .help-title:hover + .help-item{
  display: inline-block;
  width: 100%;
  max-width: 794px;
  z-index: 15;
  opacity: 1;
}

@-webkit-keyframes helpFadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

@keyframes helpFadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

@media only screen and (max-width: 768px) {
  .help-block .help-item{
    bottom: 5px;
  }
}

/*! Product  block
==================================================*/
.product-block{
  padding-bottom: 80px;
}
.product-nav-box{
  margin-bottom: 40px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #sp-product-nav{}
  .sp-product-dropdown{
    display: block;
    margin: 0 auto;
    padding: 5px 0;
    background: #191919;
    color: #fff;
    max-width: 450px;
    border-radius: 8px;
  }
  .sp-product-dropdown .has-dropdown{
    display: block;
    padding: 5px 10px;
    position: relative;
    cursor: pointer;
  }
  .sp-product-dropdown .has-dropdown::after{
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    content: "\e114";
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    font-size: 1.4rem;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .sp-product-dropdown .has-dropdown.is-open::after{
    top: 30%;
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
  }
  .sp-product-dropdown ul{
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
  }
  .sp-product-dropdown ul li{
    position: relative;
  }
  .sp-product-dropdown ul li a{
    display: block;
    color: #fff;
    padding: 5px 20px;
    text-decoration: none;
  }
  .sp-product-dropdown ul li a:hover{
    background: #464646;
  }
  .sp-product-dropdown ul li a::after{
    content: "\e258";
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    font-size: .9rem;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .sp-product-dropdown ul li.current-item{
    display: none;
  }
  #chaseline-nav{
    display: none;
  }
  .product-nav-box ul li.blank a::after{
    content: "\f08e";
    font: normal normal normal 14px/1 FontAwesome;
  }
}
@media only screen and (min-width: 769px) {
  #sp-product-nav{
    display: none;
  }
  #chaseline-nav{}
  .product-nav-box ul{
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /*-webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;*/
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto;
    padding: 0;
    /*width: 100%;*/
    border-bottom: solid 4px #ececec;
  }
  .product-nav-box ul li{
    text-align: center;
    min-width: calc( 100% / 5 );
  }
  .product-nav-box ul.has-8-item li{
    min-width: calc( 100% / 8 );
  }
  .product-nav-box ul.has-7-item li{
    min-width: calc( 100% / 7 );
  }
  .product-nav-box ul.has-6-item li{
    min-width: calc( 100% / 6 );
  }
  .product-nav-box ul.has-5-item li{
    min-width: calc( 100% / 5 );
  }
  .product-nav-box ul.has-4-item li{
    min-width: calc( 100% / 4 );
  }
  .product-nav-box ul.has-3-item li{
    min-width: calc( 100% / 3 );
  }
  .product-nav-box ul.has-2-item li{
    min-width: calc( 100% / 2 );
  }

  .product-nav-box ul li a{
    display: block;
    padding: 20px 0;
    text-decoration: none;
    color: #484848;
    font-size: 1.4rem;
    line-height: 1;
  }
  .product-nav-box ul li.current-item a{
    color: #e21300;
  }
  .product-nav-box ul li a:hover{
    color: #e21300;
    opacity: .7;
  }
  .product-nav-box ul li.blank a::after{
    content: "\f08e";
    top: calc( 50% - 12px );
    position: relative;
    top: 1px;
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-left: 5px;
  }
}

.product-sub-nav{
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 40px;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: bold;
}

.product-sub-nav > .nav-item{
  width: 33%;
  width: calc( 100% / 3 );
}
.product-sub-nav > .nav-sub-item{
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
  font-size: 1.4rem;
  text-align: right;
  margin: 0 0 20px;
}

.product-sub-nav .nav-item a{
  display: block;
  background: #f5f5f5;
  color: #282828;
  padding: 15px 0;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
.product-sub-nav .is-active a,
.product-sub-nav .nav-item a:hover{
  background: #545353;
  color: #fff;
}
.product-sub-nav > .nav-sub-item a{
  white-space: nowrap;
  display: inline-block;
  margin: 0 0 0 30px;
  text-decoration: none;
}
.product-sub-nav > .nav-sub-item a::before{
  content: "\f0a9";
  font-family: 'fontAwesome';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  font-size: 1.5rem;
  margin-right: 3px;
  color: #201986;
}

@media only screen and (min-width: 769px) {
  .product-sub-nav{
    font-size: 1.8rem;
  }
}


/*____*/
.subtitle{
  margin-bottom: 30px;
  padding: 15px;
  background: #f5f5f5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
}
.subtitle h3{
  font-size: 2.4rem;
  line-height: 1.05;
  font-weight: bold;
  margin: 0;
  -webkit-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
}
.subtitle h3+a{
  display: block;
  white-space: nowrap;
}
.product-list{
  padding: 0 15px;
}
.product-list+.product-list{
  margin-top: 60px;
}
.product-list > ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
.product-list > ul+.btn-block{
  margin-top: 30px;
}

.product-list-footer{
  padding-top: 40px;
  margin-top: 60px;
  border-top: solid 1px #eee;
}

@media only screen and (max-width: 767px) {
  .subtitle{
    text-align: center;
  }
  .subtitle h3{
    font-size: 1.8rem;
  }
  .product-list{
    margin-right: -15px;
    margin-left: -15px;
    padding: 0;
  }
  .product-list .slick-prev{
    left: 15.5vw;
    z-index: 10;
  }
  .product-list .slick-next{
    right: 15.5vw;
  }
}

.product-list .slick-track{
  margin-left: 0;
}

/*__Slick Slider内__*/
.product-list .product-item{
  padding: 0 10px;
  margin: 0 0 10px;
}
.product-list .product-item a{
  text-decoration: none;
  outline: none;
}
.product-list .product-item a:focus{
  outline: none;
}
.product-item figure{
  height: auto;
  width: 100%;
}
.product-item img{
  width: 100%;
}
.product-item h3{
  margin: 18px 0;
  padding: 0 0 0 15px;
  border-left: solid 5px #e21300;
  font-size: 1.3rem;
  line-height: 1.25;
  font-weight: bold;
  position: relative;
}
.product-item h3::after{
  content: "\f138";
  position: absolute;
  bottom: 0;
  right: 0;
  color: #e21300;
  display: inline-block;
  font: normal normal normal 16px/1 FontAwesome;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.product-item h3 small{
  color: #e21300;
  display: block;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 5px;
}
.item-footer{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-bottom: 10px;
  border-bottom: solid 1px #e8e8e8;
}
.tag-box .bk-numb{
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1.25;
  padding: 2px 10px;
  background: #fff;
  border:solid 1px #22348b;
  color: #22348b;
  margin: 0 5px 5px 0;
}
/**/
.product-list .slick-dots{}
/*____*/
.product-list .slick-prev,
.product-list .slick-next{
  top: 32%;
  width: 24px;
  height: 24px;
}
.product-list .slick-prev::before,
.product-list .slick-next::before{
  color: #000;
  font-size: 2.4rem;
  opacity: 1;
}
.product-list .slick-prev.slick-disabled:before,
.product-list .slick-next.slick-disabled:before{
  opacity: .25;
}
@media only screen and (min-width: 768px) {
  .product-list .slick-prev{
    left: -20px;
  }
  .product-list .slick-next{
    right: -20px;
  }
}

/*__slickslider.has-single-items__*/
.product-list .has-single-items:not(.slick-initialized){
  padding: 0 40px;
}
.product-list .has-single-items:not(.slick-initialized) .product-item{
  width: 48%;
  width: calc( 100% / 2 );
  max-width: 335px;
  min-width: 240px;
}
@media only screen and (min-width: 667px) {
  .slick-dotted.has-2-item .slick-dots,
  .slick-dotted.has-3-item .slick-dots{
    display: none;
  }
  .product-list .has-single-items:not(.slick-initialized) .product-item{
    width: 33.33%;
    width: calc( 100% / 3 );
    max-width: 239px;
  }
}
@media only screen and (min-width: 1024px) {
  .slick-dotted.has-4-item .slick-dots,
  .slick-dotted.has-5-item .slick-dots{
    display: none;
  }
  .product-list .has-single-items:not(.slick-initialized){
    padding: 0;
  }
  .product-list .has-single-items:not(.slick-initialized) .product-item{
    width: 25%;
    width: calc( 100% / 5 );
    max-width: 246px;
  }
}

/*__カテゴリー一覧__*/
.category-item-block ul{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.category-item-block .product-item{
  width: 100%;
  margin-bottom: 20px;
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .category-item-block .product-item{
    padding-left: 0;
    padding-right: 0;
    width: 20%;
    width: calc( calc( 100% - ( 5.4vw * 2 ) ) / 3 );
    margin-right: 5.3333vw;
    margin-bottom: 2.666vw;
  }
  .category-item-block .product-item:nth-child(3n){
    margin-right: 0;
  }
}
@media only screen and (min-width: 769px) {
  .category-item-block .product-item{
    padding-left: 0;
    padding-right: 0;
    width: 19%;
    width: calc( calc( 100% - ( 5.4vw * 3 ) ) / 4 );
    margin-right: 5.3333vw;
    margin-bottom: 2.666vw;
  }
  .category-item-block .product-item:nth-child(4n){
    margin-right: 0;
  }
}
@media only screen and (min-width: 1500px) {
  .category-item-block .product-item{
    width: 19%;
    width: calc( calc( 100% - 240px ) / 4 );
    margin-right: 80px;
  }
  .category-item-block .product-item:nth-child(4n){
    margin-right: 0;
  }
}
@media only screen and (max-width: 670px) {
  .category-item-block .product-item{
    width: 50%;
    padding-right: 10px;
    padding-left: 10px;
    margin-right: 0;
  }
}

/*__製品リスト__*/
.list-item-block{}
.list-item-block .list-item{
  border-top: solid 1px #e3e3e3;
  border-bottom: solid 1px #dbdbdb;
  margin: 0;
  padding: 40px 10px;
  font-size: 1.6rem;
  float: none;
  clear: both;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.list-item-block.no-bordered .list-item{
  border-bottom: none;
}
.list-item a{
  text-decoration: none;
}
.detail-block.lead-block h2,
.list-item h3{
  margin: 15px 0 10px;
  padding: 0;
  font-size: 2.4rem;
  color: #121212;
  font-weight: bold;
}
.detail-block.lead-block h2 small,
.list-item h3 small{
  display: block;
  font-size : 2rem;
  margin-bottom: 5px;
  color: #121212;
}
.list-item h3:hover{
  opacity: .7;
}
.list-item-footer ul{
  list-style: none;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}


/*__ +20181116 __*/
.list-item .h3-flex-item > small{
  margin-bottom: 0;
  line-height: 1.5;
}
.list-item .h3-flex-item > small:first-child{
  white-space: nowrap;
}
@media only screen and (max-width: 768px) {
  .list-item .h3-flex-item > small+small{
    margin-left: 3.8rem;
  }
}
@media only screen and (min-width: 769px) {
  .list-item .h3-flex-item{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .list-item .h3-flex-item > small+small{
    margin-left: 1em;
  }
}


@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .list-item figure img.of-item{ height: 100%;} /* IE11 */
}
/*__nav-blockと共通__*/
.list-item-footer a{
  position: relative;
  text-align: left;
  margin:  0 0 15px;
  display: block;
  color: #201986;
  text-decoration: none;
  padding: 12px 15px;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 500;
  border-bottom: solid 1px #eee;
  z-index: 2;
}

.list-item-footer a.has-bordered{
  padding: 20px 15px 20px 20px;
  border: solid 1px #ccc;
}

.list-item-footer a::after{
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -.75rem;
  content: "\f0a9";
  font-family: 'fontAwesome';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  font-size: 1.5rem;
}
.nav.list-item-footer > li > a:hover,
.list-item-footer a:hover{
  color: #fff;
  background-color: #0071BE;
}

.list-item-footer a.reverse-item{
  color: #fff;
  background-color: #0071BE;
}
.list-item-footer a.reverse-item:hover{
  color: #201986;
  background-color: #fff;
}

/*__+20181120__*/
.list-item-footer a.default-item{
  color: #fff;
  background-color: #22358b;
  border: none;
}
.list-item-footer a.default-item:hover{
  color: #fff;
  background-color: #22358b;
  text-decoration: none;
  opacity: .7;
}

/*__検索結果__*/
.list-item-block .list-item.search-excerpt{
  padding-top: 30px;
  padding-bottom: 30px;
  font-size: 1.4rem;
}
.list-item.search-excerpt a:hover h3{
  text-decoration: underline;
}
.list-item.search-excerpt h3{
  font-size: 2.4rem;
}
.list-item.search-excerpt .has-arw{
  font-size: 1.6rem;
  font-weight: bold;
  text-align: right;
}
.list-item.search-excerpt .has-arw::after{
  content: "\f138";
  color: #201986;
  display: inline-block;
  font: normal normal normal 16px/1 FontAwesome;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-left: 5px;
}

@media only screen and (min-width: 769px) {
  .detail-block.lead-block h2,
  .list-item h3{
    margin: 0 0 15px;
    font-size: 3rem;
  }
  .detail-block.lead-block h2 small,
  .list-item h3 small{
    font-size : 2rem;
    margin-bottom: 20px;
  }
  /*.list-item-footer a{
    font-size: 2rem;
  }*/
}

.nav-block{
  margin-bottom: 40px;
}
@media only screen and (min-width: 769px) {
  .nav-block{
    margin-right: -15px;
    clear: both;
  }
  .nav-block::after{
    content: "";
    display: block;
    height: 0;
    clear: both;
  }
  .nav-block .nav-item{
    width: 18%;
    width: calc( calc( 100% - 60px ) / 5 );
    margin: 0 15px 0 0;
    display: block;
    float: left;
  }
  .nav-block .nav-item:nth-child(5n){
    margin-right: 0;
  }
}

.nav-block a:not(.pdf-link){
  position: relative;
  text-align: left;
  margin:  0 0 15px;
  display: block;
  color: #201986;
  text-decoration: none;
  padding: 12px 15px;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 500;
  border-bottom: solid 1px #eee;
  z-index: 2;
}
.nav-block a:not(.pdf-link)::after{
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -.75rem;
  content: "\f0a9";
  font-family: 'fontAwesome';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  font-size: 1.5rem;
}
.nav-block a:not(.pdf-link):hover{
  color: #fff;
  background-color: #0071BE;
}

.nav-block .has-pdf-link{
  line-height: 1.25;
}
.nav-block .pdf-link{
  margin-right: 20px;
}
.nav-block .has-pdf-link p{
  padding-top: 2px;
}


/*__pagenation__*/
.pagination-block{
  margin-top: 30px;
  text-align: center;
}
.pagination-block ul{
  margin-left:-1em !important;
  margin-right:-1em !important;
  white-space: nowrap;
}

.pagination-block ul.pagination{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.pagination-block .pagination li:first-child > a,
.pagination-block .pagination li:first-child > span{
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}
.pagination-block .pagination li:last-child > a,
.pagination-block .pagination li:last-child > span {
  border-bottom-right-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.pagination-block .pagination > li > a,
.pagination-block .pagination > li > span{
  border-color: #201986 !important;
  color:  #201986 !important;
  -webkit-transition: .3s;
  transition: .3s;
}

.pagination-block .pagination > li > a:hover,
.pagination-block .pagination > li > a:focus,
.pagination-block .pagination > li > span:focus {
  background-color: #201986 !important;
  color: #fff !important;
}

.pagination-block .pagination > li.disabled > a:hover,
.pagination-block .pagination > li.disabled > span:hover,
.pagination-block .pagination > li.disabled > a:focus,
.pagination-block .pagination > li.disabled > span:focus {
  background-color: #fff!important;
  color: #201986 !important;
}

.pagination-block .pagination > .active > a,
.pagination-block .pagination > .active > span,
.pagination-block .pagination > .active > a:hover,
.pagination-block .pagination > .active > span:hover,
.pagination-block .pagination > .active > a:focus,
.pagination-block .pagination > .active > span:focus{
  background-color: #201986!important;
  color: #fff !important;
}

@media all and (min-width: 1048px) {
  .pager-first a,
  .pager-last a{
    position: relative;
  }
  .pager-first a::after,
  .pager-last a::before{
    display: inline-block;
    position: relative;
    content: "";
    letter-spacing: 2px;
  }

  .pager-first a::after{
    content: "first";
    margin-left: .2em;
  }
  .pager-last a::before{
    content: "last";
    margin-right: .2em;
  }
}
@media all and (max-width: 1023px) {
  .pager-first a::after,
  .pager-last a::before{
    display: none;
  }
}

.pagination-block .pagination > li.ellipsis,
.pagination-block .pagination > li > a,
.pagination-block .pagination > li > span,
.pagination-block .pagination > li > a,
.pagination-block .pagination > li > span{
  padding: 10px 14px !important;
  letter-spacing: -2px;
  text-indent: -3px;
}

@media all and (max-width: 680px) {
  .pagination-block .pagination > li.ellipsis,
  .pagination-block .pagination > li > a,
  .pagination-block .pagination > li > span,
  .pagination-block .pagination > li > a,
  .pagination-block .pagination > li > span{
    font-size: 14px !important;
    padding: 8px 10px !important;
  }
}
@media all and (max-width: 480px) {
  .pagination-block .pagination > li > a,
  .pagination-block .pagination > li > span,
  .pagination-block .pagination > li > a,
  .pagination-block .pagination > li > span{
    font-size: 12px !important;
    padding: 10px 10px !important;
  }
  .pagination-block .pagination > li > span,
  .pagination-block .pagination > li > span{
    font-size: 12px !important;
    padding: 11px 5px !important
  }
  .pagination-block .pagination > li.ellipsis{
    font-size: 10px !important;
    padding: 11px 5px !important;
  }
}

@media all and (max-width: 374px) {
  .pagination-block .pagination > li > a,
  .pagination-block .pagination > li > span,
  .pagination-block .pagination > li > a,
  .pagination-block .pagination > li > span{
    font-size: 12px !important;
    padding: 10px 9px !important;
  }
  .pagination-block .pagination > li > span,
  .pagination-block .pagination > li > span{
    font-size: 12px !important;
    padding: 11px 4px !important
  }
  .pagination-block .pagination > li.ellipsis{
    font-size: 10px !important;
    padding: 11px 1px !important;
  }
}

/*! page-content
=====================================================================*/
/*__product-page__*/
.photo-block{
  margin-top: 20px;
  padding-bottom: 20px;
}
.photo-block ul{
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}
.photo-block figure{
  width: 100%;
  text-align: center;
}
.photo-block figure img{
  width: 100%;
  height: auto;
}

@media only screen and (max-width: 768px) {
  .photo-block{
    margin-top: 0;
    padding-right: 34px;
    padding-left: 34px;
  }
  .photo-block ul li{
    text-align: center;
  }
  .photo-block .bx-wrapper{
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    margin-bottom: 0;
  }
  .photo-block .bx-wrapper .bx-pager,
  .photo-block .bx-wrapper .bx-controls-auto{
    bottom: -20px;
  }
  .photo-block .bx-wrapper .bx-controls-direction a{
    top: 50%;
    z-index: 100;
  }
  .photo-block .bx-wrapper .bx-controls-direction a{
    display: block;
    background: none;
  }
  .photo-block .bx-wrapper .bx-controls-direction a:hover{
    opacity: .7;
  }
  .photo-block .bx-wrapper .bx-next,
  .photo-block .bx-wrapper .bx-prev{
    -webkit-transition: 0;
    transition: 0;
    color: #282828;
    text-indent: 0;
    text-decoration: none;
  }
  .photo-block .bx-wrapper .bx-next{
    right: -36px;
  }
  .photo-block .bx-wrapper .bx-prev{
    left: -30px;
  }
  .photo-block .bx-wrapper .bx-next::after,
  .photo-block .bx-wrapper .bx-prev::after{
    content: "\f138";
    font-family: 'fontAwesome';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    font-size: 3rem;
    z-index: 100;
    top: -30px;
    left: -30px;
    color: #282828;
  }
  .photo-block .bx-wrapper .bx-prev::after{
    content: "\f137";
  }
  .photo-block .bx-wrapper .bx-pager.bx-default-pager a{
    background-color: #ccc;
  }
  .photo-block .bx-wrapper .bx-pager.bx-default-pager a:hover,
  .photo-block .bx-wrapper .bx-pager.bx-default-pager a.active,
  .photo-block .bx-wrapper .bx-pager.bx-default-pager a:focus{
    background-color: #002d6b;
  }
}
@media only screen and (min-width: 769px) {
  .photo-block ul li+li{
    margin-top: 5.4vw;
  }
}
@media only screen and (min-width: 1500px) {
  .photo-block ul li+li{
    margin-top: 80px;
  }
}

/*__製品詳細・本文__*/
.detail-block{
  padding: 0;
  margin-bottom: 80px;
}

@media only screen and (max-width: 767px) {
  .detail-block .product-list{
    margin-right: -35px;
    margin-left: -35px;
  }
}

.detail-block.lead-block{
  margin-top: 20px;
}
.detail-block.lead-block .tag-box{
  margin-bottom: 20px;
}
.detail-block > h2{}
.product-title,
.detail-block > h3{
  position: relative;
  border-top: solid 2px #dbdbdb;
  border-bottom: solid 2px #dbdbdb;
  margin: 0 0 30px;
  padding: 24px 0;
  padding-left: 46px;
  color: #0f2282;
  font-size: 2rem;
  line-height: 1;
  font-weight: bold;
}
.product-title{
  margin-bottom: 0;
  border-bottom-width: 1px;
}
.product-title::before,
.detail-block > h3::before{
  content:"";
  position: absolute;
  left: 0;
  display: inline-block;
  width: 26px;
  height: 11px;
  background: #0f2282;
  /*margin-right: 20px;
  top: 26px;*/
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.detail-block h4{
  background: #0f2282;
  color: #fff;
  display: block;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: bold;
  padding: 5px 24px;
  border-radius: 13px;
  margin-top: 0;
}
.detail-block p + h4{
  margin-top: 20px;
}

@media only screen and (min-width: 768px) {
  .detail-block h4{
    display: inline-block;
  }
}

.detail-block .list-item-footer a{
  font-size: 1.6rem;
}
.detail-block .list-item-footer +p{
  margin-top: 40px;
}
.detail-block .column-block{
  padding: 0;
  background: #f0f0f0;
}
.detail-block .column-block.news-block{
  padding-top: 40px;
  padding-bottom: 40px;
}
.detail-block .column-block .text-box{
  padding: 30px;
}
.detail-block .column-block .text-box p:last-child{
  margin-bottom: 0;
}
.detail-block .column-block h3 + .text-box{
  padding-top: 0;
}
.detail-block .column-block .text-box a{
  text-decoration: underline;
}

.detail-block .column-block .news-list{
  padding: 0 30px 30px;
}
.detail-block .column-block .news-list li{
  min-height: auto;
  margin-bottom: 10px;
}

.detail-block .row+.column-block,
.detail-block .column-block+.column-block{
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .detail-block .col-md-6+.col-md-6 .column-block{
    margin-top: 30px;
  }
  .detail-block .column-block .news-list{
    padding: 0 15px 15px;
  }
}

.detail-block .column-block > h3{
  background: #0f2282;
  color: #fff;
  display: inline-block;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: bold;
  padding: 15px 50px 15px 15px;
  margin: 0 0 30px;
}
.detail-block .column-block .row{
  padding: 0 20px;
  margin-right: -20px;
  margin-left: -20px;
}
.detail-block .column-block .row [class*="col-"]{
  padding-right: 20px;
  padding-left: 20px;
  margin-bottom: 30px;
}
.detail-block .column-item figure{
  width: 100%;
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
  background: #fff;
}
.detail-block .column-item a figure::before,
.detail-block .column-item a figure::after{
  content:"";
  position: absolute;
  opacity: 0;
}

.detail-block .column-item a figure::before{
  background: -webkit-gradient(linear, left top, right top, from(rgba(2,117,190,1)),color-stop(50%, rgba(2,128,208,1)),color-stop(75%, rgba(2,133,217,0.7)),to(rgba(2,138,225,0)));
  background: linear-gradient(to right, rgba(2,117,190,1) 0%,rgba(2,128,208,1) 50%,rgba(2,133,217,0.7) 75%,rgba(2,138,225,0) 100%);

  -webkit-transition: opacity 350ms cubic-bezier(0.165, 0.84, 0.44, 1),width 350ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 350ms cubic-bezier(0.165, 0.84, 0.44, 1),width 350ms cubic-bezier(0.165, 0.84, 0.44, 1);
  left: 0;
  top: 0;
  height: 100%;
  width: 0;
}
.detail-block .column-item a figure::after{
  font-size: 1.2rem;
  line-height: 1;
  content: "詳しくはこちら";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: solid 1px #fff;
  padding: 5px;
  color: #fff;
  width: 140px;
  height: 30px;
  left: calc(50% - 70px);
  top: calc(50% - 5px);
  -webkit-transition: opacity 300ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 300ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
.detail-block .column-item a:hover figure::before{
  opacity: .8;
  width: 100%;
}
.detail-block .column-item a:hover figure::after{
  opacity: 1;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
.detail-block .column-item figure img{
  width: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
}
.detail-block .column-item h4{
  display: block;
  border-radius: 0;
  padding: 18px;
}
.detail-block .column-item a{
  text-decoration: none;
}
.detail-block .column-item a:hover figure img,
.detail-block .column-item a:hover h4{
  opacity: 1;
}
/*__エフェクトなしリンク__*/
.detail-block .no-effect a figure::before,
.detail-block .no-effect a figure::after,
.detail-block .no-effect a:hover figure::before,
.detail-block .no-effect a:hover figure::after{
  content: "";
  opacity: 0;
  display: none;
}
.detail-block .no-effect a:hover figure img{
  opacity: .7;
  background: #fff;
}
.detail-block .column-block .column-item-inner{
  padding: 20px;
  background: #fff;
  overflow-x: hidden;
}
@media only screen and (min-width: 992px) {
  .detail-block .column-block .column-item-inner{
    max-height: 18vw;
  }
}

.detail-block .column-block .column-item-inner p{
  margin: 0;
}
.detail-block .column-block .column-item-inner p+p{
  margin-top: 5px;
}
.detail-block .column-block figure[data-mh="ir-item"] img.of-cover-item{
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.detail-block .column-block figure[data-mh="ir-item"],
.detail-block .column-block .column-item-inner{
}
.detail-block .column-block .column-item-inner .column-item-header{
  font-size: 1.6rem;
  font-weight: bold;
  color: #000;
  text-decoration: underline;
}
.detail-block .column-item-inner .link-h4-like{
  background: #0f2282;
  color: #fff;
  display: block;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  padding: 5px 24px;
  border-radius: 13px;
  margin: 10px 0 0;
}
.detail-block .column-item-inner .link-h4-like:hover{
  opacity: .7;
}
.detail-block #ir-quarterly-link.column-item-inner .link-h4-like{
  background:  #0071BE;
}

@media only screen and (min-width: 768px) {
  .detail-block .column-block .row{
    padding: 0 30px;
    margin-right: -30px;
    margin-left: -30px;
  }
  .detail-block .column-block .row [class*="col-"]{
    padding-right: 30px;
    padding-left: 30px;
    margin-bottom: 30px;
  }
  .detail-block .column-block > h3{
    min-width: 514px;
  }
  .detail-block .column-block.news-block .row{
    padding: 0 30px;
    margin-right: -15px;
    margin-left: -15px;
  }
  .detail-block .column-block.news-block .row [class*="col-"].column-pannel-item{
    padding-right: 15px;
    padding-left: 15px;
    margin-bottom: 30px;
  }
}

/*__.column-item Ver.2__*/
.detail-block .column-pannel-item a{
  text-decoration: none;
  display: block;
  border-radius: 3px;
  overflow:hidden;
  -webkit-box-shadow: 0px 1px 0px 0px rgba(0,0,0,0.25);
  box-shadow: 0px 1px 0px 0px rgba(0,0,0,0.25);
}
.detail-block .column-pannel-item a:hover{
  -webkit-box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.25);
  box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.25);
}
.detail-block .column-pannel-item a:hover img{
  opacity: 1;
}

.detail-block .column-pannel-item figure{
  width: 100%;
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
  border-radius: 3px 3px 0 0;
}
.detail-block .column-pannel-item figure img{
  width: 100%;
  margin: 0;
  padding: 0;
}

.detail-block .column-pannel-item .text{
  padding: 20px;
  text-align: center;
  background: #fff;
  border-radius: 0 0 3px 3px;
}
.detail-block .column-pannel-item h4{
  background: none;
  color: #000;
}
.detail-block .column-pannel-item p{
  font-size: 1.4rem;
  margin: 0;
}

.detail-block .column-pannel-item a h4{
  color: #002d6b;
  text-decoration: underline;
  padding: 5px 0;
}
.detail-block .column-pannel-item a:hover h4{
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .detail-block .column-pannel-item a{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #fff;
    border-radius: 3px;
  }
  .detail-block .column-pannel-item a figure{
    width: 30%;
    height: auto;
    border-radius: 3px 0 0 3px;
    min-height: 79px;
  }
  .detail-block .column-pannel-item a .text{
    width: 70%;
    text-align: left;
    border-radius: 0 3px 3px 0;
    -ms-flex-item-align: center;
    align-self: center;
    padding: 10px;
    padding-left: 15px;
    line-height: 1.25;
  }
  .detail-block .column-pannel-item a .text h4{
    margin: 0;
  }

  .detail-block .column-pannel-item figure img.of-item{
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
}


/*__.column-item Ver.3__*/
.detail-block .has-inner-link .column-pannel-item .inner-link{
  text-decoration: none;
  display: block;
  border-radius: 3px;
  overflow:hidden;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  -webkit-box-shadow: 0px 1px 0px 0px rgba(0,0,0,0.25);
  box-shadow: 0px 1px 0px 0px rgba(0,0,0,0.25);
}
.detail-block .has-inner-link .column-pannel-item .inner-link:hover{
  -webkit-box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.25);
  box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.25);
}
.detail-block .has-inner-link .column-pannel-item .inner-link:hover img{
  opacity: 1;
}

.detail-block .has-inner-link .column-pannel-item figure{
  width: 100%;
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
  border-radius: 3px 3px 0 0;
}
.detail-block .has-inner-link .column-pannel-item figure img{
  width: 100%;
  margin: 0;
  padding: 0;
}

.detail-block .has-inner-link .column-pannel-item .text{
  padding: 10px 20px;
  text-align: left;
  background: #fff;
  border-radius: 0 0 3px 3px;
}
.detail-block .has-inner-link .column-pannel-item .text a{
  color: #002d6b;
  text-decoration: underline;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.detail-block .has-inner-link .column-pannel-item .text a:hover{
  color: #23527c;
}

.detail-block .has-inner-link .column-pannel-item ul{
  font-size: 1.4rem;
  margin: 0 0 0 20px;
  padding: 0;
  list-style: none;
}
.detail-block .has-inner-link .column-pannel-item ul li{
  margin: 3px 0;
}
.detail-block .has-inner-link .column-pannel-item .inner-link h4{
  background: none;
  color: #002d6b;
  padding: 5px 0;
  margin: 0;
}
.detail-block .has-inner-link .column-pannel-item a:hover h4{
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .detail-block .has-inner-link .column-pannel-item .inner-link{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #fff;
    border-radius: 3px;
  }
  .detail-block .has-inner-link .column-pannel-item .inner-link figure{
    width: 30%;
    height: auto;
    border-radius: 3px 0 0 3px;
    min-height: 79px;
  }
  .detail-block .has-inner-link .column-pannel-item .inner-link .text{
    width: 70%;
    text-align: left;
    border-radius: 0 3px 3px 0;
    -ms-flex-item-align: center;
    align-self: center;
    padding: 10px;
    padding-left: 15px;
    line-height: 1.25;
  }
  .detail-block .has-inner-link .column-pannel-item .inner-link .text h4{
    margin: 0;
  }

  .detail-block .has-inner-link .column-pannel-item figure img.of-item{
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
}

/*__ 201903 eco layout  __*/
.detail-flex-box{
  clear: both;
  padding: 0;
  margin-bottom: 30px;
}
.detail-flex-box + .detail-flex-box{
  padding-top: 20px;
}
.detail-flex-box::after{
  content: "";
  display: table;
  height: 0;
  clear: both;
}
.detail-flex-box h2{
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.detail-flex-box h2 strong{
  background: #fff;
  display: inline-block;
  padding-right: 30px;
  z-index: 1;
}
.detail-flex-box h2::after{
  content: "";
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  top: 50%;
  left: 0;
  background: #ccc;
  z-index: -1;
}
@media only screen and (max-width: 812px) {
  .detail-flex-box{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-right: 2vw;
    padding-left: 2vw;
  }
  .detail-flex-box h2{
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .detail-flex-box .photo-box{
    float: none !important;
    margin-bottom: 10px;
    width: 100%;
  }
  .detail-flex-box .text-box{}
  .detail-flex-box h2{
    font-size: 20px;
  }
}
@media only screen and (min-width: 813px) {
  .detail-flex-box{}
  .detail-flex-box .pull-right{
    margin-left: 30px;
  }
  .detail-flex-box .pull-left{
    margin-right: 30px;
  }
}


/*__サイドナビ__*/
.sidenav h3{
  font-size: 1.6rem;
  font-weight: bold;
  margin: 0 0 28px;
  padding: 26px 0 26px 5px;
  border-top: solid 2px #dbdbdb;
  border-bottom: solid 2px #dbdbdb;
}
.sidenav .nav li{
  border-top: solid 1px #dbdbdb;
}
.sidenav .nav li a{
  padding: 10px;
}
.sidenav .nav li a::before{
  content: "\f0a9";
  font-family: 'fontAwesome';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  font-size: 1.5rem;
  margin-right: 10px;
  color: #0f2282;
}
.sidenav .nav li.c a{
  background: #f0f0f0;
}

/*__ラインナップ　Table__*/
.lineup-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 2px;
  font-size: 1.3rem;
  line-height: 1;
  position: relative;
}
.lineup-table th{
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
  padding: 4px 5px;
}
.lineup-table td{
  text-align: center;
  vertical-align: middle;
  padding: 2px 5px;
}
.lineup-table thead{
  position: relative;
}
.lineup-table thead::after{
  content: "";
  display: block;
  height: 15px;
  width: 100%;
  background: #fff;
}
.lineup-table thead th{
  background-color: #0f2282;
  color: #fff;
  border-bottom: solid 3px #fff;
  height: 40px;
  white-space: nowrap;
}
.lineup-table thead th[colspan]{
  border-bottom-width: 0;
  height: 20px;
}
.lineup-table thead th[rowspan]{
  border-bottom: solid 3px #fff;
}
.lineup-table thead td:first-child,
.lineup-table thead th + th{
  border-left: 5px solid #fff;
  white-space: nowrap;
}
.lineup-table tbody td:first-child{
  width: 15%;
}
.lineup-table thead td{
  background-color: #0f2282;
  color: #fff;
  border-bottom: solid 3px #fff;
  height: 25px;
}
.lineup-table tbody{
  position: relative;
  width: 100%;
}
.lineup-table tbody::after{
  content: "";
  display: block;
  height: 30px;
  width: 100%;
  background: #fff;
}
.lineup-table tbody th,
.lineup-table tbody td{
  background: #e6e6e8;
  border-bottom: solid 3px #fff !important;
}
.lineup-table tbody > tr:nth-child(2n) th,
.lineup-table tbody > tr:nth-child(2n) td{
  background: #c7c6ca;
}
.lineup-table tbody th+td,
.lineup-table tbody th+th,
.lineup-table tbody th{
  border-left: 5px solid #fff;
}
.lineup-table tbody th{
  height: calc( 170px / 4 );
}
.lineup-table .photo-cell{
  background: #fff !important;
  /*width: 150px;*/
  width: 15%;
  border-left-width: 0;
  vertical-align: top;
}
.lineup-table .photo-cell img{
  width: 75%;
  min-width: 150px;
}
@media only screen and (max-width: 767px) {
  .has-scroll-table{
    margin: 0 -35px 0 0;
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
  }
  .has-scroll-table table{
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    border-right:solid 35px #fff;
  }
  .table-responsive{
    position: relative;
  }
  .table-responsive::before{
    content: "続きは右にスクロール≫";
    font-size: 1.4rem;
    line-height: 1;
    display: block;
    text-align: right;
    padding: 5px;
  }
  /*.table-responsive>.table-bordered{
    border-top: 1px solid #ddd;
  }*/
  .table-responsive table tbody th,
  .has-scroll-table table tbody th{
    white-space: nowrap;
    height: calc( 150px / 4 );
  }
  .table-responsive table tbody .photo-cell,
  .has-scroll-table table tbody .photo-cell{
    height: 150px;
  }

  .lineup-table .photo-cell+th{
    /*width: 140px;*/
    width: 15%;
  }
  .lineup-table .photo-cell+th+th{
    /*width: 100px;*/
    width: 10%;
  }
  /*.lineup-table tbody td{
    width: 40px;
  }*/
}
@media only screen and (min-width: 768px) {
  .lineup-table{
    font-size: 1.4rem;
  }
  .lineup-table tbody tr > td:first-child{
    border-left: solid 10px #fff;
  }
  .lineup-table tbody th+td,
  .lineup-table tbody th+th,
  .lineup-table tbody th,
  .lineup-table thead td:first-child,
  .lineup-table thead th + th{
    border-left-width: 10px;
  }
  .lineup-table .photo-cell{
    /*width: 200px;*/
    width: 15%;
    height: auto;
  }
  .lineup-table .photo-cell+th{
    /*width: 240px;*/
    /*width: 19.6%;*/
    width: 15%;
  }
  .lineup-table .photo-cell+th+th{
    /*width: 140px;*/
    width: 10%;
  }
}
.has-option{
  background: #c4e7fe !important;
  color: #282828 !important;
}
.has-option.box-item{
  display: inline-block;
  height: 1.6rem;
  width: 3rem;
  position: relative;
  top: 3px;
  margin-right: 3px;
}

.lineup-table tbody th img{
  width: 100%;
  height: auto;
  max-width: 100%;
}

/*__th背景を白に__*/
.lineup-table tbody > tr th:first-child img,
.lineup-table tbody > tr .photo-cell+th img{
  display: block;
  margin: 0 auto 5px;
}
.lineup-table tbody > tr th:first-child img::after,
.lineup-table tbody > tr .photo-cell+th img::after{
  content: "";
  display: table;
  height: 0;
  clear: both;
}
/*
.lineup-table tbody > tr th:first-child,
.lineup-table tbody > tr .photo-cell+th{
  background: none !important;
}*/
/*__ table th,tdに幅指定用クラス設定 __*/
.lineup-table .w2{ width: 2%;}
.lineup-table .w2-5{ width: 2.5%;}
.lineup-table .w3{ width: 3%;}
.lineup-table .w3-5{ width: 3.5%;}
.lineup-table .w4{ width: 4%;}
.lineup-table .w4-5{ width: 4.5%;}
.lineup-table .w5{ width: 5%;}
.lineup-table .w5-5{ width: 5.5%;}
.lineup-table .w6{ width: 6%;}
.lineup-table .w6-5{ width: 6.5%;}
.lineup-table .w7{ width: 7%;}
.lineup-table .w7-5{ width: 7.5%;}
.lineup-table .w8{ width: 8%;}
.lineup-table .w8-5{ width: 8.5%;}
.lineup-table .w9{ width: 9%;}
.lineup-table .w9-5{ width: 9.5%;}
.lineup-table .w10{ width: 10%;}
.lineup-table .w15{ width: 15%;}
.lineup-table .w20{ width: 20%;}
.lineup-table .w25{ width: 25%;}
.lineup-table .w30{ width: 30%;}
.lineup-table .w35{ width: 35%;}
.lineup-table .w40{ width: 40%;}
.lineup-table .w45{ width: 45%;}
.lineup-table .w50{ width: 50%;}
.lineup-table .w55{ width: 55%;}
.lineup-table .w60{ width: 60%;}
.lineup-table .w65{ width: 65%;}
.lineup-table .w70{ width: 70%;}
.lineup-table .w75{ width: 75%;}
.lineup-table .w80{ width: 80%;}
.lineup-table .w85{ width: 85%;}
.lineup-table .w90{ width: 90%;}
.lineup-table .w95{ width: 95%;}
.lineup-table .w100{ width: 100%;}


/*__スマホ時table→list表示__*/
@media only screen and (max-width: 767px) {
  .is-res2list{}
  .is-res2list thead{
    display: none;
  }
  .is-res2list tbody tr{
    display: block;
    margin-bottom: 5px;
    border: solid 1px #ccc;
  }
  .is-res2list tbody th{
    display: block;
    border: none !important;
    background: #eee !important;
    padding: 5px 10px  !important;
  }
  .is-res2list tbody td{
    display: block;
    border: none !important;
    background: #fff !important;
    padding: 2px 10px  !important;
  }
  .is-res2list tbody td::before{
    content: attr(label);
  }
}
/*__ IR index __*/
.detail-block.has-slider-block{
  margin-bottom: 40px;
}
.js-ir-slider{
  margin: 0;
  padding: 0;
  list-style: none;
}
.js-ir-slider li:not(:first-child){
  display: none;
}
.js-ir-slider li{
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
  display: block;
}
.js-ir-slider li img{
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  min-height: 210px;
}
.js-ir-slider li img + div{
  position: absolute;
  z-index: 5;
  color: #000;
  /*top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);*/
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 5px 10vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.js-ir-slider li h3{
  font-size: 1.8rem;
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(255,255,255,.6),-2px -2px 4px rgba(255,255,255,.6),0 0 8px rgba(255,255,255,.6),1px 1px 0 rgba(255,255,255,.8);
}
.js-ir-slider li p{
  font-size: 1.4rem;
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(255,255,255,.6),-2px -2px 4px rgba(255,255,255,.6),0 0 8px rgba(255,255,255,.6),0 0 1px rgba(255,255,255,.8);
}

.js-ir-slider .btn-box .btn-item.type-skeleton{
  border: solid 1px rgba(0,0,0,.8);
  background: rgba(255,255,255,.5);
  -webkit-box-shadow: 2px 2px 6px rgba(255,255,255,.3 ),-2px -2px 6px rgba(255,255,255,.3 );
  box-shadow: 2px 2px 6px rgba(255,255,255,.3 ),-2px -2px 6px rgba(255,255,255,.3 );
  text-shadow: 0 0 3px rgba(255,255,255,.4);
  color: #000;
}

@media only screen and (min-width: 768px) {
  .js-ir-slider li h3{
    font-size: 2.4rem;
  }
  .js-ir-slider li p{
    font-size: 1.8rem;
  }
}

.has-slider-block .bx-wrapper{
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  margin-bottom: 0;
}
.has-slider-block .bx-wrapper .bx-pager,
.has-slider-block .bx-wrapper .bx-controls-auto{
  bottom: -20px;
}
.has-slider-block .bx-wrapper .bx-controls-direction a{
  top: 50%;
  z-index: 100;
}
.has-slider-block .bx-wrapper .bx-controls-direction a{
  display: block;
  background: none;
}
.has-slider-block .bx-wrapper .bx-controls-direction a:hover{
  opacity: .7;
}
.has-slider-block .bx-wrapper .bx-next,
.has-slider-block .bx-wrapper .bx-prev{
  -webkit-transition: 0;
  transition: 0;
  color: #282828;
  text-indent: 0;
  text-decoration: none;
}
.photo-block .bx-wrapper .bx-next{
  right: -36px;
}
.photo-block .bx-wrapper .bx-prev{
  left: -30px;
}
.has-slider-block .bx-wrapper .bx-next::after,
.has-slider-block .bx-wrapper .bx-prev::after{
  content: "\f138";
  font-family: 'fontAwesome';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  font-size: 3rem;
  z-index: 100;
  top: -30px;
  left: -30px;
  color: #282828;
}
.has-slider-block .bx-wrapper .bx-prev::after{
  content: "\f137";
}
.has-slider-block .bx-wrapper .bx-pager.bx-default-pager a{
  background-color: #ccc;
}
.has-slider-block .bx-wrapper .bx-pager.bx-default-pager a:hover,
.has-slider-block .bx-wrapper .bx-pager.bx-default-pager a.active,
.has-slider-block .bx-wrapper .bx-pager.bx-default-pager a:focus{
  background-color: #002d6b;
}

.ir-flex-layout{
  width: 100%;
}
.update-block{
  font-weight: bold;
  margin-top: -50px;
  margin-bottom: 20px;
  text-align: right;
}
.ir-flex-layout .has-list-block{
  margin-bottom: 20px;
}
.ir-flex-layout .detail-block{
  margin-bottom: 40px;
}
.ir-flex-layout .detail-block > h3{
  margin-bottom: 20px;
}
.ir-flex-layout .detail-block ul{
  list-style: none;
  margin: 0;
  padding: 0;
}
.ir-flex-layout .detail-block ul li{
  margin: 5px;
  position: relative;
  z-index: 2;
}
.ir-flex-layout .detail-block ul:not(.ranking-list) li::before{
  content: "\e072";
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: .9rem;
  margin-right: 5px;
}
.ir-flex-layout .detail-block ul em{
  font-style: normal;
  font-weight: bold;
  font-size: 2.2rem;
  position: relative;
  bottom: -2px;
  z-index: -1;
  margin-right: 3px;
}
.ir-flex-layout .detail-block ul em::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  height: 36px;
  width: 36px;
  margin: -18px 0 0 -18px;
  z-index: -1;
}
.ir-flex-layout .detail-block ul li a{
  text-decoration: underline;
  color: #201986;
}

.ir-flex-layout .detail-block ul > li:nth-child(1) em::before{
  background: url(../img/bg-award-s1.png) no-repeat top center;
  background-size: 100% auto;
}
.ir-flex-layout .detail-block ul > li:nth-child(1) em{
  color: #FFD700;
}

.ir-flex-layout .detail-block ul > li:nth-child(2) em::before{
  background: url(../img/bg-award-s2.png) no-repeat top center;
  background-size: 100% auto;
}
.ir-flex-layout .detail-block ul > li:nth-child(2) em{
  color: #C0C0C0;
}

.ir-flex-layout .detail-block ul > li:nth-child(3) em::before{
  background: url(../img/bg-award-s3.png) no-repeat top center;
  background-size: 100% auto;
}
.ir-flex-layout .detail-block ul > li:nth-child(3) em{
  color: #C47222;
}

.ir-flex-layout .detail-block dl{}
.ir-flex-layout .detail-block dl dt{}
.ir-flex-layout .detail-block dl dd{
  margin-bottom: 8px;
}

.ir-flex-layout .certificate-box{
  padding: 20px;
  background: #f0f0f0;
}
.ir-flex-layout .certificate-box strong{
  display: block;
  font-size: 1.4rem;
}
.ir-flex-layout .certificate-box strong.stock_price{
  font-size: 1.6rem;
  padding-top: 5px;
}
.ir-flex-layout .has-column-block{}

@media only screen and (max-width: 767px) {
  .ir-flex-layout .update-block{
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 768px) {
  .ir-flex-layout{
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .update-block{
    width: 100%;
    text-align: right;
  }
  .ir-flex-layout .has-list-block{
    width: 25%;
    margin-bottom: 0;
  }
  .ir-flex-layout .has-column-block{
    width: 72%;
  }
  .ir-flex-layout .update-block{
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .ir-flex-layout:not(.ex-change) .has-column-block{
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .ir-flex-layout .has-column-block .row+.row{
    padding-top: 40px;
  }
}


/*__ IR content __*/
.flexbox-list{
  width: 100%;
  margin: 0 0 20px;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
}
.flexbox-list li{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 8px 15px;
  border-bottom: solid 1px #ddd;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.flexbox-list li:nth-child(2n){}

.flexbox-list li:hover{
  background: #f5f5f5;
}
@media only screen and (max-width: 767px) {
  .flexbox-list li:first-child{
    border-top: solid 1px #ddd;
  }
  .flexbox-list li:nth-child(2n){
    background: #f9f9f9;
  }
}
@media only screen and (min-width: 768px) {
  .flexbox-list li{
    width: 46%;
    width: calc( 50% - 10px );
    margin-right: 20px;
  }
  .flexbox-list li:nth-child(2n){
    margin-right: 0;
  }
  .flexbox-list li:nth-child(-n+2){
    border-top: solid 1px #ddd;
  }
  .flexbox-list li:nth-child(4n+3),
  .flexbox-list li:nth-child(4n+4){
    background: #f9f9f9;
  }
}

/*! faq-content
=====================================================================*/
.faq-block{}
.faq-item{
  display: block;
  padding: 0 15px;
  margin-bottom: 20px;
  border: 1px solid #efefef;
}

@media only screen and (min-width: 768px) {
  .faq-item{
    padding: 0 30px;
  }
}

.faq-item .faq-title::before,
.faq-item .faq-body::before{
  content:"";
  position: absolute;
  top: 14px;
  left: 0;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1;
}
.faq-item .faq-title::after,
.faq-item .faq-body::after{
  content: ".";
  position: absolute;
  top: 28px;
  left: 28px;
}
.faq-item .faq-body::after{
  top: 22px;
}

.faq-item .faq-title{
  padding: 20px 0;
  padding-left: 40px;
  position: relative;
}
.faq-item .faq-title::before{
  content:"Q";
  color: #0071BE;
}

.faq-item .faq-title strong{
  display: block;
  position: relative;
  cursor: pointer;
  padding-right: 40px;
}
.faq-item .faq-title:hover strong{
  opacity: .7;
}
.faq-item .faq-title strong::after{
  content: "\f107";
  font-family: 'fontAwesome';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  font-size: 1.8rem;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  right: -5px;
  top: -5px;
  height: 30px;
  width: 30px;
  border: solid 1px #efefef;
}
.faq-item .faq-title:hover strong::after{
  background: #efefef;
  border: solid 1px #cfcfcf;
}

.faq-item .faq-body{
  padding: 20px 0;
  padding-left: 40px;
  position: relative;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  -webkit-animation: fadeIn .8s ease 0s 1 normal;
  animation: fadeIn .8s ease 0s 1 normal;
  display: none;
  height: 0;
}
.faq-item.is-open .faq-body{
  display: block;
  height: 100%;
}

@-webkit-keyframes fadeIn {
  0% {opacity: 0; height: 0;}
  100% {opacity: 1; height: 100%;}
}

@keyframes fadeIn {
  0% {opacity: 0; height: 0;}
  100% {opacity: 1; height: 100%;}
}

.faq-item .faq-body::before{
  content: "A";
  color: #e61412;
}

.faq-item .faq-body .text{}
.faq-item .faq-body .text p:last-child{
  margin-bottom: 0;
}

.faq-item.is-open{
  border: solid 1px #cfcfcf;
}

.faq-item.is-open .faq-title{
  border-bottom: solid 1px #efefef;
}
.faq-item.is-open .faq-title strong::after{
  content: "\f106";
  border: solid 1px #cfcfcf;
}

/*! tab-content
=====================================================================*/
.tab-contents{}
.tab-nav{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto 40px;
  padding: 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  list-style: none;
}
.tab-nav > .tab-item{
  -ms-flex-line-pack: center;
  align-content: center;
  text-align: center;
  cursor: pointer;
  position: relative;
  text-decoration: none;
  line-height: 1;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  list-style: none;
}
.tab-item:hover{
  opacity: .7;
}
.tab-contents .pannel:not(.is-active){
  opacity: 0;
  height: 0;
  visibility: hidden;
}
.tab-contents .pannel.is-active{
  opacity: 1;
  height: auto;
  visibility: visible;
}
.tab-contents .pannel .detail-block{
  margin-bottom: 0;
}
.tab-contents .is-active .detail-block{
  margin-bottom: 80px;
}


/**/
.has-current-tab .tab-nav {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.has-current-tab .tab-nav > .tab-item{
  padding: 0 0 20px;
  margin: 0 0 5px;
  /*border-bottom: solid 4px transparent;*/
  border-bottom: solid 4px #f9f9f9;
}
.has-current-tab .tab-nav.has-4item  > .tab-item {
  min-width: 50%;
}
@media only screen and (min-width: 768px) {
  .has-current-tab .tab-nav.has-4item  > .tab-item {
    min-width: 24%;
  }
}
.has-current-tab .tab-nav > .tab-item figure{
  max-width: 220px;
  max-height: 220px;
  text-align: center;
  margin: 0 auto;
}
.has-current-tab .tab-nav > .tab-item strong{
  display: block;
  font-size: 1.4rem;
  padding: 0 10px;
  white-space: nowrap;
}
.has-current-tab .tab-nav > .tab-item.is-active{
  border-bottom-color: #e21300;
}
.has-current-tab .tab-nav > .tab-item.is-active strong{
  color: #e21300;
}
.has-current-tab .tab-nav > .tab-item.is-active::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  border: solid 4px #f9f9f9;
}
.has-current-tab .tab-nav > .tab-item.is-active::after{
  content: "";
  position: absolute;
  bottom: -14px;
  left: 50%;
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  width: 0;
  height: 0;
  border: solid 5px transparent;
  border-top-color: #e21300;
}

@media only screen and (max-width: 767px) {
  .has-current-tab .tab-nav.has-4item  > .tab-item {
    width: 50%;
  }
  .has-current-tab .tab-nav.has-4item  > .tab-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    padding: 0;
  }
  .has-current-tab .tab-nav.has-4item  > .tab-item figure{
    width: 80px;
  }
  .has-current-tab .tab-nav.has-4item  > .tab-item strong{
    width: calc( 100% - 80px );
    text-align: left;
    white-space: normal;
  }
  .has-current-tab .tab-nav > .tab-item.is-active::after{
    left: 50px;
  }
}
/*! News Rrelease
==================================================*/
.news-block{
  padding-bottom: 30px;
}
.news-block .title{
  margin-bottom: 20px;
}
.news-block .tab-nav{}
.news-block .tab-nav > .tab-item{
  padding: 20px 50px;
  border-bottom: solid 4px #a5a5a5;
}
.news-block .tab-nav .tab-item.is-active{
  color: #e21300;
}
.news-block .tab-nav .tab-item.is-active::before{
  content: "";
  position: absolute;
  bottom: -14px;
  left: 50%;
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  width: 0;
  height: 0;
  border:solid 5px transparent;
  border-top-color: #e21300;
}
.news-block .tab-nav .tab-item.is-active::after{
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #e21300;
}
.news-list-block{
  max-width: 1005px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
@media only screen and (max-width: 767px) {
  .page-wrapper #news-tab{
    /*margin-right: -15px;
    margin-left: -15px;*/
    margin-right: 10px;
    margin-left: 10px;
  }
  .tab-nav{
    width: 100%;
  }
  .news-block .tab-nav > .tab-item{
    padding: 20px 0;
    width: 48%;
    width: calc( 50%- 20px );
  }
}
@media only screen and (min-width: 769px) {
  .news-block .tab-nav > .tab-item{
    min-width: 250px;
  }
}
.news-list .slick-slide{
  opacity: 1;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.news-list .slick-slide:not(.slick-active){
  opacity: 0;
}
.news-list .slick-arrow{
  position: relative;
  left: 50%;
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  opacity: 1;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.news-list .slick-prev,
.news-list .slick-next{
  width: 24px;
  height: 24px;
}
.news-list .slick-prev::before,
.news-list .slick-next::before{
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  color: #000;
  font-size: 2.4rem;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.news-list .slick-prev::before{
  content: "\e113";
}
.news-list .slick-next::before{
  content: "\e114";
}
.news-list .slick-arrow.slick-disabled{
  display: none;
  visibility: hidden;
  opacity: 0;
}
.news-list {
  margin-bottom: 30px;
}
.news-list ul.nav{
  margin: 0;
  padding: 0;
}
.news-list li{
  font-weight: bold;
  min-height: 115px;
  padding: 0;
  margin: 0;
}
.news-list li .news-item{
  background: #fff;
  margin: 5px 5px 0;
  padding: 15px;
  min-height: 90px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-shadow: 0 2px 4px rgba( 0,0,0,.3);
  box-shadow: 0 2px 4px rgba( 0,0,0,.3);
  overflow: hidden;

  position: relative;
}
.news-list li .tag-item{
  display: inline-block;
  padding: 2px 0;
  width: 100px;
  margin-left: 12px;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: normal;
  text-align: center;
  white-space: nowrap;
  background: #22348b;
  color: #fff;

  position: absolute;
  left: 180px;
  margin-top: 3px;
}


.news-list li .newsir{
  background: #0f2282;
}
.news-list li .newsinfo{
  background: #0071BE;
}
.news-list li .newsproduct{
  background: #c10e73;
}
.news-list li .newsrecruit{
  background: #199223;
}

.btn-block .btn-item{
  background: #22358b;
  color: #fff;
  display: inline-block;
  padding: 12px 40px;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: bold;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.btn-block .btn-item:hover{
  text-decoration: none;
  opacity: .7;
}
@media only screen and (max-width: 768px) {
  .news-list li .news-item a{
    display: block;
    max-height: 4.5rem;
    overflow: hidden;
    position: relative;
  }
  .news-list li .news-item a::after,
  .news-list li .news-item a::before{
    background: #fff;
    position: absolute;
  }
  .news-list li .news-item a:before {
    content: "…";
    top: 3rem;
    right: 0;
  }
  .news-list li .news-item a:after {
    content: "";
    height: 100%;
    width: 100%;
  }
}
@media only screen and (min-width: 769px) {
  .news-list li{
    min-height: 100px;
  }
  .news-list li .news-item{
    padding: 15px 50px;
    min-height: 80px;
  }
}

/*! MAP
==================================================*/
#map-container{
  text-align: left;
}
.map-block{
  position: relative;
}
.map-block figure{
  display: block;
  text-align: center;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
  width: 100%;
}
@media only screen and (min-width: 1200px) {
  .map-block .map-link{
    position: absolute;
    z-index: 4;
  }
}

.map-block .legend-box{
  position: absolute;
  z-index: 4;
  top: 0;
  left: 0;
  text-align: left;
}
.map-block .legend-box .i-01{
  color: #f00;
}
.map-block .legend-box .i-02{
  color: #007bd3;
}
.map-block .legend-box .i-03{
  color: #31c700;
}
.map-block .legend-box .i-04{
  color: #f60;
}
.map-block .legend-box .i-05{
  color: #8500b1;
}

.map-block .map-link{
  bottom: 0;
  left: 0;
  text-align: center;
  cursor: pointer;
  display: inline-block;
}
.map-block .map-link img{
  display: block;
  margin: 0 auto;
}
.map-block .map-link strong{
  display: block;
  max-width: 150px;
  margin-top: 5px;
  padding: 5px 8px;
  color: #fff;
  background: #21348c;
  font-size: 1.3rem;
  font-weight: normal;
}
.map-block .map-link:hover{
  opacity: .8;
}

/*! IKO Introduction
==================================================*/
#introduction{}
.intro-block{
  padding-bottom: 20px;
  margin-bottom: -1px;
}
.intro-block .flex-wrapper{
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.intro-block .intro-item{
    /*margin-right: 10px;
    margin-left: 10px;
    width: 48%;
    width: calc( calc( 100% - 40px ) / 2 );
    -webkit-box-shadow: 0 3px 20px rgba( 0,0,0,.2 );
    box-shadow: 0 3px 20px rgba( 0,0,0,.2 );
  background: #fff;*/
  background: #fff;
  margin-bottom: 20px;
}
.intro-block .intro-item::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 5px;
  -webkit-box-shadow: 3px 0 5px rgba( 0,0,0,.1 );
  box-shadow: 3px 0 5px rgba( 0,0,0,.1 );
  z-index: 10;
}
.intro-block .intro-item a{
  text-decoration: none;
}
.intro-block .intro-item figure img{
  width: 100%;
  height: auto;
}
.intro-block .intro-item .caption{
  padding: 15px;
}
.intro-block .intro-item h3{
  color: #10379e;
  font-size: 1.2rem;
  font-weight: bold;
  margin: 0 0 0px;
}
.intro-block .intro-item p{
  font-size: 1.5rem;
  color: #000;
  margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
  .intro-block{}
  .intro-block .intro-item{
    width: 100%;
    /*margin: 0 35px 30px;*/
    margin: 0 15px 30px;
  }
  .intro-block .intro-item > span,
  .intro-block .intro-item a{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    background: #fff;
    border-radius: 3px;
    overflow: hidden;
    -webkit-box-shadow: 0px 1px 0px 0px rgba(0,0,0,0.25);
    box-shadow: 0px 1px 0px 0px rgba(0,0,0,0.25);
  }
  .intro-block .intro-item a:hover{
    -webkit-box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.25);
    box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.25);
  }
  .intro-block .intro-item > span figure,
  .intro-block .intro-item a figure{
    width: 30%;
    height: auto;
    border-radius: 3px 0 0 3px;
    min-height: 79px;
  }
  .intro-block .intro-item > span .caption,
  .intro-block .intro-item a .caption{
    width: 70%;
    -webkit-box-flex: 2;
    -ms-flex-positive: 2;
    flex-grow: 2;
    text-align: left;
    border-radius: 0 3px 3px 0;
    -ms-flex-item-align: center;
    align-self: center;
    padding: 10px;
    padding-left: 15px;
    line-height: 1.25;
  }
  .intro-block .intro-item > span .caption h3,
  .intro-block .intro-item a .caption h3{
    margin: 0;
  }
  .intro-block .intro-item figure img{
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
}

@media only screen and (min-width: 769px) {
  .intro-block .intro-item{
    margin-right: 10px;
    margin-left: 10px;
    width: 23%;
    width: calc( calc( 100% - 80px ) / 4 );

    -webkit-box-shadow: 0 3px 20px rgba( 0,0,0,.2 );
    box-shadow: 0 3px 20px rgba( 0,0,0,.2 );
  }
  .intro-block .intro-item .caption{
    padding: 20px;
  }
}


/*! Sitemap
==================================================*/
.sitemap-block{
  padding: 40px 0 0;
}
.sitemap-block .sitemap-box{
  display: block;
  width: 100%;
}
.sitemap-box ul{
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 1.4rem;
}
.sitemap-box ul.child-nav{
  font-size: 1.2rem;
}
.sitemap-box ul.child-nav > li a::before{
  content: "\e072";
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: .9rem;
  margin-right: 5px;
}
@media only screen and (max-width: 768px) {
  .sitemap-box ul li{
    padding: 0 40px 0 0;
    white-space: nowrap;
  }
  .sitemap-box ul li a{
    display: inline-block;
    padding: 10px 5px;
    white-space: nowrap;
  }
  .has-child{
    position: relative;
  }
  .has-child+.toggle-btn,
  .has-child .toggle-btn{
    display: inline-block;
    border: none;
    background: none;
    position: absolute;
    top: 0;
    right: 0;
    height: 34px;
    width: 34px;
    background-color: transparent;
    cursor: pointer;
    text-align: center;
  }
  .global-nav-block .has-child+.toggle-btn{
    top: 3px;
  }
  .has-child.is-open .toggle-btn,
  .has-child .toggle-btn:hover{
    color: #fff;
  }
  .has-child+.toggle-btn::before,
  .has-child .toggle-btn::before{
    position: relative;
    top: 1px;
    display: inline-block;
    content: "+";
    color: #4b4b4b;
    font-size: 1.8rem;
    font-weight: bold;
  }
  .is-open .has-child+.toggle-btn::before,
  .has-child.is-open .toggle-btn::before{
    content: "-";
  }
  .sitemap-box ul.child-nav{
    display: none;
    margin-right: -40px;
  }
  .sitemap-box ul.child-nav li{
    border-top: solid 1px #d6d6d6;
    padding-left: 10px;
  }
  .sitemap-box .is-open ul.child-nav{}
  .sitemap-block .sitemap-box:first-child{
    border-top: solid 1px #d6d6d6;
  }
  ul.sitemap-nav-item > li{
    border-bottom: solid 1px #d6d6d6;
    line-height: 1;
  }
  ul.sitemap-nav-item > li.has-child{}
}
@media only screen and (min-width: 769px) {
  .sitemap-block{
    background: url(../img/bg-sitemap.png) repeat-x bottom left #efefef;
    padding-bottom: 150px;
  }
  .sitemap-block .flex-wrapper{
    width: 100%;
  }
  .sitemap-block .sitemap-box{
    /* margin-right: 10px; ymgc */
    margin-right: 8px;
    width: 14.25%;
    width: calc( calc( 100% - 90px ) / 6 ) ;
  }
  .sitemap-block .sitemap-box:nth-child(2){
    width: 17%;
    width: calc( calc( calc( 100% - 90px ) / 6 ) + 40px ) ;
  }
  .sitemap-block .sitemap-box:last-child{
    margin-right: 0;
  }
  .has-child .toggle-btn{
    display: none;
  }
  ul.sitemap-nav-item > li{
    margin-bottom: 5px;
  }
  ul.sitemap-nav-item > li+li.has-child{
    margin-top: 20px;
  }
  .sitemap-box ul.child-nav{
    margin-bottom: 20px;
  }
  ul.sitemap-nav-item > li strong::before{
    content: url(../img/icon-note.png);
    margin-right: 6px;
  }
  .sitemap-box ul.child-nav > li{}
}


/*! footer
==================================================*/
.footer-block .flex-wrapper{
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
}
.footer-block .flex-wrapper > *{
  margin: 0;
}
.footer-block .footerlogo{
  -webkit-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
}
.footer-block .footer-nav{
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: right;
  font-size: 1.3rem;
  margin: 0 auto 20px;
  padding: 0;
}
.footer-block .footer-nav li{
  margin-bottom: 10px;
  margin-right: 20px;
  white-space: nowrap;
}
.footer-block .footer-nav li a::before{
  content: "\e072";
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: .9rem;
  margin-right: 2px;
}
.footer-block .copyright-box{
  -webkit-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
  margin-right: -15px;
  margin-left: -15px;
  padding: 24px 15px 0;
  font-size: 1rem;
  text-align: center;
}
.footer-nav-block{
  padding: 12px 0 6px;
  border-bottom: solid 3px #e50012;
  margin-bottom: 2px;
  background: #fff
}
.copyright-block{
  background: rgb( 0,113,190 );
  color: #fff;
  padding: 6px 3px;
  font-size: 1.2rem;
}
.copyright-block{}
@media only screen and (max-width: 766px) {
  .copyright-logo{
    width: 100%;
    text-align: right;
  }
}
@media only screen and (min-width: 767px) {
  .copyright-block .copyright-box,
  .footer-block .footerlogo{
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .footer-nav-block{
    padding: 6px 0;
  }
  .footer-block .copyright-box{
    padding: 3px 0 0;
    margin: 0;
    font-size: 1.2rem;
    text-align: left;
  }
  .footer-block .footer-nav{
    margin: 0;
  }
  .footer-block .footer-nav li{
    margin-bottom: 0;
    margin-right: 0;
  }
  .footer-block .footer-nav li+li{
    margin-left: 15px;
  }
  .copyright-block{
    padding: 6px 3px;
  }
}
/*! pagetop
==================================================*/
#pagetop{
  display: block;
  position: fixed;
  right: 2vw;
  bottom: 100px;
  z-index: 8;
}
@media only screen and (min-width: 680px) {
  #pagetop{
    bottom: 100px;
  }
}
#pagetop p{
  margin: 0;
}
#pagetop p a{
  display: block;
  width: 60px;
  height: 60px;
  overflow: hidden;
  border-radius: 30px;
  background: url(../img/pagetop.png) no-repeat top left #fff;
  text-align: left;
  text-indent: -80px;
  opacity: 1;
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
}
#pagetop p a:hover{
  opacity: .7;
}

/*! ムービーライブラリーページ　2018.07.15　NAKAYAMA
==================================================*/
.movie-library {
position: relative;/*相対位置*/
padding: 0.5em 0.8em 0.5em 0.0em;/*アイコン分のスペース 2020.03.23 調整*/
line-height: 1.4;/*行高*/
color: #ff0000;/*文字色*/
border-top: solid 1px gray;
border-bottom: solid 1px gray;
background: #fffff4;
font-weight:bold;
text-align:center;
margin: 1.0em 0.0em 1.0em 0.0em;/*アイコン分のスペース*/
}

.movie-library:after{
font-family: FontAwesome;/*忘れずに*/
content: "\f138";/*アイコンのユニコード*/
position: absolute;/*絶対位置*/
font-size: 1em;/*サイズ*/
right: 0.25em;/*アイコンの位置*/
top: 0.5em;/*アイコンの位置*/
color: #ff0000; /*アイコン色*/
}

.movie-librarymb{
margin: 0.0em 0.0em 3.0em 0.0em;/*アイコン分のスペース*/
}

/*! table
========================================*/
.table td> p:last-child{
  margin-bottom: 0;
}

.table.table-ir-custom thead{}
.table.table-ir-custom > thead > tr > th{
  text-align: center;
  vertical-align: middle;
}
.table-ir-custom tbody{}
.table.table-ir-custom > tbody > tr > th{
  text-align: center;
}
.table.table-ir-custom > tbody tr > td{
  text-align: right;
}

@media only screen and (max-width: 767px) {


}
/*!
========================================*/
#block-iko-local-tasks{
  padding: 3px 0;
  -webkit-box-shadow:-2px 0px 3px 0 inset rgba(0, 0, 0, 0.3333);
  box-shadow:-2px 0px 3px 0 inset rgba(0, 0, 0, 0.3333);
  background: #ccc;
}
#block-iko-local-tasks ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
#block-iko-local-tasks ul li{
  display: inline-block;
  margin: 0;
  padding: 5px 0 5px 5px;
}
#block-iko-local-tasks ul li a{
  display: inline-block;
  padding: 5px 20px;
  border: solid 1px #201986;
  background: #fff;
  color: #201986;
  text-decoration: none;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 500;
  -webkit-box-shadow: 0 2px 2px rgba(0,0,0,.3);
  box-shadow: 2px 2px 2px rgba(0,0,0,.2);
}
#block-iko-local-tasks ul li a:hover{
  background-color: #201986;
  color: #fff;
}

/*! IR　カラーアイコン追加　2018.08.29　NAKAYAMA
==================================================*/
.has-option-graph1{
  background: #102284 !important;
  color: #282828 !important;
}
.has-option-graph1.box-item{
  display: inline-block;
  height: 1.6rem;
  width: 3rem;
  position: relative;
  top: 3px;
  margin-right: 3px;
}

.has-option-graph2{
  background: #2e75b7 !important;
  color: #282828 !important;
}
.has-option-graph2.box-item{
  display: inline-block;
  height: 1.6rem;
  width: 3rem;
  position: relative;
  top: 3px;
  margin-right: 3px;
}

.has-option-graph3{
  background: #51b0ea !important;
  color: #282828 !important;
}
.has-option-graph3.box-item{
  display: inline-block;
  height: 1.6rem;
  width: 3rem;
  position: relative;
  top: 3px;
  margin-right: 3px;
}

.has-option-graph4{
  background: #8596b0 !important;
  color: #282828 !important;
}
.has-option-graph4.box-item{
  display: inline-block;
  height: 1.6rem;
  width: 3rem;
  position: relative;
  top: 3px;
  margin-right: 3px;
}

.has-option-graph5{
  background: #0071bf !important;
  color: #282828 !important;
}
.has-option-graph5.box-item{
  display: inline-block;
  height: 1.6rem;
  width: 3rem;
  position: relative;
  top: 3px;
  margin-right: 3px;
}

.has-option-yellow{
  background: #f7d973 !important;
  color: #282828 !important;
}
.has-option-yellow.box-item{
  display: inline-block;
  height: 1.6rem;
  width: 3rem;
  position: relative;
  top: 3px;
  margin-right: 3px;
}


/* inbox-slider
==================================================*/
.inbox-slider{
  opacity: 0;
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
}
.inbox-slider.slick-initialized{
  opacity: 1;
}
.inbox-slider.slick-dotted.slick-slider{
  margin-bottom: 0;
}
.inbox-slider .slick-dots{
  bottom: 10px;
}
.inbox-slider .slick-prev:before,
.inbox-slider .slick-next:before{
  color: #000;
}
.inbox-slider .slick-next{
  right: 10px;
}
.inbox-slider .slick-prev{
  left: 10px;
  z-index: 10;
}

/*! 会社情報　写真キャプション追加　2018.09.09　NAKAYAMA
==================================================*/
.cp_tooltip {
  position: relative;
  display: inline-block;
  cursor: pointer;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #f19ec2));
  background: linear-gradient(transparent 60%, #f19ec2 60%);
}
.cp_tooltip .cp_tooltiptext {
  position: absolute;
  z-index: 1;
  /*bottom: 100%;*/
  left: 50%;
  top: 10%;
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
  visibility: hidden;
  width: auto;
  white-space: nowrap;
  padding: 0.5em 0.8em;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
  text-align: left;
  opacity: 0;
  color: #ffffff;
  border-radius: 6px;
  background-color: #000;
  line-height: 1.25;
}
.cp_tooltip .cp_tooltiptext::after {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  content: ' ';
  border: 5px solid transparent;
  border-top-color: #000;
}
.cp_tooltip.hover .cp_tooltiptext,
.cp_tooltip:hover .cp_tooltiptext {
  visibility: visible;
  opacity: 1;
}

/*! IR情報　aタグ　強制アンダーライン　2018.10.26　NAKAYAMA
==================================================*/

.underline a {
text-decoration: none !important;
}
.underline a:hover {
text-decoration: underline !important;
}

/*! Contact by Area 製品ページのみ 2019.10.11
==================================================*/
#product-contact-by-area-block {
  display: block;
  position: fixed;
  right: 2vw;
  bottom: 180px;
  z-index: 9;
}
@media only screen and (min-width: 680px) {
  #product-contact-by-area-block {
    bottom: 180px;
  }
}
#product-contact-by-area-block p{
  margin: 0;
}
#product-contact-by-area-block p a{
  display: block;
  width: 122px;
  height: 122px;
  overflow: hidden;
  background: url(../img/contact.png) no-repeat top left transparent;
  text-align: left;
  text-indent: -200em;
  opacity: 1;
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
}
#product-contact-by-area-block p a:hover{
  opacity: .7;
}

/*! 採用情報 応募フォーム 2019.10.11
==================================================*/
#recruit-page{}
.recruit-form-body{}

.recruit-form-body input[type="submit"],
.recruit-form-body button[type="submit"]{
  border: none;
}
.recruit-form-body .error-text-block{
  background: #fee4e4;
  color: #e00;
  padding: 20px;
  text-align: center;
  margin-bottom: 20px;
}
.recruit-form-body .error-text-block p{
  margin: 0;
}
.recruit-form-body .error-item{
  position: relative;
  font-size: 1.2rem;
  line-height: 1.15;
  color: #f00;
}
.recruit-form-body .error-item::before{
  content:"!";
  position: relative;
  width: 14px;
  height: 14px;
  top: -1px;
  background: #f00;
  color: #fff;
  font-weight: bold;
  border-radius: 3px;
  text-align: center;
  display: inline-block;
  margin-right: 3px;
}

.recruit-form-body .has-error .form-control{
  background: #fee4e4;
}

.recruit-form-body .ex-text{
  font-size: 1.3rem;
  color: #666;
}

.recruit-form-body .full{
  width: 100%;
}

.recruit-form-body label{
  font-weight: normal;
}

.recruit-form-body .lead-box{
  margin-bottom: 50px;
}

.recruit-form-body .step-block{}
.recruit-form-body .step-block .step{
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow:hidden;
}
.recruit-form-body .step-block .step li{
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: calc( 100%/3 );
  position: relative;
  background: #efefef;
}
.recruit-form-body .step-block .step li:last-child:before,
.recruit-form-body .step-block .step li:last-child:after{
  display:none;
}
.recruit-form-body .step-block .step li:before,
.recruit-form-body .step-block .step li:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  margin: auto;
}
.recruit-form-body .step-block .step li:before{
  top:-22px;
  right:-1em;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 50px 0 50px 1em;
  z-index: 10;
}
.recruit-form-body .step-block .step li:after{
  top:-22px;
  right:-.7em;
  border-style: solid;
  border-color: transparent transparent transparent #efefef;
  border-width: 50px 0 50px 1em;
  z-index: 10;
}
.recruit-form-body .step-block .step li.is-current{
  background: #0f2282;
  color: #fff;
}
.recruit-form-body .step-block .step li.is-current:after{
  border-color: transparent transparent transparent #0f2282;
}

.recruit-form-body .step-block li p{
  display: block;
  padding: 10px 2vw 10px 3vw;
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.2;
  white-space: nowrap;
}
.recruit-form-body .step-block li:first-child p{
  padding: 10px 2vw;
}
.recruit-form-body .step-block p small{
  display: block;
}

@media only screen and (max-width: 767px) {
  .recruit-form-body .step-block .step li{
    width: auto;
  }
  .recruit-form-body .step-block li p{
    font-size: 1.3rem;
    text-align: center;
    /*padding: 10px 1vw 10px 7vw;*/
    padding: 10px 1vw 10px 5vw;
  }
  .recruit-form-body .step-block li p strong{
    padding: 0 5px;
  }
  .recruit-form-body .step-block .step li:before,
  .recruit-form-body .step-block .step li:after{
    top:-25px;
  }

  .recruit-form-body .detail-block .column-block .text-box{
    padding-left: 15px;
    padding-right: 15px;
  }
}

/*____*/
.form-detail{
  width: 100%;
  /*border-top: solid 1px #ccc;*/
}
.form-detail th{
  text-align: right;
  vertical-align: top;
  padding: 15px 10px;
  width: 260px;
  padding-right: 50px;
  position: relative;
  /*border-bottom: solid 1px #ccc;*/
}
.form-detail td{
  padding: 10px 10px 10px 30px;
  width: calc( 100% - 260px );
  /*border-bottom: solid 1px #ccc;*/
}
.form-detail tr + tr > th,
.form-detail tr + tr > td{
  border-top: solid 1px #ccc;
}

.form-detail .has-required::after{
  position: absolute;
  right: 0;
  top: 18px;
  content: "必須";
  font-size: 1.2rem;
  line-height: 1;
  display: inline-block;
  padding: 2px 5px;
  border: solid 1px #0f2282;
  border-radius: 3px;
  color: #0f2282;
}
.item-agreement-check .has-required{
  position: relative;
  padding-left: 50px;
  margin-bottom: 0;
}
.item-agreement-check .has-required::after{
  right: auto;
  left: 0;
  top: 2px;

}

@media only screen and (max-width: 767px) {
  .form-detail{
    margin-right: -10px;
    margin-left: -10px;
  }
  .form-detail th{
    text-align: left;
    padding: 10px 10px 5px;
    display: block;
    width: 100%;
    /*width: calc( 100% - 60px );*/
  }
  .form-detail td{
    padding: 5px 0px 15px 10px;
    display: block;
    width: 100%;
    /*width: calc( 100% - 30px );*/
  }
  .form-detail tr + tr > th{
    border-top: solid 1px #ccc;
  }
  .form-detail tr + tr > td{
    border: none;
  }
  .form-detail th.has-required::after{
    position: relative;
    right: -12px;
    top: -1px;
  }
}

.recruit-form-body .birthdate-box{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.recruit-form-body .birthdate-box > div+div{
  padding-left: 10px;
}

.recruit-form-body .date-box,
.recruit-form-body .zip-box{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.recruit-form-body .date-box > * + *,
.recruit-form-body .zip-box > * + * {
  margin-left: 5px;
}
.recruit-form-body .p-postal-code{
  width: 10em;
}
.recruit-form-body .address-box + .address-box{
  margin-top: 5px;
}
.recruit-form-body .zip-box .btn.disabled{
  cursor: default;
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  .recruit-form-body .zip-box .search-postal-code span{
    font-size: 1rem;
    line-height: 1;
    display: block;
  }
}

/*__  ファイルアップロード __*/
.recruit-form-body .drop-area {
  width: 100%;
  height: 100px;
  border: 1px dashed #666;
  margin-top: 5px;
}
.recruit-form-body .drop-area {
  text-align: center;
  line-height: 100px;

}
.recruit-form-body .drop-area.drag-on {
  background-color: #FFF;
  opacity: .6;
}
@media only screen and (max-width: 767px) {
  .file-upload-block .form-detail th{
    /*width: calc( 100% - 32px );*/
  }
  .recruit-form-body .drop-area {
    width: calc( 100% - 32px );
    white-space: nowrap;
    font-size: 1.2rem;
    padding-right: 10px;
    padding-left: 10px;
  }
}

/*__送信ボタン__*/
.recruit-form-body .btn-block{
  margin-top: 30px;
}
.recruit-form-body .btn-block .btn-item{
  margin: 0 5px;
}
.recruit-form-body .btn-block .btn-back{
  background: #fff;
  border: solid 1px #0f2282;
  color: #0f2282;
  font-weight: normal;
  font-size: 1.4rem;
  padding: 12px 20px;
}
