@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Play&display=swap");
/* basic layout
---------------------------------------------------- */
html {
  font-size: 62.5%; }

body {
  font-family: source-han-sans-japanese, Meiryo, "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
  height: 100%;
  background-color: #fff;
  width: 100%; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    body {
      padding-top: 60px; } }

/* ========== end △ */
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0; }

.clearfix {
  display: inline-block; }

/* start commented backslash hack \*/
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* close commented backslash hack */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

a:link {
  text-decoration: none; }

a {
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: #333;
  font-size: 1.6rem; }
  a:hover {
    opacity: 0.7; }

.bold {
  font-weight: bold; }

img {
  max-width: 100%; }

code, div, form, p, span, a, h1, h2, h3, h4, h5, h6, strong, input, textarea, select, dl, dt, dd, ul, li, ol, b, i, u, table, tr, td, th, blockquote, pre, em, figure, figcaption, caption, tbody, article, tfoot, thead {
  font-size: 1.6rem;
  color: #333;
  line-height: 1.75; }

code {
  font-weight: normal; }

em {
  font-style: italic; }

abbr[title], dfn[title] {
  border-bottom: none;
  text-decoration: unset; }

.textlimit {
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  height: 100%; }

.textline__1 {
  line-height: 20px;
  max-height: 20px;
  -webkit-line-clamp: 1; }

.textline__2 {
  line-height: 20px;
  max-height: 40px;
  -webkit-line-clamp: 2; }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.flex-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (max-width: 768px) {
  .pc {
    display: none !important; } }

/* ========== end △ */
@media only screen and (min-width: 769px) {
  .sp {
    display: none !important; } }

/* tag
---------------------------------------------------- */
.c-single .content p {
  margin-bottom: 30px; }

.c-single h2 {
  background: #333;
  color: #fff;
  font-size: 1.6rem;
  padding: 15px;
  font-weight: normal;
  margin-bottom: 30px; }

.c-single h3 {
  background-color: #fff;
  color: #333;
  font-size: 1.6rem;
  padding: 15px;
  border-left: 5px solid #333;
  font-weight: normal;
  margin-bottom: 30px; }

.c-single code {
  background-color: #eee;
  padding: 0px 5px 0px;
  border-radius: 2px;
  margin: 0 5px;
  border: solid 1px #bbb;
  color: #333;
  font-size: 1.6rem;
  line-height: 40px;
  display: inline-block;
  margin-bottom: 30px; }

.c-single blockquote {
  padding: 30px;
  border: 1px solid #666;
  position: relative;
  margin-bottom: 30px; }

.c-single .l-pageSingle blockquote p {
  margin-bottom: 0; }

.c-single blockquote:before {
  content: "\F10D";
  font-family: fontello;
  font-size: 2rem;
  width: 2rem;
  height: 2rem;
  background: #fff;
  top: -6px;
  left: -6px;
  position: absolute;
  color: #666; }

.c-single blockquote:after {
  content: "\F10E";
  font-family: fontello;
  font-size: 2rem;
  width: 2rem;
  height: 2rem;
  background: #fff;
  bottom: -6px;
  right: -6px;
  position: absolute;
  color: #666; }

.c-single ul, .c-single ol {
  background-color: #f9f9f9;
  padding-top: 20px;
  padding-left: 40px;
  padding-bottom: 20px;
  border: 1px solid #f2f2f2;
  border-radius: 5px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.02);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.02);
  margin-bottom: 30px; }

.c-single ul {
  list-style: disc; }

.c-single ol {
  list-style: decimal; }

/* Color class
---------------------------------------------------- */
.pink {
  color: #e87291; }

/* Font class
---------------------------------------------------- */
/*  Common
---------------------------------------------------- */
#wrapper {
  position: relative; }

.container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 1200px) {
    .container {
      width: 95%; } }
  .container_inner {
    max-width: 1140px;
    width: 100%;
    margin: 0 auto; }
    @media only screen and (max-width: 1140px) {
      .container_inner {
        width: 95%; } }

._row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  ._row ._col_left {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
  ._row ._col_right {
    max-width: 300px;
    width: 32%;
    margin-left: 3%; }

/*	breadcrumb（パンくず）
---------------------------------------------------------------------- */
#breadcrumb.none .container {
  display: none; }

#breadcrumb ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 50px 30px;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

#breadcrumb ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.2rem; }
  #breadcrumb ul li:last-child span {
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    height: 100%;
    line-height: 20px;
    max-height: 20px;
    -webkit-line-clamp: 1;
    text-transform: uppercase; }

#breadcrumb ul li * {
  font-size: 1.2rem;
  line-height: 1.5; }

#breadcrumb ul li a {
  display: block;
  color: #969696;
  text-transform: uppercase; }

#breadcrumb ul li a:after {
  font-family: fontello;
  content: "/";
  padding: 0 10px; }

/*	Previous - Next in Single
---------------------------------------------------------------------- */
.pre-next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 30px; }

@media (max-width: 767px) {
  .pre-next {
    margin: 20px 0; } }

.pre-next li {
  position: relative;
  border: 0 solid #ddd;
  border-width: 1px 1px 1px 0;
  font-size: 14px;
  list-style: none;
  -webkit-transition: background 0.2s ease;
  -o-transition: background 0.2s ease;
  transition: background 0.2s ease;
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .pre-next li:first-child {
    border-width: 1px; }

.pre-next li:before {
  font-size: 1.4rem;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute; }

.pre-next li a {
  width: 100%;
  padding: 15px 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .pre-next li a {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; } }

/* ========== end △ */
  .pre-next li a .image {
    width: 120px;
    overflow: hidden; }
    .pre-next li a .image .thumb {
      width: 100%;
      padding-top: 60%;
      position: relative; }
      .pre-next li a .image .thumb img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .pre-next li a .image {
        display: none; } }

/* ========== end △ */
  .pre-next li a span {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0 10px;
    font-size: 1.4rem;
    max-height: 40px;
    -webkit-line-clamp: 2; }

@media (max-width: 767px) {
  .pre-next li a {
    padding: 10px 40px; }
  .pre-next li a span {
    display: none; } }

.pre-next .pre-post:before {
  left: 10px; }

@media (max-width: 767px) {
  .pre-next .pre-post a:before {
    content: attr(data-prev); } }

.pre-next .next-post:before {
  right: 10px; }

.pre-next .next-post a {
  text-align: right;
  width: 100%; }

@media (max-width: 767px) {
  .pre-next .next-post a:before {
    content: attr(data-next); } }

.pre-next .pre-post a {
  padding-right: 20px; }
  .pre-next .pre-post a span {
    margin-right: 0;
    margin-left: 15px; }

.pre-next .next-post a {
  padding-left: 20px; }
  .pre-next .next-post a span {
    margin-left: 0;
    margin-right: 15px; }

.l-arrow:before {
  content: "\E802"; }

.r-arrow:before {
  content: "\E803"; }

/*	pagination
---------------------------------------------------------------------- */
.wp-pagenavi {
  text-align: center;
  width: 100%;
  display: block;
  margin: 40px 0; }

.wp-pagenavi a {
  background: #f6f6f6;
  color: #000;
  text-decoration: none; }

@media only screen and (max-width: 667px) {
  .wp-pagenavi .inner {
    width: 90%;
    margin: 0 5%;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    height: 46px; }
  .wp-pagenavi .page-of {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
    position: absolute;
    left: 37%;
    width: 26%;
    font-weight: bold;
    color: #fff;
    background: #2C2D2F;
    height: 46px;
    line-height: 46px;
    font-size: 1.3rem; }
  .wp-pagenavi .m-prev {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
    width: 15%;
    position: absolute;
    left: 0%; }
  .wp-pagenavi .pn-prev {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
    width: 22%;
    position: absolute;
    left: 15%; }
  .wp-pagenavi .pn-next {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
    width: 22%;
    position: absolute;
    left: 63%; }
  .wp-pagenavi .m-next {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
    width: 15%;
    position: absolute;
    left: 85%; }
  .wp-pagenavi a {
    line-height: 46px;
    height: 46px;
    font-weight: bold;
    font-size: 1.6rem; } }

.wp-pagenavi .pages {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 10px;
  font-weight: bold; }

.wp-pagenavi .page-of {
  display: block;
  width: 100%;
  color: #000;
  text-align: center;
  margin-bottom: 2em; }

.wp-pagenavi a, .wp-pagenavi .current {
  display: inline-block;
  padding: 0 1.5em;
  font-weight: bold;
  line-height: 50px;
  height: 50px; }

.wp-pagenavi a, .wp-pagenavi .page {
  display: inline-block;
  padding: 0 1.5em;
  font-weight: bold;
  line-height: 50px;
  height: 50px; }

.wp-pagenavi .current {
  background: #ababab;
  color: #fff; }

.wp-pagenavi a:hover {
  background: #ababab;
  color: #fff; }

.pagination {
  text-align: center;
  width: 100%;
  display: block; }

.pagination a {
  border: 1px solid #333;
  color: #333;
  text-decoration: none; }

/* スマホ　*/
@media only screen and (max-width: 667px) {
  .pagination .inner {
    width: 90%;
    margin: 0 5%;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    height: 46px; }
  .pagination .page-of {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
    position: absolute;
    left: 37%;
    width: 26%;
    font-weight: bold;
    color: #fff;
    background: #2C2D2F;
    height: 46px;
    line-height: 46px;
    font-size: 1.2rem; }
  .pagination .m-prev {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
    width: 15%;
    position: absolute;
    left: 0%; }
  .pagination .pn-prev {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
    width: 22%;
    position: absolute;
    left: 15%; }
  .pagination .pn-next {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
    width: 22%;
    position: absolute;
    left: 63%; }
  .pagination .m-next {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
    width: 15%;
    position: absolute;
    left: 85%; }
  .pagination .current, .pagination .pn-numbers {
    display: none; }
  .pagination a {
    line-height: 46px;
    height: 46px;
    font-weight: bold;
    font-size: 1.2rem; } }

/* PC */
@media only screen and (min-width: 668px) {
  .pagination .page-of {
    display: block;
    width: 100%;
    color: #fff;
    text-align: center;
    margin-bottom: 10px;
    margin-top: 20px;
    font-size: 1.2rem; }
  .pagination a, .pagination .current {
    display: inline-block;
    padding: 0 1.5em;
    font-weight: bold;
    line-height: 42px;
    height: 42px;
    font-size: 1.2rem;
    margin: 0 2px; }
  .pagination .current {
    background: #2C2D2F;
    color: #fff; }
  .pagination a:hover {
    background: #2C2D2F;
    color: #fff;
    opacity: 1; } }

/*	Fontello
---------------------------------------------------------------------- */
.fontello {
  position: relative; }
  .fontello:before, .fontello:after {
    font-family: fontello; }

/*	Contact Form 7
---------------------------------------------------------------------- */
.wpcf7-response-output {
  font-size: 1.2rem !important; }

.wpcf7-not-valid {
  background: #ffb6c1 !important; }

span.wpcf7-not-valid-tip {
  font-size: 1rem !important; }

.wpcf7 .wpcf7-validation-errors {
  color: #B94A48;
  background-color: #F2DEDE !important;
  border: 1px solid #EED3D7 !important; }

div.wpcf7-validation-errors {
  border: 1px solid #f00;
  color: #f00;
  background: #F2DEDE;
  padding: 10px; }

div.wpcf7-mail-sent-ok {
  background: #e6faeb;
  border: 1px solid #159867;
  color: #159867;
  padding: 10px; }

/* c-visual
-------------------------------------------- */
.c-visual {
  margin-top: 100px; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .c-visual {
      margin-top: 10px; } }

/* ========== end △ */
  .c-visual_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .c-visual_r {
    max-width: 75%;
    max-height: 370px; }
    .c-visual_r .img-cover {
      height: 100%; }
    .c-visual_r img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      -o-object-position: center;
      object-position: center; }

/* ▽ SP layout ========== */
      @media only screen and (max-width: 639px) {
        .c-visual_r img {
          height: 200px;
          -o-object-position: right;
          object-position: right; } }

/* ========== end △ */
  .c-visual_l {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: right;
    padding: 0 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .c-visual_l {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center; } }

/* ========== end △ */
  .c-visual_tlt {
    display: inline-block;
    text-align: center;
    margin-right: 40px; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .c-visual_tlt {
        margin-right: 10px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .c-visual_tlt {
        -webkit-transform: translateX(25%);
        -ms-transform: translateX(25%);
        transform: translateX(25%); } }

/* ========== end △ */
    .c-visual_tlt .main {
      font-size: 5rem;
      font-family: "Play", sans-serif;
      font-weight: bold;
      line-height: 1.2; }

/* ▽ SP layout ========== */
      @media only screen and (max-width: 639px) {
        .c-visual_tlt .main {
          font-size: 3rem; } }

/* ========== end △ */
    .c-visual_tlt .sub {
      font-size: 2.4rem;
      font-weight: bold;
      text-align: left; }

/* ▽ PC-TAB layout ========== */
      @media print, screen and (max-width: 768px) {
        .c-visual_tlt .sub {
          font-size: 1.6rem; } }

/* ========== end △ */
/* c-btn
-------------------------------------------- */
.c-btn {
  color: #fff;
  background: #333;
  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;
  text-align: center; }

.c-btn_s {
  width: 300px;
  height: 60px; }

.hoverStyle_01 {
  position: relative;
  z-index: 1; }
  .hoverStyle_01:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    -webkit-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    background: #fff;
    border: 2px solid #333 !important; }
  .hoverStyle_01:hover {
    opacity: 1;
    color: #333; }
    .hoverStyle_01:hover:before {
      -webkit-animation: hover-in .3s forwards alternate;
      animation: hover-in .3s forwards alternate; }

.hoverStyle_02 {
  position: relative;
  z-index: 1; }
  .hoverStyle_02:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    -webkit-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    background: #fff;
    border: 2px solid #0d3984 !important;
    border-radius: 4px; }
  .hoverStyle_02:hover {
    opacity: 1;
    color: #0d3984; }
    .hoverStyle_02:hover:before {
      -webkit-animation: hover-in .3s forwards alternate;
      animation: hover-in .3s forwards alternate; }

.hoverStyle_03 {
  position: relative; }
  .hoverStyle_03:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    content: '';
    background: #fff;
    opacity: .7;
    -webkit-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    transform: scale(0, 1); }
  .hoverStyle_03:hover {
    -webkit-animation: hover .6s forwards;
    animation: hover .6s forwards;
    opacity: 1; }
    .hoverStyle_03:hover:before {
      -webkit-animation: hover-in .3s forwards alternate, hover-out .3s .3s forwards alternate;
      animation: hover-in .3s forwards alternate, hover-out .3s .3s forwards alternate; }

/* c-blogList
-------------------------------------------- */
.c-blogList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .c-blogList .items {
    padding: 0 10px 20px; }
    .c-blogList .items_inner {
      -webkit-box-shadow: 0 0 9px 5px rgba(235, 235, 235, 0.64);
      box-shadow: 0 0 9px 5px rgba(235, 235, 235, 0.64);
      -webkit-transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease;
      -webkit-transition: color 0.3s ease, background 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
      transition: color 0.3s ease, background 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
      -o-transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease;
      transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease;
      transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease; }
      .c-blogList .items_inner:hover {
        -webkit-transform: translateY(-3px);
        -ms-transform: translateY(-3px);
        transform: translateY(-3px);
        -webkit-box-shadow: 0px 3px 18px 3px rgba(0, 0, 0, 0.08);
        box-shadow: 0px 3px 18px 3px rgba(0, 0, 0, 0.08); }
    .c-blogList .items_thumb {
      position: relative;
      width: 100%;
      padding-top: 50%;
      overflow: hidden; }
      .c-blogList .items_thumb img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        opacity: center; }
    .c-blogList .items_info {
      background: #fff;
      padding: 15px; }
    .c-blogList .items ._top {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin-bottom: 5px; }
    .c-blogList .items_date {
      font-size: 1.2rem;
      color: #bebebe;
      font-weight: bold;
      font-family: source-han-sans-japanese, sans-serif;
      margin-right: 20px; }
    .c-blogList .items_cat {
      font-size: 1.2rem;
      background: #eee;
      padding: 3px 5px; }
    .c-blogList .items_tlt {
      text-align: justify;
      font-weight: bold;
      font-size: 1.4rem;
      margin-bottom: 5px;
      overflow: hidden;
      -o-text-overflow: ellipsis;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      height: 44px;
      max-height: 44px;
      -webkit-line-clamp: 2; }
    .c-blogList .items_excerpt {
      text-align: justify;
      font-size: 1.4rem;
      overflow: hidden;
      -o-text-overflow: ellipsis;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      height: 44px;
      max-height: 44px;
      -webkit-line-clamp: 2; }

/* c-highway
-------------------------------------------- */
.c-highway {
  position: fixed;
  top: 80px;
  right: 0;
  width: 10vw;
  z-index: -1; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .c-highway {
      width: 20vw; } }

/* ========== end △ */
/* c-tb
-------------------------------------------- */
.c-tb {
  display: table;
  border-collapse: collapse; }
  .c-tb dl {
    display: table-row;
    border-bottom: 1px solid #e6e6e6; }
  .c-tb dt, .c-tb dd {
    font-size: 1.6rem;
    line-height: 1.6;
    color: #333;
    padding: 30px 80px;
    display: table-cell; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .c-tb dt, .c-tb dd {
        padding: 15px 40px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .c-tb dt, .c-tb dd {
        display: block;
        padding: 10px 10px; } }

/* ========== end △ */
  .c-tb dt {
    font-weight: bold;
    white-space: nowrap; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .c-tb dt {
        padding-bottom: 0;
        padding-top: 20px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
  @media only screen and (max-width: 639px) {
    .c-tb dd {
      padding-top: 0px;
      padding-bottom: 20px; } }

/* ========== end △ */
/* ==================================================
	Image Anima
	================================================== */
.img-cover {
  overflow-x: hidden;
  position: relative;
  display: block; }

._text-coverWrap {
  position: relative;
  overflow: hidden;
  z-index: 2; }
  ._text-coverWrap.visible ._txt-cover {
    left: 0; }
    ._text-coverWrap.visible ._txt-cover:after {
      left: calc(100% + 10px);
      -webkit-transition-delay: 2s;
      -o-transition-delay: 2s;
      transition-delay: 2s; }

._txt-cover {
  overflow-x: hidden;
  position: relative;
  left: -100%;
  -webkit-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transition-delay: 1.5s;
  -o-transition-delay: 1.5s;
  transition-delay: 1.5s; }
  ._txt-cover:after {
    content: "";
    position: absolute;
    width: 100%;
    background: #373737;
    top: 0;
    left: 0;
    z-index: 2;
    height: 100%;
    -webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out; }

.img-cover:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  z-index: 1;
  background-color: #373737;
  -webkit-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition-delay: 1s;
  -o-transition-delay: 1s;
  transition-delay: 1s; }

.img-cover:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  background-color: #fff;
  z-index: 2;
  -webkit-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1); }

.img-cover.visible:after,
.img-cover.visible:before {
  right: -100%; }

/* Sidebar -Widget
===================================================== */
.sidebar-main {
  margin-bottom: 40px; }

.sidebar-main:last-child {
  margin-bottom: 0; }

.sidebar-main .sidebar-title {
  text-transform: uppercase;
  font-size: 1.6rem;
  padding: 6px 12px;
  background: #333;
  border: 3px double #fff;
  color: #fff;
  text-align: center;
  margin-bottom: 20px; }

.wide-layout ul {
  list-style-type: none;
  padding: 0;
  margin-top: 0;
  margin-bottom: 0; }

.wide-layout ul li {
  margin-bottom: 30px; }

.wide-layout ul li .side-ranking-title {
  font-size: 17px;
  line-height: 1.5;
  font-weight: 400;
  position: relative; }

@media (max-width: 767px) {
  .wide-layout ul li .side-ranking-title {
    font-weight: 500; } }

.wide-layout ul li .side-ranking-meta {
  margin-top: 15px; }

.wide-layout ul li .side-ranking-meta .side-ranking-img img {
  display: none; }

.wide-layout ul li .side-ranking-meta .side-ranking-img a {
  overflow: hidden;
  display: block; }

.wide-layout ul li .side-ranking-meta .side-ranking-img a img {
  width: 100%;
  height: auto;
  display: block;
  background: #fff;
  -webkit-transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease;
  -webkit-transition: color 0.3s ease, background 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: color 0.3s ease, background 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  -o-transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease;
  transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease;
  transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease; }

.wide-layout ul li .side-ranking-meta .side-ranking-img a:hover img {
  -webkit-filter: opacity(0.8);
  filter: opacity(0.8); }

.wide-layout ul li .side-ranking-meta .side-ranking-info {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-top: 10px;
  margin-bottom: 10px; }

.wide-layout ul li .side-btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media (max-width: 768px) {
  .wide-layout ul li .side-btn-box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; } }

.wide-layout ul li .side-ranking-btn {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }

@media (max-width: 768px) {
  .wide-layout ul li .side-btn-box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .wide-layout ul li .side-ranking-btn {
    -webkit-box-flex: inherit;
    -ms-flex: inherit;
    flex: inherit;
    width: 100%;
    margin: 5px auto; } }

.wide-layout ul li .side-ranking-btn a {
  width: 100%;
  height: auto;
  padding-left: 10px;
  padding-right: 10px; }

.wide-layout ul li:last-child {
  margin-bottom: 0; }

.wide-layout ul li:first-child .side-ranking-title {
  border-color: #FFCF24; }

.wide-layout ul li:nth-child(2) .side-ranking-title {
  border-color: #A0A9B1; }

.wide-layout ul li:nth-child(3) .side-ranking-title {
  border-color: #B26A2B; }

.simple-style .side-ranking-title {
  border-bottom: 1px solid;
  padding-left: 45px;
  padding-bottom: 3px;
  letter-spacing: 0; }

.simple-style .side-ranking-title img {
  width: 45px;
  position: absolute;
  left: -2px;
  bottom: 4px; }

.c-profile {
  text-align: center; }

.c-profile .img {
  width: 110px;
  height: 110px;
  margin: 0 auto 10px auto;
  position: relative;
  overflow: hidden;
  border-radius: 50%; }

.c-profile .img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center; }

.c-profile .name {
  font-weight: 700;
  font-size: 1.6rem;
  margin-bottom: 5px; }

.c-profile .job {
  font-size: 1.4rem;
  color: #999;
  margin-bottom: 3px; }

.c-profile .profile-sns {
  margin-top: 10px; }

.link--wrap a {
  display: inline-block;
  vertical-align: top;
  margin: 4px;
  padding: 8px 12px;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 13px;
  color: #fff;
  background: #666; }

.searchform {
  position: relative; }

.searchform .screen-reader-text {
  display: none; }

.searchform .label__submit {
  display: inherit;
  margin-bottom: 10px; }

.searchform input[type="text"] {
  background-color: #fff;
  border: 1px solid #ddd;
  height: 45px;
  width: 100%;
  margin: 0;
  padding: 0 10px;
  padding-right: 40px;
  font-size: 1.3rem;
  -webkit-transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease;
  -webkit-transition: color 0.3s ease, background 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: color 0.3s ease, background 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  -o-transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease;
  transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease;
  transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, opacity 0.3s ease, border 0.3s ease, padding 0.3s ease, left 0.3s ease, bottom 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease; }

.searchform input[type="text"]:focus {
  border: 1px solid #0094c8; }

.searchform input[type="submit"] {
  display: none; }

.searchform .label__submit:before {
  content: '\E807';
  font-family: fontello;
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  height: 45px;
  width: 34px;
  background: none;
  display: inline-block;
  font-size: 2rem;
  color: #aaa !important;
  line-height: 45px; }

.tagcloud a {
  display: inline-block;
  vertical-align: top;
  margin: 4px;
  padding: 8px 12px;
  font-size: 1.3rem !important;
  font-weight: 500;
  line-height: 13px;
  color: #fff;
  background: #666666; }

.recent-post.c-list01 .c-list01_items {
  width: 100%;
  margin-right: 0; }

.post-sidebar .items {
  width: 100%;
  position: relative;
  margin-bottom: 20px; }

.post-sidebar .items:last-child {
  margin-bottom: 0; }

.post-sidebar .items a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.post-sidebar .items .img {
  width: 33%;
  margin-right: 2%; }

.post-sidebar .items .img .thumb {
  padding-top: 60%;
  position: relative;
  width: 100%;
  overflow: hidden; }

.post-sidebar .items .img .thumb img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center; }

.post-sidebar .items .content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  position: relative; }

.post-sidebar .items .inner {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  position: absolute;
  bottom: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  display: none; }

.post-sidebar .items .inner .date {
  margin-right: 10px; }

.post-sidebar .items .tlt p {
  font-size: 1.4rem;
  font-weight: 500;
  color: #333;
  font-weight: bold;
  line-height: 18px;
  max-height: 36px;
  margin-bottom: 3px; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (max-width: 768px) {
  .post-sidebar .items .tlt p {
    font-size: 1.6rem; } }

/* ========== end △ */
.post-sidebar .items .view p {
  font-size: 1.2rem;
  color: #aaa;
  padding-left: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.post-sidebar .items .view span:before {
  content: "\E812";
  font-family: fontello;
  position: absolute;
  font-size: 1.2rem;
  left: -15px;
  top: 0px;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.post-sidebar .items .date p {
  font-size: 1.2rem;
  color: #aaa; }

.twobutton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 30px; }

.color-button01, .color-button02 {
  margin: 0 5px; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (max-width: 768px) {
  .color-button01, .color-button02 {
    display: block;
    width: 100%;
    margin: 5px 0px; } }

/* ========== end △ */
.color-button01 a, .color-button02 a {
  border-radius: 6px;
  text-align: center;
  padding: 0px 80px;
  line-height: 60px;
  display: inline-block;
  font-size: 1.6rem;
  color: #fff; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (max-width: 768px) {
  .color-button01 a, .color-button02 a {
    width: 100%;
    display: block; } }

/* ========== end △ */
.color-button01 a:hover, .color-button02 a:hover {
  -webkit-transform: translateY(4px);
  -ms-transform: translateY(4px);
  transform: translateY(4px);
  -webkit-box-shadow: 0 0 0 #c07800 !important;
  box-shadow: 0 0 0 #c07800 !important;
  -webkit-transition: all 0.01 ease-in-out;
  -o-transition: all 0.01 ease-in-out;
  transition: all 0.01 ease-in-out; }

.wide-layout .color-button01 a, .wide-layout .color-button02 a {
  line-height: 40px;
  font-size: 1.4rem; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (max-width: 768px) {
  .wide-layout .color-button01 a, .wide-layout .color-button02 a {
    line-height: 60px;
    font-size: 1.6rem; } }

/* ========== end △ */
.widget_pages ul li {
  border-bottom: 1px dotted #ddd;
  margin: 0;
  padding: 0;
  position: relative; }

.widget_pages ul li:last-child {
  border-bottom: none; }

.widget_pages ul li a {
  display: block;
  padding: 10px;
  margin: 0;
  position: relative;
  color: #666; }

.widget_pages ul li a:hover:after {
  right: 5px;
  -webkit-transform: translate(1px, 0);
  -ms-transform: translate(1px, 0);
  transform: translate(1px, 0);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s; }

.widget_pages ul li a:after {
  content: "\E806";
  font-family: fontello;
  position: absolute;
  font-size: 1.4rem;
  right: 10px;
  color: #666; }

.widget_popularpost_widget .post-sidebar .img {
  position: relative; }

.widget_categories ul li {
  border-bottom: 1px dotted #ddd;
  margin: 0;
  padding: 0;
  position: relative; }

.widget_categories ul li a {
  display: block;
  padding: 10px;
  margin: 0;
  position: relative;
  color: #666; }

.widget_categories ul li a:hover:after {
  right: 5px;
  -webkit-transform: translate(1px, 0);
  -ms-transform: translate(1px, 0);
  transform: translate(1px, 0);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s; }

.widget_categories ul li a:after {
  content: "\E806";
  font-family: fontello;
  position: absolute;
  font-size: 1.4rem;
  right: 10px;
  color: #666; }

.widget_categories label {
  font-size: 0;
  position: relative;
  display: none; }

.widget_categories select {
  width: 100%;
  height: 40px;
  border: 1px solid #ddd;
  padding-left: 10px;
  z-index: 1;
  background: transparent;
  position: relative;
  font-size: 1.6rem;
  -webkit-appearance: none;
  background: url("../img/60781.png");
  background-size: 15px 15px;
  background-repeat: no-repeat;
  background-position: calc(100% - 10px) center; }

.widget_categoryC select {
  width: 100%;
  height: 40px;
  border: 1px solid #e5e5e5;
  padding-left: 10px;
  z-index: 1;
  background: transparent;
  position: relative;
  font-size: 1.6rem;
  -webkit-appearance: none;
  background: url("../img/60781.png");
  background-size: 15px 15px;
  background-repeat: no-repeat;
  background-position: calc(100% - 10px) center; }

.widget_meta ul li {
  border-bottom: 1px dotted #ddd;
  margin: 0;
  padding: 0;
  position: relative; }

.widget_meta ul li a {
  display: block;
  padding: 10px;
  margin: 0;
  position: relative;
  color: #666; }

.widget_meta ul li a:hover:after {
  right: 5px;
  -webkit-transform: translate(1px, 0);
  -ms-transform: translate(1px, 0);
  transform: translate(1px, 0);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s; }

.widget_meta ul li a:after {
  content: "\E806";
  font-family: fontello;
  position: absolute;
  font-size: 1.4rem;
  right: 10px;
  color: #666; }

.widget_archive ul li {
  border-bottom: 1px dotted #ddd;
  margin: 0;
  padding: 0;
  position: relative; }

.widget_archive ul li:last-child {
  border-bottom: none; }

.widget_archive ul li a {
  display: block;
  padding: 10px 20px;
  margin: 0;
  position: relative;
  color: #666; }

.widget_archive ul li a:hover {
  -webkit-transform: translate(5px, 0);
  -ms-transform: translate(5px, 0);
  transform: translate(5px, 0);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s; }

.widget_archive ul li a:before {
  content: "\E803";
  font-family: fontello;
  position: absolute;
  font-size: .9rem;
  line-height: 14px;
  top: 50%;
  left: 0;
  color: #fff;
  background: #333;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  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;
  text-align: center;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  text-indent: 2px; }

.widget_archive label {
  font-size: 0;
  position: relative;
  display: none; }

.widget_archive select {
  width: 100%;
  height: 40px;
  border: 1px solid #ddd;
  padding-left: 10px;
  z-index: 1;
  background: transparent;
  position: relative;
  font-size: 1.6rem;
  -webkit-appearance: none;
  background: url("../img/60781.png");
  background-size: 15px 15px;
  background-repeat: no-repeat;
  background-position: calc(100% - 10px) center; }

.widget_calendar table caption {
  padding: 8px 0;
  margin-bottom: 8px;
  background: #ececec; }

.widget_calendar table tr th {
  text-align: center;
  padding: 3px 0; }

.widget_calendar table tr td {
  text-align: center;
  font-size: 1.4rem;
  padding: 3px 0; }

.widget_calendar #calendar_wrap {
  background: #fff;
  padding-bottom: 8px; }

.widget_calendar #prev a {
  color: #333 !important;
  font-size: 1.4rem; }

.widget_calendar #next a {
  color: #333 !important; }

.widget_pages ul li {
  border-bottom: 1px dotted #ddd;
  margin: 0;
  padding: 0;
  position: relative; }

.widget_pages ul li:last-child {
  border-bottom: none; }

.widget_pages ul li a {
  display: block;
  padding: 10px;
  margin: 0;
  position: relative;
  color: #666; }

.widget_pages ul li a:hover:after {
  right: 5px;
  -webkit-transform: translate(1px, 0);
  -ms-transform: translate(1px, 0);
  transform: translate(1px, 0);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s; }

.widget_pages ul li a:after {
  content: "\E806";
  font-family: fontello;
  position: absolute;
  font-size: 1.4rem;
  right: 10px;
  color: #666; }

.intro-site .intro-text {
  margin-top: 5px;
  text-align: center;
  color: #333; }

.widget_rss h4 {
  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; }

.widget_rss h4 .rsswidget {
  font-size: 1.6rem;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 5px; }

.widget_rss ul li {
  padding: 10px 0;
  border-bottom: 1px solid #ddd; }

.widget_rss ul li a {
  font-size: 1.6rem;
  color: #333;
  font-weight: bold;
  display: block; }

.widget_rss ul li .rss-date {
  font-size: 1.4rem;
  padding: 5px 0;
  display: block; }

.widget_rss ul li .rssSummary {
  font-size: 1.4rem;
  display: block; }

.widget_rss ul li cite {
  display: none; }

.widget_nav_menu ul li {
  border-bottom: 1px dotted #ddd;
  margin: 0;
  padding: 0;
  position: relative; }

.widget_nav_menu ul li:last-child {
  border-bottom: none; }

.widget_nav_menu ul li .sub-menu {
  padding-left: 15px; }

.widget_nav_menu ul li .sub-menu a {
  border-bottom: none; }

.widget_nav_menu ul .menu-item-has-children {
  border-bottom: none; }

.widget_nav_menu ul .menu-item-has-children a {
  border-bottom: 1px dotted #ddd; }

.widget_nav_menu ul li a {
  display: block;
  padding: 10px 20px;
  margin: 0;
  position: relative;
  color: #666; }

.widget_nav_menu ul li a:hover {
  -webkit-transform: translate(5px, 0);
  -ms-transform: translate(5px, 0);
  transform: translate(5px, 0);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s; }

.widget_nav_menu ul li a:before {
  content: "\E803";
  font-family: fontello;
  position: absolute;
  font-size: .9rem;
  line-height: 14px;
  top: 50%;
  left: 0;
  color: #fff;
  background: #333;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  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;
  text-align: center;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  text-indent: 2px; }

.gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.gallery dt a {
  width: 100%;
  display: block;
  position: relative;
  padding-top: 100%; }

.gallery dt a img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center; }

.dg.ac {
  display: none; }

/* l-header
-------------------------------------------- */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  width: 100%;
  z-index: 999; }
  .l-header_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px;
    position: relative; }
  .l-header .logo img {
    height: 30px; }
  .l-header_btn {
    background: -moz-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* ff3.6+ */
    background: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #091e42), color-stop(100%, #0d3984));
    /* safari4+,chrome */
    background: -webkit-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* safari5.1+,chrome10+ */
    background: -o-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* opera 11.10+ */
    background: -ms-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* ie10+ */
    background: -webkit-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
    background: -o-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
    background: linear-gradient(135deg, #113e8a 0%, #3776e2 100%);
    /* w3c */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#091e42', endColorstr='#0d3984',GradientType=1 );
    /* ie6-9 */
    color: #fff;
    font-size: 1.4rem;
    border-radius: 4px;
    height: 50px;
    padding: 0 20px;
    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;
    text-align: center; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-header_btn {
        margin: 0 auto;
        width: 90%;
        padding:15px 20px;
        height: auto; } }

/* ========== end △ */
  .l-header.is-active .menu_icon .bar {
    background: transparent; }
    .l-header.is-active .menu_icon .bar:before {
      -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
      transform: rotate(135deg);
      top: 0; }
    .l-header.is-active .menu_icon .bar:after {
      -webkit-transform: rotate(-135deg);
      -ms-transform: rotate(-135deg);
      transform: rotate(-135deg);
      top: 0; }
  .l-header.is-active .h-nav {
    display: block;
    position: fixed;
    top: 60px;
    left: 0;
    opacity: 1;
    pointer-events: initial; }

/* h-nav
-------------------------------------------- */
.h-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-left: 30px;
  background: #fff; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .h-nav {
      display: none;
      margin: 0;
      width: 100%;
      height: calc(100% - 60px);
      padding: 50px 0;
      overflow-y: auto;
      opacity: 0;
      pointer-events: none; } }

/* ========== end △ */
  .h-nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 90%;
    max-width: 750px;
    margin-right: 20px; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .h-nav ul {
        display: block;
        width: 100%;
        text-align: center;
        margin-bottom: 20px;
        margin-right: 0; } }

/* ========== end △ */
  .h-nav li {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: center; }
    .h-nav li.itemsCurrent .tlt {
      border-bottom: 2px solid #333; }

/* ▽ PC-TAB layout ========== */
      @media print, screen and (max-width: 768px) {
        .h-nav li.itemsCurrent .tlt {
          border-bottom: none; } }

/* ========== end △ */
  .h-nav .tlt {
    display: inline-block;
    text-align: center;
    padding: 0 5px; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .h-nav .tlt {
        padding: 10px 0; } }

/* ========== end △ */
    .h-nav .tlt_main {
      display: block;
      font-size: 1.4rem;
      line-height: 1;
      font-family: source-han-sans-japanese, sans-serif; }
    .h-nav .tlt_sub {
      display: block;
      font-size: 1.2rem;
      padding-bottom: 5px; }

/* menu_icon
-------------------------------------------- */
.menu_icon {
  display: none;
  width: 25px;
  height: 30px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%); }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .menu_icon {
      display: block; } }

/* ========== end △ */
  .menu_icon .bar {
    left: 50%;
    top: 50%;
    background: #333;
    display: block;
    height: 2px;
    position: absolute;
    width: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
    .menu_icon .bar:before, .menu_icon .bar:after {
      background: #333;
      content: '';
      display: block;
      height: 2px;
      position: absolute;
      width: 100%;
      -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      transform: rotate(0deg);
      -webkit-transition: top 200ms, -webkit-transform 200ms;
      transition: top 200ms, -webkit-transform 200ms;
      -o-transition: transform 200ms, top 200ms;
      transition: transform 200ms, top 200ms;
      transition: transform 200ms, top 200ms, -webkit-transform 200ms; }
    .menu_icon .bar:before {
      top: -8px; }
    .menu_icon .bar:after {
      top: 8px; }

/* l-footer
-------------------------------------------- */
.l-footer {
  position: relative;
  background: #000;
  padding: 50px 0; }
  .l-footer_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-footer_inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }

/* ========== end △ */
  .l-footer ._col {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-bottom: 20px; }
  .l-footer .logo {
    margin-bottom: 15px; }
    .l-footer .logo img {
      height: 30px; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-footer .logo {
        text-align: center;
        margin: 0 auto 15px; } }

/* ========== end △ */
  .l-footer_info {
    font-size: 1.4rem;
    color: #fff;
    padding-top: 10px; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-footer_info {
        text-align: center; } }

/* ========== end △ */
  .l-footer_btn {
    background: -moz-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* ff3.6+ */
    background: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #091e42), color-stop(100%, #0d3984));
    /* safari4+,chrome */
    background: -webkit-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* safari5.1+,chrome10+ */
    background: -o-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* opera 11.10+ */
    background: -ms-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* ie10+ */
    background: -webkit-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
    background: -o-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
    background: linear-gradient(135deg, #113e8a 0%, #3776e2 100%);
    /* w3c */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#091e42', endColorstr='#0d3984',GradientType=1 );
    /* ie6-9 */
    color: #fff;
    font-size: 1.4rem;
    border-radius: 4px;
    padding: 0 20px;
    line-height: 50px;
    display: inline-block;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-footer_btn {
        margin: 0 auto; } }

/* ========== end △ */
  .l-footer .copyright {
    text-align: right; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-footer .copyright {
        text-align: center; } }

/* ========== end △ */
    .l-footer .copyright p {
      font-size: 1.2rem;
      color: #fff;
      font-family: source-han-sans-japanese, sans-serif; }

/* f-nav
-------------------------------------------- */
.f-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-bottom: 30px; }
  .f-nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .f-nav ul {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center; } }

/* ========== end △ */
/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .f-nav li {
      margin: 20px 20px 0; } }

/* ========== end △ */
  .f-nav .tlt {
    display: inline-block;
    text-align: center;
    color: #fff; }
    .f-nav .tlt_main {
      display: block;
      font-size: 1.4rem;
      font-family: source-han-sans-japanese, sans-serif;
      color: inherit; }
    .f-nav .tlt_sub {
      display: block;
      font-size: 1.2rem;
      color: inherit; }

/* toTop
-------------------------------------------- */
.toTop {
  position: fixed;
  bottom: 50px;
  right: 5px;
  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-writing-mode: tb;
  -ms-writing-mode: tb;
  writing-mode: tb;
  cursor: pointer;
  padding-bottom: 10px; }
  .toTop:before {
    content: '';
    display: block;
    width: 1px;
    height: 30px;
    background: #333;
    margin-bottom: 10px; }
  .toTop p {
    font-family: source-han-sans-japanese, sans-serif;
    font-size: 1.4rem; }
  .toTop_hook {
    position: absolute;
    bottom: unset;
    top: 0;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%); }

/* l-page
-------------------------------------------- */
.l-page {
  padding-bottom: 50px; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .l-page {
      padding-bottom: 50px; } }

/* ========== end △ */
/* l-visual
-------------------------------------------- */
.l-visual {
  position: relative; }
  .l-visual_inner {
    position: relative; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-visual_inner {
        padding-left: 0; } }

/* ========== end △ */
    .l-visual_inner img {
      width: calc(7.14vw * 13);
      height: calc(7.14vw * 12 * 0.55);
      -o-object-fit: cover;
      object-fit: cover;
      -o-object-position: center;
      object-position: center;
      margin-left: auto; }
      @media only screen and (max-width: 960px) {
        .l-visual_inner img {
          width: 100%;
          height: calc(100vw * 0.55); } }

/* ▽ SP layout ========== */
      @media only screen and (max-width: 639px) {
        .l-visual_inner img {
          height: calc(100vw * 1.25); } }

/* ========== end △ */
  .l-visual_tlt {
    max-width: calc(490px + (7.14vw * 1 + 12px) * 2);
    display: inline-block;
    position: absolute;
    left: 0;
    margin-left: calc(100vw - (7.14vw * 13));
    padding-bottom: 1px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    bottom: 17.1875%;
    margin-bottom: 3.125%;
    -webkit-transform: translateX(25%);
    -moz-transform: translateX(25%);
    -ms-transform: translateX(25%);
    -o-transform: translateX(25%);
    transform: translateX(25%); }
    .l-visual_tlt:before {
      -webkit-transition-delay: 1.8s;
      -o-transition-delay: 1.8s;
      transition-delay: 1.8s; }
    .l-visual_tlt:after {
      -webkit-transition-delay: .8s;
      -o-transition-delay: .8s;
      transition-delay: .8s; }
    @media only screen and (min-width: 1680px) {
      .l-visual_tlt {
        margin-left: calc(50vw - 720px); } }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-visual_tlt {
        margin-left: 0;
        -webkit-transform: translateX(5%);
        -moz-transform: translateX(5%);
        -ms-transform: translateX(5%);
        -o-transform: translateX(5%);
        transform: translateX(5%); } }

/* ========== end △ */
/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-visual_tlt {
        max-width: calc(280px + (7.14vw * 1 + 12px) * 2); } }

/* ========== end △ */
    .l-visual_tlt figure {
      max-width: 600px; }

/* ▽ SP layout ========== */
      @media only screen and (max-width: 639px) {
        .l-visual_tlt figure {
          max-width: 300px; } }

/* ========== end △ */
  .l-visual .items {
    width: calc(7.14vw * 13);
    height: calc(7.14vw * 12 * 0.55);
    margin-left: calc(50vw - 720px); }
    @media only screen and (max-width: 960px) {
      .l-visual .items {
        width: 100%;
        height: calc(100vw * 0.55); } }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-visual .items {
        height: calc(100vw * 1.25); } }

/* ========== end △ */
  .l-visual .img-cover:after {
    display: none; }
  .l-visual .slick-dots {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 120px;
    height: 100%;
    padding-top: 80px; }
    @media only screen and (min-width: 1680px) {
      .l-visual .slick-dots {
        left: calc(50vw - 840px); } }
    @media (min-width: 960px) {
      .l-visual .slick-dots {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 7.14286vw; } }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-visual .slick-dots {
        bottom: 10px;
        top: inherit;
        height: auto;
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%; } }

/* ========== end △ */
    .l-visual .slick-dots button {
      display: block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      border: none;
      overflow: hidden;
      color: transparent;
      outline: none;
      margin: 10px 0;
      padding: 0;
      cursor: pointer;
      background: #e3ded9; }

/* ▽ PC-TAB layout ========== */
      @media print, screen and (max-width: 768px) {
        .l-visual .slick-dots button {
          width: 12px;
          height: 12px;
          margin: 5px;
          background: #fff; } }

/* ========== end △ */
/* ▽ SP layout ========== */
      @media only screen and (max-width: 639px) {
        .l-visual .slick-dots button {
          width: 10px;
          height: 10px; } }

/* ========== end △ */
  .l-visual .slick-active button {
    background: #333; }

/* l-part01
-------------------------------------------- */
.l-part01 .l-tlt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline; }

/* ▽ SP layout ========== */
  @media only screen and (max-width: 639px) {
    .l-part01 .l-tlt {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; } }

/* ========== end △ */
  .l-part01 .l-tlt_main {
    font-family: "Play", sans-serif;
    font-size: 4rem;
    margin-right: 40px;
    color: inherit; }
  .l-part01 .l-tlt_sub {
    font-size: 1.4rem;
    color: inherit; }

/* l-part02
-------------------------------------------- */
.l-part02 .l-tlt {
  text-align: center; }
  .l-part02 .l-tlt_main {
    font-family: "Play", sans-serif;
    font-size: 4rem;
    color: inherit; }
  .l-part02 .l-tlt_sub {
    font-size: 1.4rem;
    color: inherit; }

/* l-news
-------------------------------------------- */
.l-news {
  background-image: url("../img/l-news.png");
  background-repeat: no-repeat;
  background-size: 300px 256px;
  background-position: right center;
  padding: 100px 0; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .l-news {
      padding: 50px 0; } }

/* ========== end △ */
  .l-news_inner {
    max-width: 685px;
    width: 100%;
    margin-left: 10vw; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-news_inner {
        margin-left: 0; } }

/* ========== end △ */
  .l-news ._top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 30px; }
  .l-news .items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 5px 0;
    margin-bottom: 10px; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-news .items {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

/* ========== end △ */
    .l-news .items_date {
      font-size: 1.4rem;
      margin-right: 30px; }

/* ▽ SP layout ========== */
      @media only screen and (max-width: 639px) {
        .l-news .items_date {
          margin-right: 15px; } }

/* ========== end △ */
    .l-news .items_tlt {
      font-size: 1.4rem; }

/* ▽ SP layout ========== */
      @media only screen and (max-width: 639px) {
        .l-news .items_tlt {
          width: 100%;
          margin-top: 3px; } }

/* ========== end △ */
  .l-news .newsList {
    margin-bottom: 30px; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .l-news .c-btn {
      margin: 0 auto; } }

/* ========== end △ */
/* l-work
-------------------------------------------- */
.l-work ._top {
  background: -moz-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
  /* ff3.6+ */
  background: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #091e42), color-stop(100%, #0d3984));
  /* safari4+,chrome */
  background: -webkit-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
  /* safari5.1+,chrome10+ */
  background: -o-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
  /* opera 11.10+ */
  background: -ms-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
  /* ie10+ */
  background: -webkit-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
  background: -o-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
  background: linear-gradient(135deg, #113e8a 0%, #3776e2 100%);
  /* w3c */
  background-size: 600% 600%;
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#091e42', endColorstr='#0d3984',GradientType=1 );
  /* ie6-9 */
  padding: 50px 0 1px;
  -webkit-animation: BackgroundAnime 10s ease infinite;
  animation: BackgroundAnime 10s ease infinite; }

.l-work ._bottom {
  background: #fafafa; }

.l-work_body {
  text-align: center;
  padding: 40px 0; }

.l-work .l-tlt {
  color: #fff;
  margin-bottom: 20px; }

.l-work_describe {
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 30px; }

.l-work_tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  background: #fff; }

.l-work .ctrlTabItem {
  width: calc(100% / 6);
  border: none;
  background: transparent;
  height: 60px;
  cursor: pointer;
  outline: none;
  opacity: 1;
  font-size: 1.4rem; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .l-work .ctrlTabItem {
      width: calc(100% / 3); } }

/* ========== end △ */
/* ▽ SP layout ========== */
  @media only screen and (max-width: 639px) {
    .l-work .ctrlTabItem {
      width: 25%;
      font-size: 1.1rem; } }

/* ========== end △ */
  .l-work .ctrlTabItem.active {
    background: #333;
    color: #fff; }
  .l-work .ctrlTabItem:hover {
    background: #333333;
    color: #fff; }

.l-work .tabItems {
  display: none; }
  .l-work .tabItems.active {
    display: block; }

.l-work .tab_mainTxt {
  font-size: 2rem;
  color: #333;
  font-weight: 900; }

/* .l-work .marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 40px; }
  .l-work .marquee:last-child {
    margin-bottom: 0; }
  .l-work .marquee_wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto; }
  .l-work .marquee_txt {
    font-size: 2rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    height: 40px;
    color: #333;
    font-weight: 900;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    white-space: nowrap;
    -webkit-animation: bg-animation-first 50s 0s linear infinite normal;
    animation: bg-animation-first 50s 0s linear infinite normal; }
  .l-work .marquee_txt02 {
    -webkit-animation: bg-animation-second 50s -25s linear infinite normal;
    animation: bg-animation-second 50s -25s linear infinite normal; }

.l-work .marquee_reverse {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 40px; }
  .l-work .marquee_reverse:last-child {
    margin-bottom: 0; }
  .l-work .marquee_reverse_wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto; }
  .l-work .marquee_reverse_txt {
    font-size: 2rem;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    height: 40px;
    color: #333;
    font-weight: 900;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    white-space: nowrap;
    -webkit-animation: bg-animation-first-reverse 50s 0s linear infinite normal;
    animation: bg-animation-first-reverse 50s 0s linear infinite normal; }
  .l-work .marquee_reverse_txt02 {
    -webkit-animation: bg-animation-second-reverse 50s -25s linear infinite normal;
    animation: bg-animation-second-reverse 50s -25s linear infinite normal; } */

/* l-service
-------------------------------------------- */
.l-service {
  padding: 100px 0;
  position: relative; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .l-service {
      padding: 50px 0; } }

/* ========== end △ */
  .l-service .l-tlt {
    color: #333;
    margin-bottom: 20px; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-service .l-tlt {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center; }
        .l-service .l-tlt .l-tlt_main {
          margin-right: 0;
          width: 100%; } }

/* ========== end △ */
  .l-service_describe {
    max-width: 450px;
    color: #333;
    font-size: 1.4rem;
    margin-bottom: 40px; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-service_describe {
        max-width: 300px;
        width: 100%;
        margin: 0 auto;
        margin-bottom: 40px;
        text-align: center; } }

/* ========== end △ */
  .l-service_box {
    margin-top: -75px;
    z-index: -1;
    position: relative; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-service_box {
        margin-top: 30px; } }

/* ========== end △ */
  .l-service_img {
    max-width: 750px;
    position: relative;
    margin-left: auto;
    padding-left: 4.5vw;
    padding-bottom: 6vw; }
    .l-service_img:after {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 80%;
      background: -moz-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
      /* ff3.6+ */
      background: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #091e42), color-stop(100%, #0d3984));
      /* safari4+,chrome */
      background: -webkit-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
      /* safari5.1+,chrome10+ */
      background: -o-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
      /* opera 11.10+ */
      background: -ms-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
      /* ie10+ */
      background: -webkit-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
      background: -o-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
      background: linear-gradient(135deg, #113e8a 0%, #3776e2 100%);
      /* w3c */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#091e42', endColorstr='#0d3984',GradientType=1 );
      /* ie6-9 */
      z-index: -1; }

/* ▽ SP layout ========== */
  @media only screen and (max-width: 639px) {
    .l-service .c-btn {
      margin: 0 auto; } }

/* ========== end △ */
/* l-company
-------------------------------------------- */
.l-company {
  padding: 100px 0;
  position: relative; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .l-company {
      padding: 50px 0; } }

/* ========== end △ */
  .l-company .highway_img {
    max-width: 50vw;
    position: absolute;
    top: 0;
    left: 0; }
  .l-company .l-tlt {
    color: #333;
    margin-bottom: 20px; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-company .l-tlt {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center; }
        .l-company .l-tlt .l-tlt_main {
          margin-right: 0;
          width: 100%; } }

/* ========== end △ */
  .l-company_describe {
    max-width: 450px;
    color: #333;
    font-size: 1.4rem;
    margin-bottom: 40px;
    text-align: left; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-company_describe {
        text-align: center;
        max-width: 300px;
        margin: 0 auto;
        margin-bottom: 40px; } }

/* ========== end △ */
  .l-company_inner {
    text-align: right; }
  .l-company ._info {
    display: inline-block; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-company ._info {
        display: block; }
        .l-company ._info .c-btn {
          margin: 0 auto; } }

/* ========== end △ */
  .l-company_box {
    margin-top: -65px;
    z-index: -1;
    position: relative; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-company_box {
        margin-top: 30px; } }

/* ========== end △ */
  .l-company_img {
    max-width: 750px;
    position: relative;
    padding-left: 4.5vw;
    padding-bottom: 6vw; }
    .l-company_img:after {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 95%;
      height: 80%;
      background: -moz-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
      /* ff3.6+ */
      background: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #091e42), color-stop(100%, #0d3984));
      /* safari4+,chrome */
      background: -webkit-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
      /* safari5.1+,chrome10+ */
      background: -o-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
      /* opera 11.10+ */
      background: -ms-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
      /* ie10+ */
      background: -webkit-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
      background: -o-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
      background: linear-gradient(135deg, #113e8a 0%, #3776e2 100%);
      /* w3c */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#091e42', endColorstr='#0d3984',GradientType=1 );
      /* ie6-9 */
      z-index: -1; }

/* l-recruit
-------------------------------------------- */
.l-recruit {
  background-image: url("../img/l-recruit.png");
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  padding: 100px 0;
  position: relative; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .l-recruit {
      padding: 50px 0; } }

/* ========== end △ */
  .l-recruit:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -moz-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* ff3.6+ */
    background: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #091e42), color-stop(100%, #0d3984));
    /* safari4+,chrome */
    background: -webkit-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* safari5.1+,chrome10+ */
    background: -o-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* opera 11.10+ */
    background: -ms-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* ie10+ */
    background: -webkit-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
    background: -o-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
    background: linear-gradient(135deg, #113e8a 0%, #3776e2 100%);
    /* w3c */
    background-size: 600% 600%;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#091e42', endColorstr='#0d3984',GradientType=1 );
    /* ie6-9 */
    z-index: 1;
    opacity: .7;
    -webkit-animation: BackgroundAnime 10s ease infinite;
    animation: BackgroundAnime 10s ease infinite; }
  .l-recruit .l-tlt {
    color: #fff;
    margin-bottom: 20px;
    position: relative;
    z-index: 2; }
  .l-recruit_describe {
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
    max-width: 440px;
    margin: 0 auto 40px;
    position: relative;
    z-index: 2; }
  .l-recruit .c-btn {
    margin: 0 auto;
    position: relative;
    z-index: 2; }

/* l-blog
-------------------------------------------- */
.l-blog {
  padding: 100px 0; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .l-blog {
      padding: 50px 0; } }

/* ========== end △ */
  .l-blog .l-tlt {
    color: #333;
    margin-bottom: 20px; }
  .l-blog .c-blogList {
    margin: 30px 0; }
    .l-blog .c-blogList .items {
      width: calc(100% / 3); }

/* ▽ SP layout ========== */
      @media only screen and (max-width: 639px) {
        .l-blog .c-blogList .items {
          width: 100%; } }

/* ========== end △ */
  .l-blog .c-btn {
    margin: 0 auto; }

/* l-banner01
-------------------------------------------- */
.l-banner01 {
  padding: 100px 0;
	background: #eee; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .l-banner01 {
      padding: 50px 0; } }

/* ========== end △ */
  .l-banner01 .items {
    display: block;
    max-width: 1000px;
    margin: 20px auto; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-banner01 .items {
        margin: 10px auto; } }

/* ========== end △ */
/* l-banner02
-------------------------------------------- */
.l-banner02 {
  padding: 50px 0;
  background: #fafafa; }
  .l-banner02_inner {
    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; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-banner02_inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }

/* ========== end △ */
  .l-banner02 .items {
    max-width: 320px;
    margin: 20px 50px; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .l-banner02 .items {
        margin: 20px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-banner02 .items {
        max-width: 300px;
        margin: 10px 0; } }

/* ========== end △ */
/* p-company
-------------------------------------------- */
.p-company .c-tb {
  margin: 0 auto; }

/* p-service
-------------------------------------------- */
.p-service .kakoi {
  margin-bottom: 30px;
  padding: 1.1em 2em;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 6px; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .p-service .kakoi {
      padding: .9em .8em .9em 1em; } }

/* ========== end △ */
.p-service .flow {
  margin-top: 100px; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .p-service .flow {
      margin-top: 50px; } }

/* ========== end △ */
  .p-service .flow_tlt {
    margin-bottom: 50px;
    text-align: center; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .p-service .flow_tlt {
        margin-bottom: 25px; } }

/* ========== end △ */
    .p-service .flow_tlt_main {
      font-size: 2.4rem;
      font-weight: bold; }
    .p-service .flow_tlt_sub {
      font-size: 2rem;
      font-weight: bold; }

.p-service .step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative; }
  .p-service .step:last-child .step_l,
  .p-service .step:last-child .step_r {
    padding-bottom: 0; }
  .p-service .step_l {
    padding-right: 40px;
    padding-bottom: 90px;
    border-right: 10px solid #f7f7f7; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .p-service .step_l {
        padding-right: 20px;
        border-right: 5px solid #f7f7f7;
        padding-bottom: 50px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .p-service .step_l {
        padding-right: 10px;
        padding-bottom: 30px; } }

/* ========== end △ */
  .p-service .step_r {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 40px;
    padding-right: 150px;
    padding-bottom: 90px;
    border-left: 10px solid #f7f7f7; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .p-service .step_r {
        padding-left: 20px;
        padding-right: 75px;
        border-left: 5px solid #f7f7f7;
        padding-bottom: 50px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .p-service .step_r {
        padding-left: 10px;
        padding-right: 0;
        padding-bottom: 30px; } }

/* ========== end △ */
    .p-service .step_r:before {
      content: '';
      display: block;
      width: 8px;
      height: 8px;
      background: #091e42;
      border-radius: 50%;
      overflow: hidden;
      position: absolute;
      top: 54px;
      left: -10px;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

/* ▽ PC-TAB layout ========== */
      @media print, screen and (max-width: 768px) {
        .p-service .step_r:before {
          top: 27px;
          left: -5px;
          width: 6px;
          height: 6px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
      @media only screen and (max-width: 639px) {
        .p-service .step_r:before {
          top: 23px; } }

/* ========== end △ */
    .p-service .step_r:after {
      content: '';
      display: block;
      width: 70px;
      height: 1px;
      background: -moz-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
      /* ff3.6+ */
      background: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #091e42), color-stop(100%, #0d3984));
      /* safari4+,chrome */
      background: -webkit-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
      /* safari5.1+,chrome10+ */
      background: -o-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
      /* opera 11.10+ */
      background: -ms-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
      /* ie10+ */
      background: -webkit-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
      background: -o-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
      background: linear-gradient(135deg, #113e8a 0%, #3776e2 100%);
      /* w3c */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#091e42', endColorstr='#0d3984',GradientType=1 );
      /* ie6-9 */
      overflow: hidden;
      position: absolute;
      top: 54px;
      left: -10px;
      -webkit-transform: translate(0, -50%);
      -moz-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      -o-transform: translate(0, -50%);
      transform: translate(0, -50%); }

/* ▽ PC-TAB layout ========== */
      @media print, screen and (max-width: 768px) {
        .p-service .step_r:after {
          width: 35px;
          top: 27px;
          left: -5px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
      @media only screen and (max-width: 639px) {
        .p-service .step_r:after {
          top: 23px;
          width: 20px; } }

/* ========== end △ */
  .p-service .step .num_box {
    position: relative;
    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;
    text-align: center;
    width: 165px;
    height: 75px;
    margin-top: 16px;
    background: -moz-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* ff3.6+ */
    background: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #091e42), color-stop(100%, #0d3984));
    /* safari4+,chrome */
    background: -webkit-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* safari5.1+,chrome10+ */
    background: -o-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* opera 11.10+ */
    background: -ms-linear-gradient(315deg, #091e42 0%, #0d3984 100%);
    /* ie10+ */
    background: -webkit-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
    background: -o-linear-gradient(315deg, #113e8a 0%, #3776e2 100%);
    background: linear-gradient(135deg, #113e8a 0%, #3776e2 100%);
    /* w3c */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#091e42', endColorstr='#0d3984',GradientType=1 );
    /* ie6-9 */ }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .p-service .step .num_box {
        width: 100px;
        height: 45px;
        margin-top: 4px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .p-service .step .num_box {
        width: 50px;
        height: 30px;
        margin-top: 8px; } }

/* ========== end △ */
    .p-service .step .num_box:before {
      content: '';
      position: absolute;
      right: 0;
      top: 50%;
      width: 0;
      height: 0;
      border-top: 11px solid transparent;
      border-left: 22px solid #0d3984;
      border-bottom: 11px solid transparent;
      -webkit-transform: translate(100%, -50%);
      -moz-transform: translate(100%, -50%);
      -ms-transform: translate(100%, -50%);
      -o-transform: translate(100%, -50%);
      transform: translate(100%, -50%); }

/* ▽ PC-TAB layout ========== */
      @media print, screen and (max-width: 768px) {
        .p-service .step .num_box:before {
          border-top: 5px solid transparent;
          border-left: 10px solid #0d3984;
          border-bottom: 5px solid transparent; } }

/* ========== end △ */
    .p-service .step .num_box p {
      font-size: 2rem;
      text-transform: uppercase;
      color: #fff;
      font-weight: bold; }

/* ▽ PC-TAB layout ========== */
      @media print, screen and (max-width: 768px) {
        .p-service .step .num_box p {
          font-size: 1.8rem; } }

/* ========== end △ */
/* ▽ SP layout ========== */
      @media only screen and (max-width: 639px) {
        .p-service .step .num_box p {
          font-size: 1.1rem; } }

/* ========== end △ */
  .p-service .step .box {
    display: block;
    width: 100%;
    background: #fbfbfb;
    padding: 35px 130px 60px 35px; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .p-service .step .box {
        padding: 15px 65px 30px 15px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .p-service .step .box {
        padding: 10px; } }

/* ========== end △ */
    .p-service .step .box_tlt {
      font-size: 2.4rem;
      font-weight: bold;
      margin-bottom: 20px; }

/* ▽ PC-TAB layout ========== */
      @media print, screen and (max-width: 768px) {
        .p-service .step .box_tlt {
          font-size: 1.8rem;
          margin-bottom: 10px; } }

/* ========== end △ */
/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .p-service .step .box_txt {
        font-size: 1.2rem; } }

/* ========== end △ */
  .p-service .step_img {
    max-width: 275px;
    position: absolute;
    right: 0;
    top: -25px; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .p-service .step_img {
        max-width: 135px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .p-service .step_img {
        position: relative;
        right: unset;
        top: unset;
        margin-top: 10px;
        max-width: unset; } }

/* ========== end △ */
/* p-works
-------------------------------------------- */
.p-works {
  margin-top: 100px; }

/* ▽ PC-TAB layout ========== */
  @media print, screen and (max-width: 768px) {
    .p-works {
      margin-top: 80px; } }

/* ========== end △ */
.w-slide_ctrl {
  position: relative;
  margin-bottom: 30px; }
  .w-slide_ctrl .items {
    background: #fff;
    border: 1px solid #333;
    height: 60px;
    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;
    text-align: center;
    font-weight: bold;
    cursor: pointer; }
    .w-slide_ctrl .items:hover {
      background: #000;
      color: #fff; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .w-slide_ctrl .items {
        height: 50px; } }

/* ========== end △ */
    .w-slide_ctrl .items.slick-current {
      background: #000;
      color: #fff; }
  .w-slide_ctrl .slick-arrow {
    position: absolute;
    right: 0;
    bottom: 0;
    display: inline-block;
    width: 80px;
    height: 80px;
    overflow: hidden;
    background: #333;
    border: none;
    padding: 0;
    cursor: pointer;
    color: transparent;
    z-index: 1;
    outline: none; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .w-slide_ctrl .slick-arrow {
        width: 60px;
        height: 60px; } }

/* ========== end △ */
    .w-slide_ctrl .slick-arrow:before, .w-slide_ctrl .slick-arrow:after {
      font-family: 'fontello';
      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;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      -webkit-transition: all .25s;
      -moz-transition: all .25s;
      -ms-transition: all .25s;
      -o-transition: all .25s;
      transition: all .25s; }
  .w-slide_ctrl .slick-prev {
    bottom: 100px;
    border-bottom: 1px solid #eaeaea; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .w-slide_ctrl .slick-prev {
        bottom: 80px; } }

/* ========== end △ */
    .w-slide_ctrl .slick-prev:before, .w-slide_ctrl .slick-prev:after {
      content: '\E803'; }
    .w-slide_ctrl .slick-prev:hover:before {
      -webkit-transform: translateX(100%);
      -moz-transform: translateX(100%);
      -ms-transform: translateX(100%);
      -o-transform: translateX(100%);
      transform: translateX(100%); }
    .w-slide_ctrl .slick-prev:hover:after {
      -webkit-transform: translateX(0);
      -moz-transform: translateX(0);
      -ms-transform: translateX(0);
      -o-transform: translateX(0);
      transform: translateX(0); }
    .w-slide_ctrl .slick-prev:before {
      color: #fff;
      -webkit-transform: translateX(0);
      -moz-transform: translateX(0);
      -ms-transform: translateX(0);
      -o-transform: translateX(0);
      transform: translateX(0); }
    .w-slide_ctrl .slick-prev:after {
      background: #000;
      color: #fff;
      -webkit-transform: translateX(-100%);
      -moz-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
      -o-transform: translateX(-100%);
      transform: translateX(-100%); }
  .w-slide_ctrl .slick-next {
    bottom: 20px; }
    .w-slide_ctrl .slick-next:before, .w-slide_ctrl .slick-next:after {
      content: '\E802'; }
    .w-slide_ctrl .slick-next:hover:before {
      -webkit-transform: translateX(-100%);
      -moz-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
      -o-transform: translateX(-100%);
      transform: translateX(-100%); }
    .w-slide_ctrl .slick-next:hover:after {
      -webkit-transform: translateX(0);
      -moz-transform: translateX(0);
      -ms-transform: translateX(0);
      -o-transform: translateX(0);
      transform: translateX(0); }
    .w-slide_ctrl .slick-next:before {
      color: #fff;
      -webkit-transform: translateX(0);
      -moz-transform: translateX(0);
      -ms-transform: translateX(0);
      -o-transform: translateX(0);
      transform: translateX(0); }
    .w-slide_ctrl .slick-next:after {
      background: #000;
      color: #fff;
      -webkit-transform: translateX(100%);
      -moz-transform: translateX(100%);
      -ms-transform: translateX(100%);
      -o-transform: translateX(100%);
      transform: translateX(100%); }

.w-slide_ctt {
  background: #fafafa;
  padding: 30px 15px; }
  .w-slide_ctt ._top {
    background: #fff;
    padding: 15px 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .w-slide_ctt ._top {
        padding: 5px; } }

/* ========== end △ */
  .w-slide_ctt ._bottom {
    padding: 50px; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .w-slide_ctt ._bottom {
        padding: 20px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .w-slide_ctt ._bottom {
        padding: 10px; } }

/* ========== end △ */
  .w-slide_ctt .ctrlTabItem {
    width: calc(100% / 6);
    border: none;
    background: transparent;
    height: 60px;
    cursor: pointer;
    outline: none;
    opacity: 1;
    font-size: 1.4rem; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .w-slide_ctt .ctrlTabItem {
        width: calc(100% / 3); } }

/* ========== end △ */
/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .w-slide_ctt .ctrlTabItem {
        width: 25%;
        font-size: 1.1rem; } }

/* ========== end △ */
    .w-slide_ctt .ctrlTabItem.active {
      background: #333;
      color: #fff; }
    .w-slide_ctt .ctrlTabItem:hover:not(.active) {
      background: #333;
      color: #fff; }
  .w-slide_ctt .tabItems {
    display: none; }
    .w-slide_ctt .tabItems.active {
      display: block; }

/* Contact
-------------------------------------------- */
.l-form {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto; }
  .l-form dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .l-form dt {
    font-size: 1.6rem;
    line-height: 1.6;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 300px;
    flex: 0 0 300px;
    padding: 25px;
    padding-left: 20px;
    border-bottom: 1px solid #333;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-form dt {
        padding-left: 0;
        padding-right: 0;
        -webkit-box-flex: inherit;
        -ms-flex: inherit;
        flex: inherit;
        width: 100%; } }

/* ========== end △ */
  .l-form ._dt-ex {
    font-size: 1.2rem;
    display: block;
    width: 100%; }
  .l-form dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 25px;
    border-bottom: 1px solid #ddd; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-form dd {
        padding-left: 0;
        padding-right: 0; } }

/* ========== end △ */
    .l-form dd input[type="text"], .l-form dd input[type="tel"], .l-form dd input[type="email"] {
      width: 100%;
      height: 50px;
      font-size: 1.6rem;
      padding: 0 15px;
      line-height: 1.6;
      letter-spacing: .05rem;
      background-color: #f5f5f5;
      border-radius: 4px;
      border-style: solid;
      border-width: 0;
      outline: 0;
      -webkit-appearance: none; }
      .l-form dd input[type="text"]:focus, .l-form dd input[type="tel"]:focus, .l-form dd input[type="email"]:focus {
        border: 3px solid #333;
        background-color: #fff; }
    .l-form dd textarea {
      display: block;
      width: 100%;
      height: 200px;
      padding: 15px;
      font-size: 1.6rem;
      line-height: 1.6;
      letter-spacing: .05rem;
      background-color: #f5f5f5;
      border-radius: 4px;
      border-style: solid;
      border-width: 0;
      outline: 0;
      font-family: inherit;
      -webkit-appearance: none; }
      .l-form dd textarea:focus {
        border: 3px solid #333;
        background-color: #fff; }
    .l-form dd .is-error {
      color: #B94A48 !important;
      background: #F2DEDE !important;
      border: 1px solid #EED3D7 !important; }
    .l-form dd .error {
      font-size: 1.4rem;
      line-height: 1.8;
      color: #B70000;
      display: block;
      margin-top: 5px; }
  .l-form .c-btn--area {
    margin-top: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .l-form .c-btn--area .c-btn {
      border: none;
      margin: 0 10px;
      -webkit-appearance: none; }
  .l-form ._require {
    font-size: 1rem;
    color: #fff;
    padding: 2px 5px;
    margin-right: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .l-form ._require-red {
    background: #Fa0000; }
  .l-form ._require-gray {
    background: #aaa; }
  .l-form ._note {
    font-size: 1.4rem;
    line-height: 1.6;
    margin-top: 30px;
    display: block; }
  .l-form ._radio-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .l-form ._radio-box .mwform-radio-field {
      margin-left: 0; }
    .l-form ._radio-box label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin: 10px;
      -webkit-appearance: none; }
      .l-form ._radio-box label:last-child {
        margin-bottom: 0; }
      .l-form ._radio-box label input {
        display: none; }
      .l-form ._radio-box label span {
        position: relative;
        padding-left: 40px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .l-form ._radio-box label span:before, .l-form ._radio-box label span:after {
          display: block;
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          border-radius: 50%; }
        .l-form ._radio-box label span:before {
          left: 0;
          width: 25px;
          height: 25px;
          background-color: #f5f5f5; }
        .l-form ._radio-box label span:after {
          margin-top: 6px;
          left: 7px;
          width: 12px;
          height: 12px;
          background-color: #333;
          opacity: 0;
          -webkit-transition: opacity .25s ease;
          -o-transition: opacity .25s ease;
          transition: opacity .25s ease; }
      .l-form ._radio-box label input:checked + span:after {
        opacity: 1; }
  .l-form ._checkbox-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .l-form ._checkbox-box .mwform-checkbox-field {
      margin-left: 0; }
    .l-form ._checkbox-box label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
      -ms-flex-align: baseline;
      align-items: baseline;
      font-size: 1.6rem;
      line-height: 30px;
      margin: 10px 7px; }

/* ▽ SP layout ========== */
      @media only screen and (max-width: 639px) {
        .l-form ._checkbox-box label {
          font-size: 1.2rem; } }

/* ========== end △ */
      .l-form ._checkbox-box label span {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        cursor: pointer;
        display: inline-block;
        padding: 0px 12px;
        position: relative;
        width: auto;
        margin-top: -4px;
        padding-left: 35px; }
        .l-form ._checkbox-box label span:before {
          background: #fff;
          border: 1px solid #333;
          border-radius: 3px;
          content: '';
          display: block;
          height: 16px;
          left: 5px;
          margin-top: -10px;
          position: absolute;
          top: 50%;
          width: 16px; }

/* ▽ SP layout ========== */
          @media only screen and (max-width: 639px) {
            .l-form ._checkbox-box label span:before {
              height: 14px;
              width: 14px; } }

/* ========== end △ */
        .l-form ._checkbox-box label span:after {
          border-right: 6px solid  #333;
          border-bottom: 3px solid  #333;
          content: '';
          display: block;
          height: 20px;
          left: 7px;
          margin-top: -21px;
          opacity: 0;
          position: absolute;
          top: 50%;
          -webkit-transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(0.7, 0.7, 1);
          transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(0.7, 0.7, 1);
          -webkit-transition: opacity .2s ease-in-out, -webkit-transform .2s ease-in-out;
          transition: opacity .2s ease-in-out, -webkit-transform .2s ease-in-out;
          -o-transition: transform .2s ease-in-out, opacity .2s ease-in-out;
          transition: transform .2s ease-in-out, opacity .2s ease-in-out;
          transition: transform .2s ease-in-out, opacity .2s ease-in-out, -webkit-transform .2s ease-in-out;
          width: 9px; }
      .l-form ._checkbox-box label input[type="checkbox"] {
        display: none; }
        .l-form ._checkbox-box label input[type="checkbox"]:checked + span::before {
          border-color: #666; }
        .l-form ._checkbox-box label input[type="checkbox"]:checked + span::after {
          opacity: 1;
          -webkit-transform: rotate(45deg) scale3d(1, 1, 1);
          transform: rotate(45deg) scale3d(1, 1, 1); }

.p-recruit--application {
  margin-bottom: 50px; }
  .p-recruit--application h2 {
    font-size: 2.4rem;
    line-height: 1.6;
    text-align: center; }
  .p-recruit--application ._table {
    max-width: 950px;
    width: 100%;
    margin: 0 auto;
    margin-top: 50px; }
  .p-recruit--application dt {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 300px;
    flex: 0 0 300px;
    padding: 35px 25px;
    padding-left: 20px; }

/* ▽ PC-TAB layout ========== */
    @media print, screen and (max-width: 768px) {
      .p-recruit--application dt {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 250px;
        flex: 0 0 250px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .p-recruit--application dt {
        -webkit-box-flex: inherit;
        -ms-flex: inherit;
        flex: inherit;
        width: 100%;
        padding: 0;
        padding-left: 10px;
        padding-top: 10px; } }

/* ========== end △ */
  .p-recruit--application dd {
    padding: 35px 25px;
    padding-left: 20px; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .p-recruit--application dd {
        padding: 10px; } }

/* ========== end △ */
/* p-404
-------------------------------------------- */
.p-404 {
  background: #efefef;
  padding: 200px 0 100px; }
  .p-404_tlt {
    font-size: 3rem;
    line-height: 1.2;
    font-weight: bold;
    color: inherit;
    font-family: source-han-sans-japanese, sans-serif;
    margin-bottom: 30px; }
  .p-404 .txt_404 {
    margin-bottom: 30px; }

/* p-404
-------------------------------------------- */
.p-thanks {
  text-align: center; }
  .p-thanks_inner {
    width: 80%;
    margin: 0 auto;
    padding: 3rem;
    background: #fff;
    border-radius: 10px;
    text-align: center; }
  .p-thanks_icon {
    max-width: 120px;
    margin: 0 auto 30px; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .p-thanks_icon {
        max-width: 100px; } }

/* ========== end △ */
  .p-thanks .c-btn {
    margin: 0 auto; }

.mt-breadcrumb {
  margin-top: 60px; }

.l-newsSingle .headline {
  margin-bottom: 20px; }
  .l-newsSingle .headline h1 {
    font-size: 3rem;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: .05rem; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-newsSingle .headline h1 {
        font-size: 1.8rem; } }

/* ========== end △ */
.l-newsSingle .date {
  margin-bottom: 30px; }
  .l-newsSingle .date p {
    display: block;
    margin: 0 auto 0 0;
    font-size: 1.6rem;
    color: #666;
    line-height: 1;
    letter-spacing: .14rem; }

/* ▽ SP layout ========== */
    @media only screen and (max-width: 639px) {
      .l-newsSingle .date p {
        font-size: 1.2rem; } }

/* ========== end △ */
@-webkit-keyframes bg-animation-first {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); } }

@keyframes bg-animation-first {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); } }

@-webkit-keyframes bg-animation-first-reverse {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }

@keyframes bg-animation-first-reverse {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }

@-webkit-keyframes bg-animation-second {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); } }

@keyframes bg-animation-second {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); } }

@-webkit-keyframes bg-animation-second-reverse {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }

@keyframes bg-animation-second-reverse {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }

@-webkit-keyframes hover {
  0%, 100% {
    color: #fff; }
  50% {
    color: #fff; } }

@keyframes hover {
  0%, 100% {
    color: #fff; }
  50% {
    color: #fff; } }

@-webkit-keyframes hover-in {
  0% {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1); }
  100% {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); } }

@keyframes hover-in {
  0% {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1); }
  100% {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-webkit-keyframes hover-out {
  0% {
    -webkit-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); }
  100% {
    -webkit-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1); } }

@keyframes hover-out {
  0% {
    -webkit-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); }
  100% {
    -webkit-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1); } }

@-webkit-keyframes BackgroundAnime {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }

@keyframes BackgroundAnime {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }

.mw_wp_form_input .c-btn--prev{
	display:none;
}
.hoverStyle_01 button{
	    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: none;
    background: transparent;
    font-size: 1.6rem;
    color: #fff;
}
.hoverStyle_01:hover button{
	color:#333;
}
.hoverStyle_01 input{
	    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: none;
    background: transparent;
    font-size: 1.6rem;
    color: #fff;
}
.hoverStyle_01:hover input{
	color:#333;
}