/* ==========================================================================
    utility:clearfix
========================================================================== */
.u-clearfix:after {
  display: block;
  clear: both;
  content: "";
}

/* ==========================================================================
    utility:guide
========================================================================== */
.u-guide {
  z-index: 9999;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: url(/2018/_assets/img/common/util/guide.png) repeat-y top center;
  position: fixed;
  top: 0;
  left: 0;
}

.c-arw__l {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: url(/2018/_assets/img/common/ui/arw_l.png) no-repeat center;
  background-color: #333333;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.c-arw__l:hover {
  -webkit-transform: translate(-4px, 0);
      -ms-transform: translate(-4px, 0);
          transform: translate(-4px, 0);
}

.c-arw__r {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: url(/2018/_assets/img/common/ui/arw_r.png) no-repeat center;
  background-color: #333333;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.c-arw__r:hover {
  -webkit-transform: translate(4px, 0);
      -ms-transform: translate(4px, 0);
          transform: translate(4px, 0);
}

.c-backbtn {
  display: inline-block;
  font-size: 11px;
  font-size: 0.6875rem;
  color: #aaa;
  border: 2px solid;
  font-weight: bold;
  border-radius: 16px;
  height: 25px;
  letter-spacing: 0.1em;
  padding: 3px 18px;
}

.c-backbtn:before {
  content: '';
  display: inline-block;
  background: url(/2018/_assets/img/common/ui/arw_l_g.png);
  width: 6px;
  height: 9px;
  position: relative;
  left: 0;
  top: -0.5px;
  margin-right: 4px;
}

.c-backbtn:hover:before {
  left: -2px;
}

.c-inner {
  max-width: calc( 880px + 10.66vw);
  margin: 0 auto;
  padding: 0 5.33vw;
}

.c-inner.large {
  max-width: calc( 1200px + 10.66vw);
}

.c-inner.w960 {
  max-width: calc( 960px + 10.66vw);
}

main {
  min-height: 500px;
}

@media (max-width: 768px) {
  main {
    min-height: 200px;
  }
}

.c-main {
  margin-top: 40px;
  color: #787878;
}

@media (max-width: 768px) {
  .c-main {
    margin-top: 40px;
  }
}

.c-main.no_nav {
  margin-top: 80px;
}

@media (max-width: 768px) {
  .c-main.no_nav {
    margin-top: 40px;
  }
}

.c-br_nrw {
  display: none;
}

@media (max-width: 768px) {
  .c-br_nrw {
    display: block;
  }
}

.c-br_wide {
  display: none;
}

@media (min-width: 769px) {
  .c-br_wide {
    display: block;
  }
}

.c-external:after {
  position: relative;
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  background: url(/2018/_assets/img/common/ui/ico_ext.svg);
  background-size: 100%;
  margin-left: 0.25em;
  top: -0.2em;
}

.c-closebtn {
  width: 60px;
  height: 60px;
  background: url(/2018/_assets/img/common/ui/close.png) no-repeat center;
  background-color: #333;
  border-radius: 50%;
  cursor: pointer;
}

.c-hover_op {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-hover_op:hover {
  opacity: 0.7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}

.c-hover_bright {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-hover_bright:hover {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.4" /><feFuncG type="linear" slope="1.4" /><feFuncB type="linear" slope="1.4" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(140%);
          filter: brightness(140%);
}

.c-hover_zoom {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-hover_zoom:hover {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}

img.c-fit_y {
  max-width: initial;
  width: auto;
  height: 100%;
  vertical-align: top;
}

@-webkit-keyframes inview_blur {
  0% {
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="50" /></filter></svg>#filter');
    -webkit-filter: blur(50px);
            filter: blur(50px);
    -webkit-transform: translate3d(0, 30px, 0);
            transform: translate3d(0, 30px, 0);
  }
  100% {
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="0" /></filter></svg>#filter');
    -webkit-filter: blur(0px);
            filter: blur(0px);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes inview_blur {
  0% {
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="50" /></filter></svg>#filter');
    -webkit-filter: blur(50px);
            filter: blur(50px);
    -webkit-transform: translate3d(0, 30px, 0);
            transform: translate3d(0, 30px, 0);
  }
  100% {
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="0" /></filter></svg>#filter');
    -webkit-filter: blur(0px);
            filter: blur(0px);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes inview {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: translate3d(0, 30px, 0);
            transform: translate3d(0, 30px, 0);
  }
  100% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes inview {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: translate3d(0, 30px, 0);
            transform: translate3d(0, 30px, 0);
  }
  100% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

.js-inview {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.js-inview.inview-anim {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-animation: inview_blur 1s 0s;
          animation: inview_blur 1s 0s;
}

.c-pagenate {
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-pagenate__item {
  margin: 0 16px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media (max-width: 768px) {
  .c-pagenate__item {
    margin: 0 12px;
  }
}

.c-pagenate__item.prev, .c-pagenate__item.next {
  width: 12px;
  margin: 0 40px;
}

@media (max-width: 768px) {
  .c-pagenate__item.prev, .c-pagenate__item.next {
    width: 10px;
    margin: 0 32px;
  }
}

.c-pagenate__item.prev:hover {
  -webkit-transform: translate(-5px, 0);
      -ms-transform: translate(-5px, 0);
          transform: translate(-5px, 0);
}

.c-pagenate__item.next:hover {
  -webkit-transform: translate(5px, 0);
      -ms-transform: translate(5px, 0);
          transform: translate(5px, 0);
}

.c-pagenate__item.disable {
  opacity: 0.1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
}

.c-pagenate__item.disable:hover {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
}

.c-pagenate__item.back a {
  font-size: 14px;
  font-size: 0.875rem;
}

.c-pagenate__item.back a:before {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  content: '';
  display: inline-block;
  margin-right: 0.5em;
  background: url(/2018/_assets/img/common/ui/ico_all.svg);
  background-size: 100%;
  width: 10px;
  height: 10px;
}

.c-pagenate__item.back a:hover:before {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}

.c-pagenate__item.number a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-pagenate__item.number a.is-current, .c-pagenate__item.number a:hover {
  color: #28c6be;
}

.c-pagenav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 80px;
  font-size: 15px;
  font-size: 0.9375rem;
}

@media (max-width: 768px) {
  .c-pagenav {
    font-size: 0.8125rem;
    padding: 0 40px;
    margin: 0 0 40px -12px;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.c-pagenav__item {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-top: 12px;
  margin-left: 12px;
  display: block;
  min-width: 152px;
  line-height: 1;
  border-radius: 16px;
  text-align: center;
  color: #787878;
  border: 2px solid #787878;
  padding: 8px;
  font-weight: bold;
  position: relative;
}

@media (max-width: 768px) {
  .c-pagenav__item {
    border: 1px solid #787878;
    min-width: auto;
    width: calc(50% - 12px);
  }
}

.c-pagenav__item:after {
  position: absolute;
  top: 50%;
  right: 0.75em;
  content: '';
  background: url(/2018/_assets/img/common/ui/arw_r_g.svg) no-repeat;
  width: 6px;
  height: 11px;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

.c-pagenav__item:hover, .c-pagenav__item.active {
  background: #28c6be;
  color: #fff;
  border: 2px solid #28c6be;
}

@media (max-width: 768px) {
  .c-pagenav__item:hover, .c-pagenav__item.active {
    border: 1px solid #28c6be;
  }
}

.c-pagenav__item:hover:after, .c-pagenav__item.active:after {
  background: url(/2018/_assets/img/common/ui/arw_r_w.svg) no-repeat;
}

.c-switch_nrw {
  display: none;
}

@media (max-width: 768px) {
  .c-switch_nrw {
    display: block;
  }
}

.c-switch_wide {
  display: none;
}

@media (min-width: 769px) {
  .c-switch_wide {
    display: block;
  }
}

.c-cont_subttl {
  margin-top: 60px;
}

.c-bodytxt {
  line-height: 1.8;
  font-size: 14px;
  font-size: 0.875rem;
}

@media (min-width: 769px) {
  .c-bodytxt {
    font-size: 0.9375rem;
    line-height: 2;
  }
}

.c-str {
  font-style: normal;
  font-weight: bold;
}

.c-yakumono {
  margin-left: -.5em;
}

.c-dash {
  letter-spacing: -.1em;
}

.c-hidetxt {
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}

.c-hide {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  display: none;
}

.c-visible {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  display: block;
}
