@charset "UTF-8";
/*---------------------------------------------*/
/* 設定開始                                    */
/*---------------------------------------------*/
/*---------------------------------------------*/
/* webfont load                                */
/*---------------------------------------------*/
@font-face {
  font-family: 'fontawesome';
  src: url("../fonts/fa-brands-400.eot");
  src: url("../fonts/fa-brands-400.eot") format("embedded-opentype"), url("../fonts/fa-brands-400.woff2") format("woff2"), url("../fonts/fa-brands-400.woff") format("woff"), url("../fonts/fa-brands-400.ttf") format("truetype"), url("../fonts/fa-brands-400.svg") format("svg");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'fontawesome-s';
  src: url("../fonts/fa-solid-900.eot");
  src: url("../fonts/fa-solid-900.eot") format("embedded-opentype"), url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.woff") format("woff"), url("../fonts/fa-solid-900.ttf") format("truetype"), url("../fonts/fa-solid-900.svg") format("svg");
  font-weight: normal;
  font-style: normal; }
/*---------------------------------------------*/
/* morisawa font load                          */
/*---------------------------------------------*/
/*UDフォント*/
@font-face {
  font-family: a-otf-ud-shin-go-pr6n,sans-serif;
  font-weight: 300;
  font-style: normal; }
@font-face {
  font-family: fot-udkakugo-large-pr6n,sans-serif;
  font-weight: 600;
  font-style: normal; }
/*---------------------------------------------*/
/* SCSS Load                                   */
/*---------------------------------------------*/
/*基本*/
html {
  width: 100%;
  height: 100%;
  font-size: 62.5%; }

body {
  width: 100%;
  height: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 175%;
  font-family: a-otf-ud-shin-go-pr6n,"游ゴシック体", "游ゴシック", YuGothic, メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
  color: #000;
  background-color: #FFF;
  /*#dedad4*/ }

/*-----------------------------------*/
/* iphone対策                        */
/*-----------------------------------*/
body {
  height: 100vh; }

/* Safari用のハックは、Chromeに適用されないようにする */
@supports (-webkit-touch-callout: none) {
  body {
    /* Safari用のハック */
    height: -webkit-fill-available; } }
/*------------------------------------*/
.float-clear {
  clear: both; }

a {
  color: #000;
  text-decoration: none; }

a:hover {
  color: red;
  text-decoration: none; }

hr {
  border-top-color: #CCCCCC;
  border-right-color: #CCCCCC;
  border-bottom-color: #CCCCCC;
  border-left-color: #CCCCCC;
  margin-top: 10px;
  margin-bottom: 10px; }

/*スペース*/
.bt-sp10 {
  margin-bottom: 10px !important; }

.bt-sp20 {
  margin-bottom: 20px !important; }

.bt-sp30 {
  margin-bottom: 30px !important; }

.bt-sp40 {
  margin-bottom: 40px !important; }

.bt-sp80 {
  margin-bottom: 80px !important; }

/*グリッドシステムのガター調整*/
.row-0 {
  margin-left: 0px;
  margin-right: 0px; }
  .row-0 > div {
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px; }

.row-10 {
  margin-left: -5px;
  margin-right: -5px; }
  .row-10 > div {
    padding-right: 5px;
    padding-left: 5px;
    padding-bottom: 10px; }

.row-20 {
  margin-left: -10px;
  margin-right: -10px; }
  .row-20 > div {
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 20px; }

.row-30 {
  margin-left: -15px;
  margin-right: -15px; }
  .row-30 > div {
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 30px; }

/*比率を保って拡大・縮小処理*/
.photo-area {
  overflow: hidden;
  position: relative; }
  .photo-area img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto; }

.ratio-1_1:before {
  content: "";
  display: block;
  padding-top: 100%;
  /* 1:1 */ }

.ratio-7_3:before {
  content: "";
  display: block;
  padding-top: 30%;
  /* 7:3 */ }

.ratio-8_2:before {
  content: "";
  display: block;
  padding-top: 20%;
  /* 8:2 */ }

.ratio-1_2:before {
  content: "";
  display: block;
  padding-top: 200%;
  /* 1:2 */ }

.ratio-4_3:before {
  content: "";
  display: block;
  padding-top: 75%;
  /* 4:3 */ }

.ratio-16_9:before {
  content: "";
  display: block;
  padding-top: 56.25%;
  /* 16:9 */ }

.ratio-8_5:before {
  content: "";
  display: block;
  padding-top: 62.5%;
  /* 8:5 ≒ 黄金比 */ }

.ratio-1_1,
.ratio-7_3,
.ratio-8_2,
.ratio-1_2,
.ratio-4_3,
.ratio-16_9,
.ratio-8_5 {
  position: relative;
  overflow: hidden; }

/*.ratio-1_1 > img,
.ratio-7_3 > img,
.ratio-8_2 > img,
.ratio-1_2 > img,
.ratio-4_3 > img,
.ratio-16_9 > img,
.ratio-8_5 > img {
	position: absolute;
	top: 0;
	left: 0;
}*/
/*---------------------------------------------*/
/*追加グリッド                                 */
/*---------------------------------------------*/
.col-xs-15,
.col-sm-15,
.col-md-15,
.col-lg-15 {
  position: relative;
  min-height: 1px; }

.col-xs-15 {
  -ms-flex: 0 0 20%;
  flex: 0 0 20%;
  max-width: 20%; }

@media (min-width: 768px) {
  .col-sm-15 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; } }
@media (min-width: 992px) {
  .col-md-15 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; } }
@media (min-width: 1200px) {
  .col-lg-15 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; } }
/*---------------------------------------------*/
/*白テーブル                                   */
/*---------------------------------------------*/
.table-wite {
  background-color: #FFF; }

.table-wite th {
  background-color: #CCC; }

.table-wite th,
.table-wite td {
  border-color: #000 !important; }

/*---------------------------------------------*/
/*通常リスト                                   */
/*---------------------------------------------*/
.nomal-ul > li {
  margin-bottom: 20px; }

/*---------------------------------------------*/
/*リストをテーブル化                           */
/*---------------------------------------------*/
.list-table {
  display: block;
  padding: 0px;
  list-style: none; }
  .list-table li {
    width: 100%;
    display: table; }
    .list-table li > div:first-child {
      display: table-cell;
      padding: 10px; }
    .list-table li > div:last-child {
      display: table-cell;
      padding: 10px; }

.cell100 {
  width: 100px; }

.cell200 {
  width: 200px; }

.history-table > li {
  border-bottom: 1px solid #CCC; }
  .history-table > li > div:first-child {
    text-align: right;
    width: 14rem; }

.repon-table input[type="text"],
.repon-table input[type="email"],
.repon-table textarea {
  width: 100%; }

.form-button input[type="submit"],
.form-button input[type="button"] {
  display: inline-block;
  padding: 10px 20px 10px 20px;
  margin: 10px;
  background-color: #000;
  color: #FFF; }

@media only screen and (min-width: 992px) {
  .repon-table {
    display: block;
    padding: 0px;
    list-style: none; }
    .repon-table li {
      width: 100%;
      display: table; }
      .repon-table li > div:first-child {
        display: table-cell;
        padding: 10px; }
      .repon-table li > div:last-child {
        display: table-cell;
        padding: 10px; } }
@media only screen and (max-width: 991px) {
  .repon-table {
    display: block;
    padding: 0px;
    list-style: none; }
    .repon-table li {
      margin-bottom: 20px; }

  .form-button input[type="submit"],
  .form-button input[type="button"] {
    display: block;
    width: 100%;
    margin: 10px 0px 10px 0px; } }
/*---------------------------------------*/
/* youtube                               */
/*---------------------------------------*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 62.5%; }

.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/*---------------------------------------------*/
/* PC・スマホ共通用                            */
/*---------------------------------------------*/
#header-wrap {
  position: fixed;
  top: 0;
  left: auto;
  right: auto;
  width: 100%;
  z-index: 90;
  background-color: #FFF;
  transition: 0.5s;
  -webkit-transition: 0.5s; }
  #header-wrap #header-in h1 {
    display: block;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1;
    margin: 0px; }
  #header-wrap #header-in #web-seite-name {
    padding: 0px;
    margin-left: 15px;
    width: 200px;
    transition: 1s;
    -webkit-transition: 1s;
    line-height: 1px;
    transform-origin: top left;
    /*起点*/ }
    #header-wrap #header-in #web-seite-name a {
      line-height: 1px; }

#menu {
  display: flex; }

#main-nav a {
  color: #000; }

/*---------------------------------------------*/
/* PC用                                        */
/*---------------------------------------------*/
@media (min-width: 992px) {
  #header-in h1 {
    position: absolute;
    top: 5px;
    left: 15px; }
  #header-in .header-area {
    display: flex;
    margin-top: 30px; }
    #header-in .header-area #main-nav {
      margin-left: auto;
      width: 70%; }

  .h-active {
    top: -20px !important; }
    .h-active h1 {
      display: none !important; }
    .h-active #web-seite-name {
      transform: scale(0.8); }
    .h-active #main-nav a {
      color: #000; }

  .menu > ul {
    display: table;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0; }
    .menu > ul > li {
      position: relative;
      display: table-cell;
      text-align: center;
      list-style: none;
      width: 20%; }
      .menu > ul > li:nth-child(2):hover {
        background: linear-gradient(to right, #4BC0C8, #7ea5ca); }
      .menu > ul > li:nth-child(3):hover {
        background: linear-gradient(to right, #7ea4c9, #ae89cc); }
      .menu > ul > li:nth-child(4):hover {
        background: linear-gradient(to right, #ae89cc, #d185b9); }
      .menu > ul > li:nth-child(5):hover {
        background: linear-gradient(to right, #d185b9, #e7988f); }
      .menu > ul > li:nth-child(6):hover {
        background: linear-gradient(to right, #e7988f, #fdaa65); }
      .menu > ul > li:hover > span > a {
        background-color: transparent; }

  .menu > ul > li > ul li:hover {
    background-color: rgba(255, 255, 255, 0.3); }

  .menu > ul > li > ul {
    display: none;
    z-index: 2; }

  .menu > ul > li:nth-child(2) ul {
    background: linear-gradient(to right, #4BC0C8, #7ea5ca); }
  .menu > ul > li:nth-child(3) ul {
    background: linear-gradient(to right, #7ea4c9, #ae89cc); }
  .menu > ul > li:nth-child(4) ul {
    background: linear-gradient(to right, #ae89cc, #d185b9); }
  .menu > ul > li:nth-child(5) ul {
    background: linear-gradient(to right, #d185b9, #e7988f); }
  .menu > ul > li:nth-child(6) ul {
    background: linear-gradient(to right, #e7988f, #fdaa65); }

  /*.menu > ul > li > ul,
  .menu > ul > li > ul li ul {
  	background-color:$nav1hoverCL;
  }*/
  .menu a {
    display: block;
    text-decoration: none; }

  /*親要素のボタン制御*/
  .menu ul > li > span > a {
    display: block;
    padding-bottom: 10px;
    padding-top: 10px; }

  /*子要素設定*/
  .menu > ul > li:hover > ul {
    width: 100%;
    transition: 0s ease 0.5s;
    display: block;
    animation-name: fade-in1;
    animation-duration: 0.5s;
    animation-timing-function: ease-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards; }

  @keyframes fade-in1 {
    0% {
      opacity: 0; }
    100% {
      opacity: 1; } }
  *::-ms-backdrop, .menu > ul > li:hover > ul {
    opacity: 1;
    display: block; }

  .menu > ul > li > ul,
  .menu > ul > li > ul li ul {
    width: 100%;
    opacity: 0;
    position: absolute;
    margin: 0;
    padding: 0;
    transition: 0s ease 0s;
    box-sizing: border-box;
    list-style: none; }

  .menu > ul > li > ul > li {
    position: relative; }

  .menu > ul > li > ul > li:hover ul {
    width: 100%;
    opacity: 1;
    transition: 0s ease 0s;
    left: 100%;
    top: 0;
    position: absolute; }

  /*子要素のボタン制御*/
  .menu ul > li > span > ul > li > a {
    overflow: hidden; }

  /*子要素のボタン*/
  .menu ul > li > ul > li > span a {
    padding-left: 10px;
    padding-right: 10px;
    text-align: left;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5; }

  /*ホバー時に下に線を出す*/
  .menu ul li {
    position: relative; }

  .menu ul a:after {
    position: absolute;
    bottom: 0;
    right: 0;
    content: "";
    width: 0;
    height: 1px;
    opacity: 0.6;
    background-color: #FFF;
    transition: width 0.2s ease-out; }

  .menu ul a:hover:after {
    left: 0;
    right: auto;
    width: 100%; } }
/*-------------------------------------*/
/* スマホ用メニュー                    */
/*-------------------------------------*/
.menu-mobile {
  display: none; }

@media only screen and (max-width: 991px) {
  #header-wrap {
    height: 70px;
    overflow: hidden; }

  #header-in h1 {
    display: none !important; }
  #header-in #web-seite-name {
    position: fixed;
    top: 15px;
    z-index: 99; }

  .h-active {
    animation: bganime 0.5s forwards; }

  /*スマホメニュー表示ボタンが押された時*/
  html.nav-active #header-wrap {
    height: 100vh; }

  html.nav-active .menu {
    position: fixed;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    z-index: 98;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    overflow-x: hidden;
    overflow-y: scroll;
    background: #FFF;
    page-break-after: 70px; }

  html.nav-active body {
    overflow: hidden; }

  html.nav-active #wrapper {
    position: fixed; }

  /*スマホメニュー以外を隠すマスク*/
  html.nav-active .nav-mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 97;
    background-color: rgba(255, 255, 255, 0.8);
    /*ボカシ効果をつけるときはbackground-colorを透明にしてここをコメントアウト
    filter: blur(4px);
    -webkit-filter: blur(4px);
    -moz-filter: blur(4px);
    */ }

  /*スマホメニュー表示ボタン*/
  .menu-mobile {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 70px;
    height: 70px;
    z-index: 99;
    cursor: pointer;
    background-color: #000; }

  #common-nav-switch-in {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 17px;
    margin: -8px 0 0 -15px; }

  #common-nav-switch-in .bar {
    position: absolute;
    left: 0;
    width: 30px;
    height: 1px;
    transition: all 0.4s ease 0s;
    -webkit-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    -ms-transition: all 0.4s ease 0s;
    background: #FFF; }

  .nav-active #common-nav-switch {
    background: #000; }

  .nav-active #common-nav-switch .bar {
    -webkit-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    background: #FFF !important; }

  #common-nav-switch-in .bar.bar01 {
    top: 0; }

  #common-nav-switch-in .bar.bar02 {
    top: 8px; }

  #common-nav-switch-in .bar.bar03 {
    top: 16px; }

  /* スマホメニューcloes ボタン化　*/
  .nav-active #common-nav-switch-in .bar.bar01 {
    -webkit-transform: rotate(45deg) translate(0px, -7px);
    -moz-transform: rotate(45deg) translate(0px, -7px);
    -o-transform: rotate(45deg) translate(0px, -7px);
    -ms-transform: rotate(45deg) translate(0px, -7px);
    transform: rotate(45deg) translate(0px, -7px); }

  .nav-active #common-nav-switch-in .bar.bar02 {
    display: none; }

  .nav-active #common-nav-switch-in .bar.bar03 {
    -webkit-transform: rotate(-45deg) translate(3px, 3px);
    -moz-transform: rotate(-45deg) translate(3px, 3px);
    -o-transform: rotate(-45deg) translate(3px, 3px);
    -ms-transform: rotate(-45deg) translate(3px, 3px);
    transform: rotate(-45deg) translate(3px, 3px); }

  /*スマホメニューの見た目設定*/
  .menu-container {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99; }

  .menu > ul {
    margin-top: 0;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
    width: 100%;
    list-style: none;
    padding: 0;
    padding-top: 70px;
    position: relative;
    box-sizing: border-box;
    /*height: 100%;*/
    /*overflow-x: hidden;
    overflow-y: scroll;*/ }

  .menu > ul > li {
    float: left;
    padding: 0;
    margin: 0;
    background: #FFF;
    border-top: 1px solid #DDD; }

  .menu > ul > li:last-child {
    border-bottom: 1px solid #DDD; }

  .menu > ul > li a {
    text-decoration: none;
    padding: 1.5em 3em;
    display: block;
    color: #000; }

  .menu > ul > li:hover {
    background: #666; }

  .menu > ul > li > ul,
  .menu > ul > li > ul > li ul {
    display: none;
    width: 100%;
    position: absolute;
    z-index: 99;
    left: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
    background: #f1ede4; }

  .menu > ul > li > ul li {
    border-top: 1px solid #DDD; }

  .menu-container {
    width: 100%; }

  .menu-dropdown-icon:before {
    display: block; }

  .menu > ul {
    display: none;
    /*フェードさせたい時はここを無効化*/ }

  .menu > ul li {
    width: 100%;
    float: none;
    display: block; }

  .menu > ul li > span {
    position: relative;
    display: table;
    width: 100%; }

  .sp-gnav-layer-btn {
    display: table-cell;
    width: 40px;
    cursor: pointer;
    -moz-transition: background-color .2s linear;
    -webkit-transition: background-color .2s linear;
    -o-transition: background-color .2s linear;
    -ms-transition: background-color .2s linear;
    transition: background-color .2s linear;
    border-left: solid 1px #DDD;
    border-bottom: solid 1px #DDD;
    background-color: red; }

  .sp-gnav-layer-btn:before {
    content: "";
    position: absolute;
    display: block;
    width: 16px;
    height: 2px;
    top: 50%;
    right: 12px;
    margin: -1px 0 0;
    background-color: #FFF; }

  .sp-gnav-layer-btn:after {
    content: "";
    position: absolute;
    display: block;
    width: 2px;
    height: 16px;
    top: 50%;
    right: 19px;
    margin: -8px 0 0;
    -moz-transition: -moz-transform .2s linear;
    -webkit-transition: -webkit-transform .2s linear;
    -o-transition: -o-transform .2s linear;
    -ms-transition: -ms-transform .2s linear;
    transition: transform .2s linear;
    background-color: #FFF; }

  .sp-gnav-layer-btn.current:after {
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg); }

  .menu > ul li a {
    padding: 1.5em;
    width: 100%;
    display: block; }

  .menu > ul li ul {
    position: relative; }

  .menu > ul li ul.normal-sub {
    width: 100%; }

  .menu > ul li ul li {
    float: none;
    width: 100%; }

  .menu > ul li ul li:first-child {
    margin: 0; }

  .menu > ul li ul li ul {
    position: relative; }

  .menu > ul li ul li ul li {
    float: none; }

  .menu .show-on-mobile {
    display: block !important; } }
/*---------------------------------------------*/
/* サブナビ                                    */
/*---------------------------------------------*/
@media only screen and (min-width: 992px) {
  #sub-nav {
    display: flex;
    justify-content: flex-end;
    margin-right: 15px;
    margin-bottom: 5px; }
    #sub-nav ul {
      display: table;
      padding-left: 0px;
      border-collapse: separate;
      border-spacing: 20px 0;
      margin-right: -10px;
      margin-bottom: 0px; }
      #sub-nav ul li {
        list-style: none;
        display: table-cell;
        font-size: 12px;
        font-size: 1.2rem; }
        #sub-nav ul li a {
          color: gray; }
          #sub-nav ul li a:hover {
            color: red; } }
@media only screen and (max-width: 991px) {
  #sub-nav {
    display: none;
    order: 2; }

  #main-content-list {
    order: 1; } }
/*ボタンスタイル*/
/* ボタン関連 */
.btn-nomal {
  display: inline-block;
  background-color: #CCC;
  color: #000;
  border-radius: 25px;
  padding: 10px 15px 10px 15px;
  background-size: 200% 100%;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #CCC), color-stop(50%, red));
  background-image: linear-gradient(to right, #CCC 50%, red 50%);
  -webkit-transition: background-position 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s, color 0.5s ease 0s, background-color 0.5s ease;
  transition: background-position 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s, color 0.5s ease 0s, background-color 0.5s ease; }
  .btn-nomal:after {
    content: "\f0a9";
    font-family: 'fontawesome-s';
    margin-left: 10px; }

.btn-nomal:hover {
  color: #FFF;
  background-color: red;
  background-position: -100% 100%; }

@media only screen and (max-width: 991px) {
  .btn-nomal {
    display: block;
    text-align: center; } }
/*シンプルリンク*/
.btn-smiple {
  display: inline-block; }
  .btn-smiple:after {
    content: "\f0a9";
    font-family: 'fontawesome-s';
    margin-left: 10px; }

/*お問い合わせボタン*/
.btn-contact:before {
  content: "\f0e0";
  font-family: 'fontawesome-s';
  margin-right: 10px; }
.btn-contact:after {
  display: none; }

.border-gradient {
  border-image-slice: 1;
  border-width: 2px;
  border-style: outset;
  padding: 10px; }

.border-gradient-purple {
  border-image: linear-gradient(to left, #743ad5, #d53a9d); }

.border-gradient-green {
  border-image: linear-gradient(to left, #00C853, #B2FF59); }

.btn-drop {
  background-color: #000;
  display: inline-block;
  margin-left: 5px;
  margin-top: 5px;
  padding: 10px;
  position: relative; }
  .btn-drop:after {
    content: "";
    position: absolute;
    z-index: -1;
    display: block;
    background-color: #000;
    width: 100%;
    height: 100%;
    bottom: -5px;
    right: -5px;
    -webkit-filter: blur(3px);
    filter: blur(3px);
    transition: 0.2s;
    -webkit-transition: 0.2s; }
  .btn-drop:hover:after {
    transform: translate(-10px, -10px);
    -webkit-filter: blur(1px);
    filter: blur(1px);
    background-color: #999; }

/*---------------------------------------------*/
/*上に戻るボタン                               */
/*---------------------------------------------*/
.page-top {
  display: none;
  width: 50px;
  height: 50px;
  position: fixed;
  padding: 10px;
  z-index: 99;
  bottom: 0px;
  right: 0px;
  background-color: #000;
  cursor: pointer; }

.page-top:hover {
  background-color: red; }

.page-top:before {
  font-family: 'fontawesome-s';
  content: "\f062";
  color: #FFFFFF;
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  font-size: 20px;
  margin-left: -10px;
  margin-top: -10px; }

/*-------------------------------------------*/
/* laoding                                   */
/*-------------------------------------------*/
#loader-bg {
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  color: #000;
  z-index: 9999;
  overflow: hidden;
  background-color: #FFF; }

#loader {
  display: block;
  position: fixed;
  width: 100px;
  height: 100px;
  text-align: center;
  z-index: 10000;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }
  #loader:after {
    content: "Now Loading";
    font-size: 14px; }

#wrapper {
  visibility: hidden; }

.sk-circle {
  margin: 10px auto;
  width: 70px;
  height: 70px;
  position: relative; }
  .sk-circle .sk-child {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }
  .sk-circle .sk-child:before {
    content: '';
    display: block;
    margin: 0 auto;
    width: 15%;
    height: 15%;
    background-color: #000;
    border-radius: 100%;
    animation: sk-circleBounceDelay 1.2s infinite ease-in-out both; }
  .sk-circle .sk-circle2 {
    transform: rotate(30deg); }
  .sk-circle .sk-circle3 {
    transform: rotate(60deg); }
  .sk-circle .sk-circle4 {
    transform: rotate(90deg); }
  .sk-circle .sk-circle5 {
    transform: rotate(120deg); }
  .sk-circle .sk-circle6 {
    transform: rotate(150deg); }
  .sk-circle .sk-circle7 {
    transform: rotate(180deg); }
  .sk-circle .sk-circle8 {
    transform: rotate(210deg); }
  .sk-circle .sk-circle9 {
    transform: rotate(240deg); }
  .sk-circle .sk-circle10 {
    transform: rotate(270deg); }
  .sk-circle .sk-circle11 {
    transform: rotate(300deg); }
  .sk-circle .sk-circle12 {
    transform: rotate(330deg); }
  .sk-circle .sk-circle2:before {
    animation-delay: -1.1s; }
  .sk-circle .sk-circle3:before {
    animation-delay: -1s; }
  .sk-circle .sk-circle4:before {
    animation-delay: -0.9s; }
  .sk-circle .sk-circle5:before {
    animation-delay: -0.8s; }
  .sk-circle .sk-circle6:before {
    animation-delay: -0.7s; }
  .sk-circle .sk-circle7:before {
    animation-delay: -0.6s; }
  .sk-circle .sk-circle8:before {
    animation-delay: -0.5s; }
  .sk-circle .sk-circle9:before {
    animation-delay: -0.4s; }
  .sk-circle .sk-circle10:before {
    animation-delay: -0.3s; }
  .sk-circle .sk-circle11:before {
    animation-delay: -0.2s; }
  .sk-circle .sk-circle12:before {
    animation-delay: -0.1s; }

@keyframes sk-circleBounceDelay {
  0%, 80%, 100% {
    transform: scale(0); }
  40% {
    transform: scale(1); } }
/*センター要素*/
.fullcenter {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

/*---------------------------------------------*/
/* 見出し                                      */
/*---------------------------------------------*/
h1 {
  font-size: 46px;
  font-size: 4.6rem;
  line-height: 1.2; }

h2 {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.25; }

h3 {
  font-size: 30px;
  font-size: 3.0rem;
  line-height: 1.3; }

h4 {
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.35; }

h5 {
  font-size: 20px;
  font-size: 2.0rem;
  line-height: 1.4; }

h6 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.45; }

@media (max-width: 1200px) {
  h2 {
    font-size: calc(1.525rem + 1.8vw);
    word-wrap: break-word;
    overflow-wrap: break-word; }

  h4 {
    font-size: calc(1.525rem + 0.5vw); } }
/*グラデ文字*/
.grad-text {
  background: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

/*IEハック*/
*::-ms-backdrop, .grad-text {
  background: white;
  filter: alpha(opacity=50);
  background: rgba(255, 255, 255, 0.5); }

/*---------------------------------------------*/
/* 中ページ見出し                              */
/*---------------------------------------------*/
article h4 {
  padding-bottom: 10px;
  letter-spacing: 0.1rem;
  position: relative;
  margin-bottom: 20px; }
  article h4:after {
    content: "";
    width: 100%;
    padding-top: 1px;
    background: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);
    position: absolute;
    left: 0;
    bottom: 0; }
article h6 {
  font-weight: bold; }

/*---------------------------------------------*/
/* 最大幅で活用                                */
/*---------------------------------------------*/
.container-full {
  width: 100%;
  overflow: hidden; }

.max-img {
  width: 100%;
  height: auto; }

/*---------------------------------------------*/
/* メインビジュアル                            */
/*---------------------------------------------*/
#mainvisi-section .title-div {
  position: relative;
  overflow: hidden;
  max-height: 300px; }
  #mainvisi-section .title-div:before {
    content: "";
    padding-top: 300px;
    display: block; }
  #mainvisi-section .title-div img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  #mainvisi-section .title-div h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #FFF;
    padding-top: 111px;
    letter-spacing: 0.2em;
    text-shadow: 2px 2px 4px rgba(255, 0, 0, 0.5), -2px 2px 4px rgba(0, 255, 0, 0.5), 2px -2px 4px rgba(0, 0, 255, 0.5), -2px -2px 4px rgba(255, 255, 255, 0.5), 2px 0px 4px rgba(255, 0, 0, 0.5), 0px 2px 4px rgba(0, 255, 0, 0.5), -2px 0px 4px rgba(0, 0, 255, 0.5), 0px -2px 4px rgba(255, 255, 255, 0.5); }

@media only screen and (max-width: 991px) {
  #mainvisi-section .title-div h2 {
    padding-top: 70px;
    width: 100%;
    text-align: center; } }
/*ページタイトル*/
.contpage {
  border: none;
  border-top: 0px;
  border-left: 0px;
  border-right: 0px;
  margin-bottom: 20px;
  border-bottom: 1px solid;
  border-image: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);
  border-image-slice: 1; }

@media only screen and (max-width: 991px) {
  .contpage {
    margin-bottom: 40px; } }
.page-title {
  padding: 20px 0px 20px 0px;
  display: block;
  	/*margin-bottom: 20px;
  	border-bottom: 1px solid;
      border-image: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);
      border-image-slice: 1;*/ }

/*---------------------------------------------*/
/* Swiper変更                                  */
/*---------------------------------------------*/
.swiper-slide img {
  width: 100%;
  height: auto; }

.swiper-pagination-bullet-active {
  background: #000 !important; }

.button-next {
  width: 50px;
  height: 90px;
  right: 0px;
  z-index: 2;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.6);
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%); }
  .button-next:before {
    content: '';
    width: 30px;
    height: 30px;
    border: 0px;
    right: 15px;
    margin-top: 30px;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute; }

.button-prev {
  width: 50px;
  height: 90px;
  left: 0px;
  z-index: 2;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.6);
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%); }
  .button-prev:before {
    content: '';
    width: 30px;
    height: 30px;
    left: 15px;
    border: 0px;
    margin-top: 30px;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    -ms-transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    position: absolute; }

/*---------------------------------------------*/
/*パンくずスタイル上書き                       */
/*---------------------------------------------*/
.breadcrumb {
  padding: 0;
  margin-bottom: 0;
  background-color: transparent;
  border-radius: 0;
  font-size: 10px;
  font-size: 1.0rem; }
  .breadcrumb li:not(:last-child) {
    margin-right: 10px; }

/*---------------------------------------------*/
/* footer                                      */
/*---------------------------------------------*/
footer {
  margin-top: 40px;
  padding-top: 10px;
  background-color: #FFF;
  color: #666; }
  footer a {
    color: #666; }
  @media only screen and (min-width: 992px) {
    footer #footer-menu {
      display: table;
      margin-bottom: 20px;
      margin-left: -10px;
      width: 100%;
      list-style: none;
      padding-left: 0px;
      border-collapse: separate;
      border-spacing: 10px 0; }
      footer #footer-menu > li {
        display: table-cell;
        width: 20%; }
        footer #footer-menu > li ul {
          padding-left: 0px;
          list-style: none;
          font-size: 12px;
          font-size: 1.2rem; }
    footer #footer-sub-menu {
      display: table;
      list-style: none;
      padding-left: 0px;
      margin-left: -20px;
      border-collapse: separate;
      border-spacing: 20px 0; }
      footer #footer-sub-menu > li {
        list-style: none;
        display: table-cell;
        font-size: 14px;
        font-size: 1.4rem; } }
  @media only screen and (max-width: 991px) {
    footer #footer-menu {
      margin-bottom: 0px;
      width: 100%;
      list-style: none;
      padding-left: 0px; }
      footer #footer-menu a {
        display: block;
        padding: 5px;
        color: #999999; }
      footer #footer-menu > li {
        padding-left: 15px;
        padding-right: 15px;
        margin-left: -15px;
        margin-right: -15px;
        background-color: #333;
        margin-bottom: 1px; }
        footer #footer-menu > li ul {
          padding-left: 0px;
          list-style: none;
          font-size: 14px;
          font-size: 1.4rem;
          margin-bottom: 0px; }
          footer #footer-menu > li ul li {
            margin-right: -15px;
            margin-bottom: 1px;
            padding-left: 15px;
            background-color: #444444; }
            footer #footer-menu > li ul li li {
              padding-left: 15px;
              margin-right: 0px;
              margin-bottom: 1px;
              background-color: #666666; }
    footer #footer-sub-menu {
      list-style: none;
      padding-left: 0px; }
      footer #footer-sub-menu > li {
        font-size: 14px;
        font-size: 1.4rem; } }
  footer small {
    display: block;
    background-color: #CCC; }

/*---------------------------------------------*/
/* 共通項目                                    */
/*---------------------------------------------*/
#main-wrap > section {
  overflow: hidden; }
  #main-wrap > section:nth-of-type(even) {
    background-color: #ebebeb; }

.padding-tb40 {
  padding: 40px 0px 40px 0px; }

.container figure {
  margin-bottom: 0px; }
  .container figure.float-left {
    margin-right: 15px;
    margin-bottom: 10px; }
  .container figure.float-right {
    margin-left: 15px;
    margin-bottom: 10px; }

.nomal-dl-list dt {
  margin-bottom: 5px; }
.nomal-dl-list dd {
  margin-bottom: 20px;
  margin-left: 2rem; }

/*お問い合わせBOX*/
.contact-box {
  padding: 10px 10px 0px 10px;
  border: 1px solid #999; }
  .contact-box a[href^="tel:"] {
    font-size: 20px;
    font-size: 2.0rem; }
    .contact-box a[href^="tel:"]:before {
      content: "TEL:";
      padding-right: 5px; }

/*線付きBOX*/
.line-box {
  padding: 10px;
  display: block;
  border: 1px solid;
  border-image: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);
  border-image-slice: 1; }

@media only screen and (min-width: 992px) {
  .no-br_pc {
    display: none; }

  a[href^="tel:"] {
    pointer-events: none; } }
@media only screen and (max-width: 991px) {
  .no-br br,
  br.no-br {
    display: none; } }
/*写真*/
.photo-figure {
  position: relative;
  overflow: hidden; }
  .photo-figure img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .photo-figure figcaption {
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    padding: 10px;
    line-height: 100%;
    background-color: rgba(255, 255, 255, 0.6); }

/*カテゴリーナビゲーション*/
#cate-nav .cat-menu {
  position: relative; }
  #cate-nav .cat-menu figure {
    display: block;
    position: relative;
    overflow: hidden;
    margin-bottom: 10px; }
    #cate-nav .cat-menu figure:before {
      content: "";
      width: 100%;
      padding-top: 50%;
      display: block; }
    #cate-nav .cat-menu figure img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: auto;
      display: block; }
  #cate-nav .cat-menu h6 {
    border-bottom: 1px solid #c2c2c2;
    padding-bottom: 5px; }
  #cate-nav .cat-menu p {
    color: #888; }

@media only screen and (min-width: 992px) {
  #cate-nav .cat-menu a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block; }
    #cate-nav .cat-menu a:hover {
      opacity: 0.3;
      background: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E); } }
@media only screen and (max-width: 991px) {
  #cate-nav .cat-menu {
    padding: 10px;
    border: 1px solid #999; }
    #cate-nav .cat-menu a:after {
      content: "詳しく見る";
      display: block;
      padding: 10px;
      text-align: center;
      background-color: #CCC;
      border-radius: 50px; } }
.bg-white50 {
  background-color: rgba(255, 255, 255, 0.7);
  padding: 20px; }

p.small {
  line-height: 150%; }

.bg-photo {
  width: 100%;
  position: relative;
  overflow: hidden; }
  .bg-photo img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    display: block; }

/*---------------------------------------------*/
/* カテゴリーカラー                               */
/*---------------------------------------------*/
a.com_c {
  background-color: #7ea4c9 !important; }

a.rec_c {
  background-color: #FEAC5E !important; }

a.sus_c {
  background-color: #d185b9 !important; }

a.pro_c {
  background-color: #ae89cc !important; }

/*---------------------------------------------*/
/* トップページスタイル                        */
/*---------------------------------------------*/
/*メインビジュアル*/
#mainvisi-section {
  margin-bottom: 80px; }

#first-view {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh; }
  #first-view:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(45deg, #4BC0C8, #C779D0, #FEAC5E);
    opacity: 0.4;
    z-index: 1; }
  #first-view #main-copy {
    position: absolute;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 2; }
    #first-view #main-copy h2 {
      font-family: fot-udkakugo-large-pr6n,sans-serif;
      opacity: 0;
      padding: 0px 40px 0px 40px;
      text-shadow: 0px 0px 10px #fff; }
      #first-view #main-copy h2 span {
        opacity: 0; }
  #first-view .sp-1rem {
    letter-spacing: 1rem; }

/*スクロールボタン*/
.go-contents {
  position: absolute;
  cursor: pointer;
  font-size: 70%;
  left: 50%;
  bottom: 0;
  margin-left: -38px;
  z-index: 2;
  width: 76px;
  height: 78.5px;
  text-align: center;
  color: #FFF; }

.go-contents2 {
  position: absolute;
  font-size: 70%;
  right: 0px;
  bottom: 0;
  margin-left: -38px;
  z-index: 2;
  width: 76px;
  height: 78.5px;
  text-align: center;
  color: #FFF; }

/*スクロールサインアニメ*/
.anime-line {
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 50px; }

.anime-line:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background-color: #000; }

.anime-line:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background-color: #FFF;
  animation: scroll 2000ms cubic-bezier(0.19, 1, 0.22, 1) infinite both; }

@keyframes scroll {
  0% {
    transform: translateY(-100%); }
  50% {
    transform: translateY(0); }
  100% {
    transform: translateY(100%); } }
/*---------------------------------------------*/
/* ポリゴン                                    */
/*---------------------------------------------*/
canvas {
  display: block;
  vertical-align: bottom; }

#particles-js {
  width: 100%;
  height: 100vh;
  /*background:linear-gradient(135deg, #cfd9df 0%,#e2ebf0 100%);*/
  background: #f2f5f6;
  background: -moz-linear-gradient(top, #f2f5f6 0%, #e3eaed 37%, #c8d7dc 100%);
  background: -webkit-linear-gradient(top, #f2f5f6 0%, #e3eaed 37%, #c8d7dc 100%);
  background: linear-gradient(to bottom, #f2f5f6 0%, #e3eaed 37%, #c8d7dc 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f5f6', endColorstr='#c8d7dc',GradientType=0 ); }

/*---------------------------------------------*/
/* お知らせ                                    */
/*---------------------------------------------*/
#news-div {
  z-index: 2; }
  #news-div .news-title-div {
    background-color: #000; }
  #news-div h6 {
    color: #FFF; }
  #news-div a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block; }
    #news-div a:hover {
      color: red; }

.news-cont-div > .table-list > li div {
  display: flex; }

.table-list {
  list-style: none;
  margin: 0px;
  padding: 0px; }
  .table-list > li {
    display: flex; }
    .table-list > li div:last-child > ul {
      display: table;
      padding: 0;
      list-style: none;
      font-size: 14px; }
      .table-list > li div:last-child > ul li {
        display: table-cell; }
        .table-list > li div:last-child > ul li span a {
          background-color: #CCC;
          padding: 2px 5px;
          display: inherit !important; }
        .table-list > li div:last-child > ul li:nth-of-type(n+2) {
          padding-left: 10px; }

.list-backnumber > li {
  border-bottom: 1px solid #CCC;
  padding-bottom: 10px;
  margin-bottom: 10px; }
  .list-backnumber > li div:last-child > ul {
    display: table;
    margin-bottom: 5px;
    padding: 0;
    list-style: none;
    font-size: 14px; }
    .list-backnumber > li div:last-child > ul li {
      display: table-cell; }
      .list-backnumber > li div:last-child > ul li:nth-of-type(n+2) {
        padding-left: 10px; }
  .list-backnumber > li a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block; }

@media only screen and (min-width: 992px) {
  #news-div {
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.58);
    width: calc(100% - 15%); }
    #news-div .container {
      margin-left: 0; }
    #news-div .news-title-div {
      height: 100%;
      margin-left: -15px;
      padding-left: 10px;
      padding-top: 20px;
      padding-bottom: 20px; }
    #news-div .table-list {
      padding-left: 10px; }
      #news-div .table-list > li > div:first-child {
        width: 15rem; }
      #news-div .table-list > li > div:last-child {
        width: 80%; }

  .table-list > li {
    flex-wrap: nowrap; }
    .table-list > li > div:first-child {
      width: 20%;
      padding-left: 0px;
      flex-shrink: 0; }
    .table-list > li > div:last-child {
      width: 80%; } }
@media only screen and (max-width: 991px) {
  #news-div {
    margin-bottom: 40px; }
    #news-div .news-title-div {
      padding: 1.5rem; }
    #news-div .news-cont-div {
      padding-left: 15px; }
      #news-div .news-cont-div > .table-list > li div a {
        padding-left: 10px; }

  .table-list > li {
    flex-wrap: wrap; }
    .table-list > li > div {
      padding: 0px !important; }
      .table-list > li > div:first-child {
        margin-bottom: 5px; }
      .table-list > li > div:last-child {
        width: 100%; } }
@media only screen and (min-width: 768px) {
  #news-div .news-cont-div > .table-list > li div > a {
    padding-left: 10px; } }
@media only screen and (max-width: 767px) {
  #news-div .news-title-div {
    padding: 10px;
    margin-bottom: 5px; }
  #news-div .news-cont-div {
    padding-left: 0; }
    #news-div .news-cont-div > .table-list > li div {
      display: block; }
      #news-div .news-cont-div > .table-list > li div > a {
        padding-left: 0;
        margin-top: 5px; } }
/*---------------------------------------------*/
/* swiper                                      */
/*---------------------------------------------*/
.my-40 {
  margin-top: 40px;
  margin-bottom: 40px; }

.swiper-button-nt {
  position: absolute;
  left: -40px;
  top: 50%;
  cursor: pointer; }
  .swiper-button-nt:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 3px;
    width: 40px;
    height: 40px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg); }

.swiper-button-pv {
  position: absolute;
  right: 0;
  top: 50%;
  cursor: pointer; }
  .swiper-button-pv:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 3px;
    width: 40px;
    height: 40px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }

.swiper-wrapper .swiper-slide {
  position: relative; }
  .swiper-wrapper .swiper-slide figure {
    margin-bottom: 10px; }
  .swiper-wrapper .swiper-slide h5 {
    margin-bottom: 10px; }
  .swiper-wrapper .swiper-slide a {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 100%; }
    .swiper-wrapper .swiper-slide a:hover {
      background-color: #FFFFFF30; }

.swiper-pagination {
  position: static !important; }
  .swiper-pagination span {
    margin-left: 2px;
    margin-right: 2px; }

.swiper-pagination-bullet-active {
  background: red !important; }

/*---------------------------------------------*/
/* コンテンツブロック                          */
/*---------------------------------------------*/
.contents-grid > .row > div:nth-child(even) figure:before {
  background: -moz-linear-gradient(-45deg, rgba(174, 137, 204, 0.7) 0%, rgba(209, 133, 185, 0.7) 100%);
  background: -webkit-linear-gradient(-45deg, rgba(174, 137, 204, 0.7) 0%, rgba(209, 133, 185, 0.7) 100%);
  background: linear-gradient(135deg, rgba(174, 137, 204, 0.7) 0%, rgba(209, 133, 185, 0.7) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b3ae89cc', endColorstr='#b3d185b9',GradientType=1 ); }
.contents-grid > .row > div:nth-child(odd) figure:before {
  background: -moz-linear-gradient(45deg, rgba(174, 137, 204, 0.7) 0%, rgba(209, 133, 185, 0.7) 100%);
  background: -webkit-linear-gradient(45deg, rgba(174, 137, 204, 0.7) 0%, rgba(209, 133, 185, 0.7) 100%);
  background: linear-gradient(45deg, rgba(174, 137, 204, 0.7) 0%, rgba(209, 133, 185, 0.7) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b3ae89cc', endColorstr='#b3d185b9',GradientType=1 ); }
.contents-grid > .row > div:hover figure:before {
  background: rgba(0, 0, 0, 0);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px); }
.contents-grid > .row > div:hover figure img {
  height: 200%;
  opacity: 0.7;
  width: auto; }
.contents-grid > .row > div:hover figcaption {
  color: #000; }
.contents-grid figure {
  overflow: hidden;
  position: relative;
  margin-bottom: 0px; }
  .contents-grid figure:before {
    content: "";
    width: 100%;
    padding-top: 100%;
    display: block;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px); }
  .contents-grid figure img {
    height: 103%;
    width: auto;
    z-index: -1;
    transition: 1s;
    -webkit-transition: 1s;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .contents-grid figure figcaption {
    display: block;
    text-align: center;
    color: #FFF;
    width: 100%;
    z-index: 2;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); }
.contents-grid a {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: block; }
  .contents-grid a:hover {
    background-color: rgba(255, 255, 255, 0); }

@media only screen and (max-width: 991px) {
  .contents-grid figure:before {
    padding-top: 50%; }
  .contents-grid figure img {
    height: auto;
    width: 100%; } }
/*---------------------------------------------*/
/* 3つの強み                                   */
/*---------------------------------------------*/
#strong-div {
  position: relative;
  /*display: flex;
  align-items: center;
  background-image: url("../img/bg-tsuyomi.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;*/ }
  #strong-div figure {
    margin: 0px; }

.bg-white {
  background-color: rgba(255, 255, 255, 0.6); }

@media only screen and (min-width: 992px) {
  #strong-div .bg-img {
    height: 100%;
    width: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); } }
@media only screen and (max-width: 991px) {
  #strong-div .bg-img {
    width: 100%; }
  #strong-div .bg-white {
    margin-left: -15px;
    margin-right: -15px; } }
/*@media only screen and (max-width: 991px) {
	#strong-div {
		&:before {
			content: "";
			display: block;
			width: 100%;
			padding-top: 50%;
		}
	}
}*/
/*---------------------------------------------*/
/* other                                       */
/*---------------------------------------------*/
#other-div figure {
  position: relative;
  overflow: hidden; }
  #other-div figure:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 56%; }
  #other-div figure img,
  #other-div figure div {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    display: block; }

.info-box {
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  position: relative; }

@media only screen and (min-width: 992px) {
  .corp-box figure,
  .sdgs-box figure {
    margin-left: 9.6%; }

  .info-box {
    margin: -190px 0 0;
    width: 62.3%;
    height: 300px;
    overflow: hidden; }
    .info-box article {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); } }
@media only screen and (max-width: 991px) {
  .info-box {
    margin-top: -90px;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
    padding: 40px 30px 40px; } }
/*---------------------------------------------*/
/* 3つの強みページスタイル                     */
/*---------------------------------------------*/
/*ダミーの高さを設定 #mainvisi-sectionに使用*/
.top-maninvisi {
  height: 100vh;
  position: absolute;
  z-index: -1; }

/*---------------------------------------------*/
/* スクロール                                  */
/*---------------------------------------------*/
.section-panel {
  height: 100vh;
  min-height: 640px; }

.pagenation {
  padding: 20px;
  position: fixed;
  z-index: 2;
  margin: 0px;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%); }

.pagenation li {
  list-style-type: none;
  margin-bottom: 20px;
  cursor: pointer; }
  .pagenation li:last-child {
    margin-bottom: 0px; }

.pagenation a {
  display: block;
  height: 10px;
  border: 1px solid #000;
  border-radius: 5px;
  width: 10px; }

.pagenation a.active {
  background: red; }

/*
.section-panel:nth-child(2) {
	position: relative;
	&:before {
		content: "";
		width: 100%;
		height: 100vh;
		position: absolute;
		top: 0px;
		left: 0px;
		opacity: 0.20;
		background: #93cede;
		background: -moz-linear-gradient(-45deg,  #93cede 0%, #75bdd1 41%, #49a5bf 100%);
		background: -webkit-linear-gradient(-45deg,  #93cede 0%,#75bdd1 41%,#49a5bf 100%);
		background: linear-gradient(135deg,  #93cede 0%,#75bdd1 41%,#49a5bf 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#93cede', endColorstr='#49a5bf',GradientType=1 );
	}
}
.section-panel:nth-child(3) {
	position: relative;
	&:before {
		content: "";
		width: 100%;
		height: 100vh;
		position: absolute;
		top: 0px;
		left: 0px;
		opacity: 0.60;
		background: -moz-linear-gradient(-45deg,  rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%);
		background: -webkit-linear-gradient(-45deg,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
		background: linear-gradient(135deg,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=1 );
	}
}
*/
/*---------------------------------------------*/
/* 2nd～4thまで                                */
/*---------------------------------------------*/
.zindex1 {
  z-index: 1; }

#view-2nd {
  background-image: url("../3tuyomi/img/view01.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }

#view-3rd {
  background-image: url("../3tuyomi/img/view02.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }

#view-4th {
  background-image: url("../3tuyomi/img/view03.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }

#view-2nd .copy-div,
#view-3rd .copy-div,
#view-4th .copy-div {
  color: #FFF; }
  #view-2nd .copy-div article,
  #view-3rd .copy-div article,
  #view-4th .copy-div article {
    position: relative;
    padding: 30px; }
    #view-2nd .copy-div article:before, #view-2nd .copy-div article:after,
    #view-3rd .copy-div article:before,
    #view-3rd .copy-div article:after,
    #view-4th .copy-div article:before,
    #view-4th .copy-div article:after {
      content: "";
      position: absolute;
      display: block;
      width: 50px;
      height: 50px;
      border-top: 1px solid #FFF;
      border-left: 1px solid #FFF; }
    #view-2nd .copy-div article:before,
    #view-3rd .copy-div article:before,
    #view-4th .copy-div article:before {
      top: 0;
      left: 0; }
    #view-2nd .copy-div article:after,
    #view-3rd .copy-div article:after,
    #view-4th .copy-div article:after {
      bottom: 0;
      right: 0;
      transform: rotate(180deg); }

#view-3rd article {
  background-color: rgba(0, 104, 150, 0.84); }
  #view-3rd article:before, #view-3rd article:after {
    display: none !important; }

#view-2nd .copy-div h2 {
  letter-spacing: 6px;
  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.5);
  margin-top: 111px; }

#view-4th .copy-div h2 {
  letter-spacing: 6px;
  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.5); }

#view-3rd .copy-div h2 {
  letter-spacing: 6px;
  text-shadow: 3px  3px 4px #00a0e9, -3px  3px 4px #00a0e9, 3px -3px 4px #00a0e9, -3px -3px 4px #00a0e9, 3px  0px 4px #00a0e9, 0px  3px 4px #00a0e9, -3px  0px 4px #00a0e9, 0px -3px 4px #00a0e9; }

@media only screen and (min-width: 992px) {
  .copy-div {
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    align-items: center; }
    .copy-div h2 {
      font-size: 40px;
      font-size: 4.0rem;
      line-height: 150%;
      font-weight: lighter; }

  #view-2nd .p-menu {
    bottom: 5%;
    padding: 20px 20px 0px 20px;
    width: 100%; }

  #view-3rd .p-menu {
    bottom: 5%;
    padding: 20px 20px 0px 20px;
    background-color: rgba(0, 0, 0, 0.4);
    width: 100%; }

  #view-4th .p-menu {
    bottom: 5%;
    padding: 20px 20px 0px 20px;
    width: 100%; } }
.p-menu-div h4 {
  margin-bottom: 20px; }
.p-menu-div .p-menu {
  position: absolute;
  color: #FFF; }
  .p-menu-div .p-menu ul {
    list-style: none;
    padding-left: 0px; }
    .p-menu-div .p-menu ul li {
      margin-bottom: 20px;
      position: relative; }
      .p-menu-div .p-menu ul li a {
        color: #FFF; }
        .p-menu-div .p-menu ul li a:after {
          position: absolute;
          bottom: 0;
          right: 0;
          content: "";
          width: 0;
          height: 1px;
          opacity: 0.6;
          background-color: #FFF;
          transition: width 0.5s ease-out; }
        .p-menu-div .p-menu ul li a:hover:after {
          left: 0;
          right: auto;
          width: 100%; }

@media (min-width: 1201px) {
  .p-menu a {
    font-size: 30px;
    font-size: 3.0rem; } }
@media (max-width: 1200px) {
  .copy-div {
    margin-top: 100px; }
    .copy-div h2 {
      font-size: calc(1.525rem + 2vw); }

  .p-menu a {
    font-size: calc(1.525rem + 1vw); } }
@media (max-width: 991px) {
  .section-panel {
    position: relative; }
    .section-panel:after {
      content: "";
      background-color: rgba(0, 0, 0, 0.3);
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: block; }

  .copy-div h2 {
    margin-bottom: 40px; }

  .p-menu {
    position: static !important;
    margin-bottom: 20px; } }
/*---------------------------------------------*/
/* 企業情報ページスタイル                      */
/*---------------------------------------------*/
/* Scss Document */
.corp-area {
  padding: 20px;
  position: relative;
  border: 1px solid #999;
  border-image: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);
  border-image-slice: 1; }

.gmap {
  overflow: hidden;
  position: relative; }

.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%; }

/* 社長あいさつ */
#message-section #message-div {
  position: relative;
  overflow: hidden; }
  #message-section #message-div .bg-photo {
    position: relative;
    overflow: hidden;
    margin-bottom: 0px;
    width: 100%;
    display: flex;
    align-items: center; }
    #message-section #message-div .bg-photo::before {
      content: "";
      display: block;
      padding-top: 52.5%; }
    #message-section #message-div .bg-photo img {
      height: auto;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0; }

@media only screen and (min-width: 1200px) {
  #message-section #message-div .message-cont {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    height: 100%; }
    #message-section #message-div .message-cont article {
      padding: 20px;
      margin: 0 30px;
      width: 100%;
      display: block;
      background-color: rgba(255, 255, 255, 0.9);
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); } }
@media only screen and (max-width: 1199px) {
  #message-section #message-div .message-cont {
    margin-top: 30px; } }
/* インサイド住所 */
.inside-address {
  margin-top: 20px; }
  .inside-address p {
    margin-bottom: 5px;
    border-bottom: 1px solid #ccc; }

/*---------------------------------------------*/
/* 製品・サービスページスタイル                */
/*---------------------------------------------*/
/* Scss Document */
/*360°*/
#vr-div .vegas-slide {
  height: 105vh; }
  #vr-div .vegas-slide .vegas-slide-inner {
    height: 100%; }

#vr-div + .container:after {
  content: "";
  width: 40%;
  padding-top: 35%;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  background-image: url("../service/img/photo-oculus.png");
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: contain; }

@media (min-width: 992px) {
  #vr-div + .container {
    position: relative; }

  #vr-section {
    position: relative; }
    #vr-section:before {
      content: "";
      width: 15%;
      max-width: 200px;
      max-height: 400px;
      height: 100%;
      display: block;
      position: absolute;
      bottom: 0;
      left: 50%;
      z-index: 2;
      background-image: url("../service/img/photo-theta.png");
      background-repeat: no-repeat;
      background-position: top center;
      background-size: contain; } }
@media (max-width: 991px) {
  #vr-section {
    position: relative; }

  /*
  #vr-div + .container:before {
  	content: "";
  	width: 100%;
  	padding-top: 45%;
  	display: block;
  }
  */
  #vr-div + .container:after {
    width: 40%;
    padding-top: 40%;
    right: 0;
    bottom: 0;
    display: none; } }
/*デジタルブック*/
#book-section {
  background-color: #3ED4FF;
  overflow: visible !important; }
  #book-section .container {
    background-image: url("../service/img/back01.png");
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: auto; }
    #book-section .container .photo-abs_rb img {
      width: 100%; }

@media (min-width: 992px) {
  .photo-abs_rb {
    position: absolute;
    right: 0;
    bottom: -20%; } }
/*求人*/
.color-box {
  padding: 10px; }

section:nth-child(odd) .color-box {
  background-color: white; }

section:nth-child(even) .color-box {
  background-color: #ebebeb; }

.course {
  display: flex;
  align-items: center;
  height: 100%; }
  .course img {
    width: 100%; }

.site-list {
  list-style: none;
  padding-left: 0px;
  margin-bottom: 0px; }

.gousetsu {
  margin-top: 20px;
  position: relative;
  overflow: hidden;
  width: 100%;
  display: flex;
  align-items: center; }
  .gousetsu::before {
    content: "";
    width: 100%;
    padding-top: 50%;
    display: block; }
  .gousetsu img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0; }

.canvas-wrapper {
  position: relative;
  width: 100%;
  padding-top: 62.5%;
  overflow: hidden; }


.canvas-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

@media only screen and (max-width: 991px) {
  .course {
    justify-content: center; }
    .course img {
      width: 80%; } }
/*---------------------------------------------*/
/* サスティナビリティページスタイル            */
/*---------------------------------------------*/
/* Scss Document */
.figure0 figure {
  margin: 0px; }

.calender figure {
  text-align: center; }

/*
.calender {
	figure {
		position: relative;
		overflow: hidden;
		margin-bottom: 0px;
		width: 100%;
		display: flex;
		align-items: center;
		&::before {
			content: "";
			display: block;
			padding-top: 110%;
		}
		img {
			height: auto;
			width: 100%;
			position: absolute;			
		}
	}
}
*/
/*---------------------------------------------*/
/* 新着情報ページスタイル            */
/*---------------------------------------------*/
/* Scss Document */
#news-contents .contents-div > ul {
  display: table;
  margin-bottom: 10px;
  padding: 0;
  list-style: none;
  font-size: 14px; }
  #news-contents .contents-div > ul li {
    display: table-cell; }
    #news-contents .contents-div > ul li a {
      padding: 2px 5px;
      display: inherit !important; }
    #news-contents .contents-div > ul li:nth-child(n+2) {
      padding-left: 10px; }
#news-contents .contents-div h2.entry-title {
  font-size: 26px;
  margin: 0px 0px 10px 0px; }
#news-contents .contents-div time.entry-data {
  padding: 10px 0;
  margin: 0 0 10px 0;
  display: block;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  text-align: right; }
#news-contents .contents-div .entry-contents {
  padding-bottom: 40px; }
  #news-contents .contents-div .entry-contents img {
    max-width: 100%;
    height: 100%;
    display: block; }
#news-contents .contents-div > p {
  margin-top: 30px; }
#news-contents .contents-div figcaption {
  display: block;
  text-align: center;
  font-size: 80%; }
#news-contents .news-menu #side-menu ul {
  list-style: none;
  padding-left: 15px; }
  #news-contents .news-menu #side-menu ul li {
    margin-bottom: 10px;
    padding-bottom: 10px; }
    #news-contents .news-menu #side-menu ul li a {
      display: block; }
#news-contents .news-menu #horizontal-menu > div .news-box {
  position: relative;
  padding: 10px;
  height: 100%; }
  #news-contents .news-menu #horizontal-menu > div .news-box time {
    display: block;
    padding-bottom: 5px; }
  #news-contents .news-menu #horizontal-menu > div .news-box a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block; }
    #news-contents .news-menu #horizontal-menu > div .news-box a:hover {
      opacity: 0.3;
      background: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E); }
@media (max-width: 767px) {
  #news-contents .news-menu #horizontal-menu > div {
    padding-bottom: 0px !important; } }

@media (max-width: 991px) {
  #news-contents .news-menu {
    margin-bottom: 25px; } }
#backnumber .pagination {
  margin: 50px 0; }
  #backnumber .pagination ul.page-number {
    margin: 0 auto;
    padding: 0;
    display: table;
    border-collapse: separate;
    border-spacing: 10px 0;
    line-height: 100%;
    list-style: none; }
    #backnumber .pagination ul.page-number li {
      display: table-cell;
      width: 50px;
      height: 50px;
      line-height: 50px;
      text-align: center;
      border: 1px solid #ccc; }
      #backnumber .pagination ul.page-number li a {
        display: block; }
        #backnumber .pagination ul.page-number li a:hover {
          background-color: #ccc;
          color: #fff; }
      #backnumber .pagination ul.page-number li a.prev,
      #backnumber .pagination ul.page-number li a.next {
        padding: 0 50px;
        position: relative; }
        #backnumber .pagination ul.page-number li a.prev::before, #backnumber .pagination ul.page-number li a.prev::after,
        #backnumber .pagination ul.page-number li a.next::before,
        #backnumber .pagination ul.page-number li a.next::after {
          position: absolute;
          top: 0; }
      #backnumber .pagination ul.page-number li a.prev::before {
        content: "〈";
        left: 10px; }
      #backnumber .pagination ul.page-number li a.next::after {
        content: "〉";
        right: 10px; }
    #backnumber .pagination ul.page-number li.current a {
      background-color: #ccc;
      color: #fff; }

ul.news-list > li:nth-child(even) {
  background-color: #EFEFEF; }
ul.news-list > li div:last-child > ul {
  display: table;
  margin-bottom: 5px;
  padding: 0;
  list-style: none;
  font-size: 14px; }
  ul.news-list > li div:last-child > ul li {
    display: table-cell; }
    ul.news-list > li div:last-child > ul li span a {
      padding: 2px 5px; }
    ul.news-list > li div:last-child > ul li:nth-of-type(n+2) {
      padding-left: 10px; }

@media (min-width: 992px) {
  ul.news-list {
    list-style: none;
    padding: 0;
    display: block; }
    ul.news-list > li {
      width: 100%;
      list-style: none;
      display: table; }
      ul.news-list > li div {
        display: table-cell;
        padding: 15px;
        vertical-align: top; }
        ul.news-list > li div:first-child {
          width: 20%; } }
@media (max-width: 991px) {
  ul.news-list {
    list-style: none;
    padding: 0;
    display: block; }
    ul.news-list > li {
      width: 100%;
      list-style: none;
      margin-bottom: 10px; }
      ul.news-list > li div {
        padding: 10px;
        vertical-align: top; }
        ul.news-list > li div:first-child {
          width: 160px;
          float: left;
          padding-bottom: 0px; }
        ul.news-list > li div:last-child {
          display: block;
          clear: both; } }
@media (max-width: 767px) {
  #backnumber .pagination ul.page-number li a.prev::before, #backnumber .pagination ul.page-number li a.prev::after,
  #backnumber .pagination ul.page-number li a.next::before,
  #backnumber .pagination ul.page-number li a.next::after {
    position: static; }
  #backnumber .pagination ul.page-number li a.prev {
    padding: 0 10px 0 5px; }
    #backnumber .pagination ul.page-number li a.prev::before {
      padding-right: 5px; }
  #backnumber .pagination ul.page-number li a.next {
    padding: 0 5px 0 10px; }
    #backnumber .pagination ul.page-number li a.next::after {
      padding-left: 5px; } }
.category h4 {
  position: relative;
  padding-bottom: 10px;
  /*
  background: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  */ }
  .category h4::after {
    content: "";
    width: 100%;
    padding-top: 1px;
    background: linear-gradient(to right, #4BC0C8, #C779D0, #FEAC5E);
    position: absolute;
    left: 0;
    bottom: 0; }
.category .category-list {
  list-style: none;
  margin: 0;
  padding-left: 15px;
  width: 100%; }
  .category .category-list li {
    width: 100%;
    margin-bottom: 10px; }
    .category .category-list li a {
      padding: 5px 0;
      display: block; }

.table-list > li.new > div:last-child > a::before,
.news-list > li.new > div:last-child > a::before {
  content: "new";
  display: inline-block;
  color: red;
  margin-right: 10px;
  font-size: 16px; }

/*# sourceMappingURL=site-style.css.map */
